!function(){var t,e,n;(function(){t=this}).call(this),function(){e=__meteor_runtime_config__.meteorEnv,n={isProduction:"production"===e.NODE_ENV,isDevelopment:"production"!==e.NODE_ENV,isClient:!0,isServer:!1,isCordova:!1},"object"==typeof __meteor_runtime_config__&&__meteor_runtime_config__.PUBLIC_SETTINGS&&(n.settings={public:__meteor_runtime_config__.PUBLIC_SETTINGS})}.call(this),function(){function t(t){if(t)return n._debug("Exception in callback of async function",t.stack?t.stack:t)}if(n.isServer)var e=Npm.require("fibers/future");"object"==typeof __meteor_runtime_config__&&__meteor_runtime_config__.meteorRelease&&(n.release=__meteor_runtime_config__.meteorRelease),n._get=function(t){for(var e=1;e=0;r--){var o=arguments[r+1];if(n)n=!1;else for(var i in e[r][o])return;delete e[r][o]}},n.wrapAsync=function(r,o){return function(){for(var i=o||this,a=Array.prototype.slice.call(arguments),s,u=a.length-1;u>=0;--u){var c=a[u],l=typeof c;if("undefined"!==l){"function"===l&&(s=c);break}}if(!s){if(n.isClient)s=t;else{var f=new e;s=f.resolver()}++u}a[u]=n.bindEnvironment(s);var p=r.apply(i,a);return f?f.wait():p}};var r=Object.prototype.hasOwnProperty;n._inherits=function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);var o=function(){this.constructor=t};return o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype,t};var o=!1;n._wrapAsync=function(t,e){return o||(n._debug("Meteor._wrapAsync has been renamed to Meteor.wrapAsync"),o=!0),n.wrapAsync.apply(n,arguments)}}.call(this),function(){"use strict";function t(){if(o.setImmediate){var t=function(t){o.setImmediate(t)};return t.implementation="setImmediate",t}return null}function e(){function t(t,e){return"string"==typeof t&&t.substring(0,e.length)===e}function e(e){if(e.source===o&&t(e.data,s)){var n=e.data.substring(s.length);try{a[n]&&a[n]()}finally{delete a[n]}}}if(!o.postMessage||o.importScripts)return null;var n=!0,r=o.onmessage;if(o.onmessage=function(){n=!1},o.postMessage("","*"),o.onmessage=r,!n)return null;var i=0,a={},s="Meteor._setImmediate."+Math.random()+".";o.addEventListener?o.addEventListener("message",e,!1):o.attachEvent("onmessage",e);var u=function(t){a[++i]=t,o.postMessage(s+i,"*")};return u.implementation="postMessage",u}function r(){var t=function(t){o.setTimeout(t,0)};return t.implementation="setTimeout",t}var o=this;n._setImmediate=t()||e()||r()}.call(this),function(){function t(t){if(Package.ddp){var e=Package.ddp.DDP,n=e._CurrentMethodInvocation||e._CurrentInvocation,r=n.get();if(r&&r.isSimulation)throw new Error("Can't set timers inside simulations");return function(){n.withValue(null,t)}}return t}function e(e,r){return n.bindEnvironment(t(r),e)}n.setTimeout=function(t,n){return setTimeout(e("setTimeout callback",t),n)},n.setInterval=function(t,n){return setInterval(e("setInterval callback",t),n)},n.clearInterval=function(t){return clearInterval(t)},n.clearTimeout=function(t){return clearTimeout(t)},n.defer=function(t){n._setImmediate(e("defer callback",t))}}.call(this),function(){n.makeErrorType=function(t,e){var r=function(){Error.captureStackTrace?Error.captureStackTrace(this,r):this.stack=(new Error).stack,e.apply(this,arguments),this.errorType=t};return n._inherits(r,Error),r},n.Error=n.makeErrorType("Meteor.Error",function(t,e,n){var r=this;r.isClientSafe=!0,r.error=t,r.reason=e,r.details=n,r.reason?r.message=r.reason+" ["+r.error+"]":r.message="["+r.error+"]"}),n.Error.prototype.clone=function(){var t=this;return new n.Error(t.error,t.reason,t.details)}}.call(this),function(){n._noYieldsAllowed=function(t){return t()},n._SynchronousQueue=function(){var t=this;t._tasks=[],t._running=!1,t._runTimeout=null};var t=n._SynchronousQueue.prototype;t.runTask=function(t){var e=this;if(!e.safeToRunTask())throw new Error("Could not synchronously run a task from a running task");e._tasks.push(t);var r=e._tasks;e._tasks=[],e._running=!0,e._runTimeout&&(clearTimeout(e._runTimeout),e._runTimeout=null);try{for(;r.length>0;){var o=r.shift();try{o()}catch(t){if(0===r.length)throw t;n._debug("Exception in queued task: "+(t.stack||t))}}}finally{e._running=!1}},t.queueTask=function(t){var e=this;e._tasks.push(t),e._runTimeout||(e._runTimeout=setTimeout(function(){return e.flush.apply(e,arguments)},0))},t.flush=function(){this.runTask(function(){})},t.drain=function(){var t=this;if(t.safeToRunTask())for(;t._tasks.length>0;)t.flush()},t.safeToRunTask=function(){return!this._running}}.call(this),function(){var t=[],e=!1,r=!1,o=0,i=function(){o++},a=function(){o--,s()},s=function(){if(!(r||!e||o>0)){for(r=!0;t.length;)t.shift()();n.isCordova&&WebAppLocalServer.startupDidComplete()}},u=function(){e||(e=!0,s())};n.isCordova&&(i(),document.addEventListener("deviceready",a,!1)),"complete"===document.readyState||"loaded"===document.readyState?window.setTimeout(u):document.addEventListener?(document.addEventListener("DOMContentLoaded",u,!1),window.addEventListener("load",u,!1)):(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&u()}),window.attachEvent("load",u)),n.startup=function(e){var o=!document.addEventListener&&document.documentElement.doScroll;if(o&&window===top){try{o("left")}catch(t){return void setTimeout(function(){n.startup(e)},50)}e()}else r?e():t.push(e)}}.call(this),function(){var t=0;n._debug=function(){if(t)t--;else if("undefined"!=typeof console&&void 0!==console.log)if(0==arguments.length)console.log("");else if("function"==typeof console.log.apply){for(var e=!0,n=0;n2;if(null==n&&(n=[]),v&&n.reduce===v)return e&&(t=A.bind(t,e)),i?n.reduce(t,r):n.reduce(t);if(E(n,function(n,u,a){i?r=t.call(e,r,n,u,a):(r=n,i=!0)}),!i)throw new TypeError(F);return r},A.reduceRight=A.foldr=function(n,t,r,e){var i=arguments.length>2;if(null==n&&(n=[]),y&&n.reduceRight===y)return e&&(t=A.bind(t,e)),i?n.reduceRight(t,r):n.reduceRight(t);var u=n.length;if(!O(n)){var a=A.keys(n);u=a.length}if(E(n,function(c,o,l){o=a?a[--u]:--u,i?r=t.call(e,r,n[o],o,l):(r=n[o],i=!0)}),!i)throw new TypeError(F);return r},A.find=A.detect=function(n,t,r){var e;return M(n,function(n,i,u){if(t.call(r,n,i,u))return e=n,!0}),e},A.filter=A.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(E(n,function(n,i,u){t.call(r,n,i,u)&&e.push(n)}),e)},A.reject=function(n,t,r){return A.filter(n,function(n,e,i){return!t.call(r,n,e,i)},r)},A.every=A.all=function(n,t,r){t||(t=A.identity);var i=!0;return null==n?i:g&&n.every===g?n.every(t,r):(E(n,function(n,u,a){if(!(i=i&&t.call(r,n,u,a)))return e}),!!i)};var M=A.some=A.any=function(n,t,r){t||(t=A.identity);var i=!1;return null==n?i:m&&n.some===m?n.some(t,r):(E(n,function(n,u,a){if(i||(i=t.call(r,n,u,a)))return e}),!!i)};A.contains=A.include=function(n,t){return null!=n&&(b&&n.indexOf===b?-1!=n.indexOf(t):M(n,function(n){return n===t}))},A.invoke=function(n,t){var r=o.call(arguments,2),e=A.isFunction(t);return A.map(n,function(n){return(e?t:n[t]).apply(n,r)})},A.pluck=function(n,t){return A.map(n,function(n){return n[t]})},A.where=function(n,t,r){return A.isEmpty(t)?r?void 0:[]:A[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},A.findWhere=function(n,t){return A.where(n,t,!0)},A.max=function(n,t,r){if(!t&&A.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.max.apply(Math,n);if(!t&&A.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return E(n,function(n,i,u){var a=t?t.call(r,n,i,u):n;a>e.computed&&(e={value:n,computed:a})}),e.value},A.min=function(n,t,r){if(!t&&A.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.min.apply(Math,n);if(!t&&A.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return E(n,function(n,i,u){var a=t?t.call(r,n,i,u):n;ae||void 0===r)return 1;if(r>>1;r.call(e,n[c])=0})})},A.difference=function(n){var t=l.apply(i,o.call(arguments,1));return A.filter(n,function(n){return!A.contains(t,n)})},A.zip=function(){for(var n=A.max(A.pluck(arguments,"length").concat(0)),t=new Array(n),r=0;r=0;r--)t=[n[r].apply(this,t)];return t[0]}},A.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},A.keys=x||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)A.has(n,r)&&t.push(r);return t},A.values=function(n){for(var t=A.keys(n),r=t.length,e=new Array(r),i=0;i":">",'"':""","'":"'"}};q.unescape=A.invert(q.escape);var B={escape:new RegExp("["+A.keys(q.escape).join("")+"]","g"),unescape:new RegExp("("+A.keys(q.unescape).join("|")+")","g")};A.each(["escape","unescape"],function(n){A[n]=function(t){return null==t?"":(""+t).replace(B[n],function(t){return q[n][t]})}}),A.result=function(n,t){if(null!=n){var r=n[t];return A.isFunction(r)?r.call(n):r}},A.mixin=function(n){E(A.functions(n),function(t){var r=A[t]=n[t];A.prototype[t]=function(){var n=[this._wrapped];return c.apply(n,arguments),U.call(this,r.apply(A,n))}})};var D=0;A.uniqueId=function(n){var t=++D+"";return n?n+t:t},A.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var P=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},C=/\\|'|\r|\n|\t|\u2028|\u2029/g;A.template=function(n,t,r){var e;r=A.defaults({},r,A.templateSettings);var i=new RegExp([(r.escape||P).source,(r.interpolate||P).source,(r.evaluate||P).source].join("|")+"|$","g"),u=0,a="__p+='";n.replace(i,function(t,r,e,i,c){return a+=n.slice(u,c).replace(C,function(n){return"\\"+z[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),i&&(a+="';\n"+i+"\n__p+='"),u=c+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=new Function(r.variable||"obj","_",a)}catch(n){throw n.source=a,n}if(t)return e(t,A);var c=function(n){return e.call(this,n,A)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},A.chain=function(n){return A(n).chain()};var U=function(n){return this._chain?A(n).chain():n};A.mixin(A),E(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=i[n];A.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],U.call(this,r)}}),E(["concat","join","slice"],function(n){var t=i[n];A.prototype[n]=function(){return U.call(this,t.apply(this._wrapped,arguments))}}),A.extend(A.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)}.call(this),function(){t=n._}.call(this),"undefined"==typeof Package&&(Package={}),function(n,t){for(var r in t)r in n||(n[r]=t[r])}(Package.underscore={},{_:t})}(); !function(){var r=Package.meteor.Meteor,n=Package.meteor.global,e=Package.meteor.meteorEnv,a;(function(){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={},e=0;e255)throw new Error("Not ascii. Base64.encode can only take ascii strings.");r[e]=l}}for(var u=[],i=null,o=null,c=null,f=null,e=0;e>2&63,o=(3&r[e])<<4;break;case 1:o|=r[e]>>4&15,c=(15&r[e])<<2;break;case 2:c|=r[e]>>6&3,f=63&r[e],u.push(t(i)),u.push(t(o)),u.push(t(c)),u.push(t(f)),i=null,o=null,c=null,f=null;break}return null!=i&&(u.push(t(i)),u.push(t(o)),null==c?u.push("="):u.push(t(c)),null==f&&u.push("=")),u.join("")};var t=function(n){return r.charAt(n)},l=function(r){return"="===r?-1:n[r]};a.newBinary=function(r){if("undefined"==typeof Uint8Array||"undefined"==typeof ArrayBuffer){for(var n=[],e=0;e>4,e[o++]=t,u=(15&s)<<4;break;case 2:s>=0&&(u|=s>>2,e[o++]=u,i=(3&s)<<6);break;case 3:s>=0&&(e[o++]=i|s);break}}return e}}).call(this),"undefined"==typeof Package&&(Package={}),function(r,n){for(var e in n)e in r||(r[e]=n[e])}(Package.base64={},{Base64:a})}(); !function(){var n=Package.meteor.Meteor,e=Package.meteor.global,r=Package.meteor.meteorEnv,t,o,i;t=function(n){"use strict";function e(n,e){return o(n)&&(p(A,n,e),i(k)&&k(B)),B}function r(n){this.id=n,this.children=[],this.childrenById={}}function t(n,e){return O.call(n,e)&&n[e]}function o(n){return"object"==typeof n&&null!==n}function i(n){return"function"==typeof n}function u(n){return"string"==typeof n}function c(n){return new Error("Cannot find module '"+n+"'")}function s(n){function e(e){var r=w(n,e);if(r)return l(r,n.module);var t=c(e);if(i(E))return E(e,n.module.id,t);throw t}return i(x)&&(e=x(e,n.module)),e.extensions=h(n).slice(0),e.resolve=function(e){var r=w(n,e);if(r)return r.module.id;var t=c(e);if(E&&i(E.resolve))return E.resolve(e,n.module.id,t);throw t},e}function f(n,e){var t=this;t.parent=e=e||null,t.module=new r(n),q[n]=t,t.contents=null,t.deps={}}function l(n,e){var r=n.module;if(!O.call(r,"exports")){var t=n.contents;if(!t){if(n.stub)return n.stub;throw c(r.id)}if(e){r.parent=e;var o=e.children;Array.isArray(o)&&o.push(r)}i(r.useNode)&&r.useNode()||t(r.require=r.require||s(n),r.exports=n.stub||{},r,n.module.id,n.parent.module.id),r.loaded=!0}var u=r.runSetters||r.runModuleSetters;return i(u)&&u.call(r),r.exports}function a(n){return n&&o(n.contents)}function d(n){return n&&null===n.contents}function p(n,e,r){Array.isArray(e)?(e.forEach(function(r){u(r)?n.deps[r]=n.module.id:i(r)?e=r:o(r)&&(n.stub=n.stub||{},v(r,function(e,r){n.stub[r]=e}))}),i(e)||(e=null)):i(e)||u(e)||o(e)||(e=null),e&&(n.contents=n.contents||(o(e)?{}:e),o(e)&&a(n)&&v(e,function(e,o){if(".."===o)i=n.parent;else{var i=t(n.contents,o);i||((i=n.contents[o]=new f(n.module.id.replace(/\/*$/,"/")+o,n)).options=r)}p(i,e,r)}))}function v(n,e,r){Object.keys(n).forEach(function(r){e.call(this,n[r],r)},r)}function h(n){return n.options&&n.options.extensions||P}function m(n,e,r){for(;n&&!a(n);)n=n.parent;if(!n||!e||"."===e)return n;if(".."===e)return n.parent;var o=t(n.contents,e);if(r&&(!o||a(o)))for(var i=0;i=0&&t.splice(r,1),t}function a(e,t){var r=!1;d.getESModule(e.exports)||(e.namespace.default=e.exports,r=!0),d.isObjectLike(e.exports)&&((void 0===t||t.indexOf("*")>=0)&&(t=Object.keys(e.exports)),t.forEach(function(t){g.call(e.getters,t)||r&&"default"===t||!g.call(e.exports,t)||d.copyKey(t,e.namespace,e.exports)}))}function s(e,t,r,n){function o(t,r){var n=r;return n!==n?n=p:void 0===n&&(n=m),e.last[t]!==n&&(e.last[t]=n,!0)}if("__esModule"!==t){var a=!1;if(void 0===e.last&&(e.last=Object.create(null),a=!0),"*"===t)for(var s=i(r),u=s.length,c=0;c0&&m.constant&&delete u[h]}}}function c(e,t){if("*"===t)return e.namespace;if(g.call(e.namespace,t))return e.namespace[t];var r=e.exports;if("default"===t&&!(d.getESModule(r)&&"default"in r))return r;if(null!=r)return r[t]}function l(){return Math.random().toString(36).replace("0.",++v+"$")}function f(e,t){var r=e.getters[t];try{var n=r();return++r.runCount,n}catch(e){}return h}var d=e("./utils.js"),h={},p={},m={},g=Object.prototype.hasOwnProperty,v=0,_=d.setPrototypeOf(n.prototype,null),b="function"==typeof WeakMap?new WeakMap:new function e(){var t=[],r=[];this.get=function(e){var n=t.indexOf(e);if(n>=0)return r[n]},this.set=function(e,n){var o=t.indexOf(e);o>=0?r[o]=n:(t.push(e),r.push(n))}};n.get=function(e){if(d.isObjectLike(e)){var t=b.get(e);if(void 0!==t)return t}return null},n.getOrCreate=function(e,t){var r=o(e);return d.isObject(t)&&(r.ownerModules[t.id]=t),r},_.addGetters=function(e,t){var r=i(e),n=r.length;t=!!t;for(var o=0;o=0)&&(e=Object.keys(this.getters));for(var t=e.length,r=0;r2&&void 0!==arguments[2]?arguments[2]:null,n=void 0;return"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:r,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,r),e.dispatchEvent(n)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("getDefaultViewport: parameter canvas must not be undefined");if(void 0===t)return{scale:1,translation:{x:0,y:0},voi:{windowWidth:void 0,windowCenter:void 0},invert:!1,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:void 0,voiLUT:void 0,colormap:void 0,labelmap:!1};var r=e.height/t.rows,n=e.width/t.columns;return{scale:Math.min(n,r),translation:{x:0,y:0},voi:{windowWidth:t.windowWidth,windowCenter:t.windowCenter},invert:t.invert,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:t.modalityLUT,voiLUT:t.voiLUT,colormap:t.colormap,labelmap:Boolean(t.labelmap)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(void 0===e)throw new Error("setToPixelCoordinateSystem: parameter enabledElement must not be undefined");if(void 0===t)throw new Error("setToPixelCoordinateSystem: parameter context must not be undefined");var o=(0,n.default)(e,r);t.setTransform(o.m[0],o.m[1],o.m[2],o.m[3],o.m[4],o.m[5])};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(24))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=(0,n.getEnabledElement)(e);if(void 0===r.image&&!r.layers.length)throw new Error("updateImage: image has not been loaded yet");(0,o.default)(r,t)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(6))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.needsRedraw=!0,t&&(e.invalid=!0)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=function(e){return e&&e.__esModule?e:{default:e}}(r(29));t.default={getColormap:n.getColormap,getColormapsList:n.getColormapsList,LookupTable:o.default}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&e.cachedLut.invert===t.invert?e.cachedLut.lutArray:((0,c.default)(e,t.voi.windowWidth,t.voi.windowCenter,t.invert),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.lutArray)}function i(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas;if(255===e.viewport.voi.windowWidth&&128===e.viewport.voi.windowCenter&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===(0,p.default)(e,t)&&!0!==r)return n;n.width===t.width&&n.height===t.height||(0,m.default)(e,t);var i=(0,u.default)(),a=o(t,e.viewport);t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,u.default)()-i;var s=e.renderingTools.renderCanvasData,c=e.renderingTools.renderCanvasContext;return t.rgba?(0,f.default)(t,a,s.data):(0,l.default)(t,a,s.data),i=(0,u.default)(),c.putImageData(s,0,0),t.stats.lastPutImageDataTime=(0,u.default)()-i,n}function a(e,t){if(void 0===e)throw new Error("renderColorImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderColorImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,d.default)(e,n);var o=void 0;o=e.options&&e.options.renderer&&"webgl"===e.options.renderer.toLowerCase()?h.default.renderer.render(e):i(e,r,t),n.drawImage(o,0,0,r.width,r.height,0,0,r.width,r.height),e.renderingTools=(0,g.default)(e)}function s(e,t){if(void 0===e)throw new Error("addColorLayer: layer parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("addColorLayer: image must be loaded before it can be drawn");r.rgba=!0,e.canvas=i(e,r,t);var n=e.canvas.getContext("2d");n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,e.renderingTools=(0,g.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderColorImage=a,t.addColorLayer=s;var u=n(r(1)),c=n(r(45)),l=n(r(21)),f=n(r(46)),d=n(r(4)),h=n(r(15)),p=n(r(13)),m=n(r(11)),g=n(r(12))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(24))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas,o=e.viewport.colormap||e.options.colormap;if(o&&"string"==typeof o&&(o=h.default.getColormap(o)),!o)throw new Error("renderLabelMapImage: colormap not found.");var i=o.getId();if(!1===(0,f.default)(e,t)&&!0!==r&&e.renderingTools.colormapId===i)return n;n.width===t.width&&n.height===t.height||(0,c.default)(e,t);var a=(0,u.default)();e.renderingTools.colorLut&&!r&&e.renderingTools.colormapId===i||(e.renderingTools.colorLut=o.createLookupTable(),e.renderingTools.colormapId=i),t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,u.default)()-a;var s=e.renderingTools.colorLut,l=e.renderingTools.renderCanvasData,p=e.renderingTools.renderCanvasContext;return(0,d.default)(t,s,l.data),a=(0,u.default)(),p.putImageData(l,0,0),t.stats.lastPutImageDataTime=(0,u.default)()-a,n}function i(e,t){if(void 0===e)throw new Error("renderLabelMapImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderLabelMapImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,s.default)(e,n);var i=o(e,r,t),a=r.width,u=r.height;n.drawImage(i,0,0,a,u,0,0,a,u),e.renderingTools=(0,l.default)(e)}function a(e,t){if(void 0===e)throw new Error("addLabelMapLayer: layer parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("addLabelMapLayer: image must be loaded before it can be drawn");e.canvas=o(e,r,t);var n=e.canvas.getContext("2d");n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,e.renderingTools=(0,l.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderLabelMapImage=i,t.addLabelMapLayer=a;var s=n(r(4)),u=n(r(1)),c=n(r(11)),l=n(r(12)),f=n(r(13)),d=n(r(22)),h=n(r(7))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.renderingTools.renderCanvas;r.width=t.width,r.height=t.height;var n=r.getContext("2d");n.fillStyle="white",n.fillRect(0,0,r.width,r.height);var o=n.getImageData(0,0,t.width,t.height);e.renderingTools.renderCanvasContext=n,e.renderingTools.renderCanvasData=o}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.image.imageId,r=e.viewport;return e.renderingTools.lastRenderedImageId=t,e.renderingTools.lastRenderedViewport={windowCenter:r.voi.windowCenter,windowWidth:r.voi.windowWidth,invert:r.invert,rotation:r.rotation,hflip:r.hflip,vflip:r.vflip,modalityLUT:r.modalityLUT,voiLUT:r.voiLUT,colormap:r.colormap},e.renderingTools}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.renderingTools.lastRenderedImageId,n=e.renderingTools.lastRenderedViewport;return t.imageId!==r||!n||n.windowCenter!==e.viewport.voi.windowCenter||n.windowWidth!==e.viewport.voi.windowWidth||n.invert!==e.viewport.invert||n.rotation!==e.viewport.rotation||n.hflip!==e.viewport.hflip||n.vflip!==e.viewport.vflip||n.modalityLUT!==e.viewport.modalityLUT||n.voiLUT!==e.viewport.voiLUT||n.colormap!==e.viewport.colormap}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas,o=e.viewport.colormap||e.options.colormap;if(o&&"string"==typeof o&&(o=p.default.getColormap(o)),!o)throw new Error("renderPseudoColorImage: colormap not found.");var i=o.getId();if(!1===(0,d.default)(e,t)&&!0!==r&&e.renderingTools.colormapId===i)return n;n.width===t.width&&n.height===t.height||(0,c.default)(e,t);var a=(0,u.default)();e.renderingTools.colorLut&&!r&&e.renderingTools.colormapId===i||(o.setNumberOfColors(256),e.renderingTools.colorLut=o.createLookupTable(),e.renderingTools.colormapId=i);var s=(0,l.default)(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,u.default)()-a;var f=e.renderingTools.colorLut,m=e.renderingTools.renderCanvasData,g=e.renderingTools.renderCanvasContext;return(0,h.default)(t,s,f,m.data),a=(0,u.default)(),g.putImageData(m,0,0),t.stats.lastPutImageDataTime=(0,u.default)()-a,n}function i(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,s.default)(e,n);var i=o(e,r,t),a=r.width,u=r.height;n.drawImage(i,0,0,a,u,0,0,a,u),e.renderingTools=(0,f.default)(e)}function a(e,t){if(void 0===e)throw new Error("addPseudoColorLayer: layer parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("addPseudoColorLayer: image must be loaded before it can be drawn");e.canvas=o(e,r,t);var n=e.canvas.getContext("2d");n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,e.renderingTools=(0,f.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderPseudoColorImage=i,t.addPseudoColorLayer=a;var s=n(r(4)),u=n(r(1)),c=n(r(11)),l=n(r(32)),f=n(r(12)),d=n(r(13)),h=n(r(23)),p=n(r(7))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(47),i=n(r(34)),a=n(r(33)),s={createProgramFromString:i.default,renderer:{render:o.render,initRenderer:o.initRenderer,getRenderCanvas:o.getRenderCanvas,isWebGLAvailable:o.isWebGLAvailable},textureCache:a.default};Object.defineProperty(s,"isWebGLInitialized",{enumerable:!0,configurable:!1,get:function(){return o.isWebGLInitialized}}),t.default=s},function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var r=0;r0?this.addEventNamespaceListener(e,t):(e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(t))}},{key:"removeEventListener",value:function(e,t){if(e.indexOf(".")>0)this.removeEventNamespaceListener(e);else if(e in this.listeners)for(var r=this.listeners[e],n=0,o=r.length;n3&&void 0!==arguments[3])||arguments[3];e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var o=e.renderingTools.renderCanvas;if(!1===(0,h.default)(e,t)&&!0!==r)return o;o.width===t.width&&o.height===t.height||(0,p.default)(e,t);var i=(0,l.default)(),a=(0,d.default)(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,l.default)()-i;var c=e.renderingTools.renderCanvasData,f=e.renderingTools.renderCanvasContext;return n?(0,s.default)(t,a,c.data):(0,u.default)(t,a,c.data),i=(0,l.default)(),f.putImageData(c,0,0),t.stats.lastPutImageDataTime=(0,l.default)()-i,o}function i(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,c.default)(e,n);var i=void 0;i=e.options&&e.options.renderer&&"webgl"===e.options.renderer.toLowerCase()?f.default.renderer.render(e):o(e,r,t),n.drawImage(i,0,0,r.width,r.height,0,0,r.width,r.height),e.renderingTools=(0,m.default)(e)}function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===e)throw new Error("addGrayscaleLayer: layer parameter must not be undefined");var n=e.image;if(void 0===n)throw new Error("addGrayscaleLayer: image must be loaded before it can be drawn");e.canvas=o(e,n,t,r);var i=e.canvas.getContext("2d");i.imageSmoothingEnabled=!e.viewport.pixelReplication,i.mozImageSmoothingEnabled=i.imageSmoothingEnabled,e.renderingTools=(0,m.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderGrayscaleImage=i,t.addGrayscaleLayer=a;var s=n(r(20)),u=n(r(30)),c=n(r(4)),l=n(r(1)),f=n(r(15)),d=n(r(32)),h=n(r(13)),p=n(r(11)),m=n(r(12))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,a,s){var u=e.maxPixelValue,c=e.minPixelValue,l=Math.min(c,0);if(void 0===e.cachedLut){var f=u-l+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(f)}var d=e.cachedLut.lutArray,h=(0,o.default)(e.slope,e.intercept,a),p=(0,i.default)(t,r,s);if(!0===n)for(var m=c;m<=u;m++)d[m+-l]=255-p(h(m));else for(var g=c;g<=u;g++)d[g+-l]=p(h(g));return d};var o=n(r(26)),i=n(r(27))},function(e,t,r){"use strict";function n(e){window.setTimeout(e,1e3/60)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return window.requestAnimationFrame(e)||window.webkitRequestAnimationFrame(e)||window.mozRequestAnimationFrame(e)||window.oRequestAnimationFrame(e)||window.msRequestAnimationFrame(e)||n(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var o=(0,n.default)(),i=e.getPixelData();e.stats.lastGetPixelDataTime=(0,n.default)()-o;var a=i.length,s=e.minPixelValue,u=3,c=0;if(o=(0,n.default)(),i instanceof Int16Array)if(s<0)for(;c=n?r:e.lut[o]}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return r?o(r):n(e,t)}},function(e,t,r){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t>t,o=e.lut[e.lut.length-1]>>t,i=e.firstValueMapped+e.lut.length-1;return function(n){return n=i?o:e.lut[n-e.firstValueMapped]>>t}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return r?i(r):o(e,t)}},function(e,t,r){"use strict";function n(e,t,r){for(var n=(t-e)/((r=null===r?100:r)-1),o=[];r-- >0;)o.push(e),e+=n;return o[o.length-1]=t,o}function o(e,t){for(var r=0,n=e.length-1;r<=n;){var o=r+Math.floor((n-r)/2),i=e[o];if(i===t)return o;t=0&&e1)throw new Error("HSVToRGB expects hue < 1");var n=[];if(0===t)return n[0]=r,n[1]=r,n[2]=r,n;var o=Math.floor(6*e),i=6*e-o,a=r*(1-t),s=r*(1-t*i),u=r*(1-t*(1-i));switch(o){case 0:case 6:n[0]=r,n[1]=u,n[2]=a;break;case 1:n[0]=s,n[1]=r,n[2]=a;break;case 2:n[0]=a,n[1]=r,n[2]=u;break;case 3:n[0]=a,n[1]=s,n[2]=r;break;case 4:n[0]=u,n[1]=a,n[2]=r;break;case 5:n[0]=r,n[1]=a,n[2]=s}return n}function i(e,t){var r=void 0;return r=et.Range[1]?t.MaxIndex+u+1.5:(e+t.Shift)*t.Scale,Math.floor(r)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var r=0;r1)||e){this.Table=[];var t=this.NumberOfColors-1,r=void 0,n=void 0,i=void 0,a=void 0;t?(r=(this.HueRange[1]-this.HueRange[0])/t,n=(this.SaturationRange[1]-this.SaturationRange[0])/t,i=(this.ValueRange[1]-this.ValueRange[0])/t,a=(this.AlphaRange[1]-this.AlphaRange[0])/t):r=n=i=a=0;for(var s=0;s<=t;s++){var u=this.HueRange[0]+s*r,c=this.SaturationRange[0]+s*n,l=this.ValueRange[0]+s*i,f=this.AlphaRange[0]+s*a,d=o(u,c,l),h=[];switch(this.Ramp){case"scurve":h[0]=Math.floor(127.5*(1+Math.cos((1-d[0])*Math.PI))),h[1]=Math.floor(127.5*(1+Math.cos((1-d[1])*Math.PI))),h[2]=Math.floor(127.5*(1+Math.cos((1-d[2])*Math.PI))),h[3]=Math.floor(255*f);break;case"linear":h[0]=Math.floor(255*d[0]+.5),h[1]=Math.floor(255*d[1]+.5),h[2]=Math.floor(255*d[2]+.5),h[3]=Math.floor(255*f+.5);break;case"sqrt":h[0]=Math.floor(255*Math.sqrt(d[0])+.5),h[1]=Math.floor(255*Math.sqrt(d[1])+.5),h[2]=Math.floor(255*Math.sqrt(d[2])+.5),h[3]=Math.floor(255*Math.sqrt(f)+.5);break;default:throw new Error("Invalid Ramp value ("+this.Ramp+")")}this.Table.push(h)}this.buildSpecialColors()}}},{key:"buildSpecialColors",value:function(){var e=this.NumberOfColors,t=e+s,r=e+u,n=e+2;this.UseBelowRangeColor||0===e?this.Table[t]=this.BelowRangeColor:this.Table[t]=this.Table[0],this.UseAboveRangeColor||0===e?this.Table[r]=this.AboveRangeColor:this.Table[r]=this.Table[e-1],this.Table[n]=this.NaNColor}},{key:"mapValue",value:function(e){var t=this.getIndex(e);if(t<0)return this.NaNColor;if(0===t){if(this.UseBelowRangeColor&&ethis.TableRange[1])return this.AboveRangeColor;return this.Table[t]}},{key:"getIndex",value:function(e){var t={};if(t.Range=[],t.MaxIndex=this.NumberOfColors-1,t.Shift=-this.TableRange[0],this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var r=i(e,t);return r===this.NumberOfColors+s?r=0:r===this.NumberOfColors+u&&(r=this.NumberOfColors-1),r}},{key:"setTableValue",value:function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index ("+e+")");e>=this.NumberOfColors&&new Error("Index "+e+" is greater than the number of colors "+this.NumberOfColors),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}]),e}();t.default=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var o=(0,n.default)(),i=e.getPixelData();e.stats.lastGetPixelDataTime=(0,n.default)()-o;var a=i.length,s=e.minPixelValue,u=0,c=0,l=void 0;if(o=(0,n.default)(),i instanceof Int16Array)if(s<0)for(;ct.timeStamp?-1:e.timeStampm;){var t=p[p.length-1];g-=t.sizeInBytes,delete h[t.imageId],p.pop(),(0,d.default)(f.default,"cornerstonewebgltextureremoved",{imageId:t.imageId})}var r=o();(0,d.default)(f.default,"cornerstonewebgltexturecachefull",r)}}function a(e){if(void 0===e)throw new Error("setMaximumSizeBytes: parameter numBytes must not be undefined");if(void 0===e.toFixed)throw new Error("setMaximumSizeBytes: parameter numBytes must be a number");m=e,i()}function s(e,t){var r=e.imageId;if(void 0===e)throw new Error("putImageTexture: image must not be undefined");if(void 0===r)throw new Error("putImageTexture: imageId must not be undefined");if(void 0===t)throw new Error("putImageTexture: imageTexture must not be undefined");if(!0===Object.prototype.hasOwnProperty.call(h,r))throw new Error("putImageTexture: imageId already in cache");var n={imageId:r,imageTexture:t,timeStamp:new Date,sizeInBytes:t.sizeInBytes};if(h[r]=n,p.push(n),void 0===t.sizeInBytes)throw new Error("putImageTexture: imageTexture.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putImageTexture: imageTexture.sizeInBytes is not a number");g+=n.sizeInBytes,i()}function u(e){if(void 0===e)throw new Error("getImageTexture: imageId must not be undefined");var t=h[e];if(void 0!==t)return t.timeStamp=new Date,t.imageTexture}function c(e){if(void 0===e)throw new Error("removeImageTexture: imageId must not be undefined");var t=h[e];if(void 0===t)throw new Error("removeImageTexture: imageId must not be undefined");return p.splice(p.indexOf(t),1),g-=t.sizeInBytes,delete h[e],t.imageTexture}function l(){for(;p.length>0;){var e=p.pop();delete h[e.imageId]}g=0}Object.defineProperty(t,"__esModule",{value:!0});var f=n(r(16)),d=n(r(2)),h={},p=[],m=268435456,g=0;t.default={purgeCache:l,getImageTexture:u,putImageTexture:s,removeImageTexture:c,setMaximumSizeBytes:a}},function(e,t,r){"use strict";function n(e,t,r){var n=e.createShader(r);if(e.shaderSource(n,t),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS)&&!e.isContextLost()){var o=e.getShaderInfoLog(n);console.error("Could not compile shader:\n"+o)}return n}function o(e,t,r){var n=e.createProgram();if(e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),!e.getProgramParameter(n,e.LINK_STATUS)&&!e.isContextLost()){var o=e.getProgramInfoLog(n);console.error("WebGL program filed to link:\n"+o)}return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return o(e,n(e,t,e.VERTEX_SHADER),n(e,r,e.FRAGMENT_SHADER))}},function(e,t,r){"use strict";function n(e,t){if(void 0===e)throw new Error("renderWebImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderWebImage: image must be loaded before it can be drawn");if(e.viewport.voi.windowWidth===e.image.windowWidth&&e.viewport.voi.windowCenter===e.image.windowCenter&&!1===e.viewport.invert){var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,o.default)(e,n),n.drawImage(r.getImage(),0,0,r.width,r.height,0,0,r.width,r.height)}else(0,i.renderColorImage)(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderWebImage=n;var o=function(e){return e&&e.__esModule?e:{default:e}}(r(4)),i=r(8)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){t.width!==e.clientWidth&&(t.width=e.clientWidth,t.style.width=e.clientWidth+"px"),t.height!==e.clientHeight&&(t.height=e.clientHeight,t.style.height=e.clientHeight+"px")}function i(e,t,r){var n=e.viewport.scale,o=(0,f.default)(e),i=Math.round(o.width*n),a=Math.round(o.height*n),s=e.viewport.translation.x,u=e.viewport.translation.y;return i===t&&a<=r||i<=t&&a===r&&0===s&&0===u}function a(e,t,r){var n=e.viewport.scale,o=e.canvas.width/t,i=e.canvas.height/r,a=Math.sqrt(o*i);e.viewport.scale=a*n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,s.getEnabledElement)(e),n=r.canvas.width,f=r.canvas.height;o(e,r.canvas);var d={element:e};if((0,l.default)(e,"cornerstoneelementresized",d),void 0!==r.image)return!0===t?void(0,u.default)(e):void(i(r,n,f)?(0,u.default)(e):(a(r,n,f),(0,c.default)(e)))};var s=r(0),u=n(r(37)),c=n(r(5)),l=n(r(2)),f=n(r(38))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,o.getEnabledElement)(e),r=(0,a.default)(t),n=t.canvas.height/r.height,s=t.canvas.width/r.width;t.viewport.scale=Math.min(s,n),t.viewport.translation.x=0,t.viewport.translation.y=0,(0,i.default)(e)};var o=r(0),i=n(r(5)),a=n(r(38))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return 0===e.viewport.rotation||180===e.viewport.rotation?{width:e.image.width,height:e.image.height}:{width:e.image.height,height:e.image.width}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o,i){if(void 0===e)throw new Error("getStoredPixels: parameter element must not be undefined");t=Math.round(t),r=Math.round(r);for(var a=(0,n.getEnabledElement)(e),s=[],u=0,c=a.image.getPixelData(),l=0;lt.timeStamp?-1:e.timeStampm;){var t=_[_.length-1].imageId;u(t),(0,p.default)(h.default,"cornerstoneimagecachepromiseremoved",{imageId:t})}var r=c();(0,p.default)(h.default,"cornerstoneimagecachefull",r)}}function a(e,t){if(void 0===e)throw new Error("putImageLoadObject: imageId must not be undefined");if(void 0===t.promise)throw new Error("putImageLoadObject: imageLoadObject.promise must not be undefined");if(!0===v.hasOwnProperty(e))throw new Error("putImageLoadObject: imageId already in cache");if(t.cancelFn&&"function"!=typeof t.cancelFn)throw new Error("putImageLoadObject: imageLoadObject.cancelFn must be a function");var r={loaded:!1,imageId:e,sharedCacheKey:void 0,imageLoadObject:t,timeStamp:Date.now(),sizeInBytes:0};v[e]=r,_.push(r),t.promise.then(function(e){if(-1!==_.indexOf(r)){if(r.loaded=!0,r.image=e,void 0===e.sizeInBytes)throw new Error("putImageLoadObject: image.sizeInBytes must not be undefined");if(void 0===e.sizeInBytes.toFixed)throw new Error("putImageLoadObject: image.sizeInBytes is not a number");r.sizeInBytes=e.sizeInBytes,g+=r.sizeInBytes;var t={action:"addImage",image:r};(0,p.default)(h.default,"cornerstoneimagecachechanged",t),r.sharedCacheKey=e.sharedCacheKey,i()}},function(){var t=v[e];_.splice(_.indexOf(t),1),delete v[e]})}function s(e){if(void 0===e)throw new Error("getImageLoadObject: imageId must not be undefined");var t=v[e];if(void 0!==t)return t.timeStamp=Date.now(),t.imageLoadObject}function u(e){if(void 0===e)throw new Error("removeImageLoadObject: imageId must not be undefined");var t=v[e];if(void 0===t)throw new Error("removeImageLoadObject: imageId was not present in imageCache");_.splice(_.indexOf(t),1),g-=t.sizeInBytes;var r={action:"deleteImage",image:t};(0,p.default)(h.default,"cornerstoneimagecachechanged",r),l(t.imageLoadObject),delete v[e]}function c(){return{maximumSizeInBytes:m,cacheSizeInBytes:g,numberOfImagesCached:_.length}}function l(e){e.promise.then(function(){e.decache&&e.decache()},function(){e.decache&&e.decache()})}function f(){for(;_.length>0;)u(_[0].imageId)}function d(e,t){var r=v[e];r&&r.imageLoadObject.promise.then(function(e){var n=t-e.sizeInBytes;e.sizeInBytes=t,r.sizeInBytes=t,g+=n;var o={action:"changeImageSize",image:e};(0,p.default)(h.default,"cornerstoneimagecachechanged",o)})}Object.defineProperty(t,"__esModule",{value:!0}),t.cachedImages=void 0,t.setMaximumSizeBytes=o,t.putImageLoadObject=a,t.getImageLoadObject=s,t.removeImageLoadObject=u,t.getCacheInfo=c,t.purgeCache=f,t.changeImageIdCacheSize=d;var h=n(r(16)),p=n(r(2)),m=1073741824,g=0,v={},_=t.cachedImages=[];t.default={imageCache:v,cachedImages:_,setMaximumSizeBytes:o,putImageLoadObject:a,getImageLoadObject:s,removeImageLoadObject:u,getCacheInfo:c,purgeCache:f,changeImageIdCacheSize:d}},function(e,t,r){"use strict";function n(e,t){if(e.color&&!e.falseColor)throw new Error("Color transforms are not implemented yet");var r=e.minPixelValue,n=0,i=0,a=e.width*e.height,s=e.origPixelData||e.getPixelData(),u=new Uint8Array(4*a),c=void 0,l=void 0;if(e.color=!0,e.falseColor=!0,e.origPixelData=s,t instanceof o.default.LookupTable)for(t.build();i=0&&(t="u"+t),e.maxPixelValue>255?t+="16":t+="8",t}function d(e){var t=f(e);return b.shaders.hasOwnProperty(t)?b.shaders[t]:b.shaders.rgb}function h(e){var t={uint8:E.LUMINANCE,int8:E.LUMINANCE_ALPHA,uint16:E.LUMINANCE_ALPHA,int16:E.RGB,rgb:E.RGB},r={int8:1,uint16:2,int16:3,rgb:3},n=f(e),o=t[n],i=E.createTexture();E.bindTexture(E.TEXTURE_2D,i),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,E.NEAREST),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,E.NEAREST),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_S,E.CLAMP_TO_EDGE),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_T,E.CLAMP_TO_EDGE),E.pixelStorei(E.UNPACK_ALIGNMENT,1);var a=b.dataUtilities[n].storedPixelDataToImageData(e,e.width,e.height);return E.texImage2D(E.TEXTURE_2D,0,o,e.width,e.height,0,o,E.UNSIGNED_BYTE,a),{texture:i,sizeInBytes:e.width*e.height*r[n]}}function p(e){var t=j.default.getImageTexture(e.imageId);return t||(t=h(e),j.default.putImageTexture(e,t)),t.texture}function m(){O=E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,O),E.bufferData(E.ARRAY_BUFFER,new Float32Array([1,1,0,1,1,0,0,0]),E.STATIC_DRAW),P=E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,P),E.bufferData(E.ARRAY_BUFFER,new Float32Array([1,1,0,1,1,0,0,0]),E.STATIC_DRAW)}function g(e,t,r,n,o){E.clearColor(1,0,0,1),E.viewport(0,0,n,o),E.clear(E.COLOR_BUFFER_BIT|E.DEPTH_BUFFER_BIT),E.useProgram(e.program),E.bindBuffer(E.ARRAY_BUFFER,P),E.vertexAttribPointer(e.attributes.texCoordLocation,2,E.FLOAT,!1,0,0),E.bindBuffer(E.ARRAY_BUFFER,O),E.vertexAttribPointer(e.attributes.positionLocation,2,E.FLOAT,!1,0,0);for(var i in t){var a=E.getUniformLocation(e.program,i);if(a){var u=t[i],c=u.type,l=u.value;"i"===c?E.uniform1i(a,l):"f"===c?E.uniform1f(a,l):"2f"===c&&E.uniform2f(a,l[0],l[1])}}s(E,n,o),E.activeTexture(E.TEXTURE0),E.bindTexture(E.TEXTURE_2D,r),E.drawArrays(E.TRIANGLE_STRIP,0,4)}function v(e){var t=e.image;x.width=t.width,x.height=t.height;var r=e.viewport,n=d(t),o=p(t);return g(n,{u_resolution:{type:"2f",value:[t.width,t.height]},wc:{type:"f",value:r.voi.windowCenter},ww:{type:"f",value:r.voi.windowWidth},slope:{type:"f",value:t.slope},intercept:{type:"f",value:t.intercept},minPixelValue:{type:"f",value:t.minPixelValue},invert:{type:"i",value:r.invert?1:0}},o,t.width,t.height),x}function _(){var e={failIfMajorPerformanceCaveat:!0};try{var t=document.createElement("canvas");return Boolean(window.WebGLRenderingContext)&&(t.getContext("webgl",e)||t.getContext("experimental-webgl",e))}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.isWebGLInitialized=void 0,t.getRenderCanvas=o,t.initRenderer=a,t.render=v,t.isWebGLAvailable=_;var b=r(48),y=r(54),j=n(r(33)),w=n(r(34)),x=document.createElement("canvas"),E=void 0,P=void 0,O=void 0,S=!1;t.isWebGLInitialized=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dataUtilities=t.shaders=void 0;var n=r(49),o=r(50),i=r(51),a=r(52),s=r(53),u={int16:n.int16Shader,int8:o.int8Shader,rgb:i.rgbShader,uint16:a.uint16Shader,uint8:s.uint8Shader},c={int16:n.int16DataUtilities,int8:o.int8DataUtilities,rgb:i.rgbDataUtilities,uint16:a.uint16DataUtilities,uint8:s.uint8DataUtilities};t.shaders=u,t.dataUtilities=c},function(e,t,r){"use strict";function n(e){for(var t=e.getPixelData(),r=new Uint8Array(e.width*e.height*3),n=0,o=0;o>8,r[n++]=t[o]<0?0:1}return r}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.int16DataUtilities={storedPixelDataToImageData:n},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.g*65536.0;if (color.b == 0.0)intensity = -intensity;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.int16Shader=o},function(e,t,r){"use strict";function n(e){for(var t=e.getPixelData(),r=new Uint8Array(e.width*e.height*2),n=0,o=0;o>8}return r}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.uint16DataUtilities={storedPixelDataToImageData:n},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.a*65536.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.uint16Shader=o},function(e,t,r){"use strict";function n(e){return e.getPixelData()}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.uint8DataUtilities={storedPixelDataToImageData:n},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.uint8Shader=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.vertexShader="attribute vec2 a_position;attribute vec2 a_texCoord;uniform vec2 u_resolution;varying vec2 v_texCoord;void main() {vec2 zeroToOne = a_position / u_resolution;vec2 zeroToTwo = zeroToOne * 2.0;vec2 clipSpace = zeroToTwo - 1.0;gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);v_texCoord = a_texCoord;}"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,n.getEnabledElement)(e),i=(0,o.default)(r);return i.invert(),i.transformPoint(t.x,t.y)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(9))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(void 0===e)throw new Error("disable: element must not be undefined");for(var t=(0,n.getEnabledElements)(),r=0;r0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){function r(e){if(void 0!==n.canvas){var t={enabledElement:n,timestamp:e};(0,l.default)(n.element,"cornerstoneprerender",t),n.needsRedraw&&o(n)&&(0,s.default)(n,n.invalid),(0,u.default)(r)}}if(void 0===e)throw new Error("enable: parameter element cannot be undefined");t&&t.renderer&&"webgl"===t.renderer.toLowerCase()&&(c.default.renderer.isWebGLAvailable()?(c.default.renderer.initRenderer(),t.renderer="webgl"):(console.error("WebGL not available, falling back to Canvas renderer"),delete t.renderer));var n={element:e,canvas:(0,f.default)(e),image:void 0,invalid:!1,needsRedraw:!0,options:t,layers:[],data:{},renderingTools:{}};(0,i.addEnabledElement)(n),(0,a.default)(e,!0),r()};var i=r(0),a=n(r(36)),s=n(r(62)),u=n(r(19)),c=n(r(15)),l=n(r(2)),f=n(r(64))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.image,n=e.element,f=e.layers||[];if(e.canvas&&(e.image||f.length)){var d=(0,o.default)();if(r.stats={lastGetPixelDataTime:-1,lastStoredPixelDataToCanvasImageDataTime:-1,lastPutImageDataTime:-1,lastRenderTime:-1,lastLutGenerateTime:-1},f&&f.length)(0,i.default)(e,t);else if(r){var h=r.render;h||(h=e.viewport.colormap&&""!==e.viewport.colormap&&!0===e.image.labelmap?c.renderLabelMapImage:e.viewport.colormap&&""!==e.viewport.colormap?u.renderPseudoColorImage:r.color?a.renderColorImage:s.renderGrayscaleImage),h(e,t)}var p=(0,o.default)()-d,m={viewport:e.viewport,element:n,image:r,enabledElement:e,canvasContext:e.canvas.getContext("2d"),renderTimeInMs:p};r.stats.lastRenderTime=p,e.invalid=!1,e.needsRedraw=!1,(0,l.default)(n,"cornerstoneimagerendered",m)}};var o=n(r(1)),i=n(r(63)),a=r(8),s=r(17),u=r(14),c=r(10),l=n(r(2))},function(e,t,r){"use strict";function n(e,t){return d[t]/d[e]}function o(e,t){e.forEach(function(e){if(e!==t&&e.viewport&&t.viewport){d[e.layerId]||(d[e.layerId]=e.viewport.scale);var r=n(t.layerId,e.layerId);e.viewport.scale=t.viewport.scale*r,e.viewport.rotation=t.viewport.rotation,e.viewport.translation={x:t.viewport.translation.x/r,y:t.viewport.translation.y/r},e.viewport.hflip=t.viewport.hflip,e.viewport.vflip=t.viewport.vflip}})}function i(e,t,r){t.forEach(function(t,n){if(t.image){e.save(),t.canvas=e.canvas,(0,f.default)(t,e);var o=t.viewport.colormap||t.options.colormap,i=t.viewport.labelmap,a=t.invalid||r;if(o&&""!==o&&!0===i)(0,l.addLabelMapLayer)(t,a);else if(o&&""!==o)(0,c.addPseudoColorLayer)(t,a);else if(!0===t.image.color)(0,u.addColorLayer)(t,a);else{var d=0===n;(0,s.addGrayscaleLayer)(t,a,d)}t.options&&t.options.opacity?e.globalAlpha=t.options.opacity:e.globalAlpha=1,t.options&&t.options.fillStyle&&(e.fillStyle=t.options.fillStyle),e.imageSmoothingEnabled=!t.viewport.pixelReplication,e.mozImageSmoothingEnabled=e.imageSmoothingEnabled;var h=t.image,p=h.width,m=h.height;e.drawImage(t.canvas,0,0,p,m,0,0,p,m),e.restore(),t.invalid=!1}})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.element,n=(0,a.getLayers)(r),s=(0,a.getActiveLayer)(r),u=(0,a.getVisibleLayers)(r),c=!e.lastSyncViewportsState&&e.syncViewports;e.lastSyncViewportsState=e.syncViewports,c&&n.forEach(function(e){e.viewport&&(d[e.layerId]=e.viewport.scale)}),!0===e.syncViewports&&o(u,s);var l=e.canvas.getContext("2d");l.setTransform(1,0,0,1,0,0),l.fillStyle="black",l.fillRect(0,0,e.canvas.width,e.canvas.height),i(l,u,t)};var a=r(25),s=r(17),u=r(8),c=r(14),l=r(10),f=function(e){return e&&e.__esModule?e:{default:e}}(r(4)),d={}},function(e,t,r){"use strict";function n(e){var t=document.createElement("canvas");return t.style.display="block",t.classList.add(i),e.appendChild(t),t}function o(e){var t="canvas."+i;return e.querySelector(t)||n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i="cornerstone-canvas"},function(e,t,r){"use strict";function n(e,t){var r=(0,i.getEnabledElement)(e);return!1===r.data.hasOwnProperty(t)&&(r.data[t]={}),r.data[t]}function o(e,t){delete(0,i.getEnabledElement)(e).data[t]}Object.defineProperty(t,"__esModule",{value:!0}),t.getElementData=n,t.removeElementData=o;var i=r(0)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,n.getEnabledElement)(e);return(0,o.default)(r.canvas,t)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(3))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.getEnabledElement)(e).image};var n=r(0)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,s){var u=(0,i.default)(e,t,r,n,s),c=(0,o.getEnabledElement)(e),l=(0,a.default)(c.image.slope,c.image.intercept,c.viewport.modalityLUT);return u.map(l)};var o=r(0),i=n(r(39)),a=n(r(26))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,n.getEnabledElement)(e).viewport;if(void 0!==t)return Object.assign({},t)};var n=r(0)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r=e.indexOf(":"),n=e.substring(0,r),o=d[n];if(void 0===o||null===o){if(void 0!==h)return h(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}var i=o(e,t);return i.promise.then(function(e){(0,f.default)(l.default,"cornerstoneimageloaded",{image:e})},function(t){var r={imageId:e,error:t};(0,f.default)(l.default,"cornerstoneimageloadfailed",r)}),i}function i(e,t){if(void 0===e)throw new Error("loadImage: parameter imageId must not be undefined");var r=(0,c.getImageLoadObject)(e);return void 0!==r?r.promise:o(e,t).promise}function a(e,t){if(void 0===e)throw new Error("loadAndCacheImage: parameter imageId must not be undefined");var r=(0,c.getImageLoadObject)(e);return void 0!==r?r.promise:(r=o(e,t),(0,c.putImageLoadObject)(e,r),r.promise)}function s(e,t){d[e]=t}function u(e){var t=h;return h=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=i,t.loadAndCacheImage=a,t.registerImageLoader=s,t.registerUnknownImageLoader=u;var c=r(40),l=n(r(16)),f=n(r(2)),d={},h=void 0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,n.getEnabledElement)(e);t.invalid=!0,t.needsRedraw=!0;var r={element:e};(0,o.default)(e,"cornerstoneinvalidated",r)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(2))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,n.getEnabledElementsByImageId)(e).forEach(function(e){(0,o.default)(e,!0)})};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(6))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var i=(0,n.getEnabledElement)(e);if(void 0===i.image)throw new Error("image has not been loaded yet");var a=e.getBoundingClientRect(),s={x:t-a.left-window.pageXOffset,y:r-a.top-window.pageYOffset},u=(0,o.default)(i);return u.invert(),u.transformPoint(s.x,s.y)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(9))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,n.getEnabledElement)(e);return(0,o.default)(r).transformPoint(t.x,t.y)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(9))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,o.getEnabledElement)(e);t.viewport=(0,i.default)(t.canvas,t.image),(0,a.default)(e)};var o=r(0),i=n(r(3)),a=n(r(5))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,i.getEnabledElement)(e);if(void 0===r.viewport&&(r.viewport=(0,o.default)(r.canvas)),t)for(var n in t)null!==t[n]&&(r.viewport[n]=t[n]);r.viewport.voi.windowWidth&&(r.viewport.voi.windowWidth=Math.max(t.voi.windowWidth,s)),r.viewport.scale&&(r.viewport.scale=Math.max(t.scale,u)),r.viewport.rotation%=360,r.viewport.rotation<0&&(r.viewport.rotation+=360),r.image&&(0,a.default)(e)};var o=n(r(3)),i=r(0),a=n(r(5)),s=1e-6,u=1e-4},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(8),o=r(17),i=r(35),a=r(14),s=r(10);t.default={colorImage:n.renderColorImage,grayscaleImage:o.renderGrayscaleImage,webImage:i.renderWebImage,pseudoColorImage:a.renderPseudoColorImage,labelMapImage:s.renderLabelMapImage}},function(e,t,r){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=void 0;for(r=0;ro?r:o;return{minPixelValue:t,maxPixelValue:r}}function o(e){if(e.restore)return e.restore;var t=e.color,r=e.rgba,n=e.cachedLut,o=e.slope,i=e.windowWidth,a=e.windowCenter,s=e.minPixelValue,u=e.maxPixelValue;return function(){if(e.color=t,e.rgba=r,e.cachedLut=n,e.slope=o,e.windowWidth=i,e.windowCenter=a,e.minPixelValue=s,e.maxPixelValue=u,e.origPixelData){var c=e.origPixelData;e.getPixelData=function(){return c}}e.origPixelData=void 0,e.colormapId=void 0,e.falseColor=void 0}}function i(e){return e&&"string"==typeof e&&(e=(0,f.getColormap)(e)),e}function a(e){return!(!e.restore||"function"!=typeof e.restore||(e.restore(),0))}function s(e,t){if(e.color&&!e.falseColor)throw new Error("Color transforms are not implemented yet");var r=(t=i(t)).getId();if(e.colormapId===r)return!1;if(a(e),r){var s=e.minPixelValue||0,u=e.maxPixelValue||255;e.restore=o(e);var c=t.createLookupTable();c.setTableRange(s,u),(0,l.default)(e,c);var f=n(e.getPixelData());e.minPixelValue=f.minPixelValue,e.maxPixelValue=f.maxPixelValue,e.windowWidth=255,e.windowCenter=128,e.colormapId=r}return!0}function u(e,t){return s((0,c.getEnabledElement)(e).image,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.restoreImage=t.convertToFalseColorImage=t.convertImageToFalseColorImage=void 0;var c=r(0),l=function(e){return e&&e.__esModule?e:{default:e}}(r(41)),f=r(28);t.convertImageToFalseColorImage=s,t.convertToFalseColorImage=u,t.restoreImage=a}])})}}},"babel-runtime":{regenerator:{"index.js":function(e,t,r){r.exports=e("regenerator-runtime")}},helpers:{"typeof.js":function(e,t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var n=r(e("../core-js/symbol/iterator")),o=r(e("../core-js/symbol")),i="function"==typeof o.default&&"symbol"==typeof n.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};t.default="function"==typeof o.default&&"symbol"===i(n.default)?function(e){return void 0===e?"undefined":i(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":i(e)}},"toConsumableArray.js":function(e,t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var n=r(e("../core-js/array/from"));t.default=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t=0,i=o&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,r.exports=e("./runtime"),o)n.regeneratorRuntime=i;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}},"runtime.js":function(e,t,r){!function(e){"use strict";function t(e,t,r,n){var i=t&&t.prototype instanceof o?t:o,a=Object.create(i.prototype),s=new h(n||[]);return a._invoke=c(e,r,s),a}function n(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function o(){}function i(){}function a(){}function s(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(e){function t(r,o,i,a){var s=n(e[r],e,o);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&v.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,i,a)},function(e){t("throw",e,i,a)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},a)}a(s.arg)}function r(e,r){function n(){return new Promise(function(n,o){t(e,r,n,o)})}return o=o?o.then(n,n):n()}var o;this._invoke=r}function c(e,t,r){var o=P;return function i(a,s){if(o===S)throw new Error("Generator is already running");if(o===I){if("throw"===a)throw s;return m()}for(r.method=a,r.arg=s;;){var u=r.delegate;if(u){var c=l(u,r);if(c){if(c===T)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===P)throw o=I,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=S;var f=n(e,t,r);if("normal"===f.type){if(o=r.done?I:O,f.arg===T)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=I,r.method="throw",r.arg=f.arg)}}}function l(e,t){var r=e.iterator[t.method];if(r===_){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=_,l(e,t),"throw"===t.method))return T;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return T}var o=n(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,T;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=_),t.delegate=null,T):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,T)}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function d(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function p(e){if(e){var t=e[y];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var o=this.tryEntries[n],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=v.call(o,"catchLoc"),s=v.call(o,"finallyLoc");if(a&&s){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&v.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),d(r),T}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;d(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:p(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=_),T}}}}(function(){return this}()||Function("return this")())}},"core-js":{modules:{"es6.symbol.js":function(e){"use strict";var t=e("./_global"),r=e("./_has"),n=e("./_descriptors"),o=e("./_export"),i=e("./_redefine"),a=e("./_meta").KEY,s=e("./_fails"),u=e("./_shared"),c=e("./_set-to-string-tag"),l=e("./_uid"),f=e("./_wks"),d=e("./_wks-ext"),h=e("./_wks-define"),p=e("./_enum-keys"),m=e("./_is-array"),g=e("./_an-object"),v=e("./_is-object"),_=e("./_to-iobject"),b=e("./_to-primitive"),y=e("./_property-desc"),j=e("./_object-create"),w=e("./_object-gopn-ext"),x=e("./_object-gopd"),E=e("./_object-dp"),P=e("./_object-keys"),O=x.f,S=E.f,I=w.f,T=t.Symbol,M=t.JSON,C=M&&M.stringify,L="prototype",k=f("_hidden"),A=f("toPrimitive"),R={}.propertyIsEnumerable,D=u("symbol-registry"),F=u("symbols"),N=u("op-symbols"),U=Object[L],V="function"==typeof T,W=t.QObject,B=!W||!W[L]||!W[L].findChild,z=n&&s(function(){return 7!=j(S({},"a",{get:function(){return S(this,"a",{value:7}).a}})).a})?function(e,t,r){var n=O(U,t);n&&delete U[t],S(e,t,r),n&&e!==U&&S(U,t,n)}:S,G=function(e){var t=F[e]=j(T[L]);return t._k=e,t},q=V&&"symbol"==typeof T.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof T},H=function e(t,n,o){return t===U&&H(N,n,o),g(t),n=b(n,!0),g(o),r(F,n)?(o.enumerable?(r(t,k)&&t[k][n]&&(t[k][n]=!1),o=j(o,{enumerable:y(0,!1)})):(r(t,k)||S(t,k,y(1,{})),t[k][n]=!0),z(t,n,o)):S(t,n,o)},Y=function e(t,r){g(t);for(var n=p(r=_(r)),o=0,i=n.length,a;i>o;)H(t,a=n[o++],r[a]);return t},X=function e(t,r){return void 0===r?j(t):Y(j(t),r)},K=function e(t){var n=R.call(this,t=b(t,!0));return!(this===U&&r(F,t)&&!r(N,t))&&(!(n||!r(this,t)||!r(F,t)||r(this,k)&&this[k][t])||n)},J=function e(t,n){if(t=_(t),n=b(n,!0),t!==U||!r(F,n)||r(N,n)){var o=O(t,n);return!o||!r(F,n)||r(t,k)&&t[k][n]||(o.enumerable=!0),o}},$=function e(t){for(var n=I(_(t)),o=[],i=0,s;n.length>i;)r(F,s=n[i++])||s==k||s==a||o.push(s);return o},Q=function e(t){for(var n=t===U,o=I(n?N:_(t)),i=[],a=0,s;o.length>a;)!r(F,s=o[a++])||n&&!r(U,s)||i.push(F[s]);return i};V||(i((T=function e(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var t=l(arguments.length>0?arguments[0]:void 0),o=function(e){this===U&&o.call(N,e),r(this,k)&&r(this[k],t)&&(this[k][t]=!1),z(this,t,y(1,e))};return n&&B&&z(U,t,{configurable:!0,set:o}),G(t)})[L],"toString",function e(){return this._k}),x.f=J,E.f=H,e("./_object-gopn").f=w.f=$,e("./_object-pie").f=K,e("./_object-gops").f=Q,n&&!e("./_library")&&i(U,"propertyIsEnumerable",K,!0),d.f=function(e){return G(f(e))}),o(o.G+o.W+o.F*!V,{Symbol:T});for(var Z="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ee=0;Z.length>ee;)f(Z[ee++]);for(var te=P(f.store),re=0;te.length>re;)h(te[re++]);o(o.S+o.F*!V,"Symbol",{for:function(e){return r(D,e+="")?D[e]:D[e]=T(e)},keyFor:function e(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var r in D)if(D[r]===t)return r},useSetter:function(){B=!0},useSimple:function(){B=!1}}),o(o.S+o.F*!V,"Object",{create:X,defineProperty:H,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),M&&o(o.S+o.F*(!V||s(function(){var e=T();return"[null]"!=C([e])||"{}"!=C({a:e})||"{}"!=C(Object(e))})),"JSON",{stringify:function e(t){for(var r=[t],n=1,o,i;arguments.length>n;)r.push(arguments[n++]);if(i=o=r[1],(v(o)||void 0!==t)&&!q(t))return m(o)||(o=function(e,t){if("function"==typeof i&&(t=i.call(this,e,t)),!q(t))return t}),r[1]=o,C.apply(M,r)}}),T[L][A]||e("./_hide")(T[L],A,T[L].valueOf),c(T,"Symbol"),c(Math,"Math",!0),c(t.JSON,"JSON",!0)},"_global.js":function(e,t,r){var n=r.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"_has.js":function(e,t,r){var n={}.hasOwnProperty;r.exports=function(e,t){return n.call(e,t)}},"_descriptors.js":function(e,t,r){r.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"_fails.js":function(e,t,r){r.exports=function(e){try{return!!e()}catch(e){return!0}}},"_export.js":function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_hide"),a=e("./_redefine"),s=e("./_ctx"),u="prototype",c=function(e,t,r){var l=e&c.F,f=e&c.G,d=e&c.S,h=e&c.P,p=e&c.B,m=f?n:d?n[t]||(n[t]={}):(n[t]||{})[u],g=f?o:o[t]||(o[t]={}),v=g[u]||(g[u]={}),_,b,y,j;f&&(r=t);for(_ in r)y=((b=!l&&m&&void 0!==m[_])?m:r)[_],j=p&&b?s(y,n):h&&"function"==typeof y?s(Function.call,y):y,m&&a(m,_,y,e&c.U),g[_]!=y&&i(g,_,j),h&&v[_]!=y&&(v[_]=y)};n.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,r.exports=c},"_core.js":function(e,t,r){var n=r.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},"_hide.js":function(e,t,r){var n=e("./_object-dp"),o=e("./_property-desc");r.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},"_object-dp.js":function(e,t){var r=e("./_an-object"),n=e("./_ie8-dom-define"),o=e("./_to-primitive"),i=Object.defineProperty;t.f=e("./_descriptors")?Object.defineProperty:function e(t,a,s){if(r(t),a=o(a,!0),r(s),n)try{return i(t,a,s)}catch(e){}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(t[a]=s.value),t}},"_an-object.js":function(e,t,r){var n=e("./_is-object");r.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},"_is-object.js":function(e,t,r){r.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"_ie8-dom-define.js":function(e,t,r){r.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},"_dom-create.js":function(e,t,r){var n=e("./_is-object"),o=e("./_global").document,i=n(o)&&n(o.createElement);r.exports=function(e){return i?o.createElement(e):{}}},"_to-primitive.js":function(e,t,r){var n=e("./_is-object");r.exports=function(e,t){if(!n(e))return e;var r,o;if(t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;if("function"==typeof(r=e.valueOf)&&!n(o=r.call(e)))return o;if(!t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},"_property-desc.js":function(e,t,r){r.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"_redefine.js":function(e,t,r){var n=e("./_global"),o=e("./_hide"),i=e("./_has"),a=e("./_uid")("src"),s="toString",u=Function[s],c=(""+u).split(s);e("./_core").inspectSource=function(e){return u.call(e)},(r.exports=function(e,t,r,s){var u="function"==typeof r;u&&(i(r,"name")||o(r,"name",t)),e[t]!==r&&(u&&(i(r,a)||o(r,a,e[t]?""+e[t]:c.join(String(t)))),e===n?e[t]=r:s?e[t]?e[t]=r:o(e,t,r):(delete e[t],o(e,t,r)))})(Function.prototype,s,function e(){return"function"==typeof this&&this[a]||u.call(this)})},"_uid.js":function(e,t,r){var n=0,o=Math.random();r.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+o).toString(36))}},"_ctx.js":function(e,t,r){var n=e("./_a-function");r.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},"_a-function.js":function(e,t,r){r.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"_meta.js":function(e,t,r){var n=e("./_uid")("meta"),o=e("./_is-object"),i=e("./_has"),a=e("./_object-dp").f,s=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,n,{value:{i:"O"+ ++s,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[n].i},d=function(e,t){if(!i(e,n)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[n].w},h=function(e){return c&&p.NEED&&u(e)&&!i(e,n)&&l(e),e},p=r.exports={KEY:n,NEED:!1,fastKey:f,getWeak:d,onFreeze:h}},"_shared.js":function(e,t,r){var n=e("./_global"),o="__core-js_shared__",i=n[o]||(n[o]={});r.exports=function(e){return i[e]||(i[e]={})}},"_set-to-string-tag.js":function(e,t,r){var n=e("./_object-dp").f,o=e("./_has"),i=e("./_wks")("toStringTag");r.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,i)&&n(e,i,{configurable:!0,value:t})}},"_wks.js":function(e,t,r){var n=e("./_shared")("wks"),o=e("./_uid"),i=e("./_global").Symbol,a="function"==typeof i;(r.exports=function(e){return n[e]||(n[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=n},"_wks-ext.js":function(e,t){t.f=e("./_wks")},"_wks-define.js":function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_library"),a=e("./_wks-ext"),s=e("./_object-dp").f;r.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},"_library.js":function(e,t,r){r.exports=!1},"_enum-keys.js":function(e,t,r){var n=e("./_object-keys"),o=e("./_object-gops"),i=e("./_object-pie");r.exports=function(e){var t=n(e),r=o.f;if(r)for(var a=r(e),s=i.f,u=0,c;a.length>u;)s.call(e,c=a[u++])&&t.push(c);return t}},"_object-keys.js":function(e,t,r){var n=e("./_object-keys-internal"),o=e("./_enum-bug-keys");r.exports=Object.keys||function e(t){return n(t,o)}},"_object-keys-internal.js":function(e,t,r){var n=e("./_has"),o=e("./_to-iobject"),i=e("./_array-includes")(!1),a=e("./_shared-key")("IE_PROTO");r.exports=function(e,t){var r=o(e),s=0,u=[],c;for(c in r)c!=a&&n(r,c)&&u.push(c);for(;t.length>s;)n(r,c=t[s++])&&(~i(u,c)||u.push(c));return u}},"_to-iobject.js":function(e,t,r){var n=e("./_iobject"),o=e("./_defined");r.exports=function(e){return n(o(e))}},"_iobject.js":function(e,t,r){var n=e("./_cof");r.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},"_cof.js":function(e,t,r){var n={}.toString;r.exports=function(e){return n.call(e).slice(8,-1)}},"_defined.js":function(e,t,r){r.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"_array-includes.js":function(e,t,r){var n=e("./_to-iobject"),o=e("./_to-length"),i=e("./_to-absolute-index");r.exports=function(e){return function(t,r,a){var s=n(t),u=o(s.length),c=i(a,u),l;if(e&&r!=r){for(;u>c;)if((l=s[c++])!=l)return!0}else for(;u>c;c++)if((e||c in s)&&s[c]===r)return e||c||0;return!e&&-1}}},"_to-length.js":function(e,t,r){var n=e("./_to-integer"),o=Math.min;r.exports=function(e){return e>0?o(n(e),9007199254740991):0}},"_to-integer.js":function(e,t,r){var n=Math.ceil,o=Math.floor;r.exports=function(e){return isNaN(e=+e)?0:(e>0?o:n)(e)}},"_to-absolute-index.js":function(e,t,r){var n=e("./_to-integer"),o=Math.max,i=Math.min;r.exports=function(e,t){return(e=n(e))<0?o(e+t,0):i(e,t)}},"_shared-key.js":function(e,t,r){var n=e("./_shared")("keys"),o=e("./_uid");r.exports=function(e){return n[e]||(n[e]=o(e))}},"_enum-bug-keys.js":function(e,t,r){r.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"_object-gops.js":function(e,t){t.f=Object.getOwnPropertySymbols},"_object-pie.js":function(e,t){t.f={}.propertyIsEnumerable},"_is-array.js":function(e,t,r){var n=e("./_cof");r.exports=Array.isArray||function e(t){return"Array"==n(t)}},"_object-create.js":function(e,t,r){var n=e("./_an-object"),o=e("./_object-dps"),i=e("./_enum-bug-keys"),a=e("./_shared-key")("IE_PROTO"),s=function(){},u="prototype",c=function(){var t=e("./_dom-create")("iframe"),r=i.length,n="<",o=">",a;for(t.style.display="none",e("./_html").appendChild(t),t.src="javascript:",(a=t.contentWindow.document).open(),a.write("