diff --git a/CHANGELOG.md b/CHANGELOG.md index df752f2d4c88..dc5ee32c1389 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 3.12.0 +* NEW: Raven.js now attempts to suppress back-to-back duplicate errors by default. See: https://github.com/getsentry/raven-js/pull/861 +* BUGFIX: Fix case where breadcrumb instrumention could sometimes throw errors on custom DOM events. See: https://github.com/getsentry/raven-js/pull/857 +* BUGFIX: Fix Raven.js incorrectly interpreting Retry-After header in ms; should be seconds. See: https://github.com/getsentry/raven-js/pull/862 + ## 3.11.0 * CHANGE: Raven.js no longer auto-wraps jQuery.ready (if present); fixes jQuery deprecation warnings. See: https://github.com/getsentry/raven-js/pull/849 * BUGFIX: Fix User-Agent not collected in web worker environment. See: https://github.com/getsentry/raven-js/issues/853 diff --git a/bower.json b/bower.json index 554baa798ba1..013b3887a203 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.11.0", + "version": "3.12.0", "dependencies": {}, "main": "dist/raven.js", "ignore": [ diff --git a/dist/plugins/angular.js b/dist/plugins/angular.js index d59eee85e8de..a40adcaa701d 100644 --- a/dist/plugins/angular.js +++ b/dist/plugins/angular.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/angular.min.js b/dist/plugins/angular.min.js index 7c72b308fb12..837b34441180 100644 --- a/dist/plugins/angular.min.js +++ b/dist/plugins/angular.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ !function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Angular=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g":"anonymous component")+(a._isVue&&a.$options.__file?" at "+a.$options.__file:"")}function e(a,b){if(b=b||window.Vue,b&&b.config){var c=b.config.errorHandler;b.config.errorHandler=function(b,e){a.captureException(b,{extra:{componentName:d(e),propsData:e.$options.propsData}}),"function"==typeof c&&c.call(this,b,e)}}}b.exports=e},{}]},{},[1])(1)}); //# sourceMappingURL=vue.min.js.map \ No newline at end of file diff --git a/dist/raven.js b/dist/raven.js index 2084ef7b2d27..f0db3d515d74 100644 --- a/dist/raven.js +++ b/dist/raven.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -125,6 +125,7 @@ function Raven() { this._hasDocument = !isUndefined(_document); this._hasNavigator = !isUndefined(_navigator); this._lastCapturedException = null; + this._lastData = null; this._lastEventId = null; this._globalServer = null; this._globalKey = null; @@ -840,14 +841,14 @@ Raven.prototype = { return; self._lastCapturedEvent = evt; - var elem = evt.target; + // try/catch both: + // - accessing evt.target (see getsentry/raven-js#838, #768) + // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly + // can throw an exception in some circumstances. var target; - - // try/catch htmlTreeAsString because it's particularly complicated, and - // just accessing the DOM incorrectly can throw an exception in some circumstances. try { - target = htmlTreeAsString(elem); + target = htmlTreeAsString(evt.target); } catch (e) { target = ''; } @@ -872,8 +873,15 @@ Raven.prototype = { // debounce timeout is triggered, we will only capture // a single breadcrumb from the FIRST target (acceptable?) return function (evt) { - var target = evt.target, - tagName = target && target.tagName; + var target; + try { + target = evt.target; + } catch (e) { + // just accessing event properties can throw an exception in some rare circumstances + // see: https://github.com/getsentry/raven-js/issues/838 + return; + } + var tagName = target && target.tagName; // only consider keypress events on actual input elements // this will disregard keypresses targeting body (e.g. tabbing @@ -990,9 +998,17 @@ Raven.prototype = { // see #724 if (!evt) return; - if (evt.type === 'click') + var eventType; + try { + eventType = evt.type + } catch (e) { + // just accessing event properties can throw an exception in some rare circumstances + // see: https://github.com/getsentry/raven-js/issues/838 + return; + } + if (eventType === 'click') return clickHandler(evt); - else if (evt.type === 'keypress') + else if (eventType === 'keypress') return keypressHandler(evt); }; } @@ -1428,6 +1444,35 @@ Raven.prototype = { return this._backoffDuration && now() - this._backoffStart < this._backoffDuration; }, + /** + * Returns true if the in-process data payload matches the signature + * of the previously-sent data + * + * NOTE: This has to be done at this level because TraceKit can generate + * data from window.onerror WITHOUT an exception object (IE8, IE9, + * other old browsers). This can take the form of an "exception" + * data object with a single frame (derived from the onerror args). + */ + _isRepeatData: function (current) { + var last = this._lastData; + + if (!last || + current.message !== last.message || // defined for captureMessage + current.culprit !== last.culprit) // defined for captureException/onerror + return false; + + // Stacktrace interface (i.e. from captureMessage) + if (current.stacktrace || last.stacktrace) { + return isSameStacktrace(current.stacktrace, last.stacktrace); + } + // Exception interface (i.e. from captureException/onerror) + else if (current.exception || last.exception) { + return isSameException(current.exception, last.exception); + } + + return true; + }, + _setBackoffState: function(request) { // If we are already in a backoff state, don't change anything if (this._shouldBackoff()) { @@ -1447,7 +1492,7 @@ Raven.prototype = { // If Retry-After is not in Access-Control-Expose-Headers, most // browsers will throw an exception trying to access it retry = request.getResponseHeader('Retry-After'); - retry = parseInt(retry, 10); + retry = parseInt(retry, 10) * 1000; // Retry-After is returned in seconds } catch (e) { /* eslint no-empty:0 */ } @@ -1554,6 +1599,17 @@ Raven.prototype = { // Try and clean up the packet before sending by truncating long values data = this._trimPacket(data); + // ideally duplicate error testing should occur *before* dataCallback/shouldSendCallback, + // but this would require copying an un-truncated copy of the data packet, which can be + // arbitrarily deep (extra_data) -- could be worthwhile? will revisit + if (!this._globalOptions.allowDuplicates && this._isRepeatData(data)) { + this._logDebug('warn', 'Raven dropped repeat event: ', data); + return; + } + + // Store outbound payload after trim + this._lastData = data; + this._logDebug('debug', 'Raven about to send:', data); var auth = { @@ -1915,6 +1971,58 @@ function htmlElementAsString(elem) { return out.join(''); } +/** + * Returns true if either a OR b is truthy, but not both + */ +function isOnlyOneTruthy(a, b) { + return !!(!!a ^ !!b); +} + +/** + * Returns true if the two input exception interfaces have the same content + */ +function isSameException(ex1, ex2) { + if (isOnlyOneTruthy(ex1, ex2)) + return false; + + ex1 = ex1.values[0]; + ex2 = ex2.values[0]; + + if (ex1.type !== ex2.type || + ex1.value !== ex2.value) + return false; + + return isSameStacktrace(ex1.stacktrace, ex2.stacktrace); +} + +/** + * Returns true if the two input stack trace interfaces have the same content + */ +function isSameStacktrace(stack1, stack2) { + if (isOnlyOneTruthy(stack1, stack2)) + return false; + + var frames1 = stack1.frames; + var frames2 = stack2.frames; + + // Exit early if frame count differs + if (frames1.length !== frames2.length) + return false; + + // Iterate through every frame; bail out if anything differs + var a, b; + for (var i = 0; i < frames1.length; i++) { + a = frames1[i]; + b = frames2[i]; + if (a.filename !== b.filename || + a.lineno !== b.lineno || + a.colno !== b.colno || + a['function'] !== b['function']) + return false; + } + return true; +} + /** * Polyfill a method * @param obj object e.g. `document` diff --git a/dist/raven.min.js b/dist/raven.min.js index dfec9fea31d5..3c7572361159 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){(function(c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b=!f(D),this.c=!f(E),this.d=null,this.e=null,this.f=null,this.g=null,this.h=null,this.i={},this.j={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.k=0,this.l=!1,this.m=Error.stackTraceLimit,this.n=C.console||{},this.o={},this.p=[],this.q=d(),this.r=[],this.s=[],this.t=null,this.u=C.location,this.v=this.u&&this.u.href,this.w();for(var a in this.n)this.o[a]=this.n[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===F.toString.call(a)}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){var b=F.toString.call(a);return i(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function l(a,b){var c,d;if(f(a.length))for(c in a)o(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;c ",i=h.length;a&&f++1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function u(a){var b,c,d,e,f,g=[];if(!a||!a.tagName)return"";if(g.push(a.tagName.toLowerCase()),a.id&&g.push("#"+a.id),b=a.className,b&&h(b))for(c=b.split(/\s+/),f=0;fthis.j.maxBreadcrumbs&&this.s.shift(),this},addPlugin:function(a){var b=[].slice.call(arguments,1);return this.p.push([a,b]),this.l&&this.B(),this},setUserContext:function(a){return this.i.user=a,this},setExtraContext:function(a){return this.P("extra",a),this},setTagsContext:function(a){return this.P("tags",a),this},clearContext:function(){return this.i={},this},getContext:function(){return JSON.parse(y(this.i))},setEnvironment:function(a){return this.j.environment=a,this},setRelease:function(a){return this.j.release=a,this},setDataCallback:function(a){var b=this.j.dataCallback;return this.j.dataCallback=g(a)?function(c){return a(c,b)}:a,this},setBreadcrumbCallback:function(a){var b=this.j.breadcrumbCallback;return this.j.breadcrumbCallback=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.j.shouldSendCallback;return this.j.shouldSendCallback=g(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.j.transport=a,this},lastException:function(){return this.d},lastEventId:function(){return this.e},isSetup:function(){return!!this.a&&(!!this.f||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.x("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var a=C.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(D){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new x("Missing eventId");var c=a.dsn||this.D;if(!c)throw new x("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.i.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var g=this.F(this.C(c)),h=D.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(D.head||D.body).appendChild(h)}},H:function(){var a=this;this.k+=1,setTimeout(function(){a.k-=1})},Q:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),D.createEvent?(c=D.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=D.createEventObject(),c.eventType=a);for(d in b)o(b,d)&&(c[d]=b[d]);if(D.createEvent)D.dispatchEvent(c);else try{D.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},R:function(a){var b=this;return function(c){if(b.S=null,b.t!==c){b.t=c;var d,e=c.target;try{d=t(e)}catch(f){d=""}b.captureBreadcrumb({category:"ui."+a,message:d})}}},T:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e||d.isContentEditable)){var f=a.S;f||a.R("input")(c),clearTimeout(f),a.S=setTimeout(function(){a.S=null},b)}}},U:function(a,b){var c=r(this.u.href),d=r(b),e=r(a);this.v=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},z:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;f2?arguments[2]:void 0;return c&&b.U(b.v,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in C&&console.log){var m=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};l(["debug","info","warn","error","log"],function(a,b){z(console,b,m)})}},L:function(){for(var a;this.r.length;){a=this.r.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},B:function(){var a=this;l(this.p,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},C:function(a){var b=B.exec(a),c={},d=7;try{for(;d--;)c[A[d]]=b[d]||""}catch(e){throw new x("Invalid DSN: "+a)}if(c.pass&&!this.j.allowSecretKey)throw new x("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},F:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},y:function(){this.k||this.M.apply(this,arguments)},M:function(a,b){var c=this.N(a,b);this.Q("handle",{stackInfo:a,options:b}),this.W(a.name,a.message,a.url,a.lineno,c,b)},N:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(l(a.stack,function(a,b){var e=c.X(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e0&&(a.breadcrumbs={values:[].slice.call(this.s,0)}),j(a.tags)&&delete a.tags,this.i.user&&(a.user=this.i.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(!g(b.shouldSendCallback)||b.shouldSendCallback(a)))return this.aa()?void this.x("warn","Raven dropped error due to backoff: ",a):void this.ca(a)},da:function(){return s()},ca:function(a,b){var c=this,d=this.j;if(this.isSetup()){this.e=a.event_id||(a.event_id=this.da()),a=this.Y(a),this.x("debug","Raven about to send:",a);var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.g};this.E&&(e.sentry_secret=this.E);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.G;(d.transport||this.ea).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.w(),c.Q("success",{data:a,src:g}),b&&b()},onError:function(d){c.x("error","Raven transport failed to send: ",d),d.request&&c.ba(d.request),c.Q("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},ea:function(a){function b(){if(200===c.status)a.onSuccess&&a.onSuccess();else if(a.onError){var b=new Error("Sentry error code: "+c.status);b.request=c,a.onError(b)}}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+q(a.auth)),c.send(y(a.data))}},x:function(a){this.o[a]&&this.debug&&Function.prototype.apply.call(this.o[a],this.n,[].slice.call(arguments,1))},P:function(a,b){f(b)?delete this.i[a]:this.i[a]=m(this.i[a]||{},b)}};var F=Object.prototype;e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1,2:2,3:3,6:6}],5:[function(a,b,c){(function(c){"use strict";var d=a(4),e="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:{},f=e.Raven,g=new d;g.noConflict=function(){return e.Raven=f,g},g.afterLoad(),b.exports=g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{4:4}],6:[function(a,b,c){(function(a){"use strict";function c(){return"undefined"==typeof document||"undefined"==typeof document.location?"":document.location.href}var d={collectWindowErrors:!0,debug:!1},e="undefined"!=typeof window?window:"undefined"!=typeof a?a:"undefined"!=typeof self?self:{},f=[].slice,g="?",h=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;d.report=function(){function a(a){l(),r.push(a)}function b(a){for(var b=r.length-1;b>=0;--b)r[b]===a&&r.splice(b,1)}function i(){m(),r=[]}function j(a,b){var c=null;if(!b||d.collectWindowErrors){for(var e in r)if(r.hasOwnProperty(e))try{r[e].apply(null,[a].concat(f.call(arguments,2)))}catch(g){c=g}if(c)throw c}}function k(a,b,e,f,i){var k=null;if(u)d.computeStackTrace.augmentStackTraceWithInitialElement(u,b,e,a),n();else if(i)k=d.computeStackTrace(i),j(k,!0);else{var l,m={url:b,line:e,column:f},o=void 0,q=a;if("[object String]"==={}.toString.call(a)){var l=a.match(h);l&&(o=l[1],q=l[2])}m.func=g,k={name:o,message:q,url:c(),stack:[m]},j(k,!0)}return!!p&&p.apply(this,arguments)}function l(){q||(p=e.onerror,e.onerror=k,q=!0)}function m(){q&&(e.onerror=p,q=!1,p=void 0)}function n(){var a=u,b=s;s=null,u=null,t=null,j.apply(null,[a,!1].concat(b))}function o(a,b){var c=f.call(arguments,1);if(u){if(t===a)return;n()}var e=d.computeStackTrace(a);if(u=e,t=a,s=c,setTimeout(function(){t===a&&n()},e.incomplete?2e3:0),b!==!1)throw a}var p,q,r=[],s=null,t=null,u=null;return o.subscribe=a,o.unsubscribe=b,o.uninstall=i,o}(),d.computeStackTrace=function(){function a(a){if("undefined"!=typeof a.stack&&a.stack){for(var b,d,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,h=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],k=(/^(.*) is undefined$/.exec(a.message),0),l=i.length;k0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function e(a,h){for(var i,j,k=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=e.caller;o&&!n;o=o.caller)if(o!==f&&o!==d.report){if(j={url:null,func:g,line:null,column:null},o.name?j.func=o.name:(i=k.exec(o.toString()))&&(j.func=i[1]),"undefined"==typeof j.func)try{j.func=i.input.substring(0,i.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(j)}h&&l.splice(0,h);var q={name:a.name,message:a.message,url:c(),stack:l};return b(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function f(b,f){var g=null;f=null==f?0:+f;try{if(g=a(b))return g}catch(h){if(d.debug)throw h}try{if(g=e(b,f+1))return g}catch(h){if(d.debug)throw h}return{name:b.name,message:b.message,url:c()}}return f.augmentStackTraceWithInitialElement=b,f.computeStackTraceFromStackProp=a,f}(),b.exports=d}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[5])(5)}); +/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){(function(c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b=!f(G),this.c=!f(H),this.d=null,this.e=null,this.f=null,this.g=null,this.h=null,this.i=null,this.j={},this.k={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.l=0,this.m=!1,this.n=Error.stackTraceLimit,this.o=F.console||{},this.p={},this.q=[],this.r=d(),this.s=[],this.t=[],this.u=null,this.v=F.location,this.w=this.v&&this.v.href,this.x();for(var a in this.o)this.p[a]=this.o[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===I.toString.call(a)}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){var b=I.toString.call(a);return i(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function l(a,b){var c,d;if(f(a.length))for(c in a)o(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;c ",i=h.length;a&&f++1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function u(a){var b,c,d,e,f,g=[];if(!a||!a.tagName)return"";if(g.push(a.tagName.toLowerCase()),a.id&&g.push("#"+a.id),b=a.className,b&&h(b))for(c=b.split(/\s+/),f=0;fthis.k.maxBreadcrumbs&&this.t.shift(),this},addPlugin:function(a){var b=[].slice.call(arguments,1);return this.q.push([a,b]),this.m&&this.C(),this},setUserContext:function(a){return this.j.user=a,this},setExtraContext:function(a){return this.Q("extra",a),this},setTagsContext:function(a){return this.Q("tags",a),this},clearContext:function(){return this.j={},this},getContext:function(){return JSON.parse(B(this.j))},setEnvironment:function(a){return this.k.environment=a,this},setRelease:function(a){return this.k.release=a,this},setDataCallback:function(a){var b=this.k.dataCallback;return this.k.dataCallback=g(a)?function(c){return a(c,b)}:a,this},setBreadcrumbCallback:function(a){var b=this.k.breadcrumbCallback;return this.k.breadcrumbCallback=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.k.shouldSendCallback;return this.k.shouldSendCallback=g(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.k.transport=a,this},lastException:function(){return this.d},lastEventId:function(){return this.f},isSetup:function(){return!!this.a&&(!!this.g||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.y("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var a=F.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(G){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new A("Missing eventId");var c=a.dsn||this.E;if(!c)throw new A("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.j.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var g=this.G(this.D(c)),h=G.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(G.head||G.body).appendChild(h)}},I:function(){var a=this;this.l+=1,setTimeout(function(){a.l-=1})},R:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),G.createEvent?(c=G.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=G.createEventObject(),c.eventType=a);for(d in b)o(b,d)&&(c[d]=b[d]);if(G.createEvent)G.dispatchEvent(c);else try{G.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},S:function(a){var b=this;return function(c){if(b.T=null,b.u!==c){b.u=c;var d;try{d=t(c.target)}catch(e){d=""}b.captureBreadcrumb({category:"ui."+a,message:d})}}},U:function(){var a=this,b=1e3;return function(c){var d;try{d=c.target}catch(e){return}var f=d&&d.tagName;if(f&&("INPUT"===f||"TEXTAREA"===f||d.isContentEditable)){var g=a.T;g||a.S("input")(c),clearTimeout(g),a.T=setTimeout(function(){a.T=null},b)}}},V:function(a,b){var c=r(this.v.href),d=r(b),e=r(a);this.w=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},A:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;f2?arguments[2]:void 0;return c&&b.V(b.w,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in F&&console.log){var m=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};l(["debug","info","warn","error","log"],function(a,b){C(console,b,m)})}},M:function(){for(var a;this.s.length;){a=this.s.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},C:function(){var a=this;l(this.q,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},D:function(a){var b=E.exec(a),c={},d=7;try{for(;d--;)c[D[d]]=b[d]||""}catch(e){throw new A("Invalid DSN: "+a)}if(c.pass&&!this.k.allowSecretKey)throw new A("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},G:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},z:function(){this.l||this.N.apply(this,arguments)},N:function(a,b){var c=this.O(a,b);this.R("handle",{stackInfo:a,options:b}),this.X(a.name,a.message,a.url,a.lineno,c,b)},O:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(l(a.stack,function(a,b){var e=c.Y(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e0&&(a.breadcrumbs={values:[].slice.call(this.t,0)}),j(a.tags)&&delete a.tags,this.j.user&&(a.user=this.j.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(!g(b.shouldSendCallback)||b.shouldSendCallback(a)))return this.ba()?void this.y("warn","Raven dropped error due to backoff: ",a):void this.ea(a)},fa:function(){return s()},ea:function(a,b){var c=this,d=this.k;if(this.isSetup()){if(this.f=a.event_id||(a.event_id=this.fa()),a=this.Z(a),!this.k.allowDuplicates&&this.ca(a))return void this.y("warn","Raven dropped repeat event: ",a);this.e=a,this.y("debug","Raven about to send:",a);var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.h};this.F&&(e.sentry_secret=this.F);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.H;(d.transport||this.ga).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.x(),c.R("success",{data:a,src:g}),b&&b()},onError:function(d){c.y("error","Raven transport failed to send: ",d),d.request&&c.da(d.request),c.R("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},ga:function(a){function b(){if(200===c.status)a.onSuccess&&a.onSuccess();else if(a.onError){var b=new Error("Sentry error code: "+c.status);b.request=c,a.onError(b)}}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+q(a.auth)),c.send(B(a.data))}},y:function(a){this.p[a]&&this.debug&&Function.prototype.apply.call(this.p[a],this.o,[].slice.call(arguments,1))},Q:function(a,b){f(b)?delete this.j[a]:this.j[a]=m(this.j[a]||{},b)}};var I=Object.prototype;e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1,2:2,3:3,6:6}],5:[function(a,b,c){(function(c){"use strict";var d=a(4),e="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:{},f=e.Raven,g=new d;g.noConflict=function(){return e.Raven=f,g},g.afterLoad(),b.exports=g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{4:4}],6:[function(a,b,c){(function(a){"use strict";function c(){return"undefined"==typeof document||"undefined"==typeof document.location?"":document.location.href}var d={collectWindowErrors:!0,debug:!1},e="undefined"!=typeof window?window:"undefined"!=typeof a?a:"undefined"!=typeof self?self:{},f=[].slice,g="?",h=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;d.report=function(){function a(a){l(),r.push(a)}function b(a){for(var b=r.length-1;b>=0;--b)r[b]===a&&r.splice(b,1)}function i(){m(),r=[]}function j(a,b){var c=null;if(!b||d.collectWindowErrors){for(var e in r)if(r.hasOwnProperty(e))try{r[e].apply(null,[a].concat(f.call(arguments,2)))}catch(g){c=g}if(c)throw c}}function k(a,b,e,f,i){var k=null;if(u)d.computeStackTrace.augmentStackTraceWithInitialElement(u,b,e,a),n();else if(i)k=d.computeStackTrace(i),j(k,!0);else{var l,m={url:b,line:e,column:f},o=void 0,q=a;if("[object String]"==={}.toString.call(a)){var l=a.match(h);l&&(o=l[1],q=l[2])}m.func=g,k={name:o,message:q,url:c(),stack:[m]},j(k,!0)}return!!p&&p.apply(this,arguments)}function l(){q||(p=e.onerror,e.onerror=k,q=!0)}function m(){q&&(e.onerror=p,q=!1,p=void 0)}function n(){var a=u,b=s;s=null,u=null,t=null,j.apply(null,[a,!1].concat(b))}function o(a,b){var c=f.call(arguments,1);if(u){if(t===a)return;n()}var e=d.computeStackTrace(a);if(u=e,t=a,s=c,setTimeout(function(){t===a&&n()},e.incomplete?2e3:0),b!==!1)throw a}var p,q,r=[],s=null,t=null,u=null;return o.subscribe=a,o.unsubscribe=b,o.uninstall=i,o}(),d.computeStackTrace=function(){function a(a){if("undefined"!=typeof a.stack&&a.stack){for(var b,d,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,h=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],k=(/^(.*) is undefined$/.exec(a.message),0),l=i.length;k0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function e(a,h){for(var i,j,k=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=e.caller;o&&!n;o=o.caller)if(o!==f&&o!==d.report){if(j={url:null,func:g,line:null,column:null},o.name?j.func=o.name:(i=k.exec(o.toString()))&&(j.func=i[1]),"undefined"==typeof j.func)try{j.func=i.input.substring(0,i.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(j)}h&&l.splice(0,h);var q={name:a.name,message:a.message,url:c(),stack:l};return b(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function f(b,f){var g=null;f=null==f?0:+f;try{if(g=a(b))return g}catch(h){if(d.debug)throw h}try{if(g=e(b,f+1))return g}catch(h){if(d.debug)throw h}return{name:b.name,message:b.message,url:c()}}return f.augmentStackTraceWithInitialElement=b,f.computeStackTraceFromStackProp=a,f}(),b.exports=d}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[5])(5)}); //# sourceMappingURL=raven.min.js.map \ No newline at end of file diff --git a/dist/raven.min.js.map b/dist/raven.min.js.map index 79fb3d9203b3..15090d201819 100644 --- a/dist/raven.min.js.map +++ b/dist/raven.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["raven.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Raven","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length","1","_dereq_","stringify","obj","replacer","spaces","cycleReplacer","JSON","serializer","stack","keys","key","value","slice","indexOf","join","thisPos","splice","push","Infinity","getSerialize","2","RavenConfigError","message","name","prototype","constructor","3","wrapMethod","console","level","callback","originalConsoleLevel","originalConsole","sentryLevel","args","arguments","msg","data","logger","extra","Function","apply","4","now","Date","_hasJSON","_hasDocument","isUndefined","_document","_hasNavigator","_navigator","_lastCapturedException","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","crossOrigin","collectWindowErrors","maxMessageLength","stackTraceLimit","autoBreadcrumbs","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_window","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_location","location","_lastHref","href","_resetBackoff","method","what","isFunction","isString","objectPrototype","toString","isObject","isEmptyObject","_","isError","each","j","hasKey","objectMerge","obj1","obj2","truncate","str","max","substr","object","hasOwnProperty","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","urlencode","pairs","encodeURIComponent","parseUrl","url","match","query","fragment","protocol","host","path","relative","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","c","Math","random","htmlTreeAsString","elem","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","reverse","className","classes","attr","tagName","toLowerCase","id","split","attrWhitelist","getAttribute","fill","replacement","track","orig","TraceKit","wrapConsoleMethod","dsnKeys","dsnPattern","document","navigator","VERSION","debug","config","dsn","options","_logDebug","globalOptions","setDSN","maxBreadcrumbs","min","autoBreadcrumbDefaults","xhr","dom","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","uri","_parseDSN","lastSlash","lastIndexOf","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","context","func","undefined","wrap","_before","wrapped","deep","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","property","__inner__","uninstall","_restoreBuiltIns","ex","captureMessage","trimHeadFrames","stacktrace","computeStackTrace","_handleStackInfo","ex1","test","fingerprint","frames","_prepareFrames","_send","captureBreadcrumb","crumb","timestamp","breadcrumbCallback","result","shift","addPlugin","plugin","pluginArgs","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","getContext","parse","setEnvironment","environment","setRelease","release","setDataCallback","original","dataCallback","setBreadcrumbCallback","setShouldSendCallback","shouldSendCallback","setTransport","transport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","qs","email","globalServer","script","createElement","async","src","head","body","appendChild","H","setTimeout","Q","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","R","evtName","_keypressTimeout","target","category","T","debounceDuration","isContentEditable","timeout","_breadcrumbEventHandler","clearTimeout","U","from","to","parsedLoc","parsedTo","parsedFrom","z","wrapTimeFn","fn","Array","originalCallback","wrapEventTarget","proto","capture","secure","handleEvent","err","before","clickHandler","keypressHandler","_keypressEventHandler","type","wrappedBuiltIns","requestAnimationFrame","cb","eventTargets","A","wrapProp","prop","xhrproto","XMLHttpRequest","origOpen","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","props","onreadystatechange","origFetch","fetchData","then","response","addEventListener","attachEvent","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","log","consoleMethodCallback","L","builtin","B","installer","concat","C","m","exec","allowSecretKey","F","port","y","M","stackInfo","_triggerEvent","_processException","lineno","N","frame","_normalizeFrame","in_app","X","normalized","filename","line","colno","column","function","W","fileurl","exception","values","culprit","Y","Z","httpData","userAgent","headers","User-Agent","referrer","Referer","w","_backoffDuration","_backoffStart","aa","ba","request","_shouldBackoff","retry","getResponseHeader","parseInt","O","baseData","project","platform","_getHttpData","breadcrumbs","serverName","server_name","_sendProcessedPayload","da","ca","event_id","_getUuid","_trimPacket","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","error","_setBackoffState","ea","opts","handler","hasCORS","XDomainRequest","onload","open","send","x","P","Object","setUser","setReleaseContext","6","5","RavenConstructor","_Raven","noConflict","getLocationHref","_slice","UNKNOWN_FUNCTION","ERROR_TYPES_RE","installGlobalHandler","handlers","unsubscribe","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","inner","traceKitWindowOnError","lineNo","colNo","lastExceptionStack","augmentStackTraceWithInitialElement","processLastException","groups","_oldOnerrorHandler","_onErrorHandlerInstalled","onerror","_lastExceptionStack","_lastArgs","lastArgs","rethrow","incomplete","computeStackTraceFromStackProp","parts","element","gecko","winjs","lines","isNative","columnNumber","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","item","functionName","funcs","recursion","curr","caller","input","substring","sourceURL","fileName","lineNumber","description"],"mappings":";CAYA,SAAUA,GAAG,GAAoB,gBAAVC,UAAoC,mBAATC,QAAsBA,OAAOD,QAAQD,QAAS,IAAmB,kBAATG,SAAqBA,OAAOC,IAAKD,UAAUH,OAAO,CAAC,GAAIK,EAAkCA,GAAb,mBAATC,QAAwBA,OAA+B,mBAATC,QAAwBA,OAA6B,mBAAPC,MAAsBA,KAAYC,KAAKJ,EAAEK,MAAQV,MAAO,WAAqC,MAAO,SAAUW,GAAEC,EAAEC,EAAEC,GAAG,QAASC,GAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,GAAIE,GAAkB,kBAATC,UAAqBA,OAAQ,KAAIF,GAAGC,EAAE,MAAOA,GAAEF,GAAE,EAAI,IAAGI,EAAE,MAAOA,GAAEJ,GAAE,EAAI,IAAIhB,GAAE,GAAIqB,OAAM,uBAAuBL,EAAE,IAAK,MAAMhB,GAAEsB,KAAK,mBAAmBtB,EAAE,GAAIuB,GAAEV,EAAEG,IAAIf,WAAYW,GAAEI,GAAG,GAAGQ,KAAKD,EAAEtB,QAAQ,SAASU,GAAG,GAAIE,GAAED,EAAEI,GAAG,GAAGL,EAAG,OAAOI,GAAEF,EAAEA,EAAEF,IAAIY,EAAEA,EAAEtB,QAAQU,EAAEC,EAAEC,EAAEC,GAAG,MAAOD,GAAEG,GAAGf,QAAkD,IAAI,GAA1CmB,GAAkB,kBAATD,UAAqBA,QAAgBH,EAAE,EAAEA,EAAEF,EAAEW,OAAOT,IAAID,EAAED,EAAEE,GAAI,OAAOD,KAAKW,GAAG,SAASC,EAAQzB,EAAOD,GAIp0B,QAAS2B,GAAUC,EAAKC,EAAUC,EAAQC,GACxC,MAAOC,MAAKL,UAAUC,EAAKK,EAAWJ,EAAUE,GAAgBD,GAGlE,QAASG,GAAWJ,EAAUE,GAC5B,GAAIG,MAAYC,IAOhB,OALqB,OAAjBJ,IAAuBA,EAAgB,SAASK,EAAKC,GACvD,MAAIH,GAAM,KAAOG,EAAc,eACxB,eAAiBF,EAAKG,MAAM,EAAGJ,EAAMK,QAAQF,IAAQG,KAAK,KAAO,MAGnE,SAASJ,EAAKC,GACnB,GAAIH,EAAMV,OAAS,EAAG,CACpB,GAAIiB,GAAUP,EAAMK,QAAQ/B,OAC3BiC,EAAUP,EAAMQ,OAAOD,EAAU,GAAKP,EAAMS,KAAKnC,OACjDiC,EAAUN,EAAKO,OAAOD,EAASG,EAAAA,EAAUR,GAAOD,EAAKQ,KAAKP,IACtDF,EAAMK,QAAQF,KAAQA,EAAQN,EAAcR,KAAKf,KAAM4B,EAAKC,QAE9DH,GAAMS,KAAKN,EAEhB,OAAmB,OAAZR,EAAmBQ,EAAQR,EAASN,KAAKf,KAAM4B,EAAKC,IAxB/DrC,EAAUC,EAAOD,QAAU2B,EAC3B3B,EAAQ6C,aAAeZ,OA2BjBa,GAAG,SAASpB,EAAQzB,EAAOD,GACjC,YAEA,SAAS+C,GAAiBC,GACtBxC,KAAKyC,KAAO,mBACZzC,KAAKwC,QAAUA,EAEnBD,EAAiBG,UAAY,GAAI9B,OACjC2B,EAAiBG,UAAUC,YAAcJ,EAEzC9C,EAAOD,QAAU+C,OAEXK,GAAG,SAAS1B,EAAQzB,EAAOD,GACjC,YAEA,IAAIqD,GAAa,SAASC,EAASC,EAAOC,GACtC,GAAIC,GAAuBH,EAAQC,GAC/BG,EAAkBJ,CAEtB,IAAMC,IAASD,GAAf,CAIA,GAAIK,GAAwB,SAAVJ,EACZ,UACAA,CAEND,GAAQC,GAAS,WACb,GAAIK,MAAUtB,MAAMf,KAAKsC,WAErBC,EAAM,GAAKF,EAAKpB,KAAK,KACrBuB,GAAQR,MAAOI,EAAaK,OAAQ,UAAWC,OAAQJ,UAAaD,GACxEJ,IAAYA,EAASM,EAAKC,GAGtBN,GAGAS,SAAShB,UAAUiB,MAAM5C,KACrBkC,EACAC,EACAE,KAMhB3D,GAAOD,SACHqD,WAAYA,QAGVe,GAAG,SAAS1C,EAAQzB,EAAOD,IACjC,SAAWM,GAEX,YAWA,SAAS+D,KACL,OAAQ,GAAIC,MAchB,QAAS7D,KACLD,KAAK+D,IAA8B,gBAATvC,QAAqBA,KAAKL,WAEpDnB,KAAKgE,GAAgBC,EAAYC,GACjClE,KAAKmE,GAAiBF,EAAYG,GAClCpE,KAAKqE,EAAyB,KAC9BrE,KAAKsE,EAAe,KACpBtE,KAAKuE,EAAgB,KACrBvE,KAAKwE,EAAa,KAClBxE,KAAKyE,EAAiB,KACtBzE,KAAK0E,KACL1E,KAAK2E,GACDnB,OAAQ,aACRoB,gBACAC,cACAC,iBACAC,gBACAC,YAAa,YACbC,qBAAqB,EACrBC,iBAAkB,EAClBC,gBAAiB,GACjBC,iBAAiB,GAErBpF,KAAKqF,EAAiB,EACtBrF,KAAKsF,GAAoB,EACzBtF,KAAKuF,EAAgC3E,MAAMuE,gBAG3CnF,KAAKwF,EAAmBC,EAAQ3C,YAChC9C,KAAK0F,KACL1F,KAAK2F,KACL3F,KAAK4F,EAAa/B,IAClB7D,KAAK6F,KACL7F,KAAK8F,KACL9F,KAAK+F,EAAqB,KAE1B/F,KAAKgG,EAAYP,EAAQQ,SACzBjG,KAAKkG,EAAYlG,KAAKgG,GAAahG,KAAKgG,EAAUG,KAClDnG,KAAKoG,GAEL,KAAK,GAAIC,KAAUrG,MAAKwF,EACtBxF,KAAK0F,EAAwBW,GAAUrG,KAAKwF,EAAiBa,GAi/CnE,QAASpC,GAAYqC,GACjB,MAAgB,UAATA,EAGX,QAASC,GAAWD,GAChB,MAAuB,kBAATA,GAGlB,QAASE,GAASF,GACd,MAA+C,oBAAxCG,EAAgBC,SAAS3F,KAAKuF,GAGzC,QAASK,GAASL,GACd,MAAuB,gBAATA,IAA8B,OAATA,EAGvC,QAASM,GAAcN,GACnB,IAAK,GAAIO,KAAKP,GAAM,OAAO,CAC3B,QAAO,EAKX,QAASQ,GAAQR,GACb,GAAII,GAAWD,EAAgBC,SAAS3F,KAAKuF,EAC7C,OAAOK,GAASL,IACC,mBAAbI,GACa,uBAAbA,GACAJ,YAAgB1F,OAGxB,QAASmG,GAAK3F,EAAK4B,GACf,GAAIrC,GAAGqG,CAEP,IAAI/C,EAAY7C,EAAIJ,QAChB,IAAKL,IAAKS,GACF6F,EAAO7F,EAAKT,IACZqC,EAASjC,KAAK,KAAMJ,EAAGS,EAAIT,QAKnC,IADAqG,EAAI5F,EAAIJ,OAEJ,IAAKL,EAAI,EAAGA,EAAIqG,EAAGrG,IACfqC,EAASjC,KAAK,KAAMJ,EAAGS,EAAIT,IAM3C,QAASuG,GAAYC,EAAMC,GACvB,MAAKA,IAGLL,EAAKK,EAAM,SAASxF,EAAKC,GACrBsF,EAAKvF,GAAOC,IAETsF,GALIA,EAQf,QAASE,GAASC,EAAKC,GACnB,OAAQA,GAAOD,EAAItG,QAAUuG,EAAMD,EAAMA,EAAIE,OAAO,EAAGD,GAAO,IAUlE,QAASN,GAAOQ,EAAQ7F,GACpB,MAAO6E,GAAgBiB,eAAe3G,KAAK0G,EAAQ7F,GAGvD,QAAS+F,GAAWC,GAOhB,IAJA,GAEIC,GAFAC,KACAnH,EAAI,EAAGoH,EAAMH,EAAS5G,OAGnBL,EAAIoH,EAAKpH,IACZkH,EAAUD,EAASjH,GACf6F,EAASqB,GAGTC,EAAQ3F,KAAK0F,EAAQG,QAAQ,8BAA+B,SACrDH,GAAWA,EAAQI,QAE1BH,EAAQ3F,KAAK0F,EAAQI,OAI7B,OAAO,IAAIC,QAAOJ,EAAQ9F,KAAK,KAAM,KAGzC,QAASmG,GAAU5H,GACf,GAAI6H,KAIJ,OAHArB,GAAKxG,EAAG,SAASqB,EAAKC,GAClBuG,EAAMjG,KAAKkG,mBAAmBzG,GAAO,IAAMyG,mBAAmBxG,MAE3DuG,EAAMpG,KAAK,KAMtB,QAASsG,GAASC,GACd,GAAIC,GAAQD,EAAIC,MAAM,iEACtB,KAAKA,EAAO,QAGZ,IAAIC,GAAQD,EAAM,IAAM,GACpBE,EAAWF,EAAM,IAAM,EAC3B,QACIG,SAAUH,EAAM,GAChBI,KAAMJ,EAAM,GACZK,KAAML,EAAM,GACZM,SAAUN,EAAM,GAAKC,EAAQC,GAGrC,QAASK,KACL,GAAIC,GAASvD,EAAQuD,QAAUvD,EAAQwD,QAEvC,KAAKhF,EAAY+E,IAAWA,EAAOE,gBAAiB,CAEhD,GAAIC,GAAM,GAAIC,aAAY,EAC1BJ,GAAOE,gBAAgBC,GAGvBA,EAAI,GAAc,KAATA,EAAI,GAAa,MAE1BA,EAAI,GAAc,MAATA,EAAI,GAAc,KAE3B,IAAIE,GAAM,SAASC,GAEf,IADA,GAAIC,GAAID,EAAI5C,SAAS,IACd6C,EAAEvI,OAAS,GACduI,EAAI,IAAMA,CAEd,OAAOA,GAGX,OAAOF,GAAIF,EAAI,IAAME,EAAIF,EAAI,IAAME,EAAIF,EAAI,IAAME,EAAIF,EAAI,IAAME,EAAIF,EAAI,IACvEE,EAAIF,EAAI,IAAME,EAAIF,EAAI,IAAME,EAAIF,EAAI,IAGpC,MAAO,mCAAmCnB,QAAQ,QAAS,SAASwB,GAChE,GAAInJ,GAAkB,GAAdoJ,KAAKC,SAAY,EACrBH,EAAU,MAANC,EAAYnJ,EAAM,EAAFA,EAAM,CAC9B,OAAOkJ,GAAE7C,SAAS,MAY9B,QAASiD,GAAiBC,GAWtB,IATA,GAOIC,GAPAC,EAAsB,EACtBC,EAAiB,GACjBC,KACAC,EAAS,EACTlC,EAAM,EACNmC,EAAY,MACZC,EAAYD,EAAUlJ,OAGnB4I,GAAQK,IAAWH,IAEtBD,EAAUO,EAAoBR,KAKd,SAAZC,GAAsBI,EAAS,GAAKlC,EAAOiC,EAAIhJ,OAASmJ,EAAaN,EAAQ7I,QAAU+I,KAI3FC,EAAI7H,KAAK0H,GAET9B,GAAO8B,EAAQ7I,OACf4I,EAAOA,EAAKS,UAGhB,OAAOL,GAAIM,UAAUtI,KAAKkI,GAS9B,QAASE,GAAoBR,GACzB,GACIW,GACAC,EACA5I,EACA6I,EACA9J,EALAqJ,IAOJ,KAAKJ,IAASA,EAAKc,QACf,MAAO,EASX,IANAV,EAAI7H,KAAKyH,EAAKc,QAAQC,eAClBf,EAAKgB,IACLZ,EAAI7H,KAAK,IAAMyH,EAAKgB,IAGxBL,EAAYX,EAAKW,UACbA,GAAa/D,EAAS+D,GAEtB,IADAC,EAAUD,EAAUM,MAAM,OACrBlK,EAAI,EAAGA,EAAI6J,EAAQxJ,OAAQL,IAC5BqJ,EAAI7H,KAAK,IAAMqI,EAAQ7J,GAG/B,IAAImK,IAAiB,OAAQ,OAAQ,QAAS,MAC9C,KAAKnK,EAAI,EAAGA,EAAImK,EAAc9J,OAAQL,IAClCiB,EAAMkJ,EAAcnK,GACpB8J,EAAOb,EAAKmB,aAAanJ,GACrB6I,GACAT,EAAI7H,KAAK,IAAMP,EAAM,KAAO6I,EAAO,KAG3C,OAAOT,GAAIhI,KAAK,IAUpB,QAASgJ,GAAK5J,EAAKqB,EAAMwI,EAAaC,GAClC,GAAIC,GAAO/J,EAAIqB,EACfrB,GAAIqB,GAAQwI,EAAYE,GACpBD,GACAA,EAAM/I,MAAMf,EAAKqB,EAAM0I,IAvyD/B,GAAIC,GAAWlK,EAAQ,GACnBqB,EAAmBrB,EAAQ,GAC3BC,EAAYD,EAAQ,GAEpBmK,EAAoBnK,EAAQ,GAAG2B,WAE/ByI,EAAU,2CAA2CT,MAAM,KAC3DU,EAAa,gEAOb9F,EAA4B,mBAAX5F,QAAyBA,OACd,mBAAXC,GAAyBA,EAChB,mBAATC,MAAuBA,QAExCmE,EAAYuB,EAAQ+F,SACpBpH,EAAaqB,EAAQgG,SAwDzBxL,GAAMyC,WAKFgJ,QAAS,SAETC,OAAO,EAEPP,SAAUA,EASVQ,OAAQ,SAASC,EAAKC,GAClB,GAAI/L,GAAOC,IAEX,IAAID,EAAKwE,EAEL,MADIvE,MAAK+L,EAAU,QAAS,4CACrBhM,CAEX,KAAK8L,EAAK,MAAO9L,EAEjB,IAAIiM,GAAgBjM,EAAK4E,CAGrBmH,IACA/E,EAAK+E,EAAS,SAASlK,EAAKC,GAEZ,SAARD,GAA0B,UAARA,GAA2B,SAARA,EACrC7B,EAAK2E,EAAe9C,GAAOC,EAE3BmK,EAAcpK,GAAOC,IAKjC9B,EAAKkM,OAAOJ,GAIZG,EAAcpH,aAAazC,KAAK,qBAChC6J,EAAcpH,aAAazC,KAAK,iDAGhC6J,EAAcpH,aAAe+C,EAAWqE,EAAcpH,cACtDoH,EAAcnH,aAAamH,EAAcnH,WAAW7D,QAAS2G,EAAWqE,EAAcnH,YACtFmH,EAAclH,gBAAgBkH,EAAclH,cAAc9D,QAAS2G,EAAWqE,EAAclH,eAC5FkH,EAAcjH,aAAe4C,EAAWqE,EAAcjH,cACtDiH,EAAcE,eAAiBzC,KAAKlC,IAAI,EAAGkC,KAAK0C,IAAIH,EAAcE,gBAAkB,IAAK,KAEzF,IAAIE,IACAC,KAAK,EACLvJ,SAAS,EACTwJ,KAAK,EACLrG,UAAU,GAGVb,EAAkB4G,EAAc5G,eAWpC,OAV0C,uBAAnCsB,SAAS3F,KAAKqE,GACjBA,EAAkB8B,EAAYkF,EAAwBhH,GAC/CA,KAAoB,IAC3BA,EAAkBgH,GAEtBJ,EAAc5G,gBAAkBA,EAEhCgG,EAASnG,sBAAwB+G,EAAc/G,oBAGxClF,GAWXwM,QAAS,WACL,GAAIxM,GAAOC,IAgBX,OAfID,GAAKyM,YAAczM,EAAKuF,IACxB8F,EAASqB,OAAOC,UAAU,WACtB3M,EAAK4M,EAAwBhJ,MAAM5D,EAAMsD,aAE7CtD,EAAK6M,IACD7M,EAAK4E,EAAeS,iBACpBrF,EAAK8M,IAGT9M,EAAK+M,IAEL/M,EAAKuF,GAAoB,GAG7B1E,MAAMuE,gBAAkBpF,EAAK4E,EAAeQ,gBACrCnF,MAQXiM,OAAQ,SAASJ,GACb,GAAI9L,GAAOC,KACP+M,EAAMhN,EAAKiN,EAAUnB,GACvBoB,EAAYF,EAAIlE,KAAKqE,YAAY,KACjCrE,EAAOkE,EAAIlE,KAAKrB,OAAO,EAAGyF,EAE5BlN,GAAKoN,EAAOtB,EACZ9L,EAAKyE,EAAauI,EAAIK,KACtBrN,EAAKsN,EAAgBN,EAAIO,MAAQP,EAAIO,KAAK9F,OAAO,GACjDzH,EAAK0E,EAAiBsI,EAAIlE,KAAKrB,OAAOyF,EAAY,GAElDlN,EAAKwE,EAAgBxE,EAAKwN,EAAiBR,GAE3ChN,EAAKyN,EAAkBzN,EAAKwE,EACxB,IAAMsE,EAAO,OAAS9I,EAAK0E,EAAiB,UAIhDzE,KAAKoG,KAWTqH,QAAS,SAAS3B,EAAS4B,EAAMtK,GAO7B,MANImD,GAAWuF,KACX1I,EAAOsK,MACPA,EAAO5B,EACPA,EAAU6B,QAGP3N,KAAK4N,KAAK9B,EAAS4B,GAAM/J,MAAM3D,KAAMoD,IAWhDwK,KAAM,SAAS9B,EAAS4B,EAAMG,GAqC1B,QAASC,KACL,GAAI1K,MAAWzC,EAAI0C,UAAUrC,OACzB+M,GAAQjC,GAAWA,GAAWA,EAAQiC,QAAS,CAQnD,KANIF,GAAWtH,EAAWsH,IACtBA,EAAQlK,MAAM3D,KAAMqD,WAKlB1C,KAAKyC,EAAKzC,GAAKoN,EAAOhO,EAAK6N,KAAK9B,EAASzI,UAAU1C,IAAM0C,UAAU1C,EAEzE,KAKI,MAAO+M,GAAK/J,MAAM3D,KAAMoD,GAC1B,MAAMlD,GAGJ,KAFAH,GAAKiO,IACLjO,EAAKkO,iBAAiB/N,EAAG4L,GACnB5L,GAzDd,GAAIH,GAAOC,IAGX,IAAIiE,EAAYyJ,KAAUnH,EAAWuF,GACjC,MAAOA,EAWX,IAPIvF,EAAWuF,KACX4B,EAAO5B,EACPA,EAAU6B,SAKTpH,EAAWmH,GACZ,MAAOA,EAIX,KACI,GAAIA,EAAKQ,EACL,MAAOR,EAIX,IAAIA,EAAKS,EACL,MAAOT,GAAKS,EAElB,MAAOjO,GAIL,MAAOwN,GA6BX,IAAK,GAAIU,KAAYV,GACbzG,EAAOyG,EAAMU,KACbN,EAAQM,GAAYV,EAAKU,GAWjC,OARAN,GAAQpL,UAAYgL,EAAKhL,UAEzBgL,EAAKS,EAAoBL,EAGzBA,EAAQI,GAAY,EACpBJ,EAAQO,EAAYX,EAEbI,GAQXQ,UAAW,WAQP,MAPAlD,GAASqB,OAAO6B,YAEhBtO,KAAKuO,IAEL3N,MAAMuE,gBAAkBnF,KAAKuF,EAC7BvF,KAAKsF,GAAoB,EAElBtF,MAUXiO,iBAAkB,SAASO,EAAI1C,GAE3B,IAAKhF,EAAQ0H,GACT,MAAOxO,MAAKyO,eAAeD,EAAItH,GAC3BwH,eAAgB,EAChBC,YAAY,GACb7C,GAIP9L,MAAKqE,EAAyBmK,CAO9B,KACI,GAAI9M,GAAQ0J,EAASwD,kBAAkBJ,EACvCxO,MAAK6O,EAAiBnN,EAAOoK,GAC/B,MAAMgD,GACJ,GAAGN,IAAOM,EACN,KAAMA,GAId,MAAO9O,OAUXyO,eAAgB,SAASnL,EAAKwI,GAI1B,IAAM9L,KAAK2E,EAAeC,aAAamK,OAAQ/O,KAAK2E,EAAeC,aAAamK,KAAKzL,GAArF,CAIAwI,EAAUA,KAEV,IAAIvI,GAAO2D,GACP1E,QAASc,EAAM,IAChBwI,EAEH,IAAI9L,KAAK2E,EAAegK,YAAe7C,GAAWA,EAAQ6C,WAAa,CACnE,GAAIH,EAIJ,KACI,KAAM,IAAI5N,OAAM0C,GAClB,MAAOwL,GACLN,EAAKM,EAITN,EAAG/L,KAAO,KAEVqJ,EAAU5E,GAGN8H,YAAa1L,EACboL,gBAAiB5C,EAAQ4C,gBAAkB,GAAK,GACjD5C,EAEH,IAAIpK,GAAQ0J,EAASwD,kBAAkBJ,GACnCS,EAASjP,KAAKkP,EAAexN,EAAOoK,EACxCvI,GAAKoL,YAEDM,OAAQA,EAAO3E,WAOvB,MAFAtK,MAAKmP,EAAM5L,GAEJvD,OAGXoP,kBAAmB,SAAUhO,GACzB,GAAIiO,GAAQnI,GACRoI,UAAWzL,IAAQ,KACpBzC,EAEH,IAAImF,EAAWvG,KAAK2E,EAAe4K,oBAAqB,CACpD,GAAIC,GAASxP,KAAK2E,EAAe4K,mBAAmBF,EAEpD,IAAI1I,EAAS6I,KAAY5I,EAAc4I,GACnCH,EAAQG,MACL,IAAIA,KAAW,EAClB,MAAOxP,MAQf,MAJAA,MAAK8F,EAAa3D,KAAKkN,GACnBrP,KAAK8F,EAAa9E,OAAShB,KAAK2E,EAAeuH,gBAC/ClM,KAAK8F,EAAa2J,QAEfzP,MAGX0P,UAAW,SAASC,GAChB,GAAIC,MAAgB9N,MAAMf,KAAKsC,UAAW,EAO1C,OALArD,MAAK2F,EAASxD,MAAMwN,EAAQC,IACxB5P,KAAKsF,GACLtF,KAAK8M,IAGF9M,MASX6P,eAAgB,SAASzC,GAIrB,MAFApN,MAAK0E,EAAe0I,KAAOA,EAEpBpN,MASX8P,gBAAiB,SAASrM,GAGtB,MAFAzD,MAAK+P,EAAc,QAAStM,GAErBzD,MASXgQ,eAAgB,SAASC,GAGrB,MAFAjQ,MAAK+P,EAAc,OAAQE,GAEpBjQ,MAQXkQ,aAAc,WAGV,MAFAlQ,MAAK0E,KAEE1E,MAQXmQ,WAAY,WAER,MAAO3O,MAAK4O,MAAMjP,EAAUnB,KAAK0E,KAUrC2L,eAAgB,SAASC,GAGrB,MAFAtQ,MAAK2E,EAAe2L,YAAcA,EAE3BtQ,MASXuQ,WAAY,SAASC,GAGjB,MAFAxQ,MAAK2E,EAAe6L,QAAUA,EAEvBxQ,MAUXyQ,gBAAiB,SAASzN,GACtB,GAAI0N,GAAW1Q,KAAK2E,EAAegM,YAKnC,OAJA3Q,MAAK2E,EAAegM,aAAepK,EAAWvD,GAC1C,SAAUO,GAAQ,MAAOP,GAASO,EAAMmN,IACxC1N,EAEGhD,MAUX4Q,sBAAuB,SAAS5N,GAC5B,GAAI0N,GAAW1Q,KAAK2E,EAAe4K,kBAKnC,OAJAvP,MAAK2E,EAAe4K,mBAAqBhJ,EAAWvD,GAChD,SAAUO,GAAQ,MAAOP,GAASO,EAAMmN,IACxC1N,EAEGhD,MAUX6Q,sBAAuB,SAAS7N,GAC5B,GAAI0N,GAAW1Q,KAAK2E,EAAemM,kBAKnC,OAJA9Q,MAAK2E,EAAemM,mBAAqBvK,EAAWvD,GAC9C,SAAUO,GAAQ,MAAOP,GAASO,EAAMmN,IACxC1N,EAEChD,MAYX+Q,aAAc,SAASC,GAGnB,MAFAhR,MAAK2E,EAAeqM,UAAYA,EAEzBhR,MAQXiR,cAAe,WACX,MAAOjR,MAAKqE,GAQhB6M,YAAa,WACT,MAAOlR,MAAKsE,GAQhBkI,QAAS,WACL,QAAKxM,KAAK+D,MACL/D,KAAKuE,IACDvE,KAAKmR,0BACRnR,KAAKmR,yBAA0B,EAC/BnR,KAAK+L,EAAU,QAAS,2CAEnB,KAKfqF,UAAW,WAIP,GAAIC,GAAc5L,EAAQ4L,WACtBA,IACArR,KAAK4L,OAAOyF,EAAYxF,IAAKwF,EAAYzF,QAAQW,WAIzD+E,iBAAkB,SAAUxF,GACxB,GAAK5H,EAAL,CAGA4H,EAAUA,KAEV,IAAIoF,GAAcpF,EAAQyF,SAAWvR,KAAKkR,aAC1C,KAAKA,EACD,KAAM,IAAI3O,GAAiB,kBAG/B,IAAIsJ,GAAMC,EAAQD,KAAO7L,KAAKmN,CAC9B,KAAKtB,EACD,KAAM,IAAItJ,GAAiB,cAG/B,IAAIiP,GAASnJ,mBACToJ,EAAK,EACTA,IAAM,YAAcD,EAAON,GAC3BO,GAAM,QAAUD,EAAO3F,EAEvB,IAAIuB,GAAOtB,EAAQsB,MAAQpN,KAAK0E,EAAe0I,IAC3CA,KACIA,EAAK3K,OAAOgP,GAAM,SAAWD,EAAOpE,EAAK3K,OACzC2K,EAAKsE,QAAOD,GAAM,UAAYD,EAAOpE,EAAKsE,QAGlD,IAAIC,GAAe3R,KAAKuN,EAAiBvN,KAAKgN,EAAUnB,IAEpD+F,EAAS1N,EAAU2N,cAAc,SACrCD,GAAOE,OAAQ,EACfF,EAAOG,IAAMJ,EAAe,yBAA2BF,GACtDvN,EAAU8N,MAAQ9N,EAAU+N,MAAMC,YAAYN,KAInDO,EAAoB,WAChB,GAAIpS,GAAOC,IACXA,MAAKqF,GAAkB,EACvB+M,WAAW,WAEPrS,EAAKsF,GAAkB,KAI/BgN,EAAe,SAASC,EAAWxG,GAE/B,GAAIyG,GAAK3Q,CAET,IAAK5B,KAAKgE,EAAV,CAGA8H,EAAUA,MAEVwG,EAAY,QAAUA,EAAU9K,OAAO,EAAE,GAAGgL,cAAgBF,EAAU9K,OAAO,GAEzEtD,EAAUuO,aACVF,EAAMrO,EAAUuO,YAAY,cAC5BF,EAAIG,UAAUJ,GAAW,GAAM,KAE/BC,EAAMrO,EAAUyO,oBAChBJ,EAAID,UAAYA,EAGpB,KAAK1Q,IAAOkK,GAAa7E,EAAO6E,EAASlK,KACrC2Q,EAAI3Q,GAAOkK,EAAQlK,GAGvB,IAAIsC,EAAUuO,YAEVvO,EAAU0O,cAAcL,OAIxB,KACIrO,EAAU2O,UAAU,KAAON,EAAID,UAAU3H,cAAe4H,GAC1D,MAAMrS,OAYhB4S,EAAyB,SAASC,GAC9B,GAAIhT,GAAOC,IACX,OAAO,UAAUuS,GASb,GALAxS,EAAKiT,EAAmB,KAKpBjT,EAAKgG,IAAuBwM,EAAhC,CAGAxS,EAAKgG,EAAqBwM,CAC1B,IAEIU,GAFArJ,EAAO2I,EAAIU,MAMf,KACIA,EAAStJ,EAAiBC,GAC5B,MAAO1J,GACL+S,EAAS,YAGblT,EAAKqP,mBACD8D,SAAU,MAAQH,EAClBvQ,QAASyQ,OAUrBE,EAAuB,WACnB,GAAIpT,GAAOC,KACPoT,EAAmB,GAKvB,OAAO,UAAUb,GACb,GAAIU,GAASV,EAAIU,OACbvI,EAAUuI,GAAUA,EAAOvI,OAK/B,IAAKA,IAAuB,UAAZA,GAAmC,aAAZA,GAA2BuI,EAAOI,mBAAzE,CAKA,GAAIC,GAAUvT,EAAKiT,CACdM,IACDvT,EAAKwT,EAAwB,SAAShB,GAE1CiB,aAAaF,GACbvT,EAAKiT,EAAmBZ,WAAW,WAC/BrS,EAAKiT,EAAmB,MACzBI,MAUXK,EAAmB,SAASC,EAAMC,GAC9B,GAAIC,GAAYtL,EAAStI,KAAKgG,EAAUG,MACpC0N,EAAWvL,EAASqL,GACpBG,EAAaxL,EAASoL,EAK1B1T,MAAKkG,EAAYyN,EAIbC,EAAUjL,WAAakL,EAASlL,UAAYiL,EAAUhL,OAASiL,EAASjL,OACxE+K,EAAKE,EAAS/K,UACd8K,EAAUjL,WAAamL,EAAWnL,UAAYiL,EAAUhL,OAASkL,EAAWlL,OAC5E8K,EAAOI,EAAWhL,UAEtB9I,KAAKoP,mBACD8D,SAAU,aACV3P,MACIoQ,GAAIA,EACJD,KAAMA,MAQlBK,EAAqB,WAKjB,QAASC,GAAW7I,GAChB,MAAO,UAAU8I,EAAI9T,GAIjB,IAAI,GADAiD,GAAO,GAAI8Q,OAAM7Q,UAAUrC,QACvBL,EAAI,EAAGA,EAAIyC,EAAKpC,SAAUL,EAC9ByC,EAAKzC,GAAK0C,UAAU1C,EAExB,IAAIwT,GAAmB/Q,EAAK,EAQ5B,OAPImD,GAAW4N,KACX/Q,EAAK,GAAKrD,EAAK6N,KAAKuG,IAMpBhJ,EAAKxH,MACEwH,EAAKxH,MAAM3D,KAAMoD,GAEjB+H,EAAK/H,EAAK,GAAIA,EAAK,KAOtC,QAASgR,GAAgBtU,GACrB,GAAIuU,GAAQ5O,EAAQ3F,IAAW2F,EAAQ3F,GAAQ4C,SAC3C2R,IAASA,EAAM3M,gBAAkB2M,EAAM3M,eAAe,sBACtDsD,EAAKqJ,EAAO,mBAAoB,SAASlJ,GACrC,MAAO,UAAU4H,EAASkB,EAAIK,EAASC,GACnC,IACQN,GAAMA,EAAGO,cACTP,EAAGO,YAAczU,EAAK6N,KAAKqG,EAAGO,cAEpC,MAAOC,IAMT,GAAIC,GACAC,EACAC,CAmBJ,OAjBIxP,IAAmBA,EAAgBkH,MAAmB,gBAAXxM,GAAuC,SAAXA,KAGvE6U,EAAe5U,EAAKwT,EAAwB,SAC5CqB,EAAkB7U,EAAK8U,IACvBH,EAAS,SAAUnC,GAIf,GAAKA,EAEL,MAAiB,UAAbA,EAAIuC,KACGH,EAAapC,GACF,aAAbA,EAAIuC,KACFF,EAAgBrC,GADtB,SAINpH,EAAKpK,KAAKf,KAAM+S,EAAShT,EAAK6N,KAAKqG,EAAItG,OAAW+G,GAASJ,EAASC,KAEhFQ,GACH/J,EAAKqJ,EAAO,sBAAuB,SAAUlJ,GACzC,MAAO,UAAUoH,EAAK0B,EAAIK,EAASC,GAC/B,IACIN,EAAKA,IAAOA,EAAG9F,EAAoB8F,EAAG9F,EAAqB8F,GAC7D,MAAO/T,IAGT,MAAOiL,GAAKpK,KAAKf,KAAMuS,EAAK0B,EAAIK,EAASC,KAE9CQ,IA9EX,GAAIhV,GAAOC,KAEP+U,EAAkBhV,EAAK8F,EA0BvBT,EAAkBpF,KAAK2E,EAAeS,eAsD1C4F,GAAKvF,EAAS,aAAcuO,EAAYe,GACxC/J,EAAKvF,EAAS,cAAeuO,EAAYe,GACrCtP,EAAQuP,uBACRhK,EAAKvF,EAAS,wBAAyB,SAAU0F,GAC7C,MAAO,UAAU8J,GACb,MAAO9J,GAAKpL,EAAK6N,KAAKqH,MAE3BF,EAMP,KAAK,GADDG,IAAgB,cAAe,SAAU,OAAQ,mBAAoB,iBAAkB,oBAAqB,kBAAmB,cAAe,aAAc,qBAAsB,cAAe,aAAc,iBAAkB,eAAgB,kBAAmB,cAAe,cAAe,eAAgB,qBAAsB,SAAU,YAAa,eAAgB,gBAAiB,YAAa,kBAAmB,SAAU,iBAAkB,4BAA6B,wBACpdvU,EAAI,EAAGA,EAAIuU,EAAalU,OAAQL,IACrCyT,EAAgBc,EAAavU,KAcrCwU,EAAwB,WAMpB,QAASC,GAASC,EAAMhJ,GAChBgJ,IAAQhJ,IAAO9F,EAAW8F,EAAIgJ,KAC9BrK,EAAKqB,EAAKgJ,EAAM,SAAUlK,GACtB,MAAOpL,GAAK6N,KAAKzC,KAR7B,GAAIpL,GAAOC,KACPoF,EAAkBpF,KAAK2E,EAAeS,gBAEtC2P,EAAkBhV,EAAK8F,CAU3B,IAAIT,EAAgBiH,KAAO,kBAAoB5G,GAAS,CACpD,GAAI6P,GAAWC,eAAe7S,SAC9BsI,GAAKsK,EAAU,OAAQ,SAASE,GAC5B,MAAO,UAAUnP,EAAQkC,GAWrB,MARI/B,GAAS+B,IAAQA,EAAIxG,QAAQhC,EAAKyE,UAClCxE,KAAKyV,GACDpP,OAAQA,EACRkC,IAAKA,EACLmN,YAAa,OAIdF,EAAS7R,MAAM3D,KAAMqD,aAEjC0R,GAEH/J,EAAKsK,EAAU,OAAQ,SAASK,GAC5B,MAAO,UAAUpS,GAGb,QAASqS,KACL,GAAIvJ,EAAIoJ,IAAmC,IAAnBpJ,EAAIwJ,YAAuC,IAAnBxJ,EAAIwJ,YAAmB,CACnE,IAGIxJ,EAAIoJ,EAAYC,YAAcrJ,EAAIyJ,OACpC,MAAO5V,IACTH,EAAKqP,mBACD0F,KAAM,OACN5B,SAAU,MACV3P,KAAM8I,EAAIoJ,KAMtB,IAAK,GAlBDpJ,GAAMrM,KAiBN+V,GAAS,SAAU,UAAW,cACzB/O,EAAI,EAAGA,EAAI+O,EAAM/U,OAAQgG,IAC9BoO,EAASW,EAAM/O,GAAIqF,EAavB,OAVI,sBAAwBA,IAAO9F,EAAW8F,EAAI2J,oBAC9ChL,EAAKqB,EAAK,qBAAsB,SAAUlB,GACtC,MAAOpL,GAAK6N,KAAKzC,EAAMwC,OAAWiI,KAKtCvJ,EAAI2J,mBAAqBJ,EAGtBD,EAAShS,MAAM3D,KAAMqD,aAEjC0R,GAGH3P,EAAgBiH,KAAO,SAAW5G,IAClCuF,EAAKvF,EAAS,QAAS,SAASwQ,GAC5B,MAAO,UAAUhC,EAAI9T,GAIjB,IAAI,GADAiD,GAAO,GAAI8Q,OAAM7Q,UAAUrC,QACvBL,EAAI,EAAGA,EAAIyC,EAAKpC,SAAUL,EAC9ByC,EAAKzC,GAAK0C,UAAU1C,EAGxB,IAAI0F,GAAS,KAETjD,GAAK,IAAMA,EAAK,GAAGiD,SACnBA,EAASjD,EAAK,GAAGiD,OAGrB,IAAI6P,IACA7P,OAAQA,EACRkC,IAAKnF,EAAK,GACVsS,YAAa,KASjB,OANA3V,GAAKqP,mBACD0F,KAAM,OACN5B,SAAU,QACV3P,KAAM2S,IAGHD,EAAUtS,MAAM3D,KAAMoD,GAAM+S,KAAK,SAAUC,GAG9C,MAFAF,GAAUR,YAAcU,EAASN,OAE1BM,MAGhBrB,GAKH3P,EAAgBkH,KAAOtM,KAAKgE,IACxBE,EAAUmS,kBACVnS,EAAUmS,iBAAiB,QAAStW,EAAKwT,EAAwB,UAAU,GAC3ErP,EAAUmS,iBAAiB,WAAYtW,EAAK8U,KAAyB,KAIrE3Q,EAAUoS,YAAY,UAAWvW,EAAKwT,EAAwB,UAC9DrP,EAAUoS,YAAY,aAAcvW,EAAK8U,MAQjD,IAAI0B,GAAS9Q,EAAQ8Q,OACjBC,EAAsBD,GAAUA,EAAOE,KAAOF,EAAOE,IAAIC,QACzDC,GAAgBH,GAAuB/Q,EAAQmR,SAAWA,QAAQC,SACtE,IAAIzR,EAAgBa,UAAY0Q,EAAc,CAE1C,GAAIG,GAAgBrR,EAAQsR,UAC5BtR,GAAQsR,WAAa,WACjB,GAAIC,GAAcjX,EAAKiG,EAAUG,IAGjC,IAFApG,EAAKkX,EAAkBlX,EAAKmG,EAAW8Q,GAEnCF,EACA,MAAOA,GAAcnT,MAAM3D,KAAMqD,YAIzC2H,EAAK4L,QAAS,YAAa,SAAUM,GAGjC,MAAO,YACH,GAAI3O,GAAMlF,UAAUrC,OAAS,EAAIqC,UAAU,GAAKsK,MAQhD,OALIpF,IAEAxI,EAAKkX,EAAkBlX,EAAKmG,EAAWqC,EAAM,IAG1C2O,EAAcvT,MAAM3D,KAAMqD,aAEtC0R,GAGP,GAAI3P,EAAgBtC,SAAW,WAAa2C,IAAW3C,QAAQqU,IAAK,CAEhE,GAAIC,GAAwB,SAAU9T,EAAKC,GACvCxD,EAAKqP,mBACD5M,QAASc,EACTP,MAAOQ,EAAKR,MACZmQ,SAAU,YAIlBnM,IAAM,QAAS,OAAQ,OAAQ,QAAS,OAAQ,SAAUF,EAAG9D,GACzDsI,EAAkBvI,QAASC,EAAOqU,OAM9CC,EAAkB,WAGd,IADA,GAAIC,GACGtX,KAAK6F,EAAiB7E,QAAQ,CACjCsW,EAAUtX,KAAK6F,EAAiB4J,OAEhC,IAAIrO,GAAMkW,EAAQ,GAChB7U,EAAO6U,EAAQ,GACfnM,EAAOmM,EAAQ,EAEjBlW,GAAIqB,GAAQ0I,IAIpBoM,EAAe,WACX,GAAIxX,GAAOC,IAGX+G,GAAK/G,KAAK2F,EAAU,SAASkB,EAAG8I,GAC5B,GAAI6H,GAAY7H,EAAO,GACnBvM,EAAOuM,EAAO,EAClB6H,GAAU7T,MAAM5D,GAAOA,GAAM0X,OAAOrU,OAI5CsU,EAAW,SAASpQ,GAChB,GAAIqQ,GAAIpM,EAAWqM,KAAKtQ,GACpBuE,KACAlL,EAAI,CAER,KACI,KAAOA,KAAKkL,EAAIP,EAAQ3K,IAAMgX,EAAEhX,IAAM,GACxC,MAAMT,GACJ,KAAM,IAAIqC,GAAiB,gBAAkB+E,GAGjD,GAAIuE,EAAIyB,OAAStN,KAAK2E,EAAekT,eACjC,KAAM,IAAItV,GAAiB,iFAG/B,OAAOsJ,IAGXiM,EAAkB,SAAS/K,GAEvB,GAAI4E,GAAe,KAAO5E,EAAInE,MACzBmE,EAAIgL,KAAO,IAAMhL,EAAIgL,KAAO,GAKjC,OAHIhL,GAAIpE,WACJgJ,EAAe5E,EAAIpE,SAAW,IAAMgJ,GAEjCA,GAGXqG,EAAyB,WAEhBhY,KAAKqF,GACNrF,KAAK6O,EAAiBlL,MAAM3D,KAAMqD,YAI1C4U,EAAkB,SAASC,EAAWpM,GAClC,GAAImD,GAASjP,KAAKkP,EAAegJ,EAAWpM,EAE5C9L,MAAKmY,EAAc,UACfD,UAAWA,EACXpM,QAASA,IAGb9L,KAAKoY,EACDF,EAAUzV,KACVyV,EAAU1V,QACV0V,EAAU3P,IACV2P,EAAUG,OACVpJ,EACAnD,IAIRwM,EAAgB,SAASJ,EAAWpM,GAChC,GAAI/L,GAAOC,KACPiP,IACJ,IAAIiJ,EAAUxW,OAASwW,EAAUxW,MAAMV,SACnC+F,EAAKmR,EAAUxW,MAAO,SAASf,EAAGe,GAC9B,GAAI6W,GAAQxY,EAAKyY,EAAgB9W,EAC7B6W,IACAtJ,EAAO9M,KAAKoW,KAKhBzM,GAAWA,EAAQ4C,gBACnB,IAAK,GAAI1H,GAAI,EAAGA,EAAI8E,EAAQ4C,gBAAkB1H,EAAIiI,EAAOjO,OAAQgG,IAC7DiI,EAAOjI,GAAGyR,QAAS,CAK/B,OADAxJ,GAASA,EAAOnN,MAAM,EAAG9B,KAAK2E,EAAeQ,kBAKjDuT,EAAiB,SAASH,GACtB,GAAKA,EAAMhQ,IAAX,CAGA,GAAIoQ,IACAC,SAAYL,EAAMhQ,IAClB8P,OAAYE,EAAMM,KAClBC,MAAYP,EAAMQ,OAClBC,WAAYT,EAAM7K,MAAQ,IAY9B,OATAiL,GAAWF,SAELzY,KAAK2E,EAAeI,aAAagK,OAAS/O,KAAK2E,EAAeI,aAAagK,KAAK4J,EAAWC,WAE7F,qBAAqB7J,KAAK4J,EAAW,cAErC,qBAAqB5J,KAAK4J,EAAWC,WAGlCD,IAGXM,EAAmB,SAASnE,EAAMtS,EAAS0W,EAASb,EAAQpJ,EAAQnD,GAChE,GAAI6C,EACJ,MAAM3O,KAAK2E,EAAeC,aAAamK,OAAQ/O,KAAK2E,EAAeC,aAAamK,KAAKvM,MAErFA,GAAW,GAEPyM,GAAUA,EAAOjO,QACjBkY,EAAUjK,EAAO,GAAG2J,UAAYM,EAGhCjK,EAAO3E,UACPqE,GAAcM,OAAQA,IACfiK,IACPvK,GACIM,SACI2J,SAAUM,EACVb,OAAQA,EACRI,QAAQ,QAKdzY,KAAK2E,EAAeE,WAAWkK,OAAQ/O,KAAK2E,EAAeE,WAAWkK,KAAKmK,OAC3ElZ,KAAK2E,EAAeG,cAAciK,MAAS/O,KAAK2E,EAAeG,cAAciK,KAAKmK,KAAxF,CAEA,GAAI3V,GAAO2D,GAEPiS,WACIC,SACItE,KAAMA,EACNjT,MAAOW,EACPmM,WAAYA,KAGpB0K,QAASH,GACVpN,EAGH9L,MAAKmP,EAAM5L,KAGf+V,EAAa,SAAS/V,GAGlB,GAAIgE,GAAMvH,KAAK2E,EAAeO,gBAI9B,IAHI3B,EAAKf,UACLe,EAAKf,QAAU6E,EAAS9D,EAAKf,QAAS+E,IAEtChE,EAAK4V,UAAW,CAChB,GAAIA,GAAY5V,EAAK4V,UAAUC,OAAO,EACtCD,GAAUtX,MAAQwF,EAAS8R,EAAUtX,MAAO0F,GAGhD,MAAOhE,IAGXgW,EAAc,WACV,GAAKvZ,KAAKmE,GAAkBnE,KAAKgE,EAAjC,CACA,GAAIwV,KAkBJ,OAhBIxZ,MAAKmE,GAAiBC,EAAWqV,YACjCD,EAASE,SACPC,aAAclO,UAAUgO,YAI1BzZ,KAAKgE,IACDE,EAAU+B,UAAY/B,EAAU+B,SAASE,OACzCqT,EAASjR,IAAMrE,EAAU+B,SAASE,MAElCjC,EAAU0V,WACLJ,EAASE,UAASF,EAASE,YAChCF,EAASE,QAAQG,QAAU3V,EAAU0V,WAItCJ,IAGXM,EAAe,WACX9Z,KAAK+Z,EAAmB,EACxB/Z,KAAKga,EAAgB,MAGzBC,GAAgB,WACZ,MAAOja,MAAK+Z,GAAoBlW,IAAQ7D,KAAKga,EAAgBha,KAAK+Z,GAGtEG,GAAkB,SAASC,GAEvB,IAAIna,KAAKoa,KAAT,CAIA,GAAItE,GAASqE,EAAQrE,MAKrB,IAAiB,MAAXA,GAA6B,MAAXA,GAA6B,MAAXA,EAA1C,CAGA,GAAIuE,EACJ,KAGIA,EAAQF,EAAQG,kBAAkB,eAClCD,EAAQE,SAASF,EAAO,IAC1B,MAAOna,IAKTF,KAAK+Z,EAAmBM,EAElBA,EAEwB,EAAxBra,KAAK+Z,GAAwB,IAEnC/Z,KAAKga,EAAgBnW,OAGzB2W,EAAO,SAASjX,GACZ,GAAIyI,GAAgBhM,KAAK2E,EAErB8V,GACAC,QAAS1a,KAAKyE,EACdjB,OAAQwI,EAAcxI,OACtBmX,SAAU,cACXnB,EAAWxZ,KAAK4a,GAgDnB,IA9CIpB,IACAiB,EAASN,QAAUX,GAInBjW,EAAKmL,sBAAuBnL,GAAKmL,eAErCnL,EAAO2D,EAAYuT,EAAUlX,GAG7BA,EAAK0M,KAAO/I,EAAYA,KAAgBlH,KAAK0E,EAAeuL,MAAO1M,EAAK0M,MACxE1M,EAAKE,MAAQyD,EAAYA,KAAgBlH,KAAK0E,EAAejB,OAAQF,EAAKE,OAG1EF,EAAKE,MAAM,oBAAsBI,IAAQ7D,KAAK4F,EAE1C5F,KAAK8F,GAAgB9F,KAAK8F,EAAa9E,OAAS,IAGhDuC,EAAKsX,aACDzB,UAAWtX,MAAMf,KAAKf,KAAK8F,EAAc,KAK7Cc,EAAcrD,EAAK0M,aAAc1M,GAAK0M,KAEtCjQ,KAAK0E,EAAe0I,OAEpB7J,EAAK6J,KAAOpN,KAAK0E,EAAe0I,MAIhCpB,EAAcsE,cAAa/M,EAAK+M,YAActE,EAAcsE,aAG5DtE,EAAcwE,UAASjN,EAAKiN,QAAUxE,EAAcwE,SAGpDxE,EAAc8O,aAAYvX,EAAKwX,YAAc/O,EAAc8O,YAE3DvU,EAAWyF,EAAc2E,gBACzBpN,EAAOyI,EAAc2E,aAAapN,IAASA,GAI1CA,IAAQqD,EAAcrD,MAKvBgD,EAAWyF,EAAc8E,qBAAwB9E,EAAc8E,mBAAmBvN,IAMtF,MAAIvD,MAAKoa,SACLpa,MAAK+L,EAAU,OAAQ,uCAAwCxI,OAInEvD,MAAKgb,GAAsBzX,IAG/B0X,GAAU,WACR,MAAOlS,MAGTmS,GAAuB,SAAS3X,EAAMP,GAClC,GAAIjD,GAAOC,KACPgM,EAAgBhM,KAAK2E,CAEzB,IAAK3E,KAAKwM,UAAV,CAKAxM,KAAKsE,EAAef,EAAK4X,WAAa5X,EAAK4X,SAAWnb,KAAKob,MAG3D7X,EAAOvD,KAAKqb,EAAY9X,GAExBvD,KAAK+L,EAAU,QAAS,uBAAwBxI,EAEhD,IAAI+X,IACAC,eAAgB,IAChBC,cAAe,YAAcxb,KAAK0L,QAClC+P,WAAYzb,KAAKwE,EAEjBxE,MAAKqN,IACLiO,EAAKI,cAAgB1b,KAAKqN,EAG9B,IAAI8L,GAAY5V,EAAK4V,WAAa5V,EAAK4V,UAAUC,OAAO,EACxDpZ,MAAKoP,mBACD8D,SAAU,SACV1Q,QAAS2W,GACFA,EAAUrE,KAAOqE,EAAUrE,KAAO,KAAO,IAAMqE,EAAUtX,MAC1D0B,EAAKf,QACX2Y,SAAU5X,EAAK4X,SACfpY,MAAOQ,EAAKR,OAAS,SAGzB,IAAIwF,GAAMvI,KAAKwN,GACdxB,EAAcgF,WAAahR,KAAK2b,IAAc5a,KAAKf,MAChDuI,IAAKA,EACL+S,KAAMA,EACN/X,KAAMA,EACNuI,QAASE,EACT4P,UAAW,WACP7b,EAAKqG,IAELrG,EAAKoY,EAAc,WACf5U,KAAMA,EACNwO,IAAKxJ,IAETvF,GAAYA,KAEhB6Y,QAAS,SAAiBC,GACtB/b,EAAKgM,EAAU,QAAS,mCAAoC+P,GAExDA,EAAM3B,SACNpa,EAAKgc,GAAiBD,EAAM3B,SAGhCpa,EAAKoY,EAAc,WACf5U,KAAMA,EACNwO,IAAKxJ,IAETuT,EAAQA,GAAS,GAAIlb,OAAM,sDAC3BoC,GAAYA,EAAS8Y,QAKjCE,GAAc,SAASC,GAWnB,QAASC,KACL,GAAuB,MAAnB/B,EAAQrE,OACJmG,EAAKL,WACLK,EAAKL,gBAEN,IAAIK,EAAKJ,QAAS,CACrB,GAAIpH,GAAM,GAAI7T,OAAM,sBAAwBuZ,EAAQrE,OACpDrB,GAAI0F,QAAUA,EACd8B,EAAKJ,QAAQpH,IAlBrB,GAAI0F,GAAU,GAAI5E,gBAGd4G,EACA,mBAAqBhC,IACK,mBAAnBiC,eAEX,IAAKD,EAAL,CAEA,GAAI5T,GAAM0T,EAAK1T,GAaX,oBAAqB4R,GACrBA,EAAQnE,mBAAqB,WACE,IAAvBmE,EAAQtE,YAGZqG,MAGJ/B,EAAU,GAAIiC,gBAGd7T,EAAMA,EAAIP,QAAQ,WAAY,IAG9BmS,EAAQkC,OAASH,GAKrB/B,EAAQmC,KAAK,OAAQ/T,EAAM,IAAMJ,EAAU8T,EAAKX,OAChDnB,EAAQoC,KAAKpb,EAAU8a,EAAK1Y,SAGhCiZ,EAAW,SAASzZ,GACZ/C,KAAK0F,EAAwB3C,IAAU/C,KAAK2L,OAE5CjI,SAAShB,UAAUiB,MAAM5C,KACrBf,KAAK0F,EAAwB3C,GAC7B/C,KAAKwF,KACF1D,MAAMf,KAAKsC,UAAW,KAKrCoZ,EAAe,SAAS7a,EAAK6L,GACrBxJ,EAAYwJ,SACLzN,MAAK0E,EAAe9C,GAE3B5B,KAAK0E,EAAe9C,GAAOsF,EAAYlH,KAAK0E,EAAe9C,OAAY6L,IAWnF,IAAIhH,GAAkBiW,OAAOha,SAkR7BzC,GAAMyC,UAAUia,QAAU1c,EAAMyC,UAAUmN,eAC1C5P,EAAMyC,UAAUka,kBAAoB3c,EAAMyC,UAAU6N,WAEpD9Q,EAAOD,QAAUS,IAEdc,KAAKf,KAAuB,mBAAXF,QAAyBA,OAAyB,mBAATC,MAAuBA,KAAyB,mBAAXF,QAAyBA,aACxHoB,EAAI,EAAEqB,EAAI,EAAEM,EAAI,EAAEia,EAAI,IAAIC,GAAG,SAAS5b,EAAQzB,EAAOD,IACxD,SAAWM,GAOX,YAEA,IAAIid,GAAmB7b,EAAQ,GAG3BuE,EAA4B,mBAAX5F,QAAyBA,OACd,mBAAXC,GAAyBA,EAChB,mBAATC,MAAuBA,QAExCid,EAASvX,EAAQxF,MAEjBA,EAAQ,GAAI8c,EAQhB9c,GAAMgd,WAAa,WAElB,MADAxX,GAAQxF,MAAQ+c,EACT/c,GAGRA,EAAMmR,YAEN3R,EAAOD,QAAUS,IAEdc,KAAKf,KAAuB,mBAAXF,QAAyBA,OAAyB,mBAATC,MAAuBA,KAAyB,mBAAXF,QAAyBA,aACxH+D,EAAI,IAAIiZ,GAAG,SAAS3b,EAAQzB,EAAOD,IACtC,SAAWM,GACX,YA8BA,SAASod,KACL,MAAwB,mBAAb1R,WAAyD,mBAAtBA,UAASvF,SAC5C,GAEJuF,SAASvF,SAASE,KAtB7B,GAAIiF,IACAnG,qBAAqB,EACrB0G,OAAO,GAIPlG,EAA4B,mBAAX5F,QAAyBA,OACd,mBAAXC,GAAyBA,EAChB,mBAATC,MAAuBA,QAIxCod,KAAYrb,MACZsb,EAAmB,IAGnBC,EAAiB,iGAgDrBjS,GAASqB,OAAU,WAUf,QAASC,GAAUwP,GACfoB,IACAC,EAASpb,KAAK+Z,GAOlB,QAASsB,GAAYtB,GACjB,IAAK,GAAIvb,GAAI4c,EAASvc,OAAS,EAAGL,GAAK,IAAKA,EACpC4c,EAAS5c,KAAOub,GAChBqB,EAASrb,OAAOvB,EAAG,GAQ/B,QAAS8c,KACLC,IACAH,KAOJ,QAASI,GAAejc,EAAOkc,GAC3B,GAAIzE,GAAY,IAChB,KAAIyE,GAAkBxS,EAASnG,oBAA/B,CAGA,IAAK,GAAItE,KAAK4c,GACV,GAAIA,EAAS7V,eAAe/G,GACxB,IACI4c,EAAS5c,GAAGgD,MAAM,MAAOjC,GAAO+V,OAAO0F,EAAOpc,KAAKsC,UAAW,KAChE,MAAOwa,GACL1E,EAAY0E,EAKxB,GAAI1E,EACA,KAAMA,IAiBd,QAAS2E,GAAsBtb,EAAS+F,EAAKwV,EAAQC,EAAOxP,GACxD,GAAI9M,GAAQ,IAEZ,IAAIuc,EACA7S,EAASwD,kBAAkBsP,oCAAoCD,EAAoB1V,EAAKwV,EAAQvb,GAChG2b,QACG,IAAI3P,EAIP9M,EAAQ0J,EAASwD,kBAAkBJ,GACnCmP,EAAejc,GAAO,OACnB,CACH,GAQI0c,GARAnY,GACAsC,IAAOA,EACPsQ,KAAQkF,EACRhF,OAAUiF,GAGVvb,EAAOkL,OACPrK,EAAMd,CAEV,IAAkC,uBAA3BkE,SAAS3F,KAAKyB,GAAgC,CACjD,GAAI4b,GAAS5b,EAAQgG,MAAM6U,EACvBe,KACA3b,EAAO2b,EAAO,GACd9a,EAAM8a,EAAO,IAIrBnY,EAASyH,KAAO0P,EAEhB1b,GACIe,KAAQA,EACRD,QAAWc,EACXiF,IAAO2U,IACPxb,OAAUuE,IAEd0X,EAAejc,GAAO,GAG1B,QAAI2c,GACOA,EAAmB1a,MAAM3D,KAAMqD,WAM9C,QAASia,KAEDgB,IAGJD,EAAqB5Y,EAAQ8Y,QAC7B9Y,EAAQ8Y,QAAUT,EAClBQ,GAA2B,GAG/B,QAASZ,KAEAY,IAGL7Y,EAAQ8Y,QAAUF,EAClBC,GAA2B,EAC3BD,EAAqB1Q,QAGzB,QAASwQ,KACL,GAAIK,GAAsBP,EACtBQ,EAAYC,CAChBA,GAAW,KACXT,EAAqB,KACrBhN,EAAgB,KAChB0M,EAAeha,MAAM,MAAO6a,GAAqB,GAAO/G,OAAOgH,IAUnE,QAAShS,GAAO+B,EAAImQ,GAChB,GAAIvb,GAAO+Z,EAAOpc,KAAKsC,UAAW,EAClC,IAAI4a,EAAoB,CACpB,GAAIhN,IAAkBzC,EAClB,MAEF2P,KAIN,GAAIzc,GAAQ0J,EAASwD,kBAAkBJ,EAevC,IAdAyP,EAAqBvc,EACrBuP,EAAgBzC,EAChBkQ,EAAWtb,EAMXgP,WAAW,WACHnB,IAAkBzC,GAClB2P,KAEJzc,EAAMkd,WAAa,IAAO,GAE1BD,KAAY,EACZ,KAAMnQ,GArLd,GA0DI6P,GAAoBC,EA1DpBf,KACAmB,EAAW,KACXzN,EAAgB,KAChBgN,EAAqB,IAyLzB,OAHAxR,GAAOC,UAAYA,EACnBD,EAAO+Q,YAAcA,EACrB/Q,EAAO6B,UAAYmP,EACZhR,KAsDXrB,EAASwD,kBAAqB,WAiE1B,QAASiQ,GAA+BrQ,GACpC,GAAwB,mBAAbA,GAAG9M,OAA0B8M,EAAG9M,MAA3C,CAWA,IAAK,GAJDod,GACAC,EANAxI,EAAS,mHACTyI,EAAQ,8GACRC,EAAQ,wGACRC,EAAQ1Q,EAAG9M,MAAMmJ,MAAM,MACvBnJ,KAKKf,GAFO,sBAAsBiX,KAAKpJ,EAAGhM,SAEjC,GAAGwE,EAAIkY,EAAMle,OAAQL,EAAIqG,IAAKrG,EAAG,CAC1C,GAAKme,EAAQvI,EAAOqB,KAAKsH,EAAMve,IAAM,CACjC,GAAIwe,GAAWL,EAAM,IAAMA,EAAM,GAAG/c,QAAQ,cAC5Cgd,IACIxW,IAAQ4W,EAAsB,KAAXL,EAAM,GACzBpR,KAAQoR,EAAM,IAAM1B,EACpBha,KAAQ+b,GAAYL,EAAM,OAC1BjG,KAAQiG,EAAM,IAAMA,EAAM,GAAK,KAC/B/F,OAAU+F,EAAM,IAAMA,EAAM,GAAK,UAElC,IAAKA,EAAQG,EAAMrH,KAAKsH,EAAMve,IACjCoe,GACIxW,IAAOuW,EAAM,GACbpR,KAAQoR,EAAM,IAAM1B,EACpBha,QACAyV,MAASiG,EAAM,GACf/F,OAAU+F,EAAM,IAAMA,EAAM,GAAK,UAElC,CAAA,KAAKA,EAAQE,EAAMpH,KAAKsH,EAAMve,KASjC,QARAoe,IACIxW,IAAOuW,EAAM,GACbpR,KAAQoR,EAAM,IAAM1B,EACpBha,KAAQ0b,EAAM,GAAKA,EAAM,GAAGjU,MAAM,QAClCgO,KAAQiG,EAAM,IAAMA,EAAM,GAAK,KAC/B/F,OAAU+F,EAAM,IAAMA,EAAM,GAAK,OAMpCC,EAAQrR,MAAQqR,EAAQlG,OACzBkG,EAAQrR,KAAO0P,GAGnB1b,EAAMS,KAAK4c,GAGf,MAAKrd,GAAMV,QAINU,EAAM,GAAGqX,QAAqC,mBAApBvK,GAAG4Q,eAI9B1d,EAAM,GAAGqX,OAASvK,EAAG4Q,aAAe,IAIpC3c,KAAQ+L,EAAG/L,KACXD,QAAWgM,EAAGhM,QACd+F,IAAO2U,IACPxb,MAASA,IAdF,MA+Bf,QAASwc,GAAoChG,EAAW3P,EAAKwV,EAAQvb,GACjE,GAAI6c,IACA9W,IAAOA,EACPsQ,KAAQkF,EAGZ,IAAIsB,EAAQ9W,KAAO8W,EAAQxG,KAAM,CAO7B,GANAX,EAAU0G,YAAa,EAElBS,EAAQ3R,OACT2R,EAAQ3R,KAAO0P,GAGflF,EAAUxW,MAAMV,OAAS,GACrBkX,EAAUxW,MAAM,GAAG6G,MAAQ8W,EAAQ9W,IAAK,CACxC,GAAI2P,EAAUxW,MAAM,GAAGmX,OAASwG,EAAQxG,KACpC,OAAO,CACJ,KAAKX,EAAUxW,MAAM,GAAGmX,MAAQX,EAAUxW,MAAM,GAAGgM,OAAS2R,EAAQ3R,KAEvE,MADAwK,GAAUxW,MAAM,GAAGmX,KAAOwG,EAAQxG,MAC3B,EAOnB,MAFAX,GAAUxW,MAAM4d,QAAQD,GACxBnH,EAAUqH,SAAU,GACb,EAKX,MAHIrH,GAAU0G,YAAa,GAGpB,EAYX,QAASY,GAAsChR,EAAIiR,GAS/C,IAAK,GAJDX,GACAY,EALAC,EAAe,qEACfje,KACAke,KACAC,GAAY,EAKPC,EAAON,EAAsCO,OAAQD,IAASD,EAAWC,EAAOA,EAAKC,OAC1F,GAAID,IAASlR,GAAqBkR,IAAS1U,EAASqB,OAApD,CAkBA,GAbAiT,GACInX,IAAO,KACPmF,KAAQ0P,EACRvE,KAAQ,KACRE,OAAU,MAGV+G,EAAKrd,KACLid,EAAKhS,KAAOoS,EAAKrd,MACTqc,EAAQa,EAAa/H,KAAKkI,EAAKpZ,eACvCgZ,EAAKhS,KAAOoR,EAAM,IAGG,mBAAdY,GAAKhS,KACd,IACEgS,EAAKhS,KAAOoR,EAAMkB,MAAMC,UAAU,EAAGnB,EAAMkB,MAAMje,QAAQ,MACzD,MAAO7B,IAGP0f,EAAM,GAAKE,GACXD,GAAY,EAEZD,EAAM,GAAKE,IAAQ,EAGvBpe,EAAMS,KAAKud,GAGXD,GAGA/d,EAAMQ,OAAO,EAAGud,EAGpB,IAAIjQ,IACA/M,KAAQ+L,EAAG/L,KACXD,QAAWgM,EAAGhM,QACd+F,IAAO2U,IACPxb,MAASA,EAGb,OADAwc,GAAoC1O,EAAQhB,EAAG0R,WAAa1R,EAAG2R,SAAU3R,EAAGqK,MAAQrK,EAAG4R,WAAY5R,EAAGhM,SAAWgM,EAAG6R,aAC7G7Q,EAQX,QAASZ,GAAkBJ,EAAIiR,GAC3B,GAAI/d,GAAQ,IACZ+d,GAAkB,MAATA,EAAgB,GAAKA,CAE9B,KAEI,GADA/d,EAAQmd,EAA+BrQ,GAEnC,MAAO9M,GAEb,MAAOxB,GACL,GAAIkL,EAASO,MACT,KAAMzL,GAId,IAEI,GADAwB,EAAQ8d,EAAsChR,EAAIiR,EAAQ,GAEtD,MAAO/d,GAEb,MAAOxB,GACL,GAAIkL,EAASO,MACT,KAAMzL,GAId,OACIuC,KAAQ+L,EAAG/L,KACXD,QAAWgM,EAAGhM,QACd+F,IAAO2U,KAOf,MAHAtO,GAAkBsP,oCAAsCA,EACxDtP,EAAkBiQ,+BAAiCA,EAE5CjQ,KAGXnP,EAAOD,QAAU4L,IAEdrK,KAAKf,KAAuB,mBAAXF,QAAyBA,OAAyB,mBAATC,MAAuBA,KAAyB,mBAAXF,QAAyBA,qBAChH,IAAI","file":"raven.min.js"} \ No newline at end of file +{"version":3,"sources":["raven.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Raven","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length","1","_dereq_","stringify","obj","replacer","spaces","cycleReplacer","JSON","serializer","stack","keys","key","value","slice","indexOf","join","thisPos","splice","push","Infinity","getSerialize","2","RavenConfigError","message","name","prototype","constructor","3","wrapMethod","console","level","callback","originalConsoleLevel","originalConsole","sentryLevel","args","arguments","msg","data","logger","extra","Function","apply","4","now","Date","_hasJSON","_hasDocument","isUndefined","_document","_hasNavigator","_navigator","_lastCapturedException","_lastData","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","crossOrigin","collectWindowErrors","maxMessageLength","stackTraceLimit","autoBreadcrumbs","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_window","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_location","location","_lastHref","href","_resetBackoff","method","what","isFunction","isString","objectPrototype","toString","isObject","isEmptyObject","_","isError","each","j","hasKey","objectMerge","obj1","obj2","truncate","str","max","substr","object","hasOwnProperty","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","urlencode","pairs","encodeURIComponent","parseUrl","url","match","query","fragment","protocol","host","path","relative","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","c","Math","random","htmlTreeAsString","elem","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","reverse","className","classes","attr","tagName","toLowerCase","id","split","attrWhitelist","getAttribute","isOnlyOneTruthy","b","isSameException","ex1","ex2","values","type","isSameStacktrace","stacktrace","stack1","stack2","frames1","frames","frames2","filename","lineno","colno","fill","replacement","track","orig","TraceKit","wrapConsoleMethod","dsnKeys","dsnPattern","document","navigator","VERSION","debug","config","dsn","options","_logDebug","globalOptions","setDSN","maxBreadcrumbs","min","autoBreadcrumbDefaults","xhr","dom","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","uri","_parseDSN","lastSlash","lastIndexOf","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","context","func","undefined","wrap","_before","wrapped","deep","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","property","__inner__","uninstall","_restoreBuiltIns","ex","captureMessage","trimHeadFrames","computeStackTrace","_handleStackInfo","test","fingerprint","_prepareFrames","_send","captureBreadcrumb","crumb","timestamp","breadcrumbCallback","result","shift","addPlugin","plugin","pluginArgs","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","getContext","parse","setEnvironment","environment","setRelease","release","setDataCallback","original","dataCallback","setBreadcrumbCallback","setShouldSendCallback","shouldSendCallback","setTransport","transport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","qs","email","globalServer","script","createElement","async","src","head","body","appendChild","I","setTimeout","R","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","S","evtName","_keypressTimeout","target","category","U","debounceDuration","isContentEditable","timeout","_breadcrumbEventHandler","clearTimeout","V","from","to","parsedLoc","parsedTo","parsedFrom","A","wrapTimeFn","fn","Array","originalCallback","wrapEventTarget","proto","capture","secure","handleEvent","err","before","clickHandler","keypressHandler","_keypressEventHandler","wrappedBuiltIns","requestAnimationFrame","cb","eventTargets","B","wrapProp","prop","xhrproto","XMLHttpRequest","origOpen","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","props","onreadystatechange","origFetch","fetchData","then","response","addEventListener","attachEvent","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","log","consoleMethodCallback","M","builtin","C","installer","concat","D","m","exec","allowSecretKey","G","port","z","N","stackInfo","_triggerEvent","_processException","O","frame","_normalizeFrame","in_app","Y","normalized","line","column","function","X","fileurl","exception","culprit","Z","$","httpData","userAgent","headers","User-Agent","referrer","Referer","x","_backoffDuration","_backoffStart","ba","ca","current","last","da","request","_shouldBackoff","retry","getResponseHeader","parseInt","P","baseData","project","platform","_getHttpData","breadcrumbs","serverName","server_name","_sendProcessedPayload","fa","ea","event_id","_getUuid","_trimPacket","allowDuplicates","_isRepeatData","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","error","_setBackoffState","ga","opts","handler","hasCORS","XDomainRequest","onload","open","send","y","Q","Object","setUser","setReleaseContext","6","5","RavenConstructor","_Raven","noConflict","getLocationHref","_slice","UNKNOWN_FUNCTION","ERROR_TYPES_RE","installGlobalHandler","handlers","unsubscribe","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","inner","traceKitWindowOnError","lineNo","colNo","lastExceptionStack","augmentStackTraceWithInitialElement","processLastException","groups","_oldOnerrorHandler","_onErrorHandlerInstalled","onerror","_lastExceptionStack","_lastArgs","lastArgs","rethrow","incomplete","computeStackTraceFromStackProp","parts","element","gecko","winjs","lines","isNative","columnNumber","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","item","functionName","funcs","recursion","curr","caller","input","substring","sourceURL","fileName","lineNumber","description"],"mappings":"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","file":"raven.min.js"} \ No newline at end of file diff --git a/dist/sri.json b/dist/sri.json index 5c4ab226cc75..9d7cd6c66934 100644 --- a/dist/sri.json +++ b/dist/sri.json @@ -1,20 +1,20 @@ { "@dist/raven.js": { "hashes": { - "sha256": "LKT3OdNraYkxKmB9k9ZiKlTEDMnJdc9+COkzSzsmRyY=", - "sha512": "V5ZsDgGRam2T5E2tdlZQKpy7SNhZoeQm3DtKCMeAo7lIWkOrcwuTLLsVUu2ZBp+LqYHWa28Z4LApjceG16hfzA==" + "sha256": "Dwnqh7Kf/MtddZEib7nlf8EgV02obB2QNJwJrgmleCw=", + "sha512": "rFBEzM66OQgGkmJ1HjHmAH3SyX8Li7U1DHeFHKFytJEdgFBOp+A+JTiWTzR02DSOQbx3rGOZLSBO0LaFskiXQA==" }, "type": null, - "integrity": "sha256-LKT3OdNraYkxKmB9k9ZiKlTEDMnJdc9+COkzSzsmRyY= sha512-V5ZsDgGRam2T5E2tdlZQKpy7SNhZoeQm3DtKCMeAo7lIWkOrcwuTLLsVUu2ZBp+LqYHWa28Z4LApjceG16hfzA==", + "integrity": "sha256-Dwnqh7Kf/MtddZEib7nlf8EgV02obB2QNJwJrgmleCw= sha512-rFBEzM66OQgGkmJ1HjHmAH3SyX8Li7U1DHeFHKFytJEdgFBOp+A+JTiWTzR02DSOQbx3rGOZLSBO0LaFskiXQA==", "path": "dist/raven.js" }, "@dist/raven.min.js": { "hashes": { - "sha256": "1I93p/Pk00vGdxcfVAcLwQihGOcv1wcEQg9x1Nqreqo=", - "sha512": "VY7jH0NhSchsVmKb3nf/Vy+ZSkNR38CjBVTxDLDZN3xzlOa57MCC11MdhanV/ZKIPASuS3bTQ0nr7T2GuTxb3w==" + "sha256": "bNou8nfAvackB8vWBJLCEarwQsiyHAZ6doKQz+lH+G8=", + "sha512": "VyEfGJStPnFTCFYIGp0EdsWnKEUGgk2xjkI5dW2EzFFKwngACxlCSNvSiOelovr1CqjOeJGKkU99988ZZoNNYw==" }, "type": null, - "integrity": "sha256-1I93p/Pk00vGdxcfVAcLwQihGOcv1wcEQg9x1Nqreqo= sha512-VY7jH0NhSchsVmKb3nf/Vy+ZSkNR38CjBVTxDLDZN3xzlOa57MCC11MdhanV/ZKIPASuS3bTQ0nr7T2GuTxb3w==", + "integrity": "sha256-bNou8nfAvackB8vWBJLCEarwQsiyHAZ6doKQz+lH+G8= sha512-VyEfGJStPnFTCFYIGp0EdsWnKEUGgk2xjkI5dW2EzFFKwngACxlCSNvSiOelovr1CqjOeJGKkU99988ZZoNNYw==", "path": "dist/raven.min.js" } } \ No newline at end of file diff --git a/docs/sentry-doc-config.json b/docs/sentry-doc-config.json index 329d17209c3e..5baf6196ee8b 100644 --- a/docs/sentry-doc-config.json +++ b/docs/sentry-doc-config.json @@ -66,6 +66,6 @@ } }, "vars": { - "RAVEN_VERSION": "3.11.0" + "RAVEN_VERSION": "3.12.0" } } diff --git a/package.json b/package.json index 058507ebc814..bc4a72acaa89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.11.0", + "version": "3.12.0", "license": "BSD-2-Clause", "homepage": "https://github.com/getsentry/raven-js", "scripts": { diff --git a/src/raven.js b/src/raven.js index 31cd75c25f44..2f54ac747bbe 100644 --- a/src/raven.js +++ b/src/raven.js @@ -82,7 +82,7 @@ Raven.prototype = { // webpack (using a build step causes webpack #1617). Grunt verifies that // this value matches package.json during build. // See: https://github.com/getsentry/raven-js/issues/465 - VERSION: '3.11.0', + VERSION: '3.12.0', debug: false, diff --git a/test/raven.test.js b/test/raven.test.js index a7a07fb6e7b2..5a329385d85d 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -1010,7 +1010,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.11.0', + sentry_client: 'raven-js/3.12.0', sentry_key: 'abc', sentry_version: '7' }); @@ -1057,7 +1057,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.11.0', + sentry_client: 'raven-js/3.12.0', sentry_key: 'abc', sentry_secret: 'def', sentry_version: '7'