diff --git a/build-js/index.html b/build-js/index.html index c1fec70..1a34edd 100644 --- a/build-js/index.html +++ b/build-js/index.html @@ -1 +1,114 @@ -React App
\ No newline at end of file + + + + + + + + + React App + + + + +
+ + + diff --git a/build-wasm/asset-manifest.json b/build-wasm/asset-manifest.json index 35f42e6..c3e06c0 100644 --- a/build-wasm/asset-manifest.json +++ b/build-wasm/asset-manifest.json @@ -1,16 +1,16 @@ { - "main.css": "/static/css/main.ea7c0a90.chunk.css", - "main.js": "/static/js/main.6e213ef8.chunk.js", - "main.js.map": "/static/js/main.6e213ef8.chunk.js.map", - "static/js/1.f0bdf383.chunk.js": "/static/js/1.f0bdf383.chunk.js", - "5a3db2e966eaa88043fd.module.wasm": "/5a3db2e966eaa88043fd.module.wasm", - "static/js/1.f0bdf383.chunk.js.map": "/static/js/1.f0bdf383.chunk.js.map", - "static/js/2.ee90bfab.chunk.js": "/static/js/2.ee90bfab.chunk.js", - "static/js/2.ee90bfab.chunk.js.map": "/static/js/2.ee90bfab.chunk.js.map", - "runtime~main.js": "/static/js/runtime~main.90336252.js", - "runtime~main.js.map": "/static/js/runtime~main.90336252.js.map", - "static/css/main.ea7c0a90.chunk.css.map": "/static/css/main.ea7c0a90.chunk.css.map", - "index.html": "/index.html", - "precache-manifest.2033a58fb3893e07328565085a559565.js": "/precache-manifest.2033a58fb3893e07328565085a559565.js", - "service-worker.js": "/service-worker.js" + "main.css": "/mandelbrot-set-webassembly/build-wasm/static/css/main.d9c91f7c.chunk.css", + "main.js": "/mandelbrot-set-webassembly/build-wasm/static/js/main.2cb97846.chunk.js", + "main.js.map": "/mandelbrot-set-webassembly/build-wasm/static/js/main.2cb97846.chunk.js.map", + "static/js/1.ef74817c.chunk.js": "/mandelbrot-set-webassembly/build-wasm/static/js/1.ef74817c.chunk.js", + "5a3db2e966eaa88043fd.module.wasm": "/mandelbrot-set-webassembly/build-wasm/5a3db2e966eaa88043fd.module.wasm", + "static/js/1.ef74817c.chunk.js.map": "/mandelbrot-set-webassembly/build-wasm/static/js/1.ef74817c.chunk.js.map", + "static/js/2.ee90bfab.chunk.js": "/mandelbrot-set-webassembly/build-wasm/static/js/2.ee90bfab.chunk.js", + "static/js/2.ee90bfab.chunk.js.map": "/mandelbrot-set-webassembly/build-wasm/static/js/2.ee90bfab.chunk.js.map", + "runtime~main.js": "/mandelbrot-set-webassembly/build-wasm/static/js/runtime~main.d6d4a139.js", + "runtime~main.js.map": "/mandelbrot-set-webassembly/build-wasm/static/js/runtime~main.d6d4a139.js.map", + "static/css/main.d9c91f7c.chunk.css.map": "/mandelbrot-set-webassembly/build-wasm/static/css/main.d9c91f7c.chunk.css.map", + "index.html": "/mandelbrot-set-webassembly/build-wasm/index.html", + "precache-manifest.497e621e754f1a846635f27646c42c27.js": "/mandelbrot-set-webassembly/build-wasm/precache-manifest.497e621e754f1a846635f27646c42c27.js", + "service-worker.js": "/mandelbrot-set-webassembly/build-wasm/service-worker.js" } \ No newline at end of file diff --git a/build-wasm/index.html b/build-wasm/index.html index 786edda..ffa6d12 100644 --- a/build-wasm/index.html +++ b/build-wasm/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/build-wasm/precache-manifest.2033a58fb3893e07328565085a559565.js b/build-wasm/precache-manifest.2033a58fb3893e07328565085a559565.js deleted file mode 100644 index f947079..0000000 --- a/build-wasm/precache-manifest.2033a58fb3893e07328565085a559565.js +++ /dev/null @@ -1,30 +0,0 @@ -self.__precacheManifest = [ - { - "revision": "90336252eb66148cf0ab", - "url": "/static/js/runtime~main.90336252.js" - }, - { - "revision": "6e213ef80a826c15de9d", - "url": "/static/js/main.6e213ef8.chunk.js" - }, - { - "revision": "ee90bfabaa7caa02839d", - "url": "/static/js/2.ee90bfab.chunk.js" - }, - { - "revision": "f0bdf38348637ef5ccac", - "url": "/static/js/1.f0bdf383.chunk.js" - }, - { - "revision": "6e213ef80a826c15de9d", - "url": "/static/css/main.ea7c0a90.chunk.css" - }, - { - "revision": "c97f572b35d6dc6d3f7f2d8f77f13e76", - "url": "/index.html" - }, - { - "revision": "f0bdf38348637ef5ccac", - "url": "/5a3db2e966eaa88043fd.module.wasm" - } -]; \ No newline at end of file diff --git a/build-wasm/precache-manifest.497e621e754f1a846635f27646c42c27.js b/build-wasm/precache-manifest.497e621e754f1a846635f27646c42c27.js new file mode 100644 index 0000000..5576401 --- /dev/null +++ b/build-wasm/precache-manifest.497e621e754f1a846635f27646c42c27.js @@ -0,0 +1,30 @@ +self.__precacheManifest = [ + { + "revision": "d6d4a1397f96da3b1c8a", + "url": "/mandelbrot-set-webassembly/build-wasm/static/js/runtime~main.d6d4a139.js" + }, + { + "revision": "2cb978464d82f5a5b6fb", + "url": "/mandelbrot-set-webassembly/build-wasm/static/js/main.2cb97846.chunk.js" + }, + { + "revision": "ee90bfabaa7caa02839d", + "url": "/mandelbrot-set-webassembly/build-wasm/static/js/2.ee90bfab.chunk.js" + }, + { + "revision": "ef74817c73e4c2a5ceb7", + "url": "/mandelbrot-set-webassembly/build-wasm/static/js/1.ef74817c.chunk.js" + }, + { + "revision": "2cb978464d82f5a5b6fb", + "url": "/mandelbrot-set-webassembly/build-wasm/static/css/main.d9c91f7c.chunk.css" + }, + { + "revision": "48021b3690810634c9cf4f9c5d8e0484", + "url": "/mandelbrot-set-webassembly/build-wasm/index.html" + }, + { + "revision": "ef74817c73e4c2a5ceb7", + "url": "/mandelbrot-set-webassembly/build-wasm/5a3db2e966eaa88043fd.module.wasm" + } +]; \ No newline at end of file diff --git a/build-wasm/service-worker.js b/build-wasm/service-worker.js index ed1b3d0..91bc5b1 100644 --- a/build-wasm/service-worker.js +++ b/build-wasm/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); importScripts( - "/precache-manifest.2033a58fb3893e07328565085a559565.js" + "/mandelbrot-set-webassembly/build-wasm/precache-manifest.497e621e754f1a846635f27646c42c27.js" ); workbox.clientsClaim(); @@ -28,7 +28,7 @@ self.__precacheManifest = [].concat(self.__precacheManifest || []); workbox.precaching.suppressWarnings(); workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); -workbox.routing.registerNavigationRoute("/index.html", { +workbox.routing.registerNavigationRoute("/mandelbrot-set-webassembly/build-wasm/index.html", { blacklist: [/^\/_/,/\/[^\/]+\.[^\/]+$/], }); diff --git a/build-wasm/static/css/main.ea7c0a90.chunk.css b/build-wasm/static/css/main.d9c91f7c.chunk.css similarity index 75% rename from build-wasm/static/css/main.ea7c0a90.chunk.css rename to build-wasm/static/css/main.d9c91f7c.chunk.css index d2c6cab..676f542 100644 --- a/build-wasm/static/css/main.ea7c0a90.chunk.css +++ b/build-wasm/static/css/main.d9c91f7c.chunk.css @@ -1,2 +1,2 @@ -body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.MandelbrotVisualizer_canvas__M7Er-{display:block}.RenderOptions_container__2GIEw{top:0;right:0;position:fixed;width:300px} -/*# sourceMappingURL=main.ea7c0a90.chunk.css.map */ \ No newline at end of file +body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.MandelbrotVisualizer_canvas__b2jZf{display:block}.RenderOptions_container__3M2EV{top:0;right:0;position:fixed;width:300px} +/*# sourceMappingURL=main.d9c91f7c.chunk.css.map */ \ No newline at end of file diff --git a/build-wasm/static/css/main.d9c91f7c.chunk.css.map b/build-wasm/static/css/main.d9c91f7c.chunk.css.map new file mode 100644 index 0000000..2a94853 --- /dev/null +++ b/build-wasm/static/css/main.d9c91f7c.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["D:/Documentos/Repos/TLP2019/mandelbrot-set-wasm/src/D:/Documentos/Repos/TLP2019/mandelbrot-set-wasm/src/index.css","D:/Documentos/Repos/TLP2019/mandelbrot-set-wasm/src/components/MandelbrotVisualizer/D:/Documentos/Repos/TLP2019/mandelbrot-set-wasm/src/components/MandelbrotVisualizer/MandelbrotVisualizer.module.css","main.d9c91f7c.chunk.css","D:/Documentos/Repos/TLP2019/mandelbrot-set-wasm/src/components/RenderOptions/D:/Documentos/Repos/TLP2019/mandelbrot-set-wasm/src/components/RenderOptions/RenderOptions.module.css"],"names":[],"mappings":"AAAA,KACE,SAAU,AACV,UAAW,AACX,oIAEa,AACb,mCAAoC,AACpC,iCAAmC,CACpC,AAED,KACE,uEACY,CACb,ACbD,oCACE,aAAc,CCgBf,ACjBD,gCACE,MAAO,AACP,QAAS,AACT,eAAgB,AAChB,WAAa,CACd","file":"main.d9c91f7c.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n",".canvas {\r\n display: block\r\n}","body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n.MandelbrotVisualizer_canvas__b2jZf {\r\n display: block\r\n}\n.RenderOptions_container__3M2EV {\r\n top: 0;\r\n right: 0;\r\n position: fixed;\r\n width: 300px;\r\n}\r\n\n",".container {\r\n top: 0;\r\n right: 0;\r\n position: fixed;\r\n width: 300px;\r\n}\r\n"]} \ No newline at end of file diff --git a/build-wasm/static/css/main.ea7c0a90.chunk.css.map b/build-wasm/static/css/main.ea7c0a90.chunk.css.map deleted file mode 100644 index fe5ebcb..0000000 --- a/build-wasm/static/css/main.ea7c0a90.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["D:/Documentos/Repos/TLP2019/mandlerbot-set-webassembly/src/D:/Documentos/Repos/TLP2019/mandlerbot-set-webassembly/src/index.css","D:/Documentos/Repos/TLP2019/mandlerbot-set-webassembly/src/components/MandelbrotVisualizer/D:/Documentos/Repos/TLP2019/mandlerbot-set-webassembly/src/components/MandelbrotVisualizer/MandelbrotVisualizer.module.css","main.ea7c0a90.chunk.css","D:/Documentos/Repos/TLP2019/mandlerbot-set-webassembly/src/components/RenderOptions/D:/Documentos/Repos/TLP2019/mandlerbot-set-webassembly/src/components/RenderOptions/RenderOptions.module.css"],"names":[],"mappings":"AAAA,KACE,SAAU,AACV,UAAW,AACX,oIAEa,AACb,mCAAoC,AACpC,iCAAmC,CACpC,AAED,KACE,uEACY,CACb,ACbD,oCACE,aAAc,CCgBf,ACjBD,gCACE,MAAO,AACP,QAAS,AACT,eAAgB,AAChB,WAAa,CACd","file":"main.ea7c0a90.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n",".canvas {\r\n display: block\r\n}","body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n.MandelbrotVisualizer_canvas__M7Er- {\r\n display: block\r\n}\n.RenderOptions_container__2GIEw {\r\n top: 0;\r\n right: 0;\r\n position: fixed;\r\n width: 300px;\r\n}\r\n\n",".container {\r\n top: 0;\r\n right: 0;\r\n position: fixed;\r\n width: 300px;\r\n}\r\n"]} \ No newline at end of file diff --git a/build-wasm/static/js/1.ef74817c.chunk.js b/build-wasm/static/js/1.ef74817c.chunk.js new file mode 100644 index 0000000..2cf0020 --- /dev/null +++ b/build-wasm/static/js/1.ef74817c.chunk.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{25:function(t,n,e){"use strict";var r=e.w[t.i];t.exports=r;e(3);r.l()},26:function(t,n,e){(function(t,r){var o=/%[sdj%]/g;n.format=function(t){if(!b(t)){for(var n=[],e=0;e=i)return t;switch(t){case"%s":return String(r[e++]);case"%d":return Number(r[e++]);case"%j":try{return JSON.stringify(r[e++])}catch(n){return"[Circular]"}default:return t}}),a=r[e];e=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(e)?r.showHidden=e:e&&n._extend(r,e),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),l(r,t,r.depth)}function a(t,n){var e=c.styles[n];return e?"\x1b["+c.colors[e][0]+"m"+t+"\x1b["+c.colors[e][1]+"m":t}function f(t,n){return t}function l(t,e,r){if(t.customInspect&&e&&x(e.inspect)&&e.inspect!==n.inspect&&(!e.constructor||e.constructor.prototype!==e)){var o=e.inspect(r,t);return b(o)||(o=l(t,o,r)),o}var i=function(t,n){if(v(n))return t.stylize("undefined","undefined");if(b(n)){var e="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(e,"string")}if(h(n))return t.stylize(""+n,"number");if(d(n))return t.stylize(""+n,"boolean");if(g(n))return t.stylize("null","null")}(t,e);if(i)return i;var u=Object.keys(e),c=function(t){var n={};return t.forEach(function(t,e){n[t]=!0}),n}(u);if(t.showHidden&&(u=Object.getOwnPropertyNames(e)),j(e)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return s(e);if(0===u.length){if(x(e)){var a=e.name?": "+e.name:"";return t.stylize("[Function"+a+"]","special")}if(m(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(j(e))return s(e)}var f,w="",O=!1,D=["{","}"];(y(e)&&(O=!0,D=["[","]"]),x(e))&&(w=" [Function"+(e.name?": "+e.name:"")+"]");return m(e)&&(w=" "+RegExp.prototype.toString.call(e)),_(e)&&(w=" "+Date.prototype.toUTCString.call(e)),j(e)&&(w=" "+s(e)),0!==u.length||O&&0!=e.length?r<0?m(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),f=O?function(t,n,e,r,o){for(var i=[],u=0,c=n.length;u=0&&0,t+n.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return e[0]+(""===n?"":n+"\n ")+" "+t.join(",\n ")+" "+e[1];return e[0]+n+" "+t.join(", ")+" "+e[1]}(f,w,D)):D[0]+w+D[1]}function s(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,n,e,r,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(n,o)||{value:n[o]}).get?c=a.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):a.set&&(c=t.stylize("[Setter]","special")),S(r,o)||(u="["+o+"]"),c||(t.seen.indexOf(a.value)<0?(c=g(e)?l(t,a.value,null):l(t,a.value,e-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+c.split("\n").map(function(t){return" "+t}).join("\n")):c=t.stylize("[Circular]","special")),v(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=t.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=t.stylize(u,"string"))}return u+": "+c}function y(t){return Array.isArray(t)}function d(t){return"boolean"===typeof t}function g(t){return null===t}function h(t){return"number"===typeof t}function b(t){return"string"===typeof t}function v(t){return void 0===t}function m(t){return w(t)&&"[object RegExp]"===O(t)}function w(t){return"object"===typeof t&&null!==t}function _(t){return w(t)&&"[object Date]"===O(t)}function j(t){return w(t)&&("[object Error]"===O(t)||t instanceof Error)}function x(t){return"function"===typeof t}function O(t){return Object.prototype.toString.call(t)}function D(t){return t<10?"0"+t.toString(10):t.toString(10)}n.debuglog=function(t){if(v(i)&&(i=Object({NODE_ENV:"production",PUBLIC_URL:"/mandelbrot-set-webassembly/build-wasm"}).NODE_DEBUG||""),t=t.toUpperCase(),!u[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var e=r.pid;u[t]=function(){var r=n.format.apply(n,arguments);console.error("%s %d: %s",t,e,r)}}else u[t]=function(){};return u[t]},n.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=y,n.isBoolean=d,n.isNull=g,n.isNullOrUndefined=function(t){return null==t},n.isNumber=h,n.isString=b,n.isSymbol=function(t){return"symbol"===typeof t},n.isUndefined=v,n.isRegExp=m,n.isObject=w,n.isDate=_,n.isError=j,n.isFunction=x,n.isPrimitive=function(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t},n.isBuffer=e(29);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,n){return Object.prototype.hasOwnProperty.call(t,n)}n.log=function(){console.log("%s - %s",function(){var t=new Date,n=[D(t.getHours()),D(t.getMinutes()),D(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],n].join(" ")}(),n.format.apply(n,arguments))},n.inherits=e(30),n._extend=function(t,n){if(!n||!w(n))return t;for(var e=Object.keys(n),r=e.length;r--;)t[e[r]]=n[e[r]];return t}}).call(this,e(27),e(28))},27:function(t,n){var e;e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(r){"object"===typeof window&&(e=window)}t.exports=e},28:function(t,n){var e,r,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function c(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"===typeof setTimeout?setTimeout:i}catch(t){e=i}try{r="function"===typeof clearTimeout?clearTimeout:u}catch(t){r=u}}();var a,f=[],l=!1,s=-1;function p(){l&&a&&(l=!1,a.length?f=a.concat(f):s=-1,f.length&&y())}function y(){if(!l){var t=c(p);l=!0;for(var n=f.length;n;){for(a=f,f=[];++s1)for(var e=1;e>1]:g[t>>1].obj}function m(t,n,e,r,o){try{d.call(v(t),v(n),e,r)}catch(u){var i=p();i[o/4]=1,i[o/4+1]=b(u)}}var w=null;function _(t,n){return(null!==w&&w.buffer===i.k.buffer||(w=new Uint8ClampedArray(i.k.buffer)),w).subarray(t/1,t/1+n)}function j(t,n,e,r,o){var i=_(t,n);try{return b(new ImageData(i,e,r))}catch(c){var u=p();u[o/4]=1,u[o/4+1]=b(c)}}var x=function(){function t(n,e){Object(r.a)(this,t),this.ptr=i.h(n,e)}return Object(o.a)(t,[{key:"free",value:function(){var t=this.ptr;this.ptr=0,function(t){i.a(t)}(t)}}]),Object(o.a)(t,[{key:"min_corner_a",value:function(){var t=l();i.f(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"min_corner_b",value:function(){var t=l();i.g(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"max_corner_a",value:function(){var t=l();i.d(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"max_corner_b",value:function(){var t=l();i.e(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"zoom_canvas",value:function(t,n,e,r){return i.j(this.ptr,t,n,e,r)}},{key:"render",value:function(t,n){try{return i.i(this.ptr,(e=t,y.push(e),y.length-1<<1|1),n)}finally{y.pop()}var e}}]),t}();function O(t){if(!((t>>=1)<4)){var n=g[t];n.cnt-=1,n.cnt>0||(g[t]=h,h=t)}}function D(t){O(t)}function E(t){throw function(t){var n=v(t);return O(t),n}(t)}function S(t,n){throw new Error(a(t,n))}},30:function(t,n){"function"===typeof Object.create?t.exports=function(t,n){t.super_=n,t.prototype=Object.create(n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,n){t.super_=n;var e=function(){};e.prototype=n.prototype,t.prototype=new e,t.prototype.constructor=t}}}]); +//# sourceMappingURL=1.ef74817c.chunk.js.map \ No newline at end of file diff --git a/build-wasm/static/js/1.ef74817c.chunk.js.map b/build-wasm/static/js/1.ef74817c.chunk.js.map new file mode 100644 index 0000000..3207819 --- /dev/null +++ b/build-wasm/static/js/1.ef74817c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../node_modules/util/util.js","../node_modules/webpack/buildin/global.js","../node_modules/process/browser.js","../node_modules/util/support/isBufferBrowser.js","domain_wasm/mandelbrot.js","../node_modules/inherits/inherits_browser.js"],"names":["global","process","formatRegExp","exports","format","f","isString","objects","i","arguments","length","push","inspect","join","args","len","str","String","replace","x","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","isUndefined","apply","this","noDeprecation","warned","throwDeprecation","Error","traceDeprecation","console","trace","error","debugEnviron","debugs","obj","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","value","recurseTimes","isFunction","constructor","prototype","ret","primitive","simple","isNumber","formatPrimitive","keys","Object","visibleKeys","array","hash","forEach","val","idx","arrayToHash","getOwnPropertyNames","isError","indexOf","formatError","name","isRegExp","RegExp","toString","call","isDate","Date","output","base","braces","isArray","toUTCString","l","hasOwnProperty","formatProperty","key","match","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","getOwnPropertyDescriptor","get","set","split","line","substr","ar","Array","arg","re","objectToString","d","e","o","pad","n","debuglog","NODE_ENV","PUBLIC_URL","NODE_DEBUG","toUpperCase","test","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","undefined","null","string","date","regexp","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","__webpack_require__","months","prop","log","time","getHours","getMinutes","getSeconds","getDate","getMonth","timestamp","inherits","origin","add","g","Function","eval","window","module","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","copy","fill","readUInt8","cachedTextDecoder","TextDecoder","require","cachegetUint8Memory","getStringFromWasm","ptr","decode","buffer","wasm","Uint8Array","subarray","cachedGlobalArgumentPtr","globalArgumentPtr","cachegetUint32Memory","getUint32Memory","Uint32Array","stack","__widl_f_put_image_data_CanvasRenderingContext2D_target","CanvasRenderingContext2D","putImageData","slab","slab_next","addHeapObject","next","cnt","getObject","__widl_f_put_image_data_CanvasRenderingContext2D","arg0","arg1","arg2","arg3","exnptr","view","cachegetUint8ClampedMemory","getClampedArrayU8FromWasm","Uint8ClampedArray","__widl_f_new_with_u8_clamped_array_and_sh_ImageData","varg0","ImageData","MandelbrotSet","D_Documentos_Repos_TLP2019_mandelbrot_set_wasm_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","D_Documentos_Repos_TLP2019_mandelbrot_set_wasm_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__","freeMandelbrotSet","retptr","mem","rustptr","rustlen","realRet","slice","dropRef","__wbindgen_object_drop_ref","__wbindgen_rethrow","takeObject","__wbindgen_throw","create","ctor","superCtor","super_","enumerable","writable","configurable","TempCtor"],"mappings":"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","file":"static/js/1.ef74817c.chunk.js","sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\nvar formatRegExp = /%[sdj%]/g;\n\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n default:\n return x;\n }\n });\n\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n\n return str;\n}; // Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\n\n\nexports.deprecate = function (fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n\n warned = true;\n }\n\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\nvar debugs = {};\nvar debugEnviron;\n\nexports.debuglog = function (set) {\n if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n\n return debugs[set];\n};\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n\n/* legacy: obj, showHidden, depth, colors*/\n\n\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n }; // legacy...\n\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n } // set default options\n\n\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\n\nexports.inspect = inspect; // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\n\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n}; // Don't use 'blue' not visible on cmd.exe\n\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return \"\\x1B[\" + inspect.colors[style][0] + 'm' + str + \"\\x1B[\" + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\nfunction arrayToHash(array) {\n var hash = {};\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n return hash;\n}\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) && // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect && // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n\n return ret;\n } // Primitive types cannot have properties\n\n\n var primitive = formatPrimitive(ctx, value);\n\n if (primitive) {\n return primitive;\n } // Look up the keys of the object.\n\n\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n } // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n\n\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n } // Some type of object without properties can be shortcutted.\n\n\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}']; // Make Array say that they are Array\n\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n } // Make functions say that they are functions\n\n\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n } // Make RegExps say that they are RegExps\n\n\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n } // Make dates with properties first say the date\n\n\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n } // Make error with message first say the error\n\n\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n var output;\n\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n}\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean'); // For some reason typeof null is \"object\", so special case here.\n\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || {\n value: value[key]\n };\n\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n\n name = JSON.stringify('' + key);\n\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n} // NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\n\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\n\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\n\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\n\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\n\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\n\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\n\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\n\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\n\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\n\nexports.isPrimitive = isPrimitive;\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; // 26 Feb 16:19:34\n\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n} // log is just a thin wrapper to console.log that prepends a timestamp\n\n\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\n\n\nexports.inherits = require('inherits');\n\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n var keys = Object.keys(add);\n var i = keys.length;\n\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};","/* tslint:disable */\nimport * as wasm from './mandelbrot_bg';\n\nconst lTextDecoder = typeof TextDecoder === 'undefined' ? require('util').TextDecoder : TextDecoder;\n\nlet cachedTextDecoder = new lTextDecoder('utf-8');\n\nlet cachegetUint8Memory = null;\nfunction getUint8Memory() {\n if (cachegetUint8Memory === null || cachegetUint8Memory.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory;\n}\n\nfunction getStringFromWasm(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory().subarray(ptr, ptr + len));\n}\n\nlet cachedGlobalArgumentPtr = null;\nfunction globalArgumentPtr() {\n if (cachedGlobalArgumentPtr === null) {\n cachedGlobalArgumentPtr = wasm.__wbindgen_global_argument_ptr();\n }\n return cachedGlobalArgumentPtr;\n}\n\nlet cachegetUint32Memory = null;\nfunction getUint32Memory() {\n if (cachegetUint32Memory === null || cachegetUint32Memory.buffer !== wasm.memory.buffer) {\n cachegetUint32Memory = new Uint32Array(wasm.memory.buffer);\n }\n return cachegetUint32Memory;\n}\n\nconst stack = [];\n\nfunction addBorrowedObject(obj) {\n stack.push(obj);\n return ((stack.length - 1) << 1) | 1;\n}\n\nconst __widl_f_put_image_data_CanvasRenderingContext2D_target = typeof CanvasRenderingContext2D === 'undefined' ? null : CanvasRenderingContext2D.prototype.putImageData || function() {\n throw new Error(`wasm-bindgen: CanvasRenderingContext2D.putImageData does not exist`);\n};\n\nconst slab = [{ obj: undefined }, { obj: null }, { obj: true }, { obj: false }];\n\nlet slab_next = slab.length;\n\nfunction addHeapObject(obj) {\n if (slab_next === slab.length) slab.push(slab.length + 1);\n const idx = slab_next;\n const next = slab[idx];\n\n slab_next = next;\n\n slab[idx] = { obj, cnt: 1 };\n return idx << 1;\n}\n\nfunction getObject(idx) {\n if ((idx & 1) === 1) {\n return stack[idx >> 1];\n } else {\n const val = slab[idx >> 1];\n\n return val.obj;\n\n }\n}\n\nexport function __widl_f_put_image_data_CanvasRenderingContext2D(arg0, arg1, arg2, arg3, exnptr) {\n try {\n __widl_f_put_image_data_CanvasRenderingContext2D_target.call(getObject(arg0), getObject(arg1), arg2, arg3);\n } catch (e) {\n const view = getUint32Memory();\n view[exnptr / 4] = 1;\n view[exnptr / 4 + 1] = addHeapObject(e);\n\n }\n}\n\nlet cachegetUint8ClampedMemory = null;\nfunction getUint8ClampedMemory() {\n if (cachegetUint8ClampedMemory === null || cachegetUint8ClampedMemory.buffer !== wasm.memory.buffer) {\n cachegetUint8ClampedMemory = new Uint8ClampedArray(wasm.memory.buffer);\n }\n return cachegetUint8ClampedMemory;\n}\n\nfunction getClampedArrayU8FromWasm(ptr, len) {\n return getUint8ClampedMemory().subarray(ptr / 1, ptr / 1 + len);\n}\n\nexport function __widl_f_new_with_u8_clamped_array_and_sh_ImageData(arg0, arg1, arg2, arg3, exnptr) {\n let varg0 = getClampedArrayU8FromWasm(arg0, arg1);\n try {\n return addHeapObject(new ImageData(varg0, arg2, arg3));\n } catch (e) {\n const view = getUint32Memory();\n view[exnptr / 4] = 1;\n view[exnptr / 4 + 1] = addHeapObject(e);\n\n }\n}\n\nfunction freeMandelbrotSet(ptr) {\n\n wasm.__wbg_mandelbrotset_free(ptr);\n}\n/**\n*/\nexport class MandelbrotSet {\n\n free() {\n const ptr = this.ptr;\n this.ptr = 0;\n freeMandelbrotSet(ptr);\n }\n\n /**\n * @param {number} arg0\n * @param {number} arg1\n * @returns {}\n */\n constructor(arg0, arg1) {\n this.ptr = wasm.mandelbrotset_new(arg0, arg1);\n }\n /**\n * @returns {string}\n */\n min_corner_a() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_min_corner_a(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @returns {string}\n */\n min_corner_b() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_min_corner_b(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @returns {string}\n */\n max_corner_a() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_max_corner_a(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @returns {string}\n */\n max_corner_b() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_max_corner_b(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @param {number} arg0\n * @param {number} arg1\n * @param {number} arg2\n * @param {number} arg3\n * @returns {void}\n */\n zoom_canvas(arg0, arg1, arg2, arg3) {\n return wasm.mandelbrotset_zoom_canvas(this.ptr, arg0, arg1, arg2, arg3);\n }\n /**\n * @param {any} arg0\n * @param {number} arg1\n * @returns {void}\n */\n render(arg0, arg1) {\n try {\n return wasm.mandelbrotset_render(this.ptr, addBorrowedObject(arg0), arg1);\n\n } finally {\n stack.pop();\n\n }\n\n }\n}\n\nfunction dropRef(idx) {\n\n idx = idx >> 1;\n if (idx < 4) return;\n let obj = slab[idx];\n\n obj.cnt -= 1;\n if (obj.cnt > 0) return;\n\n // If we hit 0 then free up our space in the slab\n slab[idx] = slab_next;\n slab_next = idx;\n}\n\nexport function __wbindgen_object_drop_ref(i) {\n dropRef(i);\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropRef(idx);\n return ret;\n}\n\nexport function __wbindgen_rethrow(idx) { throw takeObject(idx); }\n\nexport function __wbindgen_throw(ptr, len) {\n throw new Error(getStringFromWasm(ptr, len));\n}\n\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n\n var TempCtor = function TempCtor() {};\n\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n };\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/build-wasm/static/js/1.f0bdf383.chunk.js b/build-wasm/static/js/1.f0bdf383.chunk.js deleted file mode 100644 index ccdd7ad..0000000 --- a/build-wasm/static/js/1.f0bdf383.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{25:function(t,n,e){"use strict";var r=e.w[t.i];t.exports=r;e(3);r.l()},26:function(t,n,e){(function(t,r){var o=/%[sdj%]/g;n.format=function(t){if(!b(t)){for(var n=[],e=0;e=i)return t;switch(t){case"%s":return String(r[e++]);case"%d":return Number(r[e++]);case"%j":try{return JSON.stringify(r[e++])}catch(n){return"[Circular]"}default:return t}}),a=r[e];e=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(e)?r.showHidden=e:e&&n._extend(r,e),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),l(r,t,r.depth)}function a(t,n){var e=c.styles[n];return e?"\x1b["+c.colors[e][0]+"m"+t+"\x1b["+c.colors[e][1]+"m":t}function f(t,n){return t}function l(t,e,r){if(t.customInspect&&e&&x(e.inspect)&&e.inspect!==n.inspect&&(!e.constructor||e.constructor.prototype!==e)){var o=e.inspect(r,t);return b(o)||(o=l(t,o,r)),o}var i=function(t,n){if(v(n))return t.stylize("undefined","undefined");if(b(n)){var e="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(e,"string")}if(h(n))return t.stylize(""+n,"number");if(d(n))return t.stylize(""+n,"boolean");if(g(n))return t.stylize("null","null")}(t,e);if(i)return i;var u=Object.keys(e),c=function(t){var n={};return t.forEach(function(t,e){n[t]=!0}),n}(u);if(t.showHidden&&(u=Object.getOwnPropertyNames(e)),j(e)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return s(e);if(0===u.length){if(x(e)){var a=e.name?": "+e.name:"";return t.stylize("[Function"+a+"]","special")}if(m(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(j(e))return s(e)}var f,w="",O=!1,D=["{","}"];(y(e)&&(O=!0,D=["[","]"]),x(e))&&(w=" [Function"+(e.name?": "+e.name:"")+"]");return m(e)&&(w=" "+RegExp.prototype.toString.call(e)),_(e)&&(w=" "+Date.prototype.toUTCString.call(e)),j(e)&&(w=" "+s(e)),0!==u.length||O&&0!=e.length?r<0?m(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),f=O?function(t,n,e,r,o){for(var i=[],u=0,c=n.length;u=0&&0,t+n.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return e[0]+(""===n?"":n+"\n ")+" "+t.join(",\n ")+" "+e[1];return e[0]+n+" "+t.join(", ")+" "+e[1]}(f,w,D)):D[0]+w+D[1]}function s(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,n,e,r,o,i){var u,c,a;if((a=Object.getOwnPropertyDescriptor(n,o)||{value:n[o]}).get?c=a.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):a.set&&(c=t.stylize("[Setter]","special")),S(r,o)||(u="["+o+"]"),c||(t.seen.indexOf(a.value)<0?(c=g(e)?l(t,a.value,null):l(t,a.value,e-1)).indexOf("\n")>-1&&(c=i?c.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+c.split("\n").map(function(t){return" "+t}).join("\n")):c=t.stylize("[Circular]","special")),v(u)){if(i&&o.match(/^\d+$/))return c;(u=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=t.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=t.stylize(u,"string"))}return u+": "+c}function y(t){return Array.isArray(t)}function d(t){return"boolean"===typeof t}function g(t){return null===t}function h(t){return"number"===typeof t}function b(t){return"string"===typeof t}function v(t){return void 0===t}function m(t){return w(t)&&"[object RegExp]"===O(t)}function w(t){return"object"===typeof t&&null!==t}function _(t){return w(t)&&"[object Date]"===O(t)}function j(t){return w(t)&&("[object Error]"===O(t)||t instanceof Error)}function x(t){return"function"===typeof t}function O(t){return Object.prototype.toString.call(t)}function D(t){return t<10?"0"+t.toString(10):t.toString(10)}n.debuglog=function(t){if(v(i)&&(i=Object({NODE_ENV:"production",PUBLIC_URL:""}).NODE_DEBUG||""),t=t.toUpperCase(),!u[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var e=r.pid;u[t]=function(){var r=n.format.apply(n,arguments);console.error("%s %d: %s",t,e,r)}}else u[t]=function(){};return u[t]},n.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=y,n.isBoolean=d,n.isNull=g,n.isNullOrUndefined=function(t){return null==t},n.isNumber=h,n.isString=b,n.isSymbol=function(t){return"symbol"===typeof t},n.isUndefined=v,n.isRegExp=m,n.isObject=w,n.isDate=_,n.isError=j,n.isFunction=x,n.isPrimitive=function(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t},n.isBuffer=e(29);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,n){return Object.prototype.hasOwnProperty.call(t,n)}n.log=function(){console.log("%s - %s",function(){var t=new Date,n=[D(t.getHours()),D(t.getMinutes()),D(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],n].join(" ")}(),n.format.apply(n,arguments))},n.inherits=e(30),n._extend=function(t,n){if(!n||!w(n))return t;for(var e=Object.keys(n),r=e.length;r--;)t[e[r]]=n[e[r]];return t}}).call(this,e(27),e(28))},27:function(t,n){var e;e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(r){"object"===typeof window&&(e=window)}t.exports=e},28:function(t,n){var e,r,o=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function c(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"===typeof setTimeout?setTimeout:i}catch(t){e=i}try{r="function"===typeof clearTimeout?clearTimeout:u}catch(t){r=u}}();var a,f=[],l=!1,s=-1;function p(){l&&a&&(l=!1,a.length?f=a.concat(f):s=-1,f.length&&y())}function y(){if(!l){var t=c(p);l=!0;for(var n=f.length;n;){for(a=f,f=[];++s1)for(var e=1;e>1]:g[t>>1].obj}function m(t,n,e,r,o){try{d.call(v(t),v(n),e,r)}catch(u){var i=p();i[o/4]=1,i[o/4+1]=b(u)}}var w=null;function _(t,n){return(null!==w&&w.buffer===i.k.buffer||(w=new Uint8ClampedArray(i.k.buffer)),w).subarray(t/1,t/1+n)}function j(t,n,e,r,o){var i=_(t,n);try{return b(new ImageData(i,e,r))}catch(c){var u=p();u[o/4]=1,u[o/4+1]=b(c)}}var x=function(){function t(n,e){Object(r.a)(this,t),this.ptr=i.h(n,e)}return Object(o.a)(t,[{key:"free",value:function(){var t=this.ptr;this.ptr=0,function(t){i.a(t)}(t)}}]),Object(o.a)(t,[{key:"min_corner_a",value:function(){var t=l();i.f(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"min_corner_b",value:function(){var t=l();i.g(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"max_corner_a",value:function(){var t=l();i.d(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"max_corner_b",value:function(){var t=l();i.e(t,this.ptr);var n=p(),e=n[t/4],r=n[t/4+1],o=a(e,r).slice();return i.b(e,1*r),o}},{key:"zoom_canvas",value:function(t,n,e,r){return i.j(this.ptr,t,n,e,r)}},{key:"render",value:function(t,n){try{return i.i(this.ptr,(e=t,y.push(e),y.length-1<<1|1),n)}finally{y.pop()}var e}}]),t}();function O(t){if(!((t>>=1)<4)){var n=g[t];n.cnt-=1,n.cnt>0||(g[t]=h,h=t)}}function D(t){O(t)}function E(t){throw function(t){var n=v(t);return O(t),n}(t)}function S(t,n){throw new Error(a(t,n))}},30:function(t,n){"function"===typeof Object.create?t.exports=function(t,n){t.super_=n,t.prototype=Object.create(n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,n){t.super_=n;var e=function(){};e.prototype=n.prototype,t.prototype=new e,t.prototype.constructor=t}}}]); -//# sourceMappingURL=1.f0bdf383.chunk.js.map \ No newline at end of file diff --git a/build-wasm/static/js/1.f0bdf383.chunk.js.map b/build-wasm/static/js/1.f0bdf383.chunk.js.map deleted file mode 100644 index a6202d0..0000000 --- a/build-wasm/static/js/1.f0bdf383.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../node_modules/util/util.js","../node_modules/webpack/buildin/global.js","../node_modules/process/browser.js","../node_modules/util/support/isBufferBrowser.js","domain_wasm/mandelbrot.js","../node_modules/inherits/inherits_browser.js"],"names":["global","process","formatRegExp","exports","format","f","isString","objects","i","arguments","length","push","inspect","join","args","len","str","String","replace","x","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","isUndefined","apply","this","noDeprecation","warned","throwDeprecation","Error","traceDeprecation","console","trace","error","debugEnviron","debugs","obj","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","value","recurseTimes","isFunction","constructor","prototype","ret","primitive","simple","isNumber","formatPrimitive","keys","Object","visibleKeys","array","hash","forEach","val","idx","arrayToHash","getOwnPropertyNames","isError","indexOf","formatError","name","isRegExp","RegExp","toString","call","isDate","Date","output","base","braces","isArray","toUTCString","l","hasOwnProperty","formatProperty","key","match","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","getOwnPropertyDescriptor","get","set","split","line","substr","ar","Array","arg","re","objectToString","d","e","o","pad","n","debuglog","NODE_ENV","PUBLIC_URL","NODE_DEBUG","toUpperCase","test","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","undefined","null","string","date","regexp","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","__webpack_require__","months","prop","log","time","getHours","getMinutes","getSeconds","getDate","getMonth","timestamp","inherits","origin","add","g","Function","eval","window","module","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","copy","fill","readUInt8","cachedTextDecoder","TextDecoder","require","cachegetUint8Memory","getStringFromWasm","ptr","decode","buffer","wasm","Uint8Array","subarray","cachedGlobalArgumentPtr","globalArgumentPtr","cachegetUint32Memory","getUint32Memory","Uint32Array","stack","__widl_f_put_image_data_CanvasRenderingContext2D_target","CanvasRenderingContext2D","putImageData","slab","slab_next","addHeapObject","next","cnt","getObject","__widl_f_put_image_data_CanvasRenderingContext2D","arg0","arg1","arg2","arg3","exnptr","view","cachegetUint8ClampedMemory","getClampedArrayU8FromWasm","Uint8ClampedArray","__widl_f_new_with_u8_clamped_array_and_sh_ImageData","varg0","ImageData","MandelbrotSet","D_Documentos_Repos_TLP2019_mandlerbot_set_webassembly_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","D_Documentos_Repos_TLP2019_mandlerbot_set_webassembly_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__","freeMandelbrotSet","retptr","mem","rustptr","rustlen","realRet","slice","dropRef","__wbindgen_object_drop_ref","__wbindgen_rethrow","takeObject","__wbindgen_throw","create","ctor","superCtor","super_","enumerable","writable","configurable","TempCtor"],"mappings":"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","file":"static/js/1.f0bdf383.chunk.js","sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\nvar formatRegExp = /%[sdj%]/g;\n\nexports.format = function (f) {\n if (!isString(f)) {\n var objects = [];\n\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n default:\n return x;\n }\n });\n\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n\n return str;\n}; // Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\n\n\nexports.deprecate = function (fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function () {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n\n warned = true;\n }\n\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\nvar debugs = {};\nvar debugEnviron;\n\nexports.debuglog = function (set) {\n if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n\n debugs[set] = function () {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function () {};\n }\n }\n\n return debugs[set];\n};\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n\n/* legacy: obj, showHidden, depth, colors*/\n\n\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n }; // legacy...\n\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n } // set default options\n\n\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\n\nexports.inspect = inspect; // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\n\ninspect.colors = {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n}; // Don't use 'blue' not visible on cmd.exe\n\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return \"\\x1B[\" + inspect.colors[style][0] + 'm' + str + \"\\x1B[\" + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\nfunction arrayToHash(array) {\n var hash = {};\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n return hash;\n}\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && isFunction(value.inspect) && // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect && // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n\n return ret;\n } // Primitive types cannot have properties\n\n\n var primitive = formatPrimitive(ctx, value);\n\n if (primitive) {\n return primitive;\n } // Look up the keys of the object.\n\n\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n } // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n\n\n if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n } // Some type of object without properties can be shortcutted.\n\n\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}']; // Make Array say that they are Array\n\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n } // Make functions say that they are functions\n\n\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n } // Make RegExps say that they are RegExps\n\n\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n } // Make dates with properties first say the date\n\n\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n } // Make error with message first say the error\n\n\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n var output;\n\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n}\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean'); // For some reason typeof null is \"object\", so special case here.\n\n if (isNull(value)) return ctx.stylize('null', 'null');\n}\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n } else {\n output.push('');\n }\n }\n\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n });\n return output;\n}\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || {\n value: value[key]\n };\n\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function (line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n\n name = JSON.stringify('' + key);\n\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n} // NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\n\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\n\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\n\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\n\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\n\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\n\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\n\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\n\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n}\n\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\n\nexports.isPrimitive = isPrimitive;\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; // 26 Feb 16:19:34\n\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n} // log is just a thin wrapper to console.log that prepends a timestamp\n\n\nexports.log = function () {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\n\n\nexports.inherits = require('inherits');\n\nexports._extend = function (origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n var keys = Object.keys(add);\n var i = keys.length;\n\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n};","/* tslint:disable */\nimport * as wasm from './mandelbrot_bg';\n\nconst lTextDecoder = typeof TextDecoder === 'undefined' ? require('util').TextDecoder : TextDecoder;\n\nlet cachedTextDecoder = new lTextDecoder('utf-8');\n\nlet cachegetUint8Memory = null;\nfunction getUint8Memory() {\n if (cachegetUint8Memory === null || cachegetUint8Memory.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory;\n}\n\nfunction getStringFromWasm(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory().subarray(ptr, ptr + len));\n}\n\nlet cachedGlobalArgumentPtr = null;\nfunction globalArgumentPtr() {\n if (cachedGlobalArgumentPtr === null) {\n cachedGlobalArgumentPtr = wasm.__wbindgen_global_argument_ptr();\n }\n return cachedGlobalArgumentPtr;\n}\n\nlet cachegetUint32Memory = null;\nfunction getUint32Memory() {\n if (cachegetUint32Memory === null || cachegetUint32Memory.buffer !== wasm.memory.buffer) {\n cachegetUint32Memory = new Uint32Array(wasm.memory.buffer);\n }\n return cachegetUint32Memory;\n}\n\nconst stack = [];\n\nfunction addBorrowedObject(obj) {\n stack.push(obj);\n return ((stack.length - 1) << 1) | 1;\n}\n\nconst __widl_f_put_image_data_CanvasRenderingContext2D_target = typeof CanvasRenderingContext2D === 'undefined' ? null : CanvasRenderingContext2D.prototype.putImageData || function() {\n throw new Error(`wasm-bindgen: CanvasRenderingContext2D.putImageData does not exist`);\n};\n\nconst slab = [{ obj: undefined }, { obj: null }, { obj: true }, { obj: false }];\n\nlet slab_next = slab.length;\n\nfunction addHeapObject(obj) {\n if (slab_next === slab.length) slab.push(slab.length + 1);\n const idx = slab_next;\n const next = slab[idx];\n\n slab_next = next;\n\n slab[idx] = { obj, cnt: 1 };\n return idx << 1;\n}\n\nfunction getObject(idx) {\n if ((idx & 1) === 1) {\n return stack[idx >> 1];\n } else {\n const val = slab[idx >> 1];\n\n return val.obj;\n\n }\n}\n\nexport function __widl_f_put_image_data_CanvasRenderingContext2D(arg0, arg1, arg2, arg3, exnptr) {\n try {\n __widl_f_put_image_data_CanvasRenderingContext2D_target.call(getObject(arg0), getObject(arg1), arg2, arg3);\n } catch (e) {\n const view = getUint32Memory();\n view[exnptr / 4] = 1;\n view[exnptr / 4 + 1] = addHeapObject(e);\n\n }\n}\n\nlet cachegetUint8ClampedMemory = null;\nfunction getUint8ClampedMemory() {\n if (cachegetUint8ClampedMemory === null || cachegetUint8ClampedMemory.buffer !== wasm.memory.buffer) {\n cachegetUint8ClampedMemory = new Uint8ClampedArray(wasm.memory.buffer);\n }\n return cachegetUint8ClampedMemory;\n}\n\nfunction getClampedArrayU8FromWasm(ptr, len) {\n return getUint8ClampedMemory().subarray(ptr / 1, ptr / 1 + len);\n}\n\nexport function __widl_f_new_with_u8_clamped_array_and_sh_ImageData(arg0, arg1, arg2, arg3, exnptr) {\n let varg0 = getClampedArrayU8FromWasm(arg0, arg1);\n try {\n return addHeapObject(new ImageData(varg0, arg2, arg3));\n } catch (e) {\n const view = getUint32Memory();\n view[exnptr / 4] = 1;\n view[exnptr / 4 + 1] = addHeapObject(e);\n\n }\n}\n\nfunction freeMandelbrotSet(ptr) {\n\n wasm.__wbg_mandelbrotset_free(ptr);\n}\n/**\n*/\nexport class MandelbrotSet {\n\n free() {\n const ptr = this.ptr;\n this.ptr = 0;\n freeMandelbrotSet(ptr);\n }\n\n /**\n * @param {number} arg0\n * @param {number} arg1\n * @returns {}\n */\n constructor(arg0, arg1) {\n this.ptr = wasm.mandelbrotset_new(arg0, arg1);\n }\n /**\n * @returns {string}\n */\n min_corner_a() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_min_corner_a(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @returns {string}\n */\n min_corner_b() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_min_corner_b(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @returns {string}\n */\n max_corner_a() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_max_corner_a(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @returns {string}\n */\n max_corner_b() {\n const retptr = globalArgumentPtr();\n wasm.mandelbrotset_max_corner_b(retptr, this.ptr);\n const mem = getUint32Memory();\n const rustptr = mem[retptr / 4];\n const rustlen = mem[retptr / 4 + 1];\n\n const realRet = getStringFromWasm(rustptr, rustlen).slice();\n wasm.__wbindgen_free(rustptr, rustlen * 1);\n return realRet;\n\n }\n /**\n * @param {number} arg0\n * @param {number} arg1\n * @param {number} arg2\n * @param {number} arg3\n * @returns {void}\n */\n zoom_canvas(arg0, arg1, arg2, arg3) {\n return wasm.mandelbrotset_zoom_canvas(this.ptr, arg0, arg1, arg2, arg3);\n }\n /**\n * @param {any} arg0\n * @param {number} arg1\n * @returns {void}\n */\n render(arg0, arg1) {\n try {\n return wasm.mandelbrotset_render(this.ptr, addBorrowedObject(arg0), arg1);\n\n } finally {\n stack.pop();\n\n }\n\n }\n}\n\nfunction dropRef(idx) {\n\n idx = idx >> 1;\n if (idx < 4) return;\n let obj = slab[idx];\n\n obj.cnt -= 1;\n if (obj.cnt > 0) return;\n\n // If we hit 0 then free up our space in the slab\n slab[idx] = slab_next;\n slab_next = idx;\n}\n\nexport function __wbindgen_object_drop_ref(i) {\n dropRef(i);\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropRef(idx);\n return ret;\n}\n\nexport function __wbindgen_rethrow(idx) { throw takeObject(idx); }\n\nexport function __wbindgen_throw(ptr, len) {\n throw new Error(getStringFromWasm(ptr, len));\n}\n\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n\n var TempCtor = function TempCtor() {};\n\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n };\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/build-wasm/static/js/main.6e213ef8.chunk.js b/build-wasm/static/js/main.2cb97846.chunk.js similarity index 94% rename from build-wasm/static/js/main.6e213ef8.chunk.js rename to build-wasm/static/js/main.2cb97846.chunk.js index 2497c79..a3165b2 100644 --- a/build-wasm/static/js/main.6e213ef8.chunk.js +++ b/build-wasm/static/js/main.2cb97846.chunk.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{11:function(e,t,n){e.exports={canvas:"MandelbrotVisualizer_canvas__M7Er-"}},12:function(e,t,n){e.exports={container:"RenderOptions_container__2GIEw"}},13:function(e,t,n){e.exports=n(24)},18:function(e,t,n){},24:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n.n(a),i=n(9),s=n.n(i),o=(n(18),n(1)),c=n(2),u=n(5),h=n(4),l=n(6),d=n(7),m=n.n(d),v=n(10),p=n(11),C=n.n(p),f=function(){function e(t){Object(o.a)(this,e),this.originalCanvas=t,this.originalCanvasCtx=t.getContext("2d"),this.backupCanvas=this.setupBackupCanvas(),this.backupCanvasCtx=this.backupCanvas.getContext("2d")}return Object(c.a)(e,[{key:"setupBackupCanvas",value:function(){var e=document.createElement("canvas");return e.width=this.originalCanvas.width,e.height=this.originalCanvas.height,e}},{key:"save",value:function(){this.backupCanvasCtx.drawImage(this.originalCanvas,0,0)}},{key:"restore",value:function(){this.originalCanvasCtx.drawImage(this.backupCanvas,0,0)}}]),e}(),g=function(e){function t(e){var n;return Object(o.a)(this,t),(n=Object(u.a)(this,Object(h.a)(t).call(this,e))).onRef=function(e){n.canvas=e,n.canvasCtx=n.canvas.getContext("2d"),n.canvasBackup=new f(n.canvas),n.canvasRatio=n.canvas.height/n.canvas.width,n.props.innerRef(e)},n.handleMouseDown=function(e){n.mouseIsDown=!0,n.originX=e.pageX,n.originY=e.pageY,n.canvasBackup.save()},n.handleMouseUp=function(){n.mouseIsDown=!1,n.props.onChangeSelectedRegion(n.selectedAreaStartX,n.selectedAreaEndX,n.selectedAreaStartY,n.selectedAreaEndY)},n.handleMouseMove=function(e){n.mouseIsDown&&(n.mouseX=e.pageX,n.mouseY=e.pageY,n.calculateSelectionArea(),n.canvasBackup.restore(),n.drawRawRect(),n.drawFixedRect())},n.canvas=null,n.canvasCtx=null,n.canvasBackup=null,n.canvasRatio=null,n.originX=0,n.originY=0,n.mouseX=0,n.mouseY=0,n.selectedAreaStartX=0,n.selectedAreaEndX=0,n.selectedAreaStartY=0,n.selectedAreaEndY=0,n.mouseIsDown=!1,n}return Object(l.a)(t,e),Object(c.a)(t,[{key:"calculateSelectionArea",value:function(){var e=this.mouseX-this.originX,t=this.mouseY-this.originY,n=Math.min(e,t/this.canvasRatio),a=Math.min(t,e*this.canvasRatio),r=(e-n)/2,i=(t-a)/2,s=n,o=a;this.selectedAreaStartX=this.originX+r,this.selectedAreaStartY=this.originY+i,this.selectedAreaEndX=this.selectedAreaStartX+s,this.selectedAreaEndY=this.selectedAreaStartY+o}},{key:"drawRawRect",value:function(){this.drawRect("#00FF00",this.originX,this.mouseX,this.originY,this.mouseY)}},{key:"drawFixedRect",value:function(){this.drawRect("#FF0000",this.selectedAreaStartX,this.selectedAreaEndX,this.selectedAreaStartY,this.selectedAreaEndY)}},{key:"drawRect",value:function(e,t,n,a,r){this.canvasCtx.strokeStyle=e,this.canvasCtx.strokeRect(t,a,n-t,r-a)}},{key:"render",value:function(){return r.a.createElement("canvas",{id:"canvas",ref:this.onRef,width:window.innerWidth,height:window.innerHeight,className:this.props.className,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onMouseMove:this.handleMouseMove})}}]),t}(a.Component),x=function(e){return new Promise(function(t){return setTimeout(t,e)})},w=n.e(1).then(n.bind(null,3)),b=function(e){function t(e){var n;return Object(o.a)(this,t),(n=Object(u.a)(this,Object(h.a)(t).call(this,e))).onRef=function(e){n.canvasCtx=e.getContext("2d"),w.then(function(t){var a=t.MandelbrotSet;n.mandelbrotSet=new a(e.width,e.height),n.refreshCanvas()})},n.onChangeSelectedRegion=function(e,t,a,r){n.mandelbrotSet.zoom_canvas(e,t,a,r),n.refreshCanvas()},n.mandelbrotSet=null,n.canvasCtx=null,n}return Object(l.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(e){e.renderingKey!==this.props.renderingKey&&this.refreshCanvas()}},{key:"refreshCanvas",value:function(){var e=Object(v.a)(m.a.mark(function e(){return m.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.props.onChangeBounds(this.mandelbrotSet.min_corner_a(),this.mandelbrotSet.min_corner_b(),this.mandelbrotSet.max_corner_a(),this.mandelbrotSet.max_corner_b()),e.next=3,x(50);case 3:console.time("RENDER"),this.mandelbrotSet.render(this.canvasCtx,this.props.maxIterations),console.timeEnd("RENDER");case 6:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"render",value:function(){return r.a.createElement(g,{innerRef:this.onRef,className:C.a.canvas,onChangeSelectedRegion:this.onChangeSelectedRegion})}}]),t}(a.Component),E=n(12),A=n.n(E),k=function(e){var t=e.onChangeMaxIterations,n=e.maxIterations,r=e.minCornerA,i=e.minCornerB,s=e.maxCornerA,o=e.maxCornerB,c=e.refresh;return a.createElement("form",{className:A.a.container,onSubmit:function(e){e.preventDefault(),c()}},a.createElement("div",null,a.createElement("input",{type:"text",value:r}),a.createElement("input",{type:"text",value:i})),a.createElement("div",null,a.createElement("input",{type:"text",value:s}),a.createElement("input",{type:"text",value:o})),a.createElement("input",{type:"number",onChange:function(e){return t(parseInt(e.target.value))},value:n}),a.createElement("input",{type:"submit",value:"Refresh"}))},y=function(e){function t(){var e,n;Object(o.a)(this,t);for(var a=arguments.length,r=new Array(a),i=0;i void\r\n onChangeSelectedRegion: (\r\n selectedAreaStartX: number,\r\n selectedAreaEndX: number,\r\n selectedAreaStartY: number,\r\n selectedAreaEndY: number,\r\n ) => void\r\n className: string\r\n}\r\n\r\nclass RegionSelectableCanvas extends Component {\r\n private canvas: HTMLCanvasElement\r\n private canvasCtx: CanvasRenderingContext2D\r\n private canvasBackup: CanvasBackup\r\n private canvasRatio: number\r\n\r\n private originX: number\r\n private originY: number\r\n private mouseX: number\r\n private mouseY: number\r\n\r\n private selectedAreaStartX: number\r\n private selectedAreaEndX: number\r\n private selectedAreaStartY: number\r\n private selectedAreaEndY: number\r\n\r\n private mouseIsDown: boolean\r\n\r\n onRef = (canvas: HTMLCanvasElement) => {\r\n this.canvas = canvas\r\n this.canvasCtx = this.canvas.getContext('2d') as CanvasRenderingContext2D\r\n this.canvasBackup = new CanvasBackup(this.canvas)\r\n this.canvasRatio = this.canvas.height / this.canvas.width\r\n\r\n this.props.innerRef(canvas)\r\n };\r\n\r\n constructor(props: any) {\r\n super(props)\r\n this.canvas = null as any as HTMLCanvasElement\r\n this.canvasCtx = null as any as CanvasRenderingContext2D\r\n this.canvasBackup = null as any as CanvasBackup\r\n this.canvasRatio = null as any as number\r\n this.originX = 0\r\n this.originY = 0\r\n this.mouseX = 0\r\n this.mouseY = 0\r\n this.selectedAreaStartX = 0\r\n this.selectedAreaEndX = 0\r\n this.selectedAreaStartY = 0\r\n this.selectedAreaEndY = 0\r\n this.mouseIsDown = false\r\n }\r\n\r\n handleMouseDown = (e: React.MouseEvent) => {\r\n this.mouseIsDown = true\r\n this.originX = e.pageX\r\n this.originY = e.pageY\r\n \r\n this.canvasBackup.save()\r\n }\r\n\r\n handleMouseUp = () => {\r\n this.mouseIsDown = false\r\n this.props.onChangeSelectedRegion(\r\n this.selectedAreaStartX,\r\n this.selectedAreaEndX,\r\n this.selectedAreaStartY,\r\n this.selectedAreaEndY\r\n )\r\n }\r\n\r\n calculateSelectionArea () {\r\n const xWidth = this.mouseX - this.originX;\r\n const yWidth = this.mouseY - this.originY;\r\n\r\n const xPreservingAspectRatioWidth = Math.min(xWidth, yWidth / this.canvasRatio)\r\n const yPreservingAspectRatioHeight = Math.min(yWidth, xWidth * this.canvasRatio)\r\n\r\n const offsetX = (xWidth - xPreservingAspectRatioWidth) / 2\r\n const offsetY = (yWidth - yPreservingAspectRatioHeight) / 2\r\n\r\n const finalWidth = xPreservingAspectRatioWidth\r\n const finalHeight = yPreservingAspectRatioHeight\r\n\r\n this.selectedAreaStartX = this.originX + offsetX\r\n this.selectedAreaStartY = this.originY + offsetY\r\n this.selectedAreaEndX = this.selectedAreaStartX + finalWidth\r\n this.selectedAreaEndY = this.selectedAreaStartY + finalHeight\r\n }\r\n\r\n handleMouseMove = (e: React.MouseEvent) => {\r\n if (this.mouseIsDown) {\r\n this.mouseX = e.pageX\r\n this.mouseY = e.pageY\r\n \r\n this.calculateSelectionArea() \r\n this.canvasBackup.restore()\r\n this.drawRawRect()\r\n this.drawFixedRect()\r\n }\r\n }\r\n\r\n drawRawRect() {\r\n this.drawRect(\r\n \"#00FF00\",\r\n this.originX,\r\n this.mouseX,\r\n this.originY,\r\n this.mouseY\r\n )\r\n }\r\n\r\n drawFixedRect () {\r\n this.drawRect(\r\n \"#FF0000\",\r\n this.selectedAreaStartX,\r\n this.selectedAreaEndX,\r\n this.selectedAreaStartY,\r\n this.selectedAreaEndY\r\n )\r\n }\r\n\r\n drawRect(color: string, startX: number, endX: number, startY: number, endY: number) {\r\n this.canvasCtx.strokeStyle = color;\r\n this.canvasCtx.strokeRect(startX, startY, endX - startX, endY - startY);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RegionSelectableCanvas\r\n","export const sleep = (ms: number) => new Promise(r => setTimeout(r, ms))\r\n","import React, { Component } from \"react\";\r\n\r\nimport classes from './MandelbrotVisualizer.module.css'\r\nimport RegionSelectableCanvas from \"../RegionSelectableCanvas/RegionSelectableCanvas\";\r\n\r\nimport { MandelbrotSet } from '../../domain_wasm/mandelbrot';\r\nimport { sleep } from \"./utils/sleep\";\r\nconst MandelbrotModule = import('../../domain_wasm/mandelbrot')\r\n\r\ninterface MandelbrotVisualizerProps {\r\n maxIterations: number\r\n renderingKey: number\r\n onChangeBounds: (minCornerA: string, minCornerB: string, maxCornerA: string, maxCornerB: string) => void\r\n}\r\n\r\nclass MandelbrotVisualizer extends Component {\r\n private mandelbrotSet: MandelbrotSet\r\n private canvasCtx: CanvasRenderingContext2D\r\n\r\n constructor (props: any) {\r\n super(props)\r\n\r\n this.mandelbrotSet = null as any as MandelbrotSet\r\n this.canvasCtx = null as any as CanvasRenderingContext2D\r\n }\r\n\r\n componentDidUpdate (previousProps: MandelbrotVisualizerProps) {\r\n if(previousProps.renderingKey !== this.props.renderingKey) {\r\n this.refreshCanvas()\r\n }\r\n }\r\n\r\n onRef = (canvas: HTMLCanvasElement) => {\r\n this.canvasCtx = canvas.getContext('2d') as CanvasRenderingContext2D \r\n\r\n MandelbrotModule.then(({ MandelbrotSet }) => {\r\n this.mandelbrotSet = new MandelbrotSet(canvas.width, canvas.height)\r\n this.refreshCanvas()\r\n }) \r\n };\r\n\r\n private onChangeSelectedRegion = (startXPx: number, endXPx: number, startYPx: number, endYPx: number) => {\r\n this.mandelbrotSet.zoom_canvas(startXPx, endXPx, startYPx, endYPx)\r\n this.refreshCanvas()\r\n }\r\n\r\n private async refreshCanvas () {\r\n this.props.onChangeBounds(\r\n this.mandelbrotSet.min_corner_a(), \r\n this.mandelbrotSet.min_corner_b(),\r\n this.mandelbrotSet.max_corner_a(), \r\n this.mandelbrotSet.max_corner_b()\r\n )\r\n await sleep(50)\r\n console.time(\"RENDER\")\r\n this.mandelbrotSet.render(this.canvasCtx, this.props.maxIterations)\r\n console.timeEnd(\"RENDER\")\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MandelbrotVisualizer\r\n","import * as React from 'react';\r\n\r\nimport classes from './RenderOptions.module.css'\r\n\r\ninterface RenderOptionsProps {\r\n onChangeMaxIterations: (maxIterations: number) => void\r\n maxIterations: number\r\n minCornerA: string\r\n minCornerB: string\r\n maxCornerA: string\r\n maxCornerB: string\r\n refresh: () => void\r\n}\r\n\r\nexport const RenderOptions: React.SFC = ({\r\n onChangeMaxIterations,\r\n maxIterations,\r\n minCornerA,\r\n minCornerB,\r\n maxCornerA,\r\n maxCornerB,\r\n refresh\r\n}) => (\r\n
{\r\n e.preventDefault()\r\n refresh()\r\n }}>\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n onChangeMaxIterations(parseInt(e.target.value))}\r\n value={maxIterations}\r\n />\r\n \r\n \r\n)\r\n","import React, { Component } from 'react';\nimport MandelbrotVisualizer from './MandelbrotVisualizer/MandelbrotVisualizer';\nimport { RenderOptions } from './RenderOptions/RenderOptions';\n\nclass App extends Component {\n state = {\n maxIterations: 100,\n renderingKey: Math.random(),\n minCornerA: \"\",\n minCornerB: \"\",\n maxCornerA: \"\",\n maxCornerB: \"\",\n }\n\n onChangeMaxIterations = (maxIterations: number) => {\n this.setState({\n maxIterations\n })\n }\n\n refresh = () => {\n this.setState({\n renderingKey: Math.random()\n })\n }\n\n render() {\n return (\n
\n this.setState({\n minCornerA,\n minCornerB,\n maxCornerA,\n maxCornerB\n })}\n />\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './components/App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["components/MandelbrotVisualizer/MandelbrotVisualizer.module.css","components/RenderOptions/RenderOptions.module.css","components/RegionSelectableCanvas/utils/CanvasBackup.ts","components/RegionSelectableCanvas/RegionSelectableCanvas.tsx","components/MandelbrotVisualizer/utils/sleep.ts","components/MandelbrotVisualizer/MandelbrotVisualizer.tsx","components/RenderOptions/RenderOptions.tsx","components/App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","canvas","container","CanvasBackup","originalCanvas","Object","classCallCheck","this","originalCanvasCtx","getContext","backupCanvas","setupBackupCanvas","backupCanvasCtx","createClass","key","value","document","createElement","width","height","drawImage","RegionSelectableCanvas","props","_this","possibleConstructorReturn","getPrototypeOf","call","onRef","canvasCtx","canvasBackup","canvasRatio","innerRef","handleMouseDown","e","mouseIsDown","originX","pageX","originY","pageY","save","handleMouseUp","onChangeSelectedRegion","selectedAreaStartX","selectedAreaEndX","selectedAreaStartY","selectedAreaEndY","handleMouseMove","mouseX","mouseY","calculateSelectionArea","restore","drawRawRect","drawFixedRect","xWidth","yWidth","xPreservingAspectRatioWidth","Math","min","yPreservingAspectRatioHeight","offsetX","offsetY","finalWidth","finalHeight","drawRect","color","startX","endX","startY","endY","strokeStyle","strokeRect","react_default","a","id","ref","window","innerWidth","innerHeight","className","onMouseDown","onMouseUp","onMouseMove","Component","sleep","ms","Promise","r","setTimeout","MandelbrotModule","__webpack_require__","then","bind","MandelbrotVisualizer","_ref","MandelbrotSet","mandelbrotSet","refreshCanvas","startXPx","endXPx","startYPx","endYPx","zoom_canvas","previousProps","renderingKey","onChangeBounds","min_corner_a","min_corner_b","max_corner_a","max_corner_b","console","time","render","maxIterations","timeEnd","components_RegionSelectableCanvas_RegionSelectableCanvas","classes","RenderOptions","onChangeMaxIterations","minCornerA","minCornerB","maxCornerA","maxCornerB","refresh","react","onSubmit","preventDefault","type","onChange","parseInt","target","App","state","random","setState","_this2","components_MandelbrotVisualizer_MandelbrotVisualizer","RenderOptions_RenderOptions","Boolean","location","hostname","match","ReactDOM","components_App","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.2cb97846.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"canvas\":\"MandelbrotVisualizer_canvas__b2jZf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"RenderOptions_container__3M2EV\"};","export class CanvasBackup {\r\n private originalCanvas: HTMLCanvasElement\r\n private originalCanvasCtx: CanvasRenderingContext2D \r\n private backupCanvas: HTMLCanvasElement\r\n private backupCanvasCtx: CanvasRenderingContext2D \r\n\r\n constructor(originalCanvas: HTMLCanvasElement) {\r\n this.originalCanvas = originalCanvas;\r\n this.originalCanvasCtx = originalCanvas.getContext('2d') as CanvasRenderingContext2D;\r\n \r\n this.backupCanvas = this.setupBackupCanvas();\r\n this.backupCanvasCtx = this.backupCanvas.getContext('2d') as CanvasRenderingContext2D;\r\n }\r\n\r\n setupBackupCanvas() {\r\n const backupCanvas = document.createElement('canvas');\r\n backupCanvas.width = this.originalCanvas.width;\r\n backupCanvas.height = this.originalCanvas.height;\r\n return backupCanvas;\r\n }\r\n\r\n save() {\r\n this.backupCanvasCtx.drawImage(this.originalCanvas, 0, 0);\r\n }\r\n\r\n restore() {\r\n this.originalCanvasCtx.drawImage(this.backupCanvas, 0, 0);\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\n\r\nimport { CanvasBackup } from \"./utils/CanvasBackup\";\r\n\r\ninterface RegionSelectableCanvasProps {\r\n innerRef: (element: HTMLCanvasElement) => void\r\n onChangeSelectedRegion: (\r\n selectedAreaStartX: number,\r\n selectedAreaEndX: number,\r\n selectedAreaStartY: number,\r\n selectedAreaEndY: number,\r\n ) => void\r\n className: string\r\n}\r\n\r\nclass RegionSelectableCanvas extends Component {\r\n private canvas: HTMLCanvasElement\r\n private canvasCtx: CanvasRenderingContext2D\r\n private canvasBackup: CanvasBackup\r\n private canvasRatio: number\r\n\r\n private originX: number\r\n private originY: number\r\n private mouseX: number\r\n private mouseY: number\r\n\r\n private selectedAreaStartX: number\r\n private selectedAreaEndX: number\r\n private selectedAreaStartY: number\r\n private selectedAreaEndY: number\r\n\r\n private mouseIsDown: boolean\r\n\r\n onRef = (canvas: HTMLCanvasElement) => {\r\n this.canvas = canvas\r\n this.canvasCtx = this.canvas.getContext('2d') as CanvasRenderingContext2D\r\n this.canvasBackup = new CanvasBackup(this.canvas)\r\n this.canvasRatio = this.canvas.height / this.canvas.width\r\n\r\n this.props.innerRef(canvas)\r\n };\r\n\r\n constructor(props: any) {\r\n super(props)\r\n this.canvas = null as any as HTMLCanvasElement\r\n this.canvasCtx = null as any as CanvasRenderingContext2D\r\n this.canvasBackup = null as any as CanvasBackup\r\n this.canvasRatio = null as any as number\r\n this.originX = 0\r\n this.originY = 0\r\n this.mouseX = 0\r\n this.mouseY = 0\r\n this.selectedAreaStartX = 0\r\n this.selectedAreaEndX = 0\r\n this.selectedAreaStartY = 0\r\n this.selectedAreaEndY = 0\r\n this.mouseIsDown = false\r\n }\r\n\r\n handleMouseDown = (e: React.MouseEvent) => {\r\n this.mouseIsDown = true\r\n this.originX = e.pageX\r\n this.originY = e.pageY\r\n \r\n this.canvasBackup.save()\r\n }\r\n\r\n handleMouseUp = () => {\r\n this.mouseIsDown = false\r\n this.props.onChangeSelectedRegion(\r\n this.selectedAreaStartX,\r\n this.selectedAreaEndX,\r\n this.selectedAreaStartY,\r\n this.selectedAreaEndY\r\n )\r\n }\r\n\r\n calculateSelectionArea () {\r\n const xWidth = this.mouseX - this.originX;\r\n const yWidth = this.mouseY - this.originY;\r\n\r\n const xPreservingAspectRatioWidth = Math.min(xWidth, yWidth / this.canvasRatio)\r\n const yPreservingAspectRatioHeight = Math.min(yWidth, xWidth * this.canvasRatio)\r\n\r\n const offsetX = (xWidth - xPreservingAspectRatioWidth) / 2\r\n const offsetY = (yWidth - yPreservingAspectRatioHeight) / 2\r\n\r\n const finalWidth = xPreservingAspectRatioWidth\r\n const finalHeight = yPreservingAspectRatioHeight\r\n\r\n this.selectedAreaStartX = this.originX + offsetX\r\n this.selectedAreaStartY = this.originY + offsetY\r\n this.selectedAreaEndX = this.selectedAreaStartX + finalWidth\r\n this.selectedAreaEndY = this.selectedAreaStartY + finalHeight\r\n }\r\n\r\n handleMouseMove = (e: React.MouseEvent) => {\r\n if (this.mouseIsDown) {\r\n this.mouseX = e.pageX\r\n this.mouseY = e.pageY\r\n \r\n this.calculateSelectionArea() \r\n this.canvasBackup.restore()\r\n this.drawRawRect()\r\n this.drawFixedRect()\r\n }\r\n }\r\n\r\n drawRawRect() {\r\n this.drawRect(\r\n \"#00FF00\",\r\n this.originX,\r\n this.mouseX,\r\n this.originY,\r\n this.mouseY\r\n )\r\n }\r\n\r\n drawFixedRect () {\r\n this.drawRect(\r\n \"#FF0000\",\r\n this.selectedAreaStartX,\r\n this.selectedAreaEndX,\r\n this.selectedAreaStartY,\r\n this.selectedAreaEndY\r\n )\r\n }\r\n\r\n drawRect(color: string, startX: number, endX: number, startY: number, endY: number) {\r\n this.canvasCtx.strokeStyle = color;\r\n this.canvasCtx.strokeRect(startX, startY, endX - startX, endY - startY);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RegionSelectableCanvas\r\n","export const sleep = (ms: number) => new Promise(r => setTimeout(r, ms))\r\n","import React, { Component } from \"react\";\r\n\r\nimport classes from './MandelbrotVisualizer.module.css'\r\nimport RegionSelectableCanvas from \"../RegionSelectableCanvas/RegionSelectableCanvas\";\r\n\r\nimport { MandelbrotSet } from '../../domain_wasm/mandelbrot';\r\nimport { sleep } from \"./utils/sleep\";\r\nconst MandelbrotModule = import('../../domain_wasm/mandelbrot')\r\n\r\ninterface MandelbrotVisualizerProps {\r\n maxIterations: number\r\n renderingKey: number\r\n onChangeBounds: (minCornerA: string, minCornerB: string, maxCornerA: string, maxCornerB: string) => void\r\n}\r\n\r\nclass MandelbrotVisualizer extends Component {\r\n private mandelbrotSet: MandelbrotSet\r\n private canvasCtx: CanvasRenderingContext2D\r\n\r\n constructor (props: any) {\r\n super(props)\r\n\r\n this.mandelbrotSet = null as any as MandelbrotSet\r\n this.canvasCtx = null as any as CanvasRenderingContext2D\r\n }\r\n\r\n componentDidUpdate (previousProps: MandelbrotVisualizerProps) {\r\n if(previousProps.renderingKey !== this.props.renderingKey) {\r\n this.refreshCanvas()\r\n }\r\n }\r\n\r\n onRef = (canvas: HTMLCanvasElement) => {\r\n this.canvasCtx = canvas.getContext('2d') as CanvasRenderingContext2D \r\n\r\n MandelbrotModule.then(({ MandelbrotSet }) => {\r\n this.mandelbrotSet = new MandelbrotSet(canvas.width, canvas.height)\r\n this.refreshCanvas()\r\n }) \r\n };\r\n\r\n private onChangeSelectedRegion = (startXPx: number, endXPx: number, startYPx: number, endYPx: number) => {\r\n this.mandelbrotSet.zoom_canvas(startXPx, endXPx, startYPx, endYPx)\r\n this.refreshCanvas()\r\n }\r\n\r\n private async refreshCanvas () {\r\n this.props.onChangeBounds(\r\n this.mandelbrotSet.min_corner_a(), \r\n this.mandelbrotSet.min_corner_b(),\r\n this.mandelbrotSet.max_corner_a(), \r\n this.mandelbrotSet.max_corner_b()\r\n )\r\n await sleep(50)\r\n console.time(\"RENDER\")\r\n this.mandelbrotSet.render(this.canvasCtx, this.props.maxIterations)\r\n console.timeEnd(\"RENDER\")\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MandelbrotVisualizer\r\n","import * as React from 'react';\r\n\r\nimport classes from './RenderOptions.module.css'\r\n\r\ninterface RenderOptionsProps {\r\n onChangeMaxIterations: (maxIterations: number) => void\r\n maxIterations: number\r\n minCornerA: string\r\n minCornerB: string\r\n maxCornerA: string\r\n maxCornerB: string\r\n refresh: () => void\r\n}\r\n\r\nexport const RenderOptions: React.SFC = ({\r\n onChangeMaxIterations,\r\n maxIterations,\r\n minCornerA,\r\n minCornerB,\r\n maxCornerA,\r\n maxCornerB,\r\n refresh\r\n}) => (\r\n
{\r\n e.preventDefault()\r\n refresh()\r\n }}>\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n onChangeMaxIterations(parseInt(e.target.value))}\r\n value={maxIterations}\r\n />\r\n \r\n \r\n)\r\n","import React, { Component } from 'react';\nimport MandelbrotVisualizer from './MandelbrotVisualizer/MandelbrotVisualizer';\nimport { RenderOptions } from './RenderOptions/RenderOptions';\n\nclass App extends Component {\n state = {\n maxIterations: 100,\n renderingKey: Math.random(),\n minCornerA: \"\",\n minCornerB: \"\",\n maxCornerA: \"\",\n maxCornerB: \"\",\n }\n\n onChangeMaxIterations = (maxIterations: number) => {\n this.setState({\n maxIterations\n })\n }\n\n refresh = () => {\n this.setState({\n renderingKey: Math.random()\n })\n }\n\n render() {\n return (\n
\n this.setState({\n minCornerA,\n minCornerB,\n maxCornerA,\n maxCornerB\n })}\n />\n \n
\n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './components/App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/build-wasm/static/js/runtime~main.90336252.js.map b/build-wasm/static/js/runtime~main.90336252.js.map deleted file mode 100644 index d7e358c..0000000 --- a/build-wasm/static/js/runtime~main.90336252.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","3","installedWasmModules","wasmImportObjects","25","./mandelbrot","__wbindgen_object_drop_ref","p0i32","exports","__widl_f_put_image_data_CanvasRenderingContext2D","p1i32","p2f64","p3f64","p4i32","__widl_f_new_with_u8_clamped_array_and_sh_ImageData","p2i32","p3i32","__wbindgen_throw","__wbindgen_rethrow","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","head","document","getElementsByTagName","script","createElement","charset","timeout","nc","setAttribute","src","p","1","jsonpScriptSrc","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","error","Error","request","undefined","setTimeout","appendChild","forEach","wasmModuleId","installedWasmModuleData","importObject","req","fetch","WebAssembly","compileStreaming","all","then","items","instantiate","instantiateStreaming","x","arrayBuffer","bytes","res","w","instance","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime~main.90336252.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"1\":\"f0bdf383\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// object to store loaded and loading wasm modules\n \tvar installedWasmModules = {};\n\n \tfunction promiseResolve() { return Promise.resolve(); }\n\n \tvar wasmImportObjects = {\n \t\t25: function() {\n \t\t\treturn {\n \t\t\t\t\"./mandelbrot\": {\n \t\t\t\t\t\"__wbindgen_object_drop_ref\": function(p0i32) {\n \t\t\t\t\t\treturn installedModules[3].exports[\"__wbindgen_object_drop_ref\"](p0i32);\n \t\t\t\t\t},\n \t\t\t\t\t\"__widl_f_put_image_data_CanvasRenderingContext2D\": function(p0i32,p1i32,p2f64,p3f64,p4i32) {\n \t\t\t\t\t\treturn installedModules[3].exports[\"__widl_f_put_image_data_CanvasRenderingContext2D\"](p0i32,p1i32,p2f64,p3f64,p4i32);\n \t\t\t\t\t},\n \t\t\t\t\t\"__widl_f_new_with_u8_clamped_array_and_sh_ImageData\": function(p0i32,p1i32,p2i32,p3i32,p4i32) {\n \t\t\t\t\t\treturn installedModules[3].exports[\"__widl_f_new_with_u8_clamped_array_and_sh_ImageData\"](p0i32,p1i32,p2i32,p3i32,p4i32);\n \t\t\t\t\t},\n \t\t\t\t\t\"__wbindgen_throw\": function(p0i32,p1i32) {\n \t\t\t\t\t\treturn installedModules[3].exports[\"__wbindgen_throw\"](p0i32,p1i32);\n \t\t\t\t\t},\n \t\t\t\t\t\"__wbindgen_rethrow\": function(p0i32) {\n \t\t\t\t\t\treturn installedModules[3].exports[\"__wbindgen_rethrow\"](p0i32);\n \t\t\t\t\t}\n \t\t\t\t}\n \t\t\t};\n \t\t},\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\thead.appendChild(script);\n \t\t\t}\n \t\t}\n\n \t\t// Fetch + compile chunk loading for webassembly\n\n \t\tvar wasmModules = {\"1\":[25]}[chunkId] || [];\n\n \t\twasmModules.forEach(function(wasmModuleId) {\n \t\t\tvar installedWasmModuleData = installedWasmModules[wasmModuleId];\n\n \t\t\t// a Promise means \"currently loading\" or \"already loaded\".\n \t\t\tif(installedWasmModuleData)\n \t\t\t\tpromises.push(installedWasmModuleData);\n \t\t\telse {\n \t\t\t\tvar importObject = wasmImportObjects[wasmModuleId]();\n \t\t\t\tvar req = fetch(__webpack_require__.p + \"\" + {\"25\":\"5a3db2e966eaa88043fd\"}[wasmModuleId] + \".module.wasm\");\n \t\t\t\tvar promise;\n \t\t\t\tif(importObject instanceof Promise && typeof WebAssembly.compileStreaming === 'function') {\n \t\t\t\t\tpromise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) {\n \t\t\t\t\t\treturn WebAssembly.instantiate(items[0], items[1]);\n \t\t\t\t\t});\n \t\t\t\t} else if(typeof WebAssembly.instantiateStreaming === 'function') {\n \t\t\t\t\tpromise = WebAssembly.instantiateStreaming(req, importObject);\n \t\t\t\t} else {\n \t\t\t\t\tvar bytesPromise = req.then(function(x) { return x.arrayBuffer(); });\n \t\t\t\t\tpromise = bytesPromise.then(function(bytes) {\n \t\t\t\t\t\treturn WebAssembly.instantiate(bytes, importObject);\n \t\t\t\t\t});\n \t\t\t\t}\n \t\t\t\tpromises.push(installedWasmModules[wasmModuleId] = promise.then(function(res) {\n \t\t\t\t\treturn __webpack_require__.w[wasmModuleId] = (res.instance || res).exports;\n \t\t\t\t}));\n \t\t\t}\n \t\t});\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \t// object with all WebAssembly.instance exports\n \t__webpack_require__.w = {};\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/build-wasm/static/js/runtime~main.90336252.js b/build-wasm/static/js/runtime~main.d6d4a139.js similarity index 52% rename from build-wasm/static/js/runtime~main.90336252.js rename to build-wasm/static/js/runtime~main.d6d4a139.js index 987a012..b578b5f 100644 --- a/build-wasm/static/js/runtime~main.90336252.js +++ b/build-wasm/static/js/runtime~main.d6d4a139.js @@ -1,2 +1,2 @@ -!function(e){function n(n){for(var r,a,u=n[0],f=n[1],s=n[2],c=0,l=[];c