From f3d5fedaa29aa9eac38abec4cd0055c8e5e887f9 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 23 Mar 2023 13:02:58 -0700 Subject: [PATCH] v0.35.8 --- CHANGELOG.md | 5 +++++ es6-shim.map | 2 +- es6-shim.min.js | 4 ++-- package.json | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0cba1c4..c76dcbd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# es6-shim 0.35.8 (23 March 2023) + * [Fix] `RegExp#toString`: should not have an object `.prototype` + * [Refactor] minimize dynamic lookups of `__proto__` + * [Dev Deps] update `@ljharb/eslint-config`, `tape` + # es6-shim 0.35.7 (24 December 2022) * [Fix] in WSH, `Object.getPrototypeOf([].values())` is falsy (#466) * [Refactor] remove unused `ES.IsIterable` function diff --git a/es6-shim.map b/es6-shim.map index dd6ef8d8..615b0a25 100644 --- a/es6-shim.map +++ b/es6-shim.map @@ -1 +1 @@ -{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","_apply","Function","call","bind","apply","_call","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_arrayIndexOfApply","_concat","concat","_strSlice","slice","_push","push","_pushApply","_join","join","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_exp","exp","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","OrigMap","Map","origMapDelete","origMapGet","origMapHas","has","origMapSet","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","_sign","sign","number","_log1p","log1p","NaN","Infinity","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","domAll","document","all","isNullOrUndefined","isNullOrUndefinedAndNotDocumentAll","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","done","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","raw","template","numberOfSubstitutions","cooked","literalSegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","0","1","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","iteratorResult","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","array","kind","retval","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","searchElement","getPrototypeOf","ChromeArrayIterator","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","hint","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","receiver","valueOfSucceeds","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectKeysRejectsRegex","regexRejectingObjectKeys","regexKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","regexToStringIsGeneric","regexToStringSupportsGenericFlags","origRegExpToString","R","pattern","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","E","LOG2E","LOG10E","numberCLZ","clz","MathShims","acosh","xInvSquared","halfX","asinh","aSquared","atanh","cbrt","negate","clz32","cosh","t","expm1","sum","hypot","y","largest","log2","log10","sinh","u","tanh","trunc","imul","ah","al","bh","bl","fround","v","withinULPDistance","expected","distance","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","idx","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","skipInsertionOrderCheck","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","_head","head","isMapIterator","Map$prototype","MapShim","_map","_size","_storage","fkey","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","SetIterator","entireSet","isSetIterator","isGoogleTranslate","remove","mapAcceptsArguments","testMap","mapUsesSameValueZero","mapSupportsChaining","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","newMap","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","_apply","Function","call","bind","apply","_call","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_arrayIndexOfApply","_concat","concat","_strSlice","slice","_push","push","_pushApply","_join","join","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_exp","exp","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","OrigMap","Map","origMapDelete","origMapGet","origMapHas","has","origMapSet","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","_sign","sign","number","_log1p","log1p","NaN","Infinity","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","domAll","document","all","isNullOrUndefined","isNullOrUndefinedAndNotDocumentAll","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","done","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","raw","template","numberOfSubstitutions","cooked","literalSegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","0","1","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","iteratorResult","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","array","kind","retval","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","searchElement","getPrototypeOf","ChromeArrayIterator","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","hint","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","receiver","valueOfSucceeds","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","checkArgs","__proto__","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectKeysRejectsRegex","regexRejectingObjectKeys","regexKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","regexToStringIsGeneric","regexToStringSupportsGenericFlags","origRegExpToString","R","pattern","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","E","LOG2E","LOG10E","numberCLZ","clz","MathShims","acosh","xInvSquared","halfX","asinh","aSquared","atanh","cbrt","negate","clz32","cosh","t","expm1","sum","hypot","y","largest","log2","log10","sinh","u","tanh","trunc","imul","ah","al","bh","bl","fround","v","withinULPDistance","expected","distance","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","idx","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","skipInsertionOrderCheck","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","_head","head","isMapIterator","Map$prototype","MapShim","_map","_size","_storage","fkey","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","SetIterator","entireSet","isSetIterator","isGoogleTranslate","remove","mapAcceptsArguments","testMap","mapUsesSameValueZero","mapSupportsChaining","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","newMap","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"mappings":"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"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index a8560f58..243e880f 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -7,6 +7,6 @@ * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ -(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.join);var A=Function.call.bind(Array.prototype.shift);var R=Math.max;var _=Math.min;var k=Math.floor;var L=Math.abs;var F=Math.exp;var D=Math.log;var z=Math.sqrt;var q=Function.call.bind(Object.prototype.hasOwnProperty);var W;var G=function(){};var H=S.Map;var V=H&&H.prototype["delete"];var B=H&&H.prototype.get;var U=H&&H.prototype.has;var $=H&&H.prototype.set;var J=S.Symbol||{};var X=J.species||"@@species";var K=Number.isNaN||function isNaN(e){return e!==e};var Z=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Y=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(K(t)){return t}return t<0?-1:1};var Q=function log1p(e){var t=Number(e);if(t<-1||K(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(D(1+t)/(1+t-1))};var ee=function isArguments(e){return g(e)==="[object Arguments]"};var te=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var re=ee(arguments)?ee:te;var ne={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var oe=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var ie=typeof J==="function"&&typeof J["for"]==="function"&&ne.symbol(J());var ae=ne.symbol(J.iterator)?J.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ae="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ue=S.Reflect;var fe=String;var se=typeof document==="undefined"||!document?null:document.all;var ce=se==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==se};var le={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!le.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(ce(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===se},ToObject:function(e,t){return Object(le.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return le.IsCallable(e)},ToInt32:function(e){return le.ToNumber(e)>>0},ToUint32:function(e){return le.ToNumber(e)>>>0},ToNumber:function(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=le.ToNumber(e);if(K(t)){return 0}if(t===0||!Z(t)){return t}return(t>0?1:-1)*k(L(t))},ToLength:function(e){var t=le.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return K(e)&&K(t)},SameValueZero:function(e,t){return e===t||K(e)&&K(t)},GetIterator:function(e){if(re(e)){return new W(e,"value")}var t=le.GetMethod(e,ae);if(!le.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=le.Call(t,e);if(!le.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=le.ToObject(e)[t];if(ce(r)){return void 0}if(!le.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=le.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=le.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!le.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!le.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=le.IteratorNext(e);var r=le.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ue.construct){return ue.construct(e,t,o)}var i=o.prototype;if(!le.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=le.Call(e,a,t);return le.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!le.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[X];if(ce(n)){return t}if(!le.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=le.ToString(e);var i="<"+t;if(r!==""){var a=le.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!le.TypeIsObject(e)){return false}var t=e[J.match];if(typeof t!=="undefined"){return!!t}return ne.regex(e)},ToString:function ToString(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return fe(e)}};if(s&&ie){var pe=function defineWellKnownSymbol(e){if(ne.symbol(J[e])){return J[e]}var t=J["for"]("Symbol."+e);Object.defineProperty(J,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!ne.symbol(J.search)){var ve=pe("search");var ye=String.prototype.search;h(RegExp.prototype,ve,function search(e){return le.Call(ye,e,[this])});var he=function search(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,ve);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(ye,t,[le.ToString(e)])};oe(String.prototype,"search",he)}if(!ne.symbol(J.replace)){var be=pe("replace");var ge=String.prototype.replace;h(RegExp.prototype,be,function replace(e,t){return le.Call(ge,e,[this,t])});var de=function replace(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,be);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(ge,r,[le.ToString(e),t])};oe(String.prototype,"replace",de)}if(!ne.symbol(J.split)){var me=pe("split");var Oe=String.prototype.split;h(RegExp.prototype,me,function split(e,t){return le.Call(Oe,e,[this,t])});var we=function split(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,me);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(Oe,r,[le.ToString(e),t])};oe(String.prototype,"split",we)}var je=ne.symbol(J.match);var Se=je&&function(){var e={};e[J.match]=function(){return 42};return"a".match(e)!==42}();if(!je||Se){var Te=pe("match");var Ie=String.prototype.match;h(RegExp.prototype,Te,function match(e){return le.Call(Ie,e,[this])});var Ee=function match(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,Te);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(Ie,t,[le.ToString(e)])};oe(String.prototype,"match",Ee)}}var Pe=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in G||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in G||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Ce=function(){return this};var Me=function(e){if(s&&!q(e,X)){m.getter(e,X,Ce)}};var xe=function(e,t){var r=t||function iterator(){return this};h(e,ae,r);if(!e[ae]&&ne.symbol(ae)){e[ae]=r}};var Ne=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ae=function createDataPropertyOrThrow(e,t,r){Ne(e,t,r);if(!le.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var Re=function(e,t,r,n){if(!le.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!le.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(q(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var _e=String.fromCodePoint;oe(String,"fromCodePoint",function fromCodePoint(e){return le.Call(_e,this,arguments)})}var ke={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return N(t,"")},raw:function raw(e){var t=arguments.length-1;var r=le.ToObject(e,"bad template");var raw=le.ToObject(r.raw,"bad raw value");var n=raw.length;var o=le.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Fe){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return Le(t,r)},startsWith:function startsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=le.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=R(le.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=le.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:le.ToInteger(o);var a=_(R(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(le.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=le.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=le.ToString(le.RequireObjectCoercible(this));var r=le.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){oe(String.prototype,"includes",De.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var ze=i(function(){return"/a/".startsWith(/a/)});var qe=a(function(){return"abc".startsWith("a",Infinity)===false});if(!ze||!qe){oe(String.prototype,"startsWith",De.startsWith);oe(String.prototype,"endsWith",De.endsWith)}}if(ie){var We=a(function(){var e=/a/;e[J.match]=false;return"/a/".startsWith(e)});if(!We){oe(String.prototype,"startsWith",De.startsWith)}var Ge=a(function(){var e=/a/;e[J.match]=false;return"/a/".endsWith(e)});if(!Ge){oe(String.prototype,"endsWith",De.endsWith)}var He=a(function(){var e=/a/;e[J.match]=false;return"/a/".includes(e)});if(!He){oe(String.prototype,"includes",De.includes)}}b(String.prototype,De);var Ve=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Be=new RegExp("(^["+Ve+"]+)|(["+Ve+"]+$)","g");var Ue=function trim(){return le.ToString(le.RequireObjectCoercible(this)).replace(Be,"")};var $e=["\x85","\u200b","\ufffe"].join("");var Je=new RegExp("["+$e+"]","g");var Xe=/^[-+]0x[0-9a-f]+$/i;var Ke=$e.trim().length!==$e.length;h(String.prototype,"trim",Ue,Ke);var Ze=function(e){return{value:e,done:arguments.length===0}};var Ye=function(e){le.RequireObjectCoercible(e);h(this,"_s",le.ToString(e));h(this,"_i",0)};Ye.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ze()}var r=e.charCodeAt(t);var n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return Ze(e.substr(t,o))};xe(Ye.prototype);xe(String.prototype,function(){return new Ye(this)});var Qe={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!le.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(re(e)||le.GetMethod(e,ae))!=="undefined";var u,f,s;if(a){f=le.IsConstructor(r)?Object(new r):[];var c=le.GetIterator(e);var l,p;s=0;while(true){l=le.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){le.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=le.ToObject(e);u=le.ToLength(y.length);f=le.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:le.ToInteger(f);var c=s<0?R(n+s,0):_(s,n);var l=_(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=le.ToObject(this);var o=le.ToLength(n.length);t=le.ToInteger(typeof t==="undefined"?0:t);r=le.ToInteger(typeof r==="undefined"?o:r);var i=t<0?R(o+t,0):_(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return le.Call(ut,this,arguments)}return t(ut,this,e)})}var ft=-(Math.pow(2,32)-1);var st=function(e,r){var n={length:ft};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!st(Array.prototype.forEach)){var ct=Array.prototype.forEach;oe(Array.prototype,"forEach",function forEach(e){return le.Call(ct,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.map)){var lt=Array.prototype.map;oe(Array.prototype,"map",function map(e){return le.Call(lt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.filter)){var pt=Array.prototype.filter;oe(Array.prototype,"filter",function filter(e){return le.Call(pt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.some)){var vt=Array.prototype.some;oe(Array.prototype,"some",function some(e){return le.Call(vt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.every)){var yt=Array.prototype.every;oe(Array.prototype,"every",function every(e){return le.Call(yt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.reduce)){var ht=Array.prototype.reduce;oe(Array.prototype,"reduce",function reduce(e){return le.Call(ht,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.reduceRight,true)){var bt=Array.prototype.reduceRight;oe(Array.prototype,"reduceRight",function reduceRight(e){return le.Call(bt,this.length>=0?this:[],arguments)})}var gt=Number("0o10")!==8;var dt=Number("0b10")!==2;var mt=y($e,function(e){return Number(e+0+e)===0});if(gt||dt||mt){var Ot=Number;var wt=/^0b[01]+$/i;var jt=/^0o[0-7]+$/i;var St=wt.test.bind(wt);var Tt=jt.test.bind(jt);var It=function(e,t){var r;if(typeof e.valueOf==="function"){r=e.valueOf();if(ne.primitive(r)){return r}}if(typeof e.toString==="function"){r=e.toString();if(ne.primitive(r)){return r}}throw new TypeError("No default value")};var Et=Je.test.bind(Je);var Pt=Xe.test.bind(Xe);var Ct=function(){var e=function Number(t){var r;if(arguments.length>0){r=ne.primitive(t)?t:It(t,"number")}else{r=0}if(typeof r==="string"){r=le.Call(Ue,r);if(St(r)){r=parseInt(C(r,2),2)}else if(Tt(r)){r=parseInt(C(r,2),8)}else if(Et(r)||Pt(r)){r=NaN}}var n=this;var o=a(function(){Ot.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new Ot(r)}return Ot(r)};return e}();Pe(Ot,Ct,{});b(Ct,{NaN:Ot.NaN,MAX_VALUE:Ot.MAX_VALUE,MIN_VALUE:Ot.MIN_VALUE,NEGATIVE_INFINITY:Ot.NEGATIVE_INFINITY,POSITIVE_INFINITY:Ot.POSITIVE_INFINITY});Number=Ct;m.redefine(S,"Number",Ct)}var Mt=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Mt,MIN_SAFE_INTEGER:-Mt,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:Z,isInteger:function isInteger(e){return Z(e)&&le.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&L(e)<=Number.MAX_SAFE_INTEGER},isNaN:K});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){oe(Array.prototype,"find",tt.find)}if([,1].findIndex(function(){return true})!==0){oe(Array.prototype,"findIndex",tt.findIndex)}var xt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Nt=function ensureEnumerable(e,t){if(s&&xt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var At=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}var r=L(t);return Y(t)*Q(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=F(D(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=le.ToUint32(t);if(r===0){return 32}return Mr?le.Call(Mr,r):31-k(D(r+.5)*Pr)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(K(t)){return NaN}if(!T(t)){return Infinity}var r=F(L(t)-1);return(r+1/(r*Er*Er))*(Er/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(L(t)>.5){return F(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*z(r)},log2:function log2(e){return D(e)*Pr},log10:function log10(e){return D(e)*Cr},log1p:Q,sign:Y,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=L(t);if(r<1){var n=Math.expm1(r);return Y(t)*n*(1+1/(n+1))/2}var o=F(r-1);return Y(t)*(o-1/(o*Er*Er))*(Er/2)},tanh:function tanh(e){var t=Number(e);if(K(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(F(t)+F(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-k(-t):k(t)},imul:function imul(e,t){var r=le.ToUint32(e);var n=le.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||K(t)){return t}var r=Y(t);var n=L(t);if(nTr||K(i)){return r*Infinity}return r*i}};var Nr=function withinULPDistance(e,t,r){return L(1-e/t)/Number.EPSILON<(r||8)};b(Math,xr);h(Math,"sinh",xr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",xr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",xr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",xr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"asinh",xr.asinh,Math.asinh(1e300)===Infinity); -h(Math,"atanh",xr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",xr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",xr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",xr.acosh,!Nr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",xr.cbrt,!Nr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",xr.sinh,Math.sinh(-2e-17)!==-2e-17);var Ar=Math.expm1(10);h(Math,"expm1",xr.expm1,Ar>22025.465794806718||Ar<22025.465794806718);h(Math,"hypot",xr.hypot,Math.hypot(Infinity,NaN)!==Infinity);var Rr=Math.round;var _r=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var kr=wr+1;var Lr=2*wr-1;var Fr=[kr,Lr].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=k(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!_r||!Fr);m.preserveToString(Math.round,Rr);var Dr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=xr.imul;m.preserveToString(Math.imul,Dr)}if(Math.imul.length!==2){oe(Math,"imul",function imul(e,t){return le.Call(Dr,Math,arguments)})}var zr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}le.IsPromise=function(e){if(!le.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!le.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(le.IsCallable(t.resolve)&&le.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&le.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=A(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=le.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(le.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=le.IsCallable(e)?e:a;var d=le.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof zr==="function"){b(S,{Promise:zr});var qr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Wr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,G)});var Gr=i(function(){return S.Promise.call(3,G)});var Hr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,G).then(null,G)}catch(n){return true}return t===r}(S.Promise);var Vr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Br=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Br.prototype=Promise.prototype;Br.all=Promise.all;var Ur=a(function(){return!!Br.all([1,2])});if(!qr||!Wr||!Gr||Hr||!Vr||Ur){Promise=zr;oe(S,"Promise",zr)}if(Promise.all.length!==1){var $r=Promise.all;oe(Promise,"all",function all(e){return le.Call($r,this,arguments)})}if(Promise.race.length!==1){var Jr=Promise.race;oe(Promise,"race",function race(e){return le.Call(Jr,this,arguments)})}if(Promise.resolve.length!==1){var Xr=Promise.resolve;oe(Promise,"resolve",function resolve(e){return le.Call(Xr,this,arguments)})}if(Promise.reject.length!==1){var Kr=Promise.reject;oe(Promise,"reject",function reject(e){return le.Call(Kr,this,arguments)})}Nt(Promise,"all");Nt(Promise,"race");Nt(Promise,"resolve");Nt(Promise,"reject");Me(Promise)}var Zr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Yr=Zr(["z","a","bb"]);var Qr=Zr(["z",1,"a","3",2]);if(s){var en=function fastkey(e,t){if(!t&&!Yr){return null}if(ce(e)){return"^"+le.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Qr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var tn=function emptyObject(){return Object.create?Object.create(null):{}};var rn=function addIterableToMap(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){if(!le.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!ce(o)){a=n.set;if(!le.IsCallable(a)){throw new TypeError("bad map")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!le.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){le.IteratorClose(i,true);throw s}}}}};var nn=function addIterableToSet(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!ce(o)){a=n.add;if(!le.IsCallable(a)){throw new TypeError("bad set")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){le.IteratorClose(i,true);throw s}}}}};var on={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!le.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+le.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");h(this,"head",e._head);h(this,"i",this.head);h(this,"kind",t)};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ze()}while(e.isRemoved()&&e!==r){e=e.prev}var n;while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return Ze(n)}}this.i=void 0;return Ze()}};xe(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=Re(this,Map,a,{_es6map:true,_head:null,_map:H?new H:null,_size:0,_storage:tn()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){rn(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=en(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}return}if(this._map){t=B.call(this._map,e);if(t){return t.value}return}var n=this._head;var i=n;while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=en(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return U.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(le.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=en(e,true);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}a=this._storage[u]=new r(e,t);i=n.prev}else if(this._map){if(U.call(this._map,e)){B.call(this._map,e).value=t}else{a=new r(e,t);$.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(le.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head;var n=r;var i=en(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!U.call(this._map,t)){return false}n=B.call(this._map,t).prev;V.call(this._map,t)}while((n=n.next)!==r){if(le.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=H?new H:null;this._size=0;this._storage=tn();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});xe(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!le.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+le.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=Re(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:tn()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){nn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new on.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=en(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=en(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=en(e))!==null){var n=q(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=tn()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);xe(i.prototype,i.prototype.values);var f=function SetIterator(e){h(this,"it",e)};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};xe(f.prototype);return i}()};var an=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(an){S.Set=on.Set}if(S.Map||S.Set){var un=a(function(){return new Map([[1,2]]).get(1)===2});if(!un){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){rn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(H.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var fn=new Map;var sn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var cn=fn.set(1,2)===fn;if(!sn||!cn){oe(Map.prototype,"set",function set(e,r){t($,this,e===0?0:e,r);return this})}if(!sn){b(Map.prototype,{get:function get(e){return t(B,this,e===0?0:e)},has:function has(e){return t(U,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,B);m.preserveToString(Map.prototype.has,U)}var ln=new Set;var pn=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(ln);var vn=ln.add(1)===ln;if(!pn||!vn){var yn=Set.prototype.add;Set.prototype.add=function add(e){t(yn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,yn)}if(!pn){var hn=Set.prototype.has;Set.prototype.has=function has(e){return t(hn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,hn);var bn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(bn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],bn)}var gn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var dn=Object.setPrototypeOf&&!gn;var mn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||dn||!mn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){rn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=H.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var On=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var wn=Object.setPrototypeOf&&!On;var jn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||wn||!jn){var Sn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new Sn;if(arguments.length>0){nn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=Sn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,Sn)}var Tn=new S.Map;var In=!a(function(){return Tn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||Tn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof Tn.keys().next!=="function"||In||!gn){b(S,{Map:on.Map,Set:on.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}xe(Object.getPrototypeOf((new S.Map).keys()));xe(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var En=S.Set.prototype.has;oe(S.Set.prototype,"has",function has(e){return t(En,this,e)})}}b(S,on);Me(S.Map);Me(S.Set)}var Pn=function throwUnlessTargetIsObject(e){if(!le.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Cn={apply:function apply(){return le.Call(le.Call,null,arguments)},construct:function construct(e,t){if(!le.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!le.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return le.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){Pn(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){Pn(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Cn,{ownKeys:function ownKeys(e){Pn(e);var t=Object.getOwnPropertyNames(e);if(le.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Mn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(Cn,{isExtensible:function isExtensible(e){Pn(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){Pn(e);return Mn(function(){return Object.preventExtensions(e)})}})}if(s){var xn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return xn(o,t,r)}if("value"in n){return n.value}if(n.get){return le.Call(n.get,r)}return void 0};var Nn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Nn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!le.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ue.defineProperty(o,r,{value:n})}return ue.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}if(i.set){t(i.set,o,n);return true}return false};Object.assign(Cn,{defineProperty:function defineProperty(e,t,r){Pn(e);return Mn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){Pn(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){Pn(e);var r=arguments.length>2?arguments[2]:e;return xn(e,t,r)},set:function set(e,t,r){Pn(e);var n=arguments.length>3?arguments[3]:e;return Nn(e,t,r,n)}})}if(Object.getPrototypeOf){var An=Object.getPrototypeOf;Cn.getPrototypeOf=function getPrototypeOf(e){Pn(e);return An(e)}}if(Object.setPrototypeOf&&Cn.getPrototypeOf){var Rn=function(e,t){var r=t;while(r){if(e===r){return true}r=Cn.getPrototypeOf(r)}return false};Object.assign(Cn,{setPrototypeOf:function setPrototypeOf(e,t){Pn(e);if(t!==null&&!le.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ue.getPrototypeOf(e)){return true}if(ue.isExtensible&&!ue.isExtensible(e)){return false}if(Rn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var _n=function(e,t){if(!le.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){oe(S.Reflect,e,t)}}};Object.keys(Cn).forEach(function(e){_n(e,Cn[e])});var kn=S.Reflect.getPrototypeOf;if(c&&kn&&kn.name!=="getPrototypeOf"){oe(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(kn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){oe(S.Reflect,"setPrototypeOf",Cn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){oe(S.Reflect,"defineProperty",Cn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){oe(S.Reflect,"construct",Cn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var Ln=Date.prototype.toString;var Fn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return le.Call(Ln,this)};oe(Date.prototype,"toString",Fn)}var Dn={anchor:function anchor(e){return le.CreateHTML(this,"a","name",e)},big:function big(){return le.CreateHTML(this,"big","","")},blink:function blink(){return le.CreateHTML(this,"blink","","")},bold:function bold(){return le.CreateHTML(this,"b","","")},fixed:function fixed(){return le.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return le.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return le.CreateHTML(this,"font","size",e)},italics:function italics(){return le.CreateHTML(this,"i","","")},link:function link(e){return le.CreateHTML(this,"a","href",e)},small:function small(){return le.CreateHTML(this,"small","","")},strike:function strike(){return le.CreateHTML(this,"strike","","")},sub:function sub(){return le.CreateHTML(this,"sub","","")},sup:function sub(){return le.CreateHTML(this,"sup","","")}};l(Object.keys(Dn),function(e){var r=String.prototype[e];var n=false;if(le.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){oe(String.prototype,e,Dn[e])}});var zn=function(){if(!ie){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(J())!=="undefined"){return true}if(e([J()])!=="[null]"){return true}var t={a:J()};t[J()]=true;if(e(t)!=="{}"){return true}return false}();var qn=a(function(){if(!ie){return true}return JSON.stringify(Object(J()))==="{}"&&JSON.stringify([Object(J())])==="[{}]"});if(zn||!qn){var Wn=JSON.stringify;oe(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=le.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(ne.symbol(n)){return Rt({})(n)}return n}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return Wn.apply(this,o)})}return S}); +(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.join);var A=Function.call.bind(Array.prototype.shift);var _=Math.max;var R=Math.min;var k=Math.floor;var L=Math.abs;var F=Math.exp;var D=Math.log;var z=Math.sqrt;var q=Function.call.bind(Object.prototype.hasOwnProperty);var W;var G=function(){};var H=S.Map;var V=H&&H.prototype["delete"];var B=H&&H.prototype.get;var U=H&&H.prototype.has;var $=H&&H.prototype.set;var J=S.Symbol||{};var X=J.species||"@@species";var K=Number.isNaN||function isNaN(e){return e!==e};var Z=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Y=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(K(t)){return t}return t<0?-1:1};var Q=function log1p(e){var t=Number(e);if(t<-1||K(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(D(1+t)/(1+t-1))};var ee=function isArguments(e){return g(e)==="[object Arguments]"};var te=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var re=ee(arguments)?ee:te;var ne={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var oe=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var ie=typeof J==="function"&&typeof J["for"]==="function"&&ne.symbol(J());var ae=ne.symbol(J.iterator)?J.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ae="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ue=S.Reflect;var fe=String;var se=typeof document==="undefined"||!document?null:document.all;var ce=se==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==se};var le={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!le.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(ce(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===se},ToObject:function(e,t){return Object(le.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return le.IsCallable(e)},ToInt32:function(e){return le.ToNumber(e)>>0},ToUint32:function(e){return le.ToNumber(e)>>>0},ToNumber:function(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=le.ToNumber(e);if(K(t)){return 0}if(t===0||!Z(t)){return t}return(t>0?1:-1)*k(L(t))},ToLength:function(e){var t=le.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return K(e)&&K(t)},SameValueZero:function(e,t){return e===t||K(e)&&K(t)},GetIterator:function(e){if(re(e)){return new W(e,"value")}var t=le.GetMethod(e,ae);if(!le.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=le.Call(t,e);if(!le.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=le.ToObject(e)[t];if(ce(r)){return void 0}if(!le.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=le.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=le.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!le.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!le.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=le.IteratorNext(e);var r=le.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ue.construct){return ue.construct(e,t,o)}var i=o.prototype;if(!le.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=le.Call(e,a,t);return le.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!le.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[X];if(ce(n)){return t}if(!le.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=le.ToString(e);var i="<"+t;if(r!==""){var a=le.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!le.TypeIsObject(e)){return false}var t=e[J.match];if(typeof t!=="undefined"){return!!t}return ne.regex(e)},ToString:function ToString(e){if(ie&&g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return fe(e)}};if(s&&ie){var pe=function defineWellKnownSymbol(e){if(ne.symbol(J[e])){return J[e]}var t=J["for"]("Symbol."+e);Object.defineProperty(J,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!ne.symbol(J.search)){var ve=pe("search");var ye=String.prototype.search;h(RegExp.prototype,ve,function search(e){return le.Call(ye,e,[this])});var he=function search(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,ve);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(ye,t,[le.ToString(e)])};oe(String.prototype,"search",he)}if(!ne.symbol(J.replace)){var be=pe("replace");var ge=String.prototype.replace;h(RegExp.prototype,be,function replace(e,t){return le.Call(ge,e,[this,t])});var de=function replace(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,be);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(ge,r,[le.ToString(e),t])};oe(String.prototype,"replace",de)}if(!ne.symbol(J.split)){var me=pe("split");var Oe=String.prototype.split;h(RegExp.prototype,me,function split(e,t){return le.Call(Oe,e,[this,t])});var we=function split(e,t){var r=le.RequireObjectCoercible(this);if(!ce(e)){var n=le.GetMethod(e,me);if(typeof n!=="undefined"){return le.Call(n,e,[r,t])}}return le.Call(Oe,r,[le.ToString(e),t])};oe(String.prototype,"split",we)}var je=ne.symbol(J.match);var Se=je&&function(){var e={};e[J.match]=function(){return 42};return"a".match(e)!==42}();if(!je||Se){var Te=pe("match");var Ie=String.prototype.match;h(RegExp.prototype,Te,function match(e){return le.Call(Ie,e,[this])});var Ee=function match(e){var t=le.RequireObjectCoercible(this);if(!ce(e)){var r=le.GetMethod(e,Te);if(typeof r!=="undefined"){return le.Call(r,e,[t])}}return le.Call(Ie,t,[le.ToString(e)])};oe(String.prototype,"match",Ee)}}var Pe=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in G||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in G||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Ce=function(){return this};var Me=function(e){if(s&&!q(e,X)){m.getter(e,X,Ce)}};var xe=function(e,t){var r=t||function iterator(){return this};h(e,ae,r);if(!e[ae]&&ne.symbol(ae)){e[ae]=r}};var Ne=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ae=function createDataPropertyOrThrow(e,t,r){Ne(e,t,r);if(!le.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var _e=function(e,t,r,n){if(!le.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!le.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(q(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Re=String.fromCodePoint;oe(String,"fromCodePoint",function fromCodePoint(e){return le.Call(Re,this,arguments)})}var ke={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return N(t,"")},raw:function raw(e){var t=arguments.length-1;var r=le.ToObject(e,"bad template");var raw=le.ToObject(r.raw,"bad raw value");var n=raw.length;var o=le.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Fe){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return Le(t,r)},startsWith:function startsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=le.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=_(le.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=le.ToString(le.RequireObjectCoercible(this));if(le.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=le.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:le.ToInteger(o);var a=R(_(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(le.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=le.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=le.ToString(le.RequireObjectCoercible(this));var r=le.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){oe(String.prototype,"includes",De.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var ze=i(function(){return"/a/".startsWith(/a/)});var qe=a(function(){return"abc".startsWith("a",Infinity)===false});if(!ze||!qe){oe(String.prototype,"startsWith",De.startsWith);oe(String.prototype,"endsWith",De.endsWith)}}if(ie){var We=a(function(){var e=/a/;e[J.match]=false;return"/a/".startsWith(e)});if(!We){oe(String.prototype,"startsWith",De.startsWith)}var Ge=a(function(){var e=/a/;e[J.match]=false;return"/a/".endsWith(e)});if(!Ge){oe(String.prototype,"endsWith",De.endsWith)}var He=a(function(){var e=/a/;e[J.match]=false;return"/a/".includes(e)});if(!He){oe(String.prototype,"includes",De.includes)}}b(String.prototype,De);var Ve=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Be=new RegExp("(^["+Ve+"]+)|(["+Ve+"]+$)","g");var Ue=function trim(){return le.ToString(le.RequireObjectCoercible(this)).replace(Be,"")};var $e=["\x85","\u200b","\ufffe"].join("");var Je=new RegExp("["+$e+"]","g");var Xe=/^[-+]0x[0-9a-f]+$/i;var Ke=$e.trim().length!==$e.length;h(String.prototype,"trim",Ue,Ke);var Ze=function(e){return{value:e,done:arguments.length===0}};var Ye=function(e){le.RequireObjectCoercible(e);h(this,"_s",le.ToString(e));h(this,"_i",0)};Ye.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ze()}var r=e.charCodeAt(t);var n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return Ze(e.substr(t,o))};xe(Ye.prototype);xe(String.prototype,function(){return new Ye(this)});var Qe={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!le.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(re(e)||le.GetMethod(e,ae))!=="undefined";var u,f,s;if(a){f=le.IsConstructor(r)?Object(new r):[];var c=le.GetIterator(e);var l,p;s=0;while(true){l=le.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){le.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=le.ToObject(e);u=le.ToLength(y.length);f=le.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:le.ToInteger(f);var c=s<0?_(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=le.ToObject(this);var o=le.ToLength(n.length);t=le.ToInteger(typeof t==="undefined"?0:t);r=le.ToInteger(typeof r==="undefined"?o:r);var i=t<0?_(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return le.Call(ut,this,arguments)}return t(ut,this,e)})}var ft=-(Math.pow(2,32)-1);var st=function(e,r){var n={length:ft};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!st(Array.prototype.forEach)){var ct=Array.prototype.forEach;oe(Array.prototype,"forEach",function forEach(e){return le.Call(ct,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.map)){var lt=Array.prototype.map;oe(Array.prototype,"map",function map(e){return le.Call(lt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.filter)){var pt=Array.prototype.filter;oe(Array.prototype,"filter",function filter(e){return le.Call(pt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.some)){var vt=Array.prototype.some;oe(Array.prototype,"some",function some(e){return le.Call(vt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.every)){var yt=Array.prototype.every;oe(Array.prototype,"every",function every(e){return le.Call(yt,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.reduce)){var ht=Array.prototype.reduce;oe(Array.prototype,"reduce",function reduce(e){return le.Call(ht,this.length>=0?this:[],arguments)})}if(!st(Array.prototype.reduceRight,true)){var bt=Array.prototype.reduceRight;oe(Array.prototype,"reduceRight",function reduceRight(e){return le.Call(bt,this.length>=0?this:[],arguments)})}var gt=Number("0o10")!==8;var dt=Number("0b10")!==2;var mt=y($e,function(e){return Number(e+0+e)===0});if(gt||dt||mt){var Ot=Number;var wt=/^0b[01]+$/i;var jt=/^0o[0-7]+$/i;var St=wt.test.bind(wt);var Tt=jt.test.bind(jt);var It=function(e,t){var r;if(typeof e.valueOf==="function"){r=e.valueOf();if(ne.primitive(r)){return r}}if(typeof e.toString==="function"){r=e.toString();if(ne.primitive(r)){return r}}throw new TypeError("No default value")};var Et=Je.test.bind(Je);var Pt=Xe.test.bind(Xe);var Ct=function(){var e=function Number(t){var r;if(arguments.length>0){r=ne.primitive(t)?t:It(t,"number")}else{r=0}if(typeof r==="string"){r=le.Call(Ue,r);if(St(r)){r=parseInt(C(r,2),2)}else if(Tt(r)){r=parseInt(C(r,2),8)}else if(Et(r)||Pt(r)){r=NaN}}var n=this;var o=a(function(){Ot.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new Ot(r)}return Ot(r)};return e}();Pe(Ot,Ct,{});b(Ct,{NaN:Ot.NaN,MAX_VALUE:Ot.MAX_VALUE,MIN_VALUE:Ot.MIN_VALUE,NEGATIVE_INFINITY:Ot.NEGATIVE_INFINITY,POSITIVE_INFINITY:Ot.POSITIVE_INFINITY});Number=Ct;m.redefine(S,"Number",Ct)}var Mt=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Mt,MIN_SAFE_INTEGER:-Mt,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:Z,isInteger:function isInteger(e){return Z(e)&&le.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&L(e)<=Number.MAX_SAFE_INTEGER},isNaN:K});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){oe(Array.prototype,"find",tt.find)}if([,1].findIndex(function(){return true})!==0){oe(Array.prototype,"findIndex",tt.findIndex)}var xt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Nt=function ensureEnumerable(e,t){if(s&&xt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var At=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}var r=L(t);return Y(t)*Q(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=F(D(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=le.ToUint32(t);if(r===0){return 32}return Mr?le.Call(Mr,r):31-k(D(r+.5)*Pr)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(K(t)){return NaN}if(!T(t)){return Infinity}var r=F(L(t)-1);return(r+1/(r*Er*Er))*(Er/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(L(t)>.5){return F(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*z(r)},log2:function log2(e){return D(e)*Pr},log10:function log10(e){return D(e)*Cr},log1p:Q,sign:Y,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=L(t);if(r<1){var n=Math.expm1(r);return Y(t)*n*(1+1/(n+1))/2}var o=F(r-1);return Y(t)*(o-1/(o*Er*Er))*(Er/2)},tanh:function tanh(e){var t=Number(e);if(K(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(F(t)+F(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-k(-t):k(t)},imul:function imul(e,t){var r=le.ToUint32(e);var n=le.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||K(t)){return t}var r=Y(t);var n=L(t);if(nTr||K(i)){return r*Infinity}return r*i}};var Nr=function withinULPDistance(e,t,r){return L(1-e/t)/Number.EPSILON<(r||8)};b(Math,xr);h(Math,"sinh",xr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",xr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",xr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",xr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)); +h(Math,"asinh",xr.asinh,Math.asinh(1e300)===Infinity);h(Math,"atanh",xr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",xr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",xr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",xr.acosh,!Nr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",xr.cbrt,!Nr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",xr.sinh,Math.sinh(-2e-17)!==-2e-17);var Ar=Math.expm1(10);h(Math,"expm1",xr.expm1,Ar>22025.465794806718||Ar<22025.465794806718);h(Math,"hypot",xr.hypot,Math.hypot(Infinity,NaN)!==Infinity);var _r=Math.round;var Rr=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var kr=wr+1;var Lr=2*wr-1;var Fr=[kr,Lr].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=k(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Rr||!Fr);m.preserveToString(Math.round,_r);var Dr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=xr.imul;m.preserveToString(Math.imul,Dr)}if(Math.imul.length!==2){oe(Math,"imul",function imul(e,t){return le.Call(Dr,Math,arguments)})}var zr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}le.IsPromise=function(e){if(!le.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!le.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(le.IsCallable(t.resolve)&&le.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&le.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=A(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=le.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(le.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=le.IsCallable(e)?e:a;var d=le.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof zr==="function"){b(S,{Promise:zr});var qr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Wr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,G)});var Gr=i(function(){return S.Promise.call(3,G)});var Hr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,G).then(null,G)}catch(n){return true}return t===r}(S.Promise);var Vr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Br=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Br.prototype=Promise.prototype;Br.all=Promise.all;var Ur=a(function(){return!!Br.all([1,2])});if(!qr||!Wr||!Gr||Hr||!Vr||Ur){Promise=zr;oe(S,"Promise",zr)}if(Promise.all.length!==1){var $r=Promise.all;oe(Promise,"all",function all(e){return le.Call($r,this,arguments)})}if(Promise.race.length!==1){var Jr=Promise.race;oe(Promise,"race",function race(e){return le.Call(Jr,this,arguments)})}if(Promise.resolve.length!==1){var Xr=Promise.resolve;oe(Promise,"resolve",function resolve(e){return le.Call(Xr,this,arguments)})}if(Promise.reject.length!==1){var Kr=Promise.reject;oe(Promise,"reject",function reject(e){return le.Call(Kr,this,arguments)})}Nt(Promise,"all");Nt(Promise,"race");Nt(Promise,"resolve");Nt(Promise,"reject");Me(Promise)}var Zr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Yr=Zr(["z","a","bb"]);var Qr=Zr(["z",1,"a","3",2]);if(s){var en=function fastkey(e,t){if(!t&&!Yr){return null}if(ce(e)){return"^"+le.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Qr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var tn=function emptyObject(){return Object.create?Object.create(null):{}};var rn=function addIterableToMap(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){if(!le.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!ce(o)){a=n.set;if(!le.IsCallable(a)){throw new TypeError("bad map")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!le.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){le.IteratorClose(i,true);throw s}}}}};var nn=function addIterableToSet(e,n,o){if(r(o)||ne.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!ce(o)){a=n.add;if(!le.IsCallable(a)){throw new TypeError("bad set")}i=le.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=le.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){le.IteratorClose(i,true);throw s}}}}};var on={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!le.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+le.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");h(this,"head",e._head);h(this,"i",this.head);h(this,"kind",t)};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ze()}while(e.isRemoved()&&e!==r){e=e.prev}var n;while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return Ze(n)}}this.i=void 0;return Ze()}};xe(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=_e(this,Map,a,{_es6map:true,_head:null,_map:H?new H:null,_size:0,_storage:tn()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){rn(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=en(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}return}if(this._map){t=B.call(this._map,e);if(t){return t.value}return}var n=this._head;var i=n;while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=en(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return U.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(le.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=en(e,true);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}a=this._storage[u]=new r(e,t);i=n.prev}else if(this._map){if(U.call(this._map,e)){B.call(this._map,e).value=t}else{a=new r(e,t);$.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(le.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(le.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head;var n=r;var i=en(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!U.call(this._map,t)){return false}n=B.call(this._map,t).prev;V.call(this._map,t)}while((n=n.next)!==r){if(le.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=H?new H:null;this._size=0;this._storage=tn();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});xe(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!le.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+le.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=_e(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:tn()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){nn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new on.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=en(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=en(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=en(e))!==null){var n=q(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=tn()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);xe(i.prototype,i.prototype.values);var f=function SetIterator(e){h(this,"it",e)};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};xe(f.prototype);return i}()};var an=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(an){S.Set=on.Set}if(S.Map||S.Set){var un=a(function(){return new Map([[1,2]]).get(1)===2});if(!un){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){rn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(H.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var fn=new Map;var sn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var cn=fn.set(1,2)===fn;if(!sn||!cn){oe(Map.prototype,"set",function set(e,r){t($,this,e===0?0:e,r);return this})}if(!sn){b(Map.prototype,{get:function get(e){return t(B,this,e===0?0:e)},has:function has(e){return t(U,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,B);m.preserveToString(Map.prototype.has,U)}var ln=new Set;var pn=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(ln);var vn=ln.add(1)===ln;if(!pn||!vn){var yn=Set.prototype.add;Set.prototype.add=function add(e){t(yn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,yn)}if(!pn){var hn=Set.prototype.has;Set.prototype.has=function has(e){return t(hn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,hn);var bn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(bn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],bn)}var gn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var dn=Object.setPrototypeOf&&!gn;var mn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||dn||!mn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new H;if(arguments.length>0){rn(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=H.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,H)}var On=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var wn=Object.setPrototypeOf&&!On;var jn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||wn||!jn){var Sn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new Sn;if(arguments.length>0){nn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=Sn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,Sn)}var Tn=new S.Map;var In=!a(function(){return Tn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||Tn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof Tn.keys().next!=="function"||In||!gn){b(S,{Map:on.Map,Set:on.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}xe(Object.getPrototypeOf((new S.Map).keys()));xe(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var En=S.Set.prototype.has;oe(S.Set.prototype,"has",function has(e){return t(En,this,e)})}}b(S,on);Me(S.Map);Me(S.Set)}var Pn=function throwUnlessTargetIsObject(e){if(!le.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Cn={apply:function apply(){return le.Call(le.Call,null,arguments)},construct:function construct(e,t){if(!le.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!le.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return le.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){Pn(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){Pn(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Cn,{ownKeys:function ownKeys(e){Pn(e);var t=Object.getOwnPropertyNames(e);if(le.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Mn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(Cn,{isExtensible:function isExtensible(e){Pn(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){Pn(e);return Mn(function(){return Object.preventExtensions(e)})}})}if(s){var xn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return xn(o,t,r)}if("value"in n){return n.value}if(n.get){return le.Call(n.get,r)}return void 0};var Nn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Nn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!le.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ue.defineProperty(o,r,{value:n})}return ue.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}if(i.set){t(i.set,o,n);return true}return false};Object.assign(Cn,{defineProperty:function defineProperty(e,t,r){Pn(e);return Mn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){Pn(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){Pn(e);var r=arguments.length>2?arguments[2]:e;return xn(e,t,r)},set:function set(e,t,r){Pn(e);var n=arguments.length>3?arguments[3]:e;return Nn(e,t,r,n)}})}if(Object.getPrototypeOf){var An=Object.getPrototypeOf;Cn.getPrototypeOf=function getPrototypeOf(e){Pn(e);return An(e)}}if(Object.setPrototypeOf&&Cn.getPrototypeOf){var _n=function(e,t){var r=t;while(r){if(e===r){return true}r=Cn.getPrototypeOf(r)}return false};Object.assign(Cn,{setPrototypeOf:function setPrototypeOf(e,t){Pn(e);if(t!==null&&!le.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ue.getPrototypeOf(e)){return true}if(ue.isExtensible&&!ue.isExtensible(e)){return false}if(_n(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var Rn=function(e,t){if(!le.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){oe(S.Reflect,e,t)}}};Object.keys(Cn).forEach(function(e){Rn(e,Cn[e])});var kn=S.Reflect.getPrototypeOf;if(c&&kn&&kn.name!=="getPrototypeOf"){oe(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(kn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){oe(S.Reflect,"setPrototypeOf",Cn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){oe(S.Reflect,"defineProperty",Cn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){oe(S.Reflect,"construct",Cn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var Ln=Date.prototype.toString;var Fn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return le.Call(Ln,this)};oe(Date.prototype,"toString",Fn)}var Dn={anchor:function anchor(e){return le.CreateHTML(this,"a","name",e)},big:function big(){return le.CreateHTML(this,"big","","")},blink:function blink(){return le.CreateHTML(this,"blink","","")},bold:function bold(){return le.CreateHTML(this,"b","","")},fixed:function fixed(){return le.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return le.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return le.CreateHTML(this,"font","size",e)},italics:function italics(){return le.CreateHTML(this,"i","","")},link:function link(e){return le.CreateHTML(this,"a","href",e)},small:function small(){return le.CreateHTML(this,"small","","")},strike:function strike(){return le.CreateHTML(this,"strike","","")},sub:function sub(){return le.CreateHTML(this,"sub","","")},sup:function sub(){return le.CreateHTML(this,"sup","","")}};l(Object.keys(Dn),function(e){var r=String.prototype[e];var n=false;if(le.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){oe(String.prototype,e,Dn[e])}});var zn=function(){if(!ie){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e(J())!=="undefined"){return true}if(e([J()])!=="[null]"){return true}var t={a:J()};t[J()]=true;if(e(t)!=="{}"){return true}return false}();var qn=a(function(){if(!ie){return true}return JSON.stringify(Object(J()))==="{}"&&JSON.stringify([Object(J())])==="[{}]"});if(zn||!qn){var Wn=JSON.stringify;oe(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=le.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(ne.symbol(n)){return _t({})(n)}return n}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return Wn.apply(this,o)})}return S}); //# sourceMappingURL=es6-shim.map diff --git a/package.json b/package.json index 70b188fb..76893da0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.35.7", + "version": "0.35.8", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [