From c84044aeb0b0e264f2705fbf22b40ae6d71475c5 Mon Sep 17 00:00:00 2001 From: Christoph Oberhofer Date: Sat, 1 Nov 2014 20:14:48 +0100 Subject: [PATCH] Include source-files --- .gitignore | 2 + Gruntfile.js | 67 + README.md | 10 +- build/end.frag | 2 + build/start.frag | 13 + config.rb | 27 + dist/quagga.js | 7203 ++ dist/quagga.min.js | 3 + doc/img/bb-binary.png | Bin 0 -> 23528 bytes doc/img/bb-rotated.png | Bin 0 -> 24373 bytes doc/img/binary.png | Bin 0 -> 20537 bytes doc/img/component-labeling-line.png | Bin 0 -> 1358 bytes doc/img/component-labeling-text.png | Bin 0 -> 1431 bytes doc/img/component-labeling.png | Bin 0 -> 33303 bytes doc/img/connected-patch-labels.png | Bin 0 -> 19288 bytes doc/img/patches_found.png | Bin 0 -> 27445 bytes doc/img/remaining-patch-labels.png | Bin 0 -> 18149 bytes doc/img/skeleton.png | Bin 0 -> 33676 bytes doc/img/teaser.png | Bin 0 -> 584354 bytes doc/profiles/skel_asm.json | 169207 +++++++++++++++++++++++++ doc/readme.md | 169 + package.json | 21 + src/array_helper.js | 76 + src/barcode_decoder.js | 247 + src/barcode_locator.js | 515 + src/barcode_reader.js | 169 + src/bresenham.js | 201 + src/camera_access.js | 94 + src/cluster.js | 71 + src/code_128_reader.js | 448 + src/config.js | 43 + src/cv_utils.js | 544 + src/ean_reader.js | 254 + src/events.js | 57 + src/frame_grabber.js | 92 + src/glMatrixAddon.js | 429 + src/html_utils.js | 40 + src/image_debug.js | 29 + src/image_loader.js | 63 + src/image_wrapper.js | 424 + src/input_stream.js | 236 + src/quagga.js | 223 + src/rasterizer.js | 198 + src/skeletonizer.js | 202 + src/subImage.js | 97 + src/tracer.js | 108 + src/typedefs.js | 21 + src/vendor/almond.js | 410 + src/vendor/browser_detect.js | 121 + src/vendor/glMatrix.js | 1850 + src/vendor/jquery-1.9.0.min.js | 4 + src/vendor/r.js | 27811 ++++ src/vendor/require.js | 2053 + 53 files changed, 213850 insertions(+), 4 deletions(-) create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 build/end.frag create mode 100644 build/start.frag create mode 100644 config.rb create mode 100644 dist/quagga.js create mode 100644 dist/quagga.min.js create mode 100644 doc/img/bb-binary.png create mode 100644 doc/img/bb-rotated.png create mode 100644 doc/img/binary.png create mode 100644 doc/img/component-labeling-line.png create mode 100644 doc/img/component-labeling-text.png create mode 100644 doc/img/component-labeling.png create mode 100644 doc/img/connected-patch-labels.png create mode 100644 doc/img/patches_found.png create mode 100644 doc/img/remaining-patch-labels.png create mode 100644 doc/img/skeleton.png create mode 100644 doc/img/teaser.png create mode 100644 doc/profiles/skel_asm.json create mode 100644 doc/readme.md create mode 100644 package.json create mode 100644 src/array_helper.js create mode 100644 src/barcode_decoder.js create mode 100644 src/barcode_locator.js create mode 100644 src/barcode_reader.js create mode 100644 src/bresenham.js create mode 100644 src/camera_access.js create mode 100644 src/cluster.js create mode 100644 src/code_128_reader.js create mode 100644 src/config.js create mode 100644 src/cv_utils.js create mode 100644 src/ean_reader.js create mode 100644 src/events.js create mode 100644 src/frame_grabber.js create mode 100644 src/glMatrixAddon.js create mode 100644 src/html_utils.js create mode 100644 src/image_debug.js create mode 100644 src/image_loader.js create mode 100644 src/image_wrapper.js create mode 100644 src/input_stream.js create mode 100644 src/quagga.js create mode 100644 src/rasterizer.js create mode 100644 src/skeletonizer.js create mode 100644 src/subImage.js create mode 100644 src/tracer.js create mode 100644 src/typedefs.js create mode 100644 src/vendor/almond.js create mode 100644 src/vendor/browser_detect.js create mode 100644 src/vendor/glMatrix.js create mode 100644 src/vendor/jquery-1.9.0.min.js create mode 100644 src/vendor/r.js create mode 100644 src/vendor/require.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b5604b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.sass-cache/ +node_modules/ diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..855728c --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,67 @@ +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + pkg : grunt.file.readJSON('package.json'), + uglify : { + options : { + banner : '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' + }, + build : { + src : 'dist/<%= pkg.name %>.js', + dest : 'dist/<%= pkg.name %>.min.js' + } + }, + jshint : { + all : ['Gruntfile.js', 'src/*.js'] + }, + requirejs : { + compile : { + options : { + almond : true, + wrap : { + startFile : 'build/start.frag', + endFile : 'build/end.frag' + }, + "baseUrl" : "src", + "name" : "quagga", + "out" : "dist/quagga.js", + "include" : ['quagga'], + "optimize" : "none", + "findNestedDependencies" : true, + "skipSemiColonInsertion" : true, + + "shim" : { + "typedefs" : { + "deps" : [], + "exports" : "typedefs" + }, + "glMatrix" : { + "deps" : ["typedefs"], + "exports" : "glMatrix" + }, + "glMatrixAddon" : { + "deps" : ["glMatrix"], + "exports" : "glMatrixAddon" + } + }, + + "paths" : { + "typedefs" : "typedefs", + "glMatrix" : "vendor/glMatrix", + "glMatrixAddon" : "glMatrixAddon" + } + } + } + } + }); + + // Load the plugin that provides the "uglify" task. + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + + grunt.loadNpmTasks('grunt-requirejs'); + // Default task(s). + grunt.registerTask('default', ['jshint', 'requirejs', 'uglify']); + +}; \ No newline at end of file diff --git a/README.md b/README.md index a55452a..69413f2 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,10 @@ In order to take full advantage of quaggaJS, the browser needs to support the `g In cases where real-time decoding is not needed, or the platform does not support `getUserMedia` QuaggaJS is also capable of decoding image-files. -## Installation - -Just clone the repository and include `quagga.min.js` in your project. The code uses [requirejs][requirejs] for dependency management. - ## Usage +Just download the pre-built version `quagga.min.js` from the `dist` folder and include in your project. + The library exposes the following API ### quagga.init(config, callback) @@ -59,6 +57,10 @@ quagga.decodeSingle({ }); ``` +## Build it yourself + +In case you want to build the library directly from the source code, just run `npm install` follewed by the `grunt` task. This places two files in the `dist` folder, of which `quagga.min.js` is the minified version. + [zxing_github]: https://github.com/zxing/zxing [teaser_left]: https://github.com/serratus/quaggaJS/blob/master/doc/img/mobile-located.png [teaser_right]: https://github.com/serratus/quaggaJS/blob/master/doc/img/mobile-detected.png diff --git a/build/end.frag b/build/end.frag new file mode 100644 index 0000000..c1167bb --- /dev/null +++ b/build/end.frag @@ -0,0 +1,2 @@ + return require('quagga'); +})); \ No newline at end of file diff --git a/build/start.frag b/build/start.frag new file mode 100644 index 0000000..eaf2a21 --- /dev/null +++ b/build/start.frag @@ -0,0 +1,13 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + //Allow using this built library as an AMD module + //in another project. That other project will only + //see this AMD call, not the internal modules in + //the closure below. + define([], factory); + } else { + //Browser globals case. Just assign the + //result to a property on the global. + root.Quagga = factory(); + } +}(this, function () { \ No newline at end of file diff --git a/config.rb b/config.rb new file mode 100644 index 0000000..e803c3e --- /dev/null +++ b/config.rb @@ -0,0 +1,27 @@ + +# Require any additional compass plugins here. + + +# Set this to the root of your project when deployed: +http_path = "/" +css_dir = "css" +sass_dir = "sass" +images_dir = "img" +javascripts_dir = "js" +fonts_dir="fonts" + +# You can select your preferred output style here (can be overridden via the command line): +# output_style = :expanded or :nested or :compact or :compressed + +# To enable relative paths to assets via compass helper functions. Uncomment: +# relative_assets = true + +# To disable debugging comments that display the original location of your selectors. Uncomment: +# line_comments = false + + +# If you prefer the indented syntax, you might want to regenerate this +# project again passing --syntax sass, or you can uncomment this: +# preferred_syntax = :sass +# and then run: +# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/dist/quagga.js b/dist/quagga.js new file mode 100644 index 0000000..571c115 --- /dev/null +++ b/dist/quagga.js @@ -0,0 +1,7203 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + //Allow using this built library as an AMD module + //in another project. That other project will only + //see this AMD call, not the internal modules in + //the closure below. + define([], factory); + } else { + //Browser globals case. Just assign the + //result to a property on the global. + root.Quagga = factory(); + } +}(this, function () {/** + * @license almond 0.2.9 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/almond for details + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*jslint sloppy: true */ +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + //Convert baseName to array, and lop off the last part, + //so that . matches that "directory" and not name of the baseName's + //module. For instance, baseName of "one/two/three", maps to + //"one/two/three.js", but we want the directory, "one/two" for + //this normalization. + baseParts = baseParts.slice(0, baseParts.length - 1); + name = name.split('/'); + lastIndex = name.length - 1; + + // Node .js allowance: + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + name = baseParts.concat(name); + + //start trimDots + for (i = 0; i < name.length; i += 1) { + part = name[i]; + if (part === ".") { + name.splice(i, 1); + i -= 1; + } else if (part === "..") { + if (i === 1 && (name[2] === '..' || name[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join("/"); + } else if (name.indexOf('./') === 0) { + // No baseName, so this is ID is resolved relative + // to baseUrl, pull off the leading dot. + name = name.substring(2); + } + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + return req.apply(undef, aps.call(arguments, 0).concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relName) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relName)); + } else { + name = normalize(name, relName); + } + } else { + name = normalize(name, relName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relName); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, callback).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +define("almond", function(){}); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define( + 'barcode_reader',[],function() { + + + function BarcodeReader() { + this._row = []; + return this; + } + + BarcodeReader.prototype._nextUnset = function(line, start) { + var i; + + if (start === undefined) { + start = 0; + } + for (i = start; i < line.length; i++) { + if (!line[i]) { + return i; + } + } + return line.length; + }; + + BarcodeReader.prototype._matchPattern = function(counter, code) { + var i, + error = 0; + + for (i = 0; i < counter.length; i++) { + error += Math.abs(code[i] - counter[i]); + } + return error; + }; + + BarcodeReader.prototype._nextSet = function(line) { + var i; + + for (i = 0; i < line.length; i++) { + if (line[i]) { + return i; + } + } + return line.length; + }; + + BarcodeReader.prototype._normalize = function(counter, modulo) { + var i, + self = this, + sum = 0, + ratio, + numOnes = 0, + normalized = [], + norm = 0; + + if (!modulo) { + modulo = self.MODULO; + } + for (i = 0; i < counter.length; i++) { + if (counter[i] === 1) { + numOnes++; + } else { + sum += counter[i]; + } + } + ratio = sum / (modulo - numOnes); + for (i = 0; i < counter.length; i++) { + norm = counter[i] === 1 ? counter[i] : counter[i] / ratio; + normalized.push(norm); + } + return normalized; + }; + + BarcodeReader.prototype._matchTrace = function(cmpCounter, epsilon) { + var counter = [], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0 + }, + error; + + if (cmpCounter) { + for ( i = 0; i < cmpCounter.length; i++) { + counter.push(0); + } + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + error = self._matchPattern(counter, cmpCounter); + + if (error < epsilon) { + bestMatch.start = i - offset; + bestMatch.end = i; + bestMatch.counter = counter; + return bestMatch; + } else { + return null; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } else { + counter.push(0); + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + counterPos++; + counter.push(0); + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } + + // if cmpCounter was not given + bestMatch.start = offset; + bestMatch.end = self._row.length - 1; + bestMatch.counter = counter; + return bestMatch; + }; + + BarcodeReader.prototype.decodePattern = function(pattern) { + var self = this, + result; + + self._row = pattern; + result = self._decode(); + if (result === null) { + self._row.reverse(); + result = self._decode(); + if (result) { + result.direction = BarcodeReader.DIRECTION.REVERSE; + result.start = self._row.length - result.start; + result.end = self._row.length - result.end; + } + } else { + result.direction = BarcodeReader.DIRECTION.FORWARD; + } + return result; + }; + + BarcodeReader.DIRECTION = { + FORWARD : 1, + REVERSE : -1 + }; + + BarcodeReader.Exception = { + StartNotFoundException : "Start-Info was not found!", + CodeNotFoundException : "Code could not be found!", + PatternNotFoundException : "Pattern could not be found!" + }; + + return (BarcodeReader); + } +); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define( + 'code_128_reader',[ + "./barcode_reader" + ], + function(BarcodeReader) { + + + function Code128Reader() { + BarcodeReader.call(this); + } + + var properties = { + CODE_SHIFT : {value: 98}, + CODE_C : {value: 99}, + CODE_B : {value: 100}, + CODE_A : {value: 101}, + START_CODE_A : {value: 103}, + START_CODE_B : {value: 104}, + START_CODE_C : {value: 105}, + STOP_CODE : {value: 106}, + MODULO : {value: 11}, + CODE_PATTERN : {value: [ + [2, 1, 2, 2, 2, 2], + [2, 2, 2, 1, 2, 2], + [2, 2, 2, 2, 2, 1], + [1, 2, 1, 2, 2, 3], + [1, 2, 1, 3, 2, 2], + [1, 3, 1, 2, 2, 2], + [1, 2, 2, 2, 1, 3], + [1, 2, 2, 3, 1, 2], + [1, 3, 2, 2, 1, 2], + [2, 2, 1, 2, 1, 3], + [2, 2, 1, 3, 1, 2], + [2, 3, 1, 2, 1, 2], + [1, 1, 2, 2, 3, 2], + [1, 2, 2, 1, 3, 2], + [1, 2, 2, 2, 3, 1], + [1, 1, 3, 2, 2, 2], + [1, 2, 3, 1, 2, 2], + [1, 2, 3, 2, 2, 1], + [2, 2, 3, 2, 1, 1], + [2, 2, 1, 1, 3, 2], + [2, 2, 1, 2, 3, 1], + [2, 1, 3, 2, 1, 2], + [2, 2, 3, 1, 1, 2], + [3, 1, 2, 1, 3, 1], + [3, 1, 1, 2, 2, 2], + [3, 2, 1, 1, 2, 2], + [3, 2, 1, 2, 2, 1], + [3, 1, 2, 2, 1, 2], + [3, 2, 2, 1, 1, 2], + [3, 2, 2, 2, 1, 1], + [2, 1, 2, 1, 2, 3], + [2, 1, 2, 3, 2, 1], + [2, 3, 2, 1, 2, 1], + [1, 1, 1, 3, 2, 3], + [1, 3, 1, 1, 2, 3], + [1, 3, 1, 3, 2, 1], + [1, 1, 2, 3, 1, 3], + [1, 3, 2, 1, 1, 3], + [1, 3, 2, 3, 1, 1], + [2, 1, 1, 3, 1, 3], + [2, 3, 1, 1, 1, 3], + [2, 3, 1, 3, 1, 1], + [1, 1, 2, 1, 3, 3], + [1, 1, 2, 3, 3, 1], + [1, 3, 2, 1, 3, 1], + [1, 1, 3, 1, 2, 3], + [1, 1, 3, 3, 2, 1], + [1, 3, 3, 1, 2, 1], + [3, 1, 3, 1, 2, 1], + [2, 1, 1, 3, 3, 1], + [2, 3, 1, 1, 3, 1], + [2, 1, 3, 1, 1, 3], + [2, 1, 3, 3, 1, 1], + [2, 1, 3, 1, 3, 1], + [3, 1, 1, 1, 2, 3], + [3, 1, 1, 3, 2, 1], + [3, 3, 1, 1, 2, 1], + [3, 1, 2, 1, 1, 3], + [3, 1, 2, 3, 1, 1], + [3, 3, 2, 1, 1, 1], + [3, 1, 4, 1, 1, 1], + [2, 2, 1, 4, 1, 1], + [4, 3, 1, 1, 1, 1], + [1, 1, 1, 2, 2, 4], + [1, 1, 1, 4, 2, 2], + [1, 2, 1, 1, 2, 4], + [1, 2, 1, 4, 2, 1], + [1, 4, 1, 1, 2, 2], + [1, 4, 1, 2, 2, 1], + [1, 1, 2, 2, 1, 4], + [1, 1, 2, 4, 1, 2], + [1, 2, 2, 1, 1, 4], + [1, 2, 2, 4, 1, 1], + [1, 4, 2, 1, 1, 2], + [1, 4, 2, 2, 1, 1], + [2, 4, 1, 2, 1, 1], + [2, 2, 1, 1, 1, 4], + [4, 1, 3, 1, 1, 1], + [2, 4, 1, 1, 1, 2], + [1, 3, 4, 1, 1, 1], + [1, 1, 1, 2, 4, 2], + [1, 2, 1, 1, 4, 2], + [1, 2, 1, 2, 4, 1], + [1, 1, 4, 2, 1, 2], + [1, 2, 4, 1, 1, 2], + [1, 2, 4, 2, 1, 1], + [4, 1, 1, 2, 1, 2], + [4, 2, 1, 1, 1, 2], + [4, 2, 1, 2, 1, 1], + [2, 1, 2, 1, 4, 1], + [2, 1, 4, 1, 2, 1], + [4, 1, 2, 1, 2, 1], + [1, 1, 1, 1, 4, 3], + [1, 1, 1, 3, 4, 1], + [1, 3, 1, 1, 4, 1], + [1, 1, 4, 1, 1, 3], + [1, 1, 4, 3, 1, 1], + [4, 1, 1, 1, 1, 3], + [4, 1, 1, 3, 1, 1], + [1, 1, 3, 1, 4, 1], + [1, 1, 4, 1, 3, 1], + [3, 1, 1, 1, 4, 1], + [4, 1, 1, 1, 3, 1], + [2, 1, 1, 4, 1, 2], + [2, 1, 1, 2, 1, 4], + [2, 1, 1, 2, 3, 2], + [2, 3, 3, 1, 1, 1, 2] + ]} + }; + + Code128Reader.prototype = Object.create(BarcodeReader.prototype, properties); + Code128Reader.prototype.constructor = Code128Reader; + + Code128Reader.prototype._decodeCode = function(start) { + var counter = [0, 0, 0, 0, 0, 0], + i, + self = this, + offset = start, + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : start, + end : start + }, + code, + error, + normalized; + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + normalized = self._normalize(counter); + for ( code = 0; code < self.CODE_PATTERN.length; code++) { + error = self._matchPattern(normalized, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + bestMatch.end = i; + return bestMatch; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; + }; + + Code128Reader.prototype._findEnd = function() { + var counter = [0, 0, 0, 0, 0, 0, 0], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0, + end : 0 + }, + error, + j, + sum, + normalized; + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for ( j = 0; j < counter.length; j++) { + sum += counter[j]; + } + normalized = self._normalize(counter, 13); + error = self._matchPattern(normalized, self.CODE_PATTERN[self.STOP_CODE]); + if (error < 3) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + + for ( j = 0; j < 5; j++) { + counter[j] = counter[j + 2]; + } + counter[5] = 0; + counter[6] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; + }; + + Code128Reader.prototype._findStart = function() { + var counter = [0, 0, 0, 0, 0, 0], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = false, + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0, + end : 0 + }, + code, + error, + j, + sum, + normalized; + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for ( j = 0; j < counter.length; j++) { + sum += counter[j]; + } + normalized = self._normalize(counter); + for ( code = self.START_CODE_A; code <= self.START_CODE_C; code++) { + error = self._matchPattern(normalized, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + if (bestMatch.error < 3) { + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + + for ( j = 0; j < 4; j++) { + counter[j] = counter[j + 2]; + } + counter[4] = 0; + counter[5] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; + }; + + Code128Reader.prototype._decode = function() { + var self = this, + startInfo = self._findStart(), + code = null, + done = false, + result = [], + multiplier = 0, + checksum = 0, + codeset, + rawResult = [], + decodedCodes = [], + shiftNext = false, + unshift, + lastCharacterWasPrintable; + + if (startInfo === null) { + return null; + } + code = { + code : startInfo.code, + start : startInfo.start, + end : startInfo.end + }; + decodedCodes.push(code); + checksum = code.code; + switch(code.code) { + case self.START_CODE_A: + codeset = self.CODE_A; + break; + case self.START_CODE_B: + codeset = self.CODE_B; + break; + case self.START_CODE_C: + codeset = self.CODE_C; + break; + default: + return null; + } + + while (!done) { + unshift = shiftNext; + shiftNext = false; + code = self._decodeCode(code.end); + if (code !== null) { + if (code.code !== self.STOP_CODE) { + rawResult.push(code.code); + multiplier++; + checksum += multiplier * code.code; + } + decodedCodes.push(code); + + switch(codeset) { + case self.CODE_A: + if (code.code < 64) { + result.push(String.fromCharCode(32 + code.code)); + } else if (code.code < 96) { + result.push(String.fromCharCode(code.code - 64)); + } else { + switch (code.code) { + case self.CODE_SHIFT: + shiftNext = true; + codeset = self.CODE_B; + break; + case self.CODE_B: + codeset = self.CODE_B; + break; + case self.CODE_C: + codeset = self.CODE_C; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + case self.CODE_B: + if (code.code < 96) { + result.push(String.fromCharCode(32 + code.code)); + } else { + if (code.code != self.STOP_CODE) { + lastCharacterWasPrintable = false; + } + switch (code.code) { + case self.CODE_SHIFT: + shiftNext = true; + codeset = self.CODE_A; + break; + case self.CODE_A: + codeset = self.CODE_A; + break; + case self.CODE_C: + codeset = self.CODE_C; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + case self.CODE_C: + if (code.code < 100) { + result.push(code.code < 10 ? "0" + code.code : code.code); + } + switch (code.code) { + case self.CODE_A: + codeset = self.CODE_A; + break; + case self.CODE_B: + codeset = self.CODE_B; + break; + case self.STOP_CODE: + done = true; + break; + } + break; + } + } else { + done = true; + } + if (unshift) { + codeset = codeset == self.CODE_A ? self.CODE_B : self.CODE_A; + } + } + + if (code === null) { + return null; + } + + // find end bar + code.end = self._nextUnset(self._row, code.end); + if (code.end === self._row.length) { + return null; + } + + // checksum + // Does not work correctly yet!!! startcode - endcode? + checksum -= multiplier * rawResult[rawResult.length - 1]; + if (checksum % 103 != rawResult[rawResult.length - 1]) { + return null; + } + + // remove last code from result (checksum) + result.splice(result.length - 1, 1); + + return { + code : result.join(""), + start : startInfo.start, + end : code.end, + codeset : codeset, + startInfo : startInfo, + decodedCodes : decodedCodes, + endInfo : code + }; + }; + + return (Code128Reader); + } +); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define( + 'ean_reader',[ + "./barcode_reader" + ], + function(BarcodeReader) { + + + function EANReader() { + BarcodeReader.call(this); + } + + var properties = { + CODE_L_START : {value: 0}, + MODULO : {value: 7}, + CODE_G_START : {value: 10}, + START_PATTERN : {value: [1 / 3 * 7, 1 / 3 * 7, 1 / 3 * 7]}, + STOP_PATTERN : {value: [1 / 3 * 7, 1 / 3 * 7, 1 / 3 * 7]}, + MIDDLE_PATTERN : {value: [1 / 5 * 7, 1 / 5 * 7, 1 / 5 * 7, 1 / 5 * 7, 1 / 5 * 7]}, + CODE_PATTERN : {value: [ + [3, 2, 1, 1], + [2, 2, 2, 1], + [2, 1, 2, 2], + [1, 4, 1, 1], + [1, 1, 3, 2], + [1, 2, 3, 1], + [1, 1, 1, 4], + [1, 3, 1, 2], + [1, 2, 1, 3], + [3, 1, 1, 2], + [1, 1, 2, 3], + [1, 2, 2, 2], + [2, 2, 1, 2], + [1, 1, 4, 1], + [2, 3, 1, 1], + [1, 3, 2, 1], + [4, 1, 1, 1], + [2, 1, 3, 1], + [3, 1, 2, 1], + [2, 1, 1, 3] + ]}, + CODE_FREQUENCY : {value: [0, 11, 13, 14, 19, 25, 28, 21, 22, 26]} + }; + + EANReader.prototype = Object.create(BarcodeReader.prototype, properties); + EANReader.prototype.constructor = EANReader; + + EANReader.prototype._decodeCode = function(start, coderange) { + var counter = [0, 0, 0, 0], + i, + self = this, + offset = start, + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : start, + end : start + }, + code, + error, + normalized; + + if (!coderange) { + coderange = self.CODE_PATTERN.length; + } + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + normalized = self._normalize(counter); + for ( code = 0; code < coderange; code++) { + error = self._matchPattern(normalized, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + bestMatch.end = i; + return bestMatch; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + throw BarcodeReader.CodeNotFoundException; + }; + + EANReader.prototype._findPattern = function(pattern, offset, isWhite, tryHarder, epsilon) { + var counter = [], + self = this, + i, + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0, + end : 0 + }, + error, + j, + sum, + normalized; + + if (!offset) { + offset = self._nextSet(self._row); + } + + if (isWhite === undefined) { + isWhite = false; + } + + if (tryHarder === undefined) { + tryHarder = true; + } + + if ( epsilon === undefined) { + epsilon = 2; + } + + for ( i = 0; i < pattern.length; i++) { + counter[i] = 0; + } + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for ( j = 0; j < counter.length; j++) { + sum += counter[j]; + } + normalized = self._normalize(counter); + error = self._matchPattern(normalized, pattern); + + if (error < epsilon) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + if (tryHarder) { + for ( j = 0; j < counter.length - 2; j++) { + counter[j] = counter[j + 2]; + } + counter[counter.length - 2] = 0; + counter[counter.length - 1] = 0; + counterPos--; + } else { + throw BarcodeReader.PatternNotFoundException; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + throw BarcodeReader.PatternNotFoundException; + }; + + EANReader.prototype._decode = function() { + var startInfo, + self = this, + code = null, + result = [], + i, + codeFrequency = 0x0, + decodedCodes = []; + + try { + startInfo = self._findPattern(self.START_PATTERN); + code = { + code : startInfo.code, + start : startInfo.start, + end : startInfo.end + }; + decodedCodes.push(code); + for ( i = 0; i < 6; i++) { + code = self._decodeCode(code.end); + if (code.code >= self.CODE_G_START) { + code.code = code.code - self.CODE_G_START; + codeFrequency |= 1 << (5 - i); + } else { + codeFrequency |= 0 << (5 - i); + } + result.push(code.code); + decodedCodes.push(code); + } + + for ( i = 0; i < self.CODE_FREQUENCY.length; i++) { + if (codeFrequency === self.CODE_FREQUENCY[i]) { + result.unshift(i); + break; + } + } + + code = self._findPattern(self.MIDDLE_PATTERN, code.end, true); + if (code === null) { + return null; + } + decodedCodes.push(code); + + for ( i = 0; i < 6; i++) { + code = self._decodeCode(code.end, self.CODE_G_START); + decodedCodes.push(code); + result.push(code.code); + } + + code = self._findPattern(self.STOP_PATTERN, code.end); + decodedCodes.push(code); + + // Checksum + if (!self._checksum(result)) { + return null; + } + } catch (exc) { + return null; + } + + return { + code : result.join(""), + start : startInfo.start, + end : code.end, + codeset : "", + startInfo : startInfo, + decodedCodes : decodedCodes + }; + }; + + EANReader.prototype._checksum = function(result) { + var sum = 0, i; + + for ( i = result.length - 2; i >= 0; i -= 2) { + sum += result[i]; + } + sum *= 3; + for ( i = result.length - 1; i >= 0; i -= 2) { + sum += result[i]; + } + return sum % 10 === 0; + }; + + return (EANReader); + } +); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('image_loader',[],function() { + + + var ImageLoader = {}; + ImageLoader.load = function(directory, callback, offset, size, sequence) { + var htmlImagesSrcArray = new Array(size), + htmlImagesArray = new Array(htmlImagesSrcArray.length), + i, + img, + num; + + if (sequence === false) { + htmlImagesSrcArray[0] = directory; + } else { + for ( i = 0; i < htmlImagesSrcArray.length; i++) { + num = (offset + i); + htmlImagesSrcArray[i] = directory + "image-" + ("00" + num).slice(-3) + ".jpg"; + } + } + htmlImagesArray.notLoaded = []; + htmlImagesArray.addImage = function(img) { + htmlImagesArray.notLoaded.push(img); + }; + htmlImagesArray.loaded = function(loadedImg) { + var notloadedImgs = htmlImagesArray.notLoaded; + for (var x = 0; x < notloadedImgs.length; x++) { + if (notloadedImgs[x] == loadedImg) { + notloadedImgs.splice(x, 1); + for (var y = 0; y < htmlImagesSrcArray.length; y++) { + var imgName = htmlImagesSrcArray[y].substr(htmlImagesSrcArray[y].lastIndexOf("/")); + if (loadedImg.src.lastIndexOf(imgName) != -1) { + htmlImagesArray[y] = loadedImg; + break; + } + } + break; + } + } + if (notloadedImgs.length === 0) { + console.log("Images loaded"); + callback.apply(null, [htmlImagesArray]); + } + }; + + for ( i = 0; i < htmlImagesSrcArray.length; i++) { + img = new Image(); + htmlImagesArray.addImage(img); + addOnloadHandler(img, htmlImagesArray); + img.src = htmlImagesSrcArray[i]; + } + }; + + function addOnloadHandler(img, htmlImagesArray) { + img.onload = function() { + htmlImagesArray.loaded(this); + }; + } + + return (ImageLoader); +}); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('input_stream',["image_loader"], function(ImageLoader) { + + + var InputStream = {}; + InputStream.createVideoStream = function(video) { + var that = {}, + _config = null, + _eventNames = ['canrecord', 'ended'], + _eventHandlers = {}; + + that.getRealWidth = function() { + return video.videoWidth; + }; + + that.getRealHeight = function() { + return video.videoHeight; + }; + + that.getWidth = function() { + return _config.halfSample ? video.videoWidth / 2 : video.videoWidth; + }; + + that.getHeight = function() { + return _config.halfSample ? video.videoHeight / 2 : video.videoHeight; + }; + + that.setInputStream = function(config) { + _config = config; + video.src = config.src; + }; + + that.ended = function() { + return video.ended; + }; + + that.getConfig = function() { + return _config; + }; + + that.setAttribute = function(name, value) { + video.setAttribute(name, value); + }; + + that.pause = function() { + video.pause(); + }; + + that.play = function() { + video.play(); + }; + + that.setCurrentTime = function(time) { + if (_config.type !== "LiveStream") + video.currentTime = time; + }; + + that.addEventListener = function(event, f, bool) { + if (_eventNames.indexOf(event) !== -1) { + if (!_eventHandlers[event]) { + _eventHandlers[event] = []; + } + _eventHandlers[event].push(f); + } else { + video.addEventListener(event, f, bool); + } + }; + + that.trigger = function(eventName, args) { + var j, + handlers = _eventHandlers[eventName]; + + if (handlers && handlers.length > 0) { + for ( j = 0; j < handlers.length; j++) { + handlers[j].apply(that, args); + } + } + }; + + that.getFrame = function() { + return video; + }; + + return that; + }; + + InputStream.createLiveStream = function(video) { + video.setAttribute("autoplay", true); + var that = InputStream.createVideoStream(video); + + that.ended = function() { + return false; + }; + + that.getWidth = function() { + return this.getConfig().halfSample ? video.videoWidth / 2 : video.videoWidth; + }; + + that.getHeight = function() { + return this.getConfig().halfSample ? video.videoHeight / 2 : video.videoHeight; + }; + + return that; + }; + + InputStream.createImageStream = function() { + var that = {}; + var _config = null; + + var width = 0, + height = 0, + frameIdx = 0, + paused = true, + loaded = false, + imgArray = null, + size = 0, + offset = 1, + baseUrl = null, + ended = false, + _eventNames = ['canrecord', 'ended'], + _eventHandlers = {}; + + function loadImages() { + loaded = false; + ImageLoader.load(baseUrl, function(imgs) { + imgArray = imgs; + width = imgs[0].width; + height = imgs[0].height; + loaded = true; + frameIdx = 0; + setTimeout(function() { + publishEvent("canrecord", []); + }, 0); + }, offset, size, _config.sequence); + } + + function publishEvent(eventName, args) { + var j, + handlers = _eventHandlers[eventName]; + + if (handlers && handlers.length > 0) { + for ( j = 0; j < handlers.length; j++) { + handlers[j].apply(that, args); + } + } + } + + + that.trigger = publishEvent; + + that.getWidth = function() { + return _config.size ? width/height > 1 ? _config.size : (width/height) * _config.size : width; + }; + + that.getHeight = function() { + return _config.size ? width/height > 1 ? (height/width) * _config.size : _config.size : height; + }; + + that.getRealWidth = function() { + return width; + }; + + that.getRealHeight = function() { + return height; + }; + + that.setInputStream = function(stream) { + _config = stream; + if (stream.sequence === false) { + baseUrl = stream.src; + size = 1; + } else { + baseUrl = stream.src; + size = stream.length; + } + loadImages(); + }; + + that.ended = function() { + return ended; + }; + + that.setAttribute = function() {}; + + that.getConfig = function() { + return _config; + }; + + that.pause = function() { + paused = true; + }; + + that.play = function() { + paused = false; + }; + + that.setCurrentTime = function(time) { + frameIdx = time; + }; + + that.addEventListener = function(event, f) { + if (_eventNames.indexOf(event) !== -1) { + if (!_eventHandlers[event]) { + _eventHandlers[event] = []; + } + _eventHandlers[event].push(f); + } + }; + + that.getFrame = function() { + var frame; + + if (!loaded){ + return null; + } + if (!paused) { + frame = imgArray[frameIdx]; + if (frameIdx < (size - 1)) { + frameIdx++; + } else { + setTimeout(function() { + ended = true; + publishEvent("ended", []); + }, 0); + } + } + return frame; + }; + + return that; + }; + + return (InputStream); +}); + +/* + * typedefs.js + * Normalizes browser-specific prefixes + */ + +glMatrixArrayType = Float32Array; + +window.requestAnimFrame = (function() { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function(/* function FrameRequestCallback */ callback, /* DOMElement Element */ element) { + window.setTimeout(callback, 1000/60); + }; +})(); + + +navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; +window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL; +define("typedefs", (function (global) { + return function () { + var ret, fn; + return ret || global.typedefs; + }; +}(this))); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('subImage',["typedefs"], function() { + + + /** + * Construct representing a part of another {ImageWrapper}. Shares data + * between the parent and the child. + * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner) + * @param size {ImageRef} The size of the resulting image + * @param I {ImageWrapper} The {ImageWrapper} to share from + * @returns {SubImage} A shared part of the original image + */ + function SubImage(from, size, I) { + if (!I) { + I = { + data : null, + size : size + }; + } + this.data = I.data; + this.originalSize = I.size; + this.I = I; + + this.from = from; + this.size = size; + } + + /** + * Displays the {SubImage} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ + SubImage.prototype.show = function(canvas, scale) { + var ctx, + frame, + data, + current, + y, + x, + pixel; + + if (!scale) { + scale = 1.0; + } + ctx = canvas.getContext('2d'); + canvas.width = this.size.x; + canvas.height = this.size.y; + frame = ctx.getImageData(0, 0, canvas.width, canvas.height); + data = frame.data; + current = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + pixel = y * this.size.x + x; + current = this.get(x, y) * scale; + data[pixel * 4 + 0] = current; + data[pixel * 4 + 1] = current; + data[pixel * 4 + 2] = current; + data[pixel * 4 + 3] = 255; + } + } + frame.data = data; + ctx.putImageData(frame, 0, 0); + }; + + /** + * Retrieves a given pixel position from the {SubImage} + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ + SubImage.prototype.get = function(x, y) { + return this.data[(this.from.y + y) * this.originalSize.x + this.from.x + x]; + }; + + /** + * Updates the underlying data from a given {ImageWrapper} + * @param image {ImageWrapper} The updated image + */ + SubImage.prototype.updateData = function(image) { + this.originalSize = image.size; + this.data = image.data; + }; + + /** + * Updates the position of the shared area + * @param from {x,y} The new location + * @returns {SubImage} returns {this} for possible chaining + */ + SubImage.prototype.updateFrom = function(from) { + this.from = from; + return this; + }; + + return (SubImage); +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2 */ + +define('cluster',[],function() { + + + /** + * Creates a cluster for grouping similar orientations of datapoints + */ + var Cluster = { + create : function(point, threshold) { + var points = [], center = { + rad : 0, + vec : vec2.create([0, 0]) + }, pointMap = {}; + + function init() { + add(point); + updateCenter(); + } + + function add(point) { + pointMap[point.id] = point; + points.push(point); + } + + function updateCenter() { + var i, sum = 0; + for ( i = 0; i < points.length; i++) { + sum += points[i].rad; + } + center.rad = sum / points.length; + center.vec = vec2.create([Math.cos(center.rad), Math.sin(center.rad)]); + } + + init(); + + return { + add : function(point) { + if (!pointMap[point.id]) { + add(point); + updateCenter(); + } + }, + fits : function(point) { + // check cosine similarity to center-angle + var similarity = Math.abs(vec2.dot(point.point.vec, center.vec)); + if (similarity > threshold) { + return true; + } + return false; + }, + getPoints : function() { + return points; + }, + getCenter : function() { + return center; + } + }; + }, + createPoint : function(point, id, property) { + return { + rad : point[property], + point : point, + id : id + }; + } + }; + + return (Cluster); +}); + +/* + * glMatrix.js - High performance matrix and vector operations for WebGL + * version 0.9.6 + */ + +/* + * Copyright (c) 2011 Brandon Jones + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not + * be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + */ + + + +/* + * vec3 - 3 Dimensional Vector + */ +var vec3 = {}; + +/* + * vec3.create + * Creates a new instance of a vec3 using the default array type + * Any javascript array containing at least 3 numeric elements can serve as a vec3 + * + * Params: + * vec - Optional, vec3 containing values to initialize with + * + * Returns: + * New vec3 + */ +vec3.create = function(vec) { + var dest; + if(vec) { + dest = new glMatrixArrayType(3); + dest[0] = vec[0]; + dest[1] = vec[1]; + dest[2] = vec[2]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0]); + else + dest = new glMatrixArrayType(3); + } + + return dest; +}; + +/* + * vec3.set + * Copies the values of one vec3 to another + * + * Params: + * vec - vec3 containing values to copy + * dest - vec3 receiving copied values + * + * Returns: + * dest + */ +vec3.set = function(vec, dest) { + dest[0] = vec[0]; + dest[1] = vec[1]; + dest[2] = vec[2]; + + return dest; +}; + +/* + * vec3.add + * Performs a vector addition + * + * Params: + * vec - vec3, first operand + * vec2 - vec3, second operand + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.add = function(vec, vec2, dest) { + if(!dest || vec == dest) { + vec[0] += vec2[0]; + vec[1] += vec2[1]; + vec[2] += vec2[2]; + return vec; + } + + dest[0] = vec[0] + vec2[0]; + dest[1] = vec[1] + vec2[1]; + dest[2] = vec[2] + vec2[2]; + return dest; +}; + +/* + * vec3.subtract + * Performs a vector subtraction + * + * Params: + * vec - vec3, first operand + * vec2 - vec3, second operand + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.subtract = function(vec, vec2, dest) { + if(!dest || vec == dest) { + vec[0] -= vec2[0]; + vec[1] -= vec2[1]; + vec[2] -= vec2[2]; + return vec; + } + + dest[0] = vec[0] - vec2[0]; + dest[1] = vec[1] - vec2[1]; + dest[2] = vec[2] - vec2[2]; + return dest; +}; + +/* + * vec3.negate + * Negates the components of a vec3 + * + * Params: + * vec - vec3 to negate + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.negate = function(vec, dest) { + if(!dest) { dest = vec; } + + dest[0] = -vec[0]; + dest[1] = -vec[1]; + dest[2] = -vec[2]; + return dest; +}; + +/* + * vec3.scale + * Multiplies the components of a vec3 by a scalar value + * + * Params: + * vec - vec3 to scale + * val - Numeric value to scale by + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.scale = function(vec, val, dest) { + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + vec[2] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + dest[2] = vec[2]*val; + return dest; +}; + +/* + * vec3.normalize + * Generates a unit vector of the same direction as the provided vec3 + * If vector length is 0, returns [0, 0, 0] + * + * Params: + * vec - vec3 to normalize + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.normalize = function(vec, dest) { + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2]; + var len = Math.sqrt(x*x + y*y + z*z); + + if (!len) { + dest[0] = 0; + dest[1] = 0; + dest[2] = 0; + return dest; + } else if (len == 1) { + dest[0] = x; + dest[1] = y; + dest[2] = z; + return dest; + } + + len = 1 / len; + dest[0] = x*len; + dest[1] = y*len; + dest[2] = z*len; + return dest; +}; + +/* + * vec3.cross + * Generates the cross product of two vec3s + * + * Params: + * vec - vec3, first operand + * vec2 - vec3, second operand + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.cross = function(vec, vec2, dest){ + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2]; + var x2 = vec2[0], y2 = vec2[1], z2 = vec2[2]; + + dest[0] = y*z2 - z*y2; + dest[1] = z*x2 - x*z2; + dest[2] = x*y2 - y*x2; + return dest; +}; + +/* + * vec3.length + * Caclulates the length of a vec3 + * + * Params: + * vec - vec3 to calculate length of + * + * Returns: + * Length of vec + */ +vec3.length = function(vec){ + var x = vec[0], y = vec[1], z = vec[2]; + return Math.sqrt(x*x + y*y + z*z); +}; + +/* + * vec3.dot + * Caclulates the dot product of two vec3s + * + * Params: + * vec - vec3, first operand + * vec2 - vec3, second operand + * + * Returns: + * Dot product of vec and vec2 + */ +vec3.dot = function(vec, vec2){ + return vec[0]*vec2[0] + vec[1]*vec2[1] + vec[2]*vec2[2]; +}; + +/* + * vec3.direction + * Generates a unit vector pointing from one vector to another + * + * Params: + * vec - origin vec3 + * vec2 - vec3 to point to + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.direction = function(vec, vec2, dest) { + if(!dest) { dest = vec; } + + var x = vec[0] - vec2[0]; + var y = vec[1] - vec2[1]; + var z = vec[2] - vec2[2]; + + var len = Math.sqrt(x*x + y*y + z*z); + if (!len) { + dest[0] = 0; + dest[1] = 0; + dest[2] = 0; + return dest; + } + + len = 1 / len; + dest[0] = x * len; + dest[1] = y * len; + dest[2] = z * len; + return dest; +}; + +/* + * vec3.lerp + * Performs a linear interpolation between two vec3 + * + * Params: + * vec - vec3, first vector + * vec2 - vec3, second vector + * lerp - interpolation amount between the two inputs + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +vec3.lerp = function(vec, vec2, lerp, dest){ + if(!dest) { dest = vec; } + + dest[0] = vec[0] + lerp * (vec2[0] - vec[0]); + dest[1] = vec[1] + lerp * (vec2[1] - vec[1]); + dest[2] = vec[2] + lerp * (vec2[2] - vec[2]); + + return dest; +}; + +/* + * vec3.str + * Returns a string representation of a vector + * + * Params: + * vec - vec3 to represent as a string + * + * Returns: + * string representation of vec + */ +vec3.str = function(vec) { + return '[' + vec[0] + ', ' + vec[1] + ', ' + vec[2] + ']'; +}; + +/* + * mat3 - 3x3 Matrix + */ +var mat3 = {}; + +/* + * mat3.create + * Creates a new instance of a mat3 using the default array type + * Any javascript array containing at least 9 numeric elements can serve as a mat3 + * + * Params: + * mat - Optional, mat3 containing values to initialize with + * + * Returns: + * New mat3 + */ +mat3.create = function(mat) { + var dest; + + if(mat) { + dest = new glMatrixArrayType(9); + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + dest[4] = mat[4]; + dest[5] = mat[5]; + dest[6] = mat[6]; + dest[7] = mat[7]; + dest[8] = mat[8]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0,0,0,0,0,0]); + else + dest = new glMatrixArrayType(9); + } + + return dest; +}; + +/* + * mat3.set + * Copies the values of one mat3 to another + * + * Params: + * mat - mat3 containing values to copy + * dest - mat3 receiving copied values + * + * Returns: + * dest + */ +mat3.set = function(mat, dest) { + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + dest[4] = mat[4]; + dest[5] = mat[5]; + dest[6] = mat[6]; + dest[7] = mat[7]; + dest[8] = mat[8]; + return dest; +}; + +/* + * mat3.identity + * Sets a mat3 to an identity matrix + * + * Params: + * dest - mat3 to set + * + * Returns: + * dest + */ +mat3.identity = function(dest) { + dest[0] = 1; + dest[1] = 0; + dest[2] = 0; + dest[3] = 0; + dest[4] = 1; + dest[5] = 0; + dest[6] = 0; + dest[7] = 0; + dest[8] = 1; + return dest; +}; + +/* + * mat4.transpose + * Transposes a mat3 (flips the values over the diagonal) + * + * Params: + * mat - mat3 to transpose + * dest - Optional, mat3 receiving transposed values. If not specified result is written to mat + * + * Returns: + * dest is specified, mat otherwise + */ +mat3.transpose = function(mat, dest) { + // If we are transposing ourselves we can skip a few steps but have to cache some values + if(!dest || mat == dest) { + var a01 = mat[1], a02 = mat[2]; + var a12 = mat[5]; + + mat[1] = mat[3]; + mat[2] = mat[6]; + mat[3] = a01; + mat[5] = mat[7]; + mat[6] = a02; + mat[7] = a12; + return mat; + } + + dest[0] = mat[0]; + dest[1] = mat[3]; + dest[2] = mat[6]; + dest[3] = mat[1]; + dest[4] = mat[4]; + dest[5] = mat[7]; + dest[6] = mat[2]; + dest[7] = mat[5]; + dest[8] = mat[8]; + return dest; +}; + +/* + * mat3.toMat4 + * Copies the elements of a mat3 into the upper 3x3 elements of a mat4 + * + * Params: + * mat - mat3 containing values to copy + * dest - Optional, mat4 receiving copied values + * + * Returns: + * dest if specified, a new mat4 otherwise + */ +mat3.toMat4 = function(mat, dest) { + if(!dest) { dest = mat4.create(); } + + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = 0; + + dest[4] = mat[3]; + dest[5] = mat[4]; + dest[6] = mat[5]; + dest[7] = 0; + + dest[8] = mat[6]; + dest[9] = mat[7]; + dest[10] = mat[8]; + dest[11] = 0; + + dest[12] = 0; + dest[13] = 0; + dest[14] = 0; + dest[15] = 1; + + return dest; +}; + +/* + * mat3.str + * Returns a string representation of a mat3 + * + * Params: + * mat - mat3 to represent as a string + * + * Returns: + * string representation of mat + */ +mat3.str = function(mat) { + return '[' + mat[0] + ', ' + mat[1] + ', ' + mat[2] + + ', ' + mat[3] + ', '+ mat[4] + ', ' + mat[5] + + ', ' + mat[6] + ', ' + mat[7] + ', '+ mat[8] + ']'; +}; + +/* + * mat4 - 4x4 Matrix + */ +var mat4 = {}; + +/* + * mat4.create + * Creates a new instance of a mat4 using the default array type + * Any javascript array containing at least 16 numeric elements can serve as a mat4 + * + * Params: + * mat - Optional, mat4 containing values to initialize with + * + * Returns: + * New mat4 + */ +mat4.create = function(mat) { + var dest; + + if(mat) { + dest = new glMatrixArrayType(16); + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + dest[4] = mat[4]; + dest[5] = mat[5]; + dest[6] = mat[6]; + dest[7] = mat[7]; + dest[8] = mat[8]; + dest[9] = mat[9]; + dest[10] = mat[10]; + dest[11] = mat[11]; + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]); + else + dest = new glMatrixArrayType(16); + } + + return dest; +}; + +/* + * mat4.set + * Copies the values of one mat4 to another + * + * Params: + * mat - mat4 containing values to copy + * dest - mat4 receiving copied values + * + * Returns: + * dest + */ +mat4.set = function(mat, dest) { + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + dest[4] = mat[4]; + dest[5] = mat[5]; + dest[6] = mat[6]; + dest[7] = mat[7]; + dest[8] = mat[8]; + dest[9] = mat[9]; + dest[10] = mat[10]; + dest[11] = mat[11]; + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + return dest; +}; + +/* + * mat4.identity + * Sets a mat4 to an identity matrix + * + * Params: + * dest - mat4 to set + * + * Returns: + * dest + */ +mat4.identity = function(dest) { + dest[0] = 1; + dest[1] = 0; + dest[2] = 0; + dest[3] = 0; + dest[4] = 0; + dest[5] = 1; + dest[6] = 0; + dest[7] = 0; + dest[8] = 0; + dest[9] = 0; + dest[10] = 1; + dest[11] = 0; + dest[12] = 0; + dest[13] = 0; + dest[14] = 0; + dest[15] = 1; + return dest; +}; + +/* + * mat4.transpose + * Transposes a mat4 (flips the values over the diagonal) + * + * Params: + * mat - mat4 to transpose + * dest - Optional, mat4 receiving transposed values. If not specified result is written to mat + * + * Returns: + * dest is specified, mat otherwise + */ +mat4.transpose = function(mat, dest) { + // If we are transposing ourselves we can skip a few steps but have to cache some values + if(!dest || mat == dest) { + var a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a12 = mat[6], a13 = mat[7]; + var a23 = mat[11]; + + mat[1] = mat[4]; + mat[2] = mat[8]; + mat[3] = mat[12]; + mat[4] = a01; + mat[6] = mat[9]; + mat[7] = mat[13]; + mat[8] = a02; + mat[9] = a12; + mat[11] = mat[14]; + mat[12] = a03; + mat[13] = a13; + mat[14] = a23; + return mat; + } + + dest[0] = mat[0]; + dest[1] = mat[4]; + dest[2] = mat[8]; + dest[3] = mat[12]; + dest[4] = mat[1]; + dest[5] = mat[5]; + dest[6] = mat[9]; + dest[7] = mat[13]; + dest[8] = mat[2]; + dest[9] = mat[6]; + dest[10] = mat[10]; + dest[11] = mat[14]; + dest[12] = mat[3]; + dest[13] = mat[7]; + dest[14] = mat[11]; + dest[15] = mat[15]; + return dest; +}; + +/* + * mat4.determinant + * Calculates the determinant of a mat4 + * + * Params: + * mat - mat4 to calculate determinant of + * + * Returns: + * determinant of mat + */ +mat4.determinant = function(mat) { + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + var a30 = mat[12], a31 = mat[13], a32 = mat[14], a33 = mat[15]; + + return a30*a21*a12*a03 - a20*a31*a12*a03 - a30*a11*a22*a03 + a10*a31*a22*a03 + + a20*a11*a32*a03 - a10*a21*a32*a03 - a30*a21*a02*a13 + a20*a31*a02*a13 + + a30*a01*a22*a13 - a00*a31*a22*a13 - a20*a01*a32*a13 + a00*a21*a32*a13 + + a30*a11*a02*a23 - a10*a31*a02*a23 - a30*a01*a12*a23 + a00*a31*a12*a23 + + a10*a01*a32*a23 - a00*a11*a32*a23 - a20*a11*a02*a33 + a10*a21*a02*a33 + + a20*a01*a12*a33 - a00*a21*a12*a33 - a10*a01*a22*a33 + a00*a11*a22*a33; +}; + +/* + * mat4.inverse + * Calculates the inverse matrix of a mat4 + * + * Params: + * mat - mat4 to calculate inverse of + * dest - Optional, mat4 receiving inverse matrix. If not specified result is written to mat + * + * Returns: + * dest is specified, mat otherwise + */ +mat4.inverse = function(mat, dest) { + if(!dest) { dest = mat; } + + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + var a30 = mat[12], a31 = mat[13], a32 = mat[14], a33 = mat[15]; + + var b00 = a00*a11 - a01*a10; + var b01 = a00*a12 - a02*a10; + var b02 = a00*a13 - a03*a10; + var b03 = a01*a12 - a02*a11; + var b04 = a01*a13 - a03*a11; + var b05 = a02*a13 - a03*a12; + var b06 = a20*a31 - a21*a30; + var b07 = a20*a32 - a22*a30; + var b08 = a20*a33 - a23*a30; + var b09 = a21*a32 - a22*a31; + var b10 = a21*a33 - a23*a31; + var b11 = a22*a33 - a23*a32; + + // Calculate the determinant (inlined to avoid double-caching) + var invDet = 1/(b00*b11 - b01*b10 + b02*b09 + b03*b08 - b04*b07 + b05*b06); + + dest[0] = (a11*b11 - a12*b10 + a13*b09)*invDet; + dest[1] = (-a01*b11 + a02*b10 - a03*b09)*invDet; + dest[2] = (a31*b05 - a32*b04 + a33*b03)*invDet; + dest[3] = (-a21*b05 + a22*b04 - a23*b03)*invDet; + dest[4] = (-a10*b11 + a12*b08 - a13*b07)*invDet; + dest[5] = (a00*b11 - a02*b08 + a03*b07)*invDet; + dest[6] = (-a30*b05 + a32*b02 - a33*b01)*invDet; + dest[7] = (a20*b05 - a22*b02 + a23*b01)*invDet; + dest[8] = (a10*b10 - a11*b08 + a13*b06)*invDet; + dest[9] = (-a00*b10 + a01*b08 - a03*b06)*invDet; + dest[10] = (a30*b04 - a31*b02 + a33*b00)*invDet; + dest[11] = (-a20*b04 + a21*b02 - a23*b00)*invDet; + dest[12] = (-a10*b09 + a11*b07 - a12*b06)*invDet; + dest[13] = (a00*b09 - a01*b07 + a02*b06)*invDet; + dest[14] = (-a30*b03 + a31*b01 - a32*b00)*invDet; + dest[15] = (a20*b03 - a21*b01 + a22*b00)*invDet; + + return dest; +}; + +/* + * mat4.toRotationMat + * Copies the upper 3x3 elements of a mat4 into another mat4 + * + * Params: + * mat - mat4 containing values to copy + * dest - Optional, mat4 receiving copied values + * + * Returns: + * dest is specified, a new mat4 otherwise + */ +mat4.toRotationMat = function(mat, dest) { + if(!dest) { dest = mat4.create(); } + + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + dest[4] = mat[4]; + dest[5] = mat[5]; + dest[6] = mat[6]; + dest[7] = mat[7]; + dest[8] = mat[8]; + dest[9] = mat[9]; + dest[10] = mat[10]; + dest[11] = mat[11]; + dest[12] = 0; + dest[13] = 0; + dest[14] = 0; + dest[15] = 1; + + return dest; +}; + +/* + * mat4.toMat3 + * Copies the upper 3x3 elements of a mat4 into a mat3 + * + * Params: + * mat - mat4 containing values to copy + * dest - Optional, mat3 receiving copied values + * + * Returns: + * dest is specified, a new mat3 otherwise + */ +mat4.toMat3 = function(mat, dest) { + if(!dest) { dest = mat3.create(); } + + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[4]; + dest[4] = mat[5]; + dest[5] = mat[6]; + dest[6] = mat[8]; + dest[7] = mat[9]; + dest[8] = mat[10]; + + return dest; +}; + +/* + * mat4.toInverseMat3 + * Calculates the inverse of the upper 3x3 elements of a mat4 and copies the result into a mat3 + * The resulting matrix is useful for calculating transformed normals + * + * Params: + * mat - mat4 containing values to invert and copy + * dest - Optional, mat3 receiving values + * + * Returns: + * dest is specified, a new mat3 otherwise + */ +mat4.toInverseMat3 = function(mat, dest) { + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10]; + + var b01 = a22*a11-a12*a21; + var b11 = -a22*a10+a12*a20; + var b21 = a21*a10-a11*a20; + + var d = a00*b01 + a01*b11 + a02*b21; + if (!d) { return null; } + var id = 1/d; + + if(!dest) { dest = mat3.create(); } + + dest[0] = b01*id; + dest[1] = (-a22*a01 + a02*a21)*id; + dest[2] = (a12*a01 - a02*a11)*id; + dest[3] = b11*id; + dest[4] = (a22*a00 - a02*a20)*id; + dest[5] = (-a12*a00 + a02*a10)*id; + dest[6] = b21*id; + dest[7] = (-a21*a00 + a01*a20)*id; + dest[8] = (a11*a00 - a01*a10)*id; + + return dest; +}; + +/* + * mat4.multiply + * Performs a matrix multiplication + * + * Params: + * mat - mat4, first operand + * mat2 - mat4, second operand + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.multiply = function(mat, mat2, dest) { + if(!dest) { dest = mat; } + + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + var a30 = mat[12], a31 = mat[13], a32 = mat[14], a33 = mat[15]; + + var b00 = mat2[0], b01 = mat2[1], b02 = mat2[2], b03 = mat2[3]; + var b10 = mat2[4], b11 = mat2[5], b12 = mat2[6], b13 = mat2[7]; + var b20 = mat2[8], b21 = mat2[9], b22 = mat2[10], b23 = mat2[11]; + var b30 = mat2[12], b31 = mat2[13], b32 = mat2[14], b33 = mat2[15]; + + dest[0] = b00*a00 + b01*a10 + b02*a20 + b03*a30; + dest[1] = b00*a01 + b01*a11 + b02*a21 + b03*a31; + dest[2] = b00*a02 + b01*a12 + b02*a22 + b03*a32; + dest[3] = b00*a03 + b01*a13 + b02*a23 + b03*a33; + dest[4] = b10*a00 + b11*a10 + b12*a20 + b13*a30; + dest[5] = b10*a01 + b11*a11 + b12*a21 + b13*a31; + dest[6] = b10*a02 + b11*a12 + b12*a22 + b13*a32; + dest[7] = b10*a03 + b11*a13 + b12*a23 + b13*a33; + dest[8] = b20*a00 + b21*a10 + b22*a20 + b23*a30; + dest[9] = b20*a01 + b21*a11 + b22*a21 + b23*a31; + dest[10] = b20*a02 + b21*a12 + b22*a22 + b23*a32; + dest[11] = b20*a03 + b21*a13 + b22*a23 + b23*a33; + dest[12] = b30*a00 + b31*a10 + b32*a20 + b33*a30; + dest[13] = b30*a01 + b31*a11 + b32*a21 + b33*a31; + dest[14] = b30*a02 + b31*a12 + b32*a22 + b33*a32; + dest[15] = b30*a03 + b31*a13 + b32*a23 + b33*a33; + + return dest; +}; + +/* + * mat4.multiplyVec3 + * Transforms a vec3 with the given matrix + * 4th vector component is implicitly '1' + * + * Params: + * mat - mat4 to transform the vector with + * vec - vec3 to transform + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +mat4.multiplyVec3 = function(mat, vec, dest) { + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2]; + + dest[0] = mat[0]*x + mat[4]*y + mat[8]*z + mat[12]; + dest[1] = mat[1]*x + mat[5]*y + mat[9]*z + mat[13]; + dest[2] = mat[2]*x + mat[6]*y + mat[10]*z + mat[14]; + + return dest; +}; + +/* + * mat4.multiplyVec4 + * Transforms a vec4 with the given matrix + * + * Params: + * mat - mat4 to transform the vector with + * vec - vec4 to transform + * dest - Optional, vec4 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +mat4.multiplyVec4 = function(mat, vec, dest) { + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2], w = vec[3]; + + dest[0] = mat[0]*x + mat[4]*y + mat[8]*z + mat[12]*w; + dest[1] = mat[1]*x + mat[5]*y + mat[9]*z + mat[13]*w; + dest[2] = mat[2]*x + mat[6]*y + mat[10]*z + mat[14]*w; + dest[3] = mat[3]*x + mat[7]*y + mat[11]*z + mat[15]*w; + + return dest; +}; + +/* + * mat4.translate + * Translates a matrix by the given vector + * + * Params: + * mat - mat4 to translate + * vec - vec3 specifying the translation + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.translate = function(mat, vec, dest) { + var x = vec[0], y = vec[1], z = vec[2]; + + if(!dest || mat == dest) { + mat[12] = mat[0]*x + mat[4]*y + mat[8]*z + mat[12]; + mat[13] = mat[1]*x + mat[5]*y + mat[9]*z + mat[13]; + mat[14] = mat[2]*x + mat[6]*y + mat[10]*z + mat[14]; + mat[15] = mat[3]*x + mat[7]*y + mat[11]*z + mat[15]; + return mat; + } + + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + + dest[0] = a00; + dest[1] = a01; + dest[2] = a02; + dest[3] = a03; + dest[4] = a10; + dest[5] = a11; + dest[6] = a12; + dest[7] = a13; + dest[8] = a20; + dest[9] = a21; + dest[10] = a22; + dest[11] = a23; + + dest[12] = a00*x + a10*y + a20*z + mat[12]; + dest[13] = a01*x + a11*y + a21*z + mat[13]; + dest[14] = a02*x + a12*y + a22*z + mat[14]; + dest[15] = a03*x + a13*y + a23*z + mat[15]; + return dest; +}; + +/* + * mat4.scale + * Scales a matrix by the given vector + * + * Params: + * mat - mat4 to scale + * vec - vec3 specifying the scale for each axis + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.scale = function(mat, vec, dest) { + var x = vec[0], y = vec[1], z = vec[2]; + + if(!dest || mat == dest) { + mat[0] *= x; + mat[1] *= x; + mat[2] *= x; + mat[3] *= x; + mat[4] *= y; + mat[5] *= y; + mat[6] *= y; + mat[7] *= y; + mat[8] *= z; + mat[9] *= z; + mat[10] *= z; + mat[11] *= z; + return mat; + } + + dest[0] = mat[0]*x; + dest[1] = mat[1]*x; + dest[2] = mat[2]*x; + dest[3] = mat[3]*x; + dest[4] = mat[4]*y; + dest[5] = mat[5]*y; + dest[6] = mat[6]*y; + dest[7] = mat[7]*y; + dest[8] = mat[8]*z; + dest[9] = mat[9]*z; + dest[10] = mat[10]*z; + dest[11] = mat[11]*z; + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + return dest; +}; + +/* + * mat4.rotate + * Rotates a matrix by the given angle around the specified axis + * If rotating around a primary axis (X,Y,Z) one of the specialized rotation functions should be used instead for performance + * + * Params: + * mat - mat4 to rotate + * angle - angle (in radians) to rotate + * axis - vec3 representing the axis to rotate around + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.rotate = function(mat, angle, axis, dest) { + var x = axis[0], y = axis[1], z = axis[2]; + var len = Math.sqrt(x*x + y*y + z*z); + if (!len) { return null; } + if (len != 1) { + len = 1 / len; + x *= len; + y *= len; + z *= len; + } + + var s = Math.sin(angle); + var c = Math.cos(angle); + var t = 1-c; + + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + + // Construct the elements of the rotation matrix + var b00 = x*x*t + c, b01 = y*x*t + z*s, b02 = z*x*t - y*s; + var b10 = x*y*t - z*s, b11 = y*y*t + c, b12 = z*y*t + x*s; + var b20 = x*z*t + y*s, b21 = y*z*t - x*s, b22 = z*z*t + c; + + if(!dest) { + dest = mat; + } else if(mat != dest) { // If the source and destination differ, copy the unchanged last row + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + } + + // Perform rotation-specific matrix multiplication + dest[0] = a00*b00 + a10*b01 + a20*b02; + dest[1] = a01*b00 + a11*b01 + a21*b02; + dest[2] = a02*b00 + a12*b01 + a22*b02; + dest[3] = a03*b00 + a13*b01 + a23*b02; + + dest[4] = a00*b10 + a10*b11 + a20*b12; + dest[5] = a01*b10 + a11*b11 + a21*b12; + dest[6] = a02*b10 + a12*b11 + a22*b12; + dest[7] = a03*b10 + a13*b11 + a23*b12; + + dest[8] = a00*b20 + a10*b21 + a20*b22; + dest[9] = a01*b20 + a11*b21 + a21*b22; + dest[10] = a02*b20 + a12*b21 + a22*b22; + dest[11] = a03*b20 + a13*b21 + a23*b22; + return dest; +}; + +/* + * mat4.rotateX + * Rotates a matrix by the given angle around the X axis + * + * Params: + * mat - mat4 to rotate + * angle - angle (in radians) to rotate + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.rotateX = function(mat, angle, dest) { + var s = Math.sin(angle); + var c = Math.cos(angle); + + // Cache the matrix values (makes for huge speed increases!) + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + + if(!dest) { + dest = mat; + } else if(mat != dest) { // If the source and destination differ, copy the unchanged rows + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + } + + // Perform axis-specific matrix multiplication + dest[4] = a10*c + a20*s; + dest[5] = a11*c + a21*s; + dest[6] = a12*c + a22*s; + dest[7] = a13*c + a23*s; + + dest[8] = a10*-s + a20*c; + dest[9] = a11*-s + a21*c; + dest[10] = a12*-s + a22*c; + dest[11] = a13*-s + a23*c; + return dest; +}; + +/* + * mat4.rotateY + * Rotates a matrix by the given angle around the Y axis + * + * Params: + * mat - mat4 to rotate + * angle - angle (in radians) to rotate + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.rotateY = function(mat, angle, dest) { + var s = Math.sin(angle); + var c = Math.cos(angle); + + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a20 = mat[8], a21 = mat[9], a22 = mat[10], a23 = mat[11]; + + if(!dest) { + dest = mat; + } else if(mat != dest) { // If the source and destination differ, copy the unchanged rows + dest[4] = mat[4]; + dest[5] = mat[5]; + dest[6] = mat[6]; + dest[7] = mat[7]; + + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + } + + // Perform axis-specific matrix multiplication + dest[0] = a00*c + a20*-s; + dest[1] = a01*c + a21*-s; + dest[2] = a02*c + a22*-s; + dest[3] = a03*c + a23*-s; + + dest[8] = a00*s + a20*c; + dest[9] = a01*s + a21*c; + dest[10] = a02*s + a22*c; + dest[11] = a03*s + a23*c; + return dest; +}; + +/* + * mat4.rotateZ + * Rotates a matrix by the given angle around the Z axis + * + * Params: + * mat - mat4 to rotate + * angle - angle (in radians) to rotate + * dest - Optional, mat4 receiving operation result. If not specified result is written to mat + * + * Returns: + * dest if specified, mat otherwise + */ +mat4.rotateZ = function(mat, angle, dest) { + var s = Math.sin(angle); + var c = Math.cos(angle); + + // Cache the matrix values (makes for huge speed increases!) + var a00 = mat[0], a01 = mat[1], a02 = mat[2], a03 = mat[3]; + var a10 = mat[4], a11 = mat[5], a12 = mat[6], a13 = mat[7]; + + if(!dest) { + dest = mat; + } else if(mat != dest) { // If the source and destination differ, copy the unchanged last row + dest[8] = mat[8]; + dest[9] = mat[9]; + dest[10] = mat[10]; + dest[11] = mat[11]; + + dest[12] = mat[12]; + dest[13] = mat[13]; + dest[14] = mat[14]; + dest[15] = mat[15]; + } + + // Perform axis-specific matrix multiplication + dest[0] = a00*c + a10*s; + dest[1] = a01*c + a11*s; + dest[2] = a02*c + a12*s; + dest[3] = a03*c + a13*s; + + dest[4] = a00*-s + a10*c; + dest[5] = a01*-s + a11*c; + dest[6] = a02*-s + a12*c; + dest[7] = a03*-s + a13*c; + + return dest; +}; + +/* + * mat4.frustum + * Generates a frustum matrix with the given bounds + * + * Params: + * left, right - scalar, left and right bounds of the frustum + * bottom, top - scalar, bottom and top bounds of the frustum + * near, far - scalar, near and far bounds of the frustum + * dest - Optional, mat4 frustum matrix will be written into + * + * Returns: + * dest if specified, a new mat4 otherwise + */ +mat4.frustum = function(left, right, bottom, top, near, far, dest) { + if(!dest) { dest = mat4.create(); } + var rl = (right - left); + var tb = (top - bottom); + var fn = (far - near); + dest[0] = (near*2) / rl; + dest[1] = 0; + dest[2] = 0; + dest[3] = 0; + dest[4] = 0; + dest[5] = (near*2) / tb; + dest[6] = 0; + dest[7] = 0; + dest[8] = (right + left) / rl; + dest[9] = (top + bottom) / tb; + dest[10] = -(far + near) / fn; + dest[11] = -1; + dest[12] = 0; + dest[13] = 0; + dest[14] = -(far*near*2) / fn; + dest[15] = 0; + return dest; +}; + +/* + * mat4.perspective + * Generates a perspective projection matrix with the given bounds + * + * Params: + * fovy - scalar, vertical field of view + * aspect - scalar, aspect ratio. typically viewport width/height + * near, far - scalar, near and far bounds of the frustum + * dest - Optional, mat4 frustum matrix will be written into + * + * Returns: + * dest if specified, a new mat4 otherwise + */ +mat4.perspective = function(fovy, aspect, near, far, dest) { + var top = near*Math.tan(fovy*Math.PI / 360.0); + var right = top*aspect; + return mat4.frustum(-right, right, -top, top, near, far, dest); +}; + +/* + * mat4.ortho + * Generates a orthogonal projection matrix with the given bounds + * + * Params: + * left, right - scalar, left and right bounds of the frustum + * bottom, top - scalar, bottom and top bounds of the frustum + * near, far - scalar, near and far bounds of the frustum + * dest - Optional, mat4 frustum matrix will be written into + * + * Returns: + * dest if specified, a new mat4 otherwise + */ +mat4.ortho = function(left, right, bottom, top, near, far, dest) { + if(!dest) { dest = mat4.create(); } + var rl = (right - left); + var tb = (top - bottom); + var fn = (far - near); + dest[0] = 2 / rl; + dest[1] = 0; + dest[2] = 0; + dest[3] = 0; + dest[4] = 0; + dest[5] = 2 / tb; + dest[6] = 0; + dest[7] = 0; + dest[8] = 0; + dest[9] = 0; + dest[10] = -2 / fn; + dest[11] = 0; + dest[12] = -(left + right) / rl; + dest[13] = -(top + bottom) / tb; + dest[14] = -(far + near) / fn; + dest[15] = 1; + return dest; +}; + +/* + * mat4.ortho + * Generates a look-at matrix with the given eye position, focal point, and up axis + * + * Params: + * eye - vec3, position of the viewer + * center - vec3, point the viewer is looking at + * up - vec3 pointing "up" + * dest - Optional, mat4 frustum matrix will be written into + * + * Returns: + * dest if specified, a new mat4 otherwise + */ +mat4.lookAt = function(eye, center, up, dest) { + if(!dest) { dest = mat4.create(); } + + var eyex = eye[0], + eyey = eye[1], + eyez = eye[2], + upx = up[0], + upy = up[1], + upz = up[2], + centerx = center[0], + centery = center[1], + centerz = center[2]; + + if (eyex == centerx && eyey == centery && eyez == centerz) { + return mat4.identity(dest); + } + + var z0,z1,z2,x0,x1,x2,y0,y1,y2,len; + + //vec3.direction(eye, center, z); + z0 = eyex - center[0]; + z1 = eyey - center[1]; + z2 = eyez - center[2]; + + // normalize (no check needed for 0 because of early return) + len = 1/Math.sqrt(z0*z0 + z1*z1 + z2*z2); + z0 *= len; + z1 *= len; + z2 *= len; + + //vec3.normalize(vec3.cross(up, z, x)); + x0 = upy*z2 - upz*z1; + x1 = upz*z0 - upx*z2; + x2 = upx*z1 - upy*z0; + len = Math.sqrt(x0*x0 + x1*x1 + x2*x2); + if (!len) { + x0 = 0; + x1 = 0; + x2 = 0; + } else { + len = 1/len; + x0 *= len; + x1 *= len; + x2 *= len; + }; + + //vec3.normalize(vec3.cross(z, x, y)); + y0 = z1*x2 - z2*x1; + y1 = z2*x0 - z0*x2; + y2 = z0*x1 - z1*x0; + + len = Math.sqrt(y0*y0 + y1*y1 + y2*y2); + if (!len) { + y0 = 0; + y1 = 0; + y2 = 0; + } else { + len = 1/len; + y0 *= len; + y1 *= len; + y2 *= len; + } + + dest[0] = x0; + dest[1] = y0; + dest[2] = z0; + dest[3] = 0; + dest[4] = x1; + dest[5] = y1; + dest[6] = z1; + dest[7] = 0; + dest[8] = x2; + dest[9] = y2; + dest[10] = z2; + dest[11] = 0; + dest[12] = -(x0*eyex + x1*eyey + x2*eyez); + dest[13] = -(y0*eyex + y1*eyey + y2*eyez); + dest[14] = -(z0*eyex + z1*eyey + z2*eyez); + dest[15] = 1; + + return dest; +}; + +/* + * mat4.str + * Returns a string representation of a mat4 + * + * Params: + * mat - mat4 to represent as a string + * + * Returns: + * string representation of mat + */ +mat4.str = function(mat) { + return '[' + mat[0] + ', ' + mat[1] + ', ' + mat[2] + ', ' + mat[3] + + ',\n '+ mat[4] + ', ' + mat[5] + ', ' + mat[6] + ', ' + mat[7] + + ',\n '+ mat[8] + ', ' + mat[9] + ', ' + mat[10] + ', ' + mat[11] + + ',\n '+ mat[12] + ', ' + mat[13] + ', ' + mat[14] + ', ' + mat[15] + ']'; +}; + +/* + * quat4 - Quaternions + */ +quat4 = {}; + +/* + * quat4.create + * Creates a new instance of a quat4 using the default array type + * Any javascript array containing at least 4 numeric elements can serve as a quat4 + * + * Params: + * quat - Optional, quat4 containing values to initialize with + * + * Returns: + * New quat4 + */ +quat4.create = function(quat) { + var dest; + + if(quat) { + dest = new glMatrixArrayType(4); + dest[0] = quat[0]; + dest[1] = quat[1]; + dest[2] = quat[2]; + dest[3] = quat[3]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0]); + else + dest = new glMatrixArrayType(4); + } + + return dest; +}; + +/* + * quat4.set + * Copies the values of one quat4 to another + * + * Params: + * quat - quat4 containing values to copy + * dest - quat4 receiving copied values + * + * Returns: + * dest + */ +quat4.set = function(quat, dest) { + dest[0] = quat[0]; + dest[1] = quat[1]; + dest[2] = quat[2]; + dest[3] = quat[3]; + + return dest; +}; + +/* + * quat4.calculateW + * Calculates the W component of a quat4 from the X, Y, and Z components. + * Assumes that quaternion is 1 unit in length. + * Any existing W component will be ignored. + * + * Params: + * quat - quat4 to calculate W component of + * dest - Optional, quat4 receiving calculated values. If not specified result is written to quat + * + * Returns: + * dest if specified, quat otherwise + */ +quat4.calculateW = function(quat, dest) { + var x = quat[0], y = quat[1], z = quat[2]; + + if(!dest || quat == dest) { + quat[3] = -Math.sqrt(Math.abs(1.0 - x*x - y*y - z*z)); + return quat; + } + dest[0] = x; + dest[1] = y; + dest[2] = z; + dest[3] = -Math.sqrt(Math.abs(1.0 - x*x - y*y - z*z)); + return dest; +}; + +/* + * quat4.inverse + * Calculates the inverse of a quat4 + * + * Params: + * quat - quat4 to calculate inverse of + * dest - Optional, quat4 receiving inverse values. If not specified result is written to quat + * + * Returns: + * dest if specified, quat otherwise + */ +quat4.inverse = function(quat, dest) { + if(!dest || quat == dest) { + quat[0] *= -1; + quat[1] *= -1; + quat[2] *= -1; + return quat; + } + dest[0] = -quat[0]; + dest[1] = -quat[1]; + dest[2] = -quat[2]; + dest[3] = quat[3]; + return dest; +}; + +/* + * quat4.length + * Calculates the length of a quat4 + * + * Params: + * quat - quat4 to calculate length of + * + * Returns: + * Length of quat + */ +quat4.length = function(quat) { + var x = quat[0], y = quat[1], z = quat[2], w = quat[3]; + return Math.sqrt(x*x + y*y + z*z + w*w); +}; + +/* + * quat4.normalize + * Generates a unit quaternion of the same direction as the provided quat4 + * If quaternion length is 0, returns [0, 0, 0, 0] + * + * Params: + * quat - quat4 to normalize + * dest - Optional, quat4 receiving operation result. If not specified result is written to quat + * + * Returns: + * dest if specified, quat otherwise + */ +quat4.normalize = function(quat, dest) { + if(!dest) { dest = quat; } + + var x = quat[0], y = quat[1], z = quat[2], w = quat[3]; + var len = Math.sqrt(x*x + y*y + z*z + w*w); + if(len == 0) { + dest[0] = 0; + dest[1] = 0; + dest[2] = 0; + dest[3] = 0; + return dest; + } + len = 1/len; + dest[0] = x * len; + dest[1] = y * len; + dest[2] = z * len; + dest[3] = w * len; + + return dest; +}; + +/* + * quat4.multiply + * Performs a quaternion multiplication + * + * Params: + * quat - quat4, first operand + * quat2 - quat4, second operand + * dest - Optional, quat4 receiving operation result. If not specified result is written to quat + * + * Returns: + * dest if specified, quat otherwise + */ +quat4.multiply = function(quat, quat2, dest) { + if(!dest) { dest = quat; } + + var qax = quat[0], qay = quat[1], qaz = quat[2], qaw = quat[3]; + var qbx = quat2[0], qby = quat2[1], qbz = quat2[2], qbw = quat2[3]; + + dest[0] = qax*qbw + qaw*qbx + qay*qbz - qaz*qby; + dest[1] = qay*qbw + qaw*qby + qaz*qbx - qax*qbz; + dest[2] = qaz*qbw + qaw*qbz + qax*qby - qay*qbx; + dest[3] = qaw*qbw - qax*qbx - qay*qby - qaz*qbz; + + return dest; +}; + +/* + * quat4.multiplyVec3 + * Transforms a vec3 with the given quaternion + * + * Params: + * quat - quat4 to transform the vector with + * vec - vec3 to transform + * dest - Optional, vec3 receiving operation result. If not specified result is written to vec + * + * Returns: + * dest if specified, vec otherwise + */ +quat4.multiplyVec3 = function(quat, vec, dest) { + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2]; + var qx = quat[0], qy = quat[1], qz = quat[2], qw = quat[3]; + + // calculate quat * vec + var ix = qw*x + qy*z - qz*y; + var iy = qw*y + qz*x - qx*z; + var iz = qw*z + qx*y - qy*x; + var iw = -qx*x - qy*y - qz*z; + + // calculate result * inverse quat + dest[0] = ix*qw + iw*-qx + iy*-qz - iz*-qy; + dest[1] = iy*qw + iw*-qy + iz*-qx - ix*-qz; + dest[2] = iz*qw + iw*-qz + ix*-qy - iy*-qx; + + return dest; +}; + +/* + * quat4.toMat3 + * Calculates a 3x3 matrix from the given quat4 + * + * Params: + * quat - quat4 to create matrix from + * dest - Optional, mat3 receiving operation result + * + * Returns: + * dest if specified, a new mat3 otherwise + */ +quat4.toMat3 = function(quat, dest) { + if(!dest) { dest = mat3.create(); } + + var x = quat[0], y = quat[1], z = quat[2], w = quat[3]; + + var x2 = x + x; + var y2 = y + y; + var z2 = z + z; + + var xx = x*x2; + var xy = x*y2; + var xz = x*z2; + + var yy = y*y2; + var yz = y*z2; + var zz = z*z2; + + var wx = w*x2; + var wy = w*y2; + var wz = w*z2; + + dest[0] = 1 - (yy + zz); + dest[1] = xy - wz; + dest[2] = xz + wy; + + dest[3] = xy + wz; + dest[4] = 1 - (xx + zz); + dest[5] = yz - wx; + + dest[6] = xz - wy; + dest[7] = yz + wx; + dest[8] = 1 - (xx + yy); + + return dest; +}; + +/* + * quat4.toMat4 + * Calculates a 4x4 matrix from the given quat4 + * + * Params: + * quat - quat4 to create matrix from + * dest - Optional, mat4 receiving operation result + * + * Returns: + * dest if specified, a new mat4 otherwise + */ +quat4.toMat4 = function(quat, dest) { + if(!dest) { dest = mat4.create(); } + + var x = quat[0], y = quat[1], z = quat[2], w = quat[3]; + + var x2 = x + x; + var y2 = y + y; + var z2 = z + z; + + var xx = x*x2; + var xy = x*y2; + var xz = x*z2; + + var yy = y*y2; + var yz = y*z2; + var zz = z*z2; + + var wx = w*x2; + var wy = w*y2; + var wz = w*z2; + + dest[0] = 1 - (yy + zz); + dest[1] = xy - wz; + dest[2] = xz + wy; + dest[3] = 0; + + dest[4] = xy + wz; + dest[5] = 1 - (xx + zz); + dest[6] = yz - wx; + dest[7] = 0; + + dest[8] = xz - wy; + dest[9] = yz + wx; + dest[10] = 1 - (xx + yy); + dest[11] = 0; + + dest[12] = 0; + dest[13] = 0; + dest[14] = 0; + dest[15] = 1; + + return dest; +}; + +/* + * quat4.slerp + * Performs a spherical linear interpolation between two quat4 + * + * Params: + * quat - quat4, first quaternion + * quat2 - quat4, second quaternion + * slerp - interpolation amount between the two inputs + * dest - Optional, quat4 receiving operation result. If not specified result is written to quat + * + * Returns: + * dest if specified, quat otherwise + */ +quat4.slerp = function(quat, quat2, slerp, dest) { + if(!dest) { dest = quat; } + + var cosHalfTheta = quat[0]*quat2[0] + quat[1]*quat2[1] + quat[2]*quat2[2] + quat[3]*quat2[3]; + + if (Math.abs(cosHalfTheta) >= 1.0){ + if(dest != quat) { + dest[0] = quat[0]; + dest[1] = quat[1]; + dest[2] = quat[2]; + dest[3] = quat[3]; + } + return dest; + } + + var halfTheta = Math.acos(cosHalfTheta); + var sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta*cosHalfTheta); + + if (Math.abs(sinHalfTheta) < 0.001){ + dest[0] = (quat[0]*0.5 + quat2[0]*0.5); + dest[1] = (quat[1]*0.5 + quat2[1]*0.5); + dest[2] = (quat[2]*0.5 + quat2[2]*0.5); + dest[3] = (quat[3]*0.5 + quat2[3]*0.5); + return dest; + } + + var ratioA = Math.sin((1 - slerp)*halfTheta) / sinHalfTheta; + var ratioB = Math.sin(slerp*halfTheta) / sinHalfTheta; + + dest[0] = (quat[0]*ratioA + quat2[0]*ratioB); + dest[1] = (quat[1]*ratioA + quat2[1]*ratioB); + dest[2] = (quat[2]*ratioA + quat2[2]*ratioB); + dest[3] = (quat[3]*ratioA + quat2[3]*ratioB); + + return dest; +}; + + +/* + * quat4.str + * Returns a string representation of a quaternion + * + * Params: + * quat - quat4 to represent as a string + * + * Returns: + * string representation of quat + */ +quat4.str = function(quat) { + return '[' + quat[0] + ', ' + quat[1] + ', ' + quat[2] + ', ' + quat[3] + ']'; +}; + + +define("glMatrix", ["typedefs"], (function (global) { + return function () { + var ret, fn; + return ret || global.glMatrix; + }; +}(this))); + +/* + +Copyright (C) 2011 + - Christoph Oberhofer (ar.oberhofer@gmail.com) + - Jens Grubert (jg@jensgrubert.de) + - Gerhard Reitmayr (reitmayr@icg.tugraz.at) +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + + +/* + * glMatrixAddon.js + * Extension to the glMatrix library. The original glMatrix library + * was created by Brandon Jones. + */ + + +mat4.xVec4 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2], w = vec[3]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z + mat[3]*w; + dest[1] = mat[4]*x + mat[5]*y + mat[6]*z + mat[7]*w; + dest[2] = mat[8]*x + mat[9]*y + mat[10]*z + mat[11]*w; + dest[3] = mat[12]*x + mat[13]*y + mat[14]*z + mat[15]*w; + + return dest; +}; + +mat3.scale = function(mat, scalar, dest){ + if(!dest || mat == dest) { + mat[0] *= scalar; + mat[1] *= scalar; + mat[2] *= scalar; + mat[3] *= scalar; + mat[4] *= scalar; + mat[5] *= scalar; + mat[6] *= scalar; + mat[7] *= scalar; + mat[8] *= scalar; + return mat; + } + dest = mat3.create(); + dest[0] = mat[0]*scalar; + dest[1] = mat[1]*scalar; + dest[2] = mat[2]*scalar; + dest[3] = mat[3]*scalar; + dest[4] = mat[4]*scalar; + dest[5] = mat[5]*scalar; + dest[6] = mat[6]*scalar; + dest[7] = mat[7]*scalar; + dest[8] = mat[8]*scalar; + return dest; +}; + +mat3.inverse = function(mat, dest){ + if(!dest) { dest = mat; } + + var ha00 = mat[0], ha01 = mat[1], ha02 = mat[2]; + var ha10 = mat[3], ha11 = mat[4], ha12 = mat[5]; + var ha20 = mat[6], ha21 = mat[7], ha22 = mat[8]; + + var invDetA = 1/(ha00*ha11*ha22 + ha01*ha12*ha20 + ha02*ha10*ha21 - ha02*ha11*ha20 - ha01*ha10*ha22 - ha00*ha12*ha21); + dest[0] = (ha11*ha22 - ha12*ha21)*invDetA; + dest[1] = (ha02*ha21 - ha01*ha22)*invDetA; + dest[2] = (ha01*ha12 - ha02*ha11)*invDetA; + dest[3] = (ha12*ha20 - ha10*ha22)*invDetA; + dest[4] = (ha00*ha22 - ha02*ha20)*invDetA; + dest[5] = (ha02*ha10 - ha00*ha12)*invDetA; + dest[6] = (ha10*ha21 - ha11*ha20)*invDetA; + dest[7] = (ha01*ha20 - ha00*ha21)*invDetA; + dest[8] = (ha00*ha11 - ha01*ha10)*invDetA; + return dest; +}; + +mat3.multiply = function(mat, mat2, dest) { + if(!dest) { dest = mat; } + + var ha00 = mat[0], ha01 = mat[1], ha02 = mat[2]; + var ha10 = mat[3], ha11 = mat[4], ha12 = mat[5]; + var ha20 = mat[6], ha21 = mat[7], ha22 = mat[8]; + + var hb00 = mat2[0], hb01 = mat2[1], hb02 = mat2[2]; + var hb10 = mat2[3], hb11 = mat2[4], hb12 = mat2[5]; + var hb20 = mat2[6], hb21 = mat2[7], hb22 = mat2[8]; + + dest[0] = ha00*hb00 + ha01*hb10 + ha02*hb20; + dest[1] = ha00*hb01 + ha01*hb11 + ha02*hb21; + dest[2] = ha00*hb02 + ha01*hb12 + ha02*hb22; + + dest[3] = ha10*hb00 + ha11*hb10 + ha12*hb20; + dest[4] = ha10*hb01 + ha11*hb11 + ha12*hb21; + dest[5] = ha10*hb02 + ha11*hb12 + ha12*hb22; + + dest[6] = ha20*hb00 + ha21*hb10 + ha22*hb20; + dest[7] = ha20*hb01 + ha21*hb11 + ha22*hb21; + dest[8] = ha20*hb02 + ha21*hb12 + ha22*hb22; + return dest; +}; + +mat3.xVec3 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z; + dest[1] = mat[3]*x + mat[4]*y + mat[5]*z; + dest[2] = mat[6]*x + mat[7]*y + mat[8]*z; + + return dest; +}; + +var vec4={}; + +vec4.create = function(vec){ + var dest; + + if(vec) { + dest = new glMatrixArrayType(4); + dest[0] = vec[0]; + dest[1] = vec[1]; + dest[2] = vec[2]; + dest[3] = vec[3]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0]); + else + dest = new glMatrixArrayType(4); + } + + return dest; +}; + +vec4.project = function(vec, dest){ + if(!dest) { dest = vec; } + + dest[0] = vec[0]/vec[3]; + dest[1] = vec[1]/vec[3]; + dest[2] = vec[2]/vec[3]; + return dest; +}; + +vec4.scale = function(vec, val, dest){ + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + vec[2] *= val; + vec[4] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + dest[2] = vec[2]*val; + dest[3] = vec[3]*val; + return dest; +}; + +vec4.xMat4 = function(vec, mat, dest){ + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2], w = vec[3]; + + dest[0] = mat[0]*x + mat[4]*y + mat[8]*z + mat[12]*w; + dest[1] = mat[1]*x + mat[5]*y + mat[9]*z + mat[13]*w; + dest[2] = mat[2]*x + mat[6]*y + mat[10]*z + mat[14]*w; + dest[3] = mat[3]*x + mat[7]*y + mat[11]*z + mat[15]*w; + + return dest; +}; + + +var mat2 = {}; + +mat2.create = function(mat){ + var dest; + + if(mat) { + dest = new glMatrixArrayType(4); + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0]); + else + dest = new glMatrixArrayType(4); + } + + return dest; +}; + +mat2.xVec2 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1]; + + dest[0] = mat[0]*x + mat[1]*y; + dest[1] = mat[2]*x + mat[3]*y; + + return dest; +}; + +mat2.scale = function(mat, scale, dest){ + if(!dest || mat == dest) { + mat[0] *= scale; + mat[1] *= scale; + mat[2] *= scale; + mat[3] *= scale; + return mat; + } + + dest[0] = mat[0]*scale; + dest[1] = mat[1]*scale; + dest[2] = mat[2]*scale; + dest[3] = mat[3]*scale; + return dest; +}; + +mat2.determinant = function(mat){ + return mat[0]*mat[3] - mat[1]*mat[2]; +}; + +mat2.inverse = function(mat){ + var scale = 1/(mat2.determinant(mat)); + var a = mat[3]*scale, + b = -mat[1]*scale, + c = -mat[2]*scale, + d = mat[0]; + mat[0] = a; + mat[1] = b; + mat[2] = c; + mat[3] = d; + return mat; +}; + +var vec2 = {}; +vec2.create = function(vec){ + var dest; + + if(vec) { + dest = new glMatrixArrayType(2); + dest[0] = vec[0]; + dest[1] = vec[1]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0]); + else + dest = new glMatrixArrayType(2); + } + + return dest; +}; + +vec2.subtract = function(vec, vec2, dest) { + if(!dest || vec == dest) { + vec[0] -= vec2[0]; + vec[1] -= vec2[1]; + return vec; + } + + dest[0] = vec[0] - vec2[0]; + dest[1] = vec[1] - vec2[1]; + return dest; +}; + +vec2.add = function(vec, vec2, dest) { + if(!dest || vec == dest) { + vec[0] += vec2[0]; + vec[1] += vec2[1]; + return vec; + } + + dest[0] = vec[0] + vec2[0]; + dest[1] = vec[1] + vec2[1]; + return dest; +}; + +vec2.scale = function(vec, val, dest) { + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + return dest; +}; + +vec2.normalize = function(vec, dest) { + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1]; + var len = Math.sqrt(x*x + y*y); + + if (!len) { + dest[0] = 0; + dest[1] = 0; + return dest; + } else if (len == 1) { + dest[0] = x; + dest[1] = y; + return dest; + } + + len = 1 / len; + dest[0] = x*len; + dest[1] = y*len; + return dest; +}; + +vec2.dot = function(vec, vec2){ + return vec[0]*vec2[0] + vec[1]*vec2[1]; +}; + +vec2.multiply = function(vec, vec2, dest){ + if(!dest) { dest = vec; } + + dest[0] = vec[0]*vec2[0]; + dest[1] = vec[1]*vec2[1]; + return dest; +}; + +/** + * @param vec vec2 to be unprojected [x,y] -> [x,y,1] + * @returns vec3 unprojected vector + */ +vec2.unproject = function(vec){ + return vec3.create([vec[0], vec[1], 1]); +}; + +vec2.length = function(vec){ + return Math.sqrt(vec[0]*vec[0] + vec[1]*vec[1]); +}; + +vec2.perspectiveProject = function(vec){ + var result = vec2.create(vec); + return vec2.scale(result, 1/vec[2]); +}; + +/** + * @param vec vec3 to be projected [x,y,z] -> [x/z,y/z] + * @returns vec2 projected vector + */ +vec3.project = function(vec){ + return vec2.scale(vec2.create(vec), 1/vec[2]); +}; + +var vec6 = {}; +vec6.scale = function(vec, val, dest){ + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + vec[2] *= val; + vec[3] *= val; + vec[4] *= val; + vec[5] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + dest[2] = vec[2]*val; + dest[3] = vec[3]*val; + dest[4] = vec[4]*val; + dest[5] = vec[5]*val; + return dest; +}; + +vec6.subtract = function(vec, vec2, dest){ + if(!dest || vec == dest) { + vec[0] -= vec2[0]; + vec[1] -= vec2[1]; + vec[2] -= vec2[2]; + vec[3] -= vec2[3]; + vec[4] -= vec2[4]; + vec[5] -= vec2[5]; + return vec; + } + + dest[0] = vec[0] - vec2[0]; + dest[1] = vec[1] - vec2[1]; + dest[2] = vec[2] - vec2[2]; + dest[3] = vec[3] - vec2[3]; + dest[4] = vec[4] - vec2[4]; + dest[5] = vec[5] - vec2[5]; + return dest; +}; + +vec6.dot = function(vec, vec2){ + return vec[0]*vec2[0] + vec[1]*vec2[1] + vec[2]*vec2[2] + vec[3]*vec2[3] + vec[4]*vec2[4] + vec[5]*vec2[5]; +}; + +var mat6 = {}; +mat6.xVec6 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2], u = vec[3], w = vec[4], v = vec[5]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z + mat[3]*u + mat[4]*w + mat[5]*v; + dest[1] = mat[6]*x + mat[7]*y + mat[8]*z + mat[9]*u + mat[10]*w + mat[11]*v; + dest[2] = mat[12]*x + mat[13]*y + mat[14]*z + mat[15]*u + mat[16]*w + mat[17]*v; + dest[3] = mat[18]*x + mat[19]*y + mat[20]*z + mat[21]*u + mat[22]*w + mat[23]*v; + dest[4] = mat[24]*x + mat[25]*y + mat[26]*z + mat[27]*u + mat[28]*w + mat[29]*v; + dest[5] = mat[30]*x + mat[31]*y + mat[32]*z + mat[33]*u + mat[34]*w + mat[35]*v; + + return dest; +}; + +mat3.xVec3 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z; + dest[1] = mat[3]*x + mat[4]*y + mat[5]*z; + dest[2] = mat[6]*x + mat[7]*y + mat[8]*z; + + return dest; +}; +define("glMatrixAddon", ["glMatrix"], (function (global) { + return function () { + var ret, fn; + return ret || global.glMatrixAddon; + }; +}(this))); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('array_helper',[],function() { + + + return { + init : function(arr, val) { + var l = arr.length; + while (l--) { + arr[l] = val; + } + }, + + /** + * Shuffles the content of an array + * @return {Array} the array itself shuffled + */ + shuffle : function(arr) { + var i = arr.length - 1, j, x; + for (i; i >= 0; i--) { + j = Math.floor(Math.random() * i); + x = arr[i]; + arr[i] = arr[j]; + arr[j] = x; + } + return arr; + }, + + toPointList : function(arr) { + var i, j, row = [], rows = []; + for ( i = 0; i < arr.length; i++) { + row = []; + for ( j = 0; j < arr[i].length; j++) { + row[j] = arr[i][j]; + } + rows[i] = "[" + row.join(",") + "]"; + } + return "[" + rows.join(",\r\n") + "]"; + }, + + /** + * returns the elements which's score is bigger than the threshold + * @return {Array} the reduced array + */ + threshold : function(arr, threshold, scoreFunc) { + var i, queue = []; + for ( i = 0; i < arr.length; i++) { + if (scoreFunc.apply(arr, [arr[i]]) >= threshold) { + queue.push(arr[i]); + } + } + return queue; + }, + + maxIndex : function(arr) { + var i, max = 0; + for ( i = 0; i < arr.length; i++) { + if (arr[i] > arr[max]) { + max = i; + } + } + return max; + }, + + max : function(arr) { + var i, max = 0; + for ( i = 0; i < arr.length; i++) { + if (arr[i] > max) { + max = arr[i]; + } + } + return max; + } + }; +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2, vec3 */ + +define('cv_utils',['cluster', 'glMatrixAddon', "array_helper"], function(Cluster2, glMatrixAddon, ArrayHelper) { + + + /* + * cv_utils.js + * Collection of CV functions and libraries + */ + + /** + * Namespace for various CV alorithms + * @class Represents a collection of useful CV algorithms/functions + */ + + var CVUtils = {}; + + /** + * @param x x-coordinate + * @param y y-coordinate + * @return ImageReference {x,y} Coordinate + */ + CVUtils.imageRef = function(x, y) { + var that = { + x : x, + y : y, + toVec2 : function() { + return vec2.create([this.x, this.y]); + }, + toVec3 : function() { + return vec3.create([this.x, this.y, 1]); + }, + round : function() { + this.x = this.x > 0.0 ? Math.floor(this.x + 0.5) : Math.floor(this.x - 0.5); + this.y = this.y > 0.0 ? Math.floor(this.y + 0.5) : Math.floor(this.y - 0.5); + return this; + } + }; + return that; + }; + + /** + * Computes an integral image of a given grayscale image. + * @param imageDataContainer {ImageDataContainer} the image to be integrated + */ + CVUtils.computeIntegralImage2 = function(imageWrapper, integralWrapper) { + var imageData = imageWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0, posA = 0, posB = 0, posC = 0, posD = 0, x, y; + + // sum up first column + posB = width; + sum = 0; + for ( y = 1; y < height; y++) { + sum += imageData[posA]; + integralImageData[posB] += sum; + posA += width; + posB += width; + } + + posA = 0; + posB = 1; + sum = 0; + for ( x = 1; x < width; x++) { + sum += imageData[posA]; + integralImageData[posB] += sum; + posA++; + posB++; + } + + for ( y = 1; y < height; y++) { + posA = y * width + 1; + posB = (y - 1) * width + 1; + posC = y * width; + posD = (y - 1) * width; + for ( x = 1; x < width; x++) { + integralImageData[posA] += imageData[posA] + integralImageData[posB] + integralImageData[posC] - integralImageData[posD]; + posA++; + posB++; + posC++; + posD++; + } + } + }; + + CVUtils.computeIntegralImage = function(imageWrapper, integralWrapper) { + var imageData = imageWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0; + + // sum up first row + for (var i = 0; i < width; i++) { + sum += imageData[i]; + integralImageData[i] = sum; + } + + for (var v = 1; v < height; v++) { + sum = 0; + for (var u = 0; u < width; u++) { + sum += imageData[v * width + u]; + integralImageData[((v) * width) + u] = sum + integralImageData[(v - 1) * width + u]; + } + } + }; + + CVUtils.thresholdImage = function(imageWrapper, threshold, targetWrapper) { + if (!targetWrapper) { + targetWrapper = imageWrapper; + } + var imageData = imageWrapper.data, length = imageData.length, targetData = targetWrapper.data; + + while (length--) { + targetData[length] = imageData[length] < threshold ? 0 : 1; + } + }; + + CVUtils.computeHistogram = function(imageWrapper) { + var imageData = imageWrapper.data, length = imageData.length, i, hist = new Int32Array(256); + + // init histogram + for ( i = 0; i < 256; i++) { + hist[i] = 0; + } + + while (length--) { + hist[imageData[length]]++; + } + return hist; + }; + + CVUtils.otsuThreshold = function(imageWrapper, targetWrapper) { + var hist, threshold; + + function px(init, end) { + var sum = 0, i; + for ( i = init; i <= end; i++) { + sum += hist[i]; + } + return sum; + } + + function mx(init, end) { + var i, sum = 0; + + for ( i = init; i <= end; i++) { + sum += i * hist[i]; + } + + return sum; + } + + function determineThreshold() { + var vet = [0], p1, p2, p12, k, m1, m2, m12; + + hist = CVUtils.computeHistogram(imageWrapper); + for ( k = 1; k < 255; k++) { + p1 = px(0, k); + p2 = px(k + 1, 255); + p12 = p1 * p2; + if (p12 === 0) { + p12 = 1; + } + m1 = mx(0, k) * p2; + m2 = mx(k + 1, 255) * p1; + m12 = m1 - m2; + vet[k] = m12 * m12 / p12; + } + return ArrayHelper.maxIndex(vet); + } + + threshold = determineThreshold(); + CVUtils.thresholdImage(imageWrapper, threshold, targetWrapper); + return threshold; + }; + + // local thresholding + CVUtils.computeBinaryImage = function(imageWrapper, integralWrapper, targetWrapper) { + CVUtils.computeIntegralImage(imageWrapper, integralWrapper); + + if (!targetWrapper) { + targetWrapper = imageWrapper; + } + var imageData = imageWrapper.data; + var targetData = targetWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0, v, u, kernel = 3, A, B, C, D, avg, size = (kernel * 2 + 1) * (kernel * 2 + 1); + + // clear out top & bottom-border + for ( v = 0; v <= kernel; v++) { + for ( u = 0; u < width; u++) { + targetData[((v) * width) + u] = 0; + targetData[(((height - 1) - v) * width) + u] = 0; + } + } + + // clear out left & right border + for ( v = kernel; v < height - kernel; v++) { + for ( u = 0; u <= kernel; u++) { + targetData[((v) * width) + u] = 0; + targetData[((v) * width) + (width - 1 - u)] = 0; + } + } + + for ( v = kernel + 1; v < height - kernel - 1; v++) { + for ( u = kernel + 1; u < width - kernel; u++) { + A = integralImageData[(v - kernel - 1) * width + (u - kernel - 1)]; + B = integralImageData[(v - kernel - 1) * width + (u + kernel)]; + C = integralImageData[(v + kernel) * width + (u - kernel - 1)]; + D = integralImageData[(v + kernel) * width + (u + kernel)]; + sum = D - C - B + A; + avg = sum / (size); + targetData[v * width + u] = imageData[v * width + u] > (avg + 5) ? 0 : 1; + } + } + }; + + CVUtils.cluster = function(points, threshold, property) { + var i, k, cluster, point, clusters = []; + + if (!property) { + property = "rad"; + } + + function addToCluster(point) { + var found = false; + for ( k = 0; k < clusters.length; k++) { + cluster = clusters[k]; + if (cluster.fits(point)) { + cluster.add(point); + found = true; + } + } + return found; + } + + // iterate over each cloud + for ( i = 0; i < points.length; i++) { + point = Cluster2.createPoint(points[i], i, property); + if (!addToCluster(point)) { + clusters.push(Cluster2.create(point, threshold)); + } + } + + return clusters; + + }; + + CVUtils.Tracer = { + trace : function(points, vec) { + var iteration, maxIterations = 10, top = [], result = [], centerPos = 0, currentPos = 0; + + function trace(idx, forward) { + var from, to, toIdx, predictedPos, thresholdX = 1, thresholdY = Math.abs(vec[1] / 10), found = false; + + function match(pos, predicted) { + if (pos.x > (predicted.x - thresholdX) && pos.x < (predicted.x + thresholdX) && pos.y > (predicted.y - thresholdY) && pos.y < (predicted.y + thresholdY)) { + return true; + } else { + return false; + } + } + + // check if the next index is within the vec specifications + // if not, check as long as the threshold is met + + from = points[idx]; + if (forward) { + predictedPos = { + x : from.x + vec[0], + y : from.y + vec[1] + }; + } else { + predictedPos = { + x : from.x - vec[0], + y : from.y - vec[1] + }; + } + + toIdx = forward ? idx + 1 : idx - 1; + to = points[toIdx]; + while (to && ( found = match(to, predictedPos)) !== true && (Math.abs(to.y - from.y) < vec[1])) { + toIdx = forward ? toIdx + 1 : toIdx - 1; + to = points[toIdx]; + } + + return found ? toIdx : null; + } + + for ( iteration = 0; iteration < maxIterations; iteration++) { + // randomly select point to start with + centerPos = Math.floor(Math.random() * points.length); + + // trace forward + top = []; + currentPos = centerPos; + top.push(points[currentPos]); + while (( currentPos = trace(currentPos, true)) !== null) { + top.push(points[currentPos]); + } + if (centerPos > 0) { + currentPos = centerPos; + while (( currentPos = trace(currentPos, false)) !== null) { + top.push(points[currentPos]); + } + } + + if (top.length > result.length) { + result = top; + } + } + + return result; + + } + }; + + CVUtils.DILATE = 1; + CVUtils.ERODE = 2; + + CVUtils.dilate = function(inImageWrapper, outImageWrapper) { + var v, u, inImageData = inImageWrapper.data, outImageData = outImageWrapper.data, height = inImageWrapper.size.y, width = inImageWrapper.size.x, sum, yStart1, yStart2, xStart1, xStart2; + + for ( v = 1; v < height - 1; v++) { + for ( u = 1; u < width - 1; u++) { + yStart1 = v - 1; + yStart2 = v + 1; + xStart1 = u - 1; + xStart2 = u + 1; + sum = inImageData[yStart1 * width + xStart1]/* + inImageData[yStart1*width+u] */ + inImageData[yStart1 * width + xStart2] + + /* inImageData[v*width+xStart1] + */ + inImageData[v * width + u] + /* inImageData[v*width+xStart2] +*/ + inImageData[yStart2 * width + xStart1]/* + inImageData[yStart2*width+u]*/ + inImageData[yStart2 * width + xStart2]; + outImageData[v * width + u] = sum > 0 ? 1 : 0; + } + } + }; + + CVUtils.erode = function(inImageWrapper, outImageWrapper) { + var v, u, inImageData = inImageWrapper.data, outImageData = outImageWrapper.data, height = inImageWrapper.size.y, width = inImageWrapper.size.x, sum, yStart1, yStart2, xStart1, xStart2; + + for ( v = 1; v < height - 1; v++) { + for ( u = 1; u < width - 1; u++) { + yStart1 = v - 1; + yStart2 = v + 1; + xStart1 = u - 1; + xStart2 = u + 1; + sum = inImageData[yStart1 * width + xStart1]/* + inImageData[yStart1*width+u] */ + inImageData[yStart1 * width + xStart2] + + /* inImageData[v*width+xStart1] + */ + inImageData[v * width + u] + /* inImageData[v*width+xStart2] +*/ + inImageData[yStart2 * width + xStart1]/* + inImageData[yStart2*width+u]*/ + inImageData[yStart2 * width + xStart2]; + outImageData[v * width + u] = sum === 5 ? 1 : 0; + } + } + }; + + CVUtils.subtract = function(aImageWrapper, bImageWrapper, resultImageWrapper) { + if (!resultImageWrapper) { + resultImageWrapper = aImageWrapper; + } + var length = aImageWrapper.data.length, aImageData = aImageWrapper.data, bImageData = bImageWrapper.data, cImageData = resultImageWrapper.data; + + while (length--) { + cImageData[length] = aImageData[length] - bImageData[length]; + } + }; + + CVUtils.bitwiseOr = function(aImageWrapper, bImageWrapper, resultImageWrapper) { + if (!resultImageWrapper) { + resultImageWrapper = aImageWrapper; + } + var length = aImageWrapper.data.length, aImageData = aImageWrapper.data, bImageData = bImageWrapper.data, cImageData = resultImageWrapper.data; + + while (length--) { + cImageData[length] = aImageData[length] || bImageData[length]; + } + }; + + CVUtils.countNonZero = function(imageWrapper) { + var length = imageWrapper.data.length, data = imageWrapper.data, sum = 0; + + while (length--) { + sum += data[length]; + } + return sum; + }; + + CVUtils.topGeneric = function(list, top, scoreFunc) { + var i, minIdx = 0, min = 0, queue = [], score, hit, pos; + + for ( i = 0; i < top; i++) { + queue[i] = { + score : 0, + item : null + }; + } + + for ( i = 0; i < list.length; i++) { + score = scoreFunc.apply(this, [list[i]]); + if (score > min) { + hit = queue[minIdx]; + hit.score = score; + hit.item = list[i]; + min = Number.MAX_VALUE; + for ( pos = 0; pos < top; pos++) { + if (queue[pos].score < min) { + min = queue[pos].score; + minIdx = pos; + } + } + } + } + + return queue; + }; + + CVUtils.grayArrayFromImage = function(htmlImage, offsetX, ctx, array) { + ctx.drawImage(htmlImage, offsetX, 0, htmlImage.width, htmlImage.height); + var ctxData = ctx.getImageData(offsetX, 0, htmlImage.width, htmlImage.height).data; + CVUtils.computeGray(ctxData, array); + }; + + CVUtils.grayArrayFromContext = function(ctx, size, offset, array) { + var ctxData = ctx.getImageData(offset.x, offset.y, size.x, size.y).data; + CVUtils.computeGray(ctxData, array); + }; + + CVUtils.grayAndHalfSampleFromCanvasData = function(canvasData, size, outArray) { + var topRowIdx = 0; + var bottomRowIdx = size.x; + var endIdx = Math.floor(canvasData.length / 4); + var outWidth = size.x / 2; + var outImgIdx = 0; + var inWidth = size.x; + var i; + + while (bottomRowIdx < endIdx) { + for ( i = 0; i < outWidth; i++) { + outArray[outImgIdx] = Math.floor(((0.299 * canvasData[topRowIdx * 4 + 0] + 0.587 * canvasData[topRowIdx * 4 + 1] + 0.114 * canvasData[topRowIdx * 4 + 2]) + (0.299 * canvasData[(topRowIdx + 1) * 4 + 0] + 0.587 * canvasData[(topRowIdx + 1) * 4 + 1] + 0.114 * canvasData[(topRowIdx + 1) * 4 + 2]) + (0.299 * canvasData[(bottomRowIdx) * 4 + 0] + 0.587 * canvasData[(bottomRowIdx) * 4 + 1] + 0.114 * canvasData[(bottomRowIdx) * 4 + 2]) + (0.299 * canvasData[(bottomRowIdx + 1) * 4 + 0] + 0.587 * canvasData[(bottomRowIdx + 1) * 4 + 1] + 0.114 * canvasData[(bottomRowIdx + 1) * 4 + 2])) / 4); + outImgIdx++; + topRowIdx = topRowIdx + 2; + bottomRowIdx = bottomRowIdx + 2; + } + topRowIdx = topRowIdx + inWidth; + bottomRowIdx = bottomRowIdx + inWidth; + } + + }; + + CVUtils.computeGray = function(imageData, outArray) { + var l = imageData.length / 4; + var i = 0; + for ( i = 0; i < l; i++) { + //outArray[i] = (0.299*imageData[i*4+0] + 0.587*imageData[i*4+1] + 0.114*imageData[i*4+2]); + + outArray[i] = Math.floor(0.299 * imageData[i * 4 + 0] + 0.587 * imageData[i * 4 + 1] + 0.114 * imageData[i * 4 + 2]); + } + }; + + CVUtils.loadImageArray = function(src, callback, canvas) { + if (!canvas) + canvas = document.createElement('canvas'); + var img = new Image(); + img.callback = callback; + img.onload = function() { + canvas.width = this.width; + canvas.height = this.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(this, 0, 0); + var array = new Uint8Array(this.width * this.height); + ctx.drawImage(this, 0, 0); + var data = ctx.getImageData(0, 0, this.width, this.height).data; + CVUtils.computeGray(data, array); + this.callback(array, { + x : this.width, + y : this.height + }, this); + }; + img.src = src; + }; + + /** + * @param inImg {ImageWrapper} input image to be sampled + * @param outImg {ImageWrapper} to be stored in + */ + CVUtils.halfSample = function(inImgWrapper, outImgWrapper) { + var inImg = inImgWrapper.data; + var inWidth = inImgWrapper.size.x; + var outImg = outImgWrapper.data; + var topRowIdx = 0; + var bottomRowIdx = inWidth; + var endIdx = inImg.length; + var outWidth = inWidth / 2; + var outImgIdx = 0; + while (bottomRowIdx < endIdx) { + for (var i = 0; i < outWidth; i++) { + outImg[outImgIdx] = Math.floor((inImg[topRowIdx] + inImg[topRowIdx + 1] + inImg[bottomRowIdx] + inImg[bottomRowIdx + 1]) / 4); + outImgIdx++; + topRowIdx = topRowIdx + 2; + bottomRowIdx = bottomRowIdx + 2; + } + topRowIdx = topRowIdx + inWidth; + bottomRowIdx = bottomRowIdx + inWidth; + } + }; + + CVUtils.hsv2rgb = function(hsv, rgb) { + var h = hsv[0], s = hsv[1], v = hsv[2], c = v * s, x = c * (1 - Math.abs((h / 60) % 2 - 1)), m = v - c, r = 0, g = 0, b = 0; + rgb = rgb || [0, 0, 0]; + + if (h < 60) { + r = c; + g = x; + } else if (h < 120) { + r = x; + g = c; + } else if (h < 180) { + g = c; + b = x; + } else if (h < 240) { + g = x; + b = c; + } else if (h < 300) { + r = x; + b = c; + } else if (h < 360) { + r = c; + b = x; + } + rgb[0] = ((r + m) * 255) | 0; + rgb[1] = ((g + m) * 255) | 0; + rgb[2] = ((b + m) * 255) | 0; + return rgb; + }; + + return (CVUtils); +}); + + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2, mat2 */ + +define('image_wrapper',[ + "subImage", + "cv_utils", + "array_helper" + ], + function(SubImage, CVUtils, ArrayHelper) { + + + + /** + * Represents a basic image combining the data and size. + * In addition, some methods for manipulation are contained. + * @param size {x,y} The size of the image in pixel + * @param data {Array} If given, a flat array containing the pixel data + * @param ArrayType {Type} If given, the desired DataType of the Array (may be typed/non-typed) + * @param initialize {Boolean} Indicating if the array should be initialized on creation. + * @returns {ImageWrapper} + */ + function ImageWrapper(size, data, ArrayType, initialize) { + if (!data) { + if (ArrayType) { + this.data = new ArrayType(size.x * size.y); + if (ArrayType === Array && initialize) { + ArrayHelper.init(this.data, 0); + } + } else { + this.data = new Uint8Array(size.x * size.y); + if (Uint8Array === Array && initialize) { + ArrayHelper.init(this.data, 0); + } + } + + } else { + this.data = data; + } + this.size = size; + } + + /** + * tests if a position is within the image with a given offset + * @param imgRef {x, y} The location to test + * @param border Number the padding value in pixel + * @returns {Boolean} true if location inside the image's border, false otherwise + * @see cvd/image.h + */ + ImageWrapper.prototype.inImageWithBorder = function(imgRef, border) { + return (imgRef.x >= border) && (imgRef.y >= border) && (imgRef.x < (this.size.x - border)) && (imgRef.y < (this.size.y - border)); + }; + + /** + * Transforms an image according to the given affine-transformation matrix. + * @param inImg ImageWrapper a image containing the information to be extracted. + * @param outImg ImageWrapper the image to be filled. The whole image out image is filled by the in image. + * @param M mat2 the matrix used to map point in the out matrix to those in the in matrix + * @param inOrig vec2 origin in the in image + * @param outOrig vec2 origin in the out image + * @returns Number the number of pixels not in the in image + * @see cvd/vision.h + */ + ImageWrapper.transform = function(inImg, outImg, M, inOrig, outOrig) { + var w = outImg.size.x, h = outImg.size.y, iw = inImg.size.x, ih = inImg.size.y; + var across = vec2.create([M[0], M[2]]); + var down = vec2.create([M[1], M[3]]); + var defaultValue = 0; + + var p0 = vec2.subtract(inOrig, mat2.xVec2(M, outOrig, vec2.create()), vec2.create()); + + var min_x = p0[0], min_y = p0[1]; + var max_x = min_x, max_y = min_y; + var p, i, j; + + var sampleFunc = ImageWrapper.sample; + + if (across[0] < 0) + min_x += w * across[0]; + else + max_x += w * across[0]; + + if (down[0] < 0) + min_x += h * down[0]; + else + max_x += h * down[0]; + + if (across[1] < 0) + min_y += w * across[1]; + else + max_y += w * across[1]; + + if (down[1] < 0) + min_y += h * down[1]; + else + max_y += h * down[1]; + + var carrigeReturn = vec2.subtract(down, vec2.scale(across, w, vec2.create()), vec2.create()); + + if (min_x >= 0 && min_y >= 0 && max_x < iw - 1 && max_y < ih - 1) { + p = p0; + for ( i = 0; i < h; ++i, vec2.add(p, carrigeReturn)) + for ( j = 0; j < w; ++j, vec2.add(p, across)) + outImg.set(j, i, sampleFunc(inImg, p[0], p[1])); + return 0; + } else { + var x_bound = iw - 1; + var y_bound = ih - 1; + var count = 0; + p = p0; + for ( i = 0; i < h; ++i, vec2.add(p, carrigeReturn)) { + for ( j = 0; j < w; ++j, vec2.add(p, across)) { + if (0 <= p[0] && 0 <= p[1] && p[0] < x_bound && p[1] < y_bound) { + outImg.set(j, i, sampleFunc(inImg, p[0], p[1])); + } else { + outImg.set(j, i, defaultValue); ++count; + } + } + } + return count; + } + }; + + /** + * Performs bilinear sampling + * @param inImg Image to extract sample from + * @param x the x-coordinate + * @param y the y-coordinate + * @returns the sampled value + * @see cvd/vision.h + */ + ImageWrapper.sample = function(inImg, x, y) { + var lx = Math.floor(x); + var ly = Math.floor(y); + var w = inImg.size.x; + var base = ly * inImg.size.x + lx; + var a = inImg.data[base + 0]; + var b = inImg.data[base + 1]; + var c = inImg.data[base + w]; + var d = inImg.data[base + w + 1]; + var e = a - b; + x -= lx; + y -= ly; + + var result = Math.floor(x * (y * (e - c + d) - e) + y * (c - a) + a); + return result; + }; + + /** + * Initializes a given array. Sets each element to zero. + * @param array {Array} The array to initialize + */ + ImageWrapper.clearArray = function(array) { + var l = array.length; + while (l--) { + array[l] = 0; + } + }; + + /** + * Creates a {SubImage} from the current image ({this}). + * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner) + * @param size {ImageRef} The size of the resulting image + * @returns {SubImage} A shared part of the original image + */ + ImageWrapper.prototype.subImage = function(from, size) { + return new SubImage(from, size, this); + }; + + /** + * Creates an {ImageWrapper) and copies the needed underlying image-data area + * @param imageWrapper {ImageWrapper} The target {ImageWrapper} where the data should be copied + * @param from {ImageRef} The location where to copy from (top-left location) + */ + ImageWrapper.prototype.subImageAsCopy = function(imageWrapper, from) { + var sizeY = imageWrapper.size.y, sizeX = imageWrapper.size.x; + var x, y; + for ( x = 0; x < sizeX; x++) { + for ( y = 0; y < sizeY; y++) { + imageWrapper.data[y * sizeX + x] = this.data[(from.y + y) * this.size.x + from.x + x]; + } + } + }; + + ImageWrapper.prototype.copyTo = function(imageWrapper) { + var length = this.data.length, srcData = this.data, dstData = imageWrapper.data; + + while (length--) { + dstData[length] = srcData[length]; + } + }; + + /** + * Retrieves a given pixel position from the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ + ImageWrapper.prototype.get = function(x, y) { + return this.data[y * this.size.x + x]; + }; + + /** + * Retrieves a given pixel position from the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ + ImageWrapper.prototype.getSafe = function(x, y) { + var i; + + if (!this.indexMapping) { + this.indexMapping = { + x : [], + y : [] + }; + for (i = 0; i < this.size.x; i++) { + this.indexMapping.x[i] = i; + this.indexMapping.x[i + this.size.x] = i; + } + for (i = 0; i < this.size.y; i++) { + this.indexMapping.y[i] = i; + this.indexMapping.y[i + this.size.y] = i; + } + } + return this.data[(this.indexMapping.y[y + this.size.y]) * this.size.x + this.indexMapping.x[x + this.size.x]]; + }; + + /** + * Sets a given pixel position in the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @param value {Number} The grayscale value to set + * @returns {ImageWrapper} The Image itself (for possible chaining) + */ + ImageWrapper.prototype.set = function(x, y, value) { + this.data[y * this.size.x + x] = value; + return this; + }; + + /** + * Sets the border of the image (1 pixel) to zero + */ + ImageWrapper.prototype.zeroBorder = function() { + var i, width = this.size.x, height = this.size.y, data = this.data; + for ( i = 0; i < width; i++) { + data[i] = data[(height - 1) * width + i] = 0; + } + for ( i = 1; i < height - 1; i++) { + data[i * width] = data[i * width + (width - 1)] = 0; + } + }; + + /** + * Inverts a binary image in place + */ + ImageWrapper.prototype.invert = function() { + var data = this.data, length = data.length; + + while (length--) { + data[length] = data[length] ? 0 : 1; + } + + }; + + ImageWrapper.prototype.convolve = function(kernel) { + var x, y, kx, ky, kSize = (kernel.length / 2) | 0, accu = 0; + for ( y = 0; y < this.size.y; y++) { + for ( x = 0; x < this.size.x; x++) { + accu = 0; + for ( ky = -kSize; ky <= kSize; ky++) { + for ( kx = -kSize; kx <= kSize; kx++) { + accu += kernel[ky+kSize][kx + kSize] * this.getSafe(x + kx, y + ky); + } + } + this.data[y * this.size.x + x] = accu; + } + } + }; + + ImageWrapper.prototype.moments = function(labelcount) { + var data = this.data, + x, + y, + height = this.size.y, + width = this.size.x, + val, + ysq, + labelsum = [], + i, + label, + mu11, + mu02, + mu20, + x_, + y_, + tmp, + result = [], + PI = Math.PI, + PI_4 = PI / 4; + + if (labelcount <= 0) { + return result; + } + + for ( i = 0; i < labelcount; i++) { + labelsum[i] = { + m00 : 0, + m01 : 0, + m10 : 0, + m11 : 0, + m02 : 0, + m20 : 0, + theta : 0, + rad : 0 + }; + } + + for ( y = 0; y < height; y++) { + ysq = y * y; + for ( x = 0; x < width; x++) { + val = data[y * width + x]; + if (val > 0) { + label = labelsum[val - 1]; + label.m00 += 1; + label.m01 += y; + label.m10 += x; + label.m11 += x * y; + label.m02 += ysq; + label.m20 += x * x; + } + } + } + + for ( i = 0; i < labelcount; i++) { + label = labelsum[i]; + if (!isNaN(label.m00) && label.m00 !== 0) { + x_ = label.m10 / label.m00; + y_ = label.m01 / label.m00; + mu11 = label.m11 / label.m00 - x_ * y_; + mu02 = label.m02 / label.m00 - y_ * y_; + mu20 = label.m20 / label.m00 - x_ * x_; + tmp = (mu02 - mu20) / (2 * mu11); + tmp = 0.5 * Math.atan(tmp) + (mu11 >= 0 ? PI_4 : -PI_4 ) + PI; + label.theta = (tmp * 180 / PI + 90) % 180 - 90; + if (label.theta < 0) { + label.theta += 180; + } + label.rad = tmp > PI ? tmp - PI : tmp; + label.vec = vec2.create([Math.cos(tmp), Math.sin(tmp)]); + result.push(label); + } + } + + return result; + }; + + /** + * Displays the {ImageWrapper} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ + ImageWrapper.prototype.show = function(canvas, scale) { + var ctx, + frame, + data, + current, + pixel, + x, + y; + + if (!scale) { + scale = 1.0; + } + ctx = canvas.getContext('2d'); + canvas.width = this.size.x; + canvas.height = this.size.y; + frame = ctx.getImageData(0, 0, canvas.width, canvas.height); + data = frame.data; + current = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + pixel = y * this.size.x + x; + current = this.get(x, y) * scale; + data[pixel * 4 + 0] = current; + data[pixel * 4 + 1] = current; + data[pixel * 4 + 2] = current; + data[pixel * 4 + 3] = 255; + } + } + //frame.data = data; + ctx.putImageData(frame, 0, 0); + }; + + /** + * Displays the {SubImage} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ + ImageWrapper.prototype.overlay = function(canvas, scale, from) { + if (!scale || scale < 0 || scale > 360) { + scale = 360; + } + var hsv = [0, 1, 1]; + var rgb = [0, 0, 0]; + var whiteRgb = [255, 255, 255]; + var blackRgb = [0, 0, 0]; + var result = []; + var ctx = canvas.getContext('2d'); + var frame = ctx.getImageData(from.x, from.y, this.size.x, this.size.y); + var data = frame.data; + var length = this.data.length; + while (length--) { + hsv[0] = this.data[length] * scale; + result = hsv[0] <= 0 ? whiteRgb : hsv[0] >= 360 ? blackRgb : CVUtils.hsv2rgb(hsv, rgb); + data[length * 4 + 0] = result[0]; + data[length * 4 + 1] = result[1]; + data[length * 4 + 2] = result[2]; + data[length * 4 + 3] = 255; + } + ctx.putImageData(frame, from.x, from.y); + }; + + return (ImageWrapper); +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +/** + * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization + */ +define('tracer',[],function() { + + + var Tracer = { + searchDirections : [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]], + create : function(imageWrapper, labelWrapper) { + var imageData = imageWrapper.data, + labelData = labelWrapper.data, + searchDirections = this.searchDirections, + width = imageWrapper.size.x, + pos; + + function trace(current, color, label, edgelabel) { + var i, + y, + x; + + for ( i = 0; i < 7; i++) { + y = current.cy + searchDirections[current.dir][0]; + x = current.cx + searchDirections[current.dir][1]; + pos = y * width + x; + if ((imageData[pos] === color) && ((labelData[pos] === 0) || (labelData[pos] === label))) { + labelData[pos] = label; + current.cy = y; + current.cx = x; + return true; + } else { + if (labelData[pos] === 0) { + labelData[pos] = edgelabel; + } + current.dir = (current.dir + 1) % 8; + } + } + return false; + } + + function vertex2D(x, y, dir) { + return { + dir : dir, + x : x, + y : y, + next : null, + prev : null + }; + } + + function contourTracing(sy, sx, label, color, edgelabel) { + var Fv = null, + Cv, + P, + ldir, + current = { + cx : sx, + cy : sy, + dir : 0 + }; + + if (trace(current, color, label, edgelabel)) { + Fv = vertex2D(sx, sy, current.dir); + Cv = Fv; + ldir = current.dir; + P = vertex2D(current.cx, current.cy, 0); + P.prev = Cv; + Cv.next = P; + P.next = null; + Cv = P; + do { + current.dir = (current.dir + 6) % 8; + trace(current, color, label, edgelabel); + if (ldir != current.dir) { + Cv.dir = current.dir; + P = vertex2D(current.cx, current.cy, 0); + P.prev = Cv; + Cv.next = P; + P.next = null; + Cv = P; + } else { + Cv.dir = ldir; + Cv.x = current.cx; + Cv.y = current.cy; + } + ldir = current.dir; + } while(current.cx != sx || current.cy != sy); + Fv.prev = Cv.prev; + Cv.prev.next = Fv; + } + return Fv; + } + + return { + trace : function(current, color, label, edgelabel) { + return trace(current, color, label, edgelabel); + }, + contourTracing : function(sy, sx, label, color, edgelabel) { + return contourTracing(sy, sx, label, color, edgelabel); + } + }; + } + }; + + return (Tracer); +}); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +/** + * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization + */ +define('rasterizer',["tracer"], function(Tracer) { + + + var Rasterizer = { + createContour2D : function() { + return { + dir : null, + index : null, + firstVertex : null, + insideContours : null, + nextpeer : null, + prevpeer : null + }; + }, + CONTOUR_DIR : { + CW_DIR : 0, + CCW_DIR : 1, + UNKNOWN_DIR : 2 + }, + DIR : { + OUTSIDE_EDGE : -32767, + INSIDE_EDGE : -32766 + }, + create : function(imageWrapper, labelWrapper) { + var imageData = imageWrapper.data, + labelData = labelWrapper.data, + width = imageWrapper.size.x, + height = imageWrapper.size.y, + tracer = Tracer.create(imageWrapper, labelWrapper); + + return { + rasterize : function(depthlabel) { + var color, + bc, + lc, + labelindex, + cx, + cy, + colorMap = [], + vertex, + p, + cc, + sc, + pos, + connectedCount = 0, + i; + + for ( i = 0; i < 400; i++) { + colorMap[i] = 0; + } + + colorMap[0] = imageData[0]; + cc = null; + for ( cy = 1; cy < height - 1; cy++) { + labelindex = 0; + bc = colorMap[0]; + for ( cx = 1; cx < width - 1; cx++) { + pos = cy * width + cx; + if (labelData[pos] === 0) { + color = imageData[pos]; + if (color !== bc) { + if (labelindex === 0) { + lc = connectedCount + 1; + colorMap[lc] = color; + bc = color; + vertex = tracer.contourTracing(cy, cx, lc, color, Rasterizer.DIR.OUTSIDE_EDGE); + if (vertex !== null) { + connectedCount++; + labelindex = lc; + p = Rasterizer.createContour2D(); + p.dir = Rasterizer.CONTOUR_DIR.CW_DIR; + p.index = labelindex; + p.firstVertex = vertex; + p.nextpeer = cc; + p.insideContours = null; + if (cc !== null) { + cc.prevpeer = p; + } + cc = p; + } + } else { + vertex = tracer.contourTracing(cy, cx, Rasterizer.DIR.INSIDE_EDGE, color, labelindex); + if (vertex !== null) { + p = Rasterizer.createContour2D(); + p.firstVertex = vertex; + p.insideContours = null; + if (depthlabel === 0) { + p.dir = Rasterizer.CONTOUR_DIR.CCW_DIR; + } else { + p.dir = Rasterizer.CONTOUR_DIR.CW_DIR; + } + p.index = depthlabel; + sc = cc; + while ((sc !== null) && sc.index !== labelindex) { + sc = sc.nextpeer; + } + if (sc !== null) { + p.nextpeer = sc.insideContours; + if (sc.insideContours !== null) { + sc.insideContours.prevpeer = p; + } + sc.insideContours = p; + } + } + } + } else { + labelData[pos] = labelindex; + } + } else if (labelData[pos] === Rasterizer.DIR.OUTSIDE_EDGE || labelData[pos] === Rasterizer.DIR.INSIDE_EDGE) { + labelindex = 0; + if (labelData[pos] === Rasterizer.DIR.INSIDE_EDGE) { + bc = imageData[pos]; + } else { + bc = colorMap[0]; + } + } else { + labelindex = labelData[pos]; + bc = colorMap[labelindex]; + } + } + } + sc = cc; + while (sc !== null) { + sc.index = depthlabel; + sc = sc.nextpeer; + } + return { + cc : cc, + count : connectedCount + }; + }, + debug: { + drawContour : function(canvas, firstContour) { + var ctx = canvas.getContext("2d"), + pq = firstContour, + iq, + q, + p; + + ctx.strokeStyle = "red"; + ctx.fillStyle = "red"; + ctx.lineWidth = 1; + + if (pq !== null) { + iq = pq.insideContours; + } else { + iq = null; + } + + while (pq !== null) { + if (iq !== null) { + q = iq; + iq = iq.nextpeer; + } else { + q = pq; + pq = pq.nextpeer; + if (pq !== null) { + iq = pq.insideContours; + } else { + iq = null; + } + } + + switch(q.dir) { + case Rasterizer.CONTOUR_DIR.CW_DIR: + ctx.strokeStyle = "red"; + break; + case Rasterizer.CONTOUR_DIR.CCW_DIR: + ctx.strokeStyle = "blue"; + break; + case Rasterizer.CONTOUR_DIR.UNKNOWN_DIR: + ctx.strokeStyle = "green"; + break; + } + + p = q.firstVertex; + ctx.beginPath(); + ctx.moveTo(p.x, p.y); + do { + p = p.next; + ctx.lineTo(p.x, p.y); + } while(p !== q.firstVertex); + ctx.stroke(); + } + } + } + }; + } + }; + + return (Rasterizer); +}); + +/* jshint undef: true, unused: true, browser:true, devel: true, -W041: false */ +/* global define */ + +define('skeletonizer',[],function() { + + + function Skeletonizer(stdlib, foreign, buffer) { + "use asm"; + + var images = new stdlib.Uint8Array(buffer), + size = foreign.size | 0, + imul = stdlib.Math.imul; + + function erode(inImagePtr, outImagePtr) { + inImagePtr = inImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var v = 0, + u = 0, + sum = 0, + yStart1 = 0, + yStart2 = 0, + xStart1 = 0, + xStart2 = 0, + offset = 0; + + for ( v = 1; (v | 0) < ((size - 1) | 0); v = (v + 1) | 0) { + offset = (offset + size) | 0; + for ( u = 1; (u | 0) < ((size - 1) | 0); u = (u + 1) | 0) { + yStart1 = (offset - size) | 0; + yStart2 = (offset + size) | 0; + xStart1 = (u - 1) | 0; + xStart2 = (u + 1) | 0; + sum = ((images[(inImagePtr + yStart1 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart1 + xStart2) | 0] | 0) + (images[(inImagePtr + offset + u) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart2) | 0] | 0)) | 0; + if ((sum | 0) == (5 | 0)) { + images[(outImagePtr + offset + u) | 0] = 1; + } else { + images[(outImagePtr + offset + u) | 0] = 0; + } + } + } + return; + } + + function subtract(aImagePtr, bImagePtr, outImagePtr) { + aImagePtr = aImagePtr | 0; + bImagePtr = bImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(outImagePtr + length) | 0] = ((images[(aImagePtr + length) | 0] | 0) - (images[(bImagePtr + length) | 0] | 0)) | 0; + } + } + + function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) { + aImagePtr = aImagePtr | 0; + bImagePtr = bImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(outImagePtr + length) | 0] = ((images[(aImagePtr + length) | 0] | 0) | (images[(bImagePtr + length) | 0] | 0)) | 0; + } + } + + function countNonZero(imagePtr) { + imagePtr = imagePtr | 0; + + var sum = 0, + length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + sum = ((sum | 0) + (images[(imagePtr + length) | 0] | 0)) | 0; + } + + return (sum | 0); + } + + function init(imagePtr, value) { + imagePtr = imagePtr | 0; + value = value | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(imagePtr + length) | 0] = value; + } + } + + function dilate(inImagePtr, outImagePtr) { + inImagePtr = inImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var v = 0, + u = 0, + sum = 0, + yStart1 = 0, + yStart2 = 0, + xStart1 = 0, + xStart2 = 0, + offset = 0; + + for ( v = 1; (v | 0) < ((size - 1) | 0); v = (v + 1) | 0) { + offset = (offset + size) | 0; + for ( u = 1; (u | 0) < ((size - 1) | 0); u = (u + 1) | 0) { + yStart1 = (offset - size) | 0; + yStart2 = (offset + size) | 0; + xStart1 = (u - 1) | 0; + xStart2 = (u + 1) | 0; + sum = ((images[(inImagePtr + yStart1 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart1 + xStart2) | 0] | 0) + (images[(inImagePtr + offset + u) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart2) | 0] | 0)) | 0; + if ((sum | 0) > (0 | 0)) { + images[(outImagePtr + offset + u) | 0] = 1; + } else { + images[(outImagePtr + offset + u) | 0] = 0; + } + } + } + return; + } + + function memcpy(srcImagePtr, dstImagePtr) { + srcImagePtr = srcImagePtr | 0; + dstImagePtr = dstImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(dstImagePtr + length) | 0] = (images[(srcImagePtr + length) | 0] | 0); + } + } + + function zeroBorder(imagePtr) { + imagePtr = imagePtr | 0; + + var x = 0, + y = 0; + + for ( x = 0; (x | 0) < ((size - 1) | 0); x = (x + 1) | 0) { + images[(imagePtr + x) | 0] = 0; + images[(imagePtr + y) | 0] = 0; + y = ((y + size) - 1) | 0; + images[(imagePtr + y) | 0] = 0; + y = (y + 1) | 0; + } + for ( x = 0; (x | 0) < (size | 0); x = (x + 1) | 0) { + images[(imagePtr + y) | 0] = 0; + y = (y + 1) | 0; + } + } + + function skeletonize() { + var subImagePtr = 0, + erodedImagePtr = 0, + tempImagePtr = 0, + skelImagePtr = 0, + sum = 0, + done = 0; + + erodedImagePtr = imul(size, size) | 0; + tempImagePtr = (erodedImagePtr + erodedImagePtr) | 0; + skelImagePtr = (tempImagePtr + erodedImagePtr) | 0; + + // init skel-image + init(skelImagePtr, 0); + zeroBorder(subImagePtr); + + do { + erode(subImagePtr, erodedImagePtr); + dilate(erodedImagePtr, tempImagePtr); + subtract(subImagePtr, tempImagePtr, tempImagePtr); + bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr); + memcpy(erodedImagePtr, subImagePtr); + sum = countNonZero(subImagePtr) | 0; + done = ((sum | 0) == 0 | 0); + } while(!done); + } + + return { + skeletonize : skeletonize + }; + } + + return Skeletonizer; +}); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('image_debug',[],function() { + + + return { + drawRect: function(pos, size, ctx, style){ + ctx.strokeStyle = style.color; + ctx.fillStyle = style.color; + ctx.lineWidth = 1; + ctx.beginPath(); + ctx.strokeRect(pos.x, pos.y, size.x, size.y); + }, + drawPath: function(path, def, ctx, style) { + ctx.strokeStyle = style.color; + ctx.fillStyle = style.color; + ctx.lineWidth = style.lineWidth; + ctx.beginPath(); + ctx.moveTo(path[0][def.x], path[0][def.y]); + for (var j = 1; j < path.length; j++) { + ctx.lineTo(path[j][def.x], path[j][def.y]); + } + ctx.closePath(); + ctx.stroke(); + } + }; + +}); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, mat2, vec2 */ + +define('barcode_locator',["image_wrapper", "cv_utils", "rasterizer", "tracer", "skeletonizer", "array_helper", "image_debug"], +function(ImageWrapper, CVUtils, Rasterizer, Tracer, skeletonizer, ArrayHelper, ImageDebug) { + + + var _config, + _currentImageWrapper, + _skelImageWrapper, + _subImageWrapper, + _labelImageWrapper, + _patchGrid, + _patchLabelGrid, + _imageToPatchGrid, + _binaryImageWrapper, + _halfSample = true, + _patchSize, + _canvasContainer = { + ctx : { + binary : null + }, + dom : { + binary : null + } + }, + _numPatches = {x: 0, y: 0}, + _inputImageWrapper, + _skeletonizer; + + function initBuffers() { + var skeletonImageData; + + if (_halfSample) { + _currentImageWrapper = new ImageWrapper({ + x : _inputImageWrapper.size.x / 2 | 0, + y : _inputImageWrapper.size.y / 2 | 0 + }); + } else { + _currentImageWrapper = _inputImageWrapper; + } + + _patchSize = { + x : 16 * ( _halfSample ? 1 : 2), + y : 16 * ( _halfSample ? 1 : 2) + }; + + _numPatches.x = _currentImageWrapper.size.x / _patchSize.x | 0; + _numPatches.y = _currentImageWrapper.size.y / _patchSize.y | 0; + + _binaryImageWrapper = new ImageWrapper(_currentImageWrapper.size, undefined, Uint8Array, false); + + _labelImageWrapper = new ImageWrapper(_patchSize, undefined, Array, true); + + skeletonImageData = new ArrayBuffer(_patchSize.x * _patchSize.y * 16); + _subImageWrapper = new ImageWrapper(_patchSize, new Uint8Array(skeletonImageData, 0, _patchSize.x * _patchSize.y)); + _skelImageWrapper = new ImageWrapper(_patchSize, new Uint8Array(skeletonImageData, _patchSize.x * _patchSize.y * 3, _patchSize.x * _patchSize.y), undefined, true); + _skeletonizer = skeletonizer(window, { + size : _patchSize.x + }, skeletonImageData); + + _imageToPatchGrid = new ImageWrapper({ + x : (_currentImageWrapper.size.x / _subImageWrapper.size.x) | 0, + y : (_currentImageWrapper.size.y / _subImageWrapper.size.y) | 0 + }, undefined, Array, true); + _patchGrid = new ImageWrapper(_imageToPatchGrid.size, undefined, undefined, true); + _patchLabelGrid = new ImageWrapper(_imageToPatchGrid.size, undefined, Int32Array, true); + } + + function initCanvas() { + _canvasContainer.dom.binary = document.createElement("canvas"); + _canvasContainer.dom.binary.className = "binaryBuffer"; + if (_config.showCanvas === true) { + document.querySelector("#debug").appendChild(_canvasContainer.dom.binary); + } + _canvasContainer.ctx.binary = _canvasContainer.dom.binary.getContext("2d"); + _canvasContainer.dom.binary.width = _binaryImageWrapper.size.x; + _canvasContainer.dom.binary.height = _binaryImageWrapper.size.y; + } + + /** + * Creates a bounding box which encloses all the given patches + * @returns {Array} The minimal bounding box + */ + function boxFromPatches(patches) { + var overAvg, i, j, patch, transMat, minx = _binaryImageWrapper.size.x, miny = _binaryImageWrapper.size.y, maxx = -_binaryImageWrapper.size.x, maxy = -_binaryImageWrapper.size.y, box, scale; + + // draw all patches which are to be taken into consideration + overAvg = 0; + for ( i = 0; i < patches.length; i++) { + patch = patches[i]; + overAvg += patch.rad; + if (_config.showPatches) { + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "red"}); + } + } + + overAvg /= patches.length; + overAvg = (overAvg * 180 / Math.PI + 90) % 180 - 90; + if (overAvg < 0) { + overAvg += 180; + } + + //console.log(overAvg); + overAvg = (180 - overAvg) * Math.PI / 180; + transMat = mat2.create([Math.cos(overAvg), -Math.sin(overAvg), Math.sin(overAvg), Math.cos(overAvg)]); + + // iterate over patches and rotate by angle + for ( i = 0; i < patches.length; i++) { + patch = patches[i]; + for ( j = 0; j < 4; j++) { + mat2.xVec2(transMat, patch.box[j]); + } + + if (_config.boxFromPatches.showTransformed) { + ImageDebug.drawPath(patch.box, {x: 0, y: 1}, _canvasContainer.ctx.binary, {color: '#99ff00', lineWidth: 2}); + } + } + + // find bounding box + for ( i = 0; i < patches.length; i++) { + patch = patches[i]; + for ( j = 0; j < 4; j++) { + if (patch.box[j][0] < minx) { + minx = patch.box[j][0]; + } + if (patch.box[j][0] > maxx) { + maxx = patch.box[j][0]; + } + if (patch.box[j][1] < miny) { + miny = patch.box[j][1]; + } + if (patch.box[j][1] > maxy) { + maxy = patch.box[j][1]; + } + } + } + + box = [[minx, miny], [maxx, miny], [maxx, maxy], [minx, maxy]]; + + if (_config.boxFromPatches.showTransformedBox) { + ImageDebug.drawPath(box, {x: 0, y: 1}, _canvasContainer.ctx.binary, {color: '#ff0000', lineWidth: 2}); + } + + scale = _halfSample ? 2 : 1; + // reverse rotation; + transMat = mat2.inverse(transMat); + for ( j = 0; j < 4; j++) { + mat2.xVec2(transMat, box[j]); + } + + if (_config.boxFromPatches.showBB) { + ImageDebug.drawPath(box, {x: 0, y: 1}, _canvasContainer.ctx.binary, {color: '#ff0000', lineWidth: 2}); + } + + for ( j = 0; j < 4; j++) { + vec2.scale(box[j], scale); + } + + return box; + } + + /** + * Creates a binary image of the current image + */ + function binarizeImage() { + CVUtils.otsuThreshold(_currentImageWrapper, _binaryImageWrapper); + _binaryImageWrapper.zeroBorder(); + if (_config.showCanvas) { + _binaryImageWrapper.show(_canvasContainer.dom.binary, 255); + } + } + + /** + * Iterate over the entire image + * extract patches + */ + function findPatches() { + var i, + j, + x, + y, + moments, + patchesFound = [], + rasterizer, + rasterResult, + patch; + for ( i = 0; i < _numPatches.x; i++) { + for ( j = 0; j < _numPatches.y; j++) { + + x = _subImageWrapper.size.x * i; + y = _subImageWrapper.size.y * j; + + // seperate parts + skeletonize(x, y); + + // Rasterize, find individual bars + _skelImageWrapper.zeroBorder(); + ArrayHelper.init(_labelImageWrapper.data, 0); + rasterizer = Rasterizer.create(_skelImageWrapper, _labelImageWrapper); + rasterResult = rasterizer.rasterize(0); + + if (_config.showLabels) { + _labelImageWrapper.overlay(_canvasContainer.dom.binary, Math.floor(360 / rasterResult.count), {x : x, y : y}); + } + + // calculate moments from the skeletonized patch + moments = _labelImageWrapper.moments(rasterResult.count); + + // extract eligible patches + patchesFound = patchesFound.concat(describePatch(moments, [i, j], x, y)); + } + } + + if (_config.showFoundPatches) { + for ( i = 0; i < patchesFound.length; i++) { + patch = patchesFound[i]; + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "99ff00", lineWidth: 2}); + } + } + + return patchesFound; + } + + /** + * Finds those connected areas which contain at least 6 patches + * and returns them ordered DESC by the number of contained patches + * @param {Number} maxLabel + */ + function findBiggestConnectedAreas(maxLabel){ + var i, + sum, + labelHist = [], + topLabels = []; + + for ( i = 0; i < maxLabel; i++) { + labelHist.push(0); + } + sum = _patchLabelGrid.data.length; + while (sum--) { + if (_patchLabelGrid.data[sum] > 0) { + labelHist[_patchLabelGrid.data[sum] - 1]++; + } + } + + labelHist = labelHist.map(function(val, idx) { + return { + val : val, + label : idx + 1 + }; + }); + + labelHist.sort(function(a, b) { + return b.val - a.val; + }); + + // extract top areas with at least 6 patches present + topLabels = labelHist.filter(function(el) { + return el.val >= 5; + }); + + return topLabels; + } + + /** + * + */ + function findBoxes(topLabels, maxLabel) { + var i, + j, + sum, + patches = [], + patch, + box, + boxes = [], + hsv = [0, 1, 1], + rgb = [0, 0, 0]; + + for ( i = 0; i < topLabels.length; i++) { + sum = _patchLabelGrid.data.length; + patches.length = 0; + while (sum--) { + if (_patchLabelGrid.data[sum] === topLabels[i].label) { + patch = _imageToPatchGrid.data[sum]; + patches.push(patch); + } + } + box = boxFromPatches(patches); + if (box) { + boxes.push(box); + + // draw patch-labels if requested + if (_config.showRemainingPatchLabels) { + for ( j = 0; j < patches.length; j++) { + patch = patches[j]; + hsv[0] = (topLabels[i].label / (maxLabel + 1)) * 360; + CVUtils.hsv2rgb(hsv, rgb); + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "rgb(" + rgb.join(",") + ")", lineWidth: 2}); + } + } + } + } + return boxes; + } + + /** + * Find similar moments (via cluster) + * @param {Object} moments + */ + function similarMoments(moments) { + var clusters = CVUtils.cluster(moments, 0.90); + var topCluster = CVUtils.topGeneric(clusters, 1, function(e) { + return e.getPoints().length; + }); + var points = [], result = []; + if (topCluster.length === 1) { + points = topCluster[0].item.getPoints(); + for (var i = 0; i < points.length; i++) { + result.push(points[i].point); + } + } + return result; + } + + function skeletonize(x, y) { + _binaryImageWrapper.subImageAsCopy(_subImageWrapper, CVUtils.imageRef(x, y)); + _skeletonizer.skeletonize(); + + // Show skeleton if requested + if (_config.showSkeleton) { + _skelImageWrapper.overlay(_canvasContainer.dom.binary, 360, CVUtils.imageRef(x, y)); + } + } + + /** + * Extracts and describes those patches which seem to contain a barcode pattern + * @param {Array} moments + * @param {Object} patchPos, + * @param {Number} x + * @param {Number} y + * @returns {Array} list of patches + */ + function describePatch(moments, patchPos, x, y) { + var k, avg, sum = 0, eligibleMoments = [], matchingMoments, patch, patchesFound = []; + if (moments.length >= 2) { + // only collect moments which's area covers at least 6 pixels. + for ( k = 0; k < moments.length; k++) { + if (moments[k].m00 > 6) { + eligibleMoments.push(moments[k]); + } + } + + // if at least 2 moments are found which have 6pixels covered + if (eligibleMoments.length >= 2) { + sum = eligibleMoments.length; + matchingMoments = similarMoments(eligibleMoments); + avg = 0; + // determine the similarity of the moments + for ( k = 0; k < matchingMoments.length; k++) { + avg += matchingMoments[k].rad; + } + + // Only two of the moments are allowed not to fit into the equation + // add the patch to the set + if (matchingMoments.length > 1 && matchingMoments.length >= (eligibleMoments.length / 4) * 3 && matchingMoments.length > moments.length / 4) { + avg /= matchingMoments.length; + patch = { + index : patchPos[1] * _numPatches.x + patchPos[0], + pos : { + x : x, + y : y + }, + box : [vec2.create([x, y]), vec2.create([x + _subImageWrapper.size.x, y]), vec2.create([x + _subImageWrapper.size.x, y + _subImageWrapper.size.y]), vec2.create([x, y + _subImageWrapper.size.y])], + moments : matchingMoments, + rad : avg, + vec : vec2.create([Math.cos(avg), Math.sin(avg)]) + }; + patchesFound.push(patch); + } + } + } + return patchesFound; + } + + /** + * finds patches which are connected and share the same orientation + * @param {Object} patchesFound + */ + function rasterizeAngularSimilarity(patchesFound) { + var label = 0, + threshold = 0.95, + currIdx = 0, + j, + patch, + hsv = [0, 1, 1], + rgb = [0, 0, 0]; + + function notYetProcessed() { + var i; + for ( i = 0; i < _patchLabelGrid.data.length; i++) { + if (_patchLabelGrid.data[i] === 0 && _patchGrid.data[i] === 1) { + return i; + } + } + return _patchLabelGrid.length; + } + + function trace(currentIdx) { + var x, y, currentPatch, patch, idx, dir, current = { + x : currentIdx % _patchLabelGrid.size.x, + y : (currentIdx / _patchLabelGrid.size.x) | 0 + }, similarity; + + if (currentIdx < _patchLabelGrid.data.length) { + currentPatch = _imageToPatchGrid.data[currentIdx]; + // assign label + _patchLabelGrid.data[currentIdx] = label; + for ( dir = 0; dir < Tracer.searchDirections.length; dir++) { + y = current.y + Tracer.searchDirections[dir][0]; + x = current.x + Tracer.searchDirections[dir][1]; + idx = y * _patchLabelGrid.size.x + x; + + // continue if patch empty + if (_patchGrid.data[idx] === 0) { + _patchLabelGrid.data[idx] = Number.MAX_VALUE; + continue; + } + + patch = _imageToPatchGrid.data[idx]; + if (_patchLabelGrid.data[idx] === 0) { + similarity = Math.abs(vec2.dot(patch.vec, currentPatch.vec)); + if (similarity > threshold) { + trace(idx); + } + } + } + } + } + + // prepare for finding the right patches + ArrayHelper.init(_patchGrid.data, 0); + ArrayHelper.init(_patchLabelGrid.data, 0); + ArrayHelper.init(_imageToPatchGrid.data, null); + + for ( j = 0; j < patchesFound.length; j++) { + patch = patchesFound[j]; + _imageToPatchGrid.data[patch.index] = patch; + _patchGrid.data[patch.index] = 1; + } + + // rasterize the patches found to determine area + _patchGrid.zeroBorder(); + + while (( currIdx = notYetProcessed()) < _patchLabelGrid.data.length) { + label++; + trace(currIdx); + } + + // draw patch-labels if requested + if (_config.showPatchLabels) { + for ( j = 0; j < _patchLabelGrid.data.length; j++) { + if (_patchLabelGrid.data[j] > 0 && _patchLabelGrid.data[j] <= label) { + patch = _imageToPatchGrid.data[j]; + hsv[0] = (_patchLabelGrid.data[j] / (label + 1)) * 360; + CVUtils.hsv2rgb(hsv, rgb); + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "rgb(" + rgb.join(",") + ")", lineWidth: 2}); + } + } + } + + return label; + } + + return { + init : function(config, data) { + _config = config; + _inputImageWrapper = data.inputImageWrapper; + initBuffers(); + initCanvas(); + }, + locate : function() { + var patchesFound, + topLabels = [], + boxes = []; + + if (_halfSample) { + CVUtils.halfSample(_inputImageWrapper, _currentImageWrapper); + } + + binarizeImage(); + patchesFound = findPatches(); + // return unless 5% or more patches are found + if (patchesFound.length < _numPatches.x * _numPatches.y * 0.05) { + return; + } + + // rasterrize area by comparing angular similarity; + var maxLabel = rasterizeAngularSimilarity(patchesFound); + if (maxLabel <= 1) { + return null; + } + + // search for area with the most patches (biggest connected area) + topLabels = findBiggestConnectedAreas(maxLabel); + if (topLabels.length === 0) { + return null; + } + + boxes = findBoxes(topLabels, maxLabel); + + return boxes; + } + }; +}); + + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('bresenham',[],function() { + + var Bresenham = {}; + + var Slope = { + DIR : { + UP : 1, + DOWN : -1 + } + }; + /** + * Scans a line of the given image from point p1 to p2 and returns a result object containing + * gray-scale values (0-255) of the underlying pixels in addition to the min + * and max values. + * @param {Object} imageWrapper + * @param {Object} p1 The start point {x,y} + * @param {Object} p2 The end point {x,y} + * @returns {line, min, max} + */ + Bresenham.getBarcodeLine = function(imageWrapper, p1, p2) { + var x0 = p1.x | 0, + y0 = p1.y | 0, + x1 = p2.x | 0, + y1 = p2.y | 0, + steep = Math.abs(y1 - y0) > Math.abs(x1 - x0), + deltax, + deltay, + error, + ystep, + y, + tmp, + x, + line = [], + imageData = imageWrapper.data, + width = imageWrapper.size.x, + sum = 0, + val, + min = 255, + max = 0; + + function read(a, b) { + val = imageData[b * width + a]; + sum += val; + min = val < min ? val : min; + max = val > max ? val : max; + line.push(val); + } + + if (steep) { + tmp = x0; + x0 = y0; + y0 = tmp; + + tmp = x1; + x1 = y1; + y1 = tmp; + } + if (x0 > x1) { + tmp = x0; + x0 = x1; + x1 = tmp; + + tmp = y0; + y0 = y1; + y1 = tmp; + } + deltax = x1 - x0; + deltay = Math.abs(y1 - y0); + error = (deltax / 2) | 0; + y = y0; + ystep = y0 < y1 ? 1 : -1; + for ( x = x0; x < x1; x++) { + if(steep){ + read(y, x); + } else { + read(x, y); + } + error = error - deltay; + if (error < 0) { + y = y + ystep; + error = error + deltax; + } + } + + return { + line : line, + min : min, + max : max + }; + }; + + /** + * Converts the result from getBarcodeLine into a binary representation + * also considering the frequency and slope of the signal for more robust results + * @param {Object} result {line, min, max} + */ + Bresenham.toBinaryLine = function(result) { + + var min = result.min, + max = result.max, + line = result.line, + slope, + center = min + (max - min) / 2, + extrema = [], + currentDir, + dir, + threshold = (max - min) / 8, + rThreshold = -threshold, + i, + j; + + // 1. find extrema + currentDir = line[0] > center ? Slope.DIR.DOWN : Slope.DIR.UP; + extrema.push({ + pos : 0, + val : line[0] + }); + for ( i = 0; i < line.length - 1; i++) { + slope = (line[i + 1] - line[i]); + if (slope < rThreshold) { + dir = Slope.DIR.UP; + } else if (slope > threshold) { + dir = Slope.DIR.DOWN; + } else { + dir = currentDir; + } + + if (currentDir !== dir) { + extrema.push({ + pos : i, + val : line[i] + }); + currentDir = dir; + } + } + extrema.push({ + pos : line.length, + val : line[line.length - 1] + }); + + for ( j = extrema[0].pos; j < extrema[1].pos; j++) { + line[j] = line[j] > center ? 0 : 1; + } + + // iterate over extrema and convert to binary based on avg between minmax + for ( i = 1; i < extrema.length - 1; i++) { + if (extrema[i + 1].val > extrema[i].val) { + threshold = (extrema[i].val + (extrema[i + 1].val - extrema[i].val) / 2) | 0; + } else { + threshold = (extrema[i + 1].val + (extrema[i].val - extrema[i + 1].val) / 2) | 0; + } + + for ( j = extrema[i].pos; j < extrema[i + 1].pos; j++) { + line[j] = line[j] > threshold ? 0 : 1; + } + } + + return { + line : line, + threshold : threshold + }; + }; + + /** + * Used for development only + */ + Bresenham.debug = { + printFrequency: function(line, canvas) { + var i, + ctx = canvas.getContext("2d"); + canvas.width = line.length; + canvas.height = 256; + + ctx.beginPath(); + ctx.strokeStyle = "blue"; + for ( i = 0; i < line.length; i++) { + ctx.moveTo(i, 255); + ctx.lineTo(i, 255 - line[i]); + } + ctx.stroke(); + ctx.closePath(); + }, + + printPattern: function(line, canvas) { + var ctx = canvas.getContext("2d"), i; + + canvas.width = line.length; + ctx.fillColor = "black"; + for ( i = 0; i < line.length; i++) { + if (line[i] === 1) { + ctx.fillRect(i, 0, 1, 100); + } + } + } + }; + + return (Bresenham); +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('barcode_decoder',["bresenham", "image_debug", 'code_128_reader', 'ean_reader'], function(Bresenham, ImageDebug, Code128Reader, EANReader) { + + + var readers = { + code_128_reader: Code128Reader, + ean_reader: EANReader + }; + var BarcodeDecoder = { + create : function(config, inputImageWrapper) { + var _canvas = { + ctx : { + frequency : null, + pattern : null, + overlay : null + }, + dom : { + frequency : null, + pattern : null, + overlay : null + } + }, + _barcodeReaders = [], + _barcodeReader = null; + + initCanvas(); + initReaders(); + initConfig(); + + function initCanvas() { + var $debug = document.querySelector("#debug.detection"); + _canvas.dom.frequency = document.querySelector("canvas.frequency"); + if (!_canvas.dom.frequency) { + _canvas.dom.frequency = document.createElement("canvas"); + _canvas.dom.frequency.className = "frequency"; + if($debug) { + $debug.appendChild(_canvas.dom.frequency); + } + } + _canvas.ctx.frequency = _canvas.dom.frequency.getContext("2d"); + + _canvas.dom.pattern = document.querySelector("canvas.patternBuffer"); + if (!_canvas.dom.pattern) { + _canvas.dom.pattern = document.createElement("canvas"); + _canvas.dom.pattern.className = "patternBuffer"; + if($debug) { + $debug.appendChild(_canvas.dom.pattern); + } + } + _canvas.ctx.pattern = _canvas.dom.pattern.getContext("2d"); + + _canvas.dom.overlay = document.querySelector("canvas.drawingBuffer"); + if (_canvas.dom.overlay) { + _canvas.ctx.overlay = _canvas.dom.overlay.getContext("2d"); + } + } + + function initReaders() { + var i; + for ( i = 0; i < config.readers.length; i++) { + console.log(config.readers[i]); + _barcodeReaders.push(new readers[config.readers[i]]()); + } + } + + function initConfig() { + var i, + vis = [{ + node : _canvas.dom.frequency, + prop : config.showFrequency + }, { + node : _canvas.dom.pattern, + prop : config.showPattern + }]; + + for (i = 0; i < vis.length; i++) { + if (vis[i].prop === true) { + vis[i].node.style.display = "block"; + } else { + vis[i].node.style.display = "none"; + } + } + } + + /** + * extend the line on both ends + * @param {Array} line + * @param {Number} angle + */ + function getExtendedLine(line, angle, ext) { + var extension = { + y : ext * Math.sin(angle), + x : ext * Math.cos(angle) + }; + + line[0].y -= extension.y; + line[0].x -= extension.x; + line[1].y += extension.y; + line[1].x += extension.x; + + // check if inside image + if (!inputImageWrapper.inImageWithBorder(line[0], 0) || !inputImageWrapper.inImageWithBorder(line[1], 0)) { + return null; + } + return line; + } + + function getLine(box) { + return [{ + x : (box[1][0] - box[0][0]) / 2 + box[0][0], + y : (box[1][1] - box[0][1]) / 2 + box[0][1] + }, { + x : (box[3][0] - box[2][0]) / 2 + box[2][0], + y : (box[3][1] - box[2][1]) / 2 + box[2][1] + }]; + } + + function tryDecode(line) { + var result = null, + i, + barcodeLine = Bresenham.getBarcodeLine(inputImageWrapper, line[0], line[1]); + + if (config.showFrequency) { + ImageDebug.drawPath(line, {x: 'x', y: 'y'}, _canvas.ctx.overlay, {color: 'red', lineWidth: 3}); + Bresenham.debug.printFrequency(barcodeLine.line, _canvas.dom.frequency); + } + Bresenham.toBinaryLine(barcodeLine); + if (config.showPattern) { + Bresenham.debug.printPattern(barcodeLine.line, _canvas.dom.pattern); + } + + for ( i = 0; i < _barcodeReaders.length && result === null; i++) { + result = _barcodeReaders[i].decodePattern(barcodeLine.line); + if (result !== null) { + _barcodeReader = _barcodeReaders[i]; + } + } + if(result === null){ + return null; + } + return { + codeResult: result, + barcodeLine: barcodeLine + }; + + } + + /** + * This method slices the given area apart and tries to detect a barcode-pattern + * for each slice. It returns the decoded barcode, or null if nothing was found + * @param {Array} box + * @param {Array} line + * @param {Number} lineAngle + */ + function tryDecodeBruteForce(box, line, lineAngle) { + var sideLength = Math.sqrt(Math.pow(box[1][0] - box[0][0], 2) + Math.pow((box[1][1] - box[0][1]), 2)), + i, + slices = 16, + result = null, + dir, + extension, + xdir = Math.sin(lineAngle), + ydir = Math.cos(lineAngle); + + for ( i = 1; i < slices && result === null; i++) { + // move line perpendicular to angle + dir = sideLength / slices * i * (i % 2 === 0 ? -1 : 1); + extension = { + y : dir * xdir, + x : dir * ydir + }; + line[0].y += extension.x; + line[0].x -= extension.y; + line[1].y += extension.x; + line[1].x -= extension.y; + + result = tryDecode(line); + } + return result; + } + + /** + * With the help of the configured readers (Code128 or EAN) this function tries to detect a + * valid barcode pattern within the given area. + * @param {Object} box The area to search in + * @returns {Object} the result {codeResult, line, angle, pattern, threshold} + */ + function decodeFromBoundingBox(box) { + var line, + lineAngle, + ctx = _canvas.ctx.overlay, + result; + + if (config.drawBoundingBox && ctx) { + ImageDebug.drawPath(box, {x: 0, y: 1}, ctx, {color: "blue", lineWidth: 2}); + } + + line = getLine(box); + lineAngle = Math.atan2(line[1].y - line[0].y, line[1].x - line[0].x); + line = getExtendedLine(line, lineAngle, 10); + if(line === null){ + return null; + } + + result = tryDecode(line); + if(result === null) { + result = tryDecodeBruteForce(box, line, lineAngle); + } + + if(result === null) { + return null; + } + + if (result && config.drawScanline && ctx) { + ImageDebug.drawPath(line, {x: 'x', y: 'y'}, ctx, {color: 'red', lineWidth: 3}); + } + + return { + codeResult : result.codeResult, + line : line, + angle : lineAngle, + pattern : result.barcodeLine.line, + threshold : result.barcodeLine.threshold + }; + } + + return { + decodeFromBoundingBox : function(box) { + return decodeFromBoundingBox(box); + }, + decodeFromBoundingBoxes : function(boxes) { + var i, result; + for ( i = 0; i < boxes.length; i++) { + result = decodeFromBoundingBox(boxes[i]); + if (result && result.codeResult) { + return result; + } + } + } + }; + } + }; + + return (BarcodeDecoder); +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('frame_grabber',["cv_utils"], function(CVUtils) { + + + var FrameGrabber = {}; + + FrameGrabber.create = function(inputStream, canvas) { + var _that = {}, + _streamConfig = inputStream.getConfig(), + _video_size = CVUtils.imageRef(inputStream.getRealWidth(), inputStream.getRealHeight()), + _size =_streamConfig.size ? CVUtils.imageRef(_streamConfig.size, _streamConfig.size) : _video_size, + _sx = 0, + _sy = 0, + _dx = 0, + _dy = 0, + _sWidth, + _dWidth, + _sHeight, + _dHeight, + _canvas = null, + _ctx = null, + _data = null; + + // Check if size is given + if (_streamConfig.size) { + if (_video_size.x/_video_size.y > 1) { + _size.x = _streamConfig.size; + _size.y = (_video_size.y/_video_size.x)*_streamConfig.size; + } else { + _size.y = _streamConfig.size; + _size.x = (_video_size.x/_video_size.y)*_streamConfig.size; + } + } + + _sWidth = _video_size.x; + _dWidth = _size.x; + _sHeight = _video_size.y; + _dHeight = _size.y; + + _canvas = canvas ? canvas : document.createElement("canvas"); + _canvas.width = _size.x; + _canvas.height = _size.y; + _ctx = _canvas.getContext("2d"); + _data = new Uint8Array(_size.x * _size.y); + + /** + * Uses the given array as frame-buffer + */ + _that.attachData = function(data) { + _data = data; + }; + + /** + * Returns the used frame-buffer + */ + _that.getData = function() { + return _data; + }; + + /** + * Fetches a frame from the input-stream and puts into the frame-buffer. + * The image-data is converted to gray-scale and then half-sampled if configured. + */ + _that.grab = function() { + var doHalfSample = _streamConfig.halfSample, + frame = inputStream.getFrame(), + ctxData; + if (frame) { + _ctx.drawImage(frame, _sx, _sy, _sWidth, _sHeight, _dx, _dy, _dWidth, _dHeight); + ctxData = _ctx.getImageData(0, 0, _size.x, _size.y).data; + if(doHalfSample){ + CVUtils.grayAndHalfSampleFromCanvasData(ctxData, _size, _data); + } else { + CVUtils.computeGray(ctxData, _data); + } + return true; + } else { + return false; + } + }; + + _that.getSize = function() { + return _size; + }; + + return _that; + }; + + return (FrameGrabber); +}); + +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('html_utils',[], function() { + + + function createNode(htmlStr) { + var temp = document.createElement('div'); + + temp.innerHTML = htmlStr; + while (temp.firstChild) { + return temp.firstChild; + } + } + + function mergeObjects(obj1, obj2) { + for (var p in obj2) { + try { + if (obj2[p].constructor == Object) { + obj1[p] = mergeObjects(obj1[p], obj2[p]); + } else { + obj1[p] = obj2[p]; + } + } catch(e) { + obj1[p] = obj2[p]; + } + } + + return obj1; + } + + return { + createNode : function(htmlStr) { + return createNode(htmlStr); + }, + mergeObjects : function(obj1, obj2) { + return mergeObjects(obj1, obj2); + } + }; +}); +/** + * The basic configuration + */ + +define('config',[],function(){ + var config = { + inputStream: { name: "Live", + type: "LiveStream" + }, + tracking: false, + debug: false, + controls: false, + locate: true, + visual: { + show: true + }, + decoder:{ + drawBoundingBox: true, + showFrequency: false, + drawScanline: true, + showPattern: false, + readers: [ + 'code_128_reader' + ] + }, + locator: { + showCanvas: false, + showPatches: false, + showFoundPatches: false, + showSkeleton: false, + showLabels: false, + showPatchLabels: false, + showRemainingPatchLabels: false, + boxFromPatches: { + showTransformed: false, + showTransformedBox: false, + showBB: false + } + } + }; + + return config; +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define('events',[],function() { + + + var _events = function() { + var events = {}; + + function getEvent(eventName) { + if (!events[eventName]) { + events[eventName] = { + subscribers : [] + }; + } + return events[eventName]; + } + + function publishSubscription(subscription, data) { + if (subscription.async) { + setTimeout(function() { + subscription.callback.call(null, data); + }, 4); + } else { + subscription.callback.call(null, data); + } + } + + return { + subscribe : function(event, callback, async) { + var subscription; + + if ( typeof callback === "function") { + subscription = { + callback : callback, + async : async + }; + } else { + subscription = callback; + if (!subscription.callback) { + throw "Callback was not specified on options"; + } + } + + getEvent(event).subscribers.push(subscription); + }, + publish : function(eventName, data) { + var subscribers = getEvent(eventName).subscribers, i; + for ( i = 0; i < subscribers.length; i++) { + publishSubscription(subscribers[i], data); + } + } + }; + }(); + + return _events; +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, MediaStreamTrack */ + +define('camera_access',[],function() { + + + /** + * Wraps browser-specific getUserMedia + * @param {Object} constraints + * @param {Object} success Callback + * @param {Object} failure Callback + */ + function getUserMedia(constraints, success, failure) { + navigator.getUserMedia(constraints, function(stream) { + var videoSrc = (window.URL && window.URL.createObjectURL(stream)) || stream; + success.apply(null, [videoSrc]); + }, failure); + } + + /** + * Tries to attach the camer-stream to a given video-element + * and calls the callback function when the content is ready + * @param {Object} constraints + * @param {Object} video + * @param {Object} callback + */ + function initCamera(constraints, video, callback) { + getUserMedia(constraints, function(src) { + video.src = src; + video.addEventListener('loadeddata', function() { + var attempts = 10; + + function checkVideo() { + if (attempts > 0) { + if (video.videoWidth > 0 && video.videoHeight > 0) { + console.log(video.videoWidth + "px x " + video.videoHeight + "px"); + callback(); + } else { + window.setTimeout(checkVideo, 500); + } + } else { + callback('Unable to play video stream. Is webcam working?'); + } + attempts--; + } + + checkVideo(); + }, false); + video.play(); + }, function(e) { + console.log(e); + }); + } + + /** + * Requests the back-facing camera of the user. The callback is called + * whenever the stream is ready to be consumed, or if an error occures. + * @param {Object} video + * @param {Object} callback + */ + function request(video, callback) { + if ( typeof MediaStreamTrack.getSources !== 'undefined') { + MediaStreamTrack.getSources(function(sourceInfos) { + var videoSourceId; + for (var i = 0; i != sourceInfos.length; ++i) { + var sourceInfo = sourceInfos[i]; + if (sourceInfo.kind == "video" && sourceInfo.facing == "environment") { + videoSourceId = sourceInfo.id; + } + } + var constraints = { + audio : false, + video : { + optional : [{ + sourceId : videoSourceId + }] + } + }; + initCamera(constraints, video, callback); + }); + } else { + initCamera({ + video : true, + audio : false + }, video, callback); + } + } + + return { + request : function(video, callback) { + request(video, callback); + } + }; +}); +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2 */ + +define('quagga',["code_128_reader", "ean_reader", "input_stream", "image_wrapper", "barcode_locator", "barcode_decoder", "frame_grabber", "html_utils", "config", "events", "camera_access"], +function(Code128Reader, EANReader, InputStream, ImageWrapper, BarcodeLocator, BarcodeDecoder, FrameGrabber, HtmlUtils, _config, Events, CameraAccess) { + + + var _inputStream, + _framegrabber, + _stopped, + _canvasContainer = { + ctx : { + image : null, + overlay : null + }, + dom : { + image : null, + overlay : null + } + }, + _inputImageWrapper, + _boxSize, + _decoder, + _initialized = false; + + function initialize(config) { + _config = HtmlUtils.mergeObjects(_config, config); + initInputStream(); + } + + function initConfig() { + var vis = [{ + node : document.querySelector("div[data-controls]"), + prop : _config.controls + }, { + node : _canvasContainer.dom.overlay, + prop : _config.visual.show + }]; + + for (var i = 0; i < vis.length; i++) { + if (vis[i].node) { + if (vis[i].prop === true) { + vis[i].node.style.display = "block"; + } else { + vis[i].node.style.display = "none"; + } + } + } + } + + function initInputStream() { + var video; + if (_config.inputStream.type == "VideoStream") { + video = document.createElement("video"); + _inputStream = InputStream.createVideoStream(video); + } else if (_config.inputStream.type == "ImageStream") { + _inputStream = InputStream.createImageStream(); + } else if (_config.inputStream.type == "LiveStream") { + video = document.createElement("video"); + var $viewport = document.querySelector("#interactive.viewport"); + if($viewport) { + $viewport.appendChild(video); + } + _inputStream = InputStream.createLiveStream(video); + CameraAccess.request(video, function(err) { + if (!err) { + _inputStream.trigger("canrecord"); + } else { + console.log(err); + } + }); + } + + _inputStream.setAttribute("preload", "auto"); + _inputStream.setAttribute("autoplay", true); + _inputStream.setInputStream(_config.inputStream); + _inputStream.addEventListener("canrecord", canRecord); + } + + function canRecord() { + initBuffers(); + initCanvas(); + _decoder = BarcodeDecoder.create(_config.decoder, _inputImageWrapper); + _framegrabber = FrameGrabber.create(_inputStream, _canvasContainer.dom.image); + _framegrabber.attachData(_inputImageWrapper.data); + + initConfig(); + _inputStream.play(); + _initialized = true; + if (_config.readyFunc) { + _config.readyFunc.apply(); + } + } + + function initCanvas() { + var $viewport = document.querySelector("#interactive.viewport"); + _canvasContainer.dom.image = document.querySelector("canvas.imgBuffer"); + if (!_canvasContainer.dom.image) { + _canvasContainer.dom.image = document.createElement("canvas"); + _canvasContainer.dom.image.className = "imgBuffer"; + if($viewport && _config.inputStream.type == "ImageStream") { + $viewport.appendChild(_canvasContainer.dom.image); + } + } + _canvasContainer.ctx.image = _canvasContainer.dom.image.getContext("2d"); + _canvasContainer.dom.image.width = _inputImageWrapper.size.x; + _canvasContainer.dom.image.height = _inputImageWrapper.size.y; + + _canvasContainer.dom.overlay = document.querySelector("canvas.drawingBuffer"); + if (!_canvasContainer.dom.overlay) { + _canvasContainer.dom.overlay = document.createElement("canvas"); + _canvasContainer.dom.overlay.className = "drawingBuffer"; + if($viewport) { + $viewport.appendChild(_canvasContainer.dom.overlay); + } + var clearFix = document.createElement("br"); + clearFix.setAttribute("clear", "all"); + if($viewport) { + $viewport.appendChild(clearFix); + } + } + _canvasContainer.ctx.overlay = _canvasContainer.dom.overlay.getContext("2d"); + _canvasContainer.dom.overlay.width = _inputImageWrapper.size.x; + _canvasContainer.dom.overlay.height = _inputImageWrapper.size.y; + } + + function initBuffers() { + _inputImageWrapper = new ImageWrapper({ + x : _inputStream.getWidth(), + y : _inputStream.getHeight() + }); + console.log(_inputStream.getWidth()); + console.log(_inputStream.getHeight()); + _boxSize = [ + vec2.create([20, _inputStream.getHeight() / 2 - 100]), + vec2.create([20, _inputStream.getHeight() / 2 + 100]), + vec2.create([_inputStream.getWidth() - 20, _inputStream.getHeight() / 2 + 100]), + vec2.create([_inputStream.getWidth() - 20, _inputStream.getHeight() / 2 - 100]) + ]; + BarcodeLocator.init(_config.locator, { + inputImageWrapper : _inputImageWrapper + }); + } + + function getBoundingBoxes() { + var boxes; + + if (_config.locate) { + boxes = BarcodeLocator.locate(); + } else { + boxes = [_boxSize]; + } + return boxes; + } + + function update() { + var result, + boxes; + + if (_framegrabber.grab()) { + _canvasContainer.ctx.overlay.clearRect(0, 0, _inputImageWrapper.size.x, _inputImageWrapper.size.y); + boxes = getBoundingBoxes(); + if (boxes) { + result = _decoder.decodeFromBoundingBoxes(boxes); + if (result && result.codeResult) { + Events.publish("detected", result.codeResult.code); + } + } + } + } + + function start() { + _stopped = false; + ( function frame() { + if (!_stopped) { + if (_config.inputStream.type == "LiveStream") { + window.requestAnimFrame(frame); + } + update(); + } + }()); + } + + return { + init : function(config, callback) { + initialize(config, callback); + }, + start : function() { + console.log("Start!"); + start(); + }, + stop : function() { + _stopped = true; + }, + onDetected : function(callback) { + Events.subscribe("detected", callback, true); + }, + isInitialized : function() { + return _initialized; + }, + canvas : _canvasContainer, + decodeSingle : function(config, resultCallback) { + config.inputStream = { + type : "ImageStream", + src : config.src, + sequence : false, + size: 800 + }; + config.readyFunc = function() { + Events.subscribe("detected", function(result) { + _stopped = true; + resultCallback.call(null, result); + }, true); + start(); + }; + initialize(config); + }, + Reader: { + EANReader : EANReader, + Code128Reader : Code128Reader + } + }; +}); + + return require('quagga'); +})); \ No newline at end of file diff --git a/dist/quagga.min.js b/dist/quagga.min.js new file mode 100644 index 0000000..6bab900 --- /dev/null +++ b/dist/quagga.min.js @@ -0,0 +1,3 @@ +/*! quagga 2014-11-01 */ +!function(a,b){"function"==typeof define&&define.amd?define([],b):a.Quagga=b()}(this,function(){var a,b,c;!function(d){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){return n.apply(d,v.call(arguments,0).concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var b=r[a];delete r[a],t[a]=!0,m.apply(d,b)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,b,c,f){var h,k,l,m,n,s,u=[],v=typeof c;if(f=f||a,"undefined"===v||"function"===v){for(b=!b.length&&c.length?["require","exports","module"]:b,n=0;nd?(j.start=c-g,j.end=c,j.counter=e,j):null;i++,e[i]=1,h=!h}}else for(e.push(0),c=g;cb)return k.error=b,k.start=a-d,k.end=a,k;for(c=0;5>c;c++)f[c]=f[c+2];f[5]=0,f[6]=0,j--}else j++;f[j]=1,i=!i}return null},b.prototype._findStart=function(){var a,b,c,d,e,f,g=[0,0,0,0,0,0],h=this,i=h._nextSet(h._row),j=!1,k=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(a=i;ad;d++)g[d]=g[d+2];g[4]=0,g[5]=0,k--}else k++;g[k]=1,j=!j}return null},b.prototype._decode=function(){var a,b,c,d=this,e=d._findStart(),f=null,g=!1,h=[],i=0,j=0,k=[],l=[],m=!1;if(null===e)return null;switch(f={code:e.code,start:e.start,end:e.end},l.push(f),j=f.code,f.code){case d.START_CODE_A:a=d.CODE_A;break;case d.START_CODE_B:a=d.CODE_B;break;case d.START_CODE_C:a=d.CODE_C;break;default:return null}for(;!g;){if(b=m,m=!1,f=d._decodeCode(f.end),null!==f)switch(f.code!==d.STOP_CODE&&(k.push(f.code),i++,j+=i*f.code),l.push(f),a){case d.CODE_A:if(f.code<64)h.push(String.fromCharCode(32+f.code));else if(f.code<96)h.push(String.fromCharCode(f.code-64));else switch(f.code){case d.CODE_SHIFT:m=!0,a=d.CODE_B;break;case d.CODE_B:a=d.CODE_B;break;case d.CODE_C:a=d.CODE_C;break;case d.STOP_CODE:g=!0}break;case d.CODE_B:if(f.code<96)h.push(String.fromCharCode(32+f.code));else switch(f.code!=d.STOP_CODE&&(c=!1),f.code){case d.CODE_SHIFT:m=!0,a=d.CODE_A;break;case d.CODE_A:a=d.CODE_A;break;case d.CODE_C:a=d.CODE_C;break;case d.STOP_CODE:g=!0}break;case d.CODE_C:switch(f.code<100&&h.push(f.code<10?"0"+f.code:f.code),f.code){case d.CODE_A:a=d.CODE_A;break;case d.CODE_B:a=d.CODE_B;break;case d.STOP_CODE:g=!0}}else g=!0;b&&(a=a==d.CODE_A?d.CODE_B:d.CODE_A)}return null===f?null:(f.end=d._nextUnset(d._row,f.end),f.end===d._row.length?null:(j-=i*k[k.length-1],j%103!=k[k.length-1]?null:(h.splice(h.length-1,1),{code:h.join(""),start:e.start,end:f.end,codeset:a,startInfo:e,decodedCodes:l,endInfo:f})))},b}),c("ean_reader",["./barcode_reader"],function(a){function b(){a.call(this)}var c={CODE_L_START:{value:0},MODULO:{value:7},CODE_G_START:{value:10},START_PATTERN:{value:[1/3*7,1/3*7,1/3*7]},STOP_PATTERN:{value:[1/3*7,1/3*7,1/3*7]},MIDDLE_PATTERN:{value:[.2*7,.2*7,.2*7,.2*7,.2*7]},CODE_PATTERN:{value:[[3,2,1,1],[2,2,2,1],[2,1,2,2],[1,4,1,1],[1,1,3,2],[1,2,3,1],[1,1,1,4],[1,3,1,2],[1,2,1,3],[3,1,1,2],[1,1,2,3],[1,2,2,2],[2,2,1,2],[1,1,4,1],[2,3,1,1],[1,3,2,1],[4,1,1,1],[2,1,3,1],[3,1,2,1],[2,1,1,3]]},CODE_FREQUENCY:{value:[0,11,13,14,19,25,28,21,22,26]}};return b.prototype=Object.create(a.prototype,c),b.prototype.constructor=b,b.prototype._decodeCode=function(b,c){var d,e,f,g,h=[0,0,0,0],i=this,j=b,k=!i._row[j],l=0,m={error:Number.MAX_VALUE,code:-1,start:b,end:b};for(c||(c=i.CODE_PATTERN.length),d=j;de;e++)f=i._matchPattern(g,i.CODE_PATTERN[e]),fh)return o.error=h,o.start=g-j,o.end=g,o;if(!e)throw a.PatternNotFoundException;for(i=0;ib;b++)d=c._decodeCode(d.end),d.code>=c.CODE_G_START?(d.code=d.code-c.CODE_G_START,f|=1<<5-b):f|=0<<5-b,e.push(d.code),g.push(d);for(b=0;bb;b++)d=c._decodeCode(d.end,c.CODE_G_START),g.push(d),e.push(d.code);if(d=c._findPattern(c.STOP_PATTERN,d.end),g.push(d),!c._checksum(e))return null}catch(h){return null}return{code:e.join(""),start:a.start,end:d.end,codeset:"",startInfo:a,decodedCodes:g}},b.prototype._checksum=function(a){var b,c=0;for(b=a.length-2;b>=0;b-=2)c+=a[b];for(c*=3,b=a.length-1;b>=0;b-=2)c+=a[b];return c%10===0},b}),c("image_loader",[],function(){function a(a,b){a.onload=function(){b.loaded(this)}}var b={};return b.load=function(b,c,d,e,f){var g,h,i,j=new Array(e),k=new Array(j.length);if(f===!1)j[0]=b;else for(g=0;g0)for(d=0;d0)for(c=0;c1?e.size:f/g*e.size:f},d.getHeight=function(){return e.size?f/g>1?g/f*e.size:e.size:g},d.getRealWidth=function(){return f},d.getRealHeight=function(){return g},d.setInputStream=function(a){e=a,a.sequence===!1?(n=a.src,l=1):(n=a.src,l=a.length),b()},d.ended=function(){return o},d.setAttribute=function(){},d.getConfig=function(){return e},d.pause=function(){i=!0},d.play=function(){i=!1},d.setCurrentTime=function(a){h=a},d.addEventListener=function(a,b){-1!==p.indexOf(a)&&(q[a]||(q[a]=[]),q[a].push(b))},d.getFrame=function(){var a;return j?(i||(a=k[h],l-1>h?h++:setTimeout(function(){o=!0,c("ended",[])},0)),a):null},d},b}),glMatrixArrayType=Float32Array,window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,c("typedefs",function(a){return function(){var b;return b||a.typedefs}}(this)),c("subImage",["typedefs"],function(){function a(a,b,c){c||(c={data:null,size:b}),this.data=c.data,this.originalSize=c.size,this.I=c,this.from=a,this.size=b}return a.prototype.show=function(a,b){var c,d,e,f,g,h,i;for(b||(b=1),c=a.getContext("2d"),a.width=this.size.x,a.height=this.size.y,d=c.getImageData(0,0,a.width,a.height),e=d.data,f=0,g=0;gb?!0:!1},getPoints:function(){return f},getCenter:function(){return g}}},createPoint:function(a,b,c){return{rad:a[c],point:a,id:b}}};return a});var d={};d.create=function(a){var b;return a?(b=new glMatrixArrayType(3),b[0]=a[0],b[1]=a[1],b[2]=a[2]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0,0]:3),b},d.set=function(a,b){return b[0]=a[0],b[1]=a[1],b[2]=a[2],b},d.add=function(a,b,c){return c&&a!=c?(c[0]=a[0]+b[0],c[1]=a[1]+b[1],c[2]=a[2]+b[2],c):(a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a)},d.subtract=function(a,b,c){return c&&a!=c?(c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2],c):(a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a)},d.negate=function(a,b){return b||(b=a),b[0]=-a[0],b[1]=-a[1],b[2]=-a[2],b},d.scale=function(a,b,c){return c&&a!=c?(c[0]=a[0]*b,c[1]=a[1]*b,c[2]=a[2]*b,c):(a[0]*=b,a[1]*=b,a[2]*=b,a)},d.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=Math.sqrt(c*c+d*d+e*e);return f?1==f?(b[0]=c,b[1]=d,b[2]=e,b):(f=1/f,b[0]=c*f,b[1]=d*f,b[2]=e*f,b):(b[0]=0,b[1]=0,b[2]=0,b)},d.cross=function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],g=b[0],h=b[1],i=b[2];return c[0]=e*i-f*h,c[1]=f*g-d*i,c[2]=d*h-e*g,c},d.length=function(a){var b=a[0],c=a[1],d=a[2];return Math.sqrt(b*b+c*c+d*d)},d.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]},d.direction=function(a,b,c){c||(c=a);var d=a[0]-b[0],e=a[1]-b[1],f=a[2]-b[2],g=Math.sqrt(d*d+e*e+f*f);return g?(g=1/g,c[0]=d*g,c[1]=e*g,c[2]=f*g,c):(c[0]=0,c[1]=0,c[2]=0,c)},d.lerp=function(a,b,c,d){return d||(d=a),d[0]=a[0]+c*(b[0]-a[0]),d[1]=a[1]+c*(b[1]-a[1]),d[2]=a[2]+c*(b[2]-a[2]),d},d.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+"]"};var e={};e.create=function(a){var b;return a?(b=new glMatrixArrayType(9),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0,0,0,0,0,0,0,0]:9),b},e.set=function(a,b){return b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b},e.identity=function(a){return a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=1,a[5]=0,a[6]=0,a[7]=0,a[8]=1,a},e.transpose=function(a,b){if(!b||a==b){var c=a[1],d=a[2],e=a[5];return a[1]=a[3],a[2]=a[6],a[3]=c,a[5]=a[7],a[6]=d,a[7]=e,a}return b[0]=a[0],b[1]=a[3],b[2]=a[6],b[3]=a[1],b[4]=a[4],b[5]=a[7],b[6]=a[2],b[7]=a[5],b[8]=a[8],b},e.toMat4=function(a,b){return b||(b=f.create()),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=0,b[4]=a[3],b[5]=a[4],b[6]=a[5],b[7]=0,b[8]=a[6],b[9]=a[7],b[10]=a[8],b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b},e.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+"]"};var f={};f.create=function(a){var b;return a?(b=new glMatrixArrayType(16),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]:16),b},f.set=function(a,b){return b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15],b},f.identity=function(a){return a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=1,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,a},f.transpose=function(a,b){if(!b||a==b){var c=a[1],d=a[2],e=a[3],f=a[6],g=a[7],h=a[11];return a[1]=a[4],a[2]=a[8],a[3]=a[12],a[4]=c,a[6]=a[9],a[7]=a[13],a[8]=d,a[9]=f,a[11]=a[14],a[12]=e,a[13]=g,a[14]=h,a}return b[0]=a[0],b[1]=a[4],b[2]=a[8],b[3]=a[12],b[4]=a[1],b[5]=a[5],b[6]=a[9],b[7]=a[13],b[8]=a[2],b[9]=a[6],b[10]=a[10],b[11]=a[14],b[12]=a[3],b[13]=a[7],b[14]=a[11],b[15]=a[15],b},f.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],i=a[7],j=a[8],k=a[9],l=a[10],m=a[11],n=a[12],o=a[13],p=a[14],q=a[15];return n*k*h*e-j*o*h*e-n*g*l*e+f*o*l*e+j*g*p*e-f*k*p*e-n*k*d*i+j*o*d*i+n*c*l*i-b*o*l*i-j*c*p*i+b*k*p*i+n*g*d*m-f*o*d*m-n*c*h*m+b*o*h*m+f*c*p*m-b*g*p*m-j*g*d*q+f*k*d*q+j*c*h*q-b*k*h*q-f*c*l*q+b*g*l*q},f.inverse=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],j=a[7],k=a[8],l=a[9],m=a[10],n=a[11],o=a[12],p=a[13],q=a[14],r=a[15],s=c*h-d*g,t=c*i-e*g,u=c*j-f*g,v=d*i-e*h,w=d*j-f*h,x=e*j-f*i,y=k*p-l*o,z=k*q-m*o,A=k*r-n*o,B=l*q-m*p,C=l*r-n*p,D=m*r-n*q,E=1/(s*D-t*C+u*B+v*A-w*z+x*y);return b[0]=(h*D-i*C+j*B)*E,b[1]=(-d*D+e*C-f*B)*E,b[2]=(p*x-q*w+r*v)*E,b[3]=(-l*x+m*w-n*v)*E,b[4]=(-g*D+i*A-j*z)*E,b[5]=(c*D-e*A+f*z)*E,b[6]=(-o*x+q*u-r*t)*E,b[7]=(k*x-m*u+n*t)*E,b[8]=(g*C-h*A+j*y)*E,b[9]=(-c*C+d*A-f*y)*E,b[10]=(o*w-p*u+r*s)*E,b[11]=(-k*w+l*u-n*s)*E,b[12]=(-g*B+h*z-i*y)*E,b[13]=(c*B-d*z+e*y)*E,b[14]=(-o*v+p*t-q*s)*E,b[15]=(k*v-l*t+m*s)*E,b},f.toRotationMat=function(a,b){return b||(b=f.create()),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=0,b[13]=0,b[14]=0,b[15]=1,b},f.toMat3=function(a,b){return b||(b=e.create()),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[4],b[4]=a[5],b[5]=a[6],b[6]=a[8],b[7]=a[9],b[8]=a[10],b},f.toInverseMat3=function(a,b){var c=a[0],d=a[1],f=a[2],g=a[4],h=a[5],i=a[6],j=a[8],k=a[9],l=a[10],m=l*h-i*k,n=-l*g+i*j,o=k*g-h*j,p=c*m+d*n+f*o;if(!p)return null;var q=1/p;return b||(b=e.create()),b[0]=m*q,b[1]=(-l*d+f*k)*q,b[2]=(i*d-f*h)*q,b[3]=n*q,b[4]=(l*c-f*j)*q,b[5]=(-i*c+f*g)*q,b[6]=o*q,b[7]=(-k*c+d*j)*q,b[8]=(h*c-d*g)*q,b},f.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],i=a[5],j=a[6],k=a[7],l=a[8],m=a[9],n=a[10],o=a[11],p=a[12],q=a[13],r=a[14],s=a[15],t=b[0],u=b[1],v=b[2],w=b[3],x=b[4],y=b[5],z=b[6],A=b[7],B=b[8],C=b[9],D=b[10],E=b[11],F=b[12],G=b[13],H=b[14],I=b[15];return c[0]=t*d+u*h+v*l+w*p,c[1]=t*e+u*i+v*m+w*q,c[2]=t*f+u*j+v*n+w*r,c[3]=t*g+u*k+v*o+w*s,c[4]=x*d+y*h+z*l+A*p,c[5]=x*e+y*i+z*m+A*q,c[6]=x*f+y*j+z*n+A*r,c[7]=x*g+y*k+z*o+A*s,c[8]=B*d+C*h+D*l+E*p,c[9]=B*e+C*i+D*m+E*q,c[10]=B*f+C*j+D*n+E*r,c[11]=B*g+C*k+D*o+E*s,c[12]=F*d+G*h+H*l+I*p,c[13]=F*e+G*i+H*m+I*q,c[14]=F*f+G*j+H*n+I*r,c[15]=F*g+G*k+H*o+I*s,c},f.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2];return c[0]=a[0]*d+a[4]*e+a[8]*f+a[12],c[1]=a[1]*d+a[5]*e+a[9]*f+a[13],c[2]=a[2]*d+a[6]*e+a[10]*f+a[14],c},f.multiplyVec4=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2],g=b[3];return c[0]=a[0]*d+a[4]*e+a[8]*f+a[12]*g,c[1]=a[1]*d+a[5]*e+a[9]*f+a[13]*g,c[2]=a[2]*d+a[6]*e+a[10]*f+a[14]*g,c[3]=a[3]*d+a[7]*e+a[11]*f+a[15]*g,c},f.translate=function(a,b,c){var d=b[0],e=b[1],f=b[2];if(!c||a==c)return a[12]=a[0]*d+a[4]*e+a[8]*f+a[12],a[13]=a[1]*d+a[5]*e+a[9]*f+a[13],a[14]=a[2]*d+a[6]*e+a[10]*f+a[14],a[15]=a[3]*d+a[7]*e+a[11]*f+a[15],a;var g=a[0],h=a[1],i=a[2],j=a[3],k=a[4],l=a[5],m=a[6],n=a[7],o=a[8],p=a[9],q=a[10],r=a[11];return c[0]=g,c[1]=h,c[2]=i,c[3]=j,c[4]=k,c[5]=l,c[6]=m,c[7]=n,c[8]=o,c[9]=p,c[10]=q,c[11]=r,c[12]=g*d+k*e+o*f+a[12],c[13]=h*d+l*e+p*f+a[13],c[14]=i*d+m*e+q*f+a[14],c[15]=j*d+n*e+r*f+a[15],c},f.scale=function(a,b,c){var d=b[0],e=b[1],f=b[2];return c&&a!=c?(c[0]=a[0]*d,c[1]=a[1]*d,c[2]=a[2]*d,c[3]=a[3]*d,c[4]=a[4]*e,c[5]=a[5]*e,c[6]=a[6]*e,c[7]=a[7]*e,c[8]=a[8]*f,c[9]=a[9]*f,c[10]=a[10]*f,c[11]=a[11]*f,c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15],c):(a[0]*=d,a[1]*=d,a[2]*=d,a[3]*=d,a[4]*=e,a[5]*=e,a[6]*=e,a[7]*=e,a[8]*=f,a[9]*=f,a[10]*=f,a[11]*=f,a)},f.rotate=function(a,b,c,d){var e=c[0],f=c[1],g=c[2],h=Math.sqrt(e*e+f*f+g*g);if(!h)return null;1!=h&&(h=1/h,e*=h,f*=h,g*=h);var i=Math.sin(b),j=Math.cos(b),k=1-j,l=a[0],m=a[1],n=a[2],o=a[3],p=a[4],q=a[5],r=a[6],s=a[7],t=a[8],u=a[9],v=a[10],w=a[11],x=e*e*k+j,y=f*e*k+g*i,z=g*e*k-f*i,A=e*f*k-g*i,B=f*f*k+j,C=g*f*k+e*i,D=e*g*k+f*i,E=f*g*k-e*i,F=g*g*k+j;return d?a!=d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]):d=a,d[0]=l*x+p*y+t*z,d[1]=m*x+q*y+u*z,d[2]=n*x+r*y+v*z,d[3]=o*x+s*y+w*z,d[4]=l*A+p*B+t*C,d[5]=m*A+q*B+u*C,d[6]=n*A+r*B+v*C,d[7]=o*A+s*B+w*C,d[8]=l*D+p*E+t*F,d[9]=m*D+q*E+u*F,d[10]=n*D+r*E+v*F,d[11]=o*D+s*E+w*F,d},f.rotateX=function(a,b,c){var d=Math.sin(b),e=Math.cos(b),f=a[4],g=a[5],h=a[6],i=a[7],j=a[8],k=a[9],l=a[10],m=a[11];return c?a!=c&&(c[0]=a[0],c[1]=a[1],c[2]=a[2],c[3]=a[3],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a,c[4]=f*e+j*d,c[5]=g*e+k*d,c[6]=h*e+l*d,c[7]=i*e+m*d,c[8]=f*-d+j*e,c[9]=g*-d+k*e,c[10]=h*-d+l*e,c[11]=i*-d+m*e,c},f.rotateY=function(a,b,c){var d=Math.sin(b),e=Math.cos(b),f=a[0],g=a[1],h=a[2],i=a[3],j=a[8],k=a[9],l=a[10],m=a[11];return c?a!=c&&(c[4]=a[4],c[5]=a[5],c[6]=a[6],c[7]=a[7],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a,c[0]=f*e+j*-d,c[1]=g*e+k*-d,c[2]=h*e+l*-d,c[3]=i*e+m*-d,c[8]=f*d+j*e,c[9]=g*d+k*e,c[10]=h*d+l*e,c[11]=i*d+m*e,c},f.rotateZ=function(a,b,c){var d=Math.sin(b),e=Math.cos(b),f=a[0],g=a[1],h=a[2],i=a[3],j=a[4],k=a[5],l=a[6],m=a[7];return c?a!=c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10],c[11]=a[11],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a,c[0]=f*e+j*d,c[1]=g*e+k*d,c[2]=h*e+l*d,c[3]=i*e+m*d,c[4]=f*-d+j*e,c[5]=g*-d+k*e,c[6]=h*-d+l*e,c[7]=i*-d+m*e,c},f.frustum=function(a,b,c,d,e,g,h){h||(h=f.create());var i=b-a,j=d-c,k=g-e;return h[0]=2*e/i,h[1]=0,h[2]=0,h[3]=0,h[4]=0,h[5]=2*e/j,h[6]=0,h[7]=0,h[8]=(b+a)/i,h[9]=(d+c)/j,h[10]=-(g+e)/k,h[11]=-1,h[12]=0,h[13]=0,h[14]=-(g*e*2)/k,h[15]=0,h},f.perspective=function(a,b,c,d,e){var g=c*Math.tan(a*Math.PI/360),h=g*b;return f.frustum(-h,h,-g,g,c,d,e)},f.ortho=function(a,b,c,d,e,g,h){h||(h=f.create());var i=b-a,j=d-c,k=g-e;return h[0]=2/i,h[1]=0,h[2]=0,h[3]=0,h[4]=0,h[5]=2/j,h[6]=0,h[7]=0,h[8]=0,h[9]=0,h[10]=-2/k,h[11]=0,h[12]=-(a+b)/i,h[13]=-(d+c)/j,h[14]=-(g+e)/k,h[15]=1,h},f.lookAt=function(a,b,c,d){d||(d=f.create());var e=a[0],g=a[1],h=a[2],i=c[0],j=c[1],k=c[2],l=b[0],m=b[1],n=b[2];if(e==l&&g==m&&h==n)return f.identity(d);var o,p,q,r,s,t,u,v,w,x;return o=e-b[0],p=g-b[1],q=h-b[2],x=1/Math.sqrt(o*o+p*p+q*q),o*=x,p*=x,q*=x,r=j*q-k*p,s=k*o-i*q,t=i*p-j*o,x=Math.sqrt(r*r+s*s+t*t),x?(x=1/x,r*=x,s*=x,t*=x):(r=0,s=0,t=0),u=p*t-q*s,v=q*r-o*t,w=o*s-p*r,x=Math.sqrt(u*u+v*v+w*w),x?(x=1/x,u*=x,v*=x,w*=x):(u=0,v=0,w=0),d[0]=r,d[1]=u,d[2]=o,d[3]=0,d[4]=s,d[5]=v,d[6]=p,d[7]=0,d[8]=t,d[9]=w,d[10]=q,d[11]=0,d[12]=-(r*e+s*g+t*h),d[13]=-(u*e+v*g+w*h),d[14]=-(o*e+p*g+q*h),d[15]=1,d},f.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+",\n "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+",\n "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+",\n "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+"]"},quat4={},quat4.create=function(a){var b;return a?(b=new glMatrixArrayType(4),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0,0,0]:4),b},quat4.set=function(a,b){return b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b},quat4.calculateW=function(a,b){var c=a[0],d=a[1],e=a[2];return b&&a!=b?(b[0]=c,b[1]=d,b[2]=e,b[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e)),b):(a[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e)),a)},quat4.inverse=function(a,b){return b&&a!=b?(b[0]=-a[0],b[1]=-a[1],b[2]=-a[2],b[3]=a[3],b):(a[0]*=-1,a[1]*=-1,a[2]*=-1,a)},quat4.length=function(a){var b=a[0],c=a[1],d=a[2],e=a[3];return Math.sqrt(b*b+c*c+d*d+e*e)},quat4.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=a[3],g=Math.sqrt(c*c+d*d+e*e+f*f);return 0==g?(b[0]=0,b[1]=0,b[2]=0,b[3]=0,b):(g=1/g,b[0]=c*g,b[1]=d*g,b[2]=e*g,b[3]=f*g,b)},quat4.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],g=a[3],h=b[0],i=b[1],j=b[2],k=b[3];return c[0]=d*k+g*h+e*j-f*i,c[1]=e*k+g*i+f*h-d*j,c[2]=f*k+g*j+d*i-e*h,c[3]=g*k-d*h-e*i-f*j,c},quat4.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2],g=a[0],h=a[1],i=a[2],j=a[3],k=j*d+h*f-i*e,l=j*e+i*d-g*f,m=j*f+g*e-h*d,n=-g*d-h*e-i*f;return c[0]=k*j+n*-g+l*-i-m*-h,c[1]=l*j+n*-h+m*-g-k*-i,c[2]=m*j+n*-i+k*-h-l*-g,c},quat4.toMat3=function(a,b){b||(b=e.create());var c=a[0],d=a[1],f=a[2],g=a[3],h=c+c,i=d+d,j=f+f,k=c*h,l=c*i,m=c*j,n=d*i,o=d*j,p=f*j,q=g*h,r=g*i,s=g*j;return b[0]=1-(n+p),b[1]=l-s,b[2]=m+r,b[3]=l+s,b[4]=1-(k+p),b[5]=o-q,b[6]=m-r,b[7]=o+q,b[8]=1-(k+n),b},quat4.toMat4=function(a,b){b||(b=f.create());var c=a[0],d=a[1],e=a[2],g=a[3],h=c+c,i=d+d,j=e+e,k=c*h,l=c*i,m=c*j,n=d*i,o=d*j,p=e*j,q=g*h,r=g*i,s=g*j;return b[0]=1-(n+p),b[1]=l-s,b[2]=m+r,b[3]=0,b[4]=l+s,b[5]=1-(k+p),b[6]=o-q,b[7]=0,b[8]=m-r,b[9]=o+q,b[10]=1-(k+n),b[11]=0,b[12]=0,b[13]=0,b[14]=0,b[15]=1,b},quat4.slerp=function(a,b,c,d){d||(d=a);var e=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3];if(Math.abs(e)>=1)return d!=a&&(d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3]),d;var f=Math.acos(e),g=Math.sqrt(1-e*e);if(Math.abs(g)<.001)return d[0]=.5*a[0]+.5*b[0],d[1]=.5*a[1]+.5*b[1],d[2]=.5*a[2]+.5*b[2],d[3]=.5*a[3]+.5*b[3],d;var h=Math.sin((1-c)*f)/g,i=Math.sin(c*f)/g;return d[0]=a[0]*h+b[0]*i,d[1]=a[1]*h+b[1]*i,d[2]=a[2]*h+b[2]*i,d[3]=a[3]*h+b[3]*i,d},quat4.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"},c("glMatrix",["typedefs"],function(a){return function(){var b;return b||a.glMatrix}}(this)),f.xVec4=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2],g=b[3];return c[0]=a[0]*d+a[1]*e+a[2]*f+a[3]*g,c[1]=a[4]*d+a[5]*e+a[6]*f+a[7]*g,c[2]=a[8]*d+a[9]*e+a[10]*f+a[11]*g,c[3]=a[12]*d+a[13]*e+a[14]*f+a[15]*g,c},e.scale=function(a,b,c){return c&&a!=c?(c=e.create(),c[0]=a[0]*b,c[1]=a[1]*b,c[2]=a[2]*b,c[3]=a[3]*b,c[4]=a[4]*b,c[5]=a[5]*b,c[6]=a[6]*b,c[7]=a[7]*b,c[8]=a[8]*b,c):(a[0]*=b,a[1]*=b,a[2]*=b,a[3]*=b,a[4]*=b,a[5]*=b,a[6]*=b,a[7]*=b,a[8]*=b,a)},e.inverse=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=a[6],j=a[7],k=a[8],l=1/(c*g*k+d*h*i+e*f*j-e*g*i-d*f*k-c*h*j);return b[0]=(g*k-h*j)*l,b[1]=(e*j-d*k)*l,b[2]=(d*h-e*g)*l,b[3]=(h*i-f*k)*l,b[4]=(c*k-e*i)*l,b[5]=(e*f-c*h)*l,b[6]=(f*j-g*i)*l,b[7]=(d*i-c*j)*l,b[8]=(c*g-d*f)*l,b},e.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],i=a[5],j=a[6],k=a[7],l=a[8],m=b[0],n=b[1],o=b[2],p=b[3],q=b[4],r=b[5],s=b[6],t=b[7],u=b[8];return c[0]=d*m+e*p+f*s,c[1]=d*n+e*q+f*t,c[2]=d*o+e*r+f*u,c[3]=g*m+h*p+i*s,c[4]=g*n+h*q+i*t,c[5]=g*o+h*r+i*u,c[6]=j*m+k*p+l*s,c[7]=j*n+k*q+l*t,c[8]=j*o+k*r+l*u,c},e.xVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2];return c[0]=a[0]*d+a[1]*e+a[2]*f,c[1]=a[3]*d+a[4]*e+a[5]*f,c[2]=a[6]*d+a[7]*e+a[8]*f,c};var g={};g.create=function(a){var b;return a?(b=new glMatrixArrayType(4),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0,0,0]:4),b},g.project=function(a,b){return b||(b=a),b[0]=a[0]/a[3],b[1]=a[1]/a[3],b[2]=a[2]/a[3],b},g.scale=function(a,b,c){return c&&a!=c?(c[0]=a[0]*b,c[1]=a[1]*b,c[2]=a[2]*b,c[3]=a[3]*b,c):(a[0]*=b,a[1]*=b,a[2]*=b,a[4]*=b,a)},g.xMat4=function(a,b,c){c||(c=a);var d=a[0],e=a[1],f=a[2],g=a[3];return c[0]=b[0]*d+b[4]*e+b[8]*f+b[12]*g,c[1]=b[1]*d+b[5]*e+b[9]*f+b[13]*g,c[2]=b[2]*d+b[6]*e+b[10]*f+b[14]*g,c[3]=b[3]*d+b[7]*e+b[11]*f+b[15]*g,c};var h={};h.create=function(a){var b;return a?(b=new glMatrixArrayType(4),b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0,0,0]:4),b},h.xVec2=function(a,b,c){c||(c=b);var d=b[0],e=b[1];return c[0]=a[0]*d+a[1]*e,c[1]=a[2]*d+a[3]*e,c},h.scale=function(a,b,c){return c&&a!=c?(c[0]=a[0]*b,c[1]=a[1]*b,c[2]=a[2]*b,c[3]=a[3]*b,c):(a[0]*=b,a[1]*=b,a[2]*=b,a[3]*=b,a)},h.determinant=function(a){return a[0]*a[3]-a[1]*a[2]},h.inverse=function(a){var b=1/h.determinant(a),c=a[3]*b,d=-a[1]*b,e=-a[2]*b,f=a[0];return a[0]=c,a[1]=d,a[2]=e,a[3]=f,a};var i={};i.create=function(a){var b;return a?(b=new glMatrixArrayType(2),b[0]=a[0],b[1]=a[1]):b=new glMatrixArrayType(glMatrixArrayType===Array?[0,0]:2),b},i.subtract=function(a,b,c){return c&&a!=c?(c[0]=a[0]-b[0],c[1]=a[1]-b[1],c):(a[0]-=b[0],a[1]-=b[1],a)},i.add=function(a,b,c){return c&&a!=c?(c[0]=a[0]+b[0],c[1]=a[1]+b[1],c):(a[0]+=b[0],a[1]+=b[1],a)},i.scale=function(a,b,c){return c&&a!=c?(c[0]=a[0]*b,c[1]=a[1]*b,c):(a[0]*=b,a[1]*=b,a)},i.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=Math.sqrt(c*c+d*d);return e?1==e?(b[0]=c,b[1]=d,b):(e=1/e,b[0]=c*e,b[1]=d*e,b):(b[0]=0,b[1]=0,b)},i.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]},i.multiply=function(a,b,c){return c||(c=a),c[0]=a[0]*b[0],c[1]=a[1]*b[1],c +},i.unproject=function(a){return d.create([a[0],a[1],1])},i.length=function(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1])},i.perspectiveProject=function(a){var b=i.create(a);return i.scale(b,1/a[2])},d.project=function(a){return i.scale(i.create(a),1/a[2])};var j={};j.scale=function(a,b,c){return c&&a!=c?(c[0]=a[0]*b,c[1]=a[1]*b,c[2]=a[2]*b,c[3]=a[3]*b,c[4]=a[4]*b,c[5]=a[5]*b,c):(a[0]*=b,a[1]*=b,a[2]*=b,a[3]*=b,a[4]*=b,a[5]*=b,a)},j.subtract=function(a,b,c){return c&&a!=c?(c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2],c[3]=a[3]-b[3],c[4]=a[4]-b[4],c[5]=a[5]-b[5],c):(a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a[3]-=b[3],a[4]-=b[4],a[5]-=b[5],a)},j.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]+a[4]*b[4]+a[5]*b[5]};var k={};return k.xVec6=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5];return c[0]=a[0]*d+a[1]*e+a[2]*f+a[3]*g+a[4]*h+a[5]*i,c[1]=a[6]*d+a[7]*e+a[8]*f+a[9]*g+a[10]*h+a[11]*i,c[2]=a[12]*d+a[13]*e+a[14]*f+a[15]*g+a[16]*h+a[17]*i,c[3]=a[18]*d+a[19]*e+a[20]*f+a[21]*g+a[22]*h+a[23]*i,c[4]=a[24]*d+a[25]*e+a[26]*f+a[27]*g+a[28]*h+a[29]*i,c[5]=a[30]*d+a[31]*e+a[32]*f+a[33]*g+a[34]*h+a[35]*i,c},e.xVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],f=b[2];return c[0]=a[0]*d+a[1]*e+a[2]*f,c[1]=a[3]*d+a[4]*e+a[5]*f,c[2]=a[6]*d+a[7]*e+a[8]*f,c},c("glMatrixAddon",["glMatrix"],function(a){return function(){var b;return b||a.glMatrixAddon}}(this)),c("array_helper",[],function(){return{init:function(a,b){for(var c=a.length;c--;)a[c]=b},shuffle:function(a){var b,c,d=a.length-1;for(d;d>=0;d--)b=Math.floor(Math.random()*d),c=a[d],a[d]=a[b],a[b]=c;return a},toPointList:function(a){var b,c,d=[],e=[];for(b=0;b=b&&e.push(a[d]);return e},maxIndex:function(a){var b,c=0;for(b=0;ba[c]&&(c=b);return c},max:function(a){var b,c=0;for(b=0;bc&&(c=a[b]);return c}}}),c("cv_utils",["cluster","glMatrixAddon","array_helper"],function(a,b,c){var e={};return e.imageRef=function(a,b){var c={x:a,y:b,toVec2:function(){return i.create([this.x,this.y])},toVec3:function(){return d.create([this.x,this.y,1])},round:function(){return this.x=Math.floor(this.x>0?this.x+.5:this.x-.5),this.y=Math.floor(this.y>0?this.y+.5:this.y-.5),this}};return c},e.computeIntegralImage2=function(a,b){var c,d,e=a.data,f=a.size.x,g=a.size.y,h=b.data,i=0,j=0,k=0,l=0,m=0;for(k=f,i=0,d=1;g>d;d++)i+=e[j],h[k]+=i,j+=f,k+=f;for(j=0,k=1,i=0,c=1;f>c;c++)i+=e[j],h[k]+=i,j++,k++;for(d=1;g>d;d++)for(j=d*f+1,k=(d-1)*f+1,l=d*f,m=(d-1)*f,c=1;f>c;c++)h[j]+=e[j]+h[k]+h[l]-h[m],j++,k++,l++,m++},e.computeIntegralImage=function(a,b){for(var c=a.data,d=a.size.x,e=a.size.y,f=b.data,g=0,h=0;d>h;h++)g+=c[h],f[h]=g;for(var i=1;e>i;i++){g=0;for(var j=0;d>j;j++)g+=c[i*d+j],f[i*d+j]=g+f[(i-1)*d+j]}},e.thresholdImage=function(a,b,c){c||(c=a);for(var d=a.data,e=d.length,f=c.data;e--;)f[e]=d[e]b;b++)e[b]=0;for(;d--;)e[c[d]]++;return e},e.otsuThreshold=function(a,b){function d(a,b){var c,d=0;for(c=a;b>=c;c++)d+=h[c];return d}function f(a,b){var c,d=0;for(c=a;b>=c;c++)d+=c*h[c];return d}function g(){var b,g,i,j,k,l,m,n=[0];for(h=e.computeHistogram(a),j=1;255>j;j++)b=d(0,j),g=d(j+1,255),i=b*g,0===i&&(i=1),k=f(0,j)*g,l=f(j+1,255)*b,m=k-l,n[j]=m*m/i;return c.maxIndex(n)}var h,i;return i=g(),e.thresholdImage(a,i,b),i},e.computeBinaryImage=function(a,b,c){e.computeIntegralImage(a,b),c||(c=a);var d,f,g,h,i,j,k,l=a.data,m=c.data,n=a.size.x,o=a.size.y,p=b.data,q=0,r=3,s=(2*r+1)*(2*r+1);for(d=0;r>=d;d++)for(f=0;n>f;f++)m[d*n+f]=0,m[(o-1-d)*n+f]=0;for(d=r;o-r>d;d++)for(f=0;r>=f;f++)m[d*n+f]=0,m[d*n+(n-1-f)]=0;for(d=r+1;o-r-1>d;d++)for(f=r+1;n-r>f;f++)g=p[(d-r-1)*n+(f-r-1)],h=p[(d-r-1)*n+(f+r)],i=p[(d+r)*n+(f-r-1)],j=p[(d+r)*n+(f+r)],q=j-i-h+g,k=q/s,m[d*n+f]=l[d*n+f]>k+5?0:1},e.cluster=function(b,c,d){function e(a){var b=!1;for(g=0;gb.x-j&&a.xb.y-k&&a.yd;d++){for(h=Math.floor(Math.random()*a.length),f=[],i=h,f.push(a[i]);null!==(i=c(i,!0));)f.push(a[i]);if(h>0)for(i=h;null!==(i=c(i,!1));)f.push(a[i]);f.length>g.length&&(g=f)}return g}},e.DILATE=1,e.ERODE=2,e.dilate=function(a,b){var c,d,e,f,g,h,i,j=a.data,k=b.data,l=a.size.y,m=a.size.x;for(c=1;l-1>c;c++)for(d=1;m-1>d;d++)f=c-1,g=c+1,h=d-1,i=d+1,e=j[f*m+h]+j[f*m+i]+j[c*m+d]+j[g*m+h]+j[g*m+i],k[c*m+d]=e>0?1:0},e.erode=function(a,b){var c,d,e,f,g,h,i,j=a.data,k=b.data,l=a.size.y,m=a.size.x;for(c=1;l-1>c;c++)for(d=1;m-1>d;d++)f=c-1,g=c+1,h=d-1,i=d+1,e=j[f*m+h]+j[f*m+i]+j[c*m+d]+j[g*m+h]+j[g*m+i],k[c*m+d]=5===e?1:0},e.subtract=function(a,b,c){c||(c=a);for(var d=a.data.length,e=a.data,f=b.data,g=c.data;d--;)g[d]=e[d]-f[d]},e.bitwiseOr=function(a,b,c){c||(c=a);for(var d=a.data.length,e=a.data,f=b.data,g=c.data;d--;)g[d]=e[d]||f[d]},e.countNonZero=function(a){for(var b=a.data.length,c=a.data,d=0;b--;)d+=c[b];return d},e.topGeneric=function(a,b,c){var d,e,f,g,h=0,i=0,j=[];for(d=0;b>d;d++)j[d]={score:0,item:null};for(d=0;di)for(f=j[h],f.score=e,f.item=a[d],i=Number.MAX_VALUE,g=0;b>g;g++)j[g].scoref;){for(d=0;h>d;d++)c[i]=Math.floor((.299*a[4*e+0]+.587*a[4*e+1]+.114*a[4*e+2]+(.299*a[4*(e+1)+0]+.587*a[4*(e+1)+1]+.114*a[4*(e+1)+2])+(.299*a[4*f+0]+.587*a[4*f+1]+.114*a[4*f+2])+(.299*a[4*(f+1)+0]+.587*a[4*(f+1)+1]+.114*a[4*(f+1)+2]))/4),i++,e+=2,f+=2;e+=j,f+=j}},e.computeGray=function(a,b){var c=a.length/4,d=0;for(d=0;c>d;d++)b[d]=Math.floor(.299*a[4*d+0]+.587*a[4*d+1]+.114*a[4*d+2])},e.loadImageArray=function(a,b,c){c||(c=document.createElement("canvas"));var d=new Image;d.callback=b,d.onload=function(){c.width=this.width,c.height=this.height;var a=c.getContext("2d");a.drawImage(this,0,0);var b=new Uint8Array(this.width*this.height);a.drawImage(this,0,0);var d=a.getImageData(0,0,this.width,this.height).data;e.computeGray(d,b),this.callback(b,{x:this.width,y:this.height},this)},d.src=a},e.halfSample=function(a,b){for(var c=a.data,d=a.size.x,e=b.data,f=0,g=d,h=c.length,i=d/2,j=0;h>g;){for(var k=0;i>k;k++)e[j]=Math.floor((c[f]+c[f+1]+c[g]+c[g+1])/4),j++,f+=2,g+=2;f+=d,g+=d}},e.hsv2rgb=function(a,b){var c=a[0],d=a[1],e=a[2],f=e*d,g=f*(1-Math.abs(c/60%2-1)),h=e-f,i=0,j=0,k=0;return b=b||[0,0,0],60>c?(i=f,j=g):120>c?(i=g,j=f):180>c?(j=f,k=g):240>c?(j=g,k=f):300>c?(i=g,k=f):360>c&&(i=f,k=g),b[0]=255*(i+h)|0,b[1]=255*(j+h)|0,b[2]=255*(k+h)|0,b},e}),c("image_wrapper",["subImage","cv_utils","array_helper"],function(a,b,c){function d(a,b,d,e){b?this.data=b:d?(this.data=new d(a.x*a.y),d===Array&&e&&c.init(this.data,0)):(this.data=new Uint8Array(a.x*a.y),Uint8Array===Array&&e&&c.init(this.data,0)),this.size=a}return d.prototype.inImageWithBorder=function(a,b){return a.x>=b&&a.y>=b&&a.x=0&&u>=0&&n-1>v&&o-1>w){for(g=s,j=0;m>j;++j,i.add(g,y))for(k=0;l>k;++k,i.add(g,p))b.set(k,j,x(a,g[0],g[1]));return 0}var z=n-1,A=o-1,B=0;for(g=s,j=0;m>j;++j,i.add(g,y))for(k=0;l>k;++k,i.add(g,p))0<=g[0]&&0<=g[1]&&g[0]c;c++)for(d=0;e>d;d++)a.data[d*f+c]=this.data[(b.y+d)*this.size.x+b.x+c]},d.prototype.copyTo=function(a){for(var b=this.data.length,c=this.data,d=a.data;b--;)d[b]=c[b]},d.prototype.get=function(a,b){return this.data[b*this.size.x+a]},d.prototype.getSafe=function(a,b){var c;if(!this.indexMapping){for(this.indexMapping={x:[],y:[]},c=0;ca;a++)d[a]=d[(c-1)*b+a]=0;for(a=1;c-1>a;a++)d[a*b]=d[a*b+(b-1)]=0},d.prototype.invert=function(){for(var a=this.data,b=a.length;b--;)a[b]=a[b]?0:1},d.prototype.convolve=function(a){var b,c,d,e,f=a.length/2|0,g=0;for(c=0;c=e;e++)for(d=-f;f>=d;d++)g+=a[e+f][d+f]*this.getSafe(b+d,c+e);this.data[c*this.size.x+b]=g}},d.prototype.moments=function(a){var b,c,d,e,f,g,h,j,k,l,m,n,o=this.data,p=this.size.y,q=this.size.x,r=[],s=[],t=Math.PI,u=t/4;if(0>=a)return s;for(f=0;a>f;f++)r[f]={m00:0,m01:0,m10:0,m11:0,m02:0,m20:0,theta:0,rad:0};for(c=0;p>c;c++)for(e=c*c,b=0;q>b;b++)d=o[c*q+b],d>0&&(g=r[d-1],g.m00+=1,g.m01+=c,g.m10+=b,g.m11+=b*c,g.m02+=e,g.m20+=b*b);for(f=0;a>f;f++)g=r[f],isNaN(g.m00)||0===g.m00||(l=g.m10/g.m00,m=g.m01/g.m00,h=g.m11/g.m00-l*m,j=g.m02/g.m00-m*m,k=g.m20/g.m00-l*l,n=(j-k)/(2*h),n=.5*Math.atan(n)+(h>=0?u:-u)+t,g.theta=(180*n/t+90)%180-90,g.theta<0&&(g.theta+=180),g.rad=n>t?n-t:n,g.vec=i.create([Math.cos(n),Math.sin(n)]),s.push(g));return s},d.prototype.show=function(a,b){var c,d,e,f,g,h,i;for(b||(b=1),c=a.getContext("2d"),a.width=this.size.x,a.height=this.size.y,d=c.getImageData(0,0,a.width,a.height),e=d.data,f=0,i=0;ic||c>360)&&(c=360);for(var e=[0,1,1],f=[0,0,0],g=[255,255,255],h=[0,0,0],i=[],j=a.getContext("2d"),k=j.getImageData(d.x,d.y,this.size.x,this.size.y),l=k.data,m=this.data.length;m--;)e[0]=this.data[m]*c,i=e[0]<=0?g:e[0]>=360?h:b.hsv2rgb(e,f),l[4*m+0]=i[0],l[4*m+1]=i[1],l[4*m+2]=i[2],l[4*m+3]=255;j.putImageData(k,d.x,d.y)},d}),c("tracer",[],function(){var a={searchDirections:[[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[-1,1]],create:function(a,b){function c(a,b,c,d){var e,k,l;for(e=0;7>e;e++){if(k=a.cy+i[a.dir][0],l=a.cx+i[a.dir][1],f=k*j+l,g[f]===b&&(0===h[f]||h[f]===c))return h[f]=c,a.cy=k,a.cx=l,!0;0===h[f]&&(h[f]=d),a.dir=(a.dir+1)%8}return!1}function d(a,b,c){return{dir:c,x:a,y:b,next:null,prev:null}}function e(a,b,e,f,g){var h,i,j,k=null,l={cx:b,cy:a,dir:0};if(c(l,f,e,g)){k=d(b,a,l.dir),h=k,j=l.dir,i=d(l.cx,l.cy,0),i.prev=h,h.next=i,i.next=null,h=i;do l.dir=(l.dir+6)%8,c(l,f,e,g),j!=l.dir?(h.dir=l.dir,i=d(l.cx,l.cy,0),i.prev=h,h.next=i,i.next=null,h=i):(h.dir=j,h.x=l.cx,h.y=l.cy),j=l.dir;while(l.cx!=b||l.cy!=a);k.prev=h.prev,h.prev.next=k}return k}var f,g=a.data,h=b.data,i=this.searchDirections,j=a.size.x;return{trace:function(a,b,d,e){return c(a,b,d,e)},contourTracing:function(a,b,c,d,f){return e(a,b,c,d,f)}}}};return a}),c("rasterizer",["tracer"],function(a){var b={createContour2D:function(){return{dir:null,index:null,firstVertex:null,insideContours:null,nextpeer:null,prevpeer:null}},CONTOUR_DIR:{CW_DIR:0,CCW_DIR:1,UNKNOWN_DIR:2},DIR:{OUTSIDE_EDGE:-32767,INSIDE_EDGE:-32766},create:function(c,d){var e=c.data,f=d.data,g=c.size.x,h=c.size.y,i=a.create(c,d);return{rasterize:function(a){var c,d,j,k,l,m,n,o,p,q,r,s,t=[],u=0;for(s=0;400>s;s++)t[s]=0;for(t[0]=e[0],p=null,m=1;h-1>m;m++)for(k=0,d=t[0],l=1;g-1>l;l++)if(r=m*g+l,0===f[r])if(c=e[r],c!==d){if(0===k)j=u+1,t[j]=c,d=c,n=i.contourTracing(m,l,j,c,b.DIR.OUTSIDE_EDGE),null!==n&&(u++,k=j,o=b.createContour2D(),o.dir=b.CONTOUR_DIR.CW_DIR,o.index=k,o.firstVertex=n,o.nextpeer=p,o.insideContours=null,null!==p&&(p.prevpeer=o),p=o);else if(n=i.contourTracing(m,l,b.DIR.INSIDE_EDGE,c,k),null!==n){for(o=b.createContour2D(),o.firstVertex=n,o.insideContours=null,o.dir=0===a?b.CONTOUR_DIR.CCW_DIR:b.CONTOUR_DIR.CW_DIR,o.index=a,q=p;null!==q&&q.index!==k;)q=q.nextpeer;null!==q&&(o.nextpeer=q.insideContours,null!==q.insideContours&&(q.insideContours.prevpeer=o),q.insideContours=o)}}else f[r]=k;else f[r]===b.DIR.OUTSIDE_EDGE||f[r]===b.DIR.INSIDE_EDGE?(k=0,d=f[r]===b.DIR.INSIDE_EDGE?e[r]:t[0]):(k=f[r],d=t[k]);for(q=p;null!==q;)q.index=a,q=q.nextpeer;return{cc:p,count:u}},debug:{drawContour:function(a,c){var d,e,f,g=a.getContext("2d"),h=c;for(g.strokeStyle="red",g.fillStyle="red",g.lineWidth=1,d=null!==h?h.insideContours:null;null!==h;){switch(null!==d?(e=d,d=d.nextpeer):(e=h,h=h.nextpeer,d=null!==h?h.insideContours:null),e.dir){case b.CONTOUR_DIR.CW_DIR:g.strokeStyle="red";break;case b.CONTOUR_DIR.CCW_DIR:g.strokeStyle="blue";break;case b.CONTOUR_DIR.UNKNOWN_DIR:g.strokeStyle="green"}f=e.firstVertex,g.beginPath(),g.moveTo(f.x,f.y);do f=f.next,g.lineTo(f.x,f.y);while(f!==e.firstVertex);g.stroke()}}}}}};return b}),c("skeletonizer",[],function(){function a(a,b,c){"use asm";function d(a,b){a|=0,b|=0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;for(c=1;(c|0)<(n-1|0);c=c+1|0)for(j=j+n|0,d=1;(d|0)<(n-1|0);d=d+1|0)f=j-n|0,g=j+n|0,h=d-1|0,i=d+1|0,e=(m[a+f+h|0]|0)+(m[a+f+i|0]|0)+(m[a+j+d|0]|0)+(m[a+g+h|0]|0)+(m[a+g+i|0]|0)|0,m[b+j+d|0]=(e|0)==5?1:0}function e(a,b,c){a|=0,b|=0,c|=0;var d=0;for(d=o(n,n)|0;(d|0)>0;)d=d-1|0,m[c+d|0]=(m[a+d|0]|0)-(m[b+d|0]|0)|0}function f(a,b,c){a|=0,b|=0,c|=0;var d=0;for(d=o(n,n)|0;(d|0)>0;)d=d-1|0,m[c+d|0]=m[a+d|0]|0|(m[b+d|0]|0)|0}function g(a){a|=0;var b=0,c=0;for(c=o(n,n)|0;(c|0)>0;)c=c-1|0,b=(b|0)+(m[a+c|0]|0)|0;return b|0}function h(a,b){a|=0,b|=0;var c=0;for(c=o(n,n)|0;(c|0)>0;)c=c-1|0,m[a+c|0]=b}function i(a,b){a|=0,b|=0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;for(c=1;(c|0)<(n-1|0);c=c+1|0)for(j=j+n|0,d=1;(d|0)<(n-1|0);d=d+1|0)f=j-n|0,g=j+n|0,h=d-1|0,i=d+1|0,e=(m[a+f+h|0]|0)+(m[a+f+i|0]|0)+(m[a+j+d|0]|0)+(m[a+g+h|0]|0)+(m[a+g+i|0]|0)|0,m[b+j+d|0]=(e|0)>0?1:0}function j(a,b){a|=0,b|=0;var c=0;for(c=o(n,n)|0;(c|0)>0;)c=c-1|0,m[b+c|0]=m[a+c|0]|0}function k(a){a|=0;var b=0,c=0;for(b=0;(b|0)<(n-1|0);b=b+1|0)m[a+b|0]=0,m[a+c|0]=0,c=c+n-1|0,m[a+c|0]=0,c=c+1|0;for(b=0;(b|0)<(n|0);b=b+1|0)m[a+c|0]=0,c=c+1|0}function l(){var a=0,b=0,c=0,l=0,m=0,p=0;b=o(n,n)|0,c=b+b|0,l=c+b|0,h(l,0),k(a);do d(a,b),i(b,c),e(a,c,c),f(l,c,l),j(b,a),m=g(a)|0,p=(m|0)==0|0;while(!p)}var m=new a.Uint8Array(c),n=b.size|0,o=a.Math.imul;return{skeletonize:l}}return a}),c("image_debug",[],function(){return{drawRect:function(a,b,c,d){c.strokeStyle=d.color,c.fillStyle=d.color,c.lineWidth=1,c.beginPath(),c.strokeRect(a.x,a.y,b.x,b.y)},drawPath:function(a,b,c,d){c.strokeStyle=d.color,c.fillStyle=d.color,c.lineWidth=d.lineWidth,c.beginPath(),c.moveTo(a[0][b.x],a[0][b.y]);for(var e=1;eb&&(b+=180),b=(180-b)*Math.PI/180,f=h.create([Math.cos(b),-Math.sin(b),Math.sin(b),Math.cos(b)]),c=0;cd;d++)h.xVec2(f,e.box[d]);u.boxFromPatches.showTransformed&&g.drawPath(e.box,{x:0,y:1},H.ctx.binary,{color:"#99ff00",lineWidth:2})}for(c=0;cd;d++)e.box[d][0]n&&(n=e.box[d][0]),e.box[d][1]o&&(o=e.box[d][1]);for(j=[[l,m],[n,m],[n,o],[l,o]],u.boxFromPatches.showTransformedBox&&g.drawPath(j,{x:0,y:1},H.ctx.binary,{color:"#ff0000",lineWidth:2}),k=G?2:1,f=h.inverse(f),d=0;4>d;d++)h.xVec2(f,j[d]);for(u.boxFromPatches.showBB&&g.drawPath(j,{x:0,y:1},H.ctx.binary,{color:"#ff0000",lineWidth:2}),d=0;4>d;d++)i.scale(j[d],k);return j}function m(){b.otsuThreshold(v,C),C.zeroBorder(),u.showCanvas&&C.show(H.dom.binary,255)}function n(){var a,b,d,e,h,i,j,k,l=[];for(a=0;ab;b++)d.push(0);for(c=A.data.length;c--;)A.data[c]>0&&d[A.data[c]-1]++;return d=d.map(function(a,b){return{val:a,label:b+1}}),d.sort(function(a,b){return b.val-a.val}),e=d.filter(function(a){return a.val>=5})}function p(a,c){var d,e,f,h,i,j=[],k=[],m=[0,1,1],n=[0,0,0];for(d=0;d=2){for(e=0;e6&&k.push(a[e]);if(k.length>=2){for(j=k.length,g=q(k),f=0,e=0;e1&&g.length>=k.length/4*3&&g.length>a.length/4&&(f/=g.length,h={index:b[1]*I.x+b[0],pos:{x:c,y:d},box:[i.create([c,d]),i.create([c+x.size.x,d]),i.create([c+x.size.x,d+x.size.y]),i.create([c,d+x.size.y])],moments:g,rad:f,vec:i.create([Math.cos(f),Math.sin(f)])},l.push(h))}}return l}function t(a){function c(){var a;for(a=0;al&&e(h))):A.data[h]=Number.MAX_VALUE}var h,j,k=0,l=.95,m=0,n=[0,1,1],o=[0,0,0];for(f.init(z.data,0),f.init(A.data,0),f.init(B.data,null),h=0;h0&&A.data[h]<=k&&(j=B.data[h],n[0]=A.data[h]/(k+1)*360,b.hsv2rgb(n,o),g.drawRect(j.pos,x.size,H.ctx.binary,{color:"rgb("+o.join(",")+")",lineWidth:2}));return k}var u,v,w,x,y,z,A,B,C,D,E,F,G=!0,H={ctx:{binary:null},dom:{binary:null}},I={x:0,y:0};return{init:function(a,b){u=a,E=b.inputImageWrapper,j(),k()},locate:function(){var a,c=[],d=[];if(G&&b.halfSample(E,v),m(),a=n(),!(a.length=e?null:(c=o(e),0===c.length?null:d=p(c,e))}}}}),c("bresenham",[],function(){var a={},b={DIR:{UP:1,DOWN:-1}};return a.getBarcodeLine=function(a,b,c){function d(a,b){l=s[b*t+a],u+=l,v=v>l?l:v,w=l>w?l:w,r.push(l)}var e,f,g,h,i,j,k,l,m=0|b.x,n=0|b.y,o=0|c.x,p=0|c.y,q=Math.abs(p-n)>Math.abs(o-m),r=[],s=a.data,t=a.size.x,u=0,v=255,w=0;for(q&&(j=m,m=n,n=j,j=o,o=p,p=j),m>o&&(j=m,m=o,o=j,j=n,n=p,p=j),e=o-m,f=Math.abs(p-n),g=e/2|0,i=n,h=p>n?1:-1,k=m;o>k;k++)q?d(i,k):d(k,i),g-=f,0>g&&(i+=h,g+=e);return{line:r,min:v,max:w}},a.toBinaryLine=function(a){var c,d,e,f,g,h=a.min,i=a.max,j=a.line,k=h+(i-h)/2,l=[],m=(i-h)/8,n=-m;for(d=j[0]>k?b.DIR.DOWN:b.DIR.UP,l.push({pos:0,val:j[0]}),f=0;fc?b.DIR.UP:c>m?b.DIR.DOWN:d,d!==e&&(l.push({pos:f,val:j[f]}),d=e);for(l.push({pos:j.length,val:j[j.length-1]}),g=l[0].pos;gk?0:1;for(f=1;fl[f].val?l[f].val+(l[f+1].val-l[f].val)/2|0:l[f+1].val+(l[f].val-l[f+1].val)/2|0,g=l[f].pos;gm?0:1;return{line:j,threshold:m}},a.debug={printFrequency:function(a,b){var c,d=b.getContext("2d");for(b.width=a.length,b.height=256,d.beginPath(),d.strokeStyle="blue",c=0;cd&&null===i;d++)e=g/h*d*(d%2===0?-1:1),f={y:e*j,x:e*l},b[0].y+=f.x,b[0].x-=f.y,b[1].y+=f.x,b[1].x-=f.y,i=k(b);return i}function m(a){var d,e,f,g=n.ctx.overlay;return c.drawBoundingBox&&g&&b.drawPath(a,{x:0,y:1},g,{color:"blue",lineWidth:2}),d=j(a),e=Math.atan2(d[1].y-d[0].y,d[1].x-d[0].x),d=i(d,e,10),null===d?null:(f=k(d),null===f&&(f=l(a,d,e)),null===f?null:(f&&c.drawScanline&&g&&b.drawPath(d,{x:"x",y:"y"},g,{color:"red",lineWidth:3}),{codeResult:f.codeResult,line:d,angle:e,pattern:f.barcodeLine.line,threshold:f.barcodeLine.threshold}))}var n={ctx:{frequency:null,pattern:null,overlay:null},dom:{frequency:null,pattern:null,overlay:null}},o=[],p=null;return f(),g(),h(),{decodeFromBoundingBox:function(a){return m(a)},decodeFromBoundingBoxes:function(a){var b,c;for(b=0;b1?(k.x=i.size,k.y=j.y/j.x*i.size):(k.y=i.size,k.x=j.x/j.y*i.size)),d=j.x,e=k.x,f=j.y,g=k.y,p=c?c:document.createElement("canvas"),p.width=k.x,p.height=k.y,q=p.getContext("2d"),r=new Uint8Array(k.x*k.y),h.attachData=function(a){r=a},h.getData=function(){return r},h.grab=function(){var c,h=i.halfSample,j=b.getFrame();return j?(q.drawImage(j,l,m,d,f,n,o,e,g),c=q.getImageData(0,0,k.x,k.y).data,h?a.grayAndHalfSampleFromCanvasData(c,k,r):a.computeGray(c,r),!0):!1},h.getSize=function(){return k},h},b}),c("html_utils",[],function(){function a(a){var b=document.createElement("div");for(b.innerHTML=a;b.firstChild;)return b.firstChild}function b(a,c){for(var d in c)try{a[d]=c[d].constructor==Object?b(a[d],c[d]):c[d]}catch(e){a[d]=c[d]}return a}return{createNode:function(b){return a(b)},mergeObjects:function(a,c){return b(a,c)}}}),c("config",[],function(){var a={inputStream:{name:"Live",type:"LiveStream"},tracking:!1,debug:!1,controls:!1,locate:!0,visual:{show:!0},decoder:{drawBoundingBox:!0,showFrequency:!1,drawScanline:!0,showPattern:!1,readers:["code_128_reader"]},locator:{showCanvas:!1,showPatches:!1,showFoundPatches:!1,showSkeleton:!1,showLabels:!1,showPatchLabels:!1,showRemainingPatchLabels:!1,boxFromPatches:{showTransformed:!1,showTransformedBox:!1,showBB:!1}}};return a}),c("events",[],function(){var a=function(){function a(a){return c[a]||(c[a]={subscribers:[]}),c[a]}function b(a,b){a.async?setTimeout(function(){a.callback.call(null,b)},4):a.callback.call(null,b)}var c={};return{subscribe:function(b,c,d){var e;if("function"==typeof c)e={callback:c,async:d};else if(e=c,!e.callback)throw"Callback was not specified on options";a(b).subscribers.push(e)},publish:function(c,d){var e,f=a(c).subscribers;for(e=0;e0?c.videoWidth>0&&c.videoHeight>0?(console.log(c.videoWidth+"px x "+c.videoHeight+"px"),d()):window.setTimeout(a,500):d("Unable to play video stream. Is webcam working?"),b--}var b=10;a()},!1),c.play()},function(a){console.log(a)})}function c(a,c){"undefined"!=typeof MediaStreamTrack.getSources?MediaStreamTrack.getSources(function(d){for(var e,f=0;f!=d.length;++f){var g=d[f];"video"==g.kind&&"environment"==g.facing&&(e=g.id)}var h={audio:!1,video:{optional:[{sourceId:e}]}};b(h,a,c)}):b({video:!0,audio:!1},a,c)}return{request:function(a,b){c(a,b)}}}),c("quagga",["code_128_reader","ean_reader","input_stream","image_wrapper","barcode_locator","barcode_decoder","frame_grabber","html_utils","config","events","camera_access"],function(a,b,c,d,e,f,g,h,j,k,l){function m(a){j=h.mergeObjects(j,a),o()}function n(){for(var a=[{node:document.querySelector("div[data-controls]"),prop:j.controls},{node:B.dom.overlay,prop:j.visual.show}],b=0;b9zH7}|_Sti0pMCCq@4c`4y00z9P+xUe5(ijNgzIXsQ+QKJbtFa!{ zOoD;o2}WYxIe%33sf4p32VXUj^hcuyG1TgBwdq@n44+IQ6IWV?&L6_*&%RAAxFRvH zJ8aH(T9L?Ur|O1tixA|n4LY>CjRX5!05GIBaU=Mrq-4$p;QTES;o*}1{i`HvVlsHK zWzDK1`1caX_(N+uXD4ubE12}}C3$pq7b^um+uw5MUAx#e@-y~-8%QPB4pjkg|9+vn z$p6z0;pw0{_s^vgdlxOZQPR8#zI1Ng?q9q^wHQ{&+f{;e`3hthXK(f_Hv{q0hH;KP|L z@*VKcQw@p4Ab;-yI*A?R*UbeR_zU@CRtfcn;*gIe3f1yH2)Wn4TCL1OGtTdwNZ(jj6QgX;Yg%~@I)$ASG z3i^Mpg4nrn|7(tA{_Dv7sQ>4!Z;f(ayWtm@-yS)s=rQX2ACoKWZnz=L@Xsc9{C$^N)FfgBP6F|1nZ0w!Qz$UH@0i_y1{BiNeIB2D8;b@lF1p4sIvY+6tYu zg#T+SMk_n+PZvI?v9pm9|5zDfXGg^9zFa~5PiG-N`AkCBCRyC`o&K+`vvKN*mHvCb zir3X0D+)SD&G5$m7}B?a42Q7i0A(T$jr3)O{Etu1?CK=jXGQj&%4QlmR{U-8a~Ex6 z{@sJ(zh!l$h;VYY-+z0lt^~aK-zfgiQt=-%LGU|AMHcZ#|4tV!0H5tYMZoahe_ZYz z&VMG_|KAFT*n!*)L?ZgHHz?7QLzEcQ{`yS*T|y-`5{|prqTy|Pwxrt>e_iT6cHz=| zONfUpreYsdtQ>&@{8@U>AH8sJyU-T%pph4d#{F;oVhnGzsb&0^^61=azd~WKY@-Gc z{ltVujg9=)=q*6=ZBAfSH)1&!u2}J2|LcR`2eevA?0-8@z4@Lw|L+*sMq|eGvuHtn z^ZxZaochw&m;#YT;SwCAu2=Xz$M=RebGK_9g z5r}{Q_#fC>0U%g*GymC?U=!2m)g@+aNG{QN>+?=+tl(q6v*{mJ_)0`r``r24REmzU zyI2UFjf~AT6dm0-SKG3o%KG7)0#IfH!nvY_0EhxhSi192_Osr-ro8#~yh~k9T)6q$ zODxfYN&HR3jS+ZC-Pa^4p9O{;*G2!Zw7x<>kE{c%SfMJ$PL$Ob{0+ z9=yXlUg-YgR*VO9+H-l{AO090irG^GUyJAE0fZ?@clt zDDpmg9{%iGjvwW4_0NlKvzXk|udPFL-yxfCh=W3JDWx~w!+8{Ur_<1P1Id~LE3 z91oaFZdyQGe{wF0&vaXaDfCz>0&Mi!l&@9u=>Xv2R3PG6cI9`mQO?9~CUW*>;9mB4 z!mGR+_SP*PDLEhlSbmphgsvYj#RL4juP@_8vZNE+QS?+-=TME4Lb{2@T-4J-VNlFG z3t*J`z?6%x!Jyww5>O%oUvZ9#^^d=C+qa^is^hunxXE#jVrCd^`9*r_1V9S!n_N*S zV>dawy3@%9!dZuugT{`N&ku>sP5ey{LJ-7AJRl+U?DMToVh#d;Jh3RDyc_PDtLg`1 z_6}{{DnWrd%iI>(qq+{UzKn}?Ss?n?gqd{V&Vaamh%s0^=yzVc6h|xOY>EX3fc%|H z5Sg#gV8O-!gnT0}37wVUO;u-kIXH09tb<{e6T4UAV7GMg-1)$2^~voD*qMVA_}UlK z5vltUFK}KG>-j*ZzWUR%rsn_1_Ym1EHzVS*$|k7?`)H=f>tO?ag_8oTySH$Ug3e_x z@c_c%bU?sASGaBh@EhR;*a`vp`_q7?mTmv)f_A+UrbIrlt})TmwTgu8k0 zt3uDvU(?cnQV?oA)o9~X%#s9xM;^g4kOg-b8B*+MO4rG2eS~L>Bh#OUz$7@2>18$U zwl_7n14>M6fRot#c1;XjEORft*%FSZb7xT^W#xAt!Su8Fz;9o6#J^SkGLg{7TwbIC zUmq0uPqMcz-QGa~zzcdx2=~y^7y?(Q=8z4n(jy@jA-~&fFPJ)M=~@3}kM5BSf<&U- z>G!@XcA3beev^0eJw+G*UPrF48g0C~Vz`&YErqMA{Y4p|9M$5TSauG-747le``Z_H z@MW}OIIs7D8|3&+d!8f?|-@fuxOSZenjfznwhzfE+@Rp;NdW6~RZM&iU>NCM9nF@K zKvBn?!mDqMp3O4Skg;FO>?2pYP1F%tk0`IZc-3|xNB4tSaO}Q4HtEx5h$z6Ym=cMW z&MOKzK1#%#Rj7|-%c_wnx`irg&{MIh%PvB&bN(=1t>e1kt9+9D=K*#$0dfc%pM(<{ zrP*g@`S9JvJ31-c%?~rWKj|hx2XRj1pf&z$|2K9&W{9}3OP*G; zUFe#W5YMc5h4t|Um0**VU?}Os-g5m{Zcys3pSIU3wmH~db`nHip9<%;DnD73igGR* zhhl-7R7_(Vywv$52X5;MF?UZYtfUnINjhL}K%68O5Jo%$t z5ojwX4ti-9=HWV2e4-#L-ClWmIU!OIjp=-@_#M!tiGdn%1J!L+6w;-+F4lQZ<=#Ng zrJsW{+s|B3Ta}*Nt!NKuD;^#?{l>^)v*qI?Ov?#SwqR>q9+P`r)nF><60k5`rhjLA zf4k$_zwq;?abVGQhArRBHRz{2t-TMM)gp#Ba_l8)8qxdaQ`&D@aa zPv(WR!cnY4F0k`351jkKVn;=+6zx}QSQDL@YX~b36+a3Da^i@TKCO@fkNUVvY8hCw z+)ar;4N5yz)K-A4#K76MD8eJ5rH&iD`hFp-v%}<~S%Q>?STqyd*5iTv>VfBU5I{3Y zhslu>Ad~w_`#?uX%MaOJ)6UKzSKx@cE7P6#M7}gnzrL5lA0gBxFxu3y=T5h(MSC0# zxO7~7CO;tuIurVZJ;h8ma{EmydxSxngukDJ9Wxe6x0h|LB!cI@co@=>%gifXWxTb) zWfRddFicd`uiq|j5SjKJo?6hQI^Kk@6Z4x6V;0{sQe3pcDKJNA>*sImG=mjh+@4mH z8_@yO*rxBel;*f7*PhMP$Y(sxx)3jer|SrFKYR7LbvW-#qL9jA8X z&HPe;{JArSw$F#wQ`5qCbXB){4`Hyg$Y{UoRyt!w{m{c$HG|jMn7cMdl!Zue9$Yl( zR^OoDK>bd&^rVlz(K7Z68%Th|o|?I#M^6~P_sM4^hSgJqGkWS`H?SIcTx~6m zTxIGKPR>hpA_#<9Twe&wq*m@9a8mLVBB>w#??;KIemocURMjTP$MJGQK| zR3bg28qypG9XDBxcQNC5N_-G7+GrT!gE7n_HP+te~BSMTcMO{C2WzWt}; z;k$l)IS;EY+vsM-_lE_;iCL5o6ZQHDQ?+x1@IF7lChs`N#*-pIYeODOZm0Tz>&hl@ z{@J7N=k4w4%^fjv0g4;h_WVHGK3O}Ja_clm?XrgG4 zFmm3ZgiMq^+B39>f>`n5N1TpmZuoeebftm)z%{uuZQ~n(4ks|ChwVYU99Q4e+zP~P>L=Dcg?{64<44X-m zH|>DSek7UmXhQ|cGoU`VBb8d%gyxm1!);Vz+7)Km$n!96f`qwft3o+s_O;BUc+w-( z1e2LQtc}!v&m6M>M?W>e#6pEzBIY#!NLY!6FQV$t%TCuk=kPFc#qj3savn~7%&%(SxgE>{gLS6fj$9b76a0KGa`>pRd)D?(bv2ofk9Z>$0OxH_B|x;kEQG zMql24?iC&uKDCNcLK@#%1mkYX5&bCsrAm0%&FnjOCON_Xlio=pBd?-*U%-yPJ``)k zzDFr6x{0QGb>TT{ETKuxv+h~xQ?GanVXWs^V3p5U^u$FjSzEs~2&tA!j=5(Elspxd zYeMLs>^i}TF{2viv~~2zs&oBM8`O|z>-a)12Bts#2u@IhQiNAjY5QHS>7T;(&$E?p zaD{@4dU-p^^N%#|*a{Al;u(JztWo&{dBqWU@UO>i!I#N zp#E$IySiU_5hs$k15OfMQoVSDN@RA8;(<8#wS-_D`ch=_^)}wNm9`Qk+@-+MtO-TvnH9cQO!PCeNnLZcsa zCJ$@7DAllYF05Ll1}28jrpZj$srG|w@wOT_MNS~gsFBV@ENVHH3bf~%)2%|JG*)YW z>H?;1%uqDO>3!8M z>~@r#EOuFR|LwCZf7I*v#MW1@(6u@TN-bykfc^UWLd2D{WlUyfqjhqWCLN2afekeaBuh&2xmpT4 zMm4^}7 zr&(vJW0;X_!HYN?LBqyWW+IRlT)>7{_k{JIsV-lguf}>68_7m65c@II2 zU+w}$TNi#bEvGvzm5<--qH?m@|9!j7A=)}2Om=5AvQEBW0bN(wloG|tGZTh(Tsc@c zr<6zCuK)o6S>59rq*~R-R1iTx{R++SLJBrS+?+>x(4L-ukJ?Pum?}>TLK{&4i| zsJK|6j2H4x^!a&5jaa}C*8iKIYA{PWjEtQ7EFA~6Ne!`9d@I8l)K&0ebVPd_^I`0< zx}@!uUEPqC-Ncn3wV z=O8j)-V@?GGt~>1TPq!?FVl6f1rNGn2YW=d(j$-tA}jBj642b!v?VW8I9sw$zjij? z6q6?1k+C@>7w?7#I6RTeS{G?4)g-bbvQT&#dQvo42tDjk3!GcB`q(GR+w^Uzhr7bb z=&=eD`ebEf<84?TSOFU-lVeA{`oYZY6*|b~bLuy*tnfdbydnNkn(hg54SrIpPRIRl zI;ogLeg7=vGpHc}|RO|blPGCVozUE)P?V1VXhqcksM>Xu?hagAJ67MZ5N)2|h+$jH9VsWki23h9}a_k%f* z+`U$-&U-4*wkQ|?_Wcq}tF$ERr~u=oCmxNKKh zOGT?LR*lEQ-+0dFsqr#>CGeGpLeiq1mOrjAR8EB)U2O5!%GTx zgPa9~zq$NDhV?Wp0}j+ry5LxChhHjo!Mn4kfnzAy1i#sr?$spI^wdFk{<^l{RfuGRu@Ty7gPYGm@`7EkR%ryQ?~6O7%(f>jmbCY+u{A?q0Geg9~w5eu2a`nCBftb@0lnR}^c z!ms)0s(BTq7P%sl%M28-T;37JK6bB4t^p@btHn!SA;Y=g-L^WYn+!Gtzw1z5oMrfCos&rpwF5^)qdn7Dx(hd z-ue%sTFgYy4CtHO}9YNy0_9^IS!k!&AcB7pwDu15yr;h z?sa-tpL^|8$eZg`P4?xUYs(+W+q(VQMfyPNAJXUWK2tnClp7Hb!${v-vLUPSz?m4@ zXeR!WM)w43>lu5_Z5gpZg=Nn_2xxpTLXwKraV})eTkreVMuySEFo`g-&08SqNOR1b zEQ_88(bBgV<~*%m#c`21`9BD>xMm2RWKh6Z5dz!)!k8y>-zdOV(=7!k+0X;Q6@EW= z1Mf&T-J9?G4+|S6UF_DQId5ZdG5O%%zchi!&Oiu?sMoM~v53nEm)xQ26i!vyes)p_ z_1v_l=(pE4R(4=4rCc87YTK}PIx5|22*{{$%~?B}DxwI_^3=!1oH^INBm2WvT`zY7 zx*GGu+gE}&m!~B4Rqk}w%nLTz<|~)8+Lw&$xj*(BmUlBj54|pl?eIJk zP9@9E=m@}0LD;5X;E=4Ej=&RGzmX0F2(wcc+IuHPYHd>EdAc&rz2FheS)x(>JY9!` zlyNS~6q5mkSj_kL-@yAVCsBM9&0UnI9KwW67ruL(`iC%4-j?^eSppebr$2no=ZrmR zOY9tn<()3r)#JPgaR@{22m#i$UeK2?H_pwqWb)~nTWo~Cz$P>xUl---@`vL0A%lEx z{MLti$kN2DRVu3!3U+t`bYYtg^l6f>dN!h%C%gJ*T;bI;gl}XCi+i2NU4{Wty@z`{ z_lggd5O|)Xir=w|#j}cQT!5;Pqx&iObdP-L#m;dZs5&u7yvBZpz}~l^OnA&H>@`Nc zuq^#@ZX@o>3+I?oGkNRob3`%CLp*1>SDCw3qB3in?{lime~JSNy0AYqX5$@4_AXBp z_hq21B>fqL^?iAb&DLot}#K`(MgYX^D7A_x8MB*4+-AgjZQ{pq)4Y zYhHb0R)EZk>Jh->r|(mmt4(GQ)4BGk;wDQZ@t?Mtj%$!%RE$OnQ&Wc&8A1wPLuBn3 zY+P{)mX@IrCt&Jyr0V)1Me)O3wF0!#+ICm(I*TzYr_8`wXbmDOG)x3|tUsk0jbzjp z-u7i)iPL%7;t?H+pQb~Pc*q0JwAnfS5j^U10Pb-jV3~^Ugm>g_ezJ^nPm8R$SbFAb zKO+=w(at3ZL~ZXeHcR$#Z_o^ z;-!5nkW~-*!jcx2c{<%qM^)Ku$1F}PsOERn*M5zg#Q((fCFv6a97+N>GcAfW+IQ>o zUvw3VdP7W^CW@^ z#LXJmZ4dz)@6*cPAGR!u-?_>dAAeZG@mgMrioxa{EXEONn?em%8u1M=rwk$`p+jj4 z$K9}$f%)`m`*cFJvAE52P-R)kAG3b(uB0ihpFqSW=UkDy7R0!OE?mc_?+2A5Qy0R)5 z6)Jif_;tWsUNx>^qMp>u)?F;s`aB*aHK>4=IIP_&QNvR2BOJh=$Cz?AG4|$btr$^+ z-fS=QlXECGOZ$%&KoBtA(J*8~@6QTsdxnXR<^(>Q_uyRD{hfG6$rfkZDDkQ3P<{5+ z_ceZpw(WHPVd)O76WbdTSif(c4mKbz^2bf$nEtxJUT0h2MN?G}fph?+oR&-u=L1+O z++sZMn5j^FSOPlXD3IYXr0brMiuE8rp;T&c3DhfE*H%uv8OsV(Ho9QJ7i#2-J7A=G zs-5#8X_3;hkr?7CKL_IH7Q=atrOmizf_Jc33=}xI4T5EC@dVswT>o&$NEO3VIN3Fn zu2_}Pp^%4Kx2Fo18FW&d?dq?vQTH2^ED8gXh|J4yfS2CmPq4c;YFo|BmKn40?^8jk!K4#R9-ZbxPck^B|Lz znqn!iRo`dke8T`lyTy3ZLaPD~ZO`eKu{D|c9dX1tvGw|xkS(fedZy+zO^-h&eLYS* zn%25LA#Fo3Z_^SXR;3{>RWku4tG+Ido#B-_JMu!e?x01mNq%f*1RJS2W}t{U2QJ<} zs5-|(S7l7qSnNjOrzHY={GP#s#bg@&^I>wMJ&e+fQHf#Wy#|$D(K4h3BtMNQ`W(Hj z0%N7#A{>2ieB$(QgM^d>0~fUF`*^T#j)X3l%ydCL*N2}nMbd&*;Zgf}SF(=%XPIRH z(+Z@_yzD{i*K+5N5#5Oq)#MSV3|fd08Sg5dM$+X<8?nUY9c*wvAq!(}OaW8jo1Wk-6RGv9jR(D|C{cgww&z244mqFCq9h+({J|S(+?&HC z*C06D3c1Y#u3a3}hzXdh!HyFmY_f2lC@o#Atlx~yg&GWkW?C^;`1YO$v{<|}c$B>P z%AjIpOkNZGFaC*`YbKD`zWci{D9nT{kr2>Q%7&7ok~KsK0?V>&baq z2Uqa?PG?;Kd zI35(IJAF$^Dd|KxtMI0xS_uBoEp)HWp272v=o-I%$>jwsD`?u8^BMaH(}&+y-CLXy z1#;W?&wp#;TYv5RL!iS|Xr-|6Z@ zxw(6xmN}oc&{I{Yo)0e0B6yw!Oh2^AJryV%GuR05pYiBBeoD7VCSFSp`AiC-4phhl z;gQU&+-IP((X5~IIW4>%aH7l!U~oMxdGmXdxlCaE=F4gD0zTubZW`SMBgcp_v`8s`}R43 zJi*I%kS;AZ>REO}5{v@EG`{@_$+09lb6x2R3Cn1fo{Qc%{{+u117e&=L zC!;bp?PJp4X7LcG>=(Kb?3$u@POAFuI01{(j9zoz@q||Hl7*}o&GBr##zD!I9=>bT z@2Q?ok-IPQhE1W?A%dfsu2Q1DtH}Ziz~XyjiBpnIsO~+p+aezq4Z4R#MV8W&U0J>B z`Qgxv_12x}$!8T7ca}O<6Cmd(FXxUmwnO|*vUIDJqS|_Pi0*Fi0dtJo|5xUBWohFy- zYUc|(wxw&QeR-<>aWRTRyLo%<)@z^xn*0)feUQhWL=%(I*^2khhuu3t7T9d%@sMvL z@$!>m;O;xAcg!w-{=D(*fCUGz?{&xNy~6rZS3L`>-6^Pg-gk)onO#iq6I&mx!fNn* zhyD?jmDCw8IN@^ZLySbjs1TCKY`uD(7U3ic!tA%jETASGSH8h*R?Y!em6M$E*S#eP z1;1NrDvfnIqZS%^s=$9pVO&hldN%}QW&`YF`NzbJj$>M5&T~T?g|ddu~Bby7Bems2j?HAUk_ZniVI&22W#^O?9ypC(S*~NJKQJwAHYsGcY zej(0hFF*1)UL$XMkT^Z7nYT{3zrg;yNuF)20BIF4iuD@Zb?(I5DB+S$p7Sv9EZIEj zk1@4wuozc7mkm&SxEFA-jSdYJOK!CLt?`BQ^7-3Wj{fCwdqG>Pwl^H8P6F(9u^|_8 zeMD!ksAOdn`uHu2&TeS^`y8z-(SW>#l&Gcl88jk|8l=xmb(q9ow7h-@a}wH~_0Tz4 zeET)P8i_=;#a7lRe4{ZIf=B*t&h6Fgs(jLJdr34Zo{I(VMEvBS4LOU%0z)=pnXG)= zkx299lwVb;z+FLoV`9fb3D6|bd4$DDo$MO*-*gS#=~^0Z>t^9XVF`Up%??PVhr4a( z!G5zCxWsEP(df9?d)oFUb2HvEdqIZD=x9nSdVIav#uF512QALTWR+|1v*YKlpW(?J z2++4+Ge9I#&b8qLOd}R?zD3f0T&~X&`<{seob*!z1I|0m3N^= zCF~i5H(DL`GEgx++>cg7?Nc(96V6mqorIW+$dtVUU{Bmx6;mYtI^u3sDlYxO3YBMc z4h|39>A#rL(dvwO!=7Hw^2z##`MMf$lLZ2y!;L@E3e)CPQsvja)K(^^qX%YCJ8J^K zTINn?*$y-%wZh#}t`Sd?R(094_HG(;ich|q72Ol~PPf-#_uqsMHthTdR*t2~M4YGJ zucN@~8Qez6$%Niayi5pq3E*TF=&a)T;k<>5w98~R>eXUaX zvoYae?xHPUu(FPm)`S!QarvW>6n-grGPU%O+nWOXA>ek)QY4D*v4K020_N4tL*-;_ z=5y$2N3tpo{_0d0?b{@JZGp}u8|B`Q3f^zR{8yb6IiCg2J3hHt<()2X%=iVuGRVwS zidMfhc?D53_g)&epD*Zr|Gp-u)`4cWozEw9RI^7^jqx<=UB^wVjFb0R``lHT=~jtT zIQZO79=UMeu^$UGV^JkplvoAMR}LxPiXEnfK+sX?-f2~Bm6ua7sJo^Tf=#<2*n$_1 zu?&HmXkp#(dL^raUMa9EIKV{?`#o)!^+|eqzO`}eV^T)@AG)nSv#dmE0_^!%9QH59 z%;|Pp=OI0GdLRKKl!a%^d9Kt|Tu@mn?zbg6_X}dl^C-muPdo>$KjJk8jU)9|gg7!1 z1v98kmul+bcaQGf26^^k&Z*oROzOUX58n1PwGLQF;d=FcDr06174s5OxZ5!LdARFh zz$r7x!k(lMo1KcYP7>%F>QZ>CeT++O_j6<}Oe-lIx9{&@Y@4XTt*GX1r4$VtW*JoN z7E}QBhrGWZ`L2Cbs}6lhB@SbvS|CWeYkmhSVG%d8mh^q1h}!(i9}3jzGV{;6)6G)l z-y>840L}3E09Uoe*@ed^rHX&?<|+hl`(B24>9utVaFVYAM4}3BeL38+f5gZ}V&?`C zA7XpvHyRuczCMnDo(du#SSJL!Cxn4I^2OHQ@>Rhmq>z|*h45>2I?1evSYgtgr?FEY z>i4Oqu|x*Od*4&HGRLj<@m`Lylv*K8>~<}^(0gi(o^t{xte7um{`R)}n{7@<8|E13 z_2p#W<>z#B?-|K`$AiVUe+e5{S2#hWKPma>fhT1~YtQ@ab&@}g^O8XaY zNpN2~>L;(HoD7@PJ&K`Ug!-pnX=NDh^;IHDdOtHW-1~jE<>Yuuo*XP6dV^LI4)bn5 zP+a3vv%MWnUAFy%wU* z!A;tEp=B^$QYd@|Y2^05k$iI3;P`FrVS-dV@lqumjZM9omOHSS3dc=z?rsZK% zfWddaWl$V?<%4atGidT{1=~sR8__^`RRAdQL+it4L7VT?Eq~(P?L|B^H9(8^4Mt2V zOz65D!kEd_6>hLN-Ff<@Yxu!eCyJaf)N}7wHNV)|+^?`an(8tfPM3UizMxaT`r))r z{>qDB`0B^^az<|)XO{>@#7Wr>hzH!Ms~a%>2NShHNrs4LC}q3v+@9^mKp-JQ$8LwO(6alqxs3h z*8{{rSr+H!{5~<81%j0hlIoN%T36O@|0%h%Zer>tyo#msK(@isYEVsc#hE%!}P26di!g8LR^tc|?trgeJ+Wdt;i=Vg{t7gi-z=U#FaiO;s-7~XJ2Wk6op_zW|5HudY5xFO}+72_Fz zj)#f_UQB}*ub@TVn!|lk#>Id(C^9g1K6Afqi)I+bDopL{%05RA$$6rTc3XN+3DfMa zH{7JrhsYs0_^@kb!y|b-?&R;ls{UtK?xK#4AF~@_U4|Upzi%+_78G1P_##3 z)A!GPxAz<94BA)WbnHD}>j6KDy4(GE0nd)JtJ)HNs2WnX9|~E>n$1(DKugrsQiPu^ z232d%_He1At#Okq*&-AuhhBcKk-x!0I|{n$Fv<2mbqh)MliX;yQ7CBgncNT?;QBh`=>a9@~E>RdIjJm?-$fiPs9m-B#KZXIiprCC3&|NS7I{Ho)| zx9T^KjT_Q6El?Ik!hJo3zZl6lIqZ<-e(yWp=Rfr4Ml`;2Z~GV^&FN76QSLeGgie*X zzyUt_s~uZ4B>1MD@XE!60<$K(>)4uGx075pIgl4CvbUQ5c6*~{&PVNdqwbO(m&?nq z;4!c+bZvAhM`x74>>lxO=(y$u=R;N4;}6~!AFIjbSLhoKf|iJ5pvTOU+n?3V&F0x_ z!BwSn?Q6m<#eKatLF}=KM$d=z-dZpUljt{p8rA*{#S@7^wmp}6*;cFaLFxz4aV*|CGs!sE=GF0pCAO!3lvH0I3yXk?V`mk)V3DnYN1_^KD`8|5t;k;{-Yt3{vN(**5OkXyE5$sJ%`m~D72*bE_7Eh-cyWDB zg*nc%Ic-Hzh8T-kkd@l1srg|Oh}eAO`Joo?B|Ht_i;K_xK$5Zt0R(^(-spFcoO4qO ztMy*H57}`&|B*hAvL2ND@3bgeXq1Eq89CApBi%O`V@SuF2a<`V+_xOENa%f^__C(LvdZ-;bj| z*|gFM{VSwa>pB;5jN7$6c)dXeW_#wC(Mq;4L}EYo#%O(!a%Spr4&YZ=S04rE2HX=` z>TyTYNUdYrQi0WIf-yZK+bkZWMyS3Q0;Fc?G41e8;cCf3-Rf3|<{_Q?{&et8D`Mel z{aXND_@$Nb6MQx&kyL6c``FasDrug~#CRpE)@62BS=)R;r+&H>473X~*!#_6Xf(cbtTGXOwNrm&jr zxhv!iCFXLtM*a_My8@1>L+{tfLLN_x(Gt zGGsRcr5|6&Aq9wPEq2M-sKG-`+Zk)sS;-5)k6etFYa{(kRMIXxIt*=D7%$~g8_tTp z=XwhAoiV(L3YE$U7WAfOcf z>}sBEH%rjE89ba=G*l4ylWU=jIV4SQ?6!bR6w{yRTsZX8W=YofirtV;>>aDmSLi4x z=3hHu-X)focL0Tus)jCyIIq(p9r-`FCX{+Rd8EQjTQlCSTT@9>^%knE-Hl{^VyQ8U zy_D&MczNB<0xM6CnAFwO5E!A+SevJ@d8G;;H+5_?O(N_$8MT|IE+htdvc~ri!LAgn zR-06#DR7A%0jEEj_GpzPzlzv}C+E*=?|Dy0`zzij&_8r|0DSI#HhOq--a)nZO*MsN z?gc?1_{tvT6W#Kz?xu3tVSlc5uwTIV=4hi+Ga)B+l+DNfGHI789@AOuqwx<2TthP>Pe znNED?ep5n;W~e=`(ZBN{NCjjUS*IYVSsyR{_Rq^-FhwBxq@6(G)h`X1Gv+6DOypRc zsC=S$Ge%gXO3KdBjtrC?1}8pJsXzMd&v-r$pN8`9tyqnP$b6sxL7ll83FDTc7D|=p zg$;b8Gnj7W`*nIbk}J3R#Vg0$={NOiS+F-=sL$bv&3ncC2lMq!BIqktT;;ANOg(q^ z!U2+l2Emwj8Y`P}XEC`am3ezR*5@zjJ>{D{&Ww00kXUkQ-02xhF^_G@A~kqs=5|jq zwT|j}+Z^wcMi47(?ydL8@*Co91dX}LDU$SR+f04nf>4Q9|6!TO7%nmSd{9w{{F}I! zzukPdl&2av4Yo{^W>rIIKr)I}5dfV}m9zHUl_wF6UAeK9JJ`!W6$b0D*Y=Tc) zcHkq`oh*nxxb!Ezy{G|m=Vxklay$y_>8~h)R81(X{b_U>su<~=CT%-BU}v*!@TKS& z!tARytzBn>BxjA4=JB<7k&>M1J@!)y6~M>w#%Rk-B!yfKSs=!MFNP90>Lv{KVYIL zF~JstNG5uvtT=oE_FC%3;jjT-eOup{Zu?UF=Oz^HSRFp*TyA28^4Ab3Xz5-2aGKS! zX%x3=jq_MS)jj6-@Tue6y{Xt3KU>)xO~Q+U52?8C?q7$*C}?<>oPO3ui1(Gnr*sVg z+Oub6S#ml<>OwVG{mHoDw1z~r0tt5-!?!KEJ4;s2SnPyW4NU=kt z=J{GD#bP$Z^NH`!usv4qeIqrOgy7TQfs-c~e=d;Zdpy@Yq*n4B`gzNrV2{l+mKUBA zU*^8Qaw`R^S0lm|Sqq0LKajIcP=~>xTZKI@t9P6{)M7deK;;zSJ6~0?*`U5ziM8ex zmkwHs2&^3ZBF876-&p!-iFIQ&YtJ?j%`rpIr!E=7NwD%)ndO-pRXammhk<3oV8wS< z5Rf>8{hsC5X8ioE^}zs9U3ZokTCn03`)I$-B;k)?uuWG94cr=j;k#Y7dmZ9Xt6%^XWvUWzSSw%==9e zPb{yMcM)OcZwd++l8v9|uR5q@d|%V-T-_wJQ>~|>{-#F2VZi&xORy%u;2GWCPKaOX zvyYl9)fZ9>1>t6MGnEg$KPzf!pClEqUIUOIa&?gbL)=| z+5gM1&MZ)9$V~gx?wE&d+N9hIpn1b{+PWa;Xcp`qSTp+ZMZCI^xK3XAaLiO2)d+xN z{%a!AP!3!bg9xG%O_92tTjzE*JzM;kwf|XpZEzGaKN$gGJ2HHYD_D*FycS)NK&=++c z*ie8+cbb^8x9--CTE?Naj{38Lhvn0LJPFZ#_Y48Dx9=XmUVZpnOn8b*NyXDgg-f_+ zy^tNvag6Kg{JsZQwvW7tOt>;^qEtOrp$W$P;_aI|R@I&5p>gGhX2mb7f zs8d?W?Q<9_?=%02)++gPhX5&%u6lleO4Tvb&xuPL;r{TYP&N?XLDde34+&L-hIRke zkN9dUZVq|rH9x9j&?5!)8vn%(w5W|o6LGu5 zC@n>v8e^)@WPOmx^#0u&ov_ zRlz7p>>|zAQ!VjJCVU+xUzgqL;-a+ZR$$C$>|=g;CxRTJkR?DG!sPG6(Jnd^iMYwd zW*HdR&yy2%Z5ej6EIqlO1uda+R}#q=+sNMdSm>T%l zYO21a>v|MGS$`t;1z=Y8A&B%v$;yiHmYNjK1ZTCyOjk*Lpr zR)@|;X|6o|-Ff%?<0b@06~@9g{yfqeygj!yJYI7LKia{Nq2x`B{b4=5Wp+kVU*5g3 zPgk27YQo^ldh#nn+Z*Pf=hlvwYcVXLhFvs`x8`3IjX;N5`eJBOpirF^j-$wJZ;y&o z=J)qaM*JE=beR%A-U>^-7gff_2Sn}0U*b|9Ai-37wK^#z{~qheZwWi>9&CseqV(l_ z`sk#4A>B)YhNC2J_F`T8i?^d#NBRQ71hMMGb5`IgK>ZSmjZ0)dzm#fDK2MVK7K{!AD2 zXVOV3>|K!h;92wQNlf-o@f&|$i|@n*AIC9d${~fHnCdsdHleu|@MX9O&-$B9%MPSU zvUm>28!Lz4uly^Pa62uX+h|1I_NkP%KT~O6kzP-XL8zXh&(dCj2Pn~|reZ&&o!N?y zew}Bul1>SsJ4sU1T?E~zZUBHW?eG5uaIR&k2;4^6H(FioyW-JBS1?qBUCbhuXUL-6 zzn>1;s`~rJ{vdB2pac1*FRX9`>!Dvx`idWE@>wY_7B#nwK2%PH7$9cv`eesmIu@X{RS!b-zS$8g`HxRj;Y939Jl`wRl z9J42<#{*o;S{3?}zm^gQH-!AP=F>P!h9}l9(Ou8_mIrU`Lzl6-`!n5{@bm+XqTX#P zE?H6PjglHq{tuxWFFbTn&voy&O-a-s0?D2%<9ZRzJ{Ot(=w*k7fVu^~EYU&~Vr5{D zKTEj5PF9C&d}c_O(_hbnflkd*Mp`AC5r@uJhE~|vk~?3%2OT=L zdrXbxdf$I3aJ4Rk`5kZUpGz{gz|)Ty06yJ@t8^x}i|2fY&}aYTU0;4K zcLv(-l^s&?m;oJv5=3LTfm#1_w?_AFTl95Ri2VS(iZKv5PD@_go5-8pm>Ftae0N z;1aH@v8%^-l9S^zX!Irm5;A(IBaFYsWz@%yq!WEFIBTkNvQqgbtTQc{r*py_7+`es z*+Y^26me zm4}qS?#I*5I*&4|2*@EZi{diIy#Oi6{W~hcxK$}{VgU&Xl0B{A$ftC}Q^Xyf9p@9g zdb?pOJWXfCk&)?ZN8usX9>c>tu7xpxKMkbu`uS7QU)*u^#GNBu&Tq#Oej5U-3(_OIk|DlK8qzDpvQ3z6uf)YaS zNKtwOsRD^oMUg=0LAs#?=}1vPFqF^)=}nL*C;^l%N(X5IDqr63T%C3H^$Gy z#SW!ixE(bcevd|Oek@77U`_pfzuoq%W*;9zhFw^b8QLg%{d-hKo2Oe}_TGExthg%5 zT2-Q3^n4xdL_=D6w?$zv7`mG9?eHf1J)ihQ@?fk5(Mx^1@$X_MiH-E#bWJ4pK^P_q zxP>(#pHTOcGU9BBg7KJ{A2N+^dbdm*UBMT!cfr3uPSoNO?q2I(p_Esxw;I7}O>Rv8 z?ovB5e87vY$v#&MN_Xlsd5+U&?yQOYb};_XU_j1JGKBJqTSACy@!zM9Z;o@jJ@(4` zj;vOBo|5d_Y9azpK6_0{rBpXY-u6y&XJF(>7erp~Kb(`Hj=T}b-a!hK!q^)n2*+by z%6n{;PKR(}{}J5l;*=v`OSQEk5KYu(Fml~Qx4BxX-ItL01FMkOvk*NBnU5bT%H&2% z!=^pTV4_l8L`xm#id0`1L-XCb`)sctpoyx-_NUv(vz5cfZTRGv8V?=L(?pf(@gF0{ z+zsG}$7IJ2EW>*Xum5cO<(I>Pg~05u=O#T*L<@;s%n9-zayLJrJRY5?>Yg82Y0&Ih zE@6S}es8@LWOfkpdBK`tgaKnCa!n7Uv)>o@V1)AYL(P+9^Ta%j5#DhL7+8qlzP}K< zzf|YAL{O#b>UVlVco^ITLPgws*C_R>-~(noFq zMzpyB=r9GVb3EH+08hg~e9tEe@LW7RbS{nT;#|Lsa>UpjzyyhgUy~#^QwO z(I*D4e7A?Dch=-V3h0%!vtnBT)dn7b%|#wySM5!2;Bc$WH;aI->AC*y82^0a>g6oR zf7Ty1WUoq{1HB&QTpT&fPpvW2YAfjYr8dAcm?*IOln9z8biCWPem5F6=9%3H>oaV} zZvTqqoLnz=wiq&F4QTRs2~GGXR8{XQahF>LRx(khp(FT1c#-*MPmm5zHzQD zS=g*b1>P!HfzG*x7jS@q7d^i-7cLfmv%<-=TUo- z%JKX%GKx@Yhsg-ezPxeix=r@`#ynih_*0K@)kBo)gw1~A`eDnv3_JR__i#eJep3`? z#RNP5{3m9^qrXRn+I0PgqMD}{II&+7eJeE&i=^C4B_2;+ndx89$=1|4N<|yirJB!~-g&8&mwN%?6t?lcAnv|mHWIRX?RY%f zZWH*i1w7O;w$)>Ld2fSQBo&;?8f?iRMS3kQ3rUhQP@ z`r;TRAf%nfo)_4(j=>Bx!Jn5ifnIudPRY-Uh44C@RB&v05lViqSI+b^nzs!CG(uE} z#l~Iv*yuo>?ZC0p`8_kAb7H_LxnPJT-wNt24&L2B*9Rk`zn1>7u$Kc>O3~U`jg&JC z=!?-Q>GC!Kte8qmapAy%Wqn-L)`qz37XWfT!wo(qvYV-GY>#l<^|}O@p$NS>3LS~b z8KQlz0vrh)V^>aPyqhL|Pv#A-RvIjdkj&^!6a;z1m%62Z0Er1p>B;+Jhia`9$jrT@ zZ@EHc$zZm7Bg(lG5EUEk29BL#4cec>)r|%t+=RHmtHs_#7Ov{A2QBXR%+}e&0OUq2 zi6`1FF?6IOLC({P7mImlh1*sNNTB71l&*cw1La-(p>V5xi=m6$EKot6x1^dQ>;0ie zX8&gBh2H5T^xI`L11sWy&V|*MulT3rWG)t^CFf9${Tw`IZO=$DDRcen9|3!s`W@sx zdV5?JC<9*swJ}RTEc?U&ne8k2k5Dq%8H);1&eqb6&7#V4qJ4)tzTc#}8@*Eu z)b5S#pEAJIe5=lqy7WAu8BIr6{R^|_nS(DNX0!_>rYNM>bEJ2YS0z7fvRNuJ#rN8!U93%>_&aIr9B1~6uGcd> z*j)eGH~ME%eM4d~K*Q95FF)4$U`lvBfEgjL-5JkIC%V|iii#~9D{rn!dIXz3HcyjO zGj+n0^cxh#=Iytnc%ke4oEFDQJA@ZmGr+F=rF3+nm&KbB(DLs+E~WI-aT}Z+Oo21M zFY^-b@Z9tyGVL#%e}OYAiY3y;AKlpaA!3;DOa?Z7blM94!RsZRqr$)7^9imn=8RVq zb#@xqB9|mK(|;w@nBg_2V87%WfzL66Q18CdO}EJgj}K0m#e0kf5e?f4O3+AQoeCQG zQQ!jxEw$!qEiqSC%RD(k!-$}IR{kG3Z{O;q?Rw$Xu?ZP=P3iTu)2jfKbuVmG^ntMtS^$DZ21Fp()aQj=5$Q5U+cS5fy{D1+}a6$ z3c=7MwrT1-4HWt)(5;9v2V|bR8c`o@MqPtCt@Db*XfN;n=CP)lBt%Gp?L=fnts>5{ zGxp1)Piy>!xgE=N25-e2{$n2fZy*tl^(b3oI@o01K`~`$7}yRQj)c=Yi9Q9GbmyML z<*|6QL37p1W}|}+1{&@#v0aEcQNEqh90msbouQAY{aK8_^EYL>>8TMU?SN`CC|Y=L zsPqOCt!?%YJ`3(_aL>Vo_L}@xso!cs(Q9uGgb4Uy zfgKD|G=$9I&GqZC*hOWA=-K>RCm$Xbuk)a}4F+^viSIkmLj6?j)0|h8swzvo(nm%R z1siV2!i4CgVQ7a;pQi31uTQcrQZPD#n)m=%aLTtOs;i+c|J4iPYc+Vhr~yXsz;-Jp z%m()~sjKKnC-BVQOD$~ey*)re`=o&Hhs|94XsdP@flIoX@;B=eCl*W38mg%Z$@e?u z+ou$JykGgIS!jCa;&y{~*N;XZ!OiYNQj@eO(8XKqcFr2zvC?YjgCYviSyGE zndw`Vg)gAy*Jebtfqsgr@v|40{}M^(68g|IY)69`eb$bAXM%C_2n!SO38AVlUM$-k zq)a7U$i^Fj5g%Gr6DK%x{LNhlobMmHH5iO-fb0@9t_A4y=<-PDbf$mzLsC%m?(!hQ zxZU^{zAbti?oAqt@j&|egt`RQ`&@J&+JbC5j2xyH=51j84T^>;(8@*{6~_Dc`Uvu^ zy1C%xn@8Ib{M4keF(JZTag19bMW}T!HNV^GLC)o5&#t8O_K&#o$2!`8@se9lP+n5| zhXt#vI1Xw8XlV=hhfJMp^S>UNuKUb<_o+$-mg~?G@=AAnOi#sPT-cR9G=rxUp}CSp zc)LB05^?Lx^T*yd-+nTvSE>u=MlWn!!ndO8liiLobY;_d9f0xxl!92O)EfO;YS#uU zjRg}DG6a^nvBl_aJoC+@-o^q<^6#Mk^WGGF$zZn-lvgb8bVFrvd& z+dTKwD$prUoKE?cTnU_u*BSuR)trF>mH*H^pg~R}F4c$cUIVNLALhs!&jvo9*KK)N zO7D_%^u;Q4Rt%zu`MquC0Ggi zNo-BdQuRH6wfFN{&}Kmt>P>$C`4#3EMgJz(0>d+`Updw~7E*I`Vzrr__aFJqwC7-v z^q%XDVxG8FN%d=vGWjeyrcM&m+Ns3d>%6ed-B%DmoT*c?OBBjD(^qsUkbLmC@B+Ig zhKQU%|07VKTtjMlR%GD%4r`|*E=ISLjyWvFaG*DBJAKnm5K>w%juw&<&qP1}lS9)o zfY{okeJIMEVSUm~*SebkPFZrcJ#|RQky@wqW@Z~{EK=oM{jU}R|BJTfZanzFz!;Lh zK)HHD?DXX}@^cyqy|L6R&|IW&C+IOP;PRsVCFyJy>g5=MQ}i-SdsZt&=GQ4+^c}2u zHAZwBUNO0g`@3^*GXz70PW4(`=dzbC=}4^k0#DNqY#aFVjL*p_*!ygyennuAjZG+8 zX+M+!ut<2{>nX9-AAa%_G|E#a>A)}HEH*|Y2Y8WPMZ7tRyW+oo>;MyV-^ByK?PexT zNY|jkmKA}3T;=(oq%^v9JUu_iYQpsdUt)$^!Idj{8LJm~>Kkj(0O^0*EH}s0{tDFj zF1pqDdGu+E)EeL5$cFEX(vm!?P)xlYxL1_a{=_oW^}D&p2p2j$XieYr&|zR@xn z;OOuEY?dtt#=}PhnP0)v^6(A&Z43(@J>>dll|n)Iz32H}RlIm#QILJm50ouW> zNcnL&GVpEml*~%m$w1>Q!FA$LLu2yL--8)xh>-{2oZ!f=dD`iD?g%Hri{Qv-JF7K#R5q;p@9aFW0I+u0J)QYG_iDr&HR;{8o6y{HE}OPBbb3+f{EJD{#Vd ztGM>-7e9tGls23 zoLGs}m9J-dH|F%Sh9!Q^-@{f&+oaP3B-JI&P)`_ZvoUA*JZZWlpTzv&uQ$ zusNn|MEwKIVZhLInJyTU8M2;{_JlL?k)K!e74y(CW`sEAopIj;>0x@N?~UZ+@~IGX z2HEzw$pS=;M+O;Gd#m41{#G#Y)7O_tEAv#}oq4n)IlXdDNw&E5*Mqz6Rt55i96yEG z^C@`i3lVu^h-X8#T#_mOu5=&AvVz|^)keozom@QQ(=U$^rFq=-_k*RW>r9B=DZg{+ ztX6)t^SXHTZ6GB*D%C-@takXGhpsVLGL4^jNBzg0ThxH(|FSDQQa#k7*6d?TW9Q6| z!=0rh6}lp}5C%Wg4L`_nIsBjLpRM6;qYHiIU$cvGQ#aLm-%1;=_9#0DVuvDajd!qN z>FO)Y2OcpKM0B)n?v;ZwKFv5X>`aHZ)zT^=^P{nrq;nJlg5^`rl|uDE;V1Bc6*;D0 z$5!Q`>9CD%Rs1EndF$0n3K-L%;ci%yB9}j(8%`tl1du9nBRy6^GOsu3 zy(49nC1ZyeumUk*+w5+&LUTtzqh|;j?bj#~ls9#finQ|w7Sal~-H zRS9n@MWdyqqkuz_10$-t3AU=xdFZBkS4Mv;fxhr(;rB1Y2rvt?X*0 z@1Xw3k)GQ0rbLZ)gs&jYo7}_fIOCr${y0*#Ea1++Ri<$pK~u?Qm4a_6ho`-yO^q@Y zIl!biFN+4aW%ViMdT%MGz_7lb@YNK|ibK;)j2bh7$Fl3&Szd6KZo=Q&cM?HBrL6zr zrg(43s2p%wmszY#wRf^-;z^^yF%Mh=M;Q9QqKr52zZ|H{N@gW4S-7jQHd9W<)dMw> zMN({UTZGh8L5T4vA#2i=%Cy702#$r5XN+xdY9Acoy|BB7p?Ou%RjAmrZ zlM+$ELma|b;RKC>vfileztEgC;*#}{o{f0bPwjgkij<2h)lJxQWS>bk!0=85Y%#KH zfe}uwshTNj*m}0<6-hbJpnVM{RTuKy6VihEu0I$)Ogx)jp6h0pWViy970YeuoOUa) zORgpQZ(HOS(~H_NWSUS;-xmJ#u^ksM;~JU-sit{V=@04w{p_Yx0w-JV8Y8%CWe+;; zjwI5%w6TLhvdHWhK(%owa=#g;wBf-sac-Sv#_TvOU6E=t9iGog#k1q6VHpqij{tyAaqE;Xu$~o%cgfgY;?(U2)yLN-RFt`}u)_ce&)k3s zj>nCjF~Sg0Kok>3mtsb$sH!%}`lyEp;B;f>@J^kvF<(b+9JKjc z5DRaE4Ld@`lA#aiK2naU`!+G4<-L#e{wY?DrSny5BrDRnL-0}+7&*&SLfiuZqEtm( z_aTeSG?_q*1WdCJtIo+Cgs2yUKKrBt0y6YAj@Fz|xf$tvFsQS>VC$G_?vhCxRfj`2 z@-s9=EmW=S^H?fb7h8R?np)@Zv#{XgD##*6>} literal 0 HcmV?d00001 diff --git a/doc/img/bb-rotated.png b/doc/img/bb-rotated.png new file mode 100644 index 0000000000000000000000000000000000000000..9d97895a92bc52b34cb23dfb000f80f02f21c120 GIT binary patch literal 24373 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%0DV!V(&3jC#dR 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%0AJ10%xbGo=a+4>+*P#ZY$fE(vW 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 D>6_rw literal 0 HcmV?d00001 diff --git a/doc/img/binary.png b/doc/img/binary.png new file mode 100644 index 0000000000000000000000000000000000000000..ef162c67619740929e78fa664d5e83d09458072e GIT binary patch literal 20537 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 literal 0 HcmV?d00001 diff --git a/doc/img/component-labeling-text.png b/doc/img/component-labeling-text.png new file mode 100644 index 0000000000000000000000000000000000000000..c6a1a4c261d160f559fbf18cad571ce427abe556 GIT binary patch literal 1431 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V%d5Z+91l{~)+v@AAn&5zYdS z$YKTtZeb8+WSBKa0w~B{;_2(kevgA!SeY-en|Tcb1FMRsi(^Q|t+#jg=88BbD<2cNi0g!JI!T9&e2ueVQ1`Fx(CH%ks#} z{b&60WV%9GVRoXqb=!t0rYNn`n^&C|Kds+gb?s}#^qA-0aTupNgJt2$H&5K&c22x? z>XYry%6PxRyJ<5eHZrr^VPeJzyaNSZE-sV9?WWv$oOdYn)l2Tr#@}~T*qwZS_hw7G zEM`yxo$T;@4(A~?ppk|TKOXpM8y5FG+ZtN{J2XuBr|vjM_R>_KbIOETPVU#gUc2Ak z+Tnn%0cKF}EO%)UPd63Mu`GP~edlLRE*$=FTQ-x$ zv;M)8BORUsX`fbYsl1y%_xe#jfdXzG%n&+!^R9|VRpK1OLwr}~Nf>f6VJczb2$<

i?ViSF3#2epB(dhA*vM6>_NGBrLfW zoE)+FS*lRYBR$XhfBOE-9y_#;U*C0JeEnN&Va>p3G>7xj%&^H~+s{o);Olh`j44qYQP{wF$v*HzXYKc$9*fq zYxnQ}@j~h*BetB*lyhE%FVdQ I&MBb@0H#Wt0{{R3 literal 0 HcmV?d00001 diff --git a/doc/img/component-labeling.png b/doc/img/component-labeling.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2084552dda1258646706beb247e434b15d740f GIT binary patch literal 33303 zcmYhi2UHVX)HOUA5=;Pv&=G`4?;wbPw9uRMB2`cn5R{H0H8cTHdQrLpQluB@5D}$G z?}~J!3x*m9;m`BF|F^zxt;xz-vodEUckVrBpS|~uG1S+*OmUS00D#NdT584s0Ac_D zvH&M1osk-uT>$_Tpsl8C>X)^hEtJXDJ%OPX7r#M;q!&ldDpjFTSP(*~Ld6tuN-a!J z6CH{{uU~?4F;`)Il+jdBDo~gPwV>poIBYFBA>}LEP+IXBTPBNFw_i}}r-w+rEdtXUc>GLRJWo0=R@EyV_4))5s%Tp~xQ}#ui zq<$#JeeFSyz)HC|6MAg-nst}Mj`=?hi=wuF1{R}|A*cn8!kwM#nCOG3&y@B`#hev| zYd5mgi8Nx7VhkPVgpNIYrR8VH-uf$_?Q(CnC=GRBdAxuZBT4x{1Ng-0tS!i9XRm!Z zhsL~j1NdjL9VWur1KS8F&aS)&^S*lL#_d4E3Rl-_-MwSZAg`{y0If_w#9r=}zvs#> zS*PH2&bh0)D&kco$4;04t{d_k;8>muhoFB)iv^t(SD3=Cnf@zSqCL6 z07-|KrC~yMdmib{j;lV!U5BGMs|^;|wND{dW3*V-h_X9Cy9^IP6mwJNjF0V;Ok_uV z7#+i(Q4>HHxx)e-<{}OM4+H%@ug>(~&nSw8#g+I_)2_0Nh{8r7ZA8mUIE3d$ouihC z51$Jt6AtwPmezi3zmJRap2%XqBQ;ZtmSmvfoI|?vVM0`}N+o@pkOc$yiOK326aSkY zqs-8NMbLt8n`0ojPaQ0w?P2(CQ7~$ttD$}QE-=rTHJY|<3p!QiF54)4WuNPETwr?+ ze+YSq+~n52<4=L&RG@(S4Gp$LR)Ok2)Ku%kdcz+OCk$Zw?e!Nw$>vSsBxP%F%};bu?}hYsT;}!w-b*vTzz^wu zuouCw36qDhnE_5Jf;p!6+Ab^57U*6M==0?5wgOy@5GRe?SLh) M|SgUO%=l*UsI z!o~z?)dzNCyTh6ncPaE#83AB=TZHQDMd`2XNH2i9Zma z^JPF!|1qxeec(X2T#uSCy}}y5bsu3~;PJFE5O7GQw#|nrFW;Gg1{SP6)CU&FWNibd z);~Wd)8$OH3I;vg^@+}s9#voGDF4n*d8EK;EQP>d|s?K>?WwjfVCPgX(p~mDY9z<$erU{U#Pei z%8dM&HCau=WSD#@mFS7xSj^BHY*Cs+(-$=M4!=Nx!B6hIj}&H z0qdv02har0(EHXebEsADWCRvS$ROeT6RL6$iRH>#A7XPhVOx7^L6KK?k^5QOqH_{F zxst}cNGU9E$qX>)XFWoMGp#-BHG+x{C-GJg6uu;7tV%@8pE75>Prx2_bi9HNXS~Y{ zt!MKaV_Rdkpv;51LITx`zaydIe4%W3)!8V3J%-&#(iO78rm9a@cQup{xl^tVEb5yG z$ZDo3sgaiYJN7MJd$r$Wf7@zq)8kd^=+FZJuL{9vi*)prqDuvd@Q*l;gQ%>C85oVH zF+}a5E=t>P*9HvmSkUukD~ecwFm(-C0g#InTen@%Ir7^$sstddb(T5z3Q1ZBJ$0Fp z8j#tKfbLmaB&ForvHmwhW!V>Bvb$|=XSPV3G9^XW98m8WSR$SvP>1E5yr9gN9u1MN zT*`9aO@YPO`;N=Z0-*&@q-oGy4!R4W(gU7xdct8@m(IR@ee;58SPd*0=tz5uuou-f zoK`1TmEWxAC)&&WgkK@+ye@%M{s?%*30%^l^Fi~3P(WIv4vQGe3D>U8E5y}$H{yyI z&}u>4;*qyCQGu;@S{@`f$ugEIF%q<^I2G?aUUEu9qEE2aO589uh?=Pu>cdI*sDh2o zf*9i(FTpXP_upRsoM#1<&~Y?RLdGj!7q~rhXc@BIZAA0LE&CZp8rE+_dHsPk;IN^a zEN)N%#PKqASU@Mhb==*DIFnA#ic7VuHv{>LHvM;}a>1LRMfuP2MjgIpX{930#zZP( z&8*x0E{UBV*o-UGpQ#7Stl8R6dULw{Ex&c{wPui!Qf_zus-&g}TX%JbvNt!)T;-Vk zO?RsII)50?skM!#y%R9?&NAvfM#@ZB%B5(#ljB$70jCh|Vc4)|7DMJ-mNdOmm(Kof zJ(a%r`n=iTnI(K7s(eDTQ>;IMKxaB8tlzIPKsZ$q8=d8Ucbt%Rj@j(&3o4vWogo`WbkI9J?y3LHivmVx8 z+uJ{$?`%hL-2b)Z;B=DXmBr$Wu>V^R@IkgcSc-7zqpHvg%b~US(P!*NT11#`-;HqK z_8BTmXk(2XF{QTAjGjF{dWzW<>3$dbtFLf6P>i0QHhHLu`+CRqtR#2|;CO;Dyi<#l z1Bp44V!_iqBX1huGY>nJ-oKCsLr_(5Z%nSIvAxBu-2hf8I;W$bu6O zvs>9lu;CeUN=O~!mkh#VXu{R{6bgG035t`{ckj*>0&m4NnZ-HuobNxvF)XI|LxwI= zwRptg_PXF#V?DSYmbMH!OpycxM+9zmO2hFu%ln?mJpoi^z`|Hku_269cSnOP zZi^18_|KMe*(;13Ol`e$`g>}x389QI&&w%S=9+%KbIl3hf+eJL*nyewKj7=tN?uHV zO%PQ4xar=wB4I)PU2~xRw^2MSxi3^_?~T}K8%WYyO*C!~P$^8*+eaBaqubBA(rqNdj~}3o~Ljy)GlD zaC{8dEJET`h(*z!v_C#F5j!vTm|E*2w3;4$Wuv-OG$0`q)y9cYV7>;~p6J#mQwK%J zHwu*w0&1Fo+k;YAB-$@X|J$SJptX8EETa~5I4O%NX|n$gqE;HR4dDZOkjk4kHU%(T zm-Hi}+_Qe*ZpE3uNxSi>#N6NT72IlYSX>7X@qqYbksCvVwNdi_xIOw~Z^BW57Nd@b z;%|3&;R|rYxFYm(ppX_#N82IU?5S0C*w2UB*Vx`C-WWmW>n~}>c%_T&7K`jFdecbZ_>_f6K>L5<6n695mjdK&_q8{@7(i!b8gvP?w9gTqXAZ`5 zW2CFNasI4QwH(@j2p7hxk=7Xr$x;S+{Gg;M@ZAXNLH^HV_4+zxqg5`7H_Zr}k7dBV zeI9w(ev;fx|B7w3pfutkv2Eh?dk`?Ta|RpKraZnE$W4$SjYqBC9v;vg-78M*b${0{ z#2I4V1y0jmt^H`f8r&Y`o0J!1;j%)S?qUnzbeMNpapH{%V6yL1>bqCD2dz)Q;+xXJeVZuGsq0R@Rz%pX5nR?qRt z(vmSjP==1_Ox@465x5gq4fhD0`7}h+!4IWanO$gu}!924A@fW zOOHI1u-{F{51w1rZTTLWD=WL)a*KYF@n`Gs1zz~E-cP7-Tf^=fp_x0~)qIS~ar9P{ zs3j|~NhLb^#9f9@YVXncjJ+#FjavL z2>9)g#thIAlMD*$qPgR(BCxbWxTH~4;j_(EaL&>3j?+dF-7*sQG zTc1Pt4_$ThZPk@R+Rz&eShE>BQ5X%e+G<6G=zkM=tBX5&{x3{i^Aw0o58~cSxd@Vb zFLe{0#2;X z2FzEu7&}zep(b8ys6gpeA?Pfp)5!g5pyGn~`(55Y3+Id3UL=?WxAx!%YG?=`w-t8QSg{p-9#hj;4M|_&l;J zzF!-Vdm_E~k?6DXYt_ku_5mqt4$)4ll3O>z|7N!RZV21^7NdJRaFwum>*yZj+^ zk2=Ea15PuG@du?8JO?x#-s_8{z430|v(zU@5Y zt4IikZoe5jjvBsVTEK}hfHRetr(-Xx++xsP%Vm+Jeq#!7-C{teE7M9r?u4}Z;%_uu z!jJiEz`djsS0<)4MXs%_({s9)XL<-?1fE={KbUyD%DOq7gf0OlQIz(PX$QWKQmBGI z51d^N2!VW$&-W0eABwsv`qEp)Svil;v-vVlX}7eZ`oIio=q*;`7-uCDr<#QQyXrn| znR$jSQez;qp7(*+p%y4@d56H0>g8vF$-S(k>TUEQyh`WkBpBVJ#3AYdxv4(eOrtx$ zjYP*P+eWPC{s%=}uY!$_u4#N>K*vFkpjC?1buobAK5{Wd7*Bp(2xGMl`o&m*NLzqa zt0Lc&yjMl$3`G-4s6IQ@?+SMPE2HUv36$bdv$#~c01!>jb8uBfw**`PLYK`wqGO_E zULVJToO%1fpM`$@JQh)m`b%O0E$Lj)ji(4rqHqY*YVmI5@(-0YUW?JoT1LSc(hDYz z?{YI}wbXILVQUvZ`)4TZHS1ptUf?={AN_+4zhkAubH%>l1ZDC8Kbi0}T|_o%mKWgwuReoajD$ z2U0M3TsNpnJU?KBLZE@dfgO6#s{&lGuvJ+P`AYhaht+(GnX>a$L)N2Mn>f{~N zaCg6=!Sh!hS-lHzRH1gNi1m+;&N09d>dsLO;lcrDd$P?6iCCN9rsmW|kjl6>l!n;C zZBFFqn?Gc`wgLJDmO*Jg_?%{r&UYcPv?FD}sPg?_b(z739+9OPQ(sT_4~}bsI)RYXHFBk^8k!K1&qFFC+K?>TA69YE9(?JJK^!N>+@@W|=oadZ z=`$zDLlGrE^ef7|^boUE_klzh&4@lAHPB`b`XOP38W6jzH#b7l(d9d zSp_RVidH5T;M}yn-1y(v_bdPHVA6t-dLeC)6ln3*2c>foSMmqPqv~4xB;EIqs4@RdM zo`=aX!Y-Y1OqDcmhr0a}#W<`ZvuieAO3-CEKWdFPu(gIy)k00*)l3Gm9#522_ zc*v|K9Qv5kVYpk5D@+QnnnG#+e1T&vg_Hy$VUTf+P~=ee?8>DtsY!#r?{t|`Uf$zl zD`z=TYjlrDw~1o9*Ik0uoc?>NxVh-@>^oJ*`ZH=xprM#jUFY%{f6jgodQ_fMqhqDX z=!*r>CH+esEwk3DJI~8`sk?TFJbUY2-25_Iiv+j(;f$>k`sDt(_B}DK5C({v55%W} zjR`wQ!;Z}yvj$`)j20-SsO}s6)YLXrPg3ja(O@5AuAGbtw zc@lcHflGF~$?OzsKRqDZcL;!}LUalBdQKPhno;Gyp5L=E9ka4253Bft86a7O94Uyl zcuzrsDCS%%pU`{$&>a6OBMCTaA3XPvG4XgCHN)N$!_KE7`KlZ`YXi~lk8If7$R0wFt{ zSqa~kPsrsNmLdGiEWwi4PU!|)9PGXaSgaMLO0da;ei|$1+ zu;HcKzppZ(*Ie*?E6Mr!f|%6Z2axf;yj0+j7MtV)h1{V_-##My!~S9735|Ztk9m}s zQn;TAwy2<;y8e`p*3aP|fBs)GCiD$uLJjz~uMLg+`XWUxm&UULJgHPXoZFc5VCzni zIP`1wJ~R<8 zcM8N9!mG3zD^pxn3u4zAP6 z$XaUv2wIDX>!G5UK{o_0onqlqgh{DqY=YjE(715r9H%J{mCR-H=1e0eI%rN{%wqIex?{ZK4HQzOY7^ z(IR6xOh8D8qwp5EzMW+OlzTu{RD%{gHE>2SL%N9%*VaxYu0oz1DVZFT{ZO58>rYHq z$d5_Gb&Cbao*CZ+8&|eK=gSMRe{IQ(@g~~#nt1E9=MbM~cgpAObQ(_tq#;ab#SJp* zJ-5`fj_iy4J>+{`dU3S-Uw2BBCg^bgw=p2K<`?KAaIn2Q`3e~I_tNQaPf^MYv;|zB z2%OUb^S$N|wNMK~W(X*uPw*${4_}P|jQ@K|Bt(no`UQ!0t0M_*pWu0>K&B5V&m4We zq#*kKjhE#}5(L{$J58C6mDsqEi)W5c=qSu;1v-m(MEZw$NR;Tij5Giw-mJPcrKd*@ zDDhtWMZ%U=-{}O)6Zq249N%7sj?ihg$c%LO=iEy2Rzt{#0e_$79zRHde%>Ncm~0VA z0H~-CQURk;6pNu?uK(+yY4HOU37NGtK`NE6G{ApxFyqxos%ZX`e7t;f|>H4zFuBB^IpyPTlW{4pL~OjRhyis`g8NE z+cfRgig?R8|*AK4Slj6?Ay&PxQ-mf)>33Z@B2H#5965(i9;wzdbrt1Y} zs^tkvivp*r5ki<0HcQ>^>X6$6_~XY??aqA_O8`Y|l7>VwK<@t^b1^h> z)3WR{4~D5W6J8WxIz6TVz|&%TrHBs4b%rNDgJrlR2hu1RwNUC ztPV7RGJ>GrFVABG5lq}z_@4nw7DV9GVi|`>h{9qVMO%2Vdm<%{FBR)+QrcRb^XoOnT2q^`%&E2 z?$Q?@)x;q38PGwX?Blgy)3vm7p~d(4*A$!)nmTS=|31A?p~Wb`00S3CL`d!3~3iG(g*tz}e>Cqc6q4WI*i zdv*OfM)RwS*8*14BE)4ee$%btZoNj7%OZu=4UWQ;0xx>amN-rYDa49>li25!C58JV zRPr^{s0Vh4x)mlFK9cI>q#_KZ)y4b%A1^@FOUea5#jtDwtgPs$B>Q=_p;qQuIn=N} zlK%JPg~+Oc@MEDmBYb|(-dxq+OD9m>pR6R=l9WRav^Z~+7u%7j+hk7s$o14ONr0l) z7D_(e8=O}45r&G(w=S!FtFik#DG{Kz{YYiKZ3$ezV-Wwb@wtco6^JvpXFK^o`um(T@wv)c{40exh-*QsK4%lT^5vAfD2gwdmQqb%UQG zNcMeKtbwkRj*2O-o{bIRHr?&gl_ao&-V%XoD7i5uo$%|xuR44D7+YA0Kt6l5Ju_9_ z0$d4>R22?O_kEFzw_d!+mROu%OS$WVrS6iq1-wrLHn!vUYR13on#hhmPnkK8Ru>GV zQ`h1S8ZhnxwPcDc3wD-a{VgYwtx82Rh%i7Y;Za^ctItwU+F!YJY_J6-Dlq+GmbHr` zBKY?0GcI`)E45A>;pySM0axt9iwtce;!Ea;p};y+5x&=j6*={EIZHp7C+1x?3iFs^ z{#&kXUr6qSjR+l&=F5Y(H5FgUv=+WmcG>-5VzuDu-q2lFxRWt+9B9-+&_nAQlEd@V z4=V3HE3_1%!?OnK8?R8`%N}FzK`eeej7j>M&x_Z;=GUaZIK*n+>-hxXPAAr8#@23K zwC9xGu~UM`d-SjjZFcIf$-x|Zx{{MC3Fmyeo~p=% zj_MyFQSu?OGjd6Ur`KzPTW)mkE(Zp>%l;2EvLUtM|BI3CzNE~PytJrZ-An19#JSKt zSF~Z965{vxX;#)#JTff>CuUJJ*Ba_e5r`qI6*oHz?98WhDiW{VPX*nNaee~Vri=`a z+8n-*-5czOoaA_XF5pfT>GU>WeLKrDf(5O*vdjw=FtkzAlz}-b&JC zQ3~x+HbB%8==c3NLh_Q@OxQ|CHTt?NqbV%mUqWE4hmJ5mNsMI_eZySWMe2Dz#l2KH zp;%1eU*Q%f-_tP5y-zblCYcCdd%h!YkpDaX!`!7VD}WVol#nMgY)Sx zl5&(pKWNwxWJHf9uO_S-Gw4Ib3sD{h@K4+yQ6b;t^ZgZ3SxGRA5>v;oa)1%q@_A?} zC?tQTLHU#+%_W8oC~b_JXEyIr_0C@$;jP(_IXEBjUM^q`fK8$-=5*O zBq0pOj&(jAMpG?}dkDFcITmoU6 zs>&R*UPn8_5@>HM-4gPKRq=)@15Iakg1eSwkE)Q6aZ-bnHB4cD;sc@gK2Ugmu;YFE zhTy1XYKIFuNrsF5K)Jxo5Ar7_h=S9IQs6t#&j0GwBdCX^hG^)Yz&uSADJ>qu-%5s~ z+-%Dr|I*c?pHffq^SM*oj0Re=*6pM?-UHyI7|kmJ%m&=p76dKwcquXOj!iYSI5pn4 zWxOErO^{`0`ZpIZm4a9XG#o9EY~YRfcy*Wh#028^&MMv(nV>)Dmo$8ik#X9t!s z^8!l7K4KkI_SR5=M&Kx%Q;6*|BU&v-9J-O;!=dN#-3bwZ$upe{jH zL1raNapsLcscb2f-KUmKSA%*z4~|;Pp3mU5FD2A(21YH=_5jSvj4oXiNaWwN@#M7V z!)U!UB&`o zU-_cUQI!*umMDZZ*#6jVPA@8t{p=U*=>e&WvMLfqqBRG$Y5B|NRx($AV4s|y%iyB4 zm|AkcXy-AiZLoOR+QPUtFcg^F&(u7%`ZZw<1V|bKCBIyFFjH4%#U69l_S>P22eO}J z)RG3|+$Oj|x?a{KxR?)OD%9y|$LVJo6!5yB#;Ih{rQHN{|KB-ARa-yGCJ zUf$YI;R>16D)k|Lj|~JwM@QZnf!9xGxxvQ6FUPpEbR~(?DI0xMNc1^ZK=fMsqk7^a zO*$-cZN823jO6GNFokR@Cs4!zE~SD<>?4){NSQ6`TGR{?D&7zu+rLHbT)F??N^vzU z)+~or;Ub5eQLcqh7?Qlg^{I;iK3t!!qyv1Kr{oGLI%G*y(36cmjAC1=)*w4py!fju zhWY1&5yI>(Wz{)nRI2Q!o8OTEoo5=71TjB3q_|*vb;3qq$(kV(WS1LbEl;LN(wwV) zORAyUsPh~Ksdo1!`ZzenKz@O(xN1Tov`U&0d>ae8@n9Iw)9>KKw|`BOl|$V~rnb+t z)A{(eD8TI-6&NiOMS!)E0_aRh2O4Vb39h!OlbD2kUBN45YH7iUC21q6U69~ z5g&cznF0k$z+j0Qv1PQQo6}8?b={1$=p#NgJ1vvsST8{Y05f3=@6p93n+x;*M=LZm=9DLd6|Few-FbJYZ`7tMG?@V}hVd zqG}!ON(hm@0VCEx!&~0>d_Nr*g!eLU$D%NcU)m$7yfO++{*B!t>mJxD{CGsm2ATCq zNUjE6dapp%$td~5`?c`$vGYjSuqBE3>VBPrbE>yNydiws>el{-{j{xxi<(vj78|@J zI8(ncvO$WkKTaEbmHUM_47cCWjCB!@meBdNW%Ysm!h%pXcaP*_=ptbNOJSIYX>H}Z zDoaq?%K~Z{o&4$w7+p+vxujT&yy#(O$eW`mUeJOLT@G~_)>)uixg_in47~OWdheZm z!qwY^ZN{f_`lb!Ee*}A8sP}$rUSBHW=EJxMZ1ZDi7ZY?|`Pl1FL&k4Grqo=8Aaz$8 z9h8Mbe+Iv`Z8no>=`tW&3md_8TZ(EP_vD%a$a9JUQ)v-aT~9;> zz*%ud=Jg@Wd;q(l^*5Edlj#K{;K_U9KFQH(y86b7V(JW)RwMOrh0(+qmt!z`EN zv*^e^z4+F64)H!rm?V)+*%{w;SD@l)r9K?c#bph$DD4*s=#$~LVpPat?ajp(2qrY& zLQ!aKXDL2i2xF`^qU4$Uw>!}5&-LisR6v4#`>~{laJUE(u~dY_QtJDuYI3p%**Ci+X8Fc*`psXGTYhsI*o~a^F<>{bKE(l$mX`LfvWV+B~Tl= zJ)Fd&p1_5nDH%w3sK%W7oV-%eh{TuwN`z&f*Ioy&`Jzh3|Aoq zS5`=324!+^utNT`Ay6xEW>#WKF*)ctX`x$PsD>c6Ej0wgKkZ83?hEjAI^rMwCJ?8; z)zhkpF?`8_Ucr7F(*9@Cc_W+_zZ@O6V-x6*@nrd_@Kg64_ZGjZYYCK)9}0Oby)%9+ z7U>*PkmGI29)>TduHIm!*?LZ-gE_H3o}Dy8-wY7lP`6rl%CXREbO%$e+V5*cEFrDV z?OXhqH^qii`yY9O-t?5T{?PJ&Frr&1c24z)ZNus+HzqE*W?$$(8i#Z&l0fYLxM==I zi;C_%PW3E$y_jye27z!;G?nz90&5Y`B;VvpdcW_#yD~+z7ZKi@U*bLV^YN0x0)I$~ zlv)?b`{FdeLNY-yoESY%_@qm7e%Dr%h2e>34Qzvz#DSnfJva3?zFdg)@M(5&z)zz7 z_$gA7*a|a=a4rmM7Uh4wnYYrBzLHZ9(!|gPwMNjY-$NW0XO|PMZ+;VN<1oJG z`G^tkKnopKfrbO7>exq>lx&bz5n*eRpMwd0^5I>j1wgr`N`t)%KPgR=HY3iV%8Yer zuW!$i$6mryTrPs;YI%$ zff=TkYFl_0VE00{9#slo7@((fCDq=1eZlnxCHHGVbIaaB$4+2=(~BN&E%Aes0i8;? zo*{jqMQXul@UcoUjlk%8_<~5Mz_%_CenJNl>rUHa0ooRTRANz#XzUdHq`A2@68OWp z{h?>74AjCLkjeiP>hECXUeZiGOR<1<$l6{y-0z%8LsUYebj3FMSM6-$ID>Uxnn6}1 zG6{tqTo`phYW&ZyzhNHoB?OTWSIWFsui(ZonnaFo2++cRIyp0J9+0E3pzEmW5IZ`1 z4NfEfPU^tKzr#E@Y^G8@Q2x4hRvO-xr34WcrbG?mI5^Eh2Ps1bHOf8hWOhFbe0&b5 zx*IcU=wYMfAvc4tk}z?mbKT0?s-e4Q**9oqq;VZ<>ld@S%5~uzH|t@6MHatc9?u9R z)nvvqTLM8%UZ46g3*-~d#MKE;4!&xViUR#|eM}d4;cL%k_f-)S?L*3AM1NzK(*awj z8Ld1{3g&oX!^b1@#yQfU34z2@!o}`5u3=>vl#vYZdv;HOt1#Z0_bmN!K0aL#WA(2# zFoeH+qUAT$EG@c`**$QdaGWbU;d}KUMd_rq;Mp}d^IW}KS6S`_VAG+TS{lR_(lU!N zeO7^Q;Kq!v3q`S$zIblT|Hoi53KQM@k+_$S z77R6pL{Psc=vu@>LUybTQAY#M4#zCwV#E+0EjA^uY}GRXaEOeP_Qt zA6#Fz^Ok)>5XcA-IX!#hc4{kD8Pb!5YqmCSD$~WQj;jMx`1sxA+gDv~zRVV@X0b5S zP$vK#j6?CUk0L=oOJ1?fA_nYaJ^8Kl#oGq4^2}>li{(#x;|13u9c*moR^6@Qo=+(< zOI|)fryQ%k5G{b45!JrAO>YM@Rs2pa;ts8kYKbH~+E-X8S0iDdpv7G($m_^#@9nbF zNGthPv9q*#^{>Ji<}_a{VO30Z9MeHinvr|p*N+y&ybcZ1fFa!b%~htpw}wP|7(>bL zteYfg`m}a;^|X#}s3GOgUKrsU$PDGwn|yK|(^jb@1ZmYSGx% zgNXi!1!n}C*E!2gND;`d9x$uY)i~*!cWJFeeKPmZS2Veq{dn!Bf;sCsmFvsMj_K5Z zzFHH>y^-9D@)~Idbdi`X-wVfwuDl_4AXz0d(&L)Bno1DvsV|wKy$9=L{5)(8Bs+=4 z7A47B;iZ37CLEo%I+VNF-f?U}k7a*QoEE&S``8sCzj|Ko89WCq>pY(8Ita{5(oFD8 z>zH&|df>Eq%;#5iz=+MiNp|eW3wa$wLdX$}B-ZFi!YtiMjfmS?yU0!LK0lQ_ZYzXZ zsRxx$HzSx6pH;{>yxYF%`@mo0g8yD!Jz-#Y`%{JP;`>p5^Z`AZ)Bs$m)vLY#f?0m*XF^14~&CejO$5upz{}C@@n+KES-3{|lQ^2TYVKJexbXA&HBC}T9l z!Gy)j{JC}p9HexlaXjS-`B(bk0Us^4==-azsBlwg_{l1C_&r_D7sjC_6h?vDLkO}$ zO0Q3EDteH~(V@Bgr6KY1QEaS)1ie@FfY++QJ(^d4M z4}<`283@utQs8IiYuz39wYe~NmN=V;+;3CHTyJ@SNy|D(=o8M;c!zi;W8SW2{Bh4f zdvp+Ih_MxpPyHu1fl|1)dX=&)`Q_}tM2b8s5JtU*qR8hqR86R{_~CC;>1in#Mkwr1 z`JA9~qUnuf!Uk1`>mHr1Uk{nv{?#EG9T9~HM30!Bt|PIwK)mh)dmfC-LhR9py@y zj~Fv3byeO5pmaYd{<||)Xo^a$nv*c6!# z<_08UY&G%E1}C@sh01D4v0By2(jI9rr5Mxc7m8!ia`)_S#kMf-+>HnB?~iXr0;Y;>vFEcrj zJZ`@^=G(?(0~U4d9$X3?+t%$EVKEamxwO$-+oN4CO7!q}OV33Tx{ne%7#H9F-e0t( z6Ldw$uWo@dB>i#Y?egQz|MgE(k;I<=L4#|39*|i{l4_@xL!;mO>Jl`tc%^7p#aUY8 zuH3gc$9c#c7wR8RetcB{SRV9O=FjYxB**2;S;;R?7#IsQ{Q?9ESzHkdR&8W!T zotVZ&wm4MCWytGqUv&s!m~k~Vq2NiATIUr5!NL3U)_rz)^%rKdUuEm3y@+x7*I$%> zqgXbw7T`e;;P`R6@6>j*8*)E%YIW1&68m#Sek{D?`g**lmHCU2h~ppSAX{8 zPV~we6V*nU4Aqc;yMgv)WrF$HSDs;V6Ozf)Rz2)CbVev%+FTwAOHBD0K@&CQ(VSf*mImwb z*`sP(XJL53HkqUW#-*zO*0EAJUOQJdmOP3@5pnJ+w#PwgGCXR(gAQCuuJNTSo5WQ! zsjd{HJ_7_Ov|bY*C(M>Pz9DEs4e9U>l3!$Xkk~4YreE-pIiH^vZItrqwX(1O+)IX| z?gC+VsA$oeZ~JO5U7rAJb927i(m-Jj+DuXsgsBg_&pF|4)oJ%F`*@52osxbf|wx- zO8bEMwGJ_aeTAHc?P%@`$^##u^L+Ayb&T%yZ2a+$EBSub$_$AaGOy!Eb3*I84s z3`aXd8LqoTVd(IxyW6^EQ5&}q*w|+|x7rE*hp9O)R=Gh7CLi8QiC+$aT@}pUnK%;L zwwE+J1u3Llsx&j=VLvYo7x!??_QQsoOJ=Y7-7eZbe)aS@4$V7}?&feEgL(e$ks{}U z=CipvoLve}!U$BjDa0cKGXND|1ti{n*tiloePXn5=ZsBuOc~(0zBtmM<*&d`(yL`P z;*QLQ{1U%#o@xqdPHnp)&odJF zWRCBMzX*D_+hkNDCr5`JRhUo#vL*I&dFT-K@zRe|rgeZ4XZ0>)U?NfJyUS0QYi#ev)hiahn&%9XcXt3xgq#xQZW zqe62rZVm^kp7_yh_5+pkAxInVT*ULYD&WmaDfRssISW3JH z;vN(L#+e}^oFNJyLfWdGk0wZ!`R1{hyl9NEs4Ae_<(^6@#=LR3OoHgLjyucWJ6=fz zNTs4(=nYL27mCc5%Fm)P@kJL?3BSg^LOqITwPf#&i+JNdNnWswl5+ojS)S-aRpT*& z>j+fVWF>yAwJAk9c=(c2uF1W-{(~op=IzG7*c74#z}=T7;{z=enNBI~MNXx4fZF*W zD`UC%TDX-&0mp(qEP-pA4dH|Qk$+ni07B2WS3l6Blb`3;^kqJe&i{x%)*5K9(8dUINiQ-}uQ8ZRDagpP5*w)P$FKuPA)7{cQ|u|Lv=fOUH2iqva8 za=3lvz7ij%y3Qo-_w5cvoOD;n?R3(Hq#x#VWF`r>E?n|MNEMwNzYNc#j|~o?pFT^U zrus2s5NeaWtKNR;9fjjFh?;yZlNE%@)w#i(vNtc{GG|D}NIMr-$oBa!Sqh6J zr7j}w(n*Co{}3%cRUo0&;KZ?GJ|g^=AHk^ zO*tq+QtYpXq`gk+C@c$)KiVOfdO>b>a&9|9xpSX)`fGFcN1yKVrjeJTBj9C!p59K; z70F@y_3*>?HA+;gMbhIOQH&)iV2U2rdN`lOuMS|Zo=LwqNf>J@UUd(zint}ABf6$V z+O|eg!b}@&#m%?o?05xeAyl+I?C7IL;<1SE;80ePc!8P4*p5JzYKw=o7TTwm(PZ%=4q*5ZxxSj38tY4R%waX6#6Ug9*)e6+&eJ zU*H$M6!wwU z|B5B`omsh-U)M55EO@-6UvI#M6W*;*kMQEA_)+_O!Q9Hdl92rNf)r)vGYZ0aNH;K^~9-*8hua=9M0<(f&i3MnrgIF{wwz=TqeMI@=9Ob=Loc zfNwJ;zRHU0;9GvgpTu@*5pLFfz^uWPDwM8COqQDkIF;IdA=Y12TJb8utU#x6sbc2i zpF>-GTU?J6m{Ra`ZTP8Gca%BpLf!lJ0_ostv4-f$CXTpt9*+Azcsg8Io$O%RjC}9 zj6U8O-ni$OOcE!sBL#_tS@zg$9kBmVI#-Az**zEVZCusg>mhH5y4BDeH5!RsvUbOR zvAw-^fmaxy!}%B|(hU?~LP5nk)Wk$}@h4`ktmUij0xbr)9TT6kZW-F7G!NN5?#S3N z(OB92AWF6xPmj=12ioQMy3=ePK91!#Q6)D24)7k^qOneXxSFai9!)YEUynIy0dn3w zkUn7ibb@icLXbk(yIDImdxV|TuM92u9l9M!%@p0iXWj$Eh<}!*-WYeeFMs@g9j95^ z(r<;VF9YrV|F-x-3KRR;AmgnKjYR<1?#e4Ev2-cd`p_Hl1ntr@>D=lch4z`Ne`qtt3D?_G$WFm=;(#PL!1U{3@7?3_+(grAj zNt{WG=3HgPxVMWDEw;+8_-rk+Q-X9ej~w5CfVhUY4!SzH^g`i~`tgEEsqw~ z9b{H-#h~HV+I!1aL{Df!xDN3aE!HJSXrP@PlEqOA&jW<;_m!-f>o_t0h>*ZH82t0@ zCSWv??f+}*y~C+~;AIYtJnj^qwc&6xW0%@Mq6&1qmmp9%4R?I!kt4B9Aj#-n7>K z;3>xN8?HsM6;vgDvbw^Hsap3Bxs${#3eH?XUOGp@%>p^tT}0&>ZMa88-|9AdF;#yg zacaeTH!Axe&vfF!V?AciYs`ZNkm++Sa`BT-l`kpZqo+3Bjmt0cnMRRl9}ONyM&Zwb z8wyC!zfoG>5XJ0)Wiz5|-uvA(RPk-(lSBlGe2!+vm{Bd_Qu6FH_nfJOqbtHSOaA0& zM|hU~gO)RqgR<(&I4_O0@fph5@JkZ2Ir=4boVAhEG1gAi6&xTIA&>jiD-f?rmD%V4 zN)6vY8_*{kk)n0nU|9Hy553%2D|qK}oh=7RSPFa-{aZF47tAkREs%&HYC9JB3dwq4fm(I5r^Tq0A4B0- z#SS-y6z}k1EMSXj%xY`eBPB>6X*aqxUUU~%Puy!G-?|6!8u8JqN#-N^-_vq@)pO{B zD}3zBd3T|!7zA0Ru$?gB6zm&lI^|=Cl&(Ya!}BmD>$*bAZ=ZYnY{(8jXcIutdDwE5 zIs&)~yG~Dit15nUQ`B!piK{!;Io$shy!yhd_O(2BS{5h~OInwbq`3P;j!*tH5~uYB z_OWKiDC%LwuW*p=-J_%(UBB>~2hD3~Yb}OhvLHRieM=~vqn;(4K10M=)e^0!5BHMv z(S9G_n_B3r>9&S9A)FimuJe%Nc8fIpjD{?`kbF>3lid^oZ?50HxmldJ{8lG-!Vr4shazKx)pSw zTfX_u!3BsU$>rdq)u&z42-l8ki)FJgJ5eq|R2TcudKWXO?%kYJhd9}k`7sOw{pye= zHBXar(a=ox2%Pfu1AEH=bhFlnO|j8!D?ZGx4LMc<^O;SKE{vpzbI#uHnUUYcPtsdB zg*2&V#Y~J!Xq8uxu-oLqSzDS(QXZd_+qv^z6ZbMV1e^Xu@?&g4*E<0_lsBmIIs}3c zT}Az&cysF9E7ax;?1PPcH=am)M>KZn!YM0`sd%1n?=j<~O=x)X^e*vdxCj+i)ssHJ z?R!Sx?f8JOzluVb6uO3NB+fw~j*T!+Is2feMR)uJ@A4QV9G*qsrP>*A<8H7;!$#UU zskJ^E%g~*=&PTaWc8bB9K=U0hGyQ%hj(r1X)$hmh(-d>0i?6$XDE^UykI~e7z@n+w z#4t5JY4%0G{eBB!N)Tq6inZ%x=c97JYc$>m1!>Y`Jl1dk%Pvm176)08jr8Ce){vl3 z*>fcOMqV=)srH_jm14Y4Zh^l)hV}FFBcBgM&{yR^W^q$5n=hidcri8ZzYzcAS4N0S zq~Xh5JoIH}okh?fvrqlF}5G3)>U&X$IZtYy4lsS@m+N9*k!aOU&)~FlSOBR|Hb!O-MTMcCcSWlM3@#(eEz*?$+Ko3UwJRd3g`gU6!~H$sq{*@?Nvy^-G&MN=&rDq|2SXY#vQV3VtQUB!0dp#T4==`sCd z;g}(2YXiL+MIE^CLt}XHQxd>VIO;q!kATdyW(g8OYu%+3!DEY${K&&tTZZ5HPeu_- z_|U5^Y!xgJ5E0&48FY$m!Dqqv`lJAZGFf3u%i z4sP9%A9^lTbGD9ccW$RnN?ah4|AwN#lt3$PR8S<|Nv4j>BnNeRE5W!axX&|qu~tLtqkKpT#rW9II+_Gs&F*yl-Szop*R;h<>8EE@UTZzJYKr_*7l$)E=x?@G zq+DzbJvI@?4C=?_Eun%SXWFJwJ85g@eCL|Lb7JJKUOV!p)l&B%`FK?wJ9RsG+094F z|Ll?a%(suBcdVD11WNNKDMFu>g5Wz~jK+HI?TjO>n%iOXLH#-pW=kjgdp2H*R4T!E zN=1MR2l0<+I_>v#pn5-DdAjepeNB9Et$ehJ4FMAuv}};-gPSm1*QL@gOcj19i6KjK z(ob9BjkOz(k(%|^iS_h&W(s}gLE_>mU{;nFI~_Vm)67YM(&u2MQ_jrbl76SwtU#S%rH;jQvR)?{21XX9z4GJIzLwsDNZ@JlI?rsUs=`{ zq@c>(o3rgvc<7(5MWSbhpC8Jec(yx$MCvkhJjhb!8&xxrbRQHFEWkl{_QmY~@pH_ktbP+KC8F@awCV*t-DK|9}a#UiJ zkIu}vqD|r`5)vXbWb9{8B~QN4cc1#ht2Woa&Hw-Fs{gNOdI7QJ;;LVboL1KKp~!mv zYBio%Z+N1z*cITb(gRpdC7sIR+9BUBwS2u|$)qv<&d!;B>!MjowdCxHh_>*7G$N_i za&0*pQJPFQfR4GlC}c7yTsm#4gFja~beqUF(ou4`i|gv>f@)wcx@+w@pXf=-iEVZ!Ml`9aEUbRo z7uM-7t3%w#t#}VIZso3uBffIYOQqrDacA#BcNImx#tGCOnlAo~!@h_1-w(+w25|5q z)sEV2e))(cx6}ye6C}~Skvuou-fy8PS+(_!zMamG$E(nV_l5mx4y!D4aDba6;)01M zuj2IdU-4iH!be ziiKZ9j7O;go2Gi7WEW05;-O}~2u6V5c=B;jcg*sM56Lfqu!phJD6V3K6&yH*{InA@ z`1A51FNU44u)bgwuR78?0F-CC&D7#~(F=hwiW%3V;b*!Lch1gC2b;O--pcNnR`@<2F&0B&o zreJ2~_Ks$@(l0GiO4E8f@#kNIHNqB=Mjl5N8Nt+PVDs zsfb8KWfc8KL>x6x`_g52i|uvuW8|o6>bK84oTFwJVmLob{cz*PyjF_3ie?8lpCw5c zZqG?rP(M}2L!GFJ<=YxkK>VkHGavlO0V`0V5m~;n{DyAci$okYX@MC-G={hoVzZkf zQ{oxjnuBGZ81>N>v@C30ET~442T-5Tw{SUPGic?)q-^+kXA3h}H-4f~#DP36Sazo# zcsy3CKoVgQvn`>{`1Hkd;3+P9Yjyl|k#6hmeYiG!ECF|8aq|L#_^KXT4F5gKMb|NG z{dxQ|-TU{QBwaqU&Nf@6qn!qh_@R&a))9*O&lO-8Dzn=xIAAd(aEb#gVKQAmYt(JjyxH!U~t!nq(A75jk#!)tL`KaAW|-}V>e!d zQ(XGh&MkH%B(8Jxt#!@=0XwTqC3R|*sjToGOgtOxi{1q`}6F|Q#6iQ5g7qR z$*TE7*MvePUtam$m{+47E`-?@AqzEEE`1e$C;QyW(O2%^ju&@xcv&wU!OyHj;pw(G z;Vn_5tW-5g&6XeH0n&8kqq6|jUUlwYR`q1xOQs)D|X&1HjN=vRsu zw%#^t&1K&fm7VD6yx%O|pUJP9xv!-M7X)3e)H#pBEDbMBHBmqhw|c`%5DmAq-H)y7mN@vYwy=vgGF51GTZlA{!|HwE{&Sz=uqyJ> zzu3yN$^}a|;lFFbE0}4tXDO|v>0bTwqC|8Z)sU1S>-H;C_@7r+`=F3lf_RFHT>pkk5?BRvb_* zJ70A~6hXK?AeevT7Q-~F2iERj@3K5(+hdo&uoO&16d&IN5`~#%G};8c2{-8&b-hL_ zg4x>>>Dpz+-6PfT)fYlBuS79!d3aq`oLf(ef9doN&|>p45E3U#t#xK0bUj#f%q!iCJAcR$A?q-3X?+xg3#F;_neOeyCE$4C~4Ikq;YXc0YJhEg( zD_Y@4IBCJH8Y}#g{Kg4bsy@D*FcTkpU4Hl0`}cQP@Vw^8&s{S{(ekJJxna=K^fiz) zc2r*%L%TViExP|s08`+}PZf&2Gin+OSp^(ONYGK4Q|0c(=FUw#%t+UV@c5LwCD}iT z|0=Q{p_ml4RarjvQm$ONf#MDnQTw{e(<_@_tAU`;9LB*+h#Fn42*0`5H_plqi&j;% z&!Kr>>8{X&E$YMe3s$Br*PRHs)+ksexd;R`{ONxjK&LC35?0K}du9L_hF2KVSz2pu(m;=zN1NOAcGswG3*`0+p@i zH&lSl`Q>S>s(CB$5SrN5x#!J}=7;$xQAaBl zg9}#ovKYh<+IT=#_YSdAodhoC+{g2AHikK|uayJ_RH+|;XztN&Vw2>HWnEp!E?!l; zdXozui{I3N4BXOa>}Kzx)Z!NuRZ#<)+yat6)1q2L z&CT1WD)!4=4?*8js!CN*_D~cV-SuQR=%zjdO2NKzr-OW${1{kM1-i_~`%Y`@g!*G1 zjKsb$Mp}+--7P3l{o4-bowL3G+4*FrXzC#I+1pOkzGW-B&*KeO^sEJp0j56u3D38h zO}C{XXf?iJm{}}rtTxB3YZK=P-(QoyzSH@Ey3p>76nuLTp_A>hu zEfd>fS76!_EjZSg{G7uRv@)OY1!hJVYQZlg<-GOw$VdOdckbC38&`f)JpP`~*d}xV zHfiG!o$&k%U8$2KALcq_&Ubz>k^k*=$fE=Ua2S(o|j*uw6xgHy}p=jO{^?*_B9U^;F zuoG2AgdNJ=nq^{6Qf{+H;>-?xSzw`IzM|z}3b!H00{B?zK@~oh>$M`yjU(+Y40`U4 z-OO^f*~)i&LJD13jjMTi{k$#L$)lvTon)M0^2%GI(64`90`Fp^Abs_1|?~*=?@8z^W#S=ACCPA{%Nv^q7Lwrw|UTv~#TP zpJLh*v4=LLEjjgkf#y^*jkL0E`NPR0rLlRPMhEe#q2+OlElTgX|2|P3fnV9>n7nip z<{e0SmqQ!092U0d&sLo(AJ=k!yY<4UZ4&T96T1XCLx1(u3VI3hE*b|<8(wYh2VY)r zSMZ_pXI9-zRSck?l=%mfD(GI%>XuWd;}B~PSm>0l&#Kq8|8%yQV*j7S0@OKT z38mcGQU0z6;(zn4XNWXAE5GW~hSvyvl&lfmu{_r<%IUN%A$zse(kM&FXP@m&nE8n* zo!XswnDOljY&zSB=0ViB^29Hiyl&mnl(O!+OOp+ z3l3*`cMA@L6s8RP?!;pi%8Ijw$;OVBP5_&ZtFyQLhq-q1<;#bw_H;!&{!evS`IW|u z+j1!+6j?h_dySoOjK!bC@jpu@-Niwv0?$zia`!kcSpIk5QKbZ{`(}JDe`U#I}Y6!nE>%MR1myp5qiU@ zKS7E0i)Ft&JdG#d4s+oaCfHsOn1qm9j#ZfeX{UR;xW^Y1Qp6BPE$aekBLJ*GX-cAd zkiTC3Ntu){j#YRKxwlFMR<%BmN^@Pph+>Ah-+NJdA2h97zTkWd1>RBOw;>$EQ#;Zl zAHwZ#a2&;`()0xS<^3d@FsMoT(W`Z}Q_JlfumIN-0wz126M~Nw!+@gX^NUg0J9P|d zODEs*1NC*Ra3eq`Vc~pOiYf{f3*|urX{UNgKF#dzy;#b^d^vLNt?MBZr{XMXhtJd9 zEfOL3i~vC-&WO4z?z{jxJc)!}+3_VLQd&z9ZgMc5{9QpD(9PzUblnxKBwub})`THN zP7GEK-Y^IdblqT?2^;WYwEe)yR84Fu(hMex7iuqpnP@`QPXxw2^3dTv4IeskS={8Q z;Sz))z19_$Aq(?v%h+T`!rv`-*`Cfc_qR`f>L()k| zI-S_&Lx-m?q1+XH2{)N`AGpCL&z1mn3KO;(FarG-k=Z%#8-5w)T7^`BmWQwus49u1 z&xcQD=^L*utR(OQT(A^%J3G0Po*i<1yiar#iIVNn4>3c4Dz#bh$Hkr0lt=vN@UY+I z{&MzwAcb+_4X`R)wzq8A&B@;Qz##yT>h`fWf6FNYZVIiQdj`KR|=2TxFLNqNNt0IV~?c>;@M;+)R zyuhWpdo=opxM)pS(WB~o_**GxNAwx$lkv?~(*9E%uRD(kTnZ)pE$AI*CcLFxh`j7`c(as*V9Immhm7n2yGAlx&&j56WEp z7Z}Ml`;g_=Q@UsdoG<6-3ip&WXC z&K_-#TGX`cC$Egh?gce0=+54bSEd1^x&wtmxG>VA{BVzBI|DVcB*DF#?0R2ubw37} z*#9!bo;R$uwAaJQEWquPxIMp^BJSvH+Rk#p>+Nir)o9)R zy2Lqly2W3);DQ7IfKd(7p;+1J_%GXzn|FTgPJ9?Y2+v2upoibsDl}6nK>lXQ)PFH& zmpTtnQ@T|h_-iJrzZ1|uL6wt%gBSCTK*fjQ*to{6`@wd$jFKUhn#WU_DxV*1)+(Rh z3-^B3(;~91lMmn?c8 zp+HCtAix8k!-zAc)s6CF)zG`0HcR8k2asZ3L5#iqV(d@E42qQE?o{MQ<-|<5z>A5= zG|re|Cop4HVIhLq<7u=f&6>6!#9<2SWGe$dFJ8M&*>Z!RqrmUOgFUl#@6jVQv8E( z40-WGS_hI_bBv?psT()uN58qCXF#~Q*o6|uBrTyja_L0sDg`7YF|~jIm8F_@)WlQMhca6|nC0>s=g~+~oH~5W;bLK4!+H3pj7q?%llnlB%g6DYr)H6)=*=&Q@xV|6`9;^G>|tMC1darZT0MDmg2$zVf}hA86c3~MbpU>u60IfWq3gA>xz7yWC7ov}^hY;6c#wI1TUI{4jsYt7M^Aq`HqDy{=RzbFNyA>vXW)+#<~ zL2`z6e{ggFjLLWN>T2V-aqVS&5%e&{NH$0S$X(BG1!kp{W_xvdsJW90cZ87F)mw#3 z&{zM;Ouerq7h*M3lrb|+7eMS6|Dk$v+Z z*-rTFq$VZHiJqLh@kC(>aKNhuL02!3Rg6T`#5^Gw9;E5Wr}OypG6*Aa_x1$_)L3!b zx9hsbPk7%9d_Ck-$c28KjXCSC5DcyzTh&YiyuN`bZOkimO^Z|<&W|1-YZxQ0?RasT z^c^r`B}2DXz z`k5Cq-w_8JAE@v=W75KPF7C?HgVh5&UUc}maG~!1tpxzp#agEPK(fB(`i?QSw&Bm2 z!>J#}o(~@Wl-W!1;$iuse&!J@`dAy!m5Jtfj!iz=t)lP&-eJDQKc3ucC}665?`X5U z(}tYk37l6!_n2;2lFDD3q43k28PBd9oArv)sxo2SVH|zVF9@sfpxZYJ!kP+^G5L4E z84BQm&a~Gy-O3YM?%zVdoYWsTw7RP^3si?isu4|w)L$yzVw-1O?gJvrJG$Jrjx$9u zJ!i3r#y`>{e?eFNG&S~oM9pfPVw0I}9e5@BJ{GtHHh?i_fSRqh5e(?QFQ;cgAqa{F zCkcG-cj`P~95)21KXj(>Vr=CfJgkYe2)sP|lD`(Dt=nhb?9q)yLhj%w+Nvx?$y~h% zPfNsEH2ccv_-8d!|4)u`4F8Y+qX@3Q3iAi(oIzXFy1(KTudugi`S3|Wo#+~l7wvZS zxBc*B;t^`wW;*r2i`5a&T8kYiH@&1l*0AYh)hUsA9O<#7SIC9g93v=Rd)RltDpJ9F zy1BbaoBm0$-&f90lru*gU5K^0NTb?qN?oSR+j=O&lXv!HMVh5+` z23d>X1&$(o?SRd-fMiuCED)^|sb|4B14E3!lZWjn1@y<|0gZ9M6OYwe30rFC&OrmB z7axgpbuVv=CFS0NTv8(cyy!lMh|a@-p<_{dmEH#*jXUSe-YV69X#Hq>RL&Q4A10ud z+yY(O83n1u&{g@n0)t+XQQqY;Tq$on+S;CShP(Cx0>>#@#1v@mUnM|GORu)ubJ$ua z$X-&!YIqD}=e~|}rm=SX<=$7tr0quMnM+9znsu4!?q95X1Q z3!3Je{j+lVK^AdG6rE>_I@7#pz_4weYA1vlzBpr>WkGsDc5HGXYRb=nz%qahulVE+ z>{hGTP0P9+i$7cq0DVpah}`IBTI6w}Xut9N2PZ|ZXsp%aa3*J@tal0dU%9s4f-YCw zKNqOTP8+itO*`B>H0bsz4zx}04yU8Hfn}e553DwXo00Y9ehj`!##a#mbV z9G3?TOrVQ<-W1B$%3bn5w~2Cai^UvtxJ!wx!CKVSK6f0%2BYSrB{AW`QIHXLrQfe_ zLsZruPEjGYGOn+zPDmduFNM3ld2Z{tkEgUYCj31(%bhY35XDY)#$V6;5N-~H8cD6*jP>N@nOXoH8uF3yF6FZQ{tS@zPUc{Vn z37Gl(FBrs4WjbYbP+2E`%|vhcXy1E(0x|l6y+Zx;*OTGTf{Wz_WyIu>>G$Jx>?bnO zP$T{Rby3V*n4@-+LP$`%Ax=m6)+|zuEwC^J7~K1YRJt~H)2@a{V90_0S)(!xc+>gQ z7+^Kd`=1!pbnf{r=F%B0wwpkYETBKX0cmVe6Xy4mAKQDfIz$cfp3MlqId5}Wm?r4< z?vD^Jq&?h_t*?u~c<^EF352K!$iL{7rDY=MRu};JX(7>6y}vdIi=mm_j?=Oh`Ja}z zUnU3H{yAC|cHYifEf)IR|G+XE?vACJ!68*28X&8WU5w8jwS)))LXv8Efo^N8$0Iru zx#N+z7JUBC^=s~pskXZ=n181$*STj*cOEPObU5Kl8l&2Bf~8dnh-4q73jMm(3T(Y< z8xt25;KC~h@_aj^(WHQG)aFQqPliLQ)VwLl0y>D;um9q;bDtl^ArX@4cPp-C_peQZ zP(X9+H%V2vB z{<)MQZ1KveSr@m>av+)vPv@2iIR~83Nq`vlM|7xJD~a=GQwA+8@Nxu zSUZrvLj)n3GPR7tD{88y_DB&7i`FLpc+*)ySFtOsxUw{5xVOSZW}HNSZ{Pi|H;D5F zB4s}{)k*Zn&G?%@IQ?@|s@Y991D!F{%<~b^@9>M(1-^kPY`p;Bkzx*rt#3~flH0I3 z1%|3?!m}bXoV8~*cXVFkr6zCJk>tF~>0V@L`N&v62D>b3RD9rj z)HoH_B*tV`_aHCLWti8ppTA*6dYUze%@}zWwi8xA)aFYMs?WCcxSN15Vsi^9c;m4c zjR(JwSP9r-%;C@W8KZ2K9k0%=Srv^)qO>a^BQpk0iS8i&F+Vy|-UwqsbcjXdF2s7u zL|gIATZmW?j>%F&?ZwdHM;Tw8hMG;(N#c00EsXTE6y3i{IeXT_p6ivX(zS4Fz?Egt zx+-)os807ye6y$CgsG>H`USHwSc8_Bpe6Y&esM)4jt7l)^^)FxdiJHdx$(5&ghSr) z&yU=DaFdXUT>vS-!^4+thUrR;|5gCeFu@ zrgUCXkv3xJwds}47=HA&5LMLl=y2Y}^bLHCe~~RpJrIj6S(HNJxay%7d@0u-A&Fiq zM7|WpE^bXobL(i>(`mxDJ9IPhjAS5fl=pk`S7(j*G3&+L^8}GnfA&!;?V|LJm-ntz zkFy$b5%SfQ>l}{CSii=Sz)i8iMaD*ymt8c7Qw7gO3F-xcEn*yYLg5(!R0i`GOpN3{ z9M>X@Ok)>aW|9uB&a=8*2D!CHaTaIXtut&r-^F0jsm8L32Q0WtoE&xIKgqYEH>umk zVaj+qFk2<2yfEKgi}3%T&@XkJxf2#1?aXMRgy4 zq*^dL-bc-_TP3L!FP*{#4&g#(GcpSPiI_5cQ0#Z4;;wZ9 zVzWf0&PSp6g67PcuTV9Wmw9I9-+Xpd23j3f4p|=;Hs8Y!{qtQqP{lbvTh~}l zNaD8C)_S|ZjQhoY*T~WWiq)fU9$fye_!t!bQ{iJ#KeVp=n^zP=&oe<&)=DkHka-44J|W6;wLZM zt~g~-{i^t#NR#sTJGkQAVUOMqO4oI|ad179)p#@bop0Px@bW>W{yBXkzTfuVfe$U+ zy!qW1rL2qqOv7xs&+og{WSb=)`ctFHaN7-?EUL=$K7x2t2wgXvDpgsa7Kh^rW&>Oi zA-{)MIWLYPDn-%z@hwAq(GxFC&QO&i;;vf~;Z5y1Jmrn0sipUP!?i+nsqqhQmFep3 zgEgbON2<>I0KEgiikNC42l=TeEdA2m_)ZH)&ef3Xe&3$aojmkp;0u-=JGPfj zRJppdRZxN6@a=|P6z{Cq{7+^9`mI+r{>cxRwlEf>BUfWW!pULc{hvb)YIo{}t$}&D zCh!q{0G!pnyA_(2@4Nh8b%7G(?=3^rj|Wg6VOmy@e#;I)Y-m!uN#dg43c6E~arfEC z(_2fW$qNdWZ>e*Wi9hrF%ffD;2<8sB*QBS#RI@BVZoCnq@KI7I7{Ixl;Rk;llZ1H$ zf6d$^rQq4&-Y*Z6@d}KI`>Zlu@+8fhq}86fKd6%~_m3piU-~1@K>B-&RP(P`oUp?X z^Infa&-}KsOrGfhz+5YyRC<$dimJ{BsDT=n)LmA<7I?k6DSZ-u<}kvlqhsqs8yFk) zp^nio4}G0v#wQG*B>-a!jeD%VeSK)!l@po?rL11I*{wRmiVLKl>2B{z zGoCs1)N;!*C%S?u0&?C9kppbR(ay_Y7!y6*kBM+i>KeDqNQYZyxK$5MF?iRF51rCF zM6dgF@Ay&2xm9%YL7b{CjKh+3D7CiL^NUx};_m?f%w1M`_@l%_C3xgMu0n&VV4v(P z-b^QVDXEB7?LYKHFI6Wd)(W`jMN+Z*<|;SXqF3%$RuEqvMJHhs{9iKw6L$D-q?)6w z9`1pvg&;$CS}ekdA_yl0AaXGt8h4I~@$dW&g=2ZN1p6=V)QSIBYN<`d-ib8~pw9}h zo}zGdRNxOPWH4!zv{m|JSDLt>5Hd%5SS(qzt~7m@RIdlbg&7-mNvZ%P$K)zsuarmR zo!3CP4y!L;oVt6D8B!a2-&T~miAOmSI3sJ=cOOc-$6bJ}3!*La(b3%!p^mTGxl1Iu z7k%0$zb5#)e>%uHhq=~_2&B>FOYMlmMS1FOehI7+ps|3O{iROXyJk$Fs4m$z0VSUu z&Jc#w5>($o4rzK&ln=U+@t^H^;_KCJs&67z!Wdv)hJZ#8v|h3LV4O+t+96?9LDPl| zW)b;QgQNiFbl^rT&_jF2jP0nt@Cl>BKl$j9{}l2Sky+H%)IxADk?o6Y{D_45h9$(= z7B7Y^`o;WNO2hq^Wp7jal4*GJOhqz!LKA~`(Wn|6dmk2mFzqZytq8< zvDur&UqDPvS1BMF=%dg(9bRts;UZ7ZHFU{ z`OyH)$$y25cJeOda&?bJoGSf^s+x|E9C61rlarAPj1&qIfVV$A!rzn1rf*E@T#E@9 z(!A@OKBpl@sAf`oX8E4r1)9ICYBI8aubMKsh-0wo%Nho-q+3e@VB_g!&QHD`0~zH| zOtz!0&;=1cA?Opt3w}(@WEZ5rgkm1R4{1ut*z*u%ukBKKi24H8fQ%AO`r1l&2AXY1y+6-2*PdE;A?7xy?6(~X56qdwzo>Z=6>A#w6c zq)e))rJ3d{CmZi2&(P_ls)kX2`g|i!r3&#Q=fXm2*n+~lJA7#F#LZ%Cixka5EDKAi zdwSSgFprGSLgC_0TO>)u4c25dJC{jWuq?4`CBT5w-s<}1mMOFSJH{yQ@lYK09`wXB zpwX#MuslyRWpH<*`%&|q*wLnEAU?l2RI$LrX9^)lK_yNxO*}+7tVQM@^Vd$;7U+~d zHl&O_#m5d80g8yOhL)(+y*YMXOiF&NB`H%9*Ci;pn1>!@i5SedDcSnpTqwuZ+a!j0 zj5U4p;Sk@BF$xOPJau>y9YebR7f^<(8Rvy_&*(pP{cxc38QjhMwv%1IeG&%?FM~SL zbAjsniw3^cvHXnh0{-0L4!ZYKL*^<&i+RF=RuFee(sjmjkMBR+O1fI)9+tAC(EGNs z=_&Kyk7@iG_qcBi)5UWV5;vsWu>xPD=QgZ%!nJiQWs%?(Zwn5FUWhp4+oNI>9p?TY z_Gj=}QN(kdB^0VGJ14B-5nnbb4?i!~9{ZRspM$q_l+qn;B$*Xc@Lcp1`59&rc1b)_ z@v87`GupmWMSa%5(7(z&B($!T>N0_)vxF@0CwPU{&#+ghX#VnEW;V zAHzOr7?f;o+rSE-qB_f=rH{`unLqgjr;Hi~%FX3RH`&YrGEeU$ks?Jla^ze#8-Y=m zd!Emn_X$YNbs#a%h_!F;L++3YDkK0=x-}{Atb@-vN2=S0>^W<%fDr=x@0~Hd7uQJ$ zhQn}I9f|2zPlR_g>sLPH2Zmq#>S^`@PN3QA=K zr4SZc-ij+Xzrn5Mz8g!W0SDf=|K5E!<(mN5X)Ewr6i4Q2Ao_QR?*Hy4_F5*jb28_S?sTDw`+j(?FcZkYXqXQa zZ)s+wedHK`Af3qZpTp82`8h4gv&TqW-e;0_hjmO@S*$r>pT|G#RB7xaK z(t|3PoBMOZ~k(#55qy*N5kJ*AMD6 z7NuOtB!ha>{Y;Du6eMH<9j?Ya`oTpWH=)jtRQpH5(H?!~8_qPK`a1N7E22{KFS;)f z4GJU6tR@L8ub~#(a^ps3>`OtAErR$5@0wu;mUTCLh6W}+9A?IpB>I5{0VQKb@d z#cxIshQa0_?tRXm%4x3X-GV|G%z14F+o=Z^XHwe9XUx{z@G#ZF3({~0$US`B0g|J zL*W+#-8Q#(3(A>^lv)f+AmNn4j4P!v2(uX$|2eReK<72$Qa$p@`QovMGIf;I6%O8N zVAE$kPi_5|7+kTdUeegO1ccI@^j)Z+6lf&(#q_&dxZgZEbtHT`>11GWcl+_9$(fKRgwmRxYSs|m{dbwu9Y3nz@83y$Xwtvho>_^;_* z{R@*yl|}x$qU*8u&QRTGXTdGED8Fg=tPdBqXJ7{n23gp>pM_pn)gQ+&@Kx0$b*sDX zwzJuBBcvzQ=>LUW9BMgkIpiCGQ)IqgfsJ*JD4%j;7BABD4 z>Eg3%?cCLtX@i@6qJzuu-<8^%ykvs?efRz^(aC?{{s9|hgXmY-uL(vZDqWi|Gm_p` zMO&9slmN{Q&UIN321?7%Y@f0l3?DEqD8sGvCk)^8d@D+JD^LP^EqNgO)tCiW%5T9# z1&ee&e-yM(x+E=ln$K(M5EDrI5`GiLn=#^9|Afk#XpL8T96~IFn`HEYnH~c;WlhJ! zr$7)NV#0E*WWCTMLUxH6Nn@>j1m`0pg3*0d)}5%sZjFp3M-miMB z;V#oVECm#buoe*r6rFbHfz^Apd)Z#y+zdTrl+HS+V+|Zy>;I0Dgd~*004!+50xR6%RH99#mZSnnpRFOM#psRFU&^o=BK?oeG>Ds(oWy zu`!Z}Wxuzks(nOx_O&W^*^<=5Re#&t#!E~vfX9&+#-$q+maCjzl~~=ryxI2m?5w+6 z31T)(fKYEHV+vivIvgMZoiE~p-?N(=mejc$vgPnb3dHfqW#R6hfMHi z>0+hb<0{jzJ!+E~UXQhP)UXCOD)!XPyfkk<779)AJpN_L3f|@u379>*&>_MF`ENMo&Fyra;V^n%R-M``lV{_M24q94VES4O&m%PA+V1ifx`& zTnfAgZA|4PL65=z5W_BDN5_8kZ*!2COR#T+2!h&yKS%TH*?mN8_WO1@+7!_P+d`Lb z5hHffPyFyFr_4WMGhyN}173R&y-VOxk^C0dQM-Sv)PJc)Q>jIV_b@;#y_C4! zBx%H9I7P<3}-_NH}2~JQ7_w;FA>>xQeUn_SuYsN+B`Nt-kd)LT{%{E1$nZajB zBw^~XcY3eCf*0c6i<}XJ)92d^AuzP!bJh{q%yvj=rwMB+3B@+fd$E5oAV$z*>=Um6 zRYUQ}6yXyYPWNNzO-HEQhpf_zh*!yUUp{^9UcLOl|Cl1L=h)y+k%Q%zigQr*SK{2C z6Z*Pt(jW3!Y)q9hY-}$twxZ3M`@G!o^3R1PEE_C5zUnC)hl@F@_SYjiEWojvaeDLc z^;ul;w-yPk5~OJj-c=AM5~G=QP;?GAJxwE(zt@B%%xFUM$jYa1j7H;z6xm^x6LRbt zsYa+M1AZxBnkC;1GTW`^RdhwvK7bSwYA|0XJUPndoT5V&k29q z5uu`lthIrD=jw_tiV6mNmdL(;74CW}U3;AH6z*D`9b$J%sj9?ZYYY7@c2rQv-*jf~ zgoe9GKBTNSV1iYoYWz_*_duB4_mp!Gv}FS>IfP-o31&PMt1Qgqd7zqW*ZB3KzTHo- zka^Vn$$!^ku*RNCR9kY~g?%oc&RPn>AiJv$(w%jM2o)&D(~atyqj7e$w&YM>*Rz4n z?o z_2oRC6Pl00Dnb$t+nNxZaUTIGWIS4OVe>6~;yZbzcOTwQylH(+Fg{WBkypQzRR1ccHc>k{b7`JEy&2TfQvu zkj#Bd46;VNgrd)ag?MIN3af8pM|b70SnR^as_Y;fC6f#W>A;E^Zeca<@|{MhL(Zce znjCk&PQxH6bq{h^N61X-kbcEufC5IDROJQXqWY&vg@TZr4B93A^!cI&cZ7k;zYjUk zC$d!whoFmo)Ij(bs*J71A_? zE!>Bk8s_B%Z6O#E?9{IwWy3Q0T^mYASNuO?xwb?eQsG9#0>9av8YQS3&co!MeX?^o zjPCpQ+oup%aTCY&7M7;+?#an$3^ZB3@Cm+^UWfjnYU>Y=+h)tzWWaIHTm18>FxNE zRtDog%KMhLVPaOSbAS6I+2zC97lwu<7sLO3b!Up@jhHHy{O>y_xwogkR#YHlfBVUz zp?N*Ax}?e4uO{e0=<3*j?H5cJQ$1MXixH;|2_Yy9aIx%XHG)FADL2{|?5?E&mS*S$vo*?h(3?}b2_agWGg|Hu~1)nM5CHNnh zQiFlNy_!h=GraYGL)(o8DvNuG=$HKmgDJuPODw)UGzMe^|SHS1T(c zx0rb8GaE+mS2E(#k~=svPru^-g$?;|#&mmLR%Fb@Fyc(}nJU@{v-Dh_ToFbFDy z?8i|d4+h@SpsaCs;j%yn$-dw}a=^2HfAN8Upz$a(+#HA=0dj1(ZiS%=WG?uNu^%QYh6vpj z_Bh?mqX86`W|lXI4RvupY3AhWmoDdxcGsWfG=LMS%sY@+?Rn!pts+jq^>N3hAQ$If5{@?k1NSWm=~^)V#Vg0m1tUkCDmCHs2JBuP&AGV_ z;$|ZnI!k8>ktF=z&_;+{?is|~2GrNC1KM<3Tvm5y@Q@GnZ^%HHk%E6OsCIB%rZUL# zp(1GF>p|(yuW_lsDuCThuE-!ARjG@W5elM$RN0038ZEK}cO!>|xs5 zcNWY1uu$YE(_@0BV248Jb24bvNTA)-pcan)LqQ^>$=Vri_S$(I0PO7}N=TZmU*qTm zggM}*z5C#G@<>VS;I39AyiPMzs%W{!u z!z^hXNCT8dqvt}DE%2h^HGl>2il7{DTlJxvv`|3CdVInokhs5V-XlPIXS5ygw7G%A zq_Km0hmgn*cGT-7@92Yvf3qX&c0}M?JT0R`#xJMhsi*u zqP{F^J>UWFuVCLuJ#cq6<3sAt4gp}YhUZGx51maVw}kX6Q-P>eEg5w(1m}rF*>c^3 zl_Mj5B#s9VG_$%iXvcV$+-2E6AK*=y{_Okn$; zfjPeewtr1K;ndco_^mK~}+v z2ZMN65h5UOx^{;>7_ro#3JYPW*9BviE}_^%u+x}+V{0^c?B&(&)vc`ugYWfkRE?vB zs!m`6bKkiG>;0r`h>!^k(a!Pff|q=js|to)_R@9#r139$-*8=CNzJhuJ(Bqjm+sPr z%4#ZFiWHv>JAfKy0tvo?6mQ}pe_itH zB2;FGL3eQb0$jX{6h=-8zNW5RF%A#VI#5~+;cULpO#%{Qj3AcCCrAK*lLXypdZ&6x zwcWh3@tQ$4c0PdH7^tXer|_C&v;@h&!FJsTmpnYDni2ameOh+%0Fi9AmIwuX44+~J zaGSo`lzWF~j|!0S&UlU6s`NB5i3;TjXGQSr>~+r96B+_=lm$HmrEMabBNwyHdd>)+ z?rO)qFWuhj#=VE;i@;cbYin)b){Xk^C%y4kj~5@aHJ{#w;nanhA3|kYkXx$@N4^q< zC5aY01tWd`A+cK_g=8KIi${A%5r9gZdsZ>AGWbf1$WK-$YvW+2`YV#lu^a_r*;~t< zF{`$Q3mc}hGpCIRkSDw}sFK>UbjKF;Pg}I%qjvZaH_mWP7Gkfwc0iU4rSA+LG`rFn%PWfy*g2d5S!?+*nC~~XS<)X9{FR>) zygxlz5P(gbR0A3+QvE-Ed~%%<>nKAAcpuq*j8m^s7px-YhgC(G^V(=blE}#Gc98lsjClVO$ zU(PqLfkU+_I15P$Vq}%#up}ByLo|>)j?LmP3ldVm%6lktT0Fgu4-~n*t*v;25i=uV z4`q&Cw2O5u0t;kC1jNp|4)h%6wlC8%OPqeX31QX?C-bD8tx8FTRVg2&8Ue;zmsno7 zLj?2NGE}Olok&T|;i@~qv9CT6vbSK-!iR$bk<-&Wu~*mtvJ47TeC2FlPqV*G`Hb?? zR*DB=Irf;TOOk>}R%4}-9WdEh^D*iAoCpH;3%CK3TrnYQFoKwTacVlqlg}%B8ti7g zQu#dSVF-BtVljdBxA8fbCM{tcohXB6n{;l|g@UD);IT#B)%eM5@KbQr`?C+Rp;zqK zyi*!l6|23gJ$>_pp)#v986YoK8E_zcbqvv#AbvJ_@GSK75dFaQBK^?poxa^CAEGL* z15Ox1P2iHub8kU9yeac{F=sR$;t4ET*Evk&<(uDaiQaj z>RTeP+gM=dWy-SuwNdE#$8qAvp|cmb(xHBB*x z$+1zZDO7Ma?*7yEq2z8 z%*n#|YM1G_xeyPzW5>ytl^kXBv>2pH{COdcX&pY3-(F;_v4QnUo95e+w%d>$65~F#GyXJ&MrzmXtap`HtbjnGmR}DiS(i+AvSE zc>w~6@?r^gn)6N>I(sj$yoT_4f!j0mz9o_?G(=%mCvWk6YZ~@$fjw+hM=agn8Xly| zs*18tiV#sE^3U%;@)}5BZA0E*@erAUDdBimSuc^BFBPslb_v zh+MkBL{&%{yw8jIO|fMzj7#g;QQcnfYEwNYP#;*qK*72*b#7|x(#>(0CV5CuyG ztrcin2sado8Ch8$c_GxQ3&bqk#uVp(L0p4RA{6uPuL3_qVQq2OM`x-BV8f2hUOCs#vAC| zj=cr8T4!v1A24+ARD$?A5mSnt@FQjaV>h0AhHrUuGalW--F$532vpLeXgJegpwlv? zN`8kEb}+PANH~QMKX0S0J>qJ@aNMPAaZ+s?)2ID8a%G0&CMeB5hd`Vv5vWsFE+u^R zvBrOy1*w`CuyMq70hHch>}LRRMZ477#q_)ZMpGW~%&4LlCr`Fdwv|uMm!NknMY=}T z*yC&>`C?y0rh5|$L^de^9Y0B8Ulaf|(Y>uZCSo63x0=D#Q=~z+(=@$Ja8G-0(OuLgzsK$1vmqbF3S0 zZ1(3r&|*vtiXAAoHsl7{X*<^;6D zK4$;{t5YODQCdraDTkvHl0L8lBH+=NgOx)MVai%*uVw`Jdvs{=MjZ=OaKDWf2E&Ie z6*&7-+qND^nwg+)#(q^~0sIynS>K9W6fEr-EzBrhtpzZHKfQZUOzJHB{^^b>eQbif z5HW8xYxy;x9B6N2B19~7ydX@pR+_wqYGx- zt(C7KC-&3oUkO@{b<+)<+pvE#qi^${*(R z`wh#_X6R^XupROtZ5lDVV7HT9zmxozkyq(3S=WQf78@M?MI`(nafjk0t-ne@^{pL` zb75u0o%c}LJJw%;I{DvhC&RSq(OoHQQp?bY5KorN&V-hHc-r&aexnFo;SvMA4zv41Di zDe0g@3)&eRAFU}voZa+X;RG9I*4Zcl_00i4eu`|NBp(4O{>3Y5Mi&5@*^2%KmeS}G z33)Kue{Y(pe&5 z+}I7RZ&yiIPbx|k3msxni=xIp?Um`(4cTE&FTKmZ@Hj6bbM-UsD;tBWgxy4Z?419~ zHY&s(rp@>Wz1?`o{pZ1!*Xd^ucdQ!yXhYDfD^WvAZ&FHWG6BjaC5o6-$LkF+tpgZ) z8Pd!${Vd)n)g)!H>ycMMsK{rsAC6zPy(G;akI{pqLh^)}J`E?Q(4cH|qr-ZGGu*+3 zC&g23v%yei(`c0I0lI3yNEfuuj?J08T%rn2RNVEo-qDGaRXy@eDKPNVu%bqZjz&kU z$wt%H(QrVbfg|!Ns4OCgh7zIg&hh|!)uzdc)f;Jl6Hv;aA#tf%*+S^fc4)vOgdB7d zA!d`1R$(;Sj{;O@SI-`R$tpg&lV({3ej;KDzvDM!0mqu7mA38<7O(?Kofe;*hF-T0 z0WNG;Tyg5qiAe`un5?s3Qbp}l<)6e43?OwVD*}GMxT%d3P{J<}XZirpQ`wAfQDT@? zSLrrdG=<4fOfd)k&c{4>QXm_u3fy80e&hgiWCwjT0}B6e2Qc|SZpJabe=nP3mmkc2 zF{s%)Hng^-Be{xbk)^?jd6YF8UTPulrk!q79E$e|KO~E}s4K zYeAN`3iA85ut@*J*42F!ZC zRl^0P1Sop^9Jpn$M-M{;-I>Q%T>znEd|y1KY)Fyo*+AYq!;BiultBH-k z*iW6AhF;!4n-o4ry171n(4FTzp2TYPsvXY=lSn~>r#umCJmx*{+N?&HZ`_*9uxjT zRZVgG^TMPNeE}Qt<8EjIF>;90rdV{eK^-{q;b$Dhc=?`2b97i!d%fAq1y{Y!wi!_A zJ1mw4gJ$~FF6NnNF+juNWC|wRg&=)R)iIsyEw+#nk#g$9{4?5YqjQEkQJujNj&l09~iT0-7^*&`xUL{rDp-l z@AFEn(S-+(hld1hvkgS9AlmS9AZb@xX`dXiM_{6+R@cx{UQ-7tq5hW?SOn@bilCl=ar)xl27j zAB`-Jkwseq^EU!=Nj2&;Uh6&Bm+)t`wkI04@kw6vsC+^!Tb{N>^nx!+WxsnxqaI`y z`POGArzKlP6~O}REscpDmP~$fUXB(%Tw}pHfYob*$CHYW=hu#4L;~St$w~ELk0ILR zpz*@$B+#aJ<+FlExlU>Lc^^AiZyu|^2QK-qX>K*vz8G5R6pcs|*J62Ys{GDm>tfB1 zCpH22#cNZrq(uRucV5#0edbQoqhtn#eyf7SBkkUmQ&~Rlxp@n1D>SoPO3T``rIh`%)_7b%HbeA?Xi@+$_+Ce!kA;*E1qC) z67}u)lGd2B8m0$6lD}*muA!d1N4v_M-#^JKMihFM zZxpqEFAl$~?=;{6pS3j@uikooU{HM>5TF-id?e*VGWdoIW$}?%_NGv$tp?ybMQ&D1 zi4f}ggr4EuHe4<9)=E2$Cb5^-Oi*%PxWKBPk-b%&qZ+;burDNBP;zJo9WL=1y^Fmg z;a6oM^HfdZD+Qf(M06@}OlwDtTS^+RTjL|ZW4-^(+vV6;sfHFL{#=PXIB{kp`DwC? zHZV~U5V^XBk-wfG=lkeIv1J1?oHdGwA||+qfTA2gh8f}ui9PCTGe6?L<-&r#du>O> z9GQ1&-Ua-?noh-`ODsu@4hNW;>wwm}9lv;;t@`?70G0+pVK4=WN#hL@nop|;h-BTT zA>e&2TFzjHd7bZOb^(@MtGmLIZ@sjVaNCUh<@k1(`?(3S04>9G6%aJ>fELumxSDru z*C6-03*2*#D(jA@dObb z*bm*s?qAanlU}3l0j)9oiWL;^S1E{)>G|rfoZMMidqj$trWxxTGe=dB>zCRC-??zC zC~xz0%XFa|IM2##7vb2j)o;76@$=M5ES}^Mfe(u{|7&p6jyKbUgjhkkN#-IC)0_2^>TW_@MlckPxc90aXUcX~vXLTqaenv7bI#zYX3a=Z-bD%o z>xo|StPvnc^rNX2TU#Yh^eD#0#!a6|_6^@uuqHriB5-$X}8-VdoT`8)!&~UYq2ORpoOX5u%ZGN!G zz0O=Ykx{egpSixi7kH%=a~qj_xp%vggdd^6jEmOdY$-Y;K7Vf(;2HM=h$Sk(ll-Fb z;MdP<;``3VjW2os21Xy##Qa=+{$OF8{z`xCI0!#(^IQB++XTr%4D-b1dV}IkD3YPO z_m=gsWpdyFa}ki`e66?ucI(1pE5)C3xR5wxEH=kH-4%7uk>C3rW1O+($A68pSy$Mx z*s)K~7JV0UiHiWMm?}w@)ZM(b8P~U#fS@*A+fwKp-2`7ima~p!gBc{ z-`?aTobm)LsJ{66^A3m(7DRrL&|7>%71UCjyJx(sQ#155NVNtIUVBzs)Z%!vJrg+g zES!Pu^S)OAcGY+UtqxMnX*(_GX+b6SM=lT@W`vCr>f?E`EFx!Vv3TqS<%XnKWIk}b zS!M^~pbBUvlC?j3PXQ9;z@_B=odwvrvkQ7%FQbE?x?lo{UD$6@UpRlm3GG_7KCF4^c)N(UIwyaW=atZ|v?0z>#&)wY30AEh`zKSRS_w z58`ZZ}pi9k6@~AT^0&igXFj7?OVwEk8Ze z-2*|{Wo&~5=6+hkkjZGT7i$W3=zHgsZ25y4mjTjdAn`XPEuhfx{-rgF}5;oX$2f85V{h*|SffDDjd zZGEJG%97$DW{BphCq`O5ccJfn-CoD1@d1k)Y-sk8pN-x$x+@f32z`*a)zLH-XIgP% z$q*0qBV}BJEUPyu?s}@85fU+1?@0!}uVN2W>L0D$vv=iaR^V}EH3d|o$D(I(+?v`kh zLT5bKO^^37V(tM0$WM{m=2nRjxQZho7cB6Vq-zLcg&dmo7xkAKq z4IouXlXgCuw-IrfIWl}FqUFF*1f|anS$-Q*EEQ>R62!7j3X+!{RxFKLYPom83t`iO4sSj*f!R%YP3-YXm^3w#f3FL49q zaPD6nr#bH>*NS-U&U<;W(o6=Rj|b(sTX)e?VmCB!`RU-*(;9a0=g8`DpevUa}^oBUX z5RGn6%xdE_0ab`$(&@zynQ*{Vfdh0(?Jty1Mi0V_%o&{c5A`{W1mZo%Ict^^1&g^` zA&|5t(^O(v!^b~*8psejxS$3UNw>3yIQ5Kp<2Jd_a9=H}dJ0W6?|nPQvK}1@4_bss z;+M@JMFT@uAvQ7g>xqg0mZUor$b8vC#Rhn}pFY9Q6L-L+?8to}uC3^7P1c9D{L0M( z_(I_^$mDIRuCQ7_FV~!&4bUq2ezWDmP9+wnJiQ-~A(V)bX4`wn^;XLa$7^-X?nM0F z$oIgjaIDm}--j4){OemE@SQW;Wcu}PpZ325ojNwg0H%Gr;405cWyo-Ba!*YPYoS^9 z!aZ+v`+J}^tbOw&20Z+FZi830m25CO*^w;x%m+;hj`IU1r@bf)F9%pgV&O z2kbvES7u32sd$$AY?QJrOIptsbqQeM_$U<^KX>Ce=17GLu=VWV16PTrdBG6R@&QoV zt#ZS$FmR=yq5RIq4K?nEQ{_iipyOh7@Wlr?u4>@Yf0rs)EPfX{<+~WWv5*ywpU2@) zT?$0yAjl9{@3~y|R+p!*4;mCYo`Py%!hF6I;?2t9d3AspA5RlcG^2Z}Rh#~jVOuk3JFAIGo z6!lE5NT>r{6J7WItrK+?z@Xjbj|p(k54ZVFmS5&p((^YZxq@C_IKr;?czSM3RM(vu z{5_$71HTE2pIT$=ZSBMN{I9oO!KrXG)YfkEe%R^e;DIvVcFu=gnm#uP+_u_y^$8O| z@bmuO3kQG6oSCc%hwJo!#A(7de8at9PS>^_$sNaEep41d94;0Mx!x6@_K#LE%FiX` zJaad8X2P=IHbql^UsA~1xhJz2#Dc6o0~P-tWe)r~k@?2{TnP-5lEZdA0Z2uYcrK|SJ zi#%XY&;ep7&rmyum-d0wAerUS(X8S8GabXNF_WeiFE!RbZ|SXY@w1?sa}=+{qJ8cj z^NZIm@$%P_Ysl;i10LLQhuLP)0>E@Uw^WmeTsSB-{|3zCC@L?>DJqF{B3=Oq zls?YT-?S7Qq+h8PhU5*OKy3kNV_&^Ub_SCj3E$gACIx+Ht*Qpr95xEd2 zG1Bh+K@_vxEnZyEjG(-2q^6R}bV4{|tLP+&H*i!^a>hptE{4YnLz&ICHUy#>JHpV7 z6cAK}^ub_55r#ZyG1q#dSKa!o`^lws>Fl5~zGaf(=V_*Ch=S>b=GuLXz^w@ZIG|N< zLe{%R5hR?U1H=^0ju@ct?%)k6no03q`b)~FssNILn?4VH3ch|#EWPDp96q!<~ zvNI&f!2tWTV9i6c`=mR=R;r9HogqF9IkAU}Bpe&xu2BFAeynSKQKg8gJE-;0jivz) z3!OKrH805NL9{c>&&iY(K_%?3rUh$_f!((aEv}%CL~-7yg1F@87u5p!t+zPaX)r%E zo1t&2fZBfA<5?~Zh_{F-fVjz42)@{OQ)3a+SEsve)pd0I+X^&w*kvrG3NBkI;0t0% zr;~)_d2W}p`9=$5D?^f4*(DzIt<_@NI%hP89c0v+eYLj|=Qo?wAOal?1`7*1FZn%> zx@d8SHDc(#rU1MFljI0mx(Rm_H(-05Jb7nm#lS~ZFlCgXAdUbD%*N^~})k`*=1DIjstms50a-}A81yJpv^u%R{fHXEKm z0s{o~6K^PFDMeh;WYo5w=kPly)%tWZn}`!1iZ_ zllA#`jWyHN!T_{AzJxG%_(iS3?CIFHk{~Ow3~R4m&00dL+Pz2K4_CbcC-!m{Q|V1i zVkTmC*gPwS2F&J(apV?#>bFhsQxvW2+keT682_PDas15&60c<}t}_WQ=9k7dbSxil zP~xuCU8u!JZAzbv-7g=^XS>ezq`CWpEg#?VBN0bPfp4{+Sqp)KKKz?U%t$s4vk=QZrsHiqwkj z_MPByq%(rMvBHCr0p4U0_;b!j4wJK<`b-1e_jcH*9O_@Yf=Yg1vWG6N%OxFPy}IeP zt}ksM{JyVr`U87gP#GoyI`L4o8D+vBvMDdiI!pi?r=c)bL#>NaF&Z6QlBt8U`i65& z%r7oDV@F&BlIy~Jz;sROZRvxZxIaIDtM+q_VpoJyFmPW==0hnrflQ^R2o zwcMvvm-&Q0sOzn8(&>Qr8NQS%9G0OC6bNkZL17+qDyTAMzgcfWIvYil>Yso`Jn;mK zW?kQGWR`CvvekH()v;xsen~}Mui6H$Pkxt6sJa%QpSJRuI_mwExE_6Q)5@7H7NHnE ztyHyFW4Ik#7joMi^l`#V3U-RcMnEm2X(DAkg+1D;0|evB=W7@7O02u-QTHe9ew{!n zg)2?g6uFINYzkdPJiM>Dn{)%EGFuOow@pUTX(EJCg_D5>H8Q5uPd+PnznAe+T84&M zdB4g4{8_2g8J}wkHMCGSVI*G6{M^VPUt zCR+X5ujgy6xxLD7nWGG@tG+Vm&j#uGLgiJRv7gOM4jp%3`wm zH^g+p6PEr!SR-aL)hRliqv~31;v79gP>(A${BqSU#%F996D5v~=0i(&WDal%&OKZX zZ7=nN5jpBz5*@#A&EDXEu0NB9&=ls5xAiYatJXy{j-Q%KU@{nXkfUvuStDJue~)0b zw^l06euD!_`?R?Oc%u6CLryZaf`?>^l^P}|OjL;0%SBJ)NfYPT^>?spz8{a5gM3x4J$Yz;?R-06wIGM>X@vBT`_2tFPJo>CtnA<47bRWEbbU;)peRRMTyZTDa zTxUa5ex@=5%XCnm*_DaE*KkOVF!oFEMNuqUQ5uOnN&r>nKC?gb>Bp!Ah0EVfP+WWF z%H}*w(MO$0eo-%+JG2Vkrz;n#qvr!V6UIguof5i&#B0L*ob+5COMJ}TYu&1euQ!#5 z^DtF`3-E9g$;Qe?2nT2ZDTjO0sY&H^SU>#u7KH_&tD~!{bdRgP<>*_6)KQpr)~eUi zVC|k><_Q;iUY){Th0nrYtWC-4yT1(BgfgFXDDRSY<}ei|GN4 z3$B7I@en8Qe)fB-+H$I(BEb~V$l9KGk7a3kBjIAmeIZsvfxQp~&F_eq1rFXuYo50c+*^M9@Tbr)g{6L>N77Vd)Ryk+s+6|Z(U^w?+289tl~#M{ zbG*fQ;0PT#d-nK~c&MzidB&mQxbs>YCd;37_8V&lVSuJxv${tZIYR$JhmNb9%i@cT zg956gp?5i&P)GuNCw)>ipYWs7LaE$Y?P1oB&5{fc!i9*31M9K#7pCGl)q!0-u7Ovm#eW^&&%)pT3i&jFBKgy`_rWKwLnB>63)fm&MLwU=n1%+ZP6_27+ zbE6qHSz)B!XhZD>{kikG=9w>bwvKAp3B-^I@V5NZ`}&3 z;{lX%Rw^rHeE|lH$8z>2j$0kez{8`rpt2@8DW1E0s+>e0Dc-GWX59sH8`RKz@s$~F zzg7+ccDUFNxXeh&5Sapk;$C4u1A!i-_BLp%&=Q6qAKA}27T*5qU15HzG~1eDA&j$j zGk)XaSQ^$0K zq8aT0PTzb6qfI}+3Dx2+V&qKPk%O%>L*1mx;qIVVfwdgKfn2I%rSLp-l9pe*0>!p0knAd9&Bg4070x;Z~9 zoZkcVjr`$O_3)sK1A~6sLV9DrqCJOTXuq+p*>^p5!bYwbB^qJ=JC6nJ3gk08yDw%+ zZuV+;JB`_GT~#Z-s7ZVZs7{nmoTI7LhK3fd?_F7hctnp^P>DR_(y-urzv-aN0C&W^`kQ9Z zC&+Vjzo7t)!@*Cvz=ZCqI2PK-+E4jYhPaC@zTv?>|mDIYhTK-0>Gkc6rRkG6AzTBM+^2^z$)llL$|iD1Rzi z)K+|;Q@-xECY6Atw!pU#JiRIHFJ}Ck>Nn5C7lW7cl|$-9vy^I-oen*Z0bl;l&FT)t zP}%6X1az&ZEtdjCSIUZYv~)-7z;W`#C2#cWs4w z!U<$pyT;zs>Y0?%qWH!77icS;8(YXJx+k1+ds`ti@CYi~8c@~rF|FK5k^ipPSJZCD zt&{lBTB)NW8!OO0S)uvKAT#{;Eq!7n7u_i~@Oah2v2L({r0B426eG&kT)VYp?IkZMy{KgLl(Z=}9ZZ%N%EnyyApA$iQ<$up?f9X%Mw<1@K5~7~ zsb;$z#CN7PX|cJD(Z?Diw%;YR$?z@WCd+on+MKh7fkYd_h_C?^sg9>vix`^Iv9iyl zT?l9@IOX|M&K**021n$9KzClmRtu93XFI+(Elj#jZNgSWUBh2sa-{haG6 zgnQX18!Mv8^NipKv9oO#ZzoEdDmi(d8_4NmTCt`3YYHxJTMngvhUnkipUB%zR`Kif zx*?$es$bIL0oX;^0zX>6t_~+J(mU5Oc-o}X1w$>H9&!+Xtc5~ITT_?8*76hV{aOH`~GLBkl?5E#eiN)Jj zXZ|i*I5UFRjr!X{Wg}asJ@u;`bS$PtdAbH-z*RQ3gx9<75ln`CWXZ0pP!z`FyPOA? zh&t=?^Oi&)i80%_z&+*l(6z~Ml3$9QX;<_O6gSvyB0h(G@SdF4JN~lc>-7^iD^129 zu559`%@s{&FrzmzQTNVgUen;xZnYeir2@3Dr;OnJbp3}1cATl%m(ImCy8|wP2WP!v z%BB7BB71ZPGs5!DU!_E^y$3k9#W!LEU+FT!5Y&DP${cw8ySjp3S}Ic&O|C044@ogYd$X?fMULVeSGwgV?V7)1gxH6P9Z|$OhH=1cg$Jyg3gwQ zUk6!BvlB97dUsln6%a!%Pmy)sng1PqtYmNLcjD|?yzX3l(kik8jf%fI*nO-KsJj>y zcIb_`-i!96z^eZ`Z#&Qalmt-FP?^$7Bb zZH_G)gFD4@GH0BP(?Xs)f0@Pth%{rj!TS<2gVhzqfEDZw%##dpiea#Ox7ho! z>9vNp@JtqY!^+$6QVs`2$jpGs;+D5Q-Mb_5poB}!eW4}_|J$CpdONsg=9I6_y>jtQ zBDPp`>2x~PpJU4E#}q@)+Ms7u=Ui<>M(guXpSYPkD9*Ldk zKqB`#O?<^sKUad^jJ%G+Buw8UN#CicX>J*!&lv4Xy$08LTIeH%2Ie!w?vQ=XR;gv<7KNFe~ak&LPW`4Q!_I=LDHPBjKU z>jYEMqrBFgu~qyZr{5R%zWK36_W&)uo=%^C$n-yHDNyQcO%-9<4-p+CYzyRg_Nv*@ z1t5%Lfs4(?h;~f!d{?G?c}zR>dY`GNM8G*C(TizB>q6kwa)bfUGUeQHoW>;#<|nq7 zB163LW)h1&rEzX2fS>{gwuM@jEbkn9wiF=Z4LL}*q|J?CPxb%%VurS&FuYBhAd$NF^Rszt2_UHZGnTF1C*p%Blh z8xZCuWF8Z%--XYDqir-ZdbA!Mn6M@6gC327%Bt19@)Ddl=?qMJIp(G9m;G~~t%K)Q z=pz}$RrFEJ%cvEv8o+;cV4GqgYCjK!HO7qXv{X7pyaVxA$v` zzF=J05*quZoQ>{$;bUI9Gap)KMMH+zKf@J@!U(R!OK)e3!6LVWEGqqtmD-D-d2AMrJ~^JOy{oJ=y&Tw@ zRt`NSTyHsuIe$2=T*M2zeiJ(~yr2}`(f@j{bSmtQP>zp6 zgHbmY(T*G7oe?J4N<1O`87E$CzG1n787tryFYA1!SQ#nVX7ZbrW|M*{{@$Ox_*Bju zk6c`m!ikpk!H6`N%v2WGwN=s$9Vr;bv@f2S9B!Ej>8|RxF6JsQvRC#s+PVp>WrOs?2>1N*>dpq5+U<{(zfyCL@uucR*G2+DF z8v?^FNN&*gYc@x?veB&as{Z!%?>;6V`K>kV454BAG0o$k7D601z2#fD!>v-U6n{btb0FPu%f6*6g-yc>YIPeTSnG*tw+D$-#2h&*%Oav;lN$bv^>#odEICnwtu z)U?!ApMCDv%>jK`UBh&cgJ%gBk9?}rlrAlNSJqF-ByQ( zIpln`BtX!9OvfNKf;F<@&$=lc-!l-eP^q)c^i+MNqc!GhrR${U0~!c3aEbC*ZukTB zrqqJbxR*DOH1eiMK#`5m&#iE$A-N~H@s}WJCI~7;AZ+hZ^PMC(VbPGIr)1xQ2v42K z7PbagwwIdWl)`x-(g;rP4i16fj$W9(7D+VYG`fO@<>B4K26tASk&kN^x3YHeiYG~5 zqlkWd33&EKkX8D(`=w)j?w_;=f-+N2>;xt|oKYJ<>FN0*JwL9Z{}v9CyZ`EU0c1U{ zeo-IBi~NciymAaeCpJ%93axp;g=R}UD>v0=X)ow+hrDybCX@;TV)q{bf$gbSDL7EB zHEm;AT(clM_}=EspueJSpfo`BNc&EkOm5juPNh81ScQT%umM7OM)FFx=gSh^h10j@ zc?{}MhkZO3i9_iDC}BY-65ka*8stV9wWZ=kO1K8=uJ2yKbLOMB^ePiwc6z;jymbq( zx@4spKEb5luWNAb;tD?t@{~UDgs%O=$8EFLa_#{=if&O3UrVRF@;*_E2`~# zWf-0V(Do)TYCsWpR3*VJDSoMePdvS7-JVl` znoN!@8xLdN0NbgLeCOBsAn_f8k>gj@LJ~?Bs#!XbgW_F2mSonDdoyh-cH>SC2OWKB zrHLv|WxK_8GDl?T1!XSF^HmG6EqJ!$Hh7vdxLQjUh^6Dpql{C^HW1u1;3kas8N zk+;3w$y2=r?bQ{LiveTyRXru}{|NI34EO^{1Yj$FugOok_(t4df5HUraSvuq%ty74 zHQ$wDRC}MEwSHcaLJPZ(1@Hq;m<)pten@f;pqKdbicm!eloQ5Xlo*c`8Z-T8cK)M+ z+~b-k+wc!3Y#v*jTeE~@nP?#i6Ml!!Vn18trj)lTkLKk9*(#0|B_6 zQ|68u=hiGC3~2a;K>)f=NCo@R4|-VhB?4$;<<0BaHxbcz*^7u=f{fGK>g?Jj;>3G8 zR_~6sx1Ue|e%ml*7c2lH@3|T&7yKn-6j{T{$Z4r8n$NBIS@PL>{uSCdnX_w`h{y#9 z0l2CCB=-RR`Y8CmCTqSKBY+%P*2yN;t@*zn*I}5-lM$443PEvL)`wS5`TL7Ih-|k-iS)9<Ny=S{!bKg$?%bBMSlLb|_~Q zrnbydjuzSGe?*~;o7(G+S_Tq%6Eqx7VgdN)(%{J2NS-H-y^&+{9fZ1;QY1NB8B0hb zxsd{Xm$u5nP3?6@EuCRtfeRZ6z&}X`#(N8hS2h#xyJPH?8NClMYjjs@!>b;%{Y+bC#sPSM7j;1NK^TV!z-so6(GJGp zfAreH(nisueMP@nZ_iobZ(8xnH~fB*oSGV;L3`~SNhBd#vL#{(xb z9-iV}T0N(?)7iBH062u&Vl?_QJP|)pQp&4kW99v#9`zm(SF@j5MgW$1KQweh8=YT6 z0Dukf{wb4|os!+v>>9yaZNDbAwP|kWDFAQbo|*zcN^Y8PTReq8D;nW(+}Qifn)gV4 zCkjA`sPJxo&pdD9#`e0e#sH9t8z8xHV#WUyT6(5)vIHl0>4Sk3yx_ zt%w}15>qoGfY9dFHoLRd007Bo9n+02P!eIF5owz8XvAFYcse37>5-*K1AC9o$@k6yM;V`e*@ z*nV%$uVI0RK@D&lnf!isS-izTM1CvMw(^`U0KFopUc!Fl{zR+YOk;FMB5w!Cz?rq` zaEbt2?U>ldeg;;xLxf-(xtHmg*J=Uy&LctqM&}hF0HroPh#nU!#@*^U?=-G!$?QA# zU2J0?`&o9!tHfWF0369X+fj66zB8g}o<5EM+|y>M45x5TO@w$4t_%(da2sBNDGSz! z*=U+~+IM?;&2yUcr84ZmyN;zk)#l-8{{&8~(@L&uO|N4C0GLlrr0h;j0BY){6|1gJJ9iWStR-sx7+FZH;%~-LZppR>5&d9^YDRzn+zSNYM(o^C0B|NF zi-;z2=(Sj_Ui3~BfKhF_y02~^^45!Ja+M~KjExTf;2{9Lug%Qt`vG?rfZusT45f!} zde>$mS7`#t*!Tbdvjm_Q+6PXukuhR}0Nj`Ntra`9_dX>ZWT#F6fV)_IU!BFalvD}c>sW& zSh=Y!9eGKQz%qzdX#{Yl{S55__i>!ZA@~3w8y@pgOKe38h?>pPdv;cft&(l6kOuJJ z7!TWR5&{5_usYKB{cq2FSFu`L)$ET%RROFV<5dh00N4f1lc+P3Q2+n{0GILq0mjEh#WR6<4FCWD07*qoM6N<$f-KpYbN~PV literal 0 HcmV?d00001 diff --git a/doc/img/patches_found.png b/doc/img/patches_found.png new file mode 100644 index 0000000000000000000000000000000000000000..379f2c0acb7f6e672f4d734bddd6456f75a71e80 GIT binary patch literal 27445 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 literal 0 HcmV?d00001 diff --git a/doc/img/remaining-patch-labels.png b/doc/img/remaining-patch-labels.png new file mode 100644 index 0000000000000000000000000000000000000000..51660cbbfc7f7885984a42de3433b3802adcea8a GIT binary patch literal 18149 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 kYKZ|_VSRS~)EymCzaR4?TiSYVW;?J!)?;W7H^# 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 Zd$s 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�S# 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 z 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

RN00w=*T^7&_ zf6S|uXnMGM`m^dO5ckvOO91eL*2|waUIcm}p3Mbo#hPF$sl;oL9&qs@A*qJ!8}6Cyg`$V)-WeB5;I-!NbaN#yMXE zuSkp`!~H|-m?Mn_6t8s>by^T5p;yqCU?~Eyv%L61w)Bn$({Y*MmPtQMn`K9uW zE2Gygj*JaloxQ2D8PORPqx21YD5b@8b9H%fbA!fma8KdK%-OqIP5f48)@9?1OA3=2 zKU(e{1u`+YNi%xmQr~F*#p_p=x3_SQa}0SbUqJU79(rqA1%Qd5whGz-(EalDE9VD# z`z{UNn4bZ>DafDW71vjQ#qo0^vSlN_&!!g|8&(n9maQdIi^uGzzYoTT%)NF-Y?MMe3G*twCqNG-0_rJ5YQXQR$zxL z0pGS(wzxVqHGg?};p+7Ijj6TkH)qGD=Wom`P0X#{Tv-`kUcRxqcx7ebvV88GakH_|n&GK;^Q)gWuRss#?>uUp{bKhgPxfB>a_=HAq7PWLE}Ie*?d1l@y;Ztf30 zm*8;^aeii&MAq^VDz4CY1^T>x=3ecsd-c~pt^Vwj(o4|6j2r+kFpQmrD4H7jxNw*q zFwxf?i(3OhfY9u)87)S&PQA6gx~W`I8`h0Bg~O@_cU=yx*Jbc~4FK@((wEX=q#_6D z8!kknWh!k15qb+0(wxY~Y2q`H@P{K}*cq1B=kQrUU#Hh9QZ~9gpiDB66jQCNGcx)XT5Ibshp`zf764$5Sz!9I&^ z$C93S$`_BJ?c+~`b_bM2i_A_DO(dFZJko+!G2_dP_>brdTU@9}uVO|5yG?vozC`CrBV_2r_+n)$E@_ zUtw^u(GiPrsr`arBFRVA+drZ&PMA)9AH6)EDh?&lx63&mPd-TBE_%Dd3&qQcUd&@= zFdoHU>G;ys-d`()e=>Uc{9*m6MzZj!U@+(l^d`}7*bm7*NMC$?z%2o|P6g^IoS4c^ z(5QeX`pKDd|L8#D{x1~f@9E%TgrA8^s20_hAf_+bVsigI}(@!kV4qqD?xjs6vJZ}kjBCydShTIVhEv>DCz7CH!k;&qjM6s-MIWFCt1bWZ) zpT9P96Sf;ab=);LAk!DyR;OoiRkkEoIU{jilanr$40ij?g{7s9El(&K&E!B|Tt*n# z@!842p>tjOo*h0nw=wTZIBXHiqHOZ=ct3?e55FiI|XC3E~k`igkzCg|%gS4luGrHQ5>YM__t3+}oLO{T9e zT>^SlRekfH+*@yE zY@@dlXMa^1{H*-O{o0vF?NQwQn$xN-6zeSu!+S)0V! zucTSz1N0T>eF5|(0RIW}W!5r%C5b0FmWtz|fnJCMn>m;nzL@|lGEM%7zLcd|nAcBA z;483A^aXkW;LjUxfWDuWUp`1*?D>%ZFo#v|=ZHS`Nl~iCFX$Wa*gOuS)1s$B`U;(H zL!()t=iB>NNIJOY(BdybHgi zrhrfHb?H1#jmM2nrPl3GJMCss+raHMKmork9Ck%RVJH|*Mq`;oEC&I=sbnshFVkpq zxdEgRVhiPXK`hh}87I&s7ouv_u(>e1!DPuB$@-(2U@Qv+;#KI^qi-H9=4ljBFqMi| zQ?7YRzs{r6*az(e`)P^6r6QOe%I9gkx=?v%nlnn!d2`+cq)!iM4#-b05Y_q#%Jo9uc3-G25VVaq^ z2f52E$7>;iABm!wxTC;~9GzuURP7puX%Hj?>6Gq4x0`CSaCl|Ca%f$XO-OFwhud~M1gZX))DzTPJ~el|Od zQm0?sF|XS~!M0{9W7%lWD1xb(ZK|y<40D~B&^Sn{l{+q*UYK|Yg(V#;&qN(dr~GtV z7>4J!Gt{WZo5QX&D{kxB7Nt=6h*?VFk3QpNakb-jR7P;8DztnJ-idPrvX=Z3qshx7 z{(f7McaE=j*}%z?7qR1>Zkt|Q#oNur#p3H1hZ<=N4UUN6KuRKe)Zj(WZ(k|a=7aTP zSKS-Tu6^v++6B0|XFqcbi||x5E;8*DYbgD|S=>qb0!)>Q8kVUKY11&Ew&Z@VTUX3O z^Fkcn4@(8&!6M#*sbxi1Zchd!+_EJb*q++EwLH5aJO?rFoiA-ZX)-KFc~GXO=a#U6a-H+Oct80+p%S6%NGB1D};8`YSprH7c3jb6b!1KiIOR zC~GwvdF(mku~24vU;3Z<$v9*^_@{y?b1yezEn~TZ+CkA{6?l}yrrB_pZ|$2EBO?ps zA0J&>9p7=I(Y`QggnG6wX)oVsc|0XHqEdl0sQYbD{t4qYrYT*GMsVcS)_bbKV z-k5HThj-@!{-pr`SU-uSI9H<+i~iFqt&P2$S6fBoZ}Cr!bD!7z;`bQ)Z`Ky05AS^3 zx}+6;0V{h>^Xj7z?)ie!w>Vi(3EGzt!P1KBj}3&fb2Ih5%`eoi*8mZH@7S_mBKtif zdRj<+KRTUJcwY;@pXTv{lqQ7mpn<;vhzx&40b2u9X0G&-pCV?p>2i6U2#U;b-|vL5 zrjt2MXulL z#2rTJ7y2@k2nS$;YkaZbis<+rZ=~Ud9CL9-G_3vzsAJMbbjp&zVMQk6dB3Si$PC>N zsJRAmwW6RI!p8uJ=`A0_Kv{UF=eleW+`-m%9d!xoK_ton75Kxgv?s2I17q@HDEpgn zbVV*b?wolFG{Gm@vq26plh?w_QiVZa1fi2KaPT5LC|s=-K!f&AT#OsSu7>JFK~7DL zP1=ixzsChd*TFyzCo!x|#W;>1%Ylnw;qdC(EMJVXMlnh3hs*%Q&jFH24)9lMfH(s; zCUYRGp1Tll%Y5H5r^#4&XY|(?k9%roHwD&x8??~>j1ma}KxaH^;crbXQBD!U z)DKw5k$}|2DZ0No%mQ+3v-u)=6mLp}UxIoTp3<-;5`r2q`qm%$cByl3b|%Q6M&R)}*PlnEv%5alZ!g3R|c- z*I?FJHeoLQM;c&MG5pi`-5sG+@;lEzB*GN8eH$#%1LRZ=tim0wXizLH0O{*)m^+2S zrF&$WRGRDSWZ3qprM9|oJ{K&iA6t?4ND4o&Av9@x(8kSMQvyMuxzBA3SaYor%j|bX z1}nGty4btDn}GL_;m_`$%DALmgB_jJubAbK5@c?O|BHXi%BaPkPm2V*HS+Yi+9QIH zhBdnuRg|=pC9`J^UIQ(x+4SAm=6(~SHr_Qp-^0_+T)vIC_1249$ihXOGoGK}x2ACi zyY7F$;d*5i$zo}-c{bWM1 zo?i+0Uf_U?_kc~k4u)Wu(F^f^h3qPhvx!4-gx0tKod5!$D%H8>i~;Sx&NUDqiCN5y zPAu$SJS^#dIBZ!=7X@*1DF7q73B?$>gG@@}j5aLTgwib+SbGl$u|!14MO~r8oisup z$%7IhEz1uI+4GZrQ-|A{Eym{%T6W0eDHhvWA;OQSzw5w5$g&qPto53NZv5aWf%a(M z#g`yP0I`FL9T3^O6V?ES*gh4C0+8-k;kp=roAmwT!?&6<;0ix~BdtbMm-C&l8)+L1 z%qx*hD7-4OOkr^;eQ!-B=D!F_M(h5R2x_B@??wuHA6(H-y_isq`~RUM zpjiFVHv5?~VIsI4MgPHr)f!uBD!4uv;nuSc7jr4k-g2696p7|gly>h5nRP7(b8CfM zx@m5wW|Ni-zG|7Kw_H*RHD+1fJOHecAc=#5+MpE1gsSZ=rq?u}}WLINep-#Ld)&OcPAI5x9>Zyt8J z7CNg6$jgY%>qeA`@39V-Q~<ZG_FFNDd_=3`ym!T`MOo=> zf}GBKPr>s5$#}S-?Cf{{k?Kmy!8xg~oykFQ2QXTloW#ObVg=b4va3^7m#+-G0XaAv zeA1E`+Eqc>PDLu1BHklRrYA@;vx({L=WCZ*%N#&6$yu0#urv*`dDg=((8V{gRWOcQg$-jHI0AHBh} zV{t+UOKJ{3YN?K&p!X}YHxDH>EyHDXc-qx9{6d0!Jp4X&{`NK|entLY-A(-5J-v^% zX8R7HJ9H;qjofuDoS1e)1BqAG4W?=>Zhs3~3F^j^gJwJ;^t;NHd}q^Me2ZUaZi8hq zf%YzVceF!7#p6vSWac)v%00%{?YQ4kgZEWR7MT9hY!xCqb*<#~26N+$$rZrQk{rr) z?CUDv_Pd1hNZ|~+f7-G^Pe_v}?Gv@8xnyQH*I~F6iIXHZ{_bdll?KHxDX$h=7T;iZ z?ee|UfI*H7u3a^xUU!Qu3Za;W?zQv^zwh=h!QVdzkxI6n5_ zDeTgWBi_k9l1-Berx8_=_1lm!P1CA$pQ*45x^hHo@&jn;}pC^zP8mS6F=t&xcPf*$Uu>4Hbt`Q|I>>Q!ko{cghC+M>&{1L z;r9f`ZfZvoxED1=M3(`UKMKZFNd#BuQ+aF8@^4vYYzN^tqirN&vAnI~nUatTS5+Tfz|Lr{#^`YV5ZwwmUbe01|!Dy9F*h?1RyU zaKLY{TEeqDrqw3(t*NBkqHw(2eJKjQiRVNDG)#J%S8|7X+WC8x(j8{1!H8ox;mF*7 z?1~)`J_;RAW_kvZa1yC* zE3FOr?qXe`9JT!I=7Bt?9JK@Ci$0EI$P+s@{^U*Qb}awdfDVCCk_mP(2HmxnH+_5$ zN)@Lm?Y3F-Us(ovSaGZ`T>=xbdW)(crGj}6*LTtP&9N*1qqLf>R$)NuJ)ItzW28Rj z9y`XkB(32adIisd-QL5uaKyg`dcW|mBekBYl8xgTmLcebDM&i0nAgw0*FlOMFXeSy zFrhzI%1g(+fr(Q%;AE3u!2tW*MuFbY7iN*o7#Zh`)nsWW(M^({6{0i(n4w zQ~5QFoYI9LY%_P3kA0LVNNDbMrWJ61btHeV#im1bd6MTtI}bj^A3iJQdbWPOb5u1s`jj<8oR7hoB?WIQ%(uP|G@H7{ z;XW{ylSmf$N4Ug`G#m&zo(J;XyIjs~a1C11nrzs(jhNBefTWk$7^hZ(7p5pyjFF;q zyQpPB((gSLv$}#kLumz^ec8R&LsnlmqM85@rRVP4>!Qh{UMcT~o7BEosmYK>f?#F(cgBr+Lwhr?fL_9tHP_$LDOEfAYJuOLI(QK+s5wtfPa;>R zP<)2?A#dJVKO?i1A0h5S_-U_qAkM%NgBI5mg5QLj@=2fxt)!f{l@i0t6?W=3 zztiiw4hgP%KF??Ylp-!U=ObeYi(jupe%NHfrsotaA169oHctRf`NASTbgXjBn4%3f z;U(-vF(xuIKmS=Uf_{nsed8Tb)~e3G7PiU&z|y)sk{H<2Q#U_QWerVJrIvD$yFt;z zbzma>ga2&~VQjcam#d+MTi~+~cyI6K@NoFyK`K?zoEt_hXAr@{mlY!}vF+l2P<4V- z+BQ7GhW3e6l>5t{L1+9dr~RdF1F^54|Aq{~Q#X_T;r@U%AD2bANS8XZDZY}7^{{2H zJ=9pCuV>KK+3F7V+nnCnxwz-w5ESO(5d^y+ZABgPfyCoy2nQW*W0bOj==Whogs7HU z()<5Fppk*x!d-<(h5Xu^)QXA+yN5XWnsP0Wy~E`3ubIwn3)YSV=JJNLZK2cjE}QI7 z5r@nWiiVg-U89IUFq{3^_&ukI#!J_I4rH5CNIBcsnReT>9)0xRyc%0Qu%tIDN>U3m zqS9qViLvVSM?%W)nLjCj+^fB(TTS#=I9e8pSQ?>yLxE>)cRpa2AL$YQ~Q&9l{cV)0pEz7GGr$yzsbBW z_lcY7aiD3Gf&lw zD#e)!uM19bwCVaA3E~mjHv@-g2gfS+2=8L}HXOZAu$nNT4PKa{Rg1YmsY!$ckzxMW zkpo;qNby(1pY<)Y0B*^Xogu{kdYakK^-rCypNJgd=yXm!M<@6FFPRB6L|BN6IX&>S zDe)#9izqanI3l0ma(X(}DILCBvvej@8eWAn;34*qR6Y?9ht4O<2X7@zvn0ui!EvN& zM60b8gTmhe$Fq6>fq{kW>9Yk?oK9RHPnD0{H@1D+v6=?$uNP1KLTPq_gg2>nupe?& zyD6bQA8G>qQSfST;0#!&6NEe8g$-K6qu^k@?l>Ghg#7vY7aGjCR;q~#ChmAJM8J=s zy*^-U(}zRh-?>pHt4F5#vfW8(MoXJZXbR&DsEG;SCja?vXg|b{G=}1}26}pi9Vi%% zLKg-2oj!&=7tatb(_e<6_}5#mTCBHi zy;t&BSs>&I4&4%Gd$2qs8r-=nFb=B>=f)GucJ;3hIAHliGm+XA+^0+m-9@wUvv}3? znWy&$dXp9}RjQ4k%iSv;OXyXLQzF*Wdz#^dsXT4#L=(lz45eh3RQWa1@OJ-)t5^4X zM_{76+n?*ri3;#eP-1K?z;MU7K5ePUy~KK zr+&t9T5t0xe^s7t9W5nZraMPv5fCIXHq!i7EdO3{V@!esp2W;R_Fg|bC(q1)lU#+* zp7@@TmPtZHazK94=Dc0HW-p#z)NmlRyYZC>z|tXjYwtSy@P|$EbToQ{{p@FQI3LJJ z;$cU9bDbCtw|54THjNnSU0%_&o@b~EXtWqJ>dV#Rf7JoNEXo7ImH zz5ar*2~#(To9FQO*IGb0claDSaKWHx{IOtNE_w6u_=L{$WL$mNt3)wZ5|~ur;@^a% zb{c&7EQv8r2OB6e2cW@^Jx!YZf$3$S0e|f#kju{u^3e`svl7%IQqNajV_bS zYPRw-j2Zf<+W0nL8mQlii@=H^mQY_PVD6cfmOUvP@hLFS!~Zk<11Cqht!l z1-4GoEab%=uS}J*YE39PamPr^cWsfMV zo3n1TvPsufi^eaSK6{+Rd8wD(r|%TA?b8Pa1E$0T!r)hNx%&zU`tJ=aF%UlFM-0*cKR@G#qw8vhJx%UPs~_*9mwXdq5eX)bYEw@vDpm_T(trfc zIOd5UD?#L(I2~n%MdET%jR1FU7)=`56ej~2Z#@2}FOxZH1v2i(cdRR^0D?vE{m3*D zn9~WIa?nLs$RIQ%TCXKTZ$~046!;oJ;?Vd`6%2d>5FIN2*#_gd%*NNmY zPjxS}_o39ooJ{H)Qx0hJNQ4a9)`X?xIC(nBd-PMTdFBNr>jqQAy>n=br|$Bgt=ugF z_U!&cp5-SCpYAQ_vaCq5(1w$joQQG2ZqNLYb1NBd%rZ&jh6@tLgJ+{2^DN6-ly+pR zgfd<^;Fjy!bN#q>FercCn6p!n*=K~xCi0Wu^S=V_sFf87wSu_`Gk3_Lq97ye})ctF^lsJQk z-{){_ndWoo8dv*o`>`n z_oW6iY9yTlXJvf~P_?>nZ+@OJw=Se^rNS7gF$glJ=nH#E~TZPlN@Z3h*E2inHxIK1whZ0tPE0Vp!a z$;f^AcYAL;ZwqTvcQ5C!PUw1unM*4f%fHzwE5|A-mF>SPZX0Tp3Iy5r?(2>h5{?7| zPyM#%=gPj$$0ssvmJ}!Lz&!@KJy9cbny;cK!!#-Vha5o*(kGZU$i05N3oMEp_lhL?iyS6sUi8B zDK+CxYS|G2dPYG|rmXK!--VNh9I;$AO5Q?d7+l5AWyCzo3x*GRCoIt}#v1k;Cvjcu z+4t43-YVO{0`wq&wROg^oXMV(Jo5G)Q7dNjpq@CBpe)peA)t*F!iRH>>rF!;UiHU5 zvMSzEdJ*2mPH2K_!U$c-Qo0X?E1>3slR`642u7&c2niItn8BJxvX-7Xx!io=*0b|2 z`(is?QsF&xQr&ZnAg;yYjcOAmZ~xD(wcLj2&T1tyK!~ltNe7PTA8*{yrMv-I_Mc%2 zzI2*2>1{yp7e<;g17uLdlttLzk7y#cASl1-j3;;~z_SYW+Cz~Epk_+3UXVMoQI(KD zT*ck4!NvmmufW2{%AH&D!yB22`Jc$JxKg;UpS1CSd96@n8&=bAzBFzhgagNopydqd zp`+QwRTK!}7S9Y;)y%HPwon1|D>e7T=@r61g7~RF^CXxWdCc!!>9;yHKB`EOAVrA+ zfNK0s{BK<=TXp`sPKHS-W^_=C+a(~nyMzyC-y=570a~&Zu{@Cm8eT0r2yB(egi^T_ zdQEzRT!oqX)SeM}$!)rWO?p?5IEEk?>ZF{>a1zD_=4EMEsxEYG)m%{7EU@Z!+vW>+|tb7Ll686$e@De<*=|E0%|Xz`kGGO)AiF00EEtY}v!Nb{BB@#qA4 z6HFXGX^yR{-I)AXm2pfifC$Ah5axq?MuTN_aPSM%{oKRgHizZ)d<1guRg1@B7#9pv zgwq1~7|t_^;r_4PQqTFZw*G8-u#aGWjyP5Wkc>Len!Ef+2d6OemAi5yCKOV7tVp`t zitp&8;HTcn)7avbc-YqJXYJ(WXmhsJr?EblPRJgW-R2A4fbF0`FyLa8plc}IFgxbTsrqjB)x`y+S6_5Ff< zk8k`Uwe1E;hFd|P!v3Ns1J~?!qyj9jpx|~HWKxOO2)V zLFh(oZwG`f11MCqODi4RQcl<-=XUcXM?T1NR^GJC+J{cqawD-e28>p4jwNk#htY6UgC_3ZEGKQL~Y#T#u$CGY{E%i?7Dk&dH!ZfHFvg zm=x$Zjotnz&d#97xBCyWWQU&oZPb3*k-yQv)ifkve#7m+fR~DxGrc4NU-;W7>Q>l)hSNE!A8cJn&aMm3$ zl~`aea#5;5&%>0n4gOl*ugdkQ_p!(&OK~E3yzPqCA@_)7?nl4!pL)Eqlm0U9=7iF< z2`vvQRSuRBsMgW@6nXk)Ed~6@9?zA%n=97lsmhs@MmGYU!Z+W}k6m2*sq8p*bUI;+%rB`>DX5b1PYNHPZCoNwuPi5iz;oXYM5rm%Y|ui~VK1 zm_S*LlDYA!^1MZ{<3MB2#)LPL&n)TJG~aR-A98EHq^|w+VKA_f8Rdq`=U4To2@z!) zE~V*fHG@lBE2D%8b?kCC(+mwrj8kM>V&9jI#zke&oTck$BT-Gh?Rc5EnDpnp|F>Av zX-ity8um9Sx&KZfQv&($xUN(3YP|AE37ZD2be5X|zt+xBntXt;$9RL#0q4?Nz12o%9~bqSmJjQ{ z?bs_SK&%xiac1AH%aV(d2Z{))CRl&1XOO3-k^Ll~5810UHfa6`H$G`#XhdeLN0y!5 z#>*unBE$zQ!WtU6yK05I+WFh6IcpjP+B&`P;)Vz3o9r2Rt0ayp()If5{e0B&iTM7= zv`43xZ0xEzZ@KRtftKSb>nHr{T{gw`=?Dx{f3E$R%>EU^DVIZN%&b!K zqjQm(#5E7ZbL^VFTi1^O@cN<%E`++PazQ>Z)^fmMG=#pT44loKeZJ zuxGT-su8=dPl_Q#=~Nw)oJY5!b>T_N)ULhW{ytTG6dlco8?N78nxk;JUjMjL}Hjx6q(B`{<~L z7*O%eY2|vw8vGoGPCtwv@WGHAAb}&Qop6Oohl|y(@3as;XAo>Q<9*|A+#g(r@ zX>1M)qp_QnqG-Tu>xXok%r_2ZZoQk^B&~ezoYj@2bXS|MPz)cK3-v=BS^(z9meC$4?jX)sAPI9VAenU<7DL}%ZO zH?<^V_~H=MId&5S4ekQ6-h;TJ#($Oyg1_Fo!9bAR;y&hkq}KIk<3E>9L+m#x!c-F>O9(gtG2 z+3|K;b-x{7oxsIiKUM01I=-A5@p)idJ}8R&&p5ne-r->LqgQt%}tyA zcgTkLx;l5{ioWgYC3oJ}QkMuXxS#ID^&Fvk*F7j#>R=CYMS%t~UF|0ya&BZWlHN-WtL|OwkxZjeFxdGlw$Q zXcKv;u%u_Co0)FhIROpc({dQAiUL(CkAqYuCZi`5F@riGBjdSqC12&6KYEZuGqbxy zcwCKv~&JL zHvIOV$oq*zTt#%4`_yB>>UDt^pmZIkXId{XVOBy>hes(bzjzON2Q5so{LXywm$G5A@Af>=-{F#B^`;=} z_{Gehy4Lv22%T6|4ZcUy{qfb7%IXqz2+doVw`p+mvenlQN_yeEvQ{FV8qztc#O{Nz zxq^fhp1**T2fqp6BccjTOTJUb$LwN+Q||%{F$~fCu9XYzhzSFfyDp(v=fV6+t3C=W z;PmXkIZ@{DLHau*qPAfS;nI{ZOI%rCr@>*E{0Dq=gLAa1ykxWM-=DSL5L^%>pt2hj zIWJlrOszzIm1bhXg(yI!6b#!CeG*3U!{u6@sVY#7HaChJgMD!(qLeumuaJW7%jWFW zkL$14cK;Qb`lwfGG0p)B&S14NErIU@WHh*#JGJk8Ki5+>6d9$pSr-pB3_{|p(ykAx-q=L~me z10ME+9v(U1E$2>irW^d9A?d&ApU7k`5X9j`Nha|Mtt9JNp75e-0~no@w?cL1`}pM= zJ*+i!sgOW~sGDO6v=jV2-{#+MNtRiJYa$3kxuj*Hy4rLCle~T6w*u%M8a1jR+(m{Qo&{Tbh&0gx!Ist@Pe9-rz-RfEf)*=O;w1WD%s)d zNA3b$L-H2q27gbJi)l!RIQ}nsNDQkg&sgo>UES5b7`0Pu8Hl#D3`aU@Mm=8qJPd@1 z&_NT)HJ}4gKlCgUs=Q^^7) zh1Ub_q+U%F@`>6xoxfh}Bhok^?t}kYf($ws`N~c%e@~pJ#Z>?gaWJ{{;K1<9LN)=m zfWwcdv1JB7$5sxyj4D>}8YOEuP;@HY_bC zJ7?$b>Rw*vADMWMGx^w|(b4O0wmkwH9D3|aG;51dyT{iqEX;*WNzzTrsU-r_nuPYR z@wcM|Sb%HDYjXt|T#0Zeb;O(e}D7NFg%6cCKdkA$IX0@G!NrFMt;_aN>xOtG* zifJ2yR4?C1VPfV|l>T@+<=WZn%~^2Fow9h$tvAJqyxSYfbpn?TxKlq17W&KliOo>z z3VaFy0TevK_Mdm)1^z3k$R8CHe9@ngwMgq>Va1*wK2n1ZjG~}9PCt$}CCF0yKTZl) zu~vwb;>4Y+!{iRD6jvC6vx@t(KoOz2p>%4=J--uDYoA7n0g}dW7y4I3;FoYI6N|yT zoI^~xs~7X7)G5=H`o28g^sDO*b`35IK zw16EPxTaIVoOXf|ii(&7=V*}776arntbm_s^fTCp?B(tHWijK60g4MD2{C9I<;$p(Ym5ds|K%NHQaMchFrG{btE_ zGgB9>;!XU&$~yhGDAYq#k^1uNJY&6xob6VHxhJ9`C*J^Mau7R!)1_P$uG1*$VVgg= z@1$ABsjq{;fKeJ`EZ7eEiK&OwPBUI~?vkdlxJcJ~AQo0Qakc|FZvB`noP*wrOOS)Rx%^gFn^&*%FPmxR8 z7C1sb3%I;^!Oql+Uv`U*?gH1$-2THK$D4n_Iu1BChdRIaRxHPtuKPtlPZ&jV;vOZ3 z31fyL0pi;@YxCoy8@HQ*Qu)SQ9bhY~olKu|(@=v+oG74Y+``!ejKJoExP*{^Ibp$} zEk+%miLcmt%gyj&L-=A;iPXc%^gm%>v)9X5#THYwZAIPbZT-#D(97J`hX_vVm|Yy@ zS)giPP0%^lsQJn7krmoAQG@LfgV+I~0dST3HKtvo(A~uqkRXzY^4sC-o(%kBxkn@< zz{5ou8Ms@S(uqwX^V3h%7~bUFEo;(;cdm=*h=1M_Dt(*PIF!{{11S_R6w*NcD-M{$ z#Ix~@AL}pT_W{Z8_us1(L1Yy1gANU$Cj?z{Cwb6#>EiK|+GPWg`j_7`3R*-VM0TGt zlDJYFgX5aXsfqPO(h)-YMugKY7~lWEM-Ri+mNh`c0D9y9w8yqoSdBlPPgrCe7O)ZT zFSUxqU|gxa6Du3v{CVmwL-Qh;p{6&GpW)Q|?k(J~MK+=8&yP}%VH9wFW@O2+Y~0fi zg4!vlSV4!Jep?(RHLiFOgU2Oicq3+l+*TP<4mo%uyoQCf`8u_`E;ti|S@LKKgu7Fo z3Snl^NCwu*9MtCiZ;RDpUDM__o!GNHzoOc*Z9|B2QKxjZ+F z35U~DSg=^(8>b!VTbm&15_P$2LFfJu@s@^)AIqvG^&}~#4f4fbNHLe)%hq-a-Y=FU zP=3n${?W*8?>dvSZ!`i@l+Od7G(@6h%YSVmxEURyNI`lt*$3*|b7_@W6J?HLG*@p> z>of$Noh6z0-kl|RI3WJ@WIbEUyFB_7ry(ZBfvu8sdr)Pz#E%i`nI(|6wixV5mN-rA zUT}nU5;H@MMW>k@!7WUPErem5ez1a1O(3q}X!PrtvtW^_HpTLBEf(pXE?py#Y(3{A z!CdIy5ZSTVVWB!?TTVOl!SCVqfPYCP&2OgxH#qBE{Tf5F`&p6unv$EJoXtB|_$7_& z)%Ph=x%=B}HTv4rBB>}S?p8s0g$sj-Wm_YnV^`1#wgalfDWy#(grkzMNhyLBm*mgL z{_MUOINA<U}WGY!>8Dyos>bv&^6<{=A`C zk~lwrVm+t2z6{X^6HZ`Z{kXDP89Rf_#=U*fwC8NbjmF&8dyV2-Z-K_w5gPlIod-9; z{QN97#nza|} zF&#{0wY8gK%k+@5NHd(ONG)IU4M)G3KhC@OLbHHd>Rvhil=z=Ir&9U3;koun=pHO)DcD(} zv8J}Z6^^Y^WxPs>eS|)lulOJDfVMdwZ)2r6ODzjP>QKiB;+7Eh$4pDjPBTU@PbMTF zfGnozW@H-wHBUEOOZmIKb@aBrmKV9AvKMt-$B6VVJfFrlNW>O%eY=;J`Ei6exc?|6 zGQ<+yYtaaNruFS5Injl3_VKL2IJjFoA{D`)N27$~RZdTGmLCe_6fk}#O8g;77>m1c zJBG|m$U*L`kNZJK43zWHpGqn43vXgJ__+h#>YYzwa)n!qeR&>Yh$5uw)_E_>57oWl zK-F}zkD44|IM-D9^oKl@BH6o>apnZ|=6U**D*NB_p|X46PE>?D`7f>oWwQV3-chhCedN@v4mH66zB|W( zYNmP@<2O(8M@uz+;*2;3Ww^aq%QPrDD(jR+{*Krs4QPF17T=6_UqH>sQRl(C{fw9gyU zec4l-4UhtK&o6Dsl?(e3fKyW0LJ}f?-9aS!L8`^rs3|XCtzR^^;bf=ZQaU#>TdG;6 zPAKOo@u1V5q0DE?{i^NI&!qYN&1w47E^o_}kPA@;?*z=+X}O#tlqIawht^1uVN?LZ zH(%Q07TEdAhyX`?sTd@un$$rO2~nV;)dwW)+`%m>#{3k_YW3&0Xn*sP*dm(>!>Tje z7P=JHXV2Keh*+7=-4{_dD@t6bd}%X7_&FQlg*kJ^4f*#>DhRB(+xu&aRS^OLzbddE zP7wIE)CKH>1HvFo8iaVzkD2(P?5=vmC)^wmuutK=~VRCQ}U&!+e^{b}Vh zzt3Lfy2_m_JxdZ%MJZ;h>qq@R1T#_J3y9)vwLwNA9_}0afZ&UD$ow|!vkv>rJS}xM zMpTDtDH>E6RCV2Kuc6_3K|hV5Kaw6<#vIRo({vD`t{t9!p84$Rw=;0l zKaQ!*XnieZq19Na1gf;wxOG&uUnJ`k@VvcJnT+Z1^ShtpdM;i+E9UIBlnyB}vxTV& ztL9$9Ehts3bA94loqxP-sdLCU^>6dIFnGOjg3Kqed9z?Tm}6g=9ou-g8txh-={Ipx zq%+`^&c>e_GPfI7ppYV&6oIsFS2=;`AIod`Bl+{w>8tX&|Ig3;EJ|@H$R=mSAspU+%B zUi3U^YpG}}M9~lIwY?Pg{VhAOo6J+^`28Yw8 z1Lw4xwj2;ZU-&SSF>^EuhWkG`3s9rJXRN>jf5zX`c)wu40M__~1lAE+ECl_hIRlD? zz@HA|Pbg5463F+Dx?jbN<*y6`UaW5zfm5US3HVa@xkU2dnPdL?ixKc;tiJzqLfy~8Lpy)+P%aJs#W z)0j)eub8z;t5cN9+Rj5K^7hIS?@3kG-+m**D&12EpZ#|mV8^p3|2?a1X=ksJ%||<% z-l!OI{$=@x|FfbawS|IorpedN?qQ9~Fgq3Y$rx^?^zq9-oMb?Zez?8-E-!4*q*FGEi3g%w{<_Px~C2DQxZ9+jCRja$TO zjGCDAEIqOlq_V)kO_n--=siu|#%GLI#bj%z*qxoeW~*8!p}BU%_=NKH@mblHDkA3PyiL6LSL2xd|MqT^6zSICLU@=9-F?9Noq1|(Ex6{gB`3@|VDxM`^;gR0q#zOO!>_bwV zlKiElaBnIC`Ea`Yv6*aJ8%|6oXJ9qrpZIlf@(BDJcFusshp7t(K5X-2!r;BfMc#1L zDX-6U*BEH8NXh|GRvmwddHFvRMu&)q?ft8OW|_ra{#!t4fAheWwxc|IcQJ?Lj0_Fr zp8@%y^e8T6Dlcw-9Lk=QvT=K-tAvc({hdV3evR%_h09~Gm8+r+XYgz62l|O{%Rb|; z`X7E&4oM(fYHo?38%tQf73Dlj@c8u^_yraFfpU({fXAfLh$Za9~5d)BAAMxH=cr`|c5awz$W#FDl3uVTV>B0gEnud}Q}3b}F}}bFJ%XL}9wd z+xz7-mS)|4C}3@Fd|b1IjL%tFzCWHfWscAO?XBUx7ce#l7&~M?X2^Jy_@pXQ$LHJx zA5Yp13Z106ZX|QbLGKZVXIpI^2Uf_M!;0W!rHy$t$Nn-ajvG*t9i4VuOaynNMUiFy-&wwZl74!Ov=c_!k-_31RCNf(`O zB-Vm%mKs@5$-fO=K)wkEdL~>wM@w72k2Js&oGuSO)?}v9$?uniO6Rre<@~LcwGxl8G>V+567u3xy&C;AkYBi04wVTpA3{5`Z(J zf+KS`GZ^6f;QV;*<53)rn7*NU9q9Gsa)DgV4_}*%<06U0Bk@Eu8pj`v0=?; z8uKMGS%^Uh^oDE2IIhMw^o`W&z`4Iz!eL=sW2F)%$Da5dI0r%$df*!%NIN57XpR>V4&AXm)3#H zrSS)?PPblf)fnx1a2KM@)=sO{qJ`j+?RJgRp#_5j5qlyNzzNgn*15(qp?5+(i+Bl{ z7LUc8^V{@&d;XKTf{>rmqXd1crJLcX_ig&(pT9$2 zV1wyfJATQJfWG~QU`tQkqFLJ&ZP%^ zgT+FqRHRN;-5!+b;5;88kRkw&F6!e;cA`vQo(~rR);ZIcJu#toa`~syw=$eou=*YP zQl~|J(R>cjpe)7*Ea9_ zLiTEhT5>Ucd1WD?`GWm+#z} zyEZp}b8+d;oz<0Hl@jQUrjOKb^aA`{^SC zzTa|L7mck*IVG+Rz3g)?^`E?wIG~~0ASD;0(zm$qzC$f zyRl)Pl^pbUG=KT65A}~1?)`6K&9mHiz$xg2;kW1;tsy$hT7zz#%c6DZ=?nDE=*z@~Wbo7KZIBrBCH(6*rJ8k_?kVW2HLQca2Ga)Ut5Pki z)vI>%&1mp`J$tQRoxkY)@Us6t@4jWe&ge^ z$TdpYI$6LF<nQDhw9!pBT2vgPQud|O?pV|r4Rb#RpgL15A~dFa z1W_@kAQBc*{gY^W%z4P1#thR>D(3U$64&kG-UIZq2NXKcWKM6G?hbgIW!`g+RYC0S z%hhYiQW1f9B%6=N(~)oj9}Yeuu4IzTB%xd;Rm^A8g-oelE_K?~o@f$|yx zxyB&VY7W$@J+($oQmB=375)c$;Xv?+!XQ%`6$%4MrItZjwcKn3jNy*eK(xW2(;0OJ zliuPo8f;pfRSu~w3Y|@5bsAkhTR0ZZ<}<}st2w4kL|_1?^GwsHdCpU;0ppg(ebAzM za#TAda|yzgPLB%5lfvYb&^r+=_BcQ5?6i174d*H4=Xg{;8BhJ_DS@0l96@*3ua0T6 z&8#vraK(8{>?WBRfH6tNh*lLfMzhAgZG^j&3hmsRj$BNQL@HrdrKdqaCg^g0*rKVD5G>)RGCFoV=Y8J^g${ zo;J@m^I9)cnF-Ca$~>_Qpi*s+qaz_o%i?$ip9Xy(rxOUDJT20TCY;| z939g(B+E7SUHovNlUa&Y~XbfMFrqxBL zB3rfB2BHr1>ZP@ZcOKnaR~&d#seHHlSt$5_`RJqB;r^4K{`4!KA0KJ6+rx#qv%du# z&fT4Vxc=A?^c7mQlGr3eThF^gj1s|AdS7GPRau zFv@q^h=$cx?e(RbpWgluG`+F1c;~^&x?Jvz#}R^C1HqLi53k<2b!}n((Kf8A#g|63 zs#$n^`|7O^uHX6Dr}Lj)UA+47;+)iM4CFGdL~LE9dMuM#1AYudHn;oX)AiePx2Ot- z5RUWd+?}f{54JRhXr-O&j73Y2jz8es*nISc&>xXj7q;Ykky19_YgR@>j1_8!dt0M3 zxI*z#D^~BPJCkJRDAPYlkIqPMngLTk;K?980&%;Eeg~S}aYVoQ`0C%EeMcYs^dIYd z|8izbiRchM5d4*FtDLG8BKf#8?8fzLb{fo9D=utAAtVb)XO(Kq2WqPX(wk^{S*6{U zD>vlIEv0$~@sq}=HCb#V@t?({gV_73w3|xJhT62PweFfM3Zq%BH%e8SU8PzfQ_8kw z2fK2~zFf8^lkn`cQnDuBe=OO5ppZW1<4bfhnNcCp@9&Z)-cxDeymt-8JseyreIk?J z2i=wG`&#`Yi~X+Ix)cx0*Yaz_#>1n|)64EM^s0a3_24F831t4kc)BH*)^Yoygrw-; z3+NJhx$c#y_RKz*3Nm-E{JQ^+*morQ`wqSjap%E5Y=7_1cEA5;xWdejp zSa_Ugq-im@FH)d!G%+LnP3MQSxv2Fc=!^QhUpBwb6`p}!JWdB}z5jLVr(ZS2jw8@F zn)GBV@lrF*^rcNQ6;Px|8+`vHeW64ulT2r$>0B(6k0x^vE|LIvoQMIy!MG=q@<+11 zcp((8q<^2j7`gJIS8l3YPZTPDDt%#dxvEsQ*-Y2!U}~f&mSFP*UoktQufNs;eJPcn zrjDtp2uumCH+wh;c_Y*ii8G>;qNY`{+Rrw}xz1sxJqgtZ;l_{}k2I-=ZmL>=hohD2 zdbQk`maT@_rOo>TDji%9mD6YRW%S~fbDQ~f;uA|03qUWehzBB&AHhf{;SYx3Swqnf zY%4+(z&BIOQr5{E`a+;@adZagGJSD7qi?Qp7*6EjeWRgNGMWW_A)pr@mow(4z}9Wj zx{Nxv0RRSiH6}UJSErQ_fHiX9R;$wL2&pvZtkbFR2-8=tmrFEKrHZ6c$#fcpUZ(V04HS6(KBTY?Mfs>v9@VE43D-5I0^vxfN0+Yix`;WzQ7{HvN#`NVr3haaVk^i6c zg?QDRpZ_*}$&?HFat=03En*-D5lJBX+fT2*HMsxeKR0{+;y;JJcy|C#wpP};Y)=k$ zp2+shAupm*U;y!JzSa0Eb92*U3H=qRwA^SIZT97Ri=gk_2P+umljVG|-2i&wcWa^* zRiapej|6({!E~lJD0T2%97l_dJ-G_>)w|qO1`9@cFvxXUmQdi{=EJKC*MVL*)T>K# z4|X>69uI~NXEeI4RNYx#y16*F{N%CDVRy#ewy@)=^zqfjk8aHU{MN!RfZl6M*Vg0` zPVd+^Xz%au$!u1CI%)Cyo@{L1xHC6H@7&_t4eHT9zb03Ev&G`zDAOK+zVSkKXZI=0 z_uKSc+uw3W{fT-h+pgg=F$Dr^G6m>s4<;kInk}Apr^~VC2mnqDPEx~DK=<2*{G&ef zJLrXS-C@2rdbsf?dNVxU`x`vbh=>FuQl?pol{4N%z#4Gi`bG2%`Wj5|utZ;#i57j; zrhQ0dIglH6l$xh%-NuZ*3e~n!Ps_swlNt0io6SsLgytrbgzT?jSF0!V>h1eLF9Zey zz-pZu00w$z^xc;|1$}|ugYEnKyQ={3zGMyBQSI+(BnP^^J?*YiBLRJNx@`#bRVp_% z+BLmlQ)hUr);`c0ZW~Nx;0$ zkz6)d%!Mljf2k0zmZ4Ck1P2f*m0_0=HuC8k$i^atRIHTCG%Cez6XHGfl~%vhps|d~ zE*7itY>BExL-9;9mX5*I#nYj53Jjyo#LZf~*@`uqp?V#!#8b?>3pu==AP5H@SEh9$ zlQr6W36N9I;8e~ZP5A;rx0kv#!ExefF!2Z`BBgw!M$?1Y{vgwvu0~@d#aqtTYS~I9 zTcT!7rA7ndd1m~y*y-|^PHn;pbNj{s*mn#^6=-@EEBHyaqJF5&Xs)OfHc>?raR)?2(q}U$DOO4sC>sTTg zjYnu&J{}2&gD#K7Y}Fb~YO76evzx3|quHc3=#|V}omPhXBI#->GQ7!{3U zfq`+K*L?{ClfyR9dwAJ9dBJKOpEnNAD#s$RNN|ol8So%_4UuSB_lTZANFE*LhqU*G z=Bq_ER^#-rPJf6dQCYl-Ts}SonWi-_#rIVgRXBL^mdOVuAs~1|LGracS-lzW@E%;r{5;kF^h$=9U&0 zR_<;p6#jI&&>e|t5`A10T#eFbbt^PRjm?Ko7@r|NB1EgUfd9ez`hiM?NC*#B5zRMS zo}hPYe|z!n$G7Kyaee7ys=fSRN$<9%OWAlnCDkfcp4?wtU3#$gP-!p(;&E5VeV~>s z-o19?)-P`?d~|E+lj{pN?yukXM#8B=0eFT#R#;3t=slGle6n!+qq&Tla=Iw_5g>vx%lzTg=@E$ZeE?ATUmQz^m;iV6u16l z8CHH%t}=T3p={0(i6AW4kjXJzoD0nP49=5Jz&g_Pw8&gdYI6vjafiV66(&0eE~Of@CxLGI}{RlH;Uuk(GJSD}Uo#Gc0GZL7AB~{gXoM3Q zZx-|gMIaCn00xF}pVzHvGP%{_Ofmc}C5Yt!{%W$`OgCBxQ}DY?Usz|LH-eX!N%@i) zrmroKu=?Y;;|+yCU+zkjjE9T)G|y~{;v{|EYXtfdfcwv&X~yaBlKP9a2GK$l^z}vJ zflwFG++_ES52Jp9 zpl|2+8PJQ{_Q?eR%=Bfi$@9dDe^5Mz1wKB%s1%Xy-f#Gifd`#Pi z0H@!fFBnG5o7T{n5*GlTF_?i@>5q!T5y6SGg~46C3!$lBKe{N7PV?OpaFvi~)bbXH?H&?rXx)?m zj2DAfTWnLomUNAZcue=lj|O;C?0SLTZ*@pTIqo2|kqqhh5zZcH^!Hm8fg)n{D0pkmTy-PLwRA*RZ z;d&Fv1HE2uGQ)uOQ^~)5=g#z4SFZdQ?|ip@_0tDykEh)L1$}Wv&=6E_x`JVeT&vMr z5#JPARO%ea@x-E=QpuJ?5=1zk)PHe zRCsoK@o&$*qj%ok z_9QYwFSx5#?dbIqi&+IBtcQSAi^Jfw8zC?lw{E8uvb#)HCrxWxTt?gnfZ>(dF5_0C zGpICLz;$YZUDUyxC;Q|RB1WAm3k8Nw*-4W>c%(QmP-T zHBW$Ewf3G=aZ9GWt=G+2%y%8O`Ec-IC40YH-?(hwd^wo=V)Q=f`_<$M1oVD2zVg+O z01WgpeTAm`cZI)@1GF>27RgRpx7eJ`+db^^>==UzQkH#yMHTI zk(tm;U!ZqJU#{)^W&eY(M?d|t`xA)h3wxSt)p$S5bl)nS?li1GVzX>JS}w4)g>efM zvY}F*z+9_>(3H1auR~np2`5=3PX(c%RFxVEB`eifsg$iw(~r}YTBcM_!K$Wml*1K{ z!m7d%rc;OjGuaZga?7;piEb<2!NKdakXA0>?}l=zKsFI6WTM3^Ty?yhPgRQ9S~*>< zkc!1vmYP36xWIhTs3(#RCiA{*En4XodZ!pYc@G26BUZV3?S17_+T^F&+STsv8}_AEr3_DVsv~P5Tm#sKnBA(~;nA_4K@Ub^+lIt8#P-#PYsgo*gYr zPV?jA!uXOheMD|8;0IxFhv={~i9N5pD~W%Xt2*ujSNFHL({CJL26B7>^{ zL=oX8Z7pMXP&6RwNONQ`dt@2}bozXpXo=d5aBY@chtm$I13y9&s<$i}BjRo1&GNfu z6%MJU=9@@`7m~%?yLg=}&=;zWp4G?C>xYyC&Xqu_eQFoc8=gb$!9}Zo-s~N>2V{k_ zwJ+wEzwOQN&O84vx%q#@^yQ=R-@*qgim@C|Cvv)n)$R}%h|cMe87HHk`pv2h%aZJNA&-vaY*P*rw z(1z@?WJi?2sF65{+q7Wq7LAKUHd< z$dykO>UBb$?x{()Z#T*8b`^wB8!|gJxV1X<7Ke^DKDaGGzdPV_dA)9z+u`y$JOP*6 z=X82(w9(OKG}^3?!9*z}8ofp$mq_-vr3X9v2iws0?mlaGUvhA8u)Djvwex6a_wmNT z@{asIcP*6bH)Yz5eZ^ggdPSyNmZ%qHs=Es9sz&=*t9xQFJvCX@&DK?m?ViuIm`!dB zD-S1)wHNLA&-%-skAC*5{}awn{(})^V{z%L--vouR3Zbn0+u}IJl#h$#GUW*Gg;Gp zz+y!i%%+vyH$UPvW_k{|OKzC-o57Vo#PdOA0cQG?|jj@0>2C5{<`-w=25G`o+PJrGSeSzLWpX?ESnydE0>5A1C(%M`)haJ(h z-l|dRWlHsyT)Cl9KQZXmL0JN=RtD)TIQ){*=oepgx?y1!g(D!<-3Urf;@CAPtApMe(B}{@nNz_#OJzCYRG4Tw;xRI`cew)|gE9Up2><3}C3+ zKV$j|ok2W9j?aHj`ER{FxUW3^5AuUoe6$&Tc}5)oo-(*YMJO%)kUbQ|b%Zw#SDkHj ztS(1-asKbVH4FXsKK}GFmSXxMERI#m8mk2!SMTuP%A!ev&Lo|$zz5^(wA#J7YQ56x z=30$nr|obV)}F2`ulx!Eedp$WvHEDm;xtD~Nn6r6C zvj;-Y==;g)+?sOFpG`p$t?tqG4#1Dg+!ORZ-Cn=FeCy`Yb*3+8U0s`7c(T3gh$b@4 zHdhS_l_HO2Yj+-g2>RZ<_u=jPAKkb+cYpH<>^_D*rmr`Y+LP&?9w;5*1R^twKX7kj z?dJ00t)+$gPahjS!CbS)^d_P@i)h>8)PTNP(;n!nHE(GR>k9Q_pjWBc0D29kEvrG| zv?_sKr&De9=or9EUx>SkxG3VG8?XWoePD? z&3bzAxP0wZckyNKgBg9Nlx3!ZpffMakH1CV-;CZ702T$D-&#dx(7sJy{F8eh5u3RH z7EAPFVEQuY@f)v+-fIon~?)(J$tohEAzFZRnr%|#^-WNnERlAkOpxzj_+efYb zakF<=>53K^JR97shHFJuyk1GQVRYekwn@X@jC);lgkWwLhfif5-GsZ79;IeqTi!asxypN%ZN#7`%@B+(fVg5`zR_vTX0Ov0T_y7D=M9no4RR_`VookX1)m|$>87t8TnA(_pk za(NhiVAz+UQe56-9Jl^>h~NeJjHq=% zn~HNq5_OZquQJ%D`HBXKO1ForMW%S7P;F~<`4mF5Ode0+A%7(wc0J6Zku=1 zDNNfWJU!!0(ba1sY)kaYDEgwXsHGWK^*^y^nxkHdA<>& zFm2vL&>%`&;Z+q5pXI??QQ3oYqpG6Ygjmczsvd)sWN?AorpWzf@mlXxQw&d&)arxF z`rtXlH8S0?f9Y2r|HIkf{_|h{BUkXh`{q|j^}%^@cmZ(+86rqxL%W^s_7Iv7n>#I= z+xc)~V}5mYb>;s5@Z(RW#}fLBYGroR$MvptJ2&MTxzQfU)$p-YJBNkFP-AgC-riRk ztnq9K!wAJO?RGeseDHMj`rM~;x34cP-kDoizPo(iZ1W^DB}D2Q@`LM3w?Dk~>HPgU ziS{6x2>3%T0AP7(ZfW`Y!qV02cdySsoWHmG)E4o=RHz)bCmY*Rr3QqKC6W^P{=)Ly z&AT66U;6OI;!hw-ik|!A){`||AQ)`aF-*ZE;03EJd-D&j-d_D!XztFv`P&a3SwfLQ zd%9@?W7>{NxpuH`4SJK+BDH=x*tvCo@zbSSHy_=TT1}}|Gt;Fy^H8eah4?%Q5%XSUGx9-V$u4X>%(P^dO_x?O|ez-m_`)W*{gYCADFdu_1MkO?N(tFwiy z&WPO|b9>@mDz+bs1tUR!$ma_>JpqR;=(GkL?tsVPb6FjB*k6M|ZZ;_``U40DH<=^{ z>iu2C_J&;g6n0p$y(iz5D|R5M`iVsOXh-sBSNfRu2W!>a8r7Cs^%zpgH}FrLR;Je} z^aiC?CsV4{A)We>LHopET=Uts!>;?e$Yv*h@1(uO8PQ*i-iLTTnF;!bogYA=kmPrO zN&XS^>+!oJkqb=#22DlFgx}Jp-tYao{SMu}S=ohV{H7`E&Xup5L|^C+J0#{YO-kcX zTy29AuYT}l?FV1gfA~%H-9Ko&_b2EJ0a{SGM&+WKt;0^|ct+nMTx`1m0nz|)v{8W) zjVkDiFc8X$E`Gdzlj|Qt>EU5&Fv$%LL0|lcrf@~MiDb4Aj;E;2q|aq`TO0wWA75f7 z#=CfD^o=&UxGH>^q$e40#=MT0!<+Vo3vs6J6upAJ=_Yksf_I12Xbow*LcKq(jbB1s zSEz7w0s3;@G8J2HwrJtD(ZaX}^x_sHCimY3dTHP*R>HYrC|d}mbDnGx0(v2!7cM_i zZ9~y&Gg4^)&j2v!o5&Yu^bP0oRGcyy=h~16G9XVN2>Rv<`9ir=tTq5(47eCy@`DQ~ zH9RGa#!TN-f0*x#LElpC5cJiUoJze-t=B1aTBaicRk`x1QoRHEP7{>{eRUeGMyWEW z_ds90VoN8dt3<0AmLKI}qNc=Bjke1qq8fr@XrEApRzhrSTk_h$eD za+T3E5BAOSE#(6|`QM>00a(0KDp4saPJ_NwEbRXe`U+8QbA9|0 z;(6?cPyguc!F^BqKdbi7rfm}$y`xK5VO}hND8XVt<`42m!s|O*Kri%Qd(Rn3{EJ${ z|NFb&ogMCv?%s`iTst~7(Cfp6(i+jn)t)#5$*23W9fbzyEj2nklOM}w_Y{h```xo>(l@CGR8_T!n?k{YqwDAgcTLOC1^{T<+da}Q#b=adtT0WB~r3)*I zH&+(`;2pgtSj^#j1Yc+L<)Rt5&lx9N2YyCh2!@#H3$ept`lcHVoHiSKzxm$x{;Sz{ z^x;SUo=om123s_suf?n|o8%^w2)Kb>!lS(Te#rY|T< zzXF3R=!;ugCkCVifT!riKShgQ&eEFE_s_nWi~h1r0G@VP=>7=w{i6DP02t_<(l^52*ysHoT)m|5mU}S->g|e+)y58Z;qf8UG4W5H7)raK<;RM$V z&m(2VlQd3|-ZCpa1%Ep2i6?v!FDx&Z6pY3qxh$F2$^gnX4|6T5lN>L1 zeZ?%8=g39ONxv!KapXc=VS_WX3e6U69d3<^?QauUgeZ%oE-LBso)e6)x#3B+cam-& zC7WYvuiF_x+(jRQ8e9tjxLTX~-CWL_O1ZQ6>se#nrPN>xK7i$ow zfQ8EyD4wsza+OH77))jZ@i@*)oSinW$L4lJUbib64i&PwGOTZ-1%a<(p82HEJI-`Y zbG`HY@Cd;QG%dp39>QLG(s_l$A+ea{W~0=gm+B~ZlxYqixmrqdC2$dWD`U4XKPqlR*brEn1U7#dFST9Y%~zoXSGmO68_f{n%jIGFjFP z<|iiGuH7vS$Nl+o8gUp|+q0AI`Dy3k9BN!Vhq@Q9NM|owN0)8URKG5o+gFFMzhfYl zC@XNw=;fWeRiX0PY3Y=96M>h^v)Y8(02fC+GOtG?s5+*}VW5$YEDCo_OF$ewXO)g$ z(3T_|P4xVy1Yoh7h|{6-lOYp5Kb#athg>ycT1VpWLI9X@@z@#jE1AXtCr4=_pSYU^Kq z_xu0NY;eCl|94`!FDg9%_>!qlA<@w}PliwP;QI6-=xxT;wFmPL?yfw2pmRBrm2!4) zc#z(> zjrSkjUs##HwRrQ!@(T25N9jwH(z%w$mwvjjGrzcUb75ii$rG2~9gKx+R^#^O+RDB8 zJ9F1=&&}VuGk0}$1=p0nRB)t|8#>i}>7LrE4W`2&$Hv~)?WLPH=C5)V6*Ksg#hXtK zwqOQec{x`mk_vAhY~5V^_}0=VH}FdCFaBy}>7GntO{H=pYWs*cjuGHMrJ^M5WHMFE z*}SfW$E$eqM-P|pN_VuycwpR0kGsi1JJ%y|b{_LMFUkVuMo0Ldc%GU25~fFeoXPkT zU~sP6$J2`4W}(x_)w7XI$nGF} zWpa%|rk3N5#;7)0RThU1HrMJlz!%y54oAT53^`nWr`>CVFldL9p->!VS4=nu{E#Q$ z!asviH)M}EZD9l&R%_Vo3YhU?tZpgfbjo444JMi1NLgS)MtBLiR3h2mmF};}Bu|y{ zM+(_P$?mHB;J!@qNP6&ae{Vr@a91u_Rx2Lp)$2y>re1xZQSNEf`+A*BtKFf&O1G}k zZ)nUT!N&Z8ZYpG;p~%S`nMz@TqxKoiJe1ngp1Ayb%4Iipc`ERHYIi&H%sgJpzsg|`;aohsWL z$4VW4DMuT8YZ;+btW$vVhDXP%s`Y#I!LT`+OvjN!;Pw;}#TLYL#!tj!h@_>!CB5iRb%MPFFn zx9KbD`;&>p=tI>oeviJ>JI4aIV%IO|3-KeOc+<3cVrkrmn7;TY#PsF*P5jNW=Of#9 z`jYdcn7%-7{g^iL!c|WJd_)3zXY^%JJA|W4&cOP8`U1T(`ocGpb$&zN#vv`Bf=rzM z%$a>aFP(UzPF8g|EVMg7Z={d|L`$N3KYSZbFkDT%8jWC)=8D<_j%X>Utu+y<;-B$K zlh=SFwPv*5qUn}e2lRzvg-$frj+KA`>VS*$hpV;BR$l22uapb=GLMU+GYF>~waXRH z0ebNoKwrFf#3htgHo3rYV8>}5x6Lls+Q!M(t&yiZRwW2K>( zI{3a#-^_p-12cVrUZyWp>a{@ML^1A-x~(3aSmITG`0=-U#vW~);t|l-Y*$mFrJ%3c zpdtWk6k=;Hm9;Y4X>ph7%WHx*p9S=F_#8Hm)g5pJV*$h*(R3u52!*17Kqv_M+Fcf> z$L0&!Lots#;RS#}U&!G%fxdQ+4D@xm6n2NqY*iY~a-i4Z)L5K$GsYmDRw;b9pQhmbzEp3@n}MJuss1a$(M*46g*;5 zo3qJuuBq@!PX=@IL-7=XfylhEHk;lEoV0rS_5vUkK1&e zYHsk%bFfeemukUEFCI1bzqLG5WQuRKN32@3)kMyQ3qvb$v+EW{4B!dQevra7b8}Z&D zu^SI(yv1ZNn$!lPN@t}FNOIk-OuK{81XrWZAVGX;Fz%R4yB6!V$-L?H8#B2;sadJ@ znm}Ot^r&@tO1e02o}abOo^{TNzMZp|?c-vK{~FE}W5r6cUZq^ZdflJRM9T%-FLisgueBl39h(I#C-CbDQ@!U zvz}TI6B;1}MtR!s(;G8)fmlid6uEEH3^<-D7{8(-FvDl%@rzx_|9m#MLr}1F4Y0 ztiJbX@z&fYRHAu-dL)3sx0hDtSMS^WVc3jpyH*;sON}f@wtVmUtvkOYi#&hz!}&XR z9z8Gx!|@trxg)wtR_Z#ZXIrDQgd*Wg0YUk$QaiW$@YDHw3lBFpOlE(r5gm`9#H0^p zhhviHTm<(*Zb8f-P9GP-=Y~-$F+56-Pf{b?8KnkosL(AXYw2JNfYjTZGPC_)SC*cA zHMbW3qROGtI22l^64$%hD3NJ56oxI8nKu1PjeBylL~fO;914qz(986-xQvk1X$Dyx ze$nhM7WF6Mkz_oYO2m_-STYO-gT4j~Emn=qV|GQXkT>k`MV+3I-4(FHF@xN8A4qJ% z9gEX!v77KKW~TwaqA|%S4^+DYY1F%N`NrPv8YGjgQ-4F%1G(}ZggfvCkV3Ty$u&Dl z?XFzAFVpNvv?@qu(#XwPyfuY>kJr&`rag~CZZRFW9LhvcmQQHgCHbJPJ?pGr_O@R3 zm!Z#lw;}e#f6)6e6>9E&7q0iWqIMPSFB0?2G!c#aV%eC~{?0dzD@@bRdhfpOzVoX4 zgV(+HKI^}a+poZ8Zo-e>0(V1wC1n`bW?r_b7lmtrI7Mf>P{Mqe(F z`#bc-hy&$@XAroXJ-qxK`U1UE(FWf}y3qiAfnHkEZD2GU;Wk_w;EuQt79 zpHQIO5&&+2zQI_@8_I#cq+kdDcKO|AhsA0&dVS7dFqlfExUxrDRIG%+;Cu&T-(jV9 z0{Q~I05FVivel25TA;5~Z-qc#sZJ}^%1G*ciE>Y-psfPGPhYs<8GUE9HUMCQ$*eP& z;C-p$m7bCpfL@%kO2a$TJ0cAStZ?w{_VHaZhwx69re=2=DCoi~Z z;Bx)L!YQ0aX`=j~A>9MX{`TtzGaxs7R>7EMc zt#%HZ!?XIJA510pWc#-kZUeoy=WkH?sz(o0R!6*41$`|x*T(wZ-K7V&Z!PU?NyG6> zGE;(4zQ4A1_wL=fxjE1mTG`&!c)Xr+$(l*8X|+!@8bWU_V+}YS?L4`?@ac^^A78)o zs~dA4UZ49^G$~rqS!|TZNy)}72xxh*zPzyX@!aA^Hy5rEp&#A@!XuR`RkQCRrf=Ir z(S5B!>-Gk+g;=hncX%Fc?X5i7SbVg#t1{Vh`DA|>84Z7jzVI8YDSH1TeKBM~KyUW& z9Q2J3hTOR|RnPd+0bkhY^l7XPsmZ$k)1UwE_=EiEFaMUtsb>1BZ9v_=RJ|=xKb30M zx!%s(^aXSsehVZ3Y$7?$4!0HP^+tj~FT@pvqj3`G8&5^T@gNxN4m#{!i#=d+1kKx!b4*DAHdQm}-_CRVaGK2*NgH)^C+uwf*`f||^K$ihb zca%?|1KAUZbF#Qph*YlzefPBT0|WJqpymzQbpY66*nteXZKHnIZG9T@>=qN-05Ir# z+J5??dv`|PuLmDPf7t&30H&r%gLgq+h|&8tefe>w@7L5ckmySQ?!CwK{e1AFX}&ZS z()upw3xU1@!1R3X*YtV!#+1Ia*``gAcx5n{ZHFj!`kVz2ANFJYUbx?i3_FQ_FV^j3 z+9PN>KU^QD%7c7EG#lu&IXNp=uVH*afFG`8BDHKNmk4BI2$v}1KNj+Z{oardcT!Yz zqFf#JD+8+DLbkheTIro3Jg0d)apmWZE{dnmswXeO-Nwo5_Qe<7)6XGl+kS$TLYxPiog9}pioO2vj;x+UM)QSD0*Hrl4uGvp?f%&4H{VJfs?Q5mcXjb5hG zaxqClvQeuuX&^4sA<-U4brPw8nv_fRyO375PkGcvsmY@71YC)9tln(5yS-+A+#b?0 zVf*N`bAH*qc-FW)uV0+iE=jFt7ZA@s_l`+4_>QK#PT7Isku zw@yE6o_>bY2ImjNmY33@X)6&`=O|4`oRft!AE75*0-{fTeRznmo{DI~o;Dh(LMfgr z#LMMkhkD4wTa5sQL3zGtZIEssp3b<6Zie_NObjsTDb%frk|kcm zZLoqkkIuAsxtpj^eobyX$V^E2Baw7AexB-{iiws{veAR0%{IhY`n(=YCtjtEf0Amr z+-ex^aRoJoV_u6P?v7tTJR4j+d{sMsO<~HL?}9(N)}crs=e6O{%f|3Ub@U1T&Ap}$Dc%kU<`W~#U-MKS=^TzGfCr|7?UpSdG*zFJ2A75X%_35=wppO^lZar9) zIBmXC!Jf-*TP^qG`_#<8m~}(~Pq&_c=yP{IxpVvDt2cjn?be4M-?@EbX=zKV371Qm zE=>rRy5&$dw6S&X?#c~lY5Drig@w75m3uOYF&5^0D2%1Vn%s@02UjXU3!Sh`Ja-$^Mvn6!u3@ zYS>E-x^TVORz8slxC3UJ{lH?~wc7UP7yk9xN4PD|=Ay^m>9`+(uKeLbX_KRPfi!{Vx6-#=dI*g6WGRXZi>L&+;di&rs-P5XfR7#+C zT_)L9>>dEDCJE3BQ7|j$d!X0Kj0T_=QtM4jUx`8~Q_GclHKEt6HCYJ2ps&IplbaNv zFO{4$>;b)M?H(L3uDWOC&(_%m)3^TYyz!jw&*y2Y@qm zDh`_Nc4EzXxZH!N!Rq9EMqi#whnT)RbA#a(w$+ubJJOXvxszxgg1$J@Vx>;9+MnjQ z4k?{AH6#Et=Wz0;y2t6(5cG|=yRlY>60+W8V-b4m)6ODH-(;l@0OK;GewTw|0GR39 zI(!NGay@6z7ZPdD&qT;VUHWJAZBJf9wejov))p@#Pn^Bs8m*C@=AzSzE!5b z`kn8SOwHW){#}861~;eSD-=w|`%ubp@i8R=+)* z)Vlq1kM}?N>CdLex^m?|`}r@v@dXS0F+$j-dn?p9NYMA@{H;fOJI-hr=(YKSdotM^ zH5Vil0=hsiT<_DJow?OT(D&NSYqVRJd+}yd&RlxeZkyZLUehUE`IJ8$-_}_9PUB0<;fBEUA$sfyi#xMZs0VUg$%@y>`4o)Ef-KmO$6No$QGkw#; z!$gnJ3*m$TeRG`xjBhCJvbwZ7{kq<;`E-3W`yy5ze+A2HaOfeEO-b7vbo-z$HAv8H zsSTSzugQJ@Sv+#PUj_6!eFR;mug|ab1uPz)$>Fn+wH5XA0btNKm`DWTaiBL8^8mdt z!O=`0lJW;qAy3@zh=lM=XNW|LjKVSdBVljYLsr;tvU&B8)uYoom3W0rU!a%iYp~kz z4XTVr?wbVkN)FbTzWeG2kW{rH*K8@(dve8&Os!OC)iQ%xqEkR`(^svZ?wO7j(H& zhgj2Pnts*)(G0*q@7II(e>-1y~EF;&gir5`1AJRONd9< z$_Y*M@yz7Z=}!GFh#!TWZf78Xk0qMPWGj_2qLz01P0%xjD$PSueUvS<-La&~ z>ey4Oc2!ELR)(`mu2D#o(oO09mh50pEyD>XH^~$hx!fv+b{+B^yX?TC+A{;F^hY&j zv)V+rIGZ8dM-X7J84(j$oOYb(X1hagv1pB8GR;&gMb}TYRpO0Vqr;?h(z%{lXIbMyS7 zadyV^ts~4je^EPoRuz2?NarWjvtvr(A#h&MI5niusw%1$Bk+O{fptU|hx#FPcLrbdfa3Vh~3xI<}Hv_4H`tvL6Jo3$nTt#GsA&L*9iM5K^QQ_*Ic zD=u~@O^>sYv#nl5Y!t3fPWkVaPhWC7`nQ!GUqsvENRwua5Lx2V2xUsR%{6tiP3RaaW9cDK*%4>-L(yUSy7y39_u(HF4!19;Fq z-O(Ee3VCrq8ji#xqU9Zxolj8z*>no>i=L;RM8p{*?+g06qd`wBOa%|(Az#evjk;X{ zN{4m?%~qe@=+O!Q>mj90uK<9JMjc+1-3gfuMy*;6`VxRu4_H$5BW_j*^d3kz_NBPL zC)I31`^If(%d!UTShpaaUDs+3-ZUqc8_fGAtHf;IvpNof@q=txU#V|2JG+z4;!*$Z z`QVpl{a?HsybFCcy7I;3%GaasLc9}+wiO8sv+&Ppy-8-X*wOSGHp*|U6Z0DIH@)wI z#9#EUK)g0g^u?eLcIF#RrY~Yog#S!mfRO3S!VtjpP4 z)_`75Ji!}poB^LJUVWQW(uvyw(7Ki)|`B-yFPX z4_`L>uSg>9u894MJYw>SAe=5s|JMx*w_0rwBvz;b;01daJz|ePb0uufI|ReF?z1v^f#gMf}>Z zkI-wksca^uFD^?w0vR0+lhX+XBSKH)^I)*}0I701hR$m12=pyhdWlrk8VK*Gw21vS zr6So%FPExhd$Rp)g=AMH2YRJ?CFrZRDOC=I(k`FTS7KEYdhIs+EtmiZf6?ak*nNm& z?U2LkarwM<52a*V98O?ZXQmb?YNJGFmAfM5R5?^Xth7&?(;CiH_~Kjo67ViAX7mMm zD`F8>0GQ}oKYzybr6E}K&E;$<7{uS9Z{zq900u8vGy3vAU>?CM$JADqXEolYF9VoD zfg{SJrUh5A(hSjvFIFpy$LD}9pa?Wp@TvrT-vk8b?6bv7J>eWH(3dt`_FK_bHBv8w zdAvHql|)7P3)&hKDwNXo4sUg%jYCK0c=44p_&jP531Z<6qYMAcjLuU1lS1bN0LImk zuC{^6Y@-`%w3DrFtl0}x8ty#!+NT9kyz9^Cp7G4SM)u}cM zP1^a&^cA9Q>o_bQnPNB&3j}oWaS?O{efj+Yy<+M}w4EUIp8XDep&5NCaCvL>m(g1o zy@Yr_Jpx?1(8g!$yZ`Q6#Qfv6y?>9t4ths_8huNR7Cwzky;GY^s03`k3(vGJmF=k1 z-bDJ(o2>ukd+*H-_wW4ZJ;m*7K<};jkFKpQ9vHQ;at6}5EXx}Y7w_M_`)GArwiif* z6X}@Fq*+^gytp_&x3ma-w7hit=@Yrr5w4bDmqEm}1DOp}NhOUg=i=(}jk(*PFU0h{ zy0ma}b$QcZpela-acVFDeQlB8y~nFJ7jA&Q6a*~Ifxf#2eY{>vbZCkK^o3DgJJ{dT zsy*=-Fb@Xbd2ny}(IWu($^Jnon@e{_ur5Gvrhf$c%k-t%&b>1z-#wYpmr~igN2wkq zTLHaq(>F00QfhRo5lMwzey7u+1%1s1#U~$6t8Kjh{y)&_ZAPmC0M^)a3bR_RQ>e6Z z&{wPFc4r2i!DO{NX-lrd?({f7U!d3LcT52+=u3@ZsGmFaxC3SV!H~!Afr37N2*X!6 z7>$ORzHq}3p*J1_eIcH627L*@VT}KTUVq#djJteMyDMU~`3+`20a))b8+}&2+p4k~ zfL@3q0=v^?ci1deyh`TD+OT_W2AdJkk&q>rTC*wb$@eYeb; z>xQTM>MdHB6FZcqy=O#sCY@*}Y<50!_|`rC8?ofwX6b6bar?OY)05uMUi9AqeP0i* z0Ki`jze6RX`=sBe@07K(f6g8e^yLT13X96mOyAFYSHA4Lp)aqw*7}2LuV3qS>pg_? zRGNTuo)g_8h#FwE4-uhrvLYwJizJaryfp-zXzQxT*DWHzulADVcC66gZa;{C5MW}U zr_TA=Y^Gf10fK8y0JpQf`K1v+cmeyHsCO~CCF{*>6Xv+Z)idCOA>K!X5emvqa7GR@ zqZ6v6adZJuVu-LiQ0?@E&}$aWT_3-O8WSog?cbo&cYkZkxq?AupX^78>iu{$%pw#Xss;xk_1p3NNR=8NH zL9fu!wmeFjP;E(6J5u$o!nlv%PG(lnhbyNO zYW8-jh!XF4FBwOxg?1-dsfNpyNM+hb#FfustmkUd2n9%-aVBbh zv#c$VweAJ}VlE@aHi7*hT*+{zf4BcGwV4 zUbK&2^BgrZxOR-!{|pfiG@UsRRX+<8nuM6Wslxb@^E3Dk|J3CBH-7xVKY2sUKmPQ_ z|Jk4YbHFn{jdw1I1njeE&xsx`?c?_N5aSQb6Rgj+Oyvwlc~{bDx%eO4xjjABl`H?x z?|!%X@yEAT@2#n1wq!I?%Njzi`#TRmUAlJT?%c!eHM_@^%w@ogt?j2PtBXr_=WZ`9 z+*+8sx%_ZnYYOLzkiz1Ae4sKpa5a>?q0q+e-tEPu8+Yce-??#P?&h_*Ip~*n@7>*% z>Y~|5dz|U@i{o*ol-`x?EZ@DkxNx1eIW6A&aCLe4VAq_;$6!K4?@_QE1N@Fs<_!6h z)vP_@ez3QG{oca0hpUU*>*|0v(QPHV({dRQS47~dL>O8zqUL)O+F8^;5~2rL@zEqP zK8%fzp~Pqa!HCBY@khPZfWz$6=`6~nl|MWC*q`nlY8`roO(wTW6&4ureWhL|*GjlH zfLc$BPl&du9;C}@@p`yMmDOdldmJvm8-nExhyBrLJRVQtfAL>37EAcTK~K;R2MoCb z9z5R}c6$>6e)R0z(Rf)FkW^HCA?4|V)q0s9xq|u>9Tq} zpuW@PwmF|#eVm*F6mXDxGvUxTeRE@`a(c&v)`|cj{snt95_p2okONCl_Bko!QCnO-q1IJ zvs2J_x>csygEgd*J-M1MnQ=xE&QQ?m$LH>kB;)B~u~4sbwLGqp0s6x7aklLqt! zdI4a$Rx}7RNmOR3&TXI_?h&soYdkS_)cC3m6Vq`EFyU>JjVwm-^^ z5azzwZN=3tMWz@oOaPc`(&4nsmTOGkWQj`9a4d*xC)1=7k5FMSoY9w~oEdtVz7TU4 z*9C4_Krhp`dh)z-j@V^N-~8x|63uu<;SF>VSg>YnPPV>WT$$$FvgF2plRt+UeW{?w z;1J?@?*`sivt@ERr5cUi;lcS2V+Si->NG7r*Ke+0`}SB@uKa~hJ~4;={!-4B4nI-s z-dMf$(flWO?k#F;210K%qSnZlR~GIr&qMReOH21wHsu<`ov~sCQRx$jdRuJ@C$rG5 zL^?(9?K?C2esb&9?WfyH7`$39);mHR6RkIJ=`F0xvp)uXZ_Hnx+gexoJwR`?O}jKh z<(k4|+*K)U0dKOL_ojk7nuA*pmp)y-edF;xh1(u()I=&PtqpVLJUd#@mn!lK`qI){ zhw3GWgsiDB@PfV&(>FC9QaVnh=!{2A9*f=uiYPaBtFupNe)(Uc2c1TxT`sdoq{bZx z=>2{A8m#6Sea&7F&uVkq8Nlp%L0sgHXk7!XN3crvi<2)Vq;@LK?; znP*Cqjz#cwxC1_e-D+~$aaaJ`7j+VV<1T;LMw8n?J4g@ovRrPsUMtWG0Gk~q$Y7)G zOd6LG00vV*R?rvP)jk1zcjZs0H;jw{ytZ@jbVI!kLhl)OLEi(T6!evrD*wewfy6H5Acx1W_klwRu|DxPEuXHaUPI{ueC$7yqm53F@ z9$Y9}A7-i}C|wyQOZ|AU1I02ef3)lgrVvjXtTsw#GMh+7qtW58yMq9pEfj}L{+QMk zlsjDtms{&_YU~bB*%6^xnm{rUO{GM+%3`Ka#>WUz;jJ_k-m-)Xay8TRNuX+v=eZGeGP{WtWM+0&#{H{v2s| zF)PoK8T4Z9hAW?e?D;h0D;4kv@5%#uVTj??O1%z+1;ZgQ+=PV{4x8h`{Gn)^F81|u zPk1mGFbHKc@X+3L!j*^xa@2@ATqD6GWk;}FR7jHF`!qxlb*T!2e!dU)Oij8nWonC= zDg(e&^psSl_F|D5HTj1xr$5J^&!5beplE}q=ozKrbxv6*vZg6DdVC2VTsgd?H^S|w zCX}v>u(dfpg=eh{52;qyv{Hu%YDKln!ua`~=HH(20J{6|Z>9TRa26hYWi-5q5K2^K zsUu40^+Va5H4seaD~-;u(QY(5%}B(#xA%DM(Ms&*r+??I-VA^L7r!_(8e~Spz0D2Y zN3^e3VB8O7LkhEU{@%iM*wcmEb9d+Otgfu>?OEM!g#JdSd;LJVuTa}O{zNKgFj|*a zmTum>e)HB3fFnOnX!zchbm;r6wK`MGcF;ArRB~@>kCU1N{hpp$)sZOh}NLK_i*LY#rd17%j-r{sL|q@%s7|w6Dqrw z9`#e>eqz*%j|UK7oS%%rS~9z$n=gKv=BEvNJp0YG&JJ41PSp|h7`zsa_IGTt;ViWSZJ3Kq|)pvRMb6?3gH>l2D6si{nA31*KG=V^j-&s z1+(8__S!8z+9^aet)l*5EWkU9M04>3>@RrCy~aaPnuvA2B z#KO*)-x2khT`mlRTQaHKXz&EWkSiF3fMLMf8}a+1K^(^)@&)`h$m=z^U3!Pp1ex6y zh+n75q0uE~l!CaR z@1E{pTeXi!Xx}J5Fe&!5%3X~@X3{8adW}V^GO4vDslg&Qn0M8>4ftTQYts?i2p6Qe z%5JfKFzIcNyIarN^Uu2rUv_@=RrkX$I`2V1?>Fr$U$$sgc}iuGSM_C+?l7V8Qx+Wa zSKW6$Z(sSWedY7cwA&!jH=2#q`qjdq3;JUCpm>v-nhp4txtr_Jl18f2%HYmum>Le4 zzJ=a-u6UH}s4H3yvCxsypxJmrieTt2Ujx@)=}e!nLk!|MZCxUDFlBWvEYA=y`2e_*Y6EK0Ttv zTDY#`QxI`RU($F2`-?LN0H#4)(3i581>?oWR&bX^^yL|mx9Q9IcR=s&(3k%ft2DY~ z^g;k322FSuf2HWH6n(W)s9wcCxd%4TOM8Brb=Wn8m52rTjVpRM3}Kc{o#@Ot7HuOh9jaaxR|s zEq#llLwsUF&!PP28RSa-OCNsvpS~gHAOG~{|JWY~Fi1sWAu9|bYpC>*j$euuiw6X6S{T#8t4mD&o3|B zc<^w~Xbx98>CS}f;rJ8LN81|Yc4xEO8sEz#6tg;t@} zhU1BJI%zcNA3nKvd;Z4NrG-a(JJw8AB&&|_K$&Y!{@NNDH8?sHTqplUknaFuhs7YeYqGgZkfLEWQqVBjYq;UrZ4Wo z1p6XxZ`fszI00Z|%wdWg^7lHo1Qn`6>@bq9`s?!3!-e3giwflVV*)$O?vavv4 z95Nho1_Snh--6-L44MfrTJ$7_-*>iT`EXo-`g>79%$G0HBUfaXkW6oy|)ee z?y97q@4iB^quGNt6gvR$o4X-5g8$d5~*_wOVUt;?5{v!6i)JK8Vbl>@P?_H)Z#Pof$%@-J^pU&tDai@Kv zZz68&b>oeGwmHmE8J9sjH|%By9el^>UL)6Q1I(Q7m+N$(3`UJURU05r&^=Cz1f_KI zFjZ+q3sugvaz%X3u$R{o@Im9_hKEbnL}~aA6()r+B4h_t$hUep;?c7KxRq34(eMM(`-e;U0oTj?RJoCc7Eg5+i+E(WXHi|2!sl)n&K5sy6?j25$*Mg<{`;O

fJU#l1~}{OK`lbn)yce@eAA0PND~N%3TwKZS!(dX&ht;+bmpf5qW|Bx*r(HwAWw z0Ew9Lr5!R{MY4E&SvnC*m`5}xjNq&x*8Zm&(>9xF|1m}vJWi9rBK(qy@f0F1P z#X5)4_82F#XvINIo#Ukj)kbVt-q zzuLuD25~2B03KWi>?!ZMJHYtPIf?iTNr%&-s+3VR8siVaL#L|LR~x@Bic>aXr51!& z#i1CT740M1MJhfSd=&UVxcC>xB{UT;01WZ00J~Uzgr9?3zAv6b>qJxG%B9VI{qk^H zI}=E*4i1YWYA4JI84ou9=q+OY@rLx@VNP?kjgqK%#T0*Y8PW%cD9~s(KYYBfa_<(; zA>V!Ya7!Zj?f%|BednFo;r`lBe1u6e5pjN zkdhhH>w8;jvo4;9`h1>^r)vvyx98_Rp1bqWt@&R;*YD3kH#gSwv2c7ahH{-osF;!J zmGcko!uZ}^y1B5jc=y4|%GL(1CX8kU3}vH%ub5v~D;~=ZoIzKjko34s4<9bVBHy}m zbAD}8<@EX+qe$;0J{VFD6&T#f7_lQQZ48H^Z9ZZ$s(c{;%&-T&dR|bO)>^GS#27^hfRj4&`jamY!l?RYcuP~a_ zHmlxgHxhu|RvgFSwmUsGm)Bu;8=PK~%V+Y1tbwrGA9B$q-Jm}lipJx~L^6htE}V#j z;$hh0a5Cgi1|eGXO$J@bkS*dhg}jz1EU(8I^Fnav+k2b)(jBEnrqar-P9wEK3OOw< zqtv3;xNYDxj53dJp@cUW_ky{XLCjSA8It!F6v+_DNF30bYhgC&S~Ls?BZn*0yecOS>o4 zDl`_o&Z1NsWm@f?D9}sYAPmMmt5q5dsFDd&y`&!Z?C0%A(97N@&}aQ0L%ehM%ij0D z9{%u~-UnZ`fAn?hr=;f3ziRvpx8JmW@!Q^yzv;aHhR3-5&R5O%zi$1A=xZ`=8^bW>6DaZ6pHOA3OKb$T5Q+a1JY7GQ=?!w}?L0&{k z*(^pY3=@DW&ey_#Hs<22MLdo{vvx$=H_5wTSnu?crD`ah3nVh0Xp$>JyJJaU2ICqn zm<@WAb1O0@nZ7(b+B^FK8k~}VUPx>Ue%&~F$@GPA2d0O296|NL<&?pL3kERmWcnwx z$layHhd-6R+1g>Y)JYdw$y7NS&AHqWhcgKD5`aTt$RAI7V+nsajwp}LUqN30l};cs zm{!o&=(d8s)b7hfv(u15XJq;+t!ACYX0SPRE(b`=YsO}u2l1&R5;3?bSIgj`{p?I% zgf*Zq?M|+?fnMBVz@^yU4#t09U0(8Bytaxyo@=UUJl!~Gt8Ia7K@U)%>&Xkp?F zed&(a;mT{zQ|B#KN%3T{TX#xdTG|wu%$d;{7!2Tf;whY*pf5i2LTeB!SAA(Z&jF$8 za7g?Z4d13O0hl{7iRhs^BIHmjTuNv-E_FsAXegTt*2>9V2M!6hp;|LM%lvA0a7;j# z0ZezOm^N)w#uK=acCyw6fa4V^0S)@jgex@Pr4977QY&@@ltl3_V3pI*W&r+E>C0kH z)35wV`a--L4X;FK0{Zf*5c}!k(Mz@SFaPkpZyWF2nESiI{2wrVaSH%5eYr9nKD|=6 zmnmj7M(u+~^Yy=k zJ%!U2$wUH)pyXhEW%(B9yZT^NVzx&r4WJiF3`aBi(zK1JaR&Nw9V_001ZxZWa(!Q* zmn7l8sZ%40vb!v9pPN#sM2}ve7xDxxpf4~9ag_|eAO8pa0dG+3TVeV}Qei;X6Zb=bRLGqQ zI}<^3#0P=C?zrC)a42nBFwbD7{Z6=}GpQVIv(;_Vn3P)@`GHYu^m{;Gd`IqB)E{$$ zzL8WA0QN^oyj#^KCQxZv8bEOw%}xV%OT^m;fXx=8$!yRXm1-TW>;k}uu>jz0#V#nT zknaG%Qpwi--o^obsFWONrA%K4=mmg5U&Lg38x`I%7^Ff(U#`(%Hf`E%I|27Y0C-Ya zKCa(?*7@i~_v6n89}s}W&fPD%?|wD-!LR#20f4`0|BUI&n$h=*=CtA!wLB6#fQi0} zr#C#>CzZJ2s1+WKi-TdVHmp_qRbC0ELJ*=?8VBGIE|ub7!styl$Fce_Sn2qR4QINb z55x|vwtb6LW4DP34W~8e4dqg)+O(`Z4L2O*4kkDVU4Eh@Jxvu-8su@VJ&Ke&!FAibf+0{Xn2e-L*-ER{>bC)4u__7llK1VNJ@1{rn5ldI8PqucoN}*DNId7v z)t6fR)ArzO#$X7eFs^wnF~jeR`_<$+hg55N+V$ZuU8A*LDsZ37h2t52Ama9l7Dir= zGZ;mzz!}A1xb|oYr>D;wvb+5VDUDt)Qxhmv*(~^QbXJqvWB_`V27_D+^qMt#yO0%9 z7|n8nNn$eW8?^g+oV?0Ct$ar<-BHUo6%wURueVsNPM;?b4aW+J6iqfJD|OBiPc-WB zI?afN8x3!{ZqF7?u>@obhfRTi&Et0kDLx3M(t$$Wm(PVNrD(mz6^wyNvEV9-L7u;8 zT)dp>^ch4zA~cFhio(fNkMQ^lm}3z7+pW51)O0}@Us~}Mp%Q&r40VX}oTsEbJ}sS| zLFKb^7Q11>)d{6~HO`2*1YN=DHxhI_qBLNdfEAO^5XWTfs)5+b8*Bg}jExyZ=m}yG z6u0~cEr{Ygx6i=q=SJe&xOjFR}#DFq&LO9}Pnj#*L z@mm}XFnXE3yiJ)xBE(o?o`63tuC_rR+R01Avb2tlPwenH&+YR&!iPqwnxalEm5&zX zKAPim1T=&bUUM{~=IH|B4Da_82k(5JUPhCaHtvSTq(1Mg-t+is+rH3X>- zw^ruoKZHcd$(wWcmK7#_IG0Bx1dom=0YlSuM=~~sAKb>~_oB*fM z43w%q{OE7;2k_$${!bbct&i%=dMc}D((CnFwO*pq9YDClYrSTh5jNNBb9y`ur`zao z8Qgxm04>os==Vb5AV^DhAi#H~pw|_^Q0I4tgH+!tnh5z5QID8mcE`#4Lfoms74hH} ze+ypIpwqkT4kN}inbKl1d0g}_g>qk_k*Z8;Ysd*s;|TVM*9Eg1a!+eQL@gLHbCO0!R!fF{qwdnUId{?i;92))U-W2W64m9P3LDhT_p8o(Uw7aCvj4$XgP;6*@cnQ4 z?|#{$Y3grUq~A1u^oQ*ah`tApK9R3oH%jlOeDZoD+UsY4UZyY2IltAZ6axfCH_*4x zC-0kT9Y!jBf1%|m)E()PDUwusLlV0k0Oqn1wvf-Cj&nCICO4qVrPX;?oxnbDU4JiQh4ZC!i; z0Kcgzpo<%K`Lq%?*vk z2)%K=W=O5G&FD+$)#`S1YG_v@gFs*0g1+mr{e8It0M?o8c6ZPh%tYeUhnR{9m#d&} zve^KDL-jfa5un$a&Ksj~b3EmY$GxdkJXc5+O1wrGsg$E4F(=h&;o8nm#+B2f`o%OM zd4^uX@LTjPiY@}6EQnG;H1meO{7iPMlsp9hUtBPK>!Ts)+dDn!pPk~C{V^Ynms)4& zh1ltWzLXu!H8&_x>kLkMCg%FIvf~@{){drixR?i^F9CRF*WNIO@8In;&t6c9^$9Ts zkIM0L<(e5t^@^4@k*UCoCg!o7ZAm_oUISR zss=R;Jmoon!XYgs=7!x&znyJyo5BvfFP;yB&H{Zw?sRvM!!;xC6aSU(RdePn$v(XnaHww%D7%^yT?{JO|=Wa$E5?-Xi87KUn*t zTAw=e^GY*MNZ`o0^fj4Qw zPFkmVdE?=odyDYOt54V5k#K_A=J$YJ0_t$cV*2K&v&Fac1$v8v=}t}-&pFTNix3&q zcSfVsqQGV}m=sHQ|K-^yxwY2@dJQ&&<_6H0(5q1@wfjIXZXux8WYq)PfVU4rm&f7q zm>|&C6L2tnLjhkT6pTm1xP1d)AQ_K)K-`ee4FEHJL(u>P^m^kFpcnYGMZETy&mHyh zT(mXd0MB$L4PYDe`QgRYYOU9e;{-upm0F_2;0OO5a@r$qpw}97i-v~O8<^IE@w{k+ zYj@ZaQEM#Z2zfwXN|_G(@k7{km&-#%IjlB7op(#(GcjA$dIOL;CGM7NlRCnwrGT+y ze;Z-|@9*#K?d?cp3YkJhTc816tsJp}RK2Y>(wsA-*YCegU$uGNY+G=8Rx*ht0C>`x zA2sfrw|)$L-o5hWKr8@@HQ=}D3jw`fb*T{{bw(1EpFv-U=)3>q7rT#szV+m%^1V;& z*2l@XqS5j-+x}`l2bKHnQjg9>h}*T6#(hv3=U=*3kC$4ZOvRTdIm0y?Jb)V_Q0yxcjbB~?n@I_9M{e{E>X z)(!EPJ{C1aqSkoAA5I1%DSs@MDVNL5POS?7(`sVv_&FF*IeT3@|BQDQ)h|A8Tz=8I zBqY=>sKpIULLR*;pL||9{jz!dW%ulx{_)rC$>*%r__OA4x(^rthR6z2HyA4BmG2C* zEvjfAEYy6dqAirvJA-C#lrxzDe$pM8O-rGEBV?feS}|Act{pmlssJ9)+z4e^2FV+XMykgRq7vVHLiFypX zx^zZmDA+yo4yeZIVf~o$1|ZJI=8P@&%7wF+Q0eqF#D4{^lM<>gU*J$&g@fY><}PP% z@e9C@$P|j2i#(eRsMDpBIUyO~k2k3{Dqc^dR*%*jhzz3DIA~DBiCxkB-nr)^J|(J5 z@+N%2*F?}gn!03;C%BTyG;%to@Pgmbl<^!135l0Vof~YCf8`e+{$FR<_~l3csVnv` za5m+1-dk`wJ9?2BK7(TI(`ccWtd8@whAS9;y1B8md>8b6@btdcX-!6hf8+MI8-k(X zhrhb@U{z{1!X`p$y>4T7M`cpRa?xnYAyGcLv+(oV^FQOgL$~hC-I-tbboKGv`i?9Z z_P09O{vh4$#mmJ5z4q?v!i_uEIEU-wyURqz1H+mu8rUhY;`OW!H7Wtz_ve7K7ESrxs?^@SBQDXeAo; zzFM^hVAE8y-R{7DZnM*40n8{nhifv2{M5w=Mj{pq#}kocGMtM0V-Y+7;@!RB5W)CW{T9fX-~(*UNS^2OEl=JsnLoZ^?JSW4K`;nQr$spuPPqiF8+@ zkxR9TeZ7LLj(YDvd%$%Rbh>TAuxX1*c$znKrggRDk;eMOV18t_K8c5)lYBuMRWIsSHthW9{u3+-us_*-{ZC3U$@@-P5b>n*ZldPZTyVryYuj8 zoA-Xa{q$#`uSz*@vpfoh<@usD-%OM{=|ZPLeVaS2(ttMnz{fCsF|5$$q7uAd(H+S< zLK&UUuW-14UH};AwZ+2-o%=zbVMcbfZp2K zS3oZ`IQgb`^cAaf_$2^L!{S(^!qR?3nv3Q-n(2BcQlPY9V9XqdYh6Lm*XoZ0y?8x< zF652l6G&MDVY3&fB(>8Ad0h@0Ezj5-Gx{nmcAyvbmq2SW1E08BR3-~fM-Z0)OocKG zxC6?9z64+cX-BWw)~RJi@r&X)a;+BRhOxFfJ$6K;k)$u34(2Ic7K#^&k!(JaErv4% z1P!5Lomvz(TG3`3xBf<*=^JUcFgjppUEAon=u)@}*EVhhJxpHC^i+oy1F2%8%FTP`uWNRI2zz0GQXOsh!b;b`R6k{mCT&{LiN^xXU62ix~xeKGT$% zHXe&5gY)T3KHd%inA-JE=OOSo?o49^@pb1$&sU%P`!jezyUM>-9v{x=3*iILk6+>z z7%p_q^6k??y{Wf4?mc|4yt?vm{h`*R3FW9n^M*n(`SjCok9FnBzxk_QMuL8zSL<+Y z@9)XfN^jH+`sytE3oD=8yz>(PnCW|aZhm2D`R1dIeY4Y9sl|qr5SMJXEq>qPlSgxl zx9=?6ymj~X&83?+9z2wot@vzngTqpP2ml-1;T@$B7d4`#aIUzoHQc;^_m)8KzTM=i zlv3k2+#OFyf~;@T7Y6rj`a(=x{^{HF1$rrQGHBC#j6kp6?s@-5|A61_hoAm0c{i=e zNk#OSzSPXjs4*DiT;mCM#1gO5<#GYORwqbowD=q}oh#_;3B%q7ypb>lSfH2bO8`!W z-BG_NGwBTlUD1dy8VSJr20{+d*A;RDz`!j4>`Rk44-51)+st;S4ZlcBahwk@`CT|>o^v+%?R$E~roo^I27z8nGKt~T9!%OJ2?*}XmPp#uX=^HlL*alx zF9A3Z@%h7^AeC~my4@tZlZIT;Iap=a$t`LYXIjAlLo%g=CYjX|nRI*qKu9G8fW_n@ zIK3y)OMqTzS{>T7rPVz(ST+G*rmxBJ7y$OU?nZ+Tv*A1C(<%V&C{nsYh zLuGX-jCPsMD$$tsRE7h!9+Iila3g3X>6bnH;mt2J5Ubm?49~px5hF zCauY3onA%RB;-$v@*Slj6f069ZlsD4xfgEsgSD=|)?!6kJ-8)W>f^c!r=NqkjmvN9 z=U*dC!EO8eD~NeamiPF1`}kS+?B(F>71TYu?3`ZIPET7Gm+i}EP~#l@{){Je0ZX2> z#`ueYo8~0M=a1v#;E06EC!Z78;GzV5nUoYNoj+sYE5jGZ_u2b$HZ?n~(kUoQ1t_Qn zh1k&q{6HeLn3BS9r*ulK`%CAi#j}&b#cA>KtZ;swKRe5voC-?`Ew=> zbC*>Cde8CvOM3Fj^XxIzj4U3}A~Cr@VF#NcqrNtLQRzPeA>yT>BVDm3O5t)ZO_fRs z$-a2S8!P*hRVY;LXZk1k!&Acl>C5~vnLNsb66O_9#95bU)FV`Pg?uw__N$EgwaF;g zYlbU13awhTWV;Cg!zFmx@iTfEB0>WBg#GQr8f|>tP`up5YlsyZ2$Z2zrNjBpcrWyJ zPF~TJfN=jbnSrlZBvb>I6jzCvB#ut-e)%m!h`?|r)DK_OCeI<$1my6A@spNkIxYvDJ=ivcfR-E&Y*ec?*Bg0_yUjTj;PFa{^)h?aN6Uc zID(}RQI z2NH#($z|TzeR$*6FXwK3ym04Ja2NV$;nB5~^`|C4~*!UzMwkWlion1AMuMx5f86a9|fbX=y5-H}|<6AN1WHly3DaTu@O z{Gak0efRtSg-n+QcOk3GW_DN*lxU1uE9itX2;o>h(vWp;(+1}Us|ODN)rZHOeRw(6mKeWXz@z)IwJ({t~F>iCONfjwMtZ$1A|Fo zv`9^Qsa~^Zx5!-%Iy@8#A0$(%Vo_GDsSexg&`IaUS@-7a?g!9kgYVDu`QUrdH@)|M zJ$Rq!d++{F9zFWS+S3nl`(W+8wauSw?cCZsSg^aL@w7EoPGws~_P*2#u-D->f|+tT zkfnrA@1_Y7`!$KJ4(-O36W&E8__CULvlCKwpR*FycO3qF`sadtAYY zAn2Q~c0$E!AYZoS%KA8=7XWs~YEZaIfjrZfW`hNNnY*|JCV!v4 zos$=!Z~ydVkM0nCtH-pIJEJeeJ{a_+JS;Kmh(Vd@OFI7=0(}X2-F~o38)*SEs zlrp)fTohNam{5`PaJdw%RpELm@3-3ljANBzq?C6iBM{R!TrCI6#b~JpD-445B*51)t2fA0F7zxRfifBfG2{|~ME z-vE6{hpzx&ZcSF6T+q(`!wCRva=Ua6J0OuM7L5+uqs?`o_s;S%Zf`9u{R7cShV}=_ixXA1p3~&`4Qz?%`ZS7!{Hw2+=Vv&3fEde*t(-q!d^3dmzGy< zJz0OOQ0r602vueVP|twgJ+&F=g+GgAi)OcfLngnmyz+~s<%R7%T{IhP4ikeDYA7!H zzNE*vPtDdKyphuQoM#|v@7apctxcJ*!9|s04>l901Nc0rCJ3>1|XS=Sb0daeb#H`y2@t14YGM1psy%15M$T- zHhp=|Cj<<8Vo?AX!;2~82YsPH*iVHrM1Hb29%1^j0AQE_A-^TyfoGtFGo4v(v>Uvz zyh)5vzElFobOZw`(OJRl4T88puPqR>2ErD92v$dKFzqXq3cX(I_L}@5TPSG{VFIw*4ROWa=`LZ5Qfi{MGzVHa(0d@2VT2_Bi~sf& z5~eTy7Sk8#RqNDBgM?(-XZk{BgUn(g^qLF@8r6nYy=k^Q^apk#k*BfPMys$gtUm^Q z&wIC+zOVc5zUsa6taar@_q(6<-hsaA{9sDorN=+N`{WmQpZ;QL?PseSA3WIp+1kc0 zpo6`ecI#R!VlEbZ&33-kDb(AYO0!jI^a|x>Cf|xC$^fC;7Xf47@H7sy!Q-%m0=`TV z0eF6RG~3l9Qj5jTeX+WOVG$Q6XV|B@bi!r2hpF~BQSXL|bx$tmNTn^2DC7!9ys-p6 zWwA#aAy&j2%6Nh)Zy*Et0)=q2;?LwF#d4rh3D&BCRxR3ZWe&$s`S7H6a?ZA_d-1G( zd@?$H)jJZ+#)p($mF*!2r5vkL_q5PCDKv(WOcmjkBbu;;Lgru)v75#3wMc7&ZEWI3bii_kqI-=pNWCQnL|KSg5olm7($5bZ&#fs#2K^a-&YB*F$QZLavr_ zj}G1g$2rduwPjCfqFQirEzY(Bl?rEtTqT!lRBFAB>8rB45H`a8%1vgaPEY<=Et)Q9 zl`@k~ZZ=XiO1IPK_t+9~cQ)hNwZv{fGcpxZC>qD~KH@&kVD;!BLBv9X+dG z&>}9g3h1o?@KcemnhID2GP(Ma$Y+M|Tg~(7QZapxN0+eO?10Gx6O3tD7w8oLrd`6E zlQo?Yor+p1@X?^!`56KQh+YysUqGGOE4{)Up1);&LwE##sC4-XY-akVkIo_Bq%^A< zEqW4gE>dg!qI2|`^9QTrvy8~zk5_wzCPK`!XujzT=e+Se5SVRsV0v(Vk_17jc$)%K3LPe=slg=L?t7|bTRsc<>Q%13j#w&CYyzv%Vk=qg7dl56zH4JbCcs&k zoTqw+@zxjuYZJ9$yxfnK;Dh_=8l3TQqIH_;Ulb;H$nKvY6canDkIqSN;+Tzt zKhc}v(a!%0zs0^8ze~aNw_oT*vO5Xa@u_zF@w7y%S$Oc^#?sRD#f48+mY{93{tJWV zKY#yQ6Z{`uyV}J?s+C?}x_M*%`t>{4uFl_vZroqH^>AZpTcHc4F$ffg7q!VK)2bWY z*87`JmL9CktuB6g@BY>M4^~xXO)MW7oF~Q@Uu9suT(in`eGJ#My z6p01HQMW$;c3^O`1^nDR7{-Pm8gN_vE~m?CGV3%dg<2`sTOB5++v1Da0$?^}+k|6< zU^s_i*&7P+Oe98ca2>zS&YQNG2!X+HsY*Ky(Yt0nw60aIsbo6}#jZ-Zuaxg8WP6Iu zUD?LIVqdP6(M#3KrACF!tWp|P5{(pN?7mJV)f#1bktA!R?llM+q$bIM@jz+KYZ4H?{)V(pzp8YeS7Z_eSzMUwO;|f z0Py{-pWfU23DEm=>z8Yff4TAWBaQlLD5$U2)9r4t+-MXk)qJUuDO3}wYA8w-gN;_V z&Sa(*b@-Y?K7TfqZ8v~k3@EcLJz`*b0qk*gS&S@*i*a#cjG*QXog)P4aAv_m&66%# zVljO%r1SX=fe`5Hk0(R1B$x;KLZGiJko5S{4tK)lh`T&#TR3Wu#H^{5Ba^Y_QpR-L zfq0=_jn-SSMmyE%q`TBKDO|1;nQsYU}K>_YGb?+f};v1l93*hq|oUZ$@? ztEJN6TBX#eW%^PNC9ewskUfeCl*4c1i0YIZ;Zu*jh1`}n*6Ec()ZD)Ej$ z-{Qp!&^LW_nGhXj(!*o+bMSC))0cZ+)2>QkvM~M!u!I!`);QBlCrFcbrp&T0l&v*_M za250=(2DoV4jAag2Z#r0>ihIHj>GiLk0=Nr^iIx!-ruJ$-s6nExML3dg`fOv+8Ph~ z`1*h1&io6%PhT7pM@H0MZ1r#rK0VmKv$_KMUY(!&aB*(_>0?VO8mtuqF6+Pj;V-Ah zx^m^8e)qfMJJ+u+TnBw2rtj62M~mybGG`c{5~b0>8;pmhfbZe<+U?ba#rt>X?=5}2 zvU=;u+O8`S>KvwzUqSeGw87YuJ?VkYNX5kpMWw}he`|Z;(c0~M57#tiXQmAFCPt@B zUqbKE_-*>~PA#S{=Lwd_$4p-m&r1vXRtMuks~65EoiRU6INPX|!q0#4xA<-S?C1ZH z#YwBH79*k8Vlps&fnESuW}ue0a|4@p+XA~(-(s?gdqhZ2`KA@c@6sk;7BqK0lG7VqjA6$^bOOBVbJAw+k7^?U9Z*~ z01La*g+B%W1H(YC)@ZUII0%Qhb1>XC06eX?<#E{TCcRc8mr7JdGt<}VkK2PuXC&hb z!h@yA6oK*a1XX!Tq#)4O8lWC*PH+rNHgJ>R?B6u&0wM42l_jB^m<+zoar)^)?&mD>KXX4f}iA%>(_G-o6W2 zZ1)__hoR_PEP1z@zuB!XowYs$fS-5Xf7$y0=>2l|?r;0=f7AJ)pzqpMX!Y^c`)k+N zpI&|Z_~XroKi_`zi@lZa%O3q$x%Lx>{AS#?*-9B|`5=_d7vjlOAdzzh;}(ZoV=!w~ zTC>6Ibo=9pOrbum_s$xFS5R~CqBD90L%{W?I)|UvsNp#^?#>LKr4dVZPvVUc5Ev;9 zLWQm+U)Clv62E`T;ZS=0x^UDPNl{Opco8F)J)D7Tp)_O>Q;*~(E9?73m*u zIAjdR456qd9MDBW`e@RW$T(72XBu%<*5QqtT^^hVI)|OBXDF>knZ*K0%yzlWrLj8< zZjagTumoJ@klPZbsbHg-jw*E0k)PN+nfF|A*yMB1sJwNZ9UbK#{n3h zfBR6tIDK+-G4xZ(n@TJ^!q8_8Q2CXd|+CKCwY`|1BSlIPnT9o*b6X zj|rs!@aZ#Xy1FUmIqSzq5Lakn2TbV2pBDLggc(>pK~tV<#jW@eZeQe%&l1B)xZetN z>d{U+Ip~vdIXa_XfkYlw`|vr3m{c1X!z=vF=ol(>Ch2N7n8aCEh!(z0fa0Ej@NlAo z$VstvSQZse>w`-~s{}$ZLkj?N9$EfqoS6(Vy*{GJY;zbZwelTGrKZw1a7gV|s@2R+ z4yjD0=qL>OBD9S(N3qUfqBDf04mXBEcRv~;Nq{B9@zaa^=7G!H?(WZd{wc`N`tq_0`o6S2woJK3`>$9@4sUX?zaD zM^&R&Z_nSKyYX=O`h&Y4J-EMRHhUZW`0ylqbc%BTqXGWno<<+Zm*VBJ!fbiCzB9l2 z@aBWfHM!oFZXm2-`ld!S;hdOUK=Gqzq{A1{@g;tWNRA^CyeZL-oYs^E)1D}a#3_pn{6R|`*m?rVw zs!%ou(;tjdSs_2QZ;!G(30P;E!4AdZu(n_@2uun_!-235Cfs57I?a&N>2x?88mk2_ zh%>O<@t`jq@h5}Mu$yvL-4qPComQPur&KEp@bEA~A({l8DiDS6)CkE!M3c`Ng<7GOOE5m~%4Pe2 zG4WVOMY7=C;du~4@GX8!m;H~RZ+cgL-T%(F^j&`V@yer59zDeQ_RFWMA3)o8zqfzy2LQ0*@dxVls~*k0 zut%Sc*r~X7BnI>voqoO9rZrlCUbn*?49D}uYPECR=$|uv+ryXL@oUhRboe;{4D?ne zFA;R72bZb-S*(2w`oetzy}nG#lqssCseP|^*W*$9gT`pw8%N}o_rwbJAVJp>Oqu;j z+**BUrY~-RUdR-TYTSOH7t%Rh2uOh|o0ryW{lO5>Yqh%xoX(Kh6?X=*J^^57I%AC! zcg?{t&<)W^c+WY&_(*^?PtA`N)kJu#ryXs5*|h-+7=olXL<)v0oN z@g19eRNxe+lr7?Q#QpX}6f!3gYQJA=_XEHRof!aD%JDTTfnKFVA<(M;eN}3sMr#3m zfnJNvg>#N%w^NgRgFD7}@C&AVx190exF%p98&6OKdFW zL}-2v=u0|16g`(Fpl{)L0su2MN@veGo0m8$b|2M_4x!(nFa9*=T2DDD=*z3oEOu`x z(d9naZFpN%f2|s6w@RbK+97>nz|4%kz2jH71%Rh3qvI3Mx6m3zaF=?W{y4aJk=8GTcoPP7j9-1fspms;?< z)1265BU~;e`@{U<@$b+V#Emw(5Z@10#}EKalh0x=FTd02w=Wzp&nFA?KAT2Gg1!j9 zX7t5*LP_AFItKy~0GR1ZABfnV#PrQfE`Eo;q-phU_V-iziq~)$&#v)#c^e4<9Vf+qawyRiR zn#KoXb0+^pYh2TrFxIDQO&F}zjm^6c*8abI{RgmQS(@L6&F)}#rl+U9chzOzD_>pJ z<=wOCecrs@-@NI)dHM2rZ_0OdPtPns20%c-?KNT;#wYk8cttA?AkVz z-#CPTUT^D>xB0|bKO|echNB?*^5ep>6xmP#%zb0^pt86P^wt*EaEHLgMZn!$66pQv z*3S5}oV)OSDiMR_1${}82rJ$*4FChZ0Pt)w3Rgf=o~%<2BM2Xv6_P?W0{Q~Ix+(&_ zhHGn{4gtLYu<5%B+7MmJYNDhn1Yk`AfXDR3A@ccJtyqLCuK?+u2LMY3g<^@W$>|Hx z;PWf=HB`e;WQd$_E(!EzGMP|1ol=#oO#*#s=`hf%WoZ#nI+aev;4FfXU@RF0dTI30 z_7uwndef4ck&UcEnRfwTG;!|aE^30KmvU^botODbUzw^ z?nP!n-0jBDJe_zwonD@&cL`~7zyTKLQ9d*RXt=P$f} z?)-bu`7Z>=ycRtF^UGOq@Y$Kz|2_ch6 zB_gq4FcAr-V^N&be5u;(4oc{Z)07Vlv+y1?cP*n8qH9m;%ZKIV{nFB2esR_54SAH4 zQ0}DsM#QSkDTPSRiHdI4D9cX6bQ_vo6I3UsxlmTIQ;LxgRk%+mDeHnx{y1X*t4b^* z#p2myO3I|=bV?G?&&x@&Ea!5$WGo5cbtsiqg`Al&ebK8xw0_rd=QMpz%FWASNVlSv z6E(eOksNPgpho=&!d+|ZulrH4jPk>`%#DwPy>^o zbz^_Gw!4kT=D|L%=g(1%+YC1wntL?*{IlF`^OZBBwL?5VC0mDzu10TX7j_NeuD7=J zyuS0IvHKF@X&ZkBhf)td0f= zm}nxYCKvBst_qDVHSnI{U9ovNQI;zwg!n0d+Li~`)&ayBo zkkv;=1f7P>r~dk5Jg5I|jRYUe>CVqmd-bq7*lsQkD&3CjJE9`;+=}xt`zJsBhx`aW z`RuQRM$damQmSuWerk%GPpU>3t%o~c4qLh5Fy=y8`e~pso+91KuyEWB*P$5&OHFk3KvThCiGh@E$-ygxR})+<92 zIw7h=DYD~$Zzz)qqdSsGC6j=BGzOYZ1;fyT`T2XZvkxCqSQgw7jZHqdM`F3LW@2Gz zmU=pK_aoEL-O$4a(V5xgR4_XmOHD&@CYYw25Y9@|f;{86_x<8buX$&&^I*MqaeHuO zL|<@s;_N%8C*A~lCr`aQdHT)s6Yqe&(3NwqeRck4*U$X1+vnheKZ@Twl}!bb@fkkH z5SgEgheNt7H7isVtleKcstZj3=8?2rUOSz&?5)+uwWa;yaMxSdGCKo~-dwqnE;b`} zDX5j9v|h>>WznjUJ+*5Y$x8@YMz(-nJOaJ(oPv%I#Pd65O)nvv(X<$drQ?ZQCaVZp zRgo=R;A}Pr1B|PPz6=xzr()4eA}MDDJ+3+cu;7%Ex(E6ObTgnxVNC^kS#qdi(kmtN zbtq<)ptx3mVnz{4m3aOJY5w&e}nL z^UV-(JCPBY&c>Gy^Ow{!vh*3-rC>*=4>W}GXRh2 zd&FS2zLu@+Auup2hVKP^A#k_8w}VF#i%Eum1$}X+y-Hse67>UpN3*;~+6Na2A+V#xLC45>(||KnYZTt!b)MVT3Xx(fH{*m+u(X3 z(6_R_<}WQ8otD#q>=*EjF~A4Zptxov!84B*=OQ?I{M z?yac#+H5>G9nHd)ndQn%C^UKb@~JbECr?i-eEi8j{_Wo$Z|<*s{AtB1xJz50ueY`q zw&aO>*T1}c^0NzHemME%2NTD>ymj?%HjY!uf|l2u#X(#*Zw13M@f4--Y&2rB4D^0J zaUS%&j;5#7bBBBG@;>-V=*1y3`r?t(x3KYup_k~(p6_#u4DNCjSN5SM%kxv~_q|$G zHI%HF0exec$j6_J0@Hr_+TWiEq(NVxHhV1X&G#XQ^_=o<)61HBN?8_7i@LKZ*# zw3wl)z1bK%GTu+XPQiBylBfZ|wv~qr%hOE|R417-$;zl^8t4UpH6@EjN|L3EvMqzY za^8l`MH2_f@U$jHQ9)p^Zrb=SEne~p1YoC30JbPN8T2DVt?HU)z+}ttrly`Yw6vz8 zb&_;7E0bTsKY$hOHjgTW3C<}p&jf-l0`@bNkzus3K`Lz0~GyHgCXeWN}Y_~0N#RXJ|w$vmRYkdx-B)|klk8V_2Pn&NK5IQ zni2J!Oal&M?uvE^%1QZD#)>7?a7;{Ot*o5SDr`zXQDf;0U;Q>0j-YD;?+C?XS#rP` zIVT#}PMS(QyD8a8ss@zMT$)9;{j^)k_!S5yIH=hX)r6wD8@KXF$AO|2T(T8#ycxru zQJi_hCrI1nj8=lM1FG$7PC<8RWt8EQk5{d#pp{aRpAr2;)`=#RKqxyONX*T}=Vn7Q z(*a!C>DhU>UIG3-F2$lkES`%eBy{wkNHR&$ZRvC{MaiPkZ4?Ysv}_SR-t;A_pt>cY zP{h84O*3ZOQNs*tdQ{5BWTG!_M6cbXm1E4Qa5u>vXLJ8~>wx?vt{0X3+uZ4HJ?if~ zUEFyw-2G;8k2KiYU)bF1Z66MHY08#nZ4aM!4xaG}7VW*~ddC-fYSd~c7HaA4^pc6azFE=V>C)H>q#Xt$Xir@`%Q%6Qe-STFSldb#G5t8TSs zl#1w0tDc*$*Q(uCqu*`z+nqtTHC*bguHz1eu(w>;Cf{;v?Xa@AU0K*F^)^b46;gG< z$u|WH?Lr0j2Bi26N|n{^6&8oyaM@p8<>Qb%$Y>;%R|~%^{KVXa1-sXCdsNKIsI`=G z9UWPC+2X>cR_>wO3aedc4D;22U2XZzKCit&$vSFntJ;C=THk99L0@iv>1?x%H2gV! zuuy$_A3Yd81kFbmAoheGBdZy8RF$E5)K%i~&-C97iqUJcMNsACjoRAUCrg;k^0!B1FpC<+(t_*Yjio<4p2^vPqVPJD54;@sTHGylfV-x_V}M?d<&o;i2&PH;{u84G*f%9FyW$?<=s_ep6V1%wPdv8yeq{Du zXy##f7MhC$Lh*1?NWt%BRXL+b6r3edojyFtWD_|tElD{@Q52ODDm#wj8LWt)TyS!E zD_1bZqNV0l*;8~^B3UZ9i_d_bNn2%$-y9|{X_;BgNvpP?<#UElgOR!og9MwTD0#yy zn`Q&jEnm_oKOp7DW$|CM#K|^cl;N1Ug%tz=#D(hxebb^4j7ILyOyd!kQq-tup5*BG zYU}__+$IwQ{=91zOuOVbWkvV0DS0*~OeJB^>?{sMDY{0%*L|u(4D{-bCK+N@O=gt1 zAV#2^#DZ!VeN#dX3JX#&otsL;ZU^TdOu_w5&(1xBW@hg}cjj;14c@sGx<}<1Sk2&j z!H3XX46S$&U7|qbVK^L&L_!dHMd%^Llk>^sL(19_eE_AhQ-U;Sdx=_88PS&u3n*n{ZEG!({1$}ddhetlw%d@h@Ejwmf2{lI+S=S0J%9=uh zr4&v~v#ro*)^`6n^oQv?*nSQG6MA=F0KNT<-9JoU4q6EG8f#2n?rvKn z!tn>`OFH-l!lwv?%xV48=u1J%e-wQyTaVZx+Gh;F!0?E^uX<&uzQYn$9|4%Ngwq#a z0p8Gy^g7kust&1m5zq?&(=rU-v&tpV*Q=JCQh_bEC>5IR=3t21`#0#z&v1A13Gr#T zi%w@5uD3b_dM&pG^unu+>8lo6G@;w;TMGjK7`UaFVWts=8GZ5lLhsgJTJjbLK(ACT zXWW8Rs5rf$H(0ToOOj7%J?!#=SLvIDwo$C}!rNB4srnWCS1-39r#>ijmO)<-0zQ&K zmoj<1O5YlfQf70&oW8&&z+u_ zJUMaZ#F^8_L0{;LiLbx^?8InWOn>?66*RTyzP@zg!Wp3V^RvglxN_xsFqCl0#U-Ag zd)MuEXLG{sL@ef*K(FB1_ky7_UtI-#zr6DG-Ha(UmVn;;>QkV%wEFZ_`m$*_qVKC7 z7XT*oF70|t`<%Ys(&3oC<=)Wty^NFtdgJN2oA+wt{XKE|&%)ONy|Kg`=nKupL(|c~ zgXkQ@^GF0^w7?f;H>>18Ux=d@!V@4yRs>$H$hK`=r$Jy{H#vRPl4sP4O4XA}Hs}lS zh-lk0D66vy<4E*PyL!g6#eydl3mMN9bQb^yebJC+H480s&T!DKg1(wo)b*NS)Ol|F ztYpAJNs2}>&$@zr;L*{1TsoJ_g~Q=MAOHqOl5ubsf+0o+fo!oMC6#PM%RNld`jM1M zkuDSh#^{@`YMj2&?1Q)*&6?@7r6x@UmKxp{^o8)vly8L57p9RUrvYI2UQXY%C`Lsk zl9K~M26x3=V18zPjxsMC(f2|4-owcKJCO%BgH$k>#40KAiV>mM3;-OBh66#g;&Z@o zluZ!4O5bSWE&!ZUW;H9!MxHOcPrCf!#jidFbkARW_ris@FJFH5>g5kFoqzZ0#0S?V zKfE^a>GiXp-jgsWR zE0nT^pVqvjR!r+9xa5pcO{>+UM9dSdn(lTavjHZh@Y$RIO3i1Y;an1~7>Z^R!DNJw z3K7SiRh9d>Sn-%UC#DC5*pW?69EoagZt7W9SCyh4IkPMZ0c=|E{ii%Plqc!;JD0>P;{ zifEq-#b%>ID5Zo`b|9ul;z~53QKFiR98M;Ki9{%!4QB*CyPVdXj6oF`1N+vZ5x#HXG?{e*u z_V*wlisPJ!zW)donN0vcs$uLB!A zcL&GDQEn_sU&Y6+YrC7}?R5$#hFI&**MactkG%E+k2eMYyx}S(DyeqiGO1czvt>4# zO0A+bYG%7)v?%|S-EHQVmnb%BcOT-ek;jGMt7(H9loYx)Sacf=&2@E;k_th%tFxx3 z6e?D=rPUj9rJAV}#5!oYj8?n0PC;=}^XFNKow6ns zbsAx&@7jC8t9w4JvtruVflBLJMP{9Wa6YQ+tsJ<^`v5KBcIA<~eCRLX zY7%sd!~N259jf;F=;vvsm=zQ0bRdoIUyFi}h$iAx>^uPBSOmPmGoYLyC&cu0 zJbYv3!L{k>>0~l$m_nhb7Hvo?YY8nL%7t*e_;xBVuS+Q@lR(3%W^riHc;C{RDC${~ zmLnbuX(5;4xhfO69F##Pg%wbW#S-CQV0L{1v>e|N_F9XIu&==^ve(vM1CqDy#ubuwn>Zy-!ojP{^+-VNrz|=iQ6D!>w09;;K z;`GI@l+PpbtVZ3v?*QQX>Oq0k;iqE2jTNo5AiFiis{_4Z8q`(eh91Q!uF+~#G$>)y zo|DyR&U%%;)KszjpZEzS)IwUXKpCwD@hC0XY6@y4A<1!30(~PwHX^22ynZ5*i$~J2 za4H&OnYcN9Mb&^ZvXK&1La(gD0plJ5eWR)u(Di9q0(~Fis*eDyl2kRQ>nYb3iayXQ zmb+4AQ7jF>U`Q!-;Xi=hF@0ff#`G2aD%wFDHI%hrwMFa|0XP)m^qq~Rf=P)KHy}c9 zQct9%Xfj778RBuE7e@!IW-O1>H)}eO%wd0~h~5a@01 zY!G_)4|%r8<(+S7G1w7((QV=kJ93#sUrrG|e@~&U48ViEN4UfUVCGqQ{4=w{L|=wI zTAS2-^aO(a1&w}#zJvX}g~NSlj9yM(s*l9B!()GFAo`D@FIi!#;ZO9%Zo{!*&(WrX zd;ll6+I&xVL>TwJpl|bFzi~jt{5fBF`_6M9@bxY1&6M+!Z;G1H#f`#%3JpPSy9@f7 zt%lRBD7J{LJZ=n^sD8fVm^_uP>#?MIu3D_= zNLXDM2t<}+NYi*TMIpT{_ zntJEK!_#NaO-xLjJ$v@dxy$D+UJGQ*d}}2S571ftKV7;s+7{E^`|kq1$0sN6MMSr? zOo>8=+n{gOvhIZfpqg691L_Gid-|*MUz|I0{NmYb^YfX!4?A1fJOFz0v}%Y#N`YS9 zZv%aK7Biq1Jp-VZCWhHKGw2Hey_~+J;d*g#Esq|U;|WqSnT^I{(tFlE8fIekUT7BnrZQqCgK7baV`@gn8xkS!hJ`(|kH!>S}m=z8$HT{srd zmoG*FP0>`|3(bMPH)dyHCm&`qVGUnlXeCF=OY_{G zM~5BDm^%IhDVC_(vSLx1Ohu7$VixE{|9}IS=ZnrTCF9XVEE0~-&xfXfUI6%B=r-tk zbN)6*@BIj&_fGHuFGhDS5(It0V2IOqE=DOkf{|c27RF`Gg#gDrN@HQvQ5y4EUdG2dLGRXl^yo}{!+=8=E{G6K zCu;`p!9`{4l{}{iQ@Qj*Aqh=Oi5Vpsl4CJF88^~Uu3*X)N2<0cGi75566(WTV@YWa zq*`D0i-I#6dA8gNq!k(~sG*+m%38S05cdWmCKW z=c6{vF42q9e1fC+>*y6g{eWsM^!BL0AEoR#cn*!Xz&1i#;0z`cyiLJ4;465>+~jEF zdAweT&(x0mB^ykpr7Up9Ebsr32)*^aEkL(@unXZML`NPvG#VzQNZR(s4lSNx5z*KJ zVVeP%d+YkjR%N)J@ARmcW3TJ?dv3oA_~qI)soQW@7QNMBacvbn054I(Z%zR>=()%gJJe8!ieY4r86#QtuSqvJ5BTMOhGd5j{Swkc6-dHWGOD2^TC@cn7gF4$53_c$%U^+pa3!$&ZcZ1K?m)Kff3cOm{c9(YWX1HXCa~DX4O3PGwft9yv>FBlVdPa#R z#n4w@Z;g-i>Q}#@z#y8p&1932cz6ySb?{&+GBXpOf0zhQr=l~t^qfR~14=28gd9#u zVQeQOgk&`#86sqQmX)`8R4}j3OM%4sJnSPN2bT;^=kglF^G)(KMYMR=rrJjo+w7T; z>?t%c>^cz7bZz-m+8j0+0{OBUE!PEEag)Pl2=J)}OIB#wnp1+%o>Pe$)^6j)oK7Lr zibliWpuMD-DM5md%9$2k%t;EIC?$Xl1;N5ZCLK$s=9A&+Xds%INz0*_F!wNUBa)uY zX$i8_rXkuYdH}Fq@T0TIXh=v!btP_4MlD(~<+^m>o@2PSZpf096>~93j7xGdC&hUc z3Qk`LU!6$DV#)Aa;_g)B=7Z3+dx0x=r@neH3ln~y#--J} zZ^LXX%jKp}sK!hyq8m{lmZ2BDC$(7teX}Jm=IHR3^NJD^?S$l}lmh4r^olm+q5{9`ie#s^py<)FsCoj3#o3wELO|CVP|EFp?4Epf$t>r z9_+)s5`bAQi&3=+MqeI1#Ocd@EeG&#(D%slj_Avyt9YC<@JYKFw zVOv>g!pIkgXAOt(xCRJ;_ryQ48Z%KFAq2%RP4a!?jL>W zAE0k@pNY>Rv$ZkpEe>F!FV8^KTHi!BW#pK-i)BQiCVqLd(CyOzNkO*0OmL@7OKe*W zxl#sw&80r*YcKT;yx8v*mzS|8+%>`=LO?GJYhiJy)f@R{qtIy?r6O7-5$>Z@=Bv@N zj!ibA;0dlBGd&T8xYhRtD`>dkcR7Rk_%o*(?-Ss4{FO~H!uC<-R9<*nYYgn}iql)R zyGx*N%+AvyNYhGac2ai)r=<8b(6`VTmIoUEFgAki^W0LUtwR8qpL6siNUU@q=)15* zs~CQRzPumP*m(9z6=cew$;T3S<%ZtsdV6WPzBmMc`AV%<>HF#|02lTLs;`3Lhpi1t z!(Lk_&8Ppu@BHpR8Dr_h>Hn+O{EpN26;X!K{>HA~>?hL7t-G^V?}jwL1N2r0+qJbd zyVFJ6efHYL$g%hT#%sSj+SZSL^bcQq?RhMNeoS#;Q?K;r65{RID0<1oPS-9L9|i)S zpFREY>Ep+)T$mNoW`DJ?x?5P?=k#UK(Ig(LRbJWV^uv3CP3dzJPoDeLC}}1Sm42f5E}YfPG6uG4IK^j zDH+fg!ge4QUKGu#0_Y3$Iz`VaI0WE=E4vn7$wPy;B}evE!44dZ_h>V-UA3jw2U4bf;gmWYL*Y+?prA^M)2co#Zz=F@X$zqm4a4Ep-)sT=3d+_?DV_4CK>o&V_0 z+4sLb_fzQFxt~K9&%Jf|;yX7kzJL4jhtrqeeQ@Ee(1mwnUwx#`Us$hXwg#o$rP}7s z_Qv+sV0*jIs*K^M+eEw2U(Yud>`Dh6C3v!gnjppcwMP&sH> zDOm6>PQ7Y0y6`A!yRS66LZh3iwvv?^Bzh&mL8rl!9p83*$1UhCylF-E(7kPG`32SM zNp?MJloPTZ%8FCz=z~P~Zaj7`5eN9^Gr4dw3&rATh)0dV&`X*vJ05OI)h+4yifn_s z#hhA#B!#4#Wk|J1MzLA$t+ZD5Xax~lbq(|m_73`ohus4cJ|STSGGsv z#(WDD&b|AXk7qXa@V3z_+|Bdj#n&XVAtD5 zrKy&RTDfdBTgAb!urP4jU6@*}=sV3?bvU4+hdUcE>)3f7IR%%KU!;<*?!uB%ZHUDR z-8{86I-?ZjXOR+W0g9n{DmKtdlL`&MzB*j)Y;3hwH+U_=Hp{WhGjF$eyw=*A_8~1;+IUu7eO6g{N}YgJ94vXz(aGG{uC8x2S7>Q+W4KaZ zT*hN(WrO#1@TXBYH^lrR-vX5=*q}ZKd@x+~D|>Zl)c^PwC;x9p#QgP7e)``Ag@1WO z{i8aDY$X!Cf{sYWqjiHgMk@ZlwAxwf3VQC&?JF0~pEx!71@x=;en?9R{p)uh;+zB& z_u_1DM%L|m-Ky0hnaIWK7e79I^4R&a*MbqP+4eUNpzWV zC_84=wW?*cK-CT?!Lnnk9_6u;^DcPFmlEL#UW9n%G_jNyiXN|J1d1E33F8QQnZ=@2 zhW+&k#vah_+l4Y{s+yoRCE@_!c_gf4IEs~5&4Lc}8bxZRoC;cR9+7IgMcwjc-GX?G zLdI`E*?cYIRe5Zes%r}H$wsQdS~&Yaa`s{9-rcEtfoL#oXxQhY7BWv`__hhez`8sL z24><3xEJ)LSXxRND#s3ExAVok>6ogKgCs+MaRZWKvKW$;pd?2`A)Lzsqp=L&Pa)`` zY#=OzW}~xrXYW3kzWZ?I{`Ab9hts!brti$o+`BVB2i=NBZ-ygNkp$Irk4B+jWIhm{ zjo@i)J`tZuCT2(UJw5pz=zDhZbD;O?x#K|ZtxJ=jFLd|ZhqunW`_-902JswNmoB^w zT|4{s_49;YX!`W)_mBVd;kkG6$s2VyyV7=7*VooJHy5_Hx@+roUhi|bRp>06_`w$% z@MLhMRFXlH&=bM+271xNyh>l5y_o`-)dIXP#K(k%yo39|sn>C{f-W>1ZIuKqPoc}2 z1@3aCRUOR@?!tg=hFyE!%Lns*&?(Ir`7wPXX=_Yh7|^V&fWAC5I+o2+(JnEYRB{Pf z0DaL@4rO97EuFSS$uo?yhjy0J7vfcevh_}~(ukKTP|hvFWbg<;!=lCPps(rGjC_aW z56r@%nr{ha74(JMp2@}u!0F_}OlmHjh53%AN%$d>_<++Z^wqqw;n!5BCTImgDW-Gz zjF1O?6`j(b0`vH;Vtd$K-Gy0M+@V}ilrC!TU~!*{AAr8E;PC0f{x?vcX|(E>yV5^I zUp}7E+xZ6c(TgWQFQ;$o;N@t5n#DPf=}Q1+FLb~ z(m?Lk*4U4dU#WBS&24|v^QPUu(ZTibh9KcF3hMvQ-jzDEG2I9>w$Kb^iK0K@JK z)}2OIDO5mTG|dFvRtF3=>J6ZmRwc1)=k3k4F@1UbHgBC_jNoXkb}!$j3>!{oQ7Sdi z+yK34BOem%xZ)?hO14lJ+$zmb*dBf$rT&0T-m_xBe~`Z9-C4vk=TmX<(ChCx3p-YC zGuP;*VSL$dA)-@Bu8?753I(a!QEFYiIe<9^Y5c`4PTwQ{%0=|0LDaRa;__-~WsT2X zm)58V{8*KBxNv$up?CT5DAt!%82rQZ1^hUD@uab~1#zyAw1Rhz=*8&^J5D1me_*eO zsnE@-zxoO>e|_cFzr%V_1YrCX^yL8NW7pU#Jnyb;g8Ej`x_M{P5~m|F747KHl8l{^%3&*2Alzm{@B$%|=KRf!;4CkAFIG`ug<4lwb6hR{k0E z<-!gCz15A!@p6myiDTsL6bT#- zgT9eSC=?3dc{mmgBx5iM5jhuAC0uAIX)0+;O=}{=Y^co9D|;Fq)uO4DECYSVq7Q+= zd<>aq&%h&~1tgOIPSZ%cCPg?`dn+zO)F~t%AO2y&*np2Kv%`8HbqVJV+A6}ez|Eq~(SI&HK;oPyy z7mi>1>eN@4Puw~C`GZTxA5OeGbMC_jCtknz-gbjyQ5q1*M^OLlXSj}PPcsScDX zB@GQIwc8C|(^PNuNtM1_=qRPOR_*|6b)N#|@qU`%LKUb}3^@d)p%cU}pn$a3Hxl$I&`E1Ec7M*n2 z%lUaB?}3!?sd~Od<1_gh#K&sT5s{p7%qWIrcTQHPbMkC93&9G91u0C6&vN)dQf|_m zi2EiX(n4pNI6=>jXYgQ2*Jv4Zj+Q~=Ibbi@d8O1W^jFX>cekJM)w;c{7trGFli?oW z78>q;!}Ki#^bQVQE*yLhan^Qre$n0ieq3t-|D^>vyU#c~7Y<*N4!-a2|AN;8#$)gB z`_`l9Q1kEwfXBTr&sa%7Wt`)2@d<)#_mg&ql(1+F`vJr;qjdpydMDc5`EdXv>qQqJQj?PmV=HQ?V}-U_*7=; z_*xnsNkj>*p-uEl2y$>OZfgi*igp>dH=M5E(vO@PFArvduDjW&SBDhh%ST^%R4|Wh zLUTNt@M9se*qYtnkZOZ;p`FY(qjo*zcQVCZy3kG7&7{-f+3iKYY}VU+{+^OPZXWWi z={QmzDuqWrW?O>UTG@liR_nc#RRq5Ur<5`Ms8UQCm7Ld5N?oPc*Gda!y`S$aJA;k< zaEpd{>C{o+6_0r0%&P);o6q%G}|EVfAy$!Y-s;%rpjn%!@+CJYO zhz}#vSFG&Tmbc5xYqix4fC}O{mib6E=Ow;~TSh#=fB7q1^!h5uO11Z)r19t8diNiV zLG{5W|AplLJ~PUk(2wbz48!cnqt@z1q1%5DnmKdj{Hcp4k4=33$;FA2H?M%Qaj&@8 zUHNy<{}77x|NX7s`o+zg`A$d47q8rX@a5^#$4;G^{Q53>NM?7#U!uesg^efn_9JKa zvA08FX*4K(6~x!|R@Ug`;E}}64+k@!59U?$OABc9Drrqc3kDl-e`kq+mpdr}zLV8j7T<#cVrlni0p0dREewp^PO$@V=}JzNO|(o{s{& zgl%;SBscHVh_N@C5LIlOPxOv*1W^*ba?1CzXntAkBTi^Z)1lGWb%Dx?YsI2bDjOv< zZe^a0lF*)aLBXtLK=_$ZY7WQEJ9*FcToaGJX%}>yRkr#F?p9Kjw8)C&D-ym%@QS&7 ziMO$8fx`H~5!o#XhK@4^y8_cPFN@T(RMoIXzAKq`GsS$af^T=_yluOdAZ4fLrbE$? zgm&B^iw~m@VaMPG(KuVB8Xi@cb(;calZFx36hI2(#uveAi|~qKJem&8Cgv!aiIfP7 z@o+W~Oh+S`5EPCFDPtv@jDMI2-jB`QjD&7Q!*{{~XgV62jYrT4pe3WpNH`TG`d*s+ z00MolPJRjcG5{aDbpDIr&GS;=jy!cyxI3A=`WY0w_)*}(htp?20D$kD{2Azb|Ljli zP5uP*y?^eHfxa`BUZ1}D4gj2&Bb|cW>NY$54r`to_?_#OF3wuk^irBmH;SROjUyJvgNbI zoZ+L#$mG(135%ivdc}M`>lefl6%mq(C9PC9DoxNAQW|BcUdmMRkW?(lr6NOb#VC}W za^0`AoniyeAsn6JRg+dZqWWX{PN!4zDFSdPD*(C)MTPJL;!b)@U;Hp|qfpv$+02Og zn7+7&-1eZpvW4cpxAUCSx4Zca^c`$J{%6n^C~a@Q1Rh#j&w$(Z_IJ>jzOW$hiwwOZ z&kFhu4u1*ma`Zy&$1fPr`i}iB&`Wys4X1DO@ENbR%Zw>y-Wb!D zQc3T;AcMO@=mmhQyH7yhD#3L`Uwjd#FR_ysNWhCn^u?S1Nc!?fF^*nXwCctNp5VVg zFMJHoBLRWI6cP+Ef}&05^tBoT+}rh~C8JuVjIwO74n50^VP-rRmmar08rI5iy|KE3 z&r*559h`@6#(0A`A!s?u;oQG< zvYB{JO&mB5pJzfYE^WfvCXGVcF3b5U1oUR?hF0zw)dkR3ruh6ej>22qtj=R zRYT$E7GjXp;0ptwl{Bq!tW0=R51HEJVa_;i^ z4j{8Z*~&%>pJ+FDCM@<}h@UZt^9)~C9KM{q{C^(f3VIOwD`WaH@lj}c-d@`*FAS$5 zb7!wz1bt6lI05>exqU5S=bgnB{#}1=Cj7&;e)OZiIypHzGfx>MPn|k*?)+?0%(oXQ zP(^<>lNWb^`#`3N_FdrX1&I zM#u&fiD$MSMe?#tf1JURX9}RHW8Rkg{P9Cdx<#c zdp{bw7YRNH&P_!EyjmUTJ0B0RsH=1DpF97-<%^#~7cPEs{=&y!o&69>J-C$5Os{2v zE9t;`G_)L??@iw=T)QNnJrV!n!`Uz2k4}C*d*SoxbD!Qk|L)h5Z{IrmySLB%?v`f9qso`eH5{s8x(cty(D+JiqLq`M^n(jktir&_FMWKw0QiR)>v^_4@i6UzuK9 zqT*=ikDJ{U^k3pGHD|c7Qi_(<44ibDsAp78YhE;G@b%HSNTi$?lVxz7pEWvheALBI zDea3ytIZRV%!j5a5FnqYZjPnL4K<*NL0t-)cFcBTRw?0BvsN`@l<^3qoN~sia+<>3 zrV38XQIo!z^J!89_nB3xT9vw8ZOF|U+__P&Y1In4v|5?pf(6wt;f}PcHN2De4f#Ed z#t}_qFlWxBmDxlZ=!Jr5%DR$Njf|d$Qkt38Ewt>cj3ukX#inOqxgZ>DLRWDJI1r&+ zFgmUL(pq(Mx4A`&Zh4+aUI(7%uHstSezCms&C2deh%D^hcg?+TYg^ADAPvts*xCeF zGN6RyT^gX~oaO?6dxtMcPrjj%=SPn_kDqiNKWjgF+B$r~GEfp4xxiznd+-gt|IrJk zXQaoEI)?`hmJ_4R5;z0W1nkj3F~wbTme+TlRJN!f4;pm90DHw_!T1PsgRK#&Y#)?2 z_o>9f?xXtdL4yLU*k*xtrq015J__ABz-FnoJT-;OtNzjo01ON_SJvuFD{PW=lgBrK zorKS|Cs1ScpwQcJTg#Qj?fU9LX}FDUB`jv#aw9tR5hJRea(uB!YijjsyU-cdha1>V z7k-*YkHf5QKjW^N$9$n_Mr)p5Jg~akR((||((1KLz9W|VP^Q#K6>4$E$rK7&vuXEw z`Qeaum1V0yr-XM+@QCw6IYwB`BDTRjr8WPK?BK!r6Jo7xC@m70{G(uC@9Y;^(J>$CbyUUJDHc)2!`S zIAjQ%BLXe&;so;Ah24!8o%QGKwPz3?;U5k4vxsyWHoy~}>x1Qo;Um3V=xt0T{`KGb ztx?rm=+ycD$Xob+3~Ul}@c3SAQz|vC2Vy6_y8gw*uZ~~8K9$RPgJErBySugtp;d9O z-u^pp{g4&w@BQQ_=J8{nUAcNa9F^M3)a}?L71p1XHlG(ZpBJ}Zls8|NHon0t5GN}w zH)0EaNqikJGxWT_LdJJ_r!rj5_xf7iNvX6r75d`%U*cc;$A0G@&jiX8lES!~NsH-J zE*(wAg3)+*juZ_hVxd$0mT5n@G+j zQ**KmPoMBS{0d-uAfZ%2TRms!VW5{eU8&?|JTqe(Xc9pIDzw0ISjvWy6jD=jlx;Yf zN#^97C}cE6QdJ$jmY6J3I$lFb=WR6Ra@j}YjOLmQJ(X|LB~!^+sfLCpjYQ~rJa{!ccP%=9HTvM|_|&b; z{o7d<^L%FFor%f!E}Z-H%B5qME`NUU(x+F?eFXZ>esx?9+*r?sIej-`;q_=>BOY8! zhF0Q%ekRzAP0Q0)qt{OZy_~+#o%27tckzvfSHGCMc_J`(69C3Rn!2i}W=_)LSs4O) z70Wf6&BEdk=&f&{*GUV7Ya5h62S4W0@($>$x0kXdN?DxN4bT_p1ur>$C8x|2UEvWo zMAmeYs>11ucjDBegC;pP1;6Q1TBeL^5Uyxiq)=xLa?!GZ-i&2|TMfxD&e1>C0U&`V%opO~^Vc7g)r>W(=Ex&KP~sdE~=5a9TK0 z+-m%8<1^xVyOAFb@Pn^y?V$;4?>y`6P-!W&^{>(wPk`PrefbzNKnrzXVGn-M+W(F- z7*9Z77*Nm`W)$>=UZrpU@wZUt@ryBidrzK2JpVI??r3Cq4}|`9OyBO|bD+2X_<8>c zrGsuU00YB#4s%QZekGR{CwFuIIp{)-{^lbffq7!0FPdXefzuc0Ep6-_0r&^{@+jyr zeVhAFfnID76rqq*M&D5ysaBUSkEZggN8`p2XADbfxQRyq1}}oXu#aM%R<1{l(fmjz zU!`Myvp0l>TnKj$tVGvM^aw-6dx9nbv2u3B3HeRFPyQpowV9^I@B zj7k&q<#}4vS{=Vc95?{XW1hL+<@7yb7@c!`5y6jbpT6RVz9a6kIum@o@2m8sWk^Q? zdT}4(MSKeM1zADg_U4P;)=LgxX!I#YUvL+~DWWld7Ev|oXYkd}e71G_DIB?6{!^bE z`%jLD`Rmu;_^)H?zx*nFaZuPS?yKg;p3&$|C9_wj=Wj$J$$UP)xLjG=0D7HTb1IUV zj%M+5``=u;JlYo1FHfAz!XU2gLxf)3Hk;2meIcNigy#V8@($=*THkt=zNMwT;tB;} zfxd;+L!T`bD-MQQr3UoUBHdi-%GckIzwq+4XOUzQ?KrQtl1d7RL^ctQ$3wALXcqKM z#={wWNKzC{2YQ8^KBjNNv|uFAMuEPtzmg}&`J9m#b(brxrk)rn6N^z%93!pf4Up*OV<2+~WCU@B|p6 z;4IJK^aX7346;neHZ1_yc0B+X@b~;84R^DG`I4rmVXG49nRsG47QYY6$N~nTOx_25 zm3mWeb+ffUJ(X09#6`!N|U85bilDHNB(u}lI0#+D(T zGYj;^HhCrgTgk}Ru>hy<<A45*MvRN*np8WCmm-tlBZ77&lAY zH3~X)-xR~6ES08}l+~yr#x*5sm@(6$;A+c`Xii9>wMj58F-3=X&J8}+kzv`MvxO?9 zuqYPd9xaH%%{?b&=Vi({l{Q?#tg88zR_yAfo>A{xEz0fZ*1M2hZNcgC%Sm$~OgxV! z=$_Pyajg)M^WiKlG2*e!*_W@#=SK4}Lk=C-g$C!yi;XcwXD1 zyvHO~O^5{{KOK)bvyXhUaQL$S_#24Rlm}kn`75u0zAvhKk19Kq@d{h(9zF$h`P!th zSBCibGd@CMYnk|W(IoWlH|^bTS@M?e+q=K0Z+-*)&_I(Y7csu2ynQgr;jpt;-J``q z{17?^Pk>t{%4p4_veCVu9>(VL#>TVC>V9!)yFA#Ua`eqXV{xOmw%1)9ttI6{&@8#q zy=`r)=)Zxt8& zwbfx~YrVg>&8ubLa`W{+6i2rCw8njrtS`S{3;Roa~?#-W79YzaV9%Equh42jTd9#Vl}p2Hg~>* zT6nVY4GR#XNzm%*liJ$z#`+6B%`v*N%q2IrzJsu}_V&xpE=MwpTw@ub%X_5K?qjIR zGGy_-``7pXtuer$Yj^)TA9LnrorczF0)-|-{KYMtVY9agliFU}hDzPVP)2?bh~QU7 z38(V@#^sCu<&S?n-rV0jc6?Co`sXEWh{jTc+zc#lGMbHt z)6sAY3PqUG*|;e2-dw{v+*E;xX+miM?<24C5iy0q4o)c^+0$xIjX5V`^|7?P<8Xr7oQ3Xw8*OK74OeLC0#HD0P%c38EZ`W;0($#1tH5U!f zMrUI}JZDKX0rFYq5v0zqezz z?!<5ZKwl~^c;S5j81((>+}l^qzIFTTYg1R=*1rC<@bL6-<|Y8Vb@$=sod^5(1BVZS zKraBi5)btQ)9D+h0vA5Mf9~Bo6K~zT@H6PjrMCg#3zy!xcKzdr(-VQvrAX{L01U&f zIs#5sq1Q&wy}G_LrY|&#s9fLhhRbrZk?`{&S&9NPx|}u?&Csc<#8!qW9%x5%?|c** zaLSlI8Wh}uxDlgpu11m5myhO~ZV~s2>gM5kW2!{c>81q$a|Q#wb2%*}D*!Oio6rfp z%ysbVp!=9JKjA<-Gr7ncp_rIf0gPJs`l2Kde6v$7g`4?3Wm)>J|-o){X?OMwH0 zyk05gJ1wA>Rm|n|-Y)oGgi@jn4$fJ7uoW6K6ev#Kf;#`C=$t}BCBa71P&QRG0x;0N!-|2vz#iyZ?XQBn z{q_CUGNspGw)F@4c9xz%pfAN6^OZL1PyMBRwY{daR`upUt@kp1EeWdSi@4lgwdqzU z(F!i2+gh$K?>E+-0>JIHXE1!P(zn0+0ssb{@m;0m9dBU+^wpYOpf`IM_LCu56?==gwRtA*#4!X0aSdrmoz(HGT2yUwQk7 z0)_wG@BZXZrWH^HYs5BkF3iQIW0=@V+=u078MO!IY;4T2nGt9?zN$@BxngbYSRJCk;BOi?a8{KQVs>7LO{c;Sga|YvMxvIG_EgX}uIB(?A@3-aqERiwb>Qeg zM|2tzVmd6u0;y0`%AyC57KK10JR1qkgel!)M$J;lcb?*=b7B_gjYJ|bAsNr59%Q0d z=I&n)PldFMkcW--(EZ}{wF_mZQpDLaiqy#fdIck?npB`i1(?v!P_?W~nG)v%E1KRO~-D=ftjz?Uw(30*$(`h^oexpv}> z`xibAUj8IGNKwqY)>X4{=;-U~Wb)Kud(Ejy#hPCnLAp=BOmAxkpVQ)*p>&7O)*p4=*A_QK1BlOz1G`F+mPz#6((2WvP@QK7~JJO)u@58IPi@GnIl+ zDMLxW825bK?g`TZbffsJREUazdPy+qqSrMlOKxrGH&Rsv_ZE-j5=(iU2Oj)P1s19Fmq7#3e4MA? zp+i&bEwtA*`5+{pS!C%RAGNplx;y(&Z|`t%_h7hx$m6g$+qlaFAUls32vh|4X>bG>5Y;_Z@P1@WlEiL05Le=G!#@a?}d9B##`>l3$VZbAJ zc`P(Hln^~xCzDs%e1TTgS=`mT8)|b|X$(cbEEOuaU2(0=ViE0*=(xCnt;(WPTej+} z#r|%6`7w>M?ogM4uj9gj)BHN~m%KM%FRaOpg^X7g3RP*8Es`V_D@wJY*2{9WXm=`= zHmn zqgiV9S^lZQ;7^=BKT3}b{nl^&{~pBuVtJc_1|ZJwktb$xUghDQQeK!A%sI&xTvsU+ zX48qYH?Mzj?b_#8uTIXz|MZPJqir$$@4voPUfnCL(tvh(g9PqU92ScJhY1F2z4d)( zjl#n7Yx{Ve{uf3B_QHq9mbUqOe zL}S57G!Tv_sN9(-P@Y=dpaDEXPnbs1f)A!8-7(9E*!j3ujQOQRvBINO%wp9l)$-^L z7Asz!((>4>=)J0{nx?6?YPh=XdtfsS7h9BkN;YjYGBm%-Vz2nT+h`sa=C$A#{gUs} zl&$T8RkV5strje47HwuRA28H8oiYZ(u8d-}SiE$`cOV{zg&rym3c7ig?n;jf!fc$@ z!_Fp>!Ay2emV>$;!a=zX8bAofI;La-sYqN(^EfZ;ty3s^CG-^t=c+}Em4UsvR00YJ z8C*)7D3i)g0T}eXar&L9$#?Iaelv0Qll;^b(06tE&f(o@(0B9N-Q61xcD|n8 zx;E9nc@F@#u3t!<`TW+z+Yr!8`s)45S3kIL`Sr`!-nxF{?K}5A3`D*zl!f*}XJKWr zzDmpO+Z#KazO~hj{Q9P|vZf3c6V+PSwF9<^)1C6DkOex4Y+|)y*XtBP-5Eeedr@oj zIemGSQ9R;u;*rxA;`BA_5~SLc3`$Xr3F1Bnq&Gxpf9>tsbYRi z-$cFu0HG@Iss8pNk}4mEiR{3F7YbvMzb!K3NcFyD75-$Okeyes6o%e^}6W#6?*OF%36PG zhr^PE$voxrWUZ}T0GMZ(0(!^vrHNIrhvl*2w1aI0eQ7ZHh`wX=a{9g!w9NR*=-b~1 z#zs8j^ySX@Rr=y1_&5zw?i>KUWBT#|YEIwwA+|HquD3PWAn7L0_QvkEAbPQ&=3LO(XyhhETaT@LSzNyHj5r zR)<>ZJw2 zX``1`Uf3Jc7Y>iaL&RCW5e{H~Y1{0sX!VX%Y5=`SGaok#NvkN8YLu*l^~t1?4FDI0 zeE=9v6aZ!?fxKXCgN8k=-m2YM1Az6`npj!Pl{zV}E)+VTFVG7B1HEb8Qavii2Kqw0 z9ub{hY>GuYV}D+yFaA{BeFnWsU!a$?{d`Q{^6pDcU#QNqH`ljcl2|omya(I@dI8|V z#-lNPf!^*m4LAd(qa2fL?iMGU-2Bc{aFo**juQZ81&Jv-43KVYP^dO+G|cq9z+WCC z4VwJwZx>g;8KHNZHpS@+RhIXy=1Rh;Dz!eE7yLHAdU*fDl}n#ox^(LH?NGjME$=*c z%m2?0J{)iEKl$+E$5t889n%*i26~HY6blXd<~I(<^u>!1kGiU??)t+Gqgqd!Hh%2* z$=|+rINr&Nm;V$k@6V*5F@59F;H&fndTC&j)urbHc(2koPR*tX`bHf;?BpXZArtg< z%5}HW;PiF9vg4NWP9E%ZUDvWK-OjB6jkU%5kyLq zNDiFN@Yh%A%gK@|x#_aU>j2?*2l`T~YFZ?X zJ)zaooW8iGKyOmXB~^u%3#+-1lmU-pxlAHM0FK0_0wFf$&zwVXA%>{31 zxwpL1?`&+rvC$7;bsx95(qGFqTJcgP;+KLh>}*+dS$V!f(=9cn^cDwt zyCv0X*&~&HI;lzK|^Mi6K+u`!KC)}=D=($$LB5^AE(IuYqVTmtd}VNxRRe_BW{I+7b}4`4V>T#CoZ!IVwYIqU z!J^MW-@^Sp4bf8)I#1K4>L0?{`2IUbAum%mQWH<{L+ z6jvx7nEHz>!!!CfG}FKRk}o*MBfpNk7l_M^Gc$6-_(q5gZgcuV^n`I8%KE?m!6*Ou zm~C&p`;U^=zjQ=ve4LgPb5R+h&RS(*%dR)45-C9Uv#+jv^7Y-DX;~buYwNrA=Hue} z;lFwH`e<8B|MR(6b^SSnPT2Sfce*^ohQG2y={1;|%Uh(S)ncbFTRO#oN>V)Oy!P5Z z;M@E3v%i)WX%aD&%_KAF(Ld&WId?xsq{TaObd<3yi!OMceFed%P66VD~NW1+DSBnegQWgg&Y?F zS0X6ew?lXjg(j?eK5PB?_(X^%GuT#;; z*R$c9^RZxBNoyX@;)i|%kk4E7Y{^R%9QcqM;rZL)z&uE%tN3;rFfVx6a~z{$o0>}* zG$A~}N#?nudCp6`(=O8NvRgQLF{p8_iza2jFM*H@}^6b@}+4~z0 z?>u@iyMK3T_4W+ZoeC7czLUIqEqLzS^tH*rt&5SF3v>6*-1_Q+F@5h}c_%S_vSP&+ z>*`>!y|~n&u+lXu@m*fo1$r}$0Y@($6Xhz<3&H`tRT;nY`4nTN7N`!f?A9`V1@u*FXwLfJE~Hf#rD9L;n;Ea3 zv^|Ii3gS|w4ULaTfWA~T!YQTgBIp}YRoq)JG*q~zN9cvyhVza%Cg>Z~Roo?UO~F31 z$Y<({!ByuQz4Bnt-`X1N>~s2pWFzy$8Y6V@S#w6Vbu7RS=w*Z(ahHqJ7l;}~B+()t z8pDJr`ST9gMq|93i$@|}{$cv^SH|=uN6srH@Tp(653ka9M8rRez7!?P$;9$z)bD2r1os>K; z-^%)Jx!AHAl$;ViyR@=aU8g)D)Wg`>hd5(EUs$E;(uUVrj62SpEQ7)5YXZHvF@WBA zH5NYJ?wvFWwXAv1EQ3e9S41Z-m&0-jW#9Agp^t(qQjK1EbB*c`!K}# zaaC4Vu}ifLHZioe)nYle0FTDfW_@|Tvq9nX5ciRwFU0*W_qb!q;t3xg=C9!S_`g7J zc>~0v)mD5|7H5Fdmu|Bo`qE%B8;$4mCG_IVa5v28%g6r#T`t`79KF~dbO_3uk1yW* zcU~dpuW!!$AAf_s_y`_bD+krVHrmiz^P$Om_fFinaV3(@H5bgyePd(KTtBcj4vXvi zezuxPECe>!UpXN3;+9z2f_Q{;eYk=92k1p(4IT)ZB8a)q zKmRxRmVWxve-w`7f!;BFQ|w&^!~Ab@LvD5&1<}I>#@&c^?4wd>^j^y}%e*(mcf(P@GD!uKE?U zguH4vZo-6T0)%L$Xgb-oX)Kr3AUa~O2>_!vFrQA|3Iwjt%-jwJrxG*>OjQT637{zL zn&7Tn_DKaVV;g7;@rK)>#KVLT&T0wSMiVVr70@@s6D2`KH&=lda&JY0*8{UtsdzA# z1%OotcAR<`Syjy_5>BjW>ue5~0Bl%}W{fH+@pBF<4A#;CvW3VoS)`$9IR|8*+kr#C z;Ycith@_dKYDALC!}-Ka6o7D(Mk(Xe_+C-BqcF*r3r37wtzh;;gc^JhM~eCmTMr$4-Y z{Ee$$ybb{0I{ij)@e(?5A;KAC%n`^f(E#JJ*yLqK?^}Kiel5u%by?n{| z>WX>uihJi;_U!TbPu~rF@owbH_mihTDm}cqn4Mc!qw8gFzg=DF4^|fz8;cvYg*B(Q z4DXmLHz>v!O-!kz6e>og=~TN=xwTyDt=AW}8-tzl@gl3zPR-D zw#OFs^md>2_h<}&??3GW>jCi50zx}m_={H3S=cf;0-PSTLYq`IPrWucT z#qX}=3By~3&AsyWL1lNJLaZskb=O~B&o8YNmsj(P%SO9Liz3PmmZql#`^)bK+^)FE zxx{=yEtWy|#&8XIgSq6u`?Aa zwu%L-Kiu$F zx4e~2V{r*8t*`kj%XY5=Q9`;})#-H_8|yr`Noi{zD(*Zg@6pI}b@vH%N6;x@@MD9( zBLJ7TfZi9SO+3dd-&A*4@bfwajaOHnG?xyc_R7=F>a)>|@5VP2jRoV&=*#Rc&1APX zwp!~{nV+8-sLJwq(2_8gj0}&w@5RTcu`|$&@UQ&jwg2{rn7{tw)PHO>{si7b6U?l- zB98*Yo)j0il2-XnQihV{7J5|P`Yx2;*oV+jfLY%zFZ@TxPmQ+qqaXdhU;p{tj(XLoH+WngFdVmRG*h^5(Wpv}F1v=5 z*D{uvwIw_e3x3+M;a_KB0Ja!E2=YvH2Zg74!8IPpG;bbT&B(h32E@Wca zbW)ZCL+81@L|c|zmDh3N)eO;i##HrTHv1rxL7R_;9f%32>fKakPF9nSAys?|pDuVj zep^tjcvgNepLrO_&ZnH1RDxd;9Gp+ehsA3`s2V)=D6yrSukzE5Cut*})IGHD=!oFh zQ!M==)qE5)Q7Iddvr$E0-uL*=pvf;^gU+6O1DZVZ!TGbFT$uP6^u2WQy^AN_y>a5L zn`}+dy|Zu6pMF1f;WO>hG4IC2;MNt=)rsc0WB%lEZ{kbs!f6Qfg|urI0AS(#iSV%x z!pGi&vgbZ;%-`%Lr~2ucjv;Q>3&VB~f}Mq_<@H#2D}(a_M{C#Hg$`S)(O+#YY(hY9 zbGQro76$0W_tB8?m}Jn`sMY}_HkHfP;T+L7u4xG!9W<(plyUQM24J2)D&-EJxmZ%n-k836sb^Id2))Ht%5TKoYSi>O zdLiy{f!?4b;@5?pqyTzBg}yF=Wq`i)3n@@aQlU@;eWgYfN>*y&e38?a_oQ$v8J47! zf*|}7x*9-lcXhkF^=Pn52;uaFIDOHeu;3t?vVE0mKri_}mP?Wo4lfQ4e+l|Ry@Ou? zz$5a}AU4sLmmLHzY2(cF(ANGb^ks=GC`9X3u@BOkCB6mFmx>JjQS@c+r~O2?0Q)dT zFOGq!HW&psHBZB#0p!Ze!;=5j@FW-}KcZ5z0%TrAg!_0WW55b2~ zqM}tw!&~TW;6l5NC2+U0u!TpSYQyX>P;KmT`Z6z0<^L+I(p-6U9d_1VT5>ia`0(v=pwLT3#LuzLU^u=$7Vs2Z5T&0~U)uehG z==FxH#U(1v1Ny3+#Zo|C05EV%Grj=x8a*Krvw4J390MDx|7XybqOaLVb!n4{ z(YLUDsCIvO?930f8Gh$?|H*v%e>uux#xj6nH_FSDsH?WJueOFtbHHo&0=hh-nKLtrE5e}~W#?7;@^~w|SOkFiCYeW^Kh z@}jNk1@gP1s{(jwGZ&Jj`J8Y+n4FF0a6~D^paQ*ynl*9>ITaI<^YIY82ioUEUe6S5 z&^KK%l0_p`G9#W9u=OcPxRXv?4F~WTG&KMi^v#xhKGr>(&EAQGaekswE|!T+%|E<# z|K`1!yK~Vn0F2W@foz5V&fyz#mINORQQ(CGn{K211a5CeqYvWAkgT9-y_-tiNu-15 z%6KNHuTsowzJ*?eY~o($+T<7N#OK=Nm*)AC z?&Jyk^q0=*&#aT5SSP-4&m14zyK)el+K5eU#i!SV#I}-Iwd`%bu+r!**W1nRGL-KQ z^=ezGHmr8f8LZ`(HqgvLh5lN3uu)wip`&FlDTg}&wF0%<{9_@v@KjV8zblm9fp}0Y<=$qw|U9T5=z5e>) zVDs^C=NAxP#oK3`^H^b2E)Y}&$A_ai<|bsT47<} zb$WiYU+fHu-KBhc5v{Y;1D5v6ELgX;2Rr_vx=V|E(Bol+dbZ2U`^Dj|+h0*?-Go;O zTYktg!?u;q+h|853f7?Ik7ydu1GB5O#&D^-w$2hb6MZ2N{Rgpu^uo%P*;^8;lyo;{ z=b==-obfAZw-mSXVNItP92OmlTV3yV6wtcURr_7J*O58{$n1iqBh33P{_0=ck;X!S9*jND$U$j8wjThJm@Z8@1j+2;^ zk6+m`6HPb#5Z^$X;^gMMX9%Q)wuD2*VC?X%*?(iqJm})r|6U#6!asGCk{XYNjYmXH zCjJUxe(m5@`r`3dYW^R-^}~9kzx(;Iol2vy_0->d;;%jRRvr~s4xz$eJr8$Lu1Yr0 zr$LgUz5DLp<)3@^{lAlx^|YX;vRaZAw+kne^RZYoPNKy{5ej-v3Ym#ZgsPQ$0z`%Z964z6l0HXjPaf zFA&-sbg+2*om|2b%Dl+RdEt@fO(}4RM>a9bE9Xr}a44ZPTG59|N{$i9i99=yZaa`> z%8D*ZsuYX_!A`V(=p&L!Hj|mD+D4;fw}CD%sVY3jWI|DKbU10cUqI);^qfdCJ{Jxp zvhlQ(N{P`>V)kKhYBoAcDYBXABCabEz5CP^Hk?NFCs~E>2y?v^%AEN ziBLLARfLPKR`!juuNJ6=F{QZDbaZ#7q7iH=t{Sj#SzD1jgTM^OkCQKD)1t^mBjCAJ z92AX0v%U+jTTF$XV3aMBEjy-Ml?gSQHYENFW!`t<18CyZ8>f%IK5_cBi|5_~dI4Zg z-^-u9f9=bUt{s2p>X&cdIR4)4(;tGqx!ae_o0mY}-02U+Gao5u-ZIa<@0|Y>^p($i zCY}C7I`x@&@>A{jr}~M{Kwk*xEuEj(oWH#neF*gKBxhGL(dBfcCrW)uZaRg`sloK`tooCJc7RH<^)Xz z^yM=RnQ{pL&XmZQg1$ks8dRy|Q6Q%TMK!F*Fs3l6al4rCKDZn;43bV`^>X%RUe)5}m;wdZo$oG5|5xJ7XL;_?8% zpf3Oq^lIe}-!kv(rP1B17SZv(aWBX>C4f}=?nGu4?y46);8!{-P)v8zoY6v1oBt83ymjk zvDtqbeX%oyUOpRWV16ukNaPXRK;%%{X(D8n6vi1w0ejejK>E+Jd7C{J?ATT{}6p^+fPAX;F*>iF^|ZR*;sp8 zTYg+!JmB<&IDNt0(E#<@b2i2M2k6U(EBJjrMlYU>`cFsnEo_X&pE;+~&hNkT!6?uP zdhesZpY#4je2UYT3m23w>k)dPF@0&WnE{wHxWBmZH!fZoZHwvmqZt6Wu>Oow|9bq1nea+lH8Y|K0CV~V6Nx}P9#1BqSRx4k$I_{cl*<{S zpyz;IuqUhJ0N}K4K%-ek$ALE`z*MNb0R;5IXY(~VHYi)pTSZIrbl6{+2BIa!lC8WA z@5}2Qaj!gzbjcS$U#(hEDrKNoDNvjd=nDozJVO>AbEYsQTjBJLs4BeaOgs@5ay&j% zwQQ;lY-_3^sfIE=H~ke1Qt{1Z8P)=ABX^CXiEUK}9f4jj zED#AloSg~A0-<;i=!K%$SXxQ*^>X+KkE*#J4hG?bi#~9OUs=kwNIuzUo~2)KT|N*E z630b}5-EbXMc1qpw34R+uI8xZ9XbIiO$B<>rj1U9Qm}ZX3fWL7O$wW*=Mm0)G7&#y zI*lwB1e(E>zGmFRnB@~u;+-#B^tXJ4N9>FLw2U%2q@rStD! zJony(Gw+>0{m!{lZ(ca_&c%~IKY#pZm%n`ds}pZb9se--)fwmJW%bG=Y%W-EN`HnmJVQKQ?!Oh8?@ZH_Wy~FtQqr~iP zB)k(2tp}6PASSL0=3=3;R&93KziNNj7_KyywxP;kzu4b}$_sn`;$D7X*Y2!I6~J$x zHkWx;Ag#WvREKhLS@aikZbxw1@QVR47tlmr<|te81WFBBN|zfDD<)G-8YS4%aK?&c zZ7P4HSZugpR5_SJtI9p2(Y0C&JnIlJ&r11{w8lWG^_5CbE_GEt>&|W(!O+nQi%3c^ zCk4|=Of-3Z11j>LlhE73CFePYc#VD8#dkH#QpYNH-P!=+bA-I62Rye{YT~(8s#7t$ zRtqK!Fo3&)d*fbqarc+daEAm2LkoM~Lfvh6h^MWM=k3iG{q1iCJ1_ZKqs5(P!(9r7 zqCwYDkQ9-avy=0fj{}d0#cBtYw>N9M+oSvyBhd2Cvdoc(48|;j6(31vDK(z955J}C zlKa2p>uP8Knav!-l8%ReM~EG7g!X|L%#UJpEPU*mtwiEEJ$P;`?t@22X1So5!Foi= z5Lk8C1}%Q2{D|0d(jNAT;;V58=teZzl2+bId>JPT+s{hb#P-)}KJ5eP9BE3Bx~JT>3BcKaC`Q z*w&AJ^w%$4?G1KHtB)ItTebd1y*u!$O-r}s93`>4cjw#jd%wE=Co_tYRaIFQB`Jrd zK9i0|6QNi#984vlnM`^g`L0k&)Wx+}m5nU}q zG&EhHJoyPz1NNx(v+aAq5bQ5ZFt2Etu?-rr%d5Jt36?MwotlcxMx+FN#HHJ5UX|vg z9Nvtd70ZFo`vDXZ1#p6A8AVFVIrwJ4I~1Otp1CtO|6o4wFdUzarvrkNRCHl9w{23{ zrJSM8gab3-IX!QQt`6EIBrz#Vvg_agdAzrtuc$87jHeZ+ECx2A!VM?UzoD~X>uE8A zlTT}hbTw_!!q;p8$4*jw2clBSqA;Dw%}Z)P)#nurxCv4~oDEwA?+f}Gb^$W&Jg$MR zo2p8F8as)O0xk{F_r%H9PoDbusWY#iIQiP~FMoG(;*IkY@0>mJ7SMb4Ub5*DikX+NEPZyYt!G1mM%3DVHbQ%ct{SO?cKQnCK>CGmUo8z*VQ(e-KUOR{CbM5Bl=aW=>z$oDD!3PRylf|Y9HeCr6KN0 z+p4zgdK-qD)abg+9{g^3FeooB)mB!4Ucx7fnOfTaJ!ni{IAGw4s^1^cx4ZR{d)cLf zZ#jLb;_oZ;+&yebKVxanvZY zFl+`A3d99Gyuq&9Uo+dwO065WixJ&|=5iVUoV95pEoo7BosegVRtlw3f52-zfJ1~L zzLsW#O6P*UQjKOns8iS+0>BBU3MJhd9^-ZyJl2{`v)jdus<#(`TR>N7Ekgh&_8I7f zoWUBUWMXS}`G~PQ+yj8E-X>MhTiP|dYf_^LfxekaKH=GM*OD6xu*f)MLK^e9mF;hT zgT6d3cYXhx>h81p;ddmKyOb{x<}R5tl{T_PLC!ShzfS2v_*LUP9%1i@zV)M}M0}q) zeYuAoZH=kC{w?TR-T4jx=F`mlDzL8D==MYZZzl1t{`kkEu!YfN99 ze7+~#0rQBY_cgF^K`{_OM7wtn=ZfAIFZ-zgsGTkWlvn>{mM(iL5VwT;$( z^1Gu{TwfgjtKcpR)>VLB09eQ*KwqF23Z>J~Y&MHF9q0vsLvkXnXET-nWeq8~>ATd++W5jKS{;!Dbk(@e87oj<# zV(FHzn=WJ;Ht37p!%p%MFE;Oc{Pi;@e?EEo?TM3boj&%_nJ+&+ee#2|XFfT9>VtD9 z-@knNohxVFy?Fe!3t#^9{FiS+mp^~=>X&cN9D6T1`MG;}!n-nAJ$t@(?m}bo>+;FV z?iUyAPtPjHPOHby!1!v%KekT2?M%E^z4+ng?8T?q2hVd4ALnKt2{VW3_)aWz5XkStN8&Gd?zcbiv3=SZ8U$4Jo47MPftGj{*$ZoA$ z%{8mMB)i?TULzTWxZ))=JEl;yaMrQKQbDa(#cDNEC?xZBC}mgUCe=zxscufQWz!QZ zO22}(Pc4?^N|h@3c6#Xh%iRU0MVdKl3?ZYsKv7rarckH~ML*+HMXI=_q$GjFss$$% zhtjU9`Izj+Bo&IQ20E%Kmx^H}JTF@;O4SxeI|RxywIG)2p;zdyK*fbs$RDo3_f%H* z(Qu3y$+BK7KKi}E;mGy&cfaes;xEZ!Zh>&17rm2;_|m6fC25lNXsY#(67#;mRpTi3 zhmVDJs6gS-(&1NVJsLM=pIX>|Iyii`aQJNS`1#<`HxOqt&+^EEswj;mwZ;3-8jruJ zKOware@9|v9>&X#e?zabcJ%G+8~O92G?~9d>tEe@Sy+EoVk?3wJBLth|Bx>fZas!0 zr*JK9e>=P1&>T6d?ZfNymp1mimCgKM(_h>wE$x+;_p57UG;-lY%t*51(=R6jPf^TUs^RctEr?yvw+Cto|LM$0?G3EQX z8PH$Mc$5zaJ_9!i+_t~8RNLHyo2PvvbUmqUq3PeX7go&PQl7;pJHt)Aw<1+~DX*UJ zYEY)s601G2GnD(wYG(hv55lJiz1uGvWQAWsY&d~t>mghbeo=noJ);#wtdGKj zrKx<-`XP^HMMyPydCqE@ohB27Tjyavlh!E@Yt#S+BnYvo_fDXf|1J`X-m$!s_2`dZ!1O0C(j3;A*EJ=&{VQKLPd})XE=dG=5BCyIv$S5 z>7*&eO&}^WmrOzTLIEh2&cFhyx{;F<_{-UNY$_7S>WbmG@P&M29@s+<0K0^*8_CV5 zRh_yc@mM&623FJDJfwQ?npVoulC~PvrTJVcl!@J)p9&>rvuZLdgaYZga4McvWpse- zLKS@xbUn~1Ap`2#v}%a0+=WGsh^d&EnvI9<2IsF&KYS32(2uc5r#A;1?b}-3ksRtA zP!WYpHf1|$*xX8s78-dzeAjd&5{@TwiYkdpI+Ybf35Ut^Y3nwXRs>=ci_(}#hDG$9 zJpCpF^pcK$0{Tvz`VjQJc;;gO_|mDjps!B9arwm0#`L{*{2kCYaOz{{;+ev=3xwYD z7hC6U0Knd{i=Z#iYn(i5ocv5b@ri!oO#rxd>7%{SSD^1pdG@&ye4&P3$ij0e`<-OJ z5RAQq46TdSww7OU3jpwPd$6&vvOL^|1}l%C*6=atTO95Kz}9dV0(#B#Ig> zSuZXs`JQ04M5iOz6#$q@AUHJ8Pbw9t{%*a_8oL_kn|5kRt31jGZF-thz&!*bi?fNg z4~>r5YMK27d$6c2EWS!#tw!ioD3eAlOY7lW^xZ(;B>JJMoKd7vt$x{tqLLjEEufcH z2(YL*UfqGySFLx@%(2v63uF3vEgE~T4VKD-H9pl%THAv40Z>Q5x+G%i@bMoX)0dJq z?|wI?FCO{4CZEmaW4wG^_h<_vjY-To3U+e((hAz6_**;~(--d<@$V0QilBS=Z1K@^ zLhliM`;TF-UvlTl-w*l{fbsa~MU{zXq2hIxUL`J{1Lpd}^yS~kpTA09I50HLynUpw z16LiF_(HaLB0;Fl(GSrqj0L2+f2g-Wa} zc?0~FrU3nw1ADMzt!(&PdxYN2JEw$k6Z=XT>PGS%?t|XX0c`fFz5@LRan{bmnk^8y1rLf-Sw8Yo!%+{4DJf$4$upG z3i?98tp$!QtOCGFdnh+YqtJLi=!?UFbsN){>@TBEadj8n3+!9cE2X`>)$Zu+mQX5X zN)2yu9s3XZnu|LCFiojaoEpV2gRBrID;rM0>7_O0<0}IC5_5r_7I{XzDM-M4ZvrPVc-Axocdq? z?Dg^H{{7EC?_^UcRRU-)T>i7;Z@K$$Kda>MBK%e~8;fN_(F~y%0(t@92(Q@2vI6jG zY_Mo-Zfite2*5*o1%n9s;;)>(MtMAs%j_e|l1N2-%N2;z*Y-UstzRiyRR&;2(=mPZ zY5^O;rj(Km^a7%kSJ^WGA>KRW67l|uua|2OXS`7;%Z@*rjNS=Qh53+_3d*UOY;-1` zfF49bb18xogbbcllycd|BjXVe^=cZ#1AB68k(g_%1-7PxBTCv)2{IcXw zqOlk*3L6;57byjcM^s6U4!EM1FqMemuVlW_mGNx|=tVCfoXbwfq9IwyxOueyTD=2U z5Hj-K!%%Q89LY#jyO0W57$#qsM8zZ=myX&k5@jqG04DlgJoVnC(;u8U^U=wZ@1HpR z&gsebCYUG%$K>m0PyOWF>7SmTeBl0_*Jbn6&iBqIICx3eD`0qqdy=LD0ymaAo z<HP(3anV{Bzyt&HkX2dGOFhMJh+Zw{R5NBVuDemy0qG$= z?2wi7Y0*syZaib7-<1%w6w6H`I<8=k)(P-mj#aBU&4$}t_1bGreE_+&LAgt5cj}8& zs*DHzl-BlXxdof+T{swJWaLa;eEdu3=oRv{d>oI{7bK?XRW?f8-+c-3!h%bCROX0l zu>U=@xcAL)|0TB5fAotnFUhd-%!O>!?ug|?Pyi1tEZ_3N;R_NQF{S`6is54Q^GBj+ zYQDFelwF?5l2;#MH4iv_(Neb`{ffIKK9bycL~1|A8-5@?w$J@Eck_#T&!N#V@-x6< zq|utwEF(+p%Mkdub%2BVw*L4R)koje4!*7K!HUsLZE1bYTN)OJOQogd%5b?j7`lC0 z0*6i>7{lEa4P(+sCJ_{lQ)(>e{Y7tO9e^yYtQg(C+U{Z_h1C^*bRvs!~AK z4lTR^d%!0?Sn99rfnoTR(rRalv{)$PJ8%+ur6T)&NR?Br?GAdC^%Wi;-h@HlqH79X z(xB)o5xKZYV1i+Vt^Tsk;<1(HKxuX%^cRiA74#j2W;%`bnF$$R`^rD}{DiGi+nB{$hZpS!!8RET}`lx2Z zOP<~tYHd6xvDHmLZ+n}Cda)2cLNcX*eomoYo1<)5t*w2&hz`fjM~~4likW}@jko`+ zF&aPm{67;)|060FxXwbo$k+0bXA+!lW#utT5<(GVOzaL}BOKMWgQeE+Z%s^&w)LYQ z{eOP^|Gr zuuZS90AP-A(N+ahmJCs`@ckM^N|#DrrGmHN4JL?Qsq#m=R)J(+4~y}c`21`l00%jp ziqED}5lKqOde(F#!-3U-ONk4aU@Y`-ZtC9jeLR7)pHC;J5~+|VXRWfFr$irCnevc> z>sp~ksXrJC(aGRmpB4@<^P14rdy(M1Sd6C0v)QRc0{^`ooWC+Ndp#Hm=}szN#`&QE zWJ?HUg11u-ZzUf*6oYeWEanNRq5`9j-iB56?Rr7Yn<+IHNyp~np^ThVEYWav2>k=} z4CX?Ka6E&?Tyi}T-(Dtbj$VRZFsEa)=uDu0FnWc}p!0r)D4B|COBPKzOT~`hH%Iin zeCETmlb=pZd~*EM+b1X91$xh&|A6PfI)COh(D%aGH=%Q9-#t6|4$yn{%v*O)y>|P= zPcrA<_8*+8U7mzMU#NKYl6Cydn7-PvlQeL!MMz5>&`UK#G0UAo6SFICz)j|j8<@P$RcoD@;80ef*=4YNoOHh2!7wC;9 zP0%;1P`+|-7mxTw!35(+1)ohF#%k4Vwfyb|zPn9xs}K$L9?^GU?^~dEb)U)$jy0w)G^Q^E`cevL z<`KE5NhJWYJQbrj=ij97$Op64x)AmaJIT?@=?if33P|0YIng9fF$D`aq4jDpk|sJ$W2+!D?gL0_?6lba15OITc7V_C8I6y^xM?C}wx zPD8AVw5ndIwWWF+TSIpNXvEnltULyN_3nn;T+Wmi3d@xG5uf7Q;q*lx2)74y-S(bw z`nL9|$_1w{4PfxK+AKzzUmcv25>>z@l{cxJ5zxy!F7#yYB?Pjzsm|5NWWz&`=}R%s z%=_|KFwS63Xe#hPS*B?b*OBUrEEpf{ zsH{DK#`J}FZ;wKw*AALXtN*hH4}aL!kAC#0e^>s=kN!J6{qW9tMYk(FnXR`s-*hB-fWI)o{sli-uhQfK}6l;Gal^f>ti${vlO-QpwE~SPClK zLM*2-C99`0qJGAzNl z-khKPIuM)@atT%_7F`o4rKP8$Q$X+C?98+r0e$E7c+|;Cc}*=+x-J0Nsrs5vslfzY z$|`A5&+={u=nHEe2q)7y6+Q~|r7}D&6%qz+1yg(&o(`qcFzB4Vyuu35n@nfpiCiYD zWHm>&i(;V#5q-~|dE>&_x6fbr_`=0c0N~T7KRh$>9{u<1+xXM@)9*kRCqFrR`h&9* zADx^0_{zyQu1&mi@9fW~FTZO{pYehhq}wO6UwEC&Vkq)svq=_7|T*l`oDr zPM&U`I@y~zvwh{(FXy6vI<5Y`X#FX*@Fx}jd(nQHkPqe)yVKEwnb@;X=1E+_E01OK zP}Em-Z`ZG`wg&6nVYj#1?koeqaKNSRj@MW>YeS{j7rlz$l=%4-t39~kQI~x92=bO5 zyNi#k-lp1Im1;vsX^`+FQ|zVuPP))d7n>=+k#1V%RUa058$6RkslDMhR*Rjj`rx3xN{M)YItOPX~<^TY;k36|VAE*^dhapDdRe-B!G^e5<%k6rWa^P2gOSh*oK ze#lwK^FL#o*pnlm(l+sC!XeANL2zZ_U&=%S$b7sJTO(RO`3~am;ogXEpC2RVD1U{I z5|7^h7>7xRJnm<_8ksfzI&7A^c1{!!m%^c$TS7Yy_;LDH55KP*{GxX7O=zbp zmDV?ETRVItmLF-8g?H8VXezO=d0;JVs-2}wr4w;XXjIoL?^(@8zB_c=18iTaVN>f= zPnVNy=OuUm2gaux8yhsN3P=#nmv^0|p|!Z6c50B+q{1w5&x^WF#;?%|y;4&yHqdIT zrJ~#J!st_>&rQm)#nq&hIn?2+vg}=O`C4~5*IUt-x2@HEhtfyvVxP_af>@)hI4R#R zF0VGWc6jzpKH@^1#XUOGI!pV^;-7i{gN~hFSw4fnSBv2d^iDPg4#-tlK?2_4Krae^ zB^^;5!tVlrAN4XfA5*Fgwpt7T9y?&}hW~J^UyIfL;<0$};^-UkN`<9;(*4-~_7!6O z`t-&BAV2ty=*y}z;nLSwRV#A3%~H_YP@QtA=W#jD05&D>^Knbr@imVo z$Y`XuTDNKqr_sWrRjETfb}8q1S;s~nF5`Q+K$$`zQz_6Q#-dN*FN_VGmwas!2Qa*c zP^R=6YQ3sZhz!+5rR1aKI^-2AmRHbiha#Iy5|05UNS7!Y3wx{h4qgHB0e*OH_(GWS zOwol$$1c$%bkTRKwU{6Vqp?sd4&P5D^wa6NXmlnTpN%D=IRlNPWarT{aBBsC(5;pv zXO!trFw3%A<9!Zn3g3v$V&e(T4&_uq%R8kufQNmXjzw?GOiiWIR20W6WQ%2VO|(WO zpyckvLQ~05RL!JqF|KFhQWCv{j3vUd%SBBs8)ns3OS)OfYbA%rujLF!(CwsZ1k+UQ zhK*vUN|9)WNoxrL0^@H_pzp^0!1nzh0DKV2>;=E} zCAsb3$+FT|7AuQFX@OMkP@qb&M)T(^akSKEDy=pd2o@uGDf{%f$uCVhEvQ z0aX|F8^goe%3*UIwv|leXylf~B5^u$m&wt)@c5Syl?Z%vM8OeI3}9 zto$MR@^9f|!bf}i2k6U>3-6~QNRR)3%YT)=WX;)9C~OuVApo=Lczip+KXw2XihSq( z%LgG0R1l4z*@FV5)<)KD^83+d_9kz`*U5*$^I&aIR zqTOy;jlSqtLk0y2jhWcpZ{lL0Kf6}f0Z!)JkSf)^4Km;Ux?-rSRE%mn*b|ZT7BFcZc;A#ddKq1s^dtS z_Ah<-U<_dB&tAF0=?nBmax&-}&Su8wor?tK(vhS_nTI)jA)r_G@}MuIx&qgW=K{S{ho(XRrZgHXofE{YD$y4hhM~l_WQrtSS4OH; zAWn2Dj)bqn#{DuC{ms*=Bnn(|P06!H#O2wc=?RtagY$;xmP(ZRl$MDX3M`j6iI)X(-J(N=Qm7wCNB&2Fp~g!v#u(5YSxvrMlLMG z5^7p-WY8Cq@`~)M@WB8u{HvDtaLyt0mZBonw-9Wqqy!0h0rZWU@t_)dn2Sz{v81J= z+d-Gir#u@;Arng^;eFwWgQ?_nGELbPWpO&2Ci>pJ^TEBlAKt$4*`*6_Up)E2rBffB zXVr}+Pkzh`EliyF=-ihdT|DvWMuK6vc(lZ-`UhY&NXZ3)zerT^9n1em7x8?SB@(cUL-oD@2 zG25$JeJD3NG&k040k@P+q1ke(UAxk;sy(~b=Pp@nEerJ_lxr*rwS{bja^(xfmQd*B ziVJYh3AcsDk;1sxdJoRmglOVE$YxDN$*X2wF?gt(m(?5yJvhm!%5E2Z2>5t7-O}(8 z3Fe7rdH0Gd`<0ca6ur3(oQ&Mwk*FL3Cm%g|{CoW;q#gi#_&q>KPL!=C>K{BEJSHbf zgk#Z6oY0(zBYN%s3gUF<+~sT@Z=plw{GJgrjz)%g1PvZrhreh)`krqSbR-%<|egpB@+$O8!&&RaK1JrbYY~Q;3zw90Ss(<)<5Z+85 zdHOBXeDbpKcr;!;<|{dD7BvmgAs;2hq`hJ*hH*Y2zT$<3KnaAuXzYB4HkX%4fUD!m z4@QAkZhwvEd~R$!qDGw60jzIR;tP9WNvJfWde>f9DXeTzsdgS5zO`FeTowvdv)QMK zpzIMgACec7HTZLzvw87U0A|vBLYK z92)%N6flKL%xhvE&8k4$@6sSM8*|1Znbhr<6k^SW`bli$V>HLi>pko}sqQ}`=-%{QC9-paaGw->8=JomOd~TkZ{bDNJ50l2mU(dYMX^;&RJA)!xBHms}qg9gQ3G|7YyK zVkFD5HBBt5Dl2tHY7xqHc(_NnduXk-Yj@LH+tI?bHaFMWLuZJTm38ahJGZ-soSx=z zfPQ5Y-~%5>fP5mG0Kpf6L_f{LJdnT)|FxI7XWXjW4FW$5$IXu&vvcg&{`SB3+G~N+ z*bb#72rPu~B|`WT$+HSK8BFLA$quV|ZVVyZcs@<{DJsOY27ciG;10njUeUy>mALu> z6~To)RaA8H;Gt>ES>!{W4W};LowzVd&bGt`ozbj~w|H8Xo9?jvt{SgP<=ShkHrK4}aeG^@peSzjNd0 zmx0SYi95%~N4~ywWas-Q4}Eaz@Q0&=UxU8ViNo<@-=@32R*vj9dcM{=ztj$P zX1e?GJ*Vr(FVBzM0f3*6dVidaem@&}Hs;>AcE5T0%EFl&D;MsrT^WNGu1`RXJL8af z?}7bb%!~xGiHN3Iwv{(?RYnv$OY5of5&#^?7DKrbXWdI=^RY}WVHP3WYH^cNc|hK56WoQc!TAb;R@ti+yjsPt z?+#y!v1>=#nn{|V?}R`v0POK5KwmLcL+Et}W3Etw6j9M>2rJcuIj0p@_vouN*C?=- z3vo9eqDdvQNW;8s{VjcAh?%|+t<@2v*<&Zi1EZNEyCCRG1Jr`Y?4Fr$dt=BD&!px> z?E$gmcZ&?ie}=vg(-+5t{&VyNdSkhKs#MULb$e+A^v!HO%5Kr*9|zz-VmcWw|7-dJ zy?gY{Z9gMDe9rWR2)$dv5O22^DRDmoB9kOqXCSkES=MMAp4^q7FXw{bC|n)~ev>gw zUkLQ2;OF`>Tpjr*;io}gSVMH(9EuSs)F>lcZ7yA>xOB=$fLsViR zmBx{2%C@;lmFMRkv2erS{s(=5-cY$3D_1C?m0d(9z?s%OvVpdkQ}&?2@+GMwk8U{H z=x8>VDwSYf0br#?lA8+<&W5I8xFF;GC^24f^7i81??U_dom} z_W*pL`~TrHf8{k!OkW&XU3m_1j5NMS$}n0eQ=pJoKLh%H{muWGUw-Q2|L}kKW`Fxw zZ@u+Dyz|cb`Ezi+Oy9dxBHOkdEHqpQGRa-X8cEj}>iv=Z@LI0)!F9gof=V(pw+g1!uUXH>p3ga3l%G1Pf<3iSpo(u*--_ckcyrvG?x&Z`6IiEFOQ$8R1zc%|p-Q@!897N6_<GCryVy+tLJHD zXmQg_SXQbqCs!8HL<)dy=ySAyM44ab8rLF3a~ zI$ue}ouGRToxZ6+3hk*YYzI@NxK@{}d9Ao^mN!+Pw?>_PF`W32gm!1?F`66d?~7G8 zWL4LnSJy~9Ys&-$fZ>2aAhLjBL@q1lN;%sUSO|j!V4!u|<@awMn%TzN*b~CLh5Hw9Zn}~bz9Ho@TCJL0 zm@llZ6xUYqayrNxBjkJZh1#EOo$N0Vo7?^l#+SV>8Q<*}q|NUjpcewL@hUzJ4v5ch zi5!P$;(0`RPdpBppMMOsM<#Ky%a3ta#7m2KgwQ`rSC#>@XrYN)1<$ArO6#9l*y1WW za&5_NS3;#0cmubWs4d1S^B^%LV=)VUBOkHL@mvj$U}r3g?TS*Ex9e;9#zuiA^?!@h z#bI%q;U1$_a+Q`m!9b(m z2|9+$b5N*6X+S8+hDl{V&{@O*XGHGR$)KMWriTOfJkEP=zgN;6Nm_b`&z!2Xl8uFQ zlh$0}ky4H{RzY7VQJard=6Do3UY<)B@U@ihlO}YRo}=H1`(J6ce-XS=h{gR;h$9L1 z`ckx@OC;?g!JaNXY5yrQa^U;2Y3=({2tTVm;mBmK#awm!wTqjizr}9@v2BF1tpR(A>vv*6^SLo!9*-7CF7=^&e&2mm(FC< z#e!5SrV2%v2L>>KAM_RZe*hl8BzZ+fDlpZRNO%$vD42{y(y_1{4M`DiJQ5J|l;9{F zCn+t#p$1|y6iTSklmTYPsTy?Aqh%ec=GIMc4%%BQjP92(&2boC&=*GolPCp8GB%S= zPNx!llQ^Y>M@h}dsmWAqCgdCQIL2nD?oUsQj^1~<9f5cpXD!O~#->7{>ywk$CZ|U! z)w5V35{(5!!T(8@=i1%-?ob2<6yjHLzXZJjv4BeRB~zksTojLRv0NE!CXt+oL?@!k zWK5los<`JpQrauyWRuQN@b2^|G#w4$aslU5)J~`6Sokl*-v}?5jw=ep?jP^#h=lHY zT~m>uONsmRv{Td}o=HY#Q!x&+^~D6j<3=cH`6X>S6u&k*eR*<%=nM4TzrGLjy>a!+ zi)X*ObnfemC%Uej?maiud7^(m(0gL&>*GTo3=F4nW?Yb{yZhzsw_BhL^TQ_7Q7szH%j zHC(AAD+J(_)dny&Qkgj=zsSRnoYg2=DnpTCE|kxJz64;s1oauE;%AJB|+3XagT?S8eAl z{Is=2GPk~in7-(F;PjckBbkG?p4rY{d#Vgn`^04^-j(og0e(2Jd=`YNLr0(t@9 zczGV*dn7*xD!0d<1%Saz+-!-)ibR#{sP+STdmvLdkB(ZI$~@<)a%EnrE<`gG060;o zLUL}-tSsm1>j1FbdI+KEr&(JnVMMFTcobTc+N=VZxUanF4BW#5pC1i3+6Yf9`tsUV{E6prg6L#OjYYY+q_yTex;_yN)99k6QuC@9 ziBb*yl~}3WlStMGz#@Q|2G}9ohxkSqy^uBEUUAFx<-Q{g`RvkHt#9B*0Y>uhGSv3L z;zt4c0)8}@yg(_mev?=S%n`^O55@GwVL@LUVNXn7{x9#ZE^I(=ZsSlF?*4~2i1|Mc zp8P+l^{1dO#6#;qFXcOH&H;phgye}P0nw{BHuqj~bm$)@+%9~HGXa0=+O_}Zhrf+N z|Hn^14USEKzQC}<>%|K}6hJ5%4U=L)D3S=nM3w>`Wq;#Sbc(D?sRw z0l+bxf`ma|bkVp8;#IuBFr0uZ9&$#5zGxtj2>X&jZzAB11_5Be(iMyNqY27i!2&bl z3gnMUo|qCyQOF){642MB8Tjg53dKtUKcFv9Bx56xOaQ=mo+6TxF;L&Bqyb<`MwFzP zS1@T>N&>*%WE23N@;E1)vrgA+EEb7MX(*ITIs<`wE*I!~+v%Q)L}8luMy$JRAXiX^CmloQx;{uuD{5a7V&pF6Xre zw?>^)u2dYK*)NHd4{{p*9;ZXS-XsAS=p_IvNTasZB++;D(pS)fi(lS4z3=jgFD{LIetzKFi^mV1JaO>& zv9FIE|8n@mw?ilP4Gw*Hs{fsH$KD@5+vUGK;=FR=&QRy&fkWqdzd6(U`MLft@AQ1_ zyKvmRa;|XuYVGQU!ueB~6GPU>@$8AA{Hc-r$dEO7RO>&HKXI{k?q2KC`1YN^s~PDh zPx8?NcV+N=_4tM5)AzS8Pd~cmettXf-DvFPSp4x!bZb0Nx;~z{csF_aLU`y@H8)KJAv*oAzySdeQ}_MB%-DS2LNRcS3!hTg^!nlm(}Xg#B)`B)j-B92C^ zSxT0FQygx%G!KIUo087t z`Q89}g%tHx=vqrW5aB&1LOio?X1+iE*YSbnrpZlgL$gO>oN+k4)=mSAQPIQa-sf- zK!9wGZa_iPiexfk0;TA+a}d`xf_&L*Ae({w85=!Cud1RM0&DMjVt2f;@rVo`aL=E( zNv|&3^_5IxRi10b%9T*AfJeNA zLsde$3HGFN1^5P+NS2<+H`UrQ&ev>i?q+RlUo;3CV!J)6Ono3hSsp#sTThh6BdNX) z24f$xs$vN*zA1?33wTtS_ZMMV^i_iHU_5ZhkE*EX!1n-W6rm(p3w!LObwqIIxa`bY z?j_)>q;GS66AVr*k){*>`1v>g?>(A+_SJuyiT*2e5qNanYAze~1+`ej9qx}s+~L5K zJMqDX|1aM8s{{Z0J6`9FfbUk2BH(WMePgqe|Gwk5w3L-g7wH_WBaxkVNUX+^Hyj6c80l2uE-zkP^tmx!{-( z*gWoa1KUo2$RCc8X%QxM>N4gdg2hGKLL4qp+fi;BXph z=F#=AnvQ5v*pPivobym}?h&6ZL%2lfZ~*zjZHFhRbAWCH(HcT0>@L$6+-3A$9r@r? z{|6_JynnLyi_=HG0(y@g`RvHiPX>>Dacuabf#V;X8GP^3iG362dS)&i89&p1{pi69 zeczse_wD)YWcMdGyS|LyI1BpP*Dip*l`H4V=g;I$j{v=u^JnVk&o(ZctDV0ARnOjS zoWH+z-Tibd_F_8p@V=`tav55`F!9|T|LgmapC?n_Po`guCwHbopl@r`1puoTuBOgh z44yoezH~+&y_#{})8Z}w_^;?ojfJ2uOsFD;#xax+OAT`Fi+wjD|a=yjxx**FR4 zoejv7J{bT8dcAT1b|jpsB?|Lsn&tAcXp6V^=nM410k9hY=YR_EwYL7Oxkmag&{tG3 zYR_>}C^8LD!x0JqukOHT(u5hzpQz1%e^oZV<0!2+>B|6yz%ZVf`&;@lfCYM2nZDW8 zmHhfThzkH4Yg^{}j=H!Kt2EH)qg{52%9@@y0T@3y+St{RVaQA?RyvJ_LX{&X&2$YM+Iuh)fp$x0DW#0ARVg#`J~# zO;;B2b%VZ1S_E8&a7zHdKrakayEh}gBN%H4heB&^EpO@zgkD;MTV4vIqn2O5VYS)@ zgl{~NYbn(w0GJ8H+{MSnBa;9CPSloTm3aWzA*V(ol*APDo$`CBl|d6JNzSx{7SjU@ zVwgTF=QXo#i{!O4jNUit3jxyD(<5cjBXp##>4fnhn7-+X+;K-|Vmbv9%9*KjZdNIT z>PzwYwN!Hh^yQU5pf3oDUx86uVft$GivTbSZ{gBZj#~`tCVYbbU$5_h;T z!9-sM@Gg4MccD;cpqGaMKwlcpU3_XUy)YM^(crUKZc6|b^hGBL;<&1|#EdV8Qj2a- zd(|>Xj1ABi#N~US?UEOssx5eHF?7tUoJHj&UMW{@B zxM65I=DXz_zv>*FO!_GRTS>dq2>=+_L#G7jz4hS1gl7imZ}ImR5TMPG8Uy2>XK}h|&>y0{1VA?Joy!LYUJzTV^mOKuy@~3=V#DJ$7h54Kk7g9_OY(_PWJxcM9=Rp9r?rc zH66Gl?U@z@Hn=9a|*8a`Gn)i*v#6sTdP-ZKDzzj^`zs6*}(TR z{@3GSXnS;K{qDrdt^4!WZdEQ{ESx`^897}(cd2~qa^?0Fd-_H#Fj2^atHp#>FJzh} zy|oA_^OUMrZZ6Rf8Piu(VxTlqRwZp!l%k@$G+acQXi+I0fFy7E|Bq-;v57A@KV`BK%zbZseBuSHAb zEs~XDx=fNPb+taHHCJeHPMf}bWd2|@D~VnX8u3(ZE?#LwiY0$0i#rhCHAmIqh78%| zSZNOJJ1xZ_wdqR|rcf1m4O4R~w7kd4O{dkdcw#gb9}Ooa<7pmQ!NzzbiH0?1nqeI+ zY}&8MAw%_x#hPBrgy2U3#h7WwtxUo$QF+8Hbs2+d!IQG@2c&!c)L0-59s|8V@@P!) zS|yQgb3th>q6=#@7p>Mxwz-jMtefZ>)>a@3{RXbMN5zac;`vs-%N(SeP z>A?i$D)Pi6XH>>pYxN~_Zk01pwEHeR7rR7}aX4{Y1eHqhKg}+_$SqS*EZ`RGB-1Q1 zEi229APRb-z~g6}z!~C^>dgF;?1GpW-W{ekRcd4ywD<>CZJAS7oUVW zKybRvm2_j75{@=klFj8bHbfpxd=aGfSoGGd+5i5JfBgUK0l2I0KgO&VcDbI^?La8# zhm-TVPo4U4Z-+A%ccwf}l8;K!jk>4r%#Pii9=$g+c6WC2*3=lGcY1Qt?S~bEUkoHt z;dlb%izgF8DWEqlYe~&W**Pg&h!=~AQYlf+kt!J|RRVXjsX{(oBr8mY*eb;IOjx$# zI?ba+6iZk)8jpno19yX}9MUwBh>qq+c#bv#V2Cjy+KadGD!kU8lD&yE-~lU1)?7+) zj1u5VCR_Bad1X!@mi9+!tp_FNN>Yd)-jVN5aFiN^SeRP_t|APsL+pkfk-(V8G46M9 zPHB?(%;46T$8~M;-pv^Tvr~=ED6wfd+IHTl1VuBr{Sz+Vl*2tSONIX&Uavozh~ny* zR5}S479D~y7loIPI~h$07h8~3CqmkHDf|k#DbUmt>5!JxQ_QWZ$i-N1) zSQX7<-JIc)(uz^pO&RiLHGkd+W@VQa8;`o6$+%}a>77kQAZ`Pv(M#}qt~nf6nZC!4 zeKI(>kI*~#*&cn5cYHd0m<04fBi+9n>U`^5&s&%K-<~@4wfA!8==npS@42J<&K&t@ zr0b8M@15SyL0|pC2>^Kh+O_3dH<$0;gXXT@E}p#%=&s(Hf;R8X?u>dLjr*TY_?}Jr zLEp!t(~s|sJ-I*r{gmscSr6#@-MH(~O~>~2nWgLZ7Ovf0x^ZXW`t9b8YmMty>zA)J zuG|293)jvkZk^G_u9&I^^tBtse5*=JCgzv8_9q-L08HlNZ|Ey!hJJd; zTU`I8ypHYHcop;}eL2UnNHz7G$F7SjPsLa?F^q}J?BQ*WTLwrNC&b{DM`V1tlEE&0 zb6XTg&Ge;_TQNG#rddGf3DB#zmJ`{$J0&?q&K>^6;>QL7z33e?fP=ac%@|U(s5UCr z{6c-BAOX-!*NH{4dg*cfp}mHkY5fwT7mpOY zDso-%XM2;r?HDd`?#B8vdFdgPUf8B&ij7r5Z*?(QtH#P`=?bJGg>8erN)5LM`gyA$ zC5_DQ(ifkK1A>^oQiB2uC`DSX5HH{*6cUI>j;q?EFB)_T^AP|h2Dh^>iM+>)aGz^H zH~{R@47c9S)CTmQ*hd90;u&E;U>N8aQ65Nkh$ozUTvSLI$8$%2gBjCRJxL zt9~Uv5z)rO6oKMMn!H|aMz&$Nm4)SGqm`^S(Sgt!3+5c9T_XU`Z2-Vz8suPBOIdcJ@*D=kr@ zZnv{oizsMK)J7Bo)LS9*=fge!_dUM8_x}HQZ{i=qk{S%dQ3dYY&F}rI=g5Bt?#_5! zlvgt7oA$fMJTrG4;~e92-#Invo&{9k+gzcTCz=Eyf+<>1yGP$$*K5jVhR5WRl`^zP z-()ol^u`Mr&{v3pu;g4hZPW6Nv|Z-yxY;g_NhA}Qjp2zY&8^iQt_a8!uY`SKh8ES; zJ^F%(V#rhqh&rk?d@Zaw1oXxXC9LZJFr{6LCvXbrL--;|223bY#3c z==)$|8UlT1Jsx)`;)}F%U%2XQ6w6>G6nfCQ0ap zL8p)lD(f_J!|f*e_8s~3NdISq-oeiXx<2YX`0mhwk46sdJ1KPf;0MsjgYTX=@XqPO zZ=daa=X(FXTgN`X*7pu{rT?vqy>DIUB8~Qb7`fP$Jl6x+mxdenFSlk!q5S=^*qIB; z*{k~b>-xD1(y24bspIDP6S*scm0Kh8qr(ehBkQy09tWc=lj?&r zi+9#8-+-2G+=A9_-`Ko&XZ_wiaDDFP&EokB(wUQqlS8T7S8}ss1v#})$W|Inh+7Ku z$|0$~9xpA2GV=ku#Vd#e0vqx2e6q5DpB#R83Vw>sour6@MoWhl2kj<=pJKAUlxQrW zBb;omCK@Yv358#Y))N-itLJ=b*01G~N(qXKDuGn^h|_UMIe#h_NEf_%-7gYe(#&6F zL#b|x$*>ipK`Aw8__5KR_tjf8yp~^m4%w^ED3VjO9rpT*+}7*D<`3ER*E~X-Uwd6x z|30_*6KVbD?AlM(@(X+AC4ddOfKsF_%EG}pI(BQ_qh0&1?IZaaK_kxZ*v^?H@UO05%xkT>{bSrtI8;TqsdDITCkA!Zewbh(nxn z$8Y3u_1s2vGL?0tX@Wdpn6X@5uU50I7CT@b6BYx8k2ymjub65FVTsR-Glh7}xt$AI zL|OB^HCs|VqI1Cg1HLlt7%q`Vy0As!mBBa&t^M7gGPGt`& zr{JUJ3MIf=ehg0VG56MDvFk#^okZVGjIv0j1-Y_lSC`~$J!&>n*@bjv8PJl7bIEK? zE!C}h%UWEtmzK=s6>DV`rXRwGfeDVcHlocne{IoQX$A95w^^pJk(fG_kU?Ki)@|tM zyhEJRhiB&eh6Vw>@V-Ga7q;@a?P>Lth;oP(mhp>ltL5orb}FbpaHmJTk|UOhSaqqi zq*g1*d=7p(X6g7|>}JDiu4d-eEFcrat*x2$4Qp-(GAT6`Rhw7qRC$8d`!y*A?5IBl zqPrArCN0lMMj%t>UM%*(j}AtY#-9a%dF+=BYkSOD&oNsqDyDSq=Kpq&ve41Ne;)~ZLP6ITU$oOze)jqQb=nWh>zMLPLlZtw z);a2SK5#nj&dx$`X)`Xb!xQiZsR})f_a@`fR3eg&K_O9U7Z`{ecFN93*&OJr7prom z3@ODjeq~g0v|N_+S&o91b2Rcy%2vT$B~wzfWdIw(YvG&WgTu1vjqA=ZSY-rK8Bs*s z=8;u!1xjjKTGwN`#RLL7@k7RAKvaxp0}b@TjQSE3P#wDky<=dyzG^vb3-JY4bH8y*H+CAm<&G>^3Psr_~dJIr7m5gg@P?z9V zeYW8?RL(#Gc}z`A@k$O=qZ~4HaEbGT@H{T}PH?8^3iuSmD`{@{cpcc*@Qa&H%MeTj z_75BBs3}FQlt&`m;=5)?KJ5riOa~s!hQ?fxTkiO1NFn<6_I(2S9v}D=_80W+Iq=T0 zZ{MdvMjfA$4t_B5?K{KY`~d(4eb03K@lwwR7rWlS(D~NIuHRkiBl@1lcK2HkdOnyQ z{LC}>weQ$B!6OG^$2yW{heN~t-ebcvz5U^Vlj)O}fL=&DJDeQuPYoYTj~voYe^b2H z1Nwd!x&2ev`N}&9`o5l;d46|h=i2DT)msqIyK?*P#@*Xn_wQ~#xDNoYkBv2N+)yu^ zi5wsBoj;Mdc`4;_<)x%uC>CqAOk*AN)tVbhjplS?#YHqU;Gak^S!Vh&dUln?a>z~WtaI^^c4Um`f_gop9cbZ3BV#h7asv93xT^#Ux<&x9@?xU!&+@R zWI*0jA!;`gxfU#xPodSHQBwnbwMs>+ESQZIrmxl5B+c#EErK8Mj}vc+8B@?Vkg3kZ zXwo;FEs&p3GtpulUwWb_5>RJoRTBOB#1d)_kJ_8@B>?ksAc0;@q?7_R<)z1vxF2vKryRNrg`v@ZF?xK|Go1WVt?>o045=v7n7|-28I0(C2yb3RYn7%@E%s1(a z^PLR+(V_F;P0E1oAP7l!Q3q`|J zahH}B0ljb1H!P*2nwcQin^y`2u6w4{2*CK2kpzA9QV{^g4iN9j^p&h4=*t;7+5pa! z#6Wb;moPwIU!0A}wEi2=Y^y*y&wIAh;BDPI~$oI4yoxj%aRi}>(Y_NAVs zsq>HBcb<6ey_lJLIXm-gVshu+{f*l<)^A-~xqW`==GoQz=hjCrtWI3sp1t|hGr2KI zW6|b`;pp(u_=&;fwbR9!d&Pu*-b|J%<#M&6)t8j&LcFpP%mKYspIPx)B`B21#|kB> z+*IrH)P-+sqT$dQTWAhQVl@TN8Pigw)>@>s4#k`6QL!9_{4tu*d{fRe(^frgQ)o0g zp;EpW&zGXv0_Y3x>ytAq2w2nb~RyD;$|^nmr}VFK1_b; zacT7#1w&D^6d6$V0l)?g{oBp*Y>?w8@ zma$#Ph&(Z~9LjBg?y%RdOFQ3F<}8u9Vs8x(?aA}RTR-G>e#&kAkP-a=ybAxNu~xBS z$C}%c%gZ<;Pg3I=Aoz)*kIXseqS>5UZ%}}7YZF&;R?1E#waEm4LDMY(Q;+4c05BYI zZegXkvXK?5o=jNDH5wTP?_p92nc}mt_XT2!`W!DNMv^&Fnm;-BWB54eC=i~-5%Brx z6t;fKZU2(ler<2P;@7rUZHcwNK!VaFKL`4zD$Qh>YUx9<61r|J=0|%RRU|}2SBVWe z;~X3KlS&9IJkjPJ0=KZdzIYDeo)-FrAm23lYMFX4U-#K%^zDEyePP8~Ugv}lstDdr zuRl(#JWR~*L>n8?%38RzjGK8hqK?Is(TIF6BHfS5_v6a6O0yfV#iQZWL{x$;_8XKf zHG&>PWj?D!LhLUBuqhH7UnR$C;bU0y+nLsa(P$>EYR}Ps zR-lkIbmrITfPc#Go$z@kJTqgiX}DhKzT17z<+|$(+;a!V+`bvOUXeMH9VGi*Rzz0g zs-7|}$8s$|MNjwCGX+aLzK`}1v66G8` zN(y3z;a3mpP^gEPa-v~sMdcX~N=z+gRRMTfw8A9U`g%;ob4IqIcqors4jB2|Jw1rOk?(skiAnIPm51BVR!$4}Ssy ztDrB>{(`;`&@1#F1oSd}Pj2e==n zi+|M~{#e=mz6cI&yxOBL{$%=MPkPhcj9O3*HW31P1%0!d^jZkJ;X`thr&Ly8o^TiX zQs^(!_!4eJ0gpY6@mDjqc3mNDJdi2eCeUS z`W*UO`tFK`yMbP^=G$T_cbC5H8?2O23mAIcPgUYcYP=;akP%qRA&_WXB7^O@OrsMWSo*#*B$*4&>o-N__c z+f=TAK4s9%d1NDH)~xa}`i`XXGU&_erT`%kvLKeKvv-`|q2b)-iZZtrEtRL!a@e-x z`2u=Z9z|mM#_|m@8c$Lg8R#{Zc5rRcxgqqfJ?6aM?a+ErM+CPt?I}JLa~EG?duh}BV}38QIVYE^ zXko#av*&+$>#hH3550#w{&zgjM^k-*zN5}5xLz7|_ILo`+YUbf45$DtKrhW1bG~H} z1567{1$}{DC6hCXy)gFn(xl=w0ktBVG_xzK02pTlN$WZ}Y)z$VOT3;Zk@80q-cZ^dOo71wus25K7F^LJXGJCCrww;P zb*EDVU`qvkXOa;Bcq|aO>vrA4B@HHkUh?#!R{>H&6bymSCMO-~I9|d*+5j*_?$$Q^ zrVfaLzEdd){Y9YHuj=3~#QhIk1Z;2?Pi88P=~L5xMPDIGK+VE7#AEU_XfGK+ZzP?M zEBTaOCi)I^?SqbYeKOSj>6zZIPj`QHqWgoBJs$$GLtXFpA9)MvJMu2Xbr*(vzY*F$ z)bq`7&u4hmQ1>69YyIy}oc+dqV!vzn+rVH)WVk1GauAl+Gt%QfbtHCfIDPq)a_M;T zTz~p(zkGhsI@_zC?y^qz<91ZoH-Gc$#^}V(#LU*z)cV-i(*0}D`o#Io zsf#<4*SE&6JagW8?H~I-F!{nWwl#KV>E@N(#dF4)6N!^Uk>dl2%OmBPJH?=*i-Tt*HGpchjr$~94}o_@d^oTX2#Z^%^|59EUCl&@o9D>b*4oZCsY z9;F&2wfaP>KQrrF1~)_14e(Vhws`b7o}GhIB`Saja|0<=_;08MrK;6LsT41k!G3=x zOF=ZMMYH{i70OnO1xgfE+%1`a4W@5yWGWMwH-D&X z{i(G1OLhBK2;0Stp9<^Wmo|SY0jpa-fGdC>1VDUTAvMyeFwZzO+m+jfo^hd1yB1g@%kc zEvl?bOBg24%FG#0?NbYmHJi@x%Zg1>ev|8xI<2mEn;Vp+;GuGY73 zp;D!_P;n_zrrP-6VzRmH%~pfOM!K~I`a&E($XTPgE}piyNwK&h@__ScxU=PHJvWv% zrWD&N7a(_B1lT7uuaZG8Gn_4i%GGGCDTy4^?58=;6uvS@7r7X@N)Ju1);D9NIj>RV z?~4M&vUP`C2-r=dx|L}@qNHphIgC}IJQ$P;LqsiMPe>EfJsj7K>!vnV;)S|XqBVF_ z^Iyx-N=n(Ho`F#co0QMXs}+D@?8$RLoF`cm8J;1s)Z)I%G@d|!G-sqCiKveD?^nzp za{w2QU<*4AFpK{#u8WoKR92xKS-nIFQXraQSlNO&Lf%|^Vyudih$2=1{+s(N8s~Es zbIH6cD&JVk)K;>^imY4VXq=a?jE&d7{ObP#^uGV$f130fyq44z^gH}shjVJyF*)I! zg?Qfgj>mh?=cgN9rOD2K($2IDRB*$M4UkF7*h;BLBmd>v-Z=BFiV&04%IEDu(aMps zd6I4AGj<`9EoXC8yI6zFe3_KXL2QDV#OX{H9ybVVqzujl!Sk;{B_39jQG*mVlQBCT zw++Z+DGrV1Tp_Qi0D-^~-~_UQj_6515m@G-#_#}9t?uw{PQ)gP6O(-*o*jOky8t_a-f}ylTE1IGyZ#a&A z%>7ySeNVuVkU(gnV9J1k=+=lbO*DtC$^j+qNJge(fvKn;8^9-88~*&fR>~nK0A_R( zeVQ5)>jil3CSX}Xn`!|-cs{5ZL0!YEVCcc=fCThXaa)M%5Hor?LJe&odjvlI zj;lJUh`N zCwkw#e)NOc%ZL4^4|`4?2p{hvjT{XP_k+Hnvjd=S{QQV~@mT8o0O$(=z1pcx(6@4R zq6V|ePdf8xpPorjYT z*6-hH-o077bPc;SJma2`qVbGssF|u{(Oj?JC_1#vtZIS2$r{yl zG3F`c7;OiB;n17(<$M<$4Y;cGm;N#FAN)B4tn>elz5 zFINYGKtz5O4M#J21%3C>%k(X7`~dpy=CmR!4EqZJ<0XGZUtmlCn1Zdc%UikC9T13C z18+RV+Z7&upWk^6`a(QLjkl|9|Aa@H0~16+V+wQQPRJs?R|>+N7uEDwzM{95fnJEC zSCXxjK)LC*>{(4i8w3FJ%#DMB_)`hXpg@vZO>51mOY6qk)_;M%(C)0Q&>Q>g(HAl| zAA`H?3JqfR8m<=rX8HoXd-TokP&wi9CIJ}NA8k51YD#_nZ|NJavM2*ovbieFw-fYp zoEP_U+VkrIzXI%H-XdoG)Jjea)pcT70$okn>52 z0({gHve#ees{~*$hRmX<(*X41l+%?(m}$RNPgPdU+Kyh?lrl>xd-1R6%aFsy9)0;4 z@K`K2s8Pbp3FU9G@i&H|6_e z@v2 zA-aUZUVqTz3jo00VC3lF|N7Fc$Bu9e=$#EjoBV$; z;)GcQt9&VSHcWZ?0ASD;V)};kL{N)|bro{yX$a`WBM;s(he9d=I3nv*HaH;zz`Rx% z^!2AyS5gKSow1}N8V^Vk%x*&0-lQ+Yt88INAP^MtB@C)Y69-B&pzlN^dDrK;HamT7 zYW(^%6-06d!#q)CLGz|a?`U?9?0nB9CMK&&Q_rA~Z!0((4`+#t0 z&q+f#BU-;C=<93;Yqn?v}OyAIO4-`IqGiws*@@Pz8?`H!ns>)nr(MnQvHZ;& zmFt%m$L?*XwNfh6;HZ;SYe`w8W&*8-+1#dN7u7AaFI??_ zhMN{1@^BN+1{rJLp^-v^MFAIcJJ_Gw8g#(%s8&Uy=JE!qxUQGT7ORDoM7|ldYYC&8 zGHW4~0vy~a1$W_0BI%N3KRQAA5*i%}S>kcs&0nCx_Mah8Gr#s4q(lo|+j!mB{-OHt zWo73@;Za*4L}BYCjcu;M)c#c2`g3XH*V4w{RW|=p*!dHbU;P0RPyWij84M;2iUt6N}=u4(WC>N9PD2@mfs1^+;*%q#Ns@{Jc}oqCYf~PERG1 zl=Pdp%d>p1$BLO$tthwZ=JJBMzGZK2b6o`Xm%k0|LSo*x9ecI)d^ag{+Ys|LBoJ=W zpaOa}I1w6S5S^I(&P#|#(fPdEof{FehRz27jD{XxwA@%r*H(Dd8H*)lHUbi%mjPu%lHCnFNBd6b5o^B&EdQFNza z`|_1=r9lI>OVlUeZV;!rfH*=MzR(g0&dBYF-iF^Uj>qL>c1{F2Z%Kvagx*xLRD2q@ zH%;6&&@ z*WmtBb1TBm(tIt%Q>~mE5|3aoZZilU7++;>^_8_Kisw^|^kbUW7m){GCxmaD&TH|R zx%8aZ1ap*DW(gK~!&-(FMwe~_!ubk4rWyLRCy=#5X|p(Er6SfDV}nvgi`Xj$d9FDJ z<|Wb4hhuDf0boI2k~{2kg}m%~XMN5o&+OFf6v^Qnot(Nm;~sMdCc?5aMbm_kSC$~y zGNP}R45)EDMolT4H)2IAQO@C4fSxFBhIq9Ys}!Q8BCUce(b6Ls>?{R6_AT6R17$pRzY9R(E;p1=#HaP4igM<9!;)W0Q%Bm zTrqsTI}}Vy=Gb2nMB!p(aGgqiQC(_{hMm3P@T|}4aJZm}S;xJx@f-K=k2@SdJN!2d z<0s`%R1U|Kc-%;(GjW+Fxq1Hhw%bK=x<~zi+inkagQ7u4I_@yiv|u-@L!O-Nw2WCz znNp-FB{i!_E=zOUy2r5E#b>j5zp3L#ie@UD%f&K+ z6eLvCnM9;_I?y-*dq2Z2?NQd4XI{41ep|?jm-T{64d*3?J^Sgn*KY+f+dOrYq zk9L08+erZK?fYb4@XLY0Pmc|Kezy11bA6x99P4nO=wbQ>hq|IC`=VzDA^(}}c!SwiA&ec=qfc1NCj!c5=X`LjT;acU%ac33)pB697rGI~!5 zMF3#XSJ4T*dU=W06`+-r7T|HkD4AI8!@YYR7<`kyXq)Wy=jQqgh#LY*&pWrnEd>i* z@;&+jy=q}i&MhXb7SJ29s&Tyx;RZt2lIc4cje)*FGo#d+z!Hri@4SY&Wcot+tzU&< z{hrBDS%1m&rPe??!=hye`r3INkS zJYCA38}y}7=*VQ0ABuu=C)C5K{7r}fE1bRr&^jZ=|Y zpx3CkcpML=0d7W{!{vR1b~##F1U6fB{zs zz=FQX(mWKYkO;lC<#=s5T3w3Q=h3m#7uFzrRP+@nSwD3e=tcr`c>5HZh z;;3m#Rgp+=tQp>m$|YF@U>^I$TfhX<(5?nQoq>^M`ugE$6&pfe8NRg)6o);QgCIMyIN0|=f6sf+Ko{Wp!SRlL#}0oyxc{S}L!S(F zeuC}pt`DHz-Yr@5!Uzo*LMHruXyHJ)hk;`uXU|gT52rdWOFa z4;_k*bjD5{Nt`(vKXnXHjGa9Ng)W|Tofw+zKQw;iU}U(*xO`&EefN2I^10s!HO6O> zr!UB7uj`lYRIc4x9-n&c_52!*{9Qbb#~)ph9~|LVt|;`{EC1kAo_T}o6SMVOH?@-| zjFCa>O`b%TbH#fsa# zsixhjquteqt7zY8U^ch5l?NoH#?yOJ^+3B3-l zu&1a}4kU8{DoCt*VoF%H)5Uol2ehm0{7`xHGdv}rE9m=ce(Ud`?E0TTR;auVI{u8^ z8V`T0J^G$)DDeXz1W-4ADsKH!-2A)3#;^AF4^TUdnP)LU@tr?0H5pg!@#@`zfb=LZ zT;wW#Z$u1n01*V%Vh7r1lNS77H@tOj<9loQ12G^Pa6RBASynhqtMQ8}vT z^y+GE9>(Y~E-bIGUNajh zRMf>4V|mS3-oOjBMKqV~{2u7I2vM9AKg01;cqD(^&MPU<%T)`vUc>7%W!oYoi-CtN znhB;LEDDGIf&Sz!(bmh1NJ|1_(&T7$D_Pp$_`6*#P>}rDWrfGPgoWPv@6u z9(Q>Ik`}kp3!7-iMVIac4Z_boj+Zy2#txLKtcEgk9?#BE8F)&={tc0bUzrm;|tvK2kwWXlX4o3h)*+}X=O5+@~JjQ z*JtK;vWpKPY!I}-OOXfLXV z4j6xOoD@U7-OpIT**#Ymom zk`<5}L@%dn6$l$-e~Tq4SA|kmAuOA|WXcha%*4Z#ood&Wf{Py6aHch1Lh+|yaH#@r zQr0K{d_jZ0UOFW~VTsBJg0C@Irl2aN9m@^;(EO`dcZ75IrF8fZucY}U4HrR#bm@LW zqvHP}mKap#;de0(PeaFHor)*YWv5u{Oi<3^P(jJ?hhq*;z!{{(mJ~RhNWzz+>pvY8 z1|Xh>5B5ftS%2c{edp~7|3p-wq^fCH)#9~j|CI^vctoZQ=a%L$`LET2N(G1Y%CzhS&*MYVe6VE4 zm26Var;K94%z(jhRgWryzRcY{`X23kAM}NQ-r>WaGKu^8KJM-LsI%)+=y1iR%p^qe$xSq?jMY9y1(=Zob`d70@8 zS&eOo>AN@8#OP)El9t56f01LBBYS~NQe)Gotx2^_C|+3$a{sQ`1Ti=_T?Wm|d`a)z_H-%B&r7yV4q6tnxpgsET0hkP~KrcB$ zL0^tH#+z2Qf6T7GmYa`4`T1F;Fqt;TlRD5ll}tJ!X?H@68F{O=P*{8n`l4HtC@fN{ zlWYSvk=9wxuf{4MjZKMWR~TyEF>~ik55A+!9{M^tDCt zB|euo=}XY%BvzYGa+}W~d|xo?7f#-XZz7Xh3s;ofhXV4gReF2ghqFiok1>!YqoWp_h9Wr;pU|dPS3H0?_ z&2V-Bd;)-{BnuaI7L87}7%4VMRB(xxTg*g~dDmZNvDOw5_O}1fqAB3Vn?|33P zrAX+%&&1Ock@!R;IUP%TQrTp74$#dnJ!Sy6M{Y$43Z^fmL|&q9DE%C2TPb_q8PffU zEa(dXz4WGNZZZ_Qj6bFNGUyAt3De2^%dEe)*IqGz_vlMw(an`~Z3!n5$kotUQI}{n z^S?-6Z9xnj@6s1&X8>b2GO{9ePhTYfYwO9!`oebt0Iqmy54|ol{h<&6I27;%{qBIr z>30LYvmOu7JMM5WefQAoio*-)H0&(!1B3u1Xp|`)N7PHDvPJnEY%T=irs}nHt-Xz7C_mMg3DC~eW8F>rlf~r-KjgSJELkSWq`gwFVh#| zHC;sCu5MCC_gme4f9UId3p(2MZhyx+gNNQ5IEcrOh{WBW4)=U^r0etEj!(P0zJPiU ze|@C$+ha$*f(Cm&hx&Ryp{2uJ9}FM)?wvm9K6xl`z9(^R0E(PH0R=Cd2%H~w zpBcJ-`0MkBKE2fS<^91grcWJ|E*#C>J-a-1YsWeM%pG_Yh;Gk#>euh-7tbb64p|ol z7sszXn!U3#ee2oe=qtzc_wK--g0b&I@fY6E=IqSk=!4?bi>YHrrQxIU$bfuuFg0>C zHZqVpeOx+s%Dj3pKlz~LcQ)nZlA%_LX02=&>vNFVoVVuMb&!Foxd&-f?99K+(x*K9zSFHT0Zhc?dc?of_RZ(P%%&&+fRvWLu zLcAQr<^A^zE8$ZF^uiE>%I4-vNZ)*{uD8=5)1kH~npzAyQ=m04mJ?+IAReiPgxMuA znDN2z3E?Lqlt^Z5JS^YThN*-#ykxk+N&Gc z-HL(G9)0%!%xvay3+}0K4}(YDamo-s!!gg9ou6p%VCQw_;SbrzuOR#3Gi#@v;fuc! z^uzSlBdxKME>o3gD9%-H1$QHrMTnmPmLSd+o~~2kMhd5@HWM|GDod;{=Zs77CM_sW z)Yl@FURp(GC6aAX*@L(~lg@~a3&k$Qa&w8oypo$!^Yf`Gn%&k#en8*wTw$Ws;$ZEo~ z!Z=4LBb2Q_u_`+espgLtV`>e(Nxxq8Y88B*7`%9CE|{lkU0QRaJx9CrBD>tqCdL^v z0CM0Q5Cz+KEH_?T4Ho886-qB-h}E=jYVR2ye1@35=yjpr1`6sc4}ntLexSR#O7<5R z#s&oFLU>=1h#~8ao?VrrHEXw zZxXalrm5&Xb49F9;Td0_X8Lt2Y-Qv560h~*@nNG_waazLEYJA7-xb$8n945t%jF{b6hvh9tlSEpRiXdpr#)zE^L;Y!6H_}sJ6 z5Y80No5DX0L!v$eg-@ed^F)oAi0V#SfGz|d98#^2nu+SUn2H9!5RocTr5cp;{#3@5 zR2^|L>*zY5D+9&NA`~3g&9EYDblk&|g z#p$t1A_4%H@;U&Vt<)gBHfPjZKrh;Kpf_DvtP;1cB%(63R83ua~6s#1a~ zxv~hBBuceJwj8rdscb1>7YMyZmeCu|R`%!{mWoiss3zDF4P)O0BY%EcjB;0IVj(k!Q$ zL;ogTsHZ9|beL#3cX5>vvf5r5^;h)8Bhwe3pS1^IJ{O$z-dy+|eY1~#26_Qtd*?d{ z=!G)dFCly>5Dr4qjjhK7;2PQ7H|ZNHwV+sqO5w6EWcsFRb5u#XP>B|+?f+H@z(8-J zwj8c3M`|lzQnb1vQc$gdzF~XLs}<0*Vfq5SKC2Y6>yd1e=?nCt+XwW<3ut^7;3?5@ z;qd8MBk$01PCbtf_*6&+dS}DZbX1;AXbvR<_q<2n+_Feaz1&VKhHW9rvCI>$#n$s& zkU9uhYu25LC%mq->7qE7thpvB>^dg<&WVda)TYEFC8L z(#ta?B~zf8<3dKsT1iumC{)MSos7d`0>B(I1>Xq(haw45G!41pk~={w_{XEs=~&W{ zlDTdH5R2;;hOfnO)HKtVXGSTMTCDfwl~;T8W$z2q>4`>s2~KsXFnxhu5ES%HXuvSh zH_U07g)hh3Ic0o?B;*n+FGiigYY%4d=m@0%U4K%Cuzl0vz2gp!h3KQYnkkKQeY| z@b1a3n?r{#4}5#N>ytMltFLzMyFd8N?2&Kbk~5di6|P+@-@aD6f3tk&Qt9@^%*~PT z@B!zM&x6AU^0$UtQ8PuWxH#Qx#pXd_u3MEedjuSk;iIj_y`+BrOjG zO)@U9O8Wd3kAkuaYd_MuAQAOb*!dX(39_5t7uLVeuYnVkD}(pUY?ZsHjnq-LNO8;}g-<`r?EqSj?G4ys zs$xXkdSetiE3zolV%e=HXh6}7s`ERc{JhVsxs;M9Z;abf^GX(e8|Y<&zM0w@I^)qy z$)%~Y3Wf3qGkUUC)fX4^)^fT!$Lp|@rFoj}6*X?-m8!?E#$u_-qzv1KtLHVUeyi@y zHeF`bt(Ng8dXDj24XuVTH)qT*QI$g~{txI<$Q7R>tST+)<#k7*aN*z5m!`%y0Mzdx z8gSmGLFW9CfOH@*t zrIr_|J~VtV<*FoD28;Pfxfm(uW3^(W+6a}a;H4)+{*|VXMP(#7ORyHCoJtxFxqvGW zvFZV>?3D{1DTj`8G(+wa3g&_HxkO_HSOQat=wNxa8OW3&w^A4lDfj%biKsN4R9tA{ z^L0wTvAn6TJp^S5v`a6*ORjA|iAYyoK-l1{jhTh#kkx!*)E_0XYXP<8R$;go(NPHG zTQhQgRw*I=i&GsXf2@hW9l@)P*tkgw%XS znLrl4gDCt$%>H0!N*p!^hYFArXej}tsI`DoU;+P3YhEM7E|!qIB2tfWfYqWXm$dR2 zkMhz(X>ki`PX^B~iM3v9*222Fw5=@AdNbUsYPlGxy`IwAmF5(ncie z3P+s5Fy|H~^g2Bgv##6IleeZO?l`9JI%n^DU9eW|aa56EBP@$DP-)$rLa)dO7tL{zFm*$qP`lq z%L09YSW>ADDMd;d4eko@oN-RhXK{Q;&*ijiR>@{)b&zcVjoepYn)1ACK;&`)bb;RK zSQ;8lB%m=#nvi9YKuYHP6#;{iy8BJrqnU0^cB$=kR=hrk8O(82*nnc`WL%<}6R~tU zl1c^Qaep)sNl8iFPMH}hW31^M^M#!ws>WGC*r&4V^(Lsu(tVfz`o!!^Am)muJu%4< zPD}=(cOBl#j@kQ>@U+MgJ)4SA){dYTU(;+nhR;9;gj-cj82yMWCv=TM?YN_mO3x%> zv&n=b9e2XbtFeHUj$3kArM`tboe=*@q7#752VsI%8&jP}zhVcqOdtV5SBbs{;d+n! zuDkCKLfH5n(EBERyAFTW-SHmO*YN@9d$Qw0(Dzj5J^*;=;5(r2z#-CL$A_RV=k7Sy z@x`sd&dHNU0bu9(;px-I#!nvueSzL9{a>H!`$D|@Jpu3Ek953q@!nex z1yafGeeEV~F&g1)YZIvd1yZz*Qk%r5THH=51)G<~-ZOJ96kFD8t#WY0l+^aWQa z^@N&7GwL;pVv=l0X>Qn5K=3#EQdsilFCyUf$I`=JARa3&ZjgZ9J^FI%Pu6p-z48_4 zrQ(BvzMKQABm$$}q%Z6m0KA7@U>G1FeD2a0$INX$74&+<=+##@c|>=QzV!G8eGNE? z#fM-|vbGk<&w~vvDM!gm6S^m5MwE<{so+9E5xeM9ZT$SEr8MqxucprW?@ZD}4=B<0pC$~TEivGr1Y_=2?k9rRc9#basvX9x%f z$k7eLMW97B)m41>L~W7EB8j}v3}858rZ2Dj27SZXQXrp$g2im8lnYmC-dxdX7U1vE zMT5Zwdf|_;0rXBLbO>i1u$!Q7P_F>Jj)V;hOXWRm0yd$yHc#kXXlIFn4V9}av^=Sd z{tbOKlQDEhQ5Vp=N8dJs!x3mU5SsRp<%Omk?(u2ootY^B81#MMam~cTe(krF zIS|JU!5%>#BNHi5a67~+daVNKU!*UHyGLJ$-7wQvF0}w)IYX&%fnGH~$G=2Cm$=IS z&R0mqs+c&VEV*qSi?MD_#L>>5l_LPFIfAiVC;-4wQv-J)rX~PP)4HH$N(Fsq6AIIJ zJe6kp;zhGe94Dqz77L017qt$VzDZe0VOyr9O70Mq zOaKn)0*c(!e@kDEZ1SWexL&T-aL?(xG3fww{V5gnA||_*0095=NklnUE*vng8$N#UqmhnJ zuJj+cd!p~bx&C{n`>vljcy)OHsiPkc_q{*Z`$ytdos+fe$4gfR zsuzbU7miz}dt!ZG#(F%}7D$);sX|PzD)~jZv_LiX%S&o;A#K&e zQr@3511SrASSW7TQnnx!8>xJi=^HW1tf+}+=3<#vs<@@qsfpQR0DDRraNeTmp2EZL z3p+nTa92=ilM-c=MG~tw_XjWGTxpPyme7zmGi80_B~;mbUETVgBZ-*7Vlwz800Z&( zDy%RM9YaiU78e+RO~IqO{#f6nDt=%ROd(a$6_G626*3mIoTjy^EUrP|A{ydguI17z zuvSh<_iE{&rL{BTh!ym>7tvKjXE0#uXdsNa2Ix!nmx|0#J##2sU+~+-Sy`V>tJ6ts zCZ#*nQXo4Awt;Z^!V20ZbR->;#2IDrO9p_!a-}r~oSVx_=siHZ+^Dcc+U-@4II4)R zp%}D$3Y6lq^9Vn$P2$mJ*4|~oZiS7XD6m{adY5;8fl52ygYo9(OKttT)Y4A8wGnHq zLA3NpR7Qf(WQ!zORAHJ~7%dgUg?uQV3FNGBz8EW4up2<@)`|`}2lwOF?MTK7+i(Wz zbc&{F0otg7zFk$)>T$XuGtQ_!5z)X@pIwcX=HWZ>72pyHsF1nD#iXPe^%V$49EA2- zrCBut!T3gM)o8t*UYJ*wmefTO1#Fk+)rBpJBNe*#;jkuNx6>AtwQpBtfOth8AMj1M@{<$wC9 zT<=JpYsM?(kfFlUIHO@lgsR0+BFRVunvO=M;Ge=m0solCH99jn?wFZyO^-XK9=J$% zeIBZNA?E^mF|3l}axs$5htozVMT>A?g24sW7j-$%(a!` zrF5S7$ z=gv_`*p8|;4e;t#&@x2!E6T&{x6^@)bZ7;FD^9x~;K zttK)?%u)kV!k3CUmGo3H_P`ywIpv=8r)NXTR3LSG+IM}{bIa+UjHb|CV1AE>g4d^~ zZaba$HbtpH4b+5yTbOK?WMtC1ozOCI)sCuJ*bM&s=s?hTfI;$DDPLCdTDnV@@$QgE zqRxky9&X3hCDXZR!Xo;9b?{w?>D%A?@zK70J>4I6cDyUl`$1pV$4uYe!ygPB*a!L! zANun6fzMAI_+*d1g9m><)bU54cku8#0|!Y*zj+S;KG*ftrM~^wj~~7=c<^NR$HN^T z9PN1fSl2rPJ#Y7S{vPOs`a0hMePNo9cYS<%|A%*v9}1j0=07=@Ix%ElzEHn=4a(m- zZ(KeRI5prr);-$y)y+d6PwamuGW4x|wmW;iH+!-#bD~E&wm&)WP5S6p(!kfCuQ7BG zJT^~tX(L_APzUHM4<1Yo^gzn#v*lZNveVOZp-@d$Tc%wulmTGS7t%`00I-r>Oq;E^ z(S(3rJOlLZ(HEUcw1&ZS#+NXB@w7LV!Zl52@}Msi&ov0ZyXcMCHPDypp4J{^7TWd; zwrP*1pd-_l04(TB*6MHQi#7$sh3lmS6>B0u=5OfR*nCCPx0`@OJCv6gEb>w@eG5B3 zgT8nR2CxWGY1?RsXM%xVu*%wgZf-qm*U;U1MUP^I3>rQvj8mw^N{vKgL0VWvJ4n@I znj6v5qF2v2(i-UNH|S@Ho03-tg1gi4=xj3KQKUpMuQltSueGqsP6&;i)>_9gr_=gW zN`a{Gkz{(U8oV{20<@%Rb08Dbmov)Z$Bce-Ae)I43#odIMzdEpVceOcl&*QJy$+br zOVxj$GJWCWaqcu8fbP!2@A*Xc{My|5 zPFZ~{FFlMm*8w~L81@&UL>8pUs|I^aGf_KrhYjww?&f4nzDzpqJ#wBoSu-&jbU&?H+xnLZOL30O%#BJ3e}UdIIQ$?mH(4zyTix_G<+Q z=#A;+gj!X7Q65D+?bgLgB{6)Q>NlYaL?`}jjQuAFgyaiRG>o7g1&J*F91xRAJ-vj zYCvzuOnYr1ONaQ~fnFMT7t!6kdMYg!6um<9?dbaaV8gpVCdN4j|UEX(0}N?BM06+df?r`L)h(8sQw|cwZ>g)Mke-G&U&OrBj z5bW}`;f~qU1J1L@v~#D+w{I-pzuUZVt$g*Yb>?{F_&{KwZ>Fzfyz9V&?$4(O_WMT; zM9y@kP998*?2it989)AY{5T%Jj1PS-o&3f;)nS}GY>ae3=CMQ8@x%EOeT_@Q>-XwoSEZ-x>NqtcRUu9{f@7_v((vpA=f7Rlp^6&+H!rBvHdS9WF1DzBRPRV}j^ zHS0d9Fq5`sW!s|`{dzf)t;h0>b`{uMBbIHiK8oe$Dfi^!Qws1A%YoVqU`_}JR@wd@ z$gFJr3^5~l?Jq1B+I_SyXh(9(&nQNQ0yQ7)&Igk?Vwu&>S|!G!Ya2g6oPVROhri~x zerd0(5uOiB8+RACZQKCY^uBvFiSznifK96eY6po=5nsJ zsx5BHt+hz8={AdQE$dJ$+`d$6HZ3_)6pP`ErCrgaC!UJgRIU#0*;=NgjOx;+v^XDc z)ZDf{nuq|>G@+u%XzwWb5zQBFB%6!qZqrbemT)R@&d=x0s1WC)i02Dp6nc>oBd<^) zeJZ*D<11pX%P6fQEIDHMo`cD!S_|tqcL*0v5oP)D z2)8HAZ*tUbytM36O4BLRp=3Bd-(?h>dVVsMjT9G@)u-_B+WJd<;}sRGT>c@q{4STM}JehjuT=4bA~L=e3@B%%mdw= zCz8^eh>VZ8uV`tI$lDA61HF5XxtHw(7M=QV8Z7a zbqemR6tPBkuy*x3Pt=Vlwz6OaCyP3E&{Gdc!F@moSS!5j-m|r=fvg5wVO@ z79|#f03lgeO9hQYUtDua6!(N?B&rw*jcNx46`kk5ohid3(Zz9V*gqYxHGfw1+OpSH zX&J7jL)^B&So=iyv`?j)2k_$Tk7q>gJUpVa?vt&sk@KlGC_59Cr^7Te4a++fS6wo_ zDJdyWc>+{|*B1h(ozZp;39b;sD}8y46RtOH7I4ZqSvqAsPa$9$<(rIHHrgWkPBWIv zGQ5`QvvFQD5*{-&o*fU0j9@hJuh?;py6Wuy0s!vr{;ad>)1#dq4t9ThtpAVwy}uvq zXw!G3`=e8bzaBaGQX-3O<84^Q=fJ2QCDHSlHd#KHLRH?g6w zBS*hT4t<-4u6pv`AQi+ppF~_daaXPr87t7uZ?Uzxboa_@3q(UgWvl)kbt(s zshvoALDm6aIN%Bm;LJl{EyOhv)Y_s}Ut;=ZsvA(YypbubONGT`b`HLQf~u5)OUilF ze27c;7n;B}0G!BFli8YFT|=K8{3Bc8P0GQ{@(v4+!EDH7kfF<};h3O0QLY#38 z^wq12#^QQ*bq8-pON{2~u8cV;C-29@psy3ZTg#*&<;4wcc?;+b7HfoF%Ci%LfZkw6 z4;F2Ip4u-ck|6-6sF1@lnoh1cSlD{TbhLIJze!(^@=f~kw?NC2u=ArApfAt$;`%^) zdoq0?u$D}-NcPDY$M_pWhe?FX(NzUnXc&_-H#Jw3`eLkFh0zRG8Nfv-RIEhHHC!&H zF9ZV$21oL9G+`{F?$K`pZawM3s85-Q7$7m8$L+-H%W>n0S>bHRE;E41v@O%b0j?Xa z9@AHZ4pFsQ(04kS#jAkrM6m&E&#IZxm@=yr(v5Y{SKoL6^g`LSpP>BeF9N_XA*LG7 zJ1~7=dG*#KfZ3jZrnjCzz!-oB>=FES>C45bAp8mPfx+0I5bNcqxs@jnKueDz3n>_k z4Ir7Qy!r^|0{RkwMW#=nH?#N@J{9!E-3T#&v&%2vq%RE=@i>i$cHU)hdzhN(%W&Nz zH0Vo4Tx9HelfJls(b_`L&bt(Yi8~pi4&r}~zFfg~!ZQU;yGWBB=S;v02>H{=_Gpb| zp_%sRI)v?TE(i2VaGWBH8N{`!cqH$OZIBq~%~ooe${YmxLT}QyoySU`k?AWJa}a(G z0C4-5)kRXdB~}9yeMQ0M3Lil$&%qhv5%gv1<7l8SALmW_w%?^77DS1dYV0OZ-H07~%_b}E3PK_g^wHIOnmHx}0p3ThdzWPrX9zzOwO0f>;r(09C*KP|9jwT|G^KAd`mj|?Ptdhes%2d*HC}Q0ch~xzJUWD z9Y6R1G<5j=fm+VSx~*FGGlzvqj=-hIdVJ{jow_y`45e*obv27A6d-@pITz@e#Q zJCEQc>o3Od|LmIn)#Lq(-~Vek`ln#zbtv#M;N6b;AI3w= zW@6P&*9(P4u~?|hL3VA!s!}l%C|6(4)Yi<}j#a0jFr8{5ZON4lv}mEsoLeo=N_l5G z3kCyA_*T+|8Z8K}%mdzfbGx|qU7N2$WOK2x@k@2{PnC^dtDAqWZ2hM4&fk@`{#@Ap z3&eB4JW>st%Z2fU-xb{5rZNd={rCJF#~k6w>dsFD^39+4IQfS^=XPkuxAf?z%A+5l z($1^gX1n4ZyKwkF2;3^}Jm(l`*mNi_Y6!y2;Y>L@l{2k)WLktCQ5AIVXb7t{uP-b~ zi(9GrjaYLjP^Mx>;51iU*o{A=a?{aFiE2A8!J*O;7kO?A)PWmgPCJq@^kn1JqOmk@ zEwAefD^j@`FtWaM+MP_|zf=Ut)>EY%XB$A{1@9ZN^H9{b(E4x`bbj@5aqS7N3`8d= z2I^@;jIr~z;;YA3%zE@X^Z5I=g!e@!iI#zhaR_#|9DoL4e_Wr^&iCbqlr{^yQTppg ze}d3+!v55iS$|=PT#~T(=xU_rSK{?~H06=Xe6Y6YFSo+wIm%L5YjPed4w)9~fY))U zVO10LwPbBgX>DUWSeWN597=6nt#3%Bg{WPdm30b~%}`3`pjD(*Sgjq{Q!o;bgs2t` zu7Wo_dLJv!&q~>dU6dw}?`-7RcIo4RLRbBL+Bjk1powV{~g^ zNsShlQrH10@e%^9SgvEVp4&^W%#|M?ZH*+ay;9d-Ya8D~_Sz%PWC_{pPazzQwEhr6 zR}8XO*C2Cc(^}o)J=rBgJSE*5b0#nhO{54owj880y{xjr7;Hq z>R>sU<7!2z(Ly7+TvaPIJTLx5YJ2Wl1FVH_W_XhXt$7E+HhgoD$}`YLx%|)GJ(o`! zlur>>555o{5glc6y++ijhFx0Bt;fAunr4nT4ogIU1A&ysN;d#kGzHWeh-hJlA&Ugd zCgij-B%|cXRQ;K{P}XbN0_rJODmt48iIN6!jy`cpHnl%WjviBrUo}IT7DkUJXMo~d z8IUVRj79@@{4RK6m!x~s8LrOmSF-ppG+mA3%k6w4{H<}MSj^HXL8hp2#3Rg1dag)F z7eTBt!lj7mWK_s58+O33(Q@*;x9NMZ`y0#<-t?s*`O3-k#gW9>-tdXe*vUgsYUCT~#M> zdW-e>Onnmo7U*3CeIcM1;<+ehFn$aG@Lt?60PIU>VcCvaMXA`JA?rDi;5lW8d7D0bYUn8s6c6M79Af}@)|4O2^fLv#$mMe5>}%ISJD zy|5{gDXvEwi}3;_L8Jt&k_P&^;oO%zy*o{(^?b285PXOa< zO9i7=ceLdVX<;=rw~}lwN1H38+Csd(2>L>teD zzVTcQyBUkHga3@aS_(!1d<@#W(0{um1R7rY~ny#-aX- zzS*@6NT8PzQIU2}2Vw@Zo#l*U+MJj?ZjpG-nCXk}8uT@mU;Pz*fnG>mfB7bT^;H@z zhts9yzstL|l9pG|jZ4<5XeGzu5onLT<6#kIwM*aGuzx1x18AAP6F!12(--JW%}meYXyDH(h>mtxAX;i_vlOTE7CBv zSl3JA!|7rHVmeYvje7G<`Vx8teYGlZ`x||kuN=L#>x_S^t;9$EEBfM3yhMncx?U)z zOj-yef|hlPpW3CbON)TM5Ia<$7nTwG&@8W_dr}hjztI$+K>&K8SxpjBoQCesU@s3Z2IzJof z_-y#_r@e%&B>hAcu@9^ixdcPSy^4YPTeIPg9?sCt!SC1UH-n0K&_qVq@ zzP;CTXtwWA_~d|ehNNE{gw#tU>B3RaH#BlMcDg%t`VeWTGk)xlGSY3GIr?bw`uD!E zU!(4SOa=e768T>m$^TlF|0$jPQzGyxF#9w#1wE4kudVokkzC2h%~EB)Qm@pPAgi$n z?Pb5BL9lj4XxcU!8?;ckxRlJ!Mb(-=Rq!MY2wzFm&M4JZetDy^`MUXNH=7k}`%h49 z=O6aQge#l>K-&3-^7h{|FR=m9H0|b3G_Xdaf0VKqO(Co^nJsZZSTr=0Ufw|*f#{JHq}Pr1iGWgh;PyBI2gB^%G%aYvPupl9(WW!qMF#z?=FLqD#?6DF~W_KYsMR{qzUOdh$Ij^L_Z* zd_=_usQ|EugJZ8u7kLMLo!tpwJR|lgJ|R^ee_wv|8bY@QqM++`#YW0a2BV)_Bc})k zfUJIJ1^p z`4L2L>-w@xE9An5=;7#FD$UM2;q~9ZYBz*21HHJ$E;ToE7=ewcQbYVr- zNjyUMLFHCo;e6?GwbubticNEQ1u~ZBQuPwdjXN2ijd`Y{?%9aj5%oBtzS*$X6%Ki# z)X+O3q47vyEbPAS@I+KS_ z-5qVNLYY!MTW+x0qs@Y^VhU_osjYKLJ}P5cS(D4F05kB+F&xWrP>bFEk9S}Rp)s^xi-nD^CcRbq3k1Q}(LU8ccpJ~HS|bJDd2@XXO$5+&Nh^8-w&Al4f7S$pfysc$Fr!5f3^42#r`q+JPfgFN$;ng%kAR$C z)Eq=B3X43es3cAE+8IyIhWxqAp70hVQ>2L&3y1KPIbvb1BgZ5B>{i91CI#;W1uY|N zoA^jxQvq2)-&+CKjFLbr=d;`Sxp*EIq=XzsdR9mCC1SWF3D%rKwG}HOnQ_&Q8Tq(b zgii<<*{E#c8Og{%aTWhH<5nhN=Wv=ND?>8NP@BFd;a__`CB*i8*w^_U)0d->k957y z^gY_~F>nY0y+emS>Ff9i0)0EX_5rdI{=lY~`9iXo?(yg8D%U>EUUpx8A^WZND=YOrm|5sUs z_1{{?zfq*WNZ}vD?w2v=_bJayBMLR7@M>0J`qr8&Okb*|@CJRw25nQBqsE3-U(>6r zYH2xcG(&R5pSFA{>JTNed7!tp^_Z(8fRyb;y@I~wonJxUHvo){e*}FYrf-|XJAWdA zuD!OG&`eNmwf3m>qn{x@CKI>(_{YkVpDIs&Ve|^oEHBUt6`uT@eMByq2V=ChpsKOM_&jRhlT6I`vBgB$3HN7-vn@J`*~&O z1s=H$1gX}W0LCMf zE^k6o^>KFjhm5FZA=Ng?6bkxk3r~SVb5$%kTZ0jN%2}Gh-B`9RR~9LG>Mniriy-Si zqc0H4QStl??uR|mzgE$!pl!U0=}TIC2EwVUFO-$%ps&16%gU`yS|+y#U>=I#@n_t1 zr1i&p(0voY{1QU7aPZm!tulvj5x`v-K|JE~hB%#$tI}Y?tgDi_eGu^6aL+<_yl!w8 z^c@QYDO^^j2wu<^=%pp9fbJXgP31DMlI$Ay^d^0I4WwBmgUjp1!Cgi#1oQ&HK(AF^ z=KVPpCDRv2mUEOa3-sku3VY~f`jYDN>FS(ZYC%k2pcepU`of6Aj%TVh0bo&`aF@O` zG+nLh^#*=o3}Bvz29-0_icOJUWhtKz=Q5$Jh2Ay*9LkcywhjT405B7gVcw7J&=mmfSqFz%V zp#ZnZOj*iRnZC?p3XN7Nri_*g+qqP(kje=FTN&EU)RMNywgFxq?c2w76nc6|y}j@C z^t^kd=e@q}cOh&X?R>w#<2~re;dhQ6_`@I`yZ&&bTkD=a?w``$|27l-zB}!pHuF?SA5^6r=EoFE_=qlH)2l<#&;!ay;5H**DCb|s6FyL zw_~?{8+I0t+iIPvHDsD-6Bi=cdc-aVjY6VOwOT8sjmMR(r`7EjwH?ZX0cwK8)h)7~ zfMxyBueFDNs%`x})Y$$92pgrx-Gjx>j0@ z+BKLh5yYtC4#p2Al+B<|iq0vHGa)6Wl$6UdBIP32GO|`yBgGQK{y{1Zji%F+Vlaw+ zPNE7*%utjxew7g^uAt1rA1K@NqaPs(5f>5}IY_u-#PT<;XM059(GM)zrYT`s z0LCdTA&yZ89$?X!2YFHc0f5n#9$8BdL0?YuiEq5L_KMPo?g}twKc_7`mKs~}%34$? zR^LfBA4#pJ>cVrq^(bCijpvt?YP)pyf_t#Xh^e;+$ioMOH|Teu8LfR)msC3+o(EmTs*jo2%0NCjN_4qb|$JcQgR7 zOcT$LzVr&>_u{c-z5=+Clzm0y6~XnS#lG$MEDFoAaq#+LENl5SnHG#jgWizO9|;7a z5q~7)30Xf?>AGtgy5@60cfCF|{eW&nH8@r_DH&kuR zM1jpTX-Y%KJcC8dat*z=cBN{rn3>|t&-ErAnX)(z9Z-k~ z&8(G0e#&&Co~qZBMk8ILp=>)F+10dpsX3|`W z>kC9*&aeUWlKMVAa`cmdfsY3V_Z>a*0l3Q=5Venb5B;&{;M<_@@y_=KdfoW%@!uFC6n==O3Y=t`A4LKRVv^32@ta@T2a-`+!~m7=KdY=mQ@OAN&~Tg}`6{ z80cmC_IG|g(DCgaeb09sywcM-bM#2!;(7DjnargNps#iA6zHp*J!W1$Ub=I({NS8< z?RfN5N9=TG?0kRf@-fgiclT`V!NunImCfm!F9H+)B>VqeHVO3pFZ2Y^`%lT}Us67j z?EObA@Hlv9(|rx}{lSdCs^(sl?Tu;!^sUV;LHWi8MO`(w0boWiOKVUeHnYA3`fANJ z+{cN0JzbhJnu~>%t@7p*(6_Sn8~~;w_B%f?eVLu0FT~tsHFy3IVozLuNE@JUdF>Z8 zzSLNVrV6M4Fu0*7^gjNT;mQCO1EGXr`g7-3h`Gz!Lj|4$eHp;i82xklqMX|sTN)~gH9zns-g=iNDP`v@{F2xnrf(2kXlV^b;Dd)Pt_W3-JF)vQ|T1YJ0_*3 zRMnlKm*Z7HuSZIT)pR;*g1(jYmF()u9(~;@3BOVval+4%^4~V$#W#QfrZ1hipf7zL z4?)c~eFcEq^o0W^=nDE$+Gmjoi?xRzqR#FRz0ez@`ft#eS70-PfnJ)t7e;PBtj7l-1bF@1}xuQSB{-{?!| z-E6Nr!a?4oFQX2B^10)UC@0M3bI`ZF;(YxXY3)0vFK){{`l?Htj9%VoXZTvCf`ho2 z&>nq_j4 zSI>hQ?kkQW%O#9BIrw#tO9T3fUENm z(-i2n>x&%WtTq=YE1bxo#`FbxnZC3TqcU$-7vPfda|3;$Hp`1u%Kww6uxF+(bC=Lt zF7miBR{?nwzN|$)RnQ%+Rml}1oiT&Y&>B&9%QY0n;yPhgm z0AQdON{DR9JOi4tt%PNO!IUdQ%oC&a2x%InW0WK&ZUDfe;uA(tm|&2M(aQ|RBN&WM zHpFdG^;#EV5^C*2!bvzI*iRKMo)G?BwAuMmjzlI`j#cP5(Oh&asa7 z0qnm%n(fc`)8=O{SySr*0%nR>C46!^rb=RjbBTvKj&9}pi=p7 z)X3wAq3X_06kR1^r)v*?#&%(c!hb4HXdt?}^>bz8C+rL{eVGS5QVKkP7VR-cG_|`? z!6ubLdX3gIF~1cm)*M;}1{5H4B-PmjrNV$5l7g;cvfR*H%f`aC*4j)|SA)4$z^HkY zGHyQHyBvXR)$4Y%fu;lv3Yw2_t{$|CUOk7NEaaCH0VRoBKT@#MjjFaVXD+YEb1nR4 z@RPt@J1xg2)OJ6v{VMOdA$M0 z1M^&ww^)cY>glCLeSM8%%Fs*~)(OKU^hm_oD)zhjlXjA4Y_RvWcV1fCFRblXkiPvR zr0xi9zl2118l|`VO(H&vBf0qae9f^9@G~K3Ir19r5HZFpDoAG5f3jDBjh8&X0KvwQ zX!#BCn85r-t}e2PtHNR~JW4NY$D8Z1(rO?(?^dg!%)H*(!4dT4b|i}{nGffy%G{c< zu*t5P23mKMT9^yZjClf^So})yS^O>>jm(3?V6tcKl>gcS~Qe>!m}jJqNH!8!yDlV~UV!k0FcoyL4EQFpDIzS4vA8 z5IPg$E$H*0Pk=p*(i`G6!* zt-5ebh}IOfQ(Q%(&UnljPD9iF=(r~c07K&*?*pgn_Kf4c+l!t3som_viDWpQNG4@j z($h*#QuC5wshON!5UCt@^GTW2G5`jQNzFOj|JvNV+H3)Af^98GYRsoaJs3zV9BSI7 z7A=pg%mKal%x1aC@lZVfs+Y=AmPVmyG`m`ZIJ!y%SXF2dQH3I(N!6BInUl+PQmM&B zLG;?ZTnCB4*NRXrS*xZht#oysl3Bt@*BcP;qc&;)JPwG%w%?*Or{rpKzM&RdQfVn& zTuc=6v0OHq%>aJU41T$^N)X~_U`#1-Z;Dbq@6DCM+WJijXz~~qNe41jhh{;pwp5R4 z1hN@W4fLgfVo{?osB00+gx#b?N;WM4!pqSzP(ZSoPgx}hUvW&&u%Gtux?x!g8G6_@ z3C}r;=BjO*pq?#~GG(7t;5EKsDH~C85vdYWYaz87(d&M#;FWV8E$fmk&REAsm@(7S zMrurrP8e~gt++BOK5evAgcXVB8bn{9_gLp2fZoC0KO8;sUVq=aTx=icJ$(3W;1-5(70Qa_+#OGpG8}XNH-+ zkagiK=&PSTCZFg}4Ru-<2J5#^0l@azA!Yao=xd%mXg$=Qzl8k%sHFc%m4Mz?y0U6# z*0VXF7s@r3(bHu5a^zvMyb>=hEBR%!yv`07=q)UL$BYDhA*L@))^e!xE{SKm_8OFO>Oyi?Ck$p)op7WAEo%VV(==u1o81%0)-MRO5t z{bMwU>Bf32H&1CIc!8ZF6Mzc^{49aqER~vHLl>S`nxZGWM_;fuQO<$Ba;vV*FUHCh zpw}TMfZiD;0s4CLnMiF(7VB2ywbe*|&Tr8yi&~#AFK<*u z!w~1P0B~wy-dx_!ZcxoZ&U^ydTQ8Wtx=8Q*CVlOl*8;snUu+Y4w|@9r`igLIdZZ0O zqa0Uw6vy8qF}C;UO91}o^o4jP5?+wUr3sK+XIjLETcY}X`)d+2vTO>a#hqw<)o-^P zO2wnqQk8X}S7~n1LSd!sF>(&Y3S_G3+7b=|0P{R3)1B)pw4J5MM8T0qwx}G%ldqJf zYW4Adfxgt+5cK6aX#f%*05B77nVAakA~O zXCa_hU)h$IH$h)*;jx87iO<6$%=*#`(AQe}9)bhb7GLh67sAdsCN45vXEEx469<6N z%aI#vQl=D^O_0D9BlOOOqO+keM5!gi!P!Uz0G2eVO2HPUG4hd^(GVMaD z0s8WFi^x>ifL8zqY=ef%{yBY}hV3=8J}c+5Ef`7w7y>CtmH_}$nrPGTWi-&2XNUvY zyg!qTT1C(o_{3-9DvFdM19n!X5HNQ-1pxE>F~A9Ywux@%A@pKF--KBd1qutnbS982 z!25=^TGVU?^df~Z?$Q@M1D^;t19~B#cgjqFzO$Ch-36dGU7RQS!ji&__V<1W^>x1s z|JvLAd#I=5t?t8b^&a{IC881|&;5tq6RiE{Xy3m6Bl|#NCT>^9Tb+mB>Nxm2{MmEh z9f%{M!BnX4(3kz4UsHOlL!TY*_-Lr}!{kGMdzI0n*M)}w3FR?nT0j*1B39#Ao6jI^<4J01D^#w|=ob4( zZ(N2vQNs~bX2U56&$|>QnzNL8IXk~tT%m%A_TmQDLh$8lP7|F$C8V2FATyse$~9ax zqqU*Wt*2{iv`AXifT9q8)kc>yRme*f{ETbKN|}b2(NUM=d2O>1>N zv;Hu<@hG!HrwoX4nALCEeg$!z1|D4H{MhYkNV}u2cpeuszguy+?cv0%FptN!NxVBQ zP2v^9V$XJ`N6>dSyM+*spo$nPg3azaS6&a(UZo?%BeaR-7m?NzPkzmrS&o;tjD_#) z`Db!vD`2Z}Y-Hxi7K1uG`pqn4|HoMvl@${3#$m}2Z&29OZtgQ{ z;|HjH5!!3gs468vcj2MBuw^V!hm5T@)aINx)Gqs}rs11}Ho@2R7xvoskh%IA?Bo$+ z-Uk95sWh(`i$-4o&oeb)*{MvzGS%BBLhr^o<6YF{7Z7j@?n3G+mmnmGgVX*H^*lrt zXk&gYmaoNhE09(K3CR;px=< zVK(RNIxiDyKz6YPF@5o;7HshefZO?~o{3v|N*IzaO4(e>&O{Bv zFG-$M3Xe1aY*46nC`;y*9Wc$8=^4L~#S0U5A#Rp~a@MU{cm~jg@%5?L$a5BJYSz@e zN3$V^7}@ri8iZ~H$4jH-j2l_tzfE6=M~{J0rYY$l(U;2X_q@MHUzpwA&JQRZbpIzb zPu%qmpnLe>TOEh+60uI{;JZgVKkV_N+(|4c?cJ>PbYR5+q=!<>&x;}>bJMrJI z`a8ab`nnH-z9W4HhI{v)?D^(Y@3%nj^`3(>$9kB)kbUMTlsPd3fxhzKk>t_+_L(Cq zcQ35oyVSgT!W!-}j`rq;2dvXQm1{%ar6<;X*Fj$>b*e8u+?^Ww{}J{dKyqd0ohJ&i zyU}Qv_T6yh9lZDGhW99xuS)OTb$Qc!U*1=t;62cWR-!bLNYPU?BIQVNWT+jDG-hMp zZ0y??`{K>)#!T$aX#4%Y^JQg2O=&jb9~rl@GH>3j$~?dGKj$;e(%$y?ksYOTM@G&b zN*~#gIEmL!j?hjkd2@U7#-n^geaDf!=wCE$_9L0`6ou2mk}UHTrrZ6?dov z`a*Ji1oTah-2i=o#u|Nj?UzZ(_wcW3^c4Vp0sucxUrN;#O$Ko*&`b1%%}q|;7CVUI zR`4}B{p5N2rskf&2SeQ*!^8AIrG z`UmVP)3?t~&8u<0Q4P2g5ex_M(XrUXJOGR#5&)+1K#4p@9N0yNYVK636ed95Kz_=f zn{+3N;H6oMfW8)0!Cci5iQ2(Ny38Y#TiB~pP$!$nZ8_&Sso|h&s&AAxD}s`Dt*-{VDkR+^d$fg=3;R3had8@`Q&*Y34!_6ja@bs6mrn-Qec>2K3p0J0fhONL~ivyk|$g%Qri$g*$tT3e~C1HP41mJia z0EXqI04Px^(jxk_Qc{**X8M9pOkbBO8r1}=UB5tIl2~)@*R>vvGLe|R5S4PQ7P!!= zRVQTvurU;d_a*d3;!IGcZy*{Y07s*4j66WEhmtb-B@amXX|5CpKWh;H*cpsK4mIx7 z64r3S9E@7DqyR7u;wCw1QPUWUEP4u$ACNSTqbBs~D*Jej8#VhBlUL;XHaEXfU%#%t z@r{j}*EKZY_%)7CZrb!x^X8Qt^Gu1qEmWzhy^aiPd-JR99dEU@zuD5dwgJqpTiM*O zisPT#sR{oZ9W9$6PULNA-q6~zv7>o?d(*p34QpGPfNko-kLN-i?Q6GmtlQr4#@6=N z_B6i(;vQ_?bf9VD(Uv;sMAN1V+gb*9ZFe3!tQ|S59zGP_z6a8`?+x!fAaB{_Yu)DA z+LSoHf2Qm7_@(2O(?=5rcIZ3X!n-?y`j<>1DT73uGT>F}>yIP$4 z+Lc3lA!++o-ww0%4K5SWDWbB}RLi_8-gag&_5OQoBq3AFLayZDi!VXLnK z2mByC1-=rwLEkEI=bwszYC3Ilu9_1J2Jl`lm;vZ=hX#(qO-$T?03>a6%9G8QBVnVW zQpXZEm50PIM1|Ju9+Sg607KyLPy-XEXUOHo2i+CY@Rf$OjhBXFrI~1PTFXqS=}G)e zEOLBE!KXIr2*rHyG`_bK9$6^*OC@){Vol}Dp@Kon&^E9d

3Ky#pQ}tTR5u_$cFB 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/profiles/skel_asm.json b/doc/profiles/skel_asm.json new file mode 100644 index 0000000..54fe750 --- /dev/null +++ b/doc/profiles/skel_asm.json @@ -0,0 +1,169207 @@ +{ + "profile": { + "libs": "[{\"start\":12779520,\"end\":13058048,\"offset\":0,\"name\":\"firefox.pdb\",\"breakpadId\":\"571BC3B51AC34A558025E8220856E78C2\",\"pdbSignature\":\"571BC3B51AC34A558025E8220856E78C\",\"pdbAge\":2,\"pdbName\":\"firefox.pdb\"},{\"start\":1999044608,\"end\":2000519168,\"offset\":0,\"name\":\"wntdll.pdb\",\"breakpadId\":\"080480471A674FFFA11D05343C7475392\",\"pdbSignature\":\"080480471A674FFFA11D05343C747539\",\"pdbAge\":2,\"pdbName\":\"wntdll.pdb\"},{\"start\":1959854080,\"end\":1961164800,\"offset\":0,\"name\":\"wkernel32.pdb\",\"breakpadId\":\"D00F7C9AE46643ED80A9EB2892F7E1051\",\"pdbSignature\":\"D00F7C9AE46643ED80A9EB2892F7E105\",\"pdbAge\":1,\"pdbName\":\"wkernel32.pdb\"},{\"start\":1990459392,\"end\":1991307264,\"offset\":0,\"name\":\"wkernelbase.pdb\",\"breakpadId\":\"AD71B4B6970B457EAAC4B4033A1DC8892\",\"pdbSignature\":\"AD71B4B6970B457EAAC4B4033A1DC889\",\"pdbAge\":2,\"pdbName\":\"wkernelbase.pdb\"},{\"start\":1740570624,\"end\":1741348864,\"offset\":0,\"name\":\"msvcr100.i386.pdb\",\"breakpadId\":\"B74A49314FD64956BAF50772F83598012\",\"pdbSignature\":\"B74A49314FD64956BAF50772F8359801\",\"pdbAge\":2,\"pdbName\":\"msvcr100.i386.pdb\"},{\"start\":1740374016,\"end\":1740521472,\"offset\":0,\"name\":\"mozglue.pdb\",\"breakpadId\":\"C953A2CED2C24D7D88E7F9B45208D4E51\",\"pdbSignature\":\"C953A2CED2C24D7D88E7F9B45208D4E5\",\"pdbAge\":1,\"pdbName\":\"mozglue.pdb\"},{\"start\":1913847808,\"end\":1913880576,\"offset\":0,\"name\":\"version.pdb\",\"breakpadId\":\"53263FC93A54465DA5AC7DEEAD454ECB2\",\"pdbSignature\":\"53263FC93A54465DA5AC7DEEAD454ECB\",\"pdbAge\":2,\"pdbName\":\"version.pdb\"},{\"start\":1739522048,\"end\":1739952128,\"offset\":0,\"name\":\"msvcp100.i386.pdb\",\"breakpadId\":\"CE550582BFCA474A8321ECC0CE61C54C1\",\"pdbSignature\":\"CE550582BFCA474A8321ECC0CE61C54C\",\"pdbAge\":1,\"pdbName\":\"msvcp100.i386.pdb\"},{\"start\":1963130880,\"end\":1963909120,\"offset\":0,\"name\":\"msvcrt.pdb\",\"breakpadId\":\"13D832D45DDB4ADAB974B977494673732\",\"pdbSignature\":\"13D832D45DDB4ADAB974B97749467373\",\"pdbAge\":2,\"pdbName\":\"msvcrt.pdb\"},{\"start\":1737424896,\"end\":1739247616,\"offset\":0,\"name\":\"nss3.pdb\",\"breakpadId\":\"96A5E7739DEE4D00814D4D5330F2DB771\",\"pdbSignature\":\"96A5E7739DEE4D00814D4D5330F2DB77\",\"pdbAge\":1,\"pdbName\":\"nss3.pdb\"},{\"start\":1819869184,\"end\":1820000256,\"offset\":0,\"name\":\"winmm.pdb\",\"breakpadId\":\"FDF01E3EBC874D669DCA13FE687BA88B2\",\"pdbSignature\":\"FDF01E3EBC874D669DCA13FE687BA88B\",\"pdbAge\":2,\"pdbName\":\"winmm.pdb\"},{\"start\":1821769728,\"end\":1821802496,\"offset\":0,\"name\":\"wsock32.pdb\",\"breakpadId\":\"E3F709DD0E5447CDA7D9F677E14347422\",\"pdbSignature\":\"E3F709DD0E5447CDA7D9F677E1434742\",\"pdbAge\":2,\"pdbName\":\"wsock32.pdb\"},{\"start\":1986002944,\"end\":1986494464,\"offset\":0,\"name\":\"advapi32.pdb\",\"breakpadId\":\"74C11B008F94495DA0A89B5E3241DE292\",\"pdbSignature\":\"74C11B008F94495DA0A89B5E3241DE29\",\"pdbAge\":2,\"pdbName\":\"advapi32.pdb\"},{\"start\":1819738112,\"end\":1819869184,\"offset\":0,\"name\":\"winmmbase.pdb\",\"breakpadId\":\"3B36F42BA12A480F8B8048E043D6214B2\",\"pdbSignature\":\"3B36F42BA12A480F8B8048E043D6214B\",\"pdbAge\":2,\"pdbName\":\"winmmbase.pdb\"},{\"start\":1989083136,\"end\":1990455296,\"offset\":0,\"name\":\"wuser32.pdb\",\"breakpadId\":\"8938256C73BF4937AAF24FA5F58064002\",\"pdbSignature\":\"8938256C73BF4937AAF24FA5F5806400\",\"pdbAge\":2,\"pdbName\":\"wuser32.pdb\"},{\"start\":1987575808,\"end\":1987891200,\"offset\":0,\"name\":\"ws2_32.pdb\",\"breakpadId\":\"F517939547AF4E61800B96C2C660978C2\",\"pdbSignature\":\"F517939547AF4E61800B96C2C660978C\",\"pdbAge\":2,\"pdbName\":\"ws2_32.pdb\"},{\"start\":1992425472,\"end\":1992679424,\"offset\":0,\"name\":\"sechost.pdb\",\"breakpadId\":\"3D0A96E5EC534911BB72627C8D81A22C2\",\"pdbSignature\":\"3D0A96E5EC534911BB72627C8D81A22C\",\"pdbAge\":2,\"pdbName\":\"sechost.pdb\"},{\"start\":1984823296,\"end\":1985544192,\"offset\":0,\"name\":\"wrpcrt4.pdb\",\"breakpadId\":\"E79631BAE23C474990D27AB628E414C32\",\"pdbSignature\":\"E79631BAE23C474990D27AB628E414C3\",\"pdbAge\":2,\"pdbName\":\"wrpcrt4.pdb\"},{\"start\":1984561152,\"end\":1984798720,\"offset\":0,\"name\":\"cfgmgr32.pdb\",\"breakpadId\":\"A722836E65D5431C947F212A299B17E02\",\"pdbSignature\":\"A722836E65D5431C947F212A299B17E0\",\"pdbAge\":2,\"pdbName\":\"cfgmgr32.pdb\"},{\"start\":1841168384,\"end\":1841295360,\"offset\":0,\"name\":\"devobj.pdb\",\"breakpadId\":\"4A41110D51F545EBB7FE5F9B715569A62\",\"pdbSignature\":\"4A41110D51F545EBB7FE5F9B715569A6\",\"pdbAge\":2,\"pdbName\":\"devobj.pdb\"},{\"start\":1987969024,\"end\":1989046272,\"offset\":0,\"name\":\"wgdi32.pdb\",\"breakpadId\":\"2B0822E10E874595823DD1B602CD9D0E2\",\"pdbSignature\":\"2B0822E10E874595823DD1B602CD9D0E\",\"pdbAge\":2,\"pdbName\":\"wgdi32.pdb\"},{\"start\":1986527232,\"end\":1986555904,\"offset\":0,\"name\":\"nsi.pdb\",\"breakpadId\":\"63C7095D0453402799D78AB16BFDBACC2\",\"pdbSignature\":\"63C7095D0453402799D78AB16BFDBACC\",\"pdbAge\":2,\"pdbName\":\"nsi.pdb\"},{\"start\":1959395328,\"end\":1959514112,\"offset\":0,\"name\":\"wsspicli.pdb\",\"breakpadId\":\"17664531BD204A04A7776E67B4090A7A1\",\"pdbSignature\":\"17664531BD204A04A7776E67B4090A7A\",\"pdbAge\":1,\"pdbName\":\"wsspicli.pdb\"},{\"start\":1959329792,\"end\":1959366656,\"offset\":0,\"name\":\"cryptbase.pdb\",\"breakpadId\":\"76A631A064A14157A09D2FEEF88EE6112\",\"pdbSignature\":\"76A631A064A14157A09D2FEEF88EE611\",\"pdbAge\":2,\"pdbName\":\"cryptbase.pdb\"},{\"start\":1958936576,\"end\":1959276544,\"offset\":0,\"name\":\"bcryptprimitives.pdb\",\"breakpadId\":\"3400A72A79294016A38C5DB9498A2C4E2\",\"pdbSignature\":\"3400A72A79294016A38C5DB9498A2C4E\",\"pdbAge\":2,\"pdbName\":\"bcryptprimitives.pdb\"},{\"start\":1992687616,\"end\":1992839168,\"offset\":0,\"name\":\"wimm32.pdb\",\"breakpadId\":\"0E0BF1F326B840AB97C97832A5E25DAF2\",\"pdbSignature\":\"0E0BF1F326B840AB97C97832A5E25DAF\",\"pdbAge\":2,\"pdbName\":\"wimm32.pdb\"},{\"start\":1982922752,\"end\":1983934464,\"offset\":0,\"name\":\"msctf.pdb\",\"breakpadId\":\"B4F67A8832EB468990F57E240E05FDA12\",\"pdbSignature\":\"B4F67A8832EB468990F57E240E05FDA1\",\"pdbAge\":2,\"pdbName\":\"msctf.pdb\"},{\"start\":1733558272,\"end\":1737400320,\"offset\":0,\"name\":\"mozjs.pdb\",\"breakpadId\":\"6ED9A57719014423A37DA9781BB0056F2\",\"pdbSignature\":\"6ED9A57719014423A37DA9781BB0056F\",\"pdbAge\":2,\"pdbName\":\"mozjs.pdb\"},{\"start\":1732509696,\"end\":1733541888,\"offset\":0,\"name\":\"icuin52.pdb\",\"breakpadId\":\"E0863E1AA86641699EE95889528C556C1\",\"pdbSignature\":\"E0863E1AA86641699EE95889528C556C\",\"pdbAge\":1,\"pdbName\":\"icuin52.pdb\"},{\"start\":1731657728,\"end\":1732497408,\"offset\":0,\"name\":\"icuuc52.pdb\",\"breakpadId\":\"F2A74853E253482C8F808154C95DBDD11\",\"pdbSignature\":\"F2A74853E253482C8F808154C95DBDD1\",\"pdbAge\":1,\"pdbName\":\"icuuc52.pdb\"},{\"start\":1985544192,\"end\":1985568768,\"offset\":0,\"name\":\"psapi.pdb\",\"breakpadId\":\"85F81DDE561641B781E5882239646B2E2\",\"pdbSignature\":\"85F81DDE561641B781E5882239646B2E\",\"pdbAge\":2,\"pdbName\":\"psapi.pdb\"},{\"start\":1813315584,\"end\":1813340160,\"offset\":0,\"name\":\"mozalloc.pdb\",\"breakpadId\":\"7869D85A506B40949B22B719C7EBB0B91\",\"pdbSignature\":\"7869D85A506B40949B22B719C7EBB0B9\",\"pdbAge\":1,\"pdbName\":\"mozalloc.pdb\"},{\"start\":1715798016,\"end\":1721020416,\"offset\":0,\"name\":\"gkmedias.pdb\",\"breakpadId\":\"511C84E77094459DB1649E00B67A6E601\",\"pdbSignature\":\"511C84E77094459DB1649E00B67A6E60\",\"pdbAge\":1,\"pdbName\":\"gkmedias.pdb\"},{\"start\":1809252352,\"end\":1809334272,\"offset\":0,\"name\":\"usp10.pdb\",\"breakpadId\":\"29BCA4092680415FAA8F49A88FF18E471\",\"pdbSignature\":\"29BCA4092680415FAA8F49A88FF18E47\",\"pdbAge\":1,\"pdbName\":\"usp10.pdb\"},{\"start\":1991311360,\"end\":1992409088,\"offset\":0,\"name\":\"ole32.pdb\",\"breakpadId\":\"01989D971903468B8CE931585894289B2\",\"pdbSignature\":\"01989D971903468B8CE931585894289B\",\"pdbAge\":2,\"pdbName\":\"ole32.pdb\"},{\"start\":1821835264,\"end\":1821859840,\"offset\":0,\"name\":\"msimg32.pdb\",\"breakpadId\":\"38C449277D114E0D84F57600002D668F2\",\"pdbSignature\":\"38C449277D114E0D84F57600002D668F\",\"pdbAge\":2,\"pdbName\":\"msimg32.pdb\"},{\"start\":1961230336,\"end\":1962598400,\"offset\":0,\"name\":\"combase.pdb\",\"breakpadId\":\"40A1233DEADF44C88847FF3A023BC5B02\",\"pdbSignature\":\"40A1233DEADF44C88847FF3A023BC5B0\",\"pdbAge\":2,\"pdbName\":\"combase.pdb\"},{\"start\":1689976832,\"end\":1715752960,\"offset\":0,\"name\":\"xul.pdb\",\"breakpadId\":\"2F4DC617FA6742C78F5D807CC5A05B392\",\"pdbSignature\":\"2F4DC617FA6742C78F5D807CC5A05B39\",\"pdbAge\":2,\"pdbName\":\"xul.pdb\"},{\"start\":1811087360,\"end\":1811161088,\"offset\":0,\"name\":\"netapi32.pdb\",\"breakpadId\":\"990F1E51522947BCBB33E082DF1C1F6F2\",\"pdbSignature\":\"990F1E51522947BCBB33E082DF1C1F6F\",\"pdbAge\":2,\"pdbName\":\"netapi32.pdb\"},{\"start\":1897529344,\"end\":1897652224,\"offset\":0,\"name\":\"iphlpapi.pdb\",\"breakpadId\":\"11DE9D0B2A7E477CA05A8DC59B91D53D2\",\"pdbSignature\":\"11DE9D0B2A7E477CA05A8DC59B91D53D\",\"pdbAge\":2,\"pdbName\":\"iphlpapi.pdb\"},{\"start\":1964244992,\"end\":1982857216,\"offset\":0,\"name\":\"shell32.pdb\",\"breakpadId\":\"F4BA7BAB172A48C2BC9EEC3F050A460E2\",\"pdbSignature\":\"F4BA7BAB172A48C2BC9EEC3F050A460E\",\"pdbAge\":2,\"pdbName\":\"shell32.pdb\"},{\"start\":1963917312,\"end\":1964183552,\"offset\":0,\"name\":\"shlwapi.pdb\",\"breakpadId\":\"75CD943DD85D46C7AD105A0A84FCC58A2\",\"pdbSignature\":\"75CD943DD85D46C7AD105A0A84FCC58A\",\"pdbAge\":2,\"pdbName\":\"shlwapi.pdb\"},{\"start\":1830027264,\"end\":1830924288,\"offset\":0,\"name\":\"wUxTheme.pdb\",\"breakpadId\":\"F389917EE1A24D32AD9ED46171F6FDDA2\",\"pdbSignature\":\"F389917EE1A24D32AD9ED46171F6FDDA\",\"pdbAge\":2,\"pdbName\":\"wUxTheme.pdb\"},{\"start\":1996423168,\"end\":1998180352,\"offset\":0,\"name\":\"setupapi.pdb\",\"breakpadId\":\"8F214754EA0046AAA4FD127D8D5503AE2\",\"pdbSignature\":\"8F214754EA0046AAA4FD127D8D5503AE\",\"pdbAge\":2,\"pdbName\":\"setupapi.pdb\"},{\"start\":1986592768,\"end\":1986822144,\"offset\":0,\"name\":\"wintrust.pdb\",\"breakpadId\":\"06872D0525FE4220BE66D0F560BE29362\",\"pdbSignature\":\"06872D0525FE4220BE66D0F560BE2936\",\"pdbAge\":2,\"pdbName\":\"wintrust.pdb\"},{\"start\":1986854912,\"end\":1987407872,\"offset\":0,\"name\":\"oleaut32.pdb\",\"breakpadId\":\"83B8392A462D49FB9186339EA4BA3D5D2\",\"pdbSignature\":\"83B8392A462D49FB9186339EA4BA3D5D\",\"pdbAge\":2,\"pdbName\":\"oleaut32.pdb\"},{\"start\":1811021824,\"end\":1811062784,\"offset\":0,\"name\":\"netutils.pdb\",\"breakpadId\":\"8CA7C5DAFEDD49978AC26ECAB742D2E22\",\"pdbSignature\":\"8CA7C5DAFEDD49978AC26ECAB742D2E2\",\"pdbAge\":2,\"pdbName\":\"netutils.pdb\"},{\"start\":1810890752,\"end\":1811001344,\"offset\":0,\"name\":\"srvcli.pdb\",\"breakpadId\":\"B03A38FF03F64B26900A266DA62B7A2A2\",\"pdbSignature\":\"B03A38FF03F64B26900A266DA62B7A2A\",\"pdbAge\":2,\"pdbName\":\"srvcli.pdb\"},{\"start\":1810825216,\"end\":1810890752,\"offset\":0,\"name\":\"wkscli.pdb\",\"breakpadId\":\"B31F2F518EFA4E03AFAA00E61257298E2\",\"pdbSignature\":\"B31F2F518EFA4E03AFAA00E61257298E\",\"pdbAge\":2,\"pdbName\":\"wkscli.pdb\"},{\"start\":1897463808,\"end\":1897496576,\"offset\":0,\"name\":\"winnsi.pdb\",\"breakpadId\":\"134A72F099364502A7B384B487E667492\",\"pdbSignature\":\"134A72F099364502A7B384B487E66749\",\"pdbAge\":2,\"pdbName\":\"winnsi.pdb\"},{\"start\":1993474048,\"end\":1995042816,\"offset\":0,\"name\":\"crypt32.pdb\",\"breakpadId\":\"3213AABEF94649FF99C13E7C73D2416F2\",\"pdbSignature\":\"3213AABEF94649FF99C13E7C73D2416F\",\"pdbAge\":2,\"pdbName\":\"crypt32.pdb\"},{\"start\":1987903488,\"end\":1987960832,\"offset\":0,\"name\":\"msasn1.pdb\",\"breakpadId\":\"F9BF640299CF41719D8073B266514BD52\",\"pdbSignature\":\"F9BF640299CF41719D8073B266514BD5\",\"pdbAge\":2,\"pdbName\":\"msasn1.pdb\"},{\"start\":1813381120,\"end\":1813454848,\"offset\":0,\"name\":\"samcli.pdb\",\"breakpadId\":\"86AEBDD65E2A4C57AE7BFB8114B39EF32\",\"pdbSignature\":\"86AEBDD65E2A4C57AE7BFB8114B39EF3\",\"pdbAge\":2,\"pdbName\":\"samcli.pdb\"},{\"start\":1829896192,\"end\":1829994496,\"offset\":0,\"name\":\"dwmapi.pdb\",\"breakpadId\":\"F47885FF4C3D4166AE8FDB4A2C73A62F2\",\"pdbSignature\":\"F47885FF4C3D4166AE8FDB4A2C73A62F\",\"pdbAge\":2,\"pdbName\":\"dwmapi.pdb\"},{\"start\":1742733312,\"end\":1744076800,\"offset\":0,\"name\":\"dbghelp.pdb\",\"breakpadId\":\"097FDCC4548D49B7A27E495C88561B0E1\",\"pdbSignature\":\"097FDCC4548D49B7A27E495C88561B0E\",\"pdbAge\":1,\"pdbName\":\"dbghelp.pdb\"},{\"start\":1912864768,\"end\":1913348096,\"offset\":0,\"name\":\"shcore.pdb\",\"breakpadId\":\"428F99638D3043BE9916579D6DD874492\",\"pdbSignature\":\"428F99638D3043BE9916579D6DD87449\",\"pdbAge\":2,\"pdbName\":\"shcore.pdb\"},{\"start\":1958150144,\"end\":1958187008,\"offset\":0,\"name\":\"Kernel.Appcore.pdb\",\"breakpadId\":\"57F9CA590C194C888904E1A3DDC39CAE1\",\"pdbSignature\":\"57F9CA590C194C888904E1A3DDC39CAE\",\"pdbAge\":1,\"pdbName\":\"Kernel.Appcore.pdb\"},{\"start\":1962606592,\"end\":1963118592,\"offset\":0,\"name\":\"CLBCatQ.pdb\",\"breakpadId\":\"A9E49C41C6AE475B9A258B4F883C5D2B2\",\"pdbSignature\":\"A9E49C41C6AE475B9A258B4F883C5D2B\",\"pdbAge\":2,\"pdbName\":\"CLBCatQ.pdb\"},{\"start\":1824587776,\"end\":1825779712,\"offset\":0,\"name\":\"propsys.pdb\",\"breakpadId\":\"61B040E6D05D445D8C96DDB4BF94730A2\",\"pdbSignature\":\"61B040E6D05D445D8C96DDB4BF94730A\",\"pdbAge\":2,\"pdbName\":\"propsys.pdb\"},{\"start\":1838284800,\"end\":1838567424,\"offset\":0,\"name\":\"mswsock.pdb\",\"breakpadId\":\"1B15C0EFA59841169F9168B3676C7B872\",\"pdbSignature\":\"1B15C0EFA59841169F9168B3676C7B87\",\"pdbAge\":2,\"pdbName\":\"mswsock.pdb\"},{\"start\":1811873792,\"end\":1811927040,\"offset\":0,\"name\":\"browsercomps.pdb\",\"breakpadId\":\"2D75A7F245BE4697951E4E7A4D10DF632\",\"pdbSignature\":\"2D75A7F245BE4697951E4E7A4D10DF63\",\"pdbAge\":2,\"pdbName\":\"browsercomps.pdb\"},{\"start\":1913716736,\"end\":1913815040,\"offset\":0,\"name\":\"cryptsp.pdb\",\"breakpadId\":\"79B48B7C797945CDAF494AE1BD96CAFB2\",\"pdbSignature\":\"79B48B7C797945CDAF494AE1BD96CAFB\",\"pdbAge\":2,\"pdbName\":\"cryptsp.pdb\"},{\"start\":1913520128,\"end\":1913712640,\"offset\":0,\"name\":\"rsaenh.pdb\",\"breakpadId\":\"6FC38295D85547B18D2F760699252FE22\",\"pdbSignature\":\"6FC38295D85547B18D2F760699252FE2\",\"pdbAge\":2,\"pdbName\":\"rsaenh.pdb\"},{\"start\":1913389056,\"end\":1913507840,\"offset\":0,\"name\":\"bcrypt.pdb\",\"breakpadId\":\"BCF5C846E44F40A0A763F6370D1455001\",\"pdbSignature\":\"BCF5C846E44F40A0A763F6370D145500\",\"pdbAge\":1,\"pdbName\":\"bcrypt.pdb\"},{\"start\":1911816192,\"end\":1911873536,\"offset\":0,\"name\":\"profapi.pdb\",\"breakpadId\":\"D5C73836FD11424B8543C0EA729768CC2\",\"pdbSignature\":\"D5C73836FD11424B8543C0EA729768CC\",\"pdbAge\":2,\"pdbName\":\"profapi.pdb\"},{\"start\":1812267008,\"end\":1812332544,\"offset\":0,\"name\":\"NapiNSP.pdb\",\"breakpadId\":\"07FB6E84940E49659C604AEDDFE0D2912\",\"pdbSignature\":\"07FB6E84940E49659C604AEDDFE0D291\",\"pdbAge\":2,\"pdbName\":\"NapiNSP.pdb\"},{\"start\":1812135936,\"end\":1812217856,\"offset\":0,\"name\":\"pnrpnsp.pdb\",\"breakpadId\":\"F586076053094EA8BF5173CDBD61D62C2\",\"pdbSignature\":\"F586076053094EA8BF5173CDBD61D62C\",\"pdbAge\":2,\"pdbName\":\"pnrpnsp.pdb\"},{\"start\":1812332544,\"end\":1812406272,\"offset\":0,\"name\":\"nlaapi.pdb\",\"breakpadId\":\"BB06376152B341F39EB4B40F4F6D813E2\",\"pdbSignature\":\"BB06376152B341F39EB4B40F4F6D813E\",\"pdbAge\":2,\"pdbName\":\"nlaapi.pdb\"},{\"start\":1831403520,\"end\":1831911424,\"offset\":0,\"name\":\"dnsapi.pdb\",\"breakpadId\":\"C1E28DF222FD4E32ABC7E2925D22C0FB2\",\"pdbSignature\":\"C1E28DF222FD4E32ABC7E2925D22C0FB\",\"pdbAge\":2,\"pdbName\":\"dnsapi.pdb\"},{\"start\":1812070400,\"end\":1812107264,\"offset\":0,\"name\":\"winrnr.pdb\",\"breakpadId\":\"407BFA1162204D65B29563067FC5BEC62\",\"pdbSignature\":\"407BFA1162204D65B29563067FC5BEC6\",\"pdbAge\":2,\"pdbName\":\"winrnr.pdb\"},{\"start\":1826947072,\"end\":1827008512,\"offset\":0,\"name\":\"wshbth.pdb\",\"breakpadId\":\"D86412AD9AE041CDB3DD38CE47FC509D1\",\"pdbSignature\":\"D86412AD9AE041CDB3DD38CE47FC509D\",\"pdbAge\":1,\"pdbName\":\"wshbth.pdb\"},{\"start\":1687552000,\"end\":1689915392,\"offset\":0,\"name\":\"Wpc.pdb\",\"breakpadId\":\"37FCFAB13D4E44DA980373CD63D52DE22\",\"pdbSignature\":\"37FCFAB13D4E44DA980373CD63D52DE2\",\"pdbAge\":2,\"pdbName\":\"Wpc.pdb\"},{\"start\":1982857216,\"end\":1982869504,\"offset\":0,\"name\":\"normaliz.pdb\",\"breakpadId\":\"91D38C806A23484D837096302A91F3C81\",\"pdbSignature\":\"91D38C806A23484D837096302A91F3C8\",\"pdbAge\":1,\"pdbName\":\"normaliz.pdb\"},{\"start\":1687224320,\"end\":1687535616,\"offset\":0,\"name\":\"wevtapi.pdb\",\"breakpadId\":\"47BE374C3F5240329B56864C92DB6DDB2\",\"pdbSignature\":\"47BE374C3F5240329B56864C92DB6DDB\",\"pdbAge\":2,\"pdbName\":\"wevtapi.pdb\"},{\"start\":1741357056,\"end\":1741660160,\"offset\":0,\"name\":\"MMDevAPI.pdb\",\"breakpadId\":\"1549BB4AAE454BD3BA9CFC21BD7EC7DF2\",\"pdbSignature\":\"1549BB4AAE454BD3BA9CFC21BD7EC7DF\",\"pdbAge\":2,\"pdbName\":\"MMDevAPI.pdb\"},{\"start\":1739980800,\"end\":1740328960,\"offset\":0,\"name\":\"AudioSes.pdb\",\"breakpadId\":\"70C70E42FB744C19AD705520A722F98D2\",\"pdbSignature\":\"70C70E42FB744C19AD705520A722F98D\",\"pdbAge\":2,\"pdbName\":\"AudioSes.pdb\"},{\"start\":1739259904,\"end\":1739513856,\"offset\":0,\"name\":\"powrprof.pdb\",\"breakpadId\":\"CF212816C58C499AA3AD2B0E402EFEDA2\",\"pdbSignature\":\"CF212816C58C499AA3AD2B0E402EFEDA\",\"pdbAge\":2,\"pdbName\":\"powrprof.pdb\"},{\"start\":1686765568,\"end\":1687166976,\"offset\":0,\"name\":\"dxgi.pdb\",\"breakpadId\":\"4C88F923F2254197BCF0AFC2E156EC562\",\"pdbSignature\":\"4C88F923F2254197BCF0AFC2E156EC56\",\"pdbAge\":2,\"pdbName\":\"dxgi.pdb\"},{\"start\":1686568960,\"end\":1686736896,\"offset\":0,\"name\":\"d3d10_1.pdb\",\"breakpadId\":\"0B6FE2960059435CA5072FA2147A7D532\",\"pdbSignature\":\"0B6FE2960059435CA5072FA2147A7D53\",\"pdbAge\":2,\"pdbName\":\"d3d10_1.pdb\"},{\"start\":1686175744,\"end\":1686507520,\"offset\":0,\"name\":\"d3d10_1core.pdb\",\"breakpadId\":\"BD1C99ACC48F4F05B57869075DFD7F2C2\",\"pdbSignature\":\"BD1C99ACC48F4F05B57869075DFD7F2C\",\"pdbAge\":2,\"pdbName\":\"d3d10_1core.pdb\"},{\"start\":1684406272,\"end\":1686171648,\"offset\":0,\"name\":\"d3d11.pdb\",\"breakpadId\":\"2843B3362F554848B2D16880CAC57F5B2\",\"pdbSignature\":\"2843B3362F554848B2D16880CAC57F5B\",\"pdbAge\":2,\"pdbName\":\"d3d11.pdb\"},{\"start\":1667039232,\"end\":1684406272,\"offset\":0,\"name\":\"igd10iumd32.pdb\",\"breakpadId\":\"B0BE2DC56ABF4BA58582604496AB06261\",\"pdbSignature\":\"B0BE2DC56ABF4BA58582604496AB0626\",\"pdbAge\":1,\"pdbName\":\"igd10iumd32.pdb\"},{\"start\":1898184704,\"end\":1898299392,\"offset\":0,\"name\":\"ncrypt.pdb\",\"breakpadId\":\"27EFC272729C45FEAF7FBCDDB7DEC42F2\",\"pdbSignature\":\"27EFC272729C45FEAF7FBCDDB7DEC42F\",\"pdbAge\":2,\"pdbName\":\"ncrypt.pdb\"},{\"start\":1897988096,\"end\":1898164224,\"offset\":0,\"name\":\"ntasn1.pdb\",\"breakpadId\":\"AA2EC392731F4E99B689BAE8580EF5CE1\",\"pdbSignature\":\"AA2EC392731F4E99B689BAE8580EF5CE\",\"pdbAge\":1,\"pdbName\":\"ntasn1.pdb\"},{\"start\":1663369216,\"end\":1667026944,\"offset\":0,\"name\":\"igdusc32.pdb\",\"breakpadId\":\"4349B9F5356E4E2EBB4DD8F4C6AFA07E1\",\"pdbSignature\":\"4349B9F5356E4E2EBB4DD8F4C6AFA07E\",\"pdbAge\":1,\"pdbName\":\"igdusc32.pdb\"},{\"start\":1658716160,\"end\":1662668800,\"offset\":0,\"name\":\"d2d1.pdb\",\"breakpadId\":\"0718AF7D9B184985A839DC5902F1384F2\",\"pdbSignature\":\"0718AF7D9B184985A839DC5902F1384F\",\"pdbAge\":2,\"pdbName\":\"d2d1.pdb\"},{\"start\":1656684544,\"end\":1658212352,\"offset\":0,\"name\":\"DWrite.pdb\",\"breakpadId\":\"A4A93D353CAB4EE299CDF8126D6EA38F2\",\"pdbSignature\":\"A4A93D353CAB4EE299CDF8126D6EA38F\",\"pdbAge\":2,\"pdbName\":\"DWrite.pdb\"},{\"start\":1741946880,\"end\":1742434304,\"offset\":0,\"name\":\"mscms.pdb\",\"breakpadId\":\"84A0210A8F5849789D3DB48D22ED361B2\",\"pdbSignature\":\"84A0210A8F5849789D3DB48D22ED361B\",\"pdbAge\":2,\"pdbName\":\"mscms.pdb\"},{\"start\":1898512384,\"end\":1898614784,\"offset\":0,\"name\":\"userenv.pdb\",\"breakpadId\":\"AF9C7EA0E7CE40EFADCB95089D8A8DCE2\",\"pdbSignature\":\"AF9C7EA0E7CE40EFADCB95089D8A8DCE\",\"pdbAge\":2,\"pdbName\":\"userenv.pdb\"},{\"start\":1741684736,\"end\":1741926400,\"offset\":0,\"name\":\"icm32.pdb\",\"breakpadId\":\"D78DB089F1EC47C8865A5508536298D61\",\"pdbSignature\":\"D78DB089F1EC47C8865A5508536298D6\",\"pdbAge\":1,\"pdbName\":\"icm32.pdb\"},{\"start\":1654194176,\"end\":1656631296,\"offset\":0,\"name\":\"ExplorerFrame.pdb\",\"breakpadId\":\"3F42A94E9BF2417B868FA4C195453A892\",\"pdbSignature\":\"3F42A94E9BF2417B868FA4C195453A89\",\"pdbAge\":2,\"pdbName\":\"ExplorerFrame.pdb\"},{\"start\":1653669888,\"end\":1654153216,\"offset\":0,\"name\":\"DUser.pdb\",\"breakpadId\":\"D464BEF1809442708AB7001EB1A33AFF2\",\"pdbSignature\":\"D464BEF1809442708AB7001EB1A33AFF\",\"pdbAge\":2,\"pdbName\":\"DUser.pdb\"},{\"start\":1652293632,\"end\":1653649408,\"offset\":0,\"name\":\"DUI70.pdb\",\"breakpadId\":\"0E1134CB49DA4AB38B50D3DFEE077DC62\",\"pdbSignature\":\"0E1134CB49DA4AB38B50D3DFEE077DC6\",\"pdbAge\":2,\"pdbName\":\"DUI70.pdb\"},{\"start\":1652097024,\"end\":1652277248,\"offset\":0,\"name\":\"XmlLite.pdb\",\"breakpadId\":\"49FB24D09142446588F329143478F2022\",\"pdbSignature\":\"49FB24D09142446588F329143478F202\",\"pdbAge\":2,\"pdbName\":\"XmlLite.pdb\"},{\"start\":1831010304,\"end\":1831288832,\"offset\":0,\"name\":\"fwpuclnt.pdb\",\"breakpadId\":\"145AE09DA6184EF3852A864CEB8133972\",\"pdbSignature\":\"145AE09DA6184EF3852A864CEB813397\",\"pdbAge\":2,\"pdbName\":\"fwpuclnt.pdb\"},{\"start\":1831337984,\"end\":1831366656,\"offset\":0,\"name\":\"rasadhlp.pdb\",\"breakpadId\":\"7F89602FFFD84F43A953E9498F91BA0A2\",\"pdbSignature\":\"7F89602FFFD84F43A953E9498F91BA0A\",\"pdbAge\":2,\"pdbName\":\"rasadhlp.pdb\"},{\"start\":1650196480,\"end\":1650356224,\"offset\":0,\"name\":\"softokn3.pdb\",\"breakpadId\":\"F88D7CAB78FC45B68D802BFA6D9D30911\",\"pdbSignature\":\"F88D7CAB78FC45B68D802BFA6D9D3091\",\"pdbAge\":1,\"pdbName\":\"softokn3.pdb\"},{\"start\":1650065408,\"end\":1650163712,\"offset\":0,\"name\":\"nssdbm3.pdb\",\"breakpadId\":\"630F62E49B4F4A92BB21993036D7938B1\",\"pdbSignature\":\"630F62E49B4F4A92BB21993036D7938B\",\"pdbAge\":1,\"pdbName\":\"nssdbm3.pdb\"},{\"start\":1649672192,\"end\":1650024448,\"offset\":0,\"name\":\"freebl3.pdb\",\"breakpadId\":\"1200EC675C4443E6946984F1966BF68D1\",\"pdbSignature\":\"1200EC675C4443E6946984F1966BF68D\",\"pdbAge\":1,\"pdbName\":\"freebl3.pdb\"},{\"start\":1649213440,\"end\":1649618944,\"offset\":0,\"name\":\"nssckbi.pdb\",\"breakpadId\":\"5E2F35C7F76F4C93A91A325112F506581\",\"pdbSignature\":\"5E2F35C7F76F4C93A91A325112F50658\",\"pdbAge\":1,\"pdbName\":\"nssckbi.pdb\"},{\"start\":1813118976,\"end\":1813270528,\"offset\":0,\"name\":\"ntmarta.pdb\",\"breakpadId\":\"F97A5CA873554394BE5FD1731FB3C6D52\",\"pdbSignature\":\"F97A5CA873554394BE5FD1731FB3C6D5\",\"pdbAge\":2,\"pdbName\":\"ntmarta.pdb\"},{\"start\":1898643456,\"end\":1900466176,\"offset\":0,\"name\":\"wininet.pdb\",\"breakpadId\":\"3782BF68F0E84016ACF918F2795D852C2\",\"pdbSignature\":\"3782BF68F0E84016ACF918F2795D852C\",\"pdbAge\":2,\"pdbName\":\"wininet.pdb\"},{\"start\":1900478464,\"end\":1902682112,\"offset\":0,\"name\":\"iertutil.pdb\",\"breakpadId\":\"6F40A605BB57445396BF7A7BF269EDB12\",\"pdbSignature\":\"6F40A605BB57445396BF7A7BF269EDB1\",\"pdbAge\":2,\"pdbName\":\"iertutil.pdb\"},{\"start\":1898446848,\"end\":1898483712,\"offset\":0,\"name\":\"secur32.pdb\",\"breakpadId\":\"08D4B2917CAE4C5CB4F7708DBB045DA62\",\"pdbSignature\":\"08D4B2917CAE4C5CB4F7708DBB045DA6\",\"pdbAge\":2,\"pdbName\":\"secur32.pdb\"},{\"start\":1830944768,\"end\":1830985728,\"offset\":0,\"name\":\"OnDemandConnRouteHelper.pdb\",\"breakpadId\":\"E21DD70C3BD14D6AA2297C4CC51645821\",\"pdbSignature\":\"E21DD70C3BD14D6AA2297C4CC5164582\",\"pdbAge\":1,\"pdbName\":\"OnDemandConnRouteHelper.pdb\"},{\"start\":1837498368,\"end\":1838104576,\"offset\":0,\"name\":\"winhttp.pdb\",\"breakpadId\":\"6EB986109F104064A54DC43B8F7B36AC2\",\"pdbSignature\":\"6EB986109F104064A54DC43B8F7B36AC\",\"pdbAge\":2,\"pdbName\":\"winhttp.pdb\"},{\"start\":1836253184,\"end\":1836326912,\"offset\":0,\"name\":\"dhcpcsvc6.pdb\",\"breakpadId\":\"8FDD95101BAB49A39859910F20F326692\",\"pdbSignature\":\"8FDD95101BAB49A39859910F20F32669\",\"pdbAge\":2,\"pdbName\":\"dhcpcsvc6.pdb\"},{\"start\":1836122112,\"end\":1836199936,\"offset\":0,\"name\":\"dhcpcsvc.pdb\",\"breakpadId\":\"793AE960AD22492A90B3194CBFC57C1E2\",\"pdbSignature\":\"793AE960AD22492A90B3194CBFC57C1E\",\"pdbAge\":2,\"pdbName\":\"dhcpcsvc.pdb\"},{\"start\":1651507200,\"end\":1652076544,\"offset\":0,\"name\":\"twinapi.pdb\",\"breakpadId\":\"58F54E8CA2134888AF68CB505D4145412\",\"pdbSignature\":\"58F54E8CA2134888AF68CB505D414541\",\"pdbAge\":2,\"pdbName\":\"twinapi.pdb\"},{\"start\":1651179520,\"end\":1651470336,\"offset\":0,\"name\":\"Bcp47Langs.pdb\",\"breakpadId\":\"F67CF61FD2A14D4C9F1D219FD82A86212\",\"pdbSignature\":\"F67CF61FD2A14D4C9F1D219FD82A8621\",\"pdbAge\":2,\"pdbName\":\"Bcp47Langs.pdb\"},{\"start\":1651113984,\"end\":1651154944,\"offset\":0,\"name\":\"linkinfo.pdb\",\"breakpadId\":\"BEF2AD2D7EBC406C81F1944BA16164032\",\"pdbSignature\":\"BEF2AD2D7EBC406C81F1944BA1616403\",\"pdbAge\":2,\"pdbName\":\"linkinfo.pdb\"},{\"start\":1650458624,\"end\":1651113984,\"offset\":0,\"name\":\"ntshrui.pdb\",\"breakpadId\":\"5D121AEE1D64420681ACCB85DC0AFE2C2\",\"pdbSignature\":\"5D121AEE1D64420681ACCB85DC0AFE2C\",\"pdbAge\":2,\"pdbName\":\"ntshrui.pdb\"},{\"start\":1650393088,\"end\":1650446336,\"offset\":0,\"name\":\"cscapi.pdb\",\"breakpadId\":\"CCA87C030FD24DC083118F3AB4B0D8C72\",\"pdbSignature\":\"CCA87C030FD24DC083118F3AB4B0D8C7\",\"pdbAge\":2,\"pdbName\":\"cscapi.pdb\"},{\"start\":1560936448,\"end\":1561640960,\"offset\":0,\"name\":\"MFPLAT.pdb\",\"breakpadId\":\"014DD253C2AB49FA8000E1393C00115E2\",\"pdbSignature\":\"014DD253C2AB49FA8000E1393C00115E\",\"pdbAge\":2,\"pdbName\":\"MFPLAT.pdb\"},{\"start\":1560805376,\"end\":1560915968,\"offset\":0,\"name\":\"rtworkq.pdb\",\"breakpadId\":\"F2F1FADE1A2641F3A1B043012739803B1\",\"pdbSignature\":\"F2F1FADE1A2641F3A1B043012739803B\",\"pdbAge\":1,\"pdbName\":\"rtworkq.pdb\"},{\"start\":1560739840,\"end\":1560776704,\"offset\":0,\"name\":\"avrt.pdb\",\"breakpadId\":\"929B1FFFB74240AD8A91E8A30FBCF7C52\",\"pdbSignature\":\"929B1FFFB74240AD8A91E8A30FBCF7C5\",\"pdbAge\":2,\"pdbName\":\"avrt.pdb\"},{\"start\":1560346624,\"end\":1560702976,\"offset\":0,\"name\":\"MFReadWrite.pdb\",\"breakpadId\":\"40DA1D7AA0D6419E8E2AA6F69AFF8BEF2\",\"pdbSignature\":\"40DA1D7AA0D6419E8E2AA6F69AFF8BEF\",\"pdbAge\":2,\"pdbName\":\"MFReadWrite.pdb\"},{\"start\":1559822336,\"end\":1560342528,\"offset\":0,\"name\":\"mf.pdb\",\"breakpadId\":\"21ED7EB51D6D402296632EF16EDACE001\",\"pdbSignature\":\"21ED7EB51D6D402296632EF16EDACE00\",\"pdbAge\":1,\"pdbName\":\"mf.pdb\"},{\"start\":1559691264,\"end\":1559797760,\"offset\":0,\"name\":\"dxva2.pdb\",\"breakpadId\":\"C7ACED0F03484B41B9E32FA58D97BB022\",\"pdbSignature\":\"C7ACED0F03484B41B9E32FA58D97BB02\",\"pdbAge\":2,\"pdbName\":\"dxva2.pdb\"},{\"start\":1827864576,\"end\":1829855232,\"offset\":0,\"name\":\"comctl32.pdb\",\"breakpadId\":\"55E2ABB80F1F44DD81BF841BE274BBC72\",\"pdbSignature\":\"55E2ABB80F1F44DD81BF841BE274BBC7\",\"pdbAge\":2,\"pdbName\":\"comctl32.pdb\"},{\"start\":1620180992,\"end\":1621544960,\"offset\":0,\"name\":\"WindowsCodecs.pdb\",\"breakpadId\":\"F2782689175D4E41BF188E091AE920C82\",\"pdbSignature\":\"F2782689175D4E41BF188E091AE920C8\",\"pdbAge\":2,\"pdbName\":\"WindowsCodecs.pdb\"},{\"start\":1823408128,\"end\":1823531008,\"offset\":0,\"name\":\"IdStore.pdb\",\"breakpadId\":\"52CCC0687C814CB49715A3146082535E2\",\"pdbSignature\":\"52CCC0687C814CB49715A3146082535E\",\"pdbAge\":2,\"pdbName\":\"IdStore.pdb\"},{\"start\":1823277056,\"end\":1823354880,\"offset\":0,\"name\":\"samlib.pdb\",\"breakpadId\":\"4D91D486A8554E478F118D8FD039627A2\",\"pdbSignature\":\"4D91D486A8554E478F118D8FD039627A\",\"pdbAge\":2,\"pdbName\":\"samlib.pdb\"},{\"start\":1822883840,\"end\":1823268864,\"offset\":0,\"name\":\"WLIDProv.pdb\",\"breakpadId\":\"06869E21485444A2AB4BCC6BE55B078C1\",\"pdbSignature\":\"06869E21485444A2AB4BCC6BE55B078C\",\"pdbAge\":1,\"pdbName\":\"WLIDProv.pdb\"},{\"start\":1992884224,\"end\":1993433088,\"offset\":0,\"name\":\"comdlg32.pdb\",\"breakpadId\":\"2468F4845E9F4B859319A333828777752\",\"pdbSignature\":\"2468F4845E9F4B859319A33382877775\",\"pdbAge\":2,\"pdbName\":\"comdlg32.pdb\"},{\"start\":1816985600,\"end\":1817423872,\"offset\":0,\"name\":\"tiptsf.pdb\",\"breakpadId\":\"78B45DDE194848D1B6D52EEDB675D7562\",\"pdbSignature\":\"78B45DDE194848D1B6D52EEDB675D756\",\"pdbAge\":2,\"pdbName\":\"tiptsf.pdb\"},{\"start\":1816526848,\"end\":1816961024,\"offset\":0,\"name\":\"StructuredQuery.pdb\",\"breakpadId\":\"AA7364BC25344FE3AB35B6D6C7B999252\",\"pdbSignature\":\"AA7364BC25344FE3AB35B6D6C7B99925\",\"pdbAge\":2,\"pdbName\":\"StructuredQuery.pdb\"},{\"start\":1823539200,\"end\":1824587776,\"offset\":0,\"name\":\"ActXPrxy.pdb\",\"breakpadId\":\"3D1A2D980A0D440FBBE135B6139F79A82\",\"pdbSignature\":\"3D1A2D980A0D440FBBE135B6139F79A8\",\"pdbAge\":2,\"pdbName\":\"ActXPrxy.pdb\"},{\"start\":1816395776,\"end\":1816522752,\"offset\":0,\"name\":\"thumbcache.pdb\",\"breakpadId\":\"EB5C2C148EE44D5EA1B02E24411257D92\",\"pdbSignature\":\"EB5C2C148EE44D5EA1B02E24411257D9\",\"pdbAge\":2,\"pdbName\":\"thumbcache.pdb\"},{\"start\":1821376512,\"end\":1821671424,\"offset\":0,\"name\":\"oleacc.pdb\",\"breakpadId\":\"95EDD70ABF7746C8811863BE768754422\",\"pdbSignature\":\"95EDD70ABF7746C8811863BE76875442\",\"pdbAge\":2,\"pdbName\":\"oleacc.pdb\"},{\"start\":1825964032,\"end\":1826045952,\"offset\":0,\"name\":\"mpr.pdb\",\"breakpadId\":\"265D895A8CC747F38C45AB0AF31CC1BD2\",\"pdbSignature\":\"265D895A8CC747F38C45AB0AF31CC1BD\",\"pdbAge\":2,\"pdbName\":\"mpr.pdb\"},{\"start\":1821704192,\"end\":1821741056,\"offset\":0,\"name\":\"drprov.pdb\",\"breakpadId\":\"20E739B42B174094A6959C2CE212B85F2\",\"pdbSignature\":\"20E739B42B174094A6959C2CE212B85F\",\"pdbAge\":2,\"pdbName\":\"drprov.pdb\"},{\"start\":1634009088,\"end\":1634279424,\"offset\":0,\"name\":\"winsta.pdb\",\"breakpadId\":\"259E1EE215734247A8D7F6A1DEB63D432\",\"pdbSignature\":\"259E1EE215734247A8D7F6A1DEB63D43\",\"pdbAge\":2,\"pdbName\":\"winsta.pdb\"},{\"start\":1816264704,\"end\":1816334336,\"offset\":0,\"name\":\"ntlanman.pdb\",\"breakpadId\":\"08D0AC76F8E7406BAF3ABF2FFFF791A52\",\"pdbSignature\":\"08D0AC76F8E7406BAF3ABF2FFFF791A5\",\"pdbAge\":2,\"pdbName\":\"ntlanman.pdb\"},{\"start\":1816133632,\"end\":1816236032,\"offset\":0,\"name\":\"davclnt.pdb\",\"breakpadId\":\"F9242D5D32394F18AA11F526185ECE0F2\",\"pdbSignature\":\"F9242D5D32394F18AA11F526185ECE0F\",\"pdbAge\":2,\"pdbName\":\"davclnt.pdb\"},{\"start\":1816068096,\"end\":1816104960,\"offset\":0,\"name\":\"davhlpr.pdb\",\"breakpadId\":\"B07524D32B754C10993DB8D36C0B59EF1\",\"pdbSignature\":\"B07524D32B754C10993DB8D36C0B59EF\",\"pdbAge\":1,\"pdbName\":\"davhlpr.pdb\"},{\"start\":1811218432,\"end\":1811845120,\"offset\":0,\"name\":\"apphelp.pdb\",\"breakpadId\":\"C3FE61FCF06A426CBF6C51C73A08B1232\",\"pdbSignature\":\"C3FE61FCF06A426CBF6C51C73A08B123\",\"pdbAge\":2,\"pdbName\":\"apphelp.pdb\"},{\"start\":1615986688,\"end\":1617661952,\"offset\":0,\"name\":\"NetworkExplorer.pdb\",\"breakpadId\":\"86B2DF121E5A4DAE8145855E433DBBAE2\",\"pdbSignature\":\"86B2DF121E5A4DAE8145855E433DBBAE\",\"pdbAge\":2,\"pdbName\":\"NetworkExplorer.pdb\"},{\"start\":1826488320,\"end\":1826906112,\"offset\":0,\"name\":\"dlnashext.pdb\",\"breakpadId\":\"15CBC583F4AC47E492576663D9BD14B42\",\"pdbSignature\":\"15CBC583F4AC47E492576663D9BD14B4\",\"pdbAge\":2,\"pdbName\":\"dlnashext.pdb\"},{\"start\":1581973504,\"end\":1583710208,\"offset\":0,\"name\":\"grooveex.pdb\",\"breakpadId\":\"EF8B437BB2624A299495CFF148D8DC342\",\"pdbSignature\":\"EF8B437BB2624A299495CFF148D8DC34\",\"pdbAge\":2,\"pdbName\":\"grooveex.pdb\"},{\"start\":1580531712,\"end\":1580687360,\"offset\":0,\"name\":\"atl100.i386.pdb\",\"breakpadId\":\"80F951D0A52A4369BB2BAAA178DE5D7E3\",\"pdbSignature\":\"80F951D0A52A4369BB2BAAA178DE5D7E\",\"pdbAge\":3,\"pdbName\":\"atl100.i386.pdb\"},{\"start\":1577189376,\"end\":1580511232,\"offset\":0,\"name\":\"msi.pdb\",\"breakpadId\":\"4158EF0B9AE94BDA8E6B95C93AED50CA2\",\"pdbSignature\":\"4158EF0B9AE94BDA8E6B95C93AED50CA\",\"pdbAge\":2,\"pdbName\":\"msi.pdb\"},{\"start\":1826095104,\"end\":1826193408,\"offset\":0,\"name\":\"DevDispItemProvider.pdb\",\"breakpadId\":\"D26A8692AD214B1694935BDAAF84EED51\",\"pdbSignature\":\"D26A8692AD214B1694935BDAAF84EED5\",\"pdbAge\":1,\"pdbName\":\"DevDispItemProvider.pdb\"},{\"start\":1563033600,\"end\":1571926016,\"offset\":0,\"name\":\"GrooveIntlResource.pdb\",\"breakpadId\":\"F1A53405A5934E82AD92BFADA60BC4881\",\"pdbSignature\":\"F1A53405A5934E82AD92BFADA60BC488\",\"pdbAge\":1,\"pdbName\":\"GrooveIntlResource.pdb\"},{\"start\":1813577728,\"end\":1814007808,\"offset\":0,\"name\":\"twinapi.appcore.pdb\",\"breakpadId\":\"5AFCF5A391074FDC9B664F50E7A2E4D41\",\"pdbSignature\":\"5AFCF5A391074FDC9B664F50E7A2E4D4\",\"pdbAge\":1,\"pdbName\":\"twinapi.appcore.pdb\"},{\"start\":1562836992,\"end\":1562980352,\"offset\":0,\"name\":\"DropboxExt.pdb\",\"breakpadId\":\"66432EF1E8CA4A5BBD7FC4FB8A1A2F331\",\"pdbSignature\":\"66432EF1E8CA4A5BBD7FC4FB8A1A2F33\",\"pdbAge\":1,\"pdbName\":\"DropboxExt.pdb\"},{\"start\":1841299456,\"end\":1841881088,\"offset\":0,\"name\":\"msvcp90.i386.pdb\",\"breakpadId\":\"F98500174A2C4290A81DDA7E2B5B66581\",\"pdbSignature\":\"F98500174A2C4290A81DDA7E2B5B6658\",\"pdbAge\":1,\"pdbName\":\"msvcp90.i386.pdb\"},{\"start\":1958215680,\"end\":1958883328,\"offset\":0,\"name\":\"msvcr90.i386.pdb\",\"breakpadId\":\"BAC1B1EA57AC43FAA7E34DA9A1D9DBD11\",\"pdbSignature\":\"BAC1B1EA57AC43FAA7E34DA9A1D9DBD1\",\"pdbAge\":1,\"pdbName\":\"msvcr90.i386.pdb\"},{\"start\":1815871488,\"end\":1815932928,\"offset\":0,\"name\":\"mssprxy.pdb\",\"breakpadId\":\"75F01673F9AE40E1A52BDB102843B63F2\",\"pdbSignature\":\"75F01673F9AE40E1A52BDB102843B63F\",\"pdbAge\":2,\"pdbName\":\"mssprxy.pdb\"},{\"start\":1902706688,\"end\":1903919104,\"offset\":0,\"name\":\"urlmon.pdb\",\"breakpadId\":\"08C27DE119FF4B04BCD47E503CD789302\",\"pdbSignature\":\"08C27DE119FF4B04BCD47E503CD78930\",\"pdbAge\":2,\"pdbName\":\"urlmon.pdb\"},{\"start\":1822752768,\"end\":1822830592,\"offset\":0,\"name\":\"devenum.pdb\",\"breakpadId\":\"FB1DEB5E9B3443B9A543A4DD78E475DA2\",\"pdbSignature\":\"FB1DEB5E9B3443B9A543A4DD78E475DA\",\"pdbAge\":2,\"pdbName\":\"devenum.pdb\"},{\"start\":1822687232,\"end\":1822732288,\"offset\":0,\"name\":\"msdmo.pdb\",\"breakpadId\":\"FEB8830A217A4E40B75DA15AD656DD182\",\"pdbSignature\":\"FEB8830A217A4E40B75DA15AD656DD18\",\"pdbAge\":2,\"pdbName\":\"msdmo.pdb\"},{\"start\":1822425088,\"end\":1822646272,\"offset\":0,\"name\":\"ksproxy.pdb\",\"breakpadId\":\"A5DB882F71674ED2B56F8B3ACFE6A84F2\",\"pdbSignature\":\"A5DB882F71674ED2B56F8B3ACFE6A84F\",\"pdbAge\":2,\"pdbName\":\"ksproxy.pdb\"},{\"start\":1822359552,\"end\":1822388224,\"offset\":0,\"name\":\"ksuser.pdb\",\"breakpadId\":\"FF945409BBFC455698F405BAFA79D2F12\",\"pdbSignature\":\"FF945409BBFC455698F405BAFA79D2F1\",\"pdbAge\":2,\"pdbName\":\"ksuser.pdb\"},{\"start\":1536950272,\"end\":1538752512,\"offset\":0,\"name\":\"d3d9.pdb\",\"breakpadId\":\"614FD17739854007AED5728F995193702\",\"pdbSignature\":\"614FD17739854007AED5728F99519370\",\"pdbAge\":2,\"pdbName\":\"d3d9.pdb\"},{\"start\":1822294016,\"end\":1822334976,\"offset\":0,\"name\":\"vidcap.pdb\",\"breakpadId\":\"3B717427DEF14A04830FFFC4AA3AFBE21\",\"pdbSignature\":\"3B717427DEF14A04830FFFC4AA3AFBE2\",\"pdbAge\":1,\"pdbName\":\"vidcap.pdb\"},{\"start\":1822162944,\"end\":1822281728,\"offset\":0,\"name\":\"kswdmcap.pdb\",\"breakpadId\":\"7B2612C4471347B5A4AEC1BE97C77CF02\",\"pdbSignature\":\"7B2612C4471347B5A4AEC1BE97C77CF0\",\"pdbAge\":2,\"pdbName\":\"kswdmcap.pdb\"},{\"start\":1818624000,\"end\":1819688960,\"offset\":0,\"name\":\"mfc42.pdb\",\"breakpadId\":\"C73F9A7BEC0D42A6922216703C33882E2\",\"pdbSignature\":\"C73F9A7BEC0D42A6922216703C33882E\",\"pdbAge\":2,\"pdbName\":\"mfc42.pdb\"},{\"start\":1589641216,\"end\":1590292480,\"offset\":0,\"name\":\"ODBC32.pdb\",\"breakpadId\":\"D1185C92739A4FA4B604EE3FDAAF51BE2\",\"pdbSignature\":\"D1185C92739A4FA4B604EE3FDAAF51BE\",\"pdbAge\":2,\"pdbName\":\"ODBC32.pdb\"},{\"start\":1770258432,\"end\":1771810816,\"offset\":0,\"name\":\"quartz.pdb\",\"breakpadId\":\"1156C423020B4CCEA8A8CFBEDCBF87B92\",\"pdbSignature\":\"1156C423020B4CCEA8A8CFBEDCBF87B9\",\"pdbAge\":2,\"pdbName\":\"quartz.pdb\"}]", + "meta": { + "version": 2, + "interval": 1, + "stackwalk": 0, + "jank": 0, + "processType": 0, + "startTime": 1409261371392, + "platform": "Windows", + "oscpu": "Windows NT 6.3; WOW64", + "misc": "rv:31.0", + "abi": "x86-msvc", + "toolkit": "windows", + "product": "Firefox" + }, + "threads": [ + { + "samples": [ + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.738444805145264, + "time": 26402702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "onclick (chrome://browser/content/browser.xul:1)", + "line": 1 + }, + { + "location": "contentAreaClick (chrome://browser/content/browser.js:14515)", + "line": 14520 + }, + { + "location": "EnterJIT" + }, + { + "location": "hrefAndLinkNodeForClickEvent (chrome://browser/content/browser.js:14471)", + "line": 14482 + }, + { + "location": "isHTMLLink (chrome://browser/content/browser.js:14473)", + "line": 14476 + } + ], + "responsiveness": 9.723519325256348, + "time": 26402704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "js::RunScript" + }, + { + "location": "CSL_observe (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/utils.js:1162)", + "line": 1164 + } + ], + "responsiveness": 1.006602168083191, + "time": 26402706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0456559658050537, + "time": 26402708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "html5::RunFlushLoop", + "line": 341 + }, + { + "location": "JS::EvaluateString", + "line": 199 + }, + { + "location": "js::RunScript" + }, + { + "location": "chrome://browser/content/devtools/profiler/cleopatra/js/parser.js:1", + "line": 1 + } + ], + "responsiveness": 5.028069496154785, + "time": 26402710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "html5::RunFlushLoop", + "line": 341 + }, + { + "location": "JS::EvaluateString", + "line": 199 + } + ], + "responsiveness": 7.011622905731201, + "time": 26402712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "html5::RunFlushLoop", + "line": 341 + }, + { + "location": "JS::EvaluateString", + "line": 199 + } + ], + "responsiveness": 9.01456356048584, + "time": 26402714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "onLoad (resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Christoph/AppData/Roaming/Mozilla/Firefox/Profiles/hrdbs1rb.default/extensions/firebug@software.joehewitt.com.xpi!/bootstrap.js:128)", + "line": 132 + } + ], + "responsiveness": 0.004561641253530979, + "time": 26402716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0082626342773438, + "time": 26402718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080388069152832, + "time": 26402720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080388069152832, + "time": 26402722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080388069152832, + "time": 26402724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080388069152832, + "time": 26402724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080388069152832, + "time": 26402726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02166779711842537, + "time": 26402728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2118760347366333, + "time": 26402730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2118760347366333, + "time": 26402732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.12424373626709, + "time": 26402734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.126044273376465, + "time": 26402736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 9.111498832702637, + "time": 26402738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 0.006082188803702593, + "time": 26402740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 2.0645229816436768, + "time": 26402742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 4.074686050415039, + "time": 26402744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 5.273637771606445, + "time": 26402744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 369 + } + ], + "responsiveness": 7.437756538391113, + "time": 26402746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.424731254577637, + "time": 26402748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0187666416168213, + "time": 26402750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.954423189163208, + "time": 26402752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.954423189163208, + "time": 26402754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.954423189163208, + "time": 26402756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.954423189163208, + "time": 26402758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.954423189163208, + "time": 26402758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.954423189163208, + "time": 26402760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0424749851226807, + "time": 26402762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0424749851226807, + "time": 26402764 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0424749851226807, + "time": 26402766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.056478977203369, + "time": 26402768 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.056478977203369, + "time": 26402770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.1125204861164093, + "time": 26402772 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.1125204861164093, + "time": 26402774 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.1125204861164093, + "time": 26402774 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.1125204861164093, + "time": 26402776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.322815418243408, + "time": 26402778 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.322815418243408, + "time": 26402780 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.322815418243408, + "time": 26402782 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.322815418243408, + "time": 26402782 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0841500759124756, + "time": 26402784 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.2857625484466553, + "time": 26402786 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.2857625484466553, + "time": 26402786 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.2857625484466553, + "time": 26402788 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.2857625484466553, + "time": 26402790 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.2857625484466553, + "time": 26402792 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.2857625484466553, + "time": 26402794 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.983933925628662, + "time": 26402796 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.983933925628662, + "time": 26402796 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.983933925628662, + "time": 26402798 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.983933925628662, + "time": 26402800 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.212474822998047, + "time": 26402802 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.212474822998047, + "time": 26402804 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26402806 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26402808 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26402808 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26402810 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26402812 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26402814 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.029270533472299576, + "time": 26402816 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1154611110687256, + "time": 26402818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1154611110687256, + "time": 26402820 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1154611110687256, + "time": 26402822 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1154611110687256, + "time": 26402822 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1154611110687256, + "time": 26402826 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1154611110687256, + "time": 26402826 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0949337482452393, + "time": 26402830 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0949337482452393, + "time": 26402832 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0966339111328125, + "time": 26402834 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0966339111328125, + "time": 26402834 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0966339111328125, + "time": 26402836 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0966339111328125, + "time": 26402838 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.109999418258667, + "time": 26402840 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.109999418258667, + "time": 26402842 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.109999418258667, + "time": 26402844 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.109999418258667, + "time": 26402844 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.109999418258667, + "time": 26402846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.109999418258667, + "time": 26402846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.006462325341999531, + "time": 26402848 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9778517484664917, + "time": 26402850 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.019566535949707, + "time": 26402852 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.019566535949707, + "time": 26402854 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.019566535949707, + "time": 26402856 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.019566535949707, + "time": 26402858 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26402860 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26402862 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.030730247497559, + "time": 26402864 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 7.027588844299316, + "time": 26402866 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 9.029389381408691, + "time": 26402868 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 0.014825334772467613, + "time": 26402870 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.073646068572998, + "time": 26402872 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.073646068572998, + "time": 26402874 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.073646068572998, + "time": 26402876 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.073646068572998, + "time": 26402876 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.073646068572998, + "time": 26402878 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.073646068572998, + "time": 26402880 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0716055631637573, + "time": 26402882 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0716055631637573, + "time": 26402884 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0716055631637573, + "time": 26402886 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0716055631637573, + "time": 26402888 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0716055631637573, + "time": 26402890 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0716055631637573, + "time": 26402892 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26402894 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26402896 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26402896 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26402898 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.335119247436523, + "time": 26402900 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.335119247436523, + "time": 26402902 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.335119247436523, + "time": 26402904 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0978350639343262, + "time": 26402906 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.123584032058716, + "time": 26402908 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.123584032058716, + "time": 26402910 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.123584032058716, + "time": 26402910 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.123584032058716, + "time": 26402912 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.123584032058716, + "time": 26402914 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9653072357177734, + "time": 26402916 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9653072357177734, + "time": 26402918 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9653072357177734, + "time": 26402920 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9653072357177734, + "time": 26402922 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9653072357177734, + "time": 26402924 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9653072357177734, + "time": 26402924 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.056400179862976, + "time": 26402926 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.056400179862976, + "time": 26402928 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.056400179862976, + "time": 26402930 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.168859958648682, + "time": 26402932 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.168859958648682, + "time": 26402934 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.168859958648682, + "time": 26402936 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0940337181091309, + "time": 26402938 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0940337181091309, + "time": 26402940 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0940337181091309, + "time": 26402942 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0940337181091309, + "time": 26402944 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0940337181091309, + "time": 26402946 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0940337181091309, + "time": 26402946 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1252049207687378, + "time": 26402948 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1252049207687378, + "time": 26402950 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.114980697631836, + "time": 26402952 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.114980697631836, + "time": 26402954 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.114980697631836, + "time": 26402956 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.114980697631836, + "time": 26402958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.114980697631836, + "time": 26402958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.098975419998169, + "time": 26402960 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.098975419998169, + "time": 26402962 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.098975419998169, + "time": 26402964 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.229681491851807, + "time": 26402966 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.229681491851807, + "time": 26402968 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.229681491851807, + "time": 26402968 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.937797486782074, + "time": 26402970 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 2.925532817840576, + "time": 26402972 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26402974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26402976 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26402976 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26402978 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26402980 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26402980 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1008760929107666, + "time": 26402982 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26402984 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26402986 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26402988 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26402990 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26402992 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1164617538452148, + "time": 26402994 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1164617538452148, + "time": 26402996 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1164617538452148, + "time": 26402998 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.134407043457031, + "time": 26403000 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.134407043457031, + "time": 26403002 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26403004 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26403006 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26403008 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26403010 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26403012 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26403012 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0297905206680298, + "time": 26403014 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0304505825042725, + "time": 26403016 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0304505825042725, + "time": 26403018 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0304505825042725, + "time": 26403020 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0304505825042725, + "time": 26403022 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0304505825042725, + "time": 26403024 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.043095350265503, + "time": 26403026 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.043095350265503, + "time": 26403028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.043095350265503, + "time": 26403028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.043095350265503, + "time": 26403030 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.043095350265503, + "time": 26403032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.39874267578125, + "time": 26403034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.39874267578125, + "time": 26403036 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403040 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403044 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403044 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1271055936813354, + "time": 26403046 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.001420259475708, + "time": 26403048 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.001420259475708, + "time": 26403050 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.001420259475708, + "time": 26403052 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.019225597381592, + "time": 26403054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.019225597381592, + "time": 26403056 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.019225597381592, + "time": 26403058 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07578706741333, + "time": 26403058 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07578706741333, + "time": 26403060 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07578706741333, + "time": 26403062 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07578706741333, + "time": 26403064 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.302567481994629, + "time": 26403066 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.302567481994629, + "time": 26403068 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0392940044403076, + "time": 26403070 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0392940044403076, + "time": 26403072 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0392940044403076, + "time": 26403074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0392940044403076, + "time": 26403076 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0392940044403076, + "time": 26403078 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0392940044403076, + "time": 26403080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0727460384368896, + "time": 26403082 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1076183319091797, + "time": 26403084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1076183319091797, + "time": 26403086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1076183319091797, + "time": 26403086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1076183319091797, + "time": 26403088 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1076183319091797, + "time": 26403090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02280820719897747, + "time": 26403092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1860268115997314, + "time": 26403092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1860268115997314, + "time": 26403094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1860268115997314, + "time": 26403096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1860268115997314, + "time": 26403098 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.262272834777832, + "time": 26403100 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.262272834777832, + "time": 26403102 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26403104 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26403106 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.107137680053711, + "time": 26403108 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.214235782623291, + "time": 26403110 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.214235782623291, + "time": 26403112 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.028890395537018776, + "time": 26403114 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.096834421157837, + "time": 26403116 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.096834421157837, + "time": 26403118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.096834421157837, + "time": 26403118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.096834421157837, + "time": 26403120 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.096834421157837, + "time": 26403122 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.096834421157837, + "time": 26403124 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9774715900421143, + "time": 26403126 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9774715900421143, + "time": 26403128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9774715900421143, + "time": 26403128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9774715900421143, + "time": 26403130 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.132025718688965, + "time": 26403132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.03345203772187233, + "time": 26403134 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2069343328475952, + "time": 26403136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2069343328475952, + "time": 26403138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2069343328475952, + "time": 26403140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2069343328475952, + "time": 26403142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2069343328475952, + "time": 26403144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2069343328475952, + "time": 26403146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26403148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26403150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26403150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.115780353546143, + "time": 26403154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.115780353546143, + "time": 26403154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.115780353546143, + "time": 26403156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1107597351074219, + "time": 26403158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1107597351074219, + "time": 26403160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1107597351074219, + "time": 26403162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1107597351074219, + "time": 26403162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1107597351074219, + "time": 26403164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.3021879196167, + "time": 26403166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.3021879196167, + "time": 26403168 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403170 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403174 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26403180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1148407459259033, + "time": 26403182 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1148407459259033, + "time": 26403184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1148407459259033, + "time": 26403184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1148407459259033, + "time": 26403186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1148407459259033, + "time": 26403188 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1148407459259033, + "time": 26403190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26403190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26403192 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26403194 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26403196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26403198 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.358967781066895, + "time": 26403200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.358967781066895, + "time": 26403202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26403202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26403204 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26403206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26403206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26403208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1126604080200195, + "time": 26403210 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0415748357772827, + "time": 26403212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0415748357772827, + "time": 26403214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.269696235656738, + "time": 26403216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.269696235656738, + "time": 26403218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.269696235656738, + "time": 26403218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.269696235656738, + "time": 26403220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.269696235656738, + "time": 26403222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.269696235656738, + "time": 26403224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26403224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26403226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26403228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26403230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26403230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.400782585144043, + "time": 26403232 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.961746096611023, + "time": 26403234 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.961746096611023, + "time": 26403236 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.961746096611023, + "time": 26403238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.961746096611023, + "time": 26403240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.961746096611023, + "time": 26403242 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.0551198348402977, + "time": 26403244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2514103651046753, + "time": 26403246 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2514103651046753, + "time": 26403248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.204452991485596, + "time": 26403250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.204452991485596, + "time": 26403252 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.282179832458496, + "time": 26403254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.282179832458496, + "time": 26403256 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.078968048095703, + "time": 26403258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.078968048095703, + "time": 26403260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.078968048095703, + "time": 26403262 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.078968048095703, + "time": 26403264 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.189046859741211, + "time": 26403266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.189046859741211, + "time": 26403266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26403270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26403272 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26403274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26403274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26403276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26403276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0180063247680664, + "time": 26403278 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0180063247680664, + "time": 26403280 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.951281547546387, + "time": 26403282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.951281547546387, + "time": 26403284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.951281547546387, + "time": 26403284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.951281547546387, + "time": 26403286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.951281547546387, + "time": 26403286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.951281547546387, + "time": 26403288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26403290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26403292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26403294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26403296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26403298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.28650188446045, + "time": 26403300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0358726978302002, + "time": 26403302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0358726978302002, + "time": 26403304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0358726978302002, + "time": 26403306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0358726978302002, + "time": 26403308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0358726978302002, + "time": 26403310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0358726978302002, + "time": 26403312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0998756885528564, + "time": 26403314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.10205602645874, + "time": 26403316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.319774150848389, + "time": 26403318 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.319774150848389, + "time": 26403320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.319774150848389, + "time": 26403320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9883556365966797, + "time": 26403322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9883556365966797, + "time": 26403324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9883556365966797, + "time": 26403326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9883556365966797, + "time": 26403328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9883556365966797, + "time": 26403330 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.12684440612793, + "time": 26403332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0974549055099487, + "time": 26403334 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.115601062774658, + "time": 26403336 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.115601062774658, + "time": 26403338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.115601062774658, + "time": 26403338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.115601062774658, + "time": 26403340 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.357827186584473, + "time": 26403342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.357827186584473, + "time": 26403344 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0839099884033203, + "time": 26403346 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0839099884033203, + "time": 26403348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.171520709991455, + "time": 26403350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.116681098937988, + "time": 26403352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.192227363586426, + "time": 26403354 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26403356 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26403358 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26403360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + } + ], + "responsiveness": 6.127805233001709, + "time": 26403362 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.186245918273926, + "time": 26403364 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.186245918273926, + "time": 26403366 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.095554232597351, + "time": 26403368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.095554232597351, + "time": 26403368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.26019287109375, + "time": 26403370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.2540106773376465, + "time": 26403372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.2540106773376465, + "time": 26403374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.2540106773376465, + "time": 26403376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9845542907714844, + "time": 26403378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9845542907714844, + "time": 26403380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "layout::Flush (Flush_InterruptibleLayout)", + "line": 3969 + }, + { + "location": "CSS::ProcessRestyles", + "line": 137 + }, + { + "location": "CSS::ComputeStyleChangeFor", + "line": 2902 + } + ], + "responsiveness": 4.926572799682617, + "time": 26403382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.993376731872559, + "time": 26403384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.993376731872559, + "time": 26403386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.993376731872559, + "time": 26403388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0158653259277344, + "time": 26403390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "layout::Flush (Flush_InterruptibleLayout)", + "line": 3969 + }, + { + "location": "CSS::ProcessRestyles", + "line": 137 + }, + { + "location": "CSS::ComputeStyleChangeFor", + "line": 2902 + }, + { + "location": "nsStyleSet::FileRules", + "line": 943 + } + ], + "responsiveness": 3.995997905731201, + "time": 26403392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.015664577484131, + "time": 26403394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.074865341186523, + "time": 26403396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.074865341186523, + "time": 26403396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04409586638212204, + "time": 26403398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 2.0261290073394775, + "time": 26403400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109658718109131, + "time": 26403402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109658718109131, + "time": 26403404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109658718109131, + "time": 26403406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109658718109131, + "time": 26403406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109658718109131, + "time": 26403408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109658718109131, + "time": 26403410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 1.0035611391067505, + "time": 26403412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0483169555664062, + "time": 26403414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "layout::Flush (Flush_Style)", + "line": 3969 + }, + { + "location": "CSS::ProcessRestyles", + "line": 137 + }, + { + "location": "CSS::ComputeStyleChangeFor", + "line": 2902 + }, + { + "location": "nsStyleSet::FileRules", + "line": 943 + } + ], + "responsiveness": 5.096113681793213, + "time": 26403416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.159876346588135, + "time": 26403418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.159876346588135, + "time": 26403418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.006842462345957756, + "time": 26403420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.092272996902466, + "time": 26403422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.092272996902466, + "time": 26403424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.092272996902466, + "time": 26403426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.092272996902466, + "time": 26403428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.092272996902466, + "time": 26403428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 10.287641525268555, + "time": 26403430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0754070281982422, + "time": 26403432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0754070281982422, + "time": 26403434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0754070281982422, + "time": 26403436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0754070281982422, + "time": 26403438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0754070281982422, + "time": 26403440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.333118438720703, + "time": 26403442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.333118438720703, + "time": 26403444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0818692445755005, + "time": 26403444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0818692445755005, + "time": 26403446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0818692445755005, + "time": 26403448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 7.003260135650635, + "time": 26403450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.063220977783203, + "time": 26403452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02090752311050892, + "time": 26403454 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26403456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26403458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26403460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.11920166015625, + "time": 26403462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.11920166015625, + "time": 26403464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.03421230986714363, + "time": 26403466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2251808643341064, + "time": 26403466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2251808643341064, + "time": 26403468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2251808643341064, + "time": 26403468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 5.47396993637085, + "time": 26403470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.564722061157227, + "time": 26403472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.564722061157227, + "time": 26403474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.564722061157227, + "time": 26403476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.987975537776947, + "time": 26403478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.987975537776947, + "time": 26403478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.235104084014893, + "time": 26403480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.333838939666748, + "time": 26403482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.333838939666748, + "time": 26403484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.333838939666748, + "time": 26403486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0052216053009033, + "time": 26403488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 3.9222514629364014, + "time": 26403490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0126237869262695, + "time": 26403492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0126237869262695, + "time": 26403494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0126237869262695, + "time": 26403494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0126237869262695, + "time": 26403496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1031569242477417, + "time": 26403498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.043755292892456, + "time": 26403500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.043755292892456, + "time": 26403502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.043755292892456, + "time": 26403504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.043755292892456, + "time": 26403506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.043755292892456, + "time": 26403508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 2.0033209323883057, + "time": 26403510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.100155353546143, + "time": 26403512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.100155353546143, + "time": 26403514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.109457969665527, + "time": 26403516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.109457969665527, + "time": 26403518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.029270533472299576, + "time": 26403520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113560438156128, + "time": 26403522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113560438156128, + "time": 26403524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113560438156128, + "time": 26403526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113560438156128, + "time": 26403528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113560438156128, + "time": 26403530 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.01064383052289486, + "time": 26403532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1120400428771973, + "time": 26403534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1120400428771973, + "time": 26403534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1120400428771973, + "time": 26403536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1120400428771973, + "time": 26403538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.359587669372559, + "time": 26403540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.012544513680040836, + "time": 26403542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2065541744232178, + "time": 26403542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2065541744232178, + "time": 26403544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2065541744232178, + "time": 26403546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2065541744232178, + "time": 26403548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "layout::Flush (Flush_Style)", + "line": 3969 + }, + { + "location": "CSS::ProcessRestyles", + "line": 137 + } + ], + "responsiveness": 8.359208106994629, + "time": 26403550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.448439598083496, + "time": 26403552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0871912240982056, + "time": 26403554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0871912240982056, + "time": 26403556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0871912240982056, + "time": 26403558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16689 + }, + { + "location": "forEach (self-hosted:5343)", + "line": 5346 + }, + { + "location": "IsObject (self-hosted:636)", + "line": 641 + } + ], + "responsiveness": 7.140109062194824, + "time": 26403560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.211854934692383, + "time": 26403562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.211854934692383, + "time": 26403564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1120400428771973, + "time": 26403566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1120400428771973, + "time": 26403568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.350805282592773, + "time": 26403570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.4419379234313965, + "time": 26403572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.4419379234313965, + "time": 26403574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0518385171890259, + "time": 26403576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0518385171890259, + "time": 26403578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 4.962305545806885, + "time": 26403580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.057619571685791, + "time": 26403582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.057619571685791, + "time": 26403584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.057619571685791, + "time": 26403586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 1.9915366172790527, + "time": 26403588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.00398063659668, + "time": 26403590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.00398063659668, + "time": 26403592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.00398063659668, + "time": 26403594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.00398063659668, + "time": 26403594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.19995194673538208, + "time": 26403596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.034111976623535, + "time": 26403598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.034111976623535, + "time": 26403600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.034111976623535, + "time": 26403602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.034111976623535, + "time": 26403604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 10.01052188873291, + "time": 26403606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0332118272781372, + "time": 26403608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0332118272781372, + "time": 26403610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0332118272781372, + "time": 26403612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0332118272781372, + "time": 26403614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 9.02216625213623, + "time": 26403616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.012924650683999062, + "time": 26403618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0493173599243164, + "time": 26403620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0493173599243164, + "time": 26403622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0493173599243164, + "time": 26403624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 8.019365310668945, + "time": 26403626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.04891586303711, + "time": 26403628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0183864831924438, + "time": 26403630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0186662673950195, + "time": 26403632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0186662673950195, + "time": 26403634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16679 + } + ], + "responsiveness": 7.0211262702941895, + "time": 26403636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.047636032104492, + "time": 26403638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.047636032104492, + "time": 26403640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.034111976623535, + "time": 26403642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.034111976623535, + "time": 26403644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.044555187225342, + "time": 26403646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.045214653015137, + "time": 26403648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.045214653015137, + "time": 26403650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0278898477554321, + "time": 26403652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0289299488067627, + "time": 26403654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0289299488067627, + "time": 26403656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0289299488067627, + "time": 26403658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0289299488067627, + "time": 26403660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0289299488067627, + "time": 26403662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0282700061798096, + "time": 26403664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 3.011823892593384, + "time": 26403666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.033771514892578, + "time": 26403668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.033771514892578, + "time": 26403670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 9.015323638916016, + "time": 26403672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 0.007222598884254694, + "time": 26403674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 2.006742000579834, + "time": 26403676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 4.029829978942871, + "time": 26403678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 6.016805171966553, + "time": 26403680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 8.00796127319336, + "time": 26403682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.06412124633789, + "time": 26403684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403690 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403690 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403692 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0290303230285645, + "time": 26403696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26403696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26403698 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.106757640838623, + "time": 26403700 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.106757640838623, + "time": 26403702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.106757640838623, + "time": 26403704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.106757640838623, + "time": 26403706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0651432275772095, + "time": 26403708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0570600032806396, + "time": 26403710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0570600032806396, + "time": 26403712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0570600032806396, + "time": 26403714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.1687593460083, + "time": 26403716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.1687593460083, + "time": 26403718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.126725435256958, + "time": 26403728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9579446911811829, + "time": 26403730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9579446911811829, + "time": 26403732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053918838500977, + "time": 26403734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053918838500977, + "time": 26403736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053918838500977, + "time": 26403738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053918838500977, + "time": 26403738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053918838500977, + "time": 26403740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1263452768325806, + "time": 26403742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1263452768325806, + "time": 26403744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1263452768325806, + "time": 26403746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1263452768325806, + "time": 26403748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.312451362609863, + "time": 26403748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.312451362609863, + "time": 26403750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0016604661941528, + "time": 26403752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0016604661941528, + "time": 26403752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.21571683883667, + "time": 26403754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.21571683883667, + "time": 26403756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.21571683883667, + "time": 26403758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.21571683883667, + "time": 26403760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0278898477554321, + "time": 26403762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0278898477554321, + "time": 26403764 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0197062492370605, + "time": 26403766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0197062492370605, + "time": 26403770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0197062492370605, + "time": 26403770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0197062492370605, + "time": 26403772 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1217836141586304, + "time": 26403774 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1217836141586304, + "time": 26403776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1217836141586304, + "time": 26403776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.437476634979248, + "time": 26403778 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.437476634979248, + "time": 26403780 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.487454414367676, + "time": 26403782 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403784 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403786 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403788 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403790 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403792 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403792 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9222118258476257, + "time": 26403794 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073126196861267, + "time": 26403796 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073126196861267, + "time": 26403798 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.12676477432251, + "time": 26403798 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.12676477432251, + "time": 26403800 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.12676477432251, + "time": 26403802 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.12676477432251, + "time": 26403804 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.12676477432251, + "time": 26403806 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.022707939147949, + "time": 26403808 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.022707939147949, + "time": 26403810 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.022707939147949, + "time": 26403812 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.022707939147949, + "time": 26403814 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.067543029785156, + "time": 26403816 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0149651765823364, + "time": 26403818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0149651765823364, + "time": 26403820 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0149651765823364, + "time": 26403822 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0149651765823364, + "time": 26403824 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0149651765823364, + "time": 26403826 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0, + "time": 26403828 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.047036647796631, + "time": 26403830 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.050357341766357, + "time": 26403832 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.050357341766357, + "time": 26403834 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.050357341766357, + "time": 26403836 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.11658000946045, + "time": 26403838 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0613418817520142, + "time": 26403840 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0613418817520142, + "time": 26403842 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0613418817520142, + "time": 26403844 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0613418817520142, + "time": 26403846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0613418817520142, + "time": 26403846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.307649612426758, + "time": 26403848 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.307649612426758, + "time": 26403850 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1198829412460327, + "time": 26403852 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1198829412460327, + "time": 26403854 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.38045597076416, + "time": 26403856 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.54723596572876, + "time": 26403858 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.54723596572876, + "time": 26403860 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0130645036697388, + "time": 26403862 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0130645036697388, + "time": 26403864 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.155795097351074, + "time": 26403866 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 7.104376316070557, + "time": 26403868 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.170419692993164, + "time": 26403870 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.170419692993164, + "time": 26403872 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0983550548553467, + "time": 26403874 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0983550548553467, + "time": 26403876 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.1125993728637695, + "time": 26403878 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.119341850280762, + "time": 26403880 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.185765266418457, + "time": 26403882 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0799685716629028, + "time": 26403884 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0799685716629028, + "time": 26403886 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.220278739929199, + "time": 26403888 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.219038009643555, + "time": 26403890 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.219038009643555, + "time": 26403892 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.219038009643555, + "time": 26403894 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0411946773529053, + "time": 26403896 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16679 + } + ], + "responsiveness": 3.0141046047210693, + "time": 26403898 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.113980293273926, + "time": 26403900 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.113980293273926, + "time": 26403900 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.113980293273926, + "time": 26403902 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.113980293273926, + "time": 26403902 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.113980293273926, + "time": 26403904 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0218076705932617, + "time": 26403906 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1825051307678223, + "time": 26403908 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1825051307678223, + "time": 26403910 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1825051307678223, + "time": 26403912 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 9.1985502243042, + "time": 26403914 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.009503419511020184, + "time": 26403916 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.148153066635132, + "time": 26403918 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.148153066635132, + "time": 26403920 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.148153066635132, + "time": 26403922 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.148153066635132, + "time": 26403924 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.148153066635132, + "time": 26403926 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.009503419511020184, + "time": 26403928 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0763070583343506, + "time": 26403930 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0763070583343506, + "time": 26403932 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.071544647216797, + "time": 26403934 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.071544647216797, + "time": 26403936 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.071544647216797, + "time": 26403936 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.012164377607405186, + "time": 26403938 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0770673751831055, + "time": 26403940 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0770673751831055, + "time": 26403942 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0770673751831055, + "time": 26403944 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0770673751831055, + "time": 26403946 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 9.122142791748047, + "time": 26403948 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0769275426864624, + "time": 26403950 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0769275426864624, + "time": 26403950 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0769275426864624, + "time": 26403952 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0769275426864624, + "time": 26403954 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.349564552307129, + "time": 26403956 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.301186561584473, + "time": 26403958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.301186561584473, + "time": 26403960 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1158413887023926, + "time": 26403962 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1158413887023926, + "time": 26403964 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.110318660736084, + "time": 26403966 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.034951210021973, + "time": 26403968 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.034951210021973, + "time": 26403970 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0552597045898438, + "time": 26403972 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0552597045898438, + "time": 26403974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0552597045898438, + "time": 26403974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0552597045898438, + "time": 26403976 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + } + ], + "responsiveness": 6.495397090911865, + "time": 26403978 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.592612266540527, + "time": 26403980 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.592612266540527, + "time": 26403982 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07882821559906, + "time": 26403984 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07882821559906, + "time": 26403986 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.161497116088867, + "time": 26403988 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.161497116088867, + "time": 26403990 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.161497116088867, + "time": 26403990 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.161497116088867, + "time": 26403992 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0109236240386963, + "time": 26403994 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.93479585647583, + "time": 26403996 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.021746635437012, + "time": 26403998 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.021746635437012, + "time": 26404000 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.021746635437012, + "time": 26404002 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.021746635437012, + "time": 26404004 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.999139428138733, + "time": 26404006 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16679 + } + ], + "responsiveness": 3.9830732345581055, + "time": 26404008 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.9848737716674805, + "time": 26404010 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.9848737716674805, + "time": 26404012 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.9848737716674805, + "time": 26404014 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.9959583878517151, + "time": 26404016 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 2.9779915809631348, + "time": 26404018 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.985113620758057, + "time": 26404020 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 7.046215534210205, + "time": 26404022 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 9.011902809143066, + "time": 26404024 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 10.121142387390137, + "time": 26404024 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 12.232421875, + "time": 26404028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 14.233081817626953, + "time": 26404030 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 16.23069953918457, + "time": 26404032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 18.2435245513916, + "time": 26404034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayText::Paint", + "line": 4537 + } + ], + "responsiveness": 20.237342834472656, + "time": 26404036 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 22.226598739624023, + "time": 26404038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.2250409722328186, + "time": 26404040 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 2.231022834777832, + "time": 26404042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 4.232442855834961, + "time": 26404044 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 6.3596882820129395, + "time": 26404046 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16679 + } + ], + "responsiveness": 8.200691223144531, + "time": 26404048 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.012164377607405186, + "time": 26404050 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.058440685272217, + "time": 26404052 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.058440685272217, + "time": 26404052 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.058440685272217, + "time": 26404054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.188006401062012, + "time": 26404056 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.290543556213379, + "time": 26404058 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.290543556213379, + "time": 26404060 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1169817447662354, + "time": 26404062 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1169817447662354, + "time": 26404064 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.142630577087402, + "time": 26404066 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.142630577087402, + "time": 26404068 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.142630577087402, + "time": 26404070 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.006361961364746, + "time": 26404072 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.006361961364746, + "time": 26404074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.006361961364746, + "time": 26404076 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.006361961364746, + "time": 26404078 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.006361961364746, + "time": 26404080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.006361961364746, + "time": 26404082 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26404084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26404086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26404088 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.003780364990234, + "time": 26404090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.003780364990234, + "time": 26404090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.003780364990234, + "time": 26404092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0888516902923584, + "time": 26404094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26404096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26404098 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26404100 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26404100 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26404102 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0503180027008057, + "time": 26404104 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033111333847046, + "time": 26404106 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033111333847046, + "time": 26404108 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033111333847046, + "time": 26404110 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033111333847046, + "time": 26404112 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033111333847046, + "time": 26404114 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 1.0073624849319458, + "time": 26404116 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0696046352386475, + "time": 26404118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0696046352386475, + "time": 26404120 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.100194931030273, + "time": 26404122 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.100194931030273, + "time": 26404124 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.100194931030273, + "time": 26404126 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0561599731445312, + "time": 26404128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0561599731445312, + "time": 26404130 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0561599731445312, + "time": 26404132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0561599731445312, + "time": 26404134 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0561599731445312, + "time": 26404136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1096192598342896, + "time": 26404138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1096192598342896, + "time": 26404140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1096192598342896, + "time": 26404142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1096192598342896, + "time": 26404144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1096192598342896, + "time": 26404146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1096192598342896, + "time": 26404148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26404150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26404150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26404152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.455723285675049, + "time": 26404154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 7.603116035461426, + "time": 26404156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.690827369689941, + "time": 26404158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26404160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26404162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26404162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26404164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 7.36629056930542, + "time": 26404166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.42701244354248, + "time": 26404168 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.013304787687957287, + "time": 26404170 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26404172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26404174 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.133507251739502, + "time": 26404176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.133507251739502, + "time": 26404178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.133507251739502, + "time": 26404180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.117982268333435, + "time": 26404182 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.117982268333435, + "time": 26404184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 4.262093544006348, + "time": 26404186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.316732883453369, + "time": 26404188 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.316732883453369, + "time": 26404190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.316732883453369, + "time": 26404190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0073624849319458, + "time": 26404192 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0073624849319458, + "time": 26404194 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.989675521850586, + "time": 26404196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.989675521850586, + "time": 26404198 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.989675521850586, + "time": 26404200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.989675521850586, + "time": 26404202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26404204 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 3.2376251220703125, + "time": 26404206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.3344597816467285, + "time": 26404208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.3344597816467285, + "time": 26404210 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.3344597816467285, + "time": 26404212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.3344597816467285, + "time": 26404214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0328316688537598, + "time": 26404216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1125600337982178, + "time": 26404218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1125600337982178, + "time": 26404220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.089550971984863, + "time": 26404222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.089550971984863, + "time": 26404222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.089550971984863, + "time": 26404224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 0.014445197768509388, + "time": 26404226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1097590923309326, + "time": 26404228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1097590923309326, + "time": 26404228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1097590923309326, + "time": 26404230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1097590923309326, + "time": 26404232 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1097590923309326, + "time": 26404234 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 0.025849301367998123, + "time": 26404236 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0945537090301514, + "time": 26404238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0945537090301514, + "time": 26404240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0945537090301514, + "time": 26404242 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0945537090301514, + "time": 26404244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0945537090301514, + "time": 26404244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.344282150268555, + "time": 26404246 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0571603775024414, + "time": 26404248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0571603775024414, + "time": 26404250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0571603775024414, + "time": 26404250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0571603775024414, + "time": 26404252 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.29710578918457, + "time": 26404254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.288642883300781, + "time": 26404256 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.029410481452942, + "time": 26404258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.029410481452942, + "time": 26404260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.029410481452942, + "time": 26404262 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.029410481452942, + "time": 26404264 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.173320770263672, + "time": 26404266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.269394874572754, + "time": 26404268 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26404270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1209230422973633, + "time": 26404272 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1209230422973633, + "time": 26404274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.045074939727783, + "time": 26404276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.045074939727783, + "time": 26404278 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.045074939727783, + "time": 26404280 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.084290027618408, + "time": 26404282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.084290027618408, + "time": 26404282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 5.3226752281188965, + "time": 26404284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.421030521392822, + "time": 26404288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.421030521392822, + "time": 26404288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.421030521392822, + "time": 26404290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1134206056594849, + "time": 26404292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1134206056594849, + "time": 26404294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.27083683013916, + "time": 26404296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.27083683013916, + "time": 26404298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.27083683013916, + "time": 26404300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0, + "time": 26404302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9615057706832886, + "time": 26404304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9093267917633057, + "time": 26404306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9093267917633057, + "time": 26404308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9093267917633057, + "time": 26404308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9093267917633057, + "time": 26404310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9093267917633057, + "time": 26404312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0214275121688843, + "time": 26404314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 2.998138904571533, + "time": 26404316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.086230278015137, + "time": 26404318 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.095633506774902, + "time": 26404320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.095633506774902, + "time": 26404322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.03231162577867508, + "time": 26404324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0310709476470947, + "time": 26404326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0310709476470947, + "time": 26404328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0310709476470947, + "time": 26404330 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0310709476470947, + "time": 26404332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0310709476470947, + "time": 26404332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02356848120689392, + "time": 26404334 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1204030513763428, + "time": 26404336 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1204030513763428, + "time": 26404338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1204030513763428, + "time": 26404340 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1204030513763428, + "time": 26404342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1204030513763428, + "time": 26404344 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.414227485656738, + "time": 26404346 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26404348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26404348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26404350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26404350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26404352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + } + ], + "responsiveness": 8.447779655456543, + "time": 26404354 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": -0.02128766104578972, + "time": 26404356 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9979989528656006, + "time": 26404358 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9979989528656006, + "time": 26404360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9979989528656006, + "time": 26404362 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 7.204732418060303, + "time": 26404364 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.228960990905762, + "time": 26404366 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.228960990905762, + "time": 26404368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0496976375579834, + "time": 26404370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0496976375579834, + "time": 26404372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0496976375579834, + "time": 26404374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.1222429275512695, + "time": 26404376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.1222429275512695, + "time": 26404378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.1222429275512695, + "time": 26404380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0379133224487305, + "time": 26404382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0379133224487305, + "time": 26404384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0379133224487305, + "time": 26404386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.09045124053955, + "time": 26404388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.09045124053955, + "time": 26404390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.043095350265503, + "time": 26404392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.016385316848755, + "time": 26404394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26404396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26404398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26404400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.028449535369873, + "time": 26404402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051218032836914, + "time": 26404410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0195268392562866, + "time": 26404412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0195268392562866, + "time": 26404414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0195268392562866, + "time": 26404416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0195268392562866, + "time": 26404418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.997077941894531, + "time": 26404420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.997077941894531, + "time": 26404422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0325913429260254, + "time": 26404424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0325913429260254, + "time": 26404426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0325913429260254, + "time": 26404428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0325913429260254, + "time": 26404430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0325913429260254, + "time": 26404430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0325913429260254, + "time": 26404432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + } + ], + "responsiveness": 0.017106154933571815, + "time": 26404434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1006360054016113, + "time": 26404436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26404438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26404440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26404440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.391900062561035, + "time": 26404442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 10.336679458618164, + "time": 26404444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "SessionRecorder.prototype<.observe (resource://gre/components/DataReportingService.js:1944)", + "line": 1951 + }, + { + "location": "SessionRecorder.prototype<.onActivity (resource://gre/components/DataReportingService.js:1851)", + "line": 1858 + }, + { + "location": "SessionRecorder.prototype<.incrementActiveTicks (resource://gre/components/DataReportingService.js:1677)", + "line": 1678 + }, + { + "location": "js::RunScript" + }, + { + "location": "Preferences.prototype.set (resource://gre/modules/Preferences.jsm:98)", + "line": 105 + }, + { + "location": "Preferences.prototype._set (resource://gre/modules/Preferences.jsm:108)", + "line": 133 + } + ], + "responsiveness": 1.0438556671142578, + "time": 26404446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1140806674957275, + "time": 26404448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1140806674957275, + "time": 26404450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1140806674957275, + "time": 26404452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.267595291137695, + "time": 26404454 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 10.284220695495605, + "time": 26404456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 1.0525987148284912, + "time": 26404458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 3.0570600032806396, + "time": 26404460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 5.052778244018555, + "time": 26404462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.038232803344727, + "time": 26404464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 9.056379318237305, + "time": 26404466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 11.196168899536133, + "time": 26404468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + } + ], + "responsiveness": 13.204812049865723, + "time": 26404470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + } + ], + "responsiveness": 15.207752227783203, + "time": 26404472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + } + ], + "responsiveness": 17.179141998291016, + "time": 26404474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + } + ], + "responsiveness": 19.179040908813477, + "time": 26404476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 0.6158215999603271, + "time": 26404478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 2.6313068866729736, + "time": 26404480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 4.634627819061279, + "time": 26404482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.629965782165527, + "time": 26404484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.662557601928711, + "time": 26404486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.649911880493164, + "time": 26404488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9636467695236206, + "time": 26404490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9636467695236206, + "time": 26404492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9636467695236206, + "time": 26404494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9636467695236206, + "time": 26404496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9636467695236206, + "time": 26404498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9636467695236206, + "time": 26404498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0871912240982056, + "time": 26404500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0593409538269043, + "time": 26404502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0593409538269043, + "time": 26404504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0593409538269043, + "time": 26404506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0593409538269043, + "time": 26404508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0593409538269043, + "time": 26404510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26404512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26404514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26404516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26404518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26404520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26404522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16679 + } + ], + "responsiveness": 2.017765998840332, + "time": 26404524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.090271949768066, + "time": 26404526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.090271949768066, + "time": 26404528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.090271949768066, + "time": 26404528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.090271949768066, + "time": 26404532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.090271949768066, + "time": 26404532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26404536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26404536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26404538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26404538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.513023376464844, + "time": 26404540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.463885307312012, + "time": 26404542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.018246565014123917, + "time": 26404544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26404546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26404548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26404550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26404552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26404554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.025609016418457, + "time": 26404556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033491611480713, + "time": 26404558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033491611480713, + "time": 26404560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033491611480713, + "time": 26404560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + } + ], + "responsiveness": 8.052437782287598, + "time": 26404562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.107457160949707, + "time": 26404564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0780678987503052, + "time": 26404566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0780678987503052, + "time": 26404568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.084329605102539, + "time": 26404570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.084329605102539, + "time": 26404572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.084329605102539, + "time": 26404574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.084329605102539, + "time": 26404576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26404578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26404580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.994377136230469, + "time": 26404582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.055098533630371, + "time": 26404584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.058419227600098, + "time": 26404586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0860507488250732, + "time": 26404600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26404602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 4.221038818359375, + "time": 26404604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.313311576843262, + "time": 26404606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.313311576843262, + "time": 26404608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.313311576843262, + "time": 26404608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26404610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26404612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.197470188140869, + "time": 26404614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.197470188140869, + "time": 26404616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.197470188140869, + "time": 26404618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.197470188140869, + "time": 26404620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059061050415039, + "time": 26404622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.014864921569824, + "time": 26404624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.014864921569824, + "time": 26404626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.014864921569824, + "time": 26404628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.014864921569824, + "time": 26404628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.014864921569824, + "time": 26404630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + } + ], + "responsiveness": 1.040054202079773, + "time": 26404632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.111419677734375, + "time": 26404634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.080148220062256, + "time": 26404636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.080148220062256, + "time": 26404638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.080148220062256, + "time": 26404640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + } + ], + "responsiveness": 0.018626702949404716, + "time": 26404642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.114320755004883, + "time": 26404644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.114320755004883, + "time": 26404646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.114320755004883, + "time": 26404648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.114320755004883, + "time": 26404650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.114320755004883, + "time": 26404652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.381916046142578, + "time": 26404654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26404656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26404656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26404658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26404660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 8.334118843078613, + "time": 26404662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": -0.031171217560768127, + "time": 26404664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.99039626121521, + "time": 26404666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.99039626121521, + "time": 26404668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.021746635437012, + "time": 26404670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "MousePosTracker.handleEvent (chrome://browser/content/browser.js:16678)", + "line": 16679 + } + ], + "responsiveness": 7.935735702514648, + "time": 26404672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.040172576904297, + "time": 26404674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26404676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26404678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26404680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26404680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.246927738189697, + "time": 26404682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.246927738189697, + "time": 26404684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "f (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:815)", + "line": 821 + }, + { + "location": "Z (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:915)", + "line": 929 + }, + { + "location": "js::RunScript" + }, + { + "location": "G (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:6)", + "line": 6 + }, + { + "location": "E (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:6)", + "line": 6 + }, + { + "location": "EnterJIT" + }, + { + "location": "D.prototype.evaluate (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:4)", + "line": 5 + }, + { + "location": "C (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:3)", + "line": 3 + }, + { + "location": "c (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:1219)", + "line": 1219 + }, + { + "location": "k (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:1203)", + "line": 1206 + }, + { + "location": "f (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:1185)", + "line": 1199 + }, + { + "location": "a (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:1150)", + "line": 1174 + } + ], + "responsiveness": 0.02280820719897747, + "time": 26404686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "c (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:109)", + "line": 110 + }, + { + "location": "g (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:118)", + "line": 119 + }, + { + "location": "js::RunScript" + }, + { + "location": "_.T resource://gre/modules/devtools/toolkit/webconsole/utils.js:1343)", + "line": 1345 + } + ], + "responsiveness": 9.211854934692383, + "time": 26405316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 138.26905822753906, + "time": 26405456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 140.31646728515625, + "time": 26405458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 142.31370544433594, + "time": 26405460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 144.3147430419922, + "time": 26405462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 146.34088134765625, + "time": 26405464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 148.35826110839844, + "time": 26405466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 150.4033966064453, + "time": 26405468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 152.40406799316406, + "time": 26405470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2096 + }, + { + "location": "WCF__outputMessageFromQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2195)", + "line": 2200 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF_reportPageError (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1342)", + "line": 1370 + }, + { + "location": "WCF_createMessageNode (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2442)", + "line": 2526 + }, + { + "location": "js::RunScript" + }, + { + "location": "indexOf (self-hosted:755)", + "line": 755 + } + ], + "responsiveness": 1.1506741046905518, + "time": 26405568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2096 + }, + { + "location": "WCF__outputMessageFromQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2195)", + "line": 2213 + }, + { + "location": "WCF__filterRepeatedMessage (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1099)", + "line": 1119 + } + ], + "responsiveness": 3.2589128017425537, + "time": 26405570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 5.223079681396484, + "time": 26405572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 7.2286810874938965, + "time": 26405574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 534 + } + ], + "responsiveness": 9.216796875, + "time": 26405576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 0.0038013679441064596, + "time": 26405578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 2.0219476222991943, + "time": 26405580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 4.004361152648926, + "time": 26405582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 6.024407863616943, + "time": 26405584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 8.009861946105957, + "time": 26405586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 10.05955982208252, + "time": 26405588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 12.029048919677734, + "time": 26405590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 14.875513076782227, + "time": 26405592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 0.9963385462760925, + "time": 26405594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 2.998518943786621, + "time": 26405596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 4.997278213500977, + "time": 26405598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 7.003260135650635, + "time": 26405600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 9.004300117492676, + "time": 26405602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 0.004941778257489204, + "time": 26405604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.036012649536133, + "time": 26405606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.032110691070557, + "time": 26405608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.059760570526123, + "time": 26405610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + } + ], + "responsiveness": 8.025067329406738, + "time": 26405612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 10.024967193603516, + "time": 26405614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 0.9967186450958252, + "time": 26405616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 3.0361526012420654, + "time": 26405618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 5.129185676574707, + "time": 26405620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 7.046975612640381, + "time": 26405622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 8.989094734191895, + "time": 26405624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 0.014445197768509388, + "time": 26405626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045516014099121, + "time": 26405628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045516014099121, + "time": 26405630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.073825836181641, + "time": 26405632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.073825836181641, + "time": 26405634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.073825836181641, + "time": 26405636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0297905206680298, + "time": 26405638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 2.9836935997009277, + "time": 26405640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 4.987014293670654, + "time": 26405642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 6.030869960784912, + "time": 26405644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 8.062701225280762, + "time": 26405646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.186905860900879, + "time": 26405648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26405650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26405652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26405654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.375033855438232, + "time": 26405656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.375033855438232, + "time": 26405658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.016865849494934, + "time": 26405670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0544995069503784, + "time": 26405672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0426149368286133, + "time": 26405674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0426149368286133, + "time": 26405674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.200791358947754, + "time": 26405676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.200791358947754, + "time": 26405678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.200791358947754, + "time": 26405680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0335919857025146, + "time": 26405682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 3.0296902656555176, + "time": 26405684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 5.023507595062256, + "time": 26405686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 7.069784164428711, + "time": 26405688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.137727737426758, + "time": 26405690 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.137727737426758, + "time": 26405692 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.035252332687378, + "time": 26405694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.035252332687378, + "time": 26405696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.035252332687378, + "time": 26405698 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.035252332687378, + "time": 26405700 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.035252332687378, + "time": 26405702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.035252332687378, + "time": 26405704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1207830905914307, + "time": 26405706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3661112785339355, + "time": 26405706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3661112785339355, + "time": 26405708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3661112785339355, + "time": 26405710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.539532661437988, + "time": 26405712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26405714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26405716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26405718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26405718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26405720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0712255239486694, + "time": 26405722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.54371452331543, + "time": 26405724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04485614225268364, + "time": 26405726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26405728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26405728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26405730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26405732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26405734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0324515104293823, + "time": 26405746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.091132402420044, + "time": 26405748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.091132402420044, + "time": 26405750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.091132402420044, + "time": 26405752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.354366779327393, + "time": 26405754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.354366779327393, + "time": 26405756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.354366779327393, + "time": 26405758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0522186756134033, + "time": 26405760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0522186756134033, + "time": 26405762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0522186756134033, + "time": 26405764 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0522186756134033, + "time": 26405766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0522186756134033, + "time": 26405768 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0522186756134033, + "time": 26405770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.002560615539551, + "time": 26405772 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.002560615539551, + "time": 26405774 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.002560615539551, + "time": 26405776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.14709186553955, + "time": 26405778 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.14709186553955, + "time": 26405780 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26405782 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26405784 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1023967266082764, + "time": 26405786 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 7.0321502685546875, + "time": 26405788 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.143670082092285, + "time": 26405788 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 9.251008987426758, + "time": 26405790 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 1.0123043060302734, + "time": 26405792 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 3.0068819522857666, + "time": 26405794 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.005641460418701, + "time": 26405796 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.116540908813477, + "time": 26405798 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.15711498260498, + "time": 26405800 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.15711498260498, + "time": 26405802 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405804 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405806 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405806 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405808 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405810 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405810 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.11318039894104, + "time": 26405812 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26405814 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26405816 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26405818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26405818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.382636547088623, + "time": 26405820 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.382636547088623, + "time": 26405822 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26405824 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26405826 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26405828 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26405830 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26405830 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26405832 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.015205471776425838, + "time": 26405834 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405836 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405838 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405840 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405842 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405842 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405844 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26405846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1032967567443848, + "time": 26405848 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1032967567443848, + "time": 26405850 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1032967567443848, + "time": 26405852 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.226020336151123, + "time": 26405854 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.226020336151123, + "time": 26405854 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.226020336151123, + "time": 26405856 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405858 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405858 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405860 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405862 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405864 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405866 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26405868 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26405870 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26405872 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26405874 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26405876 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.191327095031738, + "time": 26405878 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.191327095031738, + "time": 26405878 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0896120071411133, + "time": 26405880 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0896120071411133, + "time": 26405882 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0896120071411133, + "time": 26405886 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.013283729553223, + "time": 26405886 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.013283729553223, + "time": 26405888 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405890 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405892 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405894 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405896 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405898 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405900 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26405902 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.091512680053711, + "time": 26405904 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.098634719848633, + "time": 26405906 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.098634719848633, + "time": 26405906 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.098634719848633, + "time": 26405908 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.098634719848633, + "time": 26405908 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.098634719848633, + "time": 26405910 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.098634719848633, + "time": 26405910 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9974789619445801, + "time": 26405912 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9974789619445801, + "time": 26405914 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9974789619445801, + "time": 26405916 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9974789619445801, + "time": 26405916 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9974789619445801, + "time": 26405918 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.122902870178223, + "time": 26405920 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.122902870178223, + "time": 26405922 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405924 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405926 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405928 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405930 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405932 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405932 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0812489986419678, + "time": 26405934 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26405936 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26405938 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26405940 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26405942 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.106718063354492, + "time": 26405944 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0191466808319092, + "time": 26405946 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0191466808319092, + "time": 26405948 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0191466808319092, + "time": 26405948 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0191466808319092, + "time": 26405950 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0191466808319092, + "time": 26405952 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.17080020904541, + "time": 26405954 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.17080020904541, + "time": 26405956 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405960 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405962 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405964 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405964 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1059577465057373, + "time": 26405966 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07578706741333, + "time": 26405968 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1095190048217773, + "time": 26405970 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1095190048217773, + "time": 26405972 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1095190048217773, + "time": 26405972 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1095190048217773, + "time": 26405974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1095190048217773, + "time": 26405974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1095190048217773, + "time": 26405976 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": -0.03307190164923668, + "time": 26405978 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9660674333572388, + "time": 26405980 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9660674333572388, + "time": 26405982 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9660674333572388, + "time": 26405982 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9660674333572388, + "time": 26405984 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 9.047636032104492, + "time": 26405986 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.01178424060344696, + "time": 26405988 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 2.0493173599243164, + "time": 26405990 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 4.046175956726074, + "time": 26405992 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 6.041513919830322, + "time": 26405994 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 8.021265983581543, + "time": 26405996 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 10.098713874816895, + "time": 26405998 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 0.39610254764556885, + "time": 26406000 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.4343960285186768, + "time": 26406004 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.4343960285186768, + "time": 26406006 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.4343960285186768, + "time": 26406008 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.4343960285186768, + "time": 26406010 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.4343960285186768, + "time": 26406010 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0107836723327637, + "time": 26406012 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0107836723327637, + "time": 26406014 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0107836723327637, + "time": 26406016 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0107836723327637, + "time": 26406018 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.044974327087402, + "time": 26406020 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.044974327087402, + "time": 26406022 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406024 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406026 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406030 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0389138460159302, + "time": 26406034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0489373207092285, + "time": 26406036 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0489373207092285, + "time": 26406038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0489373207092285, + "time": 26406040 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0489373207092285, + "time": 26406042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0489373207092285, + "time": 26406044 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0489373207092285, + "time": 26406046 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.108238697052002, + "time": 26406048 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.108238697052002, + "time": 26406050 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.108238697052002, + "time": 26406052 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.099574089050293, + "time": 26406054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.099574089050293, + "time": 26406054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406056 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406058 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406060 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406062 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406062 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406064 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406066 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.003941297531128, + "time": 26406068 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0493173599243164, + "time": 26406070 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080768585205078, + "time": 26406072 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080768585205078, + "time": 26406074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080768585205078, + "time": 26406074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.080768585205078, + "time": 26406076 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04713696241378784, + "time": 26406078 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1101393699645996, + "time": 26406080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1101393699645996, + "time": 26406082 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1101393699645996, + "time": 26406084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1101393699645996, + "time": 26406084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.429533004760742, + "time": 26406086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.429533004760742, + "time": 26406088 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406098 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0020406246185303, + "time": 26406098 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9693487882614136, + "time": 26406100 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 2.953662872314453, + "time": 26406102 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.006401538848877, + "time": 26406104 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.006401538848877, + "time": 26406108 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.006401538848877, + "time": 26406108 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.006401538848877, + "time": 26406110 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0926530361175537, + "time": 26406114 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0926530361175537, + "time": 26406116 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0926530361175537, + "time": 26406118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0926530361175537, + "time": 26406118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.296625137329102, + "time": 26406120 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.296625137329102, + "time": 26406122 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0835297107696533, + "time": 26406124 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0835297107696533, + "time": 26406126 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0835297107696533, + "time": 26406128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0835297107696533, + "time": 26406130 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0835297107696533, + "time": 26406132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0835297107696533, + "time": 26406132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0139646530151367, + "time": 26406134 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26406136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26406138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26406140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26406142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.010443210601807, + "time": 26406144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26406146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26406146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26406148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26406150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.248208045959473, + "time": 26406152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.248208045959473, + "time": 26406154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9124681949615479, + "time": 26406156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9124681949615479, + "time": 26406158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9124681949615479, + "time": 26406160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9124681949615479, + "time": 26406162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9124681949615479, + "time": 26406164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0005199909210205, + "time": 26406166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0005199909210205, + "time": 26406168 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.022367477416992, + "time": 26406170 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.022367477416992, + "time": 26406172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.022367477416992, + "time": 26406174 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.022367477416992, + "time": 26406176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.022367477416992, + "time": 26406176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26406180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26406182 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26406184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26406184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26406186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.016345882788300514, + "time": 26406188 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.052358627319336, + "time": 26406190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.052358627319336, + "time": 26406192 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.052358627319336, + "time": 26406192 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.052358627319336, + "time": 26406194 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.052358627319336, + "time": 26406196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.052358627319336, + "time": 26406198 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0153453350067139, + "time": 26406200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0153453350067139, + "time": 26406202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.98891544342041, + "time": 26406204 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.98891544342041, + "time": 26406206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.98891544342041, + "time": 26406206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.98891544342041, + "time": 26406208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1233042478561401, + "time": 26406210 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1233042478561401, + "time": 26406212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1233042478561401, + "time": 26406214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1233042478561401, + "time": 26406214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1233042478561401, + "time": 26406216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1233042478561401, + "time": 26406218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.433614730834961, + "time": 26406220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26406232 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26406234 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.10205602645874, + "time": 26406236 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.10205602645874, + "time": 26406238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.10205602645874, + "time": 26406240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.10205602645874, + "time": 26406240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.10205602645874, + "time": 26406242 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0265092849731445, + "time": 26406244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0265092849731445, + "time": 26406246 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0265092849731445, + "time": 26406248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0265092849731445, + "time": 26406250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0265092849731445, + "time": 26406252 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.039914362132549286, + "time": 26406254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1561357975006104, + "time": 26406256 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1561357975006104, + "time": 26406258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1561357975006104, + "time": 26406258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1561357975006104, + "time": 26406260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1561357975006104, + "time": 26406262 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1561357975006104, + "time": 26406264 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26406266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26406268 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.107137680053711, + "time": 26406270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.107137680053711, + "time": 26406272 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.107137680053711, + "time": 26406274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.107137680053711, + "time": 26406276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0504579544067383, + "time": 26406278 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.073545932769775, + "time": 26406280 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.073545932769775, + "time": 26406282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.073545932769775, + "time": 26406284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.264833450317383, + "time": 26406286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.048797369003296, + "time": 26406298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0689446926116943, + "time": 26406300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0578203201293945, + "time": 26406302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0578203201293945, + "time": 26406304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.0998148918151855, + "time": 26406306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.0998148918151855, + "time": 26406308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9739104509353638, + "time": 26406310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9739104509353638, + "time": 26406312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.023507595062256, + "time": 26406314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.023507595062256, + "time": 26406314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.023507595062256, + "time": 26406316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + } + ], + "responsiveness": 10.615699768066406, + "time": 26406320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0427151918411255, + "time": 26406320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0427151918411255, + "time": 26406322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0427151918411255, + "time": 26406324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0427151918411255, + "time": 26406326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0427151918411255, + "time": 26406328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0427151918411255, + "time": 26406330 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1050575971603394, + "time": 26406332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1050575971603394, + "time": 26406334 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1050575971603394, + "time": 26406336 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.110458850860596, + "time": 26406338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.110458850860596, + "time": 26406340 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.110458850860596, + "time": 26406342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406344 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406346 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0890918970108032, + "time": 26406352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1088590621948242, + "time": 26406354 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1088590621948242, + "time": 26406356 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1088590621948242, + "time": 26406358 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1088590621948242, + "time": 26406360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1088590621948242, + "time": 26406362 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9773316979408264, + "time": 26406364 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9773316979408264, + "time": 26406366 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9773316979408264, + "time": 26406368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 6.116400718688965, + "time": 26406370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 8.144050598144531, + "time": 26406372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.204011917114258, + "time": 26406374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1080987453460693, + "time": 26406376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1080987453460693, + "time": 26406378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1080987453460693, + "time": 26406380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.061420917510986, + "time": 26406382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.061420917510986, + "time": 26406384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.061420917510986, + "time": 26406386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "layout::Flush (Flush_InterruptibleLayout)", + "line": 3969 + } + ], + "responsiveness": 2.051978349685669, + "time": 26406388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.016905307769775, + "time": 26406390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.020606517791748, + "time": 26406392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.01822566986084, + "time": 26406394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 10.016984939575195, + "time": 26406396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 1.046136498451233, + "time": 26406398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 3.015244960784912, + "time": 26406400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.0485968589782715, + "time": 26406402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 7.03937292098999, + "time": 26406404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsCSSRendering::PaintBackground", + "line": 1350 + } + ], + "responsiveness": 9.06778335571289, + "time": 26406406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 0.6287462711334229, + "time": 26406408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 2.8331594467163086, + "time": 26406410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 365 + }, + { + "location": "PreviewController.prototype.onTabPaint (resource://app/modules/WindowsPreviewPerTab.jsm:261)", + "line": 262 + } + ], + "responsiveness": 4.647932529449463, + "time": 26406412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + } + ], + "responsiveness": 6.644791126251221, + "time": 26406414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 8.622262954711914, + "time": 26406416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04789723455905914, + "time": 26406418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0443756580352783, + "time": 26406420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26406422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26406422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26406424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26406426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26406428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.042335033416748, + "time": 26406430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.042335033416748, + "time": 26406432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.042335033416748, + "time": 26406434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.042335033416748, + "time": 26406436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.054098129272461, + "time": 26406438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.054098129272461, + "time": 26406440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1035370826721191, + "time": 26406442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1035370826721191, + "time": 26406442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1035370826721191, + "time": 26406446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1035370826721191, + "time": 26406446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1035370826721191, + "time": 26406448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.013304787687957287, + "time": 26406450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2308828830718994, + "time": 26406452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2308828830718994, + "time": 26406454 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2308828830718994, + "time": 26406456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2308828830718994, + "time": 26406458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2308828830718994, + "time": 26406460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2308828830718994, + "time": 26406462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26406464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26406466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.321915149688721, + "time": 26406468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.321915149688721, + "time": 26406470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.321915149688721, + "time": 26406470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.321915149688721, + "time": 26406472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26406474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26406474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26406476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26406478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26406478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26406480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.54371452331543, + "time": 26406482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.08971228450536728, + "time": 26406484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.08971228450536728, + "time": 26406486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.08971228450536728, + "time": 26406488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.08971228450536728, + "time": 26406490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.08971228450536728, + "time": 26406490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.185105323791504, + "time": 26406492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.185105323791504, + "time": 26406494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0484172105789185, + "time": 26406496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0484172105789185, + "time": 26406498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0484172105789185, + "time": 26406500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.093732833862305, + "time": 26406502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.093732833862305, + "time": 26406504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.093732833862305, + "time": 26406506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9637866020202637, + "time": 26406508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-004.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 3.911607503890991, + "time": 26406510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-004.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 5.912267684936523, + "time": 26406512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-004.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 7.914447784423828, + "time": 26406514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-004.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 9.916248321533203, + "time": 26406516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-004.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 0.9818933010101318, + "time": 26406518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-004.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 2.998138904571533, + "time": 26406520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + } + ], + "responsiveness": 5.0311102867126465, + "time": 26406522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + } + ], + "responsiveness": 7.024927616119385, + "time": 26406524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 53 + } + ], + "responsiveness": 9.086790084838867, + "time": 26406526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 53 + } + ], + "responsiveness": 11.20111083984375, + "time": 26406528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 54 + }, + { + "location": "EnterJIT" + }, + { + "location": "CVUtils.computeGray (http://barcode.oberhofer.dev/js/cv_utils.js:657)", + "line": 663 + } + ], + "responsiveness": 13.197209358215332, + "time": 26406530 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 210 + }, + { + "location": "initArray (http://barcode.oberhofer.dev/js/typedefs.js:186)", + "line": 187 + } + ], + "responsiveness": 15.182662963867188, + "time": 26406532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)", + "line": 70 + } + ], + "responsiveness": 17.184083938598633, + "time": 26406534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 19.19690704345703, + "time": 26406536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 20.239622116088867, + "time": 26406536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 22.24028205871582, + "time": 26406538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 24.28656005859375, + "time": 26406540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 26.28683853149414, + "time": 26406542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 28.28445816040039, + "time": 26406544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 30.271053314208984, + "time": 26406546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 32.271331787109375, + "time": 26406548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "skeletonize (http://barcode.oberhofer.dev/js/barcode_locator.js:342)", + "line": 344 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 34.27275085449219, + "time": 26406550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 36.28671646118164, + "time": 26406552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 219 + }, + { + "location": "ImageWrapper.prototype.moments (http://barcode.oberhofer.dev/js/image_wrapper.js:279)", + "line": 280 + } + ], + "responsiveness": 38.2930793762207, + "time": 26406554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 40.277774810791016, + "time": 26406556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 42.295921325683594, + "time": 26406558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "ImageWrapper.prototype.subImageAsCopy (http://barcode.oberhofer.dev/js/image_wrapper.js:167)" + } + ], + "responsiveness": 44.34333801269531, + "time": 26406560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 46.34437561035156, + "time": 26406562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 48.436649322509766, + "time": 26406564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 50.464298248291016, + "time": 26406566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 52.482444763183594, + "time": 26406570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 54.528343200683594, + "time": 26406572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 56.52748107910156, + "time": 26406574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "ImageWrapper.prototype.subImageAsCopy (http://barcode.oberhofer.dev/js/image_wrapper.js:167)" + } + ], + "responsiveness": 58.57109451293945, + "time": 26406576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 222 + }, + { + "location": "extractPatches (http://barcode.oberhofer.dev/js/barcode_locator.js:367)", + "line": 379 + } + ], + "responsiveness": 60.55768966674805, + "time": 26406578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 219 + }, + { + "location": "ImageWrapper.prototype.moments (http://barcode.oberhofer.dev/js/image_wrapper.js:279)" + } + ], + "responsiveness": 62.57697677612305, + "time": 26406580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 64.57535552978516, + "time": 26406582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 219 + }, + { + "location": "ImageWrapper.prototype.moments (http://barcode.oberhofer.dev/js/image_wrapper.js:279)" + } + ], + "responsiveness": 66.57563781738281, + "time": 26406584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 68.57819366455078, + "time": 26406586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 70.62105560302734, + "time": 26406588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 72.66694641113281, + "time": 26406590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 74.6679916381836, + "time": 26406592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 76.66712951660156, + "time": 26406594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 78.7099838256836, + "time": 26406596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 268 + }, + { + "location": "BarcodeDecoder.create/<.decodeFromBoundingBoxes (http://barcode.oberhofer.dev/js/barcode_decoder.js:166)", + "line": 170 + }, + { + "location": "decodeFromBoundingBox (http://barcode.oberhofer.dev/js/barcode_decoder.js:55)", + "line": 56 + }, + { + "location": "layout::Flush (Flush_Style)", + "line": 3969 + }, + { + "location": "CSS::ProcessRestyles", + "line": 137 + }, + { + "location": "CSS::ComputeStyleChangeFor", + "line": 2902 + }, + { + "location": "nsStyleSet::FileRules", + "line": 943 + } + ], + "responsiveness": 80.75360107421875, + "time": 26406598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 268 + }, + { + "location": "BarcodeDecoder.create/<.decodeFromBoundingBoxes (http://barcode.oberhofer.dev/js/barcode_decoder.js:166)", + "line": 170 + }, + { + "location": "decodeFromBoundingBox (http://barcode.oberhofer.dev/js/barcode_decoder.js:55)", + "line": 138 + }, + { + "location": "EnterJIT" + }, + { + "location": "decodeFromBoundingBox (http://barcode.oberhofer.dev/js/barcode_decoder.js:55)", + "line": 138 + }, + { + "location": "js::RunScript" + }, + { + "location": "BarcodeReader.create/that.decodePattern (http://barcode.oberhofer.dev/js/barcode_reader.js:123)", + "line": 128 + }, + { + "location": "EnterJIT" + }, + { + "location": "Code128Reader.create/that.decode (http://barcode.oberhofer.dev/js/code_128_reader.js:139)", + "line": 175 + }, + { + "location": "Code128Reader.create/that.decodeCode (http://barcode.oberhofer.dev/js/code_128_reader.js:6)", + "line": 24 + }, + { + "location": "BarcodeReader.create/that.matchPattern (http://barcode.oberhofer.dev/js/barcode_reader.js:20)", + "line": 21 + } + ], + "responsiveness": 82.7839126586914, + "time": 26406600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 84.78646850585938, + "time": 26406602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 86.79739379882812, + "time": 26406604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 88.8451919555664, + "time": 26406606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 90.89260864257812, + "time": 26406608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + }, + { + "location": "js::RunScript" + } + ], + "responsiveness": 1.536512851715088, + "time": 26406610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.6401898860931396, + "time": 26406612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.6401898860931396, + "time": 26406614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.711834907531738, + "time": 26406616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.711834907531738, + "time": 26406618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26406630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26406630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26406634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26406636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26406638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26406640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0936535596847534, + "time": 26406640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0697048902511597, + "time": 26406642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0697048902511597, + "time": 26406644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0697048902511597, + "time": 26406644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0697048902511597, + "time": 26406646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.339301109313965, + "time": 26406648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.339301109313965, + "time": 26406650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.339301109313965, + "time": 26406652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26406654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26406656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.079007625579834, + "time": 26406658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.079007625579834, + "time": 26406658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.079007625579834, + "time": 26406660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.079007625579834, + "time": 26406662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 0.9982392191886902, + "time": 26406664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2146 + } + ], + "responsiveness": 2.9969985485076904, + "time": 26406666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.066843032836914, + "time": 26406668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.066843032836914, + "time": 26406670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.066843032836914, + "time": 26406672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.002660957630723715, + "time": 26406674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 1.0491775274276733, + "time": 26406674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 2.091512680053711, + "time": 26406676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.182645320892334, + "time": 26406678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.182645320892334, + "time": 26406678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.182645320892334, + "time": 26406680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.182645320892334, + "time": 26406682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.182645320892334, + "time": 26406684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2084548473358154, + "time": 26406686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2084548473358154, + "time": 26406688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "f (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:815)", + "line": 821 + }, + { + "location": "Z (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:915)", + "line": 930 + }, + { + "location": "gadgets.rpc resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 148.21267700195312, + "time": 26408072 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 150.2110595703125, + "time": 26408074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 152.25619506835938, + "time": 26408078 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 154.30133056640625, + "time": 26408080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 156.30616760253906, + "time": 26408082 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 158.3072052001953, + "time": 26408084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 160.3998565673828, + "time": 26408086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 162.40318298339844, + "time": 26408088 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 164.44717407226562, + "time": 26408090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2096 + }, + { + "location": "WCF__outputMessageFromQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2195)", + "line": 2200 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF_logConsoleAPIMessage (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1181)", + "line": 1208 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.ConsoleGeneric.prototype<.render (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:1272)", + "line": 1324 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.Simple.prototype<.render (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:804)", + "line": 810 + }, + { + "location": "Widgets.MessageTimestamp.prototype<.render (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:1745)", + "line": 1747 + }, + { + "location": "js::RunScript" + }, + { + "location": "Widgets.BaseWidget.prototype.document (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:1637)", + "line": 1638 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.BaseMessage.prototype.document (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:402)", + "line": 403 + }, + { + "location": "js::RunScript" + } + ], + "responsiveness": 6.981212139129639, + "time": 26408284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 8.992515563964844, + "time": 26408286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2146 + } + ], + "responsiveness": 11.054377555847168, + "time": 26408290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 1.0240885019302368, + "time": 26408290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 3.0087826251983643, + "time": 26408292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 4.997278213500977, + "time": 26408294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 6.998318195343018, + "time": 26408296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 9.012283325195312, + "time": 26408298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 0.6021366715431213, + "time": 26408300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.6103992462158203, + "time": 26408302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.6452717781066895, + "time": 26408304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.6452717781066895, + "time": 26408308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.699049949645996, + "time": 26408310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": ".doPingThings (https://slack.global.ssl.fastly.net/24420/js/rollup-secondary_required_1409187464.https.gz.js:3854)", + "line": 3855 + } + ], + "responsiveness": 0.003421231172978878, + "time": 26408310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": ".doPingThings (https://slack.global.ssl.fastly.net/24420/js/rollup-secondary_required_1409187464.https.gz.js:3854)", + "line": 3855 + } + ], + "responsiveness": 2.005601644515991, + "time": 26408312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": ".doPingThings (https://slack.global.ssl.fastly.net/24420/js/rollup-secondary_required_1409187464.https.gz.js:3854)", + "line": 3855 + } + ], + "responsiveness": 4.007021903991699, + "time": 26408314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.028209209442139, + "time": 26408316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.028209209442139, + "time": 26408320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.028209209442139, + "time": 26408322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26408324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 3.010303258895874, + "time": 26408324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 5.028069496154785, + "time": 26408326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 7.024547576904297, + "time": 26408328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.042313575744629, + "time": 26408332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "autoSave/autoInterval< (http://localhost:4504/js/dillinger.js:489)", + "line": 491 + }, + { + "location": "saveFile (http://localhost:4504/js/dillinger.js:472)", + "line": 474 + }, + { + "location": "this.toString (http://localhost:4504/js/ace.js:1)", + "line": 1 + }, + { + "location": "this.getValue (http://localhost:4504/js/ace.js:1)", + "line": 1 + }, + { + "location": "this.getAllLines (http://localhost:4504/js/ace.js:1)", + "line": 1 + } + ], + "responsiveness": 0.008743146434426308, + "time": 26408332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "autoSave/autoInterval< (http://localhost:4504/js/dillinger.js:489)", + "line": 491 + }, + { + "location": "saveFile (http://localhost:4504/js/dillinger.js:472)", + "line": 474 + }, + { + "location": "updateUserProfile (http://localhost:4504/js/dillinger.js:155)", + "line": 157 + }, + { + "location": "v.fn.extend (http://localhost:4504/js/jquery.min.js:2)", + "line": 2 + } + ], + "responsiveness": 2.0949337482452393, + "time": 26408336 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "autoSave/autoInterval< (http://localhost:4504/js/dillinger.js:489)", + "line": 492 + }, + { + "location": "LocalFiles resource://gre/modules/devtools/toolkit/webconsole/utils.js:1343)", + "line": 1358 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCA_onConsoleAPICall (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1167)", + "line": 1172 + }, + { + "location": "WCA_prepareConsoleMessageForRemote (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1316)", + "line": 1318 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCU_cloneObject (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/utils.js:81)", + "line": 101 + } + ], + "responsiveness": 2.7936253547668457, + "time": 26408968 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 155.9427490234375, + "time": 26409130 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 157.94911193847656, + "time": 26409132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 159.9965362548828, + "time": 26409136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 161.9960479736328, + "time": 26409138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 163.9818878173828, + "time": 26409140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 166.0011749267578, + "time": 26409142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 168.094970703125, + "time": 26409144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2096 + }, + { + "location": "WCF__outputMessageFromQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2195)", + "line": 2200 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF_logConsoleAPIMessage (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1181)", + "line": 1208 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.ConsoleGeneric.prototype<.render (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:1272)", + "line": 1280 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.Simple.prototype<._renderLocation (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:918)", + "line": 931 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF_createLocationNode (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2582)", + "line": 2644 + } + ], + "responsiveness": 7.0161848068237305, + "time": 26409368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 9.031290054321289, + "time": 26409370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 0.006842462345957756, + "time": 26409372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 2.0592010021209717, + "time": 26409374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.030590534210205, + "time": 26409376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.019845962524414, + "time": 26409378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 8.03381061553955, + "time": 26409380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 10.024967193603516, + "time": 26409382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 1.0145851373672485, + "time": 26409384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 3.0365326404571533, + "time": 26409386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 5.83928108215332, + "time": 26409388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 7.041653633117676, + "time": 26409390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 9.019505500793457, + "time": 26409392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "js::RunScript" + }, + { + "location": "mTabProgressListener/<.onStateChange (chrome://browser/content/tabbrowser.xml:577)", + "line": 684 + }, + { + "location": "mTabProgressListener/<._callProgressListeners (chrome://browser/content/tabbrowser.xml:528)", + "line": 530 + }, + { + "location": "js::RunScript" + }, + { + "location": "_callProgressListeners (chrome://browser/content/tabbrowser.xml:459)", + "line": 467 + }, + { + "location": "js::RunScript" + }, + { + "location": "forEach (self-hosted:948)", + "line": 958 + } + ], + "responsiveness": -0.016345882788300514, + "time": 26409394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9941976070404053, + "time": 26409396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9941976070404053, + "time": 26409398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9941976070404053, + "time": 26409400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9941976070404053, + "time": 26409402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.061460494995117, + "time": 26409404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.067804217338562, + "time": 26409406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.067804217338562, + "time": 26409408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.067804217338562, + "time": 26409408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.080528259277344, + "time": 26409410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.154034614562988, + "time": 26409410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 8.238704681396484, + "time": 26409412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 10.239364624023438, + "time": 26409414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + } + ], + "responsiveness": 1.0297905206680298, + "time": 26409416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 3.0395736694335938, + "time": 26409418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053158283233643, + "time": 26409420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053158283233643, + "time": 26409422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.053158283233643, + "time": 26409424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.29448413848877, + "time": 26409426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0237083435058594, + "time": 26409436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9910166263580322, + "time": 26409438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9910166263580322, + "time": 26409440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.073685646057129, + "time": 26409442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.073685646057129, + "time": 26409444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.073685646057129, + "time": 26409446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.009883556514978409, + "time": 26409448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26409450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26409452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26409454 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080868721008301, + "time": 26409456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.323995590209961, + "time": 26409458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.323995590209961, + "time": 26409460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.073506236076355, + "time": 26409472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.095554232597351, + "time": 26409472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26409474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26409476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26409476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26409478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26409480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1041970252990723, + "time": 26409482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0158653259277344, + "time": 26409484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0158653259277344, + "time": 26409486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0158653259277344, + "time": 26409486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0158653259277344, + "time": 26409488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0158653259277344, + "time": 26409490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.222258567810059, + "time": 26409492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0438556671142578, + "time": 26409494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.071885347366333, + "time": 26409496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.071885347366333, + "time": 26409498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.071885347366333, + "time": 26409500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.071885347366333, + "time": 26409502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.071885347366333, + "time": 26409504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.065523386001587, + "time": 26409506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.065523386001587, + "time": 26409508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.096874237060547, + "time": 26409510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.096874237060547, + "time": 26409512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.096874237060547, + "time": 26409514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.096874237060547, + "time": 26409514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0985952615737915, + "time": 26409516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0985952615737915, + "time": 26409518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0985952615737915, + "time": 26409520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0985952615737915, + "time": 26409522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.116440773010254, + "time": 26409524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.116440773010254, + "time": 26409526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409530 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1054377555847168, + "time": 26409538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0706050395965576, + "time": 26409540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109278678894043, + "time": 26409542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109278678894043, + "time": 26409544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109278678894043, + "time": 26409544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109278678894043, + "time": 26409546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.109278678894043, + "time": 26409548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.044755697250366, + "time": 26409550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.044755697250366, + "time": 26409552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.044755697250366, + "time": 26409554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.198650360107422, + "time": 26409556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.198650360107422, + "time": 26409556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.198650360107422, + "time": 26409558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9913967251777649, + "time": 26409570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9921570420265198, + "time": 26409572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0874710083007812, + "time": 26409574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0874710083007812, + "time": 26409574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0874710083007812, + "time": 26409576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0874710083007812, + "time": 26409578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0874710083007812, + "time": 26409580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.041054774075746536, + "time": 26409582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26409584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26409586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080108404159546, + "time": 26409588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.044454574584961, + "time": 26409590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.044454574584961, + "time": 26409592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0029406547546387, + "time": 26409594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0029406547546387, + "time": 26409596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.011483192443848, + "time": 26409598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.011483192443848, + "time": 26409598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.011483192443848, + "time": 26409600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.011483192443848, + "time": 26409602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1158413887023926, + "time": 26409604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.040093898773193, + "time": 26409606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.027068614959717, + "time": 26409608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.05091667175293, + "time": 26409610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 10.057278633117676, + "time": 26409612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 1.045376181602478, + "time": 26409614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 3.0293099880218506, + "time": 26409616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.04441499710083, + "time": 26409618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.119962215423584, + "time": 26409620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.082988739013672, + "time": 26409622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.082988739013672, + "time": 26409624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.062622308731079, + "time": 26409626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.062622308731079, + "time": 26409628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.062622308731079, + "time": 26409630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.062622308731079, + "time": 26409632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.062622308731079, + "time": 26409634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.020667314529419, + "time": 26409636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.020667314529419, + "time": 26409638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.091552257537842, + "time": 26409640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.091552257537842, + "time": 26409642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.091552257537842, + "time": 26409646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.091552257537842, + "time": 26409646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26409650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26409650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26409652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26409652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.113940715789795, + "time": 26409654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.618461608886719, + "time": 26409656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.004561641253530979, + "time": 26409658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0652830600738525, + "time": 26409660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0652830600738525, + "time": 26409660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0652830600738525, + "time": 26409662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0652830600738525, + "time": 26409664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0652830600738525, + "time": 26409666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (http://barcode.oberhofer.dev/)", + "line": 8360 + } + ], + "responsiveness": 10.417268753051758, + "time": 26409668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0814892053604126, + "time": 26409670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 3.0562996864318848, + "time": 26409672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.044795513153076, + "time": 26409674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.1525139808654785, + "time": 26409676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.139108657836914, + "time": 26409678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 10.138628005981445, + "time": 26409680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 1.0465165376663208, + "time": 26409682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 3.049077272415161, + "time": 26409684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.050497531890869, + "time": 26409686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.029869556427002, + "time": 26409688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsCSSRendering::PaintBackground", + "line": 1350 + } + ], + "responsiveness": 9.053717613220215, + "time": 26409690 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + } + ], + "responsiveness": 11.056658744812012, + "time": 26409692 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 1.5110437870025635, + "time": 26409694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 3.504100799560547, + "time": 26409696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.508182048797607, + "time": 26409698 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.5479960441589355, + "time": 26409700 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.5479960441589355, + "time": 26409702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.5479960441589355, + "time": 26409704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 1.9580845832824707, + "time": 26409706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 3.9325151443481445, + "time": 26409708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.025548458099365, + "time": 26409710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.025548458099365, + "time": 26409710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.025548458099365, + "time": 26409712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.025548458099365, + "time": 26409714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0382933616638184, + "time": 26409716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0382933616638184, + "time": 26409718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0382933616638184, + "time": 26409720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0382933616638184, + "time": 26409720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.279378890991211, + "time": 26409722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.279378890991211, + "time": 26409724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9554235935211182, + "time": 26409726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9554235935211182, + "time": 26409728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9554235935211182, + "time": 26409730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9554235935211182, + "time": 26409732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.034470558166504, + "time": 26409734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 1.0377734899520874, + "time": 26409736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 3.0467963218688965, + "time": 26409738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 5.191908359527588, + "time": 26409740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 7.159876346588135, + "time": 26409742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 9.257091522216797, + "time": 26409744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "za (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 11.245206832885742, + "time": 26409746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 13.25613021850586, + "time": 26409748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "za (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 15.252608299255371, + "time": 26409750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + } + ], + "responsiveness": 17.248327255249023, + "time": 26409752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + } + ], + "responsiveness": 19.464523315429688, + "time": 26409754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "za (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 21.253828048706055, + "time": 26409756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "za (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 23.25600814819336, + "time": 26409758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 25.287839889526367, + "time": 26409760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)" + } + ], + "responsiveness": 27.28241729736328, + "time": 26409762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "be/<.callback (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "_.dx (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=auth/exm=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_1:132)", + "line": 132 + }, + { + "location": "_.Xw (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=auth/exm=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_1:128)", + "line": 128 + }, + { + "location": "_.dx/< (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=auth/exm=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_1:132)", + "line": 132 + }, + { + "location": "_.T jar:file:///C:/Users/Christoph/AppData/Roaming/Mozilla/Firefox/Profiles/hrdbs1rb.default/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/bootstrap.js -> jar:file:///C:/Users/Christoph/AppData/Roaming/Mozilla/Firefox/Profiles/hrdbs1rb.default/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/lib/ui.js:887)", + "line": 889 + } + ], + "responsiveness": 8.009861946105957, + "time": 26409806 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-007.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 10.011662483215332, + "time": 26409808 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + } + ], + "responsiveness": 1.0172460079193115, + "time": 26409810 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + } + ], + "responsiveness": 3.050217628479004, + "time": 26409812 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 53 + } + ], + "responsiveness": 5.052017688751221, + "time": 26409814 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 54 + }, + { + "location": "EnterJIT" + }, + { + "location": "CVUtils.computeGray (http://barcode.oberhofer.dev/js/cv_utils.js:657)" + } + ], + "responsiveness": 7.147712230682373, + "time": 26409816 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 186 + }, + { + "location": "js::RunScript" + }, + { + "location": "CVUtils.otsuThreshold (http://barcode.oberhofer.dev/js/cv_utils.js:144)", + "line": 195 + }, + { + "location": "EnterJIT" + }, + { + "location": "determineThreshold (http://barcode.oberhofer.dev/js/cv_utils.js:168)", + "line": 187 + }, + { + "location": "mx (http://barcode.oberhofer.dev/js/cv_utils.js:157)" + } + ], + "responsiveness": 9.12822437286377, + "time": 26409818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 11.142950057983398, + "time": 26409820 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 13.146270751953125, + "time": 26409822 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 15.167078018188477, + "time": 26409824 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 17.14834976196289, + "time": 26409826 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 19.191205978393555, + "time": 26409828 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 21.19908905029297, + "time": 26409830 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 23.197467803955078, + "time": 26409832 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 25.182540893554688, + "time": 26409834 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 219 + }, + { + "location": "ImageWrapper.prototype.moments (http://barcode.oberhofer.dev/js/image_wrapper.js:279)", + "line": 344 + }, + { + "location": "vec2.create (http://barcode.oberhofer.dev/js/glMatrixAddon.js:248)", + "line": 252 + } + ], + "responsiveness": 27.199928283691406, + "time": 26409836 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 29.20058822631836, + "time": 26409838 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "ImageWrapper.prototype.subImageAsCopy (http://barcode.oberhofer.dev/js/image_wrapper.js:167)" + } + ], + "responsiveness": 31.20086669921875, + "time": 26409840 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 33.201908111572266, + "time": 26409842 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 35.2310791015625, + "time": 26409844 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 37.24922561645508, + "time": 26409846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 39.24684143066406, + "time": 26409848 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 41.24978256225586, + "time": 26409850 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 43.29263687133789, + "time": 26409852 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 45.321807861328125, + "time": 26409854 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 47.3369140625, + "time": 26409856 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 49.38166809082031, + "time": 26409858 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 51.37016677856445, + "time": 26409860 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 53.38679122924805, + "time": 26409862 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 55.36958312988281, + "time": 26409864 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsCSSRendering::PaintBackground", + "line": 1350 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 57.38621139526367, + "time": 26409866 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 1.4616259336471558, + "time": 26409868 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 153.41294860839844, + "time": 26410030 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 155.44781494140625, + "time": 26410032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 157.46368408203125, + "time": 26410034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 159.4613037109375, + "time": 26410036 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 161.46310424804688, + "time": 26410038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 163.52001953125, + "time": 26410042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 165.49179077148438, + "time": 26410042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1396)", + "line": 1403 + }, + { + "location": "CPL__checkFileActivity (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/network-monitor.js:1418)", + "line": 1426 + } + ], + "responsiveness": 167.6897430419922, + "time": 26410046 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "_events resource://gre/modules/devtools/DevToolsUtils.js:82)", + "line": 84 + }, + { + "location": "js::RunScript" + }, + { + "location": "LDT_send/< (resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:273)", + "line": 279 + }, + { + "location": "js::RunScript" + }, + { + "location": "DebuggerClient.prototype.onPacket (resource://gre/modules/devtools/dbg-client.jsm:675)", + "line": 680 + } + ], + "responsiveness": 0.09275337308645248, + "time": 26410132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 534 + } + ], + "responsiveness": 2.288043260574341, + "time": 26410134 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 3.336460590362549, + "time": 26410136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 5.372093200683594, + "time": 26410138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 7.463985919952393, + "time": 26410140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 9.467686653137207, + "time": 26410142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 1.0191466808319092, + "time": 26410144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 3.0258889198303223, + "time": 26410146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 4.067083358764648, + "time": 26410146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 6.072305202484131, + "time": 26410148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Input::nsInputStreamPump::OnInputStreamReady", + "line": 403 + }, + { + "location": "Input::nsInputStreamPump::OnStateTransfer", + "line": 677 + } + ], + "responsiveness": 8.099954605102539, + "time": 26410150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::RunCycleCollectorSlice", + "line": 1952 + }, + { + "location": "CC::nsCycleCollector_collectSlice", + "line": 3872 + } + ], + "responsiveness": 10.647631645202637, + "time": 26410152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::RunCycleCollectorSlice", + "line": 1952 + }, + { + "location": "CC::nsCycleCollector_collectSlice", + "line": 3872 + } + ], + "responsiveness": 1.0183864831924438, + "time": 26410154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::RunCycleCollectorSlice", + "line": 1952 + }, + { + "location": "CC::nsCycleCollector_collectSlice", + "line": 3872 + } + ], + "responsiveness": 3.010303258895874, + "time": 26410156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::RunCycleCollectorSlice", + "line": 1952 + }, + { + "location": "CC::nsCycleCollector_collectSlice", + "line": 3872 + } + ], + "responsiveness": 5.012483596801758, + "time": 26410158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::RunCycleCollectorSlice", + "line": 1952 + }, + { + "location": "CC::nsCycleCollector_collectSlice", + "line": 3872 + } + ], + "responsiveness": 7.013904094696045, + "time": 26410160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.025967597961426, + "time": 26410162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.004561641253530979, + "time": 26410164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 2.0105435848236084, + "time": 26410166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.05605936050415, + "time": 26410168 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 6.150233268737793, + "time": 26410170 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 8.136828422546387, + "time": 26410172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": -0.0030410944018512964, + "time": 26410174 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 1.9979989528656006, + "time": 26410176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 4.012343883514404, + "time": 26410178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowOuter::Paint", + "line": 2856 + } + ], + "responsiveness": 5.999318599700928, + "time": 26410180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowInner::Paint", + "line": 2942 + } + ], + "responsiveness": 9.000879287719727, + "time": 26410184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowInner::Paint", + "line": 2942 + } + ], + "responsiveness": 11.018264770507812, + "time": 26410186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayBoxShadowInner::Paint", + "line": 2942 + } + ], + "responsiveness": 13.020065307617188, + "time": 26410188 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "image::imgFrame::Draw", + "line": 486 + }, + { + "location": "gfxUtils::DrawPixelSnapped", + "line": 511 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 16.021625518798828, + "time": 26410190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsCSSRendering::PaintBackground", + "line": 1350 + }, + { + "location": "gfxContext::Fill", + "line": 357 + } + ], + "responsiveness": 19.0235652923584, + "time": 26410194 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 21.266752243041992, + "time": 26410196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 23.02716636657715, + "time": 26410198 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 25.039230346679688, + "time": 26410200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + } + ], + "responsiveness": 27.03190803527832, + "time": 26410202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 1.3722938299179077, + "time": 26410204 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 3.357368230819702, + "time": 26410206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 5.374373912811279, + "time": 26410208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 7.3404412269592285, + "time": 26410210 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 9.400022506713867, + "time": 26410212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2096 + }, + { + "location": "WCF__outputMessageFromQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2195)", + "line": 2200 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF_logConsoleAPIMessage (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1181)", + "line": 1208 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.ConsoleGeneric.prototype<.render (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:1272)", + "line": 1324 + }, + { + "location": "js::RunScript" + }, + { + "location": "Messages.Simple.prototype<.render (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js:804)", + "line": 818 + } + ], + "responsiveness": 1.0054618120193481, + "time": 26410214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 3.0144846439361572, + "time": 26410216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 4.05910062789917, + "time": 26410216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.10005521774292, + "time": 26410218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 7.142770290374756, + "time": 26410220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 8.1889066696167, + "time": 26410220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 10.190707206726074, + "time": 26410222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 1.0575405359268188, + "time": 26410224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.173762083053589, + "time": 26410226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.173762083053589, + "time": 26410228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.230201721191406, + "time": 26410230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.230201721191406, + "time": 26410234 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02166779711842537, + "time": 26410236 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0934133529663086, + "time": 26410238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0934133529663086, + "time": 26410238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0934133529663086, + "time": 26410240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0934133529663086, + "time": 26410242 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.28484058380127, + "time": 26410244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.28484058380127, + "time": 26410246 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410252 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0894720554351807, + "time": 26410256 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.992677092552185, + "time": 26410258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.037432670593262, + "time": 26410260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.037432670593262, + "time": 26410262 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.037432670593262, + "time": 26410264 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.037432670593262, + "time": 26410266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410268 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410272 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.25352954864502, + "time": 26410276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.25352954864502, + "time": 26410278 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410280 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0928932428359985, + "time": 26410290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26410292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0566799640655518, + "time": 26410294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0566799640655518, + "time": 26410296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0566799640655518, + "time": 26410296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0566799640655518, + "time": 26410298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.013684924691915512, + "time": 26410300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9679681062698364, + "time": 26410302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9679681062698364, + "time": 26410304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9679681062698364, + "time": 26410306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9679681062698364, + "time": 26410308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.022686958312988, + "time": 26410310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0305508375167847, + "time": 26410312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.133467435836792, + "time": 26410314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.133467435836792, + "time": 26410316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.2910237312316895, + "time": 26410318 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.2910237312316895, + "time": 26410320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.2910237312316895, + "time": 26410322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26410324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3393619060516357, + "time": 26410326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3393619060516357, + "time": 26410328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3393619060516357, + "time": 26410328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3393619060516357, + "time": 26410332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3393619060516357, + "time": 26410332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410334 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.111799716949463, + "time": 26410338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.111799716949463, + "time": 26410338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.103236198425293, + "time": 26410342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.103236198425293, + "time": 26410342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Pb (https://s.ytimg.com/yts/jsbin/www-embed-player-vflOf2voo/www-embed-player.js:284)", + "line": 284 + } + ], + "responsiveness": 0.011404103599488735, + "time": 26410344 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Pb (https://s.ytimg.com/yts/jsbin/www-embed-player-vflOf2voo/www-embed-player.js:284)", + "line": 284 + } + ], + "responsiveness": 2.013204336166382, + "time": 26410346 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Pb (https://s.ytimg.com/yts/jsbin/www-embed-player-vflOf2voo/www-embed-player.js:284)", + "line": 284 + } + ], + "responsiveness": 4.007781982421875, + "time": 26410348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Ob (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:284)", + "line": 284 + } + ], + "responsiveness": 6.0232672691345215, + "time": 26410350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Ob (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:284)", + "line": 284 + } + ], + "responsiveness": 8.034951210021973, + "time": 26410352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Ob (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:284)", + "line": 284 + } + ], + "responsiveness": 10.014703750610352, + "time": 26410354 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "g.Ob (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:284)", + "line": 284 + }, + { + "location": "Fk (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:205)", + "line": 205 + }, + { + "location": "yk (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:202)", + "line": 202 + }, + { + "location": "fj (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:149)", + "line": 149 + }, + { + "location": "V (https://s.ytimg.com/yts/jsbin/www-embed-player-vflB0IoHq/www-embed-player.js:87)", + "line": 87 + } + ], + "responsiveness": 1.0138248205184937, + "time": 26410356 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0908923149108887, + "time": 26410360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0908923149108887, + "time": 26410360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0908923149108887, + "time": 26410362 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0908923149108887, + "time": 26410364 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0908923149108887, + "time": 26410366 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0908923149108887, + "time": 26410368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26410368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26410370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1138007640838623, + "time": 26410372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.3771748542785645, + "time": 26410374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.379734992980957, + "time": 26410376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.379734992980957, + "time": 26410378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.940218210220337, + "time": 26410380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.940218210220337, + "time": 26410382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.940218210220337, + "time": 26410384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.940218210220337, + "time": 26410386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.940218210220337, + "time": 26410388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9678282737731934, + "time": 26410390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9678282737731934, + "time": 26410392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9678282737731934, + "time": 26410394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.069784164428711, + "time": 26410396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.069784164428711, + "time": 26410398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.069784164428711, + "time": 26410400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26410402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26410404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26410404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26410406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.189146995544434, + "time": 26410408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.189146995544434, + "time": 26410410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.189146995544434, + "time": 26410412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0538790225982666, + "time": 26410414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0538790225982666, + "time": 26410416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0538790225982666, + "time": 26410418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0538790225982666, + "time": 26410420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0538790225982666, + "time": 26410422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.07882821559906, + "time": 26410424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0851900577545166, + "time": 26410426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0851900577545166, + "time": 26410426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0851900577545166, + "time": 26410428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0851900577545166, + "time": 26410430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0851900577545166, + "time": 26410432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0073624849319458, + "time": 26410434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0073624849319458, + "time": 26410434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.219518184661865, + "time": 26410436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.219518184661865, + "time": 26410438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.179783821105957, + "time": 26410440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 10.179682731628418, + "time": 26410442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 1.0503180027008057, + "time": 26410444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 3.0570600032806396, + "time": 26410446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 5.052398204803467, + "time": 26410448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.046595573425293, + "time": 26410450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 9.169659614562988, + "time": 26410452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.3132327198982239, + "time": 26410456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3522863388061523, + "time": 26410458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3522863388061523, + "time": 26410458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3522863388061523, + "time": 26410460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3522863388061523, + "time": 26410462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3522863388061523, + "time": 26410462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.3522863388061523, + "time": 26410464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26410466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26410466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26410468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26410470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26410472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0012803077697754, + "time": 26410474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.454522132873535, + "time": 26410476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1063380241394043, + "time": 26410490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26410492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26410492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26410494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26410494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26410496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.110038757324219, + "time": 26410498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26410500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26410502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26410504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26410506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.113919258117676, + "time": 26410508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26410510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26410512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26410514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26410516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26410518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26410520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9998996257781982, + "time": 26410522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9998996257781982, + "time": 26410524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.002359867095947, + "time": 26410526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.002359867095947, + "time": 26410528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.002359867095947, + "time": 26410528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.002359867095947, + "time": 26410530 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.049797918647527695, + "time": 26410532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26410534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056920051574707, + "time": 26410536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.116400718688965, + "time": 26410538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.116400718688965, + "time": 26410538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.36276912689209, + "time": 26410540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9358967542648315, + "time": 26410542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9358967542648315, + "time": 26410544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9358967542648315, + "time": 26410546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9358967542648315, + "time": 26410548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9358967542648315, + "time": 26410550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9358967542648315, + "time": 26410552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0313111543655396, + "time": 26410554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0313111543655396, + "time": 26410556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0820488929748535, + "time": 26410558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.287082195281982, + "time": 26410558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.287082195281982, + "time": 26410560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 10.208573341369629, + "time": 26410562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.040054202079773, + "time": 26410572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.619881629943848, + "time": 26410574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26410576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26410578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26410580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26410582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26410584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1084789037704468, + "time": 26410586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0721256732940674, + "time": 26410588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.03591251373291, + "time": 26410590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.03591251373291, + "time": 26410592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.03591251373291, + "time": 26410594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.03591251373291, + "time": 26410596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0221878290176392, + "time": 26410598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0221878290176392, + "time": 26410598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0221878290176392, + "time": 26410600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0221878290176392, + "time": 26410602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0221878290176392, + "time": 26410604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.335538864135742, + "time": 26410606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0837700366973877, + "time": 26410618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0727460384368896, + "time": 26410620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0727460384368896, + "time": 26410622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1204423904418945, + "time": 26410624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1204423904418945, + "time": 26410626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1204423904418945, + "time": 26410628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1204423904418945, + "time": 26410628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1204423904418945, + "time": 26410630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.044755697250366, + "time": 26410632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.044755697250366, + "time": 26410634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.044755697250366, + "time": 26410636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.219177722930908, + "time": 26410638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.219177722930908, + "time": 26410638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0, + "time": 26410640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.040194034576416, + "time": 26410642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.040194034576416, + "time": 26410644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.040194034576416, + "time": 26410644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.040194034576416, + "time": 26410646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.040194034576416, + "time": 26410648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "nsLayoutUtils::GetFrameForPoint", + "line": 2422 + }, + { + "location": "nsLayoutUtils::GetFramesForArea", + "line": 2435 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 9.368090629577637, + "time": 26410650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (http://barcode.oberhofer.dev/)", + "line": 8360 + } + ], + "responsiveness": 0.015965744853019714, + "time": 26410652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2293623685836792, + "time": 26410654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2293623685836792, + "time": 26410654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2293623685836792, + "time": 26410656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 5.497158050537109, + "time": 26410658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.610198497772217, + "time": 26410658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.697149276733398, + "time": 26410660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.0038013679441064596, + "time": 26410662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 1.9964784383773804, + "time": 26410664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 4.116501331329346, + "time": 26410666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.26071310043335, + "time": 26410668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.349184513092041, + "time": 26410670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 9.382535934448242, + "time": 26410672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsDisplayText::Paint", + "line": 4537 + } + ], + "responsiveness": 11.382055282592773, + "time": 26410674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + } + ], + "responsiveness": 13.386137008666992, + "time": 26410676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 1.5015403032302856, + "time": 26410678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 3.465327024459839, + "time": 26410680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 5.460664749145508, + "time": 26410682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.478811264038086, + "time": 26410684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.478811264038086, + "time": 26410686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0814892053604126, + "time": 26410688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.02170729637146, + "time": 26410690 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.02170729637146, + "time": 26410692 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.02170729637146, + "time": 26410694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.02170729637146, + "time": 26410694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.02170729637146, + "time": 26410696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.02170729637146, + "time": 26410698 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0544995069503784, + "time": 26410700 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0544995069503784, + "time": 26410702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0544995069503784, + "time": 26410704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0544995069503784, + "time": 26410706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.113779067993164, + "time": 26410708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.113779067993164, + "time": 26410710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.028409957885742, + "time": 26410712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.028409957885742, + "time": 26410714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.028409957885742, + "time": 26410714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.028409957885742, + "time": 26410716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.028409957885742, + "time": 26410718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000900149345398, + "time": 26410730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26410732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26410734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26410736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.200791358947754, + "time": 26410738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.398602485656738, + "time": 26410738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.398602485656738, + "time": 26410740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.398602485656738, + "time": 26410742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26410744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26410746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26410748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26410748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26410750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.084530234336853, + "time": 26410752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.050938330590724945, + "time": 26410754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26410756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26410756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26410758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26410760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26410762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0546393394470215, + "time": 26410764 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0556398630142212, + "time": 26410766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "f (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:815)", + "line": 821 + }, + { + "location": "Z (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:915)", + "line": 929 + }, + { + "location": "js::RunScript" + }, + { + "location": "G (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:6)", + "line": 6 + }, + { + "location": "E (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:6)", + "line": 6 + }, + { + "location": "D.prototype.evaluate (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:4)", + "line": 4 + }, + { + "location": "EnterJIT" + }, + { + "location": "D.prototype.evaluate (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:4)", + "line": 5 + }, + { + "location": "js::RunScript" + }, + { + "location": "C (https://ssl.gstatic.com/accounts/o/682094929-postmessagerelay.js:3)", + "line": 3 + } + ], + "responsiveness": 3.015625238418579, + "time": 26410768 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "c (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:109)", + "line": 109 + }, + { + "location": "af (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:30)", + "line": 30 + } + ], + "responsiveness": 4.992336273193359, + "time": 26410770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "c (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:109)", + "line": 110 + }, + { + "location": "g (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:118)", + "line": 119 + }, + { + "location": "js::RunScript" + }, + { + "location": "_.T resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2095 + }, + { + "location": "EnterJIT" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 2.0204269886016846, + "time": 26410952 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.06974458694458, + "time": 26410954 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.06974458694458, + "time": 26410956 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.06974458694458, + "time": 26410956 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.06974458694458, + "time": 26410958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 10.2515287399292, + "time": 26410960 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 1.003180980682373, + "time": 26410962 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1083784103393555, + "time": 26410964 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.241946220397949, + "time": 26410966 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.241946220397949, + "time": 26410966 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.241946220397949, + "time": 26410968 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.241946220397949, + "time": 26410970 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9615057706832886, + "time": 26410972 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9615057706832886, + "time": 26410974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.033911228179932, + "time": 26410976 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.033911228179932, + "time": 26410978 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.033911228179932, + "time": 26410980 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410982 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410984 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410984 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410986 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410988 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410990 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1027767658233643, + "time": 26410992 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410994 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410996 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.059821367263794, + "time": 26410998 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.065982818603516, + "time": 26411000 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.114540100097656, + "time": 26411002 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.114540100097656, + "time": 26411004 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0500776767730713, + "time": 26411006 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0500776767730713, + "time": 26411008 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0500776767730713, + "time": 26411010 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0500776767730713, + "time": 26411012 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0500776767730713, + "time": 26411014 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9982392191886902, + "time": 26411016 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9982392191886902, + "time": 26411018 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9982392191886902, + "time": 26411020 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9982392191886902, + "time": 26411022 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9982392191886902, + "time": 26411022 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.019265174865723, + "time": 26411024 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411026 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411030 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411036 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0301706790924072, + "time": 26411038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.069464683532715, + "time": 26411040 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.1012959480285645, + "time": 26411042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.1012959480285645, + "time": 26411044 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.1012959480285645, + "time": 26411046 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.1012959480285645, + "time": 26411048 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26411050 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26411050 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26411052 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26411054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1160815954208374, + "time": 26411056 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.323995590209961, + "time": 26411058 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0674240589141846, + "time": 26411060 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0674240589141846, + "time": 26411062 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.067983627319336, + "time": 26411064 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.067983627319336, + "time": 26411066 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.067983627319336, + "time": 26411068 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.067983627319336, + "time": 26411070 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0811090469360352, + "time": 26411070 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26411072 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26411074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26411076 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26411076 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26411078 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.093933343887329, + "time": 26411080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0647631883621216, + "time": 26411082 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0647631883621216, + "time": 26411084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0647631883621216, + "time": 26411086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0647631883621216, + "time": 26411088 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0647631883621216, + "time": 26411090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.3081693649292, + "time": 26411092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.082249402999878, + "time": 26411094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.082249402999878, + "time": 26411094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.082249402999878, + "time": 26411096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.082249402999878, + "time": 26411096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.082249402999878, + "time": 26411098 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.082249402999878, + "time": 26411100 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02432875521481037, + "time": 26411102 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2411465644836426, + "time": 26411104 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2411465644836426, + "time": 26411106 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.407686233520508, + "time": 26411108 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.407686233520508, + "time": 26411110 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.407686233520508, + "time": 26411112 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.407686233520508, + "time": 26411114 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26411116 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26411118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26411120 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.11874258518219, + "time": 26411122 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.320954322814941, + "time": 26411124 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411126 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411130 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411134 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9670680165290833, + "time": 26411136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.097975015640259, + "time": 26411138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.104336738586426, + "time": 26411140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.104336738586426, + "time": 26411140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.104336738586426, + "time": 26411142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.104336738586426, + "time": 26411144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.104336738586426, + "time": 26411146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0457563400268555, + "time": 26411148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0457563400268555, + "time": 26411150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0457563400268555, + "time": 26411152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0457563400268555, + "time": 26411152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0457563400268555, + "time": 26411154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.247207641601562, + "time": 26411156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.247207641601562, + "time": 26411158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0921330451965332, + "time": 26411168 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9811330437660217, + "time": 26411170 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9811330437660217, + "time": 26411172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.983973503112793, + "time": 26411174 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.983973503112793, + "time": 26411176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.983973503112793, + "time": 26411178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.983973503112793, + "time": 26411178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.104297399520874, + "time": 26411180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.104297399520874, + "time": 26411182 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.104297399520874, + "time": 26411184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.104297399520874, + "time": 26411184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.104297399520874, + "time": 26411186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.104297399520874, + "time": 26411188 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04675682634115219, + "time": 26411190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.074406385421753, + "time": 26411192 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.074406385421753, + "time": 26411196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.074406385421753, + "time": 26411196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.074406385421753, + "time": 26411200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.074406385421753, + "time": 26411200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.016345882788300514, + "time": 26411202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0485570430755615, + "time": 26411204 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 3.996758222579956, + "time": 26411206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.013383865356445, + "time": 26411208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 8.149372100830078, + "time": 26411210 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 10.138248443603516, + "time": 26411212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 1.0506980419158936, + "time": 26411214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 3.031970977783203, + "time": 26411216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.0478363037109375, + "time": 26411218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 6.156695365905762, + "time": 26411220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.232622146606445, + "time": 26411222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.22986125946045, + "time": 26411224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411232 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411234 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0723658800125122, + "time": 26411236 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.036012649536133, + "time": 26411238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26411240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26411240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26411242 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26411244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26411244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0100234746932983, + "time": 26411246 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0100234746932983, + "time": 26411248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0100234746932983, + "time": 26411250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0100234746932983, + "time": 26411252 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0100234746932983, + "time": 26411254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.027369849383831024, + "time": 26411256 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.086190700531006, + "time": 26411258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.086190700531006, + "time": 26411260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.086190700531006, + "time": 26411262 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.086190700531006, + "time": 26411264 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.086190700531006, + "time": 26411266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.086190700531006, + "time": 26411268 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.089852213859558, + "time": 26411270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.089852213859558, + "time": 26411270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.089852213859558, + "time": 26411272 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.323575496673584, + "time": 26411274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.323575496673584, + "time": 26411276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.323575496673584, + "time": 26411278 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0385336875915527, + "time": 26411280 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0385336875915527, + "time": 26411282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0385336875915527, + "time": 26411282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0385336875915527, + "time": 26411284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0385336875915527, + "time": 26411286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0385336875915527, + "time": 26411288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.013304787687957287, + "time": 26411290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080488681793213, + "time": 26411292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080488681793213, + "time": 26411294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080488681793213, + "time": 26411296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080488681793213, + "time": 26411296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.080488681793213, + "time": 26411298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.190707206726074, + "time": 26411300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0959343910217285, + "time": 26411302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0460360050201416, + "time": 26411304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0460360050201416, + "time": 26411306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.077006816864014, + "time": 26411308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.022546768188477, + "time": 26411310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04333559423685074, + "time": 26411312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26411314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26411316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26411318 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26411320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1108996868133545, + "time": 26411322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04561641439795494, + "time": 26411324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.224800705909729, + "time": 26411324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.224800705909729, + "time": 26411326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.224800705909729, + "time": 26411328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.224800705909729, + "time": 26411330 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "autoSave/autoInterval< (http://localhost:4504/js/dillinger.js:489)", + "line": 491 + }, + { + "location": "saveFile (http://localhost:4504/js/dillinger.js:472)", + "line": 474 + }, + { + "location": "updateUserProfile (http://localhost:4504/js/dillinger.js:155)", + "line": 157 + } + ], + "responsiveness": 9.181063652038574, + "time": 26411332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "SessionStorageListener.handleEvent (chrome://browser/content/content-sessionStore.js:485)", + "line": 487 + }, + { + "location": "isSessionStorageEvent (chrome://browser/content/content-sessionStore.js:61)", + "line": 62 + } + ], + "responsiveness": 0.1661197692155838, + "time": 26411334 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0329716205596924, + "time": 26411336 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0329716205596924, + "time": 26411338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.065082550048828, + "time": 26411340 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.111358642578125, + "time": 26411342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.111358642578125, + "time": 26411344 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9720097780227661, + "time": 26411346 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9720097780227661, + "time": 26411348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9720097780227661, + "time": 26411348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9720097780227661, + "time": 26411350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9720097780227661, + "time": 26411352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9720097780227661, + "time": 26411354 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26411356 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26411358 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26411360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26411362 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03739333152771, + "time": 26411364 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.0022808206267654896, + "time": 26411366 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26411368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26411370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.070404529571533, + "time": 26411372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.070404529571533, + "time": 26411374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.076665878295898, + "time": 26411376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1293864250183105, + "time": 26411378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1293864250183105, + "time": 26411380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1293864250183105, + "time": 26411382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1293864250183105, + "time": 26411384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1293864250183105, + "time": 26411386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1293864250183105, + "time": 26411388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.029930353164673, + "time": 26411390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.029930353164673, + "time": 26411392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.029930353164673, + "time": 26411394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.09653377532959, + "time": 26411396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.09653377532959, + "time": 26411398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26411400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.113040566444397, + "time": 26411402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.115880966186523, + "time": 26411404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.122622966766357, + "time": 26411406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.122622966766357, + "time": 26411408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.122622966766357, + "time": 26411410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.122622966766357, + "time": 26411412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07326602935791, + "time": 26411414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07326602935791, + "time": 26411416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07326602935791, + "time": 26411418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07326602935791, + "time": 26411418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07326602935791, + "time": 26411420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07326602935791, + "time": 26411422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26411424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26411426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26411428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26411428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26411430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0827693939208984, + "time": 26411432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.002180576324463, + "time": 26411434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.002180576324463, + "time": 26411436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.002180576324463, + "time": 26411438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.175081729888916, + "time": 26411440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.175081729888916, + "time": 26411442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.175081729888916, + "time": 26411444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0884714126586914, + "time": 26411446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0884714126586914, + "time": 26411448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0884714126586914, + "time": 26411448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0884714126586914, + "time": 26411450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0884714126586914, + "time": 26411452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0884714126586914, + "time": 26411454 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.0528390146791935, + "time": 26411456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9701091051101685, + "time": 26411466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9701091051101685, + "time": 26411468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9701091051101685, + "time": 26411470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9701091051101685, + "time": 26411472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.111739158630371, + "time": 26411474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.111739158630371, + "time": 26411476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.111739158630371, + "time": 26411476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051598310470581, + "time": 26411480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051598310470581, + "time": 26411482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051598310470581, + "time": 26411482 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051598310470581, + "time": 26411484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051598310470581, + "time": 26411486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.051598310470581, + "time": 26411488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26411490 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26411492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26411494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26411496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26411498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101016044616699, + "time": 26411500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.07934832572937, + "time": 26411504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.055198669433594, + "time": 26411506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.09349250793457, + "time": 26411508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.09349250793457, + "time": 26411508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.045376181602478, + "time": 26411510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.045376181602478, + "time": 26411512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.045376181602478, + "time": 26411514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.045376181602478, + "time": 26411516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.045376181602478, + "time": 26411516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.045376181602478, + "time": 26411518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": ".onMsg (https://slack.global.ssl.fastly.net/24420/js/rollup-secondary_required_1409187464.https.gz.js:3772)", + "line": 3773 + }, + { + "location": ".handleMsg (https://slack.global.ssl.fastly.net/24420/js/rollup-secondary_required_1409187464.https.gz.js:3774)", + "line": 3784 + }, + { + "location": "TS.dir (https://slack.global.ssl.fastly.net/24420/js/rollup-core_required_1409187438.https.gz.js:8376)", + "line": 8377 + }, + { + "location": ".inArray (https://slack.global.ssl.fastly.net/24420/js/rollup-secondary_required_1409187464.https.gz.js:6608)", + "line": 6608 + } + ], + "responsiveness": 0.02280820719897747, + "time": 26411520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 2.041714668273926, + "time": 26411522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 3.156655788421631, + "time": 26411524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.2689361572265625, + "time": 26411524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.380075931549072, + "time": 26411526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 6.490075588226318, + "time": 26411528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 7.599694728851318, + "time": 26411528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 9.60073471069336, + "time": 26411530 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 0.015205471776425838, + "time": 26411532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 1.1552356481552124, + "time": 26411534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 2.263714551925659, + "time": 26411534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 3.3725736141204834, + "time": 26411536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.521106719970703, + "time": 26411538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.521106719970703, + "time": 26411540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.563861846923828, + "time": 26411542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0830097198486328, + "time": 26411544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0830097198486328, + "time": 26411546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0830097198486328, + "time": 26411548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0830097198486328, + "time": 26411550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0830097198486328, + "time": 26411552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0830097198486328, + "time": 26411554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0742665529251099, + "time": 26411554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0756866931915283, + "time": 26411556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0756866931915283, + "time": 26411560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0756866931915283, + "time": 26411560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0756866931915283, + "time": 26411562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0756866931915283, + "time": 26411564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0499378442764282, + "time": 26411566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0499378442764282, + "time": 26411568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0499378442764282, + "time": 26411570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0499378442764282, + "time": 26411572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.171420097351074, + "time": 26411574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.193748474121094, + "time": 26411576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1168419122695923, + "time": 26411578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1168419122695923, + "time": 26411578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1168419122695923, + "time": 26411580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1168419122695923, + "time": 26411582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1168419122695923, + "time": 26411584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1168419122695923, + "time": 26411586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0347323417663574, + "time": 26411588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033871650695801, + "time": 26411590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033871650695801, + "time": 26411592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033871650695801, + "time": 26411592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033871650695801, + "time": 26411594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033871650695801, + "time": 26411596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.033871650695801, + "time": 26411598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102156400680542, + "time": 26411600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102156400680542, + "time": 26411602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102156400680542, + "time": 26411602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.208914279937744, + "time": 26411604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.20919418334961, + "time": 26411606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.20919418334961, + "time": 26411608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26411610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26411612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26411614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26411616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26411618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0820090770721436, + "time": 26411620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0778276920318604, + "time": 26411622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.076967239379883, + "time": 26411624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.076967239379883, + "time": 26411626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.076967239379883, + "time": 26411628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.076967239379883, + "time": 26411630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.076967239379883, + "time": 26411632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26411632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26411634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26411636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.107718586921692, + "time": 26411638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + } + ], + "responsiveness": 8.151653289794922, + "time": 26411640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.224159240722656, + "time": 26411642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0704652070999146, + "time": 26411652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0195268392562866, + "time": 26411654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0195268392562866, + "time": 26411654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.2522101402282715, + "time": 26411656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.2522101402282715, + "time": 26411658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.2522101402282715, + "time": 26411660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.2522101402282715, + "time": 26411660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.2522101402282715, + "time": 26411662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.2522101402282715, + "time": 26411662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9788522124290466, + "time": 26411664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9788522124290466, + "time": 26411666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9788522124290466, + "time": 26411668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9788522124290466, + "time": 26411670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9788522124290466, + "time": 26411672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.135586738586426, + "time": 26411674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26411676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26411678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26411680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26411682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26411682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0362528562545776, + "time": 26411684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26411686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0951740741729736, + "time": 26411688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1261444091796875, + "time": 26411690 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1261444091796875, + "time": 26411692 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1261444091796875, + "time": 26411694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.1261444091796875, + "time": 26411696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0807288885116577, + "time": 26411698 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0807288885116577, + "time": 26411700 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0807288885116577, + "time": 26411702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0807288885116577, + "time": 26411704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0807288885116577, + "time": 26411706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.013304787687957287, + "time": 26411708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.202372670173645, + "time": 26411718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0778276920318604, + "time": 26411722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.085710048675537, + "time": 26411724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.085710048675537, + "time": 26411724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.085710048675537, + "time": 26411726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.085710048675537, + "time": 26411728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.041054774075746536, + "time": 26411730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.118502378463745, + "time": 26411732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.118502378463745, + "time": 26411734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.118502378463745, + "time": 26411736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.118502378463745, + "time": 26411738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.124943733215332, + "time": 26411740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.070085048675537, + "time": 26411752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0534989833831787, + "time": 26411754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.193668842315674, + "time": 26411756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.193668842315674, + "time": 26411758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.193668842315674, + "time": 26411760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.193668842315674, + "time": 26411762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0058419704437256, + "time": 26411764 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 2.988635540008545, + "time": 26411766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 12 + }, + { + "location": "nb (https://apis.google.com/js/plusone.js:7)", + "line": 7 + } + ], + "responsiveness": 4.982832908630371, + "time": 26411768 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 6.980832099914551, + "time": 26411770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 9.093252182006836, + "time": 26411772 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 0.006842462345957756, + "time": 26411774 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)" + } + ], + "responsiveness": 2.029930353164673, + "time": 26411776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 4.13740873336792, + "time": 26411778 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 6.139209270477295, + "time": 26411780 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + } + ], + "responsiveness": 8.122383117675781, + "time": 26411782 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 10.142809867858887, + "time": 26411784 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 20 + } + ], + "responsiveness": 12.249908447265625, + "time": 26411786 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 14.358146667480469, + "time": 26411788 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "Zd[K].D (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "be (https://apis.google.com/js/plusone.js:44)", + "line": 44 + }, + { + "location": "Tb (https://apis.google.com/js/plusone.js:11)", + "line": 11 + }, + { + "location": "Sb (https://apis.google.com/js/plusone.js:11)", + "line": 13 + }, + { + "location": "Sb/w (https://apis.google.com/js/plusone.js:12)", + "line": 12 + }, + { + "location": "_.Fa (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:21)", + "line": 21 + }, + { + "location": "EnterJIT" + }, + { + "location": "Ea (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:20)", + "line": 21 + }, + { + "location": "Ba (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:18)", + "line": 18 + } + ], + "responsiveness": 16.46524429321289, + "time": 26411790 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "ClickEventHandler.handleEvent (chrome://global/content/browser-content.js:208)", + "line": 209 + } + ], + "responsiveness": 1.2996876239776611, + "time": 26411792 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3950016498565674, + "time": 26411794 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3950016498565674, + "time": 26411796 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3950016498565674, + "time": 26411798 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3950016498565674, + "time": 26411800 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.3950016498565674, + "time": 26411802 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.973670244216919, + "time": 26411804 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.973670244216919, + "time": 26411806 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 5.989435195922852, + "time": 26411808 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 7.978691101074219, + "time": 26411810 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 9.970988273620605, + "time": 26411812 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 0.008363009430468082, + "time": 26411814 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 2.1264851093292236, + "time": 26411816 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 4.263994216918945, + "time": 26411818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 5.370952606201172, + "time": 26411818 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.3746538162231445, + "time": 26411820 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "gfx::DrawThebesLayer", + "line": 3756 + }, + { + "location": "nsCSSRendering::PaintBackground", + "line": 1350 + } + ], + "responsiveness": 9.3551664352417, + "time": 26411822 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 11.378253936767578, + "time": 26411824 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 1.0183864831924438, + "time": 26411826 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "PreviewController.prototype.handleEvent (resource://app/modules/WindowsPreviewPerTab.jsm:357)", + "line": 358 + } + ], + "responsiveness": 3.011823892593384, + "time": 26411828 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "layout::Flush (Flush_Style)", + "line": 3969 + }, + { + "location": "CSS::ProcessRestyles", + "line": 137 + } + ], + "responsiveness": 5.017805576324463, + "time": 26411830 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.996037483215332, + "time": 26411832 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.996037483215332, + "time": 26411834 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.996037483215332, + "time": 26411836 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045896291732788, + "time": 26411838 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.0229878425598145, + "time": 26411840 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.0229878425598145, + "time": 26411842 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.0229878425598145, + "time": 26411844 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.0229878425598145, + "time": 26411846 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.0229878425598145, + "time": 26411848 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26411850 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26411852 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0785880088806152, + "time": 26411854 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.048255920410156, + "time": 26411856 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.048255920410156, + "time": 26411858 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.053359031677246, + "time": 26411860 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.053359031677246, + "time": 26411862 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.053359031677246, + "time": 26411864 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.053359031677246, + "time": 26411866 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.08945083618164, + "time": 26411868 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.08945083618164, + "time": 26411870 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.019286632537842, + "time": 26411872 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.019286632537842, + "time": 26411874 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.019286632537842, + "time": 26411876 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.019286632537842, + "time": 26411878 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.019286632537842, + "time": 26411880 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.019286632537842, + "time": 26411880 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.001800298690796, + "time": 26411882 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.995997905731201, + "time": 26411884 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.995997905731201, + "time": 26411886 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.995997905731201, + "time": 26411888 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.995997905731201, + "time": 26411890 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0335919857025146, + "time": 26411892 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0335919857025146, + "time": 26411896 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0335919857025146, + "time": 26411896 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0335919857025146, + "time": 26411898 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.098954200744629, + "time": 26411902 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04675682634115219, + "time": 26411902 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1112797260284424, + "time": 26411906 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1112797260284424, + "time": 26411906 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1112797260284424, + "time": 26411908 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1112797260284424, + "time": 26411910 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1112797260284424, + "time": 26411912 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1112797260284424, + "time": 26411914 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.056540012359619, + "time": 26411916 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.336460590362549, + "time": 26411918 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.336460590362549, + "time": 26411920 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.336460590362549, + "time": 26411922 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.336460590362549, + "time": 26411924 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.969728946685791, + "time": 26411926 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.969728946685791, + "time": 26411928 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.969728946685791, + "time": 26411928 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.969728946685791, + "time": 26411930 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 8.008341789245605, + "time": 26411932 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 10.056899070739746, + "time": 26411934 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 1.0244686603546143, + "time": 26411936 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 3.0232279300689697, + "time": 26411938 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 5.025028228759766, + "time": 26411940 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 7.070164203643799, + "time": 26411942 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + }, + { + "location": "RasterImage::SyncDecode http://barcode.oberhofer.dev/img/stream/image-009.jpg", + "line": 2414 + }, + { + "location": "ImageDecoder::Write", + "line": 90 + } + ], + "responsiveness": 9.070823669433594, + "time": 26411944 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 52 + } + ], + "responsiveness": 11.06920337677002, + "time": 26411946 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 53 + } + ], + "responsiveness": 13.073284149169922, + "time": 26411948 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 53 + } + ], + "responsiveness": 15.078505516052246, + "time": 26411950 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 260 + }, + { + "location": "FrameGrabber.create/that_.grab (http://barcode.oberhofer.dev/js/frame_grabber.js:48)", + "line": 54 + }, + { + "location": "EnterJIT" + }, + { + "location": "CVUtils.computeGray (http://barcode.oberhofer.dev/js/cv_utils.js:657)" + } + ], + "responsiveness": 17.08334732055664, + "time": 26411952 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 19.078685760498047, + "time": 26411954 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 21.124582290649414, + "time": 26411956 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 23.216474533081055, + "time": 26411958 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 25.220935821533203, + "time": 26411960 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 27.221216201782227, + "time": 26411962 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 29.263309478759766, + "time": 26411964 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 31.288299560546875, + "time": 26411966 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 33.334957122802734, + "time": 26411970 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 35.33181381225586, + "time": 26411972 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 37.374290466308594, + "time": 26411974 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 39.41676330566406, + "time": 26411976 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 41.459617614746094, + "time": 26411978 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 43.464080810546875, + "time": 26411980 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 45.510738372802734, + "time": 26411982 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 209 + }, + { + "location": "ImageWrapper.prototype.zeroBorder (http://barcode.oberhofer.dev/js/image_wrapper.js:235)" + } + ], + "responsiveness": 47.510257720947266, + "time": 26411984 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 49.511295318603516, + "time": 26411986 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 51.512718200683594, + "time": 26411988 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 53.5145149230957, + "time": 26411990 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 55.51593780517578, + "time": 26411992 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 57.517356872558594, + "time": 26411994 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 59.51953887939453, + "time": 26411996 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 61.520198822021484, + "time": 26411998 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 63.52085876464844, + "time": 26412000 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)" + } + ], + "responsiveness": 65.56637573242188, + "time": 26412002 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 222 + }, + { + "location": "extractPatches (http://barcode.oberhofer.dev/js/barcode_locator.js:367)", + "line": 386 + }, + { + "location": "similarMoments (http://barcode.oberhofer.dev/js/barcode_locator.js:315)", + "line": 316 + }, + { + "location": "CVUtils.cluster (http://barcode.oberhofer.dev/js/cv_utils.js:493)", + "line": 520 + }, + { + "location": "addToCluster (http://barcode.oberhofer.dev/js/cv_utils.js:505)", + "line": 510 + }, + { + "location": "updateCenter (http://barcode.oberhofer.dev/js/cluster2.js:17)", + "line": 24 + } + ], + "responsiveness": 67.65788269042969, + "time": 26412004 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 69.66082763671875, + "time": 26412006 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 71.70634460449219, + "time": 26412008 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 73.69027709960938, + "time": 26412010 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 75.69664001464844, + "time": 26412012 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 77.69425964355469, + "time": 26412014 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 79.70783996582031, + "time": 26412016 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 212 + }, + { + "location": "Rasterizer.create/<.rasterize (http://barcode.oberhofer.dev/js/rasterizer.js:32)" + } + ], + "responsiveness": 81.71420288085938, + "time": 26412018 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 83.69851684570312, + "time": 26412020 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 85.71514129638672, + "time": 26412022 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 87.7169418334961, + "time": 26412024 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 89.71684265136719, + "time": 26412026 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 263 + }, + { + "location": ".locate (http://barcode.oberhofer.dev/js/barcode_locator.js:484)", + "line": 485 + }, + { + "location": "EnterJIT" + }, + { + "location": "findBarcode (http://barcode.oberhofer.dev/js/barcode_locator.js:158)", + "line": 201 + }, + { + "location": "asm.js code :0", + "line": 0 + } + ], + "responsiveness": 91.75969696044922, + "time": 26412028 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "event::nsViewManager::DispatchEvent", + "line": 733 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "st.event.add/y.handle (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "st.event.dispatch (http://barcode.oberhofer.dev/js/vendor/jquery-1.9.0.min.js:2)", + "line": 2 + }, + { + "location": "js::RunScript" + }, + { + "location": "http://barcode.oberhofer.dev/js/main.js:84", + "line": 85 + }, + { + "location": ".start (http://barcode.oberhofer.dev/js/barcode.js:322)", + "line": 324 + }, + { + "location": "start (http://barcode.oberhofer.dev/js/barcode.js:282)", + "line": 284 + }, + { + "location": "drawFrame (http://barcode.oberhofer.dev/js/barcode.js:284)", + "line": 290 + }, + { + "location": "update (http://barcode.oberhofer.dev/js/barcode.js:254)", + "line": 268 + }, + { + "location": "BarcodeDecoder.create/<.decodeFromBoundingBoxes (http://barcode.oberhofer.dev/js/barcode_decoder.js:166)", + "line": 167 + }, + { + "location": "EnterJIT" + }, + { + "location": "BarcodeDecoder.create/<.decodeFromBoundingBoxes (http://barcode.oberhofer.dev/js/barcode_decoder.js:166)", + "line": 170 + }, + { + "location": "decodeFromBoundingBox (http://barcode.oberhofer.dev/js/barcode_decoder.js:55)", + "line": 138 + }, + { + "location": "BarcodeReader.create/that.decodePattern (http://barcode.oberhofer.dev/js/barcode_reader.js:123)", + "line": 128 + }, + { + "location": "Code128Reader.create/that.decode (http://barcode.oberhofer.dev/js/code_128_reader.js:139)", + "line": 140 + }, + { + "location": "Code128Reader.create/that.findStart (http://barcode.oberhofer.dev/js/code_128_reader.js:88)" + } + ], + "responsiveness": 93.7881088256836, + "time": 26412030 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 1.3753348588943481, + "time": 26412032 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 3.3775153160095215, + "time": 26412034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 4.421751022338867, + "time": 26412034 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + } + ], + "responsiveness": 6.4665069580078125, + "time": 26412036 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "CAL_observe (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/toolkit/webconsole/utils.js:1343)", + "line": 1358 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCA_onConsoleAPICall (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1167)", + "line": 1172 + }, + { + "location": "WCA_prepareConsoleMessageForRemote (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1316)", + "line": 1323 + }, + { + "location": "js::RunScript" + }, + { + "location": "map (self-hosted:1014)", + "line": 1020 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "map (self-hosted:979)", + "line": 1004 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCA_prepareConsoleMessageForRemote/result.arguments< (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1323)", + "line": 1325 + }, + { + "location": "WCA_createValueGrip (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:392)", + "line": 394 + }, + { + "location": "js::RunScript" + }, + { + "location": "ThreadActor.prototype.createValueGrip (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/script.js:1982)", + "line": 1991 + }, + { + "location": "ThreadActor.prototype._stringIsLong (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/script.js:2166)", + "line": 2167 + } + ], + "responsiveness": 8.482752799987793, + "time": 26412038 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02280820719897747, + "time": 26412040 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1981911659240723, + "time": 26412042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1981911659240723, + "time": 26412042 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1981911659240723, + "time": 26412044 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1981911659240723, + "time": 26412046 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.372512817382812, + "time": 26412048 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.372512817382812, + "time": 26412050 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412054 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412056 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412058 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412060 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412062 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1103795766830444, + "time": 26412064 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26412064 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26412066 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26412066 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26412068 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26412070 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0909925699234009, + "time": 26412072 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.030930995941162, + "time": 26412074 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.030930995941162, + "time": 26412076 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.030930995941162, + "time": 26412078 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.030930995941162, + "time": 26412080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.030930995941162, + "time": 26412080 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.030930995941162, + "time": 26412082 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.039914362132549286, + "time": 26412084 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1432111263275146, + "time": 26412086 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1432111263275146, + "time": 26412088 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.332558631896973, + "time": 26412090 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2096 + }, + { + "location": "js::RunScript" + }, + { + "location": "WCF__outputMessageFromQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2195)", + "line": 2213 + }, + { + "location": "WCF__filterRepeatedMessage (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1099)", + "line": 1132 + }, + { + "location": "WCF_mergeFilteredMessageNode (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:1074)", + "line": 1086 + } + ], + "responsiveness": 7.331317901611328, + "time": 26412092 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 9.33083724975586, + "time": 26412094 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 0.01102396659553051, + "time": 26412096 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 1.1016364097595215, + "time": 26412098 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "js::RunScript" + }, + { + "location": "EnterJIT" + }, + { + "location": "WCF__flushMessageQueue (resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/webconsole.js:2053)", + "line": 2105 + }, + { + "location": "layout::Flush (Flush_Layout)", + "line": 3969 + }, + { + "location": "layout::DoReflow (chrome://browser/content/devtools/webconsole.xul)", + "line": 8360 + } + ], + "responsiveness": 3.168060064315796, + "time": 26412100 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.288463115692139, + "time": 26412102 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.288463115692139, + "time": 26412104 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.288463115692139, + "time": 26412104 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.288463115692139, + "time": 26412106 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 1.9542832374572754, + "time": 26412108 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 3.93023419380188, + "time": 26412110 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 5.955223083496094, + "time": 26412112 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 7.9524617195129395, + "time": 26412114 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 9.037371635437012, + "time": 26412116 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + } + ], + "responsiveness": 0.007222598884254694, + "time": 26412118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.230122685432434, + "time": 26412118 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.230122685432434, + "time": 26412120 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.230122685432434, + "time": 26412122 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.249448776245117, + "time": 26412124 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.249448776245117, + "time": 26412126 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.249448776245117, + "time": 26412128 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9989994764328003, + "time": 26412130 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.117501735687256, + "time": 26412132 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.117501735687256, + "time": 26412134 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.117501735687256, + "time": 26412136 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.117501735687256, + "time": 26412138 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.31881332397461, + "time": 26412140 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412142 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412144 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412146 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412148 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.132427453994751, + "time": 26412150 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0139646530151367, + "time": 26412152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.991816520690918, + "time": 26412154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.991816520690918, + "time": 26412156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.991816520690918, + "time": 26412158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.991816520690918, + "time": 26412160 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.991816520690918, + "time": 26412162 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1388897895812988, + "time": 26412164 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1388897895812988, + "time": 26412166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1388897895812988, + "time": 26412166 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "CC::nsCycleCollector_forgetSkippable", + "line": 3817 + } + ], + "responsiveness": 6.162777423858643, + "time": 26412168 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.2637939453125, + "time": 26412170 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.330977439880371, + "time": 26412172 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412174 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412176 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412178 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412180 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412182 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412184 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0496976375579834, + "time": 26412186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0496976375579834, + "time": 26412186 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.241706371307373, + "time": 26412188 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.241706371307373, + "time": 26412190 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.241706371307373, + "time": 26412192 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.241706371307373, + "time": 26412194 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.241706371307373, + "time": 26412194 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.112280249595642, + "time": 26412196 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.112280249595642, + "time": 26412198 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.112280249595642, + "time": 26412200 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.112280249595642, + "time": 26412202 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.112280249595642, + "time": 26412204 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.207432746887207, + "time": 26412206 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412208 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412210 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412212 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412214 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0594412088394165, + "time": 26412216 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0035611391067505, + "time": 26412218 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0035611391067505, + "time": 26412220 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0035611391067505, + "time": 26412222 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.295065402984619, + "time": 26412224 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.295065402984619, + "time": 26412226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.295065402984619, + "time": 26412226 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.960225522518158, + "time": 26412228 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.960225522518158, + "time": 26412230 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.996518135070801, + "time": 26412232 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.031390190124512, + "time": 26412234 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.031390190124512, + "time": 26412236 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.017486292868852615, + "time": 26412238 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.112800359725952, + "time": 26412240 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.112800359725952, + "time": 26412242 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.112800359725952, + "time": 26412244 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.112800359725952, + "time": 26412246 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.112800359725952, + "time": 26412248 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.112800359725952, + "time": 26412250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1050575971603394, + "time": 26412250 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1050575971603394, + "time": 26412252 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.4145283699035645, + "time": 26412254 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.686086177825928, + "time": 26412256 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.686086177825928, + "time": 26412258 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.686086177825928, + "time": 26412260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.686086177825928, + "time": 26412260 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1141809225082397, + "time": 26412262 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1141809225082397, + "time": 26412264 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1141809225082397, + "time": 26412266 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1141809225082397, + "time": 26412268 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1141809225082397, + "time": 26412270 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04295545816421509, + "time": 26412272 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2647150754928589, + "time": 26412274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2647150754928589, + "time": 26412274 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2647150754928589, + "time": 26412276 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2647150754928589, + "time": 26412278 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2647150754928589, + "time": 26412280 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2647150754928589, + "time": 26412282 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9932974576950073, + "time": 26412284 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9932974576950073, + "time": 26412286 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.018185615539551, + "time": 26412288 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.018185615539551, + "time": 26412290 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.018185615539551, + "time": 26412292 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.018185615539551, + "time": 26412294 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1051974296569824, + "time": 26412296 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1051974296569824, + "time": 26412298 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1051974296569824, + "time": 26412300 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.261893272399902, + "time": 26412302 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.261893272399902, + "time": 26412304 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + } + ], + "responsiveness": 0.01064383052289486, + "time": 26412306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2316431999206543, + "time": 26412306 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2316431999206543, + "time": 26412308 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2316431999206543, + "time": 26412310 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.2316431999206543, + "time": 26412312 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.464506149291992, + "time": 26412314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.464506149291992, + "time": 26412314 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0115439891815186, + "time": 26412316 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0115439891815186, + "time": 26412318 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0368123054504395, + "time": 26412320 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0368123054504395, + "time": 26412322 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0368123054504395, + "time": 26412324 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.0368123054504395, + "time": 26412326 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0415748357772827, + "time": 26412328 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0415748357772827, + "time": 26412330 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0415748357772827, + "time": 26412330 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0901713371276855, + "time": 26412332 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0901713371276855, + "time": 26412334 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.0901713371276855, + "time": 26412336 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 0.015965744853019714, + "time": 26412338 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 2.0101633071899414, + "time": 26412340 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsLayoutUtils::PaintFrame::BuildDisplayList", + "line": 2680 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + }, + { + "location": "ViewportFrame::BuildDisplayList", + "line": 62 + } + ], + "responsiveness": 4.038573265075684, + "time": 26412342 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 6.04189395904541, + "time": 26412344 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::ComputeVisibilityForRoot", + "line": 1038 + } + ], + "responsiveness": 8.035331726074219, + "time": 26412346 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 9.144570350646973, + "time": 26412348 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 11.131546020507812, + "time": 26412350 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "Timer::Fire", + "line": 516 + }, + { + "location": "nsRefreshDriver::Tick", + "line": 1035 + }, + { + "location": "Paint::PresShell::Paint", + "line": 5809 + }, + { + "location": "nsLayoutUtils::PaintFrame", + "line": 2577 + }, + { + "location": "nsDisplayList::PaintRoot", + "line": 1206 + }, + { + "location": "ContainerState::ProcessDisplayItems", + "line": 2402 + } + ], + "responsiveness": 13.155393600463867, + "time": 26412352 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0126843452453613, + "time": 26412354 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0414743423461914, + "time": 26412356 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0414743423461914, + "time": 26412358 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0414743423461914, + "time": 26412360 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0414743423461914, + "time": 26412362 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.0414743423461914, + "time": 26412364 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101396083831787, + "time": 26412366 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101396083831787, + "time": 26412368 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.101396083831787, + "time": 26412370 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.074485778808594, + "time": 26412372 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.074485778808594, + "time": 26412374 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0773077011108398, + "time": 26412376 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.065423011779785, + "time": 26412378 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.065423011779785, + "time": 26412380 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.065423011779785, + "time": 26412382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.065423011779785, + "time": 26412382 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.065423011779785, + "time": 26412384 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9831736087799072, + "time": 26412386 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9560835361480713, + "time": 26412388 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9560835361480713, + "time": 26412390 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9560835361480713, + "time": 26412392 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.9560835361480713, + "time": 26412394 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.019386976957321167, + "time": 26412396 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0390536785125732, + "time": 26412398 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0390536785125732, + "time": 26412400 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0390536785125732, + "time": 26412402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0390536785125732, + "time": 26412402 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.320433616638184, + "time": 26412404 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.320433616638184, + "time": 26412406 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412408 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412410 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412412 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412414 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412416 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.9343762397766113, + "time": 26412418 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1093790531158447, + "time": 26412420 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26412422 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26412424 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26412426 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26412428 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 4.107758045196533, + "time": 26412430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0868110656738281, + "time": 26412430 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.082529306411743, + "time": 26412432 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.085089683532715, + "time": 26412434 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.085089683532715, + "time": 26412436 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.166618347167969, + "time": 26412438 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412440 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412442 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412444 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412446 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412448 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.03435218334198, + "time": 26412450 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0689446926116943, + "time": 26412452 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0689446926116943, + "time": 26412454 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.099154949188232, + "time": 26412456 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.099154949188232, + "time": 26412458 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.099154949188232, + "time": 26412460 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.048277370631694794, + "time": 26412462 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.24152672290802, + "time": 26412464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.24152672290802, + "time": 26412464 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.24152672290802, + "time": 26412466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.24152672290802, + "time": 26412466 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.24152672290802, + "time": 26412468 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.24152672290802, + "time": 26412470 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.004561641253530979, + "time": 26412472 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045135974884033, + "time": 26412474 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045135974884033, + "time": 26412476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045135974884033, + "time": 26412476 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045135974884033, + "time": 26412478 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045135974884033, + "time": 26412480 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.045135974884033, + "time": 26412484 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1149412393569946, + "time": 26412486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1149412393569946, + "time": 26412486 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.048976898193359, + "time": 26412488 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.048976898193359, + "time": 26412492 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.048976898193359, + "time": 26412494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.048976898193359, + "time": 26412494 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.012063980102539, + "time": 26412496 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.012063980102539, + "time": 26412498 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.012063980102539, + "time": 26412500 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.012063980102539, + "time": 26412502 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.012063980102539, + "time": 26412504 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.18842601776123, + "time": 26412506 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0202871561050415, + "time": 26412508 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0202871561050415, + "time": 26412510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0202871561050415, + "time": 26412510 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0202871561050415, + "time": 26412512 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0202871561050415, + "time": 26412514 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0202871561050415, + "time": 26412516 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0328316688537598, + "time": 26412518 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0328316688537598, + "time": 26412520 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.097254276275635, + "time": 26412522 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.097254276275635, + "time": 26412524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.097254276275635, + "time": 26412524 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.097254276275635, + "time": 26412526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.097254276275635, + "time": 26412526 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000139832496643, + "time": 26412528 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000139832496643, + "time": 26412530 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.000139832496643, + "time": 26412532 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.069023609161377, + "time": 26412534 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.069023609161377, + "time": 26412536 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.265213966369629, + "time": 26412538 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412540 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412542 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412544 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412546 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0856707096099854, + "time": 26412548 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0016604661941528, + "time": 26412550 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0016604661941528, + "time": 26412552 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0016604661941528, + "time": 26412554 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.192808628082275, + "time": 26412556 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.192808628082275, + "time": 26412558 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.192808628082275, + "time": 26412560 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412562 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412564 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412566 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412568 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0944137573242188, + "time": 26412570 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 10.541193008422852, + "time": 26412572 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0784480571746826, + "time": 26412574 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0784480571746826, + "time": 26412576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0784480571746826, + "time": 26412576 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0784480571746826, + "time": 26412578 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0784480571746826, + "time": 26412580 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0784480571746826, + "time": 26412582 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1198829412460327, + "time": 26412584 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1198829412460327, + "time": 26412586 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.121582984924316, + "time": 26412588 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.121582984924316, + "time": 26412590 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.121582984924316, + "time": 26412592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.121582984924316, + "time": 26412592 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412594 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412596 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412598 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412600 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412602 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.022948145866394, + "time": 26412604 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.051318466663360596, + "time": 26412606 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1166017055511475, + "time": 26412608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1166017055511475, + "time": 26412608 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1166017055511475, + "time": 26412610 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1166017055511475, + "time": 26412612 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1166017055511475, + "time": 26412614 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.1166017055511475, + "time": 26412616 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0166256427764893, + "time": 26412618 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0166256427764893, + "time": 26412620 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.989055156707764, + "time": 26412622 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.989055156707764, + "time": 26412624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.989055156707764, + "time": 26412624 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 5.989055156707764, + "time": 26412626 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0880913734436035, + "time": 26412628 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0880913734436035, + "time": 26412630 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0880913734436035, + "time": 26412632 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0880913734436035, + "time": 26412634 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 9.194368362426758, + "time": 26412636 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.050558194518089294, + "time": 26412638 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.107858419418335, + "time": 26412640 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.107858419418335, + "time": 26412642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.107858419418335, + "time": 26412642 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.107858419418335, + "time": 26412644 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.107858419418335, + "time": 26412646 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.107858419418335, + "time": 26412648 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26412650 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26412652 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.1073384284973145, + "time": 26412654 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.3650102615356445, + "time": 26412656 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.3650102615356445, + "time": 26412658 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.3650102615356445, + "time": 26412660 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0371530055999756, + "time": 26412662 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0371530055999756, + "time": 26412664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0371530055999756, + "time": 26412664 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0371530055999756, + "time": 26412666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0371530055999756, + "time": 26412666 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0371530055999756, + "time": 26412668 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.04903764650225639, + "time": 26412670 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.258252739906311, + "time": 26412672 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.258252739906311, + "time": 26412674 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.258252739906311, + "time": 26412676 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.258252739906311, + "time": 26412678 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.258252739906311, + "time": 26412680 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.258252739906311, + "time": 26412682 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0742665529251099, + "time": 26412684 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0742665529251099, + "time": 26412686 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0742665529251099, + "time": 26412688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.046975612640381, + "time": 26412688 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.046975612640381, + "time": 26412692 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.046975612640381, + "time": 26412694 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102536678314209, + "time": 26412696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102536678314209, + "time": 26412696 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102536678314209, + "time": 26412700 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102536678314209, + "time": 26412702 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.102536678314209, + "time": 26412704 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412706 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412708 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412710 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412712 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412714 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0993555784225464, + "time": 26412716 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0481770038604736, + "time": 26412718 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0481770038604736, + "time": 26412720 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.111839294433594, + "time": 26412722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.111839294433594, + "time": 26412722 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.111839294433594, + "time": 26412724 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 6.111839294433594, + "time": 26412726 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26412728 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26412730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26412730 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26412732 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.9603654146194458, + "time": 26412734 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 0.02090752311050892, + "time": 26412736 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412738 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412740 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412742 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412744 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412746 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 2.0253686904907227, + "time": 26412748 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0419549942016602, + "time": 26412750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0419549942016602, + "time": 26412750 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0419549942016602, + "time": 26412752 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0419549942016602, + "time": 26412754 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.228060722351074, + "time": 26412756 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 8.228060722351074, + "time": 26412758 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412760 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412762 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412764 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412766 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.0583008527755737, + "time": 26412768 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.112280249595642, + "time": 26412770 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1137003898620605, + "time": 26412772 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1137003898620605, + "time": 26412774 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1137003898620605, + "time": 26412776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1137003898620605, + "time": 26412776 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1137003898620605, + "time": 26412778 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 3.1137003898620605, + "time": 26412780 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.095554232597351, + "time": 26412782 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.095554232597351, + "time": 26412784 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 1.095554232597351, + "time": 26412786 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.012383460998535, + "time": 26412788 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + } + ], + "responsiveness": 7.012383460998535, + "time": 26412790 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "f (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:815)", + "line": 818 + }, + { + "location": "L (https://oauth.googleusercontent.com/gadgets/js/core:rpc:shindig.random:shindig.sha1.js?c=2:962)", + "line": 969 + } + ], + "responsiveness": 0.016726018860936165, + "time": 26412792 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + } + ], + "responsiveness": 2.0382933616638184, + "time": 26412794 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "EventDispatcher::Dispatch", + "line": 390 + }, + { + "location": "js::RunScript" + }, + { + "location": "c (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:109)", + "line": 110 + }, + { + "location": "g (https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.9YdudwyFIxs.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTMIeXyHLZQbXjj15Bi0Oi9WSiPFzg/cb=gapi.loaded_0:118)", + "line": 119 + }, + { + "location": "js::RunScript" + }, + { + "location": "_.T resource://gre/modules/devtools/DevToolsUtils.js:82)", + "line": 84 + }, + { + "location": "js::RunScript" + }, + { + "location": "LDT_send/< (resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:273)", + "line": 279 + }, + { + "location": "js::RunScript" + }, + { + "location": "DSC_onPacket (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1044)", + "line": 1098 + }, + { + "location": "js::RunScript" + }, + { + "location": "ProfilerActor.prototype.onGetProfile (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/profiler.js:100)", + "line": 101 + } + ], + "responsiveness": 3.016005277633667, + "time": 26417152 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "js::RunScript" + }, + { + "location": "makeInfallible/< (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/DevToolsUtils.js:82)", + "line": 84 + }, + { + "location": "js::RunScript" + }, + { + "location": "LDT_send/< (resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:273)", + "line": 279 + }, + { + "location": "js::RunScript" + }, + { + "location": "DSC_onPacket (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1044)", + "line": 1098 + }, + { + "location": "js::RunScript" + }, + { + "location": "ProfilerActor.prototype.onGetProfile (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/profiler.js:100)", + "line": 101 + } + ], + "responsiveness": 5.014764308929443, + "time": 26417154 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "js::RunScript" + }, + { + "location": "makeInfallible/< (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/DevToolsUtils.js:82)", + "line": 84 + }, + { + "location": "js::RunScript" + }, + { + "location": "LDT_send/< (resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:273)", + "line": 279 + }, + { + "location": "js::RunScript" + }, + { + "location": "DSC_onPacket (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1044)", + "line": 1098 + }, + { + "location": "js::RunScript" + }, + { + "location": "ProfilerActor.prototype.onGetProfile (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/profiler.js:100)", + "line": 101 + } + ], + "responsiveness": 7.0161848068237305, + "time": 26417156 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "js::RunScript" + }, + { + "location": "makeInfallible/< (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/DevToolsUtils.js:82)", + "line": 84 + }, + { + "location": "js::RunScript" + }, + { + "location": "LDT_send/< (resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:273)", + "line": 279 + }, + { + "location": "js::RunScript" + }, + { + "location": "DSC_onPacket (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1044)", + "line": 1098 + }, + { + "location": "js::RunScript" + }, + { + "location": "ProfilerActor.prototype.onGetProfile (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/profiler.js:100)", + "line": 101 + } + ], + "responsiveness": 9.016844749450684, + "time": 26417158 + }, + { + "frames": [ + { + "location": "(root)" + }, + { + "location": "Startup::XRE_Main", + "line": 4037 + }, + { + "location": "js::RunScript" + }, + { + "location": "makeInfallible/< (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/DevToolsUtils.js:82)", + "line": 84 + }, + { + "location": "js::RunScript" + }, + { + "location": "LDT_send/< (resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:273)", + "line": 279 + }, + { + "location": "js::RunScript" + }, + { + "location": "DSC_onPacket (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1044)", + "line": 1098 + }, + { + "location": "js::RunScript" + }, + { + "location": "ProfilerActor.prototype.onGetProfile (resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js -> resource://gre/modules/devtools/server/actors/profiler.js:100)", + "line": 101 + } + ], + "responsiveness": 0.0030410944018512964, + "time": 26417160 + } + ] + } + ] + } +} \ No newline at end of file diff --git a/doc/readme.md b/doc/readme.md new file mode 100644 index 0000000..18f5981 --- /dev/null +++ b/doc/readme.md @@ -0,0 +1,169 @@ +Barcode Reader +============== + +Barcode Reader is a library written in JavaScript capable of decoding common barcodes (e.g.: Code128 and EAN13) directly in the browser. It can handle various sources of images such as file-input for a single image or preferrably a camera stream (via `getUserMedia`) for real-time decoding. + +# How does it work? +For those of you interested in the inner workings of this implementation, please keep on reading. + +As already depicted in the image above, this implementation makes use of two subsequent stages, first locating (blue box) and second decoding (red line) the barcode. + +## Barcode Locator +The main purpose of the barcode locator is finding a pattern within the source image which looks like a barcode. A barcode is typically characterized by its black bars and white gaps in between. The overall size of the barcode may depend on the amount of information encoded (Code128) or be fixed in width (EAN13). When searching for a barcode in an image we are looking for: + +- _lines_, which are +- _close_ _to_ each other +- have a similar _angle_ + +The process of locating such a barcode is loosely based on a paper called [Locating and decoding EAN-13 barcodes from images captured by digital cameras][douglas_05] which's steps were adapted and modified resulting in: + +1. Creating a binary representation of the image +2. Slice the image into a grid (20 x 15 cells) +3. Extract the skeleton of each cell +4. Separate the skeleton into its parts +5. Component labeling +6. Calculate the rotation of each part +7. Determine cell quality (rotation uniformity) +8. Find connecting cells with similar rotation +9. Create bounding-box of connected cells + +Let's start with the creation of a binary image, or more precisely, a thresholded image. + +### Creating a binary image +There are many different ways of creating a binary representation of an image. The easiest being a global threshold of 127 and determining for each pixel if its brighter (>=127) or darker(<127) than the threshold. Whilst this method might be the simpliest to implement, the outcome might not be sufficient because it does not take into account illumination changes across the image. + +In order to account for the brightness changes in the image, a method called [Otsu][otsu_wiki] is employed which operates on the histogram of the source image and tries to separate the foreground from the background. The image below is produced by exactly this method. + +![Binary Image][binary_image] + +The separation of the barcode from the background works fairly well, resulting in an image which is handed over to the next stage. + +### Slicing the image into a grid +The binary image as a whole does not provide much information about its content. In order to make sense of the contained structure, the image is breaken down into smaller chunks which are then described independently from each other. This _description_ is then compared with our hypotheses and either taken into consideration for further processing, or discarded. + +During the development, a grid of 20 x 15 cells (assuming a 4:3 aspect ratio of the image) yielded to statisfactory results. + +IMG + +Having the image sliced up into individual parts, each cell in the grid needs to be evaluated and classified based on the properties described above. Each cell has to be checked if it contains nothing but parallel lines to get passed on to the next stage. + +First, the bars have to be normalized in width (1px width), then separated line by line, followed by the estimation of the angle of each line. Then, each line in the cell is compared to the others to determine the parallelity. Finally, if the majority of lines are parallel to each other, the average angle is computed. + +### Extract skeleton of each cell +The normalization of the width to 1px is done by a method known as [skeletonizing][skeleton_wiki]. What it does is, that it tries to remove as much of the weight of the bar as possible. In this implementation, this is simply done by eroding and dilating the contents as long as there are unprocessed pixels. This yields to a _skeleton_ of the given image as shown in the next image: + +![skeleton_image][skeleton_image] + +This clearly shows the location of the barcode, and the bars of the code reduced to their minimum width of 1px. + +### Component Labeling +In order to find out if parallel lines are contained within each cell, the skeletonized content, which ideally contains straight lines of the interested area, must be separated into individual pieces (lines). This is achieved by applying a technique called [connected-component labeling][labeling_wiki] which separates a given region into its individual components. In case of the barcode pattern, all lines within the cell are split up into single lines and then weighted by their rotation. + +Due to the fact that component labeling is usually quite expensive in terms of computation, a fast algorithm was of the essence to create a real-time application. With that in mind, an implementation of the paper ["A Linear-Time Component-Labeling Algorithm Using Contour Tracing Technique"][labeling_paper] by Fu Chang, Chun-Jen Chen, and Chi-Jen Lu was found on [CodeProject][labeling_codeproject]. Unfortunatelly, the original code was written in C and had to be ported to JavaScript. + +The image below visualizes the output of the component-labeling stage. + +![component_labeling_image][component_labeling_image] + +As mentioned before, each cell is treated invividually, that's why each color is used repeatedly throughout the cells. The color for each component within the cell is unique and denotes the label given by the algorithm. The following images show scaled up versions of two extracted cells, of which the left one indicates a possible barcode area whereas the right one does not contain much but noise. + +![Component labeling lines][component_labeling_lines_image] +![Component labeling lines][component_labeling_text_image] + +Each label can then be considered as a possible __bar__ of a barcode pattern. To be able to classify such a representation, a quantitative value needs to be computed for each __bar__ which can then be compared with the other components. + +### Determining the orientation of such a component +The orientation of a single component within a cell is calculated by using [central image moments][central_image_moments_wiki]. This method is typically used to extract information of the orientation of a binary image. In this case, the binary image is represented by the labeled components. Each component is considered its own binary image of which the central image moment can be computed. + +As depicted in the equation below, the orientation (indicated as θ) of a binary image can be determined by knowing its central moments (μ). + +![Calculation of Theta][math_theta] + +The central moments (μ) are computed by making use of the raw moments (M) and the centroid (x,y) which in turn need to be calculated up front. + +![Calculation of mu][math_mu] + +The following computes the components of the centroid (x,y) by using the raw moments (M). + +![Calculating x bar][math_x_y_bar] + +Since we need image moments up to the second order, the following listing shows the computation of each single moment. The sum over x and y denotes an iteration over the entire image, whereas I(x,y) indicates the value of the pixel at the position x,y. In this case, the value can either be 0 or 1, since we are operating on a binary image. + +![Calculating M][math_m] + +After this step, each component has an angle assigned which is then used in the first step of the classification. + +### Determining cell quality + +#### Discarding non-representative information +Cells containing none, or just one component are immediatelly discarded and not used for further processing. In addition, components which do not cover at least 6 px (M00) are exlucded from any subsequent calculations of the affected cell. This pre-filtered list serves as basis for determining the uniformity of the component's angles throughout a single cell. + +In case of a barcode each component in a cell should be ideally parallel to each other. But due to noise, distortion and other influences, this may vary at some degree. A simple clustering technique is applied to find out the similarity of such components. First off, all angles are clustered with a certain threshold, whereupon the cluster with the highest count of members is selected. Only if this cluster's member-size is greater that 3/4 th of the initial set (without the non-representative components) this cell is finally considered as being part of a barcode pattern. From now on, this cell is referred to as a patch, which contains the following information: + +- an index (unique identifier within the grid) +- the bounding box defining the cell +- all components and their associated moments +- an average angle (computed from the cluster) +- a vector pointing in the direction of orientation + +The following picture highlights the patches (cells) which were found during the classification process described above. + +![Image found patches][found_patches_image] + +It's noticable that some cells were falsely classified as being part of a barcode pattern. Those false positives can be taken care of by finding connected areas (consisting of more than one cell) and discarding all remaining cells. + +### Finding connected cells +Basically, cells can be considered part of a barcode if they are neighbors and share common properties. This grouping is archived by a simple recursive component-labeling algorithm which operates on similarity of orientation, instead of color. For a patch to become member of a label, its vector must point in the same direction as its neighbor's. In order to account for deviations caused by distortion and other geometric influences, the orientation can deviate up to 5 %. The next image illustrates those connected cells where the color defines a certain group. + +![Connected patch labels][connected_patch_labels] + +Sometimes even neighboring cells are colored differently. This happens if the orientation of those patches differ too much (> 5%). + +### Selecting groups +Next up is the selection of the groups which most probably contain a barcode. Because more than one barcode can be present in an image at the same time, groups are first sorted and then filtered by their count of patches. + +![Remaining patch labels][remaining_patch_labels] + +Only the biggest groups remain which are then passed on to the creation of a bounding-box. + +### Create bounding box +Finally all the information necessary for outlining the location of the barcode is available. In this last step, a minimum bounding box is created +which spans over all the patches in one group. First, the average angle of the containing patches is calculated which is then used to rotate the cells +by exactly this angle. After that a bounding-box is computed by simply finding the outermost corners of all the patches. + +![Rotated cells with box][transformed_patches] + +Finally, the bounding-box is rotated in the inverse direction to transform it back to its origin. + +![Bounding box][bounding_box_skeleton] + +As illustrated in the image above, the bounding-box is placed exactly where the barcode pattern is printed. Having a box like this helps a lot during the +actual decoding process because knowing the orientation and the rough area limits the scanning efforts. + +## Barcode Decoder + + + + +[teaser_image]: http://barcode.oberhofer.us/doc/img/teaser.png +[binary_image]: http://barcode.oberhofer.us/doc/img/binary.png +[skeleton_image]: http://barcode.oberhofer.us/doc/img/skeleton.png +[otsu_wiki]: http://en.wikipedia.org/wiki/Otsu%27s_method +[douglas_05]: http://www.icics.org/2005/download/P0840.pdf +[skeleton_wiki]: http://en.wikipedia.org/wiki/Morphological_skeleton +[labeling_wiki]: http://en.wikipedia.org/wiki/Connected-component_labeling +[labeling_codeproject]: http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization +[labeling_paper]: http://www.iis.sinica.edu.tw/papers/fchang/1362-F.pdf +[component_labeling_image]: http://barcode.oberhofer.us/doc/img/component-labeling.png +[component_labeling_lines_image]: http://barcode.oberhofer.us/doc/img/component-labeling-line.png +[component_labeling_text_image]: http://barcode.oberhofer.us/doc/img/component-labeling-text.png +[math_theta]: http://www.sciweavers.org/tex2img.php?eq=%5CTheta%20%3D%20%5Cfrac%7B1%7D%7B2%7D%20%5Carctan%20%5Cleft%28%20%5Cfrac%7B2%5Cmu%27_%7B11%7D%7D%7B%5Cmu%27_%7B20%7D%20-%20%5Cmu%27_%7B02%7D%7D%20%5Cright%29&bc=Transparent&fc=Black&im=png&fs=12&ff=arev&edit=0 +[math_mu]: http://www.sciweavers.org/tex2img.php?eq=%5Cmu%27_%7B11%7D%20%3D%20M_%7B11%7D%2FM_%7B00%7D%20-%20%5Cbar%7Bx%7D%5Cbar%7By%7D%20%5C%5C%0A%5Cmu%27_%7B02%7D%20%3D%20M_%7B02%7D%2FM_%7B00%7D%20-%20%5Cbar%7By%7D%5E2%20%5C%5C%0A%5Cmu%27_%7B20%7D%20%3D%20M_%7B20%7D%2FM_%7B00%7D%20-%20%5Cbar%7Bx%7D%5E2&bc=Transparent&fc=Black&im=png&fs=12&ff=arev&edit=0 +[math_x_y_bar]: http://www.sciweavers.org/tex2img.php?eq=%5Cbar%7Bx%7D%20%3D%20M_%7B10%7D%2FM_%7B00%7D%20%5C%5C%0A%5Cbar%7By%7D%20%3D%20M_%7B01%7D%2FM_%7B00%7D&bc=Transparent&fc=Black&im=png&fs=12&ff=arev&edit=0 +[math_m]: http://www.sciweavers.org/tex2img.php?eq=M_%7B00%7D%20%3D%20%5Csum_x%20%5Csum_y%20I%28x%2Cy%29%20%5C%5C%0AM_%7B10%7D%20%3D%20%5Csum_x%20%5Csum_y%20x%20I%28x%2Cy%29%20%5C%5C%0AM_%7B01%7D%20%3D%20%5Csum_x%20%5Csum_y%20y%20I%28x%2Cy%29%20%5C%5C%0AM_%7B11%7D%20%3D%20%5Csum_x%20%5Csum_y%20xy%20I%28x%2Cy%29%20%5C%5C%0AM_%7B20%7D%20%3D%20%5Csum_x%20%5Csum_y%20x%5E2%20I%28x%2Cy%29%20%5C%5C%0AM_%7B02%7D%20%3D%20%5Csum_x%20%5Csum_y%20y%5E2%20I%28x%2Cy%29&bc=Transparent&fc=Black&im=png&fs=12&ff=arev&edit=0 +[central_image_moments_wiki]: http://en.wikipedia.org/wiki/Image_moment#Central_moments +[found_patches_image]: http://barcode.oberhofer.us/doc/img/patches_found.png +[connected_patch_labels]: http://barcode.oberhofer.us/doc/img/connected-patch-labels.png +[remaining_patch_labels]: http://barcode.oberhofer.us/doc/img/remaining-patch-labels.png +[transformed_patches]: http://barcode.oberhofer.us/doc/img/bb-rotated.png +[bounding_box_skeleton]: http://barcode.oberhofer.us/doc/img/bb-binary.png \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..20f2c20 --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "quagga", + "version": "0.1.0", + "description": "This README would normally document whatever steps are necessary to get your application up and running.", + "main": "js/main.js", + "devDependencies": { + "grunt": "~0.4.5", + "grunt-contrib-jshint": "~0.10.0", + "grunt-contrib-nodeunit": "~0.4.1", + "grunt-contrib-uglify": "~0.5.0", + "grunt-requirejs": "^0.4.2" + }, + "directories": { + "doc": "doc" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC" +} diff --git a/src/array_helper.js b/src/array_helper.js new file mode 100644 index 0000000..223b9af --- /dev/null +++ b/src/array_helper.js @@ -0,0 +1,76 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(function() { + "use strict"; + + return { + init : function(arr, val) { + var l = arr.length; + while (l--) { + arr[l] = val; + } + }, + + /** + * Shuffles the content of an array + * @return {Array} the array itself shuffled + */ + shuffle : function(arr) { + var i = arr.length - 1, j, x; + for (i; i >= 0; i--) { + j = Math.floor(Math.random() * i); + x = arr[i]; + arr[i] = arr[j]; + arr[j] = x; + } + return arr; + }, + + toPointList : function(arr) { + var i, j, row = [], rows = []; + for ( i = 0; i < arr.length; i++) { + row = []; + for ( j = 0; j < arr[i].length; j++) { + row[j] = arr[i][j]; + } + rows[i] = "[" + row.join(",") + "]"; + } + return "[" + rows.join(",\r\n") + "]"; + }, + + /** + * returns the elements which's score is bigger than the threshold + * @return {Array} the reduced array + */ + threshold : function(arr, threshold, scoreFunc) { + var i, queue = []; + for ( i = 0; i < arr.length; i++) { + if (scoreFunc.apply(arr, [arr[i]]) >= threshold) { + queue.push(arr[i]); + } + } + return queue; + }, + + maxIndex : function(arr) { + var i, max = 0; + for ( i = 0; i < arr.length; i++) { + if (arr[i] > arr[max]) { + max = i; + } + } + return max; + }, + + max : function(arr) { + var i, max = 0; + for ( i = 0; i < arr.length; i++) { + if (arr[i] > max) { + max = arr[i]; + } + } + return max; + } + }; +}); \ No newline at end of file diff --git a/src/barcode_decoder.js b/src/barcode_decoder.js new file mode 100644 index 0000000..c218fc8 --- /dev/null +++ b/src/barcode_decoder.js @@ -0,0 +1,247 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(["bresenham", "image_debug", 'code_128_reader', 'ean_reader'], function(Bresenham, ImageDebug, Code128Reader, EANReader) { + "use strict"; + + var readers = { + code_128_reader: Code128Reader, + ean_reader: EANReader + }; + var BarcodeDecoder = { + create : function(config, inputImageWrapper) { + var _canvas = { + ctx : { + frequency : null, + pattern : null, + overlay : null + }, + dom : { + frequency : null, + pattern : null, + overlay : null + } + }, + _barcodeReaders = [], + _barcodeReader = null; + + initCanvas(); + initReaders(); + initConfig(); + + function initCanvas() { + var $debug = document.querySelector("#debug.detection"); + _canvas.dom.frequency = document.querySelector("canvas.frequency"); + if (!_canvas.dom.frequency) { + _canvas.dom.frequency = document.createElement("canvas"); + _canvas.dom.frequency.className = "frequency"; + if($debug) { + $debug.appendChild(_canvas.dom.frequency); + } + } + _canvas.ctx.frequency = _canvas.dom.frequency.getContext("2d"); + + _canvas.dom.pattern = document.querySelector("canvas.patternBuffer"); + if (!_canvas.dom.pattern) { + _canvas.dom.pattern = document.createElement("canvas"); + _canvas.dom.pattern.className = "patternBuffer"; + if($debug) { + $debug.appendChild(_canvas.dom.pattern); + } + } + _canvas.ctx.pattern = _canvas.dom.pattern.getContext("2d"); + + _canvas.dom.overlay = document.querySelector("canvas.drawingBuffer"); + if (_canvas.dom.overlay) { + _canvas.ctx.overlay = _canvas.dom.overlay.getContext("2d"); + } + } + + function initReaders() { + var i; + for ( i = 0; i < config.readers.length; i++) { + console.log(config.readers[i]); + _barcodeReaders.push(new readers[config.readers[i]]()); + } + } + + function initConfig() { + var i, + vis = [{ + node : _canvas.dom.frequency, + prop : config.showFrequency + }, { + node : _canvas.dom.pattern, + prop : config.showPattern + }]; + + for (i = 0; i < vis.length; i++) { + if (vis[i].prop === true) { + vis[i].node.style.display = "block"; + } else { + vis[i].node.style.display = "none"; + } + } + } + + /** + * extend the line on both ends + * @param {Array} line + * @param {Number} angle + */ + function getExtendedLine(line, angle, ext) { + var extension = { + y : ext * Math.sin(angle), + x : ext * Math.cos(angle) + }; + + line[0].y -= extension.y; + line[0].x -= extension.x; + line[1].y += extension.y; + line[1].x += extension.x; + + // check if inside image + if (!inputImageWrapper.inImageWithBorder(line[0], 0) || !inputImageWrapper.inImageWithBorder(line[1], 0)) { + return null; + } + return line; + } + + function getLine(box) { + return [{ + x : (box[1][0] - box[0][0]) / 2 + box[0][0], + y : (box[1][1] - box[0][1]) / 2 + box[0][1] + }, { + x : (box[3][0] - box[2][0]) / 2 + box[2][0], + y : (box[3][1] - box[2][1]) / 2 + box[2][1] + }]; + } + + function tryDecode(line) { + var result = null, + i, + barcodeLine = Bresenham.getBarcodeLine(inputImageWrapper, line[0], line[1]); + + if (config.showFrequency) { + ImageDebug.drawPath(line, {x: 'x', y: 'y'}, _canvas.ctx.overlay, {color: 'red', lineWidth: 3}); + Bresenham.debug.printFrequency(barcodeLine.line, _canvas.dom.frequency); + } + Bresenham.toBinaryLine(barcodeLine); + if (config.showPattern) { + Bresenham.debug.printPattern(barcodeLine.line, _canvas.dom.pattern); + } + + for ( i = 0; i < _barcodeReaders.length && result === null; i++) { + result = _barcodeReaders[i].decodePattern(barcodeLine.line); + if (result !== null) { + _barcodeReader = _barcodeReaders[i]; + } + } + if(result === null){ + return null; + } + return { + codeResult: result, + barcodeLine: barcodeLine + }; + + } + + /** + * This method slices the given area apart and tries to detect a barcode-pattern + * for each slice. It returns the decoded barcode, or null if nothing was found + * @param {Array} box + * @param {Array} line + * @param {Number} lineAngle + */ + function tryDecodeBruteForce(box, line, lineAngle) { + var sideLength = Math.sqrt(Math.pow(box[1][0] - box[0][0], 2) + Math.pow((box[1][1] - box[0][1]), 2)), + i, + slices = 16, + result = null, + dir, + extension, + xdir = Math.sin(lineAngle), + ydir = Math.cos(lineAngle); + + for ( i = 1; i < slices && result === null; i++) { + // move line perpendicular to angle + dir = sideLength / slices * i * (i % 2 === 0 ? -1 : 1); + extension = { + y : dir * xdir, + x : dir * ydir + }; + line[0].y += extension.x; + line[0].x -= extension.y; + line[1].y += extension.x; + line[1].x -= extension.y; + + result = tryDecode(line); + } + return result; + } + + /** + * With the help of the configured readers (Code128 or EAN) this function tries to detect a + * valid barcode pattern within the given area. + * @param {Object} box The area to search in + * @returns {Object} the result {codeResult, line, angle, pattern, threshold} + */ + function decodeFromBoundingBox(box) { + var line, + lineAngle, + ctx = _canvas.ctx.overlay, + result; + + if (config.drawBoundingBox && ctx) { + ImageDebug.drawPath(box, {x: 0, y: 1}, ctx, {color: "blue", lineWidth: 2}); + } + + line = getLine(box); + lineAngle = Math.atan2(line[1].y - line[0].y, line[1].x - line[0].x); + line = getExtendedLine(line, lineAngle, 10); + if(line === null){ + return null; + } + + result = tryDecode(line); + if(result === null) { + result = tryDecodeBruteForce(box, line, lineAngle); + } + + if(result === null) { + return null; + } + + if (result && config.drawScanline && ctx) { + ImageDebug.drawPath(line, {x: 'x', y: 'y'}, ctx, {color: 'red', lineWidth: 3}); + } + + return { + codeResult : result.codeResult, + line : line, + angle : lineAngle, + pattern : result.barcodeLine.line, + threshold : result.barcodeLine.threshold + }; + } + + return { + decodeFromBoundingBox : function(box) { + return decodeFromBoundingBox(box); + }, + decodeFromBoundingBoxes : function(boxes) { + var i, result; + for ( i = 0; i < boxes.length; i++) { + result = decodeFromBoundingBox(boxes[i]); + if (result && result.codeResult) { + return result; + } + } + } + }; + } + }; + + return (BarcodeDecoder); +}); \ No newline at end of file diff --git a/src/barcode_locator.js b/src/barcode_locator.js new file mode 100644 index 0000000..86b385f --- /dev/null +++ b/src/barcode_locator.js @@ -0,0 +1,515 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, mat2, vec2 */ + +define(["image_wrapper", "cv_utils", "rasterizer", "tracer", "skeletonizer", "array_helper", "image_debug"], +function(ImageWrapper, CVUtils, Rasterizer, Tracer, skeletonizer, ArrayHelper, ImageDebug) { + "use strict"; + + var _config, + _currentImageWrapper, + _skelImageWrapper, + _subImageWrapper, + _labelImageWrapper, + _patchGrid, + _patchLabelGrid, + _imageToPatchGrid, + _binaryImageWrapper, + _halfSample = true, + _patchSize, + _canvasContainer = { + ctx : { + binary : null + }, + dom : { + binary : null + } + }, + _numPatches = {x: 0, y: 0}, + _inputImageWrapper, + _skeletonizer; + + function initBuffers() { + var skeletonImageData; + + if (_halfSample) { + _currentImageWrapper = new ImageWrapper({ + x : _inputImageWrapper.size.x / 2 | 0, + y : _inputImageWrapper.size.y / 2 | 0 + }); + } else { + _currentImageWrapper = _inputImageWrapper; + } + + _patchSize = { + x : 16 * ( _halfSample ? 1 : 2), + y : 16 * ( _halfSample ? 1 : 2) + }; + + _numPatches.x = _currentImageWrapper.size.x / _patchSize.x | 0; + _numPatches.y = _currentImageWrapper.size.y / _patchSize.y | 0; + + _binaryImageWrapper = new ImageWrapper(_currentImageWrapper.size, undefined, Uint8Array, false); + + _labelImageWrapper = new ImageWrapper(_patchSize, undefined, Array, true); + + skeletonImageData = new ArrayBuffer(_patchSize.x * _patchSize.y * 16); + _subImageWrapper = new ImageWrapper(_patchSize, new Uint8Array(skeletonImageData, 0, _patchSize.x * _patchSize.y)); + _skelImageWrapper = new ImageWrapper(_patchSize, new Uint8Array(skeletonImageData, _patchSize.x * _patchSize.y * 3, _patchSize.x * _patchSize.y), undefined, true); + _skeletonizer = skeletonizer(window, { + size : _patchSize.x + }, skeletonImageData); + + _imageToPatchGrid = new ImageWrapper({ + x : (_currentImageWrapper.size.x / _subImageWrapper.size.x) | 0, + y : (_currentImageWrapper.size.y / _subImageWrapper.size.y) | 0 + }, undefined, Array, true); + _patchGrid = new ImageWrapper(_imageToPatchGrid.size, undefined, undefined, true); + _patchLabelGrid = new ImageWrapper(_imageToPatchGrid.size, undefined, Int32Array, true); + } + + function initCanvas() { + _canvasContainer.dom.binary = document.createElement("canvas"); + _canvasContainer.dom.binary.className = "binaryBuffer"; + if (_config.showCanvas === true) { + document.querySelector("#debug").appendChild(_canvasContainer.dom.binary); + } + _canvasContainer.ctx.binary = _canvasContainer.dom.binary.getContext("2d"); + _canvasContainer.dom.binary.width = _binaryImageWrapper.size.x; + _canvasContainer.dom.binary.height = _binaryImageWrapper.size.y; + } + + /** + * Creates a bounding box which encloses all the given patches + * @returns {Array} The minimal bounding box + */ + function boxFromPatches(patches) { + var overAvg, i, j, patch, transMat, minx = _binaryImageWrapper.size.x, miny = _binaryImageWrapper.size.y, maxx = -_binaryImageWrapper.size.x, maxy = -_binaryImageWrapper.size.y, box, scale; + + // draw all patches which are to be taken into consideration + overAvg = 0; + for ( i = 0; i < patches.length; i++) { + patch = patches[i]; + overAvg += patch.rad; + if (_config.showPatches) { + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "red"}); + } + } + + overAvg /= patches.length; + overAvg = (overAvg * 180 / Math.PI + 90) % 180 - 90; + if (overAvg < 0) { + overAvg += 180; + } + + //console.log(overAvg); + overAvg = (180 - overAvg) * Math.PI / 180; + transMat = mat2.create([Math.cos(overAvg), -Math.sin(overAvg), Math.sin(overAvg), Math.cos(overAvg)]); + + // iterate over patches and rotate by angle + for ( i = 0; i < patches.length; i++) { + patch = patches[i]; + for ( j = 0; j < 4; j++) { + mat2.xVec2(transMat, patch.box[j]); + } + + if (_config.boxFromPatches.showTransformed) { + ImageDebug.drawPath(patch.box, {x: 0, y: 1}, _canvasContainer.ctx.binary, {color: '#99ff00', lineWidth: 2}); + } + } + + // find bounding box + for ( i = 0; i < patches.length; i++) { + patch = patches[i]; + for ( j = 0; j < 4; j++) { + if (patch.box[j][0] < minx) { + minx = patch.box[j][0]; + } + if (patch.box[j][0] > maxx) { + maxx = patch.box[j][0]; + } + if (patch.box[j][1] < miny) { + miny = patch.box[j][1]; + } + if (patch.box[j][1] > maxy) { + maxy = patch.box[j][1]; + } + } + } + + box = [[minx, miny], [maxx, miny], [maxx, maxy], [minx, maxy]]; + + if (_config.boxFromPatches.showTransformedBox) { + ImageDebug.drawPath(box, {x: 0, y: 1}, _canvasContainer.ctx.binary, {color: '#ff0000', lineWidth: 2}); + } + + scale = _halfSample ? 2 : 1; + // reverse rotation; + transMat = mat2.inverse(transMat); + for ( j = 0; j < 4; j++) { + mat2.xVec2(transMat, box[j]); + } + + if (_config.boxFromPatches.showBB) { + ImageDebug.drawPath(box, {x: 0, y: 1}, _canvasContainer.ctx.binary, {color: '#ff0000', lineWidth: 2}); + } + + for ( j = 0; j < 4; j++) { + vec2.scale(box[j], scale); + } + + return box; + } + + /** + * Creates a binary image of the current image + */ + function binarizeImage() { + CVUtils.otsuThreshold(_currentImageWrapper, _binaryImageWrapper); + _binaryImageWrapper.zeroBorder(); + if (_config.showCanvas) { + _binaryImageWrapper.show(_canvasContainer.dom.binary, 255); + } + } + + /** + * Iterate over the entire image + * extract patches + */ + function findPatches() { + var i, + j, + x, + y, + moments, + patchesFound = [], + rasterizer, + rasterResult, + patch; + for ( i = 0; i < _numPatches.x; i++) { + for ( j = 0; j < _numPatches.y; j++) { + + x = _subImageWrapper.size.x * i; + y = _subImageWrapper.size.y * j; + + // seperate parts + skeletonize(x, y); + + // Rasterize, find individual bars + _skelImageWrapper.zeroBorder(); + ArrayHelper.init(_labelImageWrapper.data, 0); + rasterizer = Rasterizer.create(_skelImageWrapper, _labelImageWrapper); + rasterResult = rasterizer.rasterize(0); + + if (_config.showLabels) { + _labelImageWrapper.overlay(_canvasContainer.dom.binary, Math.floor(360 / rasterResult.count), {x : x, y : y}); + } + + // calculate moments from the skeletonized patch + moments = _labelImageWrapper.moments(rasterResult.count); + + // extract eligible patches + patchesFound = patchesFound.concat(describePatch(moments, [i, j], x, y)); + } + } + + if (_config.showFoundPatches) { + for ( i = 0; i < patchesFound.length; i++) { + patch = patchesFound[i]; + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "99ff00", lineWidth: 2}); + } + } + + return patchesFound; + } + + /** + * Finds those connected areas which contain at least 6 patches + * and returns them ordered DESC by the number of contained patches + * @param {Number} maxLabel + */ + function findBiggestConnectedAreas(maxLabel){ + var i, + sum, + labelHist = [], + topLabels = []; + + for ( i = 0; i < maxLabel; i++) { + labelHist.push(0); + } + sum = _patchLabelGrid.data.length; + while (sum--) { + if (_patchLabelGrid.data[sum] > 0) { + labelHist[_patchLabelGrid.data[sum] - 1]++; + } + } + + labelHist = labelHist.map(function(val, idx) { + return { + val : val, + label : idx + 1 + }; + }); + + labelHist.sort(function(a, b) { + return b.val - a.val; + }); + + // extract top areas with at least 6 patches present + topLabels = labelHist.filter(function(el) { + return el.val >= 5; + }); + + return topLabels; + } + + /** + * + */ + function findBoxes(topLabels, maxLabel) { + var i, + j, + sum, + patches = [], + patch, + box, + boxes = [], + hsv = [0, 1, 1], + rgb = [0, 0, 0]; + + for ( i = 0; i < topLabels.length; i++) { + sum = _patchLabelGrid.data.length; + patches.length = 0; + while (sum--) { + if (_patchLabelGrid.data[sum] === topLabels[i].label) { + patch = _imageToPatchGrid.data[sum]; + patches.push(patch); + } + } + box = boxFromPatches(patches); + if (box) { + boxes.push(box); + + // draw patch-labels if requested + if (_config.showRemainingPatchLabels) { + for ( j = 0; j < patches.length; j++) { + patch = patches[j]; + hsv[0] = (topLabels[i].label / (maxLabel + 1)) * 360; + CVUtils.hsv2rgb(hsv, rgb); + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "rgb(" + rgb.join(",") + ")", lineWidth: 2}); + } + } + } + } + return boxes; + } + + /** + * Find similar moments (via cluster) + * @param {Object} moments + */ + function similarMoments(moments) { + var clusters = CVUtils.cluster(moments, 0.90); + var topCluster = CVUtils.topGeneric(clusters, 1, function(e) { + return e.getPoints().length; + }); + var points = [], result = []; + if (topCluster.length === 1) { + points = topCluster[0].item.getPoints(); + for (var i = 0; i < points.length; i++) { + result.push(points[i].point); + } + } + return result; + } + + function skeletonize(x, y) { + _binaryImageWrapper.subImageAsCopy(_subImageWrapper, CVUtils.imageRef(x, y)); + _skeletonizer.skeletonize(); + + // Show skeleton if requested + if (_config.showSkeleton) { + _skelImageWrapper.overlay(_canvasContainer.dom.binary, 360, CVUtils.imageRef(x, y)); + } + } + + /** + * Extracts and describes those patches which seem to contain a barcode pattern + * @param {Array} moments + * @param {Object} patchPos, + * @param {Number} x + * @param {Number} y + * @returns {Array} list of patches + */ + function describePatch(moments, patchPos, x, y) { + var k, avg, sum = 0, eligibleMoments = [], matchingMoments, patch, patchesFound = []; + if (moments.length >= 2) { + // only collect moments which's area covers at least 6 pixels. + for ( k = 0; k < moments.length; k++) { + if (moments[k].m00 > 6) { + eligibleMoments.push(moments[k]); + } + } + + // if at least 2 moments are found which have 6pixels covered + if (eligibleMoments.length >= 2) { + sum = eligibleMoments.length; + matchingMoments = similarMoments(eligibleMoments); + avg = 0; + // determine the similarity of the moments + for ( k = 0; k < matchingMoments.length; k++) { + avg += matchingMoments[k].rad; + } + + // Only two of the moments are allowed not to fit into the equation + // add the patch to the set + if (matchingMoments.length > 1 && matchingMoments.length >= (eligibleMoments.length / 4) * 3 && matchingMoments.length > moments.length / 4) { + avg /= matchingMoments.length; + patch = { + index : patchPos[1] * _numPatches.x + patchPos[0], + pos : { + x : x, + y : y + }, + box : [vec2.create([x, y]), vec2.create([x + _subImageWrapper.size.x, y]), vec2.create([x + _subImageWrapper.size.x, y + _subImageWrapper.size.y]), vec2.create([x, y + _subImageWrapper.size.y])], + moments : matchingMoments, + rad : avg, + vec : vec2.create([Math.cos(avg), Math.sin(avg)]) + }; + patchesFound.push(patch); + } + } + } + return patchesFound; + } + + /** + * finds patches which are connected and share the same orientation + * @param {Object} patchesFound + */ + function rasterizeAngularSimilarity(patchesFound) { + var label = 0, + threshold = 0.95, + currIdx = 0, + j, + patch, + hsv = [0, 1, 1], + rgb = [0, 0, 0]; + + function notYetProcessed() { + var i; + for ( i = 0; i < _patchLabelGrid.data.length; i++) { + if (_patchLabelGrid.data[i] === 0 && _patchGrid.data[i] === 1) { + return i; + } + } + return _patchLabelGrid.length; + } + + function trace(currentIdx) { + var x, y, currentPatch, patch, idx, dir, current = { + x : currentIdx % _patchLabelGrid.size.x, + y : (currentIdx / _patchLabelGrid.size.x) | 0 + }, similarity; + + if (currentIdx < _patchLabelGrid.data.length) { + currentPatch = _imageToPatchGrid.data[currentIdx]; + // assign label + _patchLabelGrid.data[currentIdx] = label; + for ( dir = 0; dir < Tracer.searchDirections.length; dir++) { + y = current.y + Tracer.searchDirections[dir][0]; + x = current.x + Tracer.searchDirections[dir][1]; + idx = y * _patchLabelGrid.size.x + x; + + // continue if patch empty + if (_patchGrid.data[idx] === 0) { + _patchLabelGrid.data[idx] = Number.MAX_VALUE; + continue; + } + + patch = _imageToPatchGrid.data[idx]; + if (_patchLabelGrid.data[idx] === 0) { + similarity = Math.abs(vec2.dot(patch.vec, currentPatch.vec)); + if (similarity > threshold) { + trace(idx); + } + } + } + } + } + + // prepare for finding the right patches + ArrayHelper.init(_patchGrid.data, 0); + ArrayHelper.init(_patchLabelGrid.data, 0); + ArrayHelper.init(_imageToPatchGrid.data, null); + + for ( j = 0; j < patchesFound.length; j++) { + patch = patchesFound[j]; + _imageToPatchGrid.data[patch.index] = patch; + _patchGrid.data[patch.index] = 1; + } + + // rasterize the patches found to determine area + _patchGrid.zeroBorder(); + + while (( currIdx = notYetProcessed()) < _patchLabelGrid.data.length) { + label++; + trace(currIdx); + } + + // draw patch-labels if requested + if (_config.showPatchLabels) { + for ( j = 0; j < _patchLabelGrid.data.length; j++) { + if (_patchLabelGrid.data[j] > 0 && _patchLabelGrid.data[j] <= label) { + patch = _imageToPatchGrid.data[j]; + hsv[0] = (_patchLabelGrid.data[j] / (label + 1)) * 360; + CVUtils.hsv2rgb(hsv, rgb); + ImageDebug.drawRect(patch.pos, _subImageWrapper.size, _canvasContainer.ctx.binary, {color: "rgb(" + rgb.join(",") + ")", lineWidth: 2}); + } + } + } + + return label; + } + + return { + init : function(config, data) { + _config = config; + _inputImageWrapper = data.inputImageWrapper; + initBuffers(); + initCanvas(); + }, + locate : function() { + var patchesFound, + topLabels = [], + boxes = []; + + if (_halfSample) { + CVUtils.halfSample(_inputImageWrapper, _currentImageWrapper); + } + + binarizeImage(); + patchesFound = findPatches(); + // return unless 5% or more patches are found + if (patchesFound.length < _numPatches.x * _numPatches.y * 0.05) { + return; + } + + // rasterrize area by comparing angular similarity; + var maxLabel = rasterizeAngularSimilarity(patchesFound); + if (maxLabel <= 1) { + return null; + } + + // search for area with the most patches (biggest connected area) + topLabels = findBiggestConnectedAreas(maxLabel); + if (topLabels.length === 0) { + return null; + } + + boxes = findBoxes(topLabels, maxLabel); + + return boxes; + } + }; +}); + diff --git a/src/barcode_reader.js b/src/barcode_reader.js new file mode 100644 index 0000000..fc39ccf --- /dev/null +++ b/src/barcode_reader.js @@ -0,0 +1,169 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define( + function() { + "use strict"; + + function BarcodeReader() { + this._row = []; + return this; + } + + BarcodeReader.prototype._nextUnset = function(line, start) { + var i; + + if (start === undefined) { + start = 0; + } + for (i = start; i < line.length; i++) { + if (!line[i]) { + return i; + } + } + return line.length; + }; + + BarcodeReader.prototype._matchPattern = function(counter, code) { + var i, + error = 0; + + for (i = 0; i < counter.length; i++) { + error += Math.abs(code[i] - counter[i]); + } + return error; + }; + + BarcodeReader.prototype._nextSet = function(line) { + var i; + + for (i = 0; i < line.length; i++) { + if (line[i]) { + return i; + } + } + return line.length; + }; + + BarcodeReader.prototype._normalize = function(counter, modulo) { + var i, + self = this, + sum = 0, + ratio, + numOnes = 0, + normalized = [], + norm = 0; + + if (!modulo) { + modulo = self.MODULO; + } + for (i = 0; i < counter.length; i++) { + if (counter[i] === 1) { + numOnes++; + } else { + sum += counter[i]; + } + } + ratio = sum / (modulo - numOnes); + for (i = 0; i < counter.length; i++) { + norm = counter[i] === 1 ? counter[i] : counter[i] / ratio; + normalized.push(norm); + } + return normalized; + }; + + BarcodeReader.prototype._matchTrace = function(cmpCounter, epsilon) { + var counter = [], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0 + }, + error; + + if (cmpCounter) { + for ( i = 0; i < cmpCounter.length; i++) { + counter.push(0); + } + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + error = self._matchPattern(counter, cmpCounter); + + if (error < epsilon) { + bestMatch.start = i - offset; + bestMatch.end = i; + bestMatch.counter = counter; + return bestMatch; + } else { + return null; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } else { + counter.push(0); + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + counterPos++; + counter.push(0); + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + } + + // if cmpCounter was not given + bestMatch.start = offset; + bestMatch.end = self._row.length - 1; + bestMatch.counter = counter; + return bestMatch; + }; + + BarcodeReader.prototype.decodePattern = function(pattern) { + var self = this, + result; + + self._row = pattern; + result = self._decode(); + if (result === null) { + self._row.reverse(); + result = self._decode(); + if (result) { + result.direction = BarcodeReader.DIRECTION.REVERSE; + result.start = self._row.length - result.start; + result.end = self._row.length - result.end; + } + } else { + result.direction = BarcodeReader.DIRECTION.FORWARD; + } + return result; + }; + + BarcodeReader.DIRECTION = { + FORWARD : 1, + REVERSE : -1 + }; + + BarcodeReader.Exception = { + StartNotFoundException : "Start-Info was not found!", + CodeNotFoundException : "Code could not be found!", + PatternNotFoundException : "Pattern could not be found!" + }; + + return (BarcodeReader); + } +); diff --git a/src/bresenham.js b/src/bresenham.js new file mode 100644 index 0000000..1504f4a --- /dev/null +++ b/src/bresenham.js @@ -0,0 +1,201 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(function() { + "use strict"; + var Bresenham = {}; + + var Slope = { + DIR : { + UP : 1, + DOWN : -1 + } + }; + /** + * Scans a line of the given image from point p1 to p2 and returns a result object containing + * gray-scale values (0-255) of the underlying pixels in addition to the min + * and max values. + * @param {Object} imageWrapper + * @param {Object} p1 The start point {x,y} + * @param {Object} p2 The end point {x,y} + * @returns {line, min, max} + */ + Bresenham.getBarcodeLine = function(imageWrapper, p1, p2) { + var x0 = p1.x | 0, + y0 = p1.y | 0, + x1 = p2.x | 0, + y1 = p2.y | 0, + steep = Math.abs(y1 - y0) > Math.abs(x1 - x0), + deltax, + deltay, + error, + ystep, + y, + tmp, + x, + line = [], + imageData = imageWrapper.data, + width = imageWrapper.size.x, + sum = 0, + val, + min = 255, + max = 0; + + function read(a, b) { + val = imageData[b * width + a]; + sum += val; + min = val < min ? val : min; + max = val > max ? val : max; + line.push(val); + } + + if (steep) { + tmp = x0; + x0 = y0; + y0 = tmp; + + tmp = x1; + x1 = y1; + y1 = tmp; + } + if (x0 > x1) { + tmp = x0; + x0 = x1; + x1 = tmp; + + tmp = y0; + y0 = y1; + y1 = tmp; + } + deltax = x1 - x0; + deltay = Math.abs(y1 - y0); + error = (deltax / 2) | 0; + y = y0; + ystep = y0 < y1 ? 1 : -1; + for ( x = x0; x < x1; x++) { + if(steep){ + read(y, x); + } else { + read(x, y); + } + error = error - deltay; + if (error < 0) { + y = y + ystep; + error = error + deltax; + } + } + + return { + line : line, + min : min, + max : max + }; + }; + + /** + * Converts the result from getBarcodeLine into a binary representation + * also considering the frequency and slope of the signal for more robust results + * @param {Object} result {line, min, max} + */ + Bresenham.toBinaryLine = function(result) { + + var min = result.min, + max = result.max, + line = result.line, + slope, + center = min + (max - min) / 2, + extrema = [], + currentDir, + dir, + threshold = (max - min) / 8, + rThreshold = -threshold, + i, + j; + + // 1. find extrema + currentDir = line[0] > center ? Slope.DIR.DOWN : Slope.DIR.UP; + extrema.push({ + pos : 0, + val : line[0] + }); + for ( i = 0; i < line.length - 1; i++) { + slope = (line[i + 1] - line[i]); + if (slope < rThreshold) { + dir = Slope.DIR.UP; + } else if (slope > threshold) { + dir = Slope.DIR.DOWN; + } else { + dir = currentDir; + } + + if (currentDir !== dir) { + extrema.push({ + pos : i, + val : line[i] + }); + currentDir = dir; + } + } + extrema.push({ + pos : line.length, + val : line[line.length - 1] + }); + + for ( j = extrema[0].pos; j < extrema[1].pos; j++) { + line[j] = line[j] > center ? 0 : 1; + } + + // iterate over extrema and convert to binary based on avg between minmax + for ( i = 1; i < extrema.length - 1; i++) { + if (extrema[i + 1].val > extrema[i].val) { + threshold = (extrema[i].val + (extrema[i + 1].val - extrema[i].val) / 2) | 0; + } else { + threshold = (extrema[i + 1].val + (extrema[i].val - extrema[i + 1].val) / 2) | 0; + } + + for ( j = extrema[i].pos; j < extrema[i + 1].pos; j++) { + line[j] = line[j] > threshold ? 0 : 1; + } + } + + return { + line : line, + threshold : threshold + }; + }; + + /** + * Used for development only + */ + Bresenham.debug = { + printFrequency: function(line, canvas) { + var i, + ctx = canvas.getContext("2d"); + canvas.width = line.length; + canvas.height = 256; + + ctx.beginPath(); + ctx.strokeStyle = "blue"; + for ( i = 0; i < line.length; i++) { + ctx.moveTo(i, 255); + ctx.lineTo(i, 255 - line[i]); + } + ctx.stroke(); + ctx.closePath(); + }, + + printPattern: function(line, canvas) { + var ctx = canvas.getContext("2d"), i; + + canvas.width = line.length; + ctx.fillColor = "black"; + for ( i = 0; i < line.length; i++) { + if (line[i] === 1) { + ctx.fillRect(i, 0, 1, 100); + } + } + } + }; + + return (Bresenham); +}); \ No newline at end of file diff --git a/src/camera_access.js b/src/camera_access.js new file mode 100644 index 0000000..9d754bf --- /dev/null +++ b/src/camera_access.js @@ -0,0 +1,94 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, MediaStreamTrack */ + +define(function() { + "use strict"; + + /** + * Wraps browser-specific getUserMedia + * @param {Object} constraints + * @param {Object} success Callback + * @param {Object} failure Callback + */ + function getUserMedia(constraints, success, failure) { + navigator.getUserMedia(constraints, function(stream) { + var videoSrc = (window.URL && window.URL.createObjectURL(stream)) || stream; + success.apply(null, [videoSrc]); + }, failure); + } + + /** + * Tries to attach the camer-stream to a given video-element + * and calls the callback function when the content is ready + * @param {Object} constraints + * @param {Object} video + * @param {Object} callback + */ + function initCamera(constraints, video, callback) { + getUserMedia(constraints, function(src) { + video.src = src; + video.addEventListener('loadeddata', function() { + var attempts = 10; + + function checkVideo() { + if (attempts > 0) { + if (video.videoWidth > 0 && video.videoHeight > 0) { + console.log(video.videoWidth + "px x " + video.videoHeight + "px"); + callback(); + } else { + window.setTimeout(checkVideo, 500); + } + } else { + callback('Unable to play video stream. Is webcam working?'); + } + attempts--; + } + + checkVideo(); + }, false); + video.play(); + }, function(e) { + console.log(e); + }); + } + + /** + * Requests the back-facing camera of the user. The callback is called + * whenever the stream is ready to be consumed, or if an error occures. + * @param {Object} video + * @param {Object} callback + */ + function request(video, callback) { + if ( typeof MediaStreamTrack.getSources !== 'undefined') { + MediaStreamTrack.getSources(function(sourceInfos) { + var videoSourceId; + for (var i = 0; i != sourceInfos.length; ++i) { + var sourceInfo = sourceInfos[i]; + if (sourceInfo.kind == "video" && sourceInfo.facing == "environment") { + videoSourceId = sourceInfo.id; + } + } + var constraints = { + audio : false, + video : { + optional : [{ + sourceId : videoSourceId + }] + } + }; + initCamera(constraints, video, callback); + }); + } else { + initCamera({ + video : true, + audio : false + }, video, callback); + } + } + + return { + request : function(video, callback) { + request(video, callback); + } + }; +}); \ No newline at end of file diff --git a/src/cluster.js b/src/cluster.js new file mode 100644 index 0000000..f44ab46 --- /dev/null +++ b/src/cluster.js @@ -0,0 +1,71 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2 */ + +define(function() { + "use strict"; + + /** + * Creates a cluster for grouping similar orientations of datapoints + */ + var Cluster = { + create : function(point, threshold) { + var points = [], center = { + rad : 0, + vec : vec2.create([0, 0]) + }, pointMap = {}; + + function init() { + add(point); + updateCenter(); + } + + function add(point) { + pointMap[point.id] = point; + points.push(point); + } + + function updateCenter() { + var i, sum = 0; + for ( i = 0; i < points.length; i++) { + sum += points[i].rad; + } + center.rad = sum / points.length; + center.vec = vec2.create([Math.cos(center.rad), Math.sin(center.rad)]); + } + + init(); + + return { + add : function(point) { + if (!pointMap[point.id]) { + add(point); + updateCenter(); + } + }, + fits : function(point) { + // check cosine similarity to center-angle + var similarity = Math.abs(vec2.dot(point.point.vec, center.vec)); + if (similarity > threshold) { + return true; + } + return false; + }, + getPoints : function() { + return points; + }, + getCenter : function() { + return center; + } + }; + }, + createPoint : function(point, id, property) { + return { + rad : point[property], + point : point, + id : id + }; + } + }; + + return (Cluster); +}); diff --git a/src/code_128_reader.js b/src/code_128_reader.js new file mode 100644 index 0000000..1a69328 --- /dev/null +++ b/src/code_128_reader.js @@ -0,0 +1,448 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define( + [ + "./barcode_reader" + ], + function(BarcodeReader) { + "use strict"; + + function Code128Reader() { + BarcodeReader.call(this); + } + + var properties = { + CODE_SHIFT : {value: 98}, + CODE_C : {value: 99}, + CODE_B : {value: 100}, + CODE_A : {value: 101}, + START_CODE_A : {value: 103}, + START_CODE_B : {value: 104}, + START_CODE_C : {value: 105}, + STOP_CODE : {value: 106}, + MODULO : {value: 11}, + CODE_PATTERN : {value: [ + [2, 1, 2, 2, 2, 2], + [2, 2, 2, 1, 2, 2], + [2, 2, 2, 2, 2, 1], + [1, 2, 1, 2, 2, 3], + [1, 2, 1, 3, 2, 2], + [1, 3, 1, 2, 2, 2], + [1, 2, 2, 2, 1, 3], + [1, 2, 2, 3, 1, 2], + [1, 3, 2, 2, 1, 2], + [2, 2, 1, 2, 1, 3], + [2, 2, 1, 3, 1, 2], + [2, 3, 1, 2, 1, 2], + [1, 1, 2, 2, 3, 2], + [1, 2, 2, 1, 3, 2], + [1, 2, 2, 2, 3, 1], + [1, 1, 3, 2, 2, 2], + [1, 2, 3, 1, 2, 2], + [1, 2, 3, 2, 2, 1], + [2, 2, 3, 2, 1, 1], + [2, 2, 1, 1, 3, 2], + [2, 2, 1, 2, 3, 1], + [2, 1, 3, 2, 1, 2], + [2, 2, 3, 1, 1, 2], + [3, 1, 2, 1, 3, 1], + [3, 1, 1, 2, 2, 2], + [3, 2, 1, 1, 2, 2], + [3, 2, 1, 2, 2, 1], + [3, 1, 2, 2, 1, 2], + [3, 2, 2, 1, 1, 2], + [3, 2, 2, 2, 1, 1], + [2, 1, 2, 1, 2, 3], + [2, 1, 2, 3, 2, 1], + [2, 3, 2, 1, 2, 1], + [1, 1, 1, 3, 2, 3], + [1, 3, 1, 1, 2, 3], + [1, 3, 1, 3, 2, 1], + [1, 1, 2, 3, 1, 3], + [1, 3, 2, 1, 1, 3], + [1, 3, 2, 3, 1, 1], + [2, 1, 1, 3, 1, 3], + [2, 3, 1, 1, 1, 3], + [2, 3, 1, 3, 1, 1], + [1, 1, 2, 1, 3, 3], + [1, 1, 2, 3, 3, 1], + [1, 3, 2, 1, 3, 1], + [1, 1, 3, 1, 2, 3], + [1, 1, 3, 3, 2, 1], + [1, 3, 3, 1, 2, 1], + [3, 1, 3, 1, 2, 1], + [2, 1, 1, 3, 3, 1], + [2, 3, 1, 1, 3, 1], + [2, 1, 3, 1, 1, 3], + [2, 1, 3, 3, 1, 1], + [2, 1, 3, 1, 3, 1], + [3, 1, 1, 1, 2, 3], + [3, 1, 1, 3, 2, 1], + [3, 3, 1, 1, 2, 1], + [3, 1, 2, 1, 1, 3], + [3, 1, 2, 3, 1, 1], + [3, 3, 2, 1, 1, 1], + [3, 1, 4, 1, 1, 1], + [2, 2, 1, 4, 1, 1], + [4, 3, 1, 1, 1, 1], + [1, 1, 1, 2, 2, 4], + [1, 1, 1, 4, 2, 2], + [1, 2, 1, 1, 2, 4], + [1, 2, 1, 4, 2, 1], + [1, 4, 1, 1, 2, 2], + [1, 4, 1, 2, 2, 1], + [1, 1, 2, 2, 1, 4], + [1, 1, 2, 4, 1, 2], + [1, 2, 2, 1, 1, 4], + [1, 2, 2, 4, 1, 1], + [1, 4, 2, 1, 1, 2], + [1, 4, 2, 2, 1, 1], + [2, 4, 1, 2, 1, 1], + [2, 2, 1, 1, 1, 4], + [4, 1, 3, 1, 1, 1], + [2, 4, 1, 1, 1, 2], + [1, 3, 4, 1, 1, 1], + [1, 1, 1, 2, 4, 2], + [1, 2, 1, 1, 4, 2], + [1, 2, 1, 2, 4, 1], + [1, 1, 4, 2, 1, 2], + [1, 2, 4, 1, 1, 2], + [1, 2, 4, 2, 1, 1], + [4, 1, 1, 2, 1, 2], + [4, 2, 1, 1, 1, 2], + [4, 2, 1, 2, 1, 1], + [2, 1, 2, 1, 4, 1], + [2, 1, 4, 1, 2, 1], + [4, 1, 2, 1, 2, 1], + [1, 1, 1, 1, 4, 3], + [1, 1, 1, 3, 4, 1], + [1, 3, 1, 1, 4, 1], + [1, 1, 4, 1, 1, 3], + [1, 1, 4, 3, 1, 1], + [4, 1, 1, 1, 1, 3], + [4, 1, 1, 3, 1, 1], + [1, 1, 3, 1, 4, 1], + [1, 1, 4, 1, 3, 1], + [3, 1, 1, 1, 4, 1], + [4, 1, 1, 1, 3, 1], + [2, 1, 1, 4, 1, 2], + [2, 1, 1, 2, 1, 4], + [2, 1, 1, 2, 3, 2], + [2, 3, 3, 1, 1, 1, 2] + ]} + }; + + Code128Reader.prototype = Object.create(BarcodeReader.prototype, properties); + Code128Reader.prototype.constructor = Code128Reader; + + Code128Reader.prototype._decodeCode = function(start) { + var counter = [0, 0, 0, 0, 0, 0], + i, + self = this, + offset = start, + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : start, + end : start + }, + code, + error, + normalized; + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + normalized = self._normalize(counter); + for ( code = 0; code < self.CODE_PATTERN.length; code++) { + error = self._matchPattern(normalized, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + bestMatch.end = i; + return bestMatch; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; + }; + + Code128Reader.prototype._findEnd = function() { + var counter = [0, 0, 0, 0, 0, 0, 0], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0, + end : 0 + }, + error, + j, + sum, + normalized; + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for ( j = 0; j < counter.length; j++) { + sum += counter[j]; + } + normalized = self._normalize(counter, 13); + error = self._matchPattern(normalized, self.CODE_PATTERN[self.STOP_CODE]); + if (error < 3) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + + for ( j = 0; j < 5; j++) { + counter[j] = counter[j + 2]; + } + counter[5] = 0; + counter[6] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; + }; + + Code128Reader.prototype._findStart = function() { + var counter = [0, 0, 0, 0, 0, 0], + i, + self = this, + offset = self._nextSet(self._row), + isWhite = false, + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0, + end : 0 + }, + code, + error, + j, + sum, + normalized; + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for ( j = 0; j < counter.length; j++) { + sum += counter[j]; + } + normalized = self._normalize(counter); + for ( code = self.START_CODE_A; code <= self.START_CODE_C; code++) { + error = self._matchPattern(normalized, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + if (bestMatch.error < 3) { + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + + for ( j = 0; j < 4; j++) { + counter[j] = counter[j + 2]; + } + counter[4] = 0; + counter[5] = 0; + counterPos--; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + return null; + }; + + Code128Reader.prototype._decode = function() { + var self = this, + startInfo = self._findStart(), + code = null, + done = false, + result = [], + multiplier = 0, + checksum = 0, + codeset, + rawResult = [], + decodedCodes = [], + shiftNext = false, + unshift, + lastCharacterWasPrintable; + + if (startInfo === null) { + return null; + } + code = { + code : startInfo.code, + start : startInfo.start, + end : startInfo.end + }; + decodedCodes.push(code); + checksum = code.code; + switch(code.code) { + case self.START_CODE_A: + codeset = self.CODE_A; + break; + case self.START_CODE_B: + codeset = self.CODE_B; + break; + case self.START_CODE_C: + codeset = self.CODE_C; + break; + default: + return null; + } + + while (!done) { + unshift = shiftNext; + shiftNext = false; + code = self._decodeCode(code.end); + if (code !== null) { + if (code.code !== self.STOP_CODE) { + rawResult.push(code.code); + multiplier++; + checksum += multiplier * code.code; + } + decodedCodes.push(code); + + switch(codeset) { + case self.CODE_A: + if (code.code < 64) { + result.push(String.fromCharCode(32 + code.code)); + } else if (code.code < 96) { + result.push(String.fromCharCode(code.code - 64)); + } else { + switch (code.code) { + case self.CODE_SHIFT: + shiftNext = true; + codeset = self.CODE_B; + break; + case self.CODE_B: + codeset = self.CODE_B; + break; + case self.CODE_C: + codeset = self.CODE_C; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + case self.CODE_B: + if (code.code < 96) { + result.push(String.fromCharCode(32 + code.code)); + } else { + if (code.code != self.STOP_CODE) { + lastCharacterWasPrintable = false; + } + switch (code.code) { + case self.CODE_SHIFT: + shiftNext = true; + codeset = self.CODE_A; + break; + case self.CODE_A: + codeset = self.CODE_A; + break; + case self.CODE_C: + codeset = self.CODE_C; + break; + case self.STOP_CODE: + done = true; + break; + } + } + break; + case self.CODE_C: + if (code.code < 100) { + result.push(code.code < 10 ? "0" + code.code : code.code); + } + switch (code.code) { + case self.CODE_A: + codeset = self.CODE_A; + break; + case self.CODE_B: + codeset = self.CODE_B; + break; + case self.STOP_CODE: + done = true; + break; + } + break; + } + } else { + done = true; + } + if (unshift) { + codeset = codeset == self.CODE_A ? self.CODE_B : self.CODE_A; + } + } + + if (code === null) { + return null; + } + + // find end bar + code.end = self._nextUnset(self._row, code.end); + if (code.end === self._row.length) { + return null; + } + + // checksum + // Does not work correctly yet!!! startcode - endcode? + checksum -= multiplier * rawResult[rawResult.length - 1]; + if (checksum % 103 != rawResult[rawResult.length - 1]) { + return null; + } + + // remove last code from result (checksum) + result.splice(result.length - 1, 1); + + return { + code : result.join(""), + start : startInfo.start, + end : code.end, + codeset : codeset, + startInfo : startInfo, + decodedCodes : decodedCodes, + endInfo : code + }; + }; + + return (Code128Reader); + } +); \ No newline at end of file diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..d2a7048 --- /dev/null +++ b/src/config.js @@ -0,0 +1,43 @@ +/** + * The basic configuration + */ + +define(function(){ + var config = { + inputStream: { name: "Live", + type: "LiveStream" + }, + tracking: false, + debug: false, + controls: false, + locate: true, + visual: { + show: true + }, + decoder:{ + drawBoundingBox: true, + showFrequency: false, + drawScanline: true, + showPattern: false, + readers: [ + 'code_128_reader' + ] + }, + locator: { + showCanvas: false, + showPatches: false, + showFoundPatches: false, + showSkeleton: false, + showLabels: false, + showPatchLabels: false, + showRemainingPatchLabels: false, + boxFromPatches: { + showTransformed: false, + showTransformedBox: false, + showBB: false + } + } + }; + + return config; +}); \ No newline at end of file diff --git a/src/cv_utils.js b/src/cv_utils.js new file mode 100644 index 0000000..f7c629b --- /dev/null +++ b/src/cv_utils.js @@ -0,0 +1,544 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2, vec3 */ + +define(['cluster', 'glMatrixAddon', "array_helper"], function(Cluster2, glMatrixAddon, ArrayHelper) { + + "use strict"; + /* + * cv_utils.js + * Collection of CV functions and libraries + */ + + /** + * Namespace for various CV alorithms + * @class Represents a collection of useful CV algorithms/functions + */ + + var CVUtils = {}; + + /** + * @param x x-coordinate + * @param y y-coordinate + * @return ImageReference {x,y} Coordinate + */ + CVUtils.imageRef = function(x, y) { + var that = { + x : x, + y : y, + toVec2 : function() { + return vec2.create([this.x, this.y]); + }, + toVec3 : function() { + return vec3.create([this.x, this.y, 1]); + }, + round : function() { + this.x = this.x > 0.0 ? Math.floor(this.x + 0.5) : Math.floor(this.x - 0.5); + this.y = this.y > 0.0 ? Math.floor(this.y + 0.5) : Math.floor(this.y - 0.5); + return this; + } + }; + return that; + }; + + /** + * Computes an integral image of a given grayscale image. + * @param imageDataContainer {ImageDataContainer} the image to be integrated + */ + CVUtils.computeIntegralImage2 = function(imageWrapper, integralWrapper) { + var imageData = imageWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0, posA = 0, posB = 0, posC = 0, posD = 0, x, y; + + // sum up first column + posB = width; + sum = 0; + for ( y = 1; y < height; y++) { + sum += imageData[posA]; + integralImageData[posB] += sum; + posA += width; + posB += width; + } + + posA = 0; + posB = 1; + sum = 0; + for ( x = 1; x < width; x++) { + sum += imageData[posA]; + integralImageData[posB] += sum; + posA++; + posB++; + } + + for ( y = 1; y < height; y++) { + posA = y * width + 1; + posB = (y - 1) * width + 1; + posC = y * width; + posD = (y - 1) * width; + for ( x = 1; x < width; x++) { + integralImageData[posA] += imageData[posA] + integralImageData[posB] + integralImageData[posC] - integralImageData[posD]; + posA++; + posB++; + posC++; + posD++; + } + } + }; + + CVUtils.computeIntegralImage = function(imageWrapper, integralWrapper) { + var imageData = imageWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0; + + // sum up first row + for (var i = 0; i < width; i++) { + sum += imageData[i]; + integralImageData[i] = sum; + } + + for (var v = 1; v < height; v++) { + sum = 0; + for (var u = 0; u < width; u++) { + sum += imageData[v * width + u]; + integralImageData[((v) * width) + u] = sum + integralImageData[(v - 1) * width + u]; + } + } + }; + + CVUtils.thresholdImage = function(imageWrapper, threshold, targetWrapper) { + if (!targetWrapper) { + targetWrapper = imageWrapper; + } + var imageData = imageWrapper.data, length = imageData.length, targetData = targetWrapper.data; + + while (length--) { + targetData[length] = imageData[length] < threshold ? 0 : 1; + } + }; + + CVUtils.computeHistogram = function(imageWrapper) { + var imageData = imageWrapper.data, length = imageData.length, i, hist = new Int32Array(256); + + // init histogram + for ( i = 0; i < 256; i++) { + hist[i] = 0; + } + + while (length--) { + hist[imageData[length]]++; + } + return hist; + }; + + CVUtils.otsuThreshold = function(imageWrapper, targetWrapper) { + var hist, threshold; + + function px(init, end) { + var sum = 0, i; + for ( i = init; i <= end; i++) { + sum += hist[i]; + } + return sum; + } + + function mx(init, end) { + var i, sum = 0; + + for ( i = init; i <= end; i++) { + sum += i * hist[i]; + } + + return sum; + } + + function determineThreshold() { + var vet = [0], p1, p2, p12, k, m1, m2, m12; + + hist = CVUtils.computeHistogram(imageWrapper); + for ( k = 1; k < 255; k++) { + p1 = px(0, k); + p2 = px(k + 1, 255); + p12 = p1 * p2; + if (p12 === 0) { + p12 = 1; + } + m1 = mx(0, k) * p2; + m2 = mx(k + 1, 255) * p1; + m12 = m1 - m2; + vet[k] = m12 * m12 / p12; + } + return ArrayHelper.maxIndex(vet); + } + + threshold = determineThreshold(); + CVUtils.thresholdImage(imageWrapper, threshold, targetWrapper); + return threshold; + }; + + // local thresholding + CVUtils.computeBinaryImage = function(imageWrapper, integralWrapper, targetWrapper) { + CVUtils.computeIntegralImage(imageWrapper, integralWrapper); + + if (!targetWrapper) { + targetWrapper = imageWrapper; + } + var imageData = imageWrapper.data; + var targetData = targetWrapper.data; + var width = imageWrapper.size.x; + var height = imageWrapper.size.y; + var integralImageData = integralWrapper.data; + var sum = 0, v, u, kernel = 3, A, B, C, D, avg, size = (kernel * 2 + 1) * (kernel * 2 + 1); + + // clear out top & bottom-border + for ( v = 0; v <= kernel; v++) { + for ( u = 0; u < width; u++) { + targetData[((v) * width) + u] = 0; + targetData[(((height - 1) - v) * width) + u] = 0; + } + } + + // clear out left & right border + for ( v = kernel; v < height - kernel; v++) { + for ( u = 0; u <= kernel; u++) { + targetData[((v) * width) + u] = 0; + targetData[((v) * width) + (width - 1 - u)] = 0; + } + } + + for ( v = kernel + 1; v < height - kernel - 1; v++) { + for ( u = kernel + 1; u < width - kernel; u++) { + A = integralImageData[(v - kernel - 1) * width + (u - kernel - 1)]; + B = integralImageData[(v - kernel - 1) * width + (u + kernel)]; + C = integralImageData[(v + kernel) * width + (u - kernel - 1)]; + D = integralImageData[(v + kernel) * width + (u + kernel)]; + sum = D - C - B + A; + avg = sum / (size); + targetData[v * width + u] = imageData[v * width + u] > (avg + 5) ? 0 : 1; + } + } + }; + + CVUtils.cluster = function(points, threshold, property) { + var i, k, cluster, point, clusters = []; + + if (!property) { + property = "rad"; + } + + function addToCluster(point) { + var found = false; + for ( k = 0; k < clusters.length; k++) { + cluster = clusters[k]; + if (cluster.fits(point)) { + cluster.add(point); + found = true; + } + } + return found; + } + + // iterate over each cloud + for ( i = 0; i < points.length; i++) { + point = Cluster2.createPoint(points[i], i, property); + if (!addToCluster(point)) { + clusters.push(Cluster2.create(point, threshold)); + } + } + + return clusters; + + }; + + CVUtils.Tracer = { + trace : function(points, vec) { + var iteration, maxIterations = 10, top = [], result = [], centerPos = 0, currentPos = 0; + + function trace(idx, forward) { + var from, to, toIdx, predictedPos, thresholdX = 1, thresholdY = Math.abs(vec[1] / 10), found = false; + + function match(pos, predicted) { + if (pos.x > (predicted.x - thresholdX) && pos.x < (predicted.x + thresholdX) && pos.y > (predicted.y - thresholdY) && pos.y < (predicted.y + thresholdY)) { + return true; + } else { + return false; + } + } + + // check if the next index is within the vec specifications + // if not, check as long as the threshold is met + + from = points[idx]; + if (forward) { + predictedPos = { + x : from.x + vec[0], + y : from.y + vec[1] + }; + } else { + predictedPos = { + x : from.x - vec[0], + y : from.y - vec[1] + }; + } + + toIdx = forward ? idx + 1 : idx - 1; + to = points[toIdx]; + while (to && ( found = match(to, predictedPos)) !== true && (Math.abs(to.y - from.y) < vec[1])) { + toIdx = forward ? toIdx + 1 : toIdx - 1; + to = points[toIdx]; + } + + return found ? toIdx : null; + } + + for ( iteration = 0; iteration < maxIterations; iteration++) { + // randomly select point to start with + centerPos = Math.floor(Math.random() * points.length); + + // trace forward + top = []; + currentPos = centerPos; + top.push(points[currentPos]); + while (( currentPos = trace(currentPos, true)) !== null) { + top.push(points[currentPos]); + } + if (centerPos > 0) { + currentPos = centerPos; + while (( currentPos = trace(currentPos, false)) !== null) { + top.push(points[currentPos]); + } + } + + if (top.length > result.length) { + result = top; + } + } + + return result; + + } + }; + + CVUtils.DILATE = 1; + CVUtils.ERODE = 2; + + CVUtils.dilate = function(inImageWrapper, outImageWrapper) { + var v, u, inImageData = inImageWrapper.data, outImageData = outImageWrapper.data, height = inImageWrapper.size.y, width = inImageWrapper.size.x, sum, yStart1, yStart2, xStart1, xStart2; + + for ( v = 1; v < height - 1; v++) { + for ( u = 1; u < width - 1; u++) { + yStart1 = v - 1; + yStart2 = v + 1; + xStart1 = u - 1; + xStart2 = u + 1; + sum = inImageData[yStart1 * width + xStart1]/* + inImageData[yStart1*width+u] */ + inImageData[yStart1 * width + xStart2] + + /* inImageData[v*width+xStart1] + */ + inImageData[v * width + u] + /* inImageData[v*width+xStart2] +*/ + inImageData[yStart2 * width + xStart1]/* + inImageData[yStart2*width+u]*/ + inImageData[yStart2 * width + xStart2]; + outImageData[v * width + u] = sum > 0 ? 1 : 0; + } + } + }; + + CVUtils.erode = function(inImageWrapper, outImageWrapper) { + var v, u, inImageData = inImageWrapper.data, outImageData = outImageWrapper.data, height = inImageWrapper.size.y, width = inImageWrapper.size.x, sum, yStart1, yStart2, xStart1, xStart2; + + for ( v = 1; v < height - 1; v++) { + for ( u = 1; u < width - 1; u++) { + yStart1 = v - 1; + yStart2 = v + 1; + xStart1 = u - 1; + xStart2 = u + 1; + sum = inImageData[yStart1 * width + xStart1]/* + inImageData[yStart1*width+u] */ + inImageData[yStart1 * width + xStart2] + + /* inImageData[v*width+xStart1] + */ + inImageData[v * width + u] + /* inImageData[v*width+xStart2] +*/ + inImageData[yStart2 * width + xStart1]/* + inImageData[yStart2*width+u]*/ + inImageData[yStart2 * width + xStart2]; + outImageData[v * width + u] = sum === 5 ? 1 : 0; + } + } + }; + + CVUtils.subtract = function(aImageWrapper, bImageWrapper, resultImageWrapper) { + if (!resultImageWrapper) { + resultImageWrapper = aImageWrapper; + } + var length = aImageWrapper.data.length, aImageData = aImageWrapper.data, bImageData = bImageWrapper.data, cImageData = resultImageWrapper.data; + + while (length--) { + cImageData[length] = aImageData[length] - bImageData[length]; + } + }; + + CVUtils.bitwiseOr = function(aImageWrapper, bImageWrapper, resultImageWrapper) { + if (!resultImageWrapper) { + resultImageWrapper = aImageWrapper; + } + var length = aImageWrapper.data.length, aImageData = aImageWrapper.data, bImageData = bImageWrapper.data, cImageData = resultImageWrapper.data; + + while (length--) { + cImageData[length] = aImageData[length] || bImageData[length]; + } + }; + + CVUtils.countNonZero = function(imageWrapper) { + var length = imageWrapper.data.length, data = imageWrapper.data, sum = 0; + + while (length--) { + sum += data[length]; + } + return sum; + }; + + CVUtils.topGeneric = function(list, top, scoreFunc) { + var i, minIdx = 0, min = 0, queue = [], score, hit, pos; + + for ( i = 0; i < top; i++) { + queue[i] = { + score : 0, + item : null + }; + } + + for ( i = 0; i < list.length; i++) { + score = scoreFunc.apply(this, [list[i]]); + if (score > min) { + hit = queue[minIdx]; + hit.score = score; + hit.item = list[i]; + min = Number.MAX_VALUE; + for ( pos = 0; pos < top; pos++) { + if (queue[pos].score < min) { + min = queue[pos].score; + minIdx = pos; + } + } + } + } + + return queue; + }; + + CVUtils.grayArrayFromImage = function(htmlImage, offsetX, ctx, array) { + ctx.drawImage(htmlImage, offsetX, 0, htmlImage.width, htmlImage.height); + var ctxData = ctx.getImageData(offsetX, 0, htmlImage.width, htmlImage.height).data; + CVUtils.computeGray(ctxData, array); + }; + + CVUtils.grayArrayFromContext = function(ctx, size, offset, array) { + var ctxData = ctx.getImageData(offset.x, offset.y, size.x, size.y).data; + CVUtils.computeGray(ctxData, array); + }; + + CVUtils.grayAndHalfSampleFromCanvasData = function(canvasData, size, outArray) { + var topRowIdx = 0; + var bottomRowIdx = size.x; + var endIdx = Math.floor(canvasData.length / 4); + var outWidth = size.x / 2; + var outImgIdx = 0; + var inWidth = size.x; + var i; + + while (bottomRowIdx < endIdx) { + for ( i = 0; i < outWidth; i++) { + outArray[outImgIdx] = Math.floor(((0.299 * canvasData[topRowIdx * 4 + 0] + 0.587 * canvasData[topRowIdx * 4 + 1] + 0.114 * canvasData[topRowIdx * 4 + 2]) + (0.299 * canvasData[(topRowIdx + 1) * 4 + 0] + 0.587 * canvasData[(topRowIdx + 1) * 4 + 1] + 0.114 * canvasData[(topRowIdx + 1) * 4 + 2]) + (0.299 * canvasData[(bottomRowIdx) * 4 + 0] + 0.587 * canvasData[(bottomRowIdx) * 4 + 1] + 0.114 * canvasData[(bottomRowIdx) * 4 + 2]) + (0.299 * canvasData[(bottomRowIdx + 1) * 4 + 0] + 0.587 * canvasData[(bottomRowIdx + 1) * 4 + 1] + 0.114 * canvasData[(bottomRowIdx + 1) * 4 + 2])) / 4); + outImgIdx++; + topRowIdx = topRowIdx + 2; + bottomRowIdx = bottomRowIdx + 2; + } + topRowIdx = topRowIdx + inWidth; + bottomRowIdx = bottomRowIdx + inWidth; + } + + }; + + CVUtils.computeGray = function(imageData, outArray) { + var l = imageData.length / 4; + var i = 0; + for ( i = 0; i < l; i++) { + //outArray[i] = (0.299*imageData[i*4+0] + 0.587*imageData[i*4+1] + 0.114*imageData[i*4+2]); + + outArray[i] = Math.floor(0.299 * imageData[i * 4 + 0] + 0.587 * imageData[i * 4 + 1] + 0.114 * imageData[i * 4 + 2]); + } + }; + + CVUtils.loadImageArray = function(src, callback, canvas) { + if (!canvas) + canvas = document.createElement('canvas'); + var img = new Image(); + img.callback = callback; + img.onload = function() { + canvas.width = this.width; + canvas.height = this.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(this, 0, 0); + var array = new Uint8Array(this.width * this.height); + ctx.drawImage(this, 0, 0); + var data = ctx.getImageData(0, 0, this.width, this.height).data; + CVUtils.computeGray(data, array); + this.callback(array, { + x : this.width, + y : this.height + }, this); + }; + img.src = src; + }; + + /** + * @param inImg {ImageWrapper} input image to be sampled + * @param outImg {ImageWrapper} to be stored in + */ + CVUtils.halfSample = function(inImgWrapper, outImgWrapper) { + var inImg = inImgWrapper.data; + var inWidth = inImgWrapper.size.x; + var outImg = outImgWrapper.data; + var topRowIdx = 0; + var bottomRowIdx = inWidth; + var endIdx = inImg.length; + var outWidth = inWidth / 2; + var outImgIdx = 0; + while (bottomRowIdx < endIdx) { + for (var i = 0; i < outWidth; i++) { + outImg[outImgIdx] = Math.floor((inImg[topRowIdx] + inImg[topRowIdx + 1] + inImg[bottomRowIdx] + inImg[bottomRowIdx + 1]) / 4); + outImgIdx++; + topRowIdx = topRowIdx + 2; + bottomRowIdx = bottomRowIdx + 2; + } + topRowIdx = topRowIdx + inWidth; + bottomRowIdx = bottomRowIdx + inWidth; + } + }; + + CVUtils.hsv2rgb = function(hsv, rgb) { + var h = hsv[0], s = hsv[1], v = hsv[2], c = v * s, x = c * (1 - Math.abs((h / 60) % 2 - 1)), m = v - c, r = 0, g = 0, b = 0; + rgb = rgb || [0, 0, 0]; + + if (h < 60) { + r = c; + g = x; + } else if (h < 120) { + r = x; + g = c; + } else if (h < 180) { + g = c; + b = x; + } else if (h < 240) { + g = x; + b = c; + } else if (h < 300) { + r = x; + b = c; + } else if (h < 360) { + r = c; + b = x; + } + rgb[0] = ((r + m) * 255) | 0; + rgb[1] = ((g + m) * 255) | 0; + rgb[2] = ((b + m) * 255) | 0; + return rgb; + }; + + return (CVUtils); +}); + diff --git a/src/ean_reader.js b/src/ean_reader.js new file mode 100644 index 0000000..87678dd --- /dev/null +++ b/src/ean_reader.js @@ -0,0 +1,254 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define( + [ + "./barcode_reader" + ], + function(BarcodeReader) { + "use strict"; + + function EANReader() { + BarcodeReader.call(this); + } + + var properties = { + CODE_L_START : {value: 0}, + MODULO : {value: 7}, + CODE_G_START : {value: 10}, + START_PATTERN : {value: [1 / 3 * 7, 1 / 3 * 7, 1 / 3 * 7]}, + STOP_PATTERN : {value: [1 / 3 * 7, 1 / 3 * 7, 1 / 3 * 7]}, + MIDDLE_PATTERN : {value: [1 / 5 * 7, 1 / 5 * 7, 1 / 5 * 7, 1 / 5 * 7, 1 / 5 * 7]}, + CODE_PATTERN : {value: [ + [3, 2, 1, 1], + [2, 2, 2, 1], + [2, 1, 2, 2], + [1, 4, 1, 1], + [1, 1, 3, 2], + [1, 2, 3, 1], + [1, 1, 1, 4], + [1, 3, 1, 2], + [1, 2, 1, 3], + [3, 1, 1, 2], + [1, 1, 2, 3], + [1, 2, 2, 2], + [2, 2, 1, 2], + [1, 1, 4, 1], + [2, 3, 1, 1], + [1, 3, 2, 1], + [4, 1, 1, 1], + [2, 1, 3, 1], + [3, 1, 2, 1], + [2, 1, 1, 3] + ]}, + CODE_FREQUENCY : {value: [0, 11, 13, 14, 19, 25, 28, 21, 22, 26]} + }; + + EANReader.prototype = Object.create(BarcodeReader.prototype, properties); + EANReader.prototype.constructor = EANReader; + + EANReader.prototype._decodeCode = function(start, coderange) { + var counter = [0, 0, 0, 0], + i, + self = this, + offset = start, + isWhite = !self._row[offset], + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : start, + end : start + }, + code, + error, + normalized; + + if (!coderange) { + coderange = self.CODE_PATTERN.length; + } + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + normalized = self._normalize(counter); + for ( code = 0; code < coderange; code++) { + error = self._matchPattern(normalized, self.CODE_PATTERN[code]); + if (error < bestMatch.error) { + bestMatch.code = code; + bestMatch.error = error; + } + } + bestMatch.end = i; + return bestMatch; + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + throw BarcodeReader.CodeNotFoundException; + }; + + EANReader.prototype._findPattern = function(pattern, offset, isWhite, tryHarder, epsilon) { + var counter = [], + self = this, + i, + counterPos = 0, + bestMatch = { + error : Number.MAX_VALUE, + code : -1, + start : 0, + end : 0 + }, + error, + j, + sum, + normalized; + + if (!offset) { + offset = self._nextSet(self._row); + } + + if (isWhite === undefined) { + isWhite = false; + } + + if (tryHarder === undefined) { + tryHarder = true; + } + + if ( epsilon === undefined) { + epsilon = 2; + } + + for ( i = 0; i < pattern.length; i++) { + counter[i] = 0; + } + + for ( i = offset; i < self._row.length; i++) { + if (self._row[i] ^ isWhite) { + counter[counterPos]++; + } else { + if (counterPos === counter.length - 1) { + sum = 0; + for ( j = 0; j < counter.length; j++) { + sum += counter[j]; + } + normalized = self._normalize(counter); + error = self._matchPattern(normalized, pattern); + + if (error < epsilon) { + bestMatch.error = error; + bestMatch.start = i - sum; + bestMatch.end = i; + return bestMatch; + } + if (tryHarder) { + for ( j = 0; j < counter.length - 2; j++) { + counter[j] = counter[j + 2]; + } + counter[counter.length - 2] = 0; + counter[counter.length - 1] = 0; + counterPos--; + } else { + throw BarcodeReader.PatternNotFoundException; + } + } else { + counterPos++; + } + counter[counterPos] = 1; + isWhite = !isWhite; + } + } + throw BarcodeReader.PatternNotFoundException; + }; + + EANReader.prototype._decode = function() { + var startInfo, + self = this, + code = null, + result = [], + i, + codeFrequency = 0x0, + decodedCodes = []; + + try { + startInfo = self._findPattern(self.START_PATTERN); + code = { + code : startInfo.code, + start : startInfo.start, + end : startInfo.end + }; + decodedCodes.push(code); + for ( i = 0; i < 6; i++) { + code = self._decodeCode(code.end); + if (code.code >= self.CODE_G_START) { + code.code = code.code - self.CODE_G_START; + codeFrequency |= 1 << (5 - i); + } else { + codeFrequency |= 0 << (5 - i); + } + result.push(code.code); + decodedCodes.push(code); + } + + for ( i = 0; i < self.CODE_FREQUENCY.length; i++) { + if (codeFrequency === self.CODE_FREQUENCY[i]) { + result.unshift(i); + break; + } + } + + code = self._findPattern(self.MIDDLE_PATTERN, code.end, true); + if (code === null) { + return null; + } + decodedCodes.push(code); + + for ( i = 0; i < 6; i++) { + code = self._decodeCode(code.end, self.CODE_G_START); + decodedCodes.push(code); + result.push(code.code); + } + + code = self._findPattern(self.STOP_PATTERN, code.end); + decodedCodes.push(code); + + // Checksum + if (!self._checksum(result)) { + return null; + } + } catch (exc) { + return null; + } + + return { + code : result.join(""), + start : startInfo.start, + end : code.end, + codeset : "", + startInfo : startInfo, + decodedCodes : decodedCodes + }; + }; + + EANReader.prototype._checksum = function(result) { + var sum = 0, i; + + for ( i = result.length - 2; i >= 0; i -= 2) { + sum += result[i]; + } + sum *= 3; + for ( i = result.length - 1; i >= 0; i -= 2) { + sum += result[i]; + } + return sum % 10 === 0; + }; + + return (EANReader); + } +); \ No newline at end of file diff --git a/src/events.js b/src/events.js new file mode 100644 index 0000000..c81741f --- /dev/null +++ b/src/events.js @@ -0,0 +1,57 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(function() { + "use strict"; + + var _events = function() { + var events = {}; + + function getEvent(eventName) { + if (!events[eventName]) { + events[eventName] = { + subscribers : [] + }; + } + return events[eventName]; + } + + function publishSubscription(subscription, data) { + if (subscription.async) { + setTimeout(function() { + subscription.callback.call(null, data); + }, 4); + } else { + subscription.callback.call(null, data); + } + } + + return { + subscribe : function(event, callback, async) { + var subscription; + + if ( typeof callback === "function") { + subscription = { + callback : callback, + async : async + }; + } else { + subscription = callback; + if (!subscription.callback) { + throw "Callback was not specified on options"; + } + } + + getEvent(event).subscribers.push(subscription); + }, + publish : function(eventName, data) { + var subscribers = getEvent(eventName).subscribers, i; + for ( i = 0; i < subscribers.length; i++) { + publishSubscription(subscribers[i], data); + } + } + }; + }(); + + return _events; +}); \ No newline at end of file diff --git a/src/frame_grabber.js b/src/frame_grabber.js new file mode 100644 index 0000000..2395446 --- /dev/null +++ b/src/frame_grabber.js @@ -0,0 +1,92 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(["cv_utils"], function(CVUtils) { + "use strict"; + + var FrameGrabber = {}; + + FrameGrabber.create = function(inputStream, canvas) { + var _that = {}, + _streamConfig = inputStream.getConfig(), + _video_size = CVUtils.imageRef(inputStream.getRealWidth(), inputStream.getRealHeight()), + _size =_streamConfig.size ? CVUtils.imageRef(_streamConfig.size, _streamConfig.size) : _video_size, + _sx = 0, + _sy = 0, + _dx = 0, + _dy = 0, + _sWidth, + _dWidth, + _sHeight, + _dHeight, + _canvas = null, + _ctx = null, + _data = null; + + // Check if size is given + if (_streamConfig.size) { + if (_video_size.x/_video_size.y > 1) { + _size.x = _streamConfig.size; + _size.y = (_video_size.y/_video_size.x)*_streamConfig.size; + } else { + _size.y = _streamConfig.size; + _size.x = (_video_size.x/_video_size.y)*_streamConfig.size; + } + } + + _sWidth = _video_size.x; + _dWidth = _size.x; + _sHeight = _video_size.y; + _dHeight = _size.y; + + _canvas = canvas ? canvas : document.createElement("canvas"); + _canvas.width = _size.x; + _canvas.height = _size.y; + _ctx = _canvas.getContext("2d"); + _data = new Uint8Array(_size.x * _size.y); + + /** + * Uses the given array as frame-buffer + */ + _that.attachData = function(data) { + _data = data; + }; + + /** + * Returns the used frame-buffer + */ + _that.getData = function() { + return _data; + }; + + /** + * Fetches a frame from the input-stream and puts into the frame-buffer. + * The image-data is converted to gray-scale and then half-sampled if configured. + */ + _that.grab = function() { + var doHalfSample = _streamConfig.halfSample, + frame = inputStream.getFrame(), + ctxData; + if (frame) { + _ctx.drawImage(frame, _sx, _sy, _sWidth, _sHeight, _dx, _dy, _dWidth, _dHeight); + ctxData = _ctx.getImageData(0, 0, _size.x, _size.y).data; + if(doHalfSample){ + CVUtils.grayAndHalfSampleFromCanvasData(ctxData, _size, _data); + } else { + CVUtils.computeGray(ctxData, _data); + } + return true; + } else { + return false; + } + }; + + _that.getSize = function() { + return _size; + }; + + return _that; + }; + + return (FrameGrabber); +}); diff --git a/src/glMatrixAddon.js b/src/glMatrixAddon.js new file mode 100644 index 0000000..583bc63 --- /dev/null +++ b/src/glMatrixAddon.js @@ -0,0 +1,429 @@ +/* + +Copyright (C) 2011 + - Christoph Oberhofer (ar.oberhofer@gmail.com) + - Jens Grubert (jg@jensgrubert.de) + - Gerhard Reitmayr (reitmayr@icg.tugraz.at) +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + + +/* + * glMatrixAddon.js + * Extension to the glMatrix library. The original glMatrix library + * was created by Brandon Jones. + */ + + +mat4.xVec4 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2], w = vec[3]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z + mat[3]*w; + dest[1] = mat[4]*x + mat[5]*y + mat[6]*z + mat[7]*w; + dest[2] = mat[8]*x + mat[9]*y + mat[10]*z + mat[11]*w; + dest[3] = mat[12]*x + mat[13]*y + mat[14]*z + mat[15]*w; + + return dest; +}; + +mat3.scale = function(mat, scalar, dest){ + if(!dest || mat == dest) { + mat[0] *= scalar; + mat[1] *= scalar; + mat[2] *= scalar; + mat[3] *= scalar; + mat[4] *= scalar; + mat[5] *= scalar; + mat[6] *= scalar; + mat[7] *= scalar; + mat[8] *= scalar; + return mat; + } + dest = mat3.create(); + dest[0] = mat[0]*scalar; + dest[1] = mat[1]*scalar; + dest[2] = mat[2]*scalar; + dest[3] = mat[3]*scalar; + dest[4] = mat[4]*scalar; + dest[5] = mat[5]*scalar; + dest[6] = mat[6]*scalar; + dest[7] = mat[7]*scalar; + dest[8] = mat[8]*scalar; + return dest; +}; + +mat3.inverse = function(mat, dest){ + if(!dest) { dest = mat; } + + var ha00 = mat[0], ha01 = mat[1], ha02 = mat[2]; + var ha10 = mat[3], ha11 = mat[4], ha12 = mat[5]; + var ha20 = mat[6], ha21 = mat[7], ha22 = mat[8]; + + var invDetA = 1/(ha00*ha11*ha22 + ha01*ha12*ha20 + ha02*ha10*ha21 - ha02*ha11*ha20 - ha01*ha10*ha22 - ha00*ha12*ha21); + dest[0] = (ha11*ha22 - ha12*ha21)*invDetA; + dest[1] = (ha02*ha21 - ha01*ha22)*invDetA; + dest[2] = (ha01*ha12 - ha02*ha11)*invDetA; + dest[3] = (ha12*ha20 - ha10*ha22)*invDetA; + dest[4] = (ha00*ha22 - ha02*ha20)*invDetA; + dest[5] = (ha02*ha10 - ha00*ha12)*invDetA; + dest[6] = (ha10*ha21 - ha11*ha20)*invDetA; + dest[7] = (ha01*ha20 - ha00*ha21)*invDetA; + dest[8] = (ha00*ha11 - ha01*ha10)*invDetA; + return dest; +}; + +mat3.multiply = function(mat, mat2, dest) { + if(!dest) { dest = mat; } + + var ha00 = mat[0], ha01 = mat[1], ha02 = mat[2]; + var ha10 = mat[3], ha11 = mat[4], ha12 = mat[5]; + var ha20 = mat[6], ha21 = mat[7], ha22 = mat[8]; + + var hb00 = mat2[0], hb01 = mat2[1], hb02 = mat2[2]; + var hb10 = mat2[3], hb11 = mat2[4], hb12 = mat2[5]; + var hb20 = mat2[6], hb21 = mat2[7], hb22 = mat2[8]; + + dest[0] = ha00*hb00 + ha01*hb10 + ha02*hb20; + dest[1] = ha00*hb01 + ha01*hb11 + ha02*hb21; + dest[2] = ha00*hb02 + ha01*hb12 + ha02*hb22; + + dest[3] = ha10*hb00 + ha11*hb10 + ha12*hb20; + dest[4] = ha10*hb01 + ha11*hb11 + ha12*hb21; + dest[5] = ha10*hb02 + ha11*hb12 + ha12*hb22; + + dest[6] = ha20*hb00 + ha21*hb10 + ha22*hb20; + dest[7] = ha20*hb01 + ha21*hb11 + ha22*hb21; + dest[8] = ha20*hb02 + ha21*hb12 + ha22*hb22; + return dest; +}; + +mat3.xVec3 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z; + dest[1] = mat[3]*x + mat[4]*y + mat[5]*z; + dest[2] = mat[6]*x + mat[7]*y + mat[8]*z; + + return dest; +}; + +var vec4={}; + +vec4.create = function(vec){ + var dest; + + if(vec) { + dest = new glMatrixArrayType(4); + dest[0] = vec[0]; + dest[1] = vec[1]; + dest[2] = vec[2]; + dest[3] = vec[3]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0]); + else + dest = new glMatrixArrayType(4); + } + + return dest; +}; + +vec4.project = function(vec, dest){ + if(!dest) { dest = vec; } + + dest[0] = vec[0]/vec[3]; + dest[1] = vec[1]/vec[3]; + dest[2] = vec[2]/vec[3]; + return dest; +}; + +vec4.scale = function(vec, val, dest){ + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + vec[2] *= val; + vec[4] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + dest[2] = vec[2]*val; + dest[3] = vec[3]*val; + return dest; +}; + +vec4.xMat4 = function(vec, mat, dest){ + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1], z = vec[2], w = vec[3]; + + dest[0] = mat[0]*x + mat[4]*y + mat[8]*z + mat[12]*w; + dest[1] = mat[1]*x + mat[5]*y + mat[9]*z + mat[13]*w; + dest[2] = mat[2]*x + mat[6]*y + mat[10]*z + mat[14]*w; + dest[3] = mat[3]*x + mat[7]*y + mat[11]*z + mat[15]*w; + + return dest; +}; + + +var mat2 = {}; + +mat2.create = function(mat){ + var dest; + + if(mat) { + dest = new glMatrixArrayType(4); + dest[0] = mat[0]; + dest[1] = mat[1]; + dest[2] = mat[2]; + dest[3] = mat[3]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0,0,0]); + else + dest = new glMatrixArrayType(4); + } + + return dest; +}; + +mat2.xVec2 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1]; + + dest[0] = mat[0]*x + mat[1]*y; + dest[1] = mat[2]*x + mat[3]*y; + + return dest; +}; + +mat2.scale = function(mat, scale, dest){ + if(!dest || mat == dest) { + mat[0] *= scale; + mat[1] *= scale; + mat[2] *= scale; + mat[3] *= scale; + return mat; + } + + dest[0] = mat[0]*scale; + dest[1] = mat[1]*scale; + dest[2] = mat[2]*scale; + dest[3] = mat[3]*scale; + return dest; +}; + +mat2.determinant = function(mat){ + return mat[0]*mat[3] - mat[1]*mat[2]; +}; + +mat2.inverse = function(mat){ + var scale = 1/(mat2.determinant(mat)); + var a = mat[3]*scale, + b = -mat[1]*scale, + c = -mat[2]*scale, + d = mat[0]; + mat[0] = a; + mat[1] = b; + mat[2] = c; + mat[3] = d; + return mat; +}; + +var vec2 = {}; +vec2.create = function(vec){ + var dest; + + if(vec) { + dest = new glMatrixArrayType(2); + dest[0] = vec[0]; + dest[1] = vec[1]; + } else { + if(glMatrixArrayType === Array) + dest = new glMatrixArrayType([0,0]); + else + dest = new glMatrixArrayType(2); + } + + return dest; +}; + +vec2.subtract = function(vec, vec2, dest) { + if(!dest || vec == dest) { + vec[0] -= vec2[0]; + vec[1] -= vec2[1]; + return vec; + } + + dest[0] = vec[0] - vec2[0]; + dest[1] = vec[1] - vec2[1]; + return dest; +}; + +vec2.add = function(vec, vec2, dest) { + if(!dest || vec == dest) { + vec[0] += vec2[0]; + vec[1] += vec2[1]; + return vec; + } + + dest[0] = vec[0] + vec2[0]; + dest[1] = vec[1] + vec2[1]; + return dest; +}; + +vec2.scale = function(vec, val, dest) { + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + return dest; +}; + +vec2.normalize = function(vec, dest) { + if(!dest) { dest = vec; } + + var x = vec[0], y = vec[1]; + var len = Math.sqrt(x*x + y*y); + + if (!len) { + dest[0] = 0; + dest[1] = 0; + return dest; + } else if (len == 1) { + dest[0] = x; + dest[1] = y; + return dest; + } + + len = 1 / len; + dest[0] = x*len; + dest[1] = y*len; + return dest; +}; + +vec2.dot = function(vec, vec2){ + return vec[0]*vec2[0] + vec[1]*vec2[1]; +}; + +vec2.multiply = function(vec, vec2, dest){ + if(!dest) { dest = vec; } + + dest[0] = vec[0]*vec2[0]; + dest[1] = vec[1]*vec2[1]; + return dest; +}; + +/** + * @param vec vec2 to be unprojected [x,y] -> [x,y,1] + * @returns vec3 unprojected vector + */ +vec2.unproject = function(vec){ + return vec3.create([vec[0], vec[1], 1]); +}; + +vec2.length = function(vec){ + return Math.sqrt(vec[0]*vec[0] + vec[1]*vec[1]); +}; + +vec2.perspectiveProject = function(vec){ + var result = vec2.create(vec); + return vec2.scale(result, 1/vec[2]); +}; + +/** + * @param vec vec3 to be projected [x,y,z] -> [x/z,y/z] + * @returns vec2 projected vector + */ +vec3.project = function(vec){ + return vec2.scale(vec2.create(vec), 1/vec[2]); +}; + +var vec6 = {}; +vec6.scale = function(vec, val, dest){ + if(!dest || vec == dest) { + vec[0] *= val; + vec[1] *= val; + vec[2] *= val; + vec[3] *= val; + vec[4] *= val; + vec[5] *= val; + return vec; + } + + dest[0] = vec[0]*val; + dest[1] = vec[1]*val; + dest[2] = vec[2]*val; + dest[3] = vec[3]*val; + dest[4] = vec[4]*val; + dest[5] = vec[5]*val; + return dest; +}; + +vec6.subtract = function(vec, vec2, dest){ + if(!dest || vec == dest) { + vec[0] -= vec2[0]; + vec[1] -= vec2[1]; + vec[2] -= vec2[2]; + vec[3] -= vec2[3]; + vec[4] -= vec2[4]; + vec[5] -= vec2[5]; + return vec; + } + + dest[0] = vec[0] - vec2[0]; + dest[1] = vec[1] - vec2[1]; + dest[2] = vec[2] - vec2[2]; + dest[3] = vec[3] - vec2[3]; + dest[4] = vec[4] - vec2[4]; + dest[5] = vec[5] - vec2[5]; + return dest; +}; + +vec6.dot = function(vec, vec2){ + return vec[0]*vec2[0] + vec[1]*vec2[1] + vec[2]*vec2[2] + vec[3]*vec2[3] + vec[4]*vec2[4] + vec[5]*vec2[5]; +}; + +var mat6 = {}; +mat6.xVec6 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2], u = vec[3], w = vec[4], v = vec[5]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z + mat[3]*u + mat[4]*w + mat[5]*v; + dest[1] = mat[6]*x + mat[7]*y + mat[8]*z + mat[9]*u + mat[10]*w + mat[11]*v; + dest[2] = mat[12]*x + mat[13]*y + mat[14]*z + mat[15]*u + mat[16]*w + mat[17]*v; + dest[3] = mat[18]*x + mat[19]*y + mat[20]*z + mat[21]*u + mat[22]*w + mat[23]*v; + dest[4] = mat[24]*x + mat[25]*y + mat[26]*z + mat[27]*u + mat[28]*w + mat[29]*v; + dest[5] = mat[30]*x + mat[31]*y + mat[32]*z + mat[33]*u + mat[34]*w + mat[35]*v; + + return dest; +}; + +mat3.xVec3 = function(mat, vec, dest){ + if(!dest) { dest = vec; } + var x = vec[0], y = vec[1], z = vec[2]; + + dest[0] = mat[0]*x + mat[1]*y + mat[2]*z; + dest[1] = mat[3]*x + mat[4]*y + mat[5]*z; + dest[2] = mat[6]*x + mat[7]*y + mat[8]*z; + + return dest; +}; \ No newline at end of file diff --git a/src/html_utils.js b/src/html_utils.js new file mode 100644 index 0000000..c26c13c --- /dev/null +++ b/src/html_utils.js @@ -0,0 +1,40 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define([], function() { + "use strict"; + + function createNode(htmlStr) { + var temp = document.createElement('div'); + + temp.innerHTML = htmlStr; + while (temp.firstChild) { + return temp.firstChild; + } + } + + function mergeObjects(obj1, obj2) { + for (var p in obj2) { + try { + if (obj2[p].constructor == Object) { + obj1[p] = mergeObjects(obj1[p], obj2[p]); + } else { + obj1[p] = obj2[p]; + } + } catch(e) { + obj1[p] = obj2[p]; + } + } + + return obj1; + } + + return { + createNode : function(htmlStr) { + return createNode(htmlStr); + }, + mergeObjects : function(obj1, obj2) { + return mergeObjects(obj1, obj2); + } + }; +}); \ No newline at end of file diff --git a/src/image_debug.js b/src/image_debug.js new file mode 100644 index 0000000..e0fbde1 --- /dev/null +++ b/src/image_debug.js @@ -0,0 +1,29 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(function() { + "use strict"; + + return { + drawRect: function(pos, size, ctx, style){ + ctx.strokeStyle = style.color; + ctx.fillStyle = style.color; + ctx.lineWidth = 1; + ctx.beginPath(); + ctx.strokeRect(pos.x, pos.y, size.x, size.y); + }, + drawPath: function(path, def, ctx, style) { + ctx.strokeStyle = style.color; + ctx.fillStyle = style.color; + ctx.lineWidth = style.lineWidth; + ctx.beginPath(); + ctx.moveTo(path[0][def.x], path[0][def.y]); + for (var j = 1; j < path.length; j++) { + ctx.lineTo(path[j][def.x], path[j][def.y]); + } + ctx.closePath(); + ctx.stroke(); + } + }; + +}); diff --git a/src/image_loader.js b/src/image_loader.js new file mode 100644 index 0000000..09bb9f3 --- /dev/null +++ b/src/image_loader.js @@ -0,0 +1,63 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(function() { + "use strict"; + + var ImageLoader = {}; + ImageLoader.load = function(directory, callback, offset, size, sequence) { + var htmlImagesSrcArray = new Array(size), + htmlImagesArray = new Array(htmlImagesSrcArray.length), + i, + img, + num; + + if (sequence === false) { + htmlImagesSrcArray[0] = directory; + } else { + for ( i = 0; i < htmlImagesSrcArray.length; i++) { + num = (offset + i); + htmlImagesSrcArray[i] = directory + "image-" + ("00" + num).slice(-3) + ".jpg"; + } + } + htmlImagesArray.notLoaded = []; + htmlImagesArray.addImage = function(img) { + htmlImagesArray.notLoaded.push(img); + }; + htmlImagesArray.loaded = function(loadedImg) { + var notloadedImgs = htmlImagesArray.notLoaded; + for (var x = 0; x < notloadedImgs.length; x++) { + if (notloadedImgs[x] == loadedImg) { + notloadedImgs.splice(x, 1); + for (var y = 0; y < htmlImagesSrcArray.length; y++) { + var imgName = htmlImagesSrcArray[y].substr(htmlImagesSrcArray[y].lastIndexOf("/")); + if (loadedImg.src.lastIndexOf(imgName) != -1) { + htmlImagesArray[y] = loadedImg; + break; + } + } + break; + } + } + if (notloadedImgs.length === 0) { + console.log("Images loaded"); + callback.apply(null, [htmlImagesArray]); + } + }; + + for ( i = 0; i < htmlImagesSrcArray.length; i++) { + img = new Image(); + htmlImagesArray.addImage(img); + addOnloadHandler(img, htmlImagesArray); + img.src = htmlImagesSrcArray[i]; + } + }; + + function addOnloadHandler(img, htmlImagesArray) { + img.onload = function() { + htmlImagesArray.loaded(this); + }; + } + + return (ImageLoader); +}); diff --git a/src/image_wrapper.js b/src/image_wrapper.js new file mode 100644 index 0000000..5e21795 --- /dev/null +++ b/src/image_wrapper.js @@ -0,0 +1,424 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2, mat2 */ + +define([ + "subImage", + "cv_utils", + "array_helper" + ], + function(SubImage, CVUtils, ArrayHelper) { + + 'use strict'; + + /** + * Represents a basic image combining the data and size. + * In addition, some methods for manipulation are contained. + * @param size {x,y} The size of the image in pixel + * @param data {Array} If given, a flat array containing the pixel data + * @param ArrayType {Type} If given, the desired DataType of the Array (may be typed/non-typed) + * @param initialize {Boolean} Indicating if the array should be initialized on creation. + * @returns {ImageWrapper} + */ + function ImageWrapper(size, data, ArrayType, initialize) { + if (!data) { + if (ArrayType) { + this.data = new ArrayType(size.x * size.y); + if (ArrayType === Array && initialize) { + ArrayHelper.init(this.data, 0); + } + } else { + this.data = new Uint8Array(size.x * size.y); + if (Uint8Array === Array && initialize) { + ArrayHelper.init(this.data, 0); + } + } + + } else { + this.data = data; + } + this.size = size; + } + + /** + * tests if a position is within the image with a given offset + * @param imgRef {x, y} The location to test + * @param border Number the padding value in pixel + * @returns {Boolean} true if location inside the image's border, false otherwise + * @see cvd/image.h + */ + ImageWrapper.prototype.inImageWithBorder = function(imgRef, border) { + return (imgRef.x >= border) && (imgRef.y >= border) && (imgRef.x < (this.size.x - border)) && (imgRef.y < (this.size.y - border)); + }; + + /** + * Transforms an image according to the given affine-transformation matrix. + * @param inImg ImageWrapper a image containing the information to be extracted. + * @param outImg ImageWrapper the image to be filled. The whole image out image is filled by the in image. + * @param M mat2 the matrix used to map point in the out matrix to those in the in matrix + * @param inOrig vec2 origin in the in image + * @param outOrig vec2 origin in the out image + * @returns Number the number of pixels not in the in image + * @see cvd/vision.h + */ + ImageWrapper.transform = function(inImg, outImg, M, inOrig, outOrig) { + var w = outImg.size.x, h = outImg.size.y, iw = inImg.size.x, ih = inImg.size.y; + var across = vec2.create([M[0], M[2]]); + var down = vec2.create([M[1], M[3]]); + var defaultValue = 0; + + var p0 = vec2.subtract(inOrig, mat2.xVec2(M, outOrig, vec2.create()), vec2.create()); + + var min_x = p0[0], min_y = p0[1]; + var max_x = min_x, max_y = min_y; + var p, i, j; + + var sampleFunc = ImageWrapper.sample; + + if (across[0] < 0) + min_x += w * across[0]; + else + max_x += w * across[0]; + + if (down[0] < 0) + min_x += h * down[0]; + else + max_x += h * down[0]; + + if (across[1] < 0) + min_y += w * across[1]; + else + max_y += w * across[1]; + + if (down[1] < 0) + min_y += h * down[1]; + else + max_y += h * down[1]; + + var carrigeReturn = vec2.subtract(down, vec2.scale(across, w, vec2.create()), vec2.create()); + + if (min_x >= 0 && min_y >= 0 && max_x < iw - 1 && max_y < ih - 1) { + p = p0; + for ( i = 0; i < h; ++i, vec2.add(p, carrigeReturn)) + for ( j = 0; j < w; ++j, vec2.add(p, across)) + outImg.set(j, i, sampleFunc(inImg, p[0], p[1])); + return 0; + } else { + var x_bound = iw - 1; + var y_bound = ih - 1; + var count = 0; + p = p0; + for ( i = 0; i < h; ++i, vec2.add(p, carrigeReturn)) { + for ( j = 0; j < w; ++j, vec2.add(p, across)) { + if (0 <= p[0] && 0 <= p[1] && p[0] < x_bound && p[1] < y_bound) { + outImg.set(j, i, sampleFunc(inImg, p[0], p[1])); + } else { + outImg.set(j, i, defaultValue); ++count; + } + } + } + return count; + } + }; + + /** + * Performs bilinear sampling + * @param inImg Image to extract sample from + * @param x the x-coordinate + * @param y the y-coordinate + * @returns the sampled value + * @see cvd/vision.h + */ + ImageWrapper.sample = function(inImg, x, y) { + var lx = Math.floor(x); + var ly = Math.floor(y); + var w = inImg.size.x; + var base = ly * inImg.size.x + lx; + var a = inImg.data[base + 0]; + var b = inImg.data[base + 1]; + var c = inImg.data[base + w]; + var d = inImg.data[base + w + 1]; + var e = a - b; + x -= lx; + y -= ly; + + var result = Math.floor(x * (y * (e - c + d) - e) + y * (c - a) + a); + return result; + }; + + /** + * Initializes a given array. Sets each element to zero. + * @param array {Array} The array to initialize + */ + ImageWrapper.clearArray = function(array) { + var l = array.length; + while (l--) { + array[l] = 0; + } + }; + + /** + * Creates a {SubImage} from the current image ({this}). + * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner) + * @param size {ImageRef} The size of the resulting image + * @returns {SubImage} A shared part of the original image + */ + ImageWrapper.prototype.subImage = function(from, size) { + return new SubImage(from, size, this); + }; + + /** + * Creates an {ImageWrapper) and copies the needed underlying image-data area + * @param imageWrapper {ImageWrapper} The target {ImageWrapper} where the data should be copied + * @param from {ImageRef} The location where to copy from (top-left location) + */ + ImageWrapper.prototype.subImageAsCopy = function(imageWrapper, from) { + var sizeY = imageWrapper.size.y, sizeX = imageWrapper.size.x; + var x, y; + for ( x = 0; x < sizeX; x++) { + for ( y = 0; y < sizeY; y++) { + imageWrapper.data[y * sizeX + x] = this.data[(from.y + y) * this.size.x + from.x + x]; + } + } + }; + + ImageWrapper.prototype.copyTo = function(imageWrapper) { + var length = this.data.length, srcData = this.data, dstData = imageWrapper.data; + + while (length--) { + dstData[length] = srcData[length]; + } + }; + + /** + * Retrieves a given pixel position from the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ + ImageWrapper.prototype.get = function(x, y) { + return this.data[y * this.size.x + x]; + }; + + /** + * Retrieves a given pixel position from the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ + ImageWrapper.prototype.getSafe = function(x, y) { + var i; + + if (!this.indexMapping) { + this.indexMapping = { + x : [], + y : [] + }; + for (i = 0; i < this.size.x; i++) { + this.indexMapping.x[i] = i; + this.indexMapping.x[i + this.size.x] = i; + } + for (i = 0; i < this.size.y; i++) { + this.indexMapping.y[i] = i; + this.indexMapping.y[i + this.size.y] = i; + } + } + return this.data[(this.indexMapping.y[y + this.size.y]) * this.size.x + this.indexMapping.x[x + this.size.x]]; + }; + + /** + * Sets a given pixel position in the image + * @param x {Number} The x-position + * @param y {Number} The y-position + * @param value {Number} The grayscale value to set + * @returns {ImageWrapper} The Image itself (for possible chaining) + */ + ImageWrapper.prototype.set = function(x, y, value) { + this.data[y * this.size.x + x] = value; + return this; + }; + + /** + * Sets the border of the image (1 pixel) to zero + */ + ImageWrapper.prototype.zeroBorder = function() { + var i, width = this.size.x, height = this.size.y, data = this.data; + for ( i = 0; i < width; i++) { + data[i] = data[(height - 1) * width + i] = 0; + } + for ( i = 1; i < height - 1; i++) { + data[i * width] = data[i * width + (width - 1)] = 0; + } + }; + + /** + * Inverts a binary image in place + */ + ImageWrapper.prototype.invert = function() { + var data = this.data, length = data.length; + + while (length--) { + data[length] = data[length] ? 0 : 1; + } + + }; + + ImageWrapper.prototype.convolve = function(kernel) { + var x, y, kx, ky, kSize = (kernel.length / 2) | 0, accu = 0; + for ( y = 0; y < this.size.y; y++) { + for ( x = 0; x < this.size.x; x++) { + accu = 0; + for ( ky = -kSize; ky <= kSize; ky++) { + for ( kx = -kSize; kx <= kSize; kx++) { + accu += kernel[ky+kSize][kx + kSize] * this.getSafe(x + kx, y + ky); + } + } + this.data[y * this.size.x + x] = accu; + } + } + }; + + ImageWrapper.prototype.moments = function(labelcount) { + var data = this.data, + x, + y, + height = this.size.y, + width = this.size.x, + val, + ysq, + labelsum = [], + i, + label, + mu11, + mu02, + mu20, + x_, + y_, + tmp, + result = [], + PI = Math.PI, + PI_4 = PI / 4; + + if (labelcount <= 0) { + return result; + } + + for ( i = 0; i < labelcount; i++) { + labelsum[i] = { + m00 : 0, + m01 : 0, + m10 : 0, + m11 : 0, + m02 : 0, + m20 : 0, + theta : 0, + rad : 0 + }; + } + + for ( y = 0; y < height; y++) { + ysq = y * y; + for ( x = 0; x < width; x++) { + val = data[y * width + x]; + if (val > 0) { + label = labelsum[val - 1]; + label.m00 += 1; + label.m01 += y; + label.m10 += x; + label.m11 += x * y; + label.m02 += ysq; + label.m20 += x * x; + } + } + } + + for ( i = 0; i < labelcount; i++) { + label = labelsum[i]; + if (!isNaN(label.m00) && label.m00 !== 0) { + x_ = label.m10 / label.m00; + y_ = label.m01 / label.m00; + mu11 = label.m11 / label.m00 - x_ * y_; + mu02 = label.m02 / label.m00 - y_ * y_; + mu20 = label.m20 / label.m00 - x_ * x_; + tmp = (mu02 - mu20) / (2 * mu11); + tmp = 0.5 * Math.atan(tmp) + (mu11 >= 0 ? PI_4 : -PI_4 ) + PI; + label.theta = (tmp * 180 / PI + 90) % 180 - 90; + if (label.theta < 0) { + label.theta += 180; + } + label.rad = tmp > PI ? tmp - PI : tmp; + label.vec = vec2.create([Math.cos(tmp), Math.sin(tmp)]); + result.push(label); + } + } + + return result; + }; + + /** + * Displays the {ImageWrapper} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ + ImageWrapper.prototype.show = function(canvas, scale) { + var ctx, + frame, + data, + current, + pixel, + x, + y; + + if (!scale) { + scale = 1.0; + } + ctx = canvas.getContext('2d'); + canvas.width = this.size.x; + canvas.height = this.size.y; + frame = ctx.getImageData(0, 0, canvas.width, canvas.height); + data = frame.data; + current = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + pixel = y * this.size.x + x; + current = this.get(x, y) * scale; + data[pixel * 4 + 0] = current; + data[pixel * 4 + 1] = current; + data[pixel * 4 + 2] = current; + data[pixel * 4 + 3] = 255; + } + } + //frame.data = data; + ctx.putImageData(frame, 0, 0); + }; + + /** + * Displays the {SubImage} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ + ImageWrapper.prototype.overlay = function(canvas, scale, from) { + if (!scale || scale < 0 || scale > 360) { + scale = 360; + } + var hsv = [0, 1, 1]; + var rgb = [0, 0, 0]; + var whiteRgb = [255, 255, 255]; + var blackRgb = [0, 0, 0]; + var result = []; + var ctx = canvas.getContext('2d'); + var frame = ctx.getImageData(from.x, from.y, this.size.x, this.size.y); + var data = frame.data; + var length = this.data.length; + while (length--) { + hsv[0] = this.data[length] * scale; + result = hsv[0] <= 0 ? whiteRgb : hsv[0] >= 360 ? blackRgb : CVUtils.hsv2rgb(hsv, rgb); + data[length * 4 + 0] = result[0]; + data[length * 4 + 1] = result[1]; + data[length * 4 + 2] = result[2]; + data[length * 4 + 3] = 255; + } + ctx.putImageData(frame, from.x, from.y); + }; + + return (ImageWrapper); +}); \ No newline at end of file diff --git a/src/input_stream.js b/src/input_stream.js new file mode 100644 index 0000000..3df624a --- /dev/null +++ b/src/input_stream.js @@ -0,0 +1,236 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(["image_loader"], function(ImageLoader) { + "use strict"; + + var InputStream = {}; + InputStream.createVideoStream = function(video) { + var that = {}, + _config = null, + _eventNames = ['canrecord', 'ended'], + _eventHandlers = {}; + + that.getRealWidth = function() { + return video.videoWidth; + }; + + that.getRealHeight = function() { + return video.videoHeight; + }; + + that.getWidth = function() { + return _config.halfSample ? video.videoWidth / 2 : video.videoWidth; + }; + + that.getHeight = function() { + return _config.halfSample ? video.videoHeight / 2 : video.videoHeight; + }; + + that.setInputStream = function(config) { + _config = config; + video.src = config.src; + }; + + that.ended = function() { + return video.ended; + }; + + that.getConfig = function() { + return _config; + }; + + that.setAttribute = function(name, value) { + video.setAttribute(name, value); + }; + + that.pause = function() { + video.pause(); + }; + + that.play = function() { + video.play(); + }; + + that.setCurrentTime = function(time) { + if (_config.type !== "LiveStream") + video.currentTime = time; + }; + + that.addEventListener = function(event, f, bool) { + if (_eventNames.indexOf(event) !== -1) { + if (!_eventHandlers[event]) { + _eventHandlers[event] = []; + } + _eventHandlers[event].push(f); + } else { + video.addEventListener(event, f, bool); + } + }; + + that.trigger = function(eventName, args) { + var j, + handlers = _eventHandlers[eventName]; + + if (handlers && handlers.length > 0) { + for ( j = 0; j < handlers.length; j++) { + handlers[j].apply(that, args); + } + } + }; + + that.getFrame = function() { + return video; + }; + + return that; + }; + + InputStream.createLiveStream = function(video) { + video.setAttribute("autoplay", true); + var that = InputStream.createVideoStream(video); + + that.ended = function() { + return false; + }; + + that.getWidth = function() { + return this.getConfig().halfSample ? video.videoWidth / 2 : video.videoWidth; + }; + + that.getHeight = function() { + return this.getConfig().halfSample ? video.videoHeight / 2 : video.videoHeight; + }; + + return that; + }; + + InputStream.createImageStream = function() { + var that = {}; + var _config = null; + + var width = 0, + height = 0, + frameIdx = 0, + paused = true, + loaded = false, + imgArray = null, + size = 0, + offset = 1, + baseUrl = null, + ended = false, + _eventNames = ['canrecord', 'ended'], + _eventHandlers = {}; + + function loadImages() { + loaded = false; + ImageLoader.load(baseUrl, function(imgs) { + imgArray = imgs; + width = imgs[0].width; + height = imgs[0].height; + loaded = true; + frameIdx = 0; + setTimeout(function() { + publishEvent("canrecord", []); + }, 0); + }, offset, size, _config.sequence); + } + + function publishEvent(eventName, args) { + var j, + handlers = _eventHandlers[eventName]; + + if (handlers && handlers.length > 0) { + for ( j = 0; j < handlers.length; j++) { + handlers[j].apply(that, args); + } + } + } + + + that.trigger = publishEvent; + + that.getWidth = function() { + return _config.size ? width/height > 1 ? _config.size : (width/height) * _config.size : width; + }; + + that.getHeight = function() { + return _config.size ? width/height > 1 ? (height/width) * _config.size : _config.size : height; + }; + + that.getRealWidth = function() { + return width; + }; + + that.getRealHeight = function() { + return height; + }; + + that.setInputStream = function(stream) { + _config = stream; + if (stream.sequence === false) { + baseUrl = stream.src; + size = 1; + } else { + baseUrl = stream.src; + size = stream.length; + } + loadImages(); + }; + + that.ended = function() { + return ended; + }; + + that.setAttribute = function() {}; + + that.getConfig = function() { + return _config; + }; + + that.pause = function() { + paused = true; + }; + + that.play = function() { + paused = false; + }; + + that.setCurrentTime = function(time) { + frameIdx = time; + }; + + that.addEventListener = function(event, f) { + if (_eventNames.indexOf(event) !== -1) { + if (!_eventHandlers[event]) { + _eventHandlers[event] = []; + } + _eventHandlers[event].push(f); + } + }; + + that.getFrame = function() { + var frame; + + if (!loaded){ + return null; + } + if (!paused) { + frame = imgArray[frameIdx]; + if (frameIdx < (size - 1)) { + frameIdx++; + } else { + setTimeout(function() { + ended = true; + publishEvent("ended", []); + }, 0); + } + } + return frame; + }; + + return that; + }; + + return (InputStream); +}); diff --git a/src/quagga.js b/src/quagga.js new file mode 100644 index 0000000..5dbb2c1 --- /dev/null +++ b/src/quagga.js @@ -0,0 +1,223 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define, vec2 */ + +define(["code_128_reader", "ean_reader", "input_stream", "image_wrapper", "barcode_locator", "barcode_decoder", "frame_grabber", "html_utils", "config", "events", "camera_access"], +function(Code128Reader, EANReader, InputStream, ImageWrapper, BarcodeLocator, BarcodeDecoder, FrameGrabber, HtmlUtils, _config, Events, CameraAccess) { + "use strict"; + + var _inputStream, + _framegrabber, + _stopped, + _canvasContainer = { + ctx : { + image : null, + overlay : null + }, + dom : { + image : null, + overlay : null + } + }, + _inputImageWrapper, + _boxSize, + _decoder, + _initialized = false; + + function initialize(config) { + _config = HtmlUtils.mergeObjects(_config, config); + initInputStream(); + } + + function initConfig() { + var vis = [{ + node : document.querySelector("div[data-controls]"), + prop : _config.controls + }, { + node : _canvasContainer.dom.overlay, + prop : _config.visual.show + }]; + + for (var i = 0; i < vis.length; i++) { + if (vis[i].node) { + if (vis[i].prop === true) { + vis[i].node.style.display = "block"; + } else { + vis[i].node.style.display = "none"; + } + } + } + } + + function initInputStream() { + var video; + if (_config.inputStream.type == "VideoStream") { + video = document.createElement("video"); + _inputStream = InputStream.createVideoStream(video); + } else if (_config.inputStream.type == "ImageStream") { + _inputStream = InputStream.createImageStream(); + } else if (_config.inputStream.type == "LiveStream") { + video = document.createElement("video"); + var $viewport = document.querySelector("#interactive.viewport"); + if($viewport) { + $viewport.appendChild(video); + } + _inputStream = InputStream.createLiveStream(video); + CameraAccess.request(video, function(err) { + if (!err) { + _inputStream.trigger("canrecord"); + } else { + console.log(err); + } + }); + } + + _inputStream.setAttribute("preload", "auto"); + _inputStream.setAttribute("autoplay", true); + _inputStream.setInputStream(_config.inputStream); + _inputStream.addEventListener("canrecord", canRecord); + } + + function canRecord() { + initBuffers(); + initCanvas(); + _decoder = BarcodeDecoder.create(_config.decoder, _inputImageWrapper); + _framegrabber = FrameGrabber.create(_inputStream, _canvasContainer.dom.image); + _framegrabber.attachData(_inputImageWrapper.data); + + initConfig(); + _inputStream.play(); + _initialized = true; + if (_config.readyFunc) { + _config.readyFunc.apply(); + } + } + + function initCanvas() { + var $viewport = document.querySelector("#interactive.viewport"); + _canvasContainer.dom.image = document.querySelector("canvas.imgBuffer"); + if (!_canvasContainer.dom.image) { + _canvasContainer.dom.image = document.createElement("canvas"); + _canvasContainer.dom.image.className = "imgBuffer"; + if($viewport && _config.inputStream.type == "ImageStream") { + $viewport.appendChild(_canvasContainer.dom.image); + } + } + _canvasContainer.ctx.image = _canvasContainer.dom.image.getContext("2d"); + _canvasContainer.dom.image.width = _inputImageWrapper.size.x; + _canvasContainer.dom.image.height = _inputImageWrapper.size.y; + + _canvasContainer.dom.overlay = document.querySelector("canvas.drawingBuffer"); + if (!_canvasContainer.dom.overlay) { + _canvasContainer.dom.overlay = document.createElement("canvas"); + _canvasContainer.dom.overlay.className = "drawingBuffer"; + if($viewport) { + $viewport.appendChild(_canvasContainer.dom.overlay); + } + var clearFix = document.createElement("br"); + clearFix.setAttribute("clear", "all"); + if($viewport) { + $viewport.appendChild(clearFix); + } + } + _canvasContainer.ctx.overlay = _canvasContainer.dom.overlay.getContext("2d"); + _canvasContainer.dom.overlay.width = _inputImageWrapper.size.x; + _canvasContainer.dom.overlay.height = _inputImageWrapper.size.y; + } + + function initBuffers() { + _inputImageWrapper = new ImageWrapper({ + x : _inputStream.getWidth(), + y : _inputStream.getHeight() + }); + console.log(_inputStream.getWidth()); + console.log(_inputStream.getHeight()); + _boxSize = [ + vec2.create([20, _inputStream.getHeight() / 2 - 100]), + vec2.create([20, _inputStream.getHeight() / 2 + 100]), + vec2.create([_inputStream.getWidth() - 20, _inputStream.getHeight() / 2 + 100]), + vec2.create([_inputStream.getWidth() - 20, _inputStream.getHeight() / 2 - 100]) + ]; + BarcodeLocator.init(_config.locator, { + inputImageWrapper : _inputImageWrapper + }); + } + + function getBoundingBoxes() { + var boxes; + + if (_config.locate) { + boxes = BarcodeLocator.locate(); + } else { + boxes = [_boxSize]; + } + return boxes; + } + + function update() { + var result, + boxes; + + if (_framegrabber.grab()) { + _canvasContainer.ctx.overlay.clearRect(0, 0, _inputImageWrapper.size.x, _inputImageWrapper.size.y); + boxes = getBoundingBoxes(); + if (boxes) { + result = _decoder.decodeFromBoundingBoxes(boxes); + if (result && result.codeResult) { + Events.publish("detected", result.codeResult.code); + } + } + } + } + + function start() { + _stopped = false; + ( function frame() { + if (!_stopped) { + if (_config.inputStream.type == "LiveStream") { + window.requestAnimFrame(frame); + } + update(); + } + }()); + } + + return { + init : function(config, callback) { + initialize(config, callback); + }, + start : function() { + console.log("Start!"); + start(); + }, + stop : function() { + _stopped = true; + }, + onDetected : function(callback) { + Events.subscribe("detected", callback, true); + }, + isInitialized : function() { + return _initialized; + }, + canvas : _canvasContainer, + decodeSingle : function(config, resultCallback) { + config.inputStream = { + type : "ImageStream", + src : config.src, + sequence : false, + size: 800 + }; + config.readyFunc = function() { + Events.subscribe("detected", function(result) { + _stopped = true; + resultCallback.call(null, result); + }, true); + start(); + }; + initialize(config); + }, + Reader: { + EANReader : EANReader, + Code128Reader : Code128Reader + } + }; +}); diff --git a/src/rasterizer.js b/src/rasterizer.js new file mode 100644 index 0000000..756f1d3 --- /dev/null +++ b/src/rasterizer.js @@ -0,0 +1,198 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +/** + * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization + */ +define(["tracer"], function(Tracer) { + "use strict"; + + var Rasterizer = { + createContour2D : function() { + return { + dir : null, + index : null, + firstVertex : null, + insideContours : null, + nextpeer : null, + prevpeer : null + }; + }, + CONTOUR_DIR : { + CW_DIR : 0, + CCW_DIR : 1, + UNKNOWN_DIR : 2 + }, + DIR : { + OUTSIDE_EDGE : -32767, + INSIDE_EDGE : -32766 + }, + create : function(imageWrapper, labelWrapper) { + var imageData = imageWrapper.data, + labelData = labelWrapper.data, + width = imageWrapper.size.x, + height = imageWrapper.size.y, + tracer = Tracer.create(imageWrapper, labelWrapper); + + return { + rasterize : function(depthlabel) { + var color, + bc, + lc, + labelindex, + cx, + cy, + colorMap = [], + vertex, + p, + cc, + sc, + pos, + connectedCount = 0, + i; + + for ( i = 0; i < 400; i++) { + colorMap[i] = 0; + } + + colorMap[0] = imageData[0]; + cc = null; + for ( cy = 1; cy < height - 1; cy++) { + labelindex = 0; + bc = colorMap[0]; + for ( cx = 1; cx < width - 1; cx++) { + pos = cy * width + cx; + if (labelData[pos] === 0) { + color = imageData[pos]; + if (color !== bc) { + if (labelindex === 0) { + lc = connectedCount + 1; + colorMap[lc] = color; + bc = color; + vertex = tracer.contourTracing(cy, cx, lc, color, Rasterizer.DIR.OUTSIDE_EDGE); + if (vertex !== null) { + connectedCount++; + labelindex = lc; + p = Rasterizer.createContour2D(); + p.dir = Rasterizer.CONTOUR_DIR.CW_DIR; + p.index = labelindex; + p.firstVertex = vertex; + p.nextpeer = cc; + p.insideContours = null; + if (cc !== null) { + cc.prevpeer = p; + } + cc = p; + } + } else { + vertex = tracer.contourTracing(cy, cx, Rasterizer.DIR.INSIDE_EDGE, color, labelindex); + if (vertex !== null) { + p = Rasterizer.createContour2D(); + p.firstVertex = vertex; + p.insideContours = null; + if (depthlabel === 0) { + p.dir = Rasterizer.CONTOUR_DIR.CCW_DIR; + } else { + p.dir = Rasterizer.CONTOUR_DIR.CW_DIR; + } + p.index = depthlabel; + sc = cc; + while ((sc !== null) && sc.index !== labelindex) { + sc = sc.nextpeer; + } + if (sc !== null) { + p.nextpeer = sc.insideContours; + if (sc.insideContours !== null) { + sc.insideContours.prevpeer = p; + } + sc.insideContours = p; + } + } + } + } else { + labelData[pos] = labelindex; + } + } else if (labelData[pos] === Rasterizer.DIR.OUTSIDE_EDGE || labelData[pos] === Rasterizer.DIR.INSIDE_EDGE) { + labelindex = 0; + if (labelData[pos] === Rasterizer.DIR.INSIDE_EDGE) { + bc = imageData[pos]; + } else { + bc = colorMap[0]; + } + } else { + labelindex = labelData[pos]; + bc = colorMap[labelindex]; + } + } + } + sc = cc; + while (sc !== null) { + sc.index = depthlabel; + sc = sc.nextpeer; + } + return { + cc : cc, + count : connectedCount + }; + }, + debug: { + drawContour : function(canvas, firstContour) { + var ctx = canvas.getContext("2d"), + pq = firstContour, + iq, + q, + p; + + ctx.strokeStyle = "red"; + ctx.fillStyle = "red"; + ctx.lineWidth = 1; + + if (pq !== null) { + iq = pq.insideContours; + } else { + iq = null; + } + + while (pq !== null) { + if (iq !== null) { + q = iq; + iq = iq.nextpeer; + } else { + q = pq; + pq = pq.nextpeer; + if (pq !== null) { + iq = pq.insideContours; + } else { + iq = null; + } + } + + switch(q.dir) { + case Rasterizer.CONTOUR_DIR.CW_DIR: + ctx.strokeStyle = "red"; + break; + case Rasterizer.CONTOUR_DIR.CCW_DIR: + ctx.strokeStyle = "blue"; + break; + case Rasterizer.CONTOUR_DIR.UNKNOWN_DIR: + ctx.strokeStyle = "green"; + break; + } + + p = q.firstVertex; + ctx.beginPath(); + ctx.moveTo(p.x, p.y); + do { + p = p.next; + ctx.lineTo(p.x, p.y); + } while(p !== q.firstVertex); + ctx.stroke(); + } + } + } + }; + } + }; + + return (Rasterizer); +}); diff --git a/src/skeletonizer.js b/src/skeletonizer.js new file mode 100644 index 0000000..d75feeb --- /dev/null +++ b/src/skeletonizer.js @@ -0,0 +1,202 @@ +/* jshint undef: true, unused: true, browser:true, devel: true, -W041: false */ +/* global define */ + +define(function() { + "use strict"; + + function Skeletonizer(stdlib, foreign, buffer) { + "use asm"; + + var images = new stdlib.Uint8Array(buffer), + size = foreign.size | 0, + imul = stdlib.Math.imul; + + function erode(inImagePtr, outImagePtr) { + inImagePtr = inImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var v = 0, + u = 0, + sum = 0, + yStart1 = 0, + yStart2 = 0, + xStart1 = 0, + xStart2 = 0, + offset = 0; + + for ( v = 1; (v | 0) < ((size - 1) | 0); v = (v + 1) | 0) { + offset = (offset + size) | 0; + for ( u = 1; (u | 0) < ((size - 1) | 0); u = (u + 1) | 0) { + yStart1 = (offset - size) | 0; + yStart2 = (offset + size) | 0; + xStart1 = (u - 1) | 0; + xStart2 = (u + 1) | 0; + sum = ((images[(inImagePtr + yStart1 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart1 + xStart2) | 0] | 0) + (images[(inImagePtr + offset + u) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart2) | 0] | 0)) | 0; + if ((sum | 0) == (5 | 0)) { + images[(outImagePtr + offset + u) | 0] = 1; + } else { + images[(outImagePtr + offset + u) | 0] = 0; + } + } + } + return; + } + + function subtract(aImagePtr, bImagePtr, outImagePtr) { + aImagePtr = aImagePtr | 0; + bImagePtr = bImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(outImagePtr + length) | 0] = ((images[(aImagePtr + length) | 0] | 0) - (images[(bImagePtr + length) | 0] | 0)) | 0; + } + } + + function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) { + aImagePtr = aImagePtr | 0; + bImagePtr = bImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(outImagePtr + length) | 0] = ((images[(aImagePtr + length) | 0] | 0) | (images[(bImagePtr + length) | 0] | 0)) | 0; + } + } + + function countNonZero(imagePtr) { + imagePtr = imagePtr | 0; + + var sum = 0, + length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + sum = ((sum | 0) + (images[(imagePtr + length) | 0] | 0)) | 0; + } + + return (sum | 0); + } + + function init(imagePtr, value) { + imagePtr = imagePtr | 0; + value = value | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(imagePtr + length) | 0] = value; + } + } + + function dilate(inImagePtr, outImagePtr) { + inImagePtr = inImagePtr | 0; + outImagePtr = outImagePtr | 0; + + var v = 0, + u = 0, + sum = 0, + yStart1 = 0, + yStart2 = 0, + xStart1 = 0, + xStart2 = 0, + offset = 0; + + for ( v = 1; (v | 0) < ((size - 1) | 0); v = (v + 1) | 0) { + offset = (offset + size) | 0; + for ( u = 1; (u | 0) < ((size - 1) | 0); u = (u + 1) | 0) { + yStart1 = (offset - size) | 0; + yStart2 = (offset + size) | 0; + xStart1 = (u - 1) | 0; + xStart2 = (u + 1) | 0; + sum = ((images[(inImagePtr + yStart1 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart1 + xStart2) | 0] | 0) + (images[(inImagePtr + offset + u) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart1) | 0] | 0) + (images[(inImagePtr + yStart2 + xStart2) | 0] | 0)) | 0; + if ((sum | 0) > (0 | 0)) { + images[(outImagePtr + offset + u) | 0] = 1; + } else { + images[(outImagePtr + offset + u) | 0] = 0; + } + } + } + return; + } + + function memcpy(srcImagePtr, dstImagePtr) { + srcImagePtr = srcImagePtr | 0; + dstImagePtr = dstImagePtr | 0; + + var length = 0; + + length = imul(size, size) | 0; + + while ((length | 0) > 0) { + length = (length - 1) | 0; + images[(dstImagePtr + length) | 0] = (images[(srcImagePtr + length) | 0] | 0); + } + } + + function zeroBorder(imagePtr) { + imagePtr = imagePtr | 0; + + var x = 0, + y = 0; + + for ( x = 0; (x | 0) < ((size - 1) | 0); x = (x + 1) | 0) { + images[(imagePtr + x) | 0] = 0; + images[(imagePtr + y) | 0] = 0; + y = ((y + size) - 1) | 0; + images[(imagePtr + y) | 0] = 0; + y = (y + 1) | 0; + } + for ( x = 0; (x | 0) < (size | 0); x = (x + 1) | 0) { + images[(imagePtr + y) | 0] = 0; + y = (y + 1) | 0; + } + } + + function skeletonize() { + var subImagePtr = 0, + erodedImagePtr = 0, + tempImagePtr = 0, + skelImagePtr = 0, + sum = 0, + done = 0; + + erodedImagePtr = imul(size, size) | 0; + tempImagePtr = (erodedImagePtr + erodedImagePtr) | 0; + skelImagePtr = (tempImagePtr + erodedImagePtr) | 0; + + // init skel-image + init(skelImagePtr, 0); + zeroBorder(subImagePtr); + + do { + erode(subImagePtr, erodedImagePtr); + dilate(erodedImagePtr, tempImagePtr); + subtract(subImagePtr, tempImagePtr, tempImagePtr); + bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr); + memcpy(erodedImagePtr, subImagePtr); + sum = countNonZero(subImagePtr) | 0; + done = ((sum | 0) == 0 | 0); + } while(!done); + } + + return { + skeletonize : skeletonize + }; + } + + return Skeletonizer; +}); diff --git a/src/subImage.js b/src/subImage.js new file mode 100644 index 0000000..66fe26f --- /dev/null +++ b/src/subImage.js @@ -0,0 +1,97 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +define(["typedefs"], function() { + "use strict"; + + /** + * Construct representing a part of another {ImageWrapper}. Shares data + * between the parent and the child. + * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner) + * @param size {ImageRef} The size of the resulting image + * @param I {ImageWrapper} The {ImageWrapper} to share from + * @returns {SubImage} A shared part of the original image + */ + function SubImage(from, size, I) { + if (!I) { + I = { + data : null, + size : size + }; + } + this.data = I.data; + this.originalSize = I.size; + this.I = I; + + this.from = from; + this.size = size; + } + + /** + * Displays the {SubImage} in a given canvas + * @param canvas {Canvas} The canvas element to write to + * @param scale {Number} Scale which is applied to each pixel-value + */ + SubImage.prototype.show = function(canvas, scale) { + var ctx, + frame, + data, + current, + y, + x, + pixel; + + if (!scale) { + scale = 1.0; + } + ctx = canvas.getContext('2d'); + canvas.width = this.size.x; + canvas.height = this.size.y; + frame = ctx.getImageData(0, 0, canvas.width, canvas.height); + data = frame.data; + current = 0; + for (y = 0; y < this.size.y; y++) { + for (x = 0; x < this.size.x; x++) { + pixel = y * this.size.x + x; + current = this.get(x, y) * scale; + data[pixel * 4 + 0] = current; + data[pixel * 4 + 1] = current; + data[pixel * 4 + 2] = current; + data[pixel * 4 + 3] = 255; + } + } + frame.data = data; + ctx.putImageData(frame, 0, 0); + }; + + /** + * Retrieves a given pixel position from the {SubImage} + * @param x {Number} The x-position + * @param y {Number} The y-position + * @returns {Number} The grayscale value at the pixel-position + */ + SubImage.prototype.get = function(x, y) { + return this.data[(this.from.y + y) * this.originalSize.x + this.from.x + x]; + }; + + /** + * Updates the underlying data from a given {ImageWrapper} + * @param image {ImageWrapper} The updated image + */ + SubImage.prototype.updateData = function(image) { + this.originalSize = image.size; + this.data = image.data; + }; + + /** + * Updates the position of the shared area + * @param from {x,y} The new location + * @returns {SubImage} returns {this} for possible chaining + */ + SubImage.prototype.updateFrom = function(from) { + this.from = from; + return this; + }; + + return (SubImage); +}); \ No newline at end of file diff --git a/src/tracer.js b/src/tracer.js new file mode 100644 index 0000000..da52df3 --- /dev/null +++ b/src/tracer.js @@ -0,0 +1,108 @@ +/* jshint undef: true, unused: true, browser:true, devel: true */ +/* global define */ + +/** + * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization + */ +define(function() { + "use strict"; + + var Tracer = { + searchDirections : [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]], + create : function(imageWrapper, labelWrapper) { + var imageData = imageWrapper.data, + labelData = labelWrapper.data, + searchDirections = this.searchDirections, + width = imageWrapper.size.x, + pos; + + function trace(current, color, label, edgelabel) { + var i, + y, + x; + + for ( i = 0; i < 7; i++) { + y = current.cy + searchDirections[current.dir][0]; + x = current.cx + searchDirections[current.dir][1]; + pos = y * width + x; + if ((imageData[pos] === color) && ((labelData[pos] === 0) || (labelData[pos] === label))) { + labelData[pos] = label; + current.cy = y; + current.cx = x; + return true; + } else { + if (labelData[pos] === 0) { + labelData[pos] = edgelabel; + } + current.dir = (current.dir + 1) % 8; + } + } + return false; + } + + function vertex2D(x, y, dir) { + return { + dir : dir, + x : x, + y : y, + next : null, + prev : null + }; + } + + function contourTracing(sy, sx, label, color, edgelabel) { + var Fv = null, + Cv, + P, + ldir, + current = { + cx : sx, + cy : sy, + dir : 0 + }; + + if (trace(current, color, label, edgelabel)) { + Fv = vertex2D(sx, sy, current.dir); + Cv = Fv; + ldir = current.dir; + P = vertex2D(current.cx, current.cy, 0); + P.prev = Cv; + Cv.next = P; + P.next = null; + Cv = P; + do { + current.dir = (current.dir + 6) % 8; + trace(current, color, label, edgelabel); + if (ldir != current.dir) { + Cv.dir = current.dir; + P = vertex2D(current.cx, current.cy, 0); + P.prev = Cv; + Cv.next = P; + P.next = null; + Cv = P; + } else { + Cv.dir = ldir; + Cv.x = current.cx; + Cv.y = current.cy; + } + ldir = current.dir; + } while(current.cx != sx || current.cy != sy); + Fv.prev = Cv.prev; + Cv.prev.next = Fv; + } + return Fv; + } + + return { + trace : function(current, color, label, edgelabel) { + return trace(current, color, label, edgelabel); + }, + contourTracing : function(sy, sx, label, color, edgelabel) { + return contourTracing(sy, sx, label, color, edgelabel); + } + }; + } + }; + + return (Tracer); +}); diff --git a/src/typedefs.js b/src/typedefs.js new file mode 100644 index 0000000..151fe89 --- /dev/null +++ b/src/typedefs.js @@ -0,0 +1,21 @@ +/* + * typedefs.js + * Normalizes browser-specific prefixes + */ + +glMatrixArrayType = Float32Array; + +window.requestAnimFrame = (function() { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function(/* function FrameRequestCallback */ callback, /* DOMElement Element */ element) { + window.setTimeout(callback, 1000/60); + }; +})(); + + +navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; +window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL; \ No newline at end of file diff --git a/src/vendor/almond.js b/src/vendor/almond.js new file mode 100644 index 0000000..807815c --- /dev/null +++ b/src/vendor/almond.js @@ -0,0 +1,410 @@ +/** + * almond 0.2.6 Copyright (c) 2011-2012, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/almond for details + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*jslint sloppy: true */ +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, + foundI, foundStarMap, starI, i, j, part, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name && name.charAt(0) === ".") { + //If have a base name, try to normalize against it, + //otherwise, assume it is a top-level require that will + //be relative to baseUrl in the end. + if (baseName) { + //Convert baseName to array, and lop off the last part, + //so that . matches that "directory" and not name of the baseName's + //module. For instance, baseName of "one/two/three", maps to + //"one/two/three.js", but we want the directory, "one/two" for + //this normalization. + baseParts = baseParts.slice(0, baseParts.length - 1); + + name = baseParts.concat(name.split("/")); + + //start trimDots + for (i = 0; i < name.length; i += 1) { + part = name[i]; + if (part === ".") { + name.splice(i, 1); + i -= 1; + } else if (part === "..") { + if (i === 1 && (name[2] === '..' || name[0] === '..')) { + //End of the line. Keep at least one non-dot + //path segment at the front so it can be mapped + //correctly to disk. Otherwise, there is likely + //no path mapping for a path starting with '..'. + //This can still fail, but catches the most reasonable + //uses of .. + break; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join("/"); + } else if (name.indexOf('./') === 0) { + // No baseName, so this is ID is resolved relative + // to baseUrl, pull off the leading dot. + name = name.substring(2); + } + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + return req.apply(undef, aps.call(arguments, 0).concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relName) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relName)); + } else { + name = normalize(name, relName); + } + } else { + name = normalize(name, relName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, + args = [], + usingExports; + + //Use name if no relName + relName = relName || name; + + //Call the callback to define the module, if necessary. + if (typeof callback === 'function') { + + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relName); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback.apply(defined[name], args); + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, callback).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + config = cfg; + if (config.deps) { + req(config.deps, config.callback); + } + return req; + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); diff --git a/src/vendor/browser_detect.js b/src/vendor/browser_detect.js new file mode 100644 index 0000000..f8a5cf8 --- /dev/null +++ b/src/vendor/browser_detect.js @@ -0,0 +1,121 @@ +/* + * http://www.quirksmode.org/js/detect.html + */ + +var BrowserDetect = { + init: function () { + this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; + this.version = this.searchVersion(navigator.userAgent) + || this.searchVersion(navigator.appVersion) + || "an unknown version"; + this.OS = this.searchString(this.dataOS) || "an unknown OS"; + }, + searchString: function (data) { + for (var i=0;i= 1.0){ + if(dest != quat) { + dest[0] = quat[0]; + dest[1] = quat[1]; + dest[2] = quat[2]; + dest[3] = quat[3]; + } + return dest; + } + + var halfTheta = Math.acos(cosHalfTheta); + var sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta*cosHalfTheta); + + if (Math.abs(sinHalfTheta) < 0.001){ + dest[0] = (quat[0]*0.5 + quat2[0]*0.5); + dest[1] = (quat[1]*0.5 + quat2[1]*0.5); + dest[2] = (quat[2]*0.5 + quat2[2]*0.5); + dest[3] = (quat[3]*0.5 + quat2[3]*0.5); + return dest; + } + + var ratioA = Math.sin((1 - slerp)*halfTheta) / sinHalfTheta; + var ratioB = Math.sin(slerp*halfTheta) / sinHalfTheta; + + dest[0] = (quat[0]*ratioA + quat2[0]*ratioB); + dest[1] = (quat[1]*ratioA + quat2[1]*ratioB); + dest[2] = (quat[2]*ratioA + quat2[2]*ratioB); + dest[3] = (quat[3]*ratioA + quat2[3]*ratioB); + + return dest; +}; + + +/* + * quat4.str + * Returns a string representation of a quaternion + * + * Params: + * quat - quat4 to represent as a string + * + * Returns: + * string representation of quat + */ +quat4.str = function(quat) { + return '[' + quat[0] + ', ' + quat[1] + ', ' + quat[2] + ', ' + quat[3] + ']'; +}; + diff --git a/src/vendor/jquery-1.9.0.min.js b/src/vendor/jquery-1.9.0.min.js new file mode 100644 index 0000000..50d1b22 --- /dev/null +++ b/src/vendor/jquery-1.9.0.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.9.0 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license */(function(e,t){"use strict";function n(e){var t=e.length,n=st.type(e);return st.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e){var t=Tt[e]={};return st.each(e.match(lt)||[],function(e,n){t[n]=!0}),t}function i(e,n,r,i){if(st.acceptData(e)){var o,a,s=st.expando,u="string"==typeof n,l=e.nodeType,c=l?st.cache:e,f=l?e[s]:e[s]&&s;if(f&&c[f]&&(i||c[f].data)||!u||r!==t)return f||(l?e[s]=f=K.pop()||st.guid++:f=s),c[f]||(c[f]={},l||(c[f].toJSON=st.noop)),("object"==typeof n||"function"==typeof n)&&(i?c[f]=st.extend(c[f],n):c[f].data=st.extend(c[f].data,n)),o=c[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[st.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[st.camelCase(n)])):a=o,a}}function o(e,t,n){if(st.acceptData(e)){var r,i,o,a=e.nodeType,u=a?st.cache:e,l=a?e[st.expando]:st.expando;if(u[l]){if(t&&(r=n?u[l]:u[l].data)){st.isArray(t)?t=t.concat(st.map(t,st.camelCase)):t in r?t=[t]:(t=st.camelCase(t),t=t in r?[t]:t.split(" "));for(i=0,o=t.length;o>i;i++)delete r[t[i]];if(!(n?s:st.isEmptyObject)(r))return}(n||(delete u[l].data,s(u[l])))&&(a?st.cleanData([e],!0):st.support.deleteExpando||u!=u.window?delete u[l]:u[l]=null)}}}function a(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(Nt,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:wt.test(r)?st.parseJSON(r):r}catch(o){}st.data(e,n,r)}else r=t}return r}function s(e){var t;for(t in e)if(("data"!==t||!st.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(){return!0}function l(){return!1}function c(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function f(e,t,n){if(t=t||0,st.isFunction(t))return st.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return st.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=st.grep(e,function(e){return 1===e.nodeType});if(Wt.test(t))return st.filter(t,r,!n);t=st.filter(t,r)}return st.grep(e,function(e){return st.inArray(e,t)>=0===n})}function p(e){var t=zt.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function d(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function h(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function g(e){var t=nn.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function m(e,t){for(var n,r=0;null!=(n=e[r]);r++)st._data(n,"globalEval",!t||st._data(t[r],"globalEval"))}function y(e,t){if(1===t.nodeType&&st.hasData(e)){var n,r,i,o=st._data(e),a=st._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)st.event.add(t,n,s[n][r])}a.data&&(a.data=st.extend({},a.data))}}function v(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!st.support.noCloneEvent&&t[st.expando]){r=st._data(t);for(i in r.events)st.removeEvent(t,i,r.handle);t.removeAttribute(st.expando)}"script"===n&&t.text!==e.text?(h(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),st.support.html5Clone&&e.innerHTML&&!st.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Zt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function b(e,n){var r,i,o=0,a=e.getElementsByTagName!==t?e.getElementsByTagName(n||"*"):e.querySelectorAll!==t?e.querySelectorAll(n||"*"):t;if(!a)for(a=[],r=e.childNodes||e;null!=(i=r[o]);o++)!n||st.nodeName(i,n)?a.push(i):st.merge(a,b(i,n));return n===t||n&&st.nodeName(e,n)?st.merge([e],a):a}function x(e){Zt.test(e.type)&&(e.defaultChecked=e.checked)}function T(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Nn.length;i--;)if(t=Nn[i]+n,t in e)return t;return r}function w(e,t){return e=t||e,"none"===st.css(e,"display")||!st.contains(e.ownerDocument,e)}function N(e,t){for(var n,r=[],i=0,o=e.length;o>i;i++)n=e[i],n.style&&(r[i]=st._data(n,"olddisplay"),t?(r[i]||"none"!==n.style.display||(n.style.display=""),""===n.style.display&&w(n)&&(r[i]=st._data(n,"olddisplay",S(n.nodeName)))):r[i]||w(n)||st._data(n,"olddisplay",st.css(n,"display")));for(i=0;o>i;i++)n=e[i],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?r[i]||"":"none"));return e}function C(e,t,n){var r=mn.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function k(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;4>o;o+=2)"margin"===n&&(a+=st.css(e,n+wn[o],!0,i)),r?("content"===n&&(a-=st.css(e,"padding"+wn[o],!0,i)),"margin"!==n&&(a-=st.css(e,"border"+wn[o]+"Width",!0,i))):(a+=st.css(e,"padding"+wn[o],!0,i),"padding"!==n&&(a+=st.css(e,"border"+wn[o]+"Width",!0,i)));return a}function E(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=ln(e),a=st.support.boxSizing&&"border-box"===st.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=un(e,t,o),(0>i||null==i)&&(i=e.style[t]),yn.test(i))return i;r=a&&(st.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+k(e,t,n||(a?"border":"content"),r,o)+"px"}function S(e){var t=V,n=bn[e];return n||(n=A(e,t),"none"!==n&&n||(cn=(cn||st("