diff --git a/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js b/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js index 64daa09f9bd..9ae95db03c4 100644 --- a/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js +++ b/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js @@ -49,11 +49,10 @@ define(function() { return /******/ (function(modules) { // webpackBootstrap initialize: function( options ) { var dataset = options.dataset, settings = options.chart.settings, - url = window.location.protocol + '//' + window.location.host + "/datasets/" + dataset.dataset_id + - "/display?to_ext=" + dataset.extension, stage = new ngl.Stage( options.targets[ 0 ], { backgroundColor: settings.get( 'backcolor' ) } ); + Utils.get( { - url : url, + url : dataset.download_url, cache : true, success : function( response ) { var viewer_options = {}, @@ -70,7 +69,7 @@ define(function() { return /******/ (function(modules) { // webpackBootstrap color: settings.get( 'colorscheme' ), opacity: settings.get( 'opacity' ) }; - stage.loadFile( url, {ext: dataset.extension, name: dataset.name, defaultRepresentation: true} ).then( function( o ) { + stage.loadFile( dataset.download_url, {ext: dataset.extension, name: dataset.name, defaultRepresentation: true} ).then( function( o ) { o.addRepresentation( viewer_options.mode, representation_parameters ); o.centerView(); } ); diff --git a/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js.map b/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js.map index d7af81c8417..6312d94d06e 100644 --- a/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js.map +++ b/config/plugins/visualizations/charts/static/repository/build/ngl_viewer.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap a24085c274412deb58b1","webpack:///./static/repository/visualizations/ngl/viewer/wrapper.js","webpack:///./static/repository/utilities/utils.js","webpack:///./static/repository/plugins/ngl/viewer.js","webpack:///(webpack)/~/node-libs-browser/~/timers-browserify/main.js","webpack:///(webpack)/~/node-libs-browser/~/process/browser.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;iECtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,+CAA+C;AAC7G;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,wEAAwE;AAClH;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,6CAA4C,8BAA8B;AAC1E;AACA,MAAK;AACL,EAAC;;;;;;;AC9CD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA,yBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc,SAAS;AACvB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;AACA;AACA;AACA;AAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,iBAAiB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA,G;;;;;;;AC3EA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU","file":"ngl_viewer.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a24085c274412deb58b1","define( [ 'utilities/utils', \"plugins/ngl/viewer\" ], function( Utils, ngl ) {\n return Backbone.Model.extend({\n initialize: function( options ) {\n var dataset = options.dataset,\n settings = options.chart.settings,\n url = window.location.protocol + '//' + window.location.host + \"/datasets/\" + dataset.dataset_id +\n \"/display?to_ext=\" + dataset.extension,\n stage = new ngl.Stage( options.targets[ 0 ], { backgroundColor: settings.get( 'backcolor' ) } );\n Utils.get( {\n url : url,\n cache : true,\n success : function( response ) {\n var viewer_options = {},\n representation_parameters = {};\n _.each( settings.attributes, function( value, key ) {\n if ( key.startsWith( 'viewer|' ) ) {\n viewer_options[ key.replace( 'viewer|', '' ) ] = value;\n }\n } );\n representation_parameters = { \n radius: settings.get( 'radius' ),\n scale: settings.get( 'scale' ),\n assembly: settings.get( 'assembly' ),\n color: settings.get( 'colorscheme' ),\n opacity: settings.get( 'opacity' )\n };\n stage.loadFile( url, {ext: dataset.extension, name: dataset.name, defaultRepresentation: true} ).then( function( o ) {\n o.addRepresentation( viewer_options.mode, representation_parameters );\n o.centerView();\n } );\n stage.setQuality( settings.get( 'quality' ) );\n if( settings.get( 'spin' ) === true || settings.get( 'spin' ) === 'true' ) {\n stage.setSpin( [ 0, 1, 0 ], 0.01 );\n }\n options.chart.state( 'ok', 'Chart drawn.' );\n options.process.resolve();\n },\n error : function() {\n options.chart.state( 'ok', 'Failed to load pdb file.' );\n options.process.resolve();\n }\n });\n // Re-renders the molecule view when window is resized\n $( window ).resize( function() { stage.viewer.handleResize() } );\n }\n });\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/ngl/viewer/wrapper.js\n// module id = 0\n// module chunks = 0","/** Useful helper functions */\ndefine( [], function() {\n\n /** Clone */\n function clone( obj ) {\n return JSON.parse( JSON.stringify( obj ) || null );\n };\n\n /**\n * Check if a string is a json string\n * @param{String} text - Content to be validated\n */\n function isJSON(text) {\n return /^[\\],:{}\\s]*$/.test(text.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@').\n replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').\n replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''));\n };\n\n /**\n * Request handler for GET\n * @param{String} url - Url request is made to\n * @param{Function} success - Callback on success\n * @param{Function} error - Callback on error\n * @param{Boolean} cache - Use cached data if available\n */\n function get (options) {\n top.__utils__get__ = top.__utils__get__ || {};\n var cache_key = JSON.stringify( options );\n if (options.cache && top.__utils__get__[cache_key]) {\n options.success && options.success(top.__utils__get__[cache_key]);\n window.console.debug('utils.js::get() - Fetching from cache [' + options.url + '].');\n } else {\n request({\n url : options.url,\n data : options.data,\n success : function(response) {\n top.__utils__get__[cache_key] = response;\n options.success && options.success(response);\n },\n error : function(response) {\n options.error && options.error(response);\n }\n });\n }\n };\n\n /**\n * Request handler\n * @param{String} method - Request method ['GET', 'POST', 'DELETE', 'PUT']\n * @param{String} url - Url request is made to\n * @param{Object} data - Data send to url\n * @param{Function} success - Callback on success\n * @param{Function} error - Callback on error\n */\n function request (options) {\n var ajaxConfig = {\n contentType : 'application/json',\n type : options.type || 'GET',\n data : options.data || {},\n url : options.url\n }\n if ( ajaxConfig.type == 'GET' || ajaxConfig.type == 'DELETE' ) {\n if ( !$.isEmptyObject(ajaxConfig.data) ) {\n ajaxConfig.url += ajaxConfig.url.indexOf('?') == -1 ? '?' : '&';\n ajaxConfig.url += $.param(ajaxConfig.data, true);\n }\n ajaxConfig.data = null;\n } else {\n ajaxConfig.dataType = 'json';\n ajaxConfig.url = ajaxConfig.url;\n ajaxConfig.data = JSON.stringify( ajaxConfig.data );\n }\n $.ajax( ajaxConfig ).done( function( response ) {\n if ( typeof response === 'string' && isJSON( response ) ) {\n try {\n response = response.replace( 'Infinity,', '\"Infinity\",' );\n response = jQuery.parseJSON( response );\n } catch ( e ) {\n console.debug( e );\n }\n }\n options.success && options.success( response );\n }).fail( function( response ) {\n var response_text = null;\n try {\n response_text = jQuery.parseJSON( response.responseText );\n } catch (e) {\n response_text = response.responseText;\n }\n options.error && options.error( response_text, response );\n }).always( function() {\n options.complete && options.complete();\n });\n };\n\n /**\n * Safely merge to dictionaries\n * @param{Object} options - Target dictionary\n * @param{Object} optionsDefault - Source dictionary\n */\n function merge (options, optionsDefault) {\n if (options) {\n return _.defaults(options, optionsDefault);\n } else {\n return optionsDefault;\n }\n };\n\n /** Create a unique id */\n function uid(){\n top.__utils__uid__ = top.__utils__uid__ || 0;\n return 'uid-' + top.__utils__uid__++;\n };\n\n return {\n get : get,\n merge : merge,\n uid : uid,\n request : request,\n clone : clone,\n isJSON : isJSON\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/utilities/utils.js\n// module id = 1\n// module chunks = 0","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e(t.NGL=t.NGL||{})}(this,function(t){\"use strict\";function e(){}function i(t,e){return function(){t.apply(e,arguments)}}function n(t){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof t)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(t,this)}function r(t,e){for(;3===t._state;)t=t._value;return 0===t._state?void t._deferreds.push(e):(t._handled=!0,void mh(function(){var i=1===t._state?e.onFulfilled:e.onRejected;if(null===i)return void(1===t._state?o:a)(e.promise,t._value);var n;try{n=i(t._value)}catch(t){return void a(e.promise,t)}o(e.promise,n)}))}function o(t,e){try{if(e===t)throw new TypeError(\"A promise cannot be resolved with itself.\");if(e&&(\"object\"==typeof e||\"function\"==typeof e)){var r=e.then;if(e instanceof n)return t._state=3,t._value=e,void s(t);if(\"function\"==typeof r)return void u(i(r,e),t)}t._state=1,t._value=e,s(t)}catch(e){a(t,e)}}function a(t,e){t._state=2,t._value=e,s(t)}function s(t){2===t._state&&0===t._deferreds.length&&mh(function(){t._handled||gh(t._value)});for(var e=0,i=t._deferreds.length;e1?c.pop().toLowerCase():\"\",h=e.match(/^(.+):\\/\\/(.+)$/);h&&(n=h[1].toLowerCase(),e=h[2]);var l=e.substring(0,e.lastIndexOf(\"/\")+1);if(r.includes(u)){i=u;var d=e.length-u.length-1;u=e.substr(0,d).split(\".\").pop().toLowerCase();var f=s.length-u.length-1;s=s.substr(0,f)}else i=!1;return{path:e,name:a,ext:u,base:s,dir:l,compressed:i,protocol:n,src:t}}function b(t,e,i){var n,r,o,a=null,s=0;i||(i={});var c=function(){s=i.leading===!1?0:Date.now(),a=null,o=t.apply(n,r),a||(n=r=null)};return function(){var u=Date.now();s||i.leading!==!1||(s=u);var h=e-(u-s);return n=this,r=arguments,h<=0||h>e?(a&&(clearTimeout(a),a=null),s=u,o=t.apply(n,r),a||(n=r=null)):a||i.trailing===!1||(a=setTimeout(c,h)),o}}function x(t){return t.sort().filter(function(t,e,i){return 0===e||t!==i[e-1]})}function w(t){var e=28672;if(t.length>e){for(var i=[],n=0;n0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}function D(t,e,i,n){this._x=t||0,this._y=e||0,this._z=i||0,this._w=void 0!==n?n:1}function N(t,e,i){this.x=t||0,this.y=e||0,this.z=i||0}function k(t,e){function i(){var t=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),e=new Uint16Array([0,1,2,0,2,3]);o=l.createBuffer(),a=l.createBuffer(),l.bindBuffer(l.ARRAY_BUFFER,o),l.bufferData(l.ARRAY_BUFFER,t,l.STATIC_DRAW),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,a),l.bufferData(l.ELEMENT_ARRAY_BUFFER,e,l.STATIC_DRAW),s=n(),c={position:l.getAttribLocation(s,\"position\"),uv:l.getAttribLocation(s,\"uv\")},u={uvOffset:l.getUniformLocation(s,\"uvOffset\"),uvScale:l.getUniformLocation(s,\"uvScale\"),rotation:l.getUniformLocation(s,\"rotation\"),scale:l.getUniformLocation(s,\"scale\"),color:l.getUniformLocation(s,\"color\"),map:l.getUniformLocation(s,\"map\"),opacity:l.getUniformLocation(s,\"opacity\"),modelViewMatrix:l.getUniformLocation(s,\"modelViewMatrix\"),projectionMatrix:l.getUniformLocation(s,\"projectionMatrix\"),fogType:l.getUniformLocation(s,\"fogType\"),fogDensity:l.getUniformLocation(s,\"fogDensity\"),fogNear:l.getUniformLocation(s,\"fogNear\"),fogFar:l.getUniformLocation(s,\"fogFar\"),fogColor:l.getUniformLocation(s,\"fogColor\"),alphaTest:l.getUniformLocation(s,\"alphaTest\")};var i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");i.width=8,i.height=8;var r=i.getContext(\"2d\");r.fillStyle=\"white\",r.fillRect(0,0,8,8),h=new L(i),h.needsUpdate=!0}function n(){var e=l.createProgram(),i=l.createShader(l.VERTEX_SHADER),n=l.createShader(l.FRAGMENT_SHADER);return l.shaderSource(i,[\"precision \"+t.getPrecision()+\" float;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform float rotation;\",\"uniform vec2 scale;\",\"uniform vec2 uvOffset;\",\"uniform vec2 uvScale;\",\"attribute vec2 position;\",\"attribute vec2 uv;\",\"varying vec2 vUV;\",\"void main() {\",\"vUV = uvOffset + uv * uvScale;\",\"vec2 alignedPosition = position * scale;\",\"vec2 rotatedPosition;\",\"rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\",\"rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\",\"vec4 finalPosition;\",\"finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\",\"finalPosition.xy += rotatedPosition;\",\"finalPosition = projectionMatrix * finalPosition;\",\"gl_Position = finalPosition;\",\"}\"].join(\"\\n\")),l.shaderSource(n,[\"precision \"+t.getPrecision()+\" float;\",\"uniform vec3 color;\",\"uniform sampler2D map;\",\"uniform float opacity;\",\"uniform int fogType;\",\"uniform vec3 fogColor;\",\"uniform float fogDensity;\",\"uniform float fogNear;\",\"uniform float fogFar;\",\"uniform float alphaTest;\",\"varying vec2 vUV;\",\"void main() {\",\"vec4 texture = texture2D( map, vUV );\",\"if ( texture.a < alphaTest ) discard;\",\"gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\",\"if ( fogType > 0 ) {\",\"float depth = gl_FragCoord.z / gl_FragCoord.w;\",\"float fogFactor = 0.0;\",\"if ( fogType == 1 ) {\",\"fogFactor = smoothstep( fogNear, fogFar, depth );\",\"} else {\",\"const float LOG2 = 1.442695;\",\"fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\",\"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\",\"}\",\"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\",\"}\",\"}\"].join(\"\\n\")),l.compileShader(i),l.compileShader(n),l.attachShader(e,i),l.attachShader(e,n),l.linkProgram(e),e}function r(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:e.id-t.id}var o,a,s,c,u,h,l=t.context,d=t.state,f=new N,p=new D,m=new N;this.render=function(n,g){if(0!==e.length){void 0===s&&i(),l.useProgram(s),d.initAttributes(),d.enableAttribute(c.position),d.enableAttribute(c.uv),d.disableUnusedAttributes(),d.disable(l.CULL_FACE),d.enable(l.BLEND),l.bindBuffer(l.ARRAY_BUFFER,o),l.vertexAttribPointer(c.position,2,l.FLOAT,!1,16,0),l.vertexAttribPointer(c.uv,2,l.FLOAT,!1,16,8),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,a),l.uniformMatrix4fv(u.projectionMatrix,!1,g.projectionMatrix.elements),d.activeTexture(l.TEXTURE0),l.uniform1i(u.map,0);var v=0,y=0,b=n.fog;b?(l.uniform3f(u.fogColor,b.color.r,b.color.g,b.color.b),b&&b.isFog?(l.uniform1f(u.fogNear,b.near),l.uniform1f(u.fogFar,b.far),l.uniform1i(u.fogType,1),v=1,y=1):b&&b.isFogExp2&&(l.uniform1f(u.fogDensity,b.density),l.uniform1i(u.fogType,2),v=2,y=2)):(l.uniform1i(u.fogType,0),v=0,y=0);for(var x=0,w=e.length;x.001&&E.scale>.001&&(w.x=E.x,w.y=E.y,w.z=E.z,b=E.size*E.scale/p.w,x.x=b*g,x.y=b,d.uniform3f(u.screenPosition,w.x,w.y,w.z),d.uniform2f(u.scale,x.x,x.y),d.uniform1f(u.rotation,E.rotation),d.uniform1f(u.opacity,E.opacity),d.uniform3f(u.color,E.color.r,E.color.g,E.color.b),f.setBlending(E.blending,E.blendEquation,E.blendSrc,E.blendDst),t.setTexture2D(E.texture,1),d.drawElements(d.TRIANGLES,6,d.UNSIGNED_SHORT,0))}}}f.enable(d.CULL_FACE),f.enable(d.DEPTH_TEST),f.setDepthWrite(!0),t.resetGLState()}}}function B(t,e,i,n,r,o,a,s,c,u){t=void 0!==t?t:[],e=void 0!==e?e:yl,L.call(this,t,e,i,n,r,o,a,s,c,u),this.flipY=!1}function U(){this.seq=[],this.map={}}function j(t,e,i){var n=t[0];if(n<=0||n>0)return t;var r=e*i,o=Od[r];if(void 0===o&&(o=new Float32Array(r),Od[r]=o),0!==e){n.toArray(o,0);for(var a=1,s=0;a!==e;++a)s+=i,t[a].toArray(o,s)}return o}function $(t,e){var i=Dd[e];void 0===i&&(i=new Int32Array(e),Dd[e]=i);for(var n=0;n!==e;++n)i[n]=t.allocTextureUnit();return i}function V(t,e){t.uniform1f(this.addr,e)}function G(t,e){t.uniform1i(this.addr,e)}function H(t,e){void 0===e.x?t.uniform2fv(this.addr,e):t.uniform2f(this.addr,e.x,e.y)}function W(t,e){void 0!==e.x?t.uniform3f(this.addr,e.x,e.y,e.z):void 0!==e.r?t.uniform3f(this.addr,e.r,e.g,e.b):t.uniform3fv(this.addr,e)}function X(t,e){void 0===e.x?t.uniform4fv(this.addr,e):t.uniform4f(this.addr,e.x,e.y,e.z,e.w)}function q(t,e){t.uniformMatrix2fv(this.addr,!1,e.elements||e)}function Y(t,e){t.uniformMatrix3fv(this.addr,!1,e.elements||e)}function Z(t,e){t.uniformMatrix4fv(this.addr,!1,e.elements||e)}function K(t,e,i){var n=i.allocTextureUnit();t.uniform1i(this.addr,n),i.setTexture2D(e||Ld,n)}function Q(t,e,i){var n=i.allocTextureUnit();t.uniform1i(this.addr,n),i.setTextureCube(e||Rd,n)}function J(t,e){t.uniform2iv(this.addr,e)}function tt(t,e){t.uniform3iv(this.addr,e)}function et(t,e){t.uniform4iv(this.addr,e)}function it(t){switch(t){case 5126:return V;case 35664:return H;case 35665:return W;case 35666:return X;case 35674:return q;case 35675:return Y;case 35676:return Z;case 35678:return K;case 35680:return Q;case 5124:case 35670:return G;case 35667:case 35671:return J;case 35668:case 35672:return tt;case 35669:case 35673:return et}}function nt(t,e){t.uniform1fv(this.addr,e)}function rt(t,e){t.uniform1iv(this.addr,e)}function ot(t,e){t.uniform2fv(this.addr,j(e,this.size,2))}function at(t,e){t.uniform3fv(this.addr,j(e,this.size,3))}function st(t,e){t.uniform4fv(this.addr,j(e,this.size,4))}function ct(t,e){t.uniformMatrix2fv(this.addr,!1,j(e,this.size,4))}function ut(t,e){t.uniformMatrix3fv(this.addr,!1,j(e,this.size,9))}function ht(t,e){t.uniformMatrix4fv(this.addr,!1,j(e,this.size,16))}function lt(t,e,i){var n=e.length,r=$(i,n);t.uniform1iv(this.addr,r);for(var o=0;o!==n;++o)i.setTexture2D(e[o]||Ld,r[o])}function dt(t,e,i){var n=e.length,r=$(i,n);t.uniform1iv(this.addr,r);for(var o=0;o!==n;++o)i.setTextureCube(e[o]||Rd,r[o])}function ft(t){switch(t){case 5126:return nt;case 35664:return ot;case 35665:return at;case 35666:return st;case 35674:return ct;case 35675:return ut;case 35676:return ht;case 35678:return lt;case 35680:return dt;case 5124:case 35670:return rt;case 35667:case 35671:return J;case 35668:case 35672:return tt;case 35669:case 35673:return et}}function pt(t,e,i){this.id=t,this.addr=i,this.setValue=it(e.type)}function mt(t,e,i){this.id=t,this.addr=i,this.size=e.size,this.setValue=ft(e.type)}function gt(t){this.id=t,U.call(this)}function vt(t,e){t.seq.push(e),t.map[e.id]=e}function yt(t,e,i){var n=t.name,r=n.length;for(Nd.lastIndex=0;;){var o=Nd.exec(n),a=Nd.lastIndex,s=o[1],c=\"]\"===o[2],u=o[3];if(c&&(s=0|s),void 0===u||\"[\"===u&&a+2===r){vt(i,void 0===u?new pt(s,t,e):new mt(s,t,e));break}var h=i.map,l=h[s];void 0===l&&(l=new gt(s),vt(i,l)),i=l}}function bt(t,e,i){U.call(this),this.renderer=i;for(var n=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),r=0;r!==n;++r){var o=t.getActiveUniform(e,r),a=o.name,s=t.getUniformLocation(e,a);yt(o,s,this)}}function xt(t,e,i,n,r,o,a){function s(t,e){if(t.width>e||t.height>e){var i=e/Math.max(t.width,t.height),n=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");n.width=Math.floor(t.width*i),n.height=Math.floor(t.height*i);var r=n.getContext(\"2d\");return r.drawImage(t,0,0,t.width,t.height,0,0,n.width,n.height),console.warn(\"THREE.WebGLRenderer: image is too big (\"+t.width+\"x\"+t.height+\"). Resized to \"+n.width+\"x\"+n.height,t),n}return t}function c(t){return Ed.isPowerOfTwo(t.width)&&Ed.isPowerOfTwo(t.height)}function u(t){if(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement){var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=Ed.nearestPowerOfTwo(t.width),e.height=Ed.nearestPowerOfTwo(t.height);var i=e.getContext(\"2d\");return i.drawImage(t,0,0,e.width,e.height),console.warn(\"THREE.WebGLRenderer: image is not power of two (\"+t.width+\"x\"+t.height+\"). Resized to \"+e.width+\"x\"+e.height,t),e}return t}function h(t){return t.wrapS!==Pl||t.wrapT!==Pl||t.minFilter!==Tl&&t.minFilter!==Ll}function l(e){return e===Tl||e===El||e===Il?t.NEAREST:t.LINEAR}function d(t){var e=t.target;e.removeEventListener(\"dispose\",d),p(e),C.textures--}function f(t){var e=t.target;e.removeEventListener(\"dispose\",f),m(e),C.textures--}function p(e){var i=n.get(e);if(e.image&&i.__image__webglTextureCube)t.deleteTexture(i.__image__webglTextureCube);else{if(void 0===i.__webglInit)return;t.deleteTexture(i.__webglTexture)}n.delete(e)}function m(e){var i=n.get(e),r=n.get(e.texture);if(e){if(void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture),e.depthTexture&&e.depthTexture.dispose(),e&&e.isWebGLRenderTargetCube)for(var o=0;o<6;o++)t.deleteFramebuffer(i.__webglFramebuffer[o]),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer[o]);else t.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer);n.delete(e.texture),n.delete(e)}}function g(e,r){var o=n.get(e);if(e.version>0&&o.__version!==e.version){var a=e.image;if(void 0===a)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\",e);else{if(a.complete!==!1)return void x(o,e,r);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\",e)}}i.activeTexture(t.TEXTURE0+r),i.bindTexture(t.TEXTURE_2D,o.__webglTexture)}function v(e,a){var u=n.get(e);if(6===e.image.length)if(e.version>0&&u.__version!==e.version){u.__image__webglTextureCube||(e.addEventListener(\"dispose\",d),u.__image__webglTextureCube=t.createTexture(),C.textures++),i.activeTexture(t.TEXTURE0+a),i.bindTexture(t.TEXTURE_CUBE_MAP,u.__image__webglTextureCube),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e.flipY);for(var h=e&&e.isCompressedTexture,l=e.image[0]&&e.image[0].isDataTexture,f=[],p=0;p<6;p++)h||l?f[p]=l?e.image[p].image:e.image[p]:f[p]=s(e.image[p],r.maxCubemapSize);var m=f[0],g=c(m),v=o(e.format),y=o(e.type);b(t.TEXTURE_CUBE_MAP,e,g);for(var p=0;p<6;p++)if(h)for(var x,w=f[p].mipmaps,_=0,S=w.length;_-1?i.compressedTexImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,_,v,x.width,x.height,0,x.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,_,v,x.width,x.height,0,v,y,x.data);else l?i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,f[p].width,f[p].height,0,v,y,f[p].data):i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,v,y,f[p]);e.generateMipmaps&&g&&t.generateMipmap(t.TEXTURE_CUBE_MAP),u.__version=e.version,e.onUpdate&&e.onUpdate(e)}else i.activeTexture(t.TEXTURE0+a),i.bindTexture(t.TEXTURE_CUBE_MAP,u.__image__webglTextureCube)}function y(e,r){i.activeTexture(t.TEXTURE0+r),i.bindTexture(t.TEXTURE_CUBE_MAP,n.get(e).__webglTexture)}function b(i,a,s){var c;if(s?(t.texParameteri(i,t.TEXTURE_WRAP_S,o(a.wrapS)),t.texParameteri(i,t.TEXTURE_WRAP_T,o(a.wrapT)),t.texParameteri(i,t.TEXTURE_MAG_FILTER,o(a.magFilter)),t.texParameteri(i,t.TEXTURE_MIN_FILTER,o(a.minFilter))):(t.texParameteri(i,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(i,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),a.wrapS===Pl&&a.wrapT===Pl||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\",a),t.texParameteri(i,t.TEXTURE_MAG_FILTER,l(a.magFilter)),t.texParameteri(i,t.TEXTURE_MIN_FILTER,l(a.minFilter)),a.minFilter!==Tl&&a.minFilter!==Ll&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\",a)),c=e.get(\"EXT_texture_filter_anisotropic\")){if(a.type===Ul&&null===e.get(\"OES_texture_float_linear\"))return;if(a.type===jl&&null===e.get(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||n.get(a).__currentAnisotropy)&&(t.texParameterf(i,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,r.getMaxAnisotropy())),n.get(a).__currentAnisotropy=a.anisotropy)}}function x(e,n,a){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener(\"dispose\",d),e.__webglTexture=t.createTexture(),C.textures++),i.activeTexture(t.TEXTURE0+a),i.bindTexture(t.TEXTURE_2D,e.__webglTexture),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,n.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,n.unpackAlignment);var l=s(n.image,r.maxTextureSize);h(n)&&c(l)===!1&&(l=u(l));var f=c(l),p=o(n.format),m=o(n.type);b(t.TEXTURE_2D,n,f);var g,v=n.mipmaps;if(n&&n.isDepthTexture){var y=t.DEPTH_COMPONENT;if(n.type===Ul){if(!T)throw new Error(\"Float Depth Texture only supported in WebGL2.0\");y=t.DEPTH_COMPONENT32F}else T&&(y=t.DEPTH_COMPONENT16);n.format===Ql&&(y=t.DEPTH_STENCIL),i.texImage2D(t.TEXTURE_2D,0,y,l.width,l.height,0,p,m,null)}else if(n&&n.isDataTexture)if(v.length>0&&f){for(var x=0,w=v.length;x-1?i.compressedTexImage2D(t.TEXTURE_2D,x,p,g.width,g.height,0,g.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):i.texImage2D(t.TEXTURE_2D,x,p,g.width,g.height,0,p,m,g.data);else if(v.length>0&&f){for(var x=0,w=v.length;x0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}function Rt(t,e){this.normal=void 0!==t?t:new N(1,0,0),this.constant=void 0!==e?e:0}function Ot(t,e,i,n,r,o){this.planes=[void 0!==t?t:new Rt,void 0!==e?e:new Rt,void 0!==i?i:new Rt,void 0!==n?n:new Rt,void 0!==r?r:new Rt,void 0!==o?o:new Rt]}function Dt(t,e,i,n){function r(e,i,n,r){var o=e.geometry,a=null,s=b,c=e.customDepthMaterial;if(n&&(s=x,c=e.customDistanceMaterial),c)a=c;else{var u=!1;i.morphTargets&&(o&&o.isBufferGeometry?u=o.morphAttributes&&o.morphAttributes.position&&o.morphAttributes.position.length>0:o&&o.isGeometry&&(u=o.morphTargets&&o.morphTargets.length>0));var h=e.isSkinnedMesh&&i.skinning,l=0;u&&(l|=g),h&&(l|=v),a=s[l]}if(t.localClippingEnabled&&i.clipShadows===!0&&0!==i.clippingPlanes.length){var d=a.uuid,f=i.uuid,p=w[d];void 0===p&&(p={},w[d]=p);var m=p[f];void 0===m&&(m=a.clone(),p[f]=m),a=m}a.visible=i.visible,a.wireframe=i.wireframe;var y=i.side;return k.renderSingleSided&&y==Ch&&(y=Mh),k.renderReverseSided&&(y===Mh?y=Ph:y===Ph&&(y=Mh)),a.side=y,a.clipShadows=i.clipShadows,a.clippingPlanes=i.clippingPlanes,a.wireframeLinewidth=i.wireframeLinewidth,a.linewidth=i.linewidth,n&&void 0!==a.uniforms.lightPos&&a.uniforms.lightPos.value.copy(r),a}function o(t,e,i){if(t.visible!==!1){var n=0!==(t.layers.mask&e.layers.mask);if(n&&(t.isMesh||t.isLine||t.isPoints)&&t.castShadow&&(t.frustumCulled===!1||c.intersectsObject(t)===!0)){var r=t.material;r.visible===!0&&(t.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,t.matrixWorld),m.push(t))}for(var a=t.children,s=0,u=a.length;s\");return Xt(i)}var i=/#include +<([\\w\\d.]+)>/g;return t.replace(i,e)}function qt(t){function e(t,e,i,n){for(var r=\"\",o=parseInt(e);o0?t.gammaFactor:1,g=$t(o,n,t.extensions),v=Vt(a),y=r.createProgram();i.isRawShaderMaterial?(f=[v,\"\\n\"].filter(Ht).join(\"\\n\"),p=[g,v,\"\\n\"].filter(Ht).join(\"\\n\")):(f=[\"precision \"+n.precision+\" float;\",\"precision \"+n.precision+\" int;\",\"#define SHADER_NAME \"+i.__webglShader.name,v,n.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define GAMMA_FACTOR \"+m,\"#define MAX_BONES \"+n.maxBones,n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+l:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.displacementMap&&n.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.useVertexTexture?\"#define BONE_TEXTURE\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&n.flatShading===!1?\"#define USE_MORPHNORMALS\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+n.numClippingPlanes,n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+u:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&t.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_COLOR\",\" attribute vec3 color;\",\"#endif\",\"#ifdef USE_MORPHTARGETS\",\" attribute vec3 morphTarget0;\",\" attribute vec3 morphTarget1;\",\" attribute vec3 morphTarget2;\",\" attribute vec3 morphTarget3;\",\" #ifdef USE_MORPHNORMALS\",\" attribute vec3 morphNormal0;\",\" attribute vec3 morphNormal1;\",\" attribute vec3 morphNormal2;\",\" attribute vec3 morphNormal3;\",\" #else\",\" attribute vec3 morphTarget4;\",\" attribute vec3 morphTarget5;\",\" attribute vec3 morphTarget6;\",\" attribute vec3 morphTarget7;\",\" #endif\",\"#endif\",\"#ifdef USE_SKINNING\",\" attribute vec4 skinIndex;\",\" attribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(Ht).join(\"\\n\"),p=[g,\"precision \"+n.precision+\" float;\",\"precision \"+n.precision+\" int;\",\"#define SHADER_NAME \"+i.__webglShader.name,v,n.alphaTest?\"#define ALPHATEST \"+n.alphaTest:\"\",\"#define GAMMA_FACTOR \"+m,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+h:\"\",n.envMap?\"#define \"+l:\"\",n.envMap?\"#define \"+d:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+n.numClippingPlanes,n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+u:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&t.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",n.envMap&&t.extensions.get(\"EXT_shader_texture_lod\")?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",n.toneMapping!==dl?\"#define TONE_MAPPING\":\"\",n.toneMapping!==dl?kp.tonemapping_pars_fragment:\"\",n.toneMapping!==dl?jt(\"toneMapping\",n.toneMapping):\"\",n.outputEncoding||n.mapEncoding||n.envMapEncoding||n.emissiveMapEncoding?kp.encodings_pars_fragment:\"\",n.mapEncoding?Bt(\"mapTexelToLinear\",n.mapEncoding):\"\",n.envMapEncoding?Bt(\"envMapTexelToLinear\",n.envMapEncoding):\"\",n.emissiveMapEncoding?Bt(\"emissiveMapTexelToLinear\",n.emissiveMapEncoding):\"\",n.outputEncoding?Ut(\"linearToOutputTexel\",n.outputEncoding):\"\",n.depthPacking?\"#define DEPTH_PACKING \"+i.depthPacking:\"\",\"\\n\"].filter(Ht).join(\"\\n\")),s=Xt(s,n),s=Wt(s,n),c=Xt(c,n),c=Wt(c,n),i.isShaderMaterial||(s=qt(s),c=qt(c));var b=f+s,x=p+c,w=kt(r,r.VERTEX_SHADER,b),_=kt(r,r.FRAGMENT_SHADER,x);r.attachShader(y,w),r.attachShader(y,_),void 0!==i.index0AttributeName?r.bindAttribLocation(y,0,i.index0AttributeName):n.morphTargets===!0&&r.bindAttribLocation(y,0,\"position\"),r.linkProgram(y);var S=r.getProgramInfoLog(y),A=r.getShaderInfoLog(w),M=r.getShaderInfoLog(_),P=!0,C=!0;r.getProgramParameter(y,r.LINK_STATUS)===!1?(P=!1,console.error(\"THREE.WebGLProgram: shader error: \",r.getError(),\"gl.VALIDATE_STATUS\",r.getProgramParameter(y,r.VALIDATE_STATUS),\"gl.getProgramInfoLog\",S,A,M)):\"\"!==S?console.warn(\"THREE.WebGLProgram: gl.getProgramInfoLog()\",S):\"\"!==A&&\"\"!==M||(C=!1),C&&(this.diagnostics={runnable:P,material:i,programLog:S,vertexShader:{log:A,prefix:f},fragmentShader:{log:M,prefix:p}}),r.deleteShader(w),r.deleteShader(_);var T;this.getUniforms=function(){return void 0===T&&(T=new bt(r,y,t)),T};var E;return this.getAttributes=function(){return void 0===E&&(E=Gt(r,y)),E},this.destroy=function(){r.deleteProgram(y),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn(\"THREE.WebGLProgram: .uniforms is now .getUniforms().\"),this.getUniforms()}},attributes:{get:function(){return console.warn(\"THREE.WebGLProgram: .attributes is now .getAttributes().\"),this.getAttributes()}}}),this.id=Up++,this.code=e,this.usedTimes=1,this.program=y,this.vertexShader=w,this.fragmentShader=_,this}function Zt(t,e){function i(t){if(e.floatVertexTextures&&t&&t.skeleton&&t.skeleton.useVertexTexture)return 1024;var i=e.maxVertexUniforms,n=Math.floor((i-20)/4),r=n;return void 0!==t&&t&&t.isSkinnedMesh&&(r=Math.min(t.skeleton.bones.length,r),r0,shadowMapType:t.shadowMap.type,toneMapping:t.toneMapping,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:r.side===Ch,flipSided:r.side===Ph,depthPacking:void 0!==r.depthPacking&&r.depthPacking};return p},this.getProgramCode=function(t,e){var i=[];if(e.shaderID?i.push(e.shaderID):(i.push(t.fragmentShader),i.push(t.vertexShader)),void 0!==t.defines)for(var n in t.defines)i.push(n),i.push(t.defines[n]);for(var r=0;r65535?Uint32Array:Uint16Array,y=new Kt(new v(o),1);return r(y,t.ELEMENT_ARRAY_BUFFER),n.wireframe=y,y}function u(t,e,i){if(e>i){var n=e;e=i,i=n}var r=t[e];return void 0===r?(t[e]=[i],!0):r.indexOf(i)===-1&&(r.push(i),!0)}var h=new he(t,e,i);return{getAttributeBuffer:s,getWireframeAttribute:c,update:n}}function de(){var t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];var i;switch(e.type){case\"DirectionalLight\":i={direction:new N,color:new Ct,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new I};break;case\"SpotLight\":i={position:new N,direction:new N,color:new Ct,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new I};break;case\"PointLight\":i={position:new N,color:new Ct,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new I};break;case\"HemisphereLight\":i={direction:new N,skyColor:new Ct,groundColor:new Ct}}return t[e.id]=i,i}}}function fe(t,e,i){function n(){if(void 0!==o)return o;var i=e.get(\"EXT_texture_filter_anisotropic\");return o=null!==i?t.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function r(e){if(\"highp\"===e){if(t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return\"highp\";e=\"mediump\"}return\"mediump\"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}var o,a=void 0!==i.precision?i.precision:\"highp\",s=r(a);s!==a&&(console.warn(\"THREE.WebGLRenderer:\",a,\"not supported, using\",s,\"instead.\"),a=s);var c=i.logarithmicDepthBuffer===!0&&!!e.get(\"EXT_frag_depth\"),u=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),h=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=t.getParameter(t.MAX_TEXTURE_SIZE),d=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),f=t.getParameter(t.MAX_VERTEX_ATTRIBS),p=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),m=t.getParameter(t.MAX_VARYING_VECTORS),g=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=h>0,y=!!e.get(\"OES_texture_float\"),b=v&&y;return{getMaxAnisotropy:n,getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:h,maxTextureSize:l,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:b}}function pe(t){var e={};return{get:function(i){if(void 0!==e[i])return e[i];var n;switch(i){case\"WEBGL_depth_texture\":n=t.getExtension(\"WEBGL_depth_texture\")||t.getExtension(\"MOZ_WEBGL_depth_texture\")||t.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":n=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":n=t.getExtension(\"WEBGL_compressed_texture_s3tc\")||t.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":n=t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;case\"WEBGL_compressed_texture_etc1\":n=t.getExtension(\"WEBGL_compressed_texture_etc1\");break;default:n=t.getExtension(i)}return null===n&&console.warn(\"THREE.WebGLRenderer: \"+i+\" extension not supported.\"),e[i]=n,n}}}function me(t,e,i){function n(t){s=t}function r(i){i.array instanceof Uint32Array&&e.get(\"OES_element_index_uint\")?(c=t.UNSIGNED_INT,u=4):(c=t.UNSIGNED_SHORT,u=2)}function o(e,n){t.drawElements(s,n,c,e*u),i.calls++,i.vertices+=n,s===t.TRIANGLES&&(i.faces+=n/3)}function a(n,r,o){var a=e.get(\"ANGLE_instanced_arrays\");return null===a?void console.error(\"THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\"):(a.drawElementsInstancedANGLE(s,o,c,r*u,n.maxInstancedCount),i.calls++,i.vertices+=o*n.maxInstancedCount,void(s===t.TRIANGLES&&(i.faces+=n.maxInstancedCount*o/3)))}var s,c,u;return{setMode:n,setIndex:r,render:o,renderInstances:a}}function ge(){function t(){u.value!==n&&(u.value=n,u.needsUpdate=r>0),i.numPlanes=r}function e(t,e,n,r){var o=null!==t?t.length:0,a=null;if(0!==o){if(a=u.value,r!==!0||null===a){var h=n+4*o,l=e.matrixWorldInverse;c.getNormalMatrix(l),(null===a||a.length0?1:-1,p[g]=I.x,p[g+1]=I.y,p[g+2]=I.z,m[v]=O/c,m[v+1]=1-L/h,g+=3,v+=2,T+=1}for(L=0;L65535?Uint32Array:Uint16Array)(l),f=new Float32Array(3*h),p=new Float32Array(3*h),m=new Float32Array(2*h),g=0,v=0,y=0,b=0,x=0;c(\"z\",\"y\",\"x\",-1,-1,i,e,t,o,r,0),c(\"z\",\"y\",\"x\",1,-1,i,e,-t,o,r,1),c(\"x\",\"z\",\"y\",1,1,t,i,e,n,o,2),c(\"x\",\"z\",\"y\",1,-1,t,i,-e,n,o,3),c(\"x\",\"y\",\"z\",1,-1,t,e,i,n,r,4),c(\"x\",\"y\",\"z\",-1,-1,t,e,-i,n,r,5),this.setIndex(new Kt(d,1)),this.addAttribute(\"position\",new Kt(f,3)),this.addAttribute(\"normal\",new Kt(p,3)),this.addAttribute(\"uv\",new Kt(m,2))}function xe(t,e){this.origin=void 0!==t?t:new N,this.direction=void 0!==e?e:new N}function we(t,e){this.start=void 0!==t?t:new N,this.end=void 0!==e?e:new N}function _e(t,e,i){this.a=void 0!==t?t:new N,this.b=void 0!==e?e:new N,this.c=void 0!==i?i:new N}function Se(t){At.call(this),this.type=\"MeshBasicMaterial\",this.color=new Ct(16777215),this.map=null,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ul,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function Ae(t,e){re.call(this),this.type=\"Mesh\",this.geometry=void 0!==t?t:new ue,this.material=void 0!==e?e:new Se({color:16777215*Math.random()}),this.drawMode=vd,this.updateMorphTargets()}function Me(t,e,i,n){ue.call(this),this.type=\"PlaneBufferGeometry\",this.parameters={width:t,height:e,widthSegments:i,heightSegments:n};for(var r=t/2,o=e/2,a=Math.floor(i)||1,s=Math.floor(n)||1,c=a+1,u=s+1,h=t/a,l=e/s,d=new Float32Array(c*u*3),f=new Float32Array(c*u*3),p=new Float32Array(c*u*2),m=0,g=0,v=0;v65535?Uint32Array:Uint16Array)(a*s*6),v=0;v=0){var h=o[c];if(void 0!==h){var l=Ut.FLOAT,d=h.array,f=h.normalized;d instanceof Float32Array?l=Ut.FLOAT:d instanceof Float64Array?console.warn(\"Unsupported data buffer format: Float64Array\"):d instanceof Uint16Array?l=Ut.UNSIGNED_SHORT:d instanceof Int16Array?l=Ut.SHORT:d instanceof Uint32Array?l=Ut.UNSIGNED_INT:d instanceof Int32Array?l=Ut.INT:d instanceof Int8Array?l=Ut.BYTE:d instanceof Uint8Array&&(l=Ut.UNSIGNED_BYTE);var p=h.itemSize,m=Xt.getAttributeBuffer(h);if(h&&h.isInterleavedBufferAttribute){var g=h.data,v=g.stride,y=h.offset;g&&g.isInstancedInterleavedBuffer?(Gt.enableAttributeAndDivisor(u,g.meshPerAttribute,r),void 0===i.maxInstancedCount&&(i.maxInstancedCount=g.meshPerAttribute*g.count)):Gt.enableAttribute(u),Ut.bindBuffer(Ut.ARRAY_BUFFER,m),Ut.vertexAttribPointer(u,p,l,f,v*g.array.BYTES_PER_ELEMENT,(n*v+y)*g.array.BYTES_PER_ELEMENT)}else h&&h.isInstancedBufferAttribute?(Gt.enableAttributeAndDivisor(u,h.meshPerAttribute,r),void 0===i.maxInstancedCount&&(i.maxInstancedCount=h.meshPerAttribute*h.count)):Gt.enableAttribute(u),Ut.bindBuffer(Ut.ARRAY_BUFFER,m),Ut.vertexAttribPointer(u,p,l,f,0,n*p*h.array.BYTES_PER_ELEMENT)}else if(void 0!==s){var b=s[c];if(void 0!==b)switch(b.length){case 2:Ut.vertexAttrib2fv(u,b);break;case 3:Ut.vertexAttrib3fv(u,b);break;case 4:Ut.vertexAttrib4fv(u,b);break;default:Ut.vertexAttrib1fv(u,b)}}}}Gt.disableUnusedAttributes()}function h(t,e){return Math.abs(e[0])-Math.abs(t[0])}function l(t,e){return t.object.renderOrder!==e.object.renderOrder?t.object.renderOrder-e.object.renderOrder:t.material.program&&e.material.program&&t.material.program!==e.material.program?t.material.program.id-e.material.program.id:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function d(t,e){return t.object.renderOrder!==e.object.renderOrder?t.object.renderOrder-e.object.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function f(t,e,i,n,r){var o,a;i.transparent?(o=K,a=++Q):(o=Y,a=++Z);var s=o[a];void 0!==s?(s.id=t.id,s.object=t,s.geometry=e,s.material=i,s.z=kt.z,s.group=r):(s={id:t.id,object:t,geometry:e,material:i,z:kt.z,group:r},o.push(s))}function p(t){var e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Rt.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),g(Rt)}function m(t){return Rt.center.set(0,0,0),Rt.radius=.7071067811865476,Rt.applyMatrix4(t.matrixWorld),g(Rt)}function g(t){if(!Mt.intersectsSphere(t))return!1;var e=Tt.numPlanes;if(0===e)return!0;var i=it.clippingPlanes,n=t.center,r=-t.radius,o=0;do if(i[o].distanceToPoint(n)=0&&t.numSupportedMorphTargets++}if(t.morphNormals){t.numSupportedMorphNormals=0;for(var d=0;d=0&&t.numSupportedMorphNormals++}var f=n.__webglShader.uniforms;!t.isShaderMaterial&&!t.isRawShaderMaterial|t.clipping===!0&&(n.numClippingPlanes=Tt.numPlanes,f.clippingPlanes=Tt.uniform),n.fog=e,n.lightsHash=zt.hash,t.lights&&(f.ambientLightColor.value=zt.ambient,f.directionalLights.value=zt.directional,f.spotLights.value=zt.spot,f.pointLights.value=zt.point,f.hemisphereLights.value=zt.hemi,f.directionalShadowMap.value=zt.directionalShadowMap,f.directionalShadowMatrix.value=zt.directionalShadowMatrix,f.spotShadowMap.value=zt.spotShadowMap,f.spotShadowMatrix.value=zt.spotShadowMatrix,f.pointShadowMap.value=zt.pointShadowMap,f.pointShadowMatrix.value=zt.pointShadowMatrix);var p=n.program.getUniforms(),m=bt.seqWithValue(p.seq,f);n.uniformsList=m,n.dynamicUniforms=bt.splitDynamic(m,f)}function x(t){t.side===Ch?Gt.disable(Ut.CULL_FACE):Gt.enable(Ut.CULL_FACE),Gt.setFlipSided(t.side===Ph),t.transparent===!0?Gt.setBlending(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha):Gt.setBlending(Oh),Gt.setDepthFunc(t.depthFunc),Gt.setDepthTest(t.depthTest),Gt.setDepthWrite(t.depthWrite),Gt.setColorWrite(t.colorWrite),Gt.setPolygonOffset(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits)}function w(t,e,i,n){dt=0;var r=Ht.get(i);if(Et&&(Lt||t!==ct)){var o=t===ct&&i.id===at;Tt.setState(i.clippingPlanes,i.clipShadows,t,r,o)}i.needsUpdate===!1&&(void 0===r.program?i.needsUpdate=!0:i.fog&&r.fog!==e?i.needsUpdate=!0:i.lights&&r.lightsHash!==zt.hash?i.needsUpdate=!0:void 0!==r.numClippingPlanes&&r.numClippingPlanes!==Tt.numPlanes&&(i.needsUpdate=!0)),i.needsUpdate&&(b(i,e,n),i.needsUpdate=!1);var a=!1,s=!1,c=!1,u=r.program,h=u.getUniforms(),l=r.__webglShader.uniforms;if(u.id!==nt&&(Ut.useProgram(u.program),nt=u.id,a=!0,s=!0,c=!0),i.id!==at&&(at=i.id,s=!0),a||t!==ct){if(h.set(Ut,t,\"projectionMatrix\"),Vt.logarithmicDepthBuffer&&h.setValue(Ut,\"logDepthBufFC\",2/(Math.log(t.far+1)/Math.LN2)),t!==ct&&(ct=t,s=!0,c=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.envMap){var d=h.map.cameraPosition;void 0!==d&&d.setValue(Ut,kt.setFromMatrixPosition(t.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.skinning)&&h.setValue(Ut,\"viewMatrix\",t.matrixWorldInverse),h.set(Ut,it,\"toneMappingExposure\"),h.set(Ut,it,\"toneMappingWhitePoint\")}if(i.skinning){h.setOptional(Ut,n,\"bindMatrix\"),h.setOptional(Ut,n,\"bindMatrixInverse\");var f=n.skeleton;f&&(Vt.floatVertexTextures&&f.useVertexTexture?(h.set(Ut,f,\"boneTexture\"),h.set(Ut,f,\"boneTextureWidth\"),h.set(Ut,f,\"boneTextureHeight\")):h.setOptional(Ut,f,\"boneMatrices\"))}s&&(i.lights&&L(l,c),e&&i.fog&&P(l,e),(i.isMeshBasicMaterial||i.isMeshLambertMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.isMeshDepthMaterial)&&_(l,i),i.isLineBasicMaterial?S(l,i):i.isLineDashedMaterial?(S(l,i),A(l,i)):i.isPointsMaterial?M(l,i):i.isMeshLambertMaterial?C(l,i):i.isMeshPhongMaterial?T(l,i):i.isMeshPhysicalMaterial?I(l,i):i.isMeshStandardMaterial?E(l,i):i.isMeshDepthMaterial?i.displacementMap&&(l.displacementMap.value=i.displacementMap,l.displacementScale.value=i.displacementScale,l.displacementBias.value=i.displacementBias):i.isMeshNormalMaterial&&(l.opacity.value=i.opacity),bt.upload(Ut,r.uniformsList,l,it)),h.set(Ut,n,\"modelViewMatrix\"),h.set(Ut,n,\"normalMatrix\"),h.setValue(Ut,\"modelMatrix\",n.matrixWorld);var p=r.dynamicUniforms;return null!==p&&(bt.evalDynamic(p,l,n,t),bt.upload(Ut,p,l,it)),u}function _(t,e){t.opacity.value=e.opacity,t.diffuse.value=e.color,e.emissive&&t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),t.map.value=e.map,t.specularMap.value=e.specularMap,t.alphaMap.value=e.alphaMap,e.aoMap&&(t.aoMap.value=e.aoMap,t.aoMapIntensity.value=e.aoMapIntensity);var i;if(e.map?i=e.map:e.specularMap?i=e.specularMap:e.displacementMap?i=e.displacementMap:e.normalMap?i=e.normalMap:e.bumpMap?i=e.bumpMap:e.roughnessMap?i=e.roughnessMap:e.metalnessMap?i=e.metalnessMap:e.alphaMap?i=e.alphaMap:e.emissiveMap&&(i=e.emissiveMap),void 0!==i){i.isWebGLRenderTarget&&(i=i.texture);var n=i.offset,r=i.repeat;t.offsetRepeat.value.set(n.x,n.y,r.x,r.y)}t.envMap.value=e.envMap,t.flipEnvMap.value=e.envMap&&e.envMap.isCubeTexture?-1:1,t.reflectivity.value=e.reflectivity,t.refractionRatio.value=e.refractionRatio}function S(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity}function A(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}function M(t,e){if(t.diffuse.value=e.color,t.opacity.value=e.opacity,t.size.value=e.size*vt,t.scale.value=.5*U.clientHeight,t.map.value=e.map,null!==e.map){var i=e.map.offset,n=e.map.repeat;t.offsetRepeat.value.set(i.x,i.y,n.x,n.y)}}function P(t,e){t.fogColor.value=e.color,e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)}function C(t,e){e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}function T(t,e){t.specular.value=e.specular,t.shininess.value=Math.max(e.shininess,1e-4),e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function E(t,e){t.roughness.value=e.roughness,t.metalness.value=e.metalness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap),e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}function I(t,e){t.clearCoat.value=e.clearCoat,t.clearCoatRoughness.value=e.clearCoatRoughness,E(t,e)}function L(t,e){t.ambientLightColor.needsUpdate=e,t.directionalLights.needsUpdate=e,t.pointLights.needsUpdate=e,t.spotLights.needsUpdate=e,t.hemisphereLights.needsUpdate=e}function R(t){for(var e=0,i=0,n=t.length;i=Vt.maxTextures&&console.warn(\"WebGLRenderer: trying to use \"+t+\" texture units while this GPU supports only \"+Vt.maxTextures),dt+=1,t}function B(t){var e;if(t===Ml)return Ut.REPEAT;if(t===Pl)return Ut.CLAMP_TO_EDGE;if(t===Cl)return Ut.MIRRORED_REPEAT;if(t===Tl)return Ut.NEAREST;if(t===El)return Ut.NEAREST_MIPMAP_NEAREST;if(t===Il)return Ut.NEAREST_MIPMAP_LINEAR;if(t===Ll)return Ut.LINEAR;if(t===Rl)return Ut.LINEAR_MIPMAP_NEAREST;if(t===Ol)return Ut.LINEAR_MIPMAP_LINEAR;if(t===Dl)return Ut.UNSIGNED_BYTE;if(t===$l)return Ut.UNSIGNED_SHORT_4_4_4_4;if(t===Vl)return Ut.UNSIGNED_SHORT_5_5_5_1;if(t===Gl)return Ut.UNSIGNED_SHORT_5_6_5;if(t===Nl)return Ut.BYTE;if(t===kl)return Ut.SHORT;if(t===Fl)return Ut.UNSIGNED_SHORT;if(t===zl)return Ut.INT;if(t===Bl)return Ut.UNSIGNED_INT;if(t===Ul)return Ut.FLOAT;if(e=$t.get(\"OES_texture_half_float\"),null!==e&&t===jl)return e.HALF_FLOAT_OES;if(t===Wl)return Ut.ALPHA;if(t===Xl)return Ut.RGB;if(t===ql)return Ut.RGBA;if(t===Yl)return Ut.LUMINANCE;if(t===Zl)return Ut.LUMINANCE_ALPHA;if(t===Kl)return Ut.DEPTH_COMPONENT;if(t===Ql)return Ut.DEPTH_STENCIL;if(t===Bh)return Ut.FUNC_ADD;if(t===Uh)return Ut.FUNC_SUBTRACT;if(t===jh)return Ut.FUNC_REVERSE_SUBTRACT;if(t===Gh)return Ut.ZERO;if(t===Hh)return Ut.ONE;if(t===Wh)return Ut.SRC_COLOR;if(t===Xh)return Ut.ONE_MINUS_SRC_COLOR;if(t===qh)return Ut.SRC_ALPHA;if(t===Yh)return Ut.ONE_MINUS_SRC_ALPHA;if(t===Zh)return Ut.DST_ALPHA;if(t===Kh)return Ut.ONE_MINUS_DST_ALPHA;if(t===Qh)return Ut.DST_COLOR;if(t===Jh)return Ut.ONE_MINUS_DST_COLOR;if(t===tl)return Ut.SRC_ALPHA_SATURATE;if(e=$t.get(\"WEBGL_compressed_texture_s3tc\"),null!==e){if(t===Jl)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===td)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===ed)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===id)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e=$t.get(\"WEBGL_compressed_texture_pvrtc\"),null!==e){if(t===nd)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===rd)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===od)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===ad)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e=$t.get(\"WEBGL_compressed_texture_etc1\"),null!==e&&t===sd)return e.COMPRESSED_RGB_ETC1_WEBGL;if(e=$t.get(\"EXT_blend_minmax\"),null!==e){if(t===$h)return e.MIN_EXT;if(t===Vh)return e.MAX_EXT}return e=$t.get(\"WEBGL_depth_texture\"),null!==e&&t===Hl?e.UNSIGNED_INT_24_8_WEBGL:0}console.log(\"THREE.WebGLRenderer\",yh),t=t||{};var U=void 0!==t.canvas?t.canvas:document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),j=void 0!==t.context?t.context:null,$=void 0!==t.alpha&&t.alpha,V=void 0===t.depth||t.depth,G=void 0===t.stencil||t.stencil,H=void 0!==t.antialias&&t.antialias,W=void 0===t.premultipliedAlpha||t.premultipliedAlpha,X=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,q=[],Y=[],Z=-1,K=[],Q=-1,J=new Float32Array(8),tt=[],et=[];this.domElement=U,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=fl,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var it=this,nt=null,rt=null,ot=null,at=-1,st=\"\",ct=null,ut=new wt,ht=null,lt=new wt,dt=0,ft=new Ct(0),pt=0,mt=U.width,gt=U.height,vt=1,yt=new wt(0,0,mt,gt),St=!1,At=new wt(0,0,mt,gt),Mt=new Ot,Tt=new ge,Et=!1,Lt=!1,Rt=new It,Nt=new O,kt=new N,zt={hash:\"\",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},Bt={calls:0,vertices:0,faces:0,points:0};this.info={render:Bt,memory:{geometries:0,textures:0},programs:null};var Ut;try{var jt={alpha:$,depth:V,stencil:G,antialias:H,premultipliedAlpha:W,preserveDrawingBuffer:X};if(Ut=j||U.getContext(\"webgl\",jt)||U.getContext(\"experimental-webgl\",jt),null===Ut)throw null!==U.getContext(\"webgl\")?\"Error creating WebGL context with your selected attributes.\":\"Error creating WebGL context.\";void 0===Ut.getShaderPrecisionFormat&&(Ut.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),U.addEventListener(\"webglcontextlost\",o,!1)}catch(t){console.error(\"THREE.WebGLRenderer: \"+t)}var $t=new pe(Ut);$t.get(\"WEBGL_depth_texture\"),$t.get(\"OES_texture_float\"),$t.get(\"OES_texture_float_linear\"),$t.get(\"OES_texture_half_float\"),$t.get(\"OES_texture_half_float_linear\"),$t.get(\"OES_standard_derivatives\"),$t.get(\"ANGLE_instanced_arrays\"),$t.get(\"OES_element_index_uint\")&&(ue.MaxIndex=4294967296);var Vt=new fe(Ut,$t,t),Gt=new _t(Ut,$t,B),Ht=new Ft,Wt=new xt(Ut,$t,Gt,Ht,Vt,B,this.info),Xt=new le(Ut,Ht,this.info),qt=new Zt(this,Vt),Yt=new de;this.info.programs=qt.programs;var Kt=new ve(Ut,$t,Bt),Qt=new me(Ut,$t,Bt),Jt=new Te(-1,1,1,-1,0,1),te=new Ce,ee=new Ae(new Me(2,2),new Se({depthTest:!1,depthWrite:!1,fog:!1})),ie=Bp.cube,ne=new Ae(new be(5,5,5),new Pt({uniforms:ie.uniforms,vertexShader:ie.vertexShader,fragmentShader:ie.fragmentShader,side:Ph,depthTest:!1,depthWrite:!1,fog:!1}));n(),this.context=Ut,this.capabilities=Vt,this.extensions=$t,this.properties=Ht,this.state=Gt;var re=new Dt(this,zt,Xt,Vt);this.shadowMap=re;var oe=new k(this,tt),ae=new z(this,et);this.getContext=function(){return Ut},this.getContextAttributes=function(){return Ut.getContextAttributes()},this.forceContextLoss=function(){$t.get(\"WEBGL_lose_context\").loseContext()},this.getMaxAnisotropy=function(){return Vt.getMaxAnisotropy()},this.getPrecision=function(){return Vt.precision},this.getPixelRatio=function(){return vt},this.setPixelRatio=function(t){void 0!==t&&(vt=t,this.setSize(At.z,At.w,!1))},this.getSize=function(){return{width:mt,height:gt}},this.setSize=function(t,e,i){mt=t,gt=e,U.width=t*vt,U.height=e*vt,i!==!1&&(U.style.width=t+\"px\",U.style.height=e+\"px\"),this.setViewport(0,0,t,e)},this.setViewport=function(t,e,i,n){Gt.viewport(At.set(t,e,i,n))},this.setScissor=function(t,e,i,n){Gt.scissor(yt.set(t,e,i,n))},this.setScissorTest=function(t){Gt.setScissorTest(St=t)},this.getClearColor=function(){return ft},this.setClearColor=function(t,e){ft.set(t),pt=void 0!==e?e:1,i(ft.r,ft.g,ft.b,pt)},this.getClearAlpha=function(){return pt},this.setClearAlpha=function(t){pt=t,i(ft.r,ft.g,ft.b,pt)},this.clear=function(t,e,i){var n=0;(void 0===t||t)&&(n|=Ut.COLOR_BUFFER_BIT),(void 0===e||e)&&(n|=Ut.DEPTH_BUFFER_BIT),(void 0===i||i)&&(n|=Ut.STENCIL_BUFFER_BIT),Ut.clear(n)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(t,e,i,n){this.setRenderTarget(t),this.clear(e,i,n)},this.resetGLState=r,this.dispose=function(){K=[],Q=-1,Y=[],Z=-1,U.removeEventListener(\"webglcontextlost\",o,!1)},this.renderBufferImmediate=function(t,e,i){Gt.initAttributes();var n=Ht.get(t);t.hasPositions&&!n.position&&(n.position=Ut.createBuffer()),t.hasNormals&&!n.normal&&(n.normal=Ut.createBuffer()),t.hasUvs&&!n.uv&&(n.uv=Ut.createBuffer()),t.hasColors&&!n.color&&(n.color=Ut.createBuffer());var r=e.getAttributes();if(t.hasPositions&&(Ut.bindBuffer(Ut.ARRAY_BUFFER,n.position),Ut.bufferData(Ut.ARRAY_BUFFER,t.positionArray,Ut.DYNAMIC_DRAW),Gt.enableAttribute(r.position),Ut.vertexAttribPointer(r.position,3,Ut.FLOAT,!1,0,0)),t.hasNormals){if(Ut.bindBuffer(Ut.ARRAY_BUFFER,n.normal),!i.isMeshPhongMaterial&&!i.isMeshStandardMaterial&&i.shading===Th)for(var o=0,a=3*t.count;o8&&(f.length=8);for(var v=n.morphAttributes,p=0,m=f.length;p0&&_.renderInstances(n,E,L):_.render(E,L)},this.render=function(t,e,n,r){if((e&&e.isCamera)===!1)return void console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");var o=t.fog;st=\"\",at=-1,ct=null,t.autoUpdate===!0&&t.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),e.matrixWorldInverse.getInverse(e.matrixWorld),Nt.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),Mt.setFromMatrix(Nt),q.length=0,Z=-1,Q=-1,tt.length=0,et.length=0,Lt=this.localClippingEnabled,Et=Tt.init(this.clippingPlanes,Lt,e),v(t,e),Y.length=Z+1,K.length=Q+1,it.sortObjects===!0&&(Y.sort(l),K.sort(d)),Et&&Tt.beginShadows(),R(q),re.render(t,e),D(q,e),Et&&Tt.endShadows(),Bt.calls=0,Bt.vertices=0,Bt.faces=0,Bt.points=0,void 0===n&&(n=null),this.setRenderTarget(n);var a=t.background;if(null===a?i(ft.r,ft.g,ft.b,pt):a&&a.isColor&&(i(a.r,a.g,a.b,1),r=!0),(this.autoClear||r)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil),a&&a.isCubeTexture?(te.projectionMatrix.copy(e.projectionMatrix),te.matrixWorld.extractRotation(e.matrixWorld),te.matrixWorldInverse.getInverse(te.matrixWorld),ne.material.uniforms.tCube.value=a,ne.modelViewMatrix.multiplyMatrices(te.matrixWorldInverse,ne.matrixWorld),Xt.update(ne),it.renderBufferDirect(te,null,ne.geometry,ne.material,ne,null)):a&&a.isTexture&&(ee.material.map=a,Xt.update(ee),it.renderBufferDirect(Jt,null,ee.geometry,ee.material,ee,null)),t.overrideMaterial){var s=t.overrideMaterial;y(Y,e,o,s),y(K,e,o,s)}else Gt.setBlending(Oh),y(Y,e,o),y(K,e,o);oe.render(t,e),ae.render(t,e,lt),n&&Wt.updateRenderTargetMipmap(n),Gt.setDepthTest(!0),Gt.setDepthWrite(!0),Gt.setColorWrite(!0)},this.setFaceCulling=function(t,e){Gt.setCullFace(t),Gt.setFlipSided(e===_h)},this.allocTextureUnit=F,this.setTexture2D=function(){var t=!1;return function(e,i){e&&e.isWebGLRenderTarget&&(t||(console.warn(\"THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead.\"),t=!0),e=e.texture),Wt.setTexture2D(e,i)}}(),this.setTexture=function(){var t=!1;return function(e,i){t||(console.warn(\"THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead.\"),t=!0),Wt.setTexture2D(e,i)}}(),this.setTextureCube=function(){var t=!1;return function(e,i){e&&e.isWebGLRenderTargetCube&&(t||(console.warn(\"THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead.\"),t=!0),e=e.texture),e&&e.isCubeTexture||Array.isArray(e.image)&&6===e.image.length?Wt.setTextureCube(e,i):Wt.setTextureCubeDynamic(e,i)}}(),this.getCurrentRenderTarget=function(){return rt},this.setRenderTarget=function(t){rt=t,t&&void 0===Ht.get(t).__webglFramebuffer&&Wt.setupRenderTarget(t);var e,i=t&&t.isWebGLRenderTargetCube;if(t){var n=Ht.get(t);e=i?n.__webglFramebuffer[t.activeCubeFace]:n.__webglFramebuffer,ut.copy(t.scissor),ht=t.scissorTest,lt.copy(t.viewport)}else e=null,ut.copy(yt).multiplyScalar(vt),ht=St,lt.copy(At).multiplyScalar(vt);if(ot!==e&&(Ut.bindFramebuffer(Ut.FRAMEBUFFER,e),ot=e),Gt.scissor(ut),Gt.setScissorTest(ht),Gt.viewport(lt),i){var r=Ht.get(t.texture);Ut.framebufferTexture2D(Ut.FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,Ut.TEXTURE_CUBE_MAP_POSITIVE_X+t.activeCubeFace,r.__webglTexture,t.activeMipMapLevel)}},this.readRenderTargetPixels=function(t,e,i,n,r,o){if((t&&t.isWebGLRenderTarget)===!1)return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");var a=Ht.get(t).__webglFramebuffer;if(a){var s=!1;a!==ot&&(Ut.bindFramebuffer(Ut.FRAMEBUFFER,a),s=!0);try{var c=t.texture,u=c.format,h=c.type;if(u!==ql&&B(u)!==Ut.getParameter(Ut.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");if(!(h===Dl||B(h)===Ut.getParameter(Ut.IMPLEMENTATION_COLOR_READ_TYPE)||h===Ul&&($t.get(\"OES_texture_float\")||$t.get(\"WEBGL_color_buffer_float\"))||h===jl&&$t.get(\"EXT_color_buffer_half_float\")))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");Ut.checkFramebufferStatus(Ut.FRAMEBUFFER)===Ut.FRAMEBUFFER_COMPLETE?e>=0&&e<=t.width-n&&i>=0&&i<=t.height-r&&Ut.readPixels(e,i,n,r,B(u),B(h),o):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{s&&Ut.bindFramebuffer(Ut.FRAMEBUFFER,ot)}}}}function Ie(t,e){this.name=\"\",this.color=new Ct(t),this.density=void 0!==e?e:25e-5}function Le(t,e,i){this.name=\"\",this.color=new Ct(t),this.near=void 0!==e?e:1,this.far=void 0!==i?i:1e3}function Re(){re.call(this),this.type=\"Scene\",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function Oe(t,e,i,n,r){re.call(this),this.lensFlares=[],this.positionScreen=new N,this.customUpdateCallback=void 0,void 0!==t&&this.add(t,e,i,n,r)}function De(t){At.call(this),this.type=\"SpriteMaterial\",this.color=new Ct(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(t)}function Ne(t){re.call(this),this.type=\"Sprite\",this.material=void 0!==t?t:new De}function ke(){re.call(this),this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Fe(t,e,i,n,r,o,a,s,c,u,h,l){L.call(this,null,o,a,s,c,u,n,r,h,l),this.image={data:t,width:e,height:i},this.magFilter=void 0!==c?c:Tl,this.minFilter=void 0!==u?u:Tl,this.flipY=!1,this.generateMipmaps=!1}function ze(t,e,i){if(this.useVertexTexture=void 0===i||i,this.identityMatrix=new O,t=t||[],this.bones=t.slice(0),this.useVertexTexture){var n=Math.sqrt(4*this.bones.length);n=Ed.nextPowerOfTwo(Math.ceil(n)),n=Math.max(n,4),this.boneTextureWidth=n,this.boneTextureHeight=n,this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4),this.boneTexture=new Fe(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,ql,Ul)}else this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn(\"THREE.Skeleton bonInverses is the wrong length.\"),this.boneInverses=[];for(var r=0,o=this.bones.length;r0)&&S.push(A,M,C),(m!==i-1||s65535?Jt:Qt)(S,1)),this.addAttribute(\"position\",u),this.addAttribute(\"normal\",h),this.addAttribute(\"uv\",l),this.boundingSphere=new It(new N,t)}function hn(t,e,i,n,r,o,a){ae.call(this),this.type=\"SphereGeometry\",this.parameters={radius:t,widthSegments:e,heightSegments:i,phiStart:n,phiLength:r,thetaStart:o,thetaLength:a},this.fromBufferGeometry(new un(t,e,i,n,r,o,a))}function ln(t,e){re.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.colors=[new Ct,new Ct];var i=new hn(e,4,2);i.rotateX(-Math.PI/2);for(var n=0,r=8;n0&&f++,e>0&&f++);var p=c(),m=u(),g=new Kt(new(m>65535?Uint32Array:Uint16Array)(m),1),v=new Kt(new Float32Array(3*p),3),y=new Kt(new Float32Array(3*p),3),b=new Kt(new Float32Array(2*p),2),x=0,w=0,_=[],S=i/2,A=0;h(),o===!1&&(t>0&&l(!0),e>0&&l(!1)),this.setIndex(g),this.addAttribute(\"position\",v),this.addAttribute(\"normal\",y),this.addAttribute(\"uv\",b)}function bn(t,e,i,n,r,o){re.call(this),void 0===n&&(n=16776960),void 0===i&&(i=1),void 0===r&&(r=.2*i),void 0===o&&(o=.2*r),this.position.copy(e),this.line=new $e(Kp,new je({color:n})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Ae(Qp,new Se({color:n})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(i,r,o)}function xn(t,e,i,n){function r(t){var e=t.normalize().clone();e.index=h.vertices.push(e)-1;var i=s(t)/2/Math.PI+.5,n=c(t)/Math.PI+.5;return e.uv=new I(i,1-n),e}function o(t,e,i){var n=new ee(t.index,e.index,i.index,[t.clone(),e.clone(),i.clone()]);h.faces.push(n),b.copy(t).add(e).add(i).divideScalar(3);var r=s(b);h.faceVertexUvs[0].push([u(t.uv,t,r),u(e.uv,e,r),u(i.uv,i,r)])}function a(t,e){for(var i=Math.pow(2,e),n=r(h.vertices[t.a]),a=r(h.vertices[t.b]),s=r(h.vertices[t.c]),c=[],u=0;u<=i;u++){c[u]=[];for(var l=r(n.clone().lerp(s,u/i)),d=r(a.clone().lerp(s,u/i)),f=i-u,p=0;p<=f;p++)0===p&&u===i?c[u][p]=l:c[u][p]=r(l.clone().lerp(d,p/f))}for(var u=0;u.9&&M<.1&&(w<.2&&(x[0].x+=1),_<.2&&(x[1].x+=1),S<.2&&(x[2].x+=1))}for(var l=0,d=this.vertices.length;l65535?Uint32Array:Uint16Array)(h),1),d=new Kt(new Float32Array(3*u),3),f=new Kt(new Float32Array(3*u),3),p=new Kt(new Float32Array(2*u),2),m=0,g=0,v=new N,y=new N,b=new I,x=new N,w=new N,_=new N,S=new N,A=new N;for(s=0;s<=i;++s){var M=s/i*r*Math.PI*2;for(a(M,r,o,t,x),a(M+.01,r,o,t,w),S.subVectors(w,x),A.addVectors(w,x),_.crossVectors(S,A),A.crossVectors(_,S),_.normalize(),A.normalize(),c=0;c<=n;++c){var P=c/n*Math.PI*2,C=-e*Math.cos(P),T=e*Math.sin(P);v.x=x.x+(C*A.x+T*_.x),v.y=x.y+(C*A.y+T*_.y),v.z=x.z+(C*A.z+T*_.z),d.setXYZ(m,v.x,v.y,v.z),y.subVectors(v,x).normalize(),f.setXYZ(m,y.x,y.y,y.z),\nb.x=s/i,b.y=c/n,p.setXY(m,b.x,b.y),m++}}for(c=1;c<=i;c++)for(s=1;s<=n;s++){var E=(n+1)*(c-1)+(s-1),L=(n+1)*c+(s-1),R=(n+1)*c+s,O=(n+1)*(c-1)+s;l.setX(g,E),g++,l.setX(g,L),g++,l.setX(g,O),g++,l.setX(g,L),g++,l.setX(g,R),g++,l.setX(g,O),g++}this.setIndex(l),this.addAttribute(\"position\",d),this.addAttribute(\"normal\",f),this.addAttribute(\"uv\",p)}function Sn(t,e,i,n,r){ue.call(this),this.type=\"TorusBufferGeometry\",this.parameters={radius:t,tube:e,radialSegments:i,tubularSegments:n,arc:r},t=t||100,e=e||40,i=Math.floor(i)||8,n=Math.floor(n)||6,r=r||2*Math.PI;var o,a,s=(i+1)*(n+1),c=i*n*2*3,u=new(c>65535?Uint32Array:Uint16Array)(c),h=new Float32Array(3*s),l=new Float32Array(3*s),d=new Float32Array(2*s),f=0,p=0,m=0,g=new N,v=new N,y=new N;for(o=0;o<=i;o++)for(a=0;a<=n;a++){var b=a/n*r,x=o/i*Math.PI*2;v.x=(t+e*Math.cos(x))*Math.cos(b),v.y=(t+e*Math.cos(x))*Math.sin(b),v.z=e*Math.sin(x),h[f]=v.x,h[f+1]=v.y,h[f+2]=v.z,g.x=t*Math.cos(b),g.y=t*Math.sin(b),y.subVectors(v,g).normalize(),l[f]=y.x,l[f+1]=y.y,l[f+2]=y.z,d[p]=a/n,d[p+1]=o/i,f+=3,p+=2}for(o=1;o<=i;o++)for(a=1;a<=n;a++){var w=(n+1)*o+a-1,_=(n+1)*(o-1)+a-1,S=(n+1)*(o-1)+a,A=(n+1)*o+a;u[m]=w,u[m+1]=_,u[m+2]=A,u[m+3]=_,u[m+4]=S,u[m+5]=A,m+=6}this.setIndex(new Kt(u,1)),this.addAttribute(\"position\",new Kt(h,3)),this.addAttribute(\"normal\",new Kt(l,3)),this.addAttribute(\"uv\",new Kt(d,2))}function An(t,e,i,n,r,o){ue.call(this),this.type=\"RingBufferGeometry\",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:n,thetaStart:r,thetaLength:o},t=t||20,e=e||50,r=void 0!==r?r:0,o=void 0!==o?o:2*Math.PI,i=void 0!==i?Math.max(3,i):8,n=void 0!==n?Math.max(1,n):1;var a,s,c,u=(i+1)*(n+1),h=i*n*2*3,l=new Kt(new(h>65535?Uint32Array:Uint16Array)(h),1),d=new Kt(new Float32Array(3*u),3),f=new Kt(new Float32Array(3*u),3),p=new Kt(new Float32Array(2*u),2),m=0,g=0,v=t,y=(e-t)/n,b=new N,x=new I;for(s=0;s<=n;s++){for(c=0;c<=i;c++)a=r+c/i*o,b.x=v*Math.cos(a),b.y=v*Math.sin(a),d.setXYZ(m,b.x,b.y,b.z),f.setXYZ(m,0,0,1),x.x=(b.x/e+1)/2,x.y=(b.y/e+1)/2,p.setXY(m,x.x,x.y),m++;v+=y}for(s=0;s65535?Uint32Array:Uint16Array)(c),1),h=new Kt(new Float32Array(3*s),3),l=new Kt(new Float32Array(2*s),2),d=0,f=0,p=1/e,m=new N,g=new I;for(o=0;o<=e;o++){var v=i+o*p*n,y=Math.sin(v),b=Math.cos(v);for(a=0;a<=t.length-1;a++)m.x=t[a].x*y,m.y=t[a].y,m.z=t[a].x*b,h.setXYZ(d,m.x,m.y,m.z),g.x=o/e,g.y=a/(t.length-1),l.setXY(d,g.x,g.y),d++}for(o=0;o=0&&e<=7&&Fv[t]?Fv[t][e]:Array(e+1).join(t)}function xr(t,e){function i(){f=[],r(),o(),a()}function n(t,e){return void 0!==t?t:e}function r(){f.push(vr(\"TITEL %-74s\",t.name))}function o(){d.forEach(function(t){f.push(vr(\"REMARK %-73s\",t))}),t.trajectory&&(f.push(vr(\"REMARK %-73s\",\"Trajectory '\"+t.trajectory.name+\"'\")),f.push(vr(\"REMARK %-73s\",\"Frame \"+t.trajectory.frame)))}function a(){var e=1,i=1;t.eachModel(function(t){f.push(vr(\"MODEL %-74d\",i++)),t.eachAtom(function(t){var i=t.hetero?m:p,r=l?e:t.serial,o=t.atomname;1===o.length&&(o=\" \"+o),f.push(vr(i,r,o,t.resname,n(t.chainname,\" \"),t.resno,t.x,t.y,t.z,n(t.occurence,1),n(t.bfactor,0),n(t.segid,\"\"),n(t.element,\"\"))),e+=1}),f.push(vr(\"%-80s\",\"ENDMDL\")),i+=1}),f.push(vr(\"%-80s\",\"END\"))}function s(){return i(),f.join(\"\\n\")}function c(){return new Blob([s()],{type:\"text/plain\"})}function u(t,e){t=t||\"structure\",e=e||\"pdb\";var i=t+\".\"+e,n=c();v(n,i)}var h=Object.assign({},e),l=void 0===h.renumberSerial||h.renumberSerial,d=h.remarks||[];Array.isArray(d)||(d=[d]);var f,p=\"ATOM %5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s\",m=\"HETATM%5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s\";this.getString=s,this.getBlob=c,this.download=u}function wr(){this.count=0,this.signals={countChanged:new Rn}}function _r(t){this.name=t||\"\",this.nextGid=1,this.objectList=[],this.rangeList=[]}function Sr(){this.signals={updated:new Rn},this.begin(),this.maxDuration=-(1/0),this.minDuration=1/0,this.avgDuration=14,this.lastDuration=1/0,this.prevFpsTime=0,this.lastFps=1/0,this.lastFrames=1,this.frames=0,this.count=0}function Ar(t,e){function i(t){d.enabled!==!1&&(v=g,g===f.NONE&&(t.keyCode!==d.keys[f.ROTATE]||d.noRotate?t.keyCode!==d.keys[f.ZOOM]||d.noZoom?t.keyCode!==d.keys[f.PAN]||d.noPan||(g=f.PAN):g=f.ZOOM:g=f.ROTATE))}function n(){d.enabled!==!1&&(g=v)}function r(t){d.enabled!==!1&&(g===f.NONE&&(g=t.button),g!==f.ROTATE||d.noRotate?g!==f.ZOOM||d.noZoom?g!==f.PAN||d.noPan||(C.copy(O(t.pageX,t.pageY)),T.copy(C)):(S.copy(O(t.pageX,t.pageY)),A.copy(S)):(x.copy(k(t.pageX,t.pageY)),b.copy(x)),document.addEventListener(\"mousemove\",o,!1),document.addEventListener(\"mouseup\",a,!1),d.dispatchEvent(L))}function o(t){d.enabled!==!1&&(g!==f.ROTATE||d.noRotate?g!==f.ZOOM||d.noZoom?g!==f.PAN||d.noPan||T.copy(O(t.pageX,t.pageY)):A.copy(O(t.pageX,t.pageY)):(b.copy(x),x.copy(k(t.pageX,t.pageY))))}function a(){d.enabled!==!1&&(g=f.NONE,document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",a),d.dispatchEvent(R))}function s(t){if(d.enabled!==!1){var e=0;e=t.wheelDelta?t.wheelDelta/40:t.detail?-t.detail/3:-t.deltaY/(t.deltaMode?.33:30),S.y+=.01*e,d.dispatchEvent(L),d.dispatchEvent(R)}}function c(t){if(d.enabled!==!1){switch(t.touches.length){case 1:g=f.TOUCH_ROTATE,x.copy(k(t.touches[0].pageX,t.touches[0].pageY)),b.copy(x);break;default:g=f.TOUCH_ZOOM_PAN;var e=t.touches[0].pageX-t.touches[1].pageX,i=t.touches[0].pageY-t.touches[1].pageY;P=M=Math.sqrt(e*e+i*i);var n=(t.touches[0].pageX+t.touches[1].pageX)/2,r=(t.touches[0].pageY+t.touches[1].pageY)/2;C.copy(O(n,r)),T.copy(C)}d.dispatchEvent(L)}}function u(t){if(d.enabled!==!1)switch(t.touches.length){case 1:b.copy(x),x.copy(k(t.touches[0].pageX,t.touches[0].pageY));break;default:var e=t.touches[0].pageX-t.touches[1].pageX,i=t.touches[0].pageY-t.touches[1].pageY;P=Math.sqrt(e*e+i*i);var n=(t.touches[0].pageX+t.touches[1].pageX)/2,r=(t.touches[0].pageY+t.touches[1].pageY)/2;T.copy(O(n,r))}}function h(t){if(d.enabled!==!1){switch(t.touches.length){case 0:g=f.NONE;break;case 1:g=f.TOUCH_ROTATE,x.copy(k(t.touches[0].pageX,t.touches[0].pageY)),b.copy(x)}d.dispatchEvent(R)}}function l(t){t.preventDefault()}var d=this,f={NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4};this.object=t,this.domElement=void 0!==e?e:document,this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=[65,83,68],this.target=new N;var p=1e-6,m=new N,g=f.NONE,v=f.NONE,y=new N,b=new I,x=new I,w=new N,_=0,S=new I,A=new I,M=0,P=0,C=new I,T=new I;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone();var E={type:\"change\"},L={type:\"start\"},R={type:\"end\"};this.handleResize=function(){if(this.domElement===document)this.screen.left=0,this.screen.top=0,this.screen.width=window.innerWidth,this.screen.height=window.innerHeight;else{var t=this.domElement.getBoundingClientRect(),e=this.domElement.ownerDocument.documentElement;this.screen.left=t.left+window.pageXOffset-e.clientLeft,this.screen.top=t.top+window.pageYOffset-e.clientTop,this.screen.width=t.width,this.screen.height=t.height}},this.handleEvent=function(t){\"function\"==typeof this[t.type]&&this[t.type](t)};var O=function(){var t=new I;return function(e,i){return t.set((e-d.screen.left)/d.screen.width,(i-d.screen.top)/d.screen.height),t}}(),k=function(){var t=new I;return function(e,i){return t.set((e-.5*d.screen.width-d.screen.left)/(.5*d.screen.width),(d.screen.height+2*(d.screen.top-i))/d.screen.width),t}}();this.rotateCamera=function(){var t,e=new N,i=new D,n=new N,r=new N,o=new N,a=new N;return function(){a.set(x.x-b.x,x.y-b.y,0),t=a.length(),t?(y.copy(d.object.position).sub(d.target),n.copy(y).normalize(),r.copy(d.object.up).normalize(),o.crossVectors(r,n).normalize(),r.setLength(x.y-b.y),o.setLength(x.x-b.x),a.copy(r.add(o)),e.crossVectors(a,y).normalize(),t*=d.rotateSpeed,i.setFromAxisAngle(e,t),y.applyQuaternion(i),d.object.up.applyQuaternion(i),w.copy(e),_=t):!d.staticMoving&&_&&(_*=Math.sqrt(1-d.dynamicDampingFactor),y.copy(d.object.position).sub(d.target),i.setFromAxisAngle(w,_),y.applyQuaternion(i),d.object.up.applyQuaternion(i)),b.copy(x)}}(),this.zoomCamera=function(){var t;g===f.TOUCH_ZOOM_PAN?(t=M/P,M=P,y.multiplyScalar(t),void 0===d.object.fov&&(d.object.zoom*=t)):(t=1+(A.y-S.y)*d.zoomSpeed,1!==t&&t>0&&(y.multiplyScalar(t),void 0===d.object.fov&&(d.object.zoom/=t),d.staticMoving?S.copy(A):S.y+=(A.y-S.y)*this.dynamicDampingFactor))},this.panCamera=function(){var t=new I,e=new N,i=new N;return function(){if(t.copy(T).sub(C),t.lengthSq()){if(void 0===d.object.fov){var n=(d.object.right-d.object.left)/d.object.zoom,r=(d.object.top-d.object.bottom)/d.object.zoom;t.x*=n,t.y*=r}else t.multiplyScalar(y.length()*d.panSpeed);i.copy(y).cross(d.object.up).setLength(t.x),i.add(e.copy(d.object.up).setLength(t.y)),d.object.position.add(i),d.target.add(i),d.staticMoving?C.copy(T):C.add(t.subVectors(T,C).multiplyScalar(d.dynamicDampingFactor))}}}(),this.checkDistances=function(){d.noZoom&&d.noPan||(y.lengthSq()>d.maxDistance*d.maxDistance&&(d.object.position.addVectors(d.target,y.setLength(d.maxDistance)),S.copy(A)),y.lengthSq()p&&(d.dispatchEvent(E),m.copy(d.object.position))},this.reset=function(){g=f.NONE,v=f.NONE,d.target.copy(d.target0),d.object.position.copy(d.position0),d.object.up.copy(d.up0),y.subVectors(d.object.position,d.target),d.object.lookAt(d.target),d.dispatchEvent(E),m.copy(d.object.position)},this.dispose=function(){this.domElement.removeEventListener(\"contextmenu\",l,!1),this.domElement.removeEventListener(\"mousedown\",r,!1),this.domElement.removeEventListener(\"mousewheel\",s,!1),this.domElement.removeEventListener(\"wheel\",s,!1),this.domElement.removeEventListener(\"MozMousePixelScroll\",s,!1),this.domElement.removeEventListener(\"touchstart\",c,!1),this.domElement.removeEventListener(\"touchend\",h,!1),this.domElement.removeEventListener(\"touchmove\",u,!1),document.removeEventListener(\"mousemove\",o,!1),document.removeEventListener(\"mouseup\",a,!1),window.removeEventListener(\"keydown\",i,!1),window.removeEventListener(\"keyup\",n,!1)},this.domElement.addEventListener(\"contextmenu\",l,!1),this.domElement.addEventListener(\"mousedown\",r,!1),this.domElement.addEventListener(\"mousewheel\",s,!1),this.domElement.addEventListener(\"wheel\",s,!1),this.domElement.addEventListener(\"MozMousePixelScroll\",s,!1),this.domElement.addEventListener(\"touchstart\",c,!1),this.domElement.addEventListener(\"touchend\",h,!1),this.domElement.addEventListener(\"touchmove\",u,!1),window.addEventListener(\"keydown\",i,!1),window.addEventListener(\"keyup\",n,!1),this.handleResize(),this.update()}function Mr(t){if(void 0===t)return\"\";var e=[];for(var i in t){var n=t[i];n!==!1&&e.push(\"#define \"+i+\" \"+n)}return e.join(\"\\n\")+\"\\n\"}function Pr(t,e){e=e||{};var i=t+\"|\";for(var n in e)i+=n+\":\"+e[n];if(!Bv[i]){var r=Mr(e),o=Ov.get(\"shader/\"+t);if(!o)throw\"empty shader, '\"+t+\"'\";o=o.replace(zv,function(t,e){var i=\"shader/chunk/\"+e+\".glsl\",n=Ov.get(i)||kp[e];return n?n:\"\"}),Bv[i]=r+o}return Bv[i]}function Cr(t,e,i,n){function r(e){var n=e%u,r=Math.floor(e/u),o=n*m,a=r*g;i.camera.setViewOffset(m*u,g*u,o,a,m,g),i.render(),h?v.drawImage(t.domElement,Math.floor(o/2),Math.floor(a/2),Math.ceil(m/2),Math.ceil(g/2)):v.drawImage(t.domElement,Math.floor(o),Math.floor(a),Math.ceil(m),Math.ceil(g)),\"function\"==typeof l&&l(e+1,f,!1)}function o(){i.setSampling(y),i.camera.view=null,\"function\"==typeof d&&d(f+1,f,!1)}function a(){for(var t=0;t<=f;++t)t===f?o():r(t)}function s(){function t(){e===f?o():r(e),e+=1}for(var e=0,i=0;i<=f;++i)setTimeout(t,0,i)}var c=n||{},u=void 0!==c.factor?c.factor:2,h=void 0!==c.antialias&&c.antialias,l=c.onProgress,d=c.onFinish;h&&(u*=2);var f=u*u,p=document.createElement(\"canvas\"),m=i.width,g=i.height;h?(p.width=m*u/2,p.height=g*u/2):(p.width=m*u,p.height=g*u);var v=p.getContext(\"2d\"),y=i.sampleLevel;i.setSampling(-1),this.render=a,this.renderAsync=s,this.canvas=p}function Tr(t,e,i,n,r){i=i||1,n=n||0;var o,a,s,c=r?r.length:t.length/i,u=0,h=0;if(r)for(a=0;ae?1:t=u&&e(t[o],l)>0;)t[o+1]=t[o],--o;t[o+1]=l}if(c===-1)break;h=s[c--],u=s[c--]}else{var f=u+h>>1;for(o=u+1,a=h,r(f,o),e(t[u],t[h])>0&&r(u,h),e(t[o],t[h])>0&&r(o,h),e(t[u],t[o])>0&&r(u,o),l=t[o];;){do o++;while(e(t[o],l)<0);do a--;while(e(t[a],l)>0);if(a=a-u?(s[++c]=o,s[++c]=h,h=a-1):(s[++c]=u,s[++c]=a-1,u=o)}return t}function kr(t,e,i,n,r){var o,a,s,c,u=t.height,h=t.width,l=t.getContext(\"2d\"),d=l.getImageData(0,0,h,u).data;for(s=!1,a=0;a=0;a--){for(o=h-1;o>=0;o--)if(c=4*(a*h+o),d[c]!==e||d[c+1]!==i||d[c+2]!==n||d[c+3]!==r){s=!0;break}if(s)break}var m=a;for(s=!1,o=h-1;o>=0;o--){for(a=u-1;a>=0;a--)if(c=4*(a*h+o),d[c]!==e||d[c+1]!==i||d[c+2]!==n||d[c+3]!==r){s=!0;break}if(s)break}var g=o,v=document.createElement(\"canvas\");v.width=g-p,v.height=m-f;var y=v.getContext(\"2d\");return y.drawImage(t,p,f,v.width,v.height,0,0,v.width,v.height),v}function Fr(t,e){function i(e){var i=s;c&&(i*=2),e&&(i=1/i),t.scene.traverse(function(t){var e=t.material;e&&e.linewidth&&(e.linewidth*=i),e&&e.uniforms&&e.uniforms.size&&void 0===e.uniforms.size.__seen&&(e.uniforms.size.value*=i,e.uniforms.size.__seen=!0)}),t.scene.traverse(function(t){var e=t.material;e&&e.uniforms&&e.uniforms.size&&delete e.uniforms.size.__seen})}function n(t){if(a){var e=f,i=0|(u?0:255*e.r),n=0|(u?0:255*e.g),r=0|(u?0:255*e.b),o=0|(u?0:255);return kr(t,i,n,r,o)}return t}function r(t,e,i){\"function\"==typeof o.onProgress&&o.onProgress(t,e,i)}var o=e||{},a=void 0!==o.trim&&o.trim,s=void 0!==o.factor?o.factor:1,c=void 0!==o.antialias&&o.antialias,u=void 0!==o.transparent&&o.transparent,h=t.renderer,l=t.camera,d=h.getClearAlpha(),f=h.getClearColor();return new Promise(function(e){function o(o,s){var c=n(a.canvas);c.toBlob(function(n){h.setClearAlpha(d),i(!0),t.requestRender(),r(s,s,!0),e(n)},\"image/png\")}var a=new Cr(h,l,t,{factor:s,antialias:c,onProgress:r,onFinish:o});h.setClearAlpha(u?0:1),i(),a.renderAsync()})}function zr(t,e){var i;t.traverseVisible(function(t){if(t instanceof He&&t.sortParticles){var n=t.geometry.attributes,r=n.position.count;if(0!==r){$v.multiplyMatrices(e.matrixWorldInverse,t.matrixWorld),Vv.multiplyMatrices(e.projectionMatrix,$v);var o,a,s,c;for(t.userData.sortData?(o=t.userData.sortData,s=o.__zArray,a=o.__sortArray,c=o.__cmpFn):(s=new Float32Array(r),a=new Uint32Array(r),c=function(t,e){var i=s[t],n=s[e];return i>n?1:i500&&!Q&&K<3&&K!==-1){var i=K;K=3,Z=!0,B(),Q=!0,K=i,t.Debug&&Pv.log(\"rendered still frame\")}var n=et;n.spinAxis&&n.spinAngle&&(Dt(n.spinAxis,n.spinAngle*it.lastDuration/16),T()),requestAnimationFrame(C)}function T(){Z||(performance.now()-it.startTime>22&&(it.begin(),Q=!1),Z=!0,requestAnimationFrame(function(){B(),it.update()}))}function E(){var t=et;J=Rt.copy(ot.position).sub(At.target).length(),J||(ot.position.set(0,0,t.cameraZ),J=Math.abs(t.cameraZ)),tt=Math.max(10,.5*Lt),tt+=Tt.center(Rt).length(),(tt===1/0||tt===-(1/0)||isNaN(tt))&&(tt=50);var e=(50-t.clipNear)/50,i=-(50-t.clipFar)/50;ot.near=J-tt*e,ot.far=J+tt*i;var n=(50-t.fogNear)/50,r=-(50-t.fogFar)/50,o=at.fog;o.color.set(t.fogColor),o.near=J-tt*n,o.far=J+tt*r,\"PerspectiveCamera\"===ot.type?(ot.near=Math.max(.1,t.clipDist,ot.near),ot.far=Math.max(1,ot.far),o.near=Math.max(.1,o.near),o.far=Math.max(1,o.far)):\"OrthographicCamera\"===ot.type&&0===t.clipNear&&t.clipDist>0&&J+ot.zoom>2*-t.clipDist&&(ot.near+=ot.zoom+t.clipDist)}function I(){E();var t=Dn(nt.fov),e=(ot.near+ot.far)/2,i=2*Math.tan(t/2)*e;rt.zoom=X/i}function L(){ot.updateMatrix(),ot.updateMatrixWorld(!0),ot.matrixWorldInverse.getInverse(ot.matrixWorld),ot.updateProjectionMatrix(),Br(at,ot,pt,J,tt),zr(at,ot)}function R(t,e,i,n){ht.visible=t,lt.visible=e,dt.visible=i,ft.visible=n}function O(){Rt.copy(ot.position).sub(At.target).setLength(100*Lt),st.position.copy(ot.position).add(Rt),st.color.set(et.lightColor),st.intensity=et.lightIntensity,ct.color.set(et.ambientColor),ct.intensity=et.ambientIntensity}function k(){pt.clearTarget(gt),R(!1,!0,!1,!1),pt.render(at,ot,gt),M(),pt.setRenderTarget(null)}function F(e){e?pt.clearTarget(e):pt.clear(),R(!1,!1,!0,!1),pt.render(at,ot,e),e?pt.clearTarget(e,!1,!0,!1):pt.clearDepth(),M(),R(!0,!1,!1,t.Debug),pt.render(at,ot,e),M()}function z(){var t=Wv[Math.max(0,Math.min(K,5))],e=1/t.length,i=1/32;bt.tForeground.value=vt.texture;for(var n=vt.width,r=vt.height,o=0;o0?z():F(),Y=!1,void(Z=!1))}function U(){Pv.log(\"scene cleared\"),at.remove(ut),o(),pt.clear()}function j(t,e){if(void 0===e?Tt.isEmpty()||kt(Tt.center()):kt(e),t){var i;if(t===!0){var n=It,r=Math.max(n.x,n.y,n.z),o=Math.min(n.x,n.y,n.z);i=r+Math.sqrt(o)}else i=t;var a=Dn(nt.fov),s=W/X,c=Xr&&(r=u),h>o&&(o=h),l>a&&(a=l)}return[Yr([e,i,n]),Yr([r,o,a])]}function Wr(t,e){for(var i=0,n=e.length;ie?(e/=t,t*Math.sqrt(1+e*e)):e>0?(t/=e,e*Math.sqrt(1+t*t)):0}function xo(t,e,i,n,r,o,a,s){for(var c=2*Kv,u=Qv,h=0,l=0,d=0,f=0,p=Math.max(o,30),m=0,g=0,v=0,y=0,b=0,x=0,w=0,_=0,S=0,A=0,M=0,P=0,C=0,T=0,E=0,I=0,L=0,R=4660,O=0,D=0,N=0,k=new Float64Array(a<<3);h>16&32767&256)?D:-D,t[h*e+d]=O;for(f=0;f<2;f++)for(l=0;l>o),f=Math.max(0,e-n-c>>o),p=Math.max(0,i-n-u>>o),y=Math.min(h,t+n-s>>o),x=Math.min(l,e+n-c>>o),w=Math.min(d,i+n-u>>o),_=[],S=a;S<=y;++S)for(var A=f;A<=x;++A)for(var P=p;P<=w;++P){var T=(S*l+A)*d+P,I=b[T];if(I>0)for(var L=I-1,R=C[L],O=M[L],D=R+O,N=R;N>o)+1,l=(a.max.y-c>>o)+1,d=(a.max.z-u>>o)+1,f=h*l*d,p=t.count,m=t.x,g=t.y,v=t.z,y=0,b=new Uint32Array(f),x=new Int32Array(p);for(n=0;n>o,_=g[n]-c>>o,S=v[n]-u>>o,A=(w*l+_)*d+S;1===(b[A]+=1)&&(y+=1),x[n]=A}var M=new Uint16Array(y);for(n=0,r=0;n0&&(b[n]=r+1,M[r]=P,r+=1)}var C=new Uint32Array(y);for(n=1;n0){var L=I-1;E[C[L]+T[L]]=n,T[L]+=1}}this.within=i}function Ro(e,i){t.Debug&&Pv.time(\"BondHash init\");var n,r=e.count,o=e.atomIndex1,a=e.atomIndex2,s=new Uint8Array(i),c=new Int32Array(i);for(n=0;ns&&(s=e);var a=o-r;if(0===a)return-1;var u=4*l;if(l+=1,1===a)return h[u]=r,h[u+1]=-1,h[u+2]=-1,h[u+3]=n,u;var f=r+Math.floor(a/2);d=e%3;for(var p,m,g,v,y,b=r,x=o-1;x>b;){for(g=b+x>>1,v=t[3*c[g]+d],m=c[g],c[g]=c[x],c[x]=m,y=b,p=b;pr&&s.pop()}var d,f,p=n(u)%3,m=3*c[h[u]],g=[t[m+0],t[m+1],t[m+2]],v=e(i,g),y=h[u+1],b=h[u+2];if(b===-1&&y===-1)return void((s.size()t[3*c[h[e]]+r])throw\"left child is > parent!\";n+=o(a,i+1)}if(s!==-1){if(t[3*c[h[s]]+r]0&&(e=\":\"+x(t).join(\" OR :\")),new On(e)}function Wo(t){this.name=t||\"\",this.partList=[]}function Xo(t,e){this.matrixList=t||[],this.chainList=e||[]}function qo(e,i){if(i){t.Debug&&Pv.time(\"assignSecondaryStructure\");var n=[];e.eachModel(function(t){t.eachChain(function(t){n.push(t.chainname)})});var r=n.slice().sort(),o=[];r.forEach(function(t){o.push(n.indexOf(t))});var a=i.helices;a=a.filter(function(t){return vh(r,t[0])>=0}),a.sort(function(t,e){var i=t[0],n=e[0],a=t[1],s=e[1];if(i===n)return a===s?0:a=0}),c.sort(function(t,e){var i=t[0],n=e[0];if(i===n)return 0;var a=vh(r,i),s=vh(r,n);return o[a]=r;)e=Math.floor(e/r),o+=n[e%r],i+=1;return i>=5&&Pv.warn(\"chainname overflow\"),o},h=e.getAtomProxy(),l=e.getAtomProxy(),d=0,f=0,p=0,m=0,g=[];1===s.count?g.push({mIndex:0,chainname:\"A\",rStart:0,rCount:1}):e.eachResidueN(2,function(t,e){var i=!1,n=t.backboneType,r=e.backboneType,o=fm;m=t.index,t.modelIndex!==e.modelIndex?i=!0:t.moleculeType!==e.moleculeType?i=!0:n!==o&&n===r&&(h.index=t.backboneEndAtomIndex,l.index=e.backboneStartAtomIndex,h.connectedTo(l)||(i=!0)),i||e.index!==s.count-1||(i=!0,m=e.index),i&&(g.push({mIndex:f,chainname:u(d),rStart:p,rCount:m-p+1}),d+=1,t.modelIndex!==e.modelIndex&&(d=0,f+=1),e.index===s.count-1&&m!==e.index&&g.push({mIndex:f,chainname:u(d),rStart:s.count-1,rCount:1}),p=e.index,m=e.index)}),a.count=0,g.forEach(function(t){c(t.mIndex,t.chainname,t.rStart,t.rCount)});var v=0;e.eachModel(function(t){o.chainOffset[t.index]=v,o.chainCount[t.index]-=1,v+=o.chainCount[t.index]})}t.Debug&&Pv.timeEnd(\"calculateChainnames\")}function Zo(e){t.Debug&&Pv.time(\"calculateBonds\"),Jo(e),ta(e),t.Debug&&Pv.timeEnd(\"calculateBonds\")}function Ko(e){var i=e.structure,n=i.getAtomProxy(),r=i.getAtomProxy(),o=e.atomCount,a=e.atomOffset,s=a+o,c=s-1;if(o>500)return void(t.Debug&&Pv.warn(\"more than 500 atoms, skip residue for auto-bonding\",e.qualifiedName()));var u,h,l=[],d=[],f=[];if(o>50){var p=new Vo(e,!0),m=e.isCg()?1.2:2.3;for(u=a;u500)return void Pv.warn(\"more than 500 atoms, skip residue for auto-bonding\",t.qualifiedName());for(var l=t.getBonds(),d=l.atomIndices1,f=l.atomIndices2,p=l.bondOrders,m=d.length,g=0;g1&&(c.x-=1),s.x<0&&(c.x+=1),s.y>1&&(c.y-=1),s.y<0&&(c.y+=1),s.z>1&&(c.z-=1),s.z<0&&(c.z+=1),t&&c.add(t),u.setPosition(c),u.multiplyMatrices(n.fracToCart,u),u.multiply(n.cartToFrac),e.push(u)}),e}if(e.unitcell){t.Debug&&Pv.time(\"buildUnitcellAssembly\");var n=e.unitcell,r=e.center.clone().applyMatrix4(n.cartToFrac),o=Go(n.spacegroup),a=new N,s=new N,c=new N;r.x>1&&(a.x-=1),r.x<0&&(a.x+=1),r.y>1&&(a.y-=1),r.y<0&&(a.y+=1),r.z>1&&(a.z-=1),r.z<0&&(a.z+=1);var u,h=new Wo(\"UNITCELL\"),l=i();if(e.biomolDict.NCS){u=[new O].concat(e.biomolDict.NCS.partList[0].matrixList);var d=[];l.forEach(function(t){u.forEach(function(e){d.push(t.clone().multiply(e))})}),h.addPart(d)}else h.addPart(l);var f=new N,p=new Wo(\"SUPERCELL\"),m=Array.prototype.concat.call(i(),i(f.set(1,1,1)),i(f.set(-1,-1,-1)),i(f.set(1,0,0)),i(f.set(1,1,0)),i(f.set(1,0,1)),i(f.set(0,1,0)),i(f.set(0,1,1)),i(f.set(0,0,1)),i(f.set(-1,0,0)),i(f.set(-1,-1,0)),i(f.set(-1,0,-1)),i(f.set(0,-1,0)),i(f.set(0,-1,-1)),i(f.set(0,0,-1)),i(f.set(1,-1,-1)),i(f.set(1,1,-1)),i(f.set(1,-1,1)),i(f.set(-1,1,1)),i(f.set(-1,-1,1)),i(f.set(-1,1,-1)),i(f.set(0,1,-1)),i(f.set(0,-1,1)),i(f.set(1,0,-1)),i(f.set(-1,0,1)),i(f.set(1,-1,0)),i(f.set(-1,1,0)));if(e.biomolDict.NCS){var g=[];m.forEach(function(t){u.forEach(function(e){g.push(t.clone().multiply(e))})}),p.addPart(g)}else p.addPart(m);e.biomolDict.UNITCELL=h,e.biomolDict.SUPERCELL=p,t.Debug&&Pv.timeEnd(\"buildUnitcellAssembly\")}}function ia(t){var e=t.bondHash,i=e.countArray,n=e.offsetArray,r=e.indexArray,o=t.getBondProxy();t.eachResidue(function(t){var e=t.residueType;if(void 0===e.bonds){var a=t.atomOffset,s=[],c=[],u=[],h={};t.eachAtom(function(t){for(var e=t.index,l=n[e],d=i[e],f=0,p=d;fg){var v=g;g=m,m=v}var y=m+\"|\"+g;void 0===h[y]&&(h[y]=!0,s.push(m-a),c.push(g-a),u.push(o.bondOrder))}}),e.bonds={atomIndices1:s,atomIndices2:c,bondOrders:u}}})}function na(t,e,i){this.structure=t,i=i||iy(e),this.atomname=e,this.element=i,this.vdw=Cm[i],this.covalent=Em[i]}function ra(t){function e(t,e){return t+\"|\"+e}function i(i,n){n=n||iy(i);var a=e(i,n),s=r[a];if(void 0===s){var c=new na(t,i,n);s=o.length,r[a]=s,o.push(c)}return s}function n(t){return o[t]}var r={},o=[];this.add=i,this.get=n,this.list=o,this.dict=r,this.toJSON=function(){var t={metadata:{version:.1,type:\"AtomMap\",generator:\"AtomMapExporter\"},idDict:r,typeList:o.map(function(t){return t.toJSON()})};return t},this.fromJSON=function(e){r=e.idDict,o=e.typeList.map(function(e){return new na(t,e.atomname,e.element)}),this.list=o,this.dict=r}}function oa(t,e,i,n,r,o){this.structure=t,this.resname=e,this.atomTypeIdList=i,this.hetero=n?1:0,this.chemCompType=r,this.bonds=o,this.rings=void 0,this.atomCount=i.length,this.moleculeType=this.getMoleculeType(),this.backboneType=this.getBackboneType(0),this.backboneEndType=this.getBackboneType(-1),this.backboneStartType=this.getBackboneType(1),this.backboneIndexList=this.getBackboneIndexList();var a=Vm[this.backboneType],s=Vm[this.backboneStartType],c=Vm[this.backboneEndType],u=this.getAtomIndexByName(a.trace);this.traceAtomIndex=void 0!==u?u:-1;var h=this.getAtomIndexByName(a.direction1);this.direction1AtomIndex=void 0!==h?h:-1;var l=this.getAtomIndexByName(a.direction2);this.direction2AtomIndex=void 0!==l?l:-1;var d=this.getAtomIndexByName(s.backboneStart);this.backboneStartAtomIndex=void 0!==d?d:-1;var f=this.getAtomIndexByName(c.backboneEnd);this.backboneEndAtomIndex=void 0!==f?f:-1;var p;p=Fm.includes(e)?this.getAtomIndexByName(\"N1\"):this.getAtomIndexByName(\"N3\"),this.rungEndAtomIndex=void 0!==p?p:-1,this.bondReferenceAtomIndices=[]}function aa(t){function e(t,e,i,n){return t+\"|\"+e.join(\",\")+\"|\"+(i?1:0)+\"|\"+(n?n:\"\")}function i(i,n,a,s,c){i=i.toUpperCase();var u=e(i,n,a,s),h=r[u];if(void 0===h){var l=new oa(t,i,n,a,s,c);h=o.length,r[u]=h,o.push(l)}return h}function n(t){return o[t]}var r={},o=[];this.add=i,this.get=n,this.list=o,this.dict=r}function sa(t,e){this.structure=t,this.bondStore=t.bondStore,this.index=e,this._v12=new N,this._v13=new N,this._ap1=this.structure.getAtomProxy(),this._ap2=this.structure.getAtomProxy(),this._ap3=this.structure.getAtomProxy()}function ca(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueMap=t.residueMap,this.atomMap=t.atomMap,this.bondHash=t.bondHash,this.index=e}function ua(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueMap=t.residueMap,this.atomMap=t.atomMap,this.index=e}function ha(t,e,i){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueIndexStart=e,this.residueIndexEnd=i,this.residueCount=i-e+1;var n=this.structure.getResidueProxy(this.residueIndexStart),r=this.structure.getResidueProxy(this.residueIndexEnd);this.isPrevConnected=void 0!==n.getPreviousConnectedResidue();var o=r.getNextConnectedResidue();this.isNextConnected=void 0!==o,this.isNextNextConnected=this.isNextConnected&&void 0!==o.getNextConnectedResidue(),this.isCyclic=r.connectedTo(n),this.__residueProxy=this.structure.getResidueProxy()}function la(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.index=e,this.__residueProxy=this.structure.getResidueProxy()}function da(t,e){this.structure=t,this.modelStore=t.modelStore,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.index=e}function fa(t,e){this.signals={refreshed:new Rn},this.name=t,this.path=e,this.title=\"\",this.id=\"\",this.header={},this.atomSetCache=void 0,this.atomSetDict={},this.biomolDict={},this.entityList=[],this.unitcell=void 0,this.frames=[],this.boxes=[],this.bondStore=new Do(0),this.backboneBondStore=new Do(0),this.rungBondStore=new Do(0),this.atomStore=new No(0),this.residueStore=new ko(0),this.chainStore=new Fo(0),\nthis.modelStore=new zo(0),this.atomMap=new ra(this),this.residueMap=new aa(this),this.bondHash=void 0,this.spatialHash=void 0,this.atomSet=void 0,this.bondSet=void 0,this.center=void 0,this.boundingBox=void 0,this._bp=this.getBondProxy(),this._ap=this.getAtomProxy(),this._rp=this.getResidueProxy(),this._cp=this.getChainProxy()}function pa(t,e,i){this.name=t,this.path=e,this.info={},this.center=new N,this.boundingBox=new Et,i instanceof ae||i instanceof ue||i instanceof We?this.fromGeometry(i):i&&this.set(i.position,i.index,i.normal,i.color,i.atomindex,i.contour)}function ma(e){var i=0,n=0,r={},o={},a=URL.createObjectURL(Tv.get(e)),s=new window.Worker(a);Tv.activeWorkerCount+=1,s.onmessage=function(n){i-=1;var a=n.data.__postId;t.Debug&&Pv.timeEnd(\"Worker.postMessage \"+e+\" #\"+a),r[a]&&r[a].call(s,n),delete r[a],delete o[a]},s.onerror=function(t){if(i-=1,t.data){var n=t.data.__postId;o[n]?o[n].call(s,t):Pv.error(\"Worker.onerror\",n,e,t),delete r[n],delete o[n]}else Pv.error(\"Worker.onerror\",e,t)},this.name=e,this.post=function(a,c,u,h){r[n]=u,o[n]=h,a=a||{},a.__name=e,a.__postId=n,a.__debug=t.Debug,t.Debug&&Pv.time(\"Worker.postMessage \"+e+\" #\"+n);try{s.postMessage(a,c)}catch(t){Pv.error(\"worker.post:\",t),s.postMessage(a)}return i+=1,n+=1,this},this.terminate=function(){s?(s.terminate(),URL.revokeObjectURL(a),Tv.activeWorkerCount-=1):Pv.log(\"no worker to terminate\")},Object.defineProperties(this,{postCount:{get:function(){return n}},pending:{get:function(){return i}}})}function ga(t,e){e=Math.min(8,e||2);var i=[],n=0;this.name=t,this.maxCount=e,this.post=function(t,e,i,n){var r=this.getNextWorker();return r.post(t,e,i,n),this},this.terminate=function(){i.forEach(function(t){t.terminate()})},this.getNextWorker=function(){for(var r,o=1/0,a=0;a=n){r=new ma(t),i.push(r),n+=1;break}var s=i[a];if(0===s.pending){o=s.pending,r=s;break}s.pending=g){R=m,E=!0;break}if(E)break}if(E)break}for(E=!1,p=o;p=g){L=p,E=!0;break}if(E)break}if(E)break}for(E=!1,d=r;d=g){I=d,E=!0;break}if(E)break}if(E)break}for(E=!1,m=u;m>=a;--m){for(p=c;p>=o;--p){for(d=s;d>=r;--d)if(l=e*i*m+e*p+d,t[l]>=g){N=m,E=!0;break}if(E)break}if(E)break}for(E=!1,p=c;p>=o;--p){for(m=N;m>=a;--m){for(d=s;d>=r;--d)if(l=e*i*m+e*p+d,t[l]>=g){D=p,E=!0;break}if(E)break}if(E)break}for(E=!1,d=s;d>=r;--d){for(p=D;p>=o;--p){for(m=N;m>=a;--m)if(l=e*i*m+e*p+d,t[l]>=g){O=d,E=!0;break}if(E)break}if(E)break}v?(r=Math.max(0,I-1),o=Math.max(0,L-1),a=Math.max(0,R-1),s=Math.min(e-1,O+1),c=Math.min(i-1,D+1),u=Math.min(n-1,N+1)):(r=Math.max(1,I-1),o=Math.max(1,L-1),a=Math.max(1,R-1),s=Math.min(e-2,O+1),c=Math.min(i-2,D+1),u=Math.min(n-2,N+1));var k=15;for(m=a;m65535?Uint32Array:Uint16Array;return{position:new Float32Array(S),normal:v?void 0:new Float32Array(A),index:new s(M),atomindex:r?new Int32Array(P):void 0,contour:y}}}function wa(t,e,i,n){i=i||1,n=n||!0;var r,o=t.length/3,a=e.length/3;n&&(r=new Float32Array(3*o));var s,c=new Float32Array(3*o),u=20,h=new Array(u);for(s=0;s.9*e[3*n+n])if(o>0)for(r=0;r<3;++r)t[i+r]-=e[3*n+r];else for(r=0;r<3;++r)t[i+r]+=e[3*n+r];return t}}function La(t,e,i){this.signals={gotNumframes:new Rn,frameChanged:new Rn,selectionChanged:new Rn,playerChanged:new Rn};var n=i||{};n.centerPbc=d(n.centerPbc,!0),n.removePbc=d(n.removePbc,!0),n.superpose=d(n.superpose,!0),this.setParameters(n),this.name=t.replace(/^.*[\\\\\\/]/,\"\"),this.selection=new On(d(n.sele,\"backbone and not hydrogen\")),this.selection.signals.stringChanged.add(function(){this.makeIndices(),this.resetCache()},this),this.setStructure(e),this.trajPath=t,this.numframes=void 0,this.getNumframes()}function Ra(t){return\"front\"===t?Mh:\"back\"===t?Ph:\"double\"===t?Ch:Ch}function Oa(t,e,i,n,r){var o=r||{};this.pickable=!1,this.dynamic=!0,this.opaqueBack=d(o.opaqueBack,!1),this.dullInterior=d(o.dullInterior,!1),this.side=d(o.side,\"double\"),this.opacity=d(o.opacity,1),this.clipNear=d(o.clipNear,0),this.clipRadius=d(o.clipRadius,0),this.clipCenter=d(o.clipCenter,new N),this.flatShaded=d(o.flatShaded,!1),this.background=d(o.background,!1),this.linewidth=d(o.linewidth,1),this.wireframe=d(o.wireframe,!1),this.wireframeLinewidth=d(o.wireframeLinewidth,1),this.roughness=d(o.roughness,.4),this.metalness=d(o.metalness,0),this.diffuse=d(o.diffuse,16777215),this.forceTransparent=d(o.forceTransparent,!1),this.geometry=new ue,this.addAttributes({position:{type:\"v3\",value:t},color:{type:\"c\",value:e}}),this.indexVersion=0,this.wireframeIndexVersion=-1,i&&(this.geometry.setIndex(new Kt(i,1)),this.geometry.getIndex().setDynamic(this.dynamic)),n&&(this.addAttributes({pickingColor:{type:\"c\",value:n}}),this.pickable=!0),this.uniforms=Fd.merge([zp.common,{fogColor:{value:null},fogNear:{value:0},fogFar:{value:0},opacity:{value:this.opacity},nearClip:{value:0},clipRadius:{value:this.clipRadius},clipCenter:{value:this.clipCenter}},{emissive:{value:new Ct(0)},roughness:{value:this.roughness},metalness:{value:this.metalness}},zp.ambient,zp.lights]),this.uniforms.diffuse.value.set(this.diffuse);var a=new rn(0).onUpdate(function(t){this.value=Av?t.id:t.id/255});this.pickingUniforms={nearClip:{value:0},objectId:a},this.group=new We,this.wireframeGroup=new We,this.pickingGroup=new We,this.makeWireframeGeometry()}function Da(t,e,i,n,r,o){var a=o||{};this.size=t?t.length/3:0,this.attributeSize=this.size,this.vertexShader=\"Mesh.vert\",this.fragmentShader=\"Mesh.frag\",Oa.call(this,t,e,i,r,a),this.addAttributes({normal:{type:\"v3\",value:n}}),void 0===n&&this.geometry.computeVertexNormals()}function Na(t){for(var e,i,n=t.vertices,r=n.length,o=new Float32Array(3*r),a=0;a65535?Uint32Array:Uint16Array,a=new o(3*r),s=0;s65535?Uint32Array:Uint16Array;this.meshIndex=new u(c*o*3),this.makeIndex(),Da.call(this,this.meshPosition,this.meshColor,this.meshIndex,this.meshNormal,this.meshPickingColor,a),this.initNormals=!0,this.setAttributes({position:t,color:e,pickingColor:i}),this.initNormals=!1}function Ba(t,e,i,n,r){var o=r||{},a=d(o.sphereDetail,1);this.geo=new wn(1,a),this._radius=i,za.call(this,t,e,n,o)}function Ua(t){this.size=this.count,this.attributeSize=this.count*this.mappingSize;var e=this.count*this.mappingIndicesSize,i=this.attributeSize>65535?Uint32Array:Uint16Array;this.index=new i(e),this.makeIndex(),Oa.call(this,null,null,this.index,null,t),this.addAttributes({mapping:{type:this.mappingType,value:null}})}function ja(t){this.mapping=new Float32Array([-1,1,-1,-1,1,1,1,-1]),this.mappingIndices=new Uint16Array([0,1,2,1,3,2]),this.mappingIndicesSize=6,this.mappingType=\"v2\",this.mappingSize=4,this.mappingItemSize=2,Ua.call(this,t)}function $a(t,e,i,n,r){this.impostor=!0,this.count=t.length/3,this.vertexShader=\"SphereImpostor.vert\",this.fragmentShader=\"SphereImpostor.frag\",ja.call(this,r),this.addUniforms({projectionMatrixInverse:{value:new O},ortho:{value:0}}),this.addAttributes({radius:{type:\"f\",value:null}}),this.setAttributes({position:t,color:e,radius:i}),n&&(this.addAttributes({pickingColor:{type:\"c\",value:null}}),this.setAttributes({pickingColor:n}),this.pickable=!0),this.makeMapping()}function Va(t,e,i,n,r){var o=r||{};return!Mv||o.disableImpostor?new Ba(t,e,i,n,r):new $a(t,e,i,n,r)}function Ga(t,e,i,n,r,o,a){var s=a||{},c=d(s.sphereDetail,2);this.updateNormals=!0,this.geo=new wn(1,c),this._radius=i,this._majorAxis=n,this._minorAxis=r,za.call(this,t,e,o,s)}function Ha(t,e,i,n,r,o,a){return new Ga(t,e,i,n,r,o,a)}function Wa(t,e,i,n,r,o,a,s){var c=s||{},u=d(c.radialSegments,10),h=d(c.openEnded,!0);this.updateNormals=!0;var l=(new O).makeRotationX(Math.PI/2);this.geo=new yn(1,1,1,u,1,h),this.geo.applyMatrix(l);var f=t.length,p=r.length;this._position=new Float32Array(2*f),this._color=new Float32Array(2*f),this._pickingColor=new Float32Array(2*f),this._from=new Float32Array(2*f),this._to=new Float32Array(2*f),this._radius=new Float32Array(2*p),this.__center=new Float32Array(f),za.call(this,this._position,this._color,this._pickingColor,c),this.setAttributes({position1:t,position2:e,color:i,color2:n,radius:r,pickingColor:o,pickingColor2:a})}function Xa(t){this.mapping=new Float32Array([-1,1,-1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1]),this.mappingIndices=new Uint16Array([0,1,2,1,4,2,2,4,3,4,5,3]),this.mappingIndicesSize=12,this.mappingType=\"v3\",this.mappingSize=6,this.mappingItemSize=3,Ua.call(this,t)}function qa(t,e,i,n,r,o,a,s){var c=s||{};this.openEnded=d(c.openEnded,!1),this.impostor=!0,this.count=t.length/3,this.vertexShader=\"CylinderImpostor.vert\",this.fragmentShader=\"CylinderImpostor.frag\",Xa.call(this,c);var u=new rn(new O).onUpdate(function(t){this.value.getInverse(t.modelViewMatrix)});this.addUniforms({modelViewMatrixInverse:u,ortho:{value:0}}),this.addAttributes({position1:{type:\"v3\",value:null},position2:{type:\"v3\",value:null},color2:{type:\"c\",value:null},radius:{type:\"f\",value:null}}),this.setAttributes({position1:t,position2:e,color:i,color2:n,radius:r}),o&&(this.addAttributes({pickingColor:{type:\"c\",value:null},pickingColor2:{type:\"c\",value:null}}),this.setAttributes({pickingColor:o,pickingColor2:a}),this.pickable=!0),this.makeMapping()}function Ya(t,e,i,n,r,o,a,s){var c=s||{};return!Mv||c.disableImpostor?new Wa(t,e,i,n,r,o,a,s):new qa(t,e,i,n,r,o,a,s)}function Za(t,e,i,n,r,o){var a=o||{},s=d(a.radialSegments,60),c=d(a.openEnded,!1);this.updateNormals=!0;var u=(new O).makeRotationX(-Math.PI/2);this.geo=new Tn(1,1,s,1,c),this.geo.applyMatrix(u);var h=t.length,l=n.length;this._position=new Float32Array(h),this._from=new Float32Array(h),this._to=new Float32Array(h),this._radius=new Float32Array(l),za.call(this,this._position,i,r,a),this.setAttributes({position1:t,position2:e,color:i,radius:n,pickingColor:r})}function Ka(t,e,i,n,r,o){return new Za(t,e,i,n,r,o)}function Qa(t,e,i,n,r,o){function a(t){var e,i,n={};if(t.radius){for(e=0,i=p.length;e65535?Uint32Array:Uint16Array;i=new r(i)}Array.isArray(n)&&(n=new Float32Array(n));var o=new Da(t,e,i,n);S.push(o),_.setFromArray(t),x.union(_)}function o(t,e,n){i(t,A),i(e,M),P.push(n),x.expandByPoint(w.fromArray(t))}function a(t,e,n,r,o){i(t,C),i(e,T),E.push(n),i(r,I),i(o,L),x.expandByPoint(w.fromArray(t))}function s(t,e,n,r){i(t,R),i(e,O),i(n,D),k.push(r),x.expandByPoint(w.fromArray(t)),x.expandByPoint(w.fromArray(e))}function c(t,e,n,r){i(t,F),i(e,z),i(n,B),U.push(r),x.expandByPoint(w.fromArray(t)),x.expandByPoint(w.fromArray(e))}function u(t,e,n,r){i(t,j),i(e,$),i(n,V),G.push(r),x.expandByPoint(w.fromArray(t)),x.expandByPoint(w.fromArray(e))}function h(){var t=[];if(A.length){var e=new Va(new Float32Array(A),new Float32Array(M),new Float32Array(P),void 0,{sphereDetail:m,disableImpostor:v});t.push(e)}if(C.length){var i=new Ha(new Float32Array(C),new Float32Array(T),new Float32Array(E),new Float32Array(I),new Float32Array(L),void 0,{sphereDetail:m,disableImpostor:v});t.push(i)}if(R.length){var n=new Ya(new Float32Array(R),new Float32Array(O),new Float32Array(D),new Float32Array(D),new Float32Array(k),void 0,void 0,{radialSegments:g,disableImpostor:v,openEnded:y});t.push(n)}if(F.length){var r=new Ka(new Float32Array(F),new Float32Array(z),new Float32Array(B),new Float32Array(U),void 0,{radialSegments:g,disableImpostor:v,openEnded:y});t.push(r)}if(j.length){var o=new Qa(new Float32Array(j),new Float32Array($),new Float32Array(V),new Float32Array(G),void 0,{aspectRatio:p,radialSegments:g,disableImpostor:v,openEnded:y});t.push(o)}return S.concat(t)}function l(){S.forEach(function(t){t.dispose()}),S.length=0,A.length=0,M.length=0,P.length=0,C.length=0,T.length=0,E.length=0,I.length=0,L.length=0,R.length=0,O.length=0,D.length=0,k.length=0,F.length=0,z.length=0,B.length=0,U.length=0,j.length=0,$.length=0,V.length=0,G.length=0}this.name=d(t,\"shape\");var f=e||{},p=d(f.aspectRatio,1.5),m=d(f.sphereDetail,2),g=d(f.radialSegments,50),v=d(f.disableImpostor,!1),y=d(f.openEnded,!1),b=new N,x=new Et,w=new N,_=new Et,S=[],A=[],M=[],P=[],C=[],T=[],E=[],I=[],L=[],R=[],O=[],D=[],k=[],F=[],z=[],B=[],U=[],j=[],$=[],V=[],G=[];Object.defineProperties(this,{center:{get:function(){return x.center(b)}}}),this.boundingBox=x,this.addBuffer=n,this.addMesh=r,this.addSphere=o,this.addEllipsoid=a,this.addCylinder=s,this.addCone=c,this.addArrow=u,this.getBufferList=h,this.dispose=l}function ts(t,e,i){this.viewer=e,this.gidPool=i?i.gidPool:void 0,this.tasks=new wr,this.queue=new Ca(this.make.bind(this)),this.bufferList=[],this.init(i)}function es(t,e,i){Array.isArray(t)||(t=[t]),ts.call(this,t,e,i),this.buffer=t,this.build()}function is(){Da.apply(this,arguments)}function ns(t){this.size=t.size,this.side=t.side,this.wireframe=t.wireframe,this.visible=t.visible,this.geometry=t.geometry,this.pickable=t.pickable,this.background=t.background,this.group=new We,this.wireframeGroup=new We,this.pickingGroup=new We;var e=[],i=[],n=t,r=new t.constructor;n.makeMaterial(),r.makeMaterial(),r.geometry=t.geometry,r.wireframeGeometry=t.wireframeGeometry,r.size=t.size,r.attributeSize=t.attributeSize,r.pickable=t.pickable,r.setParameters(t.getParameters()),r.updateShader(),n.setParameters({side:\"front\"}),r.setParameters({side:\"back\",opacity:r.opacity}),this.getMesh=function(t){var o,a;return t?(a=r.getPickingMesh(),o=n.getPickingMesh()):(a=r.getMesh(),o=n.getMesh()),e.push(o),i.push(a),this.setParameters({side:this.side}),(new We).add(a,o)},this.getWireframeMesh=function(){return t.getWireframeMesh()},this.getPickingMesh=function(){return this.getMesh(!0)},this.setAttributes=function(e){t.setAttributes(e)},this.setParameters=function(t){t=Object.assign({},t),\"front\"===t.side?(e.forEach(function(t){t.visible=!0}),i.forEach(function(t){t.visible=!1})):\"back\"===t.side?(e.forEach(function(t){t.visible=!1}),i.forEach(function(t){t.visible=!0})):\"double\"===t.side&&(e.forEach(function(t){t.visible=!0}),i.forEach(function(t){t.visible=!0})),void 0!==t.side&&(this.side=t.side),delete t.side,n.setParameters(t),void 0!==t.wireframe&&(this.wireframe=t.wireframe,this.setVisibility(this.visible)),delete t.wireframe,r.setParameters(t)},this.setVisibility=Oa.prototype.setVisibility,this.dispose=function(){n.dispose(),r.dispose()}}function rs(t,e,i){ts.call(this,t,e,i),t instanceof Pa?(this.surface=void 0,this.volume=t):(this.surface=t,this.volume=void 0),this.boxCenter=new N,this.__boxCenter=new N,this.box=new Et,this.__box=new Et,this.setBox=function(){var t=new N;return function(){var i=e.controls.target,n=e.rotationGroup.position;t.copy(n).negate().add(i),t.equals(this.boxCenter)||this.setParameters({boxCenter:t})}.bind(this)}.bind(this)(),this.viewer.signals.orientationChanged.add(this.setBox),this.build()}function os(t){function e(t,e,i){return Math.min(Math.max(t,e),i)}function i(t,e,i,n){var r=i-t,o=n-e;return Math.sqrt(r*r+o*o)}function n(t,i,n){return n=e((n-t)/(i-t),0,1),n*n*(3-2*n)}for(var r=Object.assign({},t),o=d(r.width,256),a=d(r.height,256),s=[o/2,a/2],c=Math.min(o/2,a/2),u=d(r.delta,1/(c+1))*c,h=0,l=0,f=new Uint8Array(o*a*4),p=0,m=f.length;p1&&(l=1),r(e,i,n,o,h,p),r(e,i,n,o,l,m),m.sub(p).normalize(),m.toArray(a,g)}}function s(e,i,n,r,o){for(var a,s=i.next(),c=i.next(),u=i.next(),h=i.size,l=h-1,d=r||0,f=0;f65535?Uint32Array:Uint16Array;this.meshIndex=new p(f),this.makeIndex(),Da.call(this,this.meshPosition,this.meshColor,this.meshIndex,this.meshNormal,this.meshPickingColor,c),this.setAttributes({position:t,normal:e,binormal:i,tangent:n,color:r,size:o,pickingColor:a})}function Vs(t,e,i){hs.call(this,t,e,i)}function Gs(t,e){this.sview1=t,this.sview2=e,this.kdtree2=new Vo(e)}function Hs(t,e,i){e=e||3.5,i=i||40;for(var n=new On(\"( ARG and ( .NE or .NH1 or .NH2 ) ) or ( ASP and .ND2 ) or ( GLN and .NE2 ) or ( HIS and ( .ND1 or .NE2 ) ) or ( LYS and .NZ ) or ( SER and .OG ) or ( THR and .OG1 ) or ( TRP and .NE1 ) or ( TYR and .OH ) or ( PROTEIN and .N )\"),r=new On(\"( ASN and .OD1 ) or ( ASP and ( OD1 or .OD2 ) ) or ( GLN and .OE1 ) or ( GLU and ( .OE1 or .OE2 ) ) or ( HIS and ( .ND1 or .NE2 ) ) or ( SER and .OG ) or ( THR and .OG1 ) or ( TYR and .OH ) or ( PROTEIN and .O )\"),o=t.getView(n),a=t.getView(r),s=new Gs(o,a),c=s.within(e),u=c.bondStore,h=t.getAtomProxy(),l=t.getAtomProxy(),d=t.getAtomProxy(),f=t.getAtomProxy(),p=t.getResidueProxy(),m=t.getResidueProxy(),g=new N,v=new N,y=function(t,e,n,r){var o,a;t.atomname===n?(o=t,a=e):(o=e,a=t),p.index=o.residueIndex;var s=p.getAtomIndexByName(r);return g.subVectors(s,o),v.subVectors(s,a),Nn(g.angleTo(v))i&&c.bondSet.flip_unsafe(b)}else(\"OH\"===h.atomname&&\"TYR\"===h.resname||\"OH\"===l.atomname&&\"TYR\"===l.resname)&&(y(h,l,\"OH\",\"CZ\")||c.bondSet.flip_unsafe(b));return{atomSet:c.atomSet,bondSet:c.bondSet,bondStore:c.bondStore}}function Ws(t,e,i){e=e||3.5,i=i||40;for(var n=new On(\"( PROTEIN and .N )\"),r=new On(\"( PROTEIN and .O )\"),o=t.getView(n),a=t.getView(r),s=new Gs(o,a),c=s.within(e),u=c.bondStore,h=t.getAtomProxy(),l=t.getAtomProxy(),d=t.getAtomProxy(),f=t.getAtomProxy(),p=t.getResidueProxy(),m=t.getResidueProxy(),g=new N,v=new N,y=0,b=u.count;yi&&c.bondSet.flip_unsafe(y)))}}return{atomSet:c.atomSet,bondSet:c.bondSet,bondStore:c.bondStore}}function Xs(t,e,i){hs.call(this,t,e,i)}function qs(t){var e=Object.assign({},t);if(this.font=d(e.font,[\"sans-serif\"]),this.size=d(e.size,36),this.style=d(e.style,\"normal\"),this.variant=d(e.variant,\"normal\"),this.weight=d(e.weight,\"normal\"),this.outline=d(e.outline,0),this.width=d(e.width,1024),this.height=d(e.height,1024),this.gamma=1,\"undefined\"!=typeof navigator){var i=navigator.userAgent;i.match(/Chrome/)&&i.match(/OS X/)&&(this.gamma=.5)}this.mapped={},this.scratchW=0,this.scratchH=0,this.currentX=0,this.currentY=0,this.build(),this.populate(),this.texture=new qe(this.canvas2),this.texture.flipY=!1,this.texture.needsUpdate=!0}function Ys(t,e,i,n,r){var o=r||{};o.forceTransparent=!0,this.fontFamily=d(o.fontFamily,\"sans-serif\"),this.fontStyle=d(o.fontStyle,\"normal\"),this.fontWeight=d(o.fontWeight,\"bold\"),this.fontSize=d(o.fontSize,48),this.sdf=d(o.sdf,\"Chrome\"===_v),this.xOffset=d(o.xOffset,0),this.yOffset=d(o.yOffset,0),this.zOffset=d(o.zOffset,.5),this.attachment=d(o.attachment,\"bottom-left\"),this.showBorder=d(o.showBorder,!1),this.borderColor=d(o.borderColor,\"lightgrey\"),this.borderWidth=d(o.borderWidth,.15),this.showBackground=d(o.showBackground,!1),this.backgroundColor=d(o.backgroundColor,\"lightgrey\"),this.backgroundMargin=d(o.backgroundMargin,.5),this.backgroundOpacity=d(o.backgroundOpacity,1);for(var a=t.length/3,s=0,c=0;ca?u[h]=-1:(o=Math.sqrt(a-r),u[h]=Math.floor(o)),++h;A[l]=c,S[l]=u}}function o(i){var n,r,o,a,s,c,u,h,l,d,f,p,m,v,w,M,T,I,L=3*i,O=i;n=Math.floor(.5+g*(t[L]+_[0])),r=Math.floor(.5+g*(t[L+1]+_[1])),o=Math.floor(.5+g*(t[L+2]+_[2]));var D,N=e[O],k=S[N],F=0,z=b*x,B=A[N];for(d=0;d=y||v>=b||w>=x)){var U=m*z+v*x+w;if(P)if(C[U]&R){if(C[U]&R){var j=E[U];j!==L&&(a=n+u-Math.floor(.5+g*(t[j]+_[0])),s=r+h-Math.floor(.5+g*(t[j+1]+_[1])),c=o+l-Math.floor(.5+g*(t[j+2]+_[2])),u*u+h*h+l*l=y||f>=b||p>=x)){var z=d*F+f*x+p;if(C[z]&O){if(P){var B=E[z];a=Math.floor(.5+g*(t[B]+_[0])),s=Math.floor(.5+g*(t[B+1]+_[1])),c=Math.floor(.5+g*(t[B+2]+_[2])),u*u+h*h+l*l-1&&a-1&&c-1&&s0);var p,m=v*v,g=new Uint16Array(3);for(t=0;t=m)||(C[r]|=D,P&&C[r]&O&&(o.toArray(t,e,i,g),p=g[0]*a+g[1]*x+g[2],E[r]=E[p])));console.timeEnd(\"EDTSurface fastdistancemap\")}function l(t,e,i,n){var r,o,a,s,c,u,h,l,d,f,p,m,g=new Uint16Array(3),v=0;if(0===i)return v;var w=-1,_=-1,S=-1,A=b*x;for(h=0,d=i;h-1&&_-1&&S-1&&(p=w*A+x*_+S,C[p]&R&&!(C[p]&O)?(e.fromArray(w,_,S,g),s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,T[p]=f,C[p]|=O,C[p]|=D,n[v]=w,n[v+1]=_,n[v+2]=S,v+=3):C[p]&R&&C[p]&O&&(s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,f-1&&_-1&&S-1&&(p=w*A+x*_+S,C[p]&R&&!(C[p]&O)?(e.fromArray(w,_,S,g),s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,T[p]=f,C[p]|=O,C[p]|=D,n[v]=w,n[v+1]=_,n[v+2]=S,v+=3):C[p]&R&&C[p]&O&&(s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,f-1&&_-1&&S-1&&(p=w*A+x*_+S,C[p]&R&&!(C[p]&O)?(e.fromArray(w,_,S,g),s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,T[p]=f,C[p]|=O,C[p]|=D,n[v]=w,n[v+1]=_,n[v+2]=S,v+=3):C[p]&R&&C[p]&O&&(s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,fT&&(T=R)}this.neighbourListLength=27*T+1,this.withinRadii=function(r,o,a,c,d){for(var f=0,p=s(r,u),y=s(o,h),x=s(a,l),w=Math.max(0,p-1),_=Math.max(0,y-1),S=Math.max(0,x-1),C=Math.min(m,p+1),T=Math.min(g,y+1),E=Math.min(v,x+1),I=w;I<=C;++I)for(var L=I*b,R=_;R<=T;++R)for(var O=R*v,D=S;D<=E;++D)for(var N=L+O+D,k=A[N],F=k+M[N],z=k;zC&&(C=M[h]);o(),a(),s(),W=-1}function r(t,e,i){for(var n=0;n=0;){if(o!==n&&o!==r&&u(o,t,e,i))return W=o,o;o=$[++a]}return W=-1,-1}function u(e,i,n,r){var o=3*e,a=P[e],s=t[o]-i,c=t[o+1]-n,u=t[o+2]-r,h=s*s+c*c+u*u;return h=0;)t0&&s65535?Uint32Array:Uint16Array;this.meshIndex=new l(h),this.makeIndex(),Da.call(this,this.meshPosition,this.meshColor,this.meshIndex,this.meshNormal,this.meshPickingColor,s),this.vertexShader=\"Ribbon.vert\",this.fragmentShader=\"Mesh.frag\",this.geometry.addAttribute(\"dir\",new Kt(new Float32Array(h),3)),this.geometry.addAttribute(\"size\",new Kt(new Float32Array(u),1)),this.setAttributes({position:t,normal:e,dir:i,color:n,size:r,pickingColor:o})}function vc(t,e,i){hs.call(this,t,e,i),this.defaultScale.sstruc*=3}function yc(t,e,i){this.helixbundleList=[],hs.call(this,t,e,i)}function bc(t,e,i){Vs.call(this,t,e,i)}function xc(t,e,i){hs.call(this,t,e,i)}function wc(t,e,i){var n=i||{};this.size=t.length/3,this.vertexShader=\"Line.vert\",this.fragmentShader=\"Line.frag\",this.line=!0;var r=this.size,o=r-1;this.attributeSize=2*o,this.linePosition=new Float32Array(3*o*2),this.lineColor=new Float32Array(3*o*2),Oa.call(this,this.linePosition,this.lineColor,void 0,void 0,n),this.setAttributes({position:t,color:e})}function _c(t,e,i){hs.call(this,t,e,i)}function Sc(t,e,i){Vs.call(this,t,e,i)}function Ac(t,e,i){hs.call(this,t,e,i)}function Mc(t,e){var i=e||{};this.streamer=t,this.name=d(i.name,\"\"),this.path=d(i.path,\"\")}function Pc(t){function e(t){for(var e=l.atomCount[t],r=l.atomOffset[t],o=new Array(e),a=0;a0&&e(g-1),l.growIfFull(),l.resno[g]=w,void 0!==S&&(l.sstruc[g]=S.charCodeAt(0)),void 0!==A&&(l.inscode[g]=A.charCodeAt(0)),l.atomOffset[g]=m,l.atomCount[g]=0,l.count+=1,l.chainIndex[g]=v,d.residueCount[v]+=1),h.count+=1,h.residueIndex[m]=g,l.atomCount[g]+=1,r=t,o=b,a=x,s=w,c=A,u=_},this.finalize=function(){i=a,n=u,g>-1&&e(g)}}function Cc(t,e){var i=e||{};this.firstModelOnly=d(i.firstModelOnly,!1),this.asTrajectory=d(i.asTrajectory,!1),this.cAlphaOnly=d(i.cAlphaOnly,!1),Mc.call(this,t,i),this.structure=new fa(this.name,this.path),this.structureBuilder=new Pc(this.structure)}function Tc(t,e,i,n,r,o,a,s){this.a=t||1,this.b=e||1,this.c=i||1,this.alpha=n||90,this.beta=r||90,this.gamma=o||90,this.spacegroup=a||\"P 1\";var c=Dn(this.alpha),u=Dn(this.beta),h=Dn(this.gamma),l=Math.cos(c),d=Math.cos(u),f=Math.cos(h),p=Math.sin(u),m=Math.sin(h);if(this.volume=this.a*this.b*this.c*Math.sqrt(1-l*l-d*d-f*f+2*l*d*f),void 0===s){var g=this.a*this.b*m/this.volume,v=(d*f-l)/(p*m);this.fracToCart=(new O).set(this.a,0,0,0,this.b*f,this.b*m,0,0,this.c*d,-this.c*p*v,1/g,0,0,0,0,1).transpose(),this.cartToFrac=(new O).getInverse(this.fracToCart)}else this.cartToFrac=s,this.fracToCart=(new O).getInverse(this.cartToFrac)}function Ec(t,e){Cc.call(this,t,e)}function Ic(t){switch(t=t.toLowerCase()){case\"polymer\":return im;case\"non-polymer\":return nm;case\"macrolide\":return rm;case\"water\":return om;default:return em}}function Lc(t,e,i,n,r){this.structure=t,this.index=e,this.description=i||\"\",this.entityType=Ic(n||\"\"),this.chainIndexList=r||[],r.forEach(function(i){t.chainStore.entityIndex[i]=e})}function Rc(t,e){Cc.call(this,t,e)}function Oc(t,e){Cc.call(this,t,e)}function Dc(t,e){Array.isArray(t[e])||Object.keys(t).forEach(function(e){t[e]=[t[e]]})}function Nc(t){return\"?\"!==t}function kc(t,e){return Nc(t)?t:e}function Fc(t){switch(t.toLowerCase()){case\"?\":case\"sing\":return 1;case\"doub\":return 2;case\"trip\":return 3;case\"quad\":return 4}return 0}function zc(t,e,i){var n,r,o=e.atomStore,a=e.atomMap,s=t.chem_comp,c=t.chem_comp_atom,u=t.chem_comp_bond;s&&(s.name&&(e.title=s.name.trim().replace(fy,\"\")),s.id&&(e.id=s.id.trim().replace(fy,\"\")));var h={};if(c){var l,d,f,p;for(r=c.comp_id.length,n=0;n0){o=o.split(\"(\");var c=s(o[0]),u=s(o[1]);Object.keys(c).forEach(function(t){Object.keys(u).forEach(function(e){var i=new O;i.multiplyMatrices(c[t],u[e]),n[t+\"x\"+e]=i})})}else n=s(o);var h=[];for(var l in n)h.push(n[l]);var d=t;/^(0|[1-9][0-9]*)$/.test(d)&&(d=\"BU\"+d);for(var f=a.asym_id_list[e].split(\",\"),p=0,m=f.length;p_){var S=w;w=_,_=S;var A=p;p=b,b=A}if(0!==w&&0!==_)for(var M=0;M<_;++M)o.index=p[M%w],a.index=b[M],o&&a?e.bondStore.addBond(o,a,Fc(n.pdbx_value_order[c])):Pv.log(\"atoms for connection not found\");else Pv.warn(\"no atoms found for\",f,y)}}}}function $c(t,e,i){if(t.entity){Dc(t.entity,\"id\");for(var n=t.entity,r=n.id.length,o=0;oo&&++s;e=new Int32Array(s)}for(i=0,n=0;in){for(var r=[],o=0;o>>16&65535|0,a=0;0!==i;){a=i>2e3?2e3:i,i-=a;do r=r+e[n++]|0,o=o+r|0;while(--a);r%=65521,o%=65521}return r|o<<16|0}function zu(){for(var t,e=[],i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e}function Bu(t,e,i,n){var r=xy,o=n+i;t^=-1;for(var a=n;a>>8^r[255&(t^e[a])];return t^-1}function Uu(t,e){var i,n,r,o,a,s,c,u,h,l,d,f,p,m,g,v,y,b,x,w,_,S,A,M,P;i=t.state,n=t.next_in,M=t.input,r=n+(t.avail_in-5),o=t.next_out,P=t.output,a=o-(e-t.avail_out),s=o+(t.avail_out-257),c=i.dmax,u=i.wsize,h=i.whave,l=i.wnext,d=i.window,f=i.hold,p=i.bits,m=i.lencode,g=i.distcode,v=(1<>>24,f>>>=x,p-=x,x=b>>>16&255,0===x)P[o++]=65535&b;else{if(!(16&x)){if(0===(64&x)){b=m[(65535&b)+(f&(1<>>=x,p-=x),p<15&&(f+=M[n++]<>>24,f>>>=x,p-=x,x=b>>>16&255,!(16&x)){if(0===(64&x)){b=g[(65535&b)+(f&(1<c){t.msg=\"invalid distance too far back\",i.mode=wy;break t}if(f>>>=x,p-=x,x=o-a,_>x){if(x=_-x,x>h&&i.sane){t.msg=\"invalid distance too far back\",i.mode=wy;break t}if(S=0,A=d,0===l){if(S+=u-x,x2;)P[o++]=A[S++],P[o++]=A[S++],P[o++]=A[S++],w-=3;w&&(P[o++]=A[S++],w>1&&(P[o++]=A[S++]))}else{S=o-_;do P[o++]=P[S++],P[o++]=P[S++],P[o++]=P[S++],w-=3;while(w>2);w&&(P[o++]=P[S++],w>1&&(P[o++]=P[S++]))}break}}break}}while(n>3,n-=w,p-=w<<3,f&=(1<=1&&0===I[w];w--);if(_>w&&(_=w),0===w)return r[o++]=20971520,r[o++]=20971520,s.bits=1,0;for(x=1;x0&&(t===Py||1!==w))return-1;for(L[1]=0,y=1;yAy||t===Ty&&P>My)return 1;for(var D=0;;){D++,p=y-A,a[b]f?(m=R[O+a[b]],g=T[E+a[b]]):(m=96,g=0),c=1<>A)+u]=p<<24|m<<16|g|0;while(0!==u);for(c=1<>=1;if(0!==c?(C&=c-1,C+=c):C=0,b++,0===--I[y]){if(y===w)break;y=e[i+a[b]]}if(y>_&&(C&l)!==h){for(0===A&&(A=_),d+=x,S=y-A,M=1<Ay||t===Ty&&P>My)return 1;h=C&l,r[h]=_<<24|S<<16|d-o|0}}return 0!==C&&(r[d+C]=y-A<<24|64<<16|0),s.bits=_,0}function $u(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function Vu(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Gu(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=Xy,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(Mb),e.distcode=e.distdyn=new Int32Array(Pb),e.sane=1,e.back=-1,By):$y}function Hu(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,Gu(t)):$y}function Wu(t,e){var i,n;return t&&t.state?(n=t.state,e<0?(i=0,e=-e):(i=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?$y:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,Hu(t))):$y}function Xu(t,e){var i,n;return t?(n=new Vu,t.state=n,n.window=null,i=Wu(t,e),i!==By&&(t.state=null),i):$y}function qu(t){if(Cb){var e;for(yy=new Int32Array(512),by=new Int32Array(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ju(Dy,t.lens,0,288,yy,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ju(Ny,t.lens,0,32,by,0,t.work,{bits:5}),Cb=!1}t.lencode=yy,t.lenbits=9,t.distcode=by,t.distbits=5}function Yu(t,e,i,n){var r,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(Nu(o.window,e,i-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>n&&(r=n),Nu(o.window,e,i-n,r,o.wnext),n-=r,n?(Nu(o.window,e,i-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,i.check=Bu(i.check,C,2,0),u=0,h=0,i.mode=qy;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg=\"incorrect header check\",i.mode=_b;break}if((15&u)!==Wy){t.msg=\"unknown compression method\",i.mode=_b;break}if(u>>>=4,h-=4,_=(15&u)+8,0===i.wbits)i.wbits=_;else if(_>i.wbits){t.msg=\"invalid window size\",i.mode=_b;break}i.dmax=1<<_,t.adler=i.check=1,i.mode=512&u?ib:rb,u=0,h=0;break;case qy:for(;h<16;){if(0===s)break t;s--,u+=n[o++]<>8&1),512&i.flags&&(C[0]=255&u,C[1]=u>>>8&255,i.check=Bu(i.check,C,2,0)),u=0,h=0,i.mode=Yy;case Yy:for(;h<32;){if(0===s)break t;s--,u+=n[o++]<>>8&255,C[2]=u>>>16&255,C[3]=u>>>24&255,i.check=Bu(i.check,C,4,0)),u=0,h=0,i.mode=Zy;case Zy:for(;h<16;){if(0===s)break t;s--,u+=n[o++]<>8),512&i.flags&&(C[0]=255&u,C[1]=u>>>8&255,i.check=Bu(i.check,C,2,0)),u=0,h=0,i.mode=Ky;case Ky:if(1024&i.flags){for(;h<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,i.check=Bu(i.check,C,2,0)),u=0,h=0}else i.head&&(i.head.extra=null);i.mode=Qy;case Qy:if(1024&i.flags&&(f=i.length,f>s&&(f=s),f&&(i.head&&(_=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),Nu(i.head.extra,n,o,f,_)),512&i.flags&&(i.check=Bu(i.check,n,f,o)),s-=f,o+=f,i.length-=f),i.length))break t;i.length=0,i.mode=Jy;case Jy:if(2048&i.flags){if(0===s)break t;f=0;do _=n[o+f++],i.head&&_&&i.length<65536&&(i.head.name+=String.fromCharCode(_));while(_&&f>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=rb;break;case ib:for(;h<32;){if(0===s)break t;s--,u+=n[o++]<>>=7&h,h-=7&h,i.mode=bb;break}for(;h<3;){if(0===s)break t;s--,u+=n[o++]<>>=1,h-=1,3&u){case 0:i.mode=ab;break;case 1:if(qu(i),i.mode=db,e===zy){u>>>=2,h-=2;break t}break;case 2:i.mode=ub;break;case 3:t.msg=\"invalid block type\",i.mode=_b}u>>>=2,h-=2;break;case ab:for(u>>>=7&h,h-=7&h;h<32;){if(0===s)break t;s--,u+=n[o++]<>>16^65535)){t.msg=\"invalid stored block lengths\",i.mode=_b;break}if(i.length=65535&u,u=0,h=0,i.mode=sb,e===zy)break t;case sb:i.mode=cb;case cb:if(f=i.length){if(f>s&&(f=s),f>c&&(f=c),0===f)break t;Nu(r,n,o,f,a),s-=f,o+=f,c-=f,a+=f,i.length-=f;break}i.mode=rb;break;case ub:for(;h<14;){if(0===s)break t;s--,u+=n[o++]<>>=5,h-=5,i.ndist=(31&u)+1,u>>>=5,h-=5,i.ncode=(15&u)+4,u>>>=4,h-=4,i.nlen>286||i.ndist>30){t.msg=\"too many length or distance symbols\",i.mode=_b;break}i.have=0,i.mode=hb;case hb:for(;i.have>>=3,h-=3}for(;i.have<19;)i.lens[T[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,A={bits:i.lenbits},S=ju(Oy,i.lens,0,19,i.lencode,0,i.work,A),i.lenbits=A.bits,S){t.msg=\"invalid code lengths set\",i.mode=_b;break}i.have=0,i.mode=lb;case lb:for(;i.have>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=n[o++]<>>=g,h-=g,i.lens[i.have++]=y;else{if(16===y){for(M=g+2;h>>=g,h-=g,0===i.have){t.msg=\"invalid bit length repeat\",i.mode=_b;break}_=i.lens[i.have-1],f=3+(3&u),u>>>=2,h-=2}else if(17===y){for(M=g+3;h>>=g,h-=g,_=0,f=3+(7&u),u>>>=3,h-=3}else{for(M=g+7;h>>=g,h-=g,_=0,f=11+(127&u),u>>>=7,h-=7}if(i.have+f>i.nlen+i.ndist){t.msg=\"invalid bit length repeat\",i.mode=_b;break}for(;f--;)i.lens[i.have++]=_}}if(i.mode===_b)break;if(0===i.lens[256]){t.msg=\"invalid code -- missing end-of-block\",i.mode=_b;break}if(i.lenbits=9,A={bits:i.lenbits},S=ju(Dy,i.lens,0,i.nlen,i.lencode,0,i.work,A),i.lenbits=A.bits,S){t.msg=\"invalid literal/lengths set\",i.mode=_b;break}if(i.distbits=6,i.distcode=i.distdyn,A={bits:i.distbits},S=ju(Ny,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,A),i.distbits=A.bits,S){t.msg=\"invalid distances set\",i.mode=_b;break}if(i.mode=db,e===zy)break t;case db:i.mode=fb;case fb:if(s>=6&&c>=258){t.next_out=a,t.avail_out=c,t.next_in=o,t.avail_in=s,i.hold=u,i.bits=h,Uu(t,d),a=t.next_out,r=t.output,c=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=i.hold,h=i.bits,i.mode===rb&&(i.back=-1);break}for(i.back=0;P=i.lencode[u&(1<>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=n[o++]<>b)],g=P>>>24,v=P>>>16&255,y=65535&P,!(b+g<=h);){if(0===s)break t;s--,u+=n[o++]<>>=b,h-=b,i.back+=b}if(u>>>=g,h-=g,i.back+=g,i.length=y,0===v){i.mode=yb;break}if(32&v){i.back=-1,i.mode=rb;break}if(64&v){t.msg=\"invalid literal/length code\",i.mode=_b;break}i.extra=15&v,i.mode=pb;case pb:if(i.extra){for(M=i.extra;h>>=i.extra,h-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=mb;case mb:for(;P=i.distcode[u&(1<>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=n[o++]<>b)],g=P>>>24,v=P>>>16&255,y=65535&P,!(b+g<=h);){if(0===s)break t;s--,u+=n[o++]<>>=b,h-=b,i.back+=b}if(u>>>=g,h-=g,i.back+=g,64&v){t.msg=\"invalid distance code\",i.mode=_b;break}i.offset=y,i.extra=15&v,i.mode=gb;case gb:if(i.extra){for(M=i.extra;h>>=i.extra,h-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg=\"invalid distance too far back\",i.mode=_b;break}i.mode=vb;case vb:if(0===c)break t;if(f=d-c,i.offset>f){if(f=i.offset-f,f>i.whave&&i.sane){t.msg=\"invalid distance too far back\",i.mode=_b;break}f>i.wnext?(f-=i.wnext,p=i.wsize-f):p=i.wnext-f,f>i.length&&(f=i.length),m=i.window}else m=r,p=a-i.offset,f=i.length;f>c&&(f=c),c-=f,i.length-=f;do r[a++]=m[p++];while(--f);0===i.length&&(i.mode=fb);break;case yb:if(0===c)break t;r[a++]=i.length,c--,i.mode=fb;break;case bb:if(i.wrap){for(;h<32;){if(0===s)break t;s--,u|=n[o++]<>>6,e[o++]=128|63&i):i<65536?(e[o++]=224|i>>>12,e[o++]=128|i>>>6&63,e[o++]=128|63&i):(e[o++]=240|i>>>18,e[o++]=128|i>>>12&63,e[o++]=128|i>>>6&63,e[o++]=128|63&i);return e}function eh(t,e){if(e<65537&&(t.subarray&&Eb||!t.subarray&&Tb))return String.fromCharCode.apply(null,Du(t,e));for(var i=\"\",n=0;n4)s[n++]=65533,i+=o-1;else{for(r&=2===o?31:3===o?15:7;o>1&&i1?s[n++]=65533:r<65536?s[n++]=r:(r-=65536,s[n++]=55296|r>>10&1023,s[n++]=56320|1023&r)}return eh(s,n)}function rh(t,e){var i;for(e=e||t.length,e>t.length&&(e=t.length),i=e-1;i>=0&&128===(192&t[i]);)i--;return i<0?e:0===i?e:i+Ib[t[i]]>e?i:e}function oh(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}function ah(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}function sh(t){if(!(this instanceof sh))return new sh(t);this.options=Ou({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new oh,this.strm.avail_out=0;var i=Xu(this.strm,e.windowBits);if(i!==Nb)throw new Error(Bb[i]);this.header=new ah,Qu(this.strm,this.header)}function ch(t,e){var i=new sh(e);if(i.push(t,!0),i.err)throw i.msg;return i.result}function uh(t){var e;t instanceof ArrayBuffer&&(t=new Uint8Array(t));try{e=ch(t)}catch(i){e=t}return e}function hh(){this.getUrl=function(t){var e,i=y(t),n=i.name.substr(0,4);return![\"pdb\",\"cif\"].includes(i.ext)||i.compressed!==!1&&\"gz\"!==i.compressed?\"mmtf\"===i.ext?e=i.base.endsWith(\".bb\")?Gb+n:Vb+n:i.ext?(Pv.warn(\"unsupported ext\",i.ext),e=Vb+n):e=Vb+n:e=jb+i.path,f()+e},this.getExt=function(t){var e=y(t);if(\"mmtf\"===e.ext||!e.ext)return\"mmtf\"}}function lh(){this.getUrl=function(t){var e,i=y(t),n=i.name;return i.ext&&\"sdf\"!==i.ext?(Pv.warn(\"unsupported ext\",i.ext),e=Hb+n+Wb):e=Hb+n+Wb,f()+e},this.getExt=function(t){var e=y(t);if(!e.ext||\"sdf\"===e.ext)return\"sdf\"}}function dh(){this.getUrl=function(t){return t}}function fh(t){t=t||\"\",this.getUrl=function(e){var i=y(e);return m(t+i.path)}}\"undefined\"!=typeof window&&!function(){window.console=window.console||{};for(var t,e,i=window.console,n={},r=function(){},o=\"memory\".split(\",\"),a=\"assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn\".split(\",\");t=o.pop();)i[t]||(i[t]=n);for(;e=a.pop();)i[e]||(i[e]=r)}(),\"undefined\"==typeof HTMLCanvasElement||HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,\"toBlob\",{value:function(t,e,i){for(var n=window.atob(this.toDataURL(e,i).split(\",\")[1]),r=n.length,o=r>>2,a=new Uint8Array(r),s=new Uint32Array(a.buffer,0,o),c=0,u=0;c-9007199254740992&&t<9007199254740992&&Math.floor(t)===t}),Number.isNaN||(Number.isNaN=function(t){return t!==t}),Object.assign||Object.defineProperty(Object,\"assign\",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(void 0===t||null===t)throw new TypeError(\"Cannot convert first argument to object\");for(var e,i=Object(t),n=!1,r=1;r1?arguments[1]:void 0,s=a?Number(a):0;s!=s&&(s=0);var c=Math.min(Math.max(s,0),n);if(o+c>n)return!1;for(var u=-1;++ui.length)&&(e=i.length),e-=t.length;var n=i.indexOf(t,e);return n!==-1&&n===e}),String.prototype.includes||(String.prototype.includes=function(t,e){return\"number\"!=typeof e&&(e=0),!(e+t.length>this.length)&&this.indexOf(t,e)!==-1}),Array.prototype.includes||(Array.prototype.includes=function(t){if(null==this)throw new TypeError(\"Array.prototype.includes called on null or undefined\");var e=Object(this),i=parseInt(e.length,10)||0;if(0===i)return!1;var n,r=parseInt(arguments[1],10)||0;r>=0?n=r:(n=i+r,n<0&&(n=0));for(var o;n0?1:-1)*Math.floor(Math.abs(e)):e},n=Math.pow(2,53)-1,r=function(t){var e=i(t);return Math.min(Math.max(e,0),n)};return function(t){var i=this,n=Object(t);if(null==t)throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");var o,a=arguments.length>1?arguments[1]:void 0;if(\"undefined\"!=typeof a){if(!e(a))throw new TypeError(\"Array.from: when provided, the second argument must be a function\");arguments.length>2&&(o=arguments[2])}for(var s,c=r(n.length),u=e(i)?Object(new i(c)):new Array(c),h=0;he?1:0}return function(e,i,n){var r=0,o=e.length-1;for(n||(n=t);r<=o;){var a=r+o>>1,s=n(i,e[a]);if(s>0)r=a+1;else{if(!(s<0))return a;o=a-1}}return-r-1}}();void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Math.sign&&(Math.sign=function(t){return t<0?-1:t>0?1:+t}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,\"name\",{get:function(){return this.toString().match(/^\\s*function\\s*(\\S*)\\s*\\(/)[1]}}),void 0===Object.assign&&!function(){Object.assign=function(t){if(void 0===t||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;i>=4,i[r]=e[19===r?3&t|8:t]);return i.join(\"\")}}(),clamp:function(t,e,i){return Math.max(e,Math.min(i,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,i,n,r){return n+(t-e)*(r-n)/(i-e)},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e),t*t*(3-2*t))},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e),t*t*t*(t*(6*t-15)+10))},random16:function(){return console.warn(\"THREE.Math.random16() has been deprecated. Use Math.random() instead.\"),Math.random()},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*Ed.DEG2RAD},radToDeg:function(t){return t*Ed.RAD2DEG},isPowerOfTwo:function(t){return 0===(t&t-1)&&0!==t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t++,t}};I.prototype={constructor:I,isVector2:!0,get width(){return this.x},set width(t){this.x=t},get height(){return this.y},set height(t){this.y=t},set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return isFinite(t)?(this.x*=t,this.y*=t):(this.x=0,this.y=0),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this},clampScalar:function(){var t,e;return function(i,n){return void 0===t&&(t=new I,e=new I),t.set(i,i),e.set(n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,i))/i)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y;return e*e+i*i},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromAttribute:function(t,e,i){return void 0===i&&(i=0),e=e*t.itemSize+i,this.x=t.array[e],this.y=t.array[e+1],this},rotateAround:function(t,e){var i=Math.cos(e),n=Math.sin(e),r=this.x-t.x,o=this.y-t.y;return this.x=r*i-o*n+t.x,this.y=r*n+o*i+t.y,this}},L.DEFAULT_IMAGE=void 0,L.DEFAULT_MAPPING=vl,L.prototype={constructor:L,isTexture:!0,set needsUpdate(t){t===!0&&this.version++},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){function e(t){var e;return void 0!==t.toDataURL?e=t:(e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),e.width=t.width,e.height=t.height,e.getContext(\"2d\").drawImage(t,0,0,t.width,t.height)),e.width>2048||e.height>2048?e.toDataURL(\"image/jpeg\",.6):e.toDataURL(\"image/png\")}if(void 0!==t.textures[this.uuid])return t.textures[this.uuid];var i={metadata:{version:4.4,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var n=this.image;void 0===n.uuid&&(n.uuid=Ed.generateUUID()),void 0===t.images[n.uuid]&&(t.images[n.uuid]={uuid:n.uuid,url:e(n)}),i.image=n.uuid}return t.textures[this.uuid]=i,i},dispose:function(){this.dispatchEvent({type:\"dispose\"})},transformUv:function(t){if(this.mapping===vl){if(t.multiply(this.repeat),t.add(this.offset),t.x<0||t.x>1)switch(this.wrapS){case Ml:t.x=t.x-Math.floor(t.x);break;case Pl:t.x=t.x<0?0:1;break;case Cl:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case Ml:t.y=t.y-Math.floor(t.y);break;case Pl:t.y=t.y<0?0:1;break;case Cl:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}this.flipY&&(t.y=1-t.y)}}},Object.assign(L.prototype,E.prototype);var Id=0;O.prototype={constructor:O,isMatrix4:!0,set:function(t,e,i,n,r,o,a,s,c,u,h,l,d,f,p,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=i,g[12]=n,g[1]=r,g[5]=o,g[9]=a,g[13]=s,g[2]=c,g[6]=u,g[10]=h,g[14]=l,g[3]=d,g[7]=f,g[11]=p,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new O).fromArray(this.elements)},copy:function(t){return this.elements.set(t.elements),this},copyPosition:function(t){var e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this},extractBasis:function(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this},extractRotation:function(){var t;return function(e){void 0===t&&(t=new N);var i=this.elements,n=e.elements,r=1/t.setFromMatrixColumn(e,0).length(),o=1/t.setFromMatrixColumn(e,1).length(),a=1/t.setFromMatrixColumn(e,2).length();return i[0]=n[0]*r,i[1]=n[1]*r,i[2]=n[2]*r,i[4]=n[4]*o,i[5]=n[5]*o,i[6]=n[6]*o,i[8]=n[8]*a,i[9]=n[9]*a,i[10]=n[10]*a,this}}(),makeRotationFromEuler:function(t){(t&&t.isEuler)===!1&&console.error(\"THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");var e=this.elements,i=t.x,n=t.y,r=t.z,o=Math.cos(i),a=Math.sin(i),s=Math.cos(n),c=Math.sin(n),u=Math.cos(r),h=Math.sin(r);if(\"XYZ\"===t.order){var l=o*u,d=o*h,f=a*u,p=a*h;e[0]=s*u,e[4]=-s*h,e[8]=c,e[1]=d+f*c,e[5]=l-p*c,e[9]=-a*s,e[2]=p-l*c,e[6]=f+d*c,e[10]=o*s}else if(\"YXZ\"===t.order){var m=s*u,g=s*h,v=c*u,y=c*h;e[0]=m+y*a,e[4]=v*a-g,e[8]=o*c,e[1]=o*h,e[5]=o*u,e[9]=-a,e[2]=g*a-v,e[6]=y+m*a,e[10]=o*s}else if(\"ZXY\"===t.order){var m=s*u,g=s*h,v=c*u,y=c*h;e[0]=m-y*a,e[4]=-o*h,e[8]=v+g*a,e[1]=g+v*a,e[5]=o*u,e[9]=y-m*a,e[2]=-o*c,e[6]=a,e[10]=o*s}else if(\"ZYX\"===t.order){var l=o*u,d=o*h,f=a*u,p=a*h;e[0]=s*u,e[4]=f*c-d,e[8]=l*c+p,e[1]=s*h,e[5]=p*c+l,e[9]=d*c-f,e[2]=-c,e[6]=a*s,e[10]=o*s}else if(\"YZX\"===t.order){var b=o*s,x=o*c,w=a*s,_=a*c;e[0]=s*u,e[4]=_-b*h,e[8]=w*h+x,e[1]=h,e[5]=o*u,e[9]=-a*u,e[2]=-c*u,e[6]=x*h+w,e[10]=b-_*h}else if(\"XZY\"===t.order){var b=o*s,x=o*c,w=a*s,_=a*c;e[0]=s*u,e[4]=-h,e[8]=c*u,e[1]=b*h+_,e[5]=o*u,e[9]=x*h-w,e[2]=w*h-x,e[6]=a*u,e[10]=_*h+b}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:function(t){var e=this.elements,i=t.x,n=t.y,r=t.z,o=t.w,a=i+i,s=n+n,c=r+r,u=i*a,h=i*s,l=i*c,d=n*s,f=n*c,p=r*c,m=o*a,g=o*s,v=o*c;return e[0]=1-(d+p),e[4]=h-v,e[8]=l+g,e[1]=h+v,e[5]=1-(u+p),e[9]=f-m,e[2]=l-g,e[6]=f+m,e[10]=1-(u+d),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},lookAt:function(){var t,e,i;return function(n,r,o){void 0===t&&(t=new N,e=new N,i=new N);var a=this.elements;return i.subVectors(n,r).normalize(),0===i.lengthSq()&&(i.z=1),t.crossVectors(o,i).normalize(),0===t.lengthSq()&&(i.z+=1e-4,t.crossVectors(o,i).normalize()),e.crossVectors(i,t),a[0]=t.x,a[4]=e.x,a[8]=i.x,a[1]=t.y,a[5]=e.y,a[9]=i.y,a[2]=t.z,a[6]=e.z,a[10]=i.z,this}}(),multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,n=e.elements,r=this.elements,o=i[0],a=i[4],s=i[8],c=i[12],u=i[1],h=i[5],l=i[9],d=i[13],f=i[2],p=i[6],m=i[10],g=i[14],v=i[3],y=i[7],b=i[11],x=i[15],w=n[0],_=n[4],S=n[8],A=n[12],M=n[1],P=n[5],C=n[9],T=n[13],E=n[2],I=n[6],L=n[10],R=n[14],O=n[3],D=n[7],N=n[11],k=n[15];return r[0]=o*w+a*M+s*E+c*O,r[4]=o*_+a*P+s*I+c*D,r[8]=o*S+a*C+s*L+c*N,r[12]=o*A+a*T+s*R+c*k,r[1]=u*w+h*M+l*E+d*O,r[5]=u*_+h*P+l*I+d*D,r[9]=u*S+h*C+l*L+d*N,r[13]=u*A+h*T+l*R+d*k,r[2]=f*w+p*M+m*E+g*O,r[6]=f*_+p*P+m*I+g*D,r[10]=f*S+p*C+m*L+g*N,r[14]=f*A+p*T+m*R+g*k,r[3]=v*w+y*M+b*E+x*O,r[7]=v*_+y*P+b*I+x*D,r[11]=v*S+y*C+b*L+x*N,r[15]=v*A+y*T+b*R+x*k,this},multiplyToArray:function(t,e,i){var n=this.elements;return this.multiplyMatrices(t,e),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=n[3],i[4]=n[4],i[5]=n[5],i[6]=n[6],i[7]=n[7],i[8]=n[8],i[9]=n[9],i[10]=n[10],i[11]=n[11],i[12]=n[12],i[13]=n[13],i[14]=n[14],i[15]=n[15],this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},applyToVector3Array:function(){var t;return function(e,i,n){void 0===t&&(t=new N),void 0===i&&(i=0),void 0===n&&(n=e.length);for(var r=0,o=i;r0?(e=.5/Math.sqrt(d+1),this._w=.25/e,this._x=(h-c)*e,this._y=(o-u)*e,this._z=(a-r)*e):n>s&&n>l?(e=2*Math.sqrt(1+n-s-l),this._w=(h-c)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(o+u)/e):s>l?(e=2*Math.sqrt(1+s-n-l),this._w=(o-u)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(c+h)/e):(e=2*Math.sqrt(1+l-n-s),this._w=(a-r)/e,this._x=(o+u)/e,this._y=(c+h)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e,i=1e-6;return function(n,r){return void 0===t&&(t=new N),e=n.dot(r)+1,eMath.abs(n.z)?t.set(-n.y,n.x,0):t.set(0,-n.z,n.y)):t.crossVectors(n,r),this._x=t.x,this._y=t.y,this._z=t.z,this._w=e,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this.onChangeCallback(),this},multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var i=t._x,n=t._y,r=t._z,o=t._w,a=e._x,s=e._y,c=e._z,u=e._w;return this._x=i*u+o*a+n*c-r*s,this._y=n*u+o*s+r*a-i*c,this._z=r*u+o*c+i*s-n*a,this._w=o*u-i*a-n*s-r*c,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var i=this._x,n=this._y,r=this._z,o=this._w,a=o*t._w+i*t._x+n*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=i,this._y=n,this._z=r,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(i+this._x),this._y=.5*(n+this._y),this._z=.5*(r+this._z),this;var c=Math.atan2(s,a),u=Math.sin((1-e)*c)/s,h=Math.sin(e*c)/s;return this._w=o*u+this._w*h,this._x=i*u+this._x*h,this._y=n*u+this._y*h,this._z=r*u+this._z*h,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}},Object.assign(D,{slerp:function(t,e,i,n){return i.copy(t).slerp(e,n)},slerpFlat:function(t,e,i,n,r,o,a){var s=i[n+0],c=i[n+1],u=i[n+2],h=i[n+3],l=r[o+0],d=r[o+1],f=r[o+2],p=r[o+3];if(h!==p||s!==l||c!==d||u!==f){var m=1-a,g=s*l+c*d+u*f+h*p,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var b=Math.sqrt(y),x=Math.atan2(b,g*v);m=Math.sin(m*x)/b,a=Math.sin(a*x)/b}var w=a*v;if(s=s*m+l*w,c=c*m+d*w,u=u*m+f*w,h=h*m+p*w,m===1-a){var _=1/Math.sqrt(s*s+c*c+u*u+h*h);s*=_,c*=_,u*=_,h*=_}}t[e]=s,t[e+1]=c,t[e+2]=u,t[e+3]=h}}),N.prototype={constructor:N,isVector3:!0,set:function(t,e,i){return this.x=t,this.y=e,this.z=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return isFinite(t)?(this.x*=t,this.y*=t,this.z*=t):(this.x=0,this.y=0,this.z=0),this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:function(){var t;return function(e){return(e&&e.isEuler)===!1&&console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\"),void 0===t&&(t=new D),this.applyQuaternion(t.setFromEuler(e))}}(),applyAxisAngle:function(){var t;return function(e,i){return void 0===t&&(t=new D),this.applyQuaternion(t.setFromAxisAngle(e,i))}}(),applyMatrix3:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[3]*i+r[6]*n,this.y=r[1]*e+r[4]*i+r[7]*n,this.z=r[2]*e+r[5]*i+r[8]*n,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n+r[12],this.y=r[1]*e+r[5]*i+r[9]*n+r[13],this.z=r[2]*e+r[6]*i+r[10]*n+r[14],this},applyProjection:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements,o=1/(r[3]*e+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*e+r[4]*i+r[8]*n+r[12])*o,this.y=(r[1]*e+r[5]*i+r[9]*n+r[13])*o,this.z=(r[2]*e+r[6]*i+r[10]*n+r[14])*o,this},applyQuaternion:function(t){var e=this.x,i=this.y,n=this.z,r=t.x,o=t.y,a=t.z,s=t.w,c=s*e+o*n-a*i,u=s*i+a*e-r*n,h=s*n+r*i-o*e,l=-r*e-o*i-a*n;return this.x=c*s+l*-r+u*-a-h*-o,this.y=u*s+l*-o+h*-r-c*-a,this.z=h*s+l*-a+c*-o-u*-r,this},project:function(){var t;return function(e){return void 0===t&&(t=new O),t.multiplyMatrices(e.projectionMatrix,t.getInverse(e.matrixWorld)),this.applyProjection(t)}}(),unproject:function(){var t;return function(e){return void 0===t&&(t=new O),t.multiplyMatrices(e.matrixWorld,t.getInverse(e.projectionMatrix)),this.applyProjection(t)}}(),transformDirection:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n,this.y=r[1]*e+r[5]*i+r[9]*n,this.z=r[2]*e+r[6]*i+r[10]*n,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this},clampScalar:function(){var t,e;return function(i,n){return void 0===t&&(t=new N,e=new N),t.set(i,i,i),e.set(n,n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,i))/i)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},cross:function(t,e){if(void 0!==e)return console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(t,e);var i=this.x,n=this.y,r=this.z;return this.x=n*t.z-r*t.y,this.y=r*t.x-i*t.z,this.z=i*t.y-n*t.x,this},crossVectors:function(t,e){var i=t.x,n=t.y,r=t.z,o=e.x,a=e.y,s=e.z;return this.x=n*s-r*a,this.y=r*o-i*s,this.z=i*a-n*o,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t;return function(e){return void 0===t&&(t=new N),t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t;return function(e){return void 0===t&&(t=new N),this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(Ed.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){var e=Math.sin(t.phi)*t.radius;return this.x=e*Math.sin(t.theta),this.y=Math.cos(t.phi)*t.radius,this.z=e*Math.cos(t.theta),this},setFromMatrixPosition:function(t){return this.setFromMatrixColumn(t,3)},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=n,this},setFromMatrixColumn:function(t,e){if(\"number\"==typeof t){console.warn(\"THREE.Vector3: setFromMatrixColumn now expects ( matrix, index ).\");var i=t;t=e,e=i}return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromAttribute:function(t,e,i){return void 0===i&&(i=0),e=e*t.itemSize+i,this.x=t.array[e],this.y=t.array[e+1],this.z=t.array[e+2],this}},F.prototype={constructor:F,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;ethis.max.x||t.ythis.max.y)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},getParameter:function(t,e){var i=e||new I;return i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)},clampPoint:function(t,e){var i=e||new I;return i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new I;return function(e){var i=t.copy(e).clamp(this.min,this.max);return i.sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},B.prototype=Object.create(L.prototype),B.prototype.constructor=B,B.prototype.isCubeTexture=!0,Object.defineProperty(B.prototype,\"images\",{get:function(){return this.image},set:function(t){this.image=t}});var Ld=new L,Rd=new B,Od=[],Dd=[];gt.prototype.setValue=function(t,e){for(var i=this.seq,n=0,r=i.length;n!==r;++n){var o=i[n];o.setValue(t,e[o.id])}};var Nd=/([\\w\\d_]+)(\\])?(\\[|\\.)?/g;bt.prototype.setValue=function(t,e,i){var n=this.map[e];void 0!==n&&n.setValue(t,i,this.renderer)},bt.prototype.set=function(t,e,i){var n=this.map[i];void 0!==n&&n.setValue(t,e[i],this.renderer)},bt.prototype.setOptional=function(t,e,i){var n=e[i];void 0!==n&&this.setValue(t,i,n)},bt.upload=function(t,e,i,n){for(var r=0,o=e.length;r!==o;++r){var a=e[r],s=i[a.id];s.needsUpdate!==!1&&a.setValue(t,s.value,n)}},bt.seqWithValue=function(t,e){for(var i=[],n=0,r=t.length;n!==r;++n){var o=t[n];o.id in e&&i.push(o)}return i},bt.splitDynamic=function(t,e){for(var i=null,n=t.length,r=0,o=0;o!==n;++o){var a=t[o],s=e[a.id];s&&s.dynamic===!0?(null===i&&(i=[]),i.push(a)):(ry&&v>b?vb?y0&&(n.alphaTest=this.alphaTest),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),n.skinning=this.skinning,n.morphTargets=this.morphTargets,i){var r=e(t.textures),o=e(t.images);r.length>0&&(n.textures=r),o.length>0&&(n.images=o)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.shading=t.shading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.overdraw=t.overdraw,this.visible=t.visible,this.clipShadows=t.clipShadows;var e=t.clippingPlanes,i=null;if(null!==e){var n=e.length;i=new Array(n);for(var r=0;r!==n;++r)i[r]=e[r].clone()}return this.clippingPlanes=i,this},update:function(){this.dispatchEvent({type:\"update\"})},dispose:function(){this.dispatchEvent({type:\"dispose\"})}},Object.assign(At.prototype,E.prototype);var kd=0,Fd={merge:function(t){for(var e={},i=0;i 0.0 ) {\\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\t\\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t\\treturn distanceFalloff * maxDistanceCutoffFactor;\\n#else\\n\\t\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\\n\\treturn specularColor * AB.x + AB.y;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n\",Wd=\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = dFdx( surf_pos );\\n\\t\\tvec3 vSigmaY = dFdy( surf_pos );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\\n\",Xd=\"#if NUM_CLIPPING_PLANES > 0\\n\\tfor ( int i = 0; i < NUM_CLIPPING_PLANES; ++ i ) {\\n\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n#endif\\n\",qd=\"#if NUM_CLIPPING_PLANES > 0\\n\\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\t\\tvarying vec3 vViewPosition;\\n\\t#endif\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\\n\",Yd=\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n\",Zd=\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n\",Kd=\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",Qd=\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\\n\",Jd=\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",tf=\"#ifdef USE_COLOR\\n\\tvColor.xyz = color.xyz;\\n#endif\",ef=\"#define PI 3.14159265359\\n#define PI2 6.28318530718\\n#define RECIPROCAL_PI 0.31830988618\\n#define RECIPROCAL_PI2 0.15915494\\n#define LOG2 1.442695\\n#define EPSILON 1e-6\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\n\",nf=\"#ifdef ENVMAP_TYPE_CUBE_UV\\n#define cubeUV_textureSize (1024.0)\\nint getFaceFromDirection(vec3 direction) {\\n\\tvec3 absDirection = abs(direction);\\n\\tint face = -1;\\n\\tif( absDirection.x > absDirection.z ) {\\n\\t\\tif(absDirection.x > absDirection.y )\\n\\t\\t\\tface = direction.x > 0.0 ? 0 : 3;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\telse {\\n\\t\\tif(absDirection.z > absDirection.y )\\n\\t\\t\\tface = direction.z > 0.0 ? 2 : 5;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\treturn face;\\n}\\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\\n\\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\\n\\tfloat dxRoughness = dFdx(roughness);\\n\\tfloat dyRoughness = dFdy(roughness);\\n\\tvec3 dx = dFdx( vec * scale * dxRoughness );\\n\\tvec3 dy = dFdy( vec * scale * dyRoughness );\\n\\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\\n\\td = clamp(d, 1.0, cubeUV_rangeClamp);\\n\\tfloat mipLevel = 0.5 * log2(d);\\n\\treturn vec2(floor(mipLevel), fract(mipLevel));\\n}\\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\\n\\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\\n\\tfloat a = 16.0 * cubeUV_rcpTextureSize;\\n\\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\\n\\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\\n\\tfloat powScale = exp2_packed.x * exp2_packed.y;\\n\\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\\n\\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\\n\\tbool bRes = mipLevel == 0.0;\\n\\tscale = bRes && (scale < a) ? a : scale;\\n\\tvec3 r;\\n\\tvec2 offset;\\n\\tint face = getFaceFromDirection(direction);\\n\\tfloat rcpPowScale = 1.0 / powScale;\\n\\tif( face == 0) {\\n\\t\\tr = vec3(direction.x, -direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 1) {\\n\\t\\tr = vec3(direction.y, direction.x, direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 2) {\\n\\t\\tr = vec3(direction.z, direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 3) {\\n\\t\\tr = vec3(direction.x, direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse if( face == 4) {\\n\\t\\tr = vec3(direction.y, direction.x, -direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse {\\n\\t\\tr = vec3(direction.z, -direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\tr = normalize(r);\\n\\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\\n\\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\\n\\tvec2 base = offset + vec2( texelOffset );\\n\\treturn base + s * ( scale - 2.0 * texelOffset );\\n}\\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\\n\\tfloat roughnessVal = roughness* cubeUV_maxLods3;\\n\\tfloat r1 = floor(roughnessVal);\\n\\tfloat r2 = r1 + 1.0;\\n\\tfloat t = fract(roughnessVal);\\n\\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\\n\\tfloat s = mipInfo.y;\\n\\tfloat level0 = mipInfo.x;\\n\\tfloat level1 = level0 + 1.0;\\n\\tlevel1 = level1 > 5.0 ? 5.0 : level1;\\n\\tlevel0 += min( floor( s + 0.5 ), 5.0 );\\n\\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\\n\\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\\n\\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\\n\\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\\n\\tvec4 result = mix(color10, color20, t);\\n\\treturn vec4(result.rgb, 1.0);\\n}\\n#endif\\n\",rf=\"#ifdef FLIP_SIDED\\n\\tobjectNormal = -objectNormal;\\n#endif\\nvec3 transformedNormal = normalMatrix * objectNormal;\\n\",of=\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\\n\",af=\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\\n#endif\\n\",sf=\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\\n\",cf=\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\\n\",uf=\" gl_FragColor = linearToOutputTexel( gl_FragColor );\\n\",hf=\"\\nvec4 LinearToLinear( in vec4 value ) {\\n return value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n float maxComponent = max( max( value.r, value.g ), value.b );\\n float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n return vec4( value.xyz * value.w * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n float maxRGB = max( value.x, max( value.g, value.b ) );\\n float M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n M = ceil( M * 255.0 ) / 255.0;\\n return vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n float maxRGB = max( value.x, max( value.g, value.b ) );\\n float D = max( maxRange / maxRGB, 1.0 );\\n D = min( floor( D ) / 255.0, 1.0 );\\n return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\\n Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\\n vec4 vResult;\\n vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n vResult.w = fract(Le);\\n vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\\n return vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n float Le = value.z * 255.0 + value.w;\\n vec3 Xp_Y_XYZp;\\n Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\\n Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\\n return vec4( max(vRGB, 0.0), 1.0 );\\n}\\n\",lf=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\tvec2 sampleUV;\\n\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\tvec4 envColor = texture2D( envMap, sampleUV );\\n\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\\n\\t\\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\\n\",df=\"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\\n\\tuniform float reflectivity;\\n\\tuniform float envMapIntenstiy;\\n#endif\\n#ifdef USE_ENVMAP\\n\\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\tuniform float flipEnvMap;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\\n\",ff=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\\n\",pf=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\n\",mf=\"#ifdef USE_FOG\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tfloat depth = gl_FragDepthEXT / gl_FragCoord.w;\\n\\t#else\\n\\t\\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\\n\\t#endif\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * depth * depth * LOG2 ) );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, depth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\\n\",gf=\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\",vf=\"#ifdef USE_LIGHTMAP\\n\\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n#endif\\n\",yf=\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",bf=\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\n#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",xf=\"uniform vec3 ambientLightColor;\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tif ( testLightInRange( lightDistance, pointLight.distance ) ) {\\n\\t\\t\\tdirectLight.color = pointLight.color;\\n\\t\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( all( bvec2( angleCos > spotLight.coneCos, testLightInRange( lightDistance, spotLight.distance ) ) ) ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\t#include \\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = flipNormal * vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryVec = flipNormal * vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\t#include \\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryReflectVec = flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\\n\\t\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\t\\tvec2 sampleUV;\\n\\t\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\\n\",wf=\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\\n\",_f=\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tvec3\\tspecularColor;\\n\\tfloat\\tspecularShininess;\\n\\tfloat\\tspecularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\\n\",Sf=\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\\n#ifdef STANDARD\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.clearCoat = saturate( clearCoat );\\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\\n#endif\\n\",Af=\"struct PhysicalMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tfloat\\tspecularRoughness;\\n\\tvec3\\tspecularColor;\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoat;\\n\\t\\tfloat clearCoatRoughness;\\n\\t#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\\n\\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifndef STANDARD\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\tfloat dotNL = dotNV;\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\\n\",Mf=\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = normalize( vViewPosition );\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t \\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\\n\\t#endif\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\\n\\t#ifndef STANDARD\\n\\t\\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\\n\\t#else\\n\\t\\tvec3 clearCoatRadiance = vec3( 0.0 );\\n\\t#endif\\n\\t\\t\\n\\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\\n#endif\\n\",Pf=\"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\\n\\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\\n#endif\",Cf=\"#ifdef USE_LOGDEPTHBUF\\n\\tuniform float logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n#endif\\n\",Tf=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n\\tuniform float logDepthBufFC;\\n#endif\",Ef=\"#ifdef USE_LOGDEPTHBUF\\n\\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t#else\\n\\t\\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\\n\\t#endif\\n#endif\\n\",If=\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\\n\",Lf=\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n\",Rf=\"#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n\",Of=\"#ifdef USE_MAP\\n\\tuniform vec4 offsetRepeat;\\n\\tuniform sampler2D map;\\n#endif\\n\",Df=\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.r;\\n#endif\\n\",Nf=\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",kf=\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\n#endif\\n\",Ff=\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_MORPHNORMALS\\n\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",zf=\"#ifdef USE_MORPHTARGETS\\n\\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\n\\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\n\\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\n\\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\n\\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\n\\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\n\\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\\n\",Bf=\"#ifdef DOUBLE_SIDED\\n\\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n#else\\n\\tfloat flipNormal = 1.0;\\n#endif\\n\",Uf=\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal ) * flipNormal;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tnormal = perturbNormal2Arb( -vViewPosition, normal );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n\",jf=\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\\n\\t\\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\\n\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\tmapN.xy = normalScale * mapN.xy;\\n\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\treturn normalize( tsn * mapN );\\n\\t}\\n#endif\\n\",$f=\"vec3 packNormalToRGB( const in vec3 normal ) {\\n return normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n return 1.0 - 2.0 * rgb.xyz;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n return ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n return linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n return (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\\n\",Vf=\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n\",Gf=\"#ifdef USE_SKINNING\\n\\tvec4 mvPosition = modelViewMatrix * skinned;\\n#else\\n\\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\\n\",Hf=\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.r;\\n#endif\\n\",Wf=\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",Xf=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\\n\\t\\tconst vec2 offset = vec2( 0.0, 1.0 );\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / size;\\n\\t\\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\\n\\t\\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\\n\\t\\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\\n\\t\\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\\n\\t\\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\\n\\t\\tvec2 f = fract( uv * size + 0.5 );\\n\\t\\tfloat a = mix( lb, lt, f.y );\\n\\t\\tfloat b = mix( rb, rt, f.y );\\n\\t\\tfloat c = mix( a, b, f.x );\\n\\t\\treturn c;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",qf=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n#endif\\n\",Yf=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n#endif\\n\",Zf=\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\\n\",Kf=\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",Qf=\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform sampler2D boneTexture;\\n\\t\\tuniform int boneTextureWidth;\\n\\t\\tuniform int boneTextureHeight;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureWidth ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureWidth ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureWidth );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureHeight );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",Jf=\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\tskinned = bindMatrixInverse * skinned;\\n#endif\\n\",tp=\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n#endif\\n\",ep=\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",ip=\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",np=\"#if defined( TONE_MAPPING )\\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\\n\",rp=\"#define saturate(a) clamp( a, 0.0, 1.0 )\\nuniform float toneMappingExposure;\\nuniform float toneMappingWhitePoint;\\nvec3 LinearToneMapping( vec3 color ) {\\n return toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n color *= toneMappingExposure;\\n return saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\\nvec3 Uncharted2ToneMapping( vec3 color ) {\\n color *= toneMappingExposure;\\n return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n color *= toneMappingExposure;\\n color = max( vec3( 0.0 ), color - 0.004 );\\n return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\n\",op=\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n#endif\",ap=\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n\\tuniform vec4 offsetRepeat;\\n#endif\\n\",sp=\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\\n#endif\",cp=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",up=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n#endif\",hp=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = uv2;\\n#endif\",lp=\"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\\n\\t#ifdef USE_SKINNING\\n\\t\\tvec4 worldPosition = modelMatrix * skinned;\\n\\t#else\\n\\t\\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\\n\\t#endif\\n#endif\\n\",dp=\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n\\tgl_FragColor.a *= opacity;\\n}\\n\",fp=\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",pp=\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\\n\\t#endif\\n}\\n\",mp=\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",gp=\"uniform vec3 lightPos;\\nvarying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\\n}\\n\",vp=\"varying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition;\\n}\\n\",yp=\"uniform sampler2D tEquirect;\\nuniform float tFlip;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldPosition );\\n\\tvec2 sampleUV;\\n\\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\\n\\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n}\\n\",bp=\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",xp=\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",wp=\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvLineDistance = scale * lineDistance;\\n\\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n}\\n\",_p=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight;\\n\\treflectedLight.directDiffuse = vec3( 0.0 );\\n\\treflectedLight.directSpecular = vec3( 0.0 );\\n\\treflectedLight.indirectDiffuse = diffuseColor.rgb;\\n\\treflectedLight.indirectSpecular = vec3( 0.0 );\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Sp=\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Ap=\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Mp=\"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Pp=\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Cp=\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Tp=\"#define PHYSICAL\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifndef STANDARD\\n\\tuniform float clearCoat;\\n\\tuniform float clearCoatRoughness;\\n#endif\\nuniform float envMapIntensity;\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Ep=\"#define PHYSICAL\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n}\\n\",Ip=\"uniform float opacity;\\nvarying vec3 vNormal;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( vNormal ), opacity );\\n\\t#include \\n}\\n\",Lp=\"varying vec3 vNormal;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tvNormal = normalize( normalMatrix * normal );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Rp=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Op=\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tgl_PointSize = size * ( scale / - mvPosition.z );\\n\\t#else\\n\\t\\tgl_PointSize = size;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Dp=\"uniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\\n}\\n\",Np=\"#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",kp={\nalphamap_fragment:zd,alphamap_pars_fragment:Bd,alphatest_fragment:Ud,aomap_fragment:jd,aomap_pars_fragment:$d,begin_vertex:Vd,beginnormal_vertex:Gd,bsdfs:Hd,bumpmap_pars_fragment:Wd,clipping_planes_fragment:Xd,clipping_planes_pars_fragment:qd,clipping_planes_pars_vertex:Yd,clipping_planes_vertex:Zd,color_fragment:Kd,color_pars_fragment:Qd,color_pars_vertex:Jd,color_vertex:tf,common:ef,cube_uv_reflection_fragment:nf,defaultnormal_vertex:rf,displacementmap_pars_vertex:of,displacementmap_vertex:af,emissivemap_fragment:sf,emissivemap_pars_fragment:cf,encodings_fragment:uf,encodings_pars_fragment:hf,envmap_fragment:lf,envmap_pars_fragment:df,envmap_pars_vertex:ff,envmap_vertex:pf,fog_fragment:mf,fog_pars_fragment:gf,lightmap_fragment:vf,lightmap_pars_fragment:yf,lights_lambert_vertex:bf,lights_pars:xf,lights_phong_fragment:wf,lights_phong_pars_fragment:_f,lights_physical_fragment:Sf,lights_physical_pars_fragment:Af,lights_template:Mf,logdepthbuf_fragment:Pf,logdepthbuf_pars_fragment:Cf,logdepthbuf_pars_vertex:Tf,logdepthbuf_vertex:Ef,map_fragment:If,map_pars_fragment:Lf,map_particle_fragment:Rf,map_particle_pars_fragment:Of,metalnessmap_fragment:Df,metalnessmap_pars_fragment:Nf,morphnormal_vertex:kf,morphtarget_pars_vertex:Ff,morphtarget_vertex:zf,normal_flip:Bf,normal_fragment:Uf,normalmap_pars_fragment:jf,packing:$f,premultiplied_alpha_fragment:Vf,project_vertex:Gf,roughnessmap_fragment:Hf,roughnessmap_pars_fragment:Wf,shadowmap_pars_fragment:Xf,shadowmap_pars_vertex:qf,shadowmap_vertex:Yf,shadowmask_pars_fragment:Zf,skinbase_vertex:Kf,skinning_pars_vertex:Qf,skinning_vertex:Jf,skinnormal_vertex:tp,specularmap_fragment:ep,specularmap_pars_fragment:ip,tonemapping_fragment:np,tonemapping_pars_fragment:rp,uv_pars_fragment:op,uv_pars_vertex:ap,uv_vertex:sp,uv2_pars_fragment:cp,uv2_pars_vertex:up,uv2_vertex:hp,worldpos_vertex:lp,cube_frag:dp,cube_vert:fp,depth_frag:pp,depth_vert:mp,distanceRGBA_frag:gp,distanceRGBA_vert:vp,equirect_frag:yp,equirect_vert:bp,linedashed_frag:xp,linedashed_vert:wp,meshbasic_frag:_p,meshbasic_vert:Sp,meshlambert_frag:Ap,meshlambert_vert:Mp,meshphong_frag:Pp,meshphong_vert:Cp,meshphysical_frag:Tp,meshphysical_vert:Ep,normal_frag:Ip,normal_vert:Lp,points_frag:Rp,points_vert:Op,shadow_frag:Dp,shadow_vert:Np};Ct.prototype={constructor:Ct,isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):\"number\"==typeof t?this.setHex(t):\"string\"==typeof t&&this.setStyle(t),this},setScalar:function(t){this.r=t,this.g=t,this.b=t},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,e,i){return this.r=t,this.g=e,this.b=i,this},setHSL:function(){function t(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+6*(e-t)*(2/3-i):t}return function(e,i,n){if(e=Ed.euclideanModulo(e,1),i=Ed.clamp(i,0,1),n=Ed.clamp(n,0,1),0===i)this.r=this.g=this.b=n;else{var r=n<=.5?n*(1+i):n+i-n*i,o=2*n-r;this.r=t(o,r,e+1/3),this.g=t(o,r,e),this.b=t(o,r,e-1/3)}return this}}(),setStyle:function(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn(\"THREE.Color: Alpha component of \"+t+\" will be ignored.\")}var i;if(i=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(t)){var n,r=i[1],o=i[2];switch(r){case\"rgb\":case\"rgba\":if(n=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(n[1],10))/255,this.g=Math.min(255,parseInt(n[2],10))/255,this.b=Math.min(255,parseInt(n[3],10))/255,e(n[5]),this;if(n=/^(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(n[1],10))/100,this.g=Math.min(100,parseInt(n[2],10))/100,this.b=Math.min(100,parseInt(n[3],10))/100,e(n[5]),this;break;case\"hsl\":case\"hsla\":if(n=/^([0-9]*\\.?[0-9]+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o)){var a=parseFloat(n[1])/360,s=parseInt(n[2],10)/100,c=parseInt(n[3],10)/100;return e(n[5]),this.setHSL(a,s,c)}}}else if(i=/^\\#([A-Fa-f0-9]+)$/.exec(t)){var u=i[1],h=u.length;if(3===h)return this.r=parseInt(u.charAt(0)+u.charAt(0),16)/255,this.g=parseInt(u.charAt(1)+u.charAt(1),16)/255,this.b=parseInt(u.charAt(2)+u.charAt(2),16)/255,this;if(6===h)return this.r=parseInt(u.charAt(0)+u.charAt(1),16)/255,this.g=parseInt(u.charAt(2)+u.charAt(3),16)/255,this.b=parseInt(u.charAt(4)+u.charAt(5),16)/255,this}if(t&&t.length>0){var u=Fp[t];void 0!==u?this.setHex(u):console.warn(\"THREE.Color: Unknown color \"+t)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return void 0===e&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){void 0===e&&(e=2);var i=e>0?1/e:1;return this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},convertGammaToLinear:function(){var t=this.r,e=this.g,i=this.b;return this.r=t*t,this.g=e*e,this.b=i*i,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return(\"000000\"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){var e,i,n=t||{h:0,s:0,l:0},r=this.r,o=this.g,a=this.b,s=Math.max(r,o,a),c=Math.min(r,o,a),u=(c+s)/2;if(c===s)e=0,i=0;else{var h=s-c;switch(i=u<=.5?h/(s+c):h/(2-s-c),s){case r:e=(o-a)/h+(or&&(r=u),h>o&&(o=h),l>a&&(a=l)}this.min.set(e,i,n),this.max.set(r,o,a)},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,e){var i=e||new N;return i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)},intersectsSphere:function(){var t;return function(e){return void 0===t&&(t=new N),this.clampPoint(e.center,t),t.distanceToSquared(e.center)<=e.radius*e.radius}}(),intersectsPlane:function(t){var e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=t.constant&&i>=t.constant},clampPoint:function(t,e){var i=e||new N;return i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new N;return function(e){var i=t.copy(e).clamp(this.min,this.max);return i.sub(e).length()}}(),getBoundingSphere:function(){var t=new N;return function(e){var i=e||new It;return i.center=this.center(),i.radius=.5*this.size(t).length(),i}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(){var t=[new N,new N,new N,new N,new N,new N,new N,new N];return function(e){return this.isEmpty()?this:(t[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),t[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),t[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),t[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),t[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),t[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),t[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),t[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(t),this)}}(),translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},It.prototype={constructor:It,set:function(t,e){return this.center.copy(t),this.radius=e,this},setFromPoints:function(){var t=new Et;return function(e,i){var n=this.center;void 0!==i?n.copy(i):t.setFromPoints(e).center(n);for(var r=0,o=0,a=e.length;othis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n},getBoundingBox:function(t){var e=t||new Et;return e.set(this.center,this.center),e.expandByScalar(this.radius),e},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}},Lt.prototype={constructor:Lt,isMatrix3:!0,set:function(t,e,i,n,r,o,a,s,c){var u=this.elements;return u[0]=t,u[1]=n,u[2]=a,u[3]=e,u[4]=r,u[5]=s,u[6]=i,u[7]=o,u[8]=c,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var e=t.elements;return this.set(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]),this},setFromMatrix4:function(t){var e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this},applyToVector3Array:function(){var t;return function(e,i,n){void 0===t&&(t=new N),void 0===i&&(i=0),void 0===n&&(n=e.length);for(var r=0,o=i;r1))return n.copy(r).multiplyScalar(a).add(e.start)}else if(0===this.distanceToPoint(e.start))return n.copy(e.start)}}(),intersectsLine:function(t){var e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){var e=t||new N;return e.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var t=new N,e=new Lt;return function(i,n){var r=this.coplanarPoint(t).applyMatrix4(i),o=n||e.getNormalMatrix(i),a=this.normal.applyMatrix3(o).normalize();return this.constant=-r.dot(a),this}}(),translate:function(t){return this.constant=this.constant-t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}},Ot.prototype={constructor:Ot,set:function(t,e,i,n,r,o){var a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(i),a[3].copy(n),a[4].copy(r),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){for(var e=this.planes,i=0;i<6;i++)e[i].copy(t.planes[i]);return this},setFromMatrix:function(t){var e=this.planes,i=t.elements,n=i[0],r=i[1],o=i[2],a=i[3],s=i[4],c=i[5],u=i[6],h=i[7],l=i[8],d=i[9],f=i[10],p=i[11],m=i[12],g=i[13],v=i[14],y=i[15];return e[0].setComponents(a-n,h-s,p-l,y-m).normalize(),e[1].setComponents(a+n,h+s,p+l,y+m).normalize(),e[2].setComponents(a+r,h+c,p+d,y+g).normalize(),e[3].setComponents(a-r,h-c,p-d,y-g).normalize(),e[4].setComponents(a-o,h-u,p-f,y-v).normalize(),e[5].setComponents(a+o,h+u,p+f,y+v).normalize(),this},intersectsObject:function(){var t=new It;return function(e){var i=e.geometry;return null===i.boundingSphere&&i.computeBoundingSphere(),t.copy(i.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSprite:function(){var t=new It;return function(e){return t.center.set(0,0,0),t.radius=.7071067811865476,t.applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSphere:function(t){for(var e=this.planes,i=t.center,n=-t.radius,r=0;r<6;r++){var o=e[r].distanceToPoint(i);if(o0?i.min.x:i.max.x,e.x=o.normal.x>0?i.max.x:i.min.x,t.y=o.normal.y>0?i.min.y:i.max.y,e.y=o.normal.y>0?i.max.y:i.min.y,t.z=o.normal.z>0?i.min.z:i.max.z,e.z=o.normal.z>0?i.max.z:i.min.z;var a=o.distanceToPoint(t),s=o.distanceToPoint(e);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(t){for(var e=this.planes,i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}};var Up=0;Kt.prototype={constructor:Kt,isBufferAttribute:!0,get count(){return this.array.length/this.itemSize},set needsUpdate(t){t===!0&&this.version++},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.normalized=t.normalized,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.itemSize,i*=e.itemSize;for(var n=0,r=this.itemSize;n1){for(var e=0;e1)for(var e=0;e0){r.children=[];for(var o=0;o0&&(n.geometries=a),s.length>0&&(n.materials=s),c.length>0&&(n.textures=c),u.length>0&&(n.images=u)}return n.object=r,n},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e){if(void 0===e&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(var i=0;i0)for(var f=0;f0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,i,n,r;for(i=0,n=this.faces.length;i0&&(t+=e[i].distanceTo(e[i-1])),this.lineDistances[i]=t},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Et),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new It),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,i){if((t&&t.isGeometry)===!1)return void console.error(\"THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.\",t);var n,r=this.vertices.length,o=this.vertices,a=t.vertices,s=this.faces,c=t.faces,u=this.faceVertexUvs[0],h=t.faceVertexUvs[0];void 0===i&&(i=0),void 0!==e&&(n=(new Lt).getNormalMatrix(e));for(var l=0,d=a.length;l=0;i--){var g=f[i];for(this.faces.splice(g,1),a=0,s=this.faceVertexUvs.length;a0,_=v.vertexNormals.length>0,S=1!==v.color.r||1!==v.color.g||1!==v.color.b,A=v.vertexColors.length>0,M=0;if(M=t(M,0,0),M=t(M,1,y),M=t(M,2,b),M=t(M,3,x),M=t(M,4,w),M=t(M,5,_),M=t(M,6,S),M=t(M,7,A),h.push(M),h.push(v.a,v.b,v.c),h.push(v.materialIndex),x){var P=this.faceVertexUvs[0][c];h.push(n(P[0]),n(P[1]),n(P[2]))}if(w&&h.push(e(v.normal)),_){var C=v.vertexNormals;h.push(e(C[0]),e(C[1]),e(C[2]))}if(S&&h.push(i(v.color)),A){var T=v.vertexColors;h.push(i(T[0]),i(T[1]),i(T[2]))}}return r.data={},r.data.vertices=s,r.data.normals=l,f.length>0&&(r.data.colors=f),m.length>0&&(r.data.uvs=[m]),r.data.faces=h,r},clone:function(){return(new ae).copy(this)},copy:function(t){this.vertices=[],this.faces=[],this.faceVertexUvs=[[]];for(var e=t.vertices,i=0,n=e.length;i0,a=r[1]&&r[1].length>0,s=t.morphTargets,c=s.length;if(c>0){e=[];for(var u=0;u0){h=[];for(var u=0;u0){var i=new Float32Array(3*t.normals.length);this.addAttribute(\"normal\",new Kt(i,3).copyVector3sArray(t.normals))}if(t.colors.length>0){var n=new Float32Array(3*t.colors.length);this.addAttribute(\"color\",new Kt(n,3).copyColorsArray(t.colors))}if(t.uvs.length>0){var r=new Float32Array(2*t.uvs.length);this.addAttribute(\"uv\",new Kt(r,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){var o=new Float32Array(2*t.uvs2.length);this.addAttribute(\"uv2\",new Kt(o,2).copyVector2sArray(t.uvs2))}if(t.indices.length>0){var a=t.vertices.length>65535?Uint32Array:Uint16Array,s=new a(3*t.indices.length);this.setIndex(new Kt(s,1).copyIndicesArray(t.indices))}this.groups=t.groups;for(var c in t.morphTargets){for(var u=[],h=t.morphTargets[c],l=0,d=h.length;l0){var m=new te(4*t.skinIndices.length,4);this.addAttribute(\"skinIndex\",m.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){var g=new te(4*t.skinWeights.length,4);this.addAttribute(\"skinWeight\",g.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Et);var t=this.attributes.position.array;void 0!==t?this.boundingBox.setFromArray(t):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var t=new Et,e=new N;return function(){null===this.boundingSphere&&(this.boundingSphere=new It);var i=this.attributes.position;if(i){var n=i.array,r=this.boundingSphere.center;t.setFromArray(n),t.center(r);for(var o=0,a=0,s=n.length;a0&&(t.data.groups=JSON.parse(JSON.stringify(s)));var c=this.boundingSphere;return null!==c&&(t.data.boundingSphere={center:c.center.toArray(),radius:c.radius}),t},clone:function(){return(new ue).copy(this)},copy:function(t){var e=t.index;null!==e&&this.setIndex(e.clone());var i=t.attributes;for(var n in i){var r=i[n];this.addAttribute(n,r.clone())}for(var o=t.groups,a=0,s=o.length;a0)if(s=d*p-f,c=d*f-p,h=l*g,s>=0)if(c>=-h)if(c<=h){var v=1/g;s*=v,c*=v,u=s*(s+d*c+2*f)+c*(d*s+c+2*p)+m}else c=l,s=Math.max(0,-(d*c+f)),u=-s*s+c*(c+2*p)+m;else c=-l,s=Math.max(0,-(d*c+f)),u=-s*s+c*(c+2*p)+m;else c<=-h?(s=Math.max(0,-(-d*l+f)),c=s>0?-l:Math.min(Math.max(-l,-p),l),u=-s*s+c*(c+2*p)+m):c<=h?(s=0,c=Math.min(Math.max(-l,-p),l),u=c*(c+2*p)+m):(s=Math.max(0,-(d*l+f)),c=s>0?l:Math.min(Math.max(-l,-p),l),u=-s*s+c*(c+2*p)+m);else c=d>0?-l:l,s=Math.max(0,-(d*c+f)),u=-s*s+c*(c+2*p)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(e).multiplyScalar(c).add(t),u}}(),intersectSphere:function(){var t=new N;return function(e,i){t.subVectors(e.center,this.origin);var n=t.dot(this.direction),r=t.dot(t)-n*n,o=e.radius*e.radius;if(r>o)return null;var a=Math.sqrt(o-r),s=n-a,c=n+a;return s<0&&c<0?null:s<0?this.at(c,i):this.at(s,i)}}(),intersectsSphere:function(t){return this.distanceToPoint(t.center)<=t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;var i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null},intersectPlane:function(t,e){var i=this.distanceToPlane(t);return null===i?null:this.at(i,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);if(0===e)return!0;var i=t.normal.dot(this.direction);return i*e<0},intersectBox:function(t,e){var i,n,r,o,a,s,c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,l=this.origin;return c>=0?(i=(t.min.x-l.x)*c,n=(t.max.x-l.x)*c):(i=(t.max.x-l.x)*c,n=(t.min.x-l.x)*c),u>=0?(r=(t.min.y-l.y)*u,o=(t.max.y-l.y)*u):(r=(t.max.y-l.y)*u,o=(t.min.y-l.y)*u),i>o||r>n?null:((r>i||i!==i)&&(i=r),(o=0?(a=(t.min.z-l.z)*h,s=(t.max.z-l.z)*h):(a=(t.max.z-l.z)*h,s=(t.min.z-l.z)*h),i>s||a>n?null:((a>i||i!==i)&&(i=a),(s=0?i:n,e)))},intersectsBox:function(){var t=new N;return function(e){return null!==this.intersectBox(e,t)}}(),intersectTriangle:function(){var t=new N,e=new N,i=new N,n=new N;return function(r,o,a,s,c){e.subVectors(o,r),i.subVectors(a,r),n.crossVectors(e,i);var u,h=this.direction.dot(n);if(h>0){if(s)return null;u=1}else{if(!(h<0))return null;\nu=-1,h=-h}t.subVectors(this.origin,r);var l=u*this.direction.dot(i.crossVectors(t,i));if(l<0)return null;var d=u*this.direction.dot(e.cross(t));if(d<0)return null;if(l+d>h)return null;var f=-u*t.dot(n);return f<0?null:this.at(f/h,c)}}(),applyMatrix4:function(t){return this.direction.add(this.origin).applyMatrix4(t),this.origin.applyMatrix4(t),this.direction.sub(this.origin),this.direction.normalize(),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}},we.prototype={constructor:we,set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},center:function(t){var e=t||new N;return e.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){var e=t||new N;return e.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){var i=e||new N;return this.delta(i).multiplyScalar(t).add(this.start)},closestPointToPointParameter:function(){var t=new N,e=new N;return function(i,n){t.subVectors(i,this.start),e.subVectors(this.end,this.start);var r=e.dot(e),o=e.dot(t),a=o/r;return n&&(a=Ed.clamp(a,0,1)),a}}(),closestPointToPoint:function(t,e,i){var n=this.closestPointToPointParameter(t,e),r=i||new N;return this.delta(r).multiplyScalar(n).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}},_e.normal=function(){var t=new N;return function(e,i,n,r){var o=r||new N;o.subVectors(n,i),t.subVectors(e,i),o.cross(t);var a=o.lengthSq();return a>0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),_e.barycoordFromPoint=function(){var t=new N,e=new N,i=new N;return function(n,r,o,a,s){t.subVectors(a,r),e.subVectors(o,r),i.subVectors(n,r);var c=t.dot(t),u=t.dot(e),h=t.dot(i),l=e.dot(e),d=e.dot(i),f=c*l-u*u,p=s||new N;if(0===f)return p.set(-2,-1,-1);var m=1/f,g=(l*h-u*d)*m,v=(c*d-u*h)*m;return p.set(1-g-v,v,g)}}(),_e.containsPoint=function(){var t=new N;return function(e,i,n,r){var o=_e.barycoordFromPoint(e,i,n,r,t);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}(),_e.prototype={constructor:_e,set:function(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this},setFromPointsAndIndices:function(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},area:function(){var t=new N,e=new N;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),midpoint:function(t){var e=t||new N;return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(t){return _e.normal(this.a,this.b,this.c,t)},plane:function(t){var e=t||new Rt;return e.setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(t,e){return _e.barycoordFromPoint(t,this.a,this.b,this.c,e)},containsPoint:function(t){return _e.containsPoint(t,this.a,this.b,this.c)},closestPointToPoint:function(){var t,e,i,n;return function(r,o){void 0===t&&(t=new Rt,e=[new we,new we,new we],i=new N,n=new N);var a=o||new N,s=1/0;if(t.setFromCoplanarPoints(this.a,this.b,this.c),t.projectPoint(r,i),this.containsPoint(i)===!0)a.copy(i);else{e[0].set(this.a,this.b),e[1].set(this.b,this.c),e[2].set(this.c,this.a);for(var c=0;c0){this.morphTargetBase=-1,this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var t=0,e=this.geometry.morphTargets.length;te.far?null:{distance:u,point:v.clone(),object:t}}function i(i,n,r,o,u,h,l,m){a.fromArray(o,3*h),s.fromArray(o,3*l),c.fromArray(o,3*m);var v=e(i,n,r,a,s,c,g);return v&&(u&&(d.fromArray(u,2*h),f.fromArray(u,2*l),p.fromArray(u,2*m),v.uv=t(g,a,s,c,d,f,p)),v.face=new ee(h,l,m,_e.normal(a,s,c)),v.faceIndex=h),v}var n=new O,r=new xe,o=new It,a=new N,s=new N,c=new N,u=new N,h=new N,l=new N,d=new I,f=new I,p=new I,m=new N,g=new N,v=new N;return function(m,v){var y=this.geometry,b=this.material,x=this.matrixWorld;if(void 0!==b&&(null===y.boundingSphere&&y.computeBoundingSphere(),o.copy(y.boundingSphere),o.applyMatrix4(x),m.ray.intersectsSphere(o)!==!1&&(n.getInverse(x),r.copy(m.ray).applyMatrix4(n),null===y.boundingBox||r.intersectsBox(y.boundingBox)!==!1))){var w,_;if(y&&y.isBufferGeometry){var S,A,M,P=y.index,C=y.attributes,T=C.position.array;if(void 0!==C.uv&&(w=C.uv.array),null!==P)for(var E=P.array,I=0,L=E.length;I0&&(w=B);for(var U=0,j=z.length;Ur||i.push({distance:Math.sqrt(n),point:this.position,face:null,object:this})}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),ke.prototype=Object.assign(Object.create(re.prototype),{constructor:ke,copy:function(t){re.prototype.copy.call(this,t,!1);for(var e=t.levels,i=0,n=e.length;i1){t.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(this.matrixWorld);var r=t.distanceTo(e);n[0].object.visible=!0;for(var o=1,a=n.length;o=n[o].distance;o++)n[o-1].object.visible=!1,n[o].object.visible=!0;for(;oa)){d.applyMatrix4(this.matrixWorld);var S=n.ray.origin.distanceTo(d);Sn.far||r.push({distance:S,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}else for(var y=0,b=g.length/3-1;ya)){d.applyMatrix4(this.matrixWorld);var S=n.ray.origin.distanceTo(d);Sn.far||r.push({distance:S,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}}else if(s&&s.isGeometry)for(var A=s.vertices,M=A.length,y=0;ya)){d.applyMatrix4(this.matrixWorld);var S=n.ray.origin.distanceTo(d);Sn.far||r.push({distance:S,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Ve.prototype=Object.assign(Object.create($e.prototype),{constructor:Ve,isLineSegments:!0}),Ge.prototype=Object.create(At.prototype),Ge.prototype.constructor=Ge,Ge.prototype.isPointsMaterial=!0,Ge.prototype.copy=function(t){return At.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this},He.prototype=Object.assign(Object.create(re.prototype),{constructor:He,isPoints:!0,raycast:function(){var t=new O,e=new xe,i=new It;return function(n,r){function o(t,i){var o=e.distanceSqToPoint(t);if(on.far)return;r.push({distance:u,distanceToRay:Math.sqrt(o),point:s.clone(),index:i,face:null,object:a})}}var a=this,s=this.geometry,c=this.matrixWorld,u=n.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(c),n.ray.intersectsSphere(i)!==!1){t.getInverse(c),e.copy(n.ray).applyMatrix4(t);var h=u/((this.scale.x+this.scale.y+this.scale.z)/3),l=h*h,d=new N;if(s&&s.isBufferGeometry){var f=s.index,p=s.attributes,m=p.position.array;if(null!==f)for(var g=f.array,v=0,y=g.length;v0||0===t.search(/^data\\:image\\/jpeg/);r.format=n?Xl:ql,r.image=i,r.needsUpdate=!0,void 0!==e&&e(r)},i,n),r},setCrossOrigin:function(t){return this.crossOrigin=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setPath:function(t){return this.path=t,this}}),ni.prototype=Object.assign(Object.create(re.prototype),{constructor:ni,isLight:!0,copy:function(t){return re.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){var e=re.prototype.toJSON.call(this,t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}),ri.prototype=Object.assign(Object.create(ni.prototype),{constructor:ri,isHemisphereLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(oi.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var t={};return 0!==this.bias&&(t.bias=this.bias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}),ai.prototype=Object.assign(Object.create(oi.prototype),{constructor:ai,isSpotLightShadow:!0,update:function(t){var e=2*Ed.RAD2DEG*t.angle,i=this.mapSize.width/this.mapSize.height,n=t.distance||500,r=this.camera;e===r.fov&&i===r.aspect&&n===r.far||(r.fov=e,r.aspect=i,r.far=n,r.updateProjectionMatrix())}}),si.prototype=Object.assign(Object.create(ni.prototype),{constructor:si,isSpotLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),ci.prototype=Object.assign(Object.create(ni.prototype),{constructor:ci,isPointLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),ui.prototype=Object.assign(Object.create(oi.prototype),{constructor:ui}),hi.prototype=Object.assign(Object.create(ni.prototype),{constructor:hi,isDirectionalLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),li.prototype=Object.assign(Object.create(ni.prototype),{constructor:li,isAmbientLight:!0});var Hp={arraySlice:function(t,e,i){return Hp.isTypedArray(t)?new t.constructor(t.subarray(e,i)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&t.constructor===e?t:\"number\"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){function e(e,i){return t[e]-t[i]}for(var i=t.length,n=new Array(i),r=0;r!==i;++r)n[r]=r;return n.sort(e),n},sortedArray:function(t,e,i){for(var n=t.length,r=new t.constructor(n),o=0,a=0;a!==n;++o)for(var s=i[o]*e,c=0;c!==e;++c)r[a++]=t[s+c];return r},flattenJSON:function(t,e,i,n){for(var r=1,o=t[0];void 0!==o&&void 0===o[n];)o=t[r++];if(void 0!==o){var a=o[n];if(void 0!==a)if(Array.isArray(a)){do a=o[n],void 0!==a&&(e.push(o.time),i.push.apply(i,a)),o=t[r++];while(void 0!==o)}else if(void 0!==a.toArray){do a=o[n],void 0!==a&&(e.push(o.time),a.toArray(i,i.length)),o=t[r++];while(void 0!==o)}else do a=o[n],void 0!==a&&(e.push(o.time),i.push(a)),o=t[r++];while(void 0!==o)}}};di.prototype={constructor:di,evaluate:function(t){var e=this.parameterPositions,i=this._cachedIndex,n=e[i],r=e[i-1];t:{e:{var o;i:{n:if(!(t=r)break t;var s=e[1];t=r)break e}o=i,i=0}}for(;i>>1;te;)--o;if(++o,0!==r||o!==n){r>=o&&(o=Math.max(o,1),r=o-1);var a=this.getValueSize();this.times=Hp.arraySlice(i,r,o),this.values=Hp.arraySlice(this.values,r*a,o*a)}return this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error(\"invalid value size in track\",this),t=!1);var i=this.times,n=this.values,r=i.length;0===r&&(console.error(\"track is empty\",this),t=!1);for(var o=null,a=0;a!==r;a++){var s=i[a];if(\"number\"==typeof s&&isNaN(s)){console.error(\"time is not a valid number\",this,a,s),t=!1;break}if(null!==o&&o>s){console.error(\"out of order keys\",this,a,s,o),t=!1;break}o=s}if(void 0!==n&&Hp.isTypedArray(n))for(var a=0,c=n.length;a!==c;++a){var u=n[a];if(isNaN(u)){console.error(\"value is not a valid number\",this,a,u),t=!1;break}}return t},optimize:function(){for(var t=this.times,e=this.values,i=this.getValueSize(),n=1,r=1,o=t.length-1;r<=o;++r){var a=!1,s=t[r],c=t[r+1];if(s!==c&&(1!==r||s!==s[0]))for(var u=r*i,h=u-i,l=u+i,d=0;d!==i;++d){var f=e[u+d];if(f!==e[h+d]||f!==e[l+d]){a=!0;break}}if(a){if(r!==n){t[n]=t[r];for(var p=r*i,m=n*i,d=0;d!==i;++d)e[m+d]=e[p+d]}++n}}return n!==t.length&&(this.times=Hp.arraySlice(t,0,n),this.values=Hp.arraySlice(e,0,n*i)),this}},vi.prototype=Object.assign(Object.create(Wp),{constructor:vi,ValueTypeName:\"vector\"}),yi.prototype=Object.assign(Object.create(di.prototype),{constructor:yi,interpolate_:function(t,e,i,n){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,c=(i-e)/(n-e),u=s+a;s!==u;s+=4)D.slerpFlat(r,0,o,s-a,o,s,c);return r}}),bi.prototype=Object.assign(Object.create(Wp),{constructor:bi,ValueTypeName:\"quaternion\",DefaultInterpolation:dd,InterpolantFactoryMethodLinear:function(t){return new yi(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),xi.prototype=Object.assign(Object.create(Wp),{constructor:xi,ValueTypeName:\"number\"}),wi.prototype=Object.assign(Object.create(Wp),{constructor:wi,ValueTypeName:\"string\",ValueBufferType:Array,DefaultInterpolation:ld,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),_i.prototype=Object.assign(Object.create(Wp),{constructor:_i,ValueTypeName:\"bool\",ValueBufferType:Array,DefaultInterpolation:ld,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Si.prototype=Object.assign(Object.create(Wp),{constructor:Si,ValueTypeName:\"color\"}),Ai.prototype=Wp,Wp.constructor=Ai,Object.assign(Ai,{parse:function(t){if(void 0===t.type)throw new Error(\"track type undefined, can not parse\");var e=Ai._getTrackTypeForValueTypeName(t.type);if(void 0===t.times){var i=[],n=[];Hp.flattenJSON(t.keys,i,n,\"value\"),t.times=i,t.values=n}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)},toJSON:function(t){var e,i=t.constructor;if(void 0!==i.toJSON)e=i.toJSON(t);else{e={name:t.name,times:Hp.convertArray(t.times,Array),values:Hp.convertArray(t.values,Array)};var n=t.getInterpolation();n!==t.DefaultInterpolation&&(e.interpolation=n)}return e.type=t.ValueTypeName,e},_getTrackTypeForValueTypeName:function(t){switch(t.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return xi;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return vi;case\"color\":return Si;case\"quaternion\":return bi;case\"bool\":case\"boolean\":return _i;case\"string\":return wi}throw new Error(\"Unsupported typeName: \"+t)}}),Mi.prototype={constructor:Mi,resetDuration:function(){for(var t=this.tracks,e=0,i=0,n=t.length;i!==n;++i){var r=this.tracks[i];e=Math.max(e,r.times[r.times.length-1])}this.duration=e},trim:function(){for(var t=0;t1){var u=c[1],h=n[u];h||(n[u]=h=[]),h.push(s)}}var l=[];for(var u in n)l.push(Mi.CreateFromMorphTargetSequence(u,n[u],e,i));return l},parseAnimation:function(t,e,i){if(!t)return console.error(\" no animation in JSONLoader data\"),null;for(var n=function(t,e,i,n,r){if(0!==i.length){var o=[],a=[];Hp.flattenJSON(i,o,a,n),0!==o.length&&r.push(new t(e,o,a))}},r=[],o=t.name||\"default\",a=t.length||-1,s=t.fps||30,c=t.hierarchy||[],u=0;u1?t.skinWeights[i+1]:0,s=e>2?t.skinWeights[i+2]:0,c=e>3?t.skinWeights[i+3]:0;a.skinWeights.push(new wt(r,o,s,c))}if(t.skinIndices)for(var i=0,n=t.skinIndices.length;i1?t.skinIndices[i+1]:0,l=e>2?t.skinIndices[i+2]:0,d=e>3?t.skinIndices[i+3]:0;a.skinIndices.push(new wt(u,h,l,d))}a.bones=t.bones,a.bones&&a.bones.length>0&&(a.skinWeights.length!==a.skinIndices.length||a.skinIndices.length!==a.vertices.length)&&console.warn(\"When skinning, number of vertices (\"+a.vertices.length+\"), skinIndices (\"+a.skinIndices.length+\"), and skinWeights (\"+a.skinWeights.length+\") should match.\")}function r(e){if(void 0!==t.morphTargets)for(var i=0,n=t.morphTargets.length;i0){console.warn('THREE.JSONLoader: \"morphColors\" no longer supported. Using them as face colors.');for(var h=a.faces,l=t.morphColors[0].colors,i=0,n=h.length;i0&&(a.animations=e)}var a=new ae,s=void 0!==t.scale?1/t.scale:1;if(i(s),n(),r(s),o(),a.computeFaceNormals(),a.computeBoundingSphere(),void 0===t.materials||0===t.materials.length)return{geometry:a};var c=Ti.prototype.initMaterials(t.materials,e,this.crossOrigin);return{geometry:a,materials:c}}}),Object.assign(Ii.prototype,{load:function(t,e,i,n){\"\"===this.texturePath&&(this.texturePath=t.substring(0,t.lastIndexOf(\"/\")+1));var r=this,o=new Ke(r.manager);o.load(t,function(t){r.parse(JSON.parse(t),e)},i,n)},setTexturePath:function(t){this.texturePath=t},setCrossOrigin:function(t){this.crossOrigin=t},parse:function(t,e){var i=this.parseGeometries(t.geometries),n=this.parseImages(t.images,function(){void 0!==e&&e(a)}),r=this.parseTextures(t.textures,n),o=this.parseMaterials(t.materials,r),a=this.parseObject(t.object,i,o);return t.animations&&(a.animations=this.parseAnimations(t.animations)),void 0!==t.images&&0!==t.images.length||void 0!==e&&e(a),a},parseGeometries:function(t){var e={};if(void 0!==t)for(var i=new Ei,n=new Ci,r=0,o=t.length;r0){var o=new Ze(e),a=new ti(o);a.setCrossOrigin(this.crossOrigin);for(var s=0,c=t.length;s0?new Ue(s,c):new Ae(s,c);break;case\"LOD\":a=new ke;break;case\"Line\":a=new $e(r(e.geometry),o(e.material),e.mode);break;case\"LineSegments\":a=new Ve(r(e.geometry),o(e.material));break;case\"PointCloud\":case\"Points\":a=new He(r(e.geometry),o(e.material));break;case\"Sprite\":a=new Ne(o(e.material));break;case\"Group\":a=new We;break;default:a=new re}if(a.uuid=e.uuid,void 0!==e.name&&(a.name=e.name),void 0!==e.matrix?(t.fromArray(e.matrix),t.decompose(a.position,a.quaternion,a.scale)):(void 0!==e.position&&a.position.fromArray(e.position),void 0!==e.rotation&&a.rotation.fromArray(e.rotation),void 0!==e.quaternion&&a.quaternion.fromArray(e.quaternion),void 0!==e.scale&&a.scale.fromArray(e.scale)),void 0!==e.castShadow&&(a.castShadow=e.castShadow),void 0!==e.receiveShadow&&(a.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(a.shadow.bias=e.shadow.bias),void 0!==e.shadow.radius&&(a.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&a.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(a.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(a.visible=e.visible),void 0!==e.userData&&(a.userData=e.userData),void 0!==e.children)for(var u in e.children)a.add(this.parseObject(e.children[u],i,n));if(\"LOD\"===e.type)for(var h=e.levels,l=0;l(u-s)*(d-c)-(h-c)*(l-s))return!1;var m,g,v,y,b,x,w,_,S,A,M,P,C,T,E;for(m=l-u,g=d-h,v=s-l,y=c-d,b=u-s,x=h-c,a=0;a=-Number.EPSILON&&T>=-Number.EPSILON&&C>=-Number.EPSILON))return!1;return!0}return function(e,i){var n=e.length;if(n<3)return null;var r,o,a,s=[],c=[],u=[];if(Xp.area(e)>0)for(o=0;o2;){if(l--<=0)return console.warn(\"THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()\"),i?u:s;if(r=o,h<=r&&(r=0),o=r+1,h<=o&&(o=0),a=o+1,h<=a&&(a=0),t(e,r,o,a,h,c)){var d,f,p,m,g;for(d=c[r],f=c[o],p=c[a],s.push([e[d],e[f],e[p]]),u.push([c[r],c[o],c[a]]),m=o,g=o+1;g2&&t[e-1].equals(t[0])&&t.pop()}function n(t,e,i){return t.x!==e.x?t.xNumber.EPSILON){var p;if(d>0){if(f<0||f>d)return[];if(p=u*h-c*l,p<0||p>d)return[]}else{if(f>0||f0||pM?[]:x===M?o?[]:[y]:w<=M?[y,b]:[y,S]}function o(t,e,i,n){var r=e.x-t.x,o=e.y-t.y,a=i.x-t.x,s=i.y-t.y,c=n.x-t.x,u=n.y-t.y,h=r*s-o*a,l=r*u-o*c;if(Math.abs(h)>Number.EPSILON){var d=c*s-u*a;return h>0?l>=0&&d>=0:l>=0||d>=0}return l>0}function a(t,e){function i(t,e){var i=y.length-1,n=t-1;n<0&&(n=i);var r=t+1;r>i&&(r=0);var a=o(y[t],y[n],y[r],s[e]);if(!a)return!1;var c=s.length-1,u=e-1;u<0&&(u=c);var h=e+1;return h>c&&(h=0),a=o(s[e],s[u],s[h],y[t]),!!a}function n(t,e){var i,n,o;for(i=0;i0)return!0;return!1}function a(t,i){var n,o,a,s,c;for(n=0;n0)return!0;return!1}for(var s,c,u,h,l,d,f,p,m,g,v,y=t.concat(),b=[],x=[],w=0,_=e.length;w<_;w++)b.push(w);for(var S=0,A=2*b.length;b.length>0;){if(A--,A<0){console.log(\"Infinite Loop! Holes left:\"+b.length+\", Probably Hole outside Shape!\");break}for(u=S;u=0)break;x[f]=!0}if(c>=0)break}}return y}i(t),e.forEach(i);for(var s,c,u,h,l,d,f={},p=t.concat(),m=0,g=e.length;m0)){c=r;break}c=r-1}if(r=c,n[r]===i){var u=r/(o-1);return u}var h=n[r],l=n[r+1],d=l-h,f=(i-h)/d,u=(r+f)/(o-1);return u},getTangent:function(t){var e=1e-4,i=t-e,n=t+e;i<0&&(i=0),n>1&&(n=1);var r=this.getPoint(i),o=this.getPoint(n),a=o.clone().sub(r);return a.normalize()},getTangentAt:function(t){var e=this.getUtoTmapping(t);return this.getTangent(e)}},Li.create=function(t,e){return t.prototype=Object.create(Li.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Ri.prototype=Object.create(Li.prototype),Ri.prototype.constructor=Ri,Ri.prototype.isLineCurve=!0,Ri.prototype.getPoint=function(t){if(1===t)return this.v2.clone();var e=this.v2.clone().sub(this.v1);return e.multiplyScalar(t).add(this.v1),e},Ri.prototype.getPointAt=function(t){return this.getPoint(t)},Ri.prototype.getTangent=function(t){var e=this.v2.clone().sub(this.v1);return e.normalize()},Oi.prototype=Object.assign(Object.create(Li.prototype),{constructor:Oi,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new Ri(e,t))},getPoint:function(t){for(var e=t*this.getLength(),i=this.getCurveLengths(),n=0;n=e){var r=i[n]-e,o=this.curves[n],a=o.getLength(),s=0===a?0:1-r/a;return o.getPointAt(s)}n++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,i=0,n=this.curves.length;i1&&!i[i.length-1].equals(i[0])&&i.push(i[0]),i},createPointsGeometry:function(t){var e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){var e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){for(var e=new ae,i=0,n=t.length;ie;)i-=e;ie.length-2?e.length-1:n+1],c=e[n>e.length-3?e.length-1:n+2],u=qp.interpolate;return new I(u(o.x,a.x,s.x,c.x,r),u(o.y,a.y,s.y,c.y,r))},ki.prototype=Object.create(Li.prototype),ki.prototype.constructor=ki,ki.prototype.getPoint=function(t){var e=Xp.b3;return new I(e(t,this.v0.x,this.v1.x,this.v2.x,this.v3.x),e(t,this.v0.y,this.v1.y,this.v2.y,this.v3.y))},ki.prototype.getTangent=function(t){var e=qp.tangentCubicBezier;return new I(e(t,this.v0.x,this.v1.x,this.v2.x,this.v3.x),e(t,this.v0.y,this.v1.y,this.v2.y,this.v3.y)).normalize()},Fi.prototype=Object.create(Li.prototype),Fi.prototype.constructor=Fi,Fi.prototype.getPoint=function(t){var e=Xp.b2;return new I(e(t,this.v0.x,this.v1.x,this.v2.x),e(t,this.v0.y,this.v1.y,this.v2.y))},Fi.prototype.getTangent=function(t){var e=qp.tangentQuadraticBezier;return new I(e(t,this.v0.x,this.v1.x,this.v2.x),e(t,this.v0.y,this.v1.y,this.v2.y)).normalize()};var Yp=Object.assign(Object.create(Oi.prototype),{fromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,i=t.length;e0){var u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);var h=c.getPoint(1);this.currentPoint.copy(h)}});zi.prototype=Object.create(ae.prototype),zi.prototype.constructor=zi,zi.NoTaper=function(t){return 1},zi.SinusoidalTaper=function(t){return Math.sin(Math.PI*t)},zi.FrenetFrames=function(t,e,i){function n(){f[0]=new N,p[0]=new N,o=Number.MAX_VALUE,a=Math.abs(d[0].x),s=Math.abs(d[0].y),c=Math.abs(d[0].z),a<=o&&(o=a,l.set(1,0,0)),s<=o&&(o=s,l.set(0,1,0)),c<=o&&l.set(0,0,1),m.crossVectors(d[0],l).normalize(),f[0].crossVectors(d[0],m),p[0].crossVectors(d[0],f[0])}var r,o,a,s,c,u,h,l=new N,d=[],f=[],p=[],m=new N,g=new O,v=e+1;for(this.tangents=d,this.normals=f,this.binormals=p,u=0;uNumber.EPSILON&&(m.normalize(),r=Math.acos(Ed.clamp(d[u-1].dot(d[u]),-1,1)),f[u].applyMatrix4(g.makeRotationAxis(m,r))),p[u].crossVectors(d[u],f[u]);if(i)for(r=Math.acos(Ed.clamp(f[0].dot(f[v-1]),-1,1)),r/=v-1,d[0].dot(m.crossVectors(f[0],f[v-1]))>0&&(r=-r),u=1;uNumber.EPSILON){var d=Math.sqrt(h),f=Math.sqrt(c*c+u*u),p=e.x-s/d,m=e.y+a/d,g=i.x-u/f,v=i.y+c/f,y=((g-p)*u-(v-m)*c)/(a*u-s*c);n=p+a*y-t.x,r=m+s*y-t.y;var b=n*n+r*r;if(b<=2)return new I(n,r);o=Math.sqrt(b/2)}else{var x=!1;a>Number.EPSILON?c>Number.EPSILON&&(x=!0):a<-Number.EPSILON?c<-Number.EPSILON&&(x=!0):Math.sign(s)===Math.sign(u)&&(x=!0),x?(n=-s,r=a,o=Math.sqrt(h)):(n=a,r=s,o=Math.sqrt(h/2))}return new I(n/o,r/o)}function r(){if(b){var t=0,e=G*t;for(X=0;X=0;){i=X,n=X-1,n<0&&(n=t.length-1);var r=0,o=w+2*y;for(r=0;r=0;z--){for(U=z/y,j=g*Math.cos(U*Math.PI/2),B=v*Math.sin(U*Math.PI/2),X=0,q=F.length;XNumber.EPSILON){if(u<0&&(a=e[o],c=-c,s=e[r],u=-u),t.ys.y)continue;if(t.y===a.y){if(t.x===a.x)return!0}else{var h=u*(t.x-a.x)-c*(t.y-a.y);if(0===h)return!0;if(h<0)continue;n=!n}}else{if(t.y!==a.y)continue;if(s.x<=t.x&&t.x<=a.x||a.x<=t.x&&t.x<=s.x)return!0}}return n}var r=Xp.isClockWise,o=this.subPaths;if(0===o.length)return[];if(e===!0)return i(o);var a,s,c,u=[];if(1===o.length)return s=o[0],c=new ji,c.curves=s.curves,u.push(c),u;var h=!r(o[0].getPoints());h=t?!h:h;var l,d=[],f=[],p=[],m=0;f[m]=void 0,p[m]=[];for(var g=0,v=o.length;g1){for(var y=!1,b=[],x=0,w=f.length;x0&&(y||(p=d))}for(var C,g=0,T=f.length;g0){this.source.connect(this.filters[0]);for(var t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(var t=1,e=this.filters.length;t=.5)for(var o=0;o!==r;++o)t[e+o]=t[i+o]},_slerp:function(t,e,i,n,r){D.slerpFlat(t,e,t,e,t,i,n)},_lerp:function(t,e,i,n,r){for(var o=1-n,a=0;a!==r;++a){var s=e+a;t[s]=t[s]*o+t[i+a]*n}}},tn.prototype={constructor:tn,getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,i=e.objectName,n=e.propertyName,r=e.propertyIndex;if(t||(t=tn.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error(\" trying to update node for track: \"+this.path+\" but it wasn't found.\");if(i){var o=e.objectIndex;switch(i){case\"materials\":if(!t.material)return void console.error(\" can not bind to material as node does not have a material\",this);if(!t.material.materials)return void console.error(\" can not bind to material.materials as node.material does not have a materials array\",this);t=t.material.materials;break;case\"bones\":if(!t.skeleton)return void console.error(\" can not bind to bones as node does not have a skeleton\",this);t=t.skeleton.bones;for(var a=0;a0)for(var c=this._interpolants,u=this._propertyBindings,h=0,l=c.length;h!==l;++h)c[h].evaluate(a),u[h].accumulate(n,s)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var i=this._weightInterpolant;if(null!==i){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var i=this._timeScaleInterpolant;if(null!==i){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e},_updateTime:function(t){var e=this.time+t;if(0===t)return e;var i=this._clip.duration,n=this.loop,r=this._loopCount;if(n===cd){r===-1&&(this.loopCount=0,this._setEndings(!0,!0,!1));t:{if(e>=i)e=i;else{if(!(e<0))break t;e=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t<0?-1:1})}}else{var o=n===hd;if(r===-1&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),e>=i||e<0){var a=Math.floor(e/i);e-=i*a,r+=Math.abs(a);var s=this.repetitions-r;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=t>0?i:0,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t>0?1:-1});else{if(0===s){var c=t<0;this._setEndings(c,!c,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:a})}}if(o&&1===(1&r))return this.time=e,i-e}return this.time=e,e},_setEndings:function(t,e,i){var n=this._interpolantSettings;i?(n.endingStart=md,n.endingEnd=md):(t?n.endingStart=this.zeroSlopeAtStart?md:pd:n.endingStart=gd,e?n.endingEnd=this.zeroSlopeAtEnd?md:pd:n.endingEnd=gd)},_scheduleFading:function(t,e,i){var n=this._mixer,r=n.time,o=this._weightInterpolant;null===o&&(o=n._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=e,a[1]=r+t,s[1]=i,this}},Object.assign(nn.prototype,E.prototype,{clipAction:function(t,e){var i=e||this._root,n=i.uuid,r=\"string\"==typeof t?Mi.findByName(i,t):t,o=null!==r?r.uuid:t,a=this._actionsByClip[o],s=null;if(void 0!==a){var c=a.actionByRoot[n];if(void 0!==c)return c;s=a.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var u=new en(this,r,e);return this._bindAction(u,s),this._addInactiveAction(u,o,n),u},existingAction:function(t,e){var i=e||this._root,n=i.uuid,r=\"string\"==typeof t?Mi.findByName(i,t):t,o=r?r.uuid:t,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[n]||null:null},stopAllAction:function(){var t=this._actions,e=this._nActiveActions,i=this._bindings,n=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==e;++r)t[r].reset();for(var r=0;r!==n;++r)i[r].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,i=this._nActiveActions,n=this.time+=t,r=Math.sign(t),o=this._accuIndex^=1,a=0;a!==i;++a){var s=e[a];s.enabled&&s._update(n,t,r,o)}for(var c=this._bindings,u=this._nActiveBindings,a=0;a!==u;++a)c[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions,i=t.uuid,n=this._actionsByClip,r=n[i];if(void 0!==r){for(var o=r.knownActions,a=0,s=o.length;a!==s;++a){var c=o[a];this._deactivateAction(c);var u=c._cacheIndex,h=e[e.length-1];c._cacheIndex=null,c._byClipCacheIndex=null,h._cacheIndex=u,e[u]=h,e.pop(),this._removeInactiveBindingsForAction(c)}delete n[i]}},uncacheRoot:function(t){var e=t.uuid,i=this._actionsByClip;for(var n in i){var r=i[n].actionByRoot,o=r[e];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[e];if(void 0!==s)for(var c in s){var u=s[c];u.restoreOriginalState(),this._removeInactiveBinding(u)}},uncacheAction:function(t,e){var i=this.existingAction(t,e);null!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}}),Object.assign(nn.prototype,{_bindAction:function(t,e){var i=t._localRoot||this._root,n=t._clip.tracks,r=n.length,o=t._propertyBindings,a=t._interpolants,s=i.uuid,c=this._bindingsByRootAndName,u=c[s];void 0===u&&(u={},c[s]=u);for(var h=0;h!==r;++h){var l=n[h],d=l.name,f=u[d];if(void 0!==f)o[h]=f;else{if(f=o[h],void 0!==f){null===f._cacheIndex&&(++f.referenceCount,this._addInactiveBinding(f,s,d));continue}var p=e&&e._propertyBindings[h].binding.parsedPath;f=new Ji(tn.create(i,d,p),l.ValueTypeName,l.getValueSize()),++f.referenceCount,this._addInactiveBinding(f,s,d),o[h]=f}a[h].resultBuffer=f.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){var e=(t._localRoot||this._root).uuid,i=t._clip.uuid,n=this._actionsByClip[i];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,i,e)}for(var r=t._propertyBindings,o=0,a=r.length;o!==a;++o){var s=r[o];0===s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var r=e[i];0===--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){var e=t._cacheIndex;return null!==e&&e.99999?this.quaternion.set(0,0,0,1):i.y<-.99999?this.quaternion.set(1,0,0,0):(e.set(i.z,0,-i.x).normalize(),t=Math.acos(i.y),this.quaternion.setFromAxisAngle(e,t))}}(),bn.prototype.setLength=function(t,e,i){void 0===e&&(e=.2*t),void 0===i&&(i=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()},bn.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},xn.prototype=Object.create(ae.prototype),xn.prototype.constructor=xn,wn.prototype=Object.create(xn.prototype),wn.prototype.constructor=wn,_n.prototype=Object.create(ue.prototype),_n.prototype.constructor=_n,Sn.prototype=Object.create(ue.prototype),Sn.prototype.constructor=Sn,An.prototype=Object.create(ue.prototype),An.prototype.constructor=An,Mn.prototype=Object.create(ae.prototype),Mn.prototype.constructor=Mn,Pn.prototype=Object.create(ue.prototype),Pn.prototype.constructor=Pn,Cn.prototype=Object.create(ae.prototype),Cn.prototype.constructor=Cn,Tn.prototype=Object.create(ue.prototype),Tn.prototype.constructor=Tn,En.prototype=Object.create(ue.prototype),En.prototype.constructor=En;(function(){function t(){}var e=new N,i=new t,n=new t,r=new t;return t.prototype.init=function(t,e,i,n){this.c0=t,this.c1=i,this.c2=-3*t+3*e-2*i-n,this.c3=2*t-2*e+i+n},t.prototype.initNonuniformCatmullRom=function(t,e,i,n,r,o,a){var s=(e-t)/r-(i-t)/(r+o)+(i-e)/o,c=(i-e)/o-(n-e)/(o+a)+(n-i)/a;s*=o,c*=o,this.init(e,i,s,c)},t.prototype.initCatmullRom=function(t,e,i,n,r){this.init(e,i,r*(i-t),r*(n-e))},t.prototype.calc=function(t){var e=t*t,i=e*t;return this.c0+this.c1*t+this.c2*e+this.c3*i},Li.create(function(t){this.points=t||[],this.closed=!1},function(t){var o,a,s,c,u=this.points;c=u.length,c<2&&console.log(\"duh, you need at least 2 points\"),o=(c-(this.closed?0:1))*t,a=Math.floor(o),s=o-a,this.closed?a+=a>0?0:(Math.floor(Math.abs(a)/u.length)+1)*u.length:0===s&&a===c-1&&(a=c-2,s=1);var h,l,d,f;if(this.closed||a>0?h=u[(a-1)%c]:(e.subVectors(u[0],u[1]).add(u[0]),h=e),l=u[a%c],d=u[(a+1)%c],this.closed||a+2e.length-2?e.length-1:n+1],c=e[n>e.length-3?e.length-1:n+2],u=qp.interpolate;return new N(u(o.x,a.x,s.x,c.x,r),u(o.y,a.y,s.y,c.y,r),u(o.z,a.z,s.z,c.z,r))}),Li.create(function(t,e,i,n){this.v0=t,this.v1=e,this.v2=i,this.v3=n},function(t){var e=Xp.b3;return new N(e(t,this.v0.x,this.v1.x,this.v2.x,this.v3.x),e(t,this.v0.y,this.v1.y,this.v2.y,this.v3.y),e(t,this.v0.z,this.v1.z,this.v2.z,this.v3.z))}),Li.create(function(t,e,i){this.v0=t,this.v1=e,this.v2=i},function(t){var e=Xp.b2;return new N(e(t,this.v0.x,this.v1.x,this.v2.x),e(t,this.v0.y,this.v1.y,this.v2.y),e(t,this.v0.z,this.v1.z,this.v2.z))}),Li.create(function(t,e){this.v1=t,this.v2=e},function(t){if(1===t)return this.v2.clone();var e=new N;return e.subVectors(this.v2,this.v1),e.multiplyScalar(t),e.add(this.v1),e});Object.defineProperty(t,\"AudioContext\",{get:function(){return t.getAudioContext()}}),In.prototype={active:!0,params:null,execute:function(t){var e,i;return this.active&&this._listener&&(i=this.params?this.params.concat(t):t,e=this._listener.apply(this.context,i),this._isOnce&&this.detach()),e},detach:function(){return this.isBound()?this._signal.remove(this._listener,this.context):null},isBound:function(){return!!this._signal&&!!this._listener},isOnce:function(){return this._isOnce},getListener:function(){return this._listener},getSignal:function(){return this._signal},_destroy:function(){delete this._signal,delete this._listener,delete this.context},toString:function(){return\"[SignalBinding isOnce:\"+this._isOnce+\", isBound:\"+this.isBound()+\", active:\"+this.active+\"]\"}},Rn.prototype={VERSION:\"1.0.0\",memorize:!1,_shouldPropagate:!0,active:!0,_registerListener:function(t,e,i,n){var r,o=this._indexOfListener(t,i);if(o!==-1){if(r=this._bindings[o],r.isOnce()!==e)throw new Error(\"You cannot add\"+(e?\"\":\"Once\")+\"() then add\"+(e?\"Once\":\"\")+\"() the same listener without removing the relationship first.\")}else r=new In(this,t,e,i,n),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){var e=this._bindings.length;do--e;while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){for(var i,n=this._bindings.length;n--;)if(i=this._bindings[n],i._listener===t&&i.context===e)return n;return-1},has:function(t,e){return this._indexOfListener(t,e)!==-1},add:function(t,e,i){return Ln(t,\"add\"),this._registerListener(t,!1,e,i)},addOnce:function(t,e,i){return Ln(t,\"addOnce\"),this._registerListener(t,!0,e,i)},remove:function(t,e){Ln(t,\"remove\");var i=this._indexOfListener(t,e);return i!==-1&&(this._bindings[i]._destroy(),this._bindings.splice(i,1)),t},removeAll:function(){for(var t=this._bindings.length;t--;)this._bindings[t]._destroy();this._bindings.length=0},getNumListeners:function(){return this._bindings.length},halt:function(){this._shouldPropagate=!1},dispatch:function(t){if(this.active){var e,i=Array.prototype.slice.call(arguments),n=this._bindings.length;if(this.memorize&&(this._prevParams=i),n){e=this._bindings.slice(),this._shouldPropagate=!0;do n--;while(e[n]&&this._shouldPropagate&&e[n].execute(i)!==!1)}}},forget:function(){this._prevParams=null},dispose:function(){this.removeAll(),delete this._bindings,delete this._prevParams},toString:function(){return\"[Signal active:\"+this.active+\" numListeners:\"+this.getNumListeners()+\"]\"}};var Jp={PROTEIN:1,NUCLEIC:2,RNA:3,DNA:4,POLYMER:5,WATER:6,HELIX:7,SHEET:8,BACKBONE:9,SIDECHAIN:10,ALL:11,HETERO:12,ION:13,SACCHARIDE:14};On.prototype={constructor:On,type:\"selection\",setString:function(t,e){if(void 0===t&&(t=this.string||\"\"),t!==this.string){try{this.parse(t)}catch(t){this.selection={error:t.message}}this.string=t,this.test=this.makeAtomTest(),this.residueTest=this.makeResidueTest(),this.chainTest=this.makeChainTest(),this.modelTest=this.makeModelTest(),this.atomOnlyTest=this.makeAtomTest(!0),this.residueOnlyTest=this.makeResidueTest(!0),this.chainOnlyTest=this.makeChainTest(!0),this.modelOnlyTest=this.makeModelTest(!0),e||this.signals.stringChanged.dispatch(this.string)}},parse:function(t){if(this.selection={operator:void 0,rules:[]},t){var e,i,n=this,r=this.selection,o=[];t=t.replace(/\\(/g,\" ( \").replace(/\\)/g,\" ) \").trim(),\"(\"===t.charAt(0)&&\")\"===t.substr(-1)&&(t=t.slice(1,-1).trim());var a,s,c,u,h,l,d,f,p,m,g=t.split(/\\s+/),v=[\"*\",\"\",\"ALL\"],y=function(t){e={operator:t,rules:[]},void 0===r?(r=e,n.selection=e):(r.rules.push(e),o.push(r),r=e)},b=function(t){i=r,r=o.pop(),void 0===r&&(y(t),x(i))},x=function(t){r.rules.push(t)};for(c=0;c0)if(\"NOT\"===a.toUpperCase())u=1;else if(1===u)u=2;else{if(2!==u)throw new Error(\"something went wrong with 'not'\");u=!1,b()}if(\"AND\"!==a.toUpperCase())if(\"OR\"!==a.toUpperCase())if(\"NOT\"!==a.toUpperCase())if(s={},\"HETERO\"!==a.toUpperCase())if(\"WATER\"!==a.toUpperCase())if(\"PROTEIN\"!==a.toUpperCase())if(\"NUCLEIC\"!==a.toUpperCase())if(\"RNA\"!==a.toUpperCase())if(\"DNA\"!==a.toUpperCase())if(\"POLYMER\"!==a.toUpperCase())if(\"ION\"!==a.toUpperCase())if(\"SACCHARIDE\"!==a.toUpperCase()&&\"SUGAR\"!==a.toUpperCase())if(\"HYDROGEN\"!==a.toUpperCase())if(\"SMALL\"!==a.toUpperCase())if(\"NUCLEOPHILIC\"!==a.toUpperCase())if(\"HYDROPHOBIC\"!==a.toUpperCase())if(\"AROMATIC\"!==a.toUpperCase())if(\"AMIDE\"!==a.toUpperCase())if(\"ACIDIC\"!==a.toUpperCase())if(\"BASIC\"!==a.toUpperCase())if(\"CHARGED\"!==a.toUpperCase())if(\"POLAR\"!==a.toUpperCase())if(\"NONPOLAR\"!==a.toUpperCase())if(\"HELIX\"!==a.toUpperCase())if(\"SHEET\"!==a.toUpperCase())if(\"TURN\"!==a.toUpperCase())if(\"BACKBONE\"!==a.toUpperCase())if(\"SIDECHAIN\"!==a.toUpperCase())if(\"SIDECHAINATTACHED\"!==a.toUpperCase())if(v.indexOf(a.toUpperCase())===-1)if(\"@\"!==a.charAt(0))if(\"#\"!==a.charAt(0))if(\"[\"!==a[0]||\"]\"!==a[a.length-1])if(a.length>=1&&a.length<=4&&\"^\"!==a[0]&&\":\"!==a[0]&&\".\"!==a[0]&&\"%\"!==a[0]&&\"/\"!==a[0]&&isNaN(parseInt(a)))s.resname=a.toUpperCase(),x(s);else{if(s={operator:\"AND\",rules:[]},d=a.split(\"/\"),d.length>1&&d[1]){if(isNaN(parseInt(d[1])))throw new Error(\"model must be an integer\");s.rules.push({model:parseInt(d[1])})}if(p=d[0].split(\"%\"),p.length>1&&s.rules.push({altloc:p[1]}),h=p[0].split(\".\"),h.length>1&&h[1]){if(h[1].length>4)throw new Error(\"atomname must be one to four characters\");s.rules.push({atomname:h[1].substring(0,4).toUpperCase()})}if(l=h[0].split(\":\"),l.length>1&&l[1]&&s.rules.push({chainname:l[1]}),m=l[0].split(\"^\"),m.length>1&&s.rules.push({inscode:m[1]}),m[0]){var w,_;if(\"-\"===m[0][0]&&(m[0]=m[0].substr(1),w=!0),m[0].includes(\"--\")&&(m[0]=m[0].replace(\"--\",\"-\"),_=!0),f=m[0].split(\"-\"),1===f.length){if(f=parseInt(f[0]),isNaN(f))throw new Error(\"resi must be an integer\");w&&(f*=-1),s.rules.push({resno:f})}else{if(2!==f.length)throw new Error(\"resi range must contain one '-'\");w&&(f[0]*=-1),_&&(f[1]*=-1),s.rules.push({resno:[parseInt(f[0]),parseInt(f[1])]})}}if(1===s.rules.length)x(s.rules[0]);else{if(!(s.rules.length>1))throw new Error(\"empty selection chunk\");x(s)}}else s.resname=a.substr(1,a.length-2).toUpperCase(),x(s);else s.element=a.substr(1).toUpperCase(),x(s);else{for(var S=a.substr(1).split(\",\"),A=0,M=S.length;A0?e:null},makeAtomTest:function(t){var e,i=[\"h\",\"g\",\"i\"],n=[\"e\",\"b\"];e=t?this._filter(function(t){return void 0!==t.keyword&&t.keyword!==Jp.BACKBONE&&t.keyword!==Jp.SIDECHAIN||(void 0!==t.model||(void 0!==t.chainname||(void 0!==t.resname||(void 0!==t.resno||void 0!==t.sstruc))))}):this.selection;var r=function(t,e){if(void 0===e.atomname&&void 0===e.element&&void 0===e.altloc&&void 0===e.atomindex&&void 0===e.keyword&&void 0===e.inscode&&void 0===e.resname&&void 0===e.sstruc&&void 0===e.resno&&void 0===e.chainname&&void 0===e.model)return-1;if(void 0!==e.keyword){if(e.keyword===Jp.BACKBONE&&!t.isBackbone())return!1;if(e.keyword===Jp.SIDECHAIN&&!t.isSidechain())return!1;if(e.keyword===Jp.HETERO&&!t.isHetero())return!1;if(e.keyword===Jp.PROTEIN&&!t.isProtein())return!1;if(e.keyword===Jp.NUCLEIC&&!t.isNucleic())return!1;if(e.keyword===Jp.RNA&&!t.isRna())return!1;if(e.keyword===Jp.DNA&&!t.isDna())return!1;if(e.keyword===Jp.POLYMER&&!t.isPolymer())return!1;if(e.keyword===Jp.WATER&&!t.isWater())return!1;if(e.keyword===Jp.HELIX&&i.indexOf(t.sstruc)===-1)return!1;if(e.keyword===Jp.SHEET&&n.indexOf(t.sstruc)===-1)return!1;if(e.keyword===Jp.ION&&!t.isIon())return!1;if(e.keyword===Jp.SACCHARIDE&&!t.isSaccharide())return!1}if(void 0!==e.atomname&&e.atomname!==t.atomname)return!1;if(void 0!==e.element&&e.element!==t.element)return!1;if(void 0!==e.altloc&&e.altloc!==t.altloc)return!1;if(void 0!==e.atomindex&&vh(e.atomindex,t.index)<0)return!1;if(void 0!==e.resname&&e.resname!==t.resname)return!1;if(void 0!==e.sstruc&&e.sstruc!==t.sstruc)return!1;if(void 0!==e.resno)if(Array.isArray(e.resno)&&2===e.resno.length){if(e.resno[0]>t.resno||e.resno[1]e.atomindexLast||t.atomEndt.resno||e.resno[1]e.atomindexLast||t.atomEnde.atomindexLast||t.atomEnd>=4,i[r]=e[19===r?3&t|8:t]);return i.join(\"\")}}(),em=0,im=1,nm=2,rm=3,om=4,am=0,sm=1,cm=2,um=3,hm=4,lm=5,dm=6,fm=0,pm=1,mm=2,gm=3,vm=4,ym=5,bm=6,xm=[\"D-BETA-PEPTIDE, C-GAMMA LINKING\",\"D-GAMMA-PEPTIDE, C-DELTA LINKING\",\"D-PEPTIDE COOH CARBOXY TERMINUS\",\"D-PEPTIDE NH3 AMINO TERMINUS\",\"D-PEPTIDE LINKING\",\"L-BETA-PEPTIDE, C-GAMMA LINKING\",\"L-GAMMA-PEPTIDE, C-DELTA LINKING\",\"L-PEPTIDE COOH CARBOXY TERMINUS\",\"L-PEPTIDE NH3 AMINO TERMINUS\",\"L-PEPTIDE LINKING\",\"PEPTIDE LINKING\",\"PEPTIDE-LIKE\"],wm=[\"RNA OH 3 PRIME TERMINUS\",\"RNA OH 5 PRIME TERMINUS\",\"RNA LINKING\"],_m=[\"DNA OH 3 PRIME TERMINUS\",\"DNA OH 5 PRIME TERMINUS\",\"DNA LINKING\",\"L-DNA LINKING\",\"L-RNA LINKING\"],Sm=[\"D-SACCHARIDE\",\"D-SACCHARIDE 1,4 AND 1,4 LINKING\",\"D-SACCHARIDE 1,4 AND 1,6 LINKING\",\"L-SACCHARIDE\",\"L-SACCHARIDE 1,4 AND 1,4 LINKING\",\"L-SACCHARIDE 1,4 AND 1,6 LINKING\",\"SACCHARIDE\"],Am=[\"OTHER\"],Mm=[\"NON-POLYMER\"],Pm=Mm.concat(Am,Sm),Cm={H:1.1,HE:1.4,LI:1.81,BE:1.53,B:1.92,C:1.7,N:1.55,O:1.52,F:1.47,NE:1.54,NA:2.27,MG:1.73,AL:1.84,SI:2.1,P:1.8,S:1.8,CL:1.75,AR:1.88,K:2.75,CA:2.31,SC:2.3,TI:2.15,V:2.05,CR:2.05,MN:2.05,FE:2.05,CO:2,NI:2,CU:2,ZN:2.1,GA:1.87,GE:2.11,AS:1.85,SE:1.9,BR:1.83,KR:2.02,RB:3.03,SR:2.49,Y:2.4,ZR:2.3,NB:2.15,MO:2.1,TC:2.05,RU:2.05,RH:2,PD:2.05,AG:2.1,CD:2.2,IN:2.2,SN:1.93,SB:2.17,TE:2.06,I:1.98,XE:2.16,CS:3.43,BA:2.68,LA:2.5,CE:2.48,PR:2.47,ND:2.45,PM:2.43,SM:2.42,EU:2.4,GD:2.38,TB:2.37,DY:2.35,HO:2.33,ER:2.32,TM:2.3,YB:2.28,LU:2.27,HF:2.25,TA:2.2,W:2.1,RE:2.05,OS:2,IR:2,PT:2.05,AU:2.1,HG:2.05,TL:1.96,PB:2.02,BI:2.07,PO:1.97,AT:2.02,RN:2.2,FR:3.48,RA:2.83,AC:2,TH:2.4,PA:2,U:2.3,NP:2,PU:2,AM:2,CM:2,BK:2,CF:2,ES:2,FM:2,MD:2,NO:2,LR:2,RF:2,DB:2,SG:2,BH:2,HS:2,MT:2,DS:2,RG:2,CN:2,UUT:2,FL:2,UUP:2,LV:2,UUH:2},Tm=2,Em={H:.31,HE:.28,LI:1.28,BE:.96,B:.84,C:.76,N:.71,O:.66,F:.57,NE:.58,NA:1.66,MG:1.41,AL:1.21,SI:1.11,P:1.07,S:1.05,CL:1.02,AR:1.06,K:2.03,CA:1.76,SC:1.7,TI:1.6,V:1.53,CR:1.39,MN:1.39,FE:1.32,CO:1.26,NI:1.24,CU:1.32,ZN:1.22,GA:1.22,GE:1.2,AS:1.19,SE:1.2,BR:1.2,KR:1.16,RB:2.2,SR:1.95,Y:1.9,ZR:1.75,NB:1.64,MO:1.54,TC:1.47,RU:1.46,RH:1.42,PD:1.39,AG:1.45,CD:1.44,IN:1.42,SN:1.39,SB:1.39,TE:1.38,I:1.39,XE:1.4,CS:2.44,BA:2.15,LA:2.07,CE:2.04,PR:2.03,ND:2.01,PM:1.99,SM:1.98,EU:1.98,GD:1.96,TB:1.94,DY:1.92,HO:1.92,ER:1.89,TM:1.9,YB:1.87,LU:1.87,HF:1.75,TA:1.7,W:1.62,RE:1.51,OS:1.44,IR:1.41,PT:1.36,AU:1.36,HG:1.32,TL:1.45,PB:1.46,BI:1.48,PO:1.4,AT:1.5,RN:1.5,FR:2.6,RA:2.21,AC:2.15,TH:2.06,PA:2,U:1.96,NP:1.9,PU:1.87,AM:1.8,CM:1.69,BK:1.6,CF:1.6,ES:1.6,FM:1.6,MD:1.6,NO:1.6,LR:1.6,RF:1.6,DB:1.6,SG:1.6,BH:1.6,HS:1.6,MT:1.6,DS:1.6,RG:1.6,CN:1.6,UUT:1.6,FL:1.6,UUP:1.6,LV:1.6,UUH:1.6},Im=1.6,Lm={ALA:[.17,.5,.33],ARG:[.81,1.81,1],ASN:[.42,.85,.43],ASP:[1.23,3.64,2.41],ASH:[-.07,.43,.5],CYS:[-.24,-.02,.22],GLN:[.58,.77,.19],GLU:[2.02,3.63,1.61],GLH:[-.01,.11,.12],GLY:[.01,1.15,1.14],HIS:[.17,.11,-.06],ILE:[-.31,-1.12,-.81],LEU:[-.56,-1.25,-.69],LYS:[.99,2.8,1.81],MET:[-.23,-.67,-.44],PHE:[-1.13,-1.71,-.58],PRO:[.45,.14,-.31],SER:[.13,.46,.33],THR:[.14,.25,.11],TRP:[-1.85,-2.09,-.24],TYR:[-.94,-.71,.23],VAL:[.07,-.46,-.53]},Rm=[0,0,0],Om={HIS:\"H\",ARG:\"R\",LYS:\"K\",ILE:\"I\",PHE:\"F\",LEU:\"L\",TRP:\"W\",ALA:\"A\",MET:\"M\",PRO:\"P\",CYS:\"C\",ASN:\"N\",VAL:\"V\",GLY:\"G\",SER:\"S\",GLN:\"Q\",TYR:\"Y\",ASP:\"D\",GLU:\"E\",THR:\"T\",ASH:\"D\",GLH:\"E\",UNK:\"\"},Dm=Object.keys(Om),Nm=[\"A\",\"C\",\"T\",\"G\",\"U\"],km=[\"DA\",\"DC\",\"DT\",\"DG\",\"DU\",\"TCY\",\"MCY\",\"5CM\"],Fm=[\"A\",\"G\",\"DA\",\"DG\"],zm=[\"SOL\",\"WAT\",\"HOH\",\"H2O\",\"W\",\"DOD\",\"D3O\",\"TIP3\",\"TIP4\"],Bm=[\"118\",\"119\",\"1AL\",\"1CU\",\"2FK\",\"2HP\",\"2OF\",\"3CO\",\"3MT\",\"3NI\",\"3OF\",\"3P8\",\"4MO\",\"4PU\",\"543\",\"6MO\",\"ACT\",\"AG\",\"AL\",\"ALF\",\"AM\",\"ATH\",\"AU\",\"AU3\",\"AUC\",\"AZI\",\"BA\",\"BCT\",\"BEF\",\"BF4\",\"BO4\",\"BR\",\"BS3\",\"BSY\",\"CA\",\"CAC\",\"CD\",\"CD1\",\"CD3\",\"CD5\",\"CE\",\"CHT\",\"CL\",\"CO\",\"CO3\",\"CO5\",\"CON\",\"CR\",\"CS\",\"CSB\",\"CU\",\"CU1\",\"CU3\",\"CUA\",\"CUZ\",\"CYN\",\"DME\",\"DMI\",\"DSC\",\"DTI\",\"DY\",\"E4N\",\"EDR\",\"EMC\",\"ER3\",\"EU\",\"EU3\",\"F\",\"FE\",\"FE2\",\"FPO\",\"GA\",\"GD3\",\"GEP\",\"HAI\",\"HG\",\"HGC\",\"IN\",\"IOD\",\"IR\",\"IR3\",\"IRI\",\"IUM\",\"K\",\"KO4\",\"LA\",\"LCO\",\"LCP\",\"LI\",\"LU\",\"MAC\",\"MG\",\"MH2\",\"MH3\",\"MLI\",\"MLT\",\"MMC\",\"MN\",\"MN3\",\"MN5\",\"MN6\",\"MO1\",\"MO2\",\"MO3\",\"MO4\",\"MO5\",\"MO6\",\"MOO\",\"MOS\",\"MOW\",\"MW1\",\"MW2\",\"MW3\",\"NA\",\"NA2\",\"NA5\",\"NA6\",\"NAO\",\"NAW\",\"NCO\",\"NET\",\"NH4\",\"NI\",\"NI1\",\"NI2\",\"NI3\",\"NO2\",\"NO3\",\"NRU\",\"O4M\",\"OAA\",\"OC1\",\"OC2\",\"OC3\",\"OC4\",\"OC5\",\"OC6\",\"OC7\",\"OC8\",\"OCL\",\"OCM\",\"OCN\",\"OCO\",\"OF1\",\"OF2\",\"OF3\",\"OH\",\"OS\",\"OS4\",\"OXL\",\"PB\",\"PBM\",\"PD\",\"PDV\",\"PER\",\"PI\",\"PO3\",\"PO4\",\"PR\",\"PT\",\"PT4\",\"PTN\",\"RB\",\"RH3\",\"RHD\",\"RU\",\"SB\",\"SCN\",\"SE4\",\"SEK\",\"SM\",\"SMO\",\"SO3\",\"SO4\",\"SR\",\"T1A\",\"TB\",\"TBA\",\"TCN\",\"TEA\",\"TH\",\"THE\",\"TL\",\"TMA\",\"TRA\",\"UNX\",\"V\",\"VN3\",\"VO4\",\"W\",\"WO5\",\"Y1\",\"YB\",\"YB2\",\"YH\",\"YT3\",\"ZCM\",\"ZN\",\"ZN2\",\"ZN3\",\"ZNO\",\"ZO3\",\"OHX\"],Um=[\"045\",\"0AT\",\"0BD\",\"0MK\",\"0NZ\",\"0TS\",\"0V4\",\"0XY\",\"0YT\",\"10M\",\"147\",\"149\",\"14T\",\"15L\",\"16G\",\"18T\",\"18Y\",\"1AR\",\"1BW\",\"1GL\",\"1GN\",\"1JB\",\"1LL\",\"1NA\",\"1S3\",\"26M\",\"26Q\",\"26R\",\"26V\",\"26W\",\"26Y\",\"27C\",\"289\",\"291\",\"293\",\"2DG\",\"2F8\",\"2FG\",\"2FL\",\"2FP\",\"2GL\",\"2M4\",\"2M5\",\"32O\",\"34V\",\"3CM\",\"3DO\",\"3DY\",\"3FM\",\"3LR\",\"3MF\",\"3MG\",\"3SA\",\"3ZW\",\"46D\",\"46M\",\"46Z\",\"48Z\",\"4CQ\",\"4GC\",\"4NN\",\"50A\",\"5DI\",\"5GF\",\"5MM\",\"5RP\",\"5SA\",\"5SP\",\"64K\",\"6PG\",\"6SA\",\"7JZ\",\"7SA\",\"A1Q\",\"A2G\",\"AAB\",\"AAL\",\"AAO\",\"ABC\",\"ABD\",\"ABE\",\"ABF\",\"ABL\",\"ACG\",\"ACI\",\"ACR\",\"ACX\",\"ADA\",\"ADG\",\"ADR\",\"AF1\",\"AFD\",\"AFL\",\"AFO\",\"AFP\",\"AFR\",\"AGC\",\"AGH\",\"AGL\",\"AHR\",\"AIG\",\"ALL\",\"ALX\",\"AMU\",\"AOG\",\"AOS\",\"ARA\",\"ARB\",\"ARE\",\"ARI\",\"ASG\",\"ASO\",\"AXP\",\"AXR\",\"B0D\",\"B16\",\"B2G\",\"B4G\",\"B6D\",\"B8D\",\"B9D\",\"BBK\",\"BCD\",\"BDG\",\"BDP\",\"BDR\",\"BEM\",\"BFP\",\"BGC\",\"BGL\",\"BGP\",\"BGS\",\"BHG\",\"BMA\",\"BMX\",\"BNG\",\"BNX\",\"BOG\",\"BRI\",\"BXF\",\"BXP\",\"BXX\",\"BXY\",\"C3X\",\"C4X\",\"C5X\",\"CAP\",\"CBI\",\"CBK\",\"CBS\",\"CDR\",\"CEG\",\"CGF\",\"CHO\",\"CR1\",\"CR6\",\"CRA\",\"CT3\",\"CTO\",\"CTR\",\"CTT\",\"D6G\",\"DAF\",\"DAG\",\"DDA\",\"DDB\",\"DDL\",\"DEL\",\"DFR\",\"DFX\",\"DG0\",\"DGC\",\"DGD\",\"DGM\",\"DGS\",\"DIG\",\"DLF\",\"DLG\",\"DMU\",\"DNO\",\"DOM\",\"DP5\",\"DQQ\",\"DQR\",\"DR2\",\"DR3\",\"DR4\",\"DRI\",\"DSR\",\"DT6\",\"DVC\",\"E4P\",\"E5G\",\"EAG\",\"EBG\",\"EBQ\",\"EGA\",\"EJT\",\"EPG\",\"ERE\",\"ERI\",\"F1P\",\"F1X\",\"F6P\",\"FBP\",\"FCA\",\"FCB\",\"FCT\",\"FDP\",\"FDQ\",\"FFC\",\"FIX\",\"FMO\",\"FRU\",\"FSI\",\"FU4\",\"FUB\",\"FUC\",\"FUD\",\"FUL\",\"FXP\",\"G16\",\"G1P\",\"G2F\",\"G3I\",\"G4D\",\"G4S\",\"G6D\",\"G6P\",\"G6S\",\"GAC\",\"GAD\",\"GAL\",\"GC1\",\"GC4\",\"GCD\",\"GCN\",\"GCO\",\"GCS\",\"GCT\",\"GCU\",\"GCV\",\"GCW\",\"GCX\",\"GE1\",\"GFG\",\"GFP\",\"GIV\",\"GL0\",\"GL2\",\"GL5\",\"GL6\",\"GL7\",\"GL9\",\"GLA\",\"GLB\",\"GLC\",\"GLD\",\"GLF\",\"GLG\",\"GLO\",\"GLP\",\"GLS\",\"GLT\",\"GLW\",\"GMH\",\"GN1\",\"GNX\",\"GP1\",\"GP4\",\"GPH\",\"GPM\",\"GQ1\",\"GQ2\",\"GQ4\",\"GS1\",\"GS4\",\"GSA\",\"GSD\",\"GTE\",\"GTH\",\"GTK\",\"GTR\",\"GTZ\",\"GU0\",\"GU1\",\"GU2\",\"GU3\",\"GU4\",\"GU5\",\"GU6\",\"GU8\",\"GU9\",\"GUF\",\"GUP\",\"GUZ\",\"GYP\",\"GYV\",\"H2P\",\"HDL\",\"HMS\",\"HS2\",\"HSD\",\"HSG\",\"HSH\",\"HSJ\",\"HSQ\",\"HSR\",\"HSU\",\"HSX\",\"HSY\",\"HSZ\",\"IAB\",\"IDG\",\"IDR\",\"IDS\",\"IDT\",\"IDU\",\"IDX\",\"IDY\",\"IMK\",\"IN1\",\"IPT\",\"ISL\",\"KBG\",\"KD2\",\"KDA\",\"KDM\",\"KDO\",\"KFN\",\"KO1\",\"KO2\",\"KTU\",\"L6S\",\"LAG\",\"LAI\",\"LAK\",\"LAO\",\"LAT\",\"LB2\",\"LBT\",\"LCN\",\"LDY\",\"LGC\",\"LGU\",\"LM2\",\"LMT\",\"LMU\",\"LOG\",\"LOX\",\"LPK\",\"LSM\",\"LTM\",\"LVZ\",\"LXB\",\"LXZ\",\"M1F\",\"M3M\",\"M6P\",\"M8C\",\"MA1\",\"MA2\",\"MA3\",\"MAB\",\"MAG\",\"MAL\",\"MAN\",\"MAT\",\"MAV\",\"MAW\",\"MBG\",\"MCU\",\"MDA\",\"MDM\",\"MDP\",\"MFA\",\"MFB\",\"MFU\",\"MG5\",\"MGA\",\"MGL\",\"MLB\",\"MMA\",\"MMN\",\"MN0\",\"MRP\",\"MTT\",\"MUG\",\"MVP\",\"MXY\",\"N1L\",\"N9S\",\"NAA\",\"NAG\",\"NBG\",\"NDG\",\"NED\",\"NG1\",\"NG6\",\"NGA\",\"NGB\",\"NGC\",\"NGE\",\"NGF\",\"NGL\",\"NGS\",\"NGY\",\"NHF\",\"NM6\",\"NM9\",\"NTF\",\"NTO\",\"NTP\",\"NXD\",\"NYT\",\"OPG\",\"OPM\",\"ORP\",\"OX2\",\"P3M\",\"P53\",\"P6P\",\"PA5\",\"PNA\",\"PNG\",\"PNW\",\"PRP\",\"PSJ\",\"PSV\",\"PTQ\",\"QDK\",\"QPS\",\"QV4\",\"R1P\",\"R1X\",\"R2B\",\"R5P\",\"RAA\",\"RAE\",\"RAF\",\"RAM\",\"RAO\",\"RAT\",\"RB5\",\"RBL\",\"RCD\",\"RDP\",\"REL\",\"RER\",\"RF5\",\"RG1\",\"RGG\",\"RHA\",\"RIB\",\"RIP\",\"RNS\",\"RNT\",\"ROB\",\"ROR\",\"RPA\",\"RST\",\"RUB\",\"RUU\",\"RZM\",\"S6P\",\"S7P\",\"SA0\",\"SCR\",\"SDD\",\"SF6\",\"SF9\",\"SG4\",\"SG5\",\"SG6\",\"SG7\",\"SGA\",\"SGC\",\"SGD\",\"SGN\",\"SGS\",\"SHB\",\"SHG\",\"SI3\",\"SIO\",\"SOE\",\"SOL\",\"SSG\",\"SUC\",\"SUP\",\"SUS\",\"T6P\",\"T6T\",\"TAG\",\"TCB\",\"TDG\",\"TGK\",\"TGY\",\"TH1\",\"TIA\",\"TM5\",\"TM6\",\"TM9\",\"TMR\",\"TMX\",\"TOA\",\"TOC\",\"TRE\",\"TYV\",\"UCD\",\"UDC\",\"VG1\",\"X0X\",\"X1X\",\"X2F\",\"X4S\",\"X5S\",\"X6X\",\"XBP\",\"XDN\",\"XDP\",\"XIF\",\"XIM\",\"XLF\",\"XLS\",\"XMM\",\"XUL\",\"XXR\",\"XYP\",\"XYS\",\"YO5\",\"Z3Q\",\"Z6J\",\"Z9M\",\"ZDC\",\"ZDM\"],jm=[\"CA\",\"C\",\"N\",\"O\",\"O1\",\"O2\",\"OC1\",\"OC2\",\"OX1\",\"OXT\",\"H\",\"H1\",\"H2\",\"H3\",\"HA\",\"BB\"],$m=[\"P\",\"O3'\",\"O5'\",\"C5'\",\"C4'\",\"C3'\",\"OP1\",\"OP2\",\"O3*\",\"O5*\",\"C5*\",\"C4*\",\"C3*\"],Vm={};Vm[pm]={trace:\"CA\",direction1:\"C\",direction2:[\"O\",\"OC1\",\"O1\",\"OX1\",\"OXT\"],backboneStart:\"N\",backboneEnd:\"C\"},Vm[mm]={trace:[\"C4'\",\"C4*\"],direction1:[\"C1'\",\"C1*\"],direction2:[\"C3'\",\"C3*\"],backboneStart:\"P\",backboneEnd:[\"O3'\",\"O3*\"]},Vm[gm]={trace:[\"C3'\",\"C3*\"],direction1:[\"C2'\",\"C2*\"],direction2:[\"O4'\",\"O4*\"],backboneStart:\"P\",backboneEnd:[\"O3'\",\"O3*\"]},Vm[vm]={trace:[\"CA\",\"BB\"],backboneStart:[\"CA\",\"BB\"],backboneEnd:[\"CA\",\"BB\"]},Vm[ym]={trace:[\"C4'\",\"C4*\",\"P\"],backboneStart:[\"C4'\",\"C4*\",\"P\"],backboneEnd:[\"C4'\",\"C4*\",\"P\"]},Vm[bm]={trace:[\"C3'\",\"C3*\",\"C2'\",\"P\"],backboneStart:[\"C3'\",\"C3*\",\"C2'\",\"P\"],backboneEnd:[\"C3'\",\"C3*\",\"C2'\",\"P\"]},Vm[fm]={};var Gm,Hm,Wm,Xm,qm,Ym,Zm,Km,Qm,Jm,tg,eg,ig,ng,rg,og,ag,sg,cg,ug,hg,lg,dg,fg,pg,mg,gg,vg,yg,bg,xg,wg,_g,Sg,Ag,Mg,Pg,Cg,Tg,Eg,Ig,Lg,Rg,Og,Dg,Ng,kg,Fg,zg,Bg,Ug,jg,$g,Vg,Gg,Hg,Wg,Xg,qg,Yg,Zg,Kg,Qg,Jg,tv,ev,iv,nv,rv,ov,av,sv,cv,uv,hv,lv,dv,fv,pv=[].slice;uv=function(){var t,e,i,n,r;for(t={},r=\"Boolean Number String Function Array Date RegExp Undefined Null\".split(\" \"),n=0,e=r.length;ni&&(t=i),t},hv=function(t){return t.length>=3?[].slice.call(t):t[0]},ug=function(t){var e;for(e in t)e<3?(t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255)):3===e&&(t[e]<0&&(t[e]=0),t[e]>1&&(t[e]=1));return t},Xm=Math.PI,rv=Math.round,dg=Math.cos,vg=Math.floor,Vg=Math.pow,Ng=Math.log,av=Math.sin,sv=Math.sqrt,ig=Math.atan2,zg=Math.max,eg=Math.abs,Zm=2*Xm,qm=Xm/3,Hm=Xm/180,Ym=180/Xm,cg=function(){return arguments[0]instanceof Gm?arguments[0]:function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,arguments,function(){})},tg=[],cg.version=\"1.1.1\",Jm={},Km=[],Qm=!1,Gm=function(){function t(){var t,e,i,n,r,o,a,s,c;for(o=this,e=[],s=0,n=arguments.length;s3?e[3]:1]},fv=function(t){return rv(255*(t<=.00304?12.92*t:1.055*Vg(t,1/2.4)-.055))},Ig=function(t){return t>Wm.t1?t*t*t:Wm.t2*(t-Wm.t0)},Wm={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},Zg=function(){var t,e,i,n,r,o,a,s;return n=hv(arguments),i=n[0],e=n[1],t=n[2],r=ev(i,e,t),o=r[0],a=r[1],s=r[2],[116*a-16,500*(o-a),200*(a-s)]},iv=function(t){return(t/=255)<=.04045?t/12.92:Vg((t+.055)/1.055,2.4)},dv=function(t){return t>Wm.t3?Vg(t,1/3):t/Wm.t2+Wm.t0},ev=function(){var t,e,i,n,r,o,a;return n=hv(arguments),i=n[0],e=n[1],t=n[2],i=iv(i),e=iv(e),t=iv(t),r=dv((.4124564*i+.3575761*e+.1804375*t)/Wm.Xn),o=dv((.2126729*i+.7151522*e+.072175*t)/Wm.Yn),a=dv((.0193339*i+.119192*e+.9503041*t)/Wm.Zn),[r,o,a]},cg.lab=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"lab\"]),function(){})},Jm.lab=Eg,Gm.prototype.lab=function(){return Zg(this._rgb)},ng=function(t){var e,i,n,r,o,a,s,c,u,h,l;return t=function(){var e,i,n;for(n=[],i=0,e=t.length;i=0&&e[3]<=1?\"rgb\":void 0}}),yg=function(t){var e,i,n,r,o,a;if(t.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=t.split(\"\"),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),a=parseInt(t,16),r=a>>16,n=a>>8&255,i=255&a,[r,n,i,1];if(t.match(/^#?([A-Fa-f0-9]{8})$/))return 9===t.length&&(t=t.substr(1)),a=parseInt(t,16),r=a>>24&255,n=a>>16&255,i=a>>8&255,e=rv((255&a)/255*100)/100,[r,n,i,e];if(null!=Jm.css&&(o=Jm.css(t)))return o;throw\"unknown color: \"+t},Wg=function(t,e){var i,n,r,o,a,s,c;return null==e&&(e=\"rgb\"),a=t[0],r=t[1],n=t[2],i=t[3],c=a<<16|r<<8|n,s=\"000000\"+c.toString(16),s=s.substr(s.length-6),o=\"0\"+rv(255*i).toString(16),o=o.substr(o.length-2),\"#\"+function(){switch(e.toLowerCase()){case\"rgba\":return s+o;case\"argb\":return o+s;default:return s}}()},Jm.hex=function(t){return yg(t)},cg.hex=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hex\"]),function(){})},Gm.prototype.hex=function(t){return null==t&&(t=\"rgb\"),Wg(this._rgb,t)},Km.push({p:10,test:function(t){if(1===arguments.length&&\"string\"===uv(t))return\"hex\"}}),wg=function(){var t,e,i,n,r,o,a,s,c,u,h,l,d,f;if(t=hv(arguments),r=t[0],h=t[1],a=t[2],0===h)c=n=e=255*a;else{for(f=[0,0,0],i=[0,0,0],d=a<.5?a*(1+h):a+h-a*h,l=2*a-d,r/=360,f[0]=r+1/3,f[1]=r,f[2]=r-1/3,o=s=0;s<=2;o=++s)f[o]<0&&(f[o]+=1),f[o]>1&&(f[o]-=1),6*f[o]<1?i[o]=l+6*(d-l)*f[o]:2*f[o]<1?i[o]=d:3*f[o]<2?i[o]=l+(d-l)*(2/3-f[o])*6:i[o]=l;u=[rv(255*i[0]),rv(255*i[1]),rv(255*i[2])],c=u[0],n=u[1],e=u[2]}return t.length>3?[c,n,e,t[3]]:[c,n,e]},qg=function(t,e,i){var n,r,o,a,s;return void 0!==t&&t.length>=3&&(a=t,t=a[0],e=a[1],i=a[2]),t/=255,e/=255,i/=255,o=Math.min(t,e,i),zg=Math.max(t,e,i),r=(zg+o)/2,zg===o?(s=0,n=Number.NaN):s=r<.5?(zg-o)/(zg+o):(zg-o)/(2-zg-o),t===zg?n=(e-i)/(zg-o):e===zg?n=2+(i-t)/(zg-o):i===zg&&(n=4+(t-e)/(zg-o)),n*=60,n<0&&(n+=360),[n,s,r]},cg.hsl=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hsl\"]),function(){})},Jm.hsl=wg,Gm.prototype.hsl=function(){return qg(this._rgb)},_g=function(){var t,e,i,n,r,o,a,s,c,u,h,l,d,f,p,m,g,v;if(t=hv(arguments),r=t[0],m=t[1],v=t[2],v*=255,0===m)c=n=e=v;else switch(360===r&&(r=0),r>360&&(r-=360),r<0&&(r+=360),r/=60,o=vg(r),i=r-o,a=v*(1-m),s=v*(1-m*i),g=v*(1-m*(1-i)),o){case 0:u=[v,g,a],c=u[0],n=u[1],e=u[2];break;case 1:h=[s,v,a],c=h[0],n=h[1],e=h[2];break;case 2:l=[a,v,g],c=l[0],n=l[1],e=l[2];break;case 3:d=[a,s,v],c=d[0],n=d[1],e=d[2];break;case 4:f=[g,a,v],c=f[0],n=f[1],e=f[2];break;case 5:p=[v,a,s],c=p[0],n=p[1],e=p[2]}return c=rv(c),n=rv(n),e=rv(e),[c,n,e,t.length>3?t[3]:1]},Yg=function(){var t,e,i,n,r,o,a,s,c;return a=hv(arguments),o=a[0],i=a[1],t=a[2],r=Math.min(o,i,t),zg=Math.max(o,i,t),e=zg-r,c=zg/255,0===zg?(n=Number.NaN,s=0):(s=e/zg,o===zg&&(n=(i-t)/e),i===zg&&(n=2+(t-o)/e),t===zg&&(n=4+(o-i)/e),n*=60,n<0&&(n+=360)),[n,s,c]},cg.hsv=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hsv\"]),function(){})},Jm.hsv=_g,Gm.prototype.hsv=function(){return Yg(this._rgb)},jg=function(t){var e,i,n;return\"number\"===uv(t)&&t>=0&&t<=16777215?(n=t>>16,i=t>>8&255,e=255&t,[n,i,e,1]):(console.warn(\"unknown num color: \"+t),[0,0,0,1])},Jg=function(){var t,e,i,n;return n=hv(arguments),i=n[0],e=n[1],t=n[2],(i<<16)+(e<<8)+t},cg.num=function(t){return new Gm(t,\"num\")},Gm.prototype.num=function(t){return null==t&&(t=\"rgb\"),Jg(this._rgb,t)},Jm.num=jg,Km.push({p:10,test:function(t){if(1===arguments.length&&\"number\"===uv(t)&&t>=0&&t<=16777215)return\"num\"}}),fg=function(t){var e,i,n,r,o,a,s,c;if(t=t.toLowerCase(),null!=cg.colors&&cg.colors[t])return yg(cg.colors[t]);if(o=t.match(/rgb\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*\\)/)){for(s=o.slice(1,4),r=a=0;a<=2;r=++a)s[r]=+s[r];s[3]=1}else if(o=t.match(/rgba\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)/))for(s=o.slice(1,5),r=c=0;c<=3;r=++c)s[r]=+s[r];else if(o=t.match(/rgb\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)){for(s=o.slice(1,4),r=e=0;e<=2;r=++e)s[r]=rv(2.55*s[r]);s[3]=1}else if(o=t.match(/rgba\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)){for(s=o.slice(1,5),r=i=0;i<=2;r=++i)s[r]=rv(2.55*s[r]);s[3]=+s[3]}else(o=t.match(/hsl\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/))?(n=o.slice(1,4),n[1]*=.01,n[2]*=.01,s=wg(n),s[3]=1):(o=t.match(/hsla\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/))&&(n=o.slice(1,4),n[1]*=.01,n[2]*=.01,s=wg(n),s[3]=+o[4]);return s},Hg=function(t){var e;return e=t[3]<1?\"rgba\":\"rgb\",\"rgb\"===e?e+\"(\"+t.slice(0,3).map(rv).join(\",\")+\")\":\"rgba\"===e?e+\"(\"+t.slice(0,3).map(rv).join(\",\")+\",\"+t[3]+\")\":void 0},nv=function(t){return rv(100*t)/100},xg=function(t,e){var i;return i=e<1?\"hsla\":\"hsl\",t[0]=nv(t[0]||0),t[1]=nv(100*t[1])+\"%\",t[2]=nv(100*t[2])+\"%\",\"hsla\"===i&&(t[3]=e),i+\"(\"+t.join(\",\")+\")\"},Jm.css=function(t){return fg(t)},cg.css=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"css\"]),function(){})},Gm.prototype.css=function(t){return null==t&&(t=\"rgb\"),\"rgb\"===t.slice(0,3)?Hg(this._rgb):\"hsl\"===t.slice(0,3)?xg(this.hsl(),this.alpha()):void 0},Jm.named=function(t){return yg(lv[t])},Km.push({p:20,test:function(t){if(1===arguments.length&&null!=lv[t])return\"named\"}}),Gm.prototype.name=function(t){var e,i;arguments.length&&(lv[t]&&(this._rgb=yg(lv[t])),this._rgb[3]=1),e=this.hex();for(i in lv)if(e===lv[i])return i;return e},Lg=function(){var t,e,i,n;return n=hv(arguments),i=n[0],t=n[1],e=n[2],e*=Hm,[i,dg(e)*t,av(e)*t]},Rg=function(){var t,e,i,n,r,o,a,s,c,u,h;return i=hv(arguments),s=i[0],r=i[1],a=i[2],u=Lg(s,r,a),t=u[0],e=u[1],n=u[2],h=Eg(t,e,n),c=h[0],o=h[1],n=h[2],[Dg(c,0,255),Dg(o,0,255),Dg(n,0,255),i.length>3?i[3]:1]},Tg=function(){var t,e,i,n,r,o;return o=hv(arguments),r=o[0],t=o[1],e=o[2],i=sv(t*t+e*e),n=(ig(e,t)*Ym+360)%360,0===rv(1e4*i)&&(n=Number.NaN),[r,i,n]},Kg=function(){var t,e,i,n,r,o,a;return o=hv(arguments),r=o[0],i=o[1],e=o[2],a=Zg(r,i,e),n=a[0],t=a[1],e=a[2],Tg(n,t,e)},cg.lch=function(){var t;return t=hv(arguments),new Gm(t,\"lch\")},cg.hcl=function(){var t;return t=hv(arguments),new Gm(t,\"hcl\")},Jm.lch=Rg,Jm.hcl=function(){var t,e,i,n;return n=hv(arguments),e=n[0],t=n[1],i=n[2],Rg([i,t,e])},Gm.prototype.lch=function(){return Kg(this._rgb)},Gm.prototype.hcl=function(){return Kg(this._rgb).reverse()},Gg=function(t){var e,i,n,r,o,a,s,c,u;return null==t&&(t=\"rgb\"),c=hv(arguments),s=c[0],r=c[1],e=c[2],s/=255,r/=255,e/=255,o=1-Math.max(s,Math.max(r,e)),n=o<1?1/(1-o):0,i=(1-s-o)*n,a=(1-r-o)*n,u=(1-e-o)*n,[i,a,u,o]},hg=function(){var t,e,i,n,r,o,a,s,c;return e=hv(arguments),n=e[0],a=e[1],c=e[2],o=e[3],t=e.length>4?e[4]:1,1===o?[0,0,0,t]:(s=n>=1?0:rv(255*(1-n)*(1-o)),r=a>=1?0:rv(255*(1-a)*(1-o)),i=c>=1?0:rv(255*(1-c)*(1-o)),[s,r,i,t])},Jm.cmyk=function(){return hg(hv(arguments))},cg.cmyk=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"cmyk\"]),function(){})},Gm.prototype.cmyk=function(){return Gg(this._rgb)},Jm.gl=function(){var t,e,i,n,r;for(n=function(){var t,i;t=hv(arguments),i=[];for(e in t)r=t[e],i.push(r);return i}.apply(this,arguments),t=i=0;i<=2;t=++i)n[t]*=255;return n},cg.gl=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"gl\"]),function(){})},Gm.prototype.gl=function(){var t;return t=this._rgb,[t[0]/255,t[1]/255,t[2]/255,t[3]]},Qg=function(t,e,i){var n;return n=hv(arguments),t=n[0],e=n[1],i=n[2],t=kg(t),e=kg(e),i=kg(i),.2126*t+.7152*e+.0722*i},kg=function(t){return t/=255,t<=.03928?t/12.92:Vg((t+.055)/1.055,2.4)},tg=[],Sg=function(t,e,i,n){var r,o,a,s;for(null==i&&(i=.5),null==n&&(n=\"rgb\"),\"object\"!==uv(t)&&(t=cg(t)),\"object\"!==uv(e)&&(e=cg(e)),a=0,o=tg.length;at?o(i,c):o(c,a);\n},i=Qg(this._rgb),this._rgb=(i>t?o(cg(\"black\"),this):o(this,cg(\"white\"))).rgba()),this):Qg(this._rgb)},cv=function(t){var e,i,n,r;return r=t/100,r<66?(n=255,i=-155.25485562709179-.44596950469579133*(i=r-2)+104.49216199393888*Ng(i),e=r<20?0:-254.76935184120902+.8274096064007395*(e=r-10)+115.67994401066147*Ng(e)):(n=351.97690566805693+.114206453784165*(n=r-55)-40.25366309332127*Ng(n),i=325.4494125711974+.07943456536662342*(i=r-50)-28.0852963507957*Ng(i),e=255),ug([n,i,e])},tv=function(){var t,e,i,n,r,o,a,s,c;for(a=hv(arguments),o=a[0],i=a[1],t=a[2],r=1e3,n=4e4,e=.4;n-r>e;)c=.5*(n+r),s=cv(c),s[2]/s[0]>=t/o?n=c:r=c;return rv(c)},cg.temperature=cg.kelvin=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"temperature\"]),function(){})},Jm.temperature=Jm.kelvin=Jm.K=cv,Gm.prototype.temperature=function(){return tv(this._rgb)},Gm.prototype.kelvin=Gm.prototype.temperature,cg.contrast=function(t,e){var i,n,r,o;return\"string\"!==(r=uv(t))&&\"number\"!==r||(t=new Gm(t)),\"string\"!==(o=uv(e))&&\"number\"!==o||(e=new Gm(e)),i=t.luminance(),n=e.luminance(),i>n?(i+.05)/(n+.05):(n+.05)/(i+.05)},Gm.prototype.get=function(t){var e,i,n,r,o,a;return n=this,o=t.split(\".\"),r=o[0],e=o[1],a=n[r](),e?(i=r.indexOf(e),i>-1?a[i]:console.warn(\"unknown channel \"+e+\" in mode \"+r)):a},Gm.prototype.set=function(t,e){var i,n,r,o,a,s;if(r=this,a=t.split(\".\"),o=a[0],i=a[1],i)if(s=r[o](),n=o.indexOf(i),n>-1)if(\"string\"===uv(e))switch(e.charAt(0)){case\"+\":s[n]+=+e;break;case\"-\":s[n]+=+e;break;case\"*\":s[n]*=+e.substr(1);break;case\"/\":s[n]/=+e.substr(1);break;default:s[n]=+e}else s[n]=e;else console.warn(\"unknown channel \"+i+\" in mode \"+o);else s=e;return r._rgb=cg(s,o).alpha(r.alpha())._rgb,r},Gm.prototype.darken=function(t){var e,i;return null==t&&(t=1),i=this,e=i.lab(),e[0]-=Wm.Kn*t,cg.lab(e).alpha(i.alpha())},Gm.prototype.brighten=function(t){return null==t&&(t=1),this.darken(-t)},Gm.prototype.darker=Gm.prototype.darken,Gm.prototype.brighter=Gm.prototype.brighten,Gm.prototype.saturate=function(t){var e,i;return null==t&&(t=1),i=this,e=i.lch(),e[1]+=t*Wm.Kn,e[1]<0&&(e[1]=0),cg.lch(e).alpha(i.alpha())},Gm.prototype.desaturate=function(t){return null==t&&(t=1),this.saturate(-t)},Gm.prototype.premultiply=function(){var t,e;return e=this.rgb(),t=this.alpha(),cg(e[0]*t,e[1]*t,e[2]*t,t)},rg=function(t,e,i){if(!rg[i])throw\"unknown blend mode \"+i;return rg[i](t,e)},og=function(t){return function(e,i){var n,r;return n=cg(i).rgb(),r=cg(e).rgb(),cg(t(n,r),\"rgb\")}},gg=function(t){return function(e,i){var n,r,o;for(o=[],n=r=0;r<=3;n=++r)o[n]=t(e[n],i[n]);return o}},Ug=function(t,e){return t},Bg=function(t,e){return t*e/255},pg=function(t,e){return t>e?e:t},Og=function(t,e){return t>e?t:e},ov=function(t,e){return 255*(1-(1-t/255)*(1-e/255))},$g=function(t,e){return e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))},sg=function(t,e){return 255*(1-(1-e/255)/(t/255))},mg=function(t,e){return 255===t?255:(t=255*(e/255)/(1-t/255),t>255?255:t)},rg.normal=og(gg(Ug)),rg.multiply=og(gg(Bg)),rg.screen=og(gg(ov)),rg.overlay=og(gg($g)),rg.darken=og(gg(pg)),rg.lighten=og(gg(Og)),rg.dodge=og(gg(mg)),rg.burn=og(gg(sg)),cg.blend=rg,cg.analyze=function(t){var e,i,n,r;for(n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},i=0,e=t.length;in.max&&(n.max=r),n.count+=1);return n.domain=[n.min,n.max],n.limits=function(t,e){return cg.limits(n,t,e)},n},cg.scale=function(t,e){var i,n,r,o,a,s,c,u,h,l,d,f,p,m,g,v,y,b,x,w,_;return h=\"rgb\",l=cg(\"#ccc\"),m=0,s=!1,a=[0,1],p=[],f=[0,0],i=!1,r=[],d=!1,u=0,c=1,o=!1,n={},w=function(t){var e,i,n,o,a,s,c;if(null==t&&(t=[\"#fff\",\"#000\"]),null!=t&&\"string\"===uv(t)&&null!=(null!=(o=cg.brewer)?o[t]:void 0)&&(t=cg.brewer[t]),\"array\"===uv(t)){for(t=t.slice(0),e=n=0,a=t.length-1;0<=a?n<=a:n>=a;e=0<=a?++n:--n)i=t[e],\"string\"===uv(i)&&(t[e]=cg(i));for(p.length=0,e=c=0,s=t.length-1;0<=s?c<=s:c>=s;e=0<=s?++c:--c)p.push(e/(t.length-1))}return x(),r=t},y=function(t){var e,n;if(null!=i){for(n=i.length-1,e=0;e=i[e];)e++;return e-1}return 0},_=function(t){return t},g=function(t){var e,n,r,o,a;return a=t,i.length>2&&(o=i.length-1,e=y(t),r=i[0]+(i[1]-i[0])*(0+.5*m),n=i[o-1]+(i[o]-i[o-1])*(1-.5*m),a=u+(i[e]+.5*(i[e+1]-i[e])-r)/(n-r)*(c-u)),a},b=function(t,e){var o,a,s,d,m,g,v,b;if(null==e&&(e=!1),isNaN(t))return l;if(e?b=t:i&&i.length>2?(o=y(t),b=o/(i.length-2),b=f[0]+b*(1-f[0]-f[1])):c!==u?(b=(t-u)/(c-u),b=f[0]+b*(1-f[0]-f[1]),b=Math.min(1,Math.max(0,b))):b=1,e||(b=_(b)),d=Math.floor(1e4*b),n[d])a=n[d];else{if(\"array\"===uv(r))for(s=m=0,v=p.length-1;0<=v?m<=v:m>=v;s=0<=v?++m:--m){if(g=p[s],b<=g){a=r[s];break}if(b>=g&&s===p.length-1){a=r[s];break}if(b>g&&b=h;e=0<=h?++l:--l)p.push(e/(n-1));return a=[u,c],v},v.mode=function(t){return arguments.length?(h=t,x(),v):h},v.range=function(t,e){return w(t,e),v},v.out=function(t){return d=t,v},v.spread=function(t){return arguments.length?(m=t,v):m},v.correctLightness=function(t){return null==t&&(t=!0),o=t,x(),_=o?function(t){var e,i,n,r,o,a,s,c,u;for(e=b(0,!0).lab()[0],i=b(1,!0).lab()[0],s=e>i,n=b(t,!0).lab()[0],o=e+(i-e)*t,r=n-o,c=0,u=1,a=20;Math.abs(r)>.01&&a-- >0;)!function(){return s&&(r*=-1),r<0?(c=t,t+=.5*(u-t)):(u=t,t+=.5*(c-t)),n=b(t,!0).lab()[0],r=n-o}();return t}:function(t){return t},v},v.padding=function(t){return null!=t?(\"number\"===uv(t)&&(t=[t,t]),f=t,v):f},v.colors=function(){var e,n,r,o,s,c,u,h,l;if(o=0,s=\"hex\",1===arguments.length&&(\"string\"===uv(arguments[0])?s=arguments[0]:o=arguments[0]),2===arguments.length&&(o=arguments[0],s=arguments[1]),o)return n=a[0],e=a[1]-n,function(){u=[];for(var t=0;0<=o?to;0<=o?t++:t--)u.push(t);return u}.apply(this).map(function(t){return v(n+t/(o-1)*e)[s]()});if(t=[],h=[],i&&i.length>2)for(r=l=1,c=i.length;1<=c?lc;r=1<=c?++l:--l)h.push(.5*(i[r-1]+i[r]));else h=a;return h.map(function(t){return v(t)[s]()})},v},null==cg.scales&&(cg.scales={}),cg.scales.cool=function(){return cg.scale([cg.hsl(180,1,.9),cg.hsl(250,.7,.4)])},cg.scales.hot=function(){return cg.scale([\"#000\",\"#f00\",\"#ff0\",\"#fff\"],[0,.25,.75,1]).mode(\"rgb\")},cg.analyze=function(t,e,i){var n,r,o,a,s,c,u;if(s={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},null==i&&(i=function(){return!0}),n=function(t){null==t||isNaN(t)||(s.values.push(t),s.sum+=t,ts.max&&(s.max=t),s.count+=1)},u=function(t,r){if(i(t,r))return n(null!=e&&\"function\"===uv(e)?e(t):null!=e&&\"string\"===uv(e)||\"number\"===uv(e)?t[e]:t)},\"array\"===uv(t))for(a=0,o=t.length;a=F;_=1<=F?++O:--O)M.push(C+_/i*(zg-C));M.push(zg)}else if(\"l\"===e.substr(0,1)){if(C<=0)throw\"Logarithmic scales are only possible for values > 0\";for(T=Math.LOG10E*Ng(C),P=Math.LOG10E*Ng(zg),M.push(C),_=nt=1,z=i-1;1<=z?nt<=z:nt>=z;_=1<=z?++nt:--nt)M.push(Vg(10,T+_/i*(P-T)));M.push(zg)}else if(\"q\"===e.substr(0,1)){for(M.push(C),_=n=1,G=i-1;1<=G?n<=G:n>=G;_=1<=G?++n:--n)D=it.length*_/i,N=vg(D),N===D?M.push(it[N]):(k=D-N,M.push(it[N]*k+it[N+1]*(1-k)));M.push(zg)}else if(\"k\"===e.substr(0,1)){for(I=it.length,g=new Array(I),x=new Array(i),Q=!0,L=0,y=null,y=[],y.push(C),_=r=1,H=i-1;1<=H?r<=H:r>=H;_=1<=H?++r:--r)y.push(C+_/i*(zg-C));for(y.push(zg);Q;){for(S=o=0,W=i-1;0<=W?o<=W:o>=W;S=0<=W?++o:--o)x[S]=0;for(_=a=0,X=I-1;0<=X?a<=X:a>=X;_=0<=X?++a:--a){for(et=it[_],E=Number.MAX_VALUE,S=s=0,q=i-1;0<=q?s<=q:s>=q;S=0<=q?++s:--s)w=eg(y[S]-et),w=Y;S=0<=Y?++c:--c)R[S]=null;for(_=u=0,Z=I-1;0<=Z?u<=Z:u>=Z;_=0<=Z?++u:--u)b=g[_],null===R[b]?R[b]=it[_]:R[b]+=it[_];for(S=h=0,K=i-1;0<=K?h<=K:h>=K;S=0<=K?++h:--h)R[S]*=1/x[S];for(Q=!1,S=l=0,B=i-1;0<=B?l<=B:l>=B;S=0<=B?++l:--l)if(R[S]!==y[_]){Q=!0;break}y=R,L++,L>200&&(Q=!1)}for(A={},S=d=0,U=i-1;0<=U?d<=U:d>=U;S=0<=U?++d:--d)A[S]=[];for(_=f=0,j=I-1;0<=j?f<=j:f>=j;_=0<=j?++f:--f)b=g[_],A[b].push(it[_]);for(tt=[],S=p=0,$=i-1;0<=$?p<=$:p>=$;S=0<=$?++p:--p)tt.push(A[S][0]),tt.push(A[S][A[S].length-1]);for(tt=tt.sort(function(t,e){return t-e}),M.push(tt[0]),_=m=1,V=tt.length-1;m<=V;_=m+=2)isNaN(tt[_])||M.push(tt[_])}return M},bg=function(t,e,i){var n,r,o,a;return n=hv(arguments),t=n[0],e=n[1],i=n[2],t/=360,t<1/3?(r=(1-e)/3,a=(1+e*dg(Zm*t)/dg(qm-Zm*t))/3,o=1-(r+a)):t<2/3?(t-=1/3,a=(1-e)/3,o=(1+e*dg(Zm*t)/dg(qm-Zm*t))/3,r=1-(a+o)):(t-=2/3,o=(1-e)/3,r=(1+e*dg(Zm*t)/dg(qm-Zm*t))/3,a=1-(o+r)),a=Dg(i*a*3),o=Dg(i*o*3),r=Dg(i*r*3),[255*a,255*o,255*r,n.length>3?n[3]:1]},Xg=function(){var t,e,i,n,r,o,a,s;return a=hv(arguments),o=a[0],e=a[1],t=a[2],Zm=2*Math.PI,o/=255,e/=255,t/=255,r=Math.min(o,e,t),n=(o+e+t)/3,s=1-r/n,0===s?i=0:(i=(o-e+(o-t))/2,i/=Math.sqrt((o-e)*(o-e)+(o-t)*(e-t)),i=Math.acos(i),t>e&&(i=Zm-i),i/=Zm),[360*i,s,n]},cg.hsi=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hsi\"]),function(){})},Jm.hsi=bg,Gm.prototype.hsi=function(){return Xg(this._rgb)},Ag=function(t,e,i,n){var r,o,a,s,c,u,h,l,d,f,p,m,g;return\"hsl\"===n?(m=t.hsl(),g=e.hsl()):\"hsv\"===n?(m=t.hsv(),g=e.hsv()):\"hsi\"===n?(m=t.hsi(),g=e.hsi()):\"lch\"!==n&&\"hcl\"!==n||(n=\"hcl\",m=t.hcl(),g=e.hcl()),\"h\"===n.substr(0,1)&&(a=m[0],f=m[1],u=m[2],s=g[0],p=g[1],h=g[2]),isNaN(a)||isNaN(s)?isNaN(a)?isNaN(s)?o=Number.NaN:(o=s,1!==u&&0!==u||\"hsv\"===n||(d=p)):(o=a,1!==h&&0!==h||\"hsv\"===n||(d=f)):(r=s>a&&s-a>180?s-(a+360):s180?s+360-a:s-a,o=a+i*r),null==d&&(d=f+i*(p-f)),c=u+i*(h-u),l=cg[n](o,d,c)},tg=tg.concat(function(){var t,e,i,n;for(i=[\"hsv\",\"hsl\",\"hsi\",\"hcl\",\"lch\"],n=[],e=0,t=i.length;e>16&255)/255,e[i+1]=(t>>8&255)/255,e[i+2]=(255&t)/255,e},atomColor:function(){return 16777215},atomColorToArray:function(t,e,i){return this.colorToArray(this.atomColor(t),e,i)},bondColor:function(t,e){return this.atomProxy.index=e?t.atomIndex1:t.atomIndex2,this.atomColor(this.atomProxy)},bondColorToArray:function(t,e,i,n){return this.colorToArray(this.bondColor(t,e),i,n)},volumeColor:function(){return 16777215},volumeColorToArray:function(t,e,i){return this.colorToArray(this.volumeColor(t),e,i)},positionColor:function(){return 16777215},positionColorToArray:function(t,e,i){return this.colorToArray(this.positionColor(t),e,i)}},zn.prototype=Fn.prototype,zn.prototype.constructor=zn,Bn.prototype=Fn.prototype,Bn.prototype.constructor=Bn,Un.prototype=Fn.prototype,Un.prototype.constructor=Un,jn.prototype=Fn.prototype,jn.prototype.constructor=jn,$n.prototype=Fn.prototype,$n.prototype.constructor=$n,Vn.prototype=Fn.prototype,Vn.prototype.constructor=Vn,Gn.prototype=Fn.prototype,Gn.prototype.constructor=Gn,Hn.prototype=Fn.prototype,Hn.prototype.constructor=Hn,Wn.prototype=Fn.prototype,Wn.prototype.constructor=Wn,Xn.prototype=Fn.prototype,Xn.prototype.constructor=Xn,qn.prototype=Fn.prototype,qn.prototype.constructor=qn,Yn.prototype=Fn.prototype,Yn.prototype.constructor=Yn,Zn.prototype=Fn.prototype,Zn.prototype.constructor=Zn,Kn.prototype=Fn.prototype,Kn.prototype.constructor=Kn,Qn.prototype=Fn.prototype,Qn.prototype.constructor=Qn,Jn.prototype=Fn.prototype,Jn.prototype.constructor=Jn,tr.prototype=Fn.prototype,tr.prototype.constructor=tr,er.prototype=Fn.prototype,er.prototype.constructor=er,ir.prototype=Fn.prototype,ir.prototype.constructor=ir,nr.prototype=Fn.prototype,nr.prototype.constructor=nr,kn.types={\"\":Fn,picking:Un,random:jn,uniform:$n,atomindex:Vn,residueindex:Gn,chainindex:Hn,chainname:Wn,chainid:Xn,entityindex:qn,modelindex:Yn,entitytype:Zn,moleculetype:Kn,sstruc:Qn,element:Jn,resname:tr,bfactor:er,hydrophobicity:nr,value:Bn,volume:zn,occupancy:ir};var _v=p(),Sv=\"undefined\"!=typeof window&&\"undefined\"!=typeof window.orientation,Av=!1,Mv=!1,Pv={log:Function.prototype.bind.call(console.log,console),info:Function.prototype.bind.call(console.info,console),warn:Function.prototype.bind.call(console.warn,console),error:Function.prototype.bind.call(console.error,console),time:Function.prototype.bind.call(console.time,console),timeEnd:Function.prototype.bind.call(console.timeEnd,console)};t.Debug=l(h(\"debug\"));var Cv='

Your browser/graphics card does not seem to support WebGL.

Find out how to get it here.

',Tv=new T,Ev=new kn,Iv=new S(\"datasource\"),Lv=new S(\"representatation\"),Rv=new S(\"parser\"),Ov=new S(\"shader\"),Dv=new S(\"decompressor\"),Nv=new S(\"component\");sr.prototype={constructor:sr,type:\"\",__srcName:void 0,isBinary:function(){return this.binary||this.compressed},onload:function(){},onprogress:function(){},onerror:function(){},read:function(t){this._read(function(e){var i=Dv.get(this.compressed);this.compressed&&i?this.data=i(e):((this.binary||this.compressed)&&e instanceof ArrayBuffer&&(e=new Uint8Array(e)),this.data=e),\"function\"==typeof this.onload&&this.onload(this.data),t()}.bind(this))},_read:function(t){t(this.src)},_chunk:function(t,e){return e=Math.min(this.data.length,e),0===t&&this.data.length===e?this.data:this.isBinary()?this.data.subarray(t,e):this.data.substring(t,e)},chunk:function(t){var e=t+this.chunkSize;return this._chunk(t,e)},peekLines:function(t){var e,i=this.data,n=i.length,r=this.isBinary()?this.newline.charCodeAt(0):this.newline,o=0;for(e=0;en);return s.lines},lineCount:function(){console.warn(\"lineCount - deprecated\");for(var t=this.data,e=t.length,i=this.isBinary()?this.newline.charCodeAt(0):this.newline,n=0,r=0;rthis.data.length))return this.__pointer+=this.chunkSize,this.chunk(t)},nextChunkOfLines:function(){var t=this.nextChunk();if(void 0!==t){var e=this.__pointer>this.data.length,i=this.chunkToLines(t,this.__partialLine,e);return this.__partialLine=i.partialLine,i.lines}},eachChunk:function(t){for(var e=this.chunkSize,i=this.data.length,n=this.chunkCount(),r=0;r=0),o[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o[6]?parseInt(o[6]):0);break;case\"e\":i=o[7]?parseFloat(i).toExponential(o[7]):parseFloat(i).toExponential();break;case\"f\":i=o[7]?parseFloat(i).toFixed(o[7]):parseFloat(i);break;case\"g\":i=o[7]?parseFloat(i).toPrecision(o[7]):parseFloat(i);break;case\"o\":i=i.toString(8);break;case\"s\":i=String(i),i=o[7]?i.substring(0,o[7]):i;break;case\"t\":i=String(!!i),i=o[7]?i.substring(0,o[7]):i;break;case\"T\":i=yr(i),i=o[7]?i.substring(0,o[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o[7]?i.substring(0,o[7]):i;break;case\"x\":i=parseInt(i,10).toString(16);break;case\"X\":i=parseInt(i,10).toString(16).toUpperCase()}kv.json.test(o[8])?d[d.length]=i:(!kv.number.test(o[8])||f&&!o[3]?p=\"\":(p=f?\"+\":\"-\",i=i.toString().replace(kv.sign,\"\")),s=o[4]?\"0\"===o[4]?\"0\":o[4].charAt(1):\" \",c=o[6]-(p+i).length,a=o[6]&&c>0?br(s,c):\"\",d[d.length]=o[5]?p+i+a:\"0\"===s?p+a+i:a+p+i)}return d.join(\"\")},vr.cache={},vr.parse=function(t){for(var e=t,i=[],n=[],r=0;e;){if(null!==(i=kv.text.exec(e)))n[n.length]=i[0];else if(null!==(i=kv.modulo.exec(e)))n[n.length]=\"%\";else{if(null===(i=kv.placeholder.exec(e)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(i[2]){r|=1;var o=[],a=i[2],s=[];if(null===(s=kv.key.exec(a)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o[o.length]=s[1];\"\"!==(a=a.substring(s[0].length));)if(null!==(s=kv.key_access.exec(a)))o[o.length]=s[1];else{if(null===(s=kv.index_access.exec(a)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o[o.length]=s[1]}i[2]=o}else r|=2;if(3===r)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n[n.length]=i}e=e.substring(i[0].length)}return n};var Fv={0:[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\"],\" \":[\"\",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],_:[\"\",\"_\",\"__\",\"___\",\"____\",\"_____\",\"______\",\"_______\"]};wr.prototype={clear:function(){this.change(-this.count)},change:function(t){this.count+=t,this.signals.countChanged.dispatch(t,this.count),this.count<0&&Pv.warn(\"Counter.count below zero\",this.count)},increment:function(){this.change(1)},decrement:function(){this.change(-1)},listen:function(t){this.change(t.count),t.signals.countChanged.add(this.change,this)},unlisten:function(t){var e=t.signals.countChanged;e.has(this.change,this)&&e.remove(this.change,this)},onZeroOnce:function(t,e){if(0===this.count)t.call(e,0,0);else{var i=function(){0===this.count&&(this.signals.countChanged.remove(i,this),t.apply(e,arguments))};this.signals.countChanged.add(i,this)}},dispose:function(){this.clear(),this.signals.countChanged.dispose()}},_r.prototype={constructor:_r,getBaseObject:function(t){return\"StructureView\"===t.type&&(t=t.getStructure()),t},addObject:function(t){t=this.getBaseObject(t);var e=this.allocateGidRange(t);return e&&(this.objectList.push(t),this.rangeList.push(e)),this},removeObject:function(t){t=this.getBaseObject(t);var e=this.objectList.indexOf(t);return e!==-1&&(this.objectList.splice(e,1),this.rangeList.splice(e,1),0===this.objectList.length&&(this.nextGid=1)),this},updateObject:function(t,e){t=this.getBaseObject(t);var i=this.objectList.indexOf(t);if(i!==-1){var n=this.rangeList[i];if(n[1]===this.nextGid){var r=this.getGidCount(t);this.nextGid+=r-(n[1]-n[0]),n[1]=this.nextGid}else this.rangeList[i]=this.allocateGidRange(t)}else e||Pv.warn(\"GidPool.updateObject: object not found.\");return this},getGidCount:function(t){t=this.getBaseObject(t);var e=0;return\"Structure\"===t.type?e=t.atomStore.count+t.bondStore.count+t.backboneBondStore.count+t.rungBondStore.count:\"Volume\"===t.type?e=t.__data.length:Pv.warn(\"GidPool.getGidCount: unknown object type\"),e},allocateGidRange:function(t){t=this.getBaseObject(t);var e=this.getGidCount(t);if(e>Math.pow(10,7))return Pv.warn(\"GidPool.allocateGidRange: gidCount too large\"),null;var i=this.nextGid;return this.nextGid+=e,this.nextGid>Math.pow(2,24)&&Pv.error(\"GidPool.allocateGidRange: GidPool overflown\"),[i,this.nextGid]},getNextGid:function(){return this.nextGid++},getGid:function(t,e){t=this.getBaseObject(t),e=e||0;var i=0,n=this.objectList.indexOf(t);if(n!==-1){var r=this.rangeList[n],o=r[0];i=o+e}else Pv.warn(\"GidPool.getGid: object not found.\");return i},getByGid:function(t){var e;return this.objectList.forEach(function(i,n){var r=this.rangeList[n];if(!(t=r[1])){var o=t-r[0];\"Structure\"===i.type?othis.prevFpsTime+1e3&&(this.lastFps=this.frames,this.prevFpsTime=t,this.frames=0),t}},Ar.prototype=Object.create(E.prototype),Ar.prototype.constructor=Ar,Ov.add(\"shader/chunk/dull_interior_fragment.glsl\",\"#ifdef DULL_INTERIOR\\nif( gl_FrontFacing == false ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#endif\"),Ov.add(\"shader/chunk/fog_fragment.glsl\",\"#ifdef USE_FOG\\nfloat depth = length( vViewPosition );\\n#ifdef FOG_EXP2\\nfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * depth * depth * LOG2 ) );\\n#else\\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\\n#endif\\ngl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\"),Ov.add(\"shader/chunk/nearclip_vertex.glsl\",\"#ifdef NEAR_CLIP\\nif( vViewPosition.z < nearClip - 5.0 )\\ngl_Position.z = 2.0 * gl_Position.w;\\n#endif\"),Ov.add(\"shader/chunk/nearclip_fragment.glsl\",\"#ifdef NEAR_CLIP\\nif( vViewPosition.z < nearClip )\\ndiscard;\\n#endif\"),\nOv.add(\"shader/chunk/radiusclip_vertex.glsl\",\"#ifdef RADIUS_CLIP\\nif( distance( vViewPosition, vClipCenter ) > clipRadius + 5.0 )\\ngl_Position.z = 2.0 * gl_Position.w;\\n#endif\"),Ov.add(\"shader/chunk/radiusclip_fragment.glsl\",\"#ifdef RADIUS_CLIP\\nif( distance( vViewPosition, vClipCenter ) > clipRadius )\\ndiscard;\\n#endif\"),Ov.add(\"shader/chunk/opaque_back_fragment.glsl\",\"#ifdef OPAQUE_BACK\\n#ifdef FLIP_SIDED\\nif( gl_FrontFacing == true ){\\ngl_FragColor.a = 1.0;\\n}\\n#else\\nif( gl_FrontFacing == false ){\\ngl_FragColor.a = 1.0;\\n}\\n#endif\\n#endif\");var zv=/^(?!\\/\\/)\\s*#include\\s+(\\S+)/gim,Bv={};Cr.prototype.constructor=Cr;var Uv=2*Math.PI,jv=(new Float32Array(4),new Float32Array(4),new N),$v=new O,Vv=new O,Gv=new O,Hv=new O;\"undefined\"!=typeof WebGLRenderingContext&&WebGLRenderingContext&&(WebGLRenderingContext.prototype.getShaderParameter=function(){var e=WebGLRenderingContext.prototype.getShaderParameter;return function(){return!t.Debug||e.apply(this,arguments)}}(),WebGLRenderingContext.prototype.getShaderInfoLog=function(){var e=WebGLRenderingContext.prototype.getShaderInfoLog;return function(){return t.Debug?e.apply(this,arguments):\"\"}}(),WebGLRenderingContext.prototype.getProgramParameter=function(){var e=WebGLRenderingContext.prototype.getProgramParameter;return function(i,n){return!t.Debug&&n===WebGLRenderingContext.prototype.LINK_STATUS||e.apply(this,arguments)}}(),WebGLRenderingContext.prototype.getProgramInfoLog=function(){var e=WebGLRenderingContext.prototype.getProgramInfoLog;return function(){return t.Debug?e.apply(this,arguments):\"\"}}());var Wv=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]];Wv.forEach(function(t){t.forEach(function(t){t[0]*=.0625,t[1]*=.0625})}),Ur.prototype.constructor=Ur;var Xv=2,qv=3,Yv=function(e,i){function n(t){var e=Object.assign({},t);u=d(e.hoverTimeout,u)}function r(t,e){var i,n,r,o=s.pick(t.canvasPosition.x,t.canvasPosition.y),a=o.instance,u=c.getByGid(o.gid);return u&&\"AtomProxy\"===u.type?i=u:u&&\"BondProxy\"===u.type?n=u:u&&\"Volume\"===u.volume.type&&(r=u),(i||n||r)&&t.which===Xv&&e&&(i?l.copy(i):n?l.copy(n.atom1).add(n.atom2).multiplyScalar(.5):r&&l.copy(r),a&&l.applyProjection(a.matrix),s.centerView(!1,l)),{atom:i,bond:n,volume:r,instance:a,canvasPosition:t.canvasPosition.clone()}}function o(){if(performance.now()-f.lastMoved>u&&(f.moving=!1),f.scrolled||!f.moving&&!f.hovering){f.hovering=!0,f.scrolled=!1;var t=r(f);h.hovered.dispatch(t)}requestAnimationFrame(o)}function a(){setTimeout(function(){f.scrolled=!0},u)}var s=e.viewer,c=e.gidPool,u=50;n(i);var h={clicked:new Rn,hovered:new Rn},l=new N,f={position:new I,down:new I,canvasPosition:new I,moving:!1,hovering:!0,scrolled:!1,lastMoved:1/0,which:void 0,distance:function(){return f.position.distanceTo(f.down)},setCanvasPosition:function(t){var e=s.renderer.domElement.getBoundingClientRect(),i=t.clientX-e.left,n=t.clientY-e.top;f.canvasPosition.set(i,e.height-n)}};o(),s.renderer.domElement.addEventListener(\"mousemove\",function(t){t.preventDefault(),f.moving=!0,f.hovering=!1,f.lastMoved=performance.now(),f.position.set(t.layerX,t.layerY),f.setCanvasPosition(t)}),s.renderer.domElement.addEventListener(\"mousedown\",function(t){t.preventDefault(),f.moving=!1,f.hovering=!1,f.down.set(t.layerX,t.layerY),f.which=t.which,f.setCanvasPosition(t)}),s.renderer.domElement.addEventListener(\"mouseup\",function(e){if(e.preventDefault(),!(f.distance()>3||e.which===qv)){var i=r(f,!0);f.which=void 0,h.clicked.dispatch(i),t.Debug&&Pv.log(\"clicked\",i)}}),s.renderer.domElement.addEventListener(\"mousewheel\",a),s.renderer.domElement.addEventListener(\"wheel\",a),s.renderer.domElement.addEventListener(\"MozMousePixelScroll\",a),this.signals=h,this.setParameters=n};jr.prototype.add=function(t){this.count<<5<=t&&this.resize(t),this.words[t>>>5]|=1<>>5]|=1<>>5]^=1<>>5]^=1<>>5)+1,r=(e>>>5)-1,o=0|n;o+7>>5]|=1<>>5]|=1<>>5]&=~(1<>>5]&=~(1<>>5]&=~(1<>>5]&=~(1<>>5]&1<0;)0===this.words[this.count-1]&&this.count--;this.words=this.words.slice(0,this.count)},jr.prototype.resize=function(t){if(this.length=t,!(this.count<<5>t)&&(this.count=t+32>>>5,this.words.length<<5<=t)){var e=new Uint32Array(this.count<<1);e.set(this.words),this.words=e}},jr.prototype.hammingWeight=function(t){return t-=t>>>1&1431655765,t=(858993459&t)+(t>>>2&858993459),16843009*(t+(t>>>4)&252645135)>>>24},jr.prototype.size=function(){for(var t=0,e=this.count,i=0;i=t&&eo?a.set(this[n].subarray(0,o)):a.set(this[n]),this[n]=a}},growIfFull:function(){if(this.count>=this.length){var t=Math.round(1.5*this.length);this.resize(Math.max(256,t))}},copyFrom:function(t,e,i,n){for(var r=0,o=this.__fields.length;r0;)s-=1;a<=s&&(a===o?o=s:s===o&&(o=a),e(a,s),a+=1,s-=1)}while(a<=s);i(n,s),i(a,r)}}Pv.time(\"Store.sort\");var n=this,r=new this.constructor(1);i(0,this.count-1),Pv.timeEnd(\"Store.sort\")},clear:function(){this.count=0},dispose:function(){delete this.length,delete this.count;for(var t=0,e=this.__fields.length;t0&&(l[i]=A.angleTo(M)),t=Math.cos(b.angleTo(x)),p[i]=180/Math.PI*Math.acos(t),n=b.length(),r=x.length(),d[i]=Math.sqrt(r*n)/Math.max(2,2*(1-t)),f[i]=Math.abs(v.dot(A)),w.copy(b).multiplyScalar(d[i]/n),_.copy(x).multiplyScalar(d[i]/r),w.subVectors(I,w),_.subVectors(L,_),w.toArray(u,e+3),_.toArray(u,e+6),P.subVectors(E,C),P.toArray(m,e),M.copy(A),C.copy(w);for(w.fromArray(u,3),_.fromArray(u,6),A.subVectors(w,_).normalize(),E.index=o.getAtomIndexByType(0,T),C.copy(E),S.copy(E),Gr(S,A,w),S.toArray(u,0),P.subVectors(C,w),P.toArray(m,0),w.fromArray(u,3*s-6),_.fromArray(u,3*s-9),A.subVectors(w,_).normalize(),E.index=o.getAtomIndexByType(s-1,T),C.copy(E),S.copy(E),Gr(S,A,w),S.toArray(u,3*s-3),i=s-3;ie?z=!0:h.bending[B]>t&&(z=!0)),z){if(B-v<4){v=B,z=!1;continue}D.index=R.traceAtomIndex,T=h.axis.subarray(3*v+3,3*B),E=h.center.subarray(3*v,3*B+3),d=Vr(T).normalize(),f=Vr(E),I.fromArray(E),Gr(I,d,f),L.fromArray(E,E.length-3),Gr(L,d,f),d.subVectors(L,I),d.toArray(b,y),f.toArray(x,y),I.toArray(w,y),L.toArray(_,y),p.atomColorToArray(D,S,y),m.atomColorToArray(D,A,y),M.push(g.atomRadius(D)),P.push(u+v),C.push(u+B+1-v),y+=3,v=B,z=!1}return{axis:new Float32Array(b),center:new Float32Array(x),begin:new Float32Array(w),end:new Float32Array(_),color:new Float32Array(S),pickingColor:new Float32Array(A),size:new Float32Array(M),residueOffset:P,residueCount:C}}},jo.prototype={push:function(t){this.content.push(t),this.bubbleUp(this.content.length-1)},pop:function(){var t=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),t},peek:function(){return this.content[0]},remove:function(t){for(var e=this.content.length,i=0;i0;){var i=Math.floor((t+1)/2)-1,n=this.content[i];if(!(this.scoreFunction(e)\":\"3/4-Z\",\"?\":\"X-Y\",\"@\":\"Y-X\",A:\"Z+1/3\",B:\"Z+2/3\",C:\"X+2/3\",D:\"Y+1/3\",E:\"-Y+2/3\",F:\"X-Y+1/3\",G:\"Y-X+2/3\",H:\"-X+1/3\",I:\"X+1/3\",J:\"Y+2/3\",K:\"-Y+1/3\",L:\"X-Y+2/3\",M:\"Y-X+1/3\",N:\"-X+2/3\",O:\"2/3+X\",P:\"1/3+Y\",Q:\"1/3+Z\",R:\"2/3-Y\",S:\"1/3+X-Y\",T:\"2/3+Y-X\",U:\"1/3-X\",V:\"2/3-X\",W:\"1/3-Y\",X:\"1/3-Z\",Y:\"2/3+Y\",Z:\"1/3+Y-X\",\"[\":\"2/3+X-Y\",\"]\":\"1/3+X\",\"^\":\"2/3+Z\",_:\"2/3-Z\",\"`\":\"5/6+Z\",a:\"1/6+Z\",b:\"5/6-Z\",c:\"1/6-Z\",d:\"Z+5/6\",e:\"Z+1/6\",f:\"Z+1/4\",g:\"+Y\"},ty={\"P 1\":\" !#\",\"P -1\":\" !#$%&\",\"P 1 2 1\":\" !#$!&\",\"P 1 21 1\":\" !#$'&\",\"C 1 2 1\":\" !#$!&()#*)&\",\"P 1 m 1\":\" !# %#\",\"P 1 c 1\":\" !# %+\",\"C 1 m 1\":\" !# %#()#(,#\",\"C 1 c 1\":\" !# %+()#(,+\",\"P 1 2/m 1\":\" !# %#$!&$%&\",\"P 1 21/m 1\":\" !#$)&$%& ,#\",\"C 1 2/m 1\":\" !# %#$!&$%&()#(,#*)&*,&\",\"P 1 2/c 1\":\" !#$!-$%& %+\",\"P 1 21/c 1\":\" !#$%&$)- ,+\",\"C 1 2/c 1\":\" !#$!-$%& %+()#*)-*,&(,+\",\"P 2 2 2\":\" !#$%#$!& %&\",\"P 2 2 21\":\" !#$%+$!- %&\",\"P 21 21 2\":\" !#$%#*)&(,&\",\"P 21 21 21\":\" !#*%+$)-(,&\",\"C 2 2 21\":\" !#$%+$!- %&()#*,+*)-(,&\",\"C 2 2 2\":\" !#$%#$!& %&()#*,#*)&(,&\",\"F 2 2 2\":\" !#$%#$!& %& )+$,+$)- ,-(!+*%+*!-(%-()#*,#*)&(,&\",\"I 2 2 2\":\" !#$%# %&$!&.'/01/.120'2\",\"I 21 21 21\":\" !#*%+$)-(,&()+$,#*!& %-\",\"P m m 2\":\" !#$%# %#$!#\",\"P m c 21\":\" !#$%+ %+$!#\",\"P c c 2\":\" !#$%# %+$!+\",\"P m a 2\":\" !#$%#(%#*!#\",\"P c a 21\":\" !#$%+(%#*!+\",\"P n c 2\":\" !#$%# ,+$)+\",\"P m n 21\":\" !#*%+(%+$!#\",\"P b a 2\":\" !#$%#(,#*)#\",\"P n a 21\":\" !#$%+(,#*)+\",\"P n n 2\":\" !#$%#(,+*)+\",\"C m m 2\":\" !#$%# %#$!#()#*,#(,#*)#\",\"C m c 21\":\" !#$%+ %+$!#()#*,+(,+*)#\",\"C c c 2\":\" !#$%# %+$!+()#*,#(,+*)+\",\"A m m 2\":\" !#$%# %#$!# )+$,+ ,+$)+\",\"A b m 2\":\" !#$%# ,#$)# )+$,+ %+$!+\",\"A m a 2\":\" !#$%#(%#*!# )+$,+(,+*)+\",\"A b a 2\":\" !#$%#(,#*)# )+$,+(%+*!+\",\"F m m 2\":\" !#$%# %#$!# )+$,+ ,+$)+(!+*%+(%+*!+()#*,#(,#*)#\",\"F d d 2\":\" !#$%#345675 )+$,+3896:9(!+*%+;49<79()#*,#;85<:5\",\"I m m 2\":\" !#$%# %#$!#()+*,+(,+*)+\",\"I b a 2\":\" !#$%#(,#*)#()+*,+ %+$!+\",\"I m a 2\":\" !#$%#(%#*!#()+*,+ ,+$)+\",\"P 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#\",\"P 2/n 2/n 2/n\":\" !#$%#$!& %&*,-()-(,+*)+\",\"P 2/c 2/c 2/m\":\" !#$%#$!- %-$%& !& %+$!+\",\"P 2/b 2/a 2/n\":\" !#$%#$!& %&*,&()&(,#*)#\",\"P 21/m 2/m 2/a\":\" !#*%#$!&(%&$%&(!& %#*!#\",\"P 2/n 21/n 2/a\":\" !#*%#*)- ,-$%&(!&(,+$)+\",\"P 2/m 2/n 21/a\":\" !#*%+*!- %&$%&(!-(%+$!#\",\"P 21/c 2/c 2/a\":\" !#*%#$!-(%-$%&(!& %+*!+\",\"P 21/b 21/a 2/m\":\" !#$%#*)&(,&$%& !&(,#*)#\",\"P 21/c 21/c 2/n\":\" !#*,#$)-(%-$%&()& ,+*!+\",\"P 2/b 21/c 21/m\":\" !#$%+$)- ,&$%& !- ,+$)#\",\"P 21/n 21/n 2/m\":\" !#$%#*)-(,-$%& !&(,+*)+\",\"P 21/m 21/m 2/n\":\" !#$%#*'&.,&*,&.'& %#$!#\",\"P 21/b 2/c 21/n\":\" !#*,+$!-(,&$%&()- %+*)#\",\"P 21/b 21/c 21/a\":\" !#*%+$)-(,&$%&(!- ,+*)#\",\"P 21/n 21/m 21/a\":\" !#0%/$'&.12$%&.!2 1#0'/\",\"C 2/m 2/c 21/m\":\" !#$%+$!- %&$%& !- %+$!#()#*,+*)-(,&*,&()-(,+*)#\",\"C 2/m 2/c 21/a\":\" !#$,+$)- %&$%& )- ,+$!#()#*%+*!-(,&*,&(!-(%+*)#\",\"C 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#()#*,#*)&(,&*,&()&(,#*)#\",\"C 2/c 2/c 2/m\":\" !#$%#$!- %-$%& !& %+$!+()#*,#*)-(,-*,&()&(,+*)+\",\"C 2/m 2/m 2/a\":\" !#$,#$)& %&$%& )& ,#$!#()#*%#*!&(,&*,&(!&(%#*)#\",\"C 2/c 2/c 2/a\":\" !#*,#$!&(,&$,-(!- ,+*!+()#$%#*)& %&*%- )-(%+$)+\",\"F 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!# )+$,+$)- ,-$,- )- ,+$)+(!+*%+*!-(%-*%-(!-(%+*!+()#*,#*)&(,&*,&()&(,#*)#\",\"F 2/d 2/d 2/d\":\" !#$%#$!& %&64=37=345675 )+$,+$)- ,-68>3:>3896:9(!+*%+*!-(%-<4>;7>;49<79()#*,#*)&(,&<8=;:=;85<:5\",\"I 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#()+*,+*)-(,-*,-()-(,+*)+\",\"I 2/b 2/a 2/m\":\" !#$%#*)&(,&$%& !&(,#*)#()+*,+$!- %-*,-()- %+$!+\",\"I 21/b 21/c 21/a\":\" !#*%+$)-(,&$%&(!- ,+*)#()+$,#*!& %-*,- )&(%#$!+\",\"I 21/m 21/m 21/a\":\" !#$,#$)& %&$%& )& ,#$!#()+*%+*!-(,-*,-(!-(%+*)+\",\"P 4\":\" !#$%#% #!$#\",\"P 41\":\" !#$%+% 5!$9\",\"P 42\":\" !#$%#% +!$+\",\"P 43\":\" !#$%+% 9!$5\",\"I 4\":\" !#$%#% #!$#()+*,+,(+)*+\",\"I 41\":\" !#*,+%(5)$9()+$%#, 9!*5\",\"P -4\":\" !#$%#!$&% &\",\"I -4\":\" !#$%#!$&% &()+*,+)*-,(-\",\"P 4/m\":\" !#$%#% #!$#$%& !&!$&% &\",\"P 42/m\":\" !#$%#% +!$+$%& !&!$-% -\",\"P 4/n\":\" !#$%#,(#)*#*,&()&!$&% &\",\"P 42/n\":\" !#$%#,(+)*+*,-()-!$&% &\",\"I 4/m\":\" !#$%#% #!$#$%& !&!$&% &()+*,+,(+)*+*,-()-)*-,(-\",\"I 41/a\":\" !#*,+%(5)$9$,=(!>!$&,(-()+$%#, 9!*5*%> )=)*-% &\",\"P 4 2 2\":\" !#$%#% #!$#$!& %&! &%$&\",\"P 4 21 2\":\" !#$%#,(#)*#*)&(,&! &%$&\",\"P 41 2 2\":\" !#$%+% 5!$9$!& %-! >%$=\",\"P 41 21 2\":\" !#$%+,(5)*9*)=(,>! &%$-\",\"P 42 2 2\":\" !#$%#% +!$+$!& %&! -%$-\",\"P 42 21 2\":\" !#$%#,(+)*+*)-(,-! &%$&\",\"P 43 2 2\":\" !#$%+% 9!$5$!& %-! =%$>\",\"P 43 21 2\":\" !#$%+,(9)*5*)>(,=! &%$-\",\"I 4 2 2\":\" !#$%#% #!$#$!& %&! &%$&()+*,+,(+)*+*)-(,-)(-,*-\",\"I 41 2 2\":\" !#*,+%(5)$9*!> ,=)(-%$&()+$%#, 9!*5$)=(%>! &,*-\",\"P 4 m m\":\" !#$%#% #!$# %#$!#%$#! #\",\"P 4 b m\":\" !#$%#% #!$#(,#*)#,*#)(#\",\"P 42 c m\":\" !#$%#% +!$+ %+$!+%$#! #\",\"P 42 n m\":\" !#$%#,(+)*+(,+*)+%$#! #\",\"P 4 c c\":\" !#$%#% #!$# %+$!+%$+! +\",\"P 4 n c\":\" !#$%#% #!$#(,+*)+,*+)(+\",\"P 42 m c\":\" !#$%#% +!$+ %#$!#%$+! +\",\"P 42 b c\":\" !#$%#% +!$+(,#*)#,*+)(+\",\"I 4 m m\":\" !#$%#% #!$# %#$!#%$#! #()+*,+,(+)*+(,+*)+,*+)(+\",\"I 4 c m\":\" !#$%#% #!$# %+$!+%$+! +()+*,+,(+)*+(,#*)#,*#)(#\",\"I 41 m d\":\" !#*,+%(5)$9 %#*)+%*5) 9()+$%#, 9!*5(,+$!#,$9!(5\",\"I 41 c d\":\" !#*,+%(5)$9 %+*)#%*9) 5()+$%#, 9!*5(,#$!+,$5!(9\",\"P -4 2 m\":\" !#$%#% &!$&$!& %&%$#! #\",\"P -4 2 c\":\" !#$%#% &!$&$!- %-%$+! +\",\"P -4 21 m\":\" !#$%#% &!$&*)&(,&,*#)(#\",\"P -4 21 c\":\" !#$%#% &!$&*)-(,-,*+)(+\",\"P -4 m 2\":\" !#$%#!$&% & %#$!#! &%$&\",\"P -4 c 2\":\" !#$%#% &!$& %+$!+! -%$-\",\"P -4 b 2\":\" !#$%#% &!$&(,#*)#)(&,*&\",\"P -4 n 2\":\" !#$%#% &!$&(,+*)+)(-,*-\",\"I -4 m 2\":\" !#$%#% &!$& %#$!#! &%$&()+*,+,(-)*-(,+*)+)(-,*-\",\"I -4 c 2\":\" !#$%#% &!$& %+$!+! -%$-()+*,+,(-)*-(,#*)#)(&,*&\",\"I -4 2 m\":\" !#$%#% &!$&$!& %&%$#! #()+*,+,(-)*-*)-(,-,*+)(+\",\"I -4 2 d\":\" !#$%#% &!$&*!>(%>,$9) 9()+*,+,(-)*-$)= ,=%*5!(5\",\"P 4/m 2/m 2/m\":\" !#$%#% #!$#$!& %&! &%$&$%& !&!$&% & %#$!#%$#! #\",\"P 4/m 2/c 2/c\":\" !#$%#% #!$#$!- %-! -%$-$%& !&!$&% & %+$!+%$+! +\",\"P 4/n 2/b 2/m\":\" !#$%#% #!$#$!& %&! &%$&*,&()&)*&,(&(,#*)#,*#)(#\",\"P 4/n 2/n 2/c\":\" !#$%#% #!$#$!& %&! &%$&*,-()-)*-,(-(,+*)+,*+)(+\",\"P 4/m 21/b 2/m\":\" !#$%#% #!$#*)&(,&)(&,*&$%& !&!$&% &(,#*)#,*#)(#\",\"P 4/m 21/n 2/c\":\" !#$%#% #!$#*)-(,-)(-,*-$%& !&!$&% &(,+*)+,*+)(+\",\"P 4/n 21/m 2/m\":\" !#$%#,(#)*#*)&(,&! &%$&*,&()&!$&% & %#$!#,*#)(#\",\"P 4/n 2/c 2/c\":\" !#$%#,(#)*#*)-(,-! -%$-*,&()&!$&% & %+$!+,*+)(+\",\"P 42/m 2/m 2/c\":\" !#$%#% +!$+$!& %&! -%$-$%& !&!$-% - %#$!#%$+! +\",\"P 42/m 2/c 2/m\":\" !#$%#% +!$+$!- %-! &%$&$%& !&!$-% - %+$!+%$#! #\",\"P 42/n 2/b 2/c\":\" !#$%#,(+)*+$!- %-)(&,*&*,-()-!$&% &(,#*)#%$+! +\",\"P 42/n 2/n 2/m\":\" !#$%#,(+)*+$!& %&)(-,*-*,-()-!$&% &(,+*)+%$#! #\",\"P 42/m 21/b 2/c\":\" !#$%#% +!$+*)&(,&)(-,*-$%& !&!$-% -(,#*)#,*+)(+\",\"P 42/m 21/n 2/m\":\" !#$%#,./'*/*'-.,-! &%$&$%& !&'*-,.-.,/*'/%$#! #\",\"P 42/n 21/m 2/c\":\" !#$%#,(+)*+*)-(,-! &%$&*,-()-!$&% & %#$!#,*+)(+\",\"P 42/n 21/c 2/m\":\" !#$%#,(+)*+*)&(,&! -%$-*,-()-!$&% & %+$!+,*#)(#\",\"I 4/m 2/m 2/m\":\" !#$%#% #!$#$!& %&! &%$&$%& !&!$&% & %#$!#%$#! #()+*,+,(+)*+*)-(,-)(-,*-*,-()-)*-,(-(,+*)+,*+)(+\",\"I 4/m 2/c 2/m\":\" !#$%#% #!$#$!- %-! -%$-$%& !&!$&% & %+$!+%$+! +()+*,+,(+)*+*)&(,&)(&,*&*,-()-)*-,(-(,#*)#,*#)(#\",\"I 41/a 2/m 2/d\":\" !#*,+%(5)$9*!> ,=)(-%$&$,=(!>!$&,(-(,+$!#,$9!(5()+$%#, 9!*5$)=(%>! &,*-*%> )=)*-% & %#*)+%*5) 9\",\"I 41/a 2/c 2/d\":\" !#*,+%(5)$9*!= ,>)(&%$-$,=(!>!$&,(-(,#$!+,$5!(9()+$%#, 9!*5$)>(%=! -,*&*%> )=)*-% & %+*)#%*9) 5\",\"P 3\":\" !#%?#@$#\",\"P 31\":\" !#%?A@$B\",\"P 32\":\" !#%?B@$A\",\"H 3\":\" !#%?#@$#CDAEFAGHAIJBKLBMNB\",\"R 3\":\" !## !!# \",\"P -3\":\" !#%?#@$#$%&!@&? &\",\"H -3\":\" !#%?#@$#$%&!@&? &OPQRSQTUQVWXYZX[]X]Y^W[^ZV^UR_PT_SO_\",\"R -3\":\" !## !!# $%&&$%%&$\",\"P 3 1 2\":\" !#%?#@$#%$&@!& ?&\",\"P 3 2 1\":\" !#%?#@$#! &?%&$@&\",\"P 31 1 2\":\" !#%?Q@$^%$_@!X ?&\",\"P 31 2 1\":\" !#%?A@$B! &?%_$@X\",\"P 32 1 2\":\" !#%?^@$Q%$X@!_ ?&\",\"P 32 2 1\":\" !#%?B@$A! &?%X$@_\",\"H 3 2\":\" !#%?#@$#! &?%&$@&OPQRSQTUQY]X[WXVZX]Y^W[^ZV^PO_SR_UT_\",\"R 3 2\":\" !## !!# %$&$&%&%$\",\"P 3 m 1\":\" !#%?#@$#%$#@!# ?#\",\"P 3 1 m\":\" !#%?#@$#! #?%#$@#\",\"P 3 c 1\":\" !#%?#@$#%$+@!+ ?+\",\"P 3 1 c\":\" !#%?#@$#! +?%+$@+\",\"H 3 m\":\" !#%?#@$#%$#@!# ?#OPQRSQTUQRUQTPQOSQ]Y^W[^ZV^WV^ZY^][^\",\"R 3 m\":\" !## !!# ! # #!#! \",\"H 3 c\":\" !#%?#@$#%$+@!+ ?+OPQRSQTUQRU`TP`OS`]Y^W[^ZV^WVaZYa][a\",\"R 3 c\":\" !## !!# '././'/'.\",\"P -3 1 2/m\":\" !#%?#@$#%$&@!& ?&$%&!@&? &! #?%#$@#\",\"P -3 1 2/c\":\" !#%?#@$#%$-@!- ?-$%&!@&? &! +?%+$@+\",\"P -3 2/m 1\":\" !#%?#@$#! &?%&$@&$%&!@&? &%$#@!# ?#\",\"P -3 2/c 1\":\" !#%?#@$#! -?%-$@-$%&!@&? &%$+@!+ ?+\",\"H -3 2/m\":\" !#%?#@$#! &?%&$@&$%&!@&? &%$#@!# ?#OPQRSQTUQY]X[WXVZXVWXYZX[]XRUQTPQOSQ]Y^W[^ZV^PO_SR_UT_UR_PT_SO_WV^ZY^][^\",\"R -3 2/m\":\" !## !!# %$&$&%&%$$%&&$%%&$! # #!#! \",\"H -3 2/c\":\" !#%?#@$#! -?%-$@-$%&!@&? &%$+@!+ ?+OPQRSQTUQY]b[WbVZbVWXYZX[]XRU`TP`OS`]Y^W[^ZV^POcSRcUTcUR_PT_SO_WVaZYa][a\",\"R -3 2/c\":\" !## !!# 102021210$%&&$%%&$'././'/'.\",\"P 6\":\" !#%?#@$#$%#!@#? #\",\"P 61\":\" !#%?A@$B$%/!@d? e\",\"P 65\":\" !#%?B@$A$%/!@e? d\",\"P 62\":\" !#%?^@$Q$%#!@^? Q\",\"P 64\":\" !#%?Q@$^$%#!@Q? ^\",\"P 63\":\" !#%?#@$#$%+!@+? +\",\"P -6\":\" !#%?#@$# !&%?&@$&\",\"P 6/m\":\" !#%?#@$#$%#!@#? #$%&!@&? & !&%?&@$&\",\"P 63/m\":\" !#%?#@$#$%+!@+? +$%&!@&? & !-%?-@$-\",\"P 6 2 2\":\" !#%?#@$#$%#!@#? #! &?%&$@&%$&@!& ?&\",\"P 61 2 2\":\" !#%?Q@$^$%+!@`? a! X?%&$@_%$b@!- ?c\",\"P 65 2 2\":\" !#%?^@$Q$%+!@a? `! _?%&$@X%$c@!- ?b\",\"P 62 2 2\":\" !#%?^@$Q$%#!@^? Q! _?%&$@X%$_@!& ?X\",\"P 64 2 2\":\" !#%?Q@$^$%#!@Q? ^! X?%&$@_%$X@!& ?_\",\"P 63 2 2\":\" !#%?#@$#$%+!@+? +! &?%&$@&%$-@!- ?-\",\"P 6 m m\":\" !#%?#@$#$%#!@#? #%$#@!# ?#! #?%#$@#\",\"P 6 c c\":\" !#%?#@$#$%#!@#? #%$+@!+ ?+! +?%+$@+\",\"P 63 c m\":\" !#%?#@$#$%+!@+? +%$+@!+ ?+! #?%#$@#\",\"P 63 m c\":\" !#%?#@$#$%+!@+? +%$#@!# ?#! +?%+$@+\",\"P -6 m 2\":\" !#%?#@$# !&%?&@$&%$#@!# ?#%$&@!& ?&\",\"P -6 c 2\":\" !#%?#@$# !-%?-@$-%$+@!+ ?+%$&@!& ?&\",\"P -6 2 m\":\" !#%?#@$# !&%?&@$&! &?%&$@&! #?%#$@#\",\"P -6 2 c\":\" !#%?#@$# !-%?-@$-! &?%&$@&! +?%+$@+\",\"P 6/m 2/m 2/m\":\" !#%?#@$#$%#!@#? #! &?%&$@&%$&@!& ?&$%&!@&? & !&@$&%?&%$#@!# ?#! #?%#$@#\",\"P 6/m 2/c 2/c\":\" !#%?#@$#$%#!@#? #! -?%-$@-%$-@!- ?-$%&!@&? & !&@$&%?&%$+@!+ ?+! +?%+$@+\",\n\"P 63/m 2/c 2/m\":\" !#%?#@$#$%+!@+? +! -?%-$@-%$&@!& ?&$%&!@&? & !-@$-%?-%$+@!+ ?+! #?%#$@#\",\"P 63/m 2/m 2/c\":\" !#%?#@$#$%+!@+? +! &?%&$@&%$-@!- ?-$%&!@&? & !-@$-%?-%$#@!# ?#! +?%+$@+\",\"P 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& \",\"F 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- \",\"I 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-(\",\"P 21 3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(\",\"I 21 3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- \",\"P 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$\",\"P 2/n -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& *,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*\",\"F 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$ )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-($,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(*%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- *,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$\",\"F 2/d -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& 64=37=345675=64=375345674=67=3453756 )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(68>3:>3896:9=<8=;:5;85<:4><7>;49;79<(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(<4>;7>;49<79>68>3:93896:8=<:=;85;:5<()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- <8=;:=;8f<:f><4>;79;49<78>6:>3893:96\",\"I 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-(*,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*\",\"P 21/a -3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&($%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*\",\"I 21/a -3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&($%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*()+$,#*g& %-+()#$,&*!- %)+(,#$!&*%- *,- )&(%#$!+-*,& )#(%+$!,-*)& %#(!+$\",\"P 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$\",\"P 42 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*\",\"F 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$ )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(-%*-!*+%(+ +,$+)$-, -)#)*#,(&)(&,*(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() -,$-)$+, +(#,*#)*&,(&)+!*+%(-!(-%*()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(&,*&)*#,(#(+%*+!*-%(-!+)$+, -) -,$\",\"F 41 3 2\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=46 )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<(!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>86\",\"I 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*\",\"P 43 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(7;>46=:<5839398<5:6=4;>75:<983>7;=46\",\"P 41 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<\",\"I 41 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- 7;>46=:<5839398<5:6=4;>75:<983>7;=46\",\"P -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% \",\"F -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(+%*+!*-%(- +)$+,$-) -,#)(#,*&)*&,((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() +,$+)$-, -(#)*#,*&)(&,+!(+%*-!*-%(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(#,*#)*&,(&(+!*+%*-!(-%+) +,$-)$-, \",\"I -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,(\",\"P -4 3 n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,(\",\"F -4 3 c\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,( )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-() #,$#)$&, &(#!*#%*&!(&%+! +%$-!$-% (!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(!(#%*#!*&%(& +!$+%$-! -%#) #,$&)$&, ()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- ! +%$+!$-% - #)$#,$&) &,#!(#%*&!*&%(\",\"I -4 3 d\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(7354<9:6>8;=357<946>:;=857394<>:6=8;()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- :;98657<=43>;9:658<=73>49:;586=7<>43\",\"P 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! \",\"P 4/n -3 2/n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$*,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"P 42/m -3 2/n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"P 42/n -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,**,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! \",\"F 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(-%*-!*+%(+ +,$+)$-, -)#)*#,(&)(&,*$,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*%*+!(+%(-!*-$-) -, +)$+,&,(&)*#,*#)((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() -,$-)$+, +(#,*#)*&,(&)+!*+%(-!(-%**%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*,$+) +, -)$-*&)(&,(#)*#,-%(-!*+%*+!(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(&,*&)*#,(#(+%*+!*-%(-!+)$+, -) -,$*,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$,*#)(#,(&)*&*-!(-%(+!*+%-, -)$+,$+) \",\"F 4/m -3 2/c\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)( )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-() &,$&)$#, #(#%*#!*&%(&!+!$+% -! -%$$,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*,$#) #, &)$&*&!(&%(#!*#%-% -!$+%$+! (!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(!(&%*&!*#%(# +%$+!$-% -!#)$#, &) &,$*%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*%*#!(#%(&!*&$-! -% +!$+%&, &)$#,$#) ()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- ! -%$-!$+% + #,$#)$&, &)#!*#%(&!(&%**,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$%$+! +% -!$-$&) &, #)$#,&%(&!*#%*#!(\",\"F 41/d -3 2/m\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=4664=3:>;85<79=64>3:5;89<74=6:>385;79<,$+! #%(-)*&*&)(-% #!$+,-%(&)*+,$#! )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<68>37=;49<:5=<8>;753496:4><:=;893756,*#!(+% &)$-*-!(&, +)$#%-, &!$+%*#)((!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<<4>;:=389675>68=379;45<:8=<7>;453:96%$#) +,(&!*-$&! -,(#)*+%&% -)$#,*+!(()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>86<8=;7>3456:9><4=;:9385678>67=349;:5<%*+)(#, -!$&$-) &%(+!*#,&,(-!*#%$+) \",\"F 41/d -3 2/c\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=46<8>;7=3496:5><8=;793456:8><7=;493:56%*#)(+, &!$-$-! &,(+)*#%&, -!$#%*+)( )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<<4=;:>385679>64=3:9;85<78=67>345;:9<%$+) #,(-!*&$&) -%(#!*+,&%(-)*#,$+! (!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<68=37>;45<:9=<4>;:5389674>6:=389;75<,*+!(#% -)$&*-)(&% +!$#,-,(&!*+%$#) ()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>8664>3:=;89<75=68>375;49<:4=<:>;853796,$#! +%(&)*-*&!(-, #)$+%-% &)$+,*#!(\",\"I 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,**,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"I 41/a -3 2/d\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<$%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*4<97358;=:6>6>:;=8357<94=8;>:694<573()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- 7;>46=:<5839398<5:6=4;>75:<983>7;=46*,- )&(%#$!+-*,& )#(%+$!,-*)& %#(!+$865:;943>7<=<=73>4;9:658>43=7<5869:;\",\"P 1 1 2\":\" !#$%#\",\"P 1 1 21\":\" !#$%+\",\"B 1 1 2\":\" !#$%#(g+*%+\",\"A 1 2 1\":\" !#$!& )+$)-\",\"C 1 21 1\":\" !#$)&()#*!&\",\"I 1 2 1\":\" !#$!&.'/0'2\",\"I 1 21 1\":\" !#$)&.'/0!-\",\"P 1 1 m\":\" !# !&\",\"P 1 1 b\":\" !# )&\",\"B 1 1 m\":\" !# !&(!+(!-\",\"B 1 1 b\":\" !# )&(!+()-\",\"P 1 1 2/m\":\" !# !&$%#$%&\",\"P 1 1 21/m\":\" !#$%+$%& !-\",\"B 1 1 2/m\":\" !# !&$%#$%&(!+(!-*%+*%-\",\"P 1 1 2/b\":\" !#$,#$%& )&\",\"P 1 1 21/b\":\" !#$%&$,+ )-\",\"B 1 1 2/b\":\" !#$,#$%& )&(!+*,+*%-()-\",\"P 21 2 2\":\" !#$!&(%&*%#\",\"P 2 21 2\":\" !# ,&$)&$%#\",\"P 21 21 2 (a)\":\" !#*,#.%&$'&\",\"P 21 2 21\":\" !#$!&(%-*%+\",\"P 2 21 21\":\" !# %&$)-$,+\",\"C 2 2 21a)\":\" !#*%+(,&$)-()#$,+ %&*!-\",\"C 2 2 2a\":\" !#*,#.%&$'&()#$%# ,&*!&\",\"F 2 2 2a\":\" !#*,#.%&$'& '/*%/.12$!2.!/$,/ %20'2.'#$%# 1&0!&\",\"I 2 2 2a\":\" !#*,#.%&$'&()+$%+*!- ,-\",\"P 21/m 21/m 2/n a\":\" !#*,#$)&(%&$%&.'& ,#*!#\",\"P 42 21 2a\":\" !#*,#%.+'$+$'&.%&! -,*-\",\"I 2 3a\":\" !#*,#.%&$'&!# ,- '&$%/$# !-*!/$%&.%()+$%+ ,-*!-)+(%&(!-*,#*+()&$)#*,- ,\"};Wo.prototype={constructor:Wo,type:\"Assembly\",addPart:function(t,e){var i=new Xo(t,e);return this.partList.push(i),i},getAtomCount:function(t){var e=0;return this.partList.forEach(function(i){e+=i.getAtomCount(t)}),e},getInstanceCount:function(){var t=0;return this.partList.forEach(function(e){t+=e.matrixList.length}),t},isIdentity:function(t){if(1!==this.partList.length)return!1;var e=this.partList[0];if(1!==e.matrixList.length)return!1;var i=new O;if(!i.equals(e.matrixList[0]))return!1;var n=[];return t.eachChain(function(t){n.push(t.chainname)}),n=x(n),e.chainList.length===n.length},getBoundingBox:function(t){var e=new Et;return this.partList.forEach(function(i){var n=i.getBoundingBox(t);e.expandByPoint(n.min),e.expandByPoint(n.max)}),e},getSelection:function(){var t=[];return this.partList.forEach(function(e){t=t.concat(e.chainList)}),Ho(t)}},Xo.prototype={constructor:Xo,type:\"AssemblyPart\",getAtomCount:function(t){var e=0,i=this.chainList;return t.eachChain(function(t){(0===i.length||i.includes(t.chainname))&&(e+=t.atomCount)}),this.matrixList.length*e},getBoundingBox:function(t){var e=new Et,i=new Et,n=this.getSelection(),r=t.getBoundingBox(n);return this.matrixList.forEach(function(t){i.copy(r).applyMatrix4(t),e.expandByPoint(i.min),e.expandByPoint(i.max)}),e},getSelection:function(){return Ho(this.chainList)},getView:function(t){var e=this.getSelection();return e?t.getView(e):t},getInstanceList:function(){for(var t=[],e=0,i=this.matrixList.length;e=t.residueCount)){a.index=o+h,s.index=o+h+l,c.index=a.traceAtomIndex,u.index=s.traceAtomIndex;var d=c.distanceTo(u);if(Math.abs(d-i[l-2])>n)return!1}return!0},i=function(t,i){var n=[5.45,5.18,6.37],r=2.1;return e(t,i,n,r)},n=function(t,i){var n=[6.1,10.4,13],r=1.42;return e(t,i,n,r)},r=function(t){for(var e=t.residueStore,r=t.residueIndexStart,o=0,a=t.residueCount;o1&&a.bending[u]=3&&t.indexOf(n[0])!==-1?n[0]:\"\"}}();na.prototype={constructor:na,type:\"AtomType\",atomname:void 0,element:void 0,vdw:void 0,covalent:void 0},oa.prototype={constructor:oa,type:\"ResidueType\",resname:void 0,atomTypeIdList:void 0,atomCount:void 0,getBackboneIndexList:function(){var t,e=[];switch(this.moleculeType){case um:t=jm;break;case hm:case lm:t=$m;break;default:return e}for(var i=this.structure.atomMap,n=this.atomTypeIdList,r=0,o=this.atomCount;r=2?t(l,e[l],a):i[l]=2;else if(1===i[l]&&c&&c!=l){var d=[l];n[l]=1,r.push(d);for(var f=o.length-1;f>=0;--f){var p=o[f];if(p===l)break;d.push(p),n[p]=1}}}i[a]=2,o.pop()}for(var e=this.getBondGraph(),i=new Int8Array(this.atomCount),n=new Int8Array(this.atomCount),r=[],o=[],a=0;a1){for(e=0;e1){for(e=0;e0){var e=this.residueStore.atomOffset[this.residueIndex];return t.includes(this.index-e)}return!1},isPolymer:function(){if(this.structure.entityList.length>0)return this.entity.isPolymer();var t=this.residueType.moleculeType;return t===um||t===hm||t===lm},isSidechain:function(){return this.isPolymer()&&!this.isBackbone()},isCg:function(){var t=this.residueType.backboneType;return t===vm||t===ym||t===bm},isHetero:function(){return 1===this.residueType.hetero},isProtein:function(){return this.residueType.moleculeType===um},isNucleic:function(){var t=this.residueType.moleculeType;return t===hm||t===lm},isRna:function(){return this.residueType.moleculeType===hm},isDna:function(){return this.residueType.moleculeType===lm},isWater:function(){return this.residueType.moleculeType===sm},isIon:function(){return this.residueType.moleculeType===cm},isSaccharide:function(){return this.residueType.moleculeType===dm},isRing:function(){var t=this.residueType.getRings().flags;return 1===t[this.index-this.residueAtomOffset]},distanceTo:function(t){var e=this.atomStore,i=t.atomStore,n=this.index,r=t.index,o=e.x[n]-i.x[r],a=e.y[n]-i.y[r],s=e.z[n]-i.z[r],c=o*o+a*a+s*s;return Math.sqrt(c)},connectedTo:function(t){var e=this.atomStore,i=t.atomStore,n=this.index,r=t.index;if(e.altloc&&i.altloc){var o=e.altloc[n],a=i.altloc[r];if(0!==o&&0!==a&&32!==o&&32!==a&&o!==a)return!1}var s=e.x[n]-i.x[r],c=e.y[n]-i.y[r],u=e.z[n]-i.z[r],h=s*s+c*c+u*u;if(h<64&&this.isCg())return!0;if(isNaN(h))return!1;var l=this.covalent+t.covalent,d=l+.3,f=l-.5;return hf*f},positionFromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e+0],this.y=t[e+1],this.z=t[e+2],this},positionToArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.index,n=this.atomStore;return t[e+0]=n.x[i],t[e+1]=n.y[i],t[e+2]=n.z[i],t},positionToVector3:function(t){return void 0===t&&(t=new N),t.x=this.x,t.y=this.y,t.z=this.z,t},positionFromVector3:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},getResidueBonds:function(t){var e,i,n,r,o=this.residueAtomOffset,a=this.index-this.residueAtomOffset,s=this.residueType.getBonds(),c=s.atomIndices1,u=s.atomIndices2;for(t||(r=[]),e=c.indexOf(a);e!==-1;){if(n=u[e]+o,t)return n;r.push(n),e=c.indexOf(a,e+1)}for(i=u.indexOf(a);i!==-1;){if(n=c[i]+o,t)return n;r.push(n),i=u.indexOf(a,i+1)}return r},qualifiedName:function(t){var e=\"\";return this.resname&&!t&&(e+=\"[\"+this.resname+\"]\"),void 0!==this.resno&&(e+=this.resno),this.inscode&&(e+=\"^\"+this.inscode),this.chainname&&(e+=\":\"+this.chainname),this.atomname&&(e+=\".\"+this.atomname),this.altloc&&(e+=\"%\"+this.altloc),this.structure.modelStore.count>1&&(e+=\"/\"+this.modelIndex),e},clone:function(){return new this.constructor(this.structure,this.index)},toObject:function(){return{index:this.index,residueIndex:this.residueIndex,atomno:this.atomno,resname:this.resname,x:this.x,y:this.y,z:this.z,element:this.element,chainname:this.chainname,resno:this.resno,serial:this.serial,vdw:this.vdw,covalent:this.covalent,hetero:this.hetero,bfactor:this.bfactor,altloc:this.altloc,atomname:this.atomname,modelindex:this.modelindex}}},ua.prototype={constructor:ua,type:\"ResidueProxy\",structure:void 0,chainStore:void 0,residueStore:void 0,atomStore:void 0,index:void 0,get entity(){return this.structure.entityList[this.entityIndex]},get entityIndex(){return this.chainStore.entityIndex[this.chainIndex]},get chain(){return this.structure.getChainProxy(this.chainIndex)},get chainIndex(){return this.residueStore.chainIndex[this.index]},set chainIndex(t){this.residueStore.chainIndex[this.index]=t},get atomOffset(){return this.residueStore.atomOffset[this.index]},set atomOffset(t){this.residueStore.atomOffset[this.index]=t},get atomCount(){return this.residueStore.atomCount[this.index]},set atomCount(t){this.residueStore.atomCount[this.index]=t},get atomEnd(){return this.atomOffset+this.atomCount-1},get modelIndex(){return this.chainStore.modelIndex[this.chainIndex]},get chainname(){return this.chainStore.getChainname(this.chainIndex)},get chainid(){return this.chainStore.getChainid(this.chainIndex)},get resno(){return this.residueStore.resno[this.index]},set resno(t){this.residueStore.resno[this.index]=t},get sstruc(){return this.residueStore.getSstruc(this.index)},set sstruc(t){this.residueStore.setSstruc(this.index,t)},get inscode(){return this.residueStore.getInscode(this.index)},set inscode(t){this.residueStore.getInscode(this.index,t)},get residueType(){return this.residueMap.get(this.residueStore.residueTypeId[this.index])},get resname(){return this.residueType.resname},get hetero(){return this.residueType.hetero},get moleculeType(){return this.residueType.moleculeType},get backboneType(){return this.residueType.backboneType},get backboneStartType(){return this.residueType.backboneStartType},get backboneEndType(){return this.residueType.backboneEndType},get traceAtomIndex(){return this.residueType.traceAtomIndex+this.atomOffset},get direction1AtomIndex(){return this.residueType.direction1AtomIndex+this.atomOffset},get direction2AtomIndex(){return this.residueType.direction2AtomIndex+this.atomOffset},get backboneStartAtomIndex(){return this.residueType.backboneStartAtomIndex+this.atomOffset},get backboneEndAtomIndex(){return this.residueType.backboneEndAtomIndex+this.atomOffset},get rungEndAtomIndex(){return this.residueType.rungEndAtomIndex+this.atomOffset},eachAtom:function(t,e){var i,n=this.atomCount,r=this.atomOffset,o=this.structure._ap,a=r+n;if(e&&e.atomOnlyTest){var s=e.atomOnlyTest;for(i=r;i0)return this.entity.isPolymer();var t=this.residueType.moleculeType;return t===um||t===hm||t===lm},isHetero:function(){return 1===this.residueType.hetero},isWater:function(){return this.residueType.moleculeType===sm},isIon:function(){return this.residueType.moleculeType===cm},isSaccharide:function(){return this.residueType.moleculeType===dm},getAtomType:function(t){return this.atomMap.get(this.atomStore.atomTypeId[t])},getResname1:function(){return Om[this.resname.toUpperCase()]||\"X\"},getBackboneType:function(t){switch(t){case-1:return this.residueType.backboneStartType;case 1:return this.residueType.backboneEndType;default:return this.residueType.backboneType}},getAtomIndexByName:function(t){var e=this.residueType.getAtomIndexByName(t);return void 0!==e&&(e+=this.atomOffset),e},getAtomByName:function(t){return this.residueType.getAtomByName(t)},hasAtomWithName:function(t){return this.residueType.hasAtomWithName(t)},getAtomnameList:function(){console.warn(\"getAtomnameList - might be expensive\");for(var t=this.atomCount,e=this.atomOffset,i=new Array(t),n=0;n=e){if(void 0===t&&(t=this.structure.getResidueProxy()),t.index=i,t.connectedTo(this))return t}else if(i===e-1){void 0===t&&(t=this.structure.getResidueProxy());var n=this.chainStore.residueCount[this.chainIndex];if(t.index=e+n-1,t.connectedTo(this))return t}},getBonds:function(){return this.residueType.getBonds(this)},getRings:function(){return this.residueType.getRings()},qualifiedName:function(t){var e=\"\";return this.resname&&!t&&(e+=\"[\"+this.resname+\"]\"),void 0!==this.resno&&(e+=this.resno),this.inscode&&(e+=\"^\"+this.inscode),this.chain&&(e+=\":\"+this.chainname),e+=\"/\"+this.modelIndex},clone:function(){return new this.constructor(this.structure,this.index)},toObject:function(){return{index:this.index,chainIndex:this.chainIndex,atomOffset:this.atomOffset,atomCount:this.atomCount,resno:this.resno,resname:this.resname,sstruc:this.sstruc}}},ha.prototype={constructor:ha,type:\"Polymer\",structure:void 0,residueStore:void 0,atomStore:void 0,residueIndexStart:void 0,residueIndexEnd:void 0,residueCount:void 0,get chainIndex(){return this.residueStore.chainIndex[this.residueIndexStart]},get modelIndex(){return this.chainStore.modelIndex[this.chainIndex]},get chainname(){return this.chainStore.getChainname(this.chainIndex)},isProtein:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isProtein()},isCg:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isCg()},isNucleic:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isNucleic()},getMoleculeType:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.moleculeType},getBackboneType:function(t){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.getBackboneType(t)},getAtomIndexByType:function(t,e){this.isCyclic?t===-1?t=this.residueCount-1:t===this.residueCount&&(t=0):(t!==-1||this.isPrevConnected||(t+=1),t!==this.residueCount||this.isNextNextConnected||(t-=1));var i=this.__residueProxy;i.index=this.residueIndexStart+t;var n;switch(e){case\"trace\":n=i.traceAtomIndex;break;case\"direction1\":n=i.direction1AtomIndex;break;case\"direction2\":n=i.direction2AtomIndex;break;default:var r=i.getAtomByName(e);n=r?r.index:void 0}return n},eachAtom:function(t,e){this.eachResidue(function(i){i.eachAtom(t,e)},e)},eachAtomN:function(t,e,i){var n,r=this.residueCount,o=new Array(t);for(n=0;n=n&&i=t&&e.apply(this,a)}})}},eachDirectionAtomsN:function(t,e){var i=2*t,n=this.atomOffset,r=this.atomCount,o=n+r;if(!(r=n&&i=n&&r=t&&e.apply(this,a)}},c,u)}},eachResidue:function(t){for(var e=this.structure.getResidueProxy(),i=this.residueCount,n=this.residueIndexStart,r=0;r1&&t(new ha(o,i,u.index)),i=n)):(m!==fm&&u.index-i>1&&t(new ha(o,i,u.index)),i=n)}n-i>1&&this.structure.getResidueProxy(i).backboneStartType&&t(new ha(o,i,n))},qualifiedName:function(){var t=\":\"+this.chainname+\"/\"+this.modelIndex;return t},clone:function(){return new this.constructor(this.structure,this.index)},toObject:function(){return{index:this.index,residueOffset:this.residueOffset,residueCount:this.residueCount,chainname:this.chainname}}},da.prototype={constructor:da,type:\"ModelProxy\",structure:void 0,modelStore:void 0,index:void 0,get chainOffset(){return this.modelStore.chainOffset[this.index]},set chainOffset(t){this.modelStore.chainOffset[this.index]=t},get chainCount(){return this.modelStore.chainCount[this.index]},set chainCount(t){this.modelStore.chainCount[this.index]=t},get residueOffset(){return this.chainStore.residueOffset[this.chainOffset]},get atomOffset(){return this.residueStore.atomOffset[this.residueOffset]},get chainEnd(){return this.chainOffset+this.chainCount-1},get residueEnd(){return this.chainStore.residueOffset[this.chainEnd]+this.chainStore.residueCount[this.chainEnd]-1},get atomEnd(){return this.residueStore.atomOffset[this.residueEnd]+this.residueStore.atomCount[this.residueEnd]-1},get residueCount(){return 0===this.chainCount?0:this.residueEnd-this.residueOffset+1},get atomCount(){return 0===this.residueCount?0:this.atomEnd-this.atomOffset+1},eachAtom:function(t,e){this.eachChain(function(i){i.eachAtom(t,e)},e)},eachResidue:function(t,e){this.eachChain(function(i){i.eachResidue(t,e)},e)},eachPolymer:function(t,e){if(e&&e.chainOnlyTest){var i=e.chainOnlyTest;this.eachChain(function(n){i(n)&&n.eachPolymer(t,e)})}else this.eachChain(function(i){i.eachPolymer(t,e)})},eachChain:function(t,e){var i,n=this.chainCount,r=this.chainOffset,o=this.structure._cp,a=r+n;if(e&&e.test){var s=e.chainOnlyTest;if(s)for(i=r;i1?(R=i.atomRadius(A),O=R*b/(.5*L),_.calculateShiftDir(B),y?(D=2*x*R,B.multiplyScalar(D),B.negate(),z.subVectors(M,A).multiplyScalar(Math.max(.1,D/1.88)),A.positionToArray(o,E),M.positionToArray(a,E),L>=2&&(F.addVectors(A,B).add(z).toArray(o,E+3),F.addVectors(M,B).sub(z).toArray(a,E+3),L>=3&&(F.subVectors(A,B).add(z).toArray(o,E+6),F.subVectors(M,B).sub(z).toArray(a,E+6)))):(D=(x-b)*R,B.multiplyScalar(D),2===L?(F.addVectors(A,B).toArray(o,E),F.subVectors(A,B).toArray(o,E+3),F.addVectors(M,B).toArray(a,E),F.subVectors(M,B).toArray(a,E+3)):3===L?(A.positionToArray(o,E),F.addVectors(A,B).toArray(o,E+3),F.subVectors(A,B).toArray(o,E+6),M.positionToArray(a,E),F.addVectors(M,B).toArray(a,E+3),F.subVectors(M,B).toArray(a,E+6)):(A.positionToArray(o,E),M.positionToArray(a,E)))):(A.positionToArray(o,E),M.positionToArray(a,E))),s&&(n.bondColorToArray(_,1,s,E),n.bondColorToArray(_,0,c,E),v&&L>1))for(T=1;T1))for(T=1;T1))for(O=l[k]*b/(y?1:.5*L),T=y?1:0;T1))for(O=f[k]*b/(y?1:.5*L),T=y?1:0;Ta&&(a=e),i>s&&(s=i),u>c&&(c=u)},e),i.min.set(n,r,o),i.max.set(a,s,c),t.Debug&&Pv.timeEnd(\"getBoundingBox\"),i},getPrincipalAxes:function(e){t.Debug&&Pv.time(\"getPrincipalAxes\");var i=0,n=new co(3,this.atomCount),r=n.data;return this.eachAtom(function(t){r[i+0]=t.x,r[i+1]=t.y,r[i+2]=t.z,i+=3},e),t.Debug&&Pv.timeEnd(\"getPrincipalAxes\"),_o(n)},atomCenter:function(t){return t?this.getBoundingBox(t).center():this.center.clone()},getSequence:function(t){var e=[],i=this.getResidueProxy();return this.eachAtom(function(t){i.index=t.residueIndex,t.index===i.traceAtomIndex&&e.push(i.getResname1())},t),e},getAtomIndices:function(t){var e;if(t&&t.string)e=[],this.eachAtom(function(t){e.push(t.index)},t);else{var i={what:{index:!0}};e=this.getAtomData(i).index}return e},getChainnameCount:function(t){var e=new Set;return this.eachChain(function(t){t.residueCount&&e.add(t.chainname)},t),e.size},updatePosition:function(t){var e=0;this.eachAtom(function(i){i.positionFromArray(t,e),e+=3})},refreshPosition:function(){this.getBoundingBox(void 0,this.boundingBox),this.boundingBox.center(this.center),this.spatialHash=new Lo(this.atomStore,this.boundingBox)},dispose:function(){this.frames&&(this.frames.length=0),this.boxes&&(this.boxes.length=0),this.bondStore.dispose(),this.backboneBondStore.dispose(),this.rungBondStore.dispose(),this.atomStore.dispose(),this.residueStore.dispose(),this.chainStore.dispose(),this.modelStore.dispose(),delete this.bondStore,delete this.atomStore,delete this.residueStore,delete this.chainStore,delete this.modelStore,delete this.frames,delete this.boxes,delete this.cif,delete this.bondSet,delete this.atomSet}},pa.prototype={constructor:pa,type:\"Surface\",set:function(t,e,i,n,r,o){this.position=t,this.index=e,this.normal=i,this.color=n,this.atomindex=r,this.size=t.length/3,this.contour=o},fromGeometry:function(e){t.Debug&&Pv.time(\"GeometrySurface.fromGeometry\");var i;e instanceof ae?(e.computeVertexNormals(!0),i=(new ue).fromGeometry(e)):i=e instanceof ue?e:e[0],i.boundingBox||i.computeBoundingBox(),this.center.copy(i.boundingBox.center()),this.boundingBox.copy(i.boundingBox);var n,r,o,a;if(i instanceof ue){var s=i.attributes,c=!!s.normal&&s.normal.array;(!c||0===c[0]&&0===c[1]&&0===c[2])&&i.computeVertexNormals(),n=s.position.array,o=s.index?s.index.array:null,a=s.normal.array}this.set(n,o,a,r,void 0),t.Debug&&Pv.timeEnd(\"GeometrySurface.setGeometry\")},getPosition:function(){return this.position},getColor:function(t){var e,i,n,r=t||{},o=this.size;if(\"volume\"===r.scheme){var a=new N,s=this.position;for(n=Ev.getScheme(r),i=new Float32Array(3*o),e=0;e65535?Uint32Array:Uint16Array;return new m(o)}return this.index},getAtomindex:function(){return this.atomindex},dispose:function(){}},ma.prototype.constructor=ma,ga.prototype.constructor=ga,xa.__deps=[va,ya,ba],wa.__deps=[_a],_a.__deps=[Kr,Zr,Qr,qr],Aa.__deps=[Dn,no,ro,to,eo,oo,ao,Kr,so,So,Mo,Co,Po,To],Ma.__deps=[wa,_a,xa,Wr,Xr,Eo,Io],Tv.add(\"surf\",function(t,e){var i=t.data.args,n=t.data.params;if(i&&(self.volsurf=new Ma(i[0],i[1],i[2],i[3],i[4])),n){var r=self.volsurf.getSurface(n.isolevel,n.smooth,n.box,n.matrix,n.contour),o=[r.position.buffer,r.index.buffer];r.normal&&o.push(r.normal.buffer),r.atomindex&&o.push(r.atomindex.buffer),e({sd:r,p:n},o)}},[Ma]),Pa.prototype={constructor:Pa,type:\"Volume\",setData:function(t,e,i,n,r){this.nx=e||1,this.ny=i||1,this.nz=n||1,this.data=t||new Float32Array(1),this.__data=this.data,this.setDataAtomindex(r),delete this.mc,delete this.__isolevel,delete this.__smooth,delete this.__minValue,delete this.__maxValue,delete this.__dataPositionBuffer,delete this.__dataPosition,delete this.__dataBuffer,delete this.__dataMin,delete this.__dataMax,delete this.__dataMean,delete this.__dataRms,this.worker&&this.worker.terminate()},setMatrix:function(t){this.matrix.copy(t);var e=this.boundingBox,i=this.center,n=this.nx-1,r=this.ny-1,o=this.nz-1;e.makeEmpty(),e.expandByPoint(i.set(n,r,o)),e.expandByPoint(i.set(n,r,0)),e.expandByPoint(i.set(n,0,o)),e.expandByPoint(i.set(n,0,0)),e.expandByPoint(i.set(0,r,o)),e.expandByPoint(i.set(0,0,o)),e.expandByPoint(i.set(0,r,0)),e.expandByPoint(i.set(0,0,0)),e.applyMatrix4(this.matrix),e.center(this.center);var a=this.matrix.elements,s=new N(a[0],a[1],a[2]),c=new N(a[4],a[5],a[6]),u=new N(a[8],a[9],a[10]),h=new N,l=this.normalMatrix.elements;h.crossVectors(c,u),l[0]=h.x,l[1]=h.y,l[2]=h.z,h.crossVectors(u,s),l[3]=h.x,l[4]=h.y,l[5]=h.z,h.crossVectors(s,c),l[6]=h.x,l[7]=h.y,l[8]=h.z,this.inverseMatrix.getInverse(this.matrix)},setDataAtomindex:function(t){this.dataAtomindex=t,this.__dataAtomindex=this.dataAtomindex,delete this.__dataAtomindexBuffer},getBox:function(t,e,i){return i||(i=new Et),i.set(t,t),i.expandByScalar(e),i.applyMatrix4(this.inverseMatrix),i.min.round(),i.max.round(),i},__getBox:function(t,e){if(t&&e){this.__box||(this.__box=new Et);var i=this.getBox(t,e,this.__box);return[i.min.toArray(),i.max.toArray()]}},makeSurface:function(t,e,i){var n=new pa(\"\",\"\",t);return n.info.isolevel=e,n.info.smooth=i,n},getSurface:function(t,e,i,n){t=isNaN(t)?this.getValueForSigma(2):t,e=e||0,void 0===this.volsurf&&(this.volsurf=new Ma(this.__data,this.nx,this.ny,this.nz,this.__dataAtomindex));var r=this.__getBox(i,n),o=this.volsurf.getSurface(t,e,r,this.matrix.elements);return this.makeSurface(o,t,e)},getSurfaceWorker:function(t,e,i,n,r){if(t=isNaN(t)?this.getValueForSigma(2):t,e=e||0,window.Worker){void 0===this.workerPool&&(this.workerPool=new ga(\"surf\",2));var o={},a=this.workerPool.getNextWorker();0===a.postCount&&(o.args=[this.__data,this.nx,this.ny,this.nz,this.__dataAtomindex]),o.params={isolevel:t,smooth:e,box:this.__getBox(i,n),matrix:this.matrix.elements},a.post(o,void 0,function(t){var e=t.data.sd,i=t.data.p;r(this.makeSurface(e,i.isolevel,i.smooth))}.bind(this),function(o){console.warn(\"Volume.getSurfaceWorker error - trying without worker\",o);var a=this.getSurface(t,e,i,n);r(a)}.bind(this))}else{var s=this.getSurface(t,e,i,n);r(s)}},getValueForSigma:function(t){return t=void 0!==t?t:2,this.getDataMean()+t*this.getDataRms()},getSigmaForValue:function(t){return t=void 0!==t?t:0,(t-this.getDataMean())/this.getDataRms()},filterData:function(t,e,i){isNaN(t)&&this.header&&(t=this.header.DMEAN+2*this.header.ARMS),t=void 0===t||isNaN(t)?-(1/0):t,e=void 0!==e?e:1/0,i=i||!1,this.dataPosition||this.makeDataPosition();var n=this.__dataPosition,r=this.__data;if(t!==this.__minValue||e!=this.__maxValue||i!==this.__outside){if(t===-(1/0)&&e===1/0)this.dataPosition=n,this.data=r;else{var o=r.length;this.__dataBuffer||(this.__dataPositionBuffer=new ArrayBuffer(3*o*4),this.__dataBuffer=new ArrayBuffer(4*o));for(var a=new Float32Array(this.__dataPositionBuffer),s=new Float32Array(this.__dataBuffer),c=0,u=0;u=t&&l<=e||i&&(le)){var d=3*c;a[d+0]=n[h+0],a[d+1]=n[h+1],a[d+2]=n[h+2],s[c]=l,c+=1}}this.dataPosition=new Float32Array(this.__dataPositionBuffer,0,3*c),this.data=new Float32Array(this.__dataBuffer,0,c)}this.__minValue=t,this.__maxValue=e,this.__outside=i}},makeDataPosition:function(){for(var t=this.nz,e=this.ny,i=this.nx,n=new Float32Array(i*e*t*3),r=0,o=0;o0&&this.centerPbc){var r=[e[0],e[4],e[8]],o=this.getCircularMean(this.backboneIndices,i,r);Ea(i,o,r)}this.removePbc&&Ia(i,e)}this.indices.length>0&&this.superpose&&this.doSuperpose(i),this.frameCache[t]=i,this.boxCache[t]=e,this.frameCacheSize+=1},setNumframes:function(t){t!==this.numframes&&(this.numframes=t,this.signals.gotNumframes.dispatch(t))},dispose:function(){this.frameCache=[],this._disposed=!0,this.player&&this.player.stop()},setPlayer:function(t){this.player=t,this.signals.playerChanged.dispatch(t)},getPath:function(t,e){Pv.error(\"Trajectory.getPath not implemented\",t,e)}},Ov.add(\"shader/Mesh.vert\",\"#define STANDARD\\nuniform float nearClip;\\nuniform vec3 clipCenter;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\nattribute vec3 pickingColor;\\nvarying vec3 vPickingColor;\\n#elif defined( NOLIGHT )\\nvarying vec3 vColor;\\n#else\\n#include color_pars_vertex\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#endif\\n#include common\\nvoid main(){\\n#if defined( PICKING )\\nvPickingColor = pickingColor;\\n#elif defined( NOLIGHT )\\nvColor = color;\\n#else\\n#include color_vertex\\n#include beginnormal_vertex\\n#include defaultnormal_vertex\\n#ifndef FLAT_SHADED\\nvNormal = normalize( transformedNormal );\\n#endif\\n#endif\\n#include begin_vertex\\n#include project_vertex\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),\nOv.add(\"shader/Mesh.frag\",\"#define STANDARD\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\n#elif defined( NOLIGHT )\\nvarying vec3 vColor;\\n#else\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\n#include bsdfs\\n#include lights_pars\\n#include lights_physical_pars_fragment\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( PICKING )\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#elif defined( NOLIGHT )\\ngl_FragColor = vec4( vColor, opacity );\\n#else\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\n#include normal_flip\\n#include normal_fragment\\n#include dull_interior_fragment\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#include opaque_back_fragment\\n#endif\\n}\"),Oa.prototype={constructor:Oa,parameters:{opaqueBack:{updateShader:!0},dullInterior:{updateShader:!0},side:{updateShader:!0,property:!0},opacity:{uniform:!0},clipNear:{updateShader:!0,property:!0},clipRadius:{updateShader:!0,property:!0,uniform:!0},clipCenter:{uniform:!0},flatShaded:{updateShader:!0},background:{updateShader:!0},linewidth:{property:!0},wireframe:{updateVisibility:!0},roughness:{uniform:!0},metalness:{uniform:!0},diffuse:{uniform:!0}},get transparent(){return this.opacity<1||this.forceTransparent},makeMaterial:function(){var t=Ra(this.side);this.material=new Pt({uniforms:this.uniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:this.transparent,depthWrite:!0,lights:!0,fog:!0,side:t,linewidth:this.linewidth}),this.material.vertexColors=Rh,this.material.extensions.derivatives=this.flatShaded,this.material.extensions.fragDepth=this.impostor,this.material.clipNear=this.clipNear,this.wireframeMaterial=new Pt({uniforms:this.uniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:this.transparent,depthWrite:!0,lights:!1,fog:!0,side:t,linewidth:this.linewidth}),this.wireframeMaterial.vertexColors=Rh,this.wireframeMaterial.clipNear=this.clipNear,this.pickingMaterial=new Pt({uniforms:this.pickingUniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:!1,depthWrite:!0,lights:!1,fog:!1,side:t,linewidth:this.linewidth}),this.pickingMaterial.vertexColors=Rh,this.pickingMaterial.extensions.fragDepth=this.impostor,this.pickingMaterial.clipNear=this.clipNear,this.updateShader()},makeWireframeGeometry:function(){this.makeWireframeIndex();var t=this.geometry,e=this.wireframeIndex,i=new ue;i.attributes=t.attributes,e&&(i.setIndex(new Kt(e,1).setDynamic(this.dynamic)),i.setDrawRange(0,this.wireframeIndexCount)),this.wireframeGeometry=i},makeWireframeIndex:function(){function t(t,i){if(t>i){var n=t;t=i,i=n}var r=e[t];return void 0===r?(e[t]=[i],!0):!r.includes(i)&&(r.push(i),!0)}var e=[];return function(){var i=this.geometry.index;if(this.wireframe){if(i){var n=i.array,r=n.length;this.geometry.drawRange.count!==1/0&&(r=this.geometry.drawRange.count);var o;if(this.wireframeIndex&&this.wireframeIndex.length>2*r)o=this.wireframeIndex;else{var a=this.geometry.attributes.position.count,s=a>65535?Uint32Array:Uint16Array;o=new s(2*r)}var c=0;e.length=0;for(var u=0;uthis.wireframeGeometry.index.array.length)this.wireframeGeometry.setIndex(new Kt(this.wireframeIndex,1).setDynamic(this.dynamic));else{var t=this.wireframeGeometry.getIndex();t.set(this.wireframeIndex),t.needsUpdate=this.wireframeIndexCount>0,t.updateRange.count=this.wireframeIndexCount}this.wireframeGeometry.setDrawRange(0,this.wireframeIndexCount)},getRenderOrder:function(){var t=0;return\"text\"===this.type?t=1:this.transparent&&(t=\"surface\"===this.type?3:2),t},getMesh:function(){var t;return this.material||this.makeMaterial(),this.line?t=new Ve(this.geometry,this.material):this.point?(t=new He(this.geometry,this.material),this.sortParticles&&(t.sortParticles=!0)):t=new Ae(this.geometry,this.material),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},getWireframeMesh:function(){var t;return this.material||this.makeMaterial(),this.wireframeGeometry||this.makeWireframeGeometry(),t=new Ve(this.wireframeGeometry,this.wireframeMaterial),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},getPickingMesh:function(){var t;return this.material||this.makeMaterial(),t=new Ae(this.geometry,this.pickingMaterial),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},getShader:function(t,e){return Pr(t,this.getDefines(e))},getVertexShader:function(t){return this.getShader(this.vertexShader,t)},getFragmentShader:function(t){return this.getShader(this.fragmentShader,t)},getDefines:function(t){var e={};return this.clipNear&&(e.NEAR_CLIP=1),this.clipRadius&&(e.RADIUS_CLIP=1),\"picking\"===t?e.PICKING=1:((\"background\"===t||this.background)&&(e.NOLIGHT=1),this.flatShaded&&(e.FLAT_SHADED=1),this.opaqueBack&&(e.OPAQUE_BACK=1),this.dullInterior&&(e.DULL_INTERIOR=1)),e},getParameters:function(){var t={};for(var e in this.parameters)t[e]=this[e];return t},addUniforms:function(t){this.uniforms=Fd.merge([this.uniforms,t]),this.pickingUniforms=Fd.merge([this.pickingUniforms,t])},addAttributes:function(t){var e={f:1,v2:2,v3:3,c:3};for(var i in t){var n,r=t[i];r.value?(this.attributeSize*e[r.type]!==r.value.length&&Pv.error(\"attribute value has wrong length\",i),n=r.value):n=new Float32Array(this.attributeSize*e[r.type]),this.geometry.addAttribute(i,new Kt(n,e[r.type]).setDynamic(this.dynamic))}},updateRenderOrder:function(){function t(t){t.renderOrder=e}var e=this.getRenderOrder();this.group.children.forEach(t),this.pickingGroup&&this.pickingGroup.children.forEach(t)},updateShader:function(){var t=this.material,e=this.wireframeMaterial,i=this.pickingMaterial;t.vertexShader=this.getVertexShader(),t.fragmentShader=this.getFragmentShader(),t.needsUpdate=!0,e.vertexShader=this.getShader(\"Line.vert\"),e.fragmentShader=this.getShader(\"Line.frag\"),e.needsUpdate=!0,i.vertexShader=this.getVertexShader(\"picking\"),i.fragmentShader=this.getFragmentShader(\"picking\"),i.needsUpdate=!0},setParameters:function(t){if(t){var e=t,i=this.parameters,n={},r={},o=!1,a=!1;for(var s in e)void 0!==e[s]&&void 0!==i[s]&&(this[s]=e[s],i[s].property&&(i[s].property!==!0?n[i[s].property]=e[s]:n[s]=e[s]),i[s].uniform&&(i[s].uniform!==!0?r[i[s].uniform]=e[s]:r[s]=e[s]),i[s].updateShader&&(o=!0),i[s].updateVisibility&&(a=!0),this.dynamic&&\"wireframe\"===s&&e[s]===!0&&this.updateWireframeIndex(),\"flatShaded\"===s&&(this.material.extensions.derivatives=this.flatShaded),\"forceTransparent\"===s&&(n.transparent=this.transparent));this.setProperties(n),this.setUniforms(r),o&&this.updateShader(),a&&this.setVisibility(this.visible)}},setAttributes:function(t){var e=this.geometry,i=e.attributes;for(var n in t){var r=t[n],o=r.length;if(\"index\"===n){var a=e.getIndex();e.setDrawRange(0,1/0),o>a.array.length?e.setIndex(new Kt(r,1).setDynamic(this.dynamic)):(a.set(r),a.needsUpdate=o>0,a.updateRange.count=o,e.setDrawRange(0,o)),this.indexVersion++,this.wireframe&&this.updateWireframeIndex()}else{var s=i[n];o>s.array.length?e.addAttribute(n,new Kt(r,s.itemSize).setDynamic(this.dynamic)):(i[n].set(r),i[n].needsUpdate=o>0,i[n].updateRange.count=o)}}},setUniforms:function(t){if(t){var e=this.material.uniforms,i=this.wireframeMaterial.uniforms,n=this.pickingMaterial.uniforms;for(var r in t)\"opacity\"===r&&this.setProperties({transparent:this.transparent}),void 0!==e[r]&&(e[r].value.isVector3?e[r].value.copy(t[r]):e[r].value.set?e[r].value.set(t[r]):e[r].value=t[r]),void 0!==i[r]&&(i[r].value.isVector3?i[r].value.copy(t[r]):i[r].value.set?i[r].value.set(t[r]):i[r].value=t[r]),void 0!==n[r]&&(n[r].value.isVector3?n[r].value.copy(t[r]):n[r].value.set?n[r].value.set(t[r]):n[r].value=t[r])}},setProperties:function(t){if(t){var e=this.material,i=this.wireframeMaterial,n=this.pickingMaterial;for(var r in t){var o=t[r];\"transparent\"===r?this.updateRenderOrder():\"side\"===r&&(o=Ra(o)),void 0!==e[r]&&(e[r]=o),void 0!==i[r]&&(i[r]=o),void 0!==n[r]&&(n[r]=o)}e.needsUpdate=!0,i.needsUpdate=!0,n.needsUpdate=!0}},setVisibility:function(t){this.visible=t,this.wireframe?(this.group.visible=!1,this.wireframeGroup.visible=t,this.pickable&&(this.pickingGroup.visible=!1)):(this.group.visible=t,this.wireframeGroup.visible=!1,this.pickable&&(this.pickingGroup.visible=t))},dispose:function(){this.material&&this.material.dispose(),this.wireframeMaterial&&this.wireframeMaterial.dispose(),this.pickingMaterial&&this.pickingMaterial.dispose(),this.geometry.dispose(),this.wireframeGeometry&&this.wireframeGeometry.dispose()}},Da.prototype=Object.assign(Object.create(Oa.prototype),{constructor:Da}),za.prototype=Object.assign(Object.create(Da.prototype),{constructor:za,applyPositionTransform:function(){},setAttributes:function(){var t=new O,e=new Lt;return function(i){var n,r,o,a,s,c,u,h,l,d,f,p=this.geometry.attributes;i.position&&(n=i.position,a=this.geoPosition,h=this.meshPosition,c=this.transformedGeoPosition,p.position.needsUpdate=!0),i.color&&(r=i.color,l=this.meshColor,p.color.needsUpdate=!0),i.pickingColor&&(o=i.pickingColor,d=this.meshPickingColor,p.pickingColor.needsUpdate=!0);var m=!(!this.updateNormals||!n),g=!(!this.initNormals||!n);(m||g)&&(s=this.geoNormal,f=this.meshNormal,u=this.transformedGeoNormal,p.normal.needsUpdate=!0);for(var v=this.positionCount,y=this.geoPositionCount,b=0;b 0.0 ){\\ncameraPos = rayDirection * posT + rayOrigin;\\ninterior = true;\\nflag2 = true;\\nreturn false;\\n}else{\\ncameraNormal = normalize( cameraPos - cameraSpherePos );\\n}\\n#else\\nif( calcDepth( cameraPos ) <= 0.0 ){\\ncameraPos = rayDirection * posT + rayOrigin;\\ninterior = true;\\nreturn false;\\n}else{\\ncameraNormal = normalize( cameraPos - cameraSpherePos );\\n}\\n#endif\\nreturn true;\\n}\\nreturn false;\\n}\\nvoid main(void){\\nbool flag = Impostor( cameraPos, cameraNormal );\\n#ifdef NEAR_CLIP\\nif( calcClip( cameraPos ) > 0.0 )\\ndiscard;\\n#endif\\ngl_FragDepthEXT = calcDepth( cameraPos );\\nif( !flag ){\\n#ifdef NEAR_CLIP\\nif( flag2 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / vRadius ) );\\n}else if( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n#else\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n#endif\\n}\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\n#ifdef PICKING\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\nvec3 vNormal = cameraNormal;\\nvec3 vViewPosition = -cameraPos;\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\n#include normal_flip\\n#include normal_fragment\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\"),Ua.prototype=Object.assign(Object.create(Oa.prototype),{constructor:Ua,setAttributes:function(t){var e,i,n,r,o,a,s,c=this.count,u=this.mappingSize,h=this.geometry.attributes;for(var l in t){i=t[l],e=h[l],n=e.itemSize,r=e.array;for(var d=0;d radius2)\\ndiscard;\\n#ifdef CAP\\nnew_point = front_point;\\n_normal = axis;\\n#else\\nnew_point = ray_target + ( (-a1 - sqrt(d)) / a2 ) * ray_direction;\\ndNV = dot(-axis, ray_direction);\\nnear = dot(axis, end_cyl) / dNV;\\nnew_point2 = ray_direction * near + ray_origin;\\nif (dot(new_point2 - end_cyl, new_point2-base) < radius2)\\ndiscard;\\ninterior = true;\\n#endif\\n}\\nif( end_cap_test > 0.0 )\\n{\\nfloat dNV = dot(axis, ray_direction);\\nif (dNV < 0.0)\\ndiscard;\\nfloat near = dot(axis, end_cyl) / dNV;\\nvec3 end_point = ray_direction * near + ray_origin;\\nif( dot(end_point - end_cyl, end_point-base) > radius2 )\\ndiscard;\\n#ifdef CAP\\nnew_point = end_point;\\n_normal = axis;\\n#else\\nnew_point = ray_target + ( (-a1 - sqrt(d)) / a2 ) * ray_direction;\\ndNV = dot(-axis, ray_direction);\\nnear = dot(-axis, (base)) / dNV;\\nnew_point2 = ray_direction * near + ray_origin;\\nif (dot(new_point2 - base, new_point2-base) < radius2)\\ndiscard;\\ninterior = true;\\n#endif\\n}\\ngl_FragDepthEXT = calcDepth( new_point );\\n#ifdef NEAR_CLIP\\nif( calcClip( new_point ) > 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\nif( calcClip( new_point ) > 0.0 )\\ndiscard;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / vRadius ) );\\n}\\n}else if( gl_FragDepthEXT <= 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n}\\n#else\\nif( gl_FragDepthEXT <= 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n}\\n#endif\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\n#ifdef PICKING\\nif( distSq3( new_point, end_cyl ) < distSq3( new_point, base ) ){\\nif( b < 0.0 ){\\ngl_FragColor = vec4( vPickingColor, objectId );\\n}else{\\ngl_FragColor = vec4( vPickingColor2, objectId );\\n}\\n}else{\\nif( b > 0.0 ){\\ngl_FragColor = vec4( vPickingColor, objectId );\\n}else{\\ngl_FragColor = vec4( vPickingColor2, objectId );\\n}\\n}\\n#else\\nvec3 vViewPosition = -new_point;\\nvec3 vNormal = _normal;\\nvec3 vColor;\\nif( distSq3( new_point, end_cyl ) < distSq3( new_point, base ) ){\\nif( b < 0.0 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\n}else{\\nif( b > 0.0 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\n}\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\nvec3 normal = normalize( vNormal );\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\"),Xa.prototype=Object.assign(Object.create(Ua.prototype),{constructor:Xa}),qa.prototype=Object.assign(Object.create(Xa.prototype),{constructor:qa,parameters:Object.assign({openEnded:{updateShader:!0}},Xa.prototype.parameters),getDefines:function(t){var e=Xa.prototype.getDefines.call(this,t);return this.openEnded||(e.CAP=1),e},setAttributes:function(t){t&&t.position1&&t.position2&&(t.position=Er(t.position1,t.position2)),Xa.prototype.setAttributes.call(this,t)}}),Za.prototype=Object.assign(Object.create(za.prototype),{constructor:Za,applyPositionTransform:function(){var t,e=new N,i=new N,n=new N,r=new N(0,1,0);return function(o,a,s){i.fromArray(this._from,s),n.fromArray(this._to,s),o.lookAt(i,n,r),t=this._radius[a],e.set(t,t,i.distanceTo(n)),o.scale(e)}}(),setAttributes:function(t){var e={};t.position1&&t.position2&&(Er(t.position1,t.position2,this._position),this._from.set(t.position1),this._to.set(t.position2),e.position=this._position),t.color&&(e.color=t.color),t.pickingColor&&(e.pickingColor=t.pickingColor),t.radius&&this._radius.set(t.radius),za.prototype.setAttributes.call(this,e)}}),Ja.prototype.constructor=Ja,Ja.prototype.type=\"Shape\",ts.prototype={constructor:ts,type:\"\",parameters:{lazy:{type:\"boolean\"},clipNear:{type:\"range\",step:1,max:100,min:0,buffer:!0},clipRadius:{type:\"number\",precision:1,max:1e3,min:0,buffer:!0},clipCenter:{type:\"vector3\",precision:1,buffer:!0},flatShaded:{type:\"boolean\",buffer:!0},opacity:{type:\"range\",step:.01,max:1,min:0,buffer:!0},side:{type:\"select\",buffer:!0,options:{front:\"front\",back:\"back\",double:\"double\"}},wireframe:{type:\"boolean\",buffer:!0},linewidth:{type:\"integer\",max:50,min:1,buffer:!0},colorScheme:{type:\"select\",update:\"color\",options:Ev.getTypes()},colorScale:{type:\"select\",update:\"color\",options:Ev.getScales()},colorValue:{type:\"color\",update:\"color\"},colorDomain:{type:\"hidden\",update:\"color\"},colorMode:{type:\"select\",update:\"color\",options:Ev.getModes()},roughness:{type:\"range\",step:.01,max:1,min:0,buffer:!0},metalness:{type:\"range\",step:.01,max:1,min:0,buffer:!0},diffuse:{type:\"color\",buffer:!0}},init:function(t){var e=t||{};this.clipNear=d(e.clipNear,0),this.clipRadius=d(e.clipRadius,0),this.clipCenter=d(e.clipCenter,new N),this.flatShaded=d(e.flatShaded,!1),this.side=d(e.side,\"double\"),this.opacity=d(e.opacity,1),this.wireframe=d(e.wireframe,!1),this.linewidth=d(e.linewidth,2),this.setColor(e.color,e),this.colorScheme=d(e.colorScheme,\"uniform\"),this.colorScale=d(e.colorScale,\"\"),this.colorValue=d(e.colorValue,9474192),this.colorDomain=d(e.colorDomain,\"\"),this.colorMode=d(e.colorMode,\"hcl\"),this.visible=d(e.visible,!0),this.quality=d(e.quality,void 0),this.roughness=d(e.roughness,.4),this.metalness=d(e.metalness,0),this.diffuse=d(e.diffuse,16777215),this.lazy=d(e.lazy,!1),this.lazyProps={build:!1,bufferParams:{},what:{}};var i=this.parameters;i.sphereDetail===!0&&(i.sphereDetail={type:\"integer\",max:3,min:0,rebuild:\"impostor\"}),i.radialSegments===!0&&(i.radialSegments={type:\"integer\",max:25,min:5,rebuild:\"impostor\"}),i.openEnded===!0&&(i.openEnded={type:\"boolean\",rebuild:\"impostor\",buffer:!0}),i.disableImpostor===!0&&(i.disableImpostor={type:\"boolean\",rebuild:!0}),\"low\"===e.quality?(i.sphereDetail&&(this.sphereDetail=0),i.radialSegments&&(this.radialSegments=5)):\"medium\"===e.quality?(i.sphereDetail&&(this.sphereDetail=1),i.radialSegments&&(this.radialSegments=10)):\"high\"===e.quality?(i.sphereDetail&&(this.sphereDetail=2),i.radialSegments&&(this.radialSegments=20)):(i.sphereDetail&&(this.sphereDetail=d(e.sphereDetail,1)),i.radialSegments&&(this.radialSegments=d(e.radialSegments,10))),i.openEnded&&(this.openEnded=d(e.openEnded,!0)),i.disableImpostor&&(this.disableImpostor=d(e.disableImpostor,!1))},getColorParams:function(t){return Object.assign({gidPool:this.gidPool,scheme:this.colorScheme,scale:this.colorScale,value:this.colorValue,domain:this.colorDomain,mode:this.colorMode},t)},getBufferParams:function(t){return Object.assign({clipNear:this.clipNear,clipRadius:this.clipRadius,clipCenter:this.clipCenter,flatShaded:this.flatShaded,opacity:this.opacity,side:this.side,wireframe:this.wireframe,\nlinewidth:this.linewidth,roughness:this.roughness,metalness:this.metalness,diffuse:this.diffuse},t)},setColor:function(t,e){var i=Object.keys(Ev.getTypes());return i.includes(t)?e?e.colorScheme=t:this.setParameters({colorScheme:t}):void 0!==t&&(t=new Ct(t).getHex(),e?(e.colorScheme=\"uniform\",e.colorValue=t):this.setParameters({colorScheme:\"uniform\",colorValue:t})),this},prepare:!1,create:function(){},update:function(){this.build()},build:function(t){return this.lazy&&!this.visible?void(this.lazyProps.build=!0):this.prepare?(this.queue.length()>0?(this.tasks.change(1-this.queue.length()),this.queue.kill()):this.tasks.increment(),void this.queue.push(t||!1)):(this.tasks.increment(),void this.make())},make:function(e,i){t.Debug&&Pv.time(\"Representation.make \"+this.type);var n=function(){e?(this.update(e),this.viewer.requestRender(),this.tasks.decrement(),i&&i()):(this.clear(),this.create(),this.manualAttach||this.disposed||(t.Debug&&Pv.time(\"Representation.attach \"+this.type),this.attach(function(){t.Debug&&Pv.timeEnd(\"Representation.attach \"+this.type),this.tasks.decrement(),i&&i()}.bind(this)))),t.Debug&&Pv.timeEnd(\"Representation.make \"+this.type)}.bind(this);this.prepare?this.prepare(n):n()},attach:function(t){this.setVisibility(this.visible),t()},setVisibility:function(t,e){if(this.visible=t,this.visible){var i=this.lazyProps,n=i.bufferParams,r=i.what;if(i.build)return i.build=!1,void this.build();(Object.keys(n).length||Object.keys(r).length)&&(i.bufferParams={},i.what={},this.updateParameters(n,r))}return this.bufferList.forEach(function(e){e.setVisibility(t)}),e||this.viewer.requestRender(),this},setParameters:function(t,e,i){var n=t||{},r=this.parameters;e=e||{},i=i||!1;var o={};for(var a in n)void 0!==n[a]&&void 0!==r[a]&&(r[a].int&&(n[a]=parseInt(n[a])),r[a].float&&(n[a]=parseFloat(n[a])),n[a]!==this[a]&&(this[a]=n[a],r[a].buffer&&(r[a].buffer===!0?o[a]=n[a]:o[r[a].buffer]=n[a]),r[a].update&&(e[r[a].update]=!0),!r[a].rebuild||\"impostor\"===r[a].rebuild&&Mv&&!this.disableImpostor||(i=!0)));return i?this.build():this.updateParameters(o,e),this},updateParameters:function(t,e){return this.lazy&&!this.visible?(Object.assign(this.lazyProps.bufferParams,t),void Object.assign(this.lazyProps.what,e)):(this.bufferList.forEach(function(e){e.setParameters(t)}),Object.keys(e).length&&this.update(e),void this.viewer.requestRender())},getParameters:function(){var t={lazy:this.lazy,visible:this.visible,quality:this.quality};return Object.keys(this.parameters).forEach(function(e){\"button\"===this.parameters.type?t[e]=this[e].bind(this):t[e]=this[e]},this),t},clear:function(){this.bufferList.forEach(function(t){this.viewer.remove(t),t.dispose()},this),this.bufferList.length=0,this.viewer.requestRender()},dispose:function(){this.disposed=!0,this.queue.kill(),this.tasks.dispose(),this.clear()}},es.prototype=Object.assign(Object.create(ts.prototype),{constructor:es,type:\"buffer\",parameters:Object.assign({},ts.prototype.parameters,{colorScheme:null,colorScale:null,colorValue:null,colorDomain:null,colorMode:null}),create:function(){this.bufferList.push.apply(this.bufferList,this.buffer)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t),t.setParameters(this.getBufferParams())},this),this.setVisibility(this.visible),t()}}),is.prototype=Object.assign(Object.create(Da.prototype),{constructor:is,type:\"surface\"}),ns.prototype.constructor=ns,rs.prototype=Object.assign(Object.create(ts.prototype),{constructor:rs,type:\"surface\",parameters:Object.assign({isolevelType:{type:\"select\",options:{value:\"value\",sigma:\"sigma\"}},isolevel:{type:\"number\",precision:2,max:1e3,min:-1e3},smooth:{type:\"integer\",precision:1,max:10,min:0},background:{type:\"boolean\",rebuild:!0},opaqueBack:{type:\"boolean\",buffer:!0},boxSize:{type:\"integer\",precision:1,max:100,min:0},useWorker:{type:\"boolean\",rebuild:!0}},ts.prototype.parameters),init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"uniform\"),e.colorValue=d(e.colorValue,14540253),this.isolevelType=d(e.isolevelType,\"sigma\"),this.isolevel=d(e.isolevel,2),this.smooth=d(e.smooth,0),this.background=d(e.background,!1),this.opaqueBack=d(e.opaqueBack,!0),this.boxSize=d(e.boxSize,0),this.useWorker=d(e.useWorker,!0),ts.prototype.init.call(this,e)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t)},this),this.setVisibility(this.visible),t()},prepare:function(t){if(this.volume){var e;if(e=\"sigma\"===this.isolevelType?this.volume.getValueForSigma(this.isolevel):this.isolevel,!this.surface||this.__isolevel!==e||this.__smooth!==this.smooth||this.__boxSize!==this.boxSize||this.boxSize>0&&!this.__boxCenter.equals(this.boxCenter)){this.__isolevel=e,this.__smooth=this.smooth,this.__boxSize=this.boxSize,this.__boxCenter.copy(this.boxCenter),this.__box.copy(this.box);var i=function(e){this.surface=e,t()}.bind(this);this.useWorker?this.volume.getSurfaceWorker(e,this.smooth,this.boxCenter,this.boxSize,i):i(this.volume.getSurface(e,this.smooth,this.boxCenter,this.boxSize))}else t()}else t()},create:function(){var t=new is(this.surface.getPosition(),this.surface.getColor(this.getColorParams()),this.surface.getIndex(),this.surface.getNormal(),void 0,this.getBufferParams({background:this.background,opaqueBack:this.opaqueBack,dullInterior:!1})),e=new ns(t);this.bufferList.push(e)},update:function(t){if(0!==this.bufferList.length){t=t||{};var e={};t.position&&(e.position=this.surface.getPosition()),t.color&&(e.color=this.surface.getColor(this.getColorParams())),t.index&&(e.index=this.surface.getIndex()),t.normal&&(e.normal=this.surface.getNormal()),this.bufferList.forEach(function(t){t.setAttributes(e)})}},setParameters:function(t,e,i){return t&&void 0!==t.isolevelType&&this.volume&&(\"value\"===this.isolevelType&&\"sigma\"===t.isolevelType?this.isolevel=this.volume.getSigmaForValue(this.isolevel):\"sigma\"===this.isolevelType&&\"value\"===t.isolevelType&&(this.isolevel=this.volume.getValueForSigma(this.isolevel)),this.isolevelType=t.isolevelType),t&&t.boxCenter&&(this.boxCenter.copy(t.boxCenter),delete t.boxCenter),ts.prototype.setParameters.call(this,t,e,i),this.volume&&this.volume.getBox(this.boxCenter,this.boxSize,this.box),this.surface&&(void 0!==t.isolevel||void 0!==t.smooth||void 0!==t.boxSize||this.boxSize>0&&!this.__box.equals(this.box))&&this.build({position:!0,color:!0,index:!0,normal:!0}),this},dispose:function(){this.viewer.signals.orientationChanged.remove(this.setBox),ts.prototype.dispose.call(this)}}),Ov.add(\"shader/Point.vert\",\"uniform float nearClip;\\nuniform float clipRadius;\\nuniform vec3 clipCenter;\\nuniform float size;\\nuniform float canvasHeight;\\nuniform float pixelRatio;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include color_pars_vertex\\n#include common\\nvoid main(){\\n#include color_vertex\\n#include begin_vertex\\n#include project_vertex\\n#ifdef USE_SIZEATTENUATION\\ngl_PointSize = size * pixelRatio * ( ( canvasHeight / 2.0 ) / -mvPosition.z );\\n#else\\ngl_PointSize = size * pixelRatio;\\n#endif\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n#include radiusclip_vertex\\n}\"),Ov.add(\"shader/Point.frag\",\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#ifdef USE_MAP\\nuniform sampler2D map;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\nvec3 outgoingLight = vec3( 0.0 );\\nvec4 diffuseColor = vec4( diffuse, 1.0 );\\n#ifdef USE_MAP\\ndiffuseColor *= texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\\n#endif\\n#include color_fragment\\n#include alphatest_fragment\\noutgoingLight = diffuseColor.rgb;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a * opacity );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\"),as.prototype=Object.assign(Object.create(Oa.prototype),{constructor:as,parameters:Object.assign({pointSize:{uniform:\"size\"},sizeAttenuation:{updateShader:!0},sortParticles:{},alphaTest:{updateShader:!0},useTexture:{updateShader:!0},forceTransparent:{},edgeBleach:{uniform:!0}},Oa.prototype.parameters),makeMaterial:function(){Oa.prototype.makeMaterial.call(this),this.makeTexture(),this.material.uniforms.map.value=this.tex,this.material.blending=Dh,this.material.needsUpdate=!0,this.wireframeMaterial.uniforms.map.value=this.tex,this.wireframeMaterial.blending=Dh,this.wireframeMaterial.needsUpdate=!0,this.pickingMaterial.uniforms.map.value=this.tex,this.pickingMaterial.blending=Dh,this.pickingMaterial.needsUpdate=!0},makeTexture:function(){this.tex&&this.tex.dispose(),this.tex=os({delta:this.edgeBleach})},getDefines:function(t){var e=Oa.prototype.getDefines.call(this,t);return this.sizeAttenuation&&(e.USE_SIZEATTENUATION=1),this.useTexture&&(e.USE_MAP=1),this.alphaTest>0&&this.alphaTest<=1&&(e.ALPHATEST=this.alphaTest.toPrecision(2)),e},setUniforms:function(t){t&&void 0!==t.edgeBleach&&(this.makeTexture(),t.map=this.tex),Oa.prototype.setUniforms.call(this,t)},dispose:function(){Oa.prototype.dispose.call(this),this.tex&&this.tex.dispose()}}),ss.prototype=Object.assign(Object.create(ts.prototype),{constructor:ss,type:\"dot\",parameters:Object.assign({thresholdType:{type:\"select\",rebuild:!0,options:{value:\"value\",sigma:\"sigma\"}},thresholdMin:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0},thresholdMax:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0},thresholdOut:{type:\"boolean\",rebuild:!0},dotType:{type:\"select\",rebuild:!0,options:{\"\":\"\",sphere:\"sphere\",point:\"point\"}},radiusType:{type:\"select\",options:{\"\":\"\",value:\"value\",\"abs-value\":\"abs-value\",\"value-min\":\"value-min\",deviation:\"deviation\",size:\"size\"}},radius:{type:\"number\",precision:3,max:10,min:.001,property:\"size\"},scale:{type:\"number\",precision:3,max:10,min:.001},sphereDetail:!0,disableImpostor:!0,pointSize:{type:\"number\",precision:1,max:100,min:0,buffer:!0},sizeAttenuation:{type:\"boolean\",buffer:!0},sortParticles:{type:\"boolean\",rebuild:!0},useTexture:{type:\"boolean\",buffer:!0},alphaTest:{type:\"range\",step:.001,max:1,min:0,buffer:!0},forceTransparent:{type:\"boolean\",buffer:!0},edgeBleach:{type:\"range\",step:.001,max:1,min:0,buffer:!0}},ts.prototype.parameters,{colorScheme:{type:\"select\",update:\"color\",options:{\"\":\"\",value:\"value\",uniform:\"uniform\"}}}),defaultSize:.1,init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"uniform\"),e.colorValue=d(e.colorValue,14540253),this.thresholdType=d(e.thresholdType,\"sigma\"),this.thresholdMin=d(e.thresholdMin,2),this.thresholdMax=d(e.thresholdMax,1/0),this.thresholdOut=d(e.thresholdOut,!1),this.dotType=d(e.dotType,\"point\"),this.radius=d(e.radius,.1),this.scale=d(e.scale,1),this.pointSize=d(e.pointSize,1),this.sizeAttenuation=d(e.sizeAttenuation,!0),this.sortParticles=d(e.sortParticles,!1),this.useTexture=d(e.useTexture,!1),this.alphaTest=d(e.alphaTest,.5),this.forceTransparent=d(e.forceTransparent,!1),this.edgeBleach=d(e.edgeBleach,0),ts.prototype.init.call(this,e)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t)},this),this.setVisibility(this.visible),t()},create:function(){var t,e,i,n;if(this.volume){var r,o,a=this.volume;\"sigma\"===this.thresholdType?(r=a.getValueForSigma(this.thresholdMin),o=a.getValueForSigma(this.thresholdMax)):(r=this.thresholdMin,o=this.thresholdMax),a.filterData(r,o,this.thresholdOut),t=a.getDataPosition(),e=a.getDataColor(this.getColorParams()),i=a.getDataSize(this.radius,this.scale),n=a.getPickingDataColor(this.getColorParams())}else{var s=this.surface;t=s.getPosition(),e=s.getColor(this.getColorParams()),i=s.getSize(this.radius,this.scale),n=s.getPickingColor(this.getColorParams())}\"sphere\"===this.dotType?this.dotBuffer=new Va(t,e,i,n,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!1})):this.dotBuffer=new as(t,e,this.getBufferParams({pointSize:this.pointSize,sizeAttenuation:this.sizeAttenuation,sortParticles:this.sortParticles,useTexture:this.useTexture,alphaTest:this.alphaTest,forceTransparent:this.forceTransparent,edgeBleach:this.edgeBleach})),this.bufferList.push(this.dotBuffer)},update:function(t){if(0!==this.bufferList.length){t=t||{};var e={};t.color&&(this.volume?e.color=this.volume.getDataColor(this.getColorParams()):e.color=this.surface.getColor(this.getColorParams())),\"sphere\"===this.dotType&&(t.radius||t.scale)&&(this.volume?e.radius=this.volume.getDataSize(this.radius,this.scale):e.radius=this.surface.getSize(this.radius,this.scale)),this.dotBuffer.setAttributes(e)}},setParameters:function(t,e,i){return e=e||{},t&&void 0!==t.thresholdType&&this.volume instanceof Pa&&(\"value\"===this.thresholdType&&\"sigma\"===t.thresholdType?(this.thresholdMin=this.volume.getSigmaForValue(this.thresholdMin),this.thresholdMax=this.volume.getSigmaForValue(this.thresholdMax)):\"sigma\"===this.thresholdType&&\"value\"===t.thresholdType&&(this.thresholdMin=this.volume.getValueForSigma(this.thresholdMin),this.thresholdMax=this.volume.getValueForSigma(this.thresholdMax)),this.thresholdType=t.thresholdType),t&&void 0!==t.radiusType&&(\"radius\"===t.radiusType?this.radius=this.defaultSize:this.radius=t.radiusType,e.radius=!0,\"sphere\"!==this.dotType||Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.radius&&(e.radius=!0,\"sphere\"!==this.dotType||Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.scale&&(e.scale=!0,\"sphere\"!==this.dotType||Mv&&!this.disableImpostor||(i=!0)),ts.prototype.setParameters.call(this,t,e,i),this}}),Ov.add(\"shader/Image.vert\",\"uniform float clipRadius;\\nuniform vec3 clipCenter;\\nvarying vec2 vUv;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nvoid main() {\\n#include begin_vertex\\n#include project_vertex\\nvUv = uv;\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n}\"),Ov.add(\"shader/Image.frag\",\"uniform sampler2D map;\\nuniform float opacity;\\nuniform vec2 mapSize;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec2 vUv;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include fog_pars_fragment\\n#if defined( CUBIC_INTERPOLATION )\\n#if defined( CATMULROM_FILTER ) || defined( MITCHELL_FILTER )\\n#if defined( CATMULROM_FILTER )\\nconst float B = 0.0;\\nconst float C = 0.5;\\n#elif defined( MITCHELL_FILTER )\\nconst float B = 0.333;\\nconst float C = 0.333;\\n#endif\\nfloat filter( float x ){\\nfloat f = x;\\nif( f < 0.0 )\\n{\\nf = -f;\\n}\\nif( f < 1.0 )\\n{\\nreturn ( ( 12.0 - 9.0 * B - 6.0 * C ) * ( f * f * f ) +\\n( -18.0 + 12.0 * B + 6.0 *C ) * ( f * f ) +\\n( 6.0 - 2.0 * B ) ) / 6.0;\\n}\\nelse if( f >= 1.0 && f < 2.0 )\\n{\\nreturn ( ( -B - 6.0 * C ) * ( f * f * f )\\n+ ( 6.0 * B + 30.0 * C ) * ( f *f ) +\\n( - ( 12.0 * B ) - 48.0 * C ) * f +\\n8.0 * B + 24.0 * C)/ 6.0;\\n}\\nelse\\n{\\nreturn 0.0;\\n}\\n}\\n#elif defined( BSPLINE_FILTER )\\nfloat filter( float x ){\\nfloat f = x;\\nif( f < 0.0 ){\\nf = -f;\\n}\\nif( f >= 0.0 && f <= 1.0 ){\\nreturn ( 2.0 / 3.0 ) + ( 0.5 ) * ( f*f*f ) - ( f*f );\\n}else if( f > 1.0 && f <= 2.0 ){\\nreturn 1.0 / 6.0 * pow( ( 2.0 - f ), 3.0 );\\n}\\nreturn 1.0;\\n}\\n#else\\nfloat filter( float x ){\\nreturn 1.0;\\n}\\n#endif\\nvec4 biCubic( sampler2D tex, vec2 texCoord ){\\nvec2 texelSize = 1.0 / mapSize;\\ntexCoord -= texelSize / 2.0;\\nvec4 nSum = vec4( 0.0 );\\nfloat nDenom = 0.0;\\nvec2 cell = fract( texCoord * mapSize );\\nfor( float m = -1.0; m <= 2.0; ++m ){\\nfor( float n = -1.0; n <= 2.0; ++n ){\\nvec4 vecData = texture2D(\\ntex, texCoord + texelSize * vec2( m, n )\\n);\\nfloat c = filter( m - cell.x ) * filter( -n + cell.y );\\nnSum += vecData * c;\\nnDenom += c;\\n}\\n}\\nreturn nSum / nDenom;\\n}\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( CUBIC_INTERPOLATION )\\ngl_FragColor = biCubic( map, vUv );\\n#else\\ngl_FragColor = texture2D( map, vUv );\\n#endif\\ngl_FragColor.a *= opacity;\\nif( gl_FragColor.a < 0.01 )\\ndiscard;\\n#include fog_fragment\\n}\");var ny=new Uint16Array([0,1,2,1,3,2]),ry=new Float32Array([0,1,0,0,1,1,1,0]);cs.prototype=Object.assign(Object.create(Oa.prototype),{constructor:cs,parameters:Object.assign({filter:{updateShader:!0,uniform:!0}},Oa.prototype.parameters),getDefines:function(t){var e=Oa.prototype.getDefines.call(this,t);return this.filter.startsWith(\"cubic\")&&(e.CUBIC_INTERPOLATION=1,this.filter.endsWith(\"bspline\")?e.BSPLINE_FILTER=1:this.filter.endsWith(\"catmulrom\")?e.CATMULROM_FILTER=1:this.filter.endsWith(\"mitchell\")&&(e.MITCHELL_FILTER=1)),e},updateTexture:function(){var t=this.tex;this.filter.startsWith(\"cubic\")?(t.minFilter=Tl,t.magFilter=Tl):\"linear\"===this.filter?(t.minFilter=Ll,t.magFilter=Ll):(t.minFilter=Tl,t.magFilter=Tl),t.needsUpdate=!0},makeMaterial:function(){Oa.prototype.makeMaterial.call(this),this.updateTexture();var t=this.material;t.uniforms.map.value=this.tex,t.blending=Dh,t.needsUpdate=!0;var e=this.wireframeMaterial;e.uniforms.map.value=this.tex,e.blending=Dh,e.needsUpdate=!0;var i=this.pickingMaterial;i.uniforms.map.value=this.tex,i.blending=Dh,i.needsUpdate=!0},setUniforms:function(t){t&&void 0!==t.filter&&(this.updateTexture(),t.map=this.tex),Oa.prototype.setUniforms.call(this,t)}}),us.prototype=Object.assign(Object.create(ts.prototype),{constructor:us,type:\"slice\",parameters:Object.assign({filter:{type:\"select\",buffer:!0,options:{nearest:\"nearest\",linear:\"linear\",\"cubic-bspline\":\"cubic-bspline\",\"cubic-catmulrom\":\"cubic-catmulrom\",\"cubic-mitchell\":\"cubic-mitchell\"}},position:{type:\"range\",step:.1,max:100,min:1,rebuild:!0},dimension:{type:\"select\",rebuild:!0,options:{x:\"x\",y:\"y\",z:\"z\"}},thresholdType:{type:\"select\",rebuild:!0,options:{value:\"value\",sigma:\"sigma\"}},thresholdMin:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0},thresholdMax:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0}},ts.prototype.parameters,{flatShaded:null,side:null,wireframe:null,linewidth:null,colorScheme:null,roughness:null,metalness:null,diffuse:null}),init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"value\"),e.colorScale=d(e.colorScale,\"Spectral\"),ts.prototype.init.call(this,e),this.colorScheme=\"value\",this.dimension=d(e.dimension,\"x\"),this.filter=d(e.filter,\"cubic-bspline\"),this.position=d(e.position,30),this.thresholdType=d(e.thresholdType,\"sigma\"),this.thresholdMin=d(e.thresholdMin,-(1/0)),this.thresholdMax=d(e.thresholdMax,1/0)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t)},this),this.setVisibility(this.visible),t()},create:function(){function t(t){return Math.round(t/100*(i-1))}function e(t,e,i,r){return 3*(i*n.ny*n.nx+e*n.nx+t)+r}var i=this.position,n=this.volume;n.filterData(-(1/0),1/0,!1);var r,o,a,s,c,u=n.data,h=n.matrix,l=new Float32Array(12),d=0,f=0,p=0,m=n.nx,g=n.ny,v=n.nz,y=new N;\"x\"===this.dimension?(a=t(n.nx),s=n.ny-1,c=n.nz-1,r=n.nz,o=n.ny,d=a,m=d+1,y.set(a,0,0).applyMatrix4(h).toArray(l,0),y.set(a,s,0).applyMatrix4(h).toArray(l,3),y.set(a,0,c).applyMatrix4(h).toArray(l,6),y.set(a,s,c).applyMatrix4(h).toArray(l,9)):\"y\"===this.dimension?(a=n.nx-1,s=t(n.ny),c=n.nz-1,r=n.nz,o=n.nx,f=s,g=f+1,y.set(0,s,0).applyMatrix4(h).toArray(l,0),y.set(a,s,0).applyMatrix4(h).toArray(l,3),y.set(0,s,c).applyMatrix4(h).toArray(l,6),y.set(a,s,c).applyMatrix4(h).toArray(l,9)):\"z\"===this.dimension&&(a=n.nx-1,s=n.ny-1,c=t(n.nz),r=n.nx,o=n.ny,p=c,v=p+1,y.set(0,0,c).applyMatrix4(h).toArray(l,0),y.set(0,s,c).applyMatrix4(h).toArray(l,3),y.set(a,0,c).applyMatrix4(h).toArray(l,6),y.set(a,s,c).applyMatrix4(h).toArray(l,9));var b,x,w=0,_=new Uint8Array(r*o*4);\"sigma\"===this.thresholdType?(b=n.getValueForSigma(this.thresholdMin),x=n.getValueForSigma(this.thresholdMax)):(b=this.thresholdMin,x=this.thresholdMax);var S=this.getColorParams({volume:n});S.domain=[n.getDataMin(),n.getDataMax()];for(var A=Ev.getScheme(S),M=new Float32Array(3),P=f;Pb&&I0&&this.updateData(t,e)},this)},updateData:function(){console.error(\"updateData not implemented\")},getColorParams:function(){var t=ts.prototype.getColorParams.call(this);return t.structure=this.structure,t},getAtomParams:function(t,e){return Object.assign({what:t,colorParams:this.getColorParams(),radiusParams:{radius:this.radius,scale:this.scale}},e)},getBondParams:function(t,e){return Object.assign({what:t,colorParams:this.getColorParams(),radiusParams:{radius:this.radius,scale:this.scale}},e)},setSelection:function(t,e){return this.selection.setString(t,e),this},setParameters:function(t,e,i){return e=e||{},t&&void 0!==t.radiusType&&(\"size\"===t.radiusType?this.radius=this.defaultSize:this.radius=t.radiusType,e.radius=!0,Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.radius&&(e.radius=!0,Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.scale&&(e.radius=!0,Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.defaultAssembly&&(i=!0),ts.prototype.setParameters.call(this,t,e,i),this},getParameters:function(){var t=Object.assign(ts.prototype.getParameters.call(this),{sele:this.selection?this.selection.string:void 0,defaultAssembly:this.defaultAssembly});return t},attach:function(t){var e=this.viewer,i=this.bufferList;this.dataList.forEach(function(t){t.bufferList.forEach(function(n){i.push(n),e.add(n,t.instanceList)})}),this.setVisibility(this.visible),t()},clear:function(){this.dataList.length=0,ts.prototype.clear.call(this)},dispose:function(){this.structureView.dispose(),delete this.structure,delete this.structureView,ts.prototype.dispose.call(this)}}),Ov.add(\"shader/Line.vert\",\"uniform float nearClip;\\nuniform vec3 clipCenter;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include color_pars_vertex\\nvoid main(){\\n#include color_vertex\\n#include begin_vertex\\n#include project_vertex\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),Ov.add(\"shader/Line.frag\",\"uniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\ngl_FragColor = vec4( vColor, opacity );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\"),ls.prototype=Object.assign(Object.create(Oa.prototype),{constructor:ls,setAttributes:function(t){var e,i,n,r,o,a,s=this.geometry.attributes;t.from&&t.to&&(e=t.from,i=t.to,o=s.position.array,s.position.needsUpdate=!0),t.color&&t.color2&&(n=t.color,r=t.color2,a=s.color.array,s.color.needsUpdate=!0);for(var c,u,h,l,d,f,p,m,g,v,y,b,x=this.size,w=6*x,_=0;_5&&i>15e3||i>7e5){var c=Math.min(1.5,Math.max(.1,2e3/(i/n)));a&&(c=Math.min(c,.15)),e.addRepresentation(\"surface\",{sele:\"polymer\",surfaceType:\"sas\",probeRadius:1.4,scaleFactor:c,colorScheme:s,colorScale:\"RdYlBu\",useWorker:!1})}else i>25e4?e.addRepresentation(\"backbone\",{lineOnly:!0,colorScheme:s,colorScale:\"RdYlBu\"}):i>1e5?e.addRepresentation(\"backbone\",{quality:\"low\",disableImpostor:!0,colorScheme:s,colorScale:\"RdYlBu\",scale:2}):i>8e4?e.addRepresentation(\"backbone\",{colorScheme:s,colorScale:\"RdYlBu\",scale:2}):(e.addRepresentation(\"cartoon\",{color:s,colorScale:\"RdYlBu\",scale:.7,aspectRatio:5,quality:\"auto\"}),i<5e4&&e.addRepresentation(\"base\",{color:s,colorScale:\"RdYlBu\",quality:\"auto\"}),e.addRepresentation(\"ball+stick\",{sele:\"hetero and not ( water or ion )\",colorScheme:\"element\",scale:2,aspectRatio:1.5,bondScale:.3,bondSpacing:.75,quality:\"auto\"}));this.centerView(),e.structure.frames.length&&e.addTrajectory()}else\"surface\"!==e.type&&\"volume\"!==e.type||(e.addRepresentation(\"surface\"),this.centerView())},loadFile:function(t,e){var i=Object.assign({},this.defaultFileParams,e),n=new ms(this,i);n.name=y(t).name,this.addComponent(n);var r=this.tasks;r.increment();var o,a=function(t){return this.removeComponent(n),n=this.addComponentFromObject(t,i),\"script\"===n.type&&n.run(),i.defaultRepresentation&&this.defaultFileRepresentation(n),r.decrement(),n}.bind(this),s=function(t){throw n.setStatus(t),r.decrement(),t},c=d(i.ext,y(t).ext);return o=\"dcd\"===c?Promise.reject(\"loadFile: ext 'dcd' must be loaded into a structure component\"):gr(t,i),o.then(a,s)},addComponent:function(t){return t?(this.compList.push(t),void this.signals.componentAdded.dispatch(t)):void Pv.warn(\"Stage.addComponent: no component given\")},addComponentFromObject:function(t,e){var i=Nv.get(t.type);if(i){var n=new i(this,t,e);return this.addComponent(n),n}Pv.warn(\"no component for object type\",t.type)},removeComponent:function(t){var e=this.compList.indexOf(t);e!==-1&&this.compList.splice(e,1),t.dispose(),this.signals.componentRemoved.dispatch(t)},removeAllComponents:function(t){this.compList.slice().forEach(function(e){t&&e.type!==t||this.removeComponent(e)},this)},handleResize:function(){this.viewer.handleResize()},toggleFullscreen:function(t){function e(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement}function i(){if(!e()&&n.lastFullscreenElement){var t=n.lastFullscreenElement;t.style.width=t.dataset.normalWidth,t.style.height=t.dataset.normalHeight,document.removeEventListener(\"fullscreenchange\",i),document.removeEventListener(\"mozfullscreenchange\",i),document.removeEventListener(\"webkitfullscreenchange\",i),document.removeEventListener(\"MSFullscreenChange\",i),n.handleResize(),n.signals.fullscreenChanged.dispatch(!1)}}if(!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled))return void Pv.log(\"fullscreen mode (currently) not possible\");var n=this;t=t||this.viewer.container,this.lastFullscreenElement=t,e()?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():(t.dataset.normalWidth=t.style.width,t.dataset.normalHeight=t.style.height,t.style.width=screen.width+\"px\",t.style.height=screen.height+\"px\",t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(),document.addEventListener(\"fullscreenchange\",i),document.addEventListener(\"mozfullscreenchange\",i),document.addEventListener(\"webkitfullscreenchange\",i),document.addEventListener(\"MSFullscreenChange\",i),this.handleResize(),this.signals.fullscreenChanged.dispatch(!0),setTimeout(function(){n.handleResize()},100))},centerView:function(){if(this.tasks.count>0){var t=function(e,i){0===i&&this.tasks.signals.countChanged.remove(t,this),this.viewer.centerView(!0)};this.tasks.signals.countChanged.add(t,this)}this.viewer.centerView(!0)},setSpin:function(t,e){Array.isArray(t)&&(t=(new N).fromArray(t)),this.viewer.setSpin(t,e)},setOrientation:function(t){this.tasks.onZeroOnce(function(){this.viewer.setOrientation(t)},this)},getOrientation:function(){return this.viewer.getOrientation()},makeImage:function(t){var e=this.viewer,i=this.tasks;return new Promise(function(n,r){function o(){i.increment(),e.makeImage(t).then(function(t){i.decrement(),n(t)}).catch(function(t){i.decrement(),r(t)})}i.onZeroOnce(o)})},setImpostor:function(t){this.parameters.impostor.value=t;var e=[\"spacefill\",\"ball+stick\",\"licorice\",\"hyperball\",\"backbone\",\"rocket\",\"helixorient\",\"contact\",\"distance\",\"dot\"];this.eachRepresentation(function(i){if(\"script\"!==i.type&&e.includes(i.getType())){var n=i.getParameters();n.disableImpostor=!t,i.build(n)}})},setQuality:function(t){this.parameters.quality.value=t;var e=[\"tube\",\"cartoon\",\"ribbon\",\"trace\",\"rope\"],i=[\"spacefill\",\"ball+stick\",\"licorice\",\"hyperball\",\"backbone\",\"rocket\",\"helixorient\",\"contact\",\"distance\",\"dot\"];this.eachRepresentation(function(n){if(\"script\"!==n.type){var r=n.getParameters();if(!e.includes(n.getType())){if(!i.includes(n.getType()))return;if(!r.disableImpostor)return void(n.repr.quality=t)}r.quality=t,n.build(r)}})},eachComponent:function(t,e){this.compList.forEach(function(i,n){e&&i.type!==e||t(i,n)})},eachRepresentation:function(t,e){this.eachComponent(function(e){e.reprList.forEach(function(i){t(i,e)})},e)},getComponentsByName:function(t,e){var i=[];return this.eachComponent(function(e){(void 0===t||xs(t,e))&&i.push(e)},e),new ys(i)},getRepresentationsByName:function(t,e){var i,n;\"object\"!=typeof t?(i=void 0,n=t):(i=t.comp,n=t.repr);var r=[];return this.eachRepresentation(function(t,e){(void 0===i||xs(i,e))&&(void 0===n||xs(n,t))&&r.push(t)},e),new bs(r)},getAnythingByName:function(t){var e=this.getComponentsByName(t).list,i=this.getRepresentationsByName(t).list;return new vs(e.concat(i))},dispose:function(){this.tasks.dispose()}},_s.prototype={constructor:_s,_animate:function(){var t;if(this._running=!0,this.traj.inProgress||this._stopFlag||(t=\"forward\"===this.direction?this.traj.currentFrame+this.step:this.traj.currentFrame-this.step,(t>=this.end||t=this.end?e=this.start:\"backward\"===this.direction&&t<=this.start&&(e=this.end),this.traj.setFrame(e),this._stopFlag=!1,this._animate(),this.signals.startedRunning.dispatch()}},pause:function(){this._running&&(this._stopFlag=!0,this.signals.haltedRunning.dispatch())},stop:function(){this.traj.setFrame(this.start),this.pause()}};var ay=function(){function t(t,e){var i,n=0,r={};return e.forEach(function(e){i=0;var o={};e.forEach(function(e){o[t[i++]]=e}),r[t[n++]]=o}),r}var e=[[4,0,-2,-1,-2,0,-2,-1,-1,-1,-1,-2,-1,-1,-1,1,0,0,-3,-2],[0,9,-3,-4,-2,-3,-3,-1,-3,-1,-1,-3,-3,-3,-3,-1,-1,-1,-2,-2],[-2,-3,6,2,-3,-1,-1,-3,-1,-4,-3,1,-1,0,-2,0,-1,-3,-4,-3],[-1,-4,2,5,-3,-2,0,-3,1,-3,-2,0,-1,2,0,0,-1,-2,-3,-2],[-2,-2,-3,-3,6,-3,-1,0,-3,0,0,-3,-4,-3,-3,-2,-2,-1,1,3],[0,-3,-1,-2,-3,6,-2,-4,-2,-4,-3,0,-2,-2,-2,0,-2,-3,-2,-3],[-2,-3,-1,0,-1,-2,8,-3,-1,-3,-2,1,-2,0,0,-1,-2,-3,-2,2],[-1,-1,-3,-3,0,-4,-3,4,-3,2,1,-3,-3,-3,-3,-2,-1,3,-3,-1],[-1,-3,-1,1,-3,-2,-1,-3,5,-2,-1,0,-1,1,2,0,-1,-2,-3,-2],[-1,-1,-4,-3,0,-4,-3,2,-2,4,2,-3,-3,-2,-2,-2,-1,1,-2,-1],[-1,-1,-3,-2,0,-3,-2,1,-1,2,5,-2,-2,0,-1,-1,-1,1,-1,-1],[-2,-3,1,0,-3,0,1,-3,0,-3,-2,6,-2,0,0,1,0,-3,-4,-2],[-1,-3,-1,-1,-4,-2,-2,-3,-1,-3,-2,-2,7,-1,-2,-1,-1,-2,-4,-3],[-1,-3,0,2,-3,-2,0,-3,1,-2,0,0,-1,5,1,0,-1,-2,-2,-1],[-1,-3,-2,0,-3,-2,0,-3,2,-2,-1,0,-2,1,5,-1,-1,-3,-3,-2],[1,-1,0,0,-2,0,-1,-2,0,-2,-1,1,-1,0,-1,4,1,-2,-3,-2],[0,-1,-1,-1,-2,-2,-2,-1,-1,-1,-1,0,-1,-1,-1,1,5,0,-2,-2],[0,-1,-3,-2,-1,-3,-3,3,-2,1,1,-3,-2,-2,-3,-2,0,4,-3,-1],[-3,-2,-4,-3,1,-2,-2,-3,-3,-2,-1,-4,-4,-2,-3,-3,-2,-3,11,2],[-2,-2,-3,-2,3,-3,2,-1,-2,-1,-1,-2,-3,-1,-2,-2,-2,-1,2,7]],i=[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1]],n=\"ACDEFGHIKLMNPQRSTVWY\",r=\"ARNDCQEGHILKMFPSTWYVBZ?\";return{blosum62:t(r,i),blosum62x:t(n,e)}}();Ss.prototype={constructor:Ss,initMatrices:function(){this.n=this.seq1.length,this.m=this.seq2.length,this.score=void 0,this.ali=\"\",this.S=[],this.V=[],this.H=[];var t,e;for(t=0;t<=this.n;++t)for(this.S[t]=[],this.V[t]=[],this.H[t]=[],e=0;e<=this.m;++e)this.S[t][e]=0,this.V[t][e]=0,this.H[t][e]=0;for(t=0;t<=this.n;++t)this.S[t][0]=this.gap(0),this.H[t][0]=-(1/0);for(e=0;e<=this.m;++e)this.S[0][e]=this.gap(0),this.V[0][e]=-(1/0);this.S[0][0]=0},gap:function(t){return this.gapPenalty+t*this.gapExtensionPenalty},makeScoreFn:function(){var t,e,i=this.seq1,n=this.seq2,r=this.substMatrix;return r?function(o,a){t=i[o],e=n[a];try{return r[t][e]}catch(t){return-4}}:(Pv.warn(\"Alignment: no subst matrix\"),function(r,o){return t=i[r],e=n[o],t===e?5:-3})},calc:function(){t.Debug&&Pv.time(\"Alignment.calc\"),this.initMatrices();var e,i,n,r,o,a,s,c=this.gap(0),u=this.makeScoreFn(),h=this.gapExtensionPenalty,l=this.V,d=this.H,f=this.S,p=this.n,m=this.m;for(a=1;a<=p;++a)for(i=f[a-1],e=l[a-1],n=l[a],r=d[a],o=f[a],s=1;s<=m;++s)n[s]=Math.max(i[s]+c,e[s]+h),r[s]=Math.max(o[s-1]+c,r[s-1]+h),o[s]=Math.max(i[s-1]+u(a-1,s-1),n[s],r[s]);t.Debug&&Pv.timeEnd(\"Alignment.calc\"),t.Debug&&Pv.log(this.S,this.V,this.H)},trace:function(){t.Debug&&Pv.time(\"Alignment.trace\"),this.ali1=\"\",this.ali2=\"\";var e=this.makeScoreFn(),i=this.n,n=this.m,r=\"S\";for(this.S[i][n]>=this.V[i][n]&&this.S[i][n]>=this.V[i][n]?(r=\"S\",this.score=this.S[i][n]):this.V[i][n]>=this.H[i][n]?(r=\"V\",this.score=this.V[i][n]):(r=\"H\",this.score=this.H[i][n]),t.Debug&&Pv.log(\"Alignment: SCORE\",this.score),t.Debug&&Pv.log(\"Alignment: S, V, H\",this.S[i][n],this.V[i][n],this.H[i][n]);i>0&&n>0;)\"S\"===r?this.S[i][n]===this.S[i-1][n-1]+e(i-1,n-1)?(this.ali1=this.seq1[i-1]+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--i,--n,r=\"S\"):this.S[i][n]===this.V[i][n]?r=\"V\":this.S[i][n]===this.H[i][n]?r=\"H\":(--i,--n):\"V\"===r?this.V[i][n]===this.V[i-1][n]+this.gapExtensionPenalty?(this.ali1=this.seq1[i-1]+this.ali1,this.ali2=\"-\"+this.ali2,--i,r=\"V\"):this.V[i][n]===this.S[i-1][n]+this.gap(0)?(this.ali1=this.seq1[i-1]+this.ali1,this.ali2=\"-\"+this.ali2,--i,r=\"S\"):--i:\"H\"===r?this.H[i][n]===this.H[i][n-1]+this.gapExtensionPenalty?(this.ali1=\"-\"+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--n,r=\"H\"):this.H[i][n]===this.S[i][n-1]+this.gap(0)?(this.ali1=\"-\"+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--n,r=\"S\"):--n:Pv.error(\"Alignment: no matrix\");for(;i>0;)this.ali1=this.seq1[i-1]+this.ali1,this.ali2=\"-\"+this.ali2,--i;for(;n>0;)this.ali1=\"-\"+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--n;t.Debug&&Pv.timeEnd(\"Alignment.trace\"),t.Debug&&Pv.log([this.ali1,this.ali2])}},Ms.prototype=Object.assign(Object.create(ms.prototype),{constructor:Ms,type:\"script\",addRepresentation:function(){},removeRepresentation:function(){},run:function(){var t=this;this.setStatus(\"running\"),this.script.call(this.stage,function(){t.setStatus(\"finished\")}),this.setStatus(\"called\")},dispose:function(){this.signals.disposed.dispatch()},setVisibility:function(){},getCenter:function(){}}),Nv.add(\"script\",Ms),Ps.prototype=Object.assign(Object.create(ms.prototype),{constructor:Ps,type:\"shape\",addRepresentation:function(t,e){return ms.prototype.addRepresentation.call(this,t,this.shape,e)},centerView:function(t){t=d(t,!0);var e=this.getCenter();if(t){var i=this.shape.boundingBox,n=i.size(),r=Math.max(n.x,n.y,n.z),o=Math.min(n.x,n.y,n.z);t=Math.max(1,r+o/2)}return this.viewer.centerView(t,e),this},getCenter:function(){return this.shape.center},dispose:function(){this.shape.dispose(),ms.prototype.dispose.call(this)}}),Nv.add(\"shape\",Ps),Cs.prototype=Object.assign(Object.create(ms.prototype),{constructor:Cs,type:\"trajectory\",signals:Object.assign({frameChanged:null,playerChanged:null,gotNumframes:null,parametersChanged:null},ms.prototype.signals),addRepresentation:function(t,e){return ms.prototype.addRepresentation.call(this,t,this.trajectory,e)},setFrame:function(t){this.trajectory.setFrame(t)},setParameters:function(t){return this.trajectory.setParameters(t),this.signals.parametersChanged.dispatch(t),this},dispose:function(){this.trajectory.dispose(),ms.prototype.dispose.call(this)},getCenter:function(){}}),Ts.prototype=Object.assign(Object.create(La.prototype),{constructor:Ts,type:\"frames\",makeAtomIndices:function(){\"StructureView\"===this.structure.type?this.atomIndices=this.structure.getAtomIndices():this.atomIndices=null},_loadFrame:function(t,e){var i,n=this.frames[t];if(this.atomIndices){var r=this.atomIndices,o=r.length;i=new Float32Array(3*o);for(var a=0;a0&&(n=\"( \"+e.join(\" ) AND ( \")+\" )\"),new On(n)},getStructure:function(){return this.structure.getStructure()},eachBond:function(t,e){this.structure.eachBond(t,this.getSelection(e))},eachAtom:function(t,e){var i=this.getAtomProxy(),n=this.getAtomSet(e),r=this.atomStore.count;if(n&&n.size()0?n>_&&(_=n):n>S&&(S=n),Gr(y.copy(t),m,e[3]);var r=x.subVectors(y,e[3]).normalize().dot(m),o=y.distanceTo(e[3]);r>0?o>A&&(A=o):o>M&&(M=o),Gr(b.copy(t),g,e[3]);var a=x.subVectors(b,e[3]).normalize().dot(g),s=b.distanceTo(e[3]);a>0?s>P&&(P=s):s>C&&(C=s)});var T=2*d,E=function(t,i,n){w.copy(e[3]).addScaledVector(p,t).addScaledVector(m,i).addScaledVector(g,n),w.toArray(o,T),T+=3};E(_,A,P),E(_,A,-C),E(_,-M,-C),E(_,-M,P),E(-S,-M,-C),E(-S,-M,P),E(-S,A,P),E(-S,A,-C);var I=d,L=function(t,e){w.fromArray(o,2*d+3*t).toArray(c,I),w.fromArray(o,2*d+3*e).toArray(u,I),I+=3};L(0,1),L(0,3),L(0,6),L(1,2),L(1,7),L(2,3),L(2,4),L(3,5),L(4,5),L(4,7),L(5,6),L(6,7)}return{vertexPosition:o,vertexColor:a,vertexRadius:s,edgePosition1:c,edgePosition2:u,edgeColor:h,edgeRadius:l}},create:function(){var t=this.getAxesData(this.structureView);this.sphereBuffer=new Va(t.vertexPosition,t.vertexColor,t.vertexRadius,void 0,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0})),this.cylinderBuffer=new Ya(t.edgePosition1,t.edgePosition2,t.edgeColor,t.edgeColor,t.edgeRadius,void 0,void 0,this.getBufferParams({openEnded:!0,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0})),this.dataList.push({sview:this.structureView,bufferList:[this.sphereBuffer,this.cylinderBuffer]})},updateData:function(t,e){var i=this.getAxesData(e.sview),n={},r={};t&&!t.position||(n.position=i.vertexPosition,r.position1=i.edgePosition1,r.position2=i.edgePosition2),t&&!t.color||(n.color=i.vertexColor,r.color=i.edgeColor,r.color2=i.edgeColor),t&&!t.radius||(n.radius=i.vertexRadius,r.radius=i.edgeRadius),this.sphereBuffer.setAttributes(n),this.cylinderBuffer.setAttributes(r)}}),Lv.add(\"axes\",ks),Fs.prototype=Object.assign(Object.create(hs.prototype),{constructor:Fs,type:\"ball+stick\",defaultSize:.15,parameters:Object.assign({sphereDetail:!0,radialSegments:!0,openEnded:!0,disableImpostor:!0,aspectRatio:{type:\"number\",precision:1,max:10,min:1},lineOnly:{type:\"boolean\",rebuild:!0},cylinderOnly:{type:\"boolean\",rebuild:!0},multipleBond:{type:\"select\",rebuild:!0,options:{off:\"off\",symmetric:\"symmetric\",offset:\"offset\"}},bondScale:{type:\"number\",precision:2,max:1,min:.01},bondSpacing:{type:\"number\",precision:2,max:2,min:.5}},hs.prototype.parameters),init:function(t){var e=t||{};e.radius=d(e.radius,this.defaultSize),this.aspectRatio=d(e.aspectRatio,2),this.lineOnly=d(e.lineOnly,!1),this.cylinderOnly=d(e.cylinderOnly,!1),this.multipleBond=d(e.multipleBond,\"off\"),this.bondSpacing=d(e.bondSpacing,1),this.bondScale=d(e.bondScale,.4),hs.prototype.init.call(this,e)},getAtomParams:function(t,e){return e=Object.assign({radiusParams:{radius:this.radius,scale:this.scale*this.aspectRatio}},e),hs.prototype.getAtomParams.call(this,t,e)},getAtomData:function(t,e,i){return t.getAtomData(this.getAtomParams(e,i))},getBondParams:function(t,e){return e=Object.assign({multipleBond:this.multipleBond,bondSpacing:this.bondSpacing,bondScale:this.bondScale},e),hs.prototype.getBondParams.call(this,t,e)},getBondData:function(t,e,i){return t.getBondData(this.getBondParams(e,i))},createData:function(t){var e=this.getBondData(t),i=[];if(this.lineOnly)this.lineBuffer=new ls(e.position1,e.position2,e.color1,e.color2,this.getBufferParams()),\ni.push(this.lineBuffer);else{var n=new Ya(e.position1,e.position2,e.color1,e.color2,e.radius,e.pickingColor1,e.pickingColor2,this.getBufferParams({openEnded:this.openEnded,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0}));if(i.push(n),!this.cylinderOnly){var r=this.getAtomData(t),o=new Va(r.position,r.color,r.radius,r.pickingColor,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0}));i.push(o)}}return{bufferList:i}},updateData:function(t,e){\"off\"!==this.multipleBond&&t&&t.radius&&(t.position=!0);var i=this.getBondData(e.sview,t);if(this.lineOnly){var n={};t&&!t.position||(n.from=i.position1,n.to=i.position2),t&&!t.color||(n.color=i.color1,n.color2=i.color2),e.bufferList[0].setAttributes(n)}else{var r={};if(t&&!t.position||(r.position1=i.position1,r.position2=i.position2),t&&!t.color||(r.color=i.color1,r.color2=i.color2),t&&!t.radius||(r.radius=i.radius),e.bufferList[0].setAttributes(r),!this.cylinderOnly){var o=this.getAtomData(e.sview,t),a={};t&&!t.position||(a.position=o.position),t&&!t.color||(a.color=o.color),t&&!t.radius||(a.radius=o.radius),e.bufferList[1].setAttributes(a)}}},setParameters:function(t){var e=!1,i={};return t&&(t.aspectRatio||t.bondSpacing||t.bondScale)&&(i.radius=!0,Mv&&!this.disableImpostor||(e=!0)),hs.prototype.setParameters.call(this,t,i,e),this}}),Lv.add(\"ball+stick\",Fs),zs.prototype=Object.assign(Object.create(Fs.prototype),{constructor:zs,type:\"backbone\",defaultSize:.25,parameters:Object.assign({},Fs.prototype.parameters,{multipleBond:null,bondSpacing:null}),init:function(t){var e=t||{};e.aspectRatio=d(e.aspectRatio,1),Fs.prototype.init.call(this,e)},getAtomData:function(t,e,i){return t.getBackboneAtomData(this.getAtomParams(e,i))},getBondData:function(t,e,i){var n=this.getBondParams(e,i);return n.colorParams.backbone=!0,t.getBackboneBondData(n)}}),Lv.add(\"backbone\",zs),Bs.prototype=Object.assign(Object.create(Fs.prototype),{constructor:Bs,type:\"base\",defaultSize:.3,parameters:Object.assign({},Fs.prototype.parameters,{multipleBond:null,bondSpacing:null}),init:function(t){var e=t||{};e.aspectRatio=d(e.aspectRatio,1),Fs.prototype.init.call(this,e)},getAtomData:function(t,e,i){return t.getRungAtomData(this.getAtomParams(e,i))},getBondData:function(t,e,i){var n=this.getBondParams(e,i);return n.colorParams.rung=!0,t.getRungBondData(n)}}),Lv.add(\"base\",Bs),js.prototype={constructor:js,getAtomIterator:function(t,e){function i(){var t=this.get(u);return u+=1,t}function n(i){var n=h[c%4];if(n.index=o.getAtomIndexByType(i,t),e&&i>0&&ie)&&(s=!0,r.add_unsafe(n.index),o.addBond(a,n,1))}s&&r.add_unsafe(a.index)});var a=new Zv(o.count);return a.set_all(!0),Pv.timeEnd(\"Contact within\"),{atomSet:r,bondSet:a,bondStore:o}}},Xs.prototype=Object.assign(Object.create(hs.prototype),{constructor:Xs,type:\"contact\",defaultSize:.25,parameters:Object.assign({contactType:{type:\"select\",rebuild:!0,options:{polar:\"polar\",polarBackbone:\"polar backbone\"}},maxDistance:{type:\"number\",precision:1,max:10,min:.1,rebuild:!0},maxAngle:{type:\"integer\",max:180,min:0,rebuild:!0},radialSegments:!0,disableImpostor:!0},hs.prototype.parameters),init:function(t){var e=t||{};e.radius=d(e.radius,this.defaultSize),this.contactType=d(e.contactType,\"polarBackbone\"),this.maxDistance=d(e.maxDistance,3.5),this.maxAngle=d(e.maxAngle,40),hs.prototype.init.call(this,e)},getContactData:function(t){var e={polar:Hs,polarBackbone:Ws},i=e[this.contactType](t,this.maxDistance,this.maxAngle);return i},getBondData:function(t,e,i){return t.getBondData(this.getBondParams(e,i))},createData:function(t){var e=this.getContactData(t),i={bondSet:e.bondSet,bondStore:e.bondStore},n=this.getBondData(t,void 0,i),r=new Ya(n.position1,n.position2,n.color1,n.color2,n.radius,n.pickingColor1,n.pickingColor2,this.getBufferParams({openEnded:!1,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0}));return{bufferList:[r],bondSet:e.bondSet,bondStore:e.bondStore}},updateData:function(t,e){if(!t||t.position){var i=this.getContactData(e.sview);e.bondSet=i.bondSet,e.bondStore=i.bondStore}var n={bondSet:e.bondSet,bondStore:e.bondStore},r=this.getBondData(e.sview,t,n),o={};t&&!t.position||(o.position=Er(r.position1,r.position2),o.position1=r.position1,o.position2=r.position2),t&&!t.color||(o.color=r.color1,o.color2=r.color2),t&&!t.radius||(o.radius=r.radius),e.bufferList[0].setAttributes(o)}}),Lv.add(\"contact\",Xs),Ov.add(\"shader/SDFFont.vert\",\"uniform float nearClip;\\nuniform float clipRadius;\\nuniform vec3 clipCenter;\\nuniform float xOffset;\\nuniform float yOffset;\\nuniform float zOffset;\\nuniform bool ortho;\\nvarying vec3 vViewPosition;\\nvarying vec2 texCoord;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nattribute vec2 mapping;\\nattribute vec2 inputTexCoord;\\nattribute float inputSize;\\n#include color_pars_vertex\\n#include common\\nvoid main(void){\\n#include color_vertex\\ntexCoord = inputTexCoord;\\nfloat _zOffset = zOffset;\\nif( texCoord.x == 10.0 ){\\n_zOffset -= 0.001;\\n}\\nvec3 pos = position;\\nif( ortho ){\\npos += normalize( cameraPosition ) * _zOffset;\\n}\\nvec4 cameraPos = modelViewMatrix * vec4( pos, 1.0 );\\nvec4 cameraCornerPos = vec4( cameraPos.xyz, 1.0 );\\ncameraCornerPos.xy += mapping * inputSize * 0.01;\\ncameraCornerPos.x += xOffset;\\ncameraCornerPos.y += yOffset;\\nif( !ortho ){\\ncameraCornerPos.xyz += normalize( -cameraCornerPos.xyz ) * _zOffset;\\n}\\ngl_Position = projectionMatrix * cameraCornerPos;\\nvViewPosition = -cameraCornerPos.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n#include radiusclip_vertex\\n}\"),Ov.add(\"shader/SDFFont.frag\",\"uniform sampler2D fontTexture;\\nuniform float opacity;\\nuniform bool showBorder;\\nuniform vec3 borderColor;\\nuniform float borderWidth;\\nuniform vec3 backgroundColor;\\nuniform float backgroundOpacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\nvarying vec2 texCoord;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\n#ifdef SDF\\nconst float smoothness = 16.0;\\n#else\\nconst float smoothness = 256.0;\\n#endif\\nconst float gamma = 2.2;\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\nif( texCoord.x > 1.0 ){\\ngl_FragColor = vec4( backgroundColor, backgroundOpacity );\\n}else{\\nfloat sdf = texture2D( fontTexture, texCoord ).a;\\nif( showBorder ) sdf += borderWidth;\\nfloat w = clamp(\\nsmoothness * ( abs( dFdx( texCoord.x ) ) + abs( dFdy( texCoord.y ) ) ),\\n0.0,\\n0.5\\n);\\nfloat a = smoothstep( 0.5 - w, 0.5 + w, sdf );\\na = pow( a, 1.0 / gamma );\\nif( a < 0.2 ) discard;\\na *= opacity;\\nvec3 outgoingLight = vColor;\\nif( showBorder && sdf < ( 0.5 + borderWidth ) ){\\noutgoingLight = borderColor;\\n}\\ngl_FragColor = vec4( outgoingLight, a );\\n}\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\");var sy=function(){var t={};return function(e){var i=JSON.stringify(e);return void 0===t[i]&&(t[i]=new qs(e)),t[i]}}();qs.prototype={constructor:qs,build:function(){var t=this.size+2*this.outline+Math.round(this.size/4),e=this.width/4,i=document.createElement(\"canvas\");i.width=e,i.height=t;var n=i.getContext(\"2d\");n.font=this.style+\" \"+this.variant+\" \"+this.weight+\" \"+this.size+\"px \"+this.font,n.fillStyle=\"#FF0000\",n.textAlign=\"left\",n.textBaseline=\"bottom\",n.lineJoin=\"round\";for(var r=[],o=3*this.outline,a=0;athis.width&&(this.currentX=0,this.currentY+=this.scratchH),this.currentY+this.scratchH>this.height&&console.warn(\"canvas to small\"),this.mapped[t]={x:this.currentX,y:this.currentY,w:this.scratchW,h:this.scratchH},this.context2.drawImage(this.canvas,0,0,this.scratchW,this.scratchH,this.currentX,this.currentY,this.scratchW,this.scratchH),this.currentX+=this.scratchW),this.mapped[t]},draw:function(t){var e=this.lineHeight,i=this.outline,n=this.context,r=this.scratch,o=this.maxWidth,a=this.colors,s=i,c=e-this.outline,u=n.measureText(t),h=Math.min(o,Math.ceil(u.width+2*s+1));n.clearRect(0,0,h,e);var l,d,f,p,m;if(0===this.outline)for(n.fillText(t,s,c),p=n.getImageData(0,0,h,e),m=p.data,f=3,l=0,d=m.length/4;l0;--l)f=l>1?2*l-2:l,n.strokeStyle=a[f-1],n.lineWidth=f,n.strokeText(t,s,c);n.globalCompositeOperation=\"multiply\",n.fillStyle=\"#FF00FF\",n.fillText(t,s,c),p=n.getImageData(0,0,h,e),m=p.data,f=0;var g=this.gamma;for(l=0,d=m.length/4;l0&&(i-=h,r=r.subarray(0,3*i));var l=new Zv(s.count);return l.set_all(!0),{text:n,position:r,bondSet:l,bondStore:s}},getBondData:function(t,e,i){return t.getBondData(this.getBondParams(e,i))},create:function(){if(0!==this.structureView.atomCount){var t=this.atomPair.length;if(0!==t){var e=this.getDistanceData(this.structureView,this.atomPair),i=new Ct(this.labelColor);this.textBuffer=new Ys(e.position,Ir(t,this.labelSize),Lr(t,i.r,i.g,i.b),e.text,this.getBufferParams({fontFamily:this.fontFamily,fontStyle:this.fontStyle,fontWeight:this.fontWeight,sdf:this.sdf,zOffset:this.labelZOffset,opacity:1,visible:this.labelVisible}));var n={bondSet:e.bondSet,bondStore:e.bondStore},r=this.getBondData(this.structureView,void 0,n);this.cylinderBuffer=new Ya(r.position1,r.position2,r.color1,r.color2,r.radius,void 0,void 0,this.getBufferParams({openEnded:!1,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0})),this.dataList.push({sview:this.structureView,bondSet:e.bondSet,bondStore:e.bondStore,position:e.position,bufferList:[this.textBuffer,this.cylinderBuffer]})}}},update:function(t){t.position?this.build():hs.prototype.update.call(this,t)},updateData:function(t,e){var i={bondSet:e.bondSet,bondStore:e.bondStore},n=this.getBondData(e.sview,t,i),r={},o={},a=this.atomPair.length;if(t.labelSize&&(o.size=Ir(a,this.labelSize)),t.labelColor){var s=new Ct(this.labelColor);o.color=Lr(a,s.r,s.g,s.b)}t.color&&(r.color=n.color1,r.color2=n.color2),(t.radius||t.scale)&&(r.radius=n.radius),this.textBuffer.setAttributes(o),this.cylinderBuffer.setAttributes(r)},setVisibility:function(t,e){return hs.prototype.setVisibility.call(this,t,!0),this.textBuffer&&this.textBuffer.setVisibility(this.labelVisible&&this.visible),e||this.viewer.requestRender(),this},setParameters:function(t){var e=!1,i={};return t&&t.labelSize&&(i.labelSize=!0),t&&t.labelColor&&(i.labelColor=!0),hs.prototype.setParameters.call(this,t,i,e),t&&void 0!==t.labelVisible&&this.setVisibility(this.visible),this}}),Lv.add(\"distance\",Zs),Ks.prototype=Object.assign(Object.create(Oa.prototype),{constructor:Ks,setAttributes:function(t){var e,i,n,r=this.geometry.attributes;t.position&&t.vector&&(e=t.position,i=t.vector,n=r.position.array,r.position.needsUpdate=!0);var o,a,s=this.size,c=this.scale;if(t.position&&t.vector)for(var u=0;u radius2) {\\nspaceposition.y = mapping.y * 1.5 * radius1;\\nspaceposition.x = mapping.x * 1.5 * radius1;\\n} else {\\nspaceposition.y = mapping.y * 1.5 * radius2;\\nspaceposition.x = mapping.x * 1.5 * radius2;\\n}\\nspaceposition.w = 1.0;\\nvec4 e3 = vec4( 1.0 );\\nvec3 e1, e1_temp, e2, e2_temp;\\ne3.xyz = normalize(position_atom1-position_atom2);\\nif (e3.z == 0.0) { e3.z = 0.0000000000001;}\\nif ( (position_atom1.x - position_atom2.x) == 0.0) { position_atom1.x += 0.001;}\\nif ( (position_atom1.y - position_atom2.y) == 0.0) { position_atom1.y += 0.001;}\\nif ( (position_atom1.z - position_atom2.z) == 0.0) { position_atom1.z += 0.001;}\\nvec4 focus = vec4( 1.0 );\\nfocus.x = ( position_atom1.x*position_atom1.x - position_atom2.x*position_atom2.x +\\n( radius2*radius2 - radius1*radius1 )*e3.x*e3.x/shrink )/(2.0*(position_atom1.x - position_atom2.x));\\nfocus.y = ( position_atom1.y*position_atom1.y - position_atom2.y*position_atom2.y +\\n( radius2*radius2 - radius1*radius1 )*e3.y*e3.y/shrink )/(2.0*(position_atom1.y - position_atom2.y));\\nfocus.z = ( position_atom1.z*position_atom1.z - position_atom2.z*position_atom2.z +\\n( radius2*radius2 - radius1*radius1 )*e3.z*e3.z/shrink )/(2.0*(position_atom1.z - position_atom2.z));\\ne1.x = 1.0;\\ne1.y = 1.0;\\ne1.z = ( (e3.x*focus.x + e3.y*focus.y + e3.z*focus.z) - e1.x*e3.x - e1.y*e3.y)/e3.z;\\ne1_temp = e1 - focus.xyz;\\ne1 = normalize(e1_temp);\\ne2_temp = e1.yzx * e3.zxy - e1.zxy * e3.yzx;\\ne2 = normalize(e2_temp);\\nmat3 R= mat3( e1.xyz, e2.xyz, e3.xyz );\\nvertex_position.xyz = R * spaceposition.xyz;\\nvertex_position.w = 1.0;\\nvertex_position.x += (position_atom1.x+position_atom2.x) / 2.0;\\nvertex_position.y += (position_atom1.y+position_atom2.y) / 2.0;\\nvertex_position.z += (position_atom1.z+position_atom2.z) / 2.0;\\ngl_Position = modelViewProjectionMatrix * vertex_position;\\nvec4 i_near, i_far;\\nvec4 near = gl_Position;\\nnear.z = 0.0 ;\\nnear = modelViewProjectionMatrixInverse * near;\\ni_near = near;\\nvec4 far = gl_Position;\\nfar.z = far.w ;\\ni_far = modelViewProjectionMatrixInverse * far;\\nprime1 = vec4( position_atom1 - (position_atom1 - focus.xyz)*shrink, 1.0 );\\nprime2 = vec4( position_atom2 - (position_atom2 - focus.xyz)*shrink, 1.0 );\\nfloat Rsquare = (radius1*radius1/shrink) - (\\n(position_atom1.x - focus.x)*(position_atom1.x - focus.x) +\\n(position_atom1.y - focus.y)*(position_atom1.y - focus.y) +\\n(position_atom1.z - focus.z)*(position_atom1.z - focus.z)\\n);\\nfocus.w = Rsquare;\\nmatrix_near = mat4( i_near, i_far, focus, e3 );\\ngl_Position.z = 1.0;\\n}\"),Ov.add(\"shader/HyperballStickImpostor.frag\",\"#define STANDARD\\n#define IMPOSTOR\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float shrink;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 modelViewProjectionMatrix;\\nuniform mat4 modelViewMatrixInverseTranspose;\\nuniform mat4 projectionMatrix;\\nvarying mat4 matrix_near;\\nvarying vec4 prime1;\\nvarying vec4 prime2;\\nvarying float vRadius;\\nvarying float vRadius2;\\n#ifdef PICKING\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\nvarying vec3 vPickingColor2;\\n#else\\nvarying vec3 vColor1;\\nvarying vec3 vColor2;\\n#include common\\n#include fog_pars_fragment\\n#include bsdfs\\n#include lights_pars\\n#include lights_physical_pars_fragment\\n#endif\\nbool interior = false;\\nfloat calcClip( vec4 cameraPos ){\\nreturn dot( cameraPos, vec4( 0.0, 0.0, 1.0, nearClip - 0.5 ) );\\n}\\nfloat calcClip( vec3 cameraPos ){\\nreturn calcClip( vec4( cameraPos, 1.0 ) );\\n}\\nfloat calcDepth( in vec3 cameraPos ){\\nvec2 clipZW = cameraPos.z * projectionMatrix[2].zw + projectionMatrix[3].zw;\\nreturn 0.5 + 0.5 * clipZW.x / clipZW.y;\\n}\\nstruct Ray {\\nvec3 origin ;\\nvec3 direction ;\\n};\\nbool cutoff_plane (vec3 M, vec3 cutoff, vec3 x3){\\nfloat a = x3.x;\\nfloat b = x3.y;\\nfloat c = x3.z;\\nfloat d = -x3.x*cutoff.x-x3.y*cutoff.y-x3.z*cutoff.z;\\nfloat l = a*M.x+b*M.y+c*M.z+d;\\nif (l<0.0) {return true;}\\nelse{return false;}\\n}\\nvec3 isect_surf(Ray r, mat4 matrix_coef){\\nvec4 direction = vec4(r.direction, 0.0);\\nvec4 origin = vec4(r.origin, 1.0);\\nfloat a = dot(direction,(matrix_coef*direction));\\nfloat b = dot(origin,(matrix_coef*direction));\\nfloat c = dot(origin,(matrix_coef*origin));\\nfloat delta =b*b-a*c;\\ngl_FragColor.a = 1.0;\\nif (delta<0.0){\\ndiscard;\\n}\\nfloat t1 =(-b-sqrt(delta))/a;\\nreturn r.origin+t1*r.direction;\\n}\\nvec3 isect_surf2(Ray r, mat4 matrix_coef){\\nvec4 direction = vec4(r.direction, 0.0);\\nvec4 origin = vec4(r.origin, 1.0);\\nfloat a = dot(direction,(matrix_coef*direction));\\nfloat b = dot(origin,(matrix_coef*direction));\\nfloat c = dot(origin,(matrix_coef*origin));\\nfloat delta =b*b-a*c;\\ngl_FragColor.a = 1.0;\\nif (delta<0.0){\\ndiscard;\\n}\\nfloat t2 =(-b+sqrt(delta))/a;\\nreturn r.origin+t2*r.direction;\\n}\\nRay primary_ray(vec4 near1, vec4 far1){\\nvec3 near=near1.xyz/near1.w;\\nvec3 far=far1.xyz/far1.w;\\nreturn Ray(near,far-near);\\n}\\nfloat update_z_buffer(vec3 M, mat4 ModelViewP){\\nfloat depth1;\\nvec4 Ms=(ModelViewP*vec4(M,1.0));\\nreturn depth1=(1.0+Ms.z/Ms.w)/2.0;\\n}\\nvoid main(){\\nfloat radius = max( vRadius, vRadius2 );\\nvec4 i_near, i_far, focus;\\nvec3 e3, e1, e1_temp, e2;\\ni_near = vec4(matrix_near[0][0],matrix_near[0][1],matrix_near[0][2],matrix_near[0][3]);\\ni_far = vec4(matrix_near[1][0],matrix_near[1][1],matrix_near[1][2],matrix_near[1][3]);\\nfocus = vec4(matrix_near[2][0],matrix_near[2][1],matrix_near[2][2],matrix_near[2][3]);\\ne3 = vec3(matrix_near[3][0],matrix_near[3][1],matrix_near[3][2]);\\ne1.x = 1.0;\\ne1.y = 1.0;\\ne1.z = ( (e3.x*focus.x + e3.y*focus.y + e3.z*focus.z) - e1.x*e3.x - e1.y*e3.y)/e3.z;\\ne1_temp = e1 - focus.xyz;\\ne1 = normalize(e1_temp);\\ne2 = normalize(cross(e1,e3));\\nvec4 equation = focus;\\nfloat shrinkfactor = shrink;\\nfloat t1 = -1.0/(1.0-shrinkfactor);\\nfloat t2 = 1.0/(shrinkfactor);\\nvec4 colonne1, colonne2, colonne3, colonne4;\\nmat4 mat;\\nvec3 equation1 = vec3(t2,t2,t1);\\nfloat A1 = - e1.x*equation.x - e1.y*equation.y - e1.z*equation.z;\\nfloat A2 = - e2.x*equation.x - e2.y*equation.y - e2.z*equation.z;\\nfloat A3 = - e3.x*equation.x - e3.y*equation.y - e3.z*equation.z;\\nfloat A11 = equation1.x*e1.x*e1.x + equation1.y*e2.x*e2.x + equation1.z*e3.x*e3.x;\\nfloat A21 = equation1.x*e1.x*e1.y + equation1.y*e2.x*e2.y + equation1.z*e3.x*e3.y;\\nfloat A31 = equation1.x*e1.x*e1.z + equation1.y*e2.x*e2.z + equation1.z*e3.x*e3.z;\\nfloat A41 = equation1.x*e1.x*A1 + equation1.y*e2.x*A2 + equation1.z*e3.x*A3;\\nfloat A22 = equation1.x*e1.y*e1.y + equation1.y*e2.y*e2.y + equation1.z*e3.y*e3.y;\\nfloat A32 = equation1.x*e1.y*e1.z + equation1.y*e2.y*e2.z + equation1.z*e3.y*e3.z;\\nfloat A42 = equation1.x*e1.y*A1 + equation1.y*e2.y*A2 + equation1.z*e3.y*A3;\\nfloat A33 = equation1.x*e1.z*e1.z + equation1.y*e2.z*e2.z + equation1.z*e3.z*e3.z;\\nfloat A43 = equation1.x*e1.z*A1 + equation1.y*e2.z*A2 + equation1.z*e3.z*A3;\\nfloat A44 = equation1.x*A1*A1 + equation1.y*A2*A2 + equation1.z*A3*A3 - equation.w;\\ncolonne1 = vec4(A11,A21,A31,A41);\\ncolonne2 = vec4(A21,A22,A32,A42);\\ncolonne3 = vec4(A31,A32,A33,A43);\\ncolonne4 = vec4(A41,A42,A43,A44);\\nmat = mat4(colonne1,colonne2,colonne3,colonne4);\\nRay ray = primary_ray(i_near,i_far) ;\\nvec3 M;\\nM = isect_surf(ray, mat);\\nif (cutoff_plane(M, prime1.xyz, -e3) || cutoff_plane(M, prime2.xyz, e3)){ discard; }\\nvec4 M1 = vec4(M,1.0);\\nvec4 M2 = mat*M1;\\nvec3 _normal = ( modelViewMatrixInverseTranspose * M2 ).xyz;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\n#ifdef NEAR_CLIP\\nif( calcClip( modelViewMatrix * vec4( M, 1.0 ) ) > 0.0 ){\\nM = isect_surf2(ray, mat);\\nif( calcClip( modelViewMatrix * vec4( M, 1.0 ) ) > 0.0 )\\ndiscard;\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / radius ) );\\n}\\n}else if( gl_FragDepthEXT <= 0.0 ){\\nM = isect_surf2(ray, mat);\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix);\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / radius );\\n}\\n}\\n#else\\nif( gl_FragDepthEXT <= 0.0 ){\\nM = isect_surf2(ray, mat);\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / radius );\\n}\\n}\\n#endif\\nif (cutoff_plane(M, prime1.xyz, -e3) || cutoff_plane(M, prime2.xyz, e3)){ discard; }\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\nfloat distance_ratio = ((M.x-prime2.x)*e3.x + (M.y-prime2.y)*e3.y +(M.z-prime2.z)*e3.z) /\\ndistance(prime2.xyz,prime1.xyz);\\n#ifdef PICKING\\nif( distance_ratio > 0.5 ){\\ngl_FragColor = vec4( vPickingColor, objectId );\\n}else{\\ngl_FragColor = vec4( vPickingColor2, objectId );\\n}\\n#else\\nvec3 vViewPosition = -( modelViewMatrix * vec4( M, 1.0 ) ).xyz;\\nvec3 vNormal = _normal;\\nvec3 vColor;\\nif( distance_ratio>0.5 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\nvec3 normal = normalize( vNormal );\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\"),\ntc.prototype=Object.assign(Object.create(Ua.prototype),{constructo:tc});var cy=new O;ic.prototype=Object.assign(Object.create(tc.prototype),{constructor:ic,parameters:Object.assign({shrink:{uniform:!0}},tc.prototype.parameters)}),rc.prototype=Object.assign(Object.create(Js.prototype),{constructor:rc,type:\"hyperball\",defaultSize:1,parameters:Object.assign({shrink:{type:\"number\",precision:3,max:1,min:.001,buffer:!0}},Js.prototype.parameters,{multipleBond:null,bondSpacing:null}),init:function(t){var e=t||{};e.scale=d(e.scale,.2),e.radius=d(e.radius,\"vdw\"),this.shrink=d(e.shrink,.12),Js.prototype.init.call(this,e)},getBondParams:function(t,e){return t&&!t.radius||(e=Object.assign({radius2:!0},e)),Js.prototype.getBondParams.call(this,t,e)},createData:function(t){var e=t.getAtomData(this.getAtomParams()),i=t.getBondData(this.getBondParams()),n=new Va(e.position,e.color,e.radius,e.pickingColor,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0}));this.__center=new Float32Array(3*t.bondCount);var r=new nc(i.position1,i.position2,i.color1,i.color2,i.radius1,i.radius2,i.pickingColor1,i.pickingColor2,this.getBufferParams({shrink:this.shrink,radialSegments:this.radialSegments,dullInterior:!0}),this.disableImpostor);return{bufferList:[n,r]}},updateData:function(t,e){var i=e.sview.getAtomData(this.getAtomParams()),n=e.sview.getBondData(this.getBondParams()),r={},o={};if(!t||t.position){r.position=i.position;var a=n.position1,s=n.position2;o.position=Er(a,s,this.__center),o.position1=a,o.position2=s}t&&!t.color||(r.color=i.color,o.color=n.color1,o.color2=n.color2),t&&!t.radius||(r.radius=i.radius,o.radius=n.radius1,o.radius2=n.radius2),e.bufferList[0].setAttributes(r),e.bufferList[1].setAttributes(o)}}),Lv.add(\"hyperball\",rc),oc.prototype={constructor:oc,atomLabel:function(t){var e,i=this.type;switch(i){case\"atomname\":e=t.atomname;break;case\"atomindex\":e=\"\"+t.index;break;case\"occupancy\":e=t.occupancy.toFixed(2);break;case\"bfactor\":e=t.bfactor.toFixed(2);break;case\"serial\":e=\"\"+t.serial;break;case\"element\":e=t.element;break;case\"atom\":e=t.atomname+\"|\"+t.index;break;case\"resname\":e=t.resname;break;case\"resno\":e=\"\"+t.resno;break;case\"res\":var n=t.resname.toUpperCase();e=(Om[n]||n)+t.resno;break;case\"text\":e=this.text[t.index];break;default:e=t.qualifiedName()}return void 0===e?\"\":e}},oc.types={\"\":\"\",atomname:\"atom name\",atomindex:\"atom index\",occupancy:\"occupancy\",bfactor:\"b-factor\",serial:\"serial\",element:\"element\",atom:\"atom name + index\",resname:\"residue name\",resno:\"residue no\",res:\"residue name + no\",text:\"text\",qualified:\"qualified name\"},ac.prototype=Object.assign(Object.create(hs.prototype),{constructor:ac,type:\"label\",parameters:Object.assign({labelType:{type:\"select\",options:oc.types,rebuild:!0},labelText:{type:\"hidden\",rebuild:!0},fontFamily:{type:\"select\",options:{\"sans-serif\":\"sans-serif\",monospace:\"monospace\",serif:\"serif\"},buffer:!0},fontStyle:{type:\"select\",options:{normal:\"normal\",italic:\"italic\"},buffer:!0},fontWeight:{type:\"select\",options:{normal:\"normal\",bold:\"bold\"},buffer:!0},sdf:{type:\"boolean\",buffer:!0},xOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},yOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},zOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},attachment:{type:\"select\",options:{\"bottom-left\":\"bottom-left\",\"bottom-center\":\"bottom-center\",\"bottom-right\":\"bottom-right\",\"middle-left\":\"middle-left\",\"middle-center\":\"middle-center\",\"middle-right\":\"middle-right\",\"top-left\":\"top-left\",\"top-center\":\"top-center\",\"top-right\":\"top-right\"},rebuild:!0},showBorder:{type:\"boolean\",buffer:!0},borderColor:{type:\"color\",buffer:!0},borderWidth:{type:\"number\",precision:2,max:.3,min:0,buffer:!0},showBackground:{type:\"boolean\",rebuild:!0},backgroundColor:{type:\"color\",buffer:!0},backgroundMargin:{type:\"number\",precision:2,max:2,min:0,rebuild:!0},backgroundOpacity:{type:\"range\",step:.01,max:1,min:0,buffer:!0}},hs.prototype.parameters,{side:null,flatShaded:null,wireframe:null,linewidth:null,roughness:null,metalness:null,diffuse:null}),init:function(t){var e=t||{};this.labelType=d(e.labelType,\"res\"),this.labelText=d(e.labelText,{}),this.fontFamily=d(e.fontFamily,\"sans-serif\"),this.fontStyle=d(e.fontStyle,\"normal\"),this.fontWeight=d(e.fontWeight,\"bold\"),this.sdf=d(e.sdf,\"Chrome\"===_v),this.xOffset=d(e.xOffset,0),this.yOffset=d(e.yOffset,0),this.zOffset=d(e.zOffset,.5),this.attachment=d(e.attachment,\"bottom-left\"),this.showBorder=d(e.showBorder,!1),this.borderColor=d(e.borderColor,\"lightgrey\"),this.borderWidth=d(e.borderWidth,.15),this.showBackground=d(e.showBackground,!1),this.backgroundColor=d(e.backgroundColor,\"lightgrey\"),this.backgroundMargin=d(e.backgroundMargin,.5),this.backgroundOpacity=d(e.backgroundOpacity,1),hs.prototype.init.call(this,e)},createData:function(t){var e={position:!0,color:!0,radius:!0},i=t.getAtomData(this.getAtomParams(e)),n=[],r=new oc(this.labelType,this.labelText);t.eachAtom(function(t){n.push(r.atomLabel(t))});var o=new Ys(i.position,i.radius,i.color,n,this.getBufferParams({fontFamily:this.fontFamily,fontStyle:this.fontStyle,fontWeight:this.fontWeight,sdf:this.sdf,xOffset:this.xOffset,yOffset:this.yOffset,zOffset:this.zOffset,attachment:this.attachment,showBorder:this.showBorder,borderColor:this.borderColor,borderWidth:this.borderWidth,showBackground:this.showBackground,backgroundColor:this.backgroundColor,backgroundMargin:this.backgroundMargin,backgroundOpacity:this.backgroundOpacity}));return{bufferList:[o]}},updateData:function(t,e){var i=e.sview.getAtomData(this.getAtomParams(t)),n={};t&&!t.position||(n.position=i.position),t&&!t.radius||(n.size=i.radius),t&&!t.color||(n.color=i.color),e.bufferList[0].setAttributes(n)}}),Lv.add(\"label\",ac),sc.prototype=Object.assign(Object.create(hs.prototype),{constructor:sc,type:\"line\",parameters:Object.assign({multipleBond:{type:\"select\",rebuild:!0,options:{off:\"off\",symmetric:\"symmetric\",offset:\"offset\"}},bondSpacing:{type:\"number\",precision:2,max:2,min:.5}},ts.prototype.parameters,{flatShaded:null,side:null,wireframe:null,roughness:null,metalness:null,diffuse:null}),init:function(t){var e=t||{};this.multipleBond=d(e.multipleBond,\"off\"),this.bondSpacing=d(e.bondSpacing,1),hs.prototype.init.call(this,e)},getBondParams:function(t,e){return e=Object.assign({multipleBond:this.multipleBond,bondSpacing:this.bondSpacing,radiusParams:{radius:.1,scale:1}},e),hs.prototype.getBondParams.call(this,t,e)},createData:function(t){var e={position:!0,color:!0},i=t.getBondData(this.getBondParams(e)),n=new ls(i.position1,i.position2,i.color1,i.color2,this.getBufferParams());return{bufferList:[n]}},updateData:function(t,e){var i=e.sview.getBondData(this.getBondParams(t)),n={};t&&!t.position||(n.from=i.position1,n.to=i.position2),t&&!t.color||(n.color=i.color1,n.color2=i.color2),e.bufferList[0].setAttributes(n)},setParameters:function(t){var e=!1,i={};return t&&t.bondSpacing&&(i.position=!0),hs.prototype.setParameters.call(this,t,i,e),this}}),Lv.add(\"line\",sc),uc.__deps=[Aa,Sa,Ma,Hr,cc],lc.__deps=[Aa,Ma,Ir,Hr,eo,Zr,io,hc,d],Tv.add(\"molsurf\",function(t,e){var i=t.data.args,n=t.data.params;if(i&&n){var r=\"av\"===n.type?lc:uc,o=new r(i.coordList,i.radiusList,i.indexList),a=o.getSurface(n.type,n.probeRadius,n.scaleFactor,n.cutoff,!0,n.smooth,n.contour),s=[a.position.buffer,a.index.buffer];a.normal&&s.push(a.normal.buffer),a.atomindex&&s.push(a.atomindex.buffer),e({sd:a,p:n},s)}},[uc,lc]),dc.prototype={getAtomData:function(){return this.structure.getAtomData({what:{position:!0,radius:!0,index:!0},radiusParams:{radius:\"vdw\",scale:1}})},makeSurface:function(t,e){var i=new pa(\"\",\"\",t);return i.info.type=e.type,i.info.probeRadius=e.probeRadius,i.info.scaleFactor=e.scaleFactor,i.info.smooth=e.smooth,i.info.cutoff=e.cutoff,i},getSurface:function(t){var e=t||{},i=this.getAtomData(),n=i.position,r=i.radius,o=i.index,a=\"av\"===e.type?lc:uc,s=new a(n,r,o),c=s.getSurface(e.type,e.probeRadius,e.scaleFactor,e.cutoff,!0,e.smooth,e.contour);return this.makeSurface(c,e)},getSurfaceWorker:function(t,e){var i=Object.assign({},t);if(window.Worker){void 0===this.worker&&(this.worker=new ma(\"molsurf\"));var n=this.getAtomData(),r=n.position,o=n.radius,a=n.index,s={args:{coordList:r,radiusList:o,indexList:a},params:i},c=[r.buffer,o.buffer,a.buffer];this.worker.post(s,c,function(t){var n=t.data.sd;e(this.makeSurface(n,i))}.bind(this),function(t){console.warn(\"MolecularSurface.getSurfaceWorker error - trying without worker\",t),this.worker.terminate(),this.worker=void 0;var n=this.getSurface(i);e(n)}.bind(this))}else{var u=this.getSurface(i);e(u)}},dispose:function(){this.worker&&this.worker.terminate()}},fc.prototype=Object.assign(Object.create(Oa.prototype),{constructor:fc,setAttributes:function(t){var e=this.geometry.attributes;t.color&&(e.color.array.set(t.color),e.color.needsUpdate=!0),t.index&&(e.index.array.set(t.index),e.index.needsUpdate=!0)}}),pc.prototype=Object.assign(Object.create(hs.prototype),{constructor:pc,type:\"surface\",parameters:Object.assign({surfaceType:{type:\"select\",rebuild:!0,options:{vws:\"vws\",sas:\"sas\",ms:\"ms\",ses:\"ses\",av:\"av\"}},probeRadius:{type:\"number\",precision:1,max:20,min:0,rebuild:!0},smooth:{type:\"integer\",precision:1,max:10,min:0,rebuild:!0},scaleFactor:{type:\"number\",precision:1,max:5,min:0,rebuild:!0},cutoff:{type:\"number\",precision:2,max:50,min:0,rebuild:!0},contour:{type:\"boolean\",rebuild:!0},background:{type:\"boolean\",rebuild:!0},opaqueBack:{type:\"boolean\",buffer:!0},filterSele:{type:\"text\",rebuild:!0},volume:{type:\"hidden\"},useWorker:{type:\"boolean\",rebuild:!0}},hs.prototype.parameters,{radiusType:null,radius:null,scale:null}),init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"uniform\"),e.colorValue=d(e.colorValue,14540253),this.surfaceType=d(e.surfaceType,\"ms\"),this.probeRadius=d(e.probeRadius,1.4),this.smooth=d(e.smooth,2),this.scaleFactor=d(e.scaleFactor,2),this.cutoff=d(e.cutoff,0),this.contour=d(e.contour,!1),this.background=d(e.background,!1),this.opaqueBack=d(e.opaqueBack,!0),this.filterSele=d(e.filterSele,\"\"),this.volume=d(e.volume,void 0),this.useWorker=d(e.useWorker,!0),hs.prototype.init.call(this,t)},prepareData:function(t,e,i){var n=this.__infoList[e];if(n||(n={},this.__infoList[e]=n),n.molsurf&&n.sele===t.selection.string)i(e);else{if(this.filterSele){var r=t.structure.getView(new On(this.filterSele)),o=r.boundingBox.size(),a=Math.max(o.x,o.y,o.z),s=t.getAtomSetWithinPoint(r.center,a/2);t=t.getView(new On(t.getAtomSetWithinSelection(s,3).toSeleString()))}n.sele=t.selection.string,n.molsurf=new dc(t);var c=this.getSurfaceParams(),u=function(t){n.surface=t,i(e)};this.useWorker?n.molsurf.getSurfaceWorker(c,u):u(n.molsurf.getSurface(c))}},prepare:function(t){if((this.__forceNewMolsurf||this.__sele!==this.selection.string||this.__surfaceParams!==JSON.stringify(this.getSurfaceParams()))&&(this.__infoList.forEach(function(t){t.molsurf.dispose()}.bind(this)),this.__infoList.length=0),0===this.structureView.atomCount)return void t();var e=function(){this.__sele=this.selection.string,this.__surfaceParams=JSON.stringify(this.getSurfaceParams()),this.__forceNewMolsurf=!1,t()}.bind(this),i=\"default\"===this.assembly?this.defaultAssembly:this.assembly,n=this.structure.biomolDict[i];n?n.partList.forEach(function(t,i){var r=t.getView(this.structureView);this.prepareData(r,i,function(t){t===n.partList.length-1&&e()}.bind(this))},this):this.prepareData(this.structureView,0,e)},createData:function(t,e){var i=this.__infoList[e],n=i.surface.getPosition(),r=i.surface.getColor(this.getColorParams()),o=i.surface.getFilteredIndex(this.filterSele,t);if(i.surface.contour){var a=new fc(n,r,o,this.getBufferParams({wireframe:!1}));return{bufferList:[a],info:i}}var s=new is(n,r,o,i.surface.getNormal(),i.surface.getPickingColor(this.getColorParams()),this.getBufferParams({background:this.background,opaqueBack:this.opaqueBack,dullInterior:!1})),c=new ns(s);return{bufferList:[c],info:i}},updateData:function(t,e){var i={};return t.position?(this.__forceNewMolsurf=!0,void this.build()):(t.color&&(i.color=e.info.surface.getColor(this.getColorParams())),t.index&&(i.index=e.info.surface.getFilteredIndex(this.filterSele,e.sview)),void e.bufferList[0].setAttributes(i))},setParameters:function(t,e,i){return e=e||{},t&&t.filterSele&&(e.index=!0),t&&void 0!==t.volume&&(e.color=!0),t&&t.wireframe&&(t.contour||void 0===t.contour&&this.contour)&&(t.wireframe=!1),hs.prototype.setParameters.call(this,t,e,i),this},getSurfaceParams:function(t){var e=Object.assign({type:this.surfaceType,probeRadius:this.probeRadius,scaleFactor:this.scaleFactor,smooth:this.smooth&&!this.contour,cutoff:this.cutoff,contour:this.contour,useWorker:this.useWorker},t);return e},getColorParams:function(){var t=hs.prototype.getColorParams.call(this);return t.volume=this.volume,t},clear:function(){hs.prototype.clear.call(this)},dispose:function(){this.__infoList.forEach(function(t){t.molsurf.dispose()}.bind(this)),this.__infoList.length=0,hs.prototype.dispose.call(this)}}),Lv.add(\"surface\",pc),mc.prototype=Object.assign(Object.create(hs.prototype),{constructor:mc,type:\"point\",parameters:Object.assign({pointSize:{type:\"number\",precision:1,max:100,min:0,buffer:!0},sizeAttenuation:{type:\"boolean\",buffer:!0},sortParticles:{type:\"boolean\",rebuild:!0},useTexture:{type:\"boolean\",buffer:!0},alphaTest:{type:\"range\",step:.001,max:1,min:0,buffer:!0},forceTransparent:{type:\"boolean\",buffer:!0},edgeBleach:{type:\"range\",step:.001,max:1,min:0,buffer:!0}},ts.prototype.parameters,{flatShaded:null,wireframe:null,linewidth:null,roughness:null,metalness:null}),init:function(t){var e=t||{};this.pointSize=d(e.pointSize,1),this.sizeAttenuation=d(e.sizeAttenuation,!0),this.sortParticles=d(e.sortParticles,!1),this.useTexture=d(e.useTexture,!1),this.alphaTest=d(e.alphaTest,.5),this.forceTransparent=d(e.forceTransparent,!1),this.edgeBleach=d(e.edgeBleach,0),hs.prototype.init.call(this,e)},createData:function(t){var e={position:!0,color:!0},i=t.getAtomData(this.getAtomParams(e)),n=new as(i.position,i.color,this.getBufferParams({pointSize:this.pointSize,sizeAttenuation:this.sizeAttenuation,sortParticles:this.sortParticles,useTexture:this.useTexture,alphaTest:this.alphaTest,forceTransparent:this.forceTransparent,edgeBleach:this.edgeBleach}));return{bufferList:[n]}},updateData:function(t,e){var i=e.sview.getAtomData(this.getAtomParams(t)),n={};t&&!t.position||(n.position=i.position),t&&!t.color||(n.color=i.color),e.bufferList[0].setAttributes(n)}}),Lv.add(\"point\",mc),Ov.add(\"shader/Ribbon.vert\",\"#define STANDARD\\nuniform float nearClip;\\nuniform vec3 clipCenter;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nattribute vec3 dir;\\nattribute float size;\\n#ifdef PICKING\\nattribute vec3 pickingColor;\\nvarying vec3 vPickingColor;\\n#else\\n#include color_pars_vertex\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#endif\\n#include common\\nvoid main(void){\\n#ifdef PICKING\\nvPickingColor = pickingColor;\\n#else\\n#include color_vertex\\n#include beginnormal_vertex\\n#include defaultnormal_vertex\\n#ifndef FLAT_SHADED\\nvNormal = normalize( transformedNormal );\\n#endif\\n#endif\\n#include begin_vertex\\ntransformed += normalize( dir ) * size;\\n#include project_vertex\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),gc.prototype=Object.assign(Object.create(Oa.prototype),{constructor:gc,setAttributes:function(t){var e,i,n,r,o,a,s,c,u,h,l,d,f=this.size,p=f/4,m=this.geometry.attributes;t.position&&(e=t.position,s=m.position.array,m.position.needsUpdate=!0),t.normal&&(i=t.normal,c=m.normal.array,m.normal.needsUpdate=!0),t.size&&(n=t.size,u=m.size.array,m.size.needsUpdate=!0),t.dir&&(r=t.dir,h=m.dir.array,m.dir.needsUpdate=!0),t.color&&(o=t.color,l=m.color.array,m.color.needsUpdate=!0),t.pickingColor&&(a=t.pickingColor,d=m.pickingColor.array,m.pickingColor.needsUpdate=!0);var g,v,y,b,x,w,_,S=n?n[0]:null;for(g=0;g_)continue}f=T.substr(5,5).trim(),p=parseInt(T.substr(0,5)),m=parseInt(T.substr(15,5)),A.growIfFull(),A.atomTypeId[M]=S.add(d),A.x[M]=L,A.y[M]=R,A.z[M]=O,A.serial[M]=m,o.addAtom(P,\"\",\"\",f,p,0,\"l\"),M+=1}}}t.Debug&&Pv.time(\"GroParser._parse \"+this.name);var i,n,r=this.structure,o=this.structureBuilder,a=this.firstModelOnly,s=this.asTrajectory,c=this.cAlphaOnly,u=r.frames,h=r.boxes,l=this.streamer.peekLines(3);r.title=l[0].trim();var d,f,p,m,g=l[2].length-l[2].lastIndexOf(\".\")-1,v=5+g,y=20,b=20+v,x=20+2*v,w=parseInt(l[1]),_=w+3,S=r.atomMap,A=r.atomStore;A.resize(w);var M=0,P=0,C=0;this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),r.unitcell=new Tc(h[0][0],h[0][4],h[0][8],90,90,90,\"P 1\"),o.finalize(),r.finalizeAtoms(),Yo(r),Zo(r),r.finalizeBonds(),ey(r),ea(r),t.Debug&&Pv.timeEnd(\"GroParser._parse \"+this.name)}}),Rv.add(\"gro\",Ec),Lc.prototype={constructor:Lc,type:\"Entity\",getEntityType:function(){return this.entityType},isPolymer:function(){return this.entityType===im},isNonPolymer:function(){return this.entityType===nm},isMacrolide:function(){return this.entityType===rm},isWater:function(){return this.entityType===om},eachChain:function(t){var e=this.structure.getChainProxy();this.chainIndexList.forEach(function(i){e.index=i,t(e)})}};var uy={1:\"h\",2:\"h\",3:\"i\",4:\"h\",5:\"g\",6:\"h\",7:\"h\",8:\"h\",9:\"h\",10:\"h\",\"\":\"h\"};Rc.prototype=Object.assign(Object.create(Cc.prototype),{constructor:Rc,type:\"pdb\",_parse:function(){function e(t,e,J){for(var ut,ht,lt=t;lt0)continue;var dt,ft,pt,mt,gt;if(N){if(mt=s.split(k),gt=10===mt.length?1:0,m=mt[2],j&&\"CA\"!==m)continue;dt=parseFloat(mt[6-gt]),ft=parseFloat(mt[7-gt]),pt=parseFloat(mt[8-gt])}else{if(m=s.substr(12,4).trim(),j&&\"CA\"!==m)continue;dt=parseFloat(s.substr(30,8)),ft=parseFloat(s.substr(38,8)),pt=parseFloat(s.substr(46,8))}if(U&&(ut=3*n,i[ut+0]=dt,i[ut+1]=ft,i[ut+2]=pt,n+=1,G))continue;var vt;N?(u=parseInt(mt[1]),vt=\"\",g=\"H\"===s[0]?1:0,h=gt?\"\":mt[4],l=parseInt(mt[5-gt]),p=\"\",d=mt[3],v=parseFloat(mt[9-gt]),y=\"\",f=0):(u=parseInt(s.substr(6,5)),vt=s.substr(76,2).trim(),g=\"H\"===s[0]?1:0,h=s[21].trim()||s.substr(72,4).trim(),l=parseInt(s.substr(22,4)),p=s[26].trim(),d=s.substr(17,4).trim(),v=parseFloat(s.substr(60,6)),y=s[16].trim(),f=parseFloat(s.substr(54,6))),nt.growIfFull(),nt.atomTypeId[at]=it.add(m,vt),nt.x[at]=dt,nt.y[at]=ft,nt.z[at]=pt,nt.serial[at]=u,nt.bfactor[at]=isNaN(v)?0:v,nt.altloc[at]=y.charCodeAt(0),nt.occupancy[at]=isNaN(f)?0:f,g?I===h&&R===d&&(zm.includes(d)||L===l&&D===p)||(C+=1,T=C.toString(),L=l,R=d,D=p):E||I===h||(C+=1,T=C.toString()),z.addAtom(st,h,T,d,l,g,void 0,p),W[u]=at,at+=1,E=!1,I=h}else if(\"CONECT\"===c){var yt=W[parseInt(s.substr(6,5))],bt=[11,16,21,26],xt={};if(void 0===yt)continue;for(ut=0;ut<4;++ut){var wt=parseInt(s.substr(bt[ut],5));if(!Number.isNaN(wt)&&(wt=W[wt],void 0!==wt))if(yt0)continue;var at=rt[c].replace(dy,\"\");if(C&&\"CA\"!==at)continue;var st=parseFloat(rt[y]),ct=parseFloat(rt[b]),ut=parseFloat(rt[x]);if(P){var ht=3*n;if(i[ht+0]=st,i[ht+1]=ct,i[ht+2]=ut,n+=1,X>0)continue}var lt=rt[u],dt=parseInt(rt[s]),ft=rt[v];ft=\"?\"===ft?\"\":ft;var pt=rt[a],mt=rt[h],gt=\"H\"===rt[f][0]?1:0,vt=rt[m],yt=parseFloat(rt[w]),bt=parseFloat(rt[_]),xt=rt[d];if(xt=\".\"===xt?\"\":xt,G.growIfFull(),G.atomTypeId[W]=V.add(at,vt),G.x[W]=st,G.y[W]=ct,G.z[W]=ut,G.serial[W]=parseInt(rt[p]),G.bfactor[W]=isNaN(yt)?0:yt,G.occupancy[W]=isNaN(bt)?0:bt,G.altloc[W]=xt.charCodeAt(0),A.addAtom(X,pt,mt,lt,dt,gt,void 0,ft),t.Debug){var wt=I[mt];void 0!==wt&&wt!==pt&&Pv.warn(wt,pt)}I[mt]=pt;var _t=rt[l];L[_t]||(L[_t]=new Set),L[_t].add(S.chainStore.count-1),W+=1}else{rt=o.match(ly),nt=rt.length,z===F.length&&(z=0);for(var St=0;St0&&(h=!0))),_>=m&&_0)continue;var C=parseFloat(P.substr(0,10)),T=parseFloat(P.substr(10,10)),E=parseFloat(P.substr(20,10));if(o){var I=3*c;if(s[I+0]=C,s[I+1]=T,s[I+2]=E,c+=1,h)continue}var L=P.substr(31,3).trim(),R=L+(w+1);d.growIfFull(),d.atomTypeId[w]=l.add(R,L),d.x[w]=C,d.y[w]=T,d.z[w]=E,d.serial[w]=w,n.addAtom(S,\"\",\"\",\"HET\",1,1),w+=1}if(_>=v&&_0)continue;if(o&&S>0)continue;b.index=parseInt(P.substr(0,3))-1+A,x.index=parseInt(P.substr(3,3))-1+A;var O=parseInt(P.substr(6,3));i.bondStore.addBond(b,x,O)}++_}}t.Debug&&Pv.time(\"SdfParser._parse \"+this.name);var i=this.structure,n=this.structureBuilder,r=this.firstModelOnly,o=this.asTrajectory,a=this.streamer.peekLines(2);i.id=a[0].trim(),i.title=a[1].trim();var s,c,u=i.frames,h=!1,l=i.atomMap,d=i.atomStore;d.resize(Math.round(this.streamer.data.length/50));var f,p,m,g,v,y,b=i.getAtomProxy(),x=i.getAtomProxy(),w=0,_=0,S=0,A=0;this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),n.finalize(),i.finalizeAtoms(),i.finalizeBonds(),ia(i),t.Debug&&Pv.timeEnd(\"SdfParser._parse \"+this.name)},_postProcess:function(){ia(this.structure)}}),Rv.add(\"sdf\",Gc),Hc.prototype=Object.assign(Object.create(Cc.prototype),{constructor:Hc,type:\"mol2\",_parse:function(){function e(t,e,M){for(var P,C=t;CMOLECULE\"===T?(y=b,p=0,++g):\"@ATOM\"===T?(y=x,m=d.count,c&&(n=0,i=new Float32Array(3*v),u.push(i),g>0&&(h=!0))):y=\"@BOND\"===T?w:0;else if(y===b)0===p?(o.title=T,o.id=T):1===p&&(P=T.split(r),v=parseInt(P[0])),++p;else if(y===x){if(P=T.split(r),s&&g>0)continue;var E=parseFloat(P[2]),I=parseFloat(P[3]),L=parseFloat(P[4]);if(c){var R=3*n;if(i[R+0]=E,i[R+1]=I,i[R+2]=L,n+=1,h)continue}var O=P[0],D=P[1],N=P[5].split(\".\")[0],k=P[6]?parseInt(P[6]):1,F=P[7]?P[7]:\"\",z=P[8]?parseFloat(P[8]):0;d.growIfFull(),d.atomTypeId[f]=l.add(D,N),d.x[f]=E,d.y[f]=I,d.z[f]=L,d.serial[f]=O,d.bfactor[f]=z,a.addAtom(g,\"\",\"\",F,k,1),f+=1}else if(y===w){if(s&&g>0)continue;if(c&&g>0)continue;P=T.split(r),_.index=parseInt(P[1])-1+m,S.index=parseInt(P[2])-1+m;var B=A[P[3]];o.bondStore.addBond(_,S,B)}}}t.Debug&&Pv.time(\"Mol2Parser._parse \"+this.name);var i,n,r=/\\s+/,o=this.structure,a=this.structureBuilder,s=this.firstModelOnly,c=this.asTrajectory,u=o.frames,h=!1,l=o.atomMap,d=o.atomStore;d.resize(Math.round(this.streamer.data.length/60));var f=0,p=0,m=0,g=-1,v=0,y=0,b=1,x=2,w=3,_=o.getAtomProxy(),S=o.getAtomProxy(),A={1:1,2:2,3:3,am:1,ar:1,du:1,un:1,nc:0};this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),a.finalize(),o.finalizeAtoms(),Yo(o),Jo(o,!0),ta(o,!0),o.finalizeBonds(),ia(o),ey(o),t.Debug&&Pv.timeEnd(\"Mol2Parser._parse \"+this.name)}}),Rv.add(\"mol2\",Hc);var py=[\"mmtfVersion\",\"mmtfProducer\",\"unitCell\",\"spaceGroup\",\"structureId\",\"title\",\"depositionDate\",\"releaseDate\",\"experimentalMethods\",\"resolution\",\"rFree\",\"rWork\",\"bioAssemblyList\",\"ncsOperatorList\",\"entityList\",\"groupList\",\"numBonds\",\"numAtoms\",\"numGroups\",\"numChains\",\"numModels\",\"groupsPerChain\",\"chainsPerModel\"],my=[\"xCoordList\",\"yCoordList\",\"zCoordList\",\"groupIdList\",\"groupTypeList\",\"chainIdList\",\"bFactorList\",\"atomIdList\",\"altLocList\",\"occupancyList\",\"secStructList\",\"insCodeList\",\"sequenceIndexList\",\"chainNameList\",\"bondAtomList\",\"bondOrderList\"],gy=py.concat(my),vy={0:\"i\".charCodeAt(0),1:\"s\".charCodeAt(0),2:\"h\".charCodeAt(0),3:\"e\".charCodeAt(0),4:\"g\".charCodeAt(0),5:\"b\".charCodeAt(0),6:\"t\".charCodeAt(0),7:\"l\".charCodeAt(0),\"-1\":\"\".charCodeAt(0)};pu.prototype=Object.assign(Object.create(Cc.prototype),{constructor:pu,type:\"mmtf\",_parse:function(){t.Debug&&Pv.time(\"MmtfParser._parse \"+this.name);var e,i,n,r,o,a=this.structure,s=fu(lu(this.streamer.data)),c=[\"depositionDate\",\"releaseDate\",\"resolution\",\"rFree\",\"rWork\",\"experimentalMethods\"];c.forEach(function(t){void 0!==s[t]&&(a.header[t]=s[t])});var u,h,l,d,f,p;if(a.id=s.structureId,a.title=s.title,this.firstModelOnly||this.asTrajectory){for(f=1,d=s.chainsPerModel[0],l=0,e=0,i=d;e0&&(a.biomolDict[st]=ct)}s.unitCell&&Array.isArray(s.unitCell)&&s.unitCell[0]?a.unitcell=new Tc(s.unitCell[0],s.unitCell[1],s.unitCell[2],s.unitCell[3],s.unitCell[4],s.unitCell[5],s.spaceGroup):a.unitcell=void 0,t.Debug&&Pv.timeEnd(\"MmtfParser._parse \"+this.name),ta(a,!0),Jo(a,!0),a.finalizeAtoms(),a.finalizeBonds(),ea(a)}}),Rv.add(\"mmtf\",pu),mu.prototype={constructor:mu,type:\"Frames\"},gu.prototype=Object.assign(Object.create(Mc.prototype),{constructor:gu,type:\"trajectory\",__objName:\"frames\"}),vu.prototype=Object.assign(Object.create(gu.prototype),{constructor:vu,type:\"dcd\",_parse:function(){t.Debug&&Pv.time(\"DcdParser._parse \"+this.name);var e=this.streamer.data;e instanceof Uint8Array&&(e=e.buffer);var i,n,r=new DataView(e),o=this.frames,a=o.coordinates,s=o.boxes,c={},u=0,h=new Int32Array(e,0,23),l=h[0]!==r.getInt32(0);if(84!==h[0])for(n=e.byteLength,i=0;i0)return void Pv.error(\"dcd format with fixed atoms unsupported, aborting\");var y=c.NATOM,b=4*y;for(i=0,n=c.NSET;i=o.atomCount+6+l){r=r.split(a);for(var s=0,d=r.length;s0?0:1;this.streamer.eachChunkOfLines(function(t){i(0,t.length,t)}),n.header=o,n.setData(c,o.NVZ,o.NVY,o.NVX),t.Debug&&Pv.timeEnd(\"CubeParser._parse \"+this.name)},getMatrix:function(){var t=this.volume.header,e=new O;return e.multiply((new O).makeRotationY(Dn(90))),e.multiply((new O).makeTranslation(-t.originZ,t.originY,t.originX)),e.multiply((new O).makeScale(-t.AVZ,t.AVY,t.AVX)),e}}),Rv.add(\"cub\",xu),Rv.add(\"cube\",xu),wu.prototype=Object.assign(Object.create(yu.prototype),{constructor:wu,type:\"dx\",_parse:function(){function e(t,e,i){for(var n=t;na){var r=i[n].trim();if(\"\"!==r)for(var o=r.split(s),d=0,f=o.length;d=c&&(v-c)%y!==0&&g=n.elements[s].count&&(s++,c=0);var l=this.parseASCIIElement(n.elements[s].properties,h);this.handleElement(i,n.elements[s].name,l),c++}}return this.postProcess(i)},postProcess:function(t){if(t.useColor){for(var e=0;e=0?i-1:i+e/3)},parseNormalIndex:function(t,e){var i=parseInt(t,10);return 3*(i>=0?i-1:i+e/3)},addVertex:function(t,e,i){var n=this.vertices,r=this.object.geometry.vertices;r.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2]),r.push(n[e+0]),r.push(n[e+1]),r.push(n[e+2]),r.push(n[i+0]),r.push(n[i+1]),r.push(n[i+2])},addVertexLine:function(t){var e=this.vertices,i=this.object.geometry.vertices;i.push(e[t+0]),i.push(e[t+1]),i.push(e[t+2])},addNormal:function(t,e,i){var n=this.normals,r=this.object.geometry.normals;\nr.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2]),r.push(n[e+0]),r.push(n[e+1]),r.push(n[e+2]),r.push(n[i+0]),r.push(n[i+1]),r.push(n[i+2])},addFace:function(t,e,i,n,r,o,a,s){var c,u=this.vertices.length,h=this.parseVertexIndex(t,u),l=this.parseVertexIndex(e,u),d=this.parseVertexIndex(i,u);if(void 0===n?this.addVertex(h,l,d):(c=this.parseVertexIndex(n,u),this.addVertex(h,l,c),this.addVertex(l,d,c)),void 0!==r){var f=this.normals.length;h=this.parseNormalIndex(r,f),l=r===o?h:this.parseNormalIndex(o,f),d=r===a?h:this.parseNormalIndex(a,f),void 0===n?this.addNormal(h,l,d):(c=this.parseNormalIndex(s,f),this.addNormal(h,l,c),this.addNormal(l,d,c))}},addLineGeometry:function(t){this.object.geometry.type=\"Line\";for(var e=this.vertices.length,i=0,n=t.length;i0?w.addAttribute(\"normal\",new Kt(new Float32Array(x.normals),3)):w.computeVertexNormals(),y.push(w)}}return y}},Tu.prototype=Object.assign(Object.create(Au.prototype),{constructor:Tu,type:\"obj\"}),Rv.add(\"obj\",Tu),Eu.prototype=Object.assign(Object.create(Mc.prototype),{constructor:Eu,type:\"text\",__objName:\"text\",_parse:function(){this.text.data=this.streamer.asText()}}),Rv.add(\"txt\",Eu),Rv.add(\"text\",Eu),Iu.prototype=Object.assign(Object.create(Mc.prototype),{constructor:Iu,type:\"csv\",__objName:\"table\",_parse:function(){var t=this.table.data,e=/\\s*,\\s*/;this.streamer.eachChunkOfLines(function(i,n){for(var r=i.length,o=0;o\");){var i=o();if(!i)return e;e.attributes[i.name]=i.value}return s(/\\?>\\s*/),e}}function n(){var t=s(/^<([\\w-:.]+)\\s*/);if(t){for(var e={name:t[1],attributes:{},children:[]};!(c()||u(\">\")||u(\"?>\")||u(\"/>\"));){var i=o();if(!i)return e;e.attributes[i.name]=i.value}if(s(/^\\s*\\/>\\s*/))return e;s(/\\??>\\s*/),e.content=r();for(var a;a=n();)e.children.push(a);return s(/^<\\/[\\w-:.]+>\\s*/),e}}function r(){var t=s(/^([^<]*)/);return t?t[1]:\"\"}function o(){var t=s(/([\\w:-]+)\\s*=\\s*(\"[^\"]*\"|'[^']*'|\\w+)\\s*/);if(t)return{name:t[1],value:a(t[2])}}function a(t){return t.replace(/^['\"]|['\"]$/g,\"\")}function s(e){var i=t.match(e);if(i)return t=t.slice(i[0].length),i}function c(){return 0===t.length}function u(e){return 0===t.indexOf(e)}return t=t.trim(),t=t.replace(//g,\"\"),e()},__domParser:function(t){var e=new window.DOMParser;return e.parseFromString(t,\"text/xml\")},_parse:function(){t.Debug&&Pv.time(\"XmlParser._parse \"+this.name),this.useDomParser?this.streamer.isBinary()||this.string?this.xml.data=this.__domParser(this.streamer.asText()):this.xml.data=this.streamer.data:this.xml.data=this.__xmlParser(this.streamer.asText()),t.Debug&&Pv.timeEnd(\"XmlParser._parse \"+this.name)}}),Rv.add(\"xml\",Ru);var yy,by,xy=zu(),wy=30,_y=12,Sy=15,Ay=852,My=592,Py=0,Cy=1,Ty=2,Ey=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Iy=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Ly=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Ry=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],Oy=0,Dy=1,Ny=2,ky=4,Fy=5,zy=6,By=0,Uy=1,jy=2,$y=-2,Vy=-3,Gy=-4,Hy=-5,Wy=8,Xy=1,qy=2,Yy=3,Zy=4,Ky=5,Qy=6,Jy=7,tb=8,eb=9,ib=10,nb=11,rb=12,ob=13,ab=14,sb=15,cb=16,ub=17,hb=18,lb=19,db=20,fb=21,pb=22,mb=23,gb=24,vb=25,yb=26,bb=27,xb=28,wb=29,_b=30,Sb=31,Ab=32,Mb=852,Pb=592,Cb=!0,Tb=!0,Eb=!0;try{String.fromCharCode.apply(null,[0])}catch(t){Tb=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Eb=!1}for(var Ib=new Uint8Array(256),Lb=0;Lb<256;Lb++)Ib[Lb]=Lb>=252?6:Lb>=248?5:Lb>=240?4:Lb>=224?3:Lb>=192?2:1;Ib[254]=Ib[254]=1;var Rb=0,Ob=2,Db=4,Nb=0,kb=1,Fb=2,zb=-5,Bb={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"},Ub=Object.prototype.toString;sh.prototype.push=function(t,e){var i,n,r,o,a,s,c=this.strm,u=this.options.chunkSize,h=this.options.dictionary,l=!1;if(this.ended)return!1;n=e===~~e?e:e===!0?Db:Rb,\"string\"==typeof t?c.input=ih(t):\"[object ArrayBuffer]\"===Ub.call(t)?c.input=new Uint8Array(t):c.input=t,c.next_in=0,c.avail_in=c.input.length;do{if(0===c.avail_out&&(c.output=new Uint8Array(u),c.next_out=0,c.avail_out=u),i=Zu(c,Rb),i===Fb&&h&&(s=\"string\"==typeof h?th(h):\"[object ArrayBuffer]\"===Ub.call(h)?new Uint8Array(h):h,i=Ju(this.strm,s)),i===zb&&l===!0&&(i=Nb,l=!1),i!==kb&&i!==Nb)return this.onEnd(i),this.ended=!0,!1;c.next_out&&(0!==c.avail_out&&i!==kb&&(0!==c.avail_in||n!==Db&&n!==Ob)||(\"string\"===this.options.to?(r=rh(c.output,c.next_out),o=c.next_out-r,a=nh(c.output,r),c.next_out=o,c.avail_out=u-o,o&&Nu(c.output,c.output,r,o,0),this.onData(a)):this.onData(Du(c.output,c.next_out)))),0===c.avail_in&&0===c.avail_out&&(l=!0)}while((c.avail_in>0||0===c.avail_out)&&i!==kb);return i===kb&&(n=Db),n===Db?(i=Ku(this.strm),this.onEnd(i),this.ended=!0,i===Nb):n!==Ob||(this.onEnd(Nb),c.avail_out=0,!0)},sh.prototype.onData=function(t){this.chunks.push(t)},sh.prototype.onEnd=function(t){t===Nb&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=ku(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},Dv.add(\"gz\",uh);var jb=\"//files.rcsb.org/download/\",$b=\"//mmtf.rcsb.org/v1.0/\",Vb=$b+\"full/\",Gb=$b+\"reduced/\";Iv.add(\"rcsb\",new hh);var Hb=\"//pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/\",Wb=\"/SDF?record_type=3d\";Iv.add(\"pubchem\",new lh),Iv.add(\"ftp\",new dh),Iv.add(\"http\",new dh),Iv.add(\"https\",new dh);var Xb=\"0.10.0-dev.5\";\"undefined\"==typeof window||window.Promise||(window.Promise=n),t.Version=Xb,t.setDebug=ar,t.DatasourceRegistry=Iv,t.StaticDatasource=fh,t.ParserRegistry=Rv,t.autoLoad=gr,t.RepresentationRegistry=Lv,t.ColorMakerRegistry=Ev,t.ColorMaker=Fn,t.Selection=On,t.PdbWriter=xr,t.Stage=ws,t.Collection=vs,t.ComponentCollection=ys,t.RepresentationCollection=bs,t.Assembly=Wo,t.TrajectoryPlayer=_s,t.superpose=As,t.guessElement=iy,t.Queue=Ca,t.Counter=wr,t.throttle=b,t.download=v,t.getQuery=h,t.getDataInfo=mr,t.getFileInfo=y,t.uniqueArray=x,t.BufferRepresentation=es,t.SphereBuffer=Va,t.EllipsoidBuffer=Ha,t.CylinderBuffer=Ya,t.ConeBuffer=Ka,t.ArrowBuffer=Qa,t.Shape=Ja,t.Kdtree=Vo,t.SpatialHash=Lo,t.Signal=Rn,t.Matrix3=Lt,t.Matrix4=O,t.Vector2=I,t.Vector3=N,t.Box3=Et,t.Quaternion=D,t.Plane=Rt,t.Color=Ct,Object.defineProperty(t,\"__esModule\",{value:!0})});\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/plugins/ngl/viewer.js\n// module id = 2\n// module chunks = 0","var nextTick = require('process/browser.js').nextTick;\nvar apply = Function.prototype.apply;\nvar slice = Array.prototype.slice;\nvar immediateIds = {};\nvar nextImmediateId = 0;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) { timeout.close(); };\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// That's not how node.js implements it but the exposed api is the same.\nexports.setImmediate = typeof setImmediate === \"function\" ? setImmediate : function(fn) {\n var id = nextImmediateId++;\n var args = arguments.length < 2 ? false : slice.call(arguments, 1);\n\n immediateIds[id] = true;\n\n nextTick(function onNextTick() {\n if (immediateIds[id]) {\n // fn.call() is faster so we optimize for the common use-case\n // @see http://jsperf.com/call-apply-segu\n if (args) {\n fn.apply(null, args);\n } else {\n fn.call(null);\n }\n // Prevent ids from leaking\n exports.clearImmediate(id);\n }\n });\n\n return id;\n};\n\nexports.clearImmediate = typeof clearImmediate === \"function\" ? clearImmediate : function(id) {\n delete immediateIds[id];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/~/node-libs-browser/~/timers-browserify/main.js\n// module id = 3\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// 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}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\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 try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\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\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\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\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\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 if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\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;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/~/node-libs-browser/~/process/browser.js\n// module id = 4\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 95a0a55a798366ca26b1","webpack:///./static/repository/visualizations/ngl/viewer/wrapper.js","webpack:///./static/repository/utilities/utils.js","webpack:///./static/repository/plugins/ngl/viewer.js","webpack:///(webpack)/~/node-libs-browser/~/timers-browserify/main.js","webpack:///(webpack)/~/node-libs-browser/~/process/browser.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;iECtCA;AACA;AACA;AACA;AACA;AACA,+DAA8D,+CAA+C;;AAE7G;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,wEAAwE;AACnI;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,6CAA4C,8BAA8B;AAC1E;AACA,MAAK;AACL,EAAC;;;;;;;AC7CD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA,yBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc,SAAS;AACvB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,UAAS;AA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CA;AACA;AACA;AACA;AACA;AACA,4CAA2C,iBAAiB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA,G;;;;;;;AC3EA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU","file":"ngl_viewer.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 95a0a55a798366ca26b1","define( [ 'utilities/utils', \"plugins/ngl/viewer\" ], function( Utils, ngl ) {\n return Backbone.Model.extend({\n initialize: function( options ) {\n var dataset = options.dataset,\n settings = options.chart.settings,\n stage = new ngl.Stage( options.targets[ 0 ], { backgroundColor: settings.get( 'backcolor' ) } );\n\n Utils.get( {\n url : dataset.download_url,\n cache : true,\n success : function( response ) {\n var viewer_options = {},\n representation_parameters = {};\n _.each( settings.attributes, function( value, key ) {\n if ( key.startsWith( 'viewer|' ) ) {\n viewer_options[ key.replace( 'viewer|', '' ) ] = value;\n }\n } );\n representation_parameters = { \n radius: settings.get( 'radius' ),\n scale: settings.get( 'scale' ),\n assembly: settings.get( 'assembly' ),\n color: settings.get( 'colorscheme' ),\n opacity: settings.get( 'opacity' )\n };\n stage.loadFile( dataset.download_url, {ext: dataset.extension, name: dataset.name, defaultRepresentation: true} ).then( function( o ) {\n o.addRepresentation( viewer_options.mode, representation_parameters );\n o.centerView();\n } );\n stage.setQuality( settings.get( 'quality' ) );\n if( settings.get( 'spin' ) === true || settings.get( 'spin' ) === 'true' ) {\n stage.setSpin( [ 0, 1, 0 ], 0.01 );\n }\n options.chart.state( 'ok', 'Chart drawn.' );\n options.process.resolve();\n },\n error : function() {\n options.chart.state( 'ok', 'Failed to load pdb file.' );\n options.process.resolve();\n }\n });\n // Re-renders the molecule view when window is resized\n $( window ).resize( function() { stage.viewer.handleResize() } );\n }\n });\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/ngl/viewer/wrapper.js\n// module id = 0\n// module chunks = 0","/** Useful helper functions */\ndefine( [], function() {\n\n /** Clone */\n function clone( obj ) {\n return JSON.parse( JSON.stringify( obj ) || null );\n };\n\n /**\n * Check if a string is a json string\n * @param{String} text - Content to be validated\n */\n function isJSON(text) {\n return /^[\\],:{}\\s]*$/.test(text.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@').\n replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').\n replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''));\n };\n\n /**\n * Request handler for GET\n * @param{String} url - Url request is made to\n * @param{Function} success - Callback on success\n * @param{Function} error - Callback on error\n * @param{Boolean} cache - Use cached data if available\n */\n function get (options) {\n top.__utils__get__ = top.__utils__get__ || {};\n var cache_key = JSON.stringify( options );\n if (options.cache && top.__utils__get__[cache_key]) {\n options.success && options.success(top.__utils__get__[cache_key]);\n window.console.debug('utils.js::get() - Fetching from cache [' + options.url + '].');\n } else {\n request({\n url : options.url,\n data : options.data,\n success : function(response) {\n top.__utils__get__[cache_key] = response;\n options.success && options.success(response);\n },\n error : function(response) {\n options.error && options.error(response);\n }\n });\n }\n };\n\n /**\n * Request handler\n * @param{String} method - Request method ['GET', 'POST', 'DELETE', 'PUT']\n * @param{String} url - Url request is made to\n * @param{Object} data - Data send to url\n * @param{Function} success - Callback on success\n * @param{Function} error - Callback on error\n */\n function request (options) {\n var ajaxConfig = {\n contentType : 'application/json',\n type : options.type || 'GET',\n data : options.data || {},\n url : options.url\n }\n if ( ajaxConfig.type == 'GET' || ajaxConfig.type == 'DELETE' ) {\n if ( !$.isEmptyObject(ajaxConfig.data) ) {\n ajaxConfig.url += ajaxConfig.url.indexOf('?') == -1 ? '?' : '&';\n ajaxConfig.url += $.param(ajaxConfig.data, true);\n }\n ajaxConfig.data = null;\n } else {\n ajaxConfig.dataType = 'json';\n ajaxConfig.url = ajaxConfig.url;\n ajaxConfig.data = JSON.stringify( ajaxConfig.data );\n }\n $.ajax( ajaxConfig ).done( function( response ) {\n if ( typeof response === 'string' && isJSON( response ) ) {\n try {\n response = response.replace( 'Infinity,', '\"Infinity\",' );\n response = jQuery.parseJSON( response );\n } catch ( e ) {\n console.debug( e );\n }\n }\n options.success && options.success( response );\n }).fail( function( response ) {\n var response_text = null;\n try {\n response_text = jQuery.parseJSON( response.responseText );\n } catch (e) {\n response_text = response.responseText;\n }\n options.error && options.error( response_text, response );\n }).always( function() {\n options.complete && options.complete();\n });\n };\n\n /**\n * Safely merge to dictionaries\n * @param{Object} options - Target dictionary\n * @param{Object} optionsDefault - Source dictionary\n */\n function merge (options, optionsDefault) {\n if (options) {\n return _.defaults(options, optionsDefault);\n } else {\n return optionsDefault;\n }\n };\n\n /** Create a unique id */\n function uid(){\n top.__utils__uid__ = top.__utils__uid__ || 0;\n return 'uid-' + top.__utils__uid__++;\n };\n\n return {\n get : get,\n merge : merge,\n uid : uid,\n request : request,\n clone : clone,\n isJSON : isJSON\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/utilities/utils.js\n// module id = 1\n// module chunks = 0","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e(t.NGL=t.NGL||{})}(this,function(t){\"use strict\";function e(){}function i(t,e){return function(){t.apply(e,arguments)}}function n(t){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof t)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(t,this)}function r(t,e){for(;3===t._state;)t=t._value;return 0===t._state?void t._deferreds.push(e):(t._handled=!0,void mh(function(){var i=1===t._state?e.onFulfilled:e.onRejected;if(null===i)return void(1===t._state?o:a)(e.promise,t._value);var n;try{n=i(t._value)}catch(t){return void a(e.promise,t)}o(e.promise,n)}))}function o(t,e){try{if(e===t)throw new TypeError(\"A promise cannot be resolved with itself.\");if(e&&(\"object\"==typeof e||\"function\"==typeof e)){var r=e.then;if(e instanceof n)return t._state=3,t._value=e,void s(t);if(\"function\"==typeof r)return void u(i(r,e),t)}t._state=1,t._value=e,s(t)}catch(e){a(t,e)}}function a(t,e){t._state=2,t._value=e,s(t)}function s(t){2===t._state&&0===t._deferreds.length&&mh(function(){t._handled||gh(t._value)});for(var e=0,i=t._deferreds.length;e1?c.pop().toLowerCase():\"\",h=e.match(/^(.+):\\/\\/(.+)$/);h&&(n=h[1].toLowerCase(),e=h[2]);var l=e.substring(0,e.lastIndexOf(\"/\")+1);if(r.includes(u)){i=u;var d=e.length-u.length-1;u=e.substr(0,d).split(\".\").pop().toLowerCase();var f=s.length-u.length-1;s=s.substr(0,f)}else i=!1;return{path:e,name:a,ext:u,base:s,dir:l,compressed:i,protocol:n,src:t}}function b(t,e,i){var n,r,o,a=null,s=0;i||(i={});var c=function(){s=i.leading===!1?0:Date.now(),a=null,o=t.apply(n,r),a||(n=r=null)};return function(){var u=Date.now();s||i.leading!==!1||(s=u);var h=e-(u-s);return n=this,r=arguments,h<=0||h>e?(a&&(clearTimeout(a),a=null),s=u,o=t.apply(n,r),a||(n=r=null)):a||i.trailing===!1||(a=setTimeout(c,h)),o}}function x(t){return t.sort().filter(function(t,e,i){return 0===e||t!==i[e-1]})}function w(t){var e=28672;if(t.length>e){for(var i=[],n=0;n0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}function D(t,e,i,n){this._x=t||0,this._y=e||0,this._z=i||0,this._w=void 0!==n?n:1}function N(t,e,i){this.x=t||0,this.y=e||0,this.z=i||0}function k(t,e){function i(){var t=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),e=new Uint16Array([0,1,2,0,2,3]);o=l.createBuffer(),a=l.createBuffer(),l.bindBuffer(l.ARRAY_BUFFER,o),l.bufferData(l.ARRAY_BUFFER,t,l.STATIC_DRAW),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,a),l.bufferData(l.ELEMENT_ARRAY_BUFFER,e,l.STATIC_DRAW),s=n(),c={position:l.getAttribLocation(s,\"position\"),uv:l.getAttribLocation(s,\"uv\")},u={uvOffset:l.getUniformLocation(s,\"uvOffset\"),uvScale:l.getUniformLocation(s,\"uvScale\"),rotation:l.getUniformLocation(s,\"rotation\"),scale:l.getUniformLocation(s,\"scale\"),color:l.getUniformLocation(s,\"color\"),map:l.getUniformLocation(s,\"map\"),opacity:l.getUniformLocation(s,\"opacity\"),modelViewMatrix:l.getUniformLocation(s,\"modelViewMatrix\"),projectionMatrix:l.getUniformLocation(s,\"projectionMatrix\"),fogType:l.getUniformLocation(s,\"fogType\"),fogDensity:l.getUniformLocation(s,\"fogDensity\"),fogNear:l.getUniformLocation(s,\"fogNear\"),fogFar:l.getUniformLocation(s,\"fogFar\"),fogColor:l.getUniformLocation(s,\"fogColor\"),alphaTest:l.getUniformLocation(s,\"alphaTest\")};var i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");i.width=8,i.height=8;var r=i.getContext(\"2d\");r.fillStyle=\"white\",r.fillRect(0,0,8,8),h=new L(i),h.needsUpdate=!0}function n(){var e=l.createProgram(),i=l.createShader(l.VERTEX_SHADER),n=l.createShader(l.FRAGMENT_SHADER);return l.shaderSource(i,[\"precision \"+t.getPrecision()+\" float;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform float rotation;\",\"uniform vec2 scale;\",\"uniform vec2 uvOffset;\",\"uniform vec2 uvScale;\",\"attribute vec2 position;\",\"attribute vec2 uv;\",\"varying vec2 vUV;\",\"void main() {\",\"vUV = uvOffset + uv * uvScale;\",\"vec2 alignedPosition = position * scale;\",\"vec2 rotatedPosition;\",\"rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\",\"rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\",\"vec4 finalPosition;\",\"finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\",\"finalPosition.xy += rotatedPosition;\",\"finalPosition = projectionMatrix * finalPosition;\",\"gl_Position = finalPosition;\",\"}\"].join(\"\\n\")),l.shaderSource(n,[\"precision \"+t.getPrecision()+\" float;\",\"uniform vec3 color;\",\"uniform sampler2D map;\",\"uniform float opacity;\",\"uniform int fogType;\",\"uniform vec3 fogColor;\",\"uniform float fogDensity;\",\"uniform float fogNear;\",\"uniform float fogFar;\",\"uniform float alphaTest;\",\"varying vec2 vUV;\",\"void main() {\",\"vec4 texture = texture2D( map, vUV );\",\"if ( texture.a < alphaTest ) discard;\",\"gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\",\"if ( fogType > 0 ) {\",\"float depth = gl_FragCoord.z / gl_FragCoord.w;\",\"float fogFactor = 0.0;\",\"if ( fogType == 1 ) {\",\"fogFactor = smoothstep( fogNear, fogFar, depth );\",\"} else {\",\"const float LOG2 = 1.442695;\",\"fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\",\"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\",\"}\",\"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\",\"}\",\"}\"].join(\"\\n\")),l.compileShader(i),l.compileShader(n),l.attachShader(e,i),l.attachShader(e,n),l.linkProgram(e),e}function r(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:e.id-t.id}var o,a,s,c,u,h,l=t.context,d=t.state,f=new N,p=new D,m=new N;this.render=function(n,g){if(0!==e.length){void 0===s&&i(),l.useProgram(s),d.initAttributes(),d.enableAttribute(c.position),d.enableAttribute(c.uv),d.disableUnusedAttributes(),d.disable(l.CULL_FACE),d.enable(l.BLEND),l.bindBuffer(l.ARRAY_BUFFER,o),l.vertexAttribPointer(c.position,2,l.FLOAT,!1,16,0),l.vertexAttribPointer(c.uv,2,l.FLOAT,!1,16,8),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,a),l.uniformMatrix4fv(u.projectionMatrix,!1,g.projectionMatrix.elements),d.activeTexture(l.TEXTURE0),l.uniform1i(u.map,0);var v=0,y=0,b=n.fog;b?(l.uniform3f(u.fogColor,b.color.r,b.color.g,b.color.b),b&&b.isFog?(l.uniform1f(u.fogNear,b.near),l.uniform1f(u.fogFar,b.far),l.uniform1i(u.fogType,1),v=1,y=1):b&&b.isFogExp2&&(l.uniform1f(u.fogDensity,b.density),l.uniform1i(u.fogType,2),v=2,y=2)):(l.uniform1i(u.fogType,0),v=0,y=0);for(var x=0,w=e.length;x.001&&E.scale>.001&&(w.x=E.x,w.y=E.y,w.z=E.z,b=E.size*E.scale/p.w,x.x=b*g,x.y=b,d.uniform3f(u.screenPosition,w.x,w.y,w.z),d.uniform2f(u.scale,x.x,x.y),d.uniform1f(u.rotation,E.rotation),d.uniform1f(u.opacity,E.opacity),d.uniform3f(u.color,E.color.r,E.color.g,E.color.b),f.setBlending(E.blending,E.blendEquation,E.blendSrc,E.blendDst),t.setTexture2D(E.texture,1),d.drawElements(d.TRIANGLES,6,d.UNSIGNED_SHORT,0))}}}f.enable(d.CULL_FACE),f.enable(d.DEPTH_TEST),f.setDepthWrite(!0),t.resetGLState()}}}function B(t,e,i,n,r,o,a,s,c,u){t=void 0!==t?t:[],e=void 0!==e?e:yl,L.call(this,t,e,i,n,r,o,a,s,c,u),this.flipY=!1}function U(){this.seq=[],this.map={}}function j(t,e,i){var n=t[0];if(n<=0||n>0)return t;var r=e*i,o=Od[r];if(void 0===o&&(o=new Float32Array(r),Od[r]=o),0!==e){n.toArray(o,0);for(var a=1,s=0;a!==e;++a)s+=i,t[a].toArray(o,s)}return o}function $(t,e){var i=Dd[e];void 0===i&&(i=new Int32Array(e),Dd[e]=i);for(var n=0;n!==e;++n)i[n]=t.allocTextureUnit();return i}function V(t,e){t.uniform1f(this.addr,e)}function G(t,e){t.uniform1i(this.addr,e)}function H(t,e){void 0===e.x?t.uniform2fv(this.addr,e):t.uniform2f(this.addr,e.x,e.y)}function W(t,e){void 0!==e.x?t.uniform3f(this.addr,e.x,e.y,e.z):void 0!==e.r?t.uniform3f(this.addr,e.r,e.g,e.b):t.uniform3fv(this.addr,e)}function X(t,e){void 0===e.x?t.uniform4fv(this.addr,e):t.uniform4f(this.addr,e.x,e.y,e.z,e.w)}function q(t,e){t.uniformMatrix2fv(this.addr,!1,e.elements||e)}function Y(t,e){t.uniformMatrix3fv(this.addr,!1,e.elements||e)}function Z(t,e){t.uniformMatrix4fv(this.addr,!1,e.elements||e)}function K(t,e,i){var n=i.allocTextureUnit();t.uniform1i(this.addr,n),i.setTexture2D(e||Ld,n)}function Q(t,e,i){var n=i.allocTextureUnit();t.uniform1i(this.addr,n),i.setTextureCube(e||Rd,n)}function J(t,e){t.uniform2iv(this.addr,e)}function tt(t,e){t.uniform3iv(this.addr,e)}function et(t,e){t.uniform4iv(this.addr,e)}function it(t){switch(t){case 5126:return V;case 35664:return H;case 35665:return W;case 35666:return X;case 35674:return q;case 35675:return Y;case 35676:return Z;case 35678:return K;case 35680:return Q;case 5124:case 35670:return G;case 35667:case 35671:return J;case 35668:case 35672:return tt;case 35669:case 35673:return et}}function nt(t,e){t.uniform1fv(this.addr,e)}function rt(t,e){t.uniform1iv(this.addr,e)}function ot(t,e){t.uniform2fv(this.addr,j(e,this.size,2))}function at(t,e){t.uniform3fv(this.addr,j(e,this.size,3))}function st(t,e){t.uniform4fv(this.addr,j(e,this.size,4))}function ct(t,e){t.uniformMatrix2fv(this.addr,!1,j(e,this.size,4))}function ut(t,e){t.uniformMatrix3fv(this.addr,!1,j(e,this.size,9))}function ht(t,e){t.uniformMatrix4fv(this.addr,!1,j(e,this.size,16))}function lt(t,e,i){var n=e.length,r=$(i,n);t.uniform1iv(this.addr,r);for(var o=0;o!==n;++o)i.setTexture2D(e[o]||Ld,r[o])}function dt(t,e,i){var n=e.length,r=$(i,n);t.uniform1iv(this.addr,r);for(var o=0;o!==n;++o)i.setTextureCube(e[o]||Rd,r[o])}function ft(t){switch(t){case 5126:return nt;case 35664:return ot;case 35665:return at;case 35666:return st;case 35674:return ct;case 35675:return ut;case 35676:return ht;case 35678:return lt;case 35680:return dt;case 5124:case 35670:return rt;case 35667:case 35671:return J;case 35668:case 35672:return tt;case 35669:case 35673:return et}}function pt(t,e,i){this.id=t,this.addr=i,this.setValue=it(e.type)}function mt(t,e,i){this.id=t,this.addr=i,this.size=e.size,this.setValue=ft(e.type)}function gt(t){this.id=t,U.call(this)}function vt(t,e){t.seq.push(e),t.map[e.id]=e}function yt(t,e,i){var n=t.name,r=n.length;for(Nd.lastIndex=0;;){var o=Nd.exec(n),a=Nd.lastIndex,s=o[1],c=\"]\"===o[2],u=o[3];if(c&&(s=0|s),void 0===u||\"[\"===u&&a+2===r){vt(i,void 0===u?new pt(s,t,e):new mt(s,t,e));break}var h=i.map,l=h[s];void 0===l&&(l=new gt(s),vt(i,l)),i=l}}function bt(t,e,i){U.call(this),this.renderer=i;for(var n=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),r=0;r!==n;++r){var o=t.getActiveUniform(e,r),a=o.name,s=t.getUniformLocation(e,a);yt(o,s,this)}}function xt(t,e,i,n,r,o,a){function s(t,e){if(t.width>e||t.height>e){var i=e/Math.max(t.width,t.height),n=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");n.width=Math.floor(t.width*i),n.height=Math.floor(t.height*i);var r=n.getContext(\"2d\");return r.drawImage(t,0,0,t.width,t.height,0,0,n.width,n.height),console.warn(\"THREE.WebGLRenderer: image is too big (\"+t.width+\"x\"+t.height+\"). Resized to \"+n.width+\"x\"+n.height,t),n}return t}function c(t){return Ed.isPowerOfTwo(t.width)&&Ed.isPowerOfTwo(t.height)}function u(t){if(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement){var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=Ed.nearestPowerOfTwo(t.width),e.height=Ed.nearestPowerOfTwo(t.height);var i=e.getContext(\"2d\");return i.drawImage(t,0,0,e.width,e.height),console.warn(\"THREE.WebGLRenderer: image is not power of two (\"+t.width+\"x\"+t.height+\"). Resized to \"+e.width+\"x\"+e.height,t),e}return t}function h(t){return t.wrapS!==Pl||t.wrapT!==Pl||t.minFilter!==Tl&&t.minFilter!==Ll}function l(e){return e===Tl||e===El||e===Il?t.NEAREST:t.LINEAR}function d(t){var e=t.target;e.removeEventListener(\"dispose\",d),p(e),C.textures--}function f(t){var e=t.target;e.removeEventListener(\"dispose\",f),m(e),C.textures--}function p(e){var i=n.get(e);if(e.image&&i.__image__webglTextureCube)t.deleteTexture(i.__image__webglTextureCube);else{if(void 0===i.__webglInit)return;t.deleteTexture(i.__webglTexture)}n.delete(e)}function m(e){var i=n.get(e),r=n.get(e.texture);if(e){if(void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture),e.depthTexture&&e.depthTexture.dispose(),e&&e.isWebGLRenderTargetCube)for(var o=0;o<6;o++)t.deleteFramebuffer(i.__webglFramebuffer[o]),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer[o]);else t.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer);n.delete(e.texture),n.delete(e)}}function g(e,r){var o=n.get(e);if(e.version>0&&o.__version!==e.version){var a=e.image;if(void 0===a)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\",e);else{if(a.complete!==!1)return void x(o,e,r);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\",e)}}i.activeTexture(t.TEXTURE0+r),i.bindTexture(t.TEXTURE_2D,o.__webglTexture)}function v(e,a){var u=n.get(e);if(6===e.image.length)if(e.version>0&&u.__version!==e.version){u.__image__webglTextureCube||(e.addEventListener(\"dispose\",d),u.__image__webglTextureCube=t.createTexture(),C.textures++),i.activeTexture(t.TEXTURE0+a),i.bindTexture(t.TEXTURE_CUBE_MAP,u.__image__webglTextureCube),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e.flipY);for(var h=e&&e.isCompressedTexture,l=e.image[0]&&e.image[0].isDataTexture,f=[],p=0;p<6;p++)h||l?f[p]=l?e.image[p].image:e.image[p]:f[p]=s(e.image[p],r.maxCubemapSize);var m=f[0],g=c(m),v=o(e.format),y=o(e.type);b(t.TEXTURE_CUBE_MAP,e,g);for(var p=0;p<6;p++)if(h)for(var x,w=f[p].mipmaps,_=0,S=w.length;_-1?i.compressedTexImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,_,v,x.width,x.height,0,x.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,_,v,x.width,x.height,0,v,y,x.data);else l?i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,f[p].width,f[p].height,0,v,y,f[p].data):i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,v,y,f[p]);e.generateMipmaps&&g&&t.generateMipmap(t.TEXTURE_CUBE_MAP),u.__version=e.version,e.onUpdate&&e.onUpdate(e)}else i.activeTexture(t.TEXTURE0+a),i.bindTexture(t.TEXTURE_CUBE_MAP,u.__image__webglTextureCube)}function y(e,r){i.activeTexture(t.TEXTURE0+r),i.bindTexture(t.TEXTURE_CUBE_MAP,n.get(e).__webglTexture)}function b(i,a,s){var c;if(s?(t.texParameteri(i,t.TEXTURE_WRAP_S,o(a.wrapS)),t.texParameteri(i,t.TEXTURE_WRAP_T,o(a.wrapT)),t.texParameteri(i,t.TEXTURE_MAG_FILTER,o(a.magFilter)),t.texParameteri(i,t.TEXTURE_MIN_FILTER,o(a.minFilter))):(t.texParameteri(i,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(i,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),a.wrapS===Pl&&a.wrapT===Pl||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\",a),t.texParameteri(i,t.TEXTURE_MAG_FILTER,l(a.magFilter)),t.texParameteri(i,t.TEXTURE_MIN_FILTER,l(a.minFilter)),a.minFilter!==Tl&&a.minFilter!==Ll&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\",a)),c=e.get(\"EXT_texture_filter_anisotropic\")){if(a.type===Ul&&null===e.get(\"OES_texture_float_linear\"))return;if(a.type===jl&&null===e.get(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||n.get(a).__currentAnisotropy)&&(t.texParameterf(i,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,r.getMaxAnisotropy())),n.get(a).__currentAnisotropy=a.anisotropy)}}function x(e,n,a){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener(\"dispose\",d),e.__webglTexture=t.createTexture(),C.textures++),i.activeTexture(t.TEXTURE0+a),i.bindTexture(t.TEXTURE_2D,e.__webglTexture),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,n.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,n.unpackAlignment);var l=s(n.image,r.maxTextureSize);h(n)&&c(l)===!1&&(l=u(l));var f=c(l),p=o(n.format),m=o(n.type);b(t.TEXTURE_2D,n,f);var g,v=n.mipmaps;if(n&&n.isDepthTexture){var y=t.DEPTH_COMPONENT;if(n.type===Ul){if(!T)throw new Error(\"Float Depth Texture only supported in WebGL2.0\");y=t.DEPTH_COMPONENT32F}else T&&(y=t.DEPTH_COMPONENT16);n.format===Ql&&(y=t.DEPTH_STENCIL),i.texImage2D(t.TEXTURE_2D,0,y,l.width,l.height,0,p,m,null)}else if(n&&n.isDataTexture)if(v.length>0&&f){for(var x=0,w=v.length;x-1?i.compressedTexImage2D(t.TEXTURE_2D,x,p,g.width,g.height,0,g.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):i.texImage2D(t.TEXTURE_2D,x,p,g.width,g.height,0,p,m,g.data);else if(v.length>0&&f){for(var x=0,w=v.length;x0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}function Rt(t,e){this.normal=void 0!==t?t:new N(1,0,0),this.constant=void 0!==e?e:0}function Ot(t,e,i,n,r,o){this.planes=[void 0!==t?t:new Rt,void 0!==e?e:new Rt,void 0!==i?i:new Rt,void 0!==n?n:new Rt,void 0!==r?r:new Rt,void 0!==o?o:new Rt]}function Dt(t,e,i,n){function r(e,i,n,r){var o=e.geometry,a=null,s=b,c=e.customDepthMaterial;if(n&&(s=x,c=e.customDistanceMaterial),c)a=c;else{var u=!1;i.morphTargets&&(o&&o.isBufferGeometry?u=o.morphAttributes&&o.morphAttributes.position&&o.morphAttributes.position.length>0:o&&o.isGeometry&&(u=o.morphTargets&&o.morphTargets.length>0));var h=e.isSkinnedMesh&&i.skinning,l=0;u&&(l|=g),h&&(l|=v),a=s[l]}if(t.localClippingEnabled&&i.clipShadows===!0&&0!==i.clippingPlanes.length){var d=a.uuid,f=i.uuid,p=w[d];void 0===p&&(p={},w[d]=p);var m=p[f];void 0===m&&(m=a.clone(),p[f]=m),a=m}a.visible=i.visible,a.wireframe=i.wireframe;var y=i.side;return k.renderSingleSided&&y==Ch&&(y=Mh),k.renderReverseSided&&(y===Mh?y=Ph:y===Ph&&(y=Mh)),a.side=y,a.clipShadows=i.clipShadows,a.clippingPlanes=i.clippingPlanes,a.wireframeLinewidth=i.wireframeLinewidth,a.linewidth=i.linewidth,n&&void 0!==a.uniforms.lightPos&&a.uniforms.lightPos.value.copy(r),a}function o(t,e,i){if(t.visible!==!1){var n=0!==(t.layers.mask&e.layers.mask);if(n&&(t.isMesh||t.isLine||t.isPoints)&&t.castShadow&&(t.frustumCulled===!1||c.intersectsObject(t)===!0)){var r=t.material;r.visible===!0&&(t.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,t.matrixWorld),m.push(t))}for(var a=t.children,s=0,u=a.length;s\");return Xt(i)}var i=/#include +<([\\w\\d.]+)>/g;return t.replace(i,e)}function qt(t){function e(t,e,i,n){for(var r=\"\",o=parseInt(e);o0?t.gammaFactor:1,g=$t(o,n,t.extensions),v=Vt(a),y=r.createProgram();i.isRawShaderMaterial?(f=[v,\"\\n\"].filter(Ht).join(\"\\n\"),p=[g,v,\"\\n\"].filter(Ht).join(\"\\n\")):(f=[\"precision \"+n.precision+\" float;\",\"precision \"+n.precision+\" int;\",\"#define SHADER_NAME \"+i.__webglShader.name,v,n.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define GAMMA_FACTOR \"+m,\"#define MAX_BONES \"+n.maxBones,n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+l:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.displacementMap&&n.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.useVertexTexture?\"#define BONE_TEXTURE\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&n.flatShading===!1?\"#define USE_MORPHNORMALS\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+n.numClippingPlanes,n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+u:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&t.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_COLOR\",\" attribute vec3 color;\",\"#endif\",\"#ifdef USE_MORPHTARGETS\",\" attribute vec3 morphTarget0;\",\" attribute vec3 morphTarget1;\",\" attribute vec3 morphTarget2;\",\" attribute vec3 morphTarget3;\",\" #ifdef USE_MORPHNORMALS\",\" attribute vec3 morphNormal0;\",\" attribute vec3 morphNormal1;\",\" attribute vec3 morphNormal2;\",\" attribute vec3 morphNormal3;\",\" #else\",\" attribute vec3 morphTarget4;\",\" attribute vec3 morphTarget5;\",\" attribute vec3 morphTarget6;\",\" attribute vec3 morphTarget7;\",\" #endif\",\"#endif\",\"#ifdef USE_SKINNING\",\" attribute vec4 skinIndex;\",\" attribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(Ht).join(\"\\n\"),p=[g,\"precision \"+n.precision+\" float;\",\"precision \"+n.precision+\" int;\",\"#define SHADER_NAME \"+i.__webglShader.name,v,n.alphaTest?\"#define ALPHATEST \"+n.alphaTest:\"\",\"#define GAMMA_FACTOR \"+m,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+h:\"\",n.envMap?\"#define \"+l:\"\",n.envMap?\"#define \"+d:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+n.numClippingPlanes,n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+u:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&t.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",n.envMap&&t.extensions.get(\"EXT_shader_texture_lod\")?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",n.toneMapping!==dl?\"#define TONE_MAPPING\":\"\",n.toneMapping!==dl?kp.tonemapping_pars_fragment:\"\",n.toneMapping!==dl?jt(\"toneMapping\",n.toneMapping):\"\",n.outputEncoding||n.mapEncoding||n.envMapEncoding||n.emissiveMapEncoding?kp.encodings_pars_fragment:\"\",n.mapEncoding?Bt(\"mapTexelToLinear\",n.mapEncoding):\"\",n.envMapEncoding?Bt(\"envMapTexelToLinear\",n.envMapEncoding):\"\",n.emissiveMapEncoding?Bt(\"emissiveMapTexelToLinear\",n.emissiveMapEncoding):\"\",n.outputEncoding?Ut(\"linearToOutputTexel\",n.outputEncoding):\"\",n.depthPacking?\"#define DEPTH_PACKING \"+i.depthPacking:\"\",\"\\n\"].filter(Ht).join(\"\\n\")),s=Xt(s,n),s=Wt(s,n),c=Xt(c,n),c=Wt(c,n),i.isShaderMaterial||(s=qt(s),c=qt(c));var b=f+s,x=p+c,w=kt(r,r.VERTEX_SHADER,b),_=kt(r,r.FRAGMENT_SHADER,x);r.attachShader(y,w),r.attachShader(y,_),void 0!==i.index0AttributeName?r.bindAttribLocation(y,0,i.index0AttributeName):n.morphTargets===!0&&r.bindAttribLocation(y,0,\"position\"),r.linkProgram(y);var S=r.getProgramInfoLog(y),A=r.getShaderInfoLog(w),M=r.getShaderInfoLog(_),P=!0,C=!0;r.getProgramParameter(y,r.LINK_STATUS)===!1?(P=!1,console.error(\"THREE.WebGLProgram: shader error: \",r.getError(),\"gl.VALIDATE_STATUS\",r.getProgramParameter(y,r.VALIDATE_STATUS),\"gl.getProgramInfoLog\",S,A,M)):\"\"!==S?console.warn(\"THREE.WebGLProgram: gl.getProgramInfoLog()\",S):\"\"!==A&&\"\"!==M||(C=!1),C&&(this.diagnostics={runnable:P,material:i,programLog:S,vertexShader:{log:A,prefix:f},fragmentShader:{log:M,prefix:p}}),r.deleteShader(w),r.deleteShader(_);var T;this.getUniforms=function(){return void 0===T&&(T=new bt(r,y,t)),T};var E;return this.getAttributes=function(){return void 0===E&&(E=Gt(r,y)),E},this.destroy=function(){r.deleteProgram(y),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn(\"THREE.WebGLProgram: .uniforms is now .getUniforms().\"),this.getUniforms()}},attributes:{get:function(){return console.warn(\"THREE.WebGLProgram: .attributes is now .getAttributes().\"),this.getAttributes()}}}),this.id=Up++,this.code=e,this.usedTimes=1,this.program=y,this.vertexShader=w,this.fragmentShader=_,this}function Zt(t,e){function i(t){if(e.floatVertexTextures&&t&&t.skeleton&&t.skeleton.useVertexTexture)return 1024;var i=e.maxVertexUniforms,n=Math.floor((i-20)/4),r=n;return void 0!==t&&t&&t.isSkinnedMesh&&(r=Math.min(t.skeleton.bones.length,r),r0,shadowMapType:t.shadowMap.type,toneMapping:t.toneMapping,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:r.side===Ch,flipSided:r.side===Ph,depthPacking:void 0!==r.depthPacking&&r.depthPacking};return p},this.getProgramCode=function(t,e){var i=[];if(e.shaderID?i.push(e.shaderID):(i.push(t.fragmentShader),i.push(t.vertexShader)),void 0!==t.defines)for(var n in t.defines)i.push(n),i.push(t.defines[n]);for(var r=0;r65535?Uint32Array:Uint16Array,y=new Kt(new v(o),1);return r(y,t.ELEMENT_ARRAY_BUFFER),n.wireframe=y,y}function u(t,e,i){if(e>i){var n=e;e=i,i=n}var r=t[e];return void 0===r?(t[e]=[i],!0):r.indexOf(i)===-1&&(r.push(i),!0)}var h=new he(t,e,i);return{getAttributeBuffer:s,getWireframeAttribute:c,update:n}}function de(){var t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];var i;switch(e.type){case\"DirectionalLight\":i={direction:new N,color:new Ct,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new I};break;case\"SpotLight\":i={position:new N,direction:new N,color:new Ct,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new I};break;case\"PointLight\":i={position:new N,color:new Ct,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new I};break;case\"HemisphereLight\":i={direction:new N,skyColor:new Ct,groundColor:new Ct}}return t[e.id]=i,i}}}function fe(t,e,i){function n(){if(void 0!==o)return o;var i=e.get(\"EXT_texture_filter_anisotropic\");return o=null!==i?t.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function r(e){if(\"highp\"===e){if(t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return\"highp\";e=\"mediump\"}return\"mediump\"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}var o,a=void 0!==i.precision?i.precision:\"highp\",s=r(a);s!==a&&(console.warn(\"THREE.WebGLRenderer:\",a,\"not supported, using\",s,\"instead.\"),a=s);var c=i.logarithmicDepthBuffer===!0&&!!e.get(\"EXT_frag_depth\"),u=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),h=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=t.getParameter(t.MAX_TEXTURE_SIZE),d=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),f=t.getParameter(t.MAX_VERTEX_ATTRIBS),p=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),m=t.getParameter(t.MAX_VARYING_VECTORS),g=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=h>0,y=!!e.get(\"OES_texture_float\"),b=v&&y;return{getMaxAnisotropy:n,getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:h,maxTextureSize:l,maxCubemapSize:d,maxAttributes:f,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:b}}function pe(t){var e={};return{get:function(i){if(void 0!==e[i])return e[i];var n;switch(i){case\"WEBGL_depth_texture\":n=t.getExtension(\"WEBGL_depth_texture\")||t.getExtension(\"MOZ_WEBGL_depth_texture\")||t.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":n=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":n=t.getExtension(\"WEBGL_compressed_texture_s3tc\")||t.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":n=t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;case\"WEBGL_compressed_texture_etc1\":n=t.getExtension(\"WEBGL_compressed_texture_etc1\");break;default:n=t.getExtension(i)}return null===n&&console.warn(\"THREE.WebGLRenderer: \"+i+\" extension not supported.\"),e[i]=n,n}}}function me(t,e,i){function n(t){s=t}function r(i){i.array instanceof Uint32Array&&e.get(\"OES_element_index_uint\")?(c=t.UNSIGNED_INT,u=4):(c=t.UNSIGNED_SHORT,u=2)}function o(e,n){t.drawElements(s,n,c,e*u),i.calls++,i.vertices+=n,s===t.TRIANGLES&&(i.faces+=n/3)}function a(n,r,o){var a=e.get(\"ANGLE_instanced_arrays\");return null===a?void console.error(\"THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\"):(a.drawElementsInstancedANGLE(s,o,c,r*u,n.maxInstancedCount),i.calls++,i.vertices+=o*n.maxInstancedCount,void(s===t.TRIANGLES&&(i.faces+=n.maxInstancedCount*o/3)))}var s,c,u;return{setMode:n,setIndex:r,render:o,renderInstances:a}}function ge(){function t(){u.value!==n&&(u.value=n,u.needsUpdate=r>0),i.numPlanes=r}function e(t,e,n,r){var o=null!==t?t.length:0,a=null;if(0!==o){if(a=u.value,r!==!0||null===a){var h=n+4*o,l=e.matrixWorldInverse;c.getNormalMatrix(l),(null===a||a.length0?1:-1,p[g]=I.x,p[g+1]=I.y,p[g+2]=I.z,m[v]=O/c,m[v+1]=1-L/h,g+=3,v+=2,T+=1}for(L=0;L65535?Uint32Array:Uint16Array)(l),f=new Float32Array(3*h),p=new Float32Array(3*h),m=new Float32Array(2*h),g=0,v=0,y=0,b=0,x=0;c(\"z\",\"y\",\"x\",-1,-1,i,e,t,o,r,0),c(\"z\",\"y\",\"x\",1,-1,i,e,-t,o,r,1),c(\"x\",\"z\",\"y\",1,1,t,i,e,n,o,2),c(\"x\",\"z\",\"y\",1,-1,t,i,-e,n,o,3),c(\"x\",\"y\",\"z\",1,-1,t,e,i,n,r,4),c(\"x\",\"y\",\"z\",-1,-1,t,e,-i,n,r,5),this.setIndex(new Kt(d,1)),this.addAttribute(\"position\",new Kt(f,3)),this.addAttribute(\"normal\",new Kt(p,3)),this.addAttribute(\"uv\",new Kt(m,2))}function xe(t,e){this.origin=void 0!==t?t:new N,this.direction=void 0!==e?e:new N}function we(t,e){this.start=void 0!==t?t:new N,this.end=void 0!==e?e:new N}function _e(t,e,i){this.a=void 0!==t?t:new N,this.b=void 0!==e?e:new N,this.c=void 0!==i?i:new N}function Se(t){At.call(this),this.type=\"MeshBasicMaterial\",this.color=new Ct(16777215),this.map=null,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ul,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function Ae(t,e){re.call(this),this.type=\"Mesh\",this.geometry=void 0!==t?t:new ue,this.material=void 0!==e?e:new Se({color:16777215*Math.random()}),this.drawMode=vd,this.updateMorphTargets()}function Me(t,e,i,n){ue.call(this),this.type=\"PlaneBufferGeometry\",this.parameters={width:t,height:e,widthSegments:i,heightSegments:n};for(var r=t/2,o=e/2,a=Math.floor(i)||1,s=Math.floor(n)||1,c=a+1,u=s+1,h=t/a,l=e/s,d=new Float32Array(c*u*3),f=new Float32Array(c*u*3),p=new Float32Array(c*u*2),m=0,g=0,v=0;v65535?Uint32Array:Uint16Array)(a*s*6),v=0;v=0){var h=o[c];if(void 0!==h){var l=Ut.FLOAT,d=h.array,f=h.normalized;d instanceof Float32Array?l=Ut.FLOAT:d instanceof Float64Array?console.warn(\"Unsupported data buffer format: Float64Array\"):d instanceof Uint16Array?l=Ut.UNSIGNED_SHORT:d instanceof Int16Array?l=Ut.SHORT:d instanceof Uint32Array?l=Ut.UNSIGNED_INT:d instanceof Int32Array?l=Ut.INT:d instanceof Int8Array?l=Ut.BYTE:d instanceof Uint8Array&&(l=Ut.UNSIGNED_BYTE);var p=h.itemSize,m=Xt.getAttributeBuffer(h);if(h&&h.isInterleavedBufferAttribute){var g=h.data,v=g.stride,y=h.offset;g&&g.isInstancedInterleavedBuffer?(Gt.enableAttributeAndDivisor(u,g.meshPerAttribute,r),void 0===i.maxInstancedCount&&(i.maxInstancedCount=g.meshPerAttribute*g.count)):Gt.enableAttribute(u),Ut.bindBuffer(Ut.ARRAY_BUFFER,m),Ut.vertexAttribPointer(u,p,l,f,v*g.array.BYTES_PER_ELEMENT,(n*v+y)*g.array.BYTES_PER_ELEMENT)}else h&&h.isInstancedBufferAttribute?(Gt.enableAttributeAndDivisor(u,h.meshPerAttribute,r),void 0===i.maxInstancedCount&&(i.maxInstancedCount=h.meshPerAttribute*h.count)):Gt.enableAttribute(u),Ut.bindBuffer(Ut.ARRAY_BUFFER,m),Ut.vertexAttribPointer(u,p,l,f,0,n*p*h.array.BYTES_PER_ELEMENT)}else if(void 0!==s){var b=s[c];if(void 0!==b)switch(b.length){case 2:Ut.vertexAttrib2fv(u,b);break;case 3:Ut.vertexAttrib3fv(u,b);break;case 4:Ut.vertexAttrib4fv(u,b);break;default:Ut.vertexAttrib1fv(u,b)}}}}Gt.disableUnusedAttributes()}function h(t,e){return Math.abs(e[0])-Math.abs(t[0])}function l(t,e){return t.object.renderOrder!==e.object.renderOrder?t.object.renderOrder-e.object.renderOrder:t.material.program&&e.material.program&&t.material.program!==e.material.program?t.material.program.id-e.material.program.id:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function d(t,e){return t.object.renderOrder!==e.object.renderOrder?t.object.renderOrder-e.object.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function f(t,e,i,n,r){var o,a;i.transparent?(o=K,a=++Q):(o=Y,a=++Z);var s=o[a];void 0!==s?(s.id=t.id,s.object=t,s.geometry=e,s.material=i,s.z=kt.z,s.group=r):(s={id:t.id,object:t,geometry:e,material:i,z:kt.z,group:r},o.push(s))}function p(t){var e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Rt.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),g(Rt)}function m(t){return Rt.center.set(0,0,0),Rt.radius=.7071067811865476,Rt.applyMatrix4(t.matrixWorld),g(Rt)}function g(t){if(!Mt.intersectsSphere(t))return!1;var e=Tt.numPlanes;if(0===e)return!0;var i=it.clippingPlanes,n=t.center,r=-t.radius,o=0;do if(i[o].distanceToPoint(n)=0&&t.numSupportedMorphTargets++}if(t.morphNormals){t.numSupportedMorphNormals=0;for(var d=0;d=0&&t.numSupportedMorphNormals++}var f=n.__webglShader.uniforms;!t.isShaderMaterial&&!t.isRawShaderMaterial|t.clipping===!0&&(n.numClippingPlanes=Tt.numPlanes,f.clippingPlanes=Tt.uniform),n.fog=e,n.lightsHash=zt.hash,t.lights&&(f.ambientLightColor.value=zt.ambient,f.directionalLights.value=zt.directional,f.spotLights.value=zt.spot,f.pointLights.value=zt.point,f.hemisphereLights.value=zt.hemi,f.directionalShadowMap.value=zt.directionalShadowMap,f.directionalShadowMatrix.value=zt.directionalShadowMatrix,f.spotShadowMap.value=zt.spotShadowMap,f.spotShadowMatrix.value=zt.spotShadowMatrix,f.pointShadowMap.value=zt.pointShadowMap,f.pointShadowMatrix.value=zt.pointShadowMatrix);var p=n.program.getUniforms(),m=bt.seqWithValue(p.seq,f);n.uniformsList=m,n.dynamicUniforms=bt.splitDynamic(m,f)}function x(t){t.side===Ch?Gt.disable(Ut.CULL_FACE):Gt.enable(Ut.CULL_FACE),Gt.setFlipSided(t.side===Ph),t.transparent===!0?Gt.setBlending(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha):Gt.setBlending(Oh),Gt.setDepthFunc(t.depthFunc),Gt.setDepthTest(t.depthTest),Gt.setDepthWrite(t.depthWrite),Gt.setColorWrite(t.colorWrite),Gt.setPolygonOffset(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits)}function w(t,e,i,n){dt=0;var r=Ht.get(i);if(Et&&(Lt||t!==ct)){var o=t===ct&&i.id===at;Tt.setState(i.clippingPlanes,i.clipShadows,t,r,o)}i.needsUpdate===!1&&(void 0===r.program?i.needsUpdate=!0:i.fog&&r.fog!==e?i.needsUpdate=!0:i.lights&&r.lightsHash!==zt.hash?i.needsUpdate=!0:void 0!==r.numClippingPlanes&&r.numClippingPlanes!==Tt.numPlanes&&(i.needsUpdate=!0)),i.needsUpdate&&(b(i,e,n),i.needsUpdate=!1);var a=!1,s=!1,c=!1,u=r.program,h=u.getUniforms(),l=r.__webglShader.uniforms;if(u.id!==nt&&(Ut.useProgram(u.program),nt=u.id,a=!0,s=!0,c=!0),i.id!==at&&(at=i.id,s=!0),a||t!==ct){if(h.set(Ut,t,\"projectionMatrix\"),Vt.logarithmicDepthBuffer&&h.setValue(Ut,\"logDepthBufFC\",2/(Math.log(t.far+1)/Math.LN2)),t!==ct&&(ct=t,s=!0,c=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.envMap){var d=h.map.cameraPosition;void 0!==d&&d.setValue(Ut,kt.setFromMatrixPosition(t.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.skinning)&&h.setValue(Ut,\"viewMatrix\",t.matrixWorldInverse),h.set(Ut,it,\"toneMappingExposure\"),h.set(Ut,it,\"toneMappingWhitePoint\")}if(i.skinning){h.setOptional(Ut,n,\"bindMatrix\"),h.setOptional(Ut,n,\"bindMatrixInverse\");var f=n.skeleton;f&&(Vt.floatVertexTextures&&f.useVertexTexture?(h.set(Ut,f,\"boneTexture\"),h.set(Ut,f,\"boneTextureWidth\"),h.set(Ut,f,\"boneTextureHeight\")):h.setOptional(Ut,f,\"boneMatrices\"))}s&&(i.lights&&L(l,c),e&&i.fog&&P(l,e),(i.isMeshBasicMaterial||i.isMeshLambertMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.isMeshDepthMaterial)&&_(l,i),i.isLineBasicMaterial?S(l,i):i.isLineDashedMaterial?(S(l,i),A(l,i)):i.isPointsMaterial?M(l,i):i.isMeshLambertMaterial?C(l,i):i.isMeshPhongMaterial?T(l,i):i.isMeshPhysicalMaterial?I(l,i):i.isMeshStandardMaterial?E(l,i):i.isMeshDepthMaterial?i.displacementMap&&(l.displacementMap.value=i.displacementMap,l.displacementScale.value=i.displacementScale,l.displacementBias.value=i.displacementBias):i.isMeshNormalMaterial&&(l.opacity.value=i.opacity),bt.upload(Ut,r.uniformsList,l,it)),h.set(Ut,n,\"modelViewMatrix\"),h.set(Ut,n,\"normalMatrix\"),h.setValue(Ut,\"modelMatrix\",n.matrixWorld);var p=r.dynamicUniforms;return null!==p&&(bt.evalDynamic(p,l,n,t),bt.upload(Ut,p,l,it)),u}function _(t,e){t.opacity.value=e.opacity,t.diffuse.value=e.color,e.emissive&&t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),t.map.value=e.map,t.specularMap.value=e.specularMap,t.alphaMap.value=e.alphaMap,e.aoMap&&(t.aoMap.value=e.aoMap,t.aoMapIntensity.value=e.aoMapIntensity);var i;if(e.map?i=e.map:e.specularMap?i=e.specularMap:e.displacementMap?i=e.displacementMap:e.normalMap?i=e.normalMap:e.bumpMap?i=e.bumpMap:e.roughnessMap?i=e.roughnessMap:e.metalnessMap?i=e.metalnessMap:e.alphaMap?i=e.alphaMap:e.emissiveMap&&(i=e.emissiveMap),void 0!==i){i.isWebGLRenderTarget&&(i=i.texture);var n=i.offset,r=i.repeat;t.offsetRepeat.value.set(n.x,n.y,r.x,r.y)}t.envMap.value=e.envMap,t.flipEnvMap.value=e.envMap&&e.envMap.isCubeTexture?-1:1,t.reflectivity.value=e.reflectivity,t.refractionRatio.value=e.refractionRatio}function S(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity}function A(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}function M(t,e){if(t.diffuse.value=e.color,t.opacity.value=e.opacity,t.size.value=e.size*vt,t.scale.value=.5*U.clientHeight,t.map.value=e.map,null!==e.map){var i=e.map.offset,n=e.map.repeat;t.offsetRepeat.value.set(i.x,i.y,n.x,n.y)}}function P(t,e){t.fogColor.value=e.color,e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)}function C(t,e){e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}function T(t,e){t.specular.value=e.specular,t.shininess.value=Math.max(e.shininess,1e-4),e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function E(t,e){t.roughness.value=e.roughness,t.metalness.value=e.metalness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap),e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}function I(t,e){t.clearCoat.value=e.clearCoat,t.clearCoatRoughness.value=e.clearCoatRoughness,E(t,e)}function L(t,e){t.ambientLightColor.needsUpdate=e,t.directionalLights.needsUpdate=e,t.pointLights.needsUpdate=e,t.spotLights.needsUpdate=e,t.hemisphereLights.needsUpdate=e}function R(t){for(var e=0,i=0,n=t.length;i=Vt.maxTextures&&console.warn(\"WebGLRenderer: trying to use \"+t+\" texture units while this GPU supports only \"+Vt.maxTextures),dt+=1,t}function B(t){var e;if(t===Ml)return Ut.REPEAT;if(t===Pl)return Ut.CLAMP_TO_EDGE;if(t===Cl)return Ut.MIRRORED_REPEAT;if(t===Tl)return Ut.NEAREST;if(t===El)return Ut.NEAREST_MIPMAP_NEAREST;if(t===Il)return Ut.NEAREST_MIPMAP_LINEAR;if(t===Ll)return Ut.LINEAR;if(t===Rl)return Ut.LINEAR_MIPMAP_NEAREST;if(t===Ol)return Ut.LINEAR_MIPMAP_LINEAR;if(t===Dl)return Ut.UNSIGNED_BYTE;if(t===$l)return Ut.UNSIGNED_SHORT_4_4_4_4;if(t===Vl)return Ut.UNSIGNED_SHORT_5_5_5_1;if(t===Gl)return Ut.UNSIGNED_SHORT_5_6_5;if(t===Nl)return Ut.BYTE;if(t===kl)return Ut.SHORT;if(t===Fl)return Ut.UNSIGNED_SHORT;if(t===zl)return Ut.INT;if(t===Bl)return Ut.UNSIGNED_INT;if(t===Ul)return Ut.FLOAT;if(e=$t.get(\"OES_texture_half_float\"),null!==e&&t===jl)return e.HALF_FLOAT_OES;if(t===Wl)return Ut.ALPHA;if(t===Xl)return Ut.RGB;if(t===ql)return Ut.RGBA;if(t===Yl)return Ut.LUMINANCE;if(t===Zl)return Ut.LUMINANCE_ALPHA;if(t===Kl)return Ut.DEPTH_COMPONENT;if(t===Ql)return Ut.DEPTH_STENCIL;if(t===Bh)return Ut.FUNC_ADD;if(t===Uh)return Ut.FUNC_SUBTRACT;if(t===jh)return Ut.FUNC_REVERSE_SUBTRACT;if(t===Gh)return Ut.ZERO;if(t===Hh)return Ut.ONE;if(t===Wh)return Ut.SRC_COLOR;if(t===Xh)return Ut.ONE_MINUS_SRC_COLOR;if(t===qh)return Ut.SRC_ALPHA;if(t===Yh)return Ut.ONE_MINUS_SRC_ALPHA;if(t===Zh)return Ut.DST_ALPHA;if(t===Kh)return Ut.ONE_MINUS_DST_ALPHA;if(t===Qh)return Ut.DST_COLOR;if(t===Jh)return Ut.ONE_MINUS_DST_COLOR;if(t===tl)return Ut.SRC_ALPHA_SATURATE;if(e=$t.get(\"WEBGL_compressed_texture_s3tc\"),null!==e){if(t===Jl)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===td)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===ed)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===id)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e=$t.get(\"WEBGL_compressed_texture_pvrtc\"),null!==e){if(t===nd)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===rd)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===od)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===ad)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e=$t.get(\"WEBGL_compressed_texture_etc1\"),null!==e&&t===sd)return e.COMPRESSED_RGB_ETC1_WEBGL;if(e=$t.get(\"EXT_blend_minmax\"),null!==e){if(t===$h)return e.MIN_EXT;if(t===Vh)return e.MAX_EXT}return e=$t.get(\"WEBGL_depth_texture\"),null!==e&&t===Hl?e.UNSIGNED_INT_24_8_WEBGL:0}console.log(\"THREE.WebGLRenderer\",yh),t=t||{};var U=void 0!==t.canvas?t.canvas:document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),j=void 0!==t.context?t.context:null,$=void 0!==t.alpha&&t.alpha,V=void 0===t.depth||t.depth,G=void 0===t.stencil||t.stencil,H=void 0!==t.antialias&&t.antialias,W=void 0===t.premultipliedAlpha||t.premultipliedAlpha,X=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,q=[],Y=[],Z=-1,K=[],Q=-1,J=new Float32Array(8),tt=[],et=[];this.domElement=U,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=fl,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var it=this,nt=null,rt=null,ot=null,at=-1,st=\"\",ct=null,ut=new wt,ht=null,lt=new wt,dt=0,ft=new Ct(0),pt=0,mt=U.width,gt=U.height,vt=1,yt=new wt(0,0,mt,gt),St=!1,At=new wt(0,0,mt,gt),Mt=new Ot,Tt=new ge,Et=!1,Lt=!1,Rt=new It,Nt=new O,kt=new N,zt={hash:\"\",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},Bt={calls:0,vertices:0,faces:0,points:0};this.info={render:Bt,memory:{geometries:0,textures:0},programs:null};var Ut;try{var jt={alpha:$,depth:V,stencil:G,antialias:H,premultipliedAlpha:W,preserveDrawingBuffer:X};if(Ut=j||U.getContext(\"webgl\",jt)||U.getContext(\"experimental-webgl\",jt),null===Ut)throw null!==U.getContext(\"webgl\")?\"Error creating WebGL context with your selected attributes.\":\"Error creating WebGL context.\";void 0===Ut.getShaderPrecisionFormat&&(Ut.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),U.addEventListener(\"webglcontextlost\",o,!1)}catch(t){console.error(\"THREE.WebGLRenderer: \"+t)}var $t=new pe(Ut);$t.get(\"WEBGL_depth_texture\"),$t.get(\"OES_texture_float\"),$t.get(\"OES_texture_float_linear\"),$t.get(\"OES_texture_half_float\"),$t.get(\"OES_texture_half_float_linear\"),$t.get(\"OES_standard_derivatives\"),$t.get(\"ANGLE_instanced_arrays\"),$t.get(\"OES_element_index_uint\")&&(ue.MaxIndex=4294967296);var Vt=new fe(Ut,$t,t),Gt=new _t(Ut,$t,B),Ht=new Ft,Wt=new xt(Ut,$t,Gt,Ht,Vt,B,this.info),Xt=new le(Ut,Ht,this.info),qt=new Zt(this,Vt),Yt=new de;this.info.programs=qt.programs;var Kt=new ve(Ut,$t,Bt),Qt=new me(Ut,$t,Bt),Jt=new Te(-1,1,1,-1,0,1),te=new Ce,ee=new Ae(new Me(2,2),new Se({depthTest:!1,depthWrite:!1,fog:!1})),ie=Bp.cube,ne=new Ae(new be(5,5,5),new Pt({uniforms:ie.uniforms,vertexShader:ie.vertexShader,fragmentShader:ie.fragmentShader,side:Ph,depthTest:!1,depthWrite:!1,fog:!1}));n(),this.context=Ut,this.capabilities=Vt,this.extensions=$t,this.properties=Ht,this.state=Gt;var re=new Dt(this,zt,Xt,Vt);this.shadowMap=re;var oe=new k(this,tt),ae=new z(this,et);this.getContext=function(){return Ut},this.getContextAttributes=function(){return Ut.getContextAttributes()},this.forceContextLoss=function(){$t.get(\"WEBGL_lose_context\").loseContext()},this.getMaxAnisotropy=function(){return Vt.getMaxAnisotropy()},this.getPrecision=function(){return Vt.precision},this.getPixelRatio=function(){return vt},this.setPixelRatio=function(t){void 0!==t&&(vt=t,this.setSize(At.z,At.w,!1))},this.getSize=function(){return{width:mt,height:gt}},this.setSize=function(t,e,i){mt=t,gt=e,U.width=t*vt,U.height=e*vt,i!==!1&&(U.style.width=t+\"px\",U.style.height=e+\"px\"),this.setViewport(0,0,t,e)},this.setViewport=function(t,e,i,n){Gt.viewport(At.set(t,e,i,n))},this.setScissor=function(t,e,i,n){Gt.scissor(yt.set(t,e,i,n))},this.setScissorTest=function(t){Gt.setScissorTest(St=t)},this.getClearColor=function(){return ft},this.setClearColor=function(t,e){ft.set(t),pt=void 0!==e?e:1,i(ft.r,ft.g,ft.b,pt)},this.getClearAlpha=function(){return pt},this.setClearAlpha=function(t){pt=t,i(ft.r,ft.g,ft.b,pt)},this.clear=function(t,e,i){var n=0;(void 0===t||t)&&(n|=Ut.COLOR_BUFFER_BIT),(void 0===e||e)&&(n|=Ut.DEPTH_BUFFER_BIT),(void 0===i||i)&&(n|=Ut.STENCIL_BUFFER_BIT),Ut.clear(n)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(t,e,i,n){this.setRenderTarget(t),this.clear(e,i,n)},this.resetGLState=r,this.dispose=function(){K=[],Q=-1,Y=[],Z=-1,U.removeEventListener(\"webglcontextlost\",o,!1)},this.renderBufferImmediate=function(t,e,i){Gt.initAttributes();var n=Ht.get(t);t.hasPositions&&!n.position&&(n.position=Ut.createBuffer()),t.hasNormals&&!n.normal&&(n.normal=Ut.createBuffer()),t.hasUvs&&!n.uv&&(n.uv=Ut.createBuffer()),t.hasColors&&!n.color&&(n.color=Ut.createBuffer());var r=e.getAttributes();if(t.hasPositions&&(Ut.bindBuffer(Ut.ARRAY_BUFFER,n.position),Ut.bufferData(Ut.ARRAY_BUFFER,t.positionArray,Ut.DYNAMIC_DRAW),Gt.enableAttribute(r.position),Ut.vertexAttribPointer(r.position,3,Ut.FLOAT,!1,0,0)),t.hasNormals){if(Ut.bindBuffer(Ut.ARRAY_BUFFER,n.normal),!i.isMeshPhongMaterial&&!i.isMeshStandardMaterial&&i.shading===Th)for(var o=0,a=3*t.count;o8&&(f.length=8);for(var v=n.morphAttributes,p=0,m=f.length;p0&&_.renderInstances(n,E,L):_.render(E,L)},this.render=function(t,e,n,r){if((e&&e.isCamera)===!1)return void console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");var o=t.fog;st=\"\",at=-1,ct=null,t.autoUpdate===!0&&t.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),e.matrixWorldInverse.getInverse(e.matrixWorld),Nt.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),Mt.setFromMatrix(Nt),q.length=0,Z=-1,Q=-1,tt.length=0,et.length=0,Lt=this.localClippingEnabled,Et=Tt.init(this.clippingPlanes,Lt,e),v(t,e),Y.length=Z+1,K.length=Q+1,it.sortObjects===!0&&(Y.sort(l),K.sort(d)),Et&&Tt.beginShadows(),R(q),re.render(t,e),D(q,e),Et&&Tt.endShadows(),Bt.calls=0,Bt.vertices=0,Bt.faces=0,Bt.points=0,void 0===n&&(n=null),this.setRenderTarget(n);var a=t.background;if(null===a?i(ft.r,ft.g,ft.b,pt):a&&a.isColor&&(i(a.r,a.g,a.b,1),r=!0),(this.autoClear||r)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil),a&&a.isCubeTexture?(te.projectionMatrix.copy(e.projectionMatrix),te.matrixWorld.extractRotation(e.matrixWorld),te.matrixWorldInverse.getInverse(te.matrixWorld),ne.material.uniforms.tCube.value=a,ne.modelViewMatrix.multiplyMatrices(te.matrixWorldInverse,ne.matrixWorld),Xt.update(ne),it.renderBufferDirect(te,null,ne.geometry,ne.material,ne,null)):a&&a.isTexture&&(ee.material.map=a,Xt.update(ee),it.renderBufferDirect(Jt,null,ee.geometry,ee.material,ee,null)),t.overrideMaterial){var s=t.overrideMaterial;y(Y,e,o,s),y(K,e,o,s)}else Gt.setBlending(Oh),y(Y,e,o),y(K,e,o);oe.render(t,e),ae.render(t,e,lt),n&&Wt.updateRenderTargetMipmap(n),Gt.setDepthTest(!0),Gt.setDepthWrite(!0),Gt.setColorWrite(!0)},this.setFaceCulling=function(t,e){Gt.setCullFace(t),Gt.setFlipSided(e===_h)},this.allocTextureUnit=F,this.setTexture2D=function(){var t=!1;return function(e,i){e&&e.isWebGLRenderTarget&&(t||(console.warn(\"THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead.\"),t=!0),e=e.texture),Wt.setTexture2D(e,i)}}(),this.setTexture=function(){var t=!1;return function(e,i){t||(console.warn(\"THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead.\"),t=!0),Wt.setTexture2D(e,i)}}(),this.setTextureCube=function(){var t=!1;return function(e,i){e&&e.isWebGLRenderTargetCube&&(t||(console.warn(\"THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead.\"),t=!0),e=e.texture),e&&e.isCubeTexture||Array.isArray(e.image)&&6===e.image.length?Wt.setTextureCube(e,i):Wt.setTextureCubeDynamic(e,i)}}(),this.getCurrentRenderTarget=function(){return rt},this.setRenderTarget=function(t){rt=t,t&&void 0===Ht.get(t).__webglFramebuffer&&Wt.setupRenderTarget(t);var e,i=t&&t.isWebGLRenderTargetCube;if(t){var n=Ht.get(t);e=i?n.__webglFramebuffer[t.activeCubeFace]:n.__webglFramebuffer,ut.copy(t.scissor),ht=t.scissorTest,lt.copy(t.viewport)}else e=null,ut.copy(yt).multiplyScalar(vt),ht=St,lt.copy(At).multiplyScalar(vt);if(ot!==e&&(Ut.bindFramebuffer(Ut.FRAMEBUFFER,e),ot=e),Gt.scissor(ut),Gt.setScissorTest(ht),Gt.viewport(lt),i){var r=Ht.get(t.texture);Ut.framebufferTexture2D(Ut.FRAMEBUFFER,Ut.COLOR_ATTACHMENT0,Ut.TEXTURE_CUBE_MAP_POSITIVE_X+t.activeCubeFace,r.__webglTexture,t.activeMipMapLevel)}},this.readRenderTargetPixels=function(t,e,i,n,r,o){if((t&&t.isWebGLRenderTarget)===!1)return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");var a=Ht.get(t).__webglFramebuffer;if(a){var s=!1;a!==ot&&(Ut.bindFramebuffer(Ut.FRAMEBUFFER,a),s=!0);try{var c=t.texture,u=c.format,h=c.type;if(u!==ql&&B(u)!==Ut.getParameter(Ut.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");if(!(h===Dl||B(h)===Ut.getParameter(Ut.IMPLEMENTATION_COLOR_READ_TYPE)||h===Ul&&($t.get(\"OES_texture_float\")||$t.get(\"WEBGL_color_buffer_float\"))||h===jl&&$t.get(\"EXT_color_buffer_half_float\")))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");Ut.checkFramebufferStatus(Ut.FRAMEBUFFER)===Ut.FRAMEBUFFER_COMPLETE?e>=0&&e<=t.width-n&&i>=0&&i<=t.height-r&&Ut.readPixels(e,i,n,r,B(u),B(h),o):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{s&&Ut.bindFramebuffer(Ut.FRAMEBUFFER,ot)}}}}function Ie(t,e){this.name=\"\",this.color=new Ct(t),this.density=void 0!==e?e:25e-5}function Le(t,e,i){this.name=\"\",this.color=new Ct(t),this.near=void 0!==e?e:1,this.far=void 0!==i?i:1e3}function Re(){re.call(this),this.type=\"Scene\",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function Oe(t,e,i,n,r){re.call(this),this.lensFlares=[],this.positionScreen=new N,this.customUpdateCallback=void 0,void 0!==t&&this.add(t,e,i,n,r)}function De(t){At.call(this),this.type=\"SpriteMaterial\",this.color=new Ct(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(t)}function Ne(t){re.call(this),this.type=\"Sprite\",this.material=void 0!==t?t:new De}function ke(){re.call(this),this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Fe(t,e,i,n,r,o,a,s,c,u,h,l){L.call(this,null,o,a,s,c,u,n,r,h,l),this.image={data:t,width:e,height:i},this.magFilter=void 0!==c?c:Tl,this.minFilter=void 0!==u?u:Tl,this.flipY=!1,this.generateMipmaps=!1}function ze(t,e,i){if(this.useVertexTexture=void 0===i||i,this.identityMatrix=new O,t=t||[],this.bones=t.slice(0),this.useVertexTexture){var n=Math.sqrt(4*this.bones.length);n=Ed.nextPowerOfTwo(Math.ceil(n)),n=Math.max(n,4),this.boneTextureWidth=n,this.boneTextureHeight=n,this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4),this.boneTexture=new Fe(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,ql,Ul)}else this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn(\"THREE.Skeleton bonInverses is the wrong length.\"),this.boneInverses=[];for(var r=0,o=this.bones.length;r0)&&S.push(A,M,C),(m!==i-1||s65535?Jt:Qt)(S,1)),this.addAttribute(\"position\",u),this.addAttribute(\"normal\",h),this.addAttribute(\"uv\",l),this.boundingSphere=new It(new N,t)}function hn(t,e,i,n,r,o,a){ae.call(this),this.type=\"SphereGeometry\",this.parameters={radius:t,widthSegments:e,heightSegments:i,phiStart:n,phiLength:r,thetaStart:o,thetaLength:a},this.fromBufferGeometry(new un(t,e,i,n,r,o,a))}function ln(t,e){re.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.colors=[new Ct,new Ct];var i=new hn(e,4,2);i.rotateX(-Math.PI/2);for(var n=0,r=8;n0&&f++,e>0&&f++);var p=c(),m=u(),g=new Kt(new(m>65535?Uint32Array:Uint16Array)(m),1),v=new Kt(new Float32Array(3*p),3),y=new Kt(new Float32Array(3*p),3),b=new Kt(new Float32Array(2*p),2),x=0,w=0,_=[],S=i/2,A=0;h(),o===!1&&(t>0&&l(!0),e>0&&l(!1)),this.setIndex(g),this.addAttribute(\"position\",v),this.addAttribute(\"normal\",y),this.addAttribute(\"uv\",b)}function bn(t,e,i,n,r,o){re.call(this),void 0===n&&(n=16776960),void 0===i&&(i=1),void 0===r&&(r=.2*i),void 0===o&&(o=.2*r),this.position.copy(e),this.line=new $e(Kp,new je({color:n})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Ae(Qp,new Se({color:n})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(i,r,o)}function xn(t,e,i,n){function r(t){var e=t.normalize().clone();e.index=h.vertices.push(e)-1;var i=s(t)/2/Math.PI+.5,n=c(t)/Math.PI+.5;return e.uv=new I(i,1-n),e}function o(t,e,i){var n=new ee(t.index,e.index,i.index,[t.clone(),e.clone(),i.clone()]);h.faces.push(n),b.copy(t).add(e).add(i).divideScalar(3);var r=s(b);h.faceVertexUvs[0].push([u(t.uv,t,r),u(e.uv,e,r),u(i.uv,i,r)])}function a(t,e){for(var i=Math.pow(2,e),n=r(h.vertices[t.a]),a=r(h.vertices[t.b]),s=r(h.vertices[t.c]),c=[],u=0;u<=i;u++){c[u]=[];for(var l=r(n.clone().lerp(s,u/i)),d=r(a.clone().lerp(s,u/i)),f=i-u,p=0;p<=f;p++)0===p&&u===i?c[u][p]=l:c[u][p]=r(l.clone().lerp(d,p/f))}for(var u=0;u.9&&M<.1&&(w<.2&&(x[0].x+=1),_<.2&&(x[1].x+=1),S<.2&&(x[2].x+=1))}for(var l=0,d=this.vertices.length;l65535?Uint32Array:Uint16Array)(h),1),d=new Kt(new Float32Array(3*u),3),f=new Kt(new Float32Array(3*u),3),p=new Kt(new Float32Array(2*u),2),m=0,g=0,v=new N,y=new N,b=new I,x=new N,w=new N,_=new N,S=new N,A=new N;for(s=0;s<=i;++s){var M=s/i*r*Math.PI*2;for(a(M,r,o,t,x),a(M+.01,r,o,t,w),S.subVectors(w,x),A.addVectors(w,x),_.crossVectors(S,A),A.crossVectors(_,S),_.normalize(),A.normalize(),c=0;c<=n;++c){var P=c/n*Math.PI*2,C=-e*Math.cos(P),T=e*Math.sin(P);v.x=x.x+(C*A.x+T*_.x),v.y=x.y+(C*A.y+T*_.y),v.z=x.z+(C*A.z+T*_.z),d.setXYZ(m,v.x,v.y,v.z),y.subVectors(v,x).normalize(),f.setXYZ(m,y.x,y.y,y.z),\nb.x=s/i,b.y=c/n,p.setXY(m,b.x,b.y),m++}}for(c=1;c<=i;c++)for(s=1;s<=n;s++){var E=(n+1)*(c-1)+(s-1),L=(n+1)*c+(s-1),R=(n+1)*c+s,O=(n+1)*(c-1)+s;l.setX(g,E),g++,l.setX(g,L),g++,l.setX(g,O),g++,l.setX(g,L),g++,l.setX(g,R),g++,l.setX(g,O),g++}this.setIndex(l),this.addAttribute(\"position\",d),this.addAttribute(\"normal\",f),this.addAttribute(\"uv\",p)}function Sn(t,e,i,n,r){ue.call(this),this.type=\"TorusBufferGeometry\",this.parameters={radius:t,tube:e,radialSegments:i,tubularSegments:n,arc:r},t=t||100,e=e||40,i=Math.floor(i)||8,n=Math.floor(n)||6,r=r||2*Math.PI;var o,a,s=(i+1)*(n+1),c=i*n*2*3,u=new(c>65535?Uint32Array:Uint16Array)(c),h=new Float32Array(3*s),l=new Float32Array(3*s),d=new Float32Array(2*s),f=0,p=0,m=0,g=new N,v=new N,y=new N;for(o=0;o<=i;o++)for(a=0;a<=n;a++){var b=a/n*r,x=o/i*Math.PI*2;v.x=(t+e*Math.cos(x))*Math.cos(b),v.y=(t+e*Math.cos(x))*Math.sin(b),v.z=e*Math.sin(x),h[f]=v.x,h[f+1]=v.y,h[f+2]=v.z,g.x=t*Math.cos(b),g.y=t*Math.sin(b),y.subVectors(v,g).normalize(),l[f]=y.x,l[f+1]=y.y,l[f+2]=y.z,d[p]=a/n,d[p+1]=o/i,f+=3,p+=2}for(o=1;o<=i;o++)for(a=1;a<=n;a++){var w=(n+1)*o+a-1,_=(n+1)*(o-1)+a-1,S=(n+1)*(o-1)+a,A=(n+1)*o+a;u[m]=w,u[m+1]=_,u[m+2]=A,u[m+3]=_,u[m+4]=S,u[m+5]=A,m+=6}this.setIndex(new Kt(u,1)),this.addAttribute(\"position\",new Kt(h,3)),this.addAttribute(\"normal\",new Kt(l,3)),this.addAttribute(\"uv\",new Kt(d,2))}function An(t,e,i,n,r,o){ue.call(this),this.type=\"RingBufferGeometry\",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:n,thetaStart:r,thetaLength:o},t=t||20,e=e||50,r=void 0!==r?r:0,o=void 0!==o?o:2*Math.PI,i=void 0!==i?Math.max(3,i):8,n=void 0!==n?Math.max(1,n):1;var a,s,c,u=(i+1)*(n+1),h=i*n*2*3,l=new Kt(new(h>65535?Uint32Array:Uint16Array)(h),1),d=new Kt(new Float32Array(3*u),3),f=new Kt(new Float32Array(3*u),3),p=new Kt(new Float32Array(2*u),2),m=0,g=0,v=t,y=(e-t)/n,b=new N,x=new I;for(s=0;s<=n;s++){for(c=0;c<=i;c++)a=r+c/i*o,b.x=v*Math.cos(a),b.y=v*Math.sin(a),d.setXYZ(m,b.x,b.y,b.z),f.setXYZ(m,0,0,1),x.x=(b.x/e+1)/2,x.y=(b.y/e+1)/2,p.setXY(m,x.x,x.y),m++;v+=y}for(s=0;s65535?Uint32Array:Uint16Array)(c),1),h=new Kt(new Float32Array(3*s),3),l=new Kt(new Float32Array(2*s),2),d=0,f=0,p=1/e,m=new N,g=new I;for(o=0;o<=e;o++){var v=i+o*p*n,y=Math.sin(v),b=Math.cos(v);for(a=0;a<=t.length-1;a++)m.x=t[a].x*y,m.y=t[a].y,m.z=t[a].x*b,h.setXYZ(d,m.x,m.y,m.z),g.x=o/e,g.y=a/(t.length-1),l.setXY(d,g.x,g.y),d++}for(o=0;o=0&&e<=7&&Fv[t]?Fv[t][e]:Array(e+1).join(t)}function xr(t,e){function i(){f=[],r(),o(),a()}function n(t,e){return void 0!==t?t:e}function r(){f.push(vr(\"TITEL %-74s\",t.name))}function o(){d.forEach(function(t){f.push(vr(\"REMARK %-73s\",t))}),t.trajectory&&(f.push(vr(\"REMARK %-73s\",\"Trajectory '\"+t.trajectory.name+\"'\")),f.push(vr(\"REMARK %-73s\",\"Frame \"+t.trajectory.frame)))}function a(){var e=1,i=1;t.eachModel(function(t){f.push(vr(\"MODEL %-74d\",i++)),t.eachAtom(function(t){var i=t.hetero?m:p,r=l?e:t.serial,o=t.atomname;1===o.length&&(o=\" \"+o),f.push(vr(i,r,o,t.resname,n(t.chainname,\" \"),t.resno,t.x,t.y,t.z,n(t.occurence,1),n(t.bfactor,0),n(t.segid,\"\"),n(t.element,\"\"))),e+=1}),f.push(vr(\"%-80s\",\"ENDMDL\")),i+=1}),f.push(vr(\"%-80s\",\"END\"))}function s(){return i(),f.join(\"\\n\")}function c(){return new Blob([s()],{type:\"text/plain\"})}function u(t,e){t=t||\"structure\",e=e||\"pdb\";var i=t+\".\"+e,n=c();v(n,i)}var h=Object.assign({},e),l=void 0===h.renumberSerial||h.renumberSerial,d=h.remarks||[];Array.isArray(d)||(d=[d]);var f,p=\"ATOM %5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s\",m=\"HETATM%5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s\";this.getString=s,this.getBlob=c,this.download=u}function wr(){this.count=0,this.signals={countChanged:new Rn}}function _r(t){this.name=t||\"\",this.nextGid=1,this.objectList=[],this.rangeList=[]}function Sr(){this.signals={updated:new Rn},this.begin(),this.maxDuration=-(1/0),this.minDuration=1/0,this.avgDuration=14,this.lastDuration=1/0,this.prevFpsTime=0,this.lastFps=1/0,this.lastFrames=1,this.frames=0,this.count=0}function Ar(t,e){function i(t){d.enabled!==!1&&(v=g,g===f.NONE&&(t.keyCode!==d.keys[f.ROTATE]||d.noRotate?t.keyCode!==d.keys[f.ZOOM]||d.noZoom?t.keyCode!==d.keys[f.PAN]||d.noPan||(g=f.PAN):g=f.ZOOM:g=f.ROTATE))}function n(){d.enabled!==!1&&(g=v)}function r(t){d.enabled!==!1&&(g===f.NONE&&(g=t.button),g!==f.ROTATE||d.noRotate?g!==f.ZOOM||d.noZoom?g!==f.PAN||d.noPan||(C.copy(O(t.pageX,t.pageY)),T.copy(C)):(S.copy(O(t.pageX,t.pageY)),A.copy(S)):(x.copy(k(t.pageX,t.pageY)),b.copy(x)),document.addEventListener(\"mousemove\",o,!1),document.addEventListener(\"mouseup\",a,!1),d.dispatchEvent(L))}function o(t){d.enabled!==!1&&(g!==f.ROTATE||d.noRotate?g!==f.ZOOM||d.noZoom?g!==f.PAN||d.noPan||T.copy(O(t.pageX,t.pageY)):A.copy(O(t.pageX,t.pageY)):(b.copy(x),x.copy(k(t.pageX,t.pageY))))}function a(){d.enabled!==!1&&(g=f.NONE,document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",a),d.dispatchEvent(R))}function s(t){if(d.enabled!==!1){var e=0;e=t.wheelDelta?t.wheelDelta/40:t.detail?-t.detail/3:-t.deltaY/(t.deltaMode?.33:30),S.y+=.01*e,d.dispatchEvent(L),d.dispatchEvent(R)}}function c(t){if(d.enabled!==!1){switch(t.touches.length){case 1:g=f.TOUCH_ROTATE,x.copy(k(t.touches[0].pageX,t.touches[0].pageY)),b.copy(x);break;default:g=f.TOUCH_ZOOM_PAN;var e=t.touches[0].pageX-t.touches[1].pageX,i=t.touches[0].pageY-t.touches[1].pageY;P=M=Math.sqrt(e*e+i*i);var n=(t.touches[0].pageX+t.touches[1].pageX)/2,r=(t.touches[0].pageY+t.touches[1].pageY)/2;C.copy(O(n,r)),T.copy(C)}d.dispatchEvent(L)}}function u(t){if(d.enabled!==!1)switch(t.touches.length){case 1:b.copy(x),x.copy(k(t.touches[0].pageX,t.touches[0].pageY));break;default:var e=t.touches[0].pageX-t.touches[1].pageX,i=t.touches[0].pageY-t.touches[1].pageY;P=Math.sqrt(e*e+i*i);var n=(t.touches[0].pageX+t.touches[1].pageX)/2,r=(t.touches[0].pageY+t.touches[1].pageY)/2;T.copy(O(n,r))}}function h(t){if(d.enabled!==!1){switch(t.touches.length){case 0:g=f.NONE;break;case 1:g=f.TOUCH_ROTATE,x.copy(k(t.touches[0].pageX,t.touches[0].pageY)),b.copy(x)}d.dispatchEvent(R)}}function l(t){t.preventDefault()}var d=this,f={NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4};this.object=t,this.domElement=void 0!==e?e:document,this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=[65,83,68],this.target=new N;var p=1e-6,m=new N,g=f.NONE,v=f.NONE,y=new N,b=new I,x=new I,w=new N,_=0,S=new I,A=new I,M=0,P=0,C=new I,T=new I;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone();var E={type:\"change\"},L={type:\"start\"},R={type:\"end\"};this.handleResize=function(){if(this.domElement===document)this.screen.left=0,this.screen.top=0,this.screen.width=window.innerWidth,this.screen.height=window.innerHeight;else{var t=this.domElement.getBoundingClientRect(),e=this.domElement.ownerDocument.documentElement;this.screen.left=t.left+window.pageXOffset-e.clientLeft,this.screen.top=t.top+window.pageYOffset-e.clientTop,this.screen.width=t.width,this.screen.height=t.height}},this.handleEvent=function(t){\"function\"==typeof this[t.type]&&this[t.type](t)};var O=function(){var t=new I;return function(e,i){return t.set((e-d.screen.left)/d.screen.width,(i-d.screen.top)/d.screen.height),t}}(),k=function(){var t=new I;return function(e,i){return t.set((e-.5*d.screen.width-d.screen.left)/(.5*d.screen.width),(d.screen.height+2*(d.screen.top-i))/d.screen.width),t}}();this.rotateCamera=function(){var t,e=new N,i=new D,n=new N,r=new N,o=new N,a=new N;return function(){a.set(x.x-b.x,x.y-b.y,0),t=a.length(),t?(y.copy(d.object.position).sub(d.target),n.copy(y).normalize(),r.copy(d.object.up).normalize(),o.crossVectors(r,n).normalize(),r.setLength(x.y-b.y),o.setLength(x.x-b.x),a.copy(r.add(o)),e.crossVectors(a,y).normalize(),t*=d.rotateSpeed,i.setFromAxisAngle(e,t),y.applyQuaternion(i),d.object.up.applyQuaternion(i),w.copy(e),_=t):!d.staticMoving&&_&&(_*=Math.sqrt(1-d.dynamicDampingFactor),y.copy(d.object.position).sub(d.target),i.setFromAxisAngle(w,_),y.applyQuaternion(i),d.object.up.applyQuaternion(i)),b.copy(x)}}(),this.zoomCamera=function(){var t;g===f.TOUCH_ZOOM_PAN?(t=M/P,M=P,y.multiplyScalar(t),void 0===d.object.fov&&(d.object.zoom*=t)):(t=1+(A.y-S.y)*d.zoomSpeed,1!==t&&t>0&&(y.multiplyScalar(t),void 0===d.object.fov&&(d.object.zoom/=t),d.staticMoving?S.copy(A):S.y+=(A.y-S.y)*this.dynamicDampingFactor))},this.panCamera=function(){var t=new I,e=new N,i=new N;return function(){if(t.copy(T).sub(C),t.lengthSq()){if(void 0===d.object.fov){var n=(d.object.right-d.object.left)/d.object.zoom,r=(d.object.top-d.object.bottom)/d.object.zoom;t.x*=n,t.y*=r}else t.multiplyScalar(y.length()*d.panSpeed);i.copy(y).cross(d.object.up).setLength(t.x),i.add(e.copy(d.object.up).setLength(t.y)),d.object.position.add(i),d.target.add(i),d.staticMoving?C.copy(T):C.add(t.subVectors(T,C).multiplyScalar(d.dynamicDampingFactor))}}}(),this.checkDistances=function(){d.noZoom&&d.noPan||(y.lengthSq()>d.maxDistance*d.maxDistance&&(d.object.position.addVectors(d.target,y.setLength(d.maxDistance)),S.copy(A)),y.lengthSq()p&&(d.dispatchEvent(E),m.copy(d.object.position))},this.reset=function(){g=f.NONE,v=f.NONE,d.target.copy(d.target0),d.object.position.copy(d.position0),d.object.up.copy(d.up0),y.subVectors(d.object.position,d.target),d.object.lookAt(d.target),d.dispatchEvent(E),m.copy(d.object.position)},this.dispose=function(){this.domElement.removeEventListener(\"contextmenu\",l,!1),this.domElement.removeEventListener(\"mousedown\",r,!1),this.domElement.removeEventListener(\"mousewheel\",s,!1),this.domElement.removeEventListener(\"wheel\",s,!1),this.domElement.removeEventListener(\"MozMousePixelScroll\",s,!1),this.domElement.removeEventListener(\"touchstart\",c,!1),this.domElement.removeEventListener(\"touchend\",h,!1),this.domElement.removeEventListener(\"touchmove\",u,!1),document.removeEventListener(\"mousemove\",o,!1),document.removeEventListener(\"mouseup\",a,!1),window.removeEventListener(\"keydown\",i,!1),window.removeEventListener(\"keyup\",n,!1)},this.domElement.addEventListener(\"contextmenu\",l,!1),this.domElement.addEventListener(\"mousedown\",r,!1),this.domElement.addEventListener(\"mousewheel\",s,!1),this.domElement.addEventListener(\"wheel\",s,!1),this.domElement.addEventListener(\"MozMousePixelScroll\",s,!1),this.domElement.addEventListener(\"touchstart\",c,!1),this.domElement.addEventListener(\"touchend\",h,!1),this.domElement.addEventListener(\"touchmove\",u,!1),window.addEventListener(\"keydown\",i,!1),window.addEventListener(\"keyup\",n,!1),this.handleResize(),this.update()}function Mr(t){if(void 0===t)return\"\";var e=[];for(var i in t){var n=t[i];n!==!1&&e.push(\"#define \"+i+\" \"+n)}return e.join(\"\\n\")+\"\\n\"}function Pr(t,e){e=e||{};var i=t+\"|\";for(var n in e)i+=n+\":\"+e[n];if(!Bv[i]){var r=Mr(e),o=Ov.get(\"shader/\"+t);if(!o)throw\"empty shader, '\"+t+\"'\";o=o.replace(zv,function(t,e){var i=\"shader/chunk/\"+e+\".glsl\",n=Ov.get(i)||kp[e];return n?n:\"\"}),Bv[i]=r+o}return Bv[i]}function Cr(t,e,i,n){function r(e){var n=e%u,r=Math.floor(e/u),o=n*m,a=r*g;i.camera.setViewOffset(m*u,g*u,o,a,m,g),i.render(),h?v.drawImage(t.domElement,Math.floor(o/2),Math.floor(a/2),Math.ceil(m/2),Math.ceil(g/2)):v.drawImage(t.domElement,Math.floor(o),Math.floor(a),Math.ceil(m),Math.ceil(g)),\"function\"==typeof l&&l(e+1,f,!1)}function o(){i.setSampling(y),i.camera.view=null,\"function\"==typeof d&&d(f+1,f,!1)}function a(){for(var t=0;t<=f;++t)t===f?o():r(t)}function s(){function t(){e===f?o():r(e),e+=1}for(var e=0,i=0;i<=f;++i)setTimeout(t,0,i)}var c=n||{},u=void 0!==c.factor?c.factor:2,h=void 0!==c.antialias&&c.antialias,l=c.onProgress,d=c.onFinish;h&&(u*=2);var f=u*u,p=document.createElement(\"canvas\"),m=i.width,g=i.height;h?(p.width=m*u/2,p.height=g*u/2):(p.width=m*u,p.height=g*u);var v=p.getContext(\"2d\"),y=i.sampleLevel;i.setSampling(-1),this.render=a,this.renderAsync=s,this.canvas=p}function Tr(t,e,i,n,r){i=i||1,n=n||0;var o,a,s,c=r?r.length:t.length/i,u=0,h=0;if(r)for(a=0;ae?1:t=u&&e(t[o],l)>0;)t[o+1]=t[o],--o;t[o+1]=l}if(c===-1)break;h=s[c--],u=s[c--]}else{var f=u+h>>1;for(o=u+1,a=h,r(f,o),e(t[u],t[h])>0&&r(u,h),e(t[o],t[h])>0&&r(o,h),e(t[u],t[o])>0&&r(u,o),l=t[o];;){do o++;while(e(t[o],l)<0);do a--;while(e(t[a],l)>0);if(a=a-u?(s[++c]=o,s[++c]=h,h=a-1):(s[++c]=u,s[++c]=a-1,u=o)}return t}function kr(t,e,i,n,r){var o,a,s,c,u=t.height,h=t.width,l=t.getContext(\"2d\"),d=l.getImageData(0,0,h,u).data;for(s=!1,a=0;a=0;a--){for(o=h-1;o>=0;o--)if(c=4*(a*h+o),d[c]!==e||d[c+1]!==i||d[c+2]!==n||d[c+3]!==r){s=!0;break}if(s)break}var m=a;for(s=!1,o=h-1;o>=0;o--){for(a=u-1;a>=0;a--)if(c=4*(a*h+o),d[c]!==e||d[c+1]!==i||d[c+2]!==n||d[c+3]!==r){s=!0;break}if(s)break}var g=o,v=document.createElement(\"canvas\");v.width=g-p,v.height=m-f;var y=v.getContext(\"2d\");return y.drawImage(t,p,f,v.width,v.height,0,0,v.width,v.height),v}function Fr(t,e){function i(e){var i=s;c&&(i*=2),e&&(i=1/i),t.scene.traverse(function(t){var e=t.material;e&&e.linewidth&&(e.linewidth*=i),e&&e.uniforms&&e.uniforms.size&&void 0===e.uniforms.size.__seen&&(e.uniforms.size.value*=i,e.uniforms.size.__seen=!0)}),t.scene.traverse(function(t){var e=t.material;e&&e.uniforms&&e.uniforms.size&&delete e.uniforms.size.__seen})}function n(t){if(a){var e=f,i=0|(u?0:255*e.r),n=0|(u?0:255*e.g),r=0|(u?0:255*e.b),o=0|(u?0:255);return kr(t,i,n,r,o)}return t}function r(t,e,i){\"function\"==typeof o.onProgress&&o.onProgress(t,e,i)}var o=e||{},a=void 0!==o.trim&&o.trim,s=void 0!==o.factor?o.factor:1,c=void 0!==o.antialias&&o.antialias,u=void 0!==o.transparent&&o.transparent,h=t.renderer,l=t.camera,d=h.getClearAlpha(),f=h.getClearColor();return new Promise(function(e){function o(o,s){var c=n(a.canvas);c.toBlob(function(n){h.setClearAlpha(d),i(!0),t.requestRender(),r(s,s,!0),e(n)},\"image/png\")}var a=new Cr(h,l,t,{factor:s,antialias:c,onProgress:r,onFinish:o});h.setClearAlpha(u?0:1),i(),a.renderAsync()})}function zr(t,e){var i;t.traverseVisible(function(t){if(t instanceof He&&t.sortParticles){var n=t.geometry.attributes,r=n.position.count;if(0!==r){$v.multiplyMatrices(e.matrixWorldInverse,t.matrixWorld),Vv.multiplyMatrices(e.projectionMatrix,$v);var o,a,s,c;for(t.userData.sortData?(o=t.userData.sortData,s=o.__zArray,a=o.__sortArray,c=o.__cmpFn):(s=new Float32Array(r),a=new Uint32Array(r),c=function(t,e){var i=s[t],n=s[e];return i>n?1:i500&&!Q&&K<3&&K!==-1){var i=K;K=3,Z=!0,B(),Q=!0,K=i,t.Debug&&Pv.log(\"rendered still frame\")}var n=et;n.spinAxis&&n.spinAngle&&(Dt(n.spinAxis,n.spinAngle*it.lastDuration/16),T()),requestAnimationFrame(C)}function T(){Z||(performance.now()-it.startTime>22&&(it.begin(),Q=!1),Z=!0,requestAnimationFrame(function(){B(),it.update()}))}function E(){var t=et;J=Rt.copy(ot.position).sub(At.target).length(),J||(ot.position.set(0,0,t.cameraZ),J=Math.abs(t.cameraZ)),tt=Math.max(10,.5*Lt),tt+=Tt.center(Rt).length(),(tt===1/0||tt===-(1/0)||isNaN(tt))&&(tt=50);var e=(50-t.clipNear)/50,i=-(50-t.clipFar)/50;ot.near=J-tt*e,ot.far=J+tt*i;var n=(50-t.fogNear)/50,r=-(50-t.fogFar)/50,o=at.fog;o.color.set(t.fogColor),o.near=J-tt*n,o.far=J+tt*r,\"PerspectiveCamera\"===ot.type?(ot.near=Math.max(.1,t.clipDist,ot.near),ot.far=Math.max(1,ot.far),o.near=Math.max(.1,o.near),o.far=Math.max(1,o.far)):\"OrthographicCamera\"===ot.type&&0===t.clipNear&&t.clipDist>0&&J+ot.zoom>2*-t.clipDist&&(ot.near+=ot.zoom+t.clipDist)}function I(){E();var t=Dn(nt.fov),e=(ot.near+ot.far)/2,i=2*Math.tan(t/2)*e;rt.zoom=X/i}function L(){ot.updateMatrix(),ot.updateMatrixWorld(!0),ot.matrixWorldInverse.getInverse(ot.matrixWorld),ot.updateProjectionMatrix(),Br(at,ot,pt,J,tt),zr(at,ot)}function R(t,e,i,n){ht.visible=t,lt.visible=e,dt.visible=i,ft.visible=n}function O(){Rt.copy(ot.position).sub(At.target).setLength(100*Lt),st.position.copy(ot.position).add(Rt),st.color.set(et.lightColor),st.intensity=et.lightIntensity,ct.color.set(et.ambientColor),ct.intensity=et.ambientIntensity}function k(){pt.clearTarget(gt),R(!1,!0,!1,!1),pt.render(at,ot,gt),M(),pt.setRenderTarget(null)}function F(e){e?pt.clearTarget(e):pt.clear(),R(!1,!1,!0,!1),pt.render(at,ot,e),e?pt.clearTarget(e,!1,!0,!1):pt.clearDepth(),M(),R(!0,!1,!1,t.Debug),pt.render(at,ot,e),M()}function z(){var t=Wv[Math.max(0,Math.min(K,5))],e=1/t.length,i=1/32;bt.tForeground.value=vt.texture;for(var n=vt.width,r=vt.height,o=0;o0?z():F(),Y=!1,void(Z=!1))}function U(){Pv.log(\"scene cleared\"),at.remove(ut),o(),pt.clear()}function j(t,e){if(void 0===e?Tt.isEmpty()||kt(Tt.center()):kt(e),t){var i;if(t===!0){var n=It,r=Math.max(n.x,n.y,n.z),o=Math.min(n.x,n.y,n.z);i=r+Math.sqrt(o)}else i=t;var a=Dn(nt.fov),s=W/X,c=Xr&&(r=u),h>o&&(o=h),l>a&&(a=l)}return[Yr([e,i,n]),Yr([r,o,a])]}function Wr(t,e){for(var i=0,n=e.length;ie?(e/=t,t*Math.sqrt(1+e*e)):e>0?(t/=e,e*Math.sqrt(1+t*t)):0}function xo(t,e,i,n,r,o,a,s){for(var c=2*Kv,u=Qv,h=0,l=0,d=0,f=0,p=Math.max(o,30),m=0,g=0,v=0,y=0,b=0,x=0,w=0,_=0,S=0,A=0,M=0,P=0,C=0,T=0,E=0,I=0,L=0,R=4660,O=0,D=0,N=0,k=new Float64Array(a<<3);h>16&32767&256)?D:-D,t[h*e+d]=O;for(f=0;f<2;f++)for(l=0;l>o),f=Math.max(0,e-n-c>>o),p=Math.max(0,i-n-u>>o),y=Math.min(h,t+n-s>>o),x=Math.min(l,e+n-c>>o),w=Math.min(d,i+n-u>>o),_=[],S=a;S<=y;++S)for(var A=f;A<=x;++A)for(var P=p;P<=w;++P){var T=(S*l+A)*d+P,I=b[T];if(I>0)for(var L=I-1,R=C[L],O=M[L],D=R+O,N=R;N>o)+1,l=(a.max.y-c>>o)+1,d=(a.max.z-u>>o)+1,f=h*l*d,p=t.count,m=t.x,g=t.y,v=t.z,y=0,b=new Uint32Array(f),x=new Int32Array(p);for(n=0;n>o,_=g[n]-c>>o,S=v[n]-u>>o,A=(w*l+_)*d+S;1===(b[A]+=1)&&(y+=1),x[n]=A}var M=new Uint16Array(y);for(n=0,r=0;n0&&(b[n]=r+1,M[r]=P,r+=1)}var C=new Uint32Array(y);for(n=1;n0){var L=I-1;E[C[L]+T[L]]=n,T[L]+=1}}this.within=i}function Ro(e,i){t.Debug&&Pv.time(\"BondHash init\");var n,r=e.count,o=e.atomIndex1,a=e.atomIndex2,s=new Uint8Array(i),c=new Int32Array(i);for(n=0;ns&&(s=e);var a=o-r;if(0===a)return-1;var u=4*l;if(l+=1,1===a)return h[u]=r,h[u+1]=-1,h[u+2]=-1,h[u+3]=n,u;var f=r+Math.floor(a/2);d=e%3;for(var p,m,g,v,y,b=r,x=o-1;x>b;){for(g=b+x>>1,v=t[3*c[g]+d],m=c[g],c[g]=c[x],c[x]=m,y=b,p=b;pr&&s.pop()}var d,f,p=n(u)%3,m=3*c[h[u]],g=[t[m+0],t[m+1],t[m+2]],v=e(i,g),y=h[u+1],b=h[u+2];if(b===-1&&y===-1)return void((s.size()t[3*c[h[e]]+r])throw\"left child is > parent!\";n+=o(a,i+1)}if(s!==-1){if(t[3*c[h[s]]+r]0&&(e=\":\"+x(t).join(\" OR :\")),new On(e)}function Wo(t){this.name=t||\"\",this.partList=[]}function Xo(t,e){this.matrixList=t||[],this.chainList=e||[]}function qo(e,i){if(i){t.Debug&&Pv.time(\"assignSecondaryStructure\");var n=[];e.eachModel(function(t){t.eachChain(function(t){n.push(t.chainname)})});var r=n.slice().sort(),o=[];r.forEach(function(t){o.push(n.indexOf(t))});var a=i.helices;a=a.filter(function(t){return vh(r,t[0])>=0}),a.sort(function(t,e){var i=t[0],n=e[0],a=t[1],s=e[1];if(i===n)return a===s?0:a=0}),c.sort(function(t,e){var i=t[0],n=e[0];if(i===n)return 0;var a=vh(r,i),s=vh(r,n);return o[a]=r;)e=Math.floor(e/r),o+=n[e%r],i+=1;return i>=5&&Pv.warn(\"chainname overflow\"),o},h=e.getAtomProxy(),l=e.getAtomProxy(),d=0,f=0,p=0,m=0,g=[];1===s.count?g.push({mIndex:0,chainname:\"A\",rStart:0,rCount:1}):e.eachResidueN(2,function(t,e){var i=!1,n=t.backboneType,r=e.backboneType,o=fm;m=t.index,t.modelIndex!==e.modelIndex?i=!0:t.moleculeType!==e.moleculeType?i=!0:n!==o&&n===r&&(h.index=t.backboneEndAtomIndex,l.index=e.backboneStartAtomIndex,h.connectedTo(l)||(i=!0)),i||e.index!==s.count-1||(i=!0,m=e.index),i&&(g.push({mIndex:f,chainname:u(d),rStart:p,rCount:m-p+1}),d+=1,t.modelIndex!==e.modelIndex&&(d=0,f+=1),e.index===s.count-1&&m!==e.index&&g.push({mIndex:f,chainname:u(d),rStart:s.count-1,rCount:1}),p=e.index,m=e.index)}),a.count=0,g.forEach(function(t){c(t.mIndex,t.chainname,t.rStart,t.rCount)});var v=0;e.eachModel(function(t){o.chainOffset[t.index]=v,o.chainCount[t.index]-=1,v+=o.chainCount[t.index]})}t.Debug&&Pv.timeEnd(\"calculateChainnames\")}function Zo(e){t.Debug&&Pv.time(\"calculateBonds\"),Jo(e),ta(e),t.Debug&&Pv.timeEnd(\"calculateBonds\")}function Ko(e){var i=e.structure,n=i.getAtomProxy(),r=i.getAtomProxy(),o=e.atomCount,a=e.atomOffset,s=a+o,c=s-1;if(o>500)return void(t.Debug&&Pv.warn(\"more than 500 atoms, skip residue for auto-bonding\",e.qualifiedName()));var u,h,l=[],d=[],f=[];if(o>50){var p=new Vo(e,!0),m=e.isCg()?1.2:2.3;for(u=a;u500)return void Pv.warn(\"more than 500 atoms, skip residue for auto-bonding\",t.qualifiedName());for(var l=t.getBonds(),d=l.atomIndices1,f=l.atomIndices2,p=l.bondOrders,m=d.length,g=0;g1&&(c.x-=1),s.x<0&&(c.x+=1),s.y>1&&(c.y-=1),s.y<0&&(c.y+=1),s.z>1&&(c.z-=1),s.z<0&&(c.z+=1),t&&c.add(t),u.setPosition(c),u.multiplyMatrices(n.fracToCart,u),u.multiply(n.cartToFrac),e.push(u)}),e}if(e.unitcell){t.Debug&&Pv.time(\"buildUnitcellAssembly\");var n=e.unitcell,r=e.center.clone().applyMatrix4(n.cartToFrac),o=Go(n.spacegroup),a=new N,s=new N,c=new N;r.x>1&&(a.x-=1),r.x<0&&(a.x+=1),r.y>1&&(a.y-=1),r.y<0&&(a.y+=1),r.z>1&&(a.z-=1),r.z<0&&(a.z+=1);var u,h=new Wo(\"UNITCELL\"),l=i();if(e.biomolDict.NCS){u=[new O].concat(e.biomolDict.NCS.partList[0].matrixList);var d=[];l.forEach(function(t){u.forEach(function(e){d.push(t.clone().multiply(e))})}),h.addPart(d)}else h.addPart(l);var f=new N,p=new Wo(\"SUPERCELL\"),m=Array.prototype.concat.call(i(),i(f.set(1,1,1)),i(f.set(-1,-1,-1)),i(f.set(1,0,0)),i(f.set(1,1,0)),i(f.set(1,0,1)),i(f.set(0,1,0)),i(f.set(0,1,1)),i(f.set(0,0,1)),i(f.set(-1,0,0)),i(f.set(-1,-1,0)),i(f.set(-1,0,-1)),i(f.set(0,-1,0)),i(f.set(0,-1,-1)),i(f.set(0,0,-1)),i(f.set(1,-1,-1)),i(f.set(1,1,-1)),i(f.set(1,-1,1)),i(f.set(-1,1,1)),i(f.set(-1,-1,1)),i(f.set(-1,1,-1)),i(f.set(0,1,-1)),i(f.set(0,-1,1)),i(f.set(1,0,-1)),i(f.set(-1,0,1)),i(f.set(1,-1,0)),i(f.set(-1,1,0)));if(e.biomolDict.NCS){var g=[];m.forEach(function(t){u.forEach(function(e){g.push(t.clone().multiply(e))})}),p.addPart(g)}else p.addPart(m);e.biomolDict.UNITCELL=h,e.biomolDict.SUPERCELL=p,t.Debug&&Pv.timeEnd(\"buildUnitcellAssembly\")}}function ia(t){var e=t.bondHash,i=e.countArray,n=e.offsetArray,r=e.indexArray,o=t.getBondProxy();t.eachResidue(function(t){var e=t.residueType;if(void 0===e.bonds){var a=t.atomOffset,s=[],c=[],u=[],h={};t.eachAtom(function(t){for(var e=t.index,l=n[e],d=i[e],f=0,p=d;fg){var v=g;g=m,m=v}var y=m+\"|\"+g;void 0===h[y]&&(h[y]=!0,s.push(m-a),c.push(g-a),u.push(o.bondOrder))}}),e.bonds={atomIndices1:s,atomIndices2:c,bondOrders:u}}})}function na(t,e,i){this.structure=t,i=i||iy(e),this.atomname=e,this.element=i,this.vdw=Cm[i],this.covalent=Em[i]}function ra(t){function e(t,e){return t+\"|\"+e}function i(i,n){n=n||iy(i);var a=e(i,n),s=r[a];if(void 0===s){var c=new na(t,i,n);s=o.length,r[a]=s,o.push(c)}return s}function n(t){return o[t]}var r={},o=[];this.add=i,this.get=n,this.list=o,this.dict=r,this.toJSON=function(){var t={metadata:{version:.1,type:\"AtomMap\",generator:\"AtomMapExporter\"},idDict:r,typeList:o.map(function(t){return t.toJSON()})};return t},this.fromJSON=function(e){r=e.idDict,o=e.typeList.map(function(e){return new na(t,e.atomname,e.element)}),this.list=o,this.dict=r}}function oa(t,e,i,n,r,o){this.structure=t,this.resname=e,this.atomTypeIdList=i,this.hetero=n?1:0,this.chemCompType=r,this.bonds=o,this.rings=void 0,this.atomCount=i.length,this.moleculeType=this.getMoleculeType(),this.backboneType=this.getBackboneType(0),this.backboneEndType=this.getBackboneType(-1),this.backboneStartType=this.getBackboneType(1),this.backboneIndexList=this.getBackboneIndexList();var a=Vm[this.backboneType],s=Vm[this.backboneStartType],c=Vm[this.backboneEndType],u=this.getAtomIndexByName(a.trace);this.traceAtomIndex=void 0!==u?u:-1;var h=this.getAtomIndexByName(a.direction1);this.direction1AtomIndex=void 0!==h?h:-1;var l=this.getAtomIndexByName(a.direction2);this.direction2AtomIndex=void 0!==l?l:-1;var d=this.getAtomIndexByName(s.backboneStart);this.backboneStartAtomIndex=void 0!==d?d:-1;var f=this.getAtomIndexByName(c.backboneEnd);this.backboneEndAtomIndex=void 0!==f?f:-1;var p;p=Fm.includes(e)?this.getAtomIndexByName(\"N1\"):this.getAtomIndexByName(\"N3\"),this.rungEndAtomIndex=void 0!==p?p:-1,this.bondReferenceAtomIndices=[]}function aa(t){function e(t,e,i,n){return t+\"|\"+e.join(\",\")+\"|\"+(i?1:0)+\"|\"+(n?n:\"\")}function i(i,n,a,s,c){i=i.toUpperCase();var u=e(i,n,a,s),h=r[u];if(void 0===h){var l=new oa(t,i,n,a,s,c);h=o.length,r[u]=h,o.push(l)}return h}function n(t){return o[t]}var r={},o=[];this.add=i,this.get=n,this.list=o,this.dict=r}function sa(t,e){this.structure=t,this.bondStore=t.bondStore,this.index=e,this._v12=new N,this._v13=new N,this._ap1=this.structure.getAtomProxy(),this._ap2=this.structure.getAtomProxy(),this._ap3=this.structure.getAtomProxy()}function ca(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueMap=t.residueMap,this.atomMap=t.atomMap,this.bondHash=t.bondHash,this.index=e}function ua(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueMap=t.residueMap,this.atomMap=t.atomMap,this.index=e}function ha(t,e,i){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueIndexStart=e,this.residueIndexEnd=i,this.residueCount=i-e+1;var n=this.structure.getResidueProxy(this.residueIndexStart),r=this.structure.getResidueProxy(this.residueIndexEnd);this.isPrevConnected=void 0!==n.getPreviousConnectedResidue();var o=r.getNextConnectedResidue();this.isNextConnected=void 0!==o,this.isNextNextConnected=this.isNextConnected&&void 0!==o.getNextConnectedResidue(),this.isCyclic=r.connectedTo(n),this.__residueProxy=this.structure.getResidueProxy()}function la(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.index=e,this.__residueProxy=this.structure.getResidueProxy()}function da(t,e){this.structure=t,this.modelStore=t.modelStore,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.index=e}function fa(t,e){this.signals={refreshed:new Rn},this.name=t,this.path=e,this.title=\"\",this.id=\"\",this.header={},this.atomSetCache=void 0,this.atomSetDict={},this.biomolDict={},this.entityList=[],this.unitcell=void 0,this.frames=[],this.boxes=[],this.bondStore=new Do(0),this.backboneBondStore=new Do(0),this.rungBondStore=new Do(0),this.atomStore=new No(0),this.residueStore=new ko(0),this.chainStore=new Fo(0),\nthis.modelStore=new zo(0),this.atomMap=new ra(this),this.residueMap=new aa(this),this.bondHash=void 0,this.spatialHash=void 0,this.atomSet=void 0,this.bondSet=void 0,this.center=void 0,this.boundingBox=void 0,this._bp=this.getBondProxy(),this._ap=this.getAtomProxy(),this._rp=this.getResidueProxy(),this._cp=this.getChainProxy()}function pa(t,e,i){this.name=t,this.path=e,this.info={},this.center=new N,this.boundingBox=new Et,i instanceof ae||i instanceof ue||i instanceof We?this.fromGeometry(i):i&&this.set(i.position,i.index,i.normal,i.color,i.atomindex,i.contour)}function ma(e){var i=0,n=0,r={},o={},a=URL.createObjectURL(Tv.get(e)),s=new window.Worker(a);Tv.activeWorkerCount+=1,s.onmessage=function(n){i-=1;var a=n.data.__postId;t.Debug&&Pv.timeEnd(\"Worker.postMessage \"+e+\" #\"+a),r[a]&&r[a].call(s,n),delete r[a],delete o[a]},s.onerror=function(t){if(i-=1,t.data){var n=t.data.__postId;o[n]?o[n].call(s,t):Pv.error(\"Worker.onerror\",n,e,t),delete r[n],delete o[n]}else Pv.error(\"Worker.onerror\",e,t)},this.name=e,this.post=function(a,c,u,h){r[n]=u,o[n]=h,a=a||{},a.__name=e,a.__postId=n,a.__debug=t.Debug,t.Debug&&Pv.time(\"Worker.postMessage \"+e+\" #\"+n);try{s.postMessage(a,c)}catch(t){Pv.error(\"worker.post:\",t),s.postMessage(a)}return i+=1,n+=1,this},this.terminate=function(){s?(s.terminate(),URL.revokeObjectURL(a),Tv.activeWorkerCount-=1):Pv.log(\"no worker to terminate\")},Object.defineProperties(this,{postCount:{get:function(){return n}},pending:{get:function(){return i}}})}function ga(t,e){e=Math.min(8,e||2);var i=[],n=0;this.name=t,this.maxCount=e,this.post=function(t,e,i,n){var r=this.getNextWorker();return r.post(t,e,i,n),this},this.terminate=function(){i.forEach(function(t){t.terminate()})},this.getNextWorker=function(){for(var r,o=1/0,a=0;a=n){r=new ma(t),i.push(r),n+=1;break}var s=i[a];if(0===s.pending){o=s.pending,r=s;break}s.pending=g){R=m,E=!0;break}if(E)break}if(E)break}for(E=!1,p=o;p=g){L=p,E=!0;break}if(E)break}if(E)break}for(E=!1,d=r;d=g){I=d,E=!0;break}if(E)break}if(E)break}for(E=!1,m=u;m>=a;--m){for(p=c;p>=o;--p){for(d=s;d>=r;--d)if(l=e*i*m+e*p+d,t[l]>=g){N=m,E=!0;break}if(E)break}if(E)break}for(E=!1,p=c;p>=o;--p){for(m=N;m>=a;--m){for(d=s;d>=r;--d)if(l=e*i*m+e*p+d,t[l]>=g){D=p,E=!0;break}if(E)break}if(E)break}for(E=!1,d=s;d>=r;--d){for(p=D;p>=o;--p){for(m=N;m>=a;--m)if(l=e*i*m+e*p+d,t[l]>=g){O=d,E=!0;break}if(E)break}if(E)break}v?(r=Math.max(0,I-1),o=Math.max(0,L-1),a=Math.max(0,R-1),s=Math.min(e-1,O+1),c=Math.min(i-1,D+1),u=Math.min(n-1,N+1)):(r=Math.max(1,I-1),o=Math.max(1,L-1),a=Math.max(1,R-1),s=Math.min(e-2,O+1),c=Math.min(i-2,D+1),u=Math.min(n-2,N+1));var k=15;for(m=a;m65535?Uint32Array:Uint16Array;return{position:new Float32Array(S),normal:v?void 0:new Float32Array(A),index:new s(M),atomindex:r?new Int32Array(P):void 0,contour:y}}}function wa(t,e,i,n){i=i||1,n=n||!0;var r,o=t.length/3,a=e.length/3;n&&(r=new Float32Array(3*o));var s,c=new Float32Array(3*o),u=20,h=new Array(u);for(s=0;s.9*e[3*n+n])if(o>0)for(r=0;r<3;++r)t[i+r]-=e[3*n+r];else for(r=0;r<3;++r)t[i+r]+=e[3*n+r];return t}}function La(t,e,i){this.signals={gotNumframes:new Rn,frameChanged:new Rn,selectionChanged:new Rn,playerChanged:new Rn};var n=i||{};n.centerPbc=d(n.centerPbc,!0),n.removePbc=d(n.removePbc,!0),n.superpose=d(n.superpose,!0),this.setParameters(n),this.name=t.replace(/^.*[\\\\\\/]/,\"\"),this.selection=new On(d(n.sele,\"backbone and not hydrogen\")),this.selection.signals.stringChanged.add(function(){this.makeIndices(),this.resetCache()},this),this.setStructure(e),this.trajPath=t,this.numframes=void 0,this.getNumframes()}function Ra(t){return\"front\"===t?Mh:\"back\"===t?Ph:\"double\"===t?Ch:Ch}function Oa(t,e,i,n,r){var o=r||{};this.pickable=!1,this.dynamic=!0,this.opaqueBack=d(o.opaqueBack,!1),this.dullInterior=d(o.dullInterior,!1),this.side=d(o.side,\"double\"),this.opacity=d(o.opacity,1),this.clipNear=d(o.clipNear,0),this.clipRadius=d(o.clipRadius,0),this.clipCenter=d(o.clipCenter,new N),this.flatShaded=d(o.flatShaded,!1),this.background=d(o.background,!1),this.linewidth=d(o.linewidth,1),this.wireframe=d(o.wireframe,!1),this.wireframeLinewidth=d(o.wireframeLinewidth,1),this.roughness=d(o.roughness,.4),this.metalness=d(o.metalness,0),this.diffuse=d(o.diffuse,16777215),this.forceTransparent=d(o.forceTransparent,!1),this.geometry=new ue,this.addAttributes({position:{type:\"v3\",value:t},color:{type:\"c\",value:e}}),this.indexVersion=0,this.wireframeIndexVersion=-1,i&&(this.geometry.setIndex(new Kt(i,1)),this.geometry.getIndex().setDynamic(this.dynamic)),n&&(this.addAttributes({pickingColor:{type:\"c\",value:n}}),this.pickable=!0),this.uniforms=Fd.merge([zp.common,{fogColor:{value:null},fogNear:{value:0},fogFar:{value:0},opacity:{value:this.opacity},nearClip:{value:0},clipRadius:{value:this.clipRadius},clipCenter:{value:this.clipCenter}},{emissive:{value:new Ct(0)},roughness:{value:this.roughness},metalness:{value:this.metalness}},zp.ambient,zp.lights]),this.uniforms.diffuse.value.set(this.diffuse);var a=new rn(0).onUpdate(function(t){this.value=Av?t.id:t.id/255});this.pickingUniforms={nearClip:{value:0},objectId:a},this.group=new We,this.wireframeGroup=new We,this.pickingGroup=new We,this.makeWireframeGeometry()}function Da(t,e,i,n,r,o){var a=o||{};this.size=t?t.length/3:0,this.attributeSize=this.size,this.vertexShader=\"Mesh.vert\",this.fragmentShader=\"Mesh.frag\",Oa.call(this,t,e,i,r,a),this.addAttributes({normal:{type:\"v3\",value:n}}),void 0===n&&this.geometry.computeVertexNormals()}function Na(t){for(var e,i,n=t.vertices,r=n.length,o=new Float32Array(3*r),a=0;a65535?Uint32Array:Uint16Array,a=new o(3*r),s=0;s65535?Uint32Array:Uint16Array;this.meshIndex=new u(c*o*3),this.makeIndex(),Da.call(this,this.meshPosition,this.meshColor,this.meshIndex,this.meshNormal,this.meshPickingColor,a),this.initNormals=!0,this.setAttributes({position:t,color:e,pickingColor:i}),this.initNormals=!1}function Ba(t,e,i,n,r){var o=r||{},a=d(o.sphereDetail,1);this.geo=new wn(1,a),this._radius=i,za.call(this,t,e,n,o)}function Ua(t){this.size=this.count,this.attributeSize=this.count*this.mappingSize;var e=this.count*this.mappingIndicesSize,i=this.attributeSize>65535?Uint32Array:Uint16Array;this.index=new i(e),this.makeIndex(),Oa.call(this,null,null,this.index,null,t),this.addAttributes({mapping:{type:this.mappingType,value:null}})}function ja(t){this.mapping=new Float32Array([-1,1,-1,-1,1,1,1,-1]),this.mappingIndices=new Uint16Array([0,1,2,1,3,2]),this.mappingIndicesSize=6,this.mappingType=\"v2\",this.mappingSize=4,this.mappingItemSize=2,Ua.call(this,t)}function $a(t,e,i,n,r){this.impostor=!0,this.count=t.length/3,this.vertexShader=\"SphereImpostor.vert\",this.fragmentShader=\"SphereImpostor.frag\",ja.call(this,r),this.addUniforms({projectionMatrixInverse:{value:new O},ortho:{value:0}}),this.addAttributes({radius:{type:\"f\",value:null}}),this.setAttributes({position:t,color:e,radius:i}),n&&(this.addAttributes({pickingColor:{type:\"c\",value:null}}),this.setAttributes({pickingColor:n}),this.pickable=!0),this.makeMapping()}function Va(t,e,i,n,r){var o=r||{};return!Mv||o.disableImpostor?new Ba(t,e,i,n,r):new $a(t,e,i,n,r)}function Ga(t,e,i,n,r,o,a){var s=a||{},c=d(s.sphereDetail,2);this.updateNormals=!0,this.geo=new wn(1,c),this._radius=i,this._majorAxis=n,this._minorAxis=r,za.call(this,t,e,o,s)}function Ha(t,e,i,n,r,o,a){return new Ga(t,e,i,n,r,o,a)}function Wa(t,e,i,n,r,o,a,s){var c=s||{},u=d(c.radialSegments,10),h=d(c.openEnded,!0);this.updateNormals=!0;var l=(new O).makeRotationX(Math.PI/2);this.geo=new yn(1,1,1,u,1,h),this.geo.applyMatrix(l);var f=t.length,p=r.length;this._position=new Float32Array(2*f),this._color=new Float32Array(2*f),this._pickingColor=new Float32Array(2*f),this._from=new Float32Array(2*f),this._to=new Float32Array(2*f),this._radius=new Float32Array(2*p),this.__center=new Float32Array(f),za.call(this,this._position,this._color,this._pickingColor,c),this.setAttributes({position1:t,position2:e,color:i,color2:n,radius:r,pickingColor:o,pickingColor2:a})}function Xa(t){this.mapping=new Float32Array([-1,1,-1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1]),this.mappingIndices=new Uint16Array([0,1,2,1,4,2,2,4,3,4,5,3]),this.mappingIndicesSize=12,this.mappingType=\"v3\",this.mappingSize=6,this.mappingItemSize=3,Ua.call(this,t)}function qa(t,e,i,n,r,o,a,s){var c=s||{};this.openEnded=d(c.openEnded,!1),this.impostor=!0,this.count=t.length/3,this.vertexShader=\"CylinderImpostor.vert\",this.fragmentShader=\"CylinderImpostor.frag\",Xa.call(this,c);var u=new rn(new O).onUpdate(function(t){this.value.getInverse(t.modelViewMatrix)});this.addUniforms({modelViewMatrixInverse:u,ortho:{value:0}}),this.addAttributes({position1:{type:\"v3\",value:null},position2:{type:\"v3\",value:null},color2:{type:\"c\",value:null},radius:{type:\"f\",value:null}}),this.setAttributes({position1:t,position2:e,color:i,color2:n,radius:r}),o&&(this.addAttributes({pickingColor:{type:\"c\",value:null},pickingColor2:{type:\"c\",value:null}}),this.setAttributes({pickingColor:o,pickingColor2:a}),this.pickable=!0),this.makeMapping()}function Ya(t,e,i,n,r,o,a,s){var c=s||{};return!Mv||c.disableImpostor?new Wa(t,e,i,n,r,o,a,s):new qa(t,e,i,n,r,o,a,s)}function Za(t,e,i,n,r,o){var a=o||{},s=d(a.radialSegments,60),c=d(a.openEnded,!1);this.updateNormals=!0;var u=(new O).makeRotationX(-Math.PI/2);this.geo=new Tn(1,1,s,1,c),this.geo.applyMatrix(u);var h=t.length,l=n.length;this._position=new Float32Array(h),this._from=new Float32Array(h),this._to=new Float32Array(h),this._radius=new Float32Array(l),za.call(this,this._position,i,r,a),this.setAttributes({position1:t,position2:e,color:i,radius:n,pickingColor:r})}function Ka(t,e,i,n,r,o){return new Za(t,e,i,n,r,o)}function Qa(t,e,i,n,r,o){function a(t){var e,i,n={};if(t.radius){for(e=0,i=p.length;e65535?Uint32Array:Uint16Array;i=new r(i)}Array.isArray(n)&&(n=new Float32Array(n));var o=new Da(t,e,i,n);S.push(o),_.setFromArray(t),x.union(_)}function o(t,e,n){i(t,A),i(e,M),P.push(n),x.expandByPoint(w.fromArray(t))}function a(t,e,n,r,o){i(t,C),i(e,T),E.push(n),i(r,I),i(o,L),x.expandByPoint(w.fromArray(t))}function s(t,e,n,r){i(t,R),i(e,O),i(n,D),k.push(r),x.expandByPoint(w.fromArray(t)),x.expandByPoint(w.fromArray(e))}function c(t,e,n,r){i(t,F),i(e,z),i(n,B),U.push(r),x.expandByPoint(w.fromArray(t)),x.expandByPoint(w.fromArray(e))}function u(t,e,n,r){i(t,j),i(e,$),i(n,V),G.push(r),x.expandByPoint(w.fromArray(t)),x.expandByPoint(w.fromArray(e))}function h(){var t=[];if(A.length){var e=new Va(new Float32Array(A),new Float32Array(M),new Float32Array(P),void 0,{sphereDetail:m,disableImpostor:v});t.push(e)}if(C.length){var i=new Ha(new Float32Array(C),new Float32Array(T),new Float32Array(E),new Float32Array(I),new Float32Array(L),void 0,{sphereDetail:m,disableImpostor:v});t.push(i)}if(R.length){var n=new Ya(new Float32Array(R),new Float32Array(O),new Float32Array(D),new Float32Array(D),new Float32Array(k),void 0,void 0,{radialSegments:g,disableImpostor:v,openEnded:y});t.push(n)}if(F.length){var r=new Ka(new Float32Array(F),new Float32Array(z),new Float32Array(B),new Float32Array(U),void 0,{radialSegments:g,disableImpostor:v,openEnded:y});t.push(r)}if(j.length){var o=new Qa(new Float32Array(j),new Float32Array($),new Float32Array(V),new Float32Array(G),void 0,{aspectRatio:p,radialSegments:g,disableImpostor:v,openEnded:y});t.push(o)}return S.concat(t)}function l(){S.forEach(function(t){t.dispose()}),S.length=0,A.length=0,M.length=0,P.length=0,C.length=0,T.length=0,E.length=0,I.length=0,L.length=0,R.length=0,O.length=0,D.length=0,k.length=0,F.length=0,z.length=0,B.length=0,U.length=0,j.length=0,$.length=0,V.length=0,G.length=0}this.name=d(t,\"shape\");var f=e||{},p=d(f.aspectRatio,1.5),m=d(f.sphereDetail,2),g=d(f.radialSegments,50),v=d(f.disableImpostor,!1),y=d(f.openEnded,!1),b=new N,x=new Et,w=new N,_=new Et,S=[],A=[],M=[],P=[],C=[],T=[],E=[],I=[],L=[],R=[],O=[],D=[],k=[],F=[],z=[],B=[],U=[],j=[],$=[],V=[],G=[];Object.defineProperties(this,{center:{get:function(){return x.center(b)}}}),this.boundingBox=x,this.addBuffer=n,this.addMesh=r,this.addSphere=o,this.addEllipsoid=a,this.addCylinder=s,this.addCone=c,this.addArrow=u,this.getBufferList=h,this.dispose=l}function ts(t,e,i){this.viewer=e,this.gidPool=i?i.gidPool:void 0,this.tasks=new wr,this.queue=new Ca(this.make.bind(this)),this.bufferList=[],this.init(i)}function es(t,e,i){Array.isArray(t)||(t=[t]),ts.call(this,t,e,i),this.buffer=t,this.build()}function is(){Da.apply(this,arguments)}function ns(t){this.size=t.size,this.side=t.side,this.wireframe=t.wireframe,this.visible=t.visible,this.geometry=t.geometry,this.pickable=t.pickable,this.background=t.background,this.group=new We,this.wireframeGroup=new We,this.pickingGroup=new We;var e=[],i=[],n=t,r=new t.constructor;n.makeMaterial(),r.makeMaterial(),r.geometry=t.geometry,r.wireframeGeometry=t.wireframeGeometry,r.size=t.size,r.attributeSize=t.attributeSize,r.pickable=t.pickable,r.setParameters(t.getParameters()),r.updateShader(),n.setParameters({side:\"front\"}),r.setParameters({side:\"back\",opacity:r.opacity}),this.getMesh=function(t){var o,a;return t?(a=r.getPickingMesh(),o=n.getPickingMesh()):(a=r.getMesh(),o=n.getMesh()),e.push(o),i.push(a),this.setParameters({side:this.side}),(new We).add(a,o)},this.getWireframeMesh=function(){return t.getWireframeMesh()},this.getPickingMesh=function(){return this.getMesh(!0)},this.setAttributes=function(e){t.setAttributes(e)},this.setParameters=function(t){t=Object.assign({},t),\"front\"===t.side?(e.forEach(function(t){t.visible=!0}),i.forEach(function(t){t.visible=!1})):\"back\"===t.side?(e.forEach(function(t){t.visible=!1}),i.forEach(function(t){t.visible=!0})):\"double\"===t.side&&(e.forEach(function(t){t.visible=!0}),i.forEach(function(t){t.visible=!0})),void 0!==t.side&&(this.side=t.side),delete t.side,n.setParameters(t),void 0!==t.wireframe&&(this.wireframe=t.wireframe,this.setVisibility(this.visible)),delete t.wireframe,r.setParameters(t)},this.setVisibility=Oa.prototype.setVisibility,this.dispose=function(){n.dispose(),r.dispose()}}function rs(t,e,i){ts.call(this,t,e,i),t instanceof Pa?(this.surface=void 0,this.volume=t):(this.surface=t,this.volume=void 0),this.boxCenter=new N,this.__boxCenter=new N,this.box=new Et,this.__box=new Et,this.setBox=function(){var t=new N;return function(){var i=e.controls.target,n=e.rotationGroup.position;t.copy(n).negate().add(i),t.equals(this.boxCenter)||this.setParameters({boxCenter:t})}.bind(this)}.bind(this)(),this.viewer.signals.orientationChanged.add(this.setBox),this.build()}function os(t){function e(t,e,i){return Math.min(Math.max(t,e),i)}function i(t,e,i,n){var r=i-t,o=n-e;return Math.sqrt(r*r+o*o)}function n(t,i,n){return n=e((n-t)/(i-t),0,1),n*n*(3-2*n)}for(var r=Object.assign({},t),o=d(r.width,256),a=d(r.height,256),s=[o/2,a/2],c=Math.min(o/2,a/2),u=d(r.delta,1/(c+1))*c,h=0,l=0,f=new Uint8Array(o*a*4),p=0,m=f.length;p1&&(l=1),r(e,i,n,o,h,p),r(e,i,n,o,l,m),m.sub(p).normalize(),m.toArray(a,g)}}function s(e,i,n,r,o){for(var a,s=i.next(),c=i.next(),u=i.next(),h=i.size,l=h-1,d=r||0,f=0;f65535?Uint32Array:Uint16Array;this.meshIndex=new p(f),this.makeIndex(),Da.call(this,this.meshPosition,this.meshColor,this.meshIndex,this.meshNormal,this.meshPickingColor,c),this.setAttributes({position:t,normal:e,binormal:i,tangent:n,color:r,size:o,pickingColor:a})}function Vs(t,e,i){hs.call(this,t,e,i)}function Gs(t,e){this.sview1=t,this.sview2=e,this.kdtree2=new Vo(e)}function Hs(t,e,i){e=e||3.5,i=i||40;for(var n=new On(\"( ARG and ( .NE or .NH1 or .NH2 ) ) or ( ASP and .ND2 ) or ( GLN and .NE2 ) or ( HIS and ( .ND1 or .NE2 ) ) or ( LYS and .NZ ) or ( SER and .OG ) or ( THR and .OG1 ) or ( TRP and .NE1 ) or ( TYR and .OH ) or ( PROTEIN and .N )\"),r=new On(\"( ASN and .OD1 ) or ( ASP and ( OD1 or .OD2 ) ) or ( GLN and .OE1 ) or ( GLU and ( .OE1 or .OE2 ) ) or ( HIS and ( .ND1 or .NE2 ) ) or ( SER and .OG ) or ( THR and .OG1 ) or ( TYR and .OH ) or ( PROTEIN and .O )\"),o=t.getView(n),a=t.getView(r),s=new Gs(o,a),c=s.within(e),u=c.bondStore,h=t.getAtomProxy(),l=t.getAtomProxy(),d=t.getAtomProxy(),f=t.getAtomProxy(),p=t.getResidueProxy(),m=t.getResidueProxy(),g=new N,v=new N,y=function(t,e,n,r){var o,a;t.atomname===n?(o=t,a=e):(o=e,a=t),p.index=o.residueIndex;var s=p.getAtomIndexByName(r);return g.subVectors(s,o),v.subVectors(s,a),Nn(g.angleTo(v))i&&c.bondSet.flip_unsafe(b)}else(\"OH\"===h.atomname&&\"TYR\"===h.resname||\"OH\"===l.atomname&&\"TYR\"===l.resname)&&(y(h,l,\"OH\",\"CZ\")||c.bondSet.flip_unsafe(b));return{atomSet:c.atomSet,bondSet:c.bondSet,bondStore:c.bondStore}}function Ws(t,e,i){e=e||3.5,i=i||40;for(var n=new On(\"( PROTEIN and .N )\"),r=new On(\"( PROTEIN and .O )\"),o=t.getView(n),a=t.getView(r),s=new Gs(o,a),c=s.within(e),u=c.bondStore,h=t.getAtomProxy(),l=t.getAtomProxy(),d=t.getAtomProxy(),f=t.getAtomProxy(),p=t.getResidueProxy(),m=t.getResidueProxy(),g=new N,v=new N,y=0,b=u.count;yi&&c.bondSet.flip_unsafe(y)))}}return{atomSet:c.atomSet,bondSet:c.bondSet,bondStore:c.bondStore}}function Xs(t,e,i){hs.call(this,t,e,i)}function qs(t){var e=Object.assign({},t);if(this.font=d(e.font,[\"sans-serif\"]),this.size=d(e.size,36),this.style=d(e.style,\"normal\"),this.variant=d(e.variant,\"normal\"),this.weight=d(e.weight,\"normal\"),this.outline=d(e.outline,0),this.width=d(e.width,1024),this.height=d(e.height,1024),this.gamma=1,\"undefined\"!=typeof navigator){var i=navigator.userAgent;i.match(/Chrome/)&&i.match(/OS X/)&&(this.gamma=.5)}this.mapped={},this.scratchW=0,this.scratchH=0,this.currentX=0,this.currentY=0,this.build(),this.populate(),this.texture=new qe(this.canvas2),this.texture.flipY=!1,this.texture.needsUpdate=!0}function Ys(t,e,i,n,r){var o=r||{};o.forceTransparent=!0,this.fontFamily=d(o.fontFamily,\"sans-serif\"),this.fontStyle=d(o.fontStyle,\"normal\"),this.fontWeight=d(o.fontWeight,\"bold\"),this.fontSize=d(o.fontSize,48),this.sdf=d(o.sdf,\"Chrome\"===_v),this.xOffset=d(o.xOffset,0),this.yOffset=d(o.yOffset,0),this.zOffset=d(o.zOffset,.5),this.attachment=d(o.attachment,\"bottom-left\"),this.showBorder=d(o.showBorder,!1),this.borderColor=d(o.borderColor,\"lightgrey\"),this.borderWidth=d(o.borderWidth,.15),this.showBackground=d(o.showBackground,!1),this.backgroundColor=d(o.backgroundColor,\"lightgrey\"),this.backgroundMargin=d(o.backgroundMargin,.5),this.backgroundOpacity=d(o.backgroundOpacity,1);for(var a=t.length/3,s=0,c=0;ca?u[h]=-1:(o=Math.sqrt(a-r),u[h]=Math.floor(o)),++h;A[l]=c,S[l]=u}}function o(i){var n,r,o,a,s,c,u,h,l,d,f,p,m,v,w,M,T,I,L=3*i,O=i;n=Math.floor(.5+g*(t[L]+_[0])),r=Math.floor(.5+g*(t[L+1]+_[1])),o=Math.floor(.5+g*(t[L+2]+_[2]));var D,N=e[O],k=S[N],F=0,z=b*x,B=A[N];for(d=0;d=y||v>=b||w>=x)){var U=m*z+v*x+w;if(P)if(C[U]&R){if(C[U]&R){var j=E[U];j!==L&&(a=n+u-Math.floor(.5+g*(t[j]+_[0])),s=r+h-Math.floor(.5+g*(t[j+1]+_[1])),c=o+l-Math.floor(.5+g*(t[j+2]+_[2])),u*u+h*h+l*l=y||f>=b||p>=x)){var z=d*F+f*x+p;if(C[z]&O){if(P){var B=E[z];a=Math.floor(.5+g*(t[B]+_[0])),s=Math.floor(.5+g*(t[B+1]+_[1])),c=Math.floor(.5+g*(t[B+2]+_[2])),u*u+h*h+l*l-1&&a-1&&c-1&&s0);var p,m=v*v,g=new Uint16Array(3);for(t=0;t=m)||(C[r]|=D,P&&C[r]&O&&(o.toArray(t,e,i,g),p=g[0]*a+g[1]*x+g[2],E[r]=E[p])));console.timeEnd(\"EDTSurface fastdistancemap\")}function l(t,e,i,n){var r,o,a,s,c,u,h,l,d,f,p,m,g=new Uint16Array(3),v=0;if(0===i)return v;var w=-1,_=-1,S=-1,A=b*x;for(h=0,d=i;h-1&&_-1&&S-1&&(p=w*A+x*_+S,C[p]&R&&!(C[p]&O)?(e.fromArray(w,_,S,g),s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,T[p]=f,C[p]|=O,C[p]|=D,n[v]=w,n[v+1]=_,n[v+2]=S,v+=3):C[p]&R&&C[p]&O&&(s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,f-1&&_-1&&S-1&&(p=w*A+x*_+S,C[p]&R&&!(C[p]&O)?(e.fromArray(w,_,S,g),s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,T[p]=f,C[p]|=O,C[p]|=D,n[v]=w,n[v+1]=_,n[v+2]=S,v+=3):C[p]&R&&C[p]&O&&(s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,f-1&&_-1&&S-1&&(p=w*A+x*_+S,C[p]&R&&!(C[p]&O)?(e.fromArray(w,_,S,g),s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,T[p]=f,C[p]|=O,C[p]|=D,n[v]=w,n[v+1]=_,n[v+2]=S,v+=3):C[p]&R&&C[p]&O&&(s=w-g[0],c=_-g[1],u=S-g[2],f=s*s+c*c+u*u,fT&&(T=R)}this.neighbourListLength=27*T+1,this.withinRadii=function(r,o,a,c,d){for(var f=0,p=s(r,u),y=s(o,h),x=s(a,l),w=Math.max(0,p-1),_=Math.max(0,y-1),S=Math.max(0,x-1),C=Math.min(m,p+1),T=Math.min(g,y+1),E=Math.min(v,x+1),I=w;I<=C;++I)for(var L=I*b,R=_;R<=T;++R)for(var O=R*v,D=S;D<=E;++D)for(var N=L+O+D,k=A[N],F=k+M[N],z=k;zC&&(C=M[h]);o(),a(),s(),W=-1}function r(t,e,i){for(var n=0;n=0;){if(o!==n&&o!==r&&u(o,t,e,i))return W=o,o;o=$[++a]}return W=-1,-1}function u(e,i,n,r){var o=3*e,a=P[e],s=t[o]-i,c=t[o+1]-n,u=t[o+2]-r,h=s*s+c*c+u*u;return h=0;)t0&&s65535?Uint32Array:Uint16Array;this.meshIndex=new l(h),this.makeIndex(),Da.call(this,this.meshPosition,this.meshColor,this.meshIndex,this.meshNormal,this.meshPickingColor,s),this.vertexShader=\"Ribbon.vert\",this.fragmentShader=\"Mesh.frag\",this.geometry.addAttribute(\"dir\",new Kt(new Float32Array(h),3)),this.geometry.addAttribute(\"size\",new Kt(new Float32Array(u),1)),this.setAttributes({position:t,normal:e,dir:i,color:n,size:r,pickingColor:o})}function vc(t,e,i){hs.call(this,t,e,i),this.defaultScale.sstruc*=3}function yc(t,e,i){this.helixbundleList=[],hs.call(this,t,e,i)}function bc(t,e,i){Vs.call(this,t,e,i)}function xc(t,e,i){hs.call(this,t,e,i)}function wc(t,e,i){var n=i||{};this.size=t.length/3,this.vertexShader=\"Line.vert\",this.fragmentShader=\"Line.frag\",this.line=!0;var r=this.size,o=r-1;this.attributeSize=2*o,this.linePosition=new Float32Array(3*o*2),this.lineColor=new Float32Array(3*o*2),Oa.call(this,this.linePosition,this.lineColor,void 0,void 0,n),this.setAttributes({position:t,color:e})}function _c(t,e,i){hs.call(this,t,e,i)}function Sc(t,e,i){Vs.call(this,t,e,i)}function Ac(t,e,i){hs.call(this,t,e,i)}function Mc(t,e){var i=e||{};this.streamer=t,this.name=d(i.name,\"\"),this.path=d(i.path,\"\")}function Pc(t){function e(t){for(var e=l.atomCount[t],r=l.atomOffset[t],o=new Array(e),a=0;a0&&e(g-1),l.growIfFull(),l.resno[g]=w,void 0!==S&&(l.sstruc[g]=S.charCodeAt(0)),void 0!==A&&(l.inscode[g]=A.charCodeAt(0)),l.atomOffset[g]=m,l.atomCount[g]=0,l.count+=1,l.chainIndex[g]=v,d.residueCount[v]+=1),h.count+=1,h.residueIndex[m]=g,l.atomCount[g]+=1,r=t,o=b,a=x,s=w,c=A,u=_},this.finalize=function(){i=a,n=u,g>-1&&e(g)}}function Cc(t,e){var i=e||{};this.firstModelOnly=d(i.firstModelOnly,!1),this.asTrajectory=d(i.asTrajectory,!1),this.cAlphaOnly=d(i.cAlphaOnly,!1),Mc.call(this,t,i),this.structure=new fa(this.name,this.path),this.structureBuilder=new Pc(this.structure)}function Tc(t,e,i,n,r,o,a,s){this.a=t||1,this.b=e||1,this.c=i||1,this.alpha=n||90,this.beta=r||90,this.gamma=o||90,this.spacegroup=a||\"P 1\";var c=Dn(this.alpha),u=Dn(this.beta),h=Dn(this.gamma),l=Math.cos(c),d=Math.cos(u),f=Math.cos(h),p=Math.sin(u),m=Math.sin(h);if(this.volume=this.a*this.b*this.c*Math.sqrt(1-l*l-d*d-f*f+2*l*d*f),void 0===s){var g=this.a*this.b*m/this.volume,v=(d*f-l)/(p*m);this.fracToCart=(new O).set(this.a,0,0,0,this.b*f,this.b*m,0,0,this.c*d,-this.c*p*v,1/g,0,0,0,0,1).transpose(),this.cartToFrac=(new O).getInverse(this.fracToCart)}else this.cartToFrac=s,this.fracToCart=(new O).getInverse(this.cartToFrac)}function Ec(t,e){Cc.call(this,t,e)}function Ic(t){switch(t=t.toLowerCase()){case\"polymer\":return im;case\"non-polymer\":return nm;case\"macrolide\":return rm;case\"water\":return om;default:return em}}function Lc(t,e,i,n,r){this.structure=t,this.index=e,this.description=i||\"\",this.entityType=Ic(n||\"\"),this.chainIndexList=r||[],r.forEach(function(i){t.chainStore.entityIndex[i]=e})}function Rc(t,e){Cc.call(this,t,e)}function Oc(t,e){Cc.call(this,t,e)}function Dc(t,e){Array.isArray(t[e])||Object.keys(t).forEach(function(e){t[e]=[t[e]]})}function Nc(t){return\"?\"!==t}function kc(t,e){return Nc(t)?t:e}function Fc(t){switch(t.toLowerCase()){case\"?\":case\"sing\":return 1;case\"doub\":return 2;case\"trip\":return 3;case\"quad\":return 4}return 0}function zc(t,e,i){var n,r,o=e.atomStore,a=e.atomMap,s=t.chem_comp,c=t.chem_comp_atom,u=t.chem_comp_bond;s&&(s.name&&(e.title=s.name.trim().replace(fy,\"\")),s.id&&(e.id=s.id.trim().replace(fy,\"\")));var h={};if(c){var l,d,f,p;for(r=c.comp_id.length,n=0;n0){o=o.split(\"(\");var c=s(o[0]),u=s(o[1]);Object.keys(c).forEach(function(t){Object.keys(u).forEach(function(e){var i=new O;i.multiplyMatrices(c[t],u[e]),n[t+\"x\"+e]=i})})}else n=s(o);var h=[];for(var l in n)h.push(n[l]);var d=t;/^(0|[1-9][0-9]*)$/.test(d)&&(d=\"BU\"+d);for(var f=a.asym_id_list[e].split(\",\"),p=0,m=f.length;p_){var S=w;w=_,_=S;var A=p;p=b,b=A}if(0!==w&&0!==_)for(var M=0;M<_;++M)o.index=p[M%w],a.index=b[M],o&&a?e.bondStore.addBond(o,a,Fc(n.pdbx_value_order[c])):Pv.log(\"atoms for connection not found\");else Pv.warn(\"no atoms found for\",f,y)}}}}function $c(t,e,i){if(t.entity){Dc(t.entity,\"id\");for(var n=t.entity,r=n.id.length,o=0;oo&&++s;e=new Int32Array(s)}for(i=0,n=0;in){for(var r=[],o=0;o>>16&65535|0,a=0;0!==i;){a=i>2e3?2e3:i,i-=a;do r=r+e[n++]|0,o=o+r|0;while(--a);r%=65521,o%=65521}return r|o<<16|0}function zu(){for(var t,e=[],i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e}function Bu(t,e,i,n){var r=xy,o=n+i;t^=-1;for(var a=n;a>>8^r[255&(t^e[a])];return t^-1}function Uu(t,e){var i,n,r,o,a,s,c,u,h,l,d,f,p,m,g,v,y,b,x,w,_,S,A,M,P;i=t.state,n=t.next_in,M=t.input,r=n+(t.avail_in-5),o=t.next_out,P=t.output,a=o-(e-t.avail_out),s=o+(t.avail_out-257),c=i.dmax,u=i.wsize,h=i.whave,l=i.wnext,d=i.window,f=i.hold,p=i.bits,m=i.lencode,g=i.distcode,v=(1<>>24,f>>>=x,p-=x,x=b>>>16&255,0===x)P[o++]=65535&b;else{if(!(16&x)){if(0===(64&x)){b=m[(65535&b)+(f&(1<>>=x,p-=x),p<15&&(f+=M[n++]<>>24,f>>>=x,p-=x,x=b>>>16&255,!(16&x)){if(0===(64&x)){b=g[(65535&b)+(f&(1<c){t.msg=\"invalid distance too far back\",i.mode=wy;break t}if(f>>>=x,p-=x,x=o-a,_>x){if(x=_-x,x>h&&i.sane){t.msg=\"invalid distance too far back\",i.mode=wy;break t}if(S=0,A=d,0===l){if(S+=u-x,x2;)P[o++]=A[S++],P[o++]=A[S++],P[o++]=A[S++],w-=3;w&&(P[o++]=A[S++],w>1&&(P[o++]=A[S++]))}else{S=o-_;do P[o++]=P[S++],P[o++]=P[S++],P[o++]=P[S++],w-=3;while(w>2);w&&(P[o++]=P[S++],w>1&&(P[o++]=P[S++]))}break}}break}}while(n>3,n-=w,p-=w<<3,f&=(1<=1&&0===I[w];w--);if(_>w&&(_=w),0===w)return r[o++]=20971520,r[o++]=20971520,s.bits=1,0;for(x=1;x0&&(t===Py||1!==w))return-1;for(L[1]=0,y=1;yAy||t===Ty&&P>My)return 1;for(var D=0;;){D++,p=y-A,a[b]f?(m=R[O+a[b]],g=T[E+a[b]]):(m=96,g=0),c=1<>A)+u]=p<<24|m<<16|g|0;while(0!==u);for(c=1<>=1;if(0!==c?(C&=c-1,C+=c):C=0,b++,0===--I[y]){if(y===w)break;y=e[i+a[b]]}if(y>_&&(C&l)!==h){for(0===A&&(A=_),d+=x,S=y-A,M=1<Ay||t===Ty&&P>My)return 1;h=C&l,r[h]=_<<24|S<<16|d-o|0}}return 0!==C&&(r[d+C]=y-A<<24|64<<16|0),s.bits=_,0}function $u(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function Vu(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Gu(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=Xy,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(Mb),e.distcode=e.distdyn=new Int32Array(Pb),e.sane=1,e.back=-1,By):$y}function Hu(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,Gu(t)):$y}function Wu(t,e){var i,n;return t&&t.state?(n=t.state,e<0?(i=0,e=-e):(i=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?$y:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,Hu(t))):$y}function Xu(t,e){var i,n;return t?(n=new Vu,t.state=n,n.window=null,i=Wu(t,e),i!==By&&(t.state=null),i):$y}function qu(t){if(Cb){var e;for(yy=new Int32Array(512),by=new Int32Array(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ju(Dy,t.lens,0,288,yy,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ju(Ny,t.lens,0,32,by,0,t.work,{bits:5}),Cb=!1}t.lencode=yy,t.lenbits=9,t.distcode=by,t.distbits=5}function Yu(t,e,i,n){var r,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(Nu(o.window,e,i-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>n&&(r=n),Nu(o.window,e,i-n,r,o.wnext),n-=r,n?(Nu(o.window,e,i-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,i.check=Bu(i.check,C,2,0),u=0,h=0,i.mode=qy;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg=\"incorrect header check\",i.mode=_b;break}if((15&u)!==Wy){t.msg=\"unknown compression method\",i.mode=_b;break}if(u>>>=4,h-=4,_=(15&u)+8,0===i.wbits)i.wbits=_;else if(_>i.wbits){t.msg=\"invalid window size\",i.mode=_b;break}i.dmax=1<<_,t.adler=i.check=1,i.mode=512&u?ib:rb,u=0,h=0;break;case qy:for(;h<16;){if(0===s)break t;s--,u+=n[o++]<>8&1),512&i.flags&&(C[0]=255&u,C[1]=u>>>8&255,i.check=Bu(i.check,C,2,0)),u=0,h=0,i.mode=Yy;case Yy:for(;h<32;){if(0===s)break t;s--,u+=n[o++]<>>8&255,C[2]=u>>>16&255,C[3]=u>>>24&255,i.check=Bu(i.check,C,4,0)),u=0,h=0,i.mode=Zy;case Zy:for(;h<16;){if(0===s)break t;s--,u+=n[o++]<>8),512&i.flags&&(C[0]=255&u,C[1]=u>>>8&255,i.check=Bu(i.check,C,2,0)),u=0,h=0,i.mode=Ky;case Ky:if(1024&i.flags){for(;h<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,i.check=Bu(i.check,C,2,0)),u=0,h=0}else i.head&&(i.head.extra=null);i.mode=Qy;case Qy:if(1024&i.flags&&(f=i.length,f>s&&(f=s),f&&(i.head&&(_=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),Nu(i.head.extra,n,o,f,_)),512&i.flags&&(i.check=Bu(i.check,n,f,o)),s-=f,o+=f,i.length-=f),i.length))break t;i.length=0,i.mode=Jy;case Jy:if(2048&i.flags){if(0===s)break t;f=0;do _=n[o+f++],i.head&&_&&i.length<65536&&(i.head.name+=String.fromCharCode(_));while(_&&f>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=rb;break;case ib:for(;h<32;){if(0===s)break t;s--,u+=n[o++]<>>=7&h,h-=7&h,i.mode=bb;break}for(;h<3;){if(0===s)break t;s--,u+=n[o++]<>>=1,h-=1,3&u){case 0:i.mode=ab;break;case 1:if(qu(i),i.mode=db,e===zy){u>>>=2,h-=2;break t}break;case 2:i.mode=ub;break;case 3:t.msg=\"invalid block type\",i.mode=_b}u>>>=2,h-=2;break;case ab:for(u>>>=7&h,h-=7&h;h<32;){if(0===s)break t;s--,u+=n[o++]<>>16^65535)){t.msg=\"invalid stored block lengths\",i.mode=_b;break}if(i.length=65535&u,u=0,h=0,i.mode=sb,e===zy)break t;case sb:i.mode=cb;case cb:if(f=i.length){if(f>s&&(f=s),f>c&&(f=c),0===f)break t;Nu(r,n,o,f,a),s-=f,o+=f,c-=f,a+=f,i.length-=f;break}i.mode=rb;break;case ub:for(;h<14;){if(0===s)break t;s--,u+=n[o++]<>>=5,h-=5,i.ndist=(31&u)+1,u>>>=5,h-=5,i.ncode=(15&u)+4,u>>>=4,h-=4,i.nlen>286||i.ndist>30){t.msg=\"too many length or distance symbols\",i.mode=_b;break}i.have=0,i.mode=hb;case hb:for(;i.have>>=3,h-=3}for(;i.have<19;)i.lens[T[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,A={bits:i.lenbits},S=ju(Oy,i.lens,0,19,i.lencode,0,i.work,A),i.lenbits=A.bits,S){t.msg=\"invalid code lengths set\",i.mode=_b;break}i.have=0,i.mode=lb;case lb:for(;i.have>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=n[o++]<>>=g,h-=g,i.lens[i.have++]=y;else{if(16===y){for(M=g+2;h>>=g,h-=g,0===i.have){t.msg=\"invalid bit length repeat\",i.mode=_b;break}_=i.lens[i.have-1],f=3+(3&u),u>>>=2,h-=2}else if(17===y){for(M=g+3;h>>=g,h-=g,_=0,f=3+(7&u),u>>>=3,h-=3}else{for(M=g+7;h>>=g,h-=g,_=0,f=11+(127&u),u>>>=7,h-=7}if(i.have+f>i.nlen+i.ndist){t.msg=\"invalid bit length repeat\",i.mode=_b;break}for(;f--;)i.lens[i.have++]=_}}if(i.mode===_b)break;if(0===i.lens[256]){t.msg=\"invalid code -- missing end-of-block\",i.mode=_b;break}if(i.lenbits=9,A={bits:i.lenbits},S=ju(Dy,i.lens,0,i.nlen,i.lencode,0,i.work,A),i.lenbits=A.bits,S){t.msg=\"invalid literal/lengths set\",i.mode=_b;break}if(i.distbits=6,i.distcode=i.distdyn,A={bits:i.distbits},S=ju(Ny,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,A),i.distbits=A.bits,S){t.msg=\"invalid distances set\",i.mode=_b;break}if(i.mode=db,e===zy)break t;case db:i.mode=fb;case fb:if(s>=6&&c>=258){t.next_out=a,t.avail_out=c,t.next_in=o,t.avail_in=s,i.hold=u,i.bits=h,Uu(t,d),a=t.next_out,r=t.output,c=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=i.hold,h=i.bits,i.mode===rb&&(i.back=-1);break}for(i.back=0;P=i.lencode[u&(1<>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=n[o++]<>b)],g=P>>>24,v=P>>>16&255,y=65535&P,!(b+g<=h);){if(0===s)break t;s--,u+=n[o++]<>>=b,h-=b,i.back+=b}if(u>>>=g,h-=g,i.back+=g,i.length=y,0===v){i.mode=yb;break}if(32&v){i.back=-1,i.mode=rb;break}if(64&v){t.msg=\"invalid literal/length code\",i.mode=_b;break}i.extra=15&v,i.mode=pb;case pb:if(i.extra){for(M=i.extra;h>>=i.extra,h-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=mb;case mb:for(;P=i.distcode[u&(1<>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=n[o++]<>b)],g=P>>>24,v=P>>>16&255,y=65535&P,!(b+g<=h);){if(0===s)break t;s--,u+=n[o++]<>>=b,h-=b,i.back+=b}if(u>>>=g,h-=g,i.back+=g,64&v){t.msg=\"invalid distance code\",i.mode=_b;break}i.offset=y,i.extra=15&v,i.mode=gb;case gb:if(i.extra){for(M=i.extra;h>>=i.extra,h-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg=\"invalid distance too far back\",i.mode=_b;break}i.mode=vb;case vb:if(0===c)break t;if(f=d-c,i.offset>f){if(f=i.offset-f,f>i.whave&&i.sane){t.msg=\"invalid distance too far back\",i.mode=_b;break}f>i.wnext?(f-=i.wnext,p=i.wsize-f):p=i.wnext-f,f>i.length&&(f=i.length),m=i.window}else m=r,p=a-i.offset,f=i.length;f>c&&(f=c),c-=f,i.length-=f;do r[a++]=m[p++];while(--f);0===i.length&&(i.mode=fb);break;case yb:if(0===c)break t;r[a++]=i.length,c--,i.mode=fb;break;case bb:if(i.wrap){for(;h<32;){if(0===s)break t;s--,u|=n[o++]<>>6,e[o++]=128|63&i):i<65536?(e[o++]=224|i>>>12,e[o++]=128|i>>>6&63,e[o++]=128|63&i):(e[o++]=240|i>>>18,e[o++]=128|i>>>12&63,e[o++]=128|i>>>6&63,e[o++]=128|63&i);return e}function eh(t,e){if(e<65537&&(t.subarray&&Eb||!t.subarray&&Tb))return String.fromCharCode.apply(null,Du(t,e));for(var i=\"\",n=0;n4)s[n++]=65533,i+=o-1;else{for(r&=2===o?31:3===o?15:7;o>1&&i1?s[n++]=65533:r<65536?s[n++]=r:(r-=65536,s[n++]=55296|r>>10&1023,s[n++]=56320|1023&r)}return eh(s,n)}function rh(t,e){var i;for(e=e||t.length,e>t.length&&(e=t.length),i=e-1;i>=0&&128===(192&t[i]);)i--;return i<0?e:0===i?e:i+Ib[t[i]]>e?i:e}function oh(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}function ah(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}function sh(t){if(!(this instanceof sh))return new sh(t);this.options=Ou({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new oh,this.strm.avail_out=0;var i=Xu(this.strm,e.windowBits);if(i!==Nb)throw new Error(Bb[i]);this.header=new ah,Qu(this.strm,this.header)}function ch(t,e){var i=new sh(e);if(i.push(t,!0),i.err)throw i.msg;return i.result}function uh(t){var e;t instanceof ArrayBuffer&&(t=new Uint8Array(t));try{e=ch(t)}catch(i){e=t}return e}function hh(){this.getUrl=function(t){var e,i=y(t),n=i.name.substr(0,4);return![\"pdb\",\"cif\"].includes(i.ext)||i.compressed!==!1&&\"gz\"!==i.compressed?\"mmtf\"===i.ext?e=i.base.endsWith(\".bb\")?Gb+n:Vb+n:i.ext?(Pv.warn(\"unsupported ext\",i.ext),e=Vb+n):e=Vb+n:e=jb+i.path,f()+e},this.getExt=function(t){var e=y(t);if(\"mmtf\"===e.ext||!e.ext)return\"mmtf\"}}function lh(){this.getUrl=function(t){var e,i=y(t),n=i.name;return i.ext&&\"sdf\"!==i.ext?(Pv.warn(\"unsupported ext\",i.ext),e=Hb+n+Wb):e=Hb+n+Wb,f()+e},this.getExt=function(t){var e=y(t);if(!e.ext||\"sdf\"===e.ext)return\"sdf\"}}function dh(){this.getUrl=function(t){return t}}function fh(t){t=t||\"\",this.getUrl=function(e){var i=y(e);return m(t+i.path)}}\"undefined\"!=typeof window&&!function(){window.console=window.console||{};for(var t,e,i=window.console,n={},r=function(){},o=\"memory\".split(\",\"),a=\"assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn\".split(\",\");t=o.pop();)i[t]||(i[t]=n);for(;e=a.pop();)i[e]||(i[e]=r)}(),\"undefined\"==typeof HTMLCanvasElement||HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,\"toBlob\",{value:function(t,e,i){for(var n=window.atob(this.toDataURL(e,i).split(\",\")[1]),r=n.length,o=r>>2,a=new Uint8Array(r),s=new Uint32Array(a.buffer,0,o),c=0,u=0;c-9007199254740992&&t<9007199254740992&&Math.floor(t)===t}),Number.isNaN||(Number.isNaN=function(t){return t!==t}),Object.assign||Object.defineProperty(Object,\"assign\",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(void 0===t||null===t)throw new TypeError(\"Cannot convert first argument to object\");for(var e,i=Object(t),n=!1,r=1;r1?arguments[1]:void 0,s=a?Number(a):0;s!=s&&(s=0);var c=Math.min(Math.max(s,0),n);if(o+c>n)return!1;for(var u=-1;++ui.length)&&(e=i.length),e-=t.length;var n=i.indexOf(t,e);return n!==-1&&n===e}),String.prototype.includes||(String.prototype.includes=function(t,e){return\"number\"!=typeof e&&(e=0),!(e+t.length>this.length)&&this.indexOf(t,e)!==-1}),Array.prototype.includes||(Array.prototype.includes=function(t){if(null==this)throw new TypeError(\"Array.prototype.includes called on null or undefined\");var e=Object(this),i=parseInt(e.length,10)||0;if(0===i)return!1;var n,r=parseInt(arguments[1],10)||0;r>=0?n=r:(n=i+r,n<0&&(n=0));for(var o;n0?1:-1)*Math.floor(Math.abs(e)):e},n=Math.pow(2,53)-1,r=function(t){var e=i(t);return Math.min(Math.max(e,0),n)};return function(t){var i=this,n=Object(t);if(null==t)throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");var o,a=arguments.length>1?arguments[1]:void 0;if(\"undefined\"!=typeof a){if(!e(a))throw new TypeError(\"Array.from: when provided, the second argument must be a function\");arguments.length>2&&(o=arguments[2])}for(var s,c=r(n.length),u=e(i)?Object(new i(c)):new Array(c),h=0;he?1:0}return function(e,i,n){var r=0,o=e.length-1;for(n||(n=t);r<=o;){var a=r+o>>1,s=n(i,e[a]);if(s>0)r=a+1;else{if(!(s<0))return a;o=a-1}}return-r-1}}();void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Math.sign&&(Math.sign=function(t){return t<0?-1:t>0?1:+t}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,\"name\",{get:function(){return this.toString().match(/^\\s*function\\s*(\\S*)\\s*\\(/)[1]}}),void 0===Object.assign&&!function(){Object.assign=function(t){if(void 0===t||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;i>=4,i[r]=e[19===r?3&t|8:t]);return i.join(\"\")}}(),clamp:function(t,e,i){return Math.max(e,Math.min(i,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,i,n,r){return n+(t-e)*(r-n)/(i-e)},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e),t*t*(3-2*t))},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e),t*t*t*(t*(6*t-15)+10))},random16:function(){return console.warn(\"THREE.Math.random16() has been deprecated. Use Math.random() instead.\"),Math.random()},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*Ed.DEG2RAD},radToDeg:function(t){return t*Ed.RAD2DEG},isPowerOfTwo:function(t){return 0===(t&t-1)&&0!==t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t++,t}};I.prototype={constructor:I,isVector2:!0,get width(){return this.x},set width(t){this.x=t},get height(){return this.y},set height(t){this.y=t},set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return isFinite(t)?(this.x*=t,this.y*=t):(this.x=0,this.y=0),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this},clampScalar:function(){var t,e;return function(i,n){return void 0===t&&(t=new I,e=new I),t.set(i,i),e.set(n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,i))/i)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y;return e*e+i*i},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromAttribute:function(t,e,i){return void 0===i&&(i=0),e=e*t.itemSize+i,this.x=t.array[e],this.y=t.array[e+1],this},rotateAround:function(t,e){var i=Math.cos(e),n=Math.sin(e),r=this.x-t.x,o=this.y-t.y;return this.x=r*i-o*n+t.x,this.y=r*n+o*i+t.y,this}},L.DEFAULT_IMAGE=void 0,L.DEFAULT_MAPPING=vl,L.prototype={constructor:L,isTexture:!0,set needsUpdate(t){t===!0&&this.version++},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){function e(t){var e;return void 0!==t.toDataURL?e=t:(e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),e.width=t.width,e.height=t.height,e.getContext(\"2d\").drawImage(t,0,0,t.width,t.height)),e.width>2048||e.height>2048?e.toDataURL(\"image/jpeg\",.6):e.toDataURL(\"image/png\")}if(void 0!==t.textures[this.uuid])return t.textures[this.uuid];var i={metadata:{version:4.4,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var n=this.image;void 0===n.uuid&&(n.uuid=Ed.generateUUID()),void 0===t.images[n.uuid]&&(t.images[n.uuid]={uuid:n.uuid,url:e(n)}),i.image=n.uuid}return t.textures[this.uuid]=i,i},dispose:function(){this.dispatchEvent({type:\"dispose\"})},transformUv:function(t){if(this.mapping===vl){if(t.multiply(this.repeat),t.add(this.offset),t.x<0||t.x>1)switch(this.wrapS){case Ml:t.x=t.x-Math.floor(t.x);break;case Pl:t.x=t.x<0?0:1;break;case Cl:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case Ml:t.y=t.y-Math.floor(t.y);break;case Pl:t.y=t.y<0?0:1;break;case Cl:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}this.flipY&&(t.y=1-t.y)}}},Object.assign(L.prototype,E.prototype);var Id=0;O.prototype={constructor:O,isMatrix4:!0,set:function(t,e,i,n,r,o,a,s,c,u,h,l,d,f,p,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=i,g[12]=n,g[1]=r,g[5]=o,g[9]=a,g[13]=s,g[2]=c,g[6]=u,g[10]=h,g[14]=l,g[3]=d,g[7]=f,g[11]=p,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new O).fromArray(this.elements)},copy:function(t){return this.elements.set(t.elements),this},copyPosition:function(t){var e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this},extractBasis:function(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this},extractRotation:function(){var t;return function(e){void 0===t&&(t=new N);var i=this.elements,n=e.elements,r=1/t.setFromMatrixColumn(e,0).length(),o=1/t.setFromMatrixColumn(e,1).length(),a=1/t.setFromMatrixColumn(e,2).length();return i[0]=n[0]*r,i[1]=n[1]*r,i[2]=n[2]*r,i[4]=n[4]*o,i[5]=n[5]*o,i[6]=n[6]*o,i[8]=n[8]*a,i[9]=n[9]*a,i[10]=n[10]*a,this}}(),makeRotationFromEuler:function(t){(t&&t.isEuler)===!1&&console.error(\"THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");var e=this.elements,i=t.x,n=t.y,r=t.z,o=Math.cos(i),a=Math.sin(i),s=Math.cos(n),c=Math.sin(n),u=Math.cos(r),h=Math.sin(r);if(\"XYZ\"===t.order){var l=o*u,d=o*h,f=a*u,p=a*h;e[0]=s*u,e[4]=-s*h,e[8]=c,e[1]=d+f*c,e[5]=l-p*c,e[9]=-a*s,e[2]=p-l*c,e[6]=f+d*c,e[10]=o*s}else if(\"YXZ\"===t.order){var m=s*u,g=s*h,v=c*u,y=c*h;e[0]=m+y*a,e[4]=v*a-g,e[8]=o*c,e[1]=o*h,e[5]=o*u,e[9]=-a,e[2]=g*a-v,e[6]=y+m*a,e[10]=o*s}else if(\"ZXY\"===t.order){var m=s*u,g=s*h,v=c*u,y=c*h;e[0]=m-y*a,e[4]=-o*h,e[8]=v+g*a,e[1]=g+v*a,e[5]=o*u,e[9]=y-m*a,e[2]=-o*c,e[6]=a,e[10]=o*s}else if(\"ZYX\"===t.order){var l=o*u,d=o*h,f=a*u,p=a*h;e[0]=s*u,e[4]=f*c-d,e[8]=l*c+p,e[1]=s*h,e[5]=p*c+l,e[9]=d*c-f,e[2]=-c,e[6]=a*s,e[10]=o*s}else if(\"YZX\"===t.order){var b=o*s,x=o*c,w=a*s,_=a*c;e[0]=s*u,e[4]=_-b*h,e[8]=w*h+x,e[1]=h,e[5]=o*u,e[9]=-a*u,e[2]=-c*u,e[6]=x*h+w,e[10]=b-_*h}else if(\"XZY\"===t.order){var b=o*s,x=o*c,w=a*s,_=a*c;e[0]=s*u,e[4]=-h,e[8]=c*u,e[1]=b*h+_,e[5]=o*u,e[9]=x*h-w,e[2]=w*h-x,e[6]=a*u,e[10]=_*h+b}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:function(t){var e=this.elements,i=t.x,n=t.y,r=t.z,o=t.w,a=i+i,s=n+n,c=r+r,u=i*a,h=i*s,l=i*c,d=n*s,f=n*c,p=r*c,m=o*a,g=o*s,v=o*c;return e[0]=1-(d+p),e[4]=h-v,e[8]=l+g,e[1]=h+v,e[5]=1-(u+p),e[9]=f-m,e[2]=l-g,e[6]=f+m,e[10]=1-(u+d),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},lookAt:function(){var t,e,i;return function(n,r,o){void 0===t&&(t=new N,e=new N,i=new N);var a=this.elements;return i.subVectors(n,r).normalize(),0===i.lengthSq()&&(i.z=1),t.crossVectors(o,i).normalize(),0===t.lengthSq()&&(i.z+=1e-4,t.crossVectors(o,i).normalize()),e.crossVectors(i,t),a[0]=t.x,a[4]=e.x,a[8]=i.x,a[1]=t.y,a[5]=e.y,a[9]=i.y,a[2]=t.z,a[6]=e.z,a[10]=i.z,this}}(),multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,n=e.elements,r=this.elements,o=i[0],a=i[4],s=i[8],c=i[12],u=i[1],h=i[5],l=i[9],d=i[13],f=i[2],p=i[6],m=i[10],g=i[14],v=i[3],y=i[7],b=i[11],x=i[15],w=n[0],_=n[4],S=n[8],A=n[12],M=n[1],P=n[5],C=n[9],T=n[13],E=n[2],I=n[6],L=n[10],R=n[14],O=n[3],D=n[7],N=n[11],k=n[15];return r[0]=o*w+a*M+s*E+c*O,r[4]=o*_+a*P+s*I+c*D,r[8]=o*S+a*C+s*L+c*N,r[12]=o*A+a*T+s*R+c*k,r[1]=u*w+h*M+l*E+d*O,r[5]=u*_+h*P+l*I+d*D,r[9]=u*S+h*C+l*L+d*N,r[13]=u*A+h*T+l*R+d*k,r[2]=f*w+p*M+m*E+g*O,r[6]=f*_+p*P+m*I+g*D,r[10]=f*S+p*C+m*L+g*N,r[14]=f*A+p*T+m*R+g*k,r[3]=v*w+y*M+b*E+x*O,r[7]=v*_+y*P+b*I+x*D,r[11]=v*S+y*C+b*L+x*N,r[15]=v*A+y*T+b*R+x*k,this},multiplyToArray:function(t,e,i){var n=this.elements;return this.multiplyMatrices(t,e),i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=n[3],i[4]=n[4],i[5]=n[5],i[6]=n[6],i[7]=n[7],i[8]=n[8],i[9]=n[9],i[10]=n[10],i[11]=n[11],i[12]=n[12],i[13]=n[13],i[14]=n[14],i[15]=n[15],this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},applyToVector3Array:function(){var t;return function(e,i,n){void 0===t&&(t=new N),void 0===i&&(i=0),void 0===n&&(n=e.length);for(var r=0,o=i;r0?(e=.5/Math.sqrt(d+1),this._w=.25/e,this._x=(h-c)*e,this._y=(o-u)*e,this._z=(a-r)*e):n>s&&n>l?(e=2*Math.sqrt(1+n-s-l),this._w=(h-c)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(o+u)/e):s>l?(e=2*Math.sqrt(1+s-n-l),this._w=(o-u)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(c+h)/e):(e=2*Math.sqrt(1+l-n-s),this._w=(a-r)/e,this._x=(o+u)/e,this._y=(c+h)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e,i=1e-6;return function(n,r){return void 0===t&&(t=new N),e=n.dot(r)+1,eMath.abs(n.z)?t.set(-n.y,n.x,0):t.set(0,-n.z,n.y)):t.crossVectors(n,r),this._x=t.x,this._y=t.y,this._z=t.z,this._w=e,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this.onChangeCallback(),this},multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var i=t._x,n=t._y,r=t._z,o=t._w,a=e._x,s=e._y,c=e._z,u=e._w;return this._x=i*u+o*a+n*c-r*s,this._y=n*u+o*s+r*a-i*c,this._z=r*u+o*c+i*s-n*a,this._w=o*u-i*a-n*s-r*c,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var i=this._x,n=this._y,r=this._z,o=this._w,a=o*t._w+i*t._x+n*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=i,this._y=n,this._z=r,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(i+this._x),this._y=.5*(n+this._y),this._z=.5*(r+this._z),this;var c=Math.atan2(s,a),u=Math.sin((1-e)*c)/s,h=Math.sin(e*c)/s;return this._w=o*u+this._w*h,this._x=i*u+this._x*h,this._y=n*u+this._y*h,this._z=r*u+this._z*h,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}},Object.assign(D,{slerp:function(t,e,i,n){return i.copy(t).slerp(e,n)},slerpFlat:function(t,e,i,n,r,o,a){var s=i[n+0],c=i[n+1],u=i[n+2],h=i[n+3],l=r[o+0],d=r[o+1],f=r[o+2],p=r[o+3];if(h!==p||s!==l||c!==d||u!==f){var m=1-a,g=s*l+c*d+u*f+h*p,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var b=Math.sqrt(y),x=Math.atan2(b,g*v);m=Math.sin(m*x)/b,a=Math.sin(a*x)/b}var w=a*v;if(s=s*m+l*w,c=c*m+d*w,u=u*m+f*w,h=h*m+p*w,m===1-a){var _=1/Math.sqrt(s*s+c*c+u*u+h*h);s*=_,c*=_,u*=_,h*=_}}t[e]=s,t[e+1]=c,t[e+2]=u,t[e+3]=h}}),N.prototype={constructor:N,isVector3:!0,set:function(t,e,i){return this.x=t,this.y=e,this.z=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return isFinite(t)?(this.x*=t,this.y*=t,this.z*=t):(this.x=0,this.y=0,this.z=0),this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:function(){var t;return function(e){return(e&&e.isEuler)===!1&&console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\"),void 0===t&&(t=new D),this.applyQuaternion(t.setFromEuler(e))}}(),applyAxisAngle:function(){var t;return function(e,i){return void 0===t&&(t=new D),this.applyQuaternion(t.setFromAxisAngle(e,i))}}(),applyMatrix3:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[3]*i+r[6]*n,this.y=r[1]*e+r[4]*i+r[7]*n,this.z=r[2]*e+r[5]*i+r[8]*n,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n+r[12],this.y=r[1]*e+r[5]*i+r[9]*n+r[13],this.z=r[2]*e+r[6]*i+r[10]*n+r[14],this},applyProjection:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements,o=1/(r[3]*e+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*e+r[4]*i+r[8]*n+r[12])*o,this.y=(r[1]*e+r[5]*i+r[9]*n+r[13])*o,this.z=(r[2]*e+r[6]*i+r[10]*n+r[14])*o,this},applyQuaternion:function(t){var e=this.x,i=this.y,n=this.z,r=t.x,o=t.y,a=t.z,s=t.w,c=s*e+o*n-a*i,u=s*i+a*e-r*n,h=s*n+r*i-o*e,l=-r*e-o*i-a*n;return this.x=c*s+l*-r+u*-a-h*-o,this.y=u*s+l*-o+h*-r-c*-a,this.z=h*s+l*-a+c*-o-u*-r,this},project:function(){var t;return function(e){return void 0===t&&(t=new O),t.multiplyMatrices(e.projectionMatrix,t.getInverse(e.matrixWorld)),this.applyProjection(t)}}(),unproject:function(){var t;return function(e){return void 0===t&&(t=new O),t.multiplyMatrices(e.matrixWorld,t.getInverse(e.projectionMatrix)),this.applyProjection(t)}}(),transformDirection:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n,this.y=r[1]*e+r[5]*i+r[9]*n,this.z=r[2]*e+r[6]*i+r[10]*n,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this},clampScalar:function(){var t,e;return function(i,n){return void 0===t&&(t=new N,e=new N),t.set(i,i,i),e.set(n,n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,i))/i)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},cross:function(t,e){if(void 0!==e)return console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(t,e);var i=this.x,n=this.y,r=this.z;return this.x=n*t.z-r*t.y,this.y=r*t.x-i*t.z,this.z=i*t.y-n*t.x,this},crossVectors:function(t,e){var i=t.x,n=t.y,r=t.z,o=e.x,a=e.y,s=e.z;return this.x=n*s-r*a,this.y=r*o-i*s,this.z=i*a-n*o,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t;return function(e){return void 0===t&&(t=new N),t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t;return function(e){return void 0===t&&(t=new N),this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(Ed.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){var e=Math.sin(t.phi)*t.radius;return this.x=e*Math.sin(t.theta),this.y=Math.cos(t.phi)*t.radius,this.z=e*Math.cos(t.theta),this},setFromMatrixPosition:function(t){return this.setFromMatrixColumn(t,3)},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=n,this},setFromMatrixColumn:function(t,e){if(\"number\"==typeof t){console.warn(\"THREE.Vector3: setFromMatrixColumn now expects ( matrix, index ).\");var i=t;t=e,e=i}return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromAttribute:function(t,e,i){return void 0===i&&(i=0),e=e*t.itemSize+i,this.x=t.array[e],this.y=t.array[e+1],this.z=t.array[e+2],this}},F.prototype={constructor:F,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;ethis.max.x||t.ythis.max.y)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},getParameter:function(t,e){var i=e||new I;return i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)},clampPoint:function(t,e){var i=e||new I;return i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new I;return function(e){var i=t.copy(e).clamp(this.min,this.max);return i.sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},B.prototype=Object.create(L.prototype),B.prototype.constructor=B,B.prototype.isCubeTexture=!0,Object.defineProperty(B.prototype,\"images\",{get:function(){return this.image},set:function(t){this.image=t}});var Ld=new L,Rd=new B,Od=[],Dd=[];gt.prototype.setValue=function(t,e){for(var i=this.seq,n=0,r=i.length;n!==r;++n){var o=i[n];o.setValue(t,e[o.id])}};var Nd=/([\\w\\d_]+)(\\])?(\\[|\\.)?/g;bt.prototype.setValue=function(t,e,i){var n=this.map[e];void 0!==n&&n.setValue(t,i,this.renderer)},bt.prototype.set=function(t,e,i){var n=this.map[i];void 0!==n&&n.setValue(t,e[i],this.renderer)},bt.prototype.setOptional=function(t,e,i){var n=e[i];void 0!==n&&this.setValue(t,i,n)},bt.upload=function(t,e,i,n){for(var r=0,o=e.length;r!==o;++r){var a=e[r],s=i[a.id];s.needsUpdate!==!1&&a.setValue(t,s.value,n)}},bt.seqWithValue=function(t,e){for(var i=[],n=0,r=t.length;n!==r;++n){var o=t[n];o.id in e&&i.push(o)}return i},bt.splitDynamic=function(t,e){for(var i=null,n=t.length,r=0,o=0;o!==n;++o){var a=t[o],s=e[a.id];s&&s.dynamic===!0?(null===i&&(i=[]),i.push(a)):(ry&&v>b?vb?y0&&(n.alphaTest=this.alphaTest),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),n.skinning=this.skinning,n.morphTargets=this.morphTargets,i){var r=e(t.textures),o=e(t.images);r.length>0&&(n.textures=r),o.length>0&&(n.images=o)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.shading=t.shading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.overdraw=t.overdraw,this.visible=t.visible,this.clipShadows=t.clipShadows;var e=t.clippingPlanes,i=null;if(null!==e){var n=e.length;i=new Array(n);for(var r=0;r!==n;++r)i[r]=e[r].clone()}return this.clippingPlanes=i,this},update:function(){this.dispatchEvent({type:\"update\"})},dispose:function(){this.dispatchEvent({type:\"dispose\"})}},Object.assign(At.prototype,E.prototype);var kd=0,Fd={merge:function(t){for(var e={},i=0;i 0.0 ) {\\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\t\\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t\\treturn distanceFalloff * maxDistanceCutoffFactor;\\n#else\\n\\t\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\\n\\treturn specularColor * AB.x + AB.y;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n\",Wd=\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = dFdx( surf_pos );\\n\\t\\tvec3 vSigmaY = dFdy( surf_pos );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\\n\",Xd=\"#if NUM_CLIPPING_PLANES > 0\\n\\tfor ( int i = 0; i < NUM_CLIPPING_PLANES; ++ i ) {\\n\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n#endif\\n\",qd=\"#if NUM_CLIPPING_PLANES > 0\\n\\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\t\\tvarying vec3 vViewPosition;\\n\\t#endif\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\\n\",Yd=\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n\",Zd=\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n\",Kd=\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",Qd=\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\\n\",Jd=\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",tf=\"#ifdef USE_COLOR\\n\\tvColor.xyz = color.xyz;\\n#endif\",ef=\"#define PI 3.14159265359\\n#define PI2 6.28318530718\\n#define RECIPROCAL_PI 0.31830988618\\n#define RECIPROCAL_PI2 0.15915494\\n#define LOG2 1.442695\\n#define EPSILON 1e-6\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\n\",nf=\"#ifdef ENVMAP_TYPE_CUBE_UV\\n#define cubeUV_textureSize (1024.0)\\nint getFaceFromDirection(vec3 direction) {\\n\\tvec3 absDirection = abs(direction);\\n\\tint face = -1;\\n\\tif( absDirection.x > absDirection.z ) {\\n\\t\\tif(absDirection.x > absDirection.y )\\n\\t\\t\\tface = direction.x > 0.0 ? 0 : 3;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\telse {\\n\\t\\tif(absDirection.z > absDirection.y )\\n\\t\\t\\tface = direction.z > 0.0 ? 2 : 5;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\treturn face;\\n}\\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\\n\\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\\n\\tfloat dxRoughness = dFdx(roughness);\\n\\tfloat dyRoughness = dFdy(roughness);\\n\\tvec3 dx = dFdx( vec * scale * dxRoughness );\\n\\tvec3 dy = dFdy( vec * scale * dyRoughness );\\n\\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\\n\\td = clamp(d, 1.0, cubeUV_rangeClamp);\\n\\tfloat mipLevel = 0.5 * log2(d);\\n\\treturn vec2(floor(mipLevel), fract(mipLevel));\\n}\\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\\n\\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\\n\\tfloat a = 16.0 * cubeUV_rcpTextureSize;\\n\\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\\n\\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\\n\\tfloat powScale = exp2_packed.x * exp2_packed.y;\\n\\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\\n\\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\\n\\tbool bRes = mipLevel == 0.0;\\n\\tscale = bRes && (scale < a) ? a : scale;\\n\\tvec3 r;\\n\\tvec2 offset;\\n\\tint face = getFaceFromDirection(direction);\\n\\tfloat rcpPowScale = 1.0 / powScale;\\n\\tif( face == 0) {\\n\\t\\tr = vec3(direction.x, -direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 1) {\\n\\t\\tr = vec3(direction.y, direction.x, direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 2) {\\n\\t\\tr = vec3(direction.z, direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 3) {\\n\\t\\tr = vec3(direction.x, direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse if( face == 4) {\\n\\t\\tr = vec3(direction.y, direction.x, -direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse {\\n\\t\\tr = vec3(direction.z, -direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\tr = normalize(r);\\n\\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\\n\\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\\n\\tvec2 base = offset + vec2( texelOffset );\\n\\treturn base + s * ( scale - 2.0 * texelOffset );\\n}\\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\\n\\tfloat roughnessVal = roughness* cubeUV_maxLods3;\\n\\tfloat r1 = floor(roughnessVal);\\n\\tfloat r2 = r1 + 1.0;\\n\\tfloat t = fract(roughnessVal);\\n\\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\\n\\tfloat s = mipInfo.y;\\n\\tfloat level0 = mipInfo.x;\\n\\tfloat level1 = level0 + 1.0;\\n\\tlevel1 = level1 > 5.0 ? 5.0 : level1;\\n\\tlevel0 += min( floor( s + 0.5 ), 5.0 );\\n\\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\\n\\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\\n\\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\\n\\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\\n\\tvec4 result = mix(color10, color20, t);\\n\\treturn vec4(result.rgb, 1.0);\\n}\\n#endif\\n\",rf=\"#ifdef FLIP_SIDED\\n\\tobjectNormal = -objectNormal;\\n#endif\\nvec3 transformedNormal = normalMatrix * objectNormal;\\n\",of=\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\\n\",af=\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\\n#endif\\n\",sf=\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\\n\",cf=\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\\n\",uf=\" gl_FragColor = linearToOutputTexel( gl_FragColor );\\n\",hf=\"\\nvec4 LinearToLinear( in vec4 value ) {\\n return value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n float maxComponent = max( max( value.r, value.g ), value.b );\\n float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n return vec4( value.xyz * value.w * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n float maxRGB = max( value.x, max( value.g, value.b ) );\\n float M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n M = ceil( M * 255.0 ) / 255.0;\\n return vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n float maxRGB = max( value.x, max( value.g, value.b ) );\\n float D = max( maxRange / maxRGB, 1.0 );\\n D = min( floor( D ) / 255.0, 1.0 );\\n return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\\n Xp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\\n vec4 vResult;\\n vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n vResult.w = fract(Le);\\n vResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\\n return vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n float Le = value.z * 255.0 + value.w;\\n vec3 Xp_Y_XYZp;\\n Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\\n Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\\n return vec4( max(vRGB, 0.0), 1.0 );\\n}\\n\",lf=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\tvec2 sampleUV;\\n\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\tvec4 envColor = texture2D( envMap, sampleUV );\\n\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\\n\\t\\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\\n\",df=\"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\\n\\tuniform float reflectivity;\\n\\tuniform float envMapIntenstiy;\\n#endif\\n#ifdef USE_ENVMAP\\n\\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\tuniform float flipEnvMap;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\\n\",ff=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\\n\",pf=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\n\",mf=\"#ifdef USE_FOG\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tfloat depth = gl_FragDepthEXT / gl_FragCoord.w;\\n\\t#else\\n\\t\\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\\n\\t#endif\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * depth * depth * LOG2 ) );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, depth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\\n\",gf=\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\",vf=\"#ifdef USE_LIGHTMAP\\n\\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n#endif\\n\",yf=\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",bf=\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\n#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",xf=\"uniform vec3 ambientLightColor;\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tif ( testLightInRange( lightDistance, pointLight.distance ) ) {\\n\\t\\t\\tdirectLight.color = pointLight.color;\\n\\t\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( all( bvec2( angleCos > spotLight.coneCos, testLightInRange( lightDistance, spotLight.distance ) ) ) ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\t#include \\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = flipNormal * vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryVec = flipNormal * vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\t#include \\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryReflectVec = flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\\n\\t\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\t\\tvec2 sampleUV;\\n\\t\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\\n\",wf=\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\\n\",_f=\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tvec3\\tspecularColor;\\n\\tfloat\\tspecularShininess;\\n\\tfloat\\tspecularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\\n\",Sf=\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\\n#ifdef STANDARD\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.clearCoat = saturate( clearCoat );\\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\\n#endif\\n\",Af=\"struct PhysicalMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tfloat\\tspecularRoughness;\\n\\tvec3\\tspecularColor;\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoat;\\n\\t\\tfloat clearCoatRoughness;\\n\\t#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\\n\\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifndef STANDARD\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\tfloat dotNL = dotNV;\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\\n\",Mf=\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = normalize( vViewPosition );\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t \\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\\n\\t#endif\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\\n\\t#ifndef STANDARD\\n\\t\\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\\n\\t#else\\n\\t\\tvec3 clearCoatRadiance = vec3( 0.0 );\\n\\t#endif\\n\\t\\t\\n\\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\\n#endif\\n\",Pf=\"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\\n\\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\\n#endif\",Cf=\"#ifdef USE_LOGDEPTHBUF\\n\\tuniform float logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n#endif\\n\",Tf=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n\\tuniform float logDepthBufFC;\\n#endif\",Ef=\"#ifdef USE_LOGDEPTHBUF\\n\\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t#else\\n\\t\\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\\n\\t#endif\\n#endif\\n\",If=\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\\n\",Lf=\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n\",Rf=\"#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n\",Of=\"#ifdef USE_MAP\\n\\tuniform vec4 offsetRepeat;\\n\\tuniform sampler2D map;\\n#endif\\n\",Df=\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.r;\\n#endif\\n\",Nf=\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",kf=\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\n#endif\\n\",Ff=\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_MORPHNORMALS\\n\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",zf=\"#ifdef USE_MORPHTARGETS\\n\\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\n\\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\n\\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\n\\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\n\\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\n\\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\n\\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\\n\",Bf=\"#ifdef DOUBLE_SIDED\\n\\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n#else\\n\\tfloat flipNormal = 1.0;\\n#endif\\n\",Uf=\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal ) * flipNormal;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tnormal = perturbNormal2Arb( -vViewPosition, normal );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n\",jf=\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\\n\\t\\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\\n\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\tmapN.xy = normalScale * mapN.xy;\\n\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\treturn normalize( tsn * mapN );\\n\\t}\\n#endif\\n\",$f=\"vec3 packNormalToRGB( const in vec3 normal ) {\\n return normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n return 1.0 - 2.0 * rgb.xyz;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n return ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n return linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n return (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\\n\",Vf=\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n\",Gf=\"#ifdef USE_SKINNING\\n\\tvec4 mvPosition = modelViewMatrix * skinned;\\n#else\\n\\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\\n\",Hf=\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.r;\\n#endif\\n\",Wf=\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",Xf=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\\n\\t\\tconst vec2 offset = vec2( 0.0, 1.0 );\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / size;\\n\\t\\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\\n\\t\\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\\n\\t\\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\\n\\t\\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\\n\\t\\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\\n\\t\\tvec2 f = fract( uv * size + 0.5 );\\n\\t\\tfloat a = mix( lb, lt, f.y );\\n\\t\\tfloat b = mix( rb, rt, f.y );\\n\\t\\tfloat c = mix( a, b, f.x );\\n\\t\\treturn c;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",qf=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n#endif\\n\",Yf=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n#endif\\n\",Zf=\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\\n\",Kf=\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",Qf=\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform sampler2D boneTexture;\\n\\t\\tuniform int boneTextureWidth;\\n\\t\\tuniform int boneTextureHeight;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureWidth ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureWidth ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureWidth );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureHeight );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",Jf=\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\tskinned = bindMatrixInverse * skinned;\\n#endif\\n\",tp=\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n#endif\\n\",ep=\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",ip=\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",np=\"#if defined( TONE_MAPPING )\\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\\n\",rp=\"#define saturate(a) clamp( a, 0.0, 1.0 )\\nuniform float toneMappingExposure;\\nuniform float toneMappingWhitePoint;\\nvec3 LinearToneMapping( vec3 color ) {\\n return toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n color *= toneMappingExposure;\\n return saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\\nvec3 Uncharted2ToneMapping( vec3 color ) {\\n color *= toneMappingExposure;\\n return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n color *= toneMappingExposure;\\n color = max( vec3( 0.0 ), color - 0.004 );\\n return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\n\",op=\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n#endif\",ap=\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n\\tuniform vec4 offsetRepeat;\\n#endif\\n\",sp=\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\\n#endif\",cp=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",up=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n#endif\",hp=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = uv2;\\n#endif\",lp=\"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\\n\\t#ifdef USE_SKINNING\\n\\t\\tvec4 worldPosition = modelMatrix * skinned;\\n\\t#else\\n\\t\\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\\n\\t#endif\\n#endif\\n\",dp=\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n\\tgl_FragColor.a *= opacity;\\n}\\n\",fp=\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",pp=\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\\n\\t#endif\\n}\\n\",mp=\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",gp=\"uniform vec3 lightPos;\\nvarying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\\n}\\n\",vp=\"varying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition;\\n}\\n\",yp=\"uniform sampler2D tEquirect;\\nuniform float tFlip;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldPosition );\\n\\tvec2 sampleUV;\\n\\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\\n\\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n}\\n\",bp=\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",xp=\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",wp=\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvLineDistance = scale * lineDistance;\\n\\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n}\\n\",_p=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight;\\n\\treflectedLight.directDiffuse = vec3( 0.0 );\\n\\treflectedLight.directSpecular = vec3( 0.0 );\\n\\treflectedLight.indirectDiffuse = diffuseColor.rgb;\\n\\treflectedLight.indirectSpecular = vec3( 0.0 );\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Sp=\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Ap=\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Mp=\"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Pp=\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Cp=\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Tp=\"#define PHYSICAL\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifndef STANDARD\\n\\tuniform float clearCoat;\\n\\tuniform float clearCoatRoughness;\\n#endif\\nuniform float envMapIntensity;\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Ep=\"#define PHYSICAL\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n}\\n\",Ip=\"uniform float opacity;\\nvarying vec3 vNormal;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( vNormal ), opacity );\\n\\t#include \\n}\\n\",Lp=\"varying vec3 vNormal;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tvNormal = normalize( normalMatrix * normal );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Rp=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Op=\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tgl_PointSize = size * ( scale / - mvPosition.z );\\n\\t#else\\n\\t\\tgl_PointSize = size;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",Dp=\"uniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\\n}\\n\",Np=\"#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",kp={\nalphamap_fragment:zd,alphamap_pars_fragment:Bd,alphatest_fragment:Ud,aomap_fragment:jd,aomap_pars_fragment:$d,begin_vertex:Vd,beginnormal_vertex:Gd,bsdfs:Hd,bumpmap_pars_fragment:Wd,clipping_planes_fragment:Xd,clipping_planes_pars_fragment:qd,clipping_planes_pars_vertex:Yd,clipping_planes_vertex:Zd,color_fragment:Kd,color_pars_fragment:Qd,color_pars_vertex:Jd,color_vertex:tf,common:ef,cube_uv_reflection_fragment:nf,defaultnormal_vertex:rf,displacementmap_pars_vertex:of,displacementmap_vertex:af,emissivemap_fragment:sf,emissivemap_pars_fragment:cf,encodings_fragment:uf,encodings_pars_fragment:hf,envmap_fragment:lf,envmap_pars_fragment:df,envmap_pars_vertex:ff,envmap_vertex:pf,fog_fragment:mf,fog_pars_fragment:gf,lightmap_fragment:vf,lightmap_pars_fragment:yf,lights_lambert_vertex:bf,lights_pars:xf,lights_phong_fragment:wf,lights_phong_pars_fragment:_f,lights_physical_fragment:Sf,lights_physical_pars_fragment:Af,lights_template:Mf,logdepthbuf_fragment:Pf,logdepthbuf_pars_fragment:Cf,logdepthbuf_pars_vertex:Tf,logdepthbuf_vertex:Ef,map_fragment:If,map_pars_fragment:Lf,map_particle_fragment:Rf,map_particle_pars_fragment:Of,metalnessmap_fragment:Df,metalnessmap_pars_fragment:Nf,morphnormal_vertex:kf,morphtarget_pars_vertex:Ff,morphtarget_vertex:zf,normal_flip:Bf,normal_fragment:Uf,normalmap_pars_fragment:jf,packing:$f,premultiplied_alpha_fragment:Vf,project_vertex:Gf,roughnessmap_fragment:Hf,roughnessmap_pars_fragment:Wf,shadowmap_pars_fragment:Xf,shadowmap_pars_vertex:qf,shadowmap_vertex:Yf,shadowmask_pars_fragment:Zf,skinbase_vertex:Kf,skinning_pars_vertex:Qf,skinning_vertex:Jf,skinnormal_vertex:tp,specularmap_fragment:ep,specularmap_pars_fragment:ip,tonemapping_fragment:np,tonemapping_pars_fragment:rp,uv_pars_fragment:op,uv_pars_vertex:ap,uv_vertex:sp,uv2_pars_fragment:cp,uv2_pars_vertex:up,uv2_vertex:hp,worldpos_vertex:lp,cube_frag:dp,cube_vert:fp,depth_frag:pp,depth_vert:mp,distanceRGBA_frag:gp,distanceRGBA_vert:vp,equirect_frag:yp,equirect_vert:bp,linedashed_frag:xp,linedashed_vert:wp,meshbasic_frag:_p,meshbasic_vert:Sp,meshlambert_frag:Ap,meshlambert_vert:Mp,meshphong_frag:Pp,meshphong_vert:Cp,meshphysical_frag:Tp,meshphysical_vert:Ep,normal_frag:Ip,normal_vert:Lp,points_frag:Rp,points_vert:Op,shadow_frag:Dp,shadow_vert:Np};Ct.prototype={constructor:Ct,isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):\"number\"==typeof t?this.setHex(t):\"string\"==typeof t&&this.setStyle(t),this},setScalar:function(t){this.r=t,this.g=t,this.b=t},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,e,i){return this.r=t,this.g=e,this.b=i,this},setHSL:function(){function t(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+6*(e-t)*(2/3-i):t}return function(e,i,n){if(e=Ed.euclideanModulo(e,1),i=Ed.clamp(i,0,1),n=Ed.clamp(n,0,1),0===i)this.r=this.g=this.b=n;else{var r=n<=.5?n*(1+i):n+i-n*i,o=2*n-r;this.r=t(o,r,e+1/3),this.g=t(o,r,e),this.b=t(o,r,e-1/3)}return this}}(),setStyle:function(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn(\"THREE.Color: Alpha component of \"+t+\" will be ignored.\")}var i;if(i=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(t)){var n,r=i[1],o=i[2];switch(r){case\"rgb\":case\"rgba\":if(n=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(n[1],10))/255,this.g=Math.min(255,parseInt(n[2],10))/255,this.b=Math.min(255,parseInt(n[3],10))/255,e(n[5]),this;if(n=/^(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(n[1],10))/100,this.g=Math.min(100,parseInt(n[2],10))/100,this.b=Math.min(100,parseInt(n[3],10))/100,e(n[5]),this;break;case\"hsl\":case\"hsla\":if(n=/^([0-9]*\\.?[0-9]+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o)){var a=parseFloat(n[1])/360,s=parseInt(n[2],10)/100,c=parseInt(n[3],10)/100;return e(n[5]),this.setHSL(a,s,c)}}}else if(i=/^\\#([A-Fa-f0-9]+)$/.exec(t)){var u=i[1],h=u.length;if(3===h)return this.r=parseInt(u.charAt(0)+u.charAt(0),16)/255,this.g=parseInt(u.charAt(1)+u.charAt(1),16)/255,this.b=parseInt(u.charAt(2)+u.charAt(2),16)/255,this;if(6===h)return this.r=parseInt(u.charAt(0)+u.charAt(1),16)/255,this.g=parseInt(u.charAt(2)+u.charAt(3),16)/255,this.b=parseInt(u.charAt(4)+u.charAt(5),16)/255,this}if(t&&t.length>0){var u=Fp[t];void 0!==u?this.setHex(u):console.warn(\"THREE.Color: Unknown color \"+t)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return void 0===e&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){void 0===e&&(e=2);var i=e>0?1/e:1;return this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},convertGammaToLinear:function(){var t=this.r,e=this.g,i=this.b;return this.r=t*t,this.g=e*e,this.b=i*i,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return(\"000000\"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){var e,i,n=t||{h:0,s:0,l:0},r=this.r,o=this.g,a=this.b,s=Math.max(r,o,a),c=Math.min(r,o,a),u=(c+s)/2;if(c===s)e=0,i=0;else{var h=s-c;switch(i=u<=.5?h/(s+c):h/(2-s-c),s){case r:e=(o-a)/h+(or&&(r=u),h>o&&(o=h),l>a&&(a=l)}this.min.set(e,i,n),this.max.set(r,o,a)},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,e){var i=e||new N;return i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)},intersectsSphere:function(){var t;return function(e){return void 0===t&&(t=new N),this.clampPoint(e.center,t),t.distanceToSquared(e.center)<=e.radius*e.radius}}(),intersectsPlane:function(t){var e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=t.constant&&i>=t.constant},clampPoint:function(t,e){var i=e||new N;return i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new N;return function(e){var i=t.copy(e).clamp(this.min,this.max);return i.sub(e).length()}}(),getBoundingSphere:function(){var t=new N;return function(e){var i=e||new It;return i.center=this.center(),i.radius=.5*this.size(t).length(),i}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(){var t=[new N,new N,new N,new N,new N,new N,new N,new N];return function(e){return this.isEmpty()?this:(t[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),t[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),t[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),t[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),t[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),t[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),t[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),t[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(t),this)}}(),translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},It.prototype={constructor:It,set:function(t,e){return this.center.copy(t),this.radius=e,this},setFromPoints:function(){var t=new Et;return function(e,i){var n=this.center;void 0!==i?n.copy(i):t.setFromPoints(e).center(n);for(var r=0,o=0,a=e.length;othis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n},getBoundingBox:function(t){var e=t||new Et;return e.set(this.center,this.center),e.expandByScalar(this.radius),e},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}},Lt.prototype={constructor:Lt,isMatrix3:!0,set:function(t,e,i,n,r,o,a,s,c){var u=this.elements;return u[0]=t,u[1]=n,u[2]=a,u[3]=e,u[4]=r,u[5]=s,u[6]=i,u[7]=o,u[8]=c,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var e=t.elements;return this.set(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]),this},setFromMatrix4:function(t){var e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this},applyToVector3Array:function(){var t;return function(e,i,n){void 0===t&&(t=new N),void 0===i&&(i=0),void 0===n&&(n=e.length);for(var r=0,o=i;r1))return n.copy(r).multiplyScalar(a).add(e.start)}else if(0===this.distanceToPoint(e.start))return n.copy(e.start)}}(),intersectsLine:function(t){var e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){var e=t||new N;return e.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var t=new N,e=new Lt;return function(i,n){var r=this.coplanarPoint(t).applyMatrix4(i),o=n||e.getNormalMatrix(i),a=this.normal.applyMatrix3(o).normalize();return this.constant=-r.dot(a),this}}(),translate:function(t){return this.constant=this.constant-t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}},Ot.prototype={constructor:Ot,set:function(t,e,i,n,r,o){var a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(i),a[3].copy(n),a[4].copy(r),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){for(var e=this.planes,i=0;i<6;i++)e[i].copy(t.planes[i]);return this},setFromMatrix:function(t){var e=this.planes,i=t.elements,n=i[0],r=i[1],o=i[2],a=i[3],s=i[4],c=i[5],u=i[6],h=i[7],l=i[8],d=i[9],f=i[10],p=i[11],m=i[12],g=i[13],v=i[14],y=i[15];return e[0].setComponents(a-n,h-s,p-l,y-m).normalize(),e[1].setComponents(a+n,h+s,p+l,y+m).normalize(),e[2].setComponents(a+r,h+c,p+d,y+g).normalize(),e[3].setComponents(a-r,h-c,p-d,y-g).normalize(),e[4].setComponents(a-o,h-u,p-f,y-v).normalize(),e[5].setComponents(a+o,h+u,p+f,y+v).normalize(),this},intersectsObject:function(){var t=new It;return function(e){var i=e.geometry;return null===i.boundingSphere&&i.computeBoundingSphere(),t.copy(i.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSprite:function(){var t=new It;return function(e){return t.center.set(0,0,0),t.radius=.7071067811865476,t.applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSphere:function(t){for(var e=this.planes,i=t.center,n=-t.radius,r=0;r<6;r++){var o=e[r].distanceToPoint(i);if(o0?i.min.x:i.max.x,e.x=o.normal.x>0?i.max.x:i.min.x,t.y=o.normal.y>0?i.min.y:i.max.y,e.y=o.normal.y>0?i.max.y:i.min.y,t.z=o.normal.z>0?i.min.z:i.max.z,e.z=o.normal.z>0?i.max.z:i.min.z;var a=o.distanceToPoint(t),s=o.distanceToPoint(e);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(t){for(var e=this.planes,i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}};var Up=0;Kt.prototype={constructor:Kt,isBufferAttribute:!0,get count(){return this.array.length/this.itemSize},set needsUpdate(t){t===!0&&this.version++},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.normalized=t.normalized,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.itemSize,i*=e.itemSize;for(var n=0,r=this.itemSize;n1){for(var e=0;e1)for(var e=0;e0){r.children=[];for(var o=0;o0&&(n.geometries=a),s.length>0&&(n.materials=s),c.length>0&&(n.textures=c),u.length>0&&(n.images=u)}return n.object=r,n},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e){if(void 0===e&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(var i=0;i0)for(var f=0;f0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,i,n,r;for(i=0,n=this.faces.length;i0&&(t+=e[i].distanceTo(e[i-1])),this.lineDistances[i]=t},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Et),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new It),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,i){if((t&&t.isGeometry)===!1)return void console.error(\"THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.\",t);var n,r=this.vertices.length,o=this.vertices,a=t.vertices,s=this.faces,c=t.faces,u=this.faceVertexUvs[0],h=t.faceVertexUvs[0];void 0===i&&(i=0),void 0!==e&&(n=(new Lt).getNormalMatrix(e));for(var l=0,d=a.length;l=0;i--){var g=f[i];for(this.faces.splice(g,1),a=0,s=this.faceVertexUvs.length;a0,_=v.vertexNormals.length>0,S=1!==v.color.r||1!==v.color.g||1!==v.color.b,A=v.vertexColors.length>0,M=0;if(M=t(M,0,0),M=t(M,1,y),M=t(M,2,b),M=t(M,3,x),M=t(M,4,w),M=t(M,5,_),M=t(M,6,S),M=t(M,7,A),h.push(M),h.push(v.a,v.b,v.c),h.push(v.materialIndex),x){var P=this.faceVertexUvs[0][c];h.push(n(P[0]),n(P[1]),n(P[2]))}if(w&&h.push(e(v.normal)),_){var C=v.vertexNormals;h.push(e(C[0]),e(C[1]),e(C[2]))}if(S&&h.push(i(v.color)),A){var T=v.vertexColors;h.push(i(T[0]),i(T[1]),i(T[2]))}}return r.data={},r.data.vertices=s,r.data.normals=l,f.length>0&&(r.data.colors=f),m.length>0&&(r.data.uvs=[m]),r.data.faces=h,r},clone:function(){return(new ae).copy(this)},copy:function(t){this.vertices=[],this.faces=[],this.faceVertexUvs=[[]];for(var e=t.vertices,i=0,n=e.length;i0,a=r[1]&&r[1].length>0,s=t.morphTargets,c=s.length;if(c>0){e=[];for(var u=0;u0){h=[];for(var u=0;u0){var i=new Float32Array(3*t.normals.length);this.addAttribute(\"normal\",new Kt(i,3).copyVector3sArray(t.normals))}if(t.colors.length>0){var n=new Float32Array(3*t.colors.length);this.addAttribute(\"color\",new Kt(n,3).copyColorsArray(t.colors))}if(t.uvs.length>0){var r=new Float32Array(2*t.uvs.length);this.addAttribute(\"uv\",new Kt(r,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){var o=new Float32Array(2*t.uvs2.length);this.addAttribute(\"uv2\",new Kt(o,2).copyVector2sArray(t.uvs2))}if(t.indices.length>0){var a=t.vertices.length>65535?Uint32Array:Uint16Array,s=new a(3*t.indices.length);this.setIndex(new Kt(s,1).copyIndicesArray(t.indices))}this.groups=t.groups;for(var c in t.morphTargets){for(var u=[],h=t.morphTargets[c],l=0,d=h.length;l0){var m=new te(4*t.skinIndices.length,4);this.addAttribute(\"skinIndex\",m.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){var g=new te(4*t.skinWeights.length,4);this.addAttribute(\"skinWeight\",g.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Et);var t=this.attributes.position.array;void 0!==t?this.boundingBox.setFromArray(t):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var t=new Et,e=new N;return function(){null===this.boundingSphere&&(this.boundingSphere=new It);var i=this.attributes.position;if(i){var n=i.array,r=this.boundingSphere.center;t.setFromArray(n),t.center(r);for(var o=0,a=0,s=n.length;a0&&(t.data.groups=JSON.parse(JSON.stringify(s)));var c=this.boundingSphere;return null!==c&&(t.data.boundingSphere={center:c.center.toArray(),radius:c.radius}),t},clone:function(){return(new ue).copy(this)},copy:function(t){var e=t.index;null!==e&&this.setIndex(e.clone());var i=t.attributes;for(var n in i){var r=i[n];this.addAttribute(n,r.clone())}for(var o=t.groups,a=0,s=o.length;a0)if(s=d*p-f,c=d*f-p,h=l*g,s>=0)if(c>=-h)if(c<=h){var v=1/g;s*=v,c*=v,u=s*(s+d*c+2*f)+c*(d*s+c+2*p)+m}else c=l,s=Math.max(0,-(d*c+f)),u=-s*s+c*(c+2*p)+m;else c=-l,s=Math.max(0,-(d*c+f)),u=-s*s+c*(c+2*p)+m;else c<=-h?(s=Math.max(0,-(-d*l+f)),c=s>0?-l:Math.min(Math.max(-l,-p),l),u=-s*s+c*(c+2*p)+m):c<=h?(s=0,c=Math.min(Math.max(-l,-p),l),u=c*(c+2*p)+m):(s=Math.max(0,-(d*l+f)),c=s>0?l:Math.min(Math.max(-l,-p),l),u=-s*s+c*(c+2*p)+m);else c=d>0?-l:l,s=Math.max(0,-(d*c+f)),u=-s*s+c*(c+2*p)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(e).multiplyScalar(c).add(t),u}}(),intersectSphere:function(){var t=new N;return function(e,i){t.subVectors(e.center,this.origin);var n=t.dot(this.direction),r=t.dot(t)-n*n,o=e.radius*e.radius;if(r>o)return null;var a=Math.sqrt(o-r),s=n-a,c=n+a;return s<0&&c<0?null:s<0?this.at(c,i):this.at(s,i)}}(),intersectsSphere:function(t){return this.distanceToPoint(t.center)<=t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;var i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null},intersectPlane:function(t,e){var i=this.distanceToPlane(t);return null===i?null:this.at(i,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);if(0===e)return!0;var i=t.normal.dot(this.direction);return i*e<0},intersectBox:function(t,e){var i,n,r,o,a,s,c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,l=this.origin;return c>=0?(i=(t.min.x-l.x)*c,n=(t.max.x-l.x)*c):(i=(t.max.x-l.x)*c,n=(t.min.x-l.x)*c),u>=0?(r=(t.min.y-l.y)*u,o=(t.max.y-l.y)*u):(r=(t.max.y-l.y)*u,o=(t.min.y-l.y)*u),i>o||r>n?null:((r>i||i!==i)&&(i=r),(o=0?(a=(t.min.z-l.z)*h,s=(t.max.z-l.z)*h):(a=(t.max.z-l.z)*h,s=(t.min.z-l.z)*h),i>s||a>n?null:((a>i||i!==i)&&(i=a),(s=0?i:n,e)))},intersectsBox:function(){var t=new N;return function(e){return null!==this.intersectBox(e,t)}}(),intersectTriangle:function(){var t=new N,e=new N,i=new N,n=new N;return function(r,o,a,s,c){e.subVectors(o,r),i.subVectors(a,r),n.crossVectors(e,i);var u,h=this.direction.dot(n);if(h>0){if(s)return null;u=1}else{if(!(h<0))return null;\nu=-1,h=-h}t.subVectors(this.origin,r);var l=u*this.direction.dot(i.crossVectors(t,i));if(l<0)return null;var d=u*this.direction.dot(e.cross(t));if(d<0)return null;if(l+d>h)return null;var f=-u*t.dot(n);return f<0?null:this.at(f/h,c)}}(),applyMatrix4:function(t){return this.direction.add(this.origin).applyMatrix4(t),this.origin.applyMatrix4(t),this.direction.sub(this.origin),this.direction.normalize(),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}},we.prototype={constructor:we,set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},center:function(t){var e=t||new N;return e.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){var e=t||new N;return e.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){var i=e||new N;return this.delta(i).multiplyScalar(t).add(this.start)},closestPointToPointParameter:function(){var t=new N,e=new N;return function(i,n){t.subVectors(i,this.start),e.subVectors(this.end,this.start);var r=e.dot(e),o=e.dot(t),a=o/r;return n&&(a=Ed.clamp(a,0,1)),a}}(),closestPointToPoint:function(t,e,i){var n=this.closestPointToPointParameter(t,e),r=i||new N;return this.delta(r).multiplyScalar(n).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}},_e.normal=function(){var t=new N;return function(e,i,n,r){var o=r||new N;o.subVectors(n,i),t.subVectors(e,i),o.cross(t);var a=o.lengthSq();return a>0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),_e.barycoordFromPoint=function(){var t=new N,e=new N,i=new N;return function(n,r,o,a,s){t.subVectors(a,r),e.subVectors(o,r),i.subVectors(n,r);var c=t.dot(t),u=t.dot(e),h=t.dot(i),l=e.dot(e),d=e.dot(i),f=c*l-u*u,p=s||new N;if(0===f)return p.set(-2,-1,-1);var m=1/f,g=(l*h-u*d)*m,v=(c*d-u*h)*m;return p.set(1-g-v,v,g)}}(),_e.containsPoint=function(){var t=new N;return function(e,i,n,r){var o=_e.barycoordFromPoint(e,i,n,r,t);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}(),_e.prototype={constructor:_e,set:function(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this},setFromPointsAndIndices:function(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},area:function(){var t=new N,e=new N;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),midpoint:function(t){var e=t||new N;return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(t){return _e.normal(this.a,this.b,this.c,t)},plane:function(t){var e=t||new Rt;return e.setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(t,e){return _e.barycoordFromPoint(t,this.a,this.b,this.c,e)},containsPoint:function(t){return _e.containsPoint(t,this.a,this.b,this.c)},closestPointToPoint:function(){var t,e,i,n;return function(r,o){void 0===t&&(t=new Rt,e=[new we,new we,new we],i=new N,n=new N);var a=o||new N,s=1/0;if(t.setFromCoplanarPoints(this.a,this.b,this.c),t.projectPoint(r,i),this.containsPoint(i)===!0)a.copy(i);else{e[0].set(this.a,this.b),e[1].set(this.b,this.c),e[2].set(this.c,this.a);for(var c=0;c0){this.morphTargetBase=-1,this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var t=0,e=this.geometry.morphTargets.length;te.far?null:{distance:u,point:v.clone(),object:t}}function i(i,n,r,o,u,h,l,m){a.fromArray(o,3*h),s.fromArray(o,3*l),c.fromArray(o,3*m);var v=e(i,n,r,a,s,c,g);return v&&(u&&(d.fromArray(u,2*h),f.fromArray(u,2*l),p.fromArray(u,2*m),v.uv=t(g,a,s,c,d,f,p)),v.face=new ee(h,l,m,_e.normal(a,s,c)),v.faceIndex=h),v}var n=new O,r=new xe,o=new It,a=new N,s=new N,c=new N,u=new N,h=new N,l=new N,d=new I,f=new I,p=new I,m=new N,g=new N,v=new N;return function(m,v){var y=this.geometry,b=this.material,x=this.matrixWorld;if(void 0!==b&&(null===y.boundingSphere&&y.computeBoundingSphere(),o.copy(y.boundingSphere),o.applyMatrix4(x),m.ray.intersectsSphere(o)!==!1&&(n.getInverse(x),r.copy(m.ray).applyMatrix4(n),null===y.boundingBox||r.intersectsBox(y.boundingBox)!==!1))){var w,_;if(y&&y.isBufferGeometry){var S,A,M,P=y.index,C=y.attributes,T=C.position.array;if(void 0!==C.uv&&(w=C.uv.array),null!==P)for(var E=P.array,I=0,L=E.length;I0&&(w=B);for(var U=0,j=z.length;Ur||i.push({distance:Math.sqrt(n),point:this.position,face:null,object:this})}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),ke.prototype=Object.assign(Object.create(re.prototype),{constructor:ke,copy:function(t){re.prototype.copy.call(this,t,!1);for(var e=t.levels,i=0,n=e.length;i1){t.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(this.matrixWorld);var r=t.distanceTo(e);n[0].object.visible=!0;for(var o=1,a=n.length;o=n[o].distance;o++)n[o-1].object.visible=!1,n[o].object.visible=!0;for(;oa)){d.applyMatrix4(this.matrixWorld);var S=n.ray.origin.distanceTo(d);Sn.far||r.push({distance:S,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}else for(var y=0,b=g.length/3-1;ya)){d.applyMatrix4(this.matrixWorld);var S=n.ray.origin.distanceTo(d);Sn.far||r.push({distance:S,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}}else if(s&&s.isGeometry)for(var A=s.vertices,M=A.length,y=0;ya)){d.applyMatrix4(this.matrixWorld);var S=n.ray.origin.distanceTo(d);Sn.far||r.push({distance:S,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Ve.prototype=Object.assign(Object.create($e.prototype),{constructor:Ve,isLineSegments:!0}),Ge.prototype=Object.create(At.prototype),Ge.prototype.constructor=Ge,Ge.prototype.isPointsMaterial=!0,Ge.prototype.copy=function(t){return At.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this},He.prototype=Object.assign(Object.create(re.prototype),{constructor:He,isPoints:!0,raycast:function(){var t=new O,e=new xe,i=new It;return function(n,r){function o(t,i){var o=e.distanceSqToPoint(t);if(on.far)return;r.push({distance:u,distanceToRay:Math.sqrt(o),point:s.clone(),index:i,face:null,object:a})}}var a=this,s=this.geometry,c=this.matrixWorld,u=n.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(c),n.ray.intersectsSphere(i)!==!1){t.getInverse(c),e.copy(n.ray).applyMatrix4(t);var h=u/((this.scale.x+this.scale.y+this.scale.z)/3),l=h*h,d=new N;if(s&&s.isBufferGeometry){var f=s.index,p=s.attributes,m=p.position.array;if(null!==f)for(var g=f.array,v=0,y=g.length;v0||0===t.search(/^data\\:image\\/jpeg/);r.format=n?Xl:ql,r.image=i,r.needsUpdate=!0,void 0!==e&&e(r)},i,n),r},setCrossOrigin:function(t){return this.crossOrigin=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setPath:function(t){return this.path=t,this}}),ni.prototype=Object.assign(Object.create(re.prototype),{constructor:ni,isLight:!0,copy:function(t){return re.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){var e=re.prototype.toJSON.call(this,t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}),ri.prototype=Object.assign(Object.create(ni.prototype),{constructor:ri,isHemisphereLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(oi.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var t={};return 0!==this.bias&&(t.bias=this.bias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}),ai.prototype=Object.assign(Object.create(oi.prototype),{constructor:ai,isSpotLightShadow:!0,update:function(t){var e=2*Ed.RAD2DEG*t.angle,i=this.mapSize.width/this.mapSize.height,n=t.distance||500,r=this.camera;e===r.fov&&i===r.aspect&&n===r.far||(r.fov=e,r.aspect=i,r.far=n,r.updateProjectionMatrix())}}),si.prototype=Object.assign(Object.create(ni.prototype),{constructor:si,isSpotLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),ci.prototype=Object.assign(Object.create(ni.prototype),{constructor:ci,isPointLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),ui.prototype=Object.assign(Object.create(oi.prototype),{constructor:ui}),hi.prototype=Object.assign(Object.create(ni.prototype),{constructor:hi,isDirectionalLight:!0,copy:function(t){return ni.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),li.prototype=Object.assign(Object.create(ni.prototype),{constructor:li,isAmbientLight:!0});var Hp={arraySlice:function(t,e,i){return Hp.isTypedArray(t)?new t.constructor(t.subarray(e,i)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&t.constructor===e?t:\"number\"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){function e(e,i){return t[e]-t[i]}for(var i=t.length,n=new Array(i),r=0;r!==i;++r)n[r]=r;return n.sort(e),n},sortedArray:function(t,e,i){for(var n=t.length,r=new t.constructor(n),o=0,a=0;a!==n;++o)for(var s=i[o]*e,c=0;c!==e;++c)r[a++]=t[s+c];return r},flattenJSON:function(t,e,i,n){for(var r=1,o=t[0];void 0!==o&&void 0===o[n];)o=t[r++];if(void 0!==o){var a=o[n];if(void 0!==a)if(Array.isArray(a)){do a=o[n],void 0!==a&&(e.push(o.time),i.push.apply(i,a)),o=t[r++];while(void 0!==o)}else if(void 0!==a.toArray){do a=o[n],void 0!==a&&(e.push(o.time),a.toArray(i,i.length)),o=t[r++];while(void 0!==o)}else do a=o[n],void 0!==a&&(e.push(o.time),i.push(a)),o=t[r++];while(void 0!==o)}}};di.prototype={constructor:di,evaluate:function(t){var e=this.parameterPositions,i=this._cachedIndex,n=e[i],r=e[i-1];t:{e:{var o;i:{n:if(!(t=r)break t;var s=e[1];t=r)break e}o=i,i=0}}for(;i>>1;te;)--o;if(++o,0!==r||o!==n){r>=o&&(o=Math.max(o,1),r=o-1);var a=this.getValueSize();this.times=Hp.arraySlice(i,r,o),this.values=Hp.arraySlice(this.values,r*a,o*a)}return this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error(\"invalid value size in track\",this),t=!1);var i=this.times,n=this.values,r=i.length;0===r&&(console.error(\"track is empty\",this),t=!1);for(var o=null,a=0;a!==r;a++){var s=i[a];if(\"number\"==typeof s&&isNaN(s)){console.error(\"time is not a valid number\",this,a,s),t=!1;break}if(null!==o&&o>s){console.error(\"out of order keys\",this,a,s,o),t=!1;break}o=s}if(void 0!==n&&Hp.isTypedArray(n))for(var a=0,c=n.length;a!==c;++a){var u=n[a];if(isNaN(u)){console.error(\"value is not a valid number\",this,a,u),t=!1;break}}return t},optimize:function(){for(var t=this.times,e=this.values,i=this.getValueSize(),n=1,r=1,o=t.length-1;r<=o;++r){var a=!1,s=t[r],c=t[r+1];if(s!==c&&(1!==r||s!==s[0]))for(var u=r*i,h=u-i,l=u+i,d=0;d!==i;++d){var f=e[u+d];if(f!==e[h+d]||f!==e[l+d]){a=!0;break}}if(a){if(r!==n){t[n]=t[r];for(var p=r*i,m=n*i,d=0;d!==i;++d)e[m+d]=e[p+d]}++n}}return n!==t.length&&(this.times=Hp.arraySlice(t,0,n),this.values=Hp.arraySlice(e,0,n*i)),this}},vi.prototype=Object.assign(Object.create(Wp),{constructor:vi,ValueTypeName:\"vector\"}),yi.prototype=Object.assign(Object.create(di.prototype),{constructor:yi,interpolate_:function(t,e,i,n){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,c=(i-e)/(n-e),u=s+a;s!==u;s+=4)D.slerpFlat(r,0,o,s-a,o,s,c);return r}}),bi.prototype=Object.assign(Object.create(Wp),{constructor:bi,ValueTypeName:\"quaternion\",DefaultInterpolation:dd,InterpolantFactoryMethodLinear:function(t){return new yi(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),xi.prototype=Object.assign(Object.create(Wp),{constructor:xi,ValueTypeName:\"number\"}),wi.prototype=Object.assign(Object.create(Wp),{constructor:wi,ValueTypeName:\"string\",ValueBufferType:Array,DefaultInterpolation:ld,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),_i.prototype=Object.assign(Object.create(Wp),{constructor:_i,ValueTypeName:\"bool\",ValueBufferType:Array,DefaultInterpolation:ld,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Si.prototype=Object.assign(Object.create(Wp),{constructor:Si,ValueTypeName:\"color\"}),Ai.prototype=Wp,Wp.constructor=Ai,Object.assign(Ai,{parse:function(t){if(void 0===t.type)throw new Error(\"track type undefined, can not parse\");var e=Ai._getTrackTypeForValueTypeName(t.type);if(void 0===t.times){var i=[],n=[];Hp.flattenJSON(t.keys,i,n,\"value\"),t.times=i,t.values=n}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)},toJSON:function(t){var e,i=t.constructor;if(void 0!==i.toJSON)e=i.toJSON(t);else{e={name:t.name,times:Hp.convertArray(t.times,Array),values:Hp.convertArray(t.values,Array)};var n=t.getInterpolation();n!==t.DefaultInterpolation&&(e.interpolation=n)}return e.type=t.ValueTypeName,e},_getTrackTypeForValueTypeName:function(t){switch(t.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return xi;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return vi;case\"color\":return Si;case\"quaternion\":return bi;case\"bool\":case\"boolean\":return _i;case\"string\":return wi}throw new Error(\"Unsupported typeName: \"+t)}}),Mi.prototype={constructor:Mi,resetDuration:function(){for(var t=this.tracks,e=0,i=0,n=t.length;i!==n;++i){var r=this.tracks[i];e=Math.max(e,r.times[r.times.length-1])}this.duration=e},trim:function(){for(var t=0;t1){var u=c[1],h=n[u];h||(n[u]=h=[]),h.push(s)}}var l=[];for(var u in n)l.push(Mi.CreateFromMorphTargetSequence(u,n[u],e,i));return l},parseAnimation:function(t,e,i){if(!t)return console.error(\" no animation in JSONLoader data\"),null;for(var n=function(t,e,i,n,r){if(0!==i.length){var o=[],a=[];Hp.flattenJSON(i,o,a,n),0!==o.length&&r.push(new t(e,o,a))}},r=[],o=t.name||\"default\",a=t.length||-1,s=t.fps||30,c=t.hierarchy||[],u=0;u1?t.skinWeights[i+1]:0,s=e>2?t.skinWeights[i+2]:0,c=e>3?t.skinWeights[i+3]:0;a.skinWeights.push(new wt(r,o,s,c))}if(t.skinIndices)for(var i=0,n=t.skinIndices.length;i1?t.skinIndices[i+1]:0,l=e>2?t.skinIndices[i+2]:0,d=e>3?t.skinIndices[i+3]:0;a.skinIndices.push(new wt(u,h,l,d))}a.bones=t.bones,a.bones&&a.bones.length>0&&(a.skinWeights.length!==a.skinIndices.length||a.skinIndices.length!==a.vertices.length)&&console.warn(\"When skinning, number of vertices (\"+a.vertices.length+\"), skinIndices (\"+a.skinIndices.length+\"), and skinWeights (\"+a.skinWeights.length+\") should match.\")}function r(e){if(void 0!==t.morphTargets)for(var i=0,n=t.morphTargets.length;i0){console.warn('THREE.JSONLoader: \"morphColors\" no longer supported. Using them as face colors.');for(var h=a.faces,l=t.morphColors[0].colors,i=0,n=h.length;i0&&(a.animations=e)}var a=new ae,s=void 0!==t.scale?1/t.scale:1;if(i(s),n(),r(s),o(),a.computeFaceNormals(),a.computeBoundingSphere(),void 0===t.materials||0===t.materials.length)return{geometry:a};var c=Ti.prototype.initMaterials(t.materials,e,this.crossOrigin);return{geometry:a,materials:c}}}),Object.assign(Ii.prototype,{load:function(t,e,i,n){\"\"===this.texturePath&&(this.texturePath=t.substring(0,t.lastIndexOf(\"/\")+1));var r=this,o=new Ke(r.manager);o.load(t,function(t){r.parse(JSON.parse(t),e)},i,n)},setTexturePath:function(t){this.texturePath=t},setCrossOrigin:function(t){this.crossOrigin=t},parse:function(t,e){var i=this.parseGeometries(t.geometries),n=this.parseImages(t.images,function(){void 0!==e&&e(a)}),r=this.parseTextures(t.textures,n),o=this.parseMaterials(t.materials,r),a=this.parseObject(t.object,i,o);return t.animations&&(a.animations=this.parseAnimations(t.animations)),void 0!==t.images&&0!==t.images.length||void 0!==e&&e(a),a},parseGeometries:function(t){var e={};if(void 0!==t)for(var i=new Ei,n=new Ci,r=0,o=t.length;r0){var o=new Ze(e),a=new ti(o);a.setCrossOrigin(this.crossOrigin);for(var s=0,c=t.length;s0?new Ue(s,c):new Ae(s,c);break;case\"LOD\":a=new ke;break;case\"Line\":a=new $e(r(e.geometry),o(e.material),e.mode);break;case\"LineSegments\":a=new Ve(r(e.geometry),o(e.material));break;case\"PointCloud\":case\"Points\":a=new He(r(e.geometry),o(e.material));break;case\"Sprite\":a=new Ne(o(e.material));break;case\"Group\":a=new We;break;default:a=new re}if(a.uuid=e.uuid,void 0!==e.name&&(a.name=e.name),void 0!==e.matrix?(t.fromArray(e.matrix),t.decompose(a.position,a.quaternion,a.scale)):(void 0!==e.position&&a.position.fromArray(e.position),void 0!==e.rotation&&a.rotation.fromArray(e.rotation),void 0!==e.quaternion&&a.quaternion.fromArray(e.quaternion),void 0!==e.scale&&a.scale.fromArray(e.scale)),void 0!==e.castShadow&&(a.castShadow=e.castShadow),void 0!==e.receiveShadow&&(a.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(a.shadow.bias=e.shadow.bias),void 0!==e.shadow.radius&&(a.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&a.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(a.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(a.visible=e.visible),void 0!==e.userData&&(a.userData=e.userData),void 0!==e.children)for(var u in e.children)a.add(this.parseObject(e.children[u],i,n));if(\"LOD\"===e.type)for(var h=e.levels,l=0;l(u-s)*(d-c)-(h-c)*(l-s))return!1;var m,g,v,y,b,x,w,_,S,A,M,P,C,T,E;for(m=l-u,g=d-h,v=s-l,y=c-d,b=u-s,x=h-c,a=0;a=-Number.EPSILON&&T>=-Number.EPSILON&&C>=-Number.EPSILON))return!1;return!0}return function(e,i){var n=e.length;if(n<3)return null;var r,o,a,s=[],c=[],u=[];if(Xp.area(e)>0)for(o=0;o2;){if(l--<=0)return console.warn(\"THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()\"),i?u:s;if(r=o,h<=r&&(r=0),o=r+1,h<=o&&(o=0),a=o+1,h<=a&&(a=0),t(e,r,o,a,h,c)){var d,f,p,m,g;for(d=c[r],f=c[o],p=c[a],s.push([e[d],e[f],e[p]]),u.push([c[r],c[o],c[a]]),m=o,g=o+1;g2&&t[e-1].equals(t[0])&&t.pop()}function n(t,e,i){return t.x!==e.x?t.xNumber.EPSILON){var p;if(d>0){if(f<0||f>d)return[];if(p=u*h-c*l,p<0||p>d)return[]}else{if(f>0||f0||pM?[]:x===M?o?[]:[y]:w<=M?[y,b]:[y,S]}function o(t,e,i,n){var r=e.x-t.x,o=e.y-t.y,a=i.x-t.x,s=i.y-t.y,c=n.x-t.x,u=n.y-t.y,h=r*s-o*a,l=r*u-o*c;if(Math.abs(h)>Number.EPSILON){var d=c*s-u*a;return h>0?l>=0&&d>=0:l>=0||d>=0}return l>0}function a(t,e){function i(t,e){var i=y.length-1,n=t-1;n<0&&(n=i);var r=t+1;r>i&&(r=0);var a=o(y[t],y[n],y[r],s[e]);if(!a)return!1;var c=s.length-1,u=e-1;u<0&&(u=c);var h=e+1;return h>c&&(h=0),a=o(s[e],s[u],s[h],y[t]),!!a}function n(t,e){var i,n,o;for(i=0;i0)return!0;return!1}function a(t,i){var n,o,a,s,c;for(n=0;n0)return!0;return!1}for(var s,c,u,h,l,d,f,p,m,g,v,y=t.concat(),b=[],x=[],w=0,_=e.length;w<_;w++)b.push(w);for(var S=0,A=2*b.length;b.length>0;){if(A--,A<0){console.log(\"Infinite Loop! Holes left:\"+b.length+\", Probably Hole outside Shape!\");break}for(u=S;u=0)break;x[f]=!0}if(c>=0)break}}return y}i(t),e.forEach(i);for(var s,c,u,h,l,d,f={},p=t.concat(),m=0,g=e.length;m0)){c=r;break}c=r-1}if(r=c,n[r]===i){var u=r/(o-1);return u}var h=n[r],l=n[r+1],d=l-h,f=(i-h)/d,u=(r+f)/(o-1);return u},getTangent:function(t){var e=1e-4,i=t-e,n=t+e;i<0&&(i=0),n>1&&(n=1);var r=this.getPoint(i),o=this.getPoint(n),a=o.clone().sub(r);return a.normalize()},getTangentAt:function(t){var e=this.getUtoTmapping(t);return this.getTangent(e)}},Li.create=function(t,e){return t.prototype=Object.create(Li.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Ri.prototype=Object.create(Li.prototype),Ri.prototype.constructor=Ri,Ri.prototype.isLineCurve=!0,Ri.prototype.getPoint=function(t){if(1===t)return this.v2.clone();var e=this.v2.clone().sub(this.v1);return e.multiplyScalar(t).add(this.v1),e},Ri.prototype.getPointAt=function(t){return this.getPoint(t)},Ri.prototype.getTangent=function(t){var e=this.v2.clone().sub(this.v1);return e.normalize()},Oi.prototype=Object.assign(Object.create(Li.prototype),{constructor:Oi,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new Ri(e,t))},getPoint:function(t){for(var e=t*this.getLength(),i=this.getCurveLengths(),n=0;n=e){var r=i[n]-e,o=this.curves[n],a=o.getLength(),s=0===a?0:1-r/a;return o.getPointAt(s)}n++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,i=0,n=this.curves.length;i1&&!i[i.length-1].equals(i[0])&&i.push(i[0]),i},createPointsGeometry:function(t){var e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){var e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){for(var e=new ae,i=0,n=t.length;ie;)i-=e;ie.length-2?e.length-1:n+1],c=e[n>e.length-3?e.length-1:n+2],u=qp.interpolate;return new I(u(o.x,a.x,s.x,c.x,r),u(o.y,a.y,s.y,c.y,r))},ki.prototype=Object.create(Li.prototype),ki.prototype.constructor=ki,ki.prototype.getPoint=function(t){var e=Xp.b3;return new I(e(t,this.v0.x,this.v1.x,this.v2.x,this.v3.x),e(t,this.v0.y,this.v1.y,this.v2.y,this.v3.y))},ki.prototype.getTangent=function(t){var e=qp.tangentCubicBezier;return new I(e(t,this.v0.x,this.v1.x,this.v2.x,this.v3.x),e(t,this.v0.y,this.v1.y,this.v2.y,this.v3.y)).normalize()},Fi.prototype=Object.create(Li.prototype),Fi.prototype.constructor=Fi,Fi.prototype.getPoint=function(t){var e=Xp.b2;return new I(e(t,this.v0.x,this.v1.x,this.v2.x),e(t,this.v0.y,this.v1.y,this.v2.y))},Fi.prototype.getTangent=function(t){var e=qp.tangentQuadraticBezier;return new I(e(t,this.v0.x,this.v1.x,this.v2.x),e(t,this.v0.y,this.v1.y,this.v2.y)).normalize()};var Yp=Object.assign(Object.create(Oi.prototype),{fromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,i=t.length;e0){var u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);var h=c.getPoint(1);this.currentPoint.copy(h)}});zi.prototype=Object.create(ae.prototype),zi.prototype.constructor=zi,zi.NoTaper=function(t){return 1},zi.SinusoidalTaper=function(t){return Math.sin(Math.PI*t)},zi.FrenetFrames=function(t,e,i){function n(){f[0]=new N,p[0]=new N,o=Number.MAX_VALUE,a=Math.abs(d[0].x),s=Math.abs(d[0].y),c=Math.abs(d[0].z),a<=o&&(o=a,l.set(1,0,0)),s<=o&&(o=s,l.set(0,1,0)),c<=o&&l.set(0,0,1),m.crossVectors(d[0],l).normalize(),f[0].crossVectors(d[0],m),p[0].crossVectors(d[0],f[0])}var r,o,a,s,c,u,h,l=new N,d=[],f=[],p=[],m=new N,g=new O,v=e+1;for(this.tangents=d,this.normals=f,this.binormals=p,u=0;uNumber.EPSILON&&(m.normalize(),r=Math.acos(Ed.clamp(d[u-1].dot(d[u]),-1,1)),f[u].applyMatrix4(g.makeRotationAxis(m,r))),p[u].crossVectors(d[u],f[u]);if(i)for(r=Math.acos(Ed.clamp(f[0].dot(f[v-1]),-1,1)),r/=v-1,d[0].dot(m.crossVectors(f[0],f[v-1]))>0&&(r=-r),u=1;uNumber.EPSILON){var d=Math.sqrt(h),f=Math.sqrt(c*c+u*u),p=e.x-s/d,m=e.y+a/d,g=i.x-u/f,v=i.y+c/f,y=((g-p)*u-(v-m)*c)/(a*u-s*c);n=p+a*y-t.x,r=m+s*y-t.y;var b=n*n+r*r;if(b<=2)return new I(n,r);o=Math.sqrt(b/2)}else{var x=!1;a>Number.EPSILON?c>Number.EPSILON&&(x=!0):a<-Number.EPSILON?c<-Number.EPSILON&&(x=!0):Math.sign(s)===Math.sign(u)&&(x=!0),x?(n=-s,r=a,o=Math.sqrt(h)):(n=a,r=s,o=Math.sqrt(h/2))}return new I(n/o,r/o)}function r(){if(b){var t=0,e=G*t;for(X=0;X=0;){i=X,n=X-1,n<0&&(n=t.length-1);var r=0,o=w+2*y;for(r=0;r=0;z--){for(U=z/y,j=g*Math.cos(U*Math.PI/2),B=v*Math.sin(U*Math.PI/2),X=0,q=F.length;XNumber.EPSILON){if(u<0&&(a=e[o],c=-c,s=e[r],u=-u),t.ys.y)continue;if(t.y===a.y){if(t.x===a.x)return!0}else{var h=u*(t.x-a.x)-c*(t.y-a.y);if(0===h)return!0;if(h<0)continue;n=!n}}else{if(t.y!==a.y)continue;if(s.x<=t.x&&t.x<=a.x||a.x<=t.x&&t.x<=s.x)return!0}}return n}var r=Xp.isClockWise,o=this.subPaths;if(0===o.length)return[];if(e===!0)return i(o);var a,s,c,u=[];if(1===o.length)return s=o[0],c=new ji,c.curves=s.curves,u.push(c),u;var h=!r(o[0].getPoints());h=t?!h:h;var l,d=[],f=[],p=[],m=0;f[m]=void 0,p[m]=[];for(var g=0,v=o.length;g1){for(var y=!1,b=[],x=0,w=f.length;x0&&(y||(p=d))}for(var C,g=0,T=f.length;g0){this.source.connect(this.filters[0]);for(var t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(var t=1,e=this.filters.length;t=.5)for(var o=0;o!==r;++o)t[e+o]=t[i+o]},_slerp:function(t,e,i,n,r){D.slerpFlat(t,e,t,e,t,i,n)},_lerp:function(t,e,i,n,r){for(var o=1-n,a=0;a!==r;++a){var s=e+a;t[s]=t[s]*o+t[i+a]*n}}},tn.prototype={constructor:tn,getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,i=e.objectName,n=e.propertyName,r=e.propertyIndex;if(t||(t=tn.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error(\" trying to update node for track: \"+this.path+\" but it wasn't found.\");if(i){var o=e.objectIndex;switch(i){case\"materials\":if(!t.material)return void console.error(\" can not bind to material as node does not have a material\",this);if(!t.material.materials)return void console.error(\" can not bind to material.materials as node.material does not have a materials array\",this);t=t.material.materials;break;case\"bones\":if(!t.skeleton)return void console.error(\" can not bind to bones as node does not have a skeleton\",this);t=t.skeleton.bones;for(var a=0;a0)for(var c=this._interpolants,u=this._propertyBindings,h=0,l=c.length;h!==l;++h)c[h].evaluate(a),u[h].accumulate(n,s)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var i=this._weightInterpolant;if(null!==i){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var i=this._timeScaleInterpolant;if(null!==i){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e},_updateTime:function(t){var e=this.time+t;if(0===t)return e;var i=this._clip.duration,n=this.loop,r=this._loopCount;if(n===cd){r===-1&&(this.loopCount=0,this._setEndings(!0,!0,!1));t:{if(e>=i)e=i;else{if(!(e<0))break t;e=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t<0?-1:1})}}else{var o=n===hd;if(r===-1&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),e>=i||e<0){var a=Math.floor(e/i);e-=i*a,r+=Math.abs(a);var s=this.repetitions-r;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=t>0?i:0,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t>0?1:-1});else{if(0===s){var c=t<0;this._setEndings(c,!c,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:a})}}if(o&&1===(1&r))return this.time=e,i-e}return this.time=e,e},_setEndings:function(t,e,i){var n=this._interpolantSettings;i?(n.endingStart=md,n.endingEnd=md):(t?n.endingStart=this.zeroSlopeAtStart?md:pd:n.endingStart=gd,e?n.endingEnd=this.zeroSlopeAtEnd?md:pd:n.endingEnd=gd)},_scheduleFading:function(t,e,i){var n=this._mixer,r=n.time,o=this._weightInterpolant;null===o&&(o=n._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=e,a[1]=r+t,s[1]=i,this}},Object.assign(nn.prototype,E.prototype,{clipAction:function(t,e){var i=e||this._root,n=i.uuid,r=\"string\"==typeof t?Mi.findByName(i,t):t,o=null!==r?r.uuid:t,a=this._actionsByClip[o],s=null;if(void 0!==a){var c=a.actionByRoot[n];if(void 0!==c)return c;s=a.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var u=new en(this,r,e);return this._bindAction(u,s),this._addInactiveAction(u,o,n),u},existingAction:function(t,e){var i=e||this._root,n=i.uuid,r=\"string\"==typeof t?Mi.findByName(i,t):t,o=r?r.uuid:t,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[n]||null:null},stopAllAction:function(){var t=this._actions,e=this._nActiveActions,i=this._bindings,n=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==e;++r)t[r].reset();for(var r=0;r!==n;++r)i[r].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,i=this._nActiveActions,n=this.time+=t,r=Math.sign(t),o=this._accuIndex^=1,a=0;a!==i;++a){var s=e[a];s.enabled&&s._update(n,t,r,o)}for(var c=this._bindings,u=this._nActiveBindings,a=0;a!==u;++a)c[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions,i=t.uuid,n=this._actionsByClip,r=n[i];if(void 0!==r){for(var o=r.knownActions,a=0,s=o.length;a!==s;++a){var c=o[a];this._deactivateAction(c);var u=c._cacheIndex,h=e[e.length-1];c._cacheIndex=null,c._byClipCacheIndex=null,h._cacheIndex=u,e[u]=h,e.pop(),this._removeInactiveBindingsForAction(c)}delete n[i]}},uncacheRoot:function(t){var e=t.uuid,i=this._actionsByClip;for(var n in i){var r=i[n].actionByRoot,o=r[e];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[e];if(void 0!==s)for(var c in s){var u=s[c];u.restoreOriginalState(),this._removeInactiveBinding(u)}},uncacheAction:function(t,e){var i=this.existingAction(t,e);null!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}}),Object.assign(nn.prototype,{_bindAction:function(t,e){var i=t._localRoot||this._root,n=t._clip.tracks,r=n.length,o=t._propertyBindings,a=t._interpolants,s=i.uuid,c=this._bindingsByRootAndName,u=c[s];void 0===u&&(u={},c[s]=u);for(var h=0;h!==r;++h){var l=n[h],d=l.name,f=u[d];if(void 0!==f)o[h]=f;else{if(f=o[h],void 0!==f){null===f._cacheIndex&&(++f.referenceCount,this._addInactiveBinding(f,s,d));continue}var p=e&&e._propertyBindings[h].binding.parsedPath;f=new Ji(tn.create(i,d,p),l.ValueTypeName,l.getValueSize()),++f.referenceCount,this._addInactiveBinding(f,s,d),o[h]=f}a[h].resultBuffer=f.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){var e=(t._localRoot||this._root).uuid,i=t._clip.uuid,n=this._actionsByClip[i];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,i,e)}for(var r=t._propertyBindings,o=0,a=r.length;o!==a;++o){var s=r[o];0===s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var r=e[i];0===--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){var e=t._cacheIndex;return null!==e&&e.99999?this.quaternion.set(0,0,0,1):i.y<-.99999?this.quaternion.set(1,0,0,0):(e.set(i.z,0,-i.x).normalize(),t=Math.acos(i.y),this.quaternion.setFromAxisAngle(e,t))}}(),bn.prototype.setLength=function(t,e,i){void 0===e&&(e=.2*t),void 0===i&&(i=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()},bn.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},xn.prototype=Object.create(ae.prototype),xn.prototype.constructor=xn,wn.prototype=Object.create(xn.prototype),wn.prototype.constructor=wn,_n.prototype=Object.create(ue.prototype),_n.prototype.constructor=_n,Sn.prototype=Object.create(ue.prototype),Sn.prototype.constructor=Sn,An.prototype=Object.create(ue.prototype),An.prototype.constructor=An,Mn.prototype=Object.create(ae.prototype),Mn.prototype.constructor=Mn,Pn.prototype=Object.create(ue.prototype),Pn.prototype.constructor=Pn,Cn.prototype=Object.create(ae.prototype),Cn.prototype.constructor=Cn,Tn.prototype=Object.create(ue.prototype),Tn.prototype.constructor=Tn,En.prototype=Object.create(ue.prototype),En.prototype.constructor=En;(function(){function t(){}var e=new N,i=new t,n=new t,r=new t;return t.prototype.init=function(t,e,i,n){this.c0=t,this.c1=i,this.c2=-3*t+3*e-2*i-n,this.c3=2*t-2*e+i+n},t.prototype.initNonuniformCatmullRom=function(t,e,i,n,r,o,a){var s=(e-t)/r-(i-t)/(r+o)+(i-e)/o,c=(i-e)/o-(n-e)/(o+a)+(n-i)/a;s*=o,c*=o,this.init(e,i,s,c)},t.prototype.initCatmullRom=function(t,e,i,n,r){this.init(e,i,r*(i-t),r*(n-e))},t.prototype.calc=function(t){var e=t*t,i=e*t;return this.c0+this.c1*t+this.c2*e+this.c3*i},Li.create(function(t){this.points=t||[],this.closed=!1},function(t){var o,a,s,c,u=this.points;c=u.length,c<2&&console.log(\"duh, you need at least 2 points\"),o=(c-(this.closed?0:1))*t,a=Math.floor(o),s=o-a,this.closed?a+=a>0?0:(Math.floor(Math.abs(a)/u.length)+1)*u.length:0===s&&a===c-1&&(a=c-2,s=1);var h,l,d,f;if(this.closed||a>0?h=u[(a-1)%c]:(e.subVectors(u[0],u[1]).add(u[0]),h=e),l=u[a%c],d=u[(a+1)%c],this.closed||a+2e.length-2?e.length-1:n+1],c=e[n>e.length-3?e.length-1:n+2],u=qp.interpolate;return new N(u(o.x,a.x,s.x,c.x,r),u(o.y,a.y,s.y,c.y,r),u(o.z,a.z,s.z,c.z,r))}),Li.create(function(t,e,i,n){this.v0=t,this.v1=e,this.v2=i,this.v3=n},function(t){var e=Xp.b3;return new N(e(t,this.v0.x,this.v1.x,this.v2.x,this.v3.x),e(t,this.v0.y,this.v1.y,this.v2.y,this.v3.y),e(t,this.v0.z,this.v1.z,this.v2.z,this.v3.z))}),Li.create(function(t,e,i){this.v0=t,this.v1=e,this.v2=i},function(t){var e=Xp.b2;return new N(e(t,this.v0.x,this.v1.x,this.v2.x),e(t,this.v0.y,this.v1.y,this.v2.y),e(t,this.v0.z,this.v1.z,this.v2.z))}),Li.create(function(t,e){this.v1=t,this.v2=e},function(t){if(1===t)return this.v2.clone();var e=new N;return e.subVectors(this.v2,this.v1),e.multiplyScalar(t),e.add(this.v1),e});Object.defineProperty(t,\"AudioContext\",{get:function(){return t.getAudioContext()}}),In.prototype={active:!0,params:null,execute:function(t){var e,i;return this.active&&this._listener&&(i=this.params?this.params.concat(t):t,e=this._listener.apply(this.context,i),this._isOnce&&this.detach()),e},detach:function(){return this.isBound()?this._signal.remove(this._listener,this.context):null},isBound:function(){return!!this._signal&&!!this._listener},isOnce:function(){return this._isOnce},getListener:function(){return this._listener},getSignal:function(){return this._signal},_destroy:function(){delete this._signal,delete this._listener,delete this.context},toString:function(){return\"[SignalBinding isOnce:\"+this._isOnce+\", isBound:\"+this.isBound()+\", active:\"+this.active+\"]\"}},Rn.prototype={VERSION:\"1.0.0\",memorize:!1,_shouldPropagate:!0,active:!0,_registerListener:function(t,e,i,n){var r,o=this._indexOfListener(t,i);if(o!==-1){if(r=this._bindings[o],r.isOnce()!==e)throw new Error(\"You cannot add\"+(e?\"\":\"Once\")+\"() then add\"+(e?\"Once\":\"\")+\"() the same listener without removing the relationship first.\")}else r=new In(this,t,e,i,n),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){var e=this._bindings.length;do--e;while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){for(var i,n=this._bindings.length;n--;)if(i=this._bindings[n],i._listener===t&&i.context===e)return n;return-1},has:function(t,e){return this._indexOfListener(t,e)!==-1},add:function(t,e,i){return Ln(t,\"add\"),this._registerListener(t,!1,e,i)},addOnce:function(t,e,i){return Ln(t,\"addOnce\"),this._registerListener(t,!0,e,i)},remove:function(t,e){Ln(t,\"remove\");var i=this._indexOfListener(t,e);return i!==-1&&(this._bindings[i]._destroy(),this._bindings.splice(i,1)),t},removeAll:function(){for(var t=this._bindings.length;t--;)this._bindings[t]._destroy();this._bindings.length=0},getNumListeners:function(){return this._bindings.length},halt:function(){this._shouldPropagate=!1},dispatch:function(t){if(this.active){var e,i=Array.prototype.slice.call(arguments),n=this._bindings.length;if(this.memorize&&(this._prevParams=i),n){e=this._bindings.slice(),this._shouldPropagate=!0;do n--;while(e[n]&&this._shouldPropagate&&e[n].execute(i)!==!1)}}},forget:function(){this._prevParams=null},dispose:function(){this.removeAll(),delete this._bindings,delete this._prevParams},toString:function(){return\"[Signal active:\"+this.active+\" numListeners:\"+this.getNumListeners()+\"]\"}};var Jp={PROTEIN:1,NUCLEIC:2,RNA:3,DNA:4,POLYMER:5,WATER:6,HELIX:7,SHEET:8,BACKBONE:9,SIDECHAIN:10,ALL:11,HETERO:12,ION:13,SACCHARIDE:14};On.prototype={constructor:On,type:\"selection\",setString:function(t,e){if(void 0===t&&(t=this.string||\"\"),t!==this.string){try{this.parse(t)}catch(t){this.selection={error:t.message}}this.string=t,this.test=this.makeAtomTest(),this.residueTest=this.makeResidueTest(),this.chainTest=this.makeChainTest(),this.modelTest=this.makeModelTest(),this.atomOnlyTest=this.makeAtomTest(!0),this.residueOnlyTest=this.makeResidueTest(!0),this.chainOnlyTest=this.makeChainTest(!0),this.modelOnlyTest=this.makeModelTest(!0),e||this.signals.stringChanged.dispatch(this.string)}},parse:function(t){if(this.selection={operator:void 0,rules:[]},t){var e,i,n=this,r=this.selection,o=[];t=t.replace(/\\(/g,\" ( \").replace(/\\)/g,\" ) \").trim(),\"(\"===t.charAt(0)&&\")\"===t.substr(-1)&&(t=t.slice(1,-1).trim());var a,s,c,u,h,l,d,f,p,m,g=t.split(/\\s+/),v=[\"*\",\"\",\"ALL\"],y=function(t){e={operator:t,rules:[]},void 0===r?(r=e,n.selection=e):(r.rules.push(e),o.push(r),r=e)},b=function(t){i=r,r=o.pop(),void 0===r&&(y(t),x(i))},x=function(t){r.rules.push(t)};for(c=0;c0)if(\"NOT\"===a.toUpperCase())u=1;else if(1===u)u=2;else{if(2!==u)throw new Error(\"something went wrong with 'not'\");u=!1,b()}if(\"AND\"!==a.toUpperCase())if(\"OR\"!==a.toUpperCase())if(\"NOT\"!==a.toUpperCase())if(s={},\"HETERO\"!==a.toUpperCase())if(\"WATER\"!==a.toUpperCase())if(\"PROTEIN\"!==a.toUpperCase())if(\"NUCLEIC\"!==a.toUpperCase())if(\"RNA\"!==a.toUpperCase())if(\"DNA\"!==a.toUpperCase())if(\"POLYMER\"!==a.toUpperCase())if(\"ION\"!==a.toUpperCase())if(\"SACCHARIDE\"!==a.toUpperCase()&&\"SUGAR\"!==a.toUpperCase())if(\"HYDROGEN\"!==a.toUpperCase())if(\"SMALL\"!==a.toUpperCase())if(\"NUCLEOPHILIC\"!==a.toUpperCase())if(\"HYDROPHOBIC\"!==a.toUpperCase())if(\"AROMATIC\"!==a.toUpperCase())if(\"AMIDE\"!==a.toUpperCase())if(\"ACIDIC\"!==a.toUpperCase())if(\"BASIC\"!==a.toUpperCase())if(\"CHARGED\"!==a.toUpperCase())if(\"POLAR\"!==a.toUpperCase())if(\"NONPOLAR\"!==a.toUpperCase())if(\"HELIX\"!==a.toUpperCase())if(\"SHEET\"!==a.toUpperCase())if(\"TURN\"!==a.toUpperCase())if(\"BACKBONE\"!==a.toUpperCase())if(\"SIDECHAIN\"!==a.toUpperCase())if(\"SIDECHAINATTACHED\"!==a.toUpperCase())if(v.indexOf(a.toUpperCase())===-1)if(\"@\"!==a.charAt(0))if(\"#\"!==a.charAt(0))if(\"[\"!==a[0]||\"]\"!==a[a.length-1])if(a.length>=1&&a.length<=4&&\"^\"!==a[0]&&\":\"!==a[0]&&\".\"!==a[0]&&\"%\"!==a[0]&&\"/\"!==a[0]&&isNaN(parseInt(a)))s.resname=a.toUpperCase(),x(s);else{if(s={operator:\"AND\",rules:[]},d=a.split(\"/\"),d.length>1&&d[1]){if(isNaN(parseInt(d[1])))throw new Error(\"model must be an integer\");s.rules.push({model:parseInt(d[1])})}if(p=d[0].split(\"%\"),p.length>1&&s.rules.push({altloc:p[1]}),h=p[0].split(\".\"),h.length>1&&h[1]){if(h[1].length>4)throw new Error(\"atomname must be one to four characters\");s.rules.push({atomname:h[1].substring(0,4).toUpperCase()})}if(l=h[0].split(\":\"),l.length>1&&l[1]&&s.rules.push({chainname:l[1]}),m=l[0].split(\"^\"),m.length>1&&s.rules.push({inscode:m[1]}),m[0]){var w,_;if(\"-\"===m[0][0]&&(m[0]=m[0].substr(1),w=!0),m[0].includes(\"--\")&&(m[0]=m[0].replace(\"--\",\"-\"),_=!0),f=m[0].split(\"-\"),1===f.length){if(f=parseInt(f[0]),isNaN(f))throw new Error(\"resi must be an integer\");w&&(f*=-1),s.rules.push({resno:f})}else{if(2!==f.length)throw new Error(\"resi range must contain one '-'\");w&&(f[0]*=-1),_&&(f[1]*=-1),s.rules.push({resno:[parseInt(f[0]),parseInt(f[1])]})}}if(1===s.rules.length)x(s.rules[0]);else{if(!(s.rules.length>1))throw new Error(\"empty selection chunk\");x(s)}}else s.resname=a.substr(1,a.length-2).toUpperCase(),x(s);else s.element=a.substr(1).toUpperCase(),x(s);else{for(var S=a.substr(1).split(\",\"),A=0,M=S.length;A0?e:null},makeAtomTest:function(t){var e,i=[\"h\",\"g\",\"i\"],n=[\"e\",\"b\"];e=t?this._filter(function(t){return void 0!==t.keyword&&t.keyword!==Jp.BACKBONE&&t.keyword!==Jp.SIDECHAIN||(void 0!==t.model||(void 0!==t.chainname||(void 0!==t.resname||(void 0!==t.resno||void 0!==t.sstruc))))}):this.selection;var r=function(t,e){if(void 0===e.atomname&&void 0===e.element&&void 0===e.altloc&&void 0===e.atomindex&&void 0===e.keyword&&void 0===e.inscode&&void 0===e.resname&&void 0===e.sstruc&&void 0===e.resno&&void 0===e.chainname&&void 0===e.model)return-1;if(void 0!==e.keyword){if(e.keyword===Jp.BACKBONE&&!t.isBackbone())return!1;if(e.keyword===Jp.SIDECHAIN&&!t.isSidechain())return!1;if(e.keyword===Jp.HETERO&&!t.isHetero())return!1;if(e.keyword===Jp.PROTEIN&&!t.isProtein())return!1;if(e.keyword===Jp.NUCLEIC&&!t.isNucleic())return!1;if(e.keyword===Jp.RNA&&!t.isRna())return!1;if(e.keyword===Jp.DNA&&!t.isDna())return!1;if(e.keyword===Jp.POLYMER&&!t.isPolymer())return!1;if(e.keyword===Jp.WATER&&!t.isWater())return!1;if(e.keyword===Jp.HELIX&&i.indexOf(t.sstruc)===-1)return!1;if(e.keyword===Jp.SHEET&&n.indexOf(t.sstruc)===-1)return!1;if(e.keyword===Jp.ION&&!t.isIon())return!1;if(e.keyword===Jp.SACCHARIDE&&!t.isSaccharide())return!1}if(void 0!==e.atomname&&e.atomname!==t.atomname)return!1;if(void 0!==e.element&&e.element!==t.element)return!1;if(void 0!==e.altloc&&e.altloc!==t.altloc)return!1;if(void 0!==e.atomindex&&vh(e.atomindex,t.index)<0)return!1;if(void 0!==e.resname&&e.resname!==t.resname)return!1;if(void 0!==e.sstruc&&e.sstruc!==t.sstruc)return!1;if(void 0!==e.resno)if(Array.isArray(e.resno)&&2===e.resno.length){if(e.resno[0]>t.resno||e.resno[1]e.atomindexLast||t.atomEndt.resno||e.resno[1]e.atomindexLast||t.atomEnde.atomindexLast||t.atomEnd>=4,i[r]=e[19===r?3&t|8:t]);return i.join(\"\")}}(),em=0,im=1,nm=2,rm=3,om=4,am=0,sm=1,cm=2,um=3,hm=4,lm=5,dm=6,fm=0,pm=1,mm=2,gm=3,vm=4,ym=5,bm=6,xm=[\"D-BETA-PEPTIDE, C-GAMMA LINKING\",\"D-GAMMA-PEPTIDE, C-DELTA LINKING\",\"D-PEPTIDE COOH CARBOXY TERMINUS\",\"D-PEPTIDE NH3 AMINO TERMINUS\",\"D-PEPTIDE LINKING\",\"L-BETA-PEPTIDE, C-GAMMA LINKING\",\"L-GAMMA-PEPTIDE, C-DELTA LINKING\",\"L-PEPTIDE COOH CARBOXY TERMINUS\",\"L-PEPTIDE NH3 AMINO TERMINUS\",\"L-PEPTIDE LINKING\",\"PEPTIDE LINKING\",\"PEPTIDE-LIKE\"],wm=[\"RNA OH 3 PRIME TERMINUS\",\"RNA OH 5 PRIME TERMINUS\",\"RNA LINKING\"],_m=[\"DNA OH 3 PRIME TERMINUS\",\"DNA OH 5 PRIME TERMINUS\",\"DNA LINKING\",\"L-DNA LINKING\",\"L-RNA LINKING\"],Sm=[\"D-SACCHARIDE\",\"D-SACCHARIDE 1,4 AND 1,4 LINKING\",\"D-SACCHARIDE 1,4 AND 1,6 LINKING\",\"L-SACCHARIDE\",\"L-SACCHARIDE 1,4 AND 1,4 LINKING\",\"L-SACCHARIDE 1,4 AND 1,6 LINKING\",\"SACCHARIDE\"],Am=[\"OTHER\"],Mm=[\"NON-POLYMER\"],Pm=Mm.concat(Am,Sm),Cm={H:1.1,HE:1.4,LI:1.81,BE:1.53,B:1.92,C:1.7,N:1.55,O:1.52,F:1.47,NE:1.54,NA:2.27,MG:1.73,AL:1.84,SI:2.1,P:1.8,S:1.8,CL:1.75,AR:1.88,K:2.75,CA:2.31,SC:2.3,TI:2.15,V:2.05,CR:2.05,MN:2.05,FE:2.05,CO:2,NI:2,CU:2,ZN:2.1,GA:1.87,GE:2.11,AS:1.85,SE:1.9,BR:1.83,KR:2.02,RB:3.03,SR:2.49,Y:2.4,ZR:2.3,NB:2.15,MO:2.1,TC:2.05,RU:2.05,RH:2,PD:2.05,AG:2.1,CD:2.2,IN:2.2,SN:1.93,SB:2.17,TE:2.06,I:1.98,XE:2.16,CS:3.43,BA:2.68,LA:2.5,CE:2.48,PR:2.47,ND:2.45,PM:2.43,SM:2.42,EU:2.4,GD:2.38,TB:2.37,DY:2.35,HO:2.33,ER:2.32,TM:2.3,YB:2.28,LU:2.27,HF:2.25,TA:2.2,W:2.1,RE:2.05,OS:2,IR:2,PT:2.05,AU:2.1,HG:2.05,TL:1.96,PB:2.02,BI:2.07,PO:1.97,AT:2.02,RN:2.2,FR:3.48,RA:2.83,AC:2,TH:2.4,PA:2,U:2.3,NP:2,PU:2,AM:2,CM:2,BK:2,CF:2,ES:2,FM:2,MD:2,NO:2,LR:2,RF:2,DB:2,SG:2,BH:2,HS:2,MT:2,DS:2,RG:2,CN:2,UUT:2,FL:2,UUP:2,LV:2,UUH:2},Tm=2,Em={H:.31,HE:.28,LI:1.28,BE:.96,B:.84,C:.76,N:.71,O:.66,F:.57,NE:.58,NA:1.66,MG:1.41,AL:1.21,SI:1.11,P:1.07,S:1.05,CL:1.02,AR:1.06,K:2.03,CA:1.76,SC:1.7,TI:1.6,V:1.53,CR:1.39,MN:1.39,FE:1.32,CO:1.26,NI:1.24,CU:1.32,ZN:1.22,GA:1.22,GE:1.2,AS:1.19,SE:1.2,BR:1.2,KR:1.16,RB:2.2,SR:1.95,Y:1.9,ZR:1.75,NB:1.64,MO:1.54,TC:1.47,RU:1.46,RH:1.42,PD:1.39,AG:1.45,CD:1.44,IN:1.42,SN:1.39,SB:1.39,TE:1.38,I:1.39,XE:1.4,CS:2.44,BA:2.15,LA:2.07,CE:2.04,PR:2.03,ND:2.01,PM:1.99,SM:1.98,EU:1.98,GD:1.96,TB:1.94,DY:1.92,HO:1.92,ER:1.89,TM:1.9,YB:1.87,LU:1.87,HF:1.75,TA:1.7,W:1.62,RE:1.51,OS:1.44,IR:1.41,PT:1.36,AU:1.36,HG:1.32,TL:1.45,PB:1.46,BI:1.48,PO:1.4,AT:1.5,RN:1.5,FR:2.6,RA:2.21,AC:2.15,TH:2.06,PA:2,U:1.96,NP:1.9,PU:1.87,AM:1.8,CM:1.69,BK:1.6,CF:1.6,ES:1.6,FM:1.6,MD:1.6,NO:1.6,LR:1.6,RF:1.6,DB:1.6,SG:1.6,BH:1.6,HS:1.6,MT:1.6,DS:1.6,RG:1.6,CN:1.6,UUT:1.6,FL:1.6,UUP:1.6,LV:1.6,UUH:1.6},Im=1.6,Lm={ALA:[.17,.5,.33],ARG:[.81,1.81,1],ASN:[.42,.85,.43],ASP:[1.23,3.64,2.41],ASH:[-.07,.43,.5],CYS:[-.24,-.02,.22],GLN:[.58,.77,.19],GLU:[2.02,3.63,1.61],GLH:[-.01,.11,.12],GLY:[.01,1.15,1.14],HIS:[.17,.11,-.06],ILE:[-.31,-1.12,-.81],LEU:[-.56,-1.25,-.69],LYS:[.99,2.8,1.81],MET:[-.23,-.67,-.44],PHE:[-1.13,-1.71,-.58],PRO:[.45,.14,-.31],SER:[.13,.46,.33],THR:[.14,.25,.11],TRP:[-1.85,-2.09,-.24],TYR:[-.94,-.71,.23],VAL:[.07,-.46,-.53]},Rm=[0,0,0],Om={HIS:\"H\",ARG:\"R\",LYS:\"K\",ILE:\"I\",PHE:\"F\",LEU:\"L\",TRP:\"W\",ALA:\"A\",MET:\"M\",PRO:\"P\",CYS:\"C\",ASN:\"N\",VAL:\"V\",GLY:\"G\",SER:\"S\",GLN:\"Q\",TYR:\"Y\",ASP:\"D\",GLU:\"E\",THR:\"T\",ASH:\"D\",GLH:\"E\",UNK:\"\"},Dm=Object.keys(Om),Nm=[\"A\",\"C\",\"T\",\"G\",\"U\"],km=[\"DA\",\"DC\",\"DT\",\"DG\",\"DU\",\"TCY\",\"MCY\",\"5CM\"],Fm=[\"A\",\"G\",\"DA\",\"DG\"],zm=[\"SOL\",\"WAT\",\"HOH\",\"H2O\",\"W\",\"DOD\",\"D3O\",\"TIP3\",\"TIP4\"],Bm=[\"118\",\"119\",\"1AL\",\"1CU\",\"2FK\",\"2HP\",\"2OF\",\"3CO\",\"3MT\",\"3NI\",\"3OF\",\"3P8\",\"4MO\",\"4PU\",\"543\",\"6MO\",\"ACT\",\"AG\",\"AL\",\"ALF\",\"AM\",\"ATH\",\"AU\",\"AU3\",\"AUC\",\"AZI\",\"BA\",\"BCT\",\"BEF\",\"BF4\",\"BO4\",\"BR\",\"BS3\",\"BSY\",\"CA\",\"CAC\",\"CD\",\"CD1\",\"CD3\",\"CD5\",\"CE\",\"CHT\",\"CL\",\"CO\",\"CO3\",\"CO5\",\"CON\",\"CR\",\"CS\",\"CSB\",\"CU\",\"CU1\",\"CU3\",\"CUA\",\"CUZ\",\"CYN\",\"DME\",\"DMI\",\"DSC\",\"DTI\",\"DY\",\"E4N\",\"EDR\",\"EMC\",\"ER3\",\"EU\",\"EU3\",\"F\",\"FE\",\"FE2\",\"FPO\",\"GA\",\"GD3\",\"GEP\",\"HAI\",\"HG\",\"HGC\",\"IN\",\"IOD\",\"IR\",\"IR3\",\"IRI\",\"IUM\",\"K\",\"KO4\",\"LA\",\"LCO\",\"LCP\",\"LI\",\"LU\",\"MAC\",\"MG\",\"MH2\",\"MH3\",\"MLI\",\"MLT\",\"MMC\",\"MN\",\"MN3\",\"MN5\",\"MN6\",\"MO1\",\"MO2\",\"MO3\",\"MO4\",\"MO5\",\"MO6\",\"MOO\",\"MOS\",\"MOW\",\"MW1\",\"MW2\",\"MW3\",\"NA\",\"NA2\",\"NA5\",\"NA6\",\"NAO\",\"NAW\",\"NCO\",\"NET\",\"NH4\",\"NI\",\"NI1\",\"NI2\",\"NI3\",\"NO2\",\"NO3\",\"NRU\",\"O4M\",\"OAA\",\"OC1\",\"OC2\",\"OC3\",\"OC4\",\"OC5\",\"OC6\",\"OC7\",\"OC8\",\"OCL\",\"OCM\",\"OCN\",\"OCO\",\"OF1\",\"OF2\",\"OF3\",\"OH\",\"OS\",\"OS4\",\"OXL\",\"PB\",\"PBM\",\"PD\",\"PDV\",\"PER\",\"PI\",\"PO3\",\"PO4\",\"PR\",\"PT\",\"PT4\",\"PTN\",\"RB\",\"RH3\",\"RHD\",\"RU\",\"SB\",\"SCN\",\"SE4\",\"SEK\",\"SM\",\"SMO\",\"SO3\",\"SO4\",\"SR\",\"T1A\",\"TB\",\"TBA\",\"TCN\",\"TEA\",\"TH\",\"THE\",\"TL\",\"TMA\",\"TRA\",\"UNX\",\"V\",\"VN3\",\"VO4\",\"W\",\"WO5\",\"Y1\",\"YB\",\"YB2\",\"YH\",\"YT3\",\"ZCM\",\"ZN\",\"ZN2\",\"ZN3\",\"ZNO\",\"ZO3\",\"OHX\"],Um=[\"045\",\"0AT\",\"0BD\",\"0MK\",\"0NZ\",\"0TS\",\"0V4\",\"0XY\",\"0YT\",\"10M\",\"147\",\"149\",\"14T\",\"15L\",\"16G\",\"18T\",\"18Y\",\"1AR\",\"1BW\",\"1GL\",\"1GN\",\"1JB\",\"1LL\",\"1NA\",\"1S3\",\"26M\",\"26Q\",\"26R\",\"26V\",\"26W\",\"26Y\",\"27C\",\"289\",\"291\",\"293\",\"2DG\",\"2F8\",\"2FG\",\"2FL\",\"2FP\",\"2GL\",\"2M4\",\"2M5\",\"32O\",\"34V\",\"3CM\",\"3DO\",\"3DY\",\"3FM\",\"3LR\",\"3MF\",\"3MG\",\"3SA\",\"3ZW\",\"46D\",\"46M\",\"46Z\",\"48Z\",\"4CQ\",\"4GC\",\"4NN\",\"50A\",\"5DI\",\"5GF\",\"5MM\",\"5RP\",\"5SA\",\"5SP\",\"64K\",\"6PG\",\"6SA\",\"7JZ\",\"7SA\",\"A1Q\",\"A2G\",\"AAB\",\"AAL\",\"AAO\",\"ABC\",\"ABD\",\"ABE\",\"ABF\",\"ABL\",\"ACG\",\"ACI\",\"ACR\",\"ACX\",\"ADA\",\"ADG\",\"ADR\",\"AF1\",\"AFD\",\"AFL\",\"AFO\",\"AFP\",\"AFR\",\"AGC\",\"AGH\",\"AGL\",\"AHR\",\"AIG\",\"ALL\",\"ALX\",\"AMU\",\"AOG\",\"AOS\",\"ARA\",\"ARB\",\"ARE\",\"ARI\",\"ASG\",\"ASO\",\"AXP\",\"AXR\",\"B0D\",\"B16\",\"B2G\",\"B4G\",\"B6D\",\"B8D\",\"B9D\",\"BBK\",\"BCD\",\"BDG\",\"BDP\",\"BDR\",\"BEM\",\"BFP\",\"BGC\",\"BGL\",\"BGP\",\"BGS\",\"BHG\",\"BMA\",\"BMX\",\"BNG\",\"BNX\",\"BOG\",\"BRI\",\"BXF\",\"BXP\",\"BXX\",\"BXY\",\"C3X\",\"C4X\",\"C5X\",\"CAP\",\"CBI\",\"CBK\",\"CBS\",\"CDR\",\"CEG\",\"CGF\",\"CHO\",\"CR1\",\"CR6\",\"CRA\",\"CT3\",\"CTO\",\"CTR\",\"CTT\",\"D6G\",\"DAF\",\"DAG\",\"DDA\",\"DDB\",\"DDL\",\"DEL\",\"DFR\",\"DFX\",\"DG0\",\"DGC\",\"DGD\",\"DGM\",\"DGS\",\"DIG\",\"DLF\",\"DLG\",\"DMU\",\"DNO\",\"DOM\",\"DP5\",\"DQQ\",\"DQR\",\"DR2\",\"DR3\",\"DR4\",\"DRI\",\"DSR\",\"DT6\",\"DVC\",\"E4P\",\"E5G\",\"EAG\",\"EBG\",\"EBQ\",\"EGA\",\"EJT\",\"EPG\",\"ERE\",\"ERI\",\"F1P\",\"F1X\",\"F6P\",\"FBP\",\"FCA\",\"FCB\",\"FCT\",\"FDP\",\"FDQ\",\"FFC\",\"FIX\",\"FMO\",\"FRU\",\"FSI\",\"FU4\",\"FUB\",\"FUC\",\"FUD\",\"FUL\",\"FXP\",\"G16\",\"G1P\",\"G2F\",\"G3I\",\"G4D\",\"G4S\",\"G6D\",\"G6P\",\"G6S\",\"GAC\",\"GAD\",\"GAL\",\"GC1\",\"GC4\",\"GCD\",\"GCN\",\"GCO\",\"GCS\",\"GCT\",\"GCU\",\"GCV\",\"GCW\",\"GCX\",\"GE1\",\"GFG\",\"GFP\",\"GIV\",\"GL0\",\"GL2\",\"GL5\",\"GL6\",\"GL7\",\"GL9\",\"GLA\",\"GLB\",\"GLC\",\"GLD\",\"GLF\",\"GLG\",\"GLO\",\"GLP\",\"GLS\",\"GLT\",\"GLW\",\"GMH\",\"GN1\",\"GNX\",\"GP1\",\"GP4\",\"GPH\",\"GPM\",\"GQ1\",\"GQ2\",\"GQ4\",\"GS1\",\"GS4\",\"GSA\",\"GSD\",\"GTE\",\"GTH\",\"GTK\",\"GTR\",\"GTZ\",\"GU0\",\"GU1\",\"GU2\",\"GU3\",\"GU4\",\"GU5\",\"GU6\",\"GU8\",\"GU9\",\"GUF\",\"GUP\",\"GUZ\",\"GYP\",\"GYV\",\"H2P\",\"HDL\",\"HMS\",\"HS2\",\"HSD\",\"HSG\",\"HSH\",\"HSJ\",\"HSQ\",\"HSR\",\"HSU\",\"HSX\",\"HSY\",\"HSZ\",\"IAB\",\"IDG\",\"IDR\",\"IDS\",\"IDT\",\"IDU\",\"IDX\",\"IDY\",\"IMK\",\"IN1\",\"IPT\",\"ISL\",\"KBG\",\"KD2\",\"KDA\",\"KDM\",\"KDO\",\"KFN\",\"KO1\",\"KO2\",\"KTU\",\"L6S\",\"LAG\",\"LAI\",\"LAK\",\"LAO\",\"LAT\",\"LB2\",\"LBT\",\"LCN\",\"LDY\",\"LGC\",\"LGU\",\"LM2\",\"LMT\",\"LMU\",\"LOG\",\"LOX\",\"LPK\",\"LSM\",\"LTM\",\"LVZ\",\"LXB\",\"LXZ\",\"M1F\",\"M3M\",\"M6P\",\"M8C\",\"MA1\",\"MA2\",\"MA3\",\"MAB\",\"MAG\",\"MAL\",\"MAN\",\"MAT\",\"MAV\",\"MAW\",\"MBG\",\"MCU\",\"MDA\",\"MDM\",\"MDP\",\"MFA\",\"MFB\",\"MFU\",\"MG5\",\"MGA\",\"MGL\",\"MLB\",\"MMA\",\"MMN\",\"MN0\",\"MRP\",\"MTT\",\"MUG\",\"MVP\",\"MXY\",\"N1L\",\"N9S\",\"NAA\",\"NAG\",\"NBG\",\"NDG\",\"NED\",\"NG1\",\"NG6\",\"NGA\",\"NGB\",\"NGC\",\"NGE\",\"NGF\",\"NGL\",\"NGS\",\"NGY\",\"NHF\",\"NM6\",\"NM9\",\"NTF\",\"NTO\",\"NTP\",\"NXD\",\"NYT\",\"OPG\",\"OPM\",\"ORP\",\"OX2\",\"P3M\",\"P53\",\"P6P\",\"PA5\",\"PNA\",\"PNG\",\"PNW\",\"PRP\",\"PSJ\",\"PSV\",\"PTQ\",\"QDK\",\"QPS\",\"QV4\",\"R1P\",\"R1X\",\"R2B\",\"R5P\",\"RAA\",\"RAE\",\"RAF\",\"RAM\",\"RAO\",\"RAT\",\"RB5\",\"RBL\",\"RCD\",\"RDP\",\"REL\",\"RER\",\"RF5\",\"RG1\",\"RGG\",\"RHA\",\"RIB\",\"RIP\",\"RNS\",\"RNT\",\"ROB\",\"ROR\",\"RPA\",\"RST\",\"RUB\",\"RUU\",\"RZM\",\"S6P\",\"S7P\",\"SA0\",\"SCR\",\"SDD\",\"SF6\",\"SF9\",\"SG4\",\"SG5\",\"SG6\",\"SG7\",\"SGA\",\"SGC\",\"SGD\",\"SGN\",\"SGS\",\"SHB\",\"SHG\",\"SI3\",\"SIO\",\"SOE\",\"SOL\",\"SSG\",\"SUC\",\"SUP\",\"SUS\",\"T6P\",\"T6T\",\"TAG\",\"TCB\",\"TDG\",\"TGK\",\"TGY\",\"TH1\",\"TIA\",\"TM5\",\"TM6\",\"TM9\",\"TMR\",\"TMX\",\"TOA\",\"TOC\",\"TRE\",\"TYV\",\"UCD\",\"UDC\",\"VG1\",\"X0X\",\"X1X\",\"X2F\",\"X4S\",\"X5S\",\"X6X\",\"XBP\",\"XDN\",\"XDP\",\"XIF\",\"XIM\",\"XLF\",\"XLS\",\"XMM\",\"XUL\",\"XXR\",\"XYP\",\"XYS\",\"YO5\",\"Z3Q\",\"Z6J\",\"Z9M\",\"ZDC\",\"ZDM\"],jm=[\"CA\",\"C\",\"N\",\"O\",\"O1\",\"O2\",\"OC1\",\"OC2\",\"OX1\",\"OXT\",\"H\",\"H1\",\"H2\",\"H3\",\"HA\",\"BB\"],$m=[\"P\",\"O3'\",\"O5'\",\"C5'\",\"C4'\",\"C3'\",\"OP1\",\"OP2\",\"O3*\",\"O5*\",\"C5*\",\"C4*\",\"C3*\"],Vm={};Vm[pm]={trace:\"CA\",direction1:\"C\",direction2:[\"O\",\"OC1\",\"O1\",\"OX1\",\"OXT\"],backboneStart:\"N\",backboneEnd:\"C\"},Vm[mm]={trace:[\"C4'\",\"C4*\"],direction1:[\"C1'\",\"C1*\"],direction2:[\"C3'\",\"C3*\"],backboneStart:\"P\",backboneEnd:[\"O3'\",\"O3*\"]},Vm[gm]={trace:[\"C3'\",\"C3*\"],direction1:[\"C2'\",\"C2*\"],direction2:[\"O4'\",\"O4*\"],backboneStart:\"P\",backboneEnd:[\"O3'\",\"O3*\"]},Vm[vm]={trace:[\"CA\",\"BB\"],backboneStart:[\"CA\",\"BB\"],backboneEnd:[\"CA\",\"BB\"]},Vm[ym]={trace:[\"C4'\",\"C4*\",\"P\"],backboneStart:[\"C4'\",\"C4*\",\"P\"],backboneEnd:[\"C4'\",\"C4*\",\"P\"]},Vm[bm]={trace:[\"C3'\",\"C3*\",\"C2'\",\"P\"],backboneStart:[\"C3'\",\"C3*\",\"C2'\",\"P\"],backboneEnd:[\"C3'\",\"C3*\",\"C2'\",\"P\"]},Vm[fm]={};var Gm,Hm,Wm,Xm,qm,Ym,Zm,Km,Qm,Jm,tg,eg,ig,ng,rg,og,ag,sg,cg,ug,hg,lg,dg,fg,pg,mg,gg,vg,yg,bg,xg,wg,_g,Sg,Ag,Mg,Pg,Cg,Tg,Eg,Ig,Lg,Rg,Og,Dg,Ng,kg,Fg,zg,Bg,Ug,jg,$g,Vg,Gg,Hg,Wg,Xg,qg,Yg,Zg,Kg,Qg,Jg,tv,ev,iv,nv,rv,ov,av,sv,cv,uv,hv,lv,dv,fv,pv=[].slice;uv=function(){var t,e,i,n,r;for(t={},r=\"Boolean Number String Function Array Date RegExp Undefined Null\".split(\" \"),n=0,e=r.length;ni&&(t=i),t},hv=function(t){return t.length>=3?[].slice.call(t):t[0]},ug=function(t){var e;for(e in t)e<3?(t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255)):3===e&&(t[e]<0&&(t[e]=0),t[e]>1&&(t[e]=1));return t},Xm=Math.PI,rv=Math.round,dg=Math.cos,vg=Math.floor,Vg=Math.pow,Ng=Math.log,av=Math.sin,sv=Math.sqrt,ig=Math.atan2,zg=Math.max,eg=Math.abs,Zm=2*Xm,qm=Xm/3,Hm=Xm/180,Ym=180/Xm,cg=function(){return arguments[0]instanceof Gm?arguments[0]:function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,arguments,function(){})},tg=[],cg.version=\"1.1.1\",Jm={},Km=[],Qm=!1,Gm=function(){function t(){var t,e,i,n,r,o,a,s,c;for(o=this,e=[],s=0,n=arguments.length;s3?e[3]:1]},fv=function(t){return rv(255*(t<=.00304?12.92*t:1.055*Vg(t,1/2.4)-.055))},Ig=function(t){return t>Wm.t1?t*t*t:Wm.t2*(t-Wm.t0)},Wm={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},Zg=function(){var t,e,i,n,r,o,a,s;return n=hv(arguments),i=n[0],e=n[1],t=n[2],r=ev(i,e,t),o=r[0],a=r[1],s=r[2],[116*a-16,500*(o-a),200*(a-s)]},iv=function(t){return(t/=255)<=.04045?t/12.92:Vg((t+.055)/1.055,2.4)},dv=function(t){return t>Wm.t3?Vg(t,1/3):t/Wm.t2+Wm.t0},ev=function(){var t,e,i,n,r,o,a;return n=hv(arguments),i=n[0],e=n[1],t=n[2],i=iv(i),e=iv(e),t=iv(t),r=dv((.4124564*i+.3575761*e+.1804375*t)/Wm.Xn),o=dv((.2126729*i+.7151522*e+.072175*t)/Wm.Yn),a=dv((.0193339*i+.119192*e+.9503041*t)/Wm.Zn),[r,o,a]},cg.lab=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"lab\"]),function(){})},Jm.lab=Eg,Gm.prototype.lab=function(){return Zg(this._rgb)},ng=function(t){var e,i,n,r,o,a,s,c,u,h,l;return t=function(){var e,i,n;for(n=[],i=0,e=t.length;i=0&&e[3]<=1?\"rgb\":void 0}}),yg=function(t){var e,i,n,r,o,a;if(t.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=t.split(\"\"),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),a=parseInt(t,16),r=a>>16,n=a>>8&255,i=255&a,[r,n,i,1];if(t.match(/^#?([A-Fa-f0-9]{8})$/))return 9===t.length&&(t=t.substr(1)),a=parseInt(t,16),r=a>>24&255,n=a>>16&255,i=a>>8&255,e=rv((255&a)/255*100)/100,[r,n,i,e];if(null!=Jm.css&&(o=Jm.css(t)))return o;throw\"unknown color: \"+t},Wg=function(t,e){var i,n,r,o,a,s,c;return null==e&&(e=\"rgb\"),a=t[0],r=t[1],n=t[2],i=t[3],c=a<<16|r<<8|n,s=\"000000\"+c.toString(16),s=s.substr(s.length-6),o=\"0\"+rv(255*i).toString(16),o=o.substr(o.length-2),\"#\"+function(){switch(e.toLowerCase()){case\"rgba\":return s+o;case\"argb\":return o+s;default:return s}}()},Jm.hex=function(t){return yg(t)},cg.hex=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hex\"]),function(){})},Gm.prototype.hex=function(t){return null==t&&(t=\"rgb\"),Wg(this._rgb,t)},Km.push({p:10,test:function(t){if(1===arguments.length&&\"string\"===uv(t))return\"hex\"}}),wg=function(){var t,e,i,n,r,o,a,s,c,u,h,l,d,f;if(t=hv(arguments),r=t[0],h=t[1],a=t[2],0===h)c=n=e=255*a;else{for(f=[0,0,0],i=[0,0,0],d=a<.5?a*(1+h):a+h-a*h,l=2*a-d,r/=360,f[0]=r+1/3,f[1]=r,f[2]=r-1/3,o=s=0;s<=2;o=++s)f[o]<0&&(f[o]+=1),f[o]>1&&(f[o]-=1),6*f[o]<1?i[o]=l+6*(d-l)*f[o]:2*f[o]<1?i[o]=d:3*f[o]<2?i[o]=l+(d-l)*(2/3-f[o])*6:i[o]=l;u=[rv(255*i[0]),rv(255*i[1]),rv(255*i[2])],c=u[0],n=u[1],e=u[2]}return t.length>3?[c,n,e,t[3]]:[c,n,e]},qg=function(t,e,i){var n,r,o,a,s;return void 0!==t&&t.length>=3&&(a=t,t=a[0],e=a[1],i=a[2]),t/=255,e/=255,i/=255,o=Math.min(t,e,i),zg=Math.max(t,e,i),r=(zg+o)/2,zg===o?(s=0,n=Number.NaN):s=r<.5?(zg-o)/(zg+o):(zg-o)/(2-zg-o),t===zg?n=(e-i)/(zg-o):e===zg?n=2+(i-t)/(zg-o):i===zg&&(n=4+(t-e)/(zg-o)),n*=60,n<0&&(n+=360),[n,s,r]},cg.hsl=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hsl\"]),function(){})},Jm.hsl=wg,Gm.prototype.hsl=function(){return qg(this._rgb)},_g=function(){var t,e,i,n,r,o,a,s,c,u,h,l,d,f,p,m,g,v;if(t=hv(arguments),r=t[0],m=t[1],v=t[2],v*=255,0===m)c=n=e=v;else switch(360===r&&(r=0),r>360&&(r-=360),r<0&&(r+=360),r/=60,o=vg(r),i=r-o,a=v*(1-m),s=v*(1-m*i),g=v*(1-m*(1-i)),o){case 0:u=[v,g,a],c=u[0],n=u[1],e=u[2];break;case 1:h=[s,v,a],c=h[0],n=h[1],e=h[2];break;case 2:l=[a,v,g],c=l[0],n=l[1],e=l[2];break;case 3:d=[a,s,v],c=d[0],n=d[1],e=d[2];break;case 4:f=[g,a,v],c=f[0],n=f[1],e=f[2];break;case 5:p=[v,a,s],c=p[0],n=p[1],e=p[2]}return c=rv(c),n=rv(n),e=rv(e),[c,n,e,t.length>3?t[3]:1]},Yg=function(){var t,e,i,n,r,o,a,s,c;return a=hv(arguments),o=a[0],i=a[1],t=a[2],r=Math.min(o,i,t),zg=Math.max(o,i,t),e=zg-r,c=zg/255,0===zg?(n=Number.NaN,s=0):(s=e/zg,o===zg&&(n=(i-t)/e),i===zg&&(n=2+(t-o)/e),t===zg&&(n=4+(o-i)/e),n*=60,n<0&&(n+=360)),[n,s,c]},cg.hsv=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hsv\"]),function(){})},Jm.hsv=_g,Gm.prototype.hsv=function(){return Yg(this._rgb)},jg=function(t){var e,i,n;return\"number\"===uv(t)&&t>=0&&t<=16777215?(n=t>>16,i=t>>8&255,e=255&t,[n,i,e,1]):(console.warn(\"unknown num color: \"+t),[0,0,0,1])},Jg=function(){var t,e,i,n;return n=hv(arguments),i=n[0],e=n[1],t=n[2],(i<<16)+(e<<8)+t},cg.num=function(t){return new Gm(t,\"num\")},Gm.prototype.num=function(t){return null==t&&(t=\"rgb\"),Jg(this._rgb,t)},Jm.num=jg,Km.push({p:10,test:function(t){if(1===arguments.length&&\"number\"===uv(t)&&t>=0&&t<=16777215)return\"num\"}}),fg=function(t){var e,i,n,r,o,a,s,c;if(t=t.toLowerCase(),null!=cg.colors&&cg.colors[t])return yg(cg.colors[t]);if(o=t.match(/rgb\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*\\)/)){for(s=o.slice(1,4),r=a=0;a<=2;r=++a)s[r]=+s[r];s[3]=1}else if(o=t.match(/rgba\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)/))for(s=o.slice(1,5),r=c=0;c<=3;r=++c)s[r]=+s[r];else if(o=t.match(/rgb\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)){for(s=o.slice(1,4),r=e=0;e<=2;r=++e)s[r]=rv(2.55*s[r]);s[3]=1}else if(o=t.match(/rgba\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)){for(s=o.slice(1,5),r=i=0;i<=2;r=++i)s[r]=rv(2.55*s[r]);s[3]=+s[3]}else(o=t.match(/hsl\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/))?(n=o.slice(1,4),n[1]*=.01,n[2]*=.01,s=wg(n),s[3]=1):(o=t.match(/hsla\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/))&&(n=o.slice(1,4),n[1]*=.01,n[2]*=.01,s=wg(n),s[3]=+o[4]);return s},Hg=function(t){var e;return e=t[3]<1?\"rgba\":\"rgb\",\"rgb\"===e?e+\"(\"+t.slice(0,3).map(rv).join(\",\")+\")\":\"rgba\"===e?e+\"(\"+t.slice(0,3).map(rv).join(\",\")+\",\"+t[3]+\")\":void 0},nv=function(t){return rv(100*t)/100},xg=function(t,e){var i;return i=e<1?\"hsla\":\"hsl\",t[0]=nv(t[0]||0),t[1]=nv(100*t[1])+\"%\",t[2]=nv(100*t[2])+\"%\",\"hsla\"===i&&(t[3]=e),i+\"(\"+t.join(\",\")+\")\"},Jm.css=function(t){return fg(t)},cg.css=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"css\"]),function(){})},Gm.prototype.css=function(t){return null==t&&(t=\"rgb\"),\"rgb\"===t.slice(0,3)?Hg(this._rgb):\"hsl\"===t.slice(0,3)?xg(this.hsl(),this.alpha()):void 0},Jm.named=function(t){return yg(lv[t])},Km.push({p:20,test:function(t){if(1===arguments.length&&null!=lv[t])return\"named\"}}),Gm.prototype.name=function(t){var e,i;arguments.length&&(lv[t]&&(this._rgb=yg(lv[t])),this._rgb[3]=1),e=this.hex();for(i in lv)if(e===lv[i])return i;return e},Lg=function(){var t,e,i,n;return n=hv(arguments),i=n[0],t=n[1],e=n[2],e*=Hm,[i,dg(e)*t,av(e)*t]},Rg=function(){var t,e,i,n,r,o,a,s,c,u,h;return i=hv(arguments),s=i[0],r=i[1],a=i[2],u=Lg(s,r,a),t=u[0],e=u[1],n=u[2],h=Eg(t,e,n),c=h[0],o=h[1],n=h[2],[Dg(c,0,255),Dg(o,0,255),Dg(n,0,255),i.length>3?i[3]:1]},Tg=function(){var t,e,i,n,r,o;return o=hv(arguments),r=o[0],t=o[1],e=o[2],i=sv(t*t+e*e),n=(ig(e,t)*Ym+360)%360,0===rv(1e4*i)&&(n=Number.NaN),[r,i,n]},Kg=function(){var t,e,i,n,r,o,a;return o=hv(arguments),r=o[0],i=o[1],e=o[2],a=Zg(r,i,e),n=a[0],t=a[1],e=a[2],Tg(n,t,e)},cg.lch=function(){var t;return t=hv(arguments),new Gm(t,\"lch\")},cg.hcl=function(){var t;return t=hv(arguments),new Gm(t,\"hcl\")},Jm.lch=Rg,Jm.hcl=function(){var t,e,i,n;return n=hv(arguments),e=n[0],t=n[1],i=n[2],Rg([i,t,e])},Gm.prototype.lch=function(){return Kg(this._rgb)},Gm.prototype.hcl=function(){return Kg(this._rgb).reverse()},Gg=function(t){var e,i,n,r,o,a,s,c,u;return null==t&&(t=\"rgb\"),c=hv(arguments),s=c[0],r=c[1],e=c[2],s/=255,r/=255,e/=255,o=1-Math.max(s,Math.max(r,e)),n=o<1?1/(1-o):0,i=(1-s-o)*n,a=(1-r-o)*n,u=(1-e-o)*n,[i,a,u,o]},hg=function(){var t,e,i,n,r,o,a,s,c;return e=hv(arguments),n=e[0],a=e[1],c=e[2],o=e[3],t=e.length>4?e[4]:1,1===o?[0,0,0,t]:(s=n>=1?0:rv(255*(1-n)*(1-o)),r=a>=1?0:rv(255*(1-a)*(1-o)),i=c>=1?0:rv(255*(1-c)*(1-o)),[s,r,i,t])},Jm.cmyk=function(){return hg(hv(arguments))},cg.cmyk=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"cmyk\"]),function(){})},Gm.prototype.cmyk=function(){return Gg(this._rgb)},Jm.gl=function(){var t,e,i,n,r;for(n=function(){var t,i;t=hv(arguments),i=[];for(e in t)r=t[e],i.push(r);return i}.apply(this,arguments),t=i=0;i<=2;t=++i)n[t]*=255;return n},cg.gl=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"gl\"]),function(){})},Gm.prototype.gl=function(){var t;return t=this._rgb,[t[0]/255,t[1]/255,t[2]/255,t[3]]},Qg=function(t,e,i){var n;return n=hv(arguments),t=n[0],e=n[1],i=n[2],t=kg(t),e=kg(e),i=kg(i),.2126*t+.7152*e+.0722*i},kg=function(t){return t/=255,t<=.03928?t/12.92:Vg((t+.055)/1.055,2.4)},tg=[],Sg=function(t,e,i,n){var r,o,a,s;for(null==i&&(i=.5),null==n&&(n=\"rgb\"),\"object\"!==uv(t)&&(t=cg(t)),\"object\"!==uv(e)&&(e=cg(e)),a=0,o=tg.length;at?o(i,c):o(c,a);\n},i=Qg(this._rgb),this._rgb=(i>t?o(cg(\"black\"),this):o(this,cg(\"white\"))).rgba()),this):Qg(this._rgb)},cv=function(t){var e,i,n,r;return r=t/100,r<66?(n=255,i=-155.25485562709179-.44596950469579133*(i=r-2)+104.49216199393888*Ng(i),e=r<20?0:-254.76935184120902+.8274096064007395*(e=r-10)+115.67994401066147*Ng(e)):(n=351.97690566805693+.114206453784165*(n=r-55)-40.25366309332127*Ng(n),i=325.4494125711974+.07943456536662342*(i=r-50)-28.0852963507957*Ng(i),e=255),ug([n,i,e])},tv=function(){var t,e,i,n,r,o,a,s,c;for(a=hv(arguments),o=a[0],i=a[1],t=a[2],r=1e3,n=4e4,e=.4;n-r>e;)c=.5*(n+r),s=cv(c),s[2]/s[0]>=t/o?n=c:r=c;return rv(c)},cg.temperature=cg.kelvin=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"temperature\"]),function(){})},Jm.temperature=Jm.kelvin=Jm.K=cv,Gm.prototype.temperature=function(){return tv(this._rgb)},Gm.prototype.kelvin=Gm.prototype.temperature,cg.contrast=function(t,e){var i,n,r,o;return\"string\"!==(r=uv(t))&&\"number\"!==r||(t=new Gm(t)),\"string\"!==(o=uv(e))&&\"number\"!==o||(e=new Gm(e)),i=t.luminance(),n=e.luminance(),i>n?(i+.05)/(n+.05):(n+.05)/(i+.05)},Gm.prototype.get=function(t){var e,i,n,r,o,a;return n=this,o=t.split(\".\"),r=o[0],e=o[1],a=n[r](),e?(i=r.indexOf(e),i>-1?a[i]:console.warn(\"unknown channel \"+e+\" in mode \"+r)):a},Gm.prototype.set=function(t,e){var i,n,r,o,a,s;if(r=this,a=t.split(\".\"),o=a[0],i=a[1],i)if(s=r[o](),n=o.indexOf(i),n>-1)if(\"string\"===uv(e))switch(e.charAt(0)){case\"+\":s[n]+=+e;break;case\"-\":s[n]+=+e;break;case\"*\":s[n]*=+e.substr(1);break;case\"/\":s[n]/=+e.substr(1);break;default:s[n]=+e}else s[n]=e;else console.warn(\"unknown channel \"+i+\" in mode \"+o);else s=e;return r._rgb=cg(s,o).alpha(r.alpha())._rgb,r},Gm.prototype.darken=function(t){var e,i;return null==t&&(t=1),i=this,e=i.lab(),e[0]-=Wm.Kn*t,cg.lab(e).alpha(i.alpha())},Gm.prototype.brighten=function(t){return null==t&&(t=1),this.darken(-t)},Gm.prototype.darker=Gm.prototype.darken,Gm.prototype.brighter=Gm.prototype.brighten,Gm.prototype.saturate=function(t){var e,i;return null==t&&(t=1),i=this,e=i.lch(),e[1]+=t*Wm.Kn,e[1]<0&&(e[1]=0),cg.lch(e).alpha(i.alpha())},Gm.prototype.desaturate=function(t){return null==t&&(t=1),this.saturate(-t)},Gm.prototype.premultiply=function(){var t,e;return e=this.rgb(),t=this.alpha(),cg(e[0]*t,e[1]*t,e[2]*t,t)},rg=function(t,e,i){if(!rg[i])throw\"unknown blend mode \"+i;return rg[i](t,e)},og=function(t){return function(e,i){var n,r;return n=cg(i).rgb(),r=cg(e).rgb(),cg(t(n,r),\"rgb\")}},gg=function(t){return function(e,i){var n,r,o;for(o=[],n=r=0;r<=3;n=++r)o[n]=t(e[n],i[n]);return o}},Ug=function(t,e){return t},Bg=function(t,e){return t*e/255},pg=function(t,e){return t>e?e:t},Og=function(t,e){return t>e?t:e},ov=function(t,e){return 255*(1-(1-t/255)*(1-e/255))},$g=function(t,e){return e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))},sg=function(t,e){return 255*(1-(1-e/255)/(t/255))},mg=function(t,e){return 255===t?255:(t=255*(e/255)/(1-t/255),t>255?255:t)},rg.normal=og(gg(Ug)),rg.multiply=og(gg(Bg)),rg.screen=og(gg(ov)),rg.overlay=og(gg($g)),rg.darken=og(gg(pg)),rg.lighten=og(gg(Og)),rg.dodge=og(gg(mg)),rg.burn=og(gg(sg)),cg.blend=rg,cg.analyze=function(t){var e,i,n,r;for(n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},i=0,e=t.length;in.max&&(n.max=r),n.count+=1);return n.domain=[n.min,n.max],n.limits=function(t,e){return cg.limits(n,t,e)},n},cg.scale=function(t,e){var i,n,r,o,a,s,c,u,h,l,d,f,p,m,g,v,y,b,x,w,_;return h=\"rgb\",l=cg(\"#ccc\"),m=0,s=!1,a=[0,1],p=[],f=[0,0],i=!1,r=[],d=!1,u=0,c=1,o=!1,n={},w=function(t){var e,i,n,o,a,s,c;if(null==t&&(t=[\"#fff\",\"#000\"]),null!=t&&\"string\"===uv(t)&&null!=(null!=(o=cg.brewer)?o[t]:void 0)&&(t=cg.brewer[t]),\"array\"===uv(t)){for(t=t.slice(0),e=n=0,a=t.length-1;0<=a?n<=a:n>=a;e=0<=a?++n:--n)i=t[e],\"string\"===uv(i)&&(t[e]=cg(i));for(p.length=0,e=c=0,s=t.length-1;0<=s?c<=s:c>=s;e=0<=s?++c:--c)p.push(e/(t.length-1))}return x(),r=t},y=function(t){var e,n;if(null!=i){for(n=i.length-1,e=0;e=i[e];)e++;return e-1}return 0},_=function(t){return t},g=function(t){var e,n,r,o,a;return a=t,i.length>2&&(o=i.length-1,e=y(t),r=i[0]+(i[1]-i[0])*(0+.5*m),n=i[o-1]+(i[o]-i[o-1])*(1-.5*m),a=u+(i[e]+.5*(i[e+1]-i[e])-r)/(n-r)*(c-u)),a},b=function(t,e){var o,a,s,d,m,g,v,b;if(null==e&&(e=!1),isNaN(t))return l;if(e?b=t:i&&i.length>2?(o=y(t),b=o/(i.length-2),b=f[0]+b*(1-f[0]-f[1])):c!==u?(b=(t-u)/(c-u),b=f[0]+b*(1-f[0]-f[1]),b=Math.min(1,Math.max(0,b))):b=1,e||(b=_(b)),d=Math.floor(1e4*b),n[d])a=n[d];else{if(\"array\"===uv(r))for(s=m=0,v=p.length-1;0<=v?m<=v:m>=v;s=0<=v?++m:--m){if(g=p[s],b<=g){a=r[s];break}if(b>=g&&s===p.length-1){a=r[s];break}if(b>g&&b=h;e=0<=h?++l:--l)p.push(e/(n-1));return a=[u,c],v},v.mode=function(t){return arguments.length?(h=t,x(),v):h},v.range=function(t,e){return w(t,e),v},v.out=function(t){return d=t,v},v.spread=function(t){return arguments.length?(m=t,v):m},v.correctLightness=function(t){return null==t&&(t=!0),o=t,x(),_=o?function(t){var e,i,n,r,o,a,s,c,u;for(e=b(0,!0).lab()[0],i=b(1,!0).lab()[0],s=e>i,n=b(t,!0).lab()[0],o=e+(i-e)*t,r=n-o,c=0,u=1,a=20;Math.abs(r)>.01&&a-- >0;)!function(){return s&&(r*=-1),r<0?(c=t,t+=.5*(u-t)):(u=t,t+=.5*(c-t)),n=b(t,!0).lab()[0],r=n-o}();return t}:function(t){return t},v},v.padding=function(t){return null!=t?(\"number\"===uv(t)&&(t=[t,t]),f=t,v):f},v.colors=function(){var e,n,r,o,s,c,u,h,l;if(o=0,s=\"hex\",1===arguments.length&&(\"string\"===uv(arguments[0])?s=arguments[0]:o=arguments[0]),2===arguments.length&&(o=arguments[0],s=arguments[1]),o)return n=a[0],e=a[1]-n,function(){u=[];for(var t=0;0<=o?to;0<=o?t++:t--)u.push(t);return u}.apply(this).map(function(t){return v(n+t/(o-1)*e)[s]()});if(t=[],h=[],i&&i.length>2)for(r=l=1,c=i.length;1<=c?lc;r=1<=c?++l:--l)h.push(.5*(i[r-1]+i[r]));else h=a;return h.map(function(t){return v(t)[s]()})},v},null==cg.scales&&(cg.scales={}),cg.scales.cool=function(){return cg.scale([cg.hsl(180,1,.9),cg.hsl(250,.7,.4)])},cg.scales.hot=function(){return cg.scale([\"#000\",\"#f00\",\"#ff0\",\"#fff\"],[0,.25,.75,1]).mode(\"rgb\")},cg.analyze=function(t,e,i){var n,r,o,a,s,c,u;if(s={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},null==i&&(i=function(){return!0}),n=function(t){null==t||isNaN(t)||(s.values.push(t),s.sum+=t,ts.max&&(s.max=t),s.count+=1)},u=function(t,r){if(i(t,r))return n(null!=e&&\"function\"===uv(e)?e(t):null!=e&&\"string\"===uv(e)||\"number\"===uv(e)?t[e]:t)},\"array\"===uv(t))for(a=0,o=t.length;a=F;_=1<=F?++O:--O)M.push(C+_/i*(zg-C));M.push(zg)}else if(\"l\"===e.substr(0,1)){if(C<=0)throw\"Logarithmic scales are only possible for values > 0\";for(T=Math.LOG10E*Ng(C),P=Math.LOG10E*Ng(zg),M.push(C),_=nt=1,z=i-1;1<=z?nt<=z:nt>=z;_=1<=z?++nt:--nt)M.push(Vg(10,T+_/i*(P-T)));M.push(zg)}else if(\"q\"===e.substr(0,1)){for(M.push(C),_=n=1,G=i-1;1<=G?n<=G:n>=G;_=1<=G?++n:--n)D=it.length*_/i,N=vg(D),N===D?M.push(it[N]):(k=D-N,M.push(it[N]*k+it[N+1]*(1-k)));M.push(zg)}else if(\"k\"===e.substr(0,1)){for(I=it.length,g=new Array(I),x=new Array(i),Q=!0,L=0,y=null,y=[],y.push(C),_=r=1,H=i-1;1<=H?r<=H:r>=H;_=1<=H?++r:--r)y.push(C+_/i*(zg-C));for(y.push(zg);Q;){for(S=o=0,W=i-1;0<=W?o<=W:o>=W;S=0<=W?++o:--o)x[S]=0;for(_=a=0,X=I-1;0<=X?a<=X:a>=X;_=0<=X?++a:--a){for(et=it[_],E=Number.MAX_VALUE,S=s=0,q=i-1;0<=q?s<=q:s>=q;S=0<=q?++s:--s)w=eg(y[S]-et),w=Y;S=0<=Y?++c:--c)R[S]=null;for(_=u=0,Z=I-1;0<=Z?u<=Z:u>=Z;_=0<=Z?++u:--u)b=g[_],null===R[b]?R[b]=it[_]:R[b]+=it[_];for(S=h=0,K=i-1;0<=K?h<=K:h>=K;S=0<=K?++h:--h)R[S]*=1/x[S];for(Q=!1,S=l=0,B=i-1;0<=B?l<=B:l>=B;S=0<=B?++l:--l)if(R[S]!==y[_]){Q=!0;break}y=R,L++,L>200&&(Q=!1)}for(A={},S=d=0,U=i-1;0<=U?d<=U:d>=U;S=0<=U?++d:--d)A[S]=[];for(_=f=0,j=I-1;0<=j?f<=j:f>=j;_=0<=j?++f:--f)b=g[_],A[b].push(it[_]);for(tt=[],S=p=0,$=i-1;0<=$?p<=$:p>=$;S=0<=$?++p:--p)tt.push(A[S][0]),tt.push(A[S][A[S].length-1]);for(tt=tt.sort(function(t,e){return t-e}),M.push(tt[0]),_=m=1,V=tt.length-1;m<=V;_=m+=2)isNaN(tt[_])||M.push(tt[_])}return M},bg=function(t,e,i){var n,r,o,a;return n=hv(arguments),t=n[0],e=n[1],i=n[2],t/=360,t<1/3?(r=(1-e)/3,a=(1+e*dg(Zm*t)/dg(qm-Zm*t))/3,o=1-(r+a)):t<2/3?(t-=1/3,a=(1-e)/3,o=(1+e*dg(Zm*t)/dg(qm-Zm*t))/3,r=1-(a+o)):(t-=2/3,o=(1-e)/3,r=(1+e*dg(Zm*t)/dg(qm-Zm*t))/3,a=1-(o+r)),a=Dg(i*a*3),o=Dg(i*o*3),r=Dg(i*r*3),[255*a,255*o,255*r,n.length>3?n[3]:1]},Xg=function(){var t,e,i,n,r,o,a,s;return a=hv(arguments),o=a[0],e=a[1],t=a[2],Zm=2*Math.PI,o/=255,e/=255,t/=255,r=Math.min(o,e,t),n=(o+e+t)/3,s=1-r/n,0===s?i=0:(i=(o-e+(o-t))/2,i/=Math.sqrt((o-e)*(o-e)+(o-t)*(e-t)),i=Math.acos(i),t>e&&(i=Zm-i),i/=Zm),[360*i,s,n]},cg.hsi=function(){return function(t,e,i){i.prototype=t.prototype;var n=new i,r=t.apply(n,e);return Object(r)===r?r:n}(Gm,pv.call(arguments).concat([\"hsi\"]),function(){})},Jm.hsi=bg,Gm.prototype.hsi=function(){return Xg(this._rgb)},Ag=function(t,e,i,n){var r,o,a,s,c,u,h,l,d,f,p,m,g;return\"hsl\"===n?(m=t.hsl(),g=e.hsl()):\"hsv\"===n?(m=t.hsv(),g=e.hsv()):\"hsi\"===n?(m=t.hsi(),g=e.hsi()):\"lch\"!==n&&\"hcl\"!==n||(n=\"hcl\",m=t.hcl(),g=e.hcl()),\"h\"===n.substr(0,1)&&(a=m[0],f=m[1],u=m[2],s=g[0],p=g[1],h=g[2]),isNaN(a)||isNaN(s)?isNaN(a)?isNaN(s)?o=Number.NaN:(o=s,1!==u&&0!==u||\"hsv\"===n||(d=p)):(o=a,1!==h&&0!==h||\"hsv\"===n||(d=f)):(r=s>a&&s-a>180?s-(a+360):s180?s+360-a:s-a,o=a+i*r),null==d&&(d=f+i*(p-f)),c=u+i*(h-u),l=cg[n](o,d,c)},tg=tg.concat(function(){var t,e,i,n;for(i=[\"hsv\",\"hsl\",\"hsi\",\"hcl\",\"lch\"],n=[],e=0,t=i.length;e>16&255)/255,e[i+1]=(t>>8&255)/255,e[i+2]=(255&t)/255,e},atomColor:function(){return 16777215},atomColorToArray:function(t,e,i){return this.colorToArray(this.atomColor(t),e,i)},bondColor:function(t,e){return this.atomProxy.index=e?t.atomIndex1:t.atomIndex2,this.atomColor(this.atomProxy)},bondColorToArray:function(t,e,i,n){return this.colorToArray(this.bondColor(t,e),i,n)},volumeColor:function(){return 16777215},volumeColorToArray:function(t,e,i){return this.colorToArray(this.volumeColor(t),e,i)},positionColor:function(){return 16777215},positionColorToArray:function(t,e,i){return this.colorToArray(this.positionColor(t),e,i)}},zn.prototype=Fn.prototype,zn.prototype.constructor=zn,Bn.prototype=Fn.prototype,Bn.prototype.constructor=Bn,Un.prototype=Fn.prototype,Un.prototype.constructor=Un,jn.prototype=Fn.prototype,jn.prototype.constructor=jn,$n.prototype=Fn.prototype,$n.prototype.constructor=$n,Vn.prototype=Fn.prototype,Vn.prototype.constructor=Vn,Gn.prototype=Fn.prototype,Gn.prototype.constructor=Gn,Hn.prototype=Fn.prototype,Hn.prototype.constructor=Hn,Wn.prototype=Fn.prototype,Wn.prototype.constructor=Wn,Xn.prototype=Fn.prototype,Xn.prototype.constructor=Xn,qn.prototype=Fn.prototype,qn.prototype.constructor=qn,Yn.prototype=Fn.prototype,Yn.prototype.constructor=Yn,Zn.prototype=Fn.prototype,Zn.prototype.constructor=Zn,Kn.prototype=Fn.prototype,Kn.prototype.constructor=Kn,Qn.prototype=Fn.prototype,Qn.prototype.constructor=Qn,Jn.prototype=Fn.prototype,Jn.prototype.constructor=Jn,tr.prototype=Fn.prototype,tr.prototype.constructor=tr,er.prototype=Fn.prototype,er.prototype.constructor=er,ir.prototype=Fn.prototype,ir.prototype.constructor=ir,nr.prototype=Fn.prototype,nr.prototype.constructor=nr,kn.types={\"\":Fn,picking:Un,random:jn,uniform:$n,atomindex:Vn,residueindex:Gn,chainindex:Hn,chainname:Wn,chainid:Xn,entityindex:qn,modelindex:Yn,entitytype:Zn,moleculetype:Kn,sstruc:Qn,element:Jn,resname:tr,bfactor:er,hydrophobicity:nr,value:Bn,volume:zn,occupancy:ir};var _v=p(),Sv=\"undefined\"!=typeof window&&\"undefined\"!=typeof window.orientation,Av=!1,Mv=!1,Pv={log:Function.prototype.bind.call(console.log,console),info:Function.prototype.bind.call(console.info,console),warn:Function.prototype.bind.call(console.warn,console),error:Function.prototype.bind.call(console.error,console),time:Function.prototype.bind.call(console.time,console),timeEnd:Function.prototype.bind.call(console.timeEnd,console)};t.Debug=l(h(\"debug\"));var Cv='

Your browser/graphics card does not seem to support WebGL.

Find out how to get it here.

',Tv=new T,Ev=new kn,Iv=new S(\"datasource\"),Lv=new S(\"representatation\"),Rv=new S(\"parser\"),Ov=new S(\"shader\"),Dv=new S(\"decompressor\"),Nv=new S(\"component\");sr.prototype={constructor:sr,type:\"\",__srcName:void 0,isBinary:function(){return this.binary||this.compressed},onload:function(){},onprogress:function(){},onerror:function(){},read:function(t){this._read(function(e){var i=Dv.get(this.compressed);this.compressed&&i?this.data=i(e):((this.binary||this.compressed)&&e instanceof ArrayBuffer&&(e=new Uint8Array(e)),this.data=e),\"function\"==typeof this.onload&&this.onload(this.data),t()}.bind(this))},_read:function(t){t(this.src)},_chunk:function(t,e){return e=Math.min(this.data.length,e),0===t&&this.data.length===e?this.data:this.isBinary()?this.data.subarray(t,e):this.data.substring(t,e)},chunk:function(t){var e=t+this.chunkSize;return this._chunk(t,e)},peekLines:function(t){var e,i=this.data,n=i.length,r=this.isBinary()?this.newline.charCodeAt(0):this.newline,o=0;for(e=0;en);return s.lines},lineCount:function(){console.warn(\"lineCount - deprecated\");for(var t=this.data,e=t.length,i=this.isBinary()?this.newline.charCodeAt(0):this.newline,n=0,r=0;rthis.data.length))return this.__pointer+=this.chunkSize,this.chunk(t)},nextChunkOfLines:function(){var t=this.nextChunk();if(void 0!==t){var e=this.__pointer>this.data.length,i=this.chunkToLines(t,this.__partialLine,e);return this.__partialLine=i.partialLine,i.lines}},eachChunk:function(t){for(var e=this.chunkSize,i=this.data.length,n=this.chunkCount(),r=0;r=0),o[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o[6]?parseInt(o[6]):0);break;case\"e\":i=o[7]?parseFloat(i).toExponential(o[7]):parseFloat(i).toExponential();break;case\"f\":i=o[7]?parseFloat(i).toFixed(o[7]):parseFloat(i);break;case\"g\":i=o[7]?parseFloat(i).toPrecision(o[7]):parseFloat(i);break;case\"o\":i=i.toString(8);break;case\"s\":i=String(i),i=o[7]?i.substring(0,o[7]):i;break;case\"t\":i=String(!!i),i=o[7]?i.substring(0,o[7]):i;break;case\"T\":i=yr(i),i=o[7]?i.substring(0,o[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o[7]?i.substring(0,o[7]):i;break;case\"x\":i=parseInt(i,10).toString(16);break;case\"X\":i=parseInt(i,10).toString(16).toUpperCase()}kv.json.test(o[8])?d[d.length]=i:(!kv.number.test(o[8])||f&&!o[3]?p=\"\":(p=f?\"+\":\"-\",i=i.toString().replace(kv.sign,\"\")),s=o[4]?\"0\"===o[4]?\"0\":o[4].charAt(1):\" \",c=o[6]-(p+i).length,a=o[6]&&c>0?br(s,c):\"\",d[d.length]=o[5]?p+i+a:\"0\"===s?p+a+i:a+p+i)}return d.join(\"\")},vr.cache={},vr.parse=function(t){for(var e=t,i=[],n=[],r=0;e;){if(null!==(i=kv.text.exec(e)))n[n.length]=i[0];else if(null!==(i=kv.modulo.exec(e)))n[n.length]=\"%\";else{if(null===(i=kv.placeholder.exec(e)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(i[2]){r|=1;var o=[],a=i[2],s=[];if(null===(s=kv.key.exec(a)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o[o.length]=s[1];\"\"!==(a=a.substring(s[0].length));)if(null!==(s=kv.key_access.exec(a)))o[o.length]=s[1];else{if(null===(s=kv.index_access.exec(a)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o[o.length]=s[1]}i[2]=o}else r|=2;if(3===r)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n[n.length]=i}e=e.substring(i[0].length)}return n};var Fv={0:[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\"],\" \":[\"\",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],_:[\"\",\"_\",\"__\",\"___\",\"____\",\"_____\",\"______\",\"_______\"]};wr.prototype={clear:function(){this.change(-this.count)},change:function(t){this.count+=t,this.signals.countChanged.dispatch(t,this.count),this.count<0&&Pv.warn(\"Counter.count below zero\",this.count)},increment:function(){this.change(1)},decrement:function(){this.change(-1)},listen:function(t){this.change(t.count),t.signals.countChanged.add(this.change,this)},unlisten:function(t){var e=t.signals.countChanged;e.has(this.change,this)&&e.remove(this.change,this)},onZeroOnce:function(t,e){if(0===this.count)t.call(e,0,0);else{var i=function(){0===this.count&&(this.signals.countChanged.remove(i,this),t.apply(e,arguments))};this.signals.countChanged.add(i,this)}},dispose:function(){this.clear(),this.signals.countChanged.dispose()}},_r.prototype={constructor:_r,getBaseObject:function(t){return\"StructureView\"===t.type&&(t=t.getStructure()),t},addObject:function(t){t=this.getBaseObject(t);var e=this.allocateGidRange(t);return e&&(this.objectList.push(t),this.rangeList.push(e)),this},removeObject:function(t){t=this.getBaseObject(t);var e=this.objectList.indexOf(t);return e!==-1&&(this.objectList.splice(e,1),this.rangeList.splice(e,1),0===this.objectList.length&&(this.nextGid=1)),this},updateObject:function(t,e){t=this.getBaseObject(t);var i=this.objectList.indexOf(t);if(i!==-1){var n=this.rangeList[i];if(n[1]===this.nextGid){var r=this.getGidCount(t);this.nextGid+=r-(n[1]-n[0]),n[1]=this.nextGid}else this.rangeList[i]=this.allocateGidRange(t)}else e||Pv.warn(\"GidPool.updateObject: object not found.\");return this},getGidCount:function(t){t=this.getBaseObject(t);var e=0;return\"Structure\"===t.type?e=t.atomStore.count+t.bondStore.count+t.backboneBondStore.count+t.rungBondStore.count:\"Volume\"===t.type?e=t.__data.length:Pv.warn(\"GidPool.getGidCount: unknown object type\"),e},allocateGidRange:function(t){t=this.getBaseObject(t);var e=this.getGidCount(t);if(e>Math.pow(10,7))return Pv.warn(\"GidPool.allocateGidRange: gidCount too large\"),null;var i=this.nextGid;return this.nextGid+=e,this.nextGid>Math.pow(2,24)&&Pv.error(\"GidPool.allocateGidRange: GidPool overflown\"),[i,this.nextGid]},getNextGid:function(){return this.nextGid++},getGid:function(t,e){t=this.getBaseObject(t),e=e||0;var i=0,n=this.objectList.indexOf(t);if(n!==-1){var r=this.rangeList[n],o=r[0];i=o+e}else Pv.warn(\"GidPool.getGid: object not found.\");return i},getByGid:function(t){var e;return this.objectList.forEach(function(i,n){var r=this.rangeList[n];if(!(t=r[1])){var o=t-r[0];\"Structure\"===i.type?othis.prevFpsTime+1e3&&(this.lastFps=this.frames,this.prevFpsTime=t,this.frames=0),t}},Ar.prototype=Object.create(E.prototype),Ar.prototype.constructor=Ar,Ov.add(\"shader/chunk/dull_interior_fragment.glsl\",\"#ifdef DULL_INTERIOR\\nif( gl_FrontFacing == false ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#endif\"),Ov.add(\"shader/chunk/fog_fragment.glsl\",\"#ifdef USE_FOG\\nfloat depth = length( vViewPosition );\\n#ifdef FOG_EXP2\\nfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * depth * depth * LOG2 ) );\\n#else\\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\\n#endif\\ngl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\"),Ov.add(\"shader/chunk/nearclip_vertex.glsl\",\"#ifdef NEAR_CLIP\\nif( vViewPosition.z < nearClip - 5.0 )\\ngl_Position.z = 2.0 * gl_Position.w;\\n#endif\"),Ov.add(\"shader/chunk/nearclip_fragment.glsl\",\"#ifdef NEAR_CLIP\\nif( vViewPosition.z < nearClip )\\ndiscard;\\n#endif\"),\nOv.add(\"shader/chunk/radiusclip_vertex.glsl\",\"#ifdef RADIUS_CLIP\\nif( distance( vViewPosition, vClipCenter ) > clipRadius + 5.0 )\\ngl_Position.z = 2.0 * gl_Position.w;\\n#endif\"),Ov.add(\"shader/chunk/radiusclip_fragment.glsl\",\"#ifdef RADIUS_CLIP\\nif( distance( vViewPosition, vClipCenter ) > clipRadius )\\ndiscard;\\n#endif\"),Ov.add(\"shader/chunk/opaque_back_fragment.glsl\",\"#ifdef OPAQUE_BACK\\n#ifdef FLIP_SIDED\\nif( gl_FrontFacing == true ){\\ngl_FragColor.a = 1.0;\\n}\\n#else\\nif( gl_FrontFacing == false ){\\ngl_FragColor.a = 1.0;\\n}\\n#endif\\n#endif\");var zv=/^(?!\\/\\/)\\s*#include\\s+(\\S+)/gim,Bv={};Cr.prototype.constructor=Cr;var Uv=2*Math.PI,jv=(new Float32Array(4),new Float32Array(4),new N),$v=new O,Vv=new O,Gv=new O,Hv=new O;\"undefined\"!=typeof WebGLRenderingContext&&WebGLRenderingContext&&(WebGLRenderingContext.prototype.getShaderParameter=function(){var e=WebGLRenderingContext.prototype.getShaderParameter;return function(){return!t.Debug||e.apply(this,arguments)}}(),WebGLRenderingContext.prototype.getShaderInfoLog=function(){var e=WebGLRenderingContext.prototype.getShaderInfoLog;return function(){return t.Debug?e.apply(this,arguments):\"\"}}(),WebGLRenderingContext.prototype.getProgramParameter=function(){var e=WebGLRenderingContext.prototype.getProgramParameter;return function(i,n){return!t.Debug&&n===WebGLRenderingContext.prototype.LINK_STATUS||e.apply(this,arguments)}}(),WebGLRenderingContext.prototype.getProgramInfoLog=function(){var e=WebGLRenderingContext.prototype.getProgramInfoLog;return function(){return t.Debug?e.apply(this,arguments):\"\"}}());var Wv=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]];Wv.forEach(function(t){t.forEach(function(t){t[0]*=.0625,t[1]*=.0625})}),Ur.prototype.constructor=Ur;var Xv=2,qv=3,Yv=function(e,i){function n(t){var e=Object.assign({},t);u=d(e.hoverTimeout,u)}function r(t,e){var i,n,r,o=s.pick(t.canvasPosition.x,t.canvasPosition.y),a=o.instance,u=c.getByGid(o.gid);return u&&\"AtomProxy\"===u.type?i=u:u&&\"BondProxy\"===u.type?n=u:u&&\"Volume\"===u.volume.type&&(r=u),(i||n||r)&&t.which===Xv&&e&&(i?l.copy(i):n?l.copy(n.atom1).add(n.atom2).multiplyScalar(.5):r&&l.copy(r),a&&l.applyProjection(a.matrix),s.centerView(!1,l)),{atom:i,bond:n,volume:r,instance:a,canvasPosition:t.canvasPosition.clone()}}function o(){if(performance.now()-f.lastMoved>u&&(f.moving=!1),f.scrolled||!f.moving&&!f.hovering){f.hovering=!0,f.scrolled=!1;var t=r(f);h.hovered.dispatch(t)}requestAnimationFrame(o)}function a(){setTimeout(function(){f.scrolled=!0},u)}var s=e.viewer,c=e.gidPool,u=50;n(i);var h={clicked:new Rn,hovered:new Rn},l=new N,f={position:new I,down:new I,canvasPosition:new I,moving:!1,hovering:!0,scrolled:!1,lastMoved:1/0,which:void 0,distance:function(){return f.position.distanceTo(f.down)},setCanvasPosition:function(t){var e=s.renderer.domElement.getBoundingClientRect(),i=t.clientX-e.left,n=t.clientY-e.top;f.canvasPosition.set(i,e.height-n)}};o(),s.renderer.domElement.addEventListener(\"mousemove\",function(t){t.preventDefault(),f.moving=!0,f.hovering=!1,f.lastMoved=performance.now(),f.position.set(t.layerX,t.layerY),f.setCanvasPosition(t)}),s.renderer.domElement.addEventListener(\"mousedown\",function(t){t.preventDefault(),f.moving=!1,f.hovering=!1,f.down.set(t.layerX,t.layerY),f.which=t.which,f.setCanvasPosition(t)}),s.renderer.domElement.addEventListener(\"mouseup\",function(e){if(e.preventDefault(),!(f.distance()>3||e.which===qv)){var i=r(f,!0);f.which=void 0,h.clicked.dispatch(i),t.Debug&&Pv.log(\"clicked\",i)}}),s.renderer.domElement.addEventListener(\"mousewheel\",a),s.renderer.domElement.addEventListener(\"wheel\",a),s.renderer.domElement.addEventListener(\"MozMousePixelScroll\",a),this.signals=h,this.setParameters=n};jr.prototype.add=function(t){this.count<<5<=t&&this.resize(t),this.words[t>>>5]|=1<>>5]|=1<>>5]^=1<>>5]^=1<>>5)+1,r=(e>>>5)-1,o=0|n;o+7>>5]|=1<>>5]|=1<>>5]&=~(1<>>5]&=~(1<>>5]&=~(1<>>5]&=~(1<>>5]&1<0;)0===this.words[this.count-1]&&this.count--;this.words=this.words.slice(0,this.count)},jr.prototype.resize=function(t){if(this.length=t,!(this.count<<5>t)&&(this.count=t+32>>>5,this.words.length<<5<=t)){var e=new Uint32Array(this.count<<1);e.set(this.words),this.words=e}},jr.prototype.hammingWeight=function(t){return t-=t>>>1&1431655765,t=(858993459&t)+(t>>>2&858993459),16843009*(t+(t>>>4)&252645135)>>>24},jr.prototype.size=function(){for(var t=0,e=this.count,i=0;i=t&&eo?a.set(this[n].subarray(0,o)):a.set(this[n]),this[n]=a}},growIfFull:function(){if(this.count>=this.length){var t=Math.round(1.5*this.length);this.resize(Math.max(256,t))}},copyFrom:function(t,e,i,n){for(var r=0,o=this.__fields.length;r0;)s-=1;a<=s&&(a===o?o=s:s===o&&(o=a),e(a,s),a+=1,s-=1)}while(a<=s);i(n,s),i(a,r)}}Pv.time(\"Store.sort\");var n=this,r=new this.constructor(1);i(0,this.count-1),Pv.timeEnd(\"Store.sort\")},clear:function(){this.count=0},dispose:function(){delete this.length,delete this.count;for(var t=0,e=this.__fields.length;t0&&(l[i]=A.angleTo(M)),t=Math.cos(b.angleTo(x)),p[i]=180/Math.PI*Math.acos(t),n=b.length(),r=x.length(),d[i]=Math.sqrt(r*n)/Math.max(2,2*(1-t)),f[i]=Math.abs(v.dot(A)),w.copy(b).multiplyScalar(d[i]/n),_.copy(x).multiplyScalar(d[i]/r),w.subVectors(I,w),_.subVectors(L,_),w.toArray(u,e+3),_.toArray(u,e+6),P.subVectors(E,C),P.toArray(m,e),M.copy(A),C.copy(w);for(w.fromArray(u,3),_.fromArray(u,6),A.subVectors(w,_).normalize(),E.index=o.getAtomIndexByType(0,T),C.copy(E),S.copy(E),Gr(S,A,w),S.toArray(u,0),P.subVectors(C,w),P.toArray(m,0),w.fromArray(u,3*s-6),_.fromArray(u,3*s-9),A.subVectors(w,_).normalize(),E.index=o.getAtomIndexByType(s-1,T),C.copy(E),S.copy(E),Gr(S,A,w),S.toArray(u,3*s-3),i=s-3;ie?z=!0:h.bending[B]>t&&(z=!0)),z){if(B-v<4){v=B,z=!1;continue}D.index=R.traceAtomIndex,T=h.axis.subarray(3*v+3,3*B),E=h.center.subarray(3*v,3*B+3),d=Vr(T).normalize(),f=Vr(E),I.fromArray(E),Gr(I,d,f),L.fromArray(E,E.length-3),Gr(L,d,f),d.subVectors(L,I),d.toArray(b,y),f.toArray(x,y),I.toArray(w,y),L.toArray(_,y),p.atomColorToArray(D,S,y),m.atomColorToArray(D,A,y),M.push(g.atomRadius(D)),P.push(u+v),C.push(u+B+1-v),y+=3,v=B,z=!1}return{axis:new Float32Array(b),center:new Float32Array(x),begin:new Float32Array(w),end:new Float32Array(_),color:new Float32Array(S),pickingColor:new Float32Array(A),size:new Float32Array(M),residueOffset:P,residueCount:C}}},jo.prototype={push:function(t){this.content.push(t),this.bubbleUp(this.content.length-1)},pop:function(){var t=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),t},peek:function(){return this.content[0]},remove:function(t){for(var e=this.content.length,i=0;i0;){var i=Math.floor((t+1)/2)-1,n=this.content[i];if(!(this.scoreFunction(e)\":\"3/4-Z\",\"?\":\"X-Y\",\"@\":\"Y-X\",A:\"Z+1/3\",B:\"Z+2/3\",C:\"X+2/3\",D:\"Y+1/3\",E:\"-Y+2/3\",F:\"X-Y+1/3\",G:\"Y-X+2/3\",H:\"-X+1/3\",I:\"X+1/3\",J:\"Y+2/3\",K:\"-Y+1/3\",L:\"X-Y+2/3\",M:\"Y-X+1/3\",N:\"-X+2/3\",O:\"2/3+X\",P:\"1/3+Y\",Q:\"1/3+Z\",R:\"2/3-Y\",S:\"1/3+X-Y\",T:\"2/3+Y-X\",U:\"1/3-X\",V:\"2/3-X\",W:\"1/3-Y\",X:\"1/3-Z\",Y:\"2/3+Y\",Z:\"1/3+Y-X\",\"[\":\"2/3+X-Y\",\"]\":\"1/3+X\",\"^\":\"2/3+Z\",_:\"2/3-Z\",\"`\":\"5/6+Z\",a:\"1/6+Z\",b:\"5/6-Z\",c:\"1/6-Z\",d:\"Z+5/6\",e:\"Z+1/6\",f:\"Z+1/4\",g:\"+Y\"},ty={\"P 1\":\" !#\",\"P -1\":\" !#$%&\",\"P 1 2 1\":\" !#$!&\",\"P 1 21 1\":\" !#$'&\",\"C 1 2 1\":\" !#$!&()#*)&\",\"P 1 m 1\":\" !# %#\",\"P 1 c 1\":\" !# %+\",\"C 1 m 1\":\" !# %#()#(,#\",\"C 1 c 1\":\" !# %+()#(,+\",\"P 1 2/m 1\":\" !# %#$!&$%&\",\"P 1 21/m 1\":\" !#$)&$%& ,#\",\"C 1 2/m 1\":\" !# %#$!&$%&()#(,#*)&*,&\",\"P 1 2/c 1\":\" !#$!-$%& %+\",\"P 1 21/c 1\":\" !#$%&$)- ,+\",\"C 1 2/c 1\":\" !#$!-$%& %+()#*)-*,&(,+\",\"P 2 2 2\":\" !#$%#$!& %&\",\"P 2 2 21\":\" !#$%+$!- %&\",\"P 21 21 2\":\" !#$%#*)&(,&\",\"P 21 21 21\":\" !#*%+$)-(,&\",\"C 2 2 21\":\" !#$%+$!- %&()#*,+*)-(,&\",\"C 2 2 2\":\" !#$%#$!& %&()#*,#*)&(,&\",\"F 2 2 2\":\" !#$%#$!& %& )+$,+$)- ,-(!+*%+*!-(%-()#*,#*)&(,&\",\"I 2 2 2\":\" !#$%# %&$!&.'/01/.120'2\",\"I 21 21 21\":\" !#*%+$)-(,&()+$,#*!& %-\",\"P m m 2\":\" !#$%# %#$!#\",\"P m c 21\":\" !#$%+ %+$!#\",\"P c c 2\":\" !#$%# %+$!+\",\"P m a 2\":\" !#$%#(%#*!#\",\"P c a 21\":\" !#$%+(%#*!+\",\"P n c 2\":\" !#$%# ,+$)+\",\"P m n 21\":\" !#*%+(%+$!#\",\"P b a 2\":\" !#$%#(,#*)#\",\"P n a 21\":\" !#$%+(,#*)+\",\"P n n 2\":\" !#$%#(,+*)+\",\"C m m 2\":\" !#$%# %#$!#()#*,#(,#*)#\",\"C m c 21\":\" !#$%+ %+$!#()#*,+(,+*)#\",\"C c c 2\":\" !#$%# %+$!+()#*,#(,+*)+\",\"A m m 2\":\" !#$%# %#$!# )+$,+ ,+$)+\",\"A b m 2\":\" !#$%# ,#$)# )+$,+ %+$!+\",\"A m a 2\":\" !#$%#(%#*!# )+$,+(,+*)+\",\"A b a 2\":\" !#$%#(,#*)# )+$,+(%+*!+\",\"F m m 2\":\" !#$%# %#$!# )+$,+ ,+$)+(!+*%+(%+*!+()#*,#(,#*)#\",\"F d d 2\":\" !#$%#345675 )+$,+3896:9(!+*%+;49<79()#*,#;85<:5\",\"I m m 2\":\" !#$%# %#$!#()+*,+(,+*)+\",\"I b a 2\":\" !#$%#(,#*)#()+*,+ %+$!+\",\"I m a 2\":\" !#$%#(%#*!#()+*,+ ,+$)+\",\"P 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#\",\"P 2/n 2/n 2/n\":\" !#$%#$!& %&*,-()-(,+*)+\",\"P 2/c 2/c 2/m\":\" !#$%#$!- %-$%& !& %+$!+\",\"P 2/b 2/a 2/n\":\" !#$%#$!& %&*,&()&(,#*)#\",\"P 21/m 2/m 2/a\":\" !#*%#$!&(%&$%&(!& %#*!#\",\"P 2/n 21/n 2/a\":\" !#*%#*)- ,-$%&(!&(,+$)+\",\"P 2/m 2/n 21/a\":\" !#*%+*!- %&$%&(!-(%+$!#\",\"P 21/c 2/c 2/a\":\" !#*%#$!-(%-$%&(!& %+*!+\",\"P 21/b 21/a 2/m\":\" !#$%#*)&(,&$%& !&(,#*)#\",\"P 21/c 21/c 2/n\":\" !#*,#$)-(%-$%&()& ,+*!+\",\"P 2/b 21/c 21/m\":\" !#$%+$)- ,&$%& !- ,+$)#\",\"P 21/n 21/n 2/m\":\" !#$%#*)-(,-$%& !&(,+*)+\",\"P 21/m 21/m 2/n\":\" !#$%#*'&.,&*,&.'& %#$!#\",\"P 21/b 2/c 21/n\":\" !#*,+$!-(,&$%&()- %+*)#\",\"P 21/b 21/c 21/a\":\" !#*%+$)-(,&$%&(!- ,+*)#\",\"P 21/n 21/m 21/a\":\" !#0%/$'&.12$%&.!2 1#0'/\",\"C 2/m 2/c 21/m\":\" !#$%+$!- %&$%& !- %+$!#()#*,+*)-(,&*,&()-(,+*)#\",\"C 2/m 2/c 21/a\":\" !#$,+$)- %&$%& )- ,+$!#()#*%+*!-(,&*,&(!-(%+*)#\",\"C 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#()#*,#*)&(,&*,&()&(,#*)#\",\"C 2/c 2/c 2/m\":\" !#$%#$!- %-$%& !& %+$!+()#*,#*)-(,-*,&()&(,+*)+\",\"C 2/m 2/m 2/a\":\" !#$,#$)& %&$%& )& ,#$!#()#*%#*!&(,&*,&(!&(%#*)#\",\"C 2/c 2/c 2/a\":\" !#*,#$!&(,&$,-(!- ,+*!+()#$%#*)& %&*%- )-(%+$)+\",\"F 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!# )+$,+$)- ,-$,- )- ,+$)+(!+*%+*!-(%-*%-(!-(%+*!+()#*,#*)&(,&*,&()&(,#*)#\",\"F 2/d 2/d 2/d\":\" !#$%#$!& %&64=37=345675 )+$,+$)- ,-68>3:>3896:9(!+*%+*!-(%-<4>;7>;49<79()#*,#*)&(,&<8=;:=;85<:5\",\"I 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#()+*,+*)-(,-*,-()-(,+*)+\",\"I 2/b 2/a 2/m\":\" !#$%#*)&(,&$%& !&(,#*)#()+*,+$!- %-*,-()- %+$!+\",\"I 21/b 21/c 21/a\":\" !#*%+$)-(,&$%&(!- ,+*)#()+$,#*!& %-*,- )&(%#$!+\",\"I 21/m 21/m 21/a\":\" !#$,#$)& %&$%& )& ,#$!#()+*%+*!-(,-*,-(!-(%+*)+\",\"P 4\":\" !#$%#% #!$#\",\"P 41\":\" !#$%+% 5!$9\",\"P 42\":\" !#$%#% +!$+\",\"P 43\":\" !#$%+% 9!$5\",\"I 4\":\" !#$%#% #!$#()+*,+,(+)*+\",\"I 41\":\" !#*,+%(5)$9()+$%#, 9!*5\",\"P -4\":\" !#$%#!$&% &\",\"I -4\":\" !#$%#!$&% &()+*,+)*-,(-\",\"P 4/m\":\" !#$%#% #!$#$%& !&!$&% &\",\"P 42/m\":\" !#$%#% +!$+$%& !&!$-% -\",\"P 4/n\":\" !#$%#,(#)*#*,&()&!$&% &\",\"P 42/n\":\" !#$%#,(+)*+*,-()-!$&% &\",\"I 4/m\":\" !#$%#% #!$#$%& !&!$&% &()+*,+,(+)*+*,-()-)*-,(-\",\"I 41/a\":\" !#*,+%(5)$9$,=(!>!$&,(-()+$%#, 9!*5*%> )=)*-% &\",\"P 4 2 2\":\" !#$%#% #!$#$!& %&! &%$&\",\"P 4 21 2\":\" !#$%#,(#)*#*)&(,&! &%$&\",\"P 41 2 2\":\" !#$%+% 5!$9$!& %-! >%$=\",\"P 41 21 2\":\" !#$%+,(5)*9*)=(,>! &%$-\",\"P 42 2 2\":\" !#$%#% +!$+$!& %&! -%$-\",\"P 42 21 2\":\" !#$%#,(+)*+*)-(,-! &%$&\",\"P 43 2 2\":\" !#$%+% 9!$5$!& %-! =%$>\",\"P 43 21 2\":\" !#$%+,(9)*5*)>(,=! &%$-\",\"I 4 2 2\":\" !#$%#% #!$#$!& %&! &%$&()+*,+,(+)*+*)-(,-)(-,*-\",\"I 41 2 2\":\" !#*,+%(5)$9*!> ,=)(-%$&()+$%#, 9!*5$)=(%>! &,*-\",\"P 4 m m\":\" !#$%#% #!$# %#$!#%$#! #\",\"P 4 b m\":\" !#$%#% #!$#(,#*)#,*#)(#\",\"P 42 c m\":\" !#$%#% +!$+ %+$!+%$#! #\",\"P 42 n m\":\" !#$%#,(+)*+(,+*)+%$#! #\",\"P 4 c c\":\" !#$%#% #!$# %+$!+%$+! +\",\"P 4 n c\":\" !#$%#% #!$#(,+*)+,*+)(+\",\"P 42 m c\":\" !#$%#% +!$+ %#$!#%$+! +\",\"P 42 b c\":\" !#$%#% +!$+(,#*)#,*+)(+\",\"I 4 m m\":\" !#$%#% #!$# %#$!#%$#! #()+*,+,(+)*+(,+*)+,*+)(+\",\"I 4 c m\":\" !#$%#% #!$# %+$!+%$+! +()+*,+,(+)*+(,#*)#,*#)(#\",\"I 41 m d\":\" !#*,+%(5)$9 %#*)+%*5) 9()+$%#, 9!*5(,+$!#,$9!(5\",\"I 41 c d\":\" !#*,+%(5)$9 %+*)#%*9) 5()+$%#, 9!*5(,#$!+,$5!(9\",\"P -4 2 m\":\" !#$%#% &!$&$!& %&%$#! #\",\"P -4 2 c\":\" !#$%#% &!$&$!- %-%$+! +\",\"P -4 21 m\":\" !#$%#% &!$&*)&(,&,*#)(#\",\"P -4 21 c\":\" !#$%#% &!$&*)-(,-,*+)(+\",\"P -4 m 2\":\" !#$%#!$&% & %#$!#! &%$&\",\"P -4 c 2\":\" !#$%#% &!$& %+$!+! -%$-\",\"P -4 b 2\":\" !#$%#% &!$&(,#*)#)(&,*&\",\"P -4 n 2\":\" !#$%#% &!$&(,+*)+)(-,*-\",\"I -4 m 2\":\" !#$%#% &!$& %#$!#! &%$&()+*,+,(-)*-(,+*)+)(-,*-\",\"I -4 c 2\":\" !#$%#% &!$& %+$!+! -%$-()+*,+,(-)*-(,#*)#)(&,*&\",\"I -4 2 m\":\" !#$%#% &!$&$!& %&%$#! #()+*,+,(-)*-*)-(,-,*+)(+\",\"I -4 2 d\":\" !#$%#% &!$&*!>(%>,$9) 9()+*,+,(-)*-$)= ,=%*5!(5\",\"P 4/m 2/m 2/m\":\" !#$%#% #!$#$!& %&! &%$&$%& !&!$&% & %#$!#%$#! #\",\"P 4/m 2/c 2/c\":\" !#$%#% #!$#$!- %-! -%$-$%& !&!$&% & %+$!+%$+! +\",\"P 4/n 2/b 2/m\":\" !#$%#% #!$#$!& %&! &%$&*,&()&)*&,(&(,#*)#,*#)(#\",\"P 4/n 2/n 2/c\":\" !#$%#% #!$#$!& %&! &%$&*,-()-)*-,(-(,+*)+,*+)(+\",\"P 4/m 21/b 2/m\":\" !#$%#% #!$#*)&(,&)(&,*&$%& !&!$&% &(,#*)#,*#)(#\",\"P 4/m 21/n 2/c\":\" !#$%#% #!$#*)-(,-)(-,*-$%& !&!$&% &(,+*)+,*+)(+\",\"P 4/n 21/m 2/m\":\" !#$%#,(#)*#*)&(,&! &%$&*,&()&!$&% & %#$!#,*#)(#\",\"P 4/n 2/c 2/c\":\" !#$%#,(#)*#*)-(,-! -%$-*,&()&!$&% & %+$!+,*+)(+\",\"P 42/m 2/m 2/c\":\" !#$%#% +!$+$!& %&! -%$-$%& !&!$-% - %#$!#%$+! +\",\"P 42/m 2/c 2/m\":\" !#$%#% +!$+$!- %-! &%$&$%& !&!$-% - %+$!+%$#! #\",\"P 42/n 2/b 2/c\":\" !#$%#,(+)*+$!- %-)(&,*&*,-()-!$&% &(,#*)#%$+! +\",\"P 42/n 2/n 2/m\":\" !#$%#,(+)*+$!& %&)(-,*-*,-()-!$&% &(,+*)+%$#! #\",\"P 42/m 21/b 2/c\":\" !#$%#% +!$+*)&(,&)(-,*-$%& !&!$-% -(,#*)#,*+)(+\",\"P 42/m 21/n 2/m\":\" !#$%#,./'*/*'-.,-! &%$&$%& !&'*-,.-.,/*'/%$#! #\",\"P 42/n 21/m 2/c\":\" !#$%#,(+)*+*)-(,-! &%$&*,-()-!$&% & %#$!#,*+)(+\",\"P 42/n 21/c 2/m\":\" !#$%#,(+)*+*)&(,&! -%$-*,-()-!$&% & %+$!+,*#)(#\",\"I 4/m 2/m 2/m\":\" !#$%#% #!$#$!& %&! &%$&$%& !&!$&% & %#$!#%$#! #()+*,+,(+)*+*)-(,-)(-,*-*,-()-)*-,(-(,+*)+,*+)(+\",\"I 4/m 2/c 2/m\":\" !#$%#% #!$#$!- %-! -%$-$%& !&!$&% & %+$!+%$+! +()+*,+,(+)*+*)&(,&)(&,*&*,-()-)*-,(-(,#*)#,*#)(#\",\"I 41/a 2/m 2/d\":\" !#*,+%(5)$9*!> ,=)(-%$&$,=(!>!$&,(-(,+$!#,$9!(5()+$%#, 9!*5$)=(%>! &,*-*%> )=)*-% & %#*)+%*5) 9\",\"I 41/a 2/c 2/d\":\" !#*,+%(5)$9*!= ,>)(&%$-$,=(!>!$&,(-(,#$!+,$5!(9()+$%#, 9!*5$)>(%=! -,*&*%> )=)*-% & %+*)#%*9) 5\",\"P 3\":\" !#%?#@$#\",\"P 31\":\" !#%?A@$B\",\"P 32\":\" !#%?B@$A\",\"H 3\":\" !#%?#@$#CDAEFAGHAIJBKLBMNB\",\"R 3\":\" !## !!# \",\"P -3\":\" !#%?#@$#$%&!@&? &\",\"H -3\":\" !#%?#@$#$%&!@&? &OPQRSQTUQVWXYZX[]X]Y^W[^ZV^UR_PT_SO_\",\"R -3\":\" !## !!# $%&&$%%&$\",\"P 3 1 2\":\" !#%?#@$#%$&@!& ?&\",\"P 3 2 1\":\" !#%?#@$#! &?%&$@&\",\"P 31 1 2\":\" !#%?Q@$^%$_@!X ?&\",\"P 31 2 1\":\" !#%?A@$B! &?%_$@X\",\"P 32 1 2\":\" !#%?^@$Q%$X@!_ ?&\",\"P 32 2 1\":\" !#%?B@$A! &?%X$@_\",\"H 3 2\":\" !#%?#@$#! &?%&$@&OPQRSQTUQY]X[WXVZX]Y^W[^ZV^PO_SR_UT_\",\"R 3 2\":\" !## !!# %$&$&%&%$\",\"P 3 m 1\":\" !#%?#@$#%$#@!# ?#\",\"P 3 1 m\":\" !#%?#@$#! #?%#$@#\",\"P 3 c 1\":\" !#%?#@$#%$+@!+ ?+\",\"P 3 1 c\":\" !#%?#@$#! +?%+$@+\",\"H 3 m\":\" !#%?#@$#%$#@!# ?#OPQRSQTUQRUQTPQOSQ]Y^W[^ZV^WV^ZY^][^\",\"R 3 m\":\" !## !!# ! # #!#! \",\"H 3 c\":\" !#%?#@$#%$+@!+ ?+OPQRSQTUQRU`TP`OS`]Y^W[^ZV^WVaZYa][a\",\"R 3 c\":\" !## !!# '././'/'.\",\"P -3 1 2/m\":\" !#%?#@$#%$&@!& ?&$%&!@&? &! #?%#$@#\",\"P -3 1 2/c\":\" !#%?#@$#%$-@!- ?-$%&!@&? &! +?%+$@+\",\"P -3 2/m 1\":\" !#%?#@$#! &?%&$@&$%&!@&? &%$#@!# ?#\",\"P -3 2/c 1\":\" !#%?#@$#! -?%-$@-$%&!@&? &%$+@!+ ?+\",\"H -3 2/m\":\" !#%?#@$#! &?%&$@&$%&!@&? &%$#@!# ?#OPQRSQTUQY]X[WXVZXVWXYZX[]XRUQTPQOSQ]Y^W[^ZV^PO_SR_UT_UR_PT_SO_WV^ZY^][^\",\"R -3 2/m\":\" !## !!# %$&$&%&%$$%&&$%%&$! # #!#! \",\"H -3 2/c\":\" !#%?#@$#! -?%-$@-$%&!@&? &%$+@!+ ?+OPQRSQTUQY]b[WbVZbVWXYZX[]XRU`TP`OS`]Y^W[^ZV^POcSRcUTcUR_PT_SO_WVaZYa][a\",\"R -3 2/c\":\" !## !!# 102021210$%&&$%%&$'././'/'.\",\"P 6\":\" !#%?#@$#$%#!@#? #\",\"P 61\":\" !#%?A@$B$%/!@d? e\",\"P 65\":\" !#%?B@$A$%/!@e? d\",\"P 62\":\" !#%?^@$Q$%#!@^? Q\",\"P 64\":\" !#%?Q@$^$%#!@Q? ^\",\"P 63\":\" !#%?#@$#$%+!@+? +\",\"P -6\":\" !#%?#@$# !&%?&@$&\",\"P 6/m\":\" !#%?#@$#$%#!@#? #$%&!@&? & !&%?&@$&\",\"P 63/m\":\" !#%?#@$#$%+!@+? +$%&!@&? & !-%?-@$-\",\"P 6 2 2\":\" !#%?#@$#$%#!@#? #! &?%&$@&%$&@!& ?&\",\"P 61 2 2\":\" !#%?Q@$^$%+!@`? a! X?%&$@_%$b@!- ?c\",\"P 65 2 2\":\" !#%?^@$Q$%+!@a? `! _?%&$@X%$c@!- ?b\",\"P 62 2 2\":\" !#%?^@$Q$%#!@^? Q! _?%&$@X%$_@!& ?X\",\"P 64 2 2\":\" !#%?Q@$^$%#!@Q? ^! X?%&$@_%$X@!& ?_\",\"P 63 2 2\":\" !#%?#@$#$%+!@+? +! &?%&$@&%$-@!- ?-\",\"P 6 m m\":\" !#%?#@$#$%#!@#? #%$#@!# ?#! #?%#$@#\",\"P 6 c c\":\" !#%?#@$#$%#!@#? #%$+@!+ ?+! +?%+$@+\",\"P 63 c m\":\" !#%?#@$#$%+!@+? +%$+@!+ ?+! #?%#$@#\",\"P 63 m c\":\" !#%?#@$#$%+!@+? +%$#@!# ?#! +?%+$@+\",\"P -6 m 2\":\" !#%?#@$# !&%?&@$&%$#@!# ?#%$&@!& ?&\",\"P -6 c 2\":\" !#%?#@$# !-%?-@$-%$+@!+ ?+%$&@!& ?&\",\"P -6 2 m\":\" !#%?#@$# !&%?&@$&! &?%&$@&! #?%#$@#\",\"P -6 2 c\":\" !#%?#@$# !-%?-@$-! &?%&$@&! +?%+$@+\",\"P 6/m 2/m 2/m\":\" !#%?#@$#$%#!@#? #! &?%&$@&%$&@!& ?&$%&!@&? & !&@$&%?&%$#@!# ?#! #?%#$@#\",\"P 6/m 2/c 2/c\":\" !#%?#@$#$%#!@#? #! -?%-$@-%$-@!- ?-$%&!@&? & !&@$&%?&%$+@!+ ?+! +?%+$@+\",\n\"P 63/m 2/c 2/m\":\" !#%?#@$#$%+!@+? +! -?%-$@-%$&@!& ?&$%&!@&? & !-@$-%?-%$+@!+ ?+! #?%#$@#\",\"P 63/m 2/m 2/c\":\" !#%?#@$#$%+!@+? +! &?%&$@&%$-@!- ?-$%&!@&? & !-@$-%?-%$#@!# ?#! +?%+$@+\",\"P 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& \",\"F 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- \",\"I 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-(\",\"P 21 3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(\",\"I 21 3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- \",\"P 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$\",\"P 2/n -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& *,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*\",\"F 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$ )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-($,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(*%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- *,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$\",\"F 2/d -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& 64=37=345675=64=375345674=67=3453756 )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(68>3:>3896:9=<8=;:5;85<:4><7>;49;79<(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(<4>;7>;49<79>68>3:93896:8=<:=;85;:5<()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- <8=;:=;8f<:f><4>;79;49<78>6:>3893:96\",\"I 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-(*,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*\",\"P 21/a -3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&($%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*\",\"I 21/a -3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&($%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*()+$,#*g& %-+()#$,&*!- %)+(,#$!&*%- *,- )&(%#$!+-*,& )#(%+$!,-*)& %#(!+$\",\"P 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$\",\"P 42 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*\",\"F 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$ )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(-%*-!*+%(+ +,$+)$-, -)#)*#,(&)(&,*(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() -,$-)$+, +(#,*#)*&,(&)+!*+%(-!(-%*()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(&,*&)*#,(#(+%*+!*-%(-!+)$+, -) -,$\",\"F 41 3 2\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=46 )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<(!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>86\",\"I 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*\",\"P 43 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(7;>46=:<5839398<5:6=4;>75:<983>7;=46\",\"P 41 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<\",\"I 41 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- 7;>46=:<5839398<5:6=4;>75:<983>7;=46\",\"P -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% \",\"F -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(+%*+!*-%(- +)$+,$-) -,#)(#,*&)*&,((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() +,$+)$-, -(#)*#,*&)(&,+!(+%*-!*-%(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(#,*#)*&,(&(+!*+%*-!(-%+) +,$-)$-, \",\"I -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,(\",\"P -4 3 n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,(\",\"F -4 3 c\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,( )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-() #,$#)$&, &(#!*#%*&!(&%+! +%$-!$-% (!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(!(#%*#!*&%(& +!$+%$-! -%#) #,$&)$&, ()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- ! +%$+!$-% - #)$#,$&) &,#!(#%*&!*&%(\",\"I -4 3 d\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(7354<9:6>8;=357<946>:;=857394<>:6=8;()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- :;98657<=43>;9:658<=73>49:;586=7<>43\",\"P 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! \",\"P 4/n -3 2/n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$*,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"P 42/m -3 2/n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"P 42/n -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,**,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! \",\"F 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(-%*-!*+%(+ +,$+)$-, -)#)*#,(&)(&,*$,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*%*+!(+%(-!*-$-) -, +)$+,&,(&)*#,*#)((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() -,$-)$+, +(#,*#)*&,(&)+!*+%(-!(-%**%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*,$+) +, -)$-*&)(&,(#)*#,-%(-!*+%*+!(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(&,*&)*#,(#(+%*+!*-%(-!+)$+, -) -,$*,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$,*#)(#,(&)*&*-!(-%(+!*+%-, -)$+,$+) \",\"F 4/m -3 2/c\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)( )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-() &,$&)$#, #(#%*#!*&%(&!+!$+% -! -%$$,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*,$#) #, &)$&*&!(&%(#!*#%-% -!$+%$+! (!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(!(&%*&!*#%(# +%$+!$-% -!#)$#, &) &,$*%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*%*#!(#%(&!*&$-! -% +!$+%&, &)$#,$#) ()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- ! -%$-!$+% + #,$#)$&, &)#!*#%(&!(&%**,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$%$+! +% -!$-$&) &, #)$#,&%(&!*#%*#!(\",\"F 41/d -3 2/m\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=4664=3:>;85<79=64>3:5;89<74=6:>385;79<,$+! #%(-)*&*&)(-% #!$+,-%(&)*+,$#! )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<68>37=;49<:5=<8>;753496:4><:=;893756,*#!(+% &)$-*-!(&, +)$#%-, &!$+%*#)((!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<<4>;:=389675>68=379;45<:8=<7>;453:96%$#) +,(&!*-$&! -,(#)*+%&% -)$#,*+!(()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>86<8=;7>3456:9><4=;:9385678>67=349;:5<%*+)(#, -!$&$-) &%(+!*#,&,(-!*#%$+) \",\"F 41/d -3 2/c\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=46<8>;7=3496:5><8=;793456:8><7=;493:56%*#)(+, &!$-$-! &,(+)*#%&, -!$#%*+)( )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<<4=;:>385679>64=3:9;85<78=67>345;:9<%$+) #,(-!*&$&) -%(#!*+,&%(-)*#,$+! (!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<68=37>;45<:9=<4>;:5389674>6:=389;75<,*+!(#% -)$&*-)(&% +!$#,-,(&!*+%$#) ()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>8664>3:=;89<75=68>375;49<:4=<:>;853796,$#! +%(&)*-*&!(-, #)$+%-% &)$+,*#!(\",\"I 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,**,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"I 41/a -3 2/d\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<$%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*4<97358;=:6>6>:;=8357<94=8;>:694<573()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- 7;>46=:<5839398<5:6=4;>75:<983>7;=46*,- )&(%#$!+-*,& )#(%+$!,-*)& %#(!+$865:;943>7<=<=73>4;9:658>43=7<5869:;\",\"P 1 1 2\":\" !#$%#\",\"P 1 1 21\":\" !#$%+\",\"B 1 1 2\":\" !#$%#(g+*%+\",\"A 1 2 1\":\" !#$!& )+$)-\",\"C 1 21 1\":\" !#$)&()#*!&\",\"I 1 2 1\":\" !#$!&.'/0'2\",\"I 1 21 1\":\" !#$)&.'/0!-\",\"P 1 1 m\":\" !# !&\",\"P 1 1 b\":\" !# )&\",\"B 1 1 m\":\" !# !&(!+(!-\",\"B 1 1 b\":\" !# )&(!+()-\",\"P 1 1 2/m\":\" !# !&$%#$%&\",\"P 1 1 21/m\":\" !#$%+$%& !-\",\"B 1 1 2/m\":\" !# !&$%#$%&(!+(!-*%+*%-\",\"P 1 1 2/b\":\" !#$,#$%& )&\",\"P 1 1 21/b\":\" !#$%&$,+ )-\",\"B 1 1 2/b\":\" !#$,#$%& )&(!+*,+*%-()-\",\"P 21 2 2\":\" !#$!&(%&*%#\",\"P 2 21 2\":\" !# ,&$)&$%#\",\"P 21 21 2 (a)\":\" !#*,#.%&$'&\",\"P 21 2 21\":\" !#$!&(%-*%+\",\"P 2 21 21\":\" !# %&$)-$,+\",\"C 2 2 21a)\":\" !#*%+(,&$)-()#$,+ %&*!-\",\"C 2 2 2a\":\" !#*,#.%&$'&()#$%# ,&*!&\",\"F 2 2 2a\":\" !#*,#.%&$'& '/*%/.12$!2.!/$,/ %20'2.'#$%# 1&0!&\",\"I 2 2 2a\":\" !#*,#.%&$'&()+$%+*!- ,-\",\"P 21/m 21/m 2/n a\":\" !#*,#$)&(%&$%&.'& ,#*!#\",\"P 42 21 2a\":\" !#*,#%.+'$+$'&.%&! -,*-\",\"I 2 3a\":\" !#*,#.%&$'&!# ,- '&$%/$# !-*!/$%&.%()+$%+ ,-*!-)+(%&(!-*,#*+()&$)#*,- ,\"};Wo.prototype={constructor:Wo,type:\"Assembly\",addPart:function(t,e){var i=new Xo(t,e);return this.partList.push(i),i},getAtomCount:function(t){var e=0;return this.partList.forEach(function(i){e+=i.getAtomCount(t)}),e},getInstanceCount:function(){var t=0;return this.partList.forEach(function(e){t+=e.matrixList.length}),t},isIdentity:function(t){if(1!==this.partList.length)return!1;var e=this.partList[0];if(1!==e.matrixList.length)return!1;var i=new O;if(!i.equals(e.matrixList[0]))return!1;var n=[];return t.eachChain(function(t){n.push(t.chainname)}),n=x(n),e.chainList.length===n.length},getBoundingBox:function(t){var e=new Et;return this.partList.forEach(function(i){var n=i.getBoundingBox(t);e.expandByPoint(n.min),e.expandByPoint(n.max)}),e},getSelection:function(){var t=[];return this.partList.forEach(function(e){t=t.concat(e.chainList)}),Ho(t)}},Xo.prototype={constructor:Xo,type:\"AssemblyPart\",getAtomCount:function(t){var e=0,i=this.chainList;return t.eachChain(function(t){(0===i.length||i.includes(t.chainname))&&(e+=t.atomCount)}),this.matrixList.length*e},getBoundingBox:function(t){var e=new Et,i=new Et,n=this.getSelection(),r=t.getBoundingBox(n);return this.matrixList.forEach(function(t){i.copy(r).applyMatrix4(t),e.expandByPoint(i.min),e.expandByPoint(i.max)}),e},getSelection:function(){return Ho(this.chainList)},getView:function(t){var e=this.getSelection();return e?t.getView(e):t},getInstanceList:function(){for(var t=[],e=0,i=this.matrixList.length;e=t.residueCount)){a.index=o+h,s.index=o+h+l,c.index=a.traceAtomIndex,u.index=s.traceAtomIndex;var d=c.distanceTo(u);if(Math.abs(d-i[l-2])>n)return!1}return!0},i=function(t,i){var n=[5.45,5.18,6.37],r=2.1;return e(t,i,n,r)},n=function(t,i){var n=[6.1,10.4,13],r=1.42;return e(t,i,n,r)},r=function(t){for(var e=t.residueStore,r=t.residueIndexStart,o=0,a=t.residueCount;o1&&a.bending[u]=3&&t.indexOf(n[0])!==-1?n[0]:\"\"}}();na.prototype={constructor:na,type:\"AtomType\",atomname:void 0,element:void 0,vdw:void 0,covalent:void 0},oa.prototype={constructor:oa,type:\"ResidueType\",resname:void 0,atomTypeIdList:void 0,atomCount:void 0,getBackboneIndexList:function(){var t,e=[];switch(this.moleculeType){case um:t=jm;break;case hm:case lm:t=$m;break;default:return e}for(var i=this.structure.atomMap,n=this.atomTypeIdList,r=0,o=this.atomCount;r=2?t(l,e[l],a):i[l]=2;else if(1===i[l]&&c&&c!=l){var d=[l];n[l]=1,r.push(d);for(var f=o.length-1;f>=0;--f){var p=o[f];if(p===l)break;d.push(p),n[p]=1}}}i[a]=2,o.pop()}for(var e=this.getBondGraph(),i=new Int8Array(this.atomCount),n=new Int8Array(this.atomCount),r=[],o=[],a=0;a1){for(e=0;e1){for(e=0;e0){var e=this.residueStore.atomOffset[this.residueIndex];return t.includes(this.index-e)}return!1},isPolymer:function(){if(this.structure.entityList.length>0)return this.entity.isPolymer();var t=this.residueType.moleculeType;return t===um||t===hm||t===lm},isSidechain:function(){return this.isPolymer()&&!this.isBackbone()},isCg:function(){var t=this.residueType.backboneType;return t===vm||t===ym||t===bm},isHetero:function(){return 1===this.residueType.hetero},isProtein:function(){return this.residueType.moleculeType===um},isNucleic:function(){var t=this.residueType.moleculeType;return t===hm||t===lm},isRna:function(){return this.residueType.moleculeType===hm},isDna:function(){return this.residueType.moleculeType===lm},isWater:function(){return this.residueType.moleculeType===sm},isIon:function(){return this.residueType.moleculeType===cm},isSaccharide:function(){return this.residueType.moleculeType===dm},isRing:function(){var t=this.residueType.getRings().flags;return 1===t[this.index-this.residueAtomOffset]},distanceTo:function(t){var e=this.atomStore,i=t.atomStore,n=this.index,r=t.index,o=e.x[n]-i.x[r],a=e.y[n]-i.y[r],s=e.z[n]-i.z[r],c=o*o+a*a+s*s;return Math.sqrt(c)},connectedTo:function(t){var e=this.atomStore,i=t.atomStore,n=this.index,r=t.index;if(e.altloc&&i.altloc){var o=e.altloc[n],a=i.altloc[r];if(0!==o&&0!==a&&32!==o&&32!==a&&o!==a)return!1}var s=e.x[n]-i.x[r],c=e.y[n]-i.y[r],u=e.z[n]-i.z[r],h=s*s+c*c+u*u;if(h<64&&this.isCg())return!0;if(isNaN(h))return!1;var l=this.covalent+t.covalent,d=l+.3,f=l-.5;return hf*f},positionFromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e+0],this.y=t[e+1],this.z=t[e+2],this},positionToArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.index,n=this.atomStore;return t[e+0]=n.x[i],t[e+1]=n.y[i],t[e+2]=n.z[i],t},positionToVector3:function(t){return void 0===t&&(t=new N),t.x=this.x,t.y=this.y,t.z=this.z,t},positionFromVector3:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},getResidueBonds:function(t){var e,i,n,r,o=this.residueAtomOffset,a=this.index-this.residueAtomOffset,s=this.residueType.getBonds(),c=s.atomIndices1,u=s.atomIndices2;for(t||(r=[]),e=c.indexOf(a);e!==-1;){if(n=u[e]+o,t)return n;r.push(n),e=c.indexOf(a,e+1)}for(i=u.indexOf(a);i!==-1;){if(n=c[i]+o,t)return n;r.push(n),i=u.indexOf(a,i+1)}return r},qualifiedName:function(t){var e=\"\";return this.resname&&!t&&(e+=\"[\"+this.resname+\"]\"),void 0!==this.resno&&(e+=this.resno),this.inscode&&(e+=\"^\"+this.inscode),this.chainname&&(e+=\":\"+this.chainname),this.atomname&&(e+=\".\"+this.atomname),this.altloc&&(e+=\"%\"+this.altloc),this.structure.modelStore.count>1&&(e+=\"/\"+this.modelIndex),e},clone:function(){return new this.constructor(this.structure,this.index)},toObject:function(){return{index:this.index,residueIndex:this.residueIndex,atomno:this.atomno,resname:this.resname,x:this.x,y:this.y,z:this.z,element:this.element,chainname:this.chainname,resno:this.resno,serial:this.serial,vdw:this.vdw,covalent:this.covalent,hetero:this.hetero,bfactor:this.bfactor,altloc:this.altloc,atomname:this.atomname,modelindex:this.modelindex}}},ua.prototype={constructor:ua,type:\"ResidueProxy\",structure:void 0,chainStore:void 0,residueStore:void 0,atomStore:void 0,index:void 0,get entity(){return this.structure.entityList[this.entityIndex]},get entityIndex(){return this.chainStore.entityIndex[this.chainIndex]},get chain(){return this.structure.getChainProxy(this.chainIndex)},get chainIndex(){return this.residueStore.chainIndex[this.index]},set chainIndex(t){this.residueStore.chainIndex[this.index]=t},get atomOffset(){return this.residueStore.atomOffset[this.index]},set atomOffset(t){this.residueStore.atomOffset[this.index]=t},get atomCount(){return this.residueStore.atomCount[this.index]},set atomCount(t){this.residueStore.atomCount[this.index]=t},get atomEnd(){return this.atomOffset+this.atomCount-1},get modelIndex(){return this.chainStore.modelIndex[this.chainIndex]},get chainname(){return this.chainStore.getChainname(this.chainIndex)},get chainid(){return this.chainStore.getChainid(this.chainIndex)},get resno(){return this.residueStore.resno[this.index]},set resno(t){this.residueStore.resno[this.index]=t},get sstruc(){return this.residueStore.getSstruc(this.index)},set sstruc(t){this.residueStore.setSstruc(this.index,t)},get inscode(){return this.residueStore.getInscode(this.index)},set inscode(t){this.residueStore.getInscode(this.index,t)},get residueType(){return this.residueMap.get(this.residueStore.residueTypeId[this.index])},get resname(){return this.residueType.resname},get hetero(){return this.residueType.hetero},get moleculeType(){return this.residueType.moleculeType},get backboneType(){return this.residueType.backboneType},get backboneStartType(){return this.residueType.backboneStartType},get backboneEndType(){return this.residueType.backboneEndType},get traceAtomIndex(){return this.residueType.traceAtomIndex+this.atomOffset},get direction1AtomIndex(){return this.residueType.direction1AtomIndex+this.atomOffset},get direction2AtomIndex(){return this.residueType.direction2AtomIndex+this.atomOffset},get backboneStartAtomIndex(){return this.residueType.backboneStartAtomIndex+this.atomOffset},get backboneEndAtomIndex(){return this.residueType.backboneEndAtomIndex+this.atomOffset},get rungEndAtomIndex(){return this.residueType.rungEndAtomIndex+this.atomOffset},eachAtom:function(t,e){var i,n=this.atomCount,r=this.atomOffset,o=this.structure._ap,a=r+n;if(e&&e.atomOnlyTest){var s=e.atomOnlyTest;for(i=r;i0)return this.entity.isPolymer();var t=this.residueType.moleculeType;return t===um||t===hm||t===lm},isHetero:function(){return 1===this.residueType.hetero},isWater:function(){return this.residueType.moleculeType===sm},isIon:function(){return this.residueType.moleculeType===cm},isSaccharide:function(){return this.residueType.moleculeType===dm},getAtomType:function(t){return this.atomMap.get(this.atomStore.atomTypeId[t])},getResname1:function(){return Om[this.resname.toUpperCase()]||\"X\"},getBackboneType:function(t){switch(t){case-1:return this.residueType.backboneStartType;case 1:return this.residueType.backboneEndType;default:return this.residueType.backboneType}},getAtomIndexByName:function(t){var e=this.residueType.getAtomIndexByName(t);return void 0!==e&&(e+=this.atomOffset),e},getAtomByName:function(t){return this.residueType.getAtomByName(t)},hasAtomWithName:function(t){return this.residueType.hasAtomWithName(t)},getAtomnameList:function(){console.warn(\"getAtomnameList - might be expensive\");for(var t=this.atomCount,e=this.atomOffset,i=new Array(t),n=0;n=e){if(void 0===t&&(t=this.structure.getResidueProxy()),t.index=i,t.connectedTo(this))return t}else if(i===e-1){void 0===t&&(t=this.structure.getResidueProxy());var n=this.chainStore.residueCount[this.chainIndex];if(t.index=e+n-1,t.connectedTo(this))return t}},getBonds:function(){return this.residueType.getBonds(this)},getRings:function(){return this.residueType.getRings()},qualifiedName:function(t){var e=\"\";return this.resname&&!t&&(e+=\"[\"+this.resname+\"]\"),void 0!==this.resno&&(e+=this.resno),this.inscode&&(e+=\"^\"+this.inscode),this.chain&&(e+=\":\"+this.chainname),e+=\"/\"+this.modelIndex},clone:function(){return new this.constructor(this.structure,this.index)},toObject:function(){return{index:this.index,chainIndex:this.chainIndex,atomOffset:this.atomOffset,atomCount:this.atomCount,resno:this.resno,resname:this.resname,sstruc:this.sstruc}}},ha.prototype={constructor:ha,type:\"Polymer\",structure:void 0,residueStore:void 0,atomStore:void 0,residueIndexStart:void 0,residueIndexEnd:void 0,residueCount:void 0,get chainIndex(){return this.residueStore.chainIndex[this.residueIndexStart]},get modelIndex(){return this.chainStore.modelIndex[this.chainIndex]},get chainname(){return this.chainStore.getChainname(this.chainIndex)},isProtein:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isProtein()},isCg:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isCg()},isNucleic:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isNucleic()},getMoleculeType:function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.moleculeType},getBackboneType:function(t){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.getBackboneType(t)},getAtomIndexByType:function(t,e){this.isCyclic?t===-1?t=this.residueCount-1:t===this.residueCount&&(t=0):(t!==-1||this.isPrevConnected||(t+=1),t!==this.residueCount||this.isNextNextConnected||(t-=1));var i=this.__residueProxy;i.index=this.residueIndexStart+t;var n;switch(e){case\"trace\":n=i.traceAtomIndex;break;case\"direction1\":n=i.direction1AtomIndex;break;case\"direction2\":n=i.direction2AtomIndex;break;default:var r=i.getAtomByName(e);n=r?r.index:void 0}return n},eachAtom:function(t,e){this.eachResidue(function(i){i.eachAtom(t,e)},e)},eachAtomN:function(t,e,i){var n,r=this.residueCount,o=new Array(t);for(n=0;n=n&&i=t&&e.apply(this,a)}})}},eachDirectionAtomsN:function(t,e){var i=2*t,n=this.atomOffset,r=this.atomCount,o=n+r;if(!(r=n&&i=n&&r=t&&e.apply(this,a)}},c,u)}},eachResidue:function(t){for(var e=this.structure.getResidueProxy(),i=this.residueCount,n=this.residueIndexStart,r=0;r1&&t(new ha(o,i,u.index)),i=n)):(m!==fm&&u.index-i>1&&t(new ha(o,i,u.index)),i=n)}n-i>1&&this.structure.getResidueProxy(i).backboneStartType&&t(new ha(o,i,n))},qualifiedName:function(){var t=\":\"+this.chainname+\"/\"+this.modelIndex;return t},clone:function(){return new this.constructor(this.structure,this.index)},toObject:function(){return{index:this.index,residueOffset:this.residueOffset,residueCount:this.residueCount,chainname:this.chainname}}},da.prototype={constructor:da,type:\"ModelProxy\",structure:void 0,modelStore:void 0,index:void 0,get chainOffset(){return this.modelStore.chainOffset[this.index]},set chainOffset(t){this.modelStore.chainOffset[this.index]=t},get chainCount(){return this.modelStore.chainCount[this.index]},set chainCount(t){this.modelStore.chainCount[this.index]=t},get residueOffset(){return this.chainStore.residueOffset[this.chainOffset]},get atomOffset(){return this.residueStore.atomOffset[this.residueOffset]},get chainEnd(){return this.chainOffset+this.chainCount-1},get residueEnd(){return this.chainStore.residueOffset[this.chainEnd]+this.chainStore.residueCount[this.chainEnd]-1},get atomEnd(){return this.residueStore.atomOffset[this.residueEnd]+this.residueStore.atomCount[this.residueEnd]-1},get residueCount(){return 0===this.chainCount?0:this.residueEnd-this.residueOffset+1},get atomCount(){return 0===this.residueCount?0:this.atomEnd-this.atomOffset+1},eachAtom:function(t,e){this.eachChain(function(i){i.eachAtom(t,e)},e)},eachResidue:function(t,e){this.eachChain(function(i){i.eachResidue(t,e)},e)},eachPolymer:function(t,e){if(e&&e.chainOnlyTest){var i=e.chainOnlyTest;this.eachChain(function(n){i(n)&&n.eachPolymer(t,e)})}else this.eachChain(function(i){i.eachPolymer(t,e)})},eachChain:function(t,e){var i,n=this.chainCount,r=this.chainOffset,o=this.structure._cp,a=r+n;if(e&&e.test){var s=e.chainOnlyTest;if(s)for(i=r;i1?(R=i.atomRadius(A),O=R*b/(.5*L),_.calculateShiftDir(B),y?(D=2*x*R,B.multiplyScalar(D),B.negate(),z.subVectors(M,A).multiplyScalar(Math.max(.1,D/1.88)),A.positionToArray(o,E),M.positionToArray(a,E),L>=2&&(F.addVectors(A,B).add(z).toArray(o,E+3),F.addVectors(M,B).sub(z).toArray(a,E+3),L>=3&&(F.subVectors(A,B).add(z).toArray(o,E+6),F.subVectors(M,B).sub(z).toArray(a,E+6)))):(D=(x-b)*R,B.multiplyScalar(D),2===L?(F.addVectors(A,B).toArray(o,E),F.subVectors(A,B).toArray(o,E+3),F.addVectors(M,B).toArray(a,E),F.subVectors(M,B).toArray(a,E+3)):3===L?(A.positionToArray(o,E),F.addVectors(A,B).toArray(o,E+3),F.subVectors(A,B).toArray(o,E+6),M.positionToArray(a,E),F.addVectors(M,B).toArray(a,E+3),F.subVectors(M,B).toArray(a,E+6)):(A.positionToArray(o,E),M.positionToArray(a,E)))):(A.positionToArray(o,E),M.positionToArray(a,E))),s&&(n.bondColorToArray(_,1,s,E),n.bondColorToArray(_,0,c,E),v&&L>1))for(T=1;T1))for(T=1;T1))for(O=l[k]*b/(y?1:.5*L),T=y?1:0;T1))for(O=f[k]*b/(y?1:.5*L),T=y?1:0;Ta&&(a=e),i>s&&(s=i),u>c&&(c=u)},e),i.min.set(n,r,o),i.max.set(a,s,c),t.Debug&&Pv.timeEnd(\"getBoundingBox\"),i},getPrincipalAxes:function(e){t.Debug&&Pv.time(\"getPrincipalAxes\");var i=0,n=new co(3,this.atomCount),r=n.data;return this.eachAtom(function(t){r[i+0]=t.x,r[i+1]=t.y,r[i+2]=t.z,i+=3},e),t.Debug&&Pv.timeEnd(\"getPrincipalAxes\"),_o(n)},atomCenter:function(t){return t?this.getBoundingBox(t).center():this.center.clone()},getSequence:function(t){var e=[],i=this.getResidueProxy();return this.eachAtom(function(t){i.index=t.residueIndex,t.index===i.traceAtomIndex&&e.push(i.getResname1())},t),e},getAtomIndices:function(t){var e;if(t&&t.string)e=[],this.eachAtom(function(t){e.push(t.index)},t);else{var i={what:{index:!0}};e=this.getAtomData(i).index}return e},getChainnameCount:function(t){var e=new Set;return this.eachChain(function(t){t.residueCount&&e.add(t.chainname)},t),e.size},updatePosition:function(t){var e=0;this.eachAtom(function(i){i.positionFromArray(t,e),e+=3})},refreshPosition:function(){this.getBoundingBox(void 0,this.boundingBox),this.boundingBox.center(this.center),this.spatialHash=new Lo(this.atomStore,this.boundingBox)},dispose:function(){this.frames&&(this.frames.length=0),this.boxes&&(this.boxes.length=0),this.bondStore.dispose(),this.backboneBondStore.dispose(),this.rungBondStore.dispose(),this.atomStore.dispose(),this.residueStore.dispose(),this.chainStore.dispose(),this.modelStore.dispose(),delete this.bondStore,delete this.atomStore,delete this.residueStore,delete this.chainStore,delete this.modelStore,delete this.frames,delete this.boxes,delete this.cif,delete this.bondSet,delete this.atomSet}},pa.prototype={constructor:pa,type:\"Surface\",set:function(t,e,i,n,r,o){this.position=t,this.index=e,this.normal=i,this.color=n,this.atomindex=r,this.size=t.length/3,this.contour=o},fromGeometry:function(e){t.Debug&&Pv.time(\"GeometrySurface.fromGeometry\");var i;e instanceof ae?(e.computeVertexNormals(!0),i=(new ue).fromGeometry(e)):i=e instanceof ue?e:e[0],i.boundingBox||i.computeBoundingBox(),this.center.copy(i.boundingBox.center()),this.boundingBox.copy(i.boundingBox);var n,r,o,a;if(i instanceof ue){var s=i.attributes,c=!!s.normal&&s.normal.array;(!c||0===c[0]&&0===c[1]&&0===c[2])&&i.computeVertexNormals(),n=s.position.array,o=s.index?s.index.array:null,a=s.normal.array}this.set(n,o,a,r,void 0),t.Debug&&Pv.timeEnd(\"GeometrySurface.setGeometry\")},getPosition:function(){return this.position},getColor:function(t){var e,i,n,r=t||{},o=this.size;if(\"volume\"===r.scheme){var a=new N,s=this.position;for(n=Ev.getScheme(r),i=new Float32Array(3*o),e=0;e65535?Uint32Array:Uint16Array;return new m(o)}return this.index},getAtomindex:function(){return this.atomindex},dispose:function(){}},ma.prototype.constructor=ma,ga.prototype.constructor=ga,xa.__deps=[va,ya,ba],wa.__deps=[_a],_a.__deps=[Kr,Zr,Qr,qr],Aa.__deps=[Dn,no,ro,to,eo,oo,ao,Kr,so,So,Mo,Co,Po,To],Ma.__deps=[wa,_a,xa,Wr,Xr,Eo,Io],Tv.add(\"surf\",function(t,e){var i=t.data.args,n=t.data.params;if(i&&(self.volsurf=new Ma(i[0],i[1],i[2],i[3],i[4])),n){var r=self.volsurf.getSurface(n.isolevel,n.smooth,n.box,n.matrix,n.contour),o=[r.position.buffer,r.index.buffer];r.normal&&o.push(r.normal.buffer),r.atomindex&&o.push(r.atomindex.buffer),e({sd:r,p:n},o)}},[Ma]),Pa.prototype={constructor:Pa,type:\"Volume\",setData:function(t,e,i,n,r){this.nx=e||1,this.ny=i||1,this.nz=n||1,this.data=t||new Float32Array(1),this.__data=this.data,this.setDataAtomindex(r),delete this.mc,delete this.__isolevel,delete this.__smooth,delete this.__minValue,delete this.__maxValue,delete this.__dataPositionBuffer,delete this.__dataPosition,delete this.__dataBuffer,delete this.__dataMin,delete this.__dataMax,delete this.__dataMean,delete this.__dataRms,this.worker&&this.worker.terminate()},setMatrix:function(t){this.matrix.copy(t);var e=this.boundingBox,i=this.center,n=this.nx-1,r=this.ny-1,o=this.nz-1;e.makeEmpty(),e.expandByPoint(i.set(n,r,o)),e.expandByPoint(i.set(n,r,0)),e.expandByPoint(i.set(n,0,o)),e.expandByPoint(i.set(n,0,0)),e.expandByPoint(i.set(0,r,o)),e.expandByPoint(i.set(0,0,o)),e.expandByPoint(i.set(0,r,0)),e.expandByPoint(i.set(0,0,0)),e.applyMatrix4(this.matrix),e.center(this.center);var a=this.matrix.elements,s=new N(a[0],a[1],a[2]),c=new N(a[4],a[5],a[6]),u=new N(a[8],a[9],a[10]),h=new N,l=this.normalMatrix.elements;h.crossVectors(c,u),l[0]=h.x,l[1]=h.y,l[2]=h.z,h.crossVectors(u,s),l[3]=h.x,l[4]=h.y,l[5]=h.z,h.crossVectors(s,c),l[6]=h.x,l[7]=h.y,l[8]=h.z,this.inverseMatrix.getInverse(this.matrix)},setDataAtomindex:function(t){this.dataAtomindex=t,this.__dataAtomindex=this.dataAtomindex,delete this.__dataAtomindexBuffer},getBox:function(t,e,i){return i||(i=new Et),i.set(t,t),i.expandByScalar(e),i.applyMatrix4(this.inverseMatrix),i.min.round(),i.max.round(),i},__getBox:function(t,e){if(t&&e){this.__box||(this.__box=new Et);var i=this.getBox(t,e,this.__box);return[i.min.toArray(),i.max.toArray()]}},makeSurface:function(t,e,i){var n=new pa(\"\",\"\",t);return n.info.isolevel=e,n.info.smooth=i,n},getSurface:function(t,e,i,n){t=isNaN(t)?this.getValueForSigma(2):t,e=e||0,void 0===this.volsurf&&(this.volsurf=new Ma(this.__data,this.nx,this.ny,this.nz,this.__dataAtomindex));var r=this.__getBox(i,n),o=this.volsurf.getSurface(t,e,r,this.matrix.elements);return this.makeSurface(o,t,e)},getSurfaceWorker:function(t,e,i,n,r){if(t=isNaN(t)?this.getValueForSigma(2):t,e=e||0,window.Worker){void 0===this.workerPool&&(this.workerPool=new ga(\"surf\",2));var o={},a=this.workerPool.getNextWorker();0===a.postCount&&(o.args=[this.__data,this.nx,this.ny,this.nz,this.__dataAtomindex]),o.params={isolevel:t,smooth:e,box:this.__getBox(i,n),matrix:this.matrix.elements},a.post(o,void 0,function(t){var e=t.data.sd,i=t.data.p;r(this.makeSurface(e,i.isolevel,i.smooth))}.bind(this),function(o){console.warn(\"Volume.getSurfaceWorker error - trying without worker\",o);var a=this.getSurface(t,e,i,n);r(a)}.bind(this))}else{var s=this.getSurface(t,e,i,n);r(s)}},getValueForSigma:function(t){return t=void 0!==t?t:2,this.getDataMean()+t*this.getDataRms()},getSigmaForValue:function(t){return t=void 0!==t?t:0,(t-this.getDataMean())/this.getDataRms()},filterData:function(t,e,i){isNaN(t)&&this.header&&(t=this.header.DMEAN+2*this.header.ARMS),t=void 0===t||isNaN(t)?-(1/0):t,e=void 0!==e?e:1/0,i=i||!1,this.dataPosition||this.makeDataPosition();var n=this.__dataPosition,r=this.__data;if(t!==this.__minValue||e!=this.__maxValue||i!==this.__outside){if(t===-(1/0)&&e===1/0)this.dataPosition=n,this.data=r;else{var o=r.length;this.__dataBuffer||(this.__dataPositionBuffer=new ArrayBuffer(3*o*4),this.__dataBuffer=new ArrayBuffer(4*o));for(var a=new Float32Array(this.__dataPositionBuffer),s=new Float32Array(this.__dataBuffer),c=0,u=0;u=t&&l<=e||i&&(le)){var d=3*c;a[d+0]=n[h+0],a[d+1]=n[h+1],a[d+2]=n[h+2],s[c]=l,c+=1}}this.dataPosition=new Float32Array(this.__dataPositionBuffer,0,3*c),this.data=new Float32Array(this.__dataBuffer,0,c)}this.__minValue=t,this.__maxValue=e,this.__outside=i}},makeDataPosition:function(){for(var t=this.nz,e=this.ny,i=this.nx,n=new Float32Array(i*e*t*3),r=0,o=0;o0&&this.centerPbc){var r=[e[0],e[4],e[8]],o=this.getCircularMean(this.backboneIndices,i,r);Ea(i,o,r)}this.removePbc&&Ia(i,e)}this.indices.length>0&&this.superpose&&this.doSuperpose(i),this.frameCache[t]=i,this.boxCache[t]=e,this.frameCacheSize+=1},setNumframes:function(t){t!==this.numframes&&(this.numframes=t,this.signals.gotNumframes.dispatch(t))},dispose:function(){this.frameCache=[],this._disposed=!0,this.player&&this.player.stop()},setPlayer:function(t){this.player=t,this.signals.playerChanged.dispatch(t)},getPath:function(t,e){Pv.error(\"Trajectory.getPath not implemented\",t,e)}},Ov.add(\"shader/Mesh.vert\",\"#define STANDARD\\nuniform float nearClip;\\nuniform vec3 clipCenter;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\nattribute vec3 pickingColor;\\nvarying vec3 vPickingColor;\\n#elif defined( NOLIGHT )\\nvarying vec3 vColor;\\n#else\\n#include color_pars_vertex\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#endif\\n#include common\\nvoid main(){\\n#if defined( PICKING )\\nvPickingColor = pickingColor;\\n#elif defined( NOLIGHT )\\nvColor = color;\\n#else\\n#include color_vertex\\n#include beginnormal_vertex\\n#include defaultnormal_vertex\\n#ifndef FLAT_SHADED\\nvNormal = normalize( transformedNormal );\\n#endif\\n#endif\\n#include begin_vertex\\n#include project_vertex\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),\nOv.add(\"shader/Mesh.frag\",\"#define STANDARD\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\n#elif defined( NOLIGHT )\\nvarying vec3 vColor;\\n#else\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\n#include bsdfs\\n#include lights_pars\\n#include lights_physical_pars_fragment\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( PICKING )\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#elif defined( NOLIGHT )\\ngl_FragColor = vec4( vColor, opacity );\\n#else\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\n#include normal_flip\\n#include normal_fragment\\n#include dull_interior_fragment\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#include opaque_back_fragment\\n#endif\\n}\"),Oa.prototype={constructor:Oa,parameters:{opaqueBack:{updateShader:!0},dullInterior:{updateShader:!0},side:{updateShader:!0,property:!0},opacity:{uniform:!0},clipNear:{updateShader:!0,property:!0},clipRadius:{updateShader:!0,property:!0,uniform:!0},clipCenter:{uniform:!0},flatShaded:{updateShader:!0},background:{updateShader:!0},linewidth:{property:!0},wireframe:{updateVisibility:!0},roughness:{uniform:!0},metalness:{uniform:!0},diffuse:{uniform:!0}},get transparent(){return this.opacity<1||this.forceTransparent},makeMaterial:function(){var t=Ra(this.side);this.material=new Pt({uniforms:this.uniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:this.transparent,depthWrite:!0,lights:!0,fog:!0,side:t,linewidth:this.linewidth}),this.material.vertexColors=Rh,this.material.extensions.derivatives=this.flatShaded,this.material.extensions.fragDepth=this.impostor,this.material.clipNear=this.clipNear,this.wireframeMaterial=new Pt({uniforms:this.uniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:this.transparent,depthWrite:!0,lights:!1,fog:!0,side:t,linewidth:this.linewidth}),this.wireframeMaterial.vertexColors=Rh,this.wireframeMaterial.clipNear=this.clipNear,this.pickingMaterial=new Pt({uniforms:this.pickingUniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:!1,depthWrite:!0,lights:!1,fog:!1,side:t,linewidth:this.linewidth}),this.pickingMaterial.vertexColors=Rh,this.pickingMaterial.extensions.fragDepth=this.impostor,this.pickingMaterial.clipNear=this.clipNear,this.updateShader()},makeWireframeGeometry:function(){this.makeWireframeIndex();var t=this.geometry,e=this.wireframeIndex,i=new ue;i.attributes=t.attributes,e&&(i.setIndex(new Kt(e,1).setDynamic(this.dynamic)),i.setDrawRange(0,this.wireframeIndexCount)),this.wireframeGeometry=i},makeWireframeIndex:function(){function t(t,i){if(t>i){var n=t;t=i,i=n}var r=e[t];return void 0===r?(e[t]=[i],!0):!r.includes(i)&&(r.push(i),!0)}var e=[];return function(){var i=this.geometry.index;if(this.wireframe){if(i){var n=i.array,r=n.length;this.geometry.drawRange.count!==1/0&&(r=this.geometry.drawRange.count);var o;if(this.wireframeIndex&&this.wireframeIndex.length>2*r)o=this.wireframeIndex;else{var a=this.geometry.attributes.position.count,s=a>65535?Uint32Array:Uint16Array;o=new s(2*r)}var c=0;e.length=0;for(var u=0;uthis.wireframeGeometry.index.array.length)this.wireframeGeometry.setIndex(new Kt(this.wireframeIndex,1).setDynamic(this.dynamic));else{var t=this.wireframeGeometry.getIndex();t.set(this.wireframeIndex),t.needsUpdate=this.wireframeIndexCount>0,t.updateRange.count=this.wireframeIndexCount}this.wireframeGeometry.setDrawRange(0,this.wireframeIndexCount)},getRenderOrder:function(){var t=0;return\"text\"===this.type?t=1:this.transparent&&(t=\"surface\"===this.type?3:2),t},getMesh:function(){var t;return this.material||this.makeMaterial(),this.line?t=new Ve(this.geometry,this.material):this.point?(t=new He(this.geometry,this.material),this.sortParticles&&(t.sortParticles=!0)):t=new Ae(this.geometry,this.material),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},getWireframeMesh:function(){var t;return this.material||this.makeMaterial(),this.wireframeGeometry||this.makeWireframeGeometry(),t=new Ve(this.wireframeGeometry,this.wireframeMaterial),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},getPickingMesh:function(){var t;return this.material||this.makeMaterial(),t=new Ae(this.geometry,this.pickingMaterial),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},getShader:function(t,e){return Pr(t,this.getDefines(e))},getVertexShader:function(t){return this.getShader(this.vertexShader,t)},getFragmentShader:function(t){return this.getShader(this.fragmentShader,t)},getDefines:function(t){var e={};return this.clipNear&&(e.NEAR_CLIP=1),this.clipRadius&&(e.RADIUS_CLIP=1),\"picking\"===t?e.PICKING=1:((\"background\"===t||this.background)&&(e.NOLIGHT=1),this.flatShaded&&(e.FLAT_SHADED=1),this.opaqueBack&&(e.OPAQUE_BACK=1),this.dullInterior&&(e.DULL_INTERIOR=1)),e},getParameters:function(){var t={};for(var e in this.parameters)t[e]=this[e];return t},addUniforms:function(t){this.uniforms=Fd.merge([this.uniforms,t]),this.pickingUniforms=Fd.merge([this.pickingUniforms,t])},addAttributes:function(t){var e={f:1,v2:2,v3:3,c:3};for(var i in t){var n,r=t[i];r.value?(this.attributeSize*e[r.type]!==r.value.length&&Pv.error(\"attribute value has wrong length\",i),n=r.value):n=new Float32Array(this.attributeSize*e[r.type]),this.geometry.addAttribute(i,new Kt(n,e[r.type]).setDynamic(this.dynamic))}},updateRenderOrder:function(){function t(t){t.renderOrder=e}var e=this.getRenderOrder();this.group.children.forEach(t),this.pickingGroup&&this.pickingGroup.children.forEach(t)},updateShader:function(){var t=this.material,e=this.wireframeMaterial,i=this.pickingMaterial;t.vertexShader=this.getVertexShader(),t.fragmentShader=this.getFragmentShader(),t.needsUpdate=!0,e.vertexShader=this.getShader(\"Line.vert\"),e.fragmentShader=this.getShader(\"Line.frag\"),e.needsUpdate=!0,i.vertexShader=this.getVertexShader(\"picking\"),i.fragmentShader=this.getFragmentShader(\"picking\"),i.needsUpdate=!0},setParameters:function(t){if(t){var e=t,i=this.parameters,n={},r={},o=!1,a=!1;for(var s in e)void 0!==e[s]&&void 0!==i[s]&&(this[s]=e[s],i[s].property&&(i[s].property!==!0?n[i[s].property]=e[s]:n[s]=e[s]),i[s].uniform&&(i[s].uniform!==!0?r[i[s].uniform]=e[s]:r[s]=e[s]),i[s].updateShader&&(o=!0),i[s].updateVisibility&&(a=!0),this.dynamic&&\"wireframe\"===s&&e[s]===!0&&this.updateWireframeIndex(),\"flatShaded\"===s&&(this.material.extensions.derivatives=this.flatShaded),\"forceTransparent\"===s&&(n.transparent=this.transparent));this.setProperties(n),this.setUniforms(r),o&&this.updateShader(),a&&this.setVisibility(this.visible)}},setAttributes:function(t){var e=this.geometry,i=e.attributes;for(var n in t){var r=t[n],o=r.length;if(\"index\"===n){var a=e.getIndex();e.setDrawRange(0,1/0),o>a.array.length?e.setIndex(new Kt(r,1).setDynamic(this.dynamic)):(a.set(r),a.needsUpdate=o>0,a.updateRange.count=o,e.setDrawRange(0,o)),this.indexVersion++,this.wireframe&&this.updateWireframeIndex()}else{var s=i[n];o>s.array.length?e.addAttribute(n,new Kt(r,s.itemSize).setDynamic(this.dynamic)):(i[n].set(r),i[n].needsUpdate=o>0,i[n].updateRange.count=o)}}},setUniforms:function(t){if(t){var e=this.material.uniforms,i=this.wireframeMaterial.uniforms,n=this.pickingMaterial.uniforms;for(var r in t)\"opacity\"===r&&this.setProperties({transparent:this.transparent}),void 0!==e[r]&&(e[r].value.isVector3?e[r].value.copy(t[r]):e[r].value.set?e[r].value.set(t[r]):e[r].value=t[r]),void 0!==i[r]&&(i[r].value.isVector3?i[r].value.copy(t[r]):i[r].value.set?i[r].value.set(t[r]):i[r].value=t[r]),void 0!==n[r]&&(n[r].value.isVector3?n[r].value.copy(t[r]):n[r].value.set?n[r].value.set(t[r]):n[r].value=t[r])}},setProperties:function(t){if(t){var e=this.material,i=this.wireframeMaterial,n=this.pickingMaterial;for(var r in t){var o=t[r];\"transparent\"===r?this.updateRenderOrder():\"side\"===r&&(o=Ra(o)),void 0!==e[r]&&(e[r]=o),void 0!==i[r]&&(i[r]=o),void 0!==n[r]&&(n[r]=o)}e.needsUpdate=!0,i.needsUpdate=!0,n.needsUpdate=!0}},setVisibility:function(t){this.visible=t,this.wireframe?(this.group.visible=!1,this.wireframeGroup.visible=t,this.pickable&&(this.pickingGroup.visible=!1)):(this.group.visible=t,this.wireframeGroup.visible=!1,this.pickable&&(this.pickingGroup.visible=t))},dispose:function(){this.material&&this.material.dispose(),this.wireframeMaterial&&this.wireframeMaterial.dispose(),this.pickingMaterial&&this.pickingMaterial.dispose(),this.geometry.dispose(),this.wireframeGeometry&&this.wireframeGeometry.dispose()}},Da.prototype=Object.assign(Object.create(Oa.prototype),{constructor:Da}),za.prototype=Object.assign(Object.create(Da.prototype),{constructor:za,applyPositionTransform:function(){},setAttributes:function(){var t=new O,e=new Lt;return function(i){var n,r,o,a,s,c,u,h,l,d,f,p=this.geometry.attributes;i.position&&(n=i.position,a=this.geoPosition,h=this.meshPosition,c=this.transformedGeoPosition,p.position.needsUpdate=!0),i.color&&(r=i.color,l=this.meshColor,p.color.needsUpdate=!0),i.pickingColor&&(o=i.pickingColor,d=this.meshPickingColor,p.pickingColor.needsUpdate=!0);var m=!(!this.updateNormals||!n),g=!(!this.initNormals||!n);(m||g)&&(s=this.geoNormal,f=this.meshNormal,u=this.transformedGeoNormal,p.normal.needsUpdate=!0);for(var v=this.positionCount,y=this.geoPositionCount,b=0;b 0.0 ){\\ncameraPos = rayDirection * posT + rayOrigin;\\ninterior = true;\\nflag2 = true;\\nreturn false;\\n}else{\\ncameraNormal = normalize( cameraPos - cameraSpherePos );\\n}\\n#else\\nif( calcDepth( cameraPos ) <= 0.0 ){\\ncameraPos = rayDirection * posT + rayOrigin;\\ninterior = true;\\nreturn false;\\n}else{\\ncameraNormal = normalize( cameraPos - cameraSpherePos );\\n}\\n#endif\\nreturn true;\\n}\\nreturn false;\\n}\\nvoid main(void){\\nbool flag = Impostor( cameraPos, cameraNormal );\\n#ifdef NEAR_CLIP\\nif( calcClip( cameraPos ) > 0.0 )\\ndiscard;\\n#endif\\ngl_FragDepthEXT = calcDepth( cameraPos );\\nif( !flag ){\\n#ifdef NEAR_CLIP\\nif( flag2 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / vRadius ) );\\n}else if( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n#else\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n#endif\\n}\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\n#ifdef PICKING\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\nvec3 vNormal = cameraNormal;\\nvec3 vViewPosition = -cameraPos;\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\n#include normal_flip\\n#include normal_fragment\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\"),Ua.prototype=Object.assign(Object.create(Oa.prototype),{constructor:Ua,setAttributes:function(t){var e,i,n,r,o,a,s,c=this.count,u=this.mappingSize,h=this.geometry.attributes;for(var l in t){i=t[l],e=h[l],n=e.itemSize,r=e.array;for(var d=0;d radius2)\\ndiscard;\\n#ifdef CAP\\nnew_point = front_point;\\n_normal = axis;\\n#else\\nnew_point = ray_target + ( (-a1 - sqrt(d)) / a2 ) * ray_direction;\\ndNV = dot(-axis, ray_direction);\\nnear = dot(axis, end_cyl) / dNV;\\nnew_point2 = ray_direction * near + ray_origin;\\nif (dot(new_point2 - end_cyl, new_point2-base) < radius2)\\ndiscard;\\ninterior = true;\\n#endif\\n}\\nif( end_cap_test > 0.0 )\\n{\\nfloat dNV = dot(axis, ray_direction);\\nif (dNV < 0.0)\\ndiscard;\\nfloat near = dot(axis, end_cyl) / dNV;\\nvec3 end_point = ray_direction * near + ray_origin;\\nif( dot(end_point - end_cyl, end_point-base) > radius2 )\\ndiscard;\\n#ifdef CAP\\nnew_point = end_point;\\n_normal = axis;\\n#else\\nnew_point = ray_target + ( (-a1 - sqrt(d)) / a2 ) * ray_direction;\\ndNV = dot(-axis, ray_direction);\\nnear = dot(-axis, (base)) / dNV;\\nnew_point2 = ray_direction * near + ray_origin;\\nif (dot(new_point2 - base, new_point2-base) < radius2)\\ndiscard;\\ninterior = true;\\n#endif\\n}\\ngl_FragDepthEXT = calcDepth( new_point );\\n#ifdef NEAR_CLIP\\nif( calcClip( new_point ) > 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\nif( calcClip( new_point ) > 0.0 )\\ndiscard;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / vRadius ) );\\n}\\n}else if( gl_FragDepthEXT <= 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n}\\n#else\\nif( gl_FragDepthEXT <= 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n}\\n#endif\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\n#ifdef PICKING\\nif( distSq3( new_point, end_cyl ) < distSq3( new_point, base ) ){\\nif( b < 0.0 ){\\ngl_FragColor = vec4( vPickingColor, objectId );\\n}else{\\ngl_FragColor = vec4( vPickingColor2, objectId );\\n}\\n}else{\\nif( b > 0.0 ){\\ngl_FragColor = vec4( vPickingColor, objectId );\\n}else{\\ngl_FragColor = vec4( vPickingColor2, objectId );\\n}\\n}\\n#else\\nvec3 vViewPosition = -new_point;\\nvec3 vNormal = _normal;\\nvec3 vColor;\\nif( distSq3( new_point, end_cyl ) < distSq3( new_point, base ) ){\\nif( b < 0.0 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\n}else{\\nif( b > 0.0 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\n}\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\nvec3 normal = normalize( vNormal );\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\"),Xa.prototype=Object.assign(Object.create(Ua.prototype),{constructor:Xa}),qa.prototype=Object.assign(Object.create(Xa.prototype),{constructor:qa,parameters:Object.assign({openEnded:{updateShader:!0}},Xa.prototype.parameters),getDefines:function(t){var e=Xa.prototype.getDefines.call(this,t);return this.openEnded||(e.CAP=1),e},setAttributes:function(t){t&&t.position1&&t.position2&&(t.position=Er(t.position1,t.position2)),Xa.prototype.setAttributes.call(this,t)}}),Za.prototype=Object.assign(Object.create(za.prototype),{constructor:Za,applyPositionTransform:function(){var t,e=new N,i=new N,n=new N,r=new N(0,1,0);return function(o,a,s){i.fromArray(this._from,s),n.fromArray(this._to,s),o.lookAt(i,n,r),t=this._radius[a],e.set(t,t,i.distanceTo(n)),o.scale(e)}}(),setAttributes:function(t){var e={};t.position1&&t.position2&&(Er(t.position1,t.position2,this._position),this._from.set(t.position1),this._to.set(t.position2),e.position=this._position),t.color&&(e.color=t.color),t.pickingColor&&(e.pickingColor=t.pickingColor),t.radius&&this._radius.set(t.radius),za.prototype.setAttributes.call(this,e)}}),Ja.prototype.constructor=Ja,Ja.prototype.type=\"Shape\",ts.prototype={constructor:ts,type:\"\",parameters:{lazy:{type:\"boolean\"},clipNear:{type:\"range\",step:1,max:100,min:0,buffer:!0},clipRadius:{type:\"number\",precision:1,max:1e3,min:0,buffer:!0},clipCenter:{type:\"vector3\",precision:1,buffer:!0},flatShaded:{type:\"boolean\",buffer:!0},opacity:{type:\"range\",step:.01,max:1,min:0,buffer:!0},side:{type:\"select\",buffer:!0,options:{front:\"front\",back:\"back\",double:\"double\"}},wireframe:{type:\"boolean\",buffer:!0},linewidth:{type:\"integer\",max:50,min:1,buffer:!0},colorScheme:{type:\"select\",update:\"color\",options:Ev.getTypes()},colorScale:{type:\"select\",update:\"color\",options:Ev.getScales()},colorValue:{type:\"color\",update:\"color\"},colorDomain:{type:\"hidden\",update:\"color\"},colorMode:{type:\"select\",update:\"color\",options:Ev.getModes()},roughness:{type:\"range\",step:.01,max:1,min:0,buffer:!0},metalness:{type:\"range\",step:.01,max:1,min:0,buffer:!0},diffuse:{type:\"color\",buffer:!0}},init:function(t){var e=t||{};this.clipNear=d(e.clipNear,0),this.clipRadius=d(e.clipRadius,0),this.clipCenter=d(e.clipCenter,new N),this.flatShaded=d(e.flatShaded,!1),this.side=d(e.side,\"double\"),this.opacity=d(e.opacity,1),this.wireframe=d(e.wireframe,!1),this.linewidth=d(e.linewidth,2),this.setColor(e.color,e),this.colorScheme=d(e.colorScheme,\"uniform\"),this.colorScale=d(e.colorScale,\"\"),this.colorValue=d(e.colorValue,9474192),this.colorDomain=d(e.colorDomain,\"\"),this.colorMode=d(e.colorMode,\"hcl\"),this.visible=d(e.visible,!0),this.quality=d(e.quality,void 0),this.roughness=d(e.roughness,.4),this.metalness=d(e.metalness,0),this.diffuse=d(e.diffuse,16777215),this.lazy=d(e.lazy,!1),this.lazyProps={build:!1,bufferParams:{},what:{}};var i=this.parameters;i.sphereDetail===!0&&(i.sphereDetail={type:\"integer\",max:3,min:0,rebuild:\"impostor\"}),i.radialSegments===!0&&(i.radialSegments={type:\"integer\",max:25,min:5,rebuild:\"impostor\"}),i.openEnded===!0&&(i.openEnded={type:\"boolean\",rebuild:\"impostor\",buffer:!0}),i.disableImpostor===!0&&(i.disableImpostor={type:\"boolean\",rebuild:!0}),\"low\"===e.quality?(i.sphereDetail&&(this.sphereDetail=0),i.radialSegments&&(this.radialSegments=5)):\"medium\"===e.quality?(i.sphereDetail&&(this.sphereDetail=1),i.radialSegments&&(this.radialSegments=10)):\"high\"===e.quality?(i.sphereDetail&&(this.sphereDetail=2),i.radialSegments&&(this.radialSegments=20)):(i.sphereDetail&&(this.sphereDetail=d(e.sphereDetail,1)),i.radialSegments&&(this.radialSegments=d(e.radialSegments,10))),i.openEnded&&(this.openEnded=d(e.openEnded,!0)),i.disableImpostor&&(this.disableImpostor=d(e.disableImpostor,!1))},getColorParams:function(t){return Object.assign({gidPool:this.gidPool,scheme:this.colorScheme,scale:this.colorScale,value:this.colorValue,domain:this.colorDomain,mode:this.colorMode},t)},getBufferParams:function(t){return Object.assign({clipNear:this.clipNear,clipRadius:this.clipRadius,clipCenter:this.clipCenter,flatShaded:this.flatShaded,opacity:this.opacity,side:this.side,wireframe:this.wireframe,\nlinewidth:this.linewidth,roughness:this.roughness,metalness:this.metalness,diffuse:this.diffuse},t)},setColor:function(t,e){var i=Object.keys(Ev.getTypes());return i.includes(t)?e?e.colorScheme=t:this.setParameters({colorScheme:t}):void 0!==t&&(t=new Ct(t).getHex(),e?(e.colorScheme=\"uniform\",e.colorValue=t):this.setParameters({colorScheme:\"uniform\",colorValue:t})),this},prepare:!1,create:function(){},update:function(){this.build()},build:function(t){return this.lazy&&!this.visible?void(this.lazyProps.build=!0):this.prepare?(this.queue.length()>0?(this.tasks.change(1-this.queue.length()),this.queue.kill()):this.tasks.increment(),void this.queue.push(t||!1)):(this.tasks.increment(),void this.make())},make:function(e,i){t.Debug&&Pv.time(\"Representation.make \"+this.type);var n=function(){e?(this.update(e),this.viewer.requestRender(),this.tasks.decrement(),i&&i()):(this.clear(),this.create(),this.manualAttach||this.disposed||(t.Debug&&Pv.time(\"Representation.attach \"+this.type),this.attach(function(){t.Debug&&Pv.timeEnd(\"Representation.attach \"+this.type),this.tasks.decrement(),i&&i()}.bind(this)))),t.Debug&&Pv.timeEnd(\"Representation.make \"+this.type)}.bind(this);this.prepare?this.prepare(n):n()},attach:function(t){this.setVisibility(this.visible),t()},setVisibility:function(t,e){if(this.visible=t,this.visible){var i=this.lazyProps,n=i.bufferParams,r=i.what;if(i.build)return i.build=!1,void this.build();(Object.keys(n).length||Object.keys(r).length)&&(i.bufferParams={},i.what={},this.updateParameters(n,r))}return this.bufferList.forEach(function(e){e.setVisibility(t)}),e||this.viewer.requestRender(),this},setParameters:function(t,e,i){var n=t||{},r=this.parameters;e=e||{},i=i||!1;var o={};for(var a in n)void 0!==n[a]&&void 0!==r[a]&&(r[a].int&&(n[a]=parseInt(n[a])),r[a].float&&(n[a]=parseFloat(n[a])),n[a]!==this[a]&&(this[a]=n[a],r[a].buffer&&(r[a].buffer===!0?o[a]=n[a]:o[r[a].buffer]=n[a]),r[a].update&&(e[r[a].update]=!0),!r[a].rebuild||\"impostor\"===r[a].rebuild&&Mv&&!this.disableImpostor||(i=!0)));return i?this.build():this.updateParameters(o,e),this},updateParameters:function(t,e){return this.lazy&&!this.visible?(Object.assign(this.lazyProps.bufferParams,t),void Object.assign(this.lazyProps.what,e)):(this.bufferList.forEach(function(e){e.setParameters(t)}),Object.keys(e).length&&this.update(e),void this.viewer.requestRender())},getParameters:function(){var t={lazy:this.lazy,visible:this.visible,quality:this.quality};return Object.keys(this.parameters).forEach(function(e){\"button\"===this.parameters.type?t[e]=this[e].bind(this):t[e]=this[e]},this),t},clear:function(){this.bufferList.forEach(function(t){this.viewer.remove(t),t.dispose()},this),this.bufferList.length=0,this.viewer.requestRender()},dispose:function(){this.disposed=!0,this.queue.kill(),this.tasks.dispose(),this.clear()}},es.prototype=Object.assign(Object.create(ts.prototype),{constructor:es,type:\"buffer\",parameters:Object.assign({},ts.prototype.parameters,{colorScheme:null,colorScale:null,colorValue:null,colorDomain:null,colorMode:null}),create:function(){this.bufferList.push.apply(this.bufferList,this.buffer)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t),t.setParameters(this.getBufferParams())},this),this.setVisibility(this.visible),t()}}),is.prototype=Object.assign(Object.create(Da.prototype),{constructor:is,type:\"surface\"}),ns.prototype.constructor=ns,rs.prototype=Object.assign(Object.create(ts.prototype),{constructor:rs,type:\"surface\",parameters:Object.assign({isolevelType:{type:\"select\",options:{value:\"value\",sigma:\"sigma\"}},isolevel:{type:\"number\",precision:2,max:1e3,min:-1e3},smooth:{type:\"integer\",precision:1,max:10,min:0},background:{type:\"boolean\",rebuild:!0},opaqueBack:{type:\"boolean\",buffer:!0},boxSize:{type:\"integer\",precision:1,max:100,min:0},useWorker:{type:\"boolean\",rebuild:!0}},ts.prototype.parameters),init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"uniform\"),e.colorValue=d(e.colorValue,14540253),this.isolevelType=d(e.isolevelType,\"sigma\"),this.isolevel=d(e.isolevel,2),this.smooth=d(e.smooth,0),this.background=d(e.background,!1),this.opaqueBack=d(e.opaqueBack,!0),this.boxSize=d(e.boxSize,0),this.useWorker=d(e.useWorker,!0),ts.prototype.init.call(this,e)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t)},this),this.setVisibility(this.visible),t()},prepare:function(t){if(this.volume){var e;if(e=\"sigma\"===this.isolevelType?this.volume.getValueForSigma(this.isolevel):this.isolevel,!this.surface||this.__isolevel!==e||this.__smooth!==this.smooth||this.__boxSize!==this.boxSize||this.boxSize>0&&!this.__boxCenter.equals(this.boxCenter)){this.__isolevel=e,this.__smooth=this.smooth,this.__boxSize=this.boxSize,this.__boxCenter.copy(this.boxCenter),this.__box.copy(this.box);var i=function(e){this.surface=e,t()}.bind(this);this.useWorker?this.volume.getSurfaceWorker(e,this.smooth,this.boxCenter,this.boxSize,i):i(this.volume.getSurface(e,this.smooth,this.boxCenter,this.boxSize))}else t()}else t()},create:function(){var t=new is(this.surface.getPosition(),this.surface.getColor(this.getColorParams()),this.surface.getIndex(),this.surface.getNormal(),void 0,this.getBufferParams({background:this.background,opaqueBack:this.opaqueBack,dullInterior:!1})),e=new ns(t);this.bufferList.push(e)},update:function(t){if(0!==this.bufferList.length){t=t||{};var e={};t.position&&(e.position=this.surface.getPosition()),t.color&&(e.color=this.surface.getColor(this.getColorParams())),t.index&&(e.index=this.surface.getIndex()),t.normal&&(e.normal=this.surface.getNormal()),this.bufferList.forEach(function(t){t.setAttributes(e)})}},setParameters:function(t,e,i){return t&&void 0!==t.isolevelType&&this.volume&&(\"value\"===this.isolevelType&&\"sigma\"===t.isolevelType?this.isolevel=this.volume.getSigmaForValue(this.isolevel):\"sigma\"===this.isolevelType&&\"value\"===t.isolevelType&&(this.isolevel=this.volume.getValueForSigma(this.isolevel)),this.isolevelType=t.isolevelType),t&&t.boxCenter&&(this.boxCenter.copy(t.boxCenter),delete t.boxCenter),ts.prototype.setParameters.call(this,t,e,i),this.volume&&this.volume.getBox(this.boxCenter,this.boxSize,this.box),this.surface&&(void 0!==t.isolevel||void 0!==t.smooth||void 0!==t.boxSize||this.boxSize>0&&!this.__box.equals(this.box))&&this.build({position:!0,color:!0,index:!0,normal:!0}),this},dispose:function(){this.viewer.signals.orientationChanged.remove(this.setBox),ts.prototype.dispose.call(this)}}),Ov.add(\"shader/Point.vert\",\"uniform float nearClip;\\nuniform float clipRadius;\\nuniform vec3 clipCenter;\\nuniform float size;\\nuniform float canvasHeight;\\nuniform float pixelRatio;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include color_pars_vertex\\n#include common\\nvoid main(){\\n#include color_vertex\\n#include begin_vertex\\n#include project_vertex\\n#ifdef USE_SIZEATTENUATION\\ngl_PointSize = size * pixelRatio * ( ( canvasHeight / 2.0 ) / -mvPosition.z );\\n#else\\ngl_PointSize = size * pixelRatio;\\n#endif\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n#include radiusclip_vertex\\n}\"),Ov.add(\"shader/Point.frag\",\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#ifdef USE_MAP\\nuniform sampler2D map;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\nvec3 outgoingLight = vec3( 0.0 );\\nvec4 diffuseColor = vec4( diffuse, 1.0 );\\n#ifdef USE_MAP\\ndiffuseColor *= texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\\n#endif\\n#include color_fragment\\n#include alphatest_fragment\\noutgoingLight = diffuseColor.rgb;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a * opacity );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\"),as.prototype=Object.assign(Object.create(Oa.prototype),{constructor:as,parameters:Object.assign({pointSize:{uniform:\"size\"},sizeAttenuation:{updateShader:!0},sortParticles:{},alphaTest:{updateShader:!0},useTexture:{updateShader:!0},forceTransparent:{},edgeBleach:{uniform:!0}},Oa.prototype.parameters),makeMaterial:function(){Oa.prototype.makeMaterial.call(this),this.makeTexture(),this.material.uniforms.map.value=this.tex,this.material.blending=Dh,this.material.needsUpdate=!0,this.wireframeMaterial.uniforms.map.value=this.tex,this.wireframeMaterial.blending=Dh,this.wireframeMaterial.needsUpdate=!0,this.pickingMaterial.uniforms.map.value=this.tex,this.pickingMaterial.blending=Dh,this.pickingMaterial.needsUpdate=!0},makeTexture:function(){this.tex&&this.tex.dispose(),this.tex=os({delta:this.edgeBleach})},getDefines:function(t){var e=Oa.prototype.getDefines.call(this,t);return this.sizeAttenuation&&(e.USE_SIZEATTENUATION=1),this.useTexture&&(e.USE_MAP=1),this.alphaTest>0&&this.alphaTest<=1&&(e.ALPHATEST=this.alphaTest.toPrecision(2)),e},setUniforms:function(t){t&&void 0!==t.edgeBleach&&(this.makeTexture(),t.map=this.tex),Oa.prototype.setUniforms.call(this,t)},dispose:function(){Oa.prototype.dispose.call(this),this.tex&&this.tex.dispose()}}),ss.prototype=Object.assign(Object.create(ts.prototype),{constructor:ss,type:\"dot\",parameters:Object.assign({thresholdType:{type:\"select\",rebuild:!0,options:{value:\"value\",sigma:\"sigma\"}},thresholdMin:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0},thresholdMax:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0},thresholdOut:{type:\"boolean\",rebuild:!0},dotType:{type:\"select\",rebuild:!0,options:{\"\":\"\",sphere:\"sphere\",point:\"point\"}},radiusType:{type:\"select\",options:{\"\":\"\",value:\"value\",\"abs-value\":\"abs-value\",\"value-min\":\"value-min\",deviation:\"deviation\",size:\"size\"}},radius:{type:\"number\",precision:3,max:10,min:.001,property:\"size\"},scale:{type:\"number\",precision:3,max:10,min:.001},sphereDetail:!0,disableImpostor:!0,pointSize:{type:\"number\",precision:1,max:100,min:0,buffer:!0},sizeAttenuation:{type:\"boolean\",buffer:!0},sortParticles:{type:\"boolean\",rebuild:!0},useTexture:{type:\"boolean\",buffer:!0},alphaTest:{type:\"range\",step:.001,max:1,min:0,buffer:!0},forceTransparent:{type:\"boolean\",buffer:!0},edgeBleach:{type:\"range\",step:.001,max:1,min:0,buffer:!0}},ts.prototype.parameters,{colorScheme:{type:\"select\",update:\"color\",options:{\"\":\"\",value:\"value\",uniform:\"uniform\"}}}),defaultSize:.1,init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"uniform\"),e.colorValue=d(e.colorValue,14540253),this.thresholdType=d(e.thresholdType,\"sigma\"),this.thresholdMin=d(e.thresholdMin,2),this.thresholdMax=d(e.thresholdMax,1/0),this.thresholdOut=d(e.thresholdOut,!1),this.dotType=d(e.dotType,\"point\"),this.radius=d(e.radius,.1),this.scale=d(e.scale,1),this.pointSize=d(e.pointSize,1),this.sizeAttenuation=d(e.sizeAttenuation,!0),this.sortParticles=d(e.sortParticles,!1),this.useTexture=d(e.useTexture,!1),this.alphaTest=d(e.alphaTest,.5),this.forceTransparent=d(e.forceTransparent,!1),this.edgeBleach=d(e.edgeBleach,0),ts.prototype.init.call(this,e)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t)},this),this.setVisibility(this.visible),t()},create:function(){var t,e,i,n;if(this.volume){var r,o,a=this.volume;\"sigma\"===this.thresholdType?(r=a.getValueForSigma(this.thresholdMin),o=a.getValueForSigma(this.thresholdMax)):(r=this.thresholdMin,o=this.thresholdMax),a.filterData(r,o,this.thresholdOut),t=a.getDataPosition(),e=a.getDataColor(this.getColorParams()),i=a.getDataSize(this.radius,this.scale),n=a.getPickingDataColor(this.getColorParams())}else{var s=this.surface;t=s.getPosition(),e=s.getColor(this.getColorParams()),i=s.getSize(this.radius,this.scale),n=s.getPickingColor(this.getColorParams())}\"sphere\"===this.dotType?this.dotBuffer=new Va(t,e,i,n,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!1})):this.dotBuffer=new as(t,e,this.getBufferParams({pointSize:this.pointSize,sizeAttenuation:this.sizeAttenuation,sortParticles:this.sortParticles,useTexture:this.useTexture,alphaTest:this.alphaTest,forceTransparent:this.forceTransparent,edgeBleach:this.edgeBleach})),this.bufferList.push(this.dotBuffer)},update:function(t){if(0!==this.bufferList.length){t=t||{};var e={};t.color&&(this.volume?e.color=this.volume.getDataColor(this.getColorParams()):e.color=this.surface.getColor(this.getColorParams())),\"sphere\"===this.dotType&&(t.radius||t.scale)&&(this.volume?e.radius=this.volume.getDataSize(this.radius,this.scale):e.radius=this.surface.getSize(this.radius,this.scale)),this.dotBuffer.setAttributes(e)}},setParameters:function(t,e,i){return e=e||{},t&&void 0!==t.thresholdType&&this.volume instanceof Pa&&(\"value\"===this.thresholdType&&\"sigma\"===t.thresholdType?(this.thresholdMin=this.volume.getSigmaForValue(this.thresholdMin),this.thresholdMax=this.volume.getSigmaForValue(this.thresholdMax)):\"sigma\"===this.thresholdType&&\"value\"===t.thresholdType&&(this.thresholdMin=this.volume.getValueForSigma(this.thresholdMin),this.thresholdMax=this.volume.getValueForSigma(this.thresholdMax)),this.thresholdType=t.thresholdType),t&&void 0!==t.radiusType&&(\"radius\"===t.radiusType?this.radius=this.defaultSize:this.radius=t.radiusType,e.radius=!0,\"sphere\"!==this.dotType||Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.radius&&(e.radius=!0,\"sphere\"!==this.dotType||Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.scale&&(e.scale=!0,\"sphere\"!==this.dotType||Mv&&!this.disableImpostor||(i=!0)),ts.prototype.setParameters.call(this,t,e,i),this}}),Ov.add(\"shader/Image.vert\",\"uniform float clipRadius;\\nuniform vec3 clipCenter;\\nvarying vec2 vUv;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nvoid main() {\\n#include begin_vertex\\n#include project_vertex\\nvUv = uv;\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n}\"),Ov.add(\"shader/Image.frag\",\"uniform sampler2D map;\\nuniform float opacity;\\nuniform vec2 mapSize;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec2 vUv;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include fog_pars_fragment\\n#if defined( CUBIC_INTERPOLATION )\\n#if defined( CATMULROM_FILTER ) || defined( MITCHELL_FILTER )\\n#if defined( CATMULROM_FILTER )\\nconst float B = 0.0;\\nconst float C = 0.5;\\n#elif defined( MITCHELL_FILTER )\\nconst float B = 0.333;\\nconst float C = 0.333;\\n#endif\\nfloat filter( float x ){\\nfloat f = x;\\nif( f < 0.0 )\\n{\\nf = -f;\\n}\\nif( f < 1.0 )\\n{\\nreturn ( ( 12.0 - 9.0 * B - 6.0 * C ) * ( f * f * f ) +\\n( -18.0 + 12.0 * B + 6.0 *C ) * ( f * f ) +\\n( 6.0 - 2.0 * B ) ) / 6.0;\\n}\\nelse if( f >= 1.0 && f < 2.0 )\\n{\\nreturn ( ( -B - 6.0 * C ) * ( f * f * f )\\n+ ( 6.0 * B + 30.0 * C ) * ( f *f ) +\\n( - ( 12.0 * B ) - 48.0 * C ) * f +\\n8.0 * B + 24.0 * C)/ 6.0;\\n}\\nelse\\n{\\nreturn 0.0;\\n}\\n}\\n#elif defined( BSPLINE_FILTER )\\nfloat filter( float x ){\\nfloat f = x;\\nif( f < 0.0 ){\\nf = -f;\\n}\\nif( f >= 0.0 && f <= 1.0 ){\\nreturn ( 2.0 / 3.0 ) + ( 0.5 ) * ( f*f*f ) - ( f*f );\\n}else if( f > 1.0 && f <= 2.0 ){\\nreturn 1.0 / 6.0 * pow( ( 2.0 - f ), 3.0 );\\n}\\nreturn 1.0;\\n}\\n#else\\nfloat filter( float x ){\\nreturn 1.0;\\n}\\n#endif\\nvec4 biCubic( sampler2D tex, vec2 texCoord ){\\nvec2 texelSize = 1.0 / mapSize;\\ntexCoord -= texelSize / 2.0;\\nvec4 nSum = vec4( 0.0 );\\nfloat nDenom = 0.0;\\nvec2 cell = fract( texCoord * mapSize );\\nfor( float m = -1.0; m <= 2.0; ++m ){\\nfor( float n = -1.0; n <= 2.0; ++n ){\\nvec4 vecData = texture2D(\\ntex, texCoord + texelSize * vec2( m, n )\\n);\\nfloat c = filter( m - cell.x ) * filter( -n + cell.y );\\nnSum += vecData * c;\\nnDenom += c;\\n}\\n}\\nreturn nSum / nDenom;\\n}\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( CUBIC_INTERPOLATION )\\ngl_FragColor = biCubic( map, vUv );\\n#else\\ngl_FragColor = texture2D( map, vUv );\\n#endif\\ngl_FragColor.a *= opacity;\\nif( gl_FragColor.a < 0.01 )\\ndiscard;\\n#include fog_fragment\\n}\");var ny=new Uint16Array([0,1,2,1,3,2]),ry=new Float32Array([0,1,0,0,1,1,1,0]);cs.prototype=Object.assign(Object.create(Oa.prototype),{constructor:cs,parameters:Object.assign({filter:{updateShader:!0,uniform:!0}},Oa.prototype.parameters),getDefines:function(t){var e=Oa.prototype.getDefines.call(this,t);return this.filter.startsWith(\"cubic\")&&(e.CUBIC_INTERPOLATION=1,this.filter.endsWith(\"bspline\")?e.BSPLINE_FILTER=1:this.filter.endsWith(\"catmulrom\")?e.CATMULROM_FILTER=1:this.filter.endsWith(\"mitchell\")&&(e.MITCHELL_FILTER=1)),e},updateTexture:function(){var t=this.tex;this.filter.startsWith(\"cubic\")?(t.minFilter=Tl,t.magFilter=Tl):\"linear\"===this.filter?(t.minFilter=Ll,t.magFilter=Ll):(t.minFilter=Tl,t.magFilter=Tl),t.needsUpdate=!0},makeMaterial:function(){Oa.prototype.makeMaterial.call(this),this.updateTexture();var t=this.material;t.uniforms.map.value=this.tex,t.blending=Dh,t.needsUpdate=!0;var e=this.wireframeMaterial;e.uniforms.map.value=this.tex,e.blending=Dh,e.needsUpdate=!0;var i=this.pickingMaterial;i.uniforms.map.value=this.tex,i.blending=Dh,i.needsUpdate=!0},setUniforms:function(t){t&&void 0!==t.filter&&(this.updateTexture(),t.map=this.tex),Oa.prototype.setUniforms.call(this,t)}}),us.prototype=Object.assign(Object.create(ts.prototype),{constructor:us,type:\"slice\",parameters:Object.assign({filter:{type:\"select\",buffer:!0,options:{nearest:\"nearest\",linear:\"linear\",\"cubic-bspline\":\"cubic-bspline\",\"cubic-catmulrom\":\"cubic-catmulrom\",\"cubic-mitchell\":\"cubic-mitchell\"}},position:{type:\"range\",step:.1,max:100,min:1,rebuild:!0},dimension:{type:\"select\",rebuild:!0,options:{x:\"x\",y:\"y\",z:\"z\"}},thresholdType:{type:\"select\",rebuild:!0,options:{value:\"value\",sigma:\"sigma\"}},thresholdMin:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0},thresholdMax:{type:\"number\",precision:3,max:1/0,min:-(1/0),rebuild:!0}},ts.prototype.parameters,{flatShaded:null,side:null,wireframe:null,linewidth:null,colorScheme:null,roughness:null,metalness:null,diffuse:null}),init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"value\"),e.colorScale=d(e.colorScale,\"Spectral\"),ts.prototype.init.call(this,e),this.colorScheme=\"value\",this.dimension=d(e.dimension,\"x\"),this.filter=d(e.filter,\"cubic-bspline\"),this.position=d(e.position,30),this.thresholdType=d(e.thresholdType,\"sigma\"),this.thresholdMin=d(e.thresholdMin,-(1/0)),this.thresholdMax=d(e.thresholdMax,1/0)},attach:function(t){this.bufferList.forEach(function(t){this.viewer.add(t)},this),this.setVisibility(this.visible),t()},create:function(){function t(t){return Math.round(t/100*(i-1))}function e(t,e,i,r){return 3*(i*n.ny*n.nx+e*n.nx+t)+r}var i=this.position,n=this.volume;n.filterData(-(1/0),1/0,!1);var r,o,a,s,c,u=n.data,h=n.matrix,l=new Float32Array(12),d=0,f=0,p=0,m=n.nx,g=n.ny,v=n.nz,y=new N;\"x\"===this.dimension?(a=t(n.nx),s=n.ny-1,c=n.nz-1,r=n.nz,o=n.ny,d=a,m=d+1,y.set(a,0,0).applyMatrix4(h).toArray(l,0),y.set(a,s,0).applyMatrix4(h).toArray(l,3),y.set(a,0,c).applyMatrix4(h).toArray(l,6),y.set(a,s,c).applyMatrix4(h).toArray(l,9)):\"y\"===this.dimension?(a=n.nx-1,s=t(n.ny),c=n.nz-1,r=n.nz,o=n.nx,f=s,g=f+1,y.set(0,s,0).applyMatrix4(h).toArray(l,0),y.set(a,s,0).applyMatrix4(h).toArray(l,3),y.set(0,s,c).applyMatrix4(h).toArray(l,6),y.set(a,s,c).applyMatrix4(h).toArray(l,9)):\"z\"===this.dimension&&(a=n.nx-1,s=n.ny-1,c=t(n.nz),r=n.nx,o=n.ny,p=c,v=p+1,y.set(0,0,c).applyMatrix4(h).toArray(l,0),y.set(0,s,c).applyMatrix4(h).toArray(l,3),y.set(a,0,c).applyMatrix4(h).toArray(l,6),y.set(a,s,c).applyMatrix4(h).toArray(l,9));var b,x,w=0,_=new Uint8Array(r*o*4);\"sigma\"===this.thresholdType?(b=n.getValueForSigma(this.thresholdMin),x=n.getValueForSigma(this.thresholdMax)):(b=this.thresholdMin,x=this.thresholdMax);var S=this.getColorParams({volume:n});S.domain=[n.getDataMin(),n.getDataMax()];for(var A=Ev.getScheme(S),M=new Float32Array(3),P=f;Pb&&I0&&this.updateData(t,e)},this)},updateData:function(){console.error(\"updateData not implemented\")},getColorParams:function(){var t=ts.prototype.getColorParams.call(this);return t.structure=this.structure,t},getAtomParams:function(t,e){return Object.assign({what:t,colorParams:this.getColorParams(),radiusParams:{radius:this.radius,scale:this.scale}},e)},getBondParams:function(t,e){return Object.assign({what:t,colorParams:this.getColorParams(),radiusParams:{radius:this.radius,scale:this.scale}},e)},setSelection:function(t,e){return this.selection.setString(t,e),this},setParameters:function(t,e,i){return e=e||{},t&&void 0!==t.radiusType&&(\"size\"===t.radiusType?this.radius=this.defaultSize:this.radius=t.radiusType,e.radius=!0,Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.radius&&(e.radius=!0,Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.scale&&(e.radius=!0,Mv&&!this.disableImpostor||(i=!0)),t&&void 0!==t.defaultAssembly&&(i=!0),ts.prototype.setParameters.call(this,t,e,i),this},getParameters:function(){var t=Object.assign(ts.prototype.getParameters.call(this),{sele:this.selection?this.selection.string:void 0,defaultAssembly:this.defaultAssembly});return t},attach:function(t){var e=this.viewer,i=this.bufferList;this.dataList.forEach(function(t){t.bufferList.forEach(function(n){i.push(n),e.add(n,t.instanceList)})}),this.setVisibility(this.visible),t()},clear:function(){this.dataList.length=0,ts.prototype.clear.call(this)},dispose:function(){this.structureView.dispose(),delete this.structure,delete this.structureView,ts.prototype.dispose.call(this)}}),Ov.add(\"shader/Line.vert\",\"uniform float nearClip;\\nuniform vec3 clipCenter;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include color_pars_vertex\\nvoid main(){\\n#include color_vertex\\n#include begin_vertex\\n#include project_vertex\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),Ov.add(\"shader/Line.frag\",\"uniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\ngl_FragColor = vec4( vColor, opacity );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\"),ls.prototype=Object.assign(Object.create(Oa.prototype),{constructor:ls,setAttributes:function(t){var e,i,n,r,o,a,s=this.geometry.attributes;t.from&&t.to&&(e=t.from,i=t.to,o=s.position.array,s.position.needsUpdate=!0),t.color&&t.color2&&(n=t.color,r=t.color2,a=s.color.array,s.color.needsUpdate=!0);for(var c,u,h,l,d,f,p,m,g,v,y,b,x=this.size,w=6*x,_=0;_5&&i>15e3||i>7e5){var c=Math.min(1.5,Math.max(.1,2e3/(i/n)));a&&(c=Math.min(c,.15)),e.addRepresentation(\"surface\",{sele:\"polymer\",surfaceType:\"sas\",probeRadius:1.4,scaleFactor:c,colorScheme:s,colorScale:\"RdYlBu\",useWorker:!1})}else i>25e4?e.addRepresentation(\"backbone\",{lineOnly:!0,colorScheme:s,colorScale:\"RdYlBu\"}):i>1e5?e.addRepresentation(\"backbone\",{quality:\"low\",disableImpostor:!0,colorScheme:s,colorScale:\"RdYlBu\",scale:2}):i>8e4?e.addRepresentation(\"backbone\",{colorScheme:s,colorScale:\"RdYlBu\",scale:2}):(e.addRepresentation(\"cartoon\",{color:s,colorScale:\"RdYlBu\",scale:.7,aspectRatio:5,quality:\"auto\"}),i<5e4&&e.addRepresentation(\"base\",{color:s,colorScale:\"RdYlBu\",quality:\"auto\"}),e.addRepresentation(\"ball+stick\",{sele:\"hetero and not ( water or ion )\",colorScheme:\"element\",scale:2,aspectRatio:1.5,bondScale:.3,bondSpacing:.75,quality:\"auto\"}));this.centerView(),e.structure.frames.length&&e.addTrajectory()}else\"surface\"!==e.type&&\"volume\"!==e.type||(e.addRepresentation(\"surface\"),this.centerView())},loadFile:function(t,e){var i=Object.assign({},this.defaultFileParams,e),n=new ms(this,i);n.name=y(t).name,this.addComponent(n);var r=this.tasks;r.increment();var o,a=function(t){return this.removeComponent(n),n=this.addComponentFromObject(t,i),\"script\"===n.type&&n.run(),i.defaultRepresentation&&this.defaultFileRepresentation(n),r.decrement(),n}.bind(this),s=function(t){throw n.setStatus(t),r.decrement(),t},c=d(i.ext,y(t).ext);return o=\"dcd\"===c?Promise.reject(\"loadFile: ext 'dcd' must be loaded into a structure component\"):gr(t,i),o.then(a,s)},addComponent:function(t){return t?(this.compList.push(t),void this.signals.componentAdded.dispatch(t)):void Pv.warn(\"Stage.addComponent: no component given\")},addComponentFromObject:function(t,e){var i=Nv.get(t.type);if(i){var n=new i(this,t,e);return this.addComponent(n),n}Pv.warn(\"no component for object type\",t.type)},removeComponent:function(t){var e=this.compList.indexOf(t);e!==-1&&this.compList.splice(e,1),t.dispose(),this.signals.componentRemoved.dispatch(t)},removeAllComponents:function(t){this.compList.slice().forEach(function(e){t&&e.type!==t||this.removeComponent(e)},this)},handleResize:function(){this.viewer.handleResize()},toggleFullscreen:function(t){function e(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement}function i(){if(!e()&&n.lastFullscreenElement){var t=n.lastFullscreenElement;t.style.width=t.dataset.normalWidth,t.style.height=t.dataset.normalHeight,document.removeEventListener(\"fullscreenchange\",i),document.removeEventListener(\"mozfullscreenchange\",i),document.removeEventListener(\"webkitfullscreenchange\",i),document.removeEventListener(\"MSFullscreenChange\",i),n.handleResize(),n.signals.fullscreenChanged.dispatch(!1)}}if(!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled))return void Pv.log(\"fullscreen mode (currently) not possible\");var n=this;t=t||this.viewer.container,this.lastFullscreenElement=t,e()?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():(t.dataset.normalWidth=t.style.width,t.dataset.normalHeight=t.style.height,t.style.width=screen.width+\"px\",t.style.height=screen.height+\"px\",t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(),document.addEventListener(\"fullscreenchange\",i),document.addEventListener(\"mozfullscreenchange\",i),document.addEventListener(\"webkitfullscreenchange\",i),document.addEventListener(\"MSFullscreenChange\",i),this.handleResize(),this.signals.fullscreenChanged.dispatch(!0),setTimeout(function(){n.handleResize()},100))},centerView:function(){if(this.tasks.count>0){var t=function(e,i){0===i&&this.tasks.signals.countChanged.remove(t,this),this.viewer.centerView(!0)};this.tasks.signals.countChanged.add(t,this)}this.viewer.centerView(!0)},setSpin:function(t,e){Array.isArray(t)&&(t=(new N).fromArray(t)),this.viewer.setSpin(t,e)},setOrientation:function(t){this.tasks.onZeroOnce(function(){this.viewer.setOrientation(t)},this)},getOrientation:function(){return this.viewer.getOrientation()},makeImage:function(t){var e=this.viewer,i=this.tasks;return new Promise(function(n,r){function o(){i.increment(),e.makeImage(t).then(function(t){i.decrement(),n(t)}).catch(function(t){i.decrement(),r(t)})}i.onZeroOnce(o)})},setImpostor:function(t){this.parameters.impostor.value=t;var e=[\"spacefill\",\"ball+stick\",\"licorice\",\"hyperball\",\"backbone\",\"rocket\",\"helixorient\",\"contact\",\"distance\",\"dot\"];this.eachRepresentation(function(i){if(\"script\"!==i.type&&e.includes(i.getType())){var n=i.getParameters();n.disableImpostor=!t,i.build(n)}})},setQuality:function(t){this.parameters.quality.value=t;var e=[\"tube\",\"cartoon\",\"ribbon\",\"trace\",\"rope\"],i=[\"spacefill\",\"ball+stick\",\"licorice\",\"hyperball\",\"backbone\",\"rocket\",\"helixorient\",\"contact\",\"distance\",\"dot\"];this.eachRepresentation(function(n){if(\"script\"!==n.type){var r=n.getParameters();if(!e.includes(n.getType())){if(!i.includes(n.getType()))return;if(!r.disableImpostor)return void(n.repr.quality=t)}r.quality=t,n.build(r)}})},eachComponent:function(t,e){this.compList.forEach(function(i,n){e&&i.type!==e||t(i,n)})},eachRepresentation:function(t,e){this.eachComponent(function(e){e.reprList.forEach(function(i){t(i,e)})},e)},getComponentsByName:function(t,e){var i=[];return this.eachComponent(function(e){(void 0===t||xs(t,e))&&i.push(e)},e),new ys(i)},getRepresentationsByName:function(t,e){var i,n;\"object\"!=typeof t?(i=void 0,n=t):(i=t.comp,n=t.repr);var r=[];return this.eachRepresentation(function(t,e){(void 0===i||xs(i,e))&&(void 0===n||xs(n,t))&&r.push(t)},e),new bs(r)},getAnythingByName:function(t){var e=this.getComponentsByName(t).list,i=this.getRepresentationsByName(t).list;return new vs(e.concat(i))},dispose:function(){this.tasks.dispose()}},_s.prototype={constructor:_s,_animate:function(){var t;if(this._running=!0,this.traj.inProgress||this._stopFlag||(t=\"forward\"===this.direction?this.traj.currentFrame+this.step:this.traj.currentFrame-this.step,(t>=this.end||t=this.end?e=this.start:\"backward\"===this.direction&&t<=this.start&&(e=this.end),this.traj.setFrame(e),this._stopFlag=!1,this._animate(),this.signals.startedRunning.dispatch()}},pause:function(){this._running&&(this._stopFlag=!0,this.signals.haltedRunning.dispatch())},stop:function(){this.traj.setFrame(this.start),this.pause()}};var ay=function(){function t(t,e){var i,n=0,r={};return e.forEach(function(e){i=0;var o={};e.forEach(function(e){o[t[i++]]=e}),r[t[n++]]=o}),r}var e=[[4,0,-2,-1,-2,0,-2,-1,-1,-1,-1,-2,-1,-1,-1,1,0,0,-3,-2],[0,9,-3,-4,-2,-3,-3,-1,-3,-1,-1,-3,-3,-3,-3,-1,-1,-1,-2,-2],[-2,-3,6,2,-3,-1,-1,-3,-1,-4,-3,1,-1,0,-2,0,-1,-3,-4,-3],[-1,-4,2,5,-3,-2,0,-3,1,-3,-2,0,-1,2,0,0,-1,-2,-3,-2],[-2,-2,-3,-3,6,-3,-1,0,-3,0,0,-3,-4,-3,-3,-2,-2,-1,1,3],[0,-3,-1,-2,-3,6,-2,-4,-2,-4,-3,0,-2,-2,-2,0,-2,-3,-2,-3],[-2,-3,-1,0,-1,-2,8,-3,-1,-3,-2,1,-2,0,0,-1,-2,-3,-2,2],[-1,-1,-3,-3,0,-4,-3,4,-3,2,1,-3,-3,-3,-3,-2,-1,3,-3,-1],[-1,-3,-1,1,-3,-2,-1,-3,5,-2,-1,0,-1,1,2,0,-1,-2,-3,-2],[-1,-1,-4,-3,0,-4,-3,2,-2,4,2,-3,-3,-2,-2,-2,-1,1,-2,-1],[-1,-1,-3,-2,0,-3,-2,1,-1,2,5,-2,-2,0,-1,-1,-1,1,-1,-1],[-2,-3,1,0,-3,0,1,-3,0,-3,-2,6,-2,0,0,1,0,-3,-4,-2],[-1,-3,-1,-1,-4,-2,-2,-3,-1,-3,-2,-2,7,-1,-2,-1,-1,-2,-4,-3],[-1,-3,0,2,-3,-2,0,-3,1,-2,0,0,-1,5,1,0,-1,-2,-2,-1],[-1,-3,-2,0,-3,-2,0,-3,2,-2,-1,0,-2,1,5,-1,-1,-3,-3,-2],[1,-1,0,0,-2,0,-1,-2,0,-2,-1,1,-1,0,-1,4,1,-2,-3,-2],[0,-1,-1,-1,-2,-2,-2,-1,-1,-1,-1,0,-1,-1,-1,1,5,0,-2,-2],[0,-1,-3,-2,-1,-3,-3,3,-2,1,1,-3,-2,-2,-3,-2,0,4,-3,-1],[-3,-2,-4,-3,1,-2,-2,-3,-3,-2,-1,-4,-4,-2,-3,-3,-2,-3,11,2],[-2,-2,-3,-2,3,-3,2,-1,-2,-1,-1,-2,-3,-1,-2,-2,-2,-1,2,7]],i=[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1]],n=\"ACDEFGHIKLMNPQRSTVWY\",r=\"ARNDCQEGHILKMFPSTWYVBZ?\";return{blosum62:t(r,i),blosum62x:t(n,e)}}();Ss.prototype={constructor:Ss,initMatrices:function(){this.n=this.seq1.length,this.m=this.seq2.length,this.score=void 0,this.ali=\"\",this.S=[],this.V=[],this.H=[];var t,e;for(t=0;t<=this.n;++t)for(this.S[t]=[],this.V[t]=[],this.H[t]=[],e=0;e<=this.m;++e)this.S[t][e]=0,this.V[t][e]=0,this.H[t][e]=0;for(t=0;t<=this.n;++t)this.S[t][0]=this.gap(0),this.H[t][0]=-(1/0);for(e=0;e<=this.m;++e)this.S[0][e]=this.gap(0),this.V[0][e]=-(1/0);this.S[0][0]=0},gap:function(t){return this.gapPenalty+t*this.gapExtensionPenalty},makeScoreFn:function(){var t,e,i=this.seq1,n=this.seq2,r=this.substMatrix;return r?function(o,a){t=i[o],e=n[a];try{return r[t][e]}catch(t){return-4}}:(Pv.warn(\"Alignment: no subst matrix\"),function(r,o){return t=i[r],e=n[o],t===e?5:-3})},calc:function(){t.Debug&&Pv.time(\"Alignment.calc\"),this.initMatrices();var e,i,n,r,o,a,s,c=this.gap(0),u=this.makeScoreFn(),h=this.gapExtensionPenalty,l=this.V,d=this.H,f=this.S,p=this.n,m=this.m;for(a=1;a<=p;++a)for(i=f[a-1],e=l[a-1],n=l[a],r=d[a],o=f[a],s=1;s<=m;++s)n[s]=Math.max(i[s]+c,e[s]+h),r[s]=Math.max(o[s-1]+c,r[s-1]+h),o[s]=Math.max(i[s-1]+u(a-1,s-1),n[s],r[s]);t.Debug&&Pv.timeEnd(\"Alignment.calc\"),t.Debug&&Pv.log(this.S,this.V,this.H)},trace:function(){t.Debug&&Pv.time(\"Alignment.trace\"),this.ali1=\"\",this.ali2=\"\";var e=this.makeScoreFn(),i=this.n,n=this.m,r=\"S\";for(this.S[i][n]>=this.V[i][n]&&this.S[i][n]>=this.V[i][n]?(r=\"S\",this.score=this.S[i][n]):this.V[i][n]>=this.H[i][n]?(r=\"V\",this.score=this.V[i][n]):(r=\"H\",this.score=this.H[i][n]),t.Debug&&Pv.log(\"Alignment: SCORE\",this.score),t.Debug&&Pv.log(\"Alignment: S, V, H\",this.S[i][n],this.V[i][n],this.H[i][n]);i>0&&n>0;)\"S\"===r?this.S[i][n]===this.S[i-1][n-1]+e(i-1,n-1)?(this.ali1=this.seq1[i-1]+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--i,--n,r=\"S\"):this.S[i][n]===this.V[i][n]?r=\"V\":this.S[i][n]===this.H[i][n]?r=\"H\":(--i,--n):\"V\"===r?this.V[i][n]===this.V[i-1][n]+this.gapExtensionPenalty?(this.ali1=this.seq1[i-1]+this.ali1,this.ali2=\"-\"+this.ali2,--i,r=\"V\"):this.V[i][n]===this.S[i-1][n]+this.gap(0)?(this.ali1=this.seq1[i-1]+this.ali1,this.ali2=\"-\"+this.ali2,--i,r=\"S\"):--i:\"H\"===r?this.H[i][n]===this.H[i][n-1]+this.gapExtensionPenalty?(this.ali1=\"-\"+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--n,r=\"H\"):this.H[i][n]===this.S[i][n-1]+this.gap(0)?(this.ali1=\"-\"+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--n,r=\"S\"):--n:Pv.error(\"Alignment: no matrix\");for(;i>0;)this.ali1=this.seq1[i-1]+this.ali1,this.ali2=\"-\"+this.ali2,--i;for(;n>0;)this.ali1=\"-\"+this.ali1,this.ali2=this.seq2[n-1]+this.ali2,--n;t.Debug&&Pv.timeEnd(\"Alignment.trace\"),t.Debug&&Pv.log([this.ali1,this.ali2])}},Ms.prototype=Object.assign(Object.create(ms.prototype),{constructor:Ms,type:\"script\",addRepresentation:function(){},removeRepresentation:function(){},run:function(){var t=this;this.setStatus(\"running\"),this.script.call(this.stage,function(){t.setStatus(\"finished\")}),this.setStatus(\"called\")},dispose:function(){this.signals.disposed.dispatch()},setVisibility:function(){},getCenter:function(){}}),Nv.add(\"script\",Ms),Ps.prototype=Object.assign(Object.create(ms.prototype),{constructor:Ps,type:\"shape\",addRepresentation:function(t,e){return ms.prototype.addRepresentation.call(this,t,this.shape,e)},centerView:function(t){t=d(t,!0);var e=this.getCenter();if(t){var i=this.shape.boundingBox,n=i.size(),r=Math.max(n.x,n.y,n.z),o=Math.min(n.x,n.y,n.z);t=Math.max(1,r+o/2)}return this.viewer.centerView(t,e),this},getCenter:function(){return this.shape.center},dispose:function(){this.shape.dispose(),ms.prototype.dispose.call(this)}}),Nv.add(\"shape\",Ps),Cs.prototype=Object.assign(Object.create(ms.prototype),{constructor:Cs,type:\"trajectory\",signals:Object.assign({frameChanged:null,playerChanged:null,gotNumframes:null,parametersChanged:null},ms.prototype.signals),addRepresentation:function(t,e){return ms.prototype.addRepresentation.call(this,t,this.trajectory,e)},setFrame:function(t){this.trajectory.setFrame(t)},setParameters:function(t){return this.trajectory.setParameters(t),this.signals.parametersChanged.dispatch(t),this},dispose:function(){this.trajectory.dispose(),ms.prototype.dispose.call(this)},getCenter:function(){}}),Ts.prototype=Object.assign(Object.create(La.prototype),{constructor:Ts,type:\"frames\",makeAtomIndices:function(){\"StructureView\"===this.structure.type?this.atomIndices=this.structure.getAtomIndices():this.atomIndices=null},_loadFrame:function(t,e){var i,n=this.frames[t];if(this.atomIndices){var r=this.atomIndices,o=r.length;i=new Float32Array(3*o);for(var a=0;a0&&(n=\"( \"+e.join(\" ) AND ( \")+\" )\"),new On(n)},getStructure:function(){return this.structure.getStructure()},eachBond:function(t,e){this.structure.eachBond(t,this.getSelection(e))},eachAtom:function(t,e){var i=this.getAtomProxy(),n=this.getAtomSet(e),r=this.atomStore.count;if(n&&n.size()0?n>_&&(_=n):n>S&&(S=n),Gr(y.copy(t),m,e[3]);var r=x.subVectors(y,e[3]).normalize().dot(m),o=y.distanceTo(e[3]);r>0?o>A&&(A=o):o>M&&(M=o),Gr(b.copy(t),g,e[3]);var a=x.subVectors(b,e[3]).normalize().dot(g),s=b.distanceTo(e[3]);a>0?s>P&&(P=s):s>C&&(C=s)});var T=2*d,E=function(t,i,n){w.copy(e[3]).addScaledVector(p,t).addScaledVector(m,i).addScaledVector(g,n),w.toArray(o,T),T+=3};E(_,A,P),E(_,A,-C),E(_,-M,-C),E(_,-M,P),E(-S,-M,-C),E(-S,-M,P),E(-S,A,P),E(-S,A,-C);var I=d,L=function(t,e){w.fromArray(o,2*d+3*t).toArray(c,I),w.fromArray(o,2*d+3*e).toArray(u,I),I+=3};L(0,1),L(0,3),L(0,6),L(1,2),L(1,7),L(2,3),L(2,4),L(3,5),L(4,5),L(4,7),L(5,6),L(6,7)}return{vertexPosition:o,vertexColor:a,vertexRadius:s,edgePosition1:c,edgePosition2:u,edgeColor:h,edgeRadius:l}},create:function(){var t=this.getAxesData(this.structureView);this.sphereBuffer=new Va(t.vertexPosition,t.vertexColor,t.vertexRadius,void 0,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0})),this.cylinderBuffer=new Ya(t.edgePosition1,t.edgePosition2,t.edgeColor,t.edgeColor,t.edgeRadius,void 0,void 0,this.getBufferParams({openEnded:!0,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0})),this.dataList.push({sview:this.structureView,bufferList:[this.sphereBuffer,this.cylinderBuffer]})},updateData:function(t,e){var i=this.getAxesData(e.sview),n={},r={};t&&!t.position||(n.position=i.vertexPosition,r.position1=i.edgePosition1,r.position2=i.edgePosition2),t&&!t.color||(n.color=i.vertexColor,r.color=i.edgeColor,r.color2=i.edgeColor),t&&!t.radius||(n.radius=i.vertexRadius,r.radius=i.edgeRadius),this.sphereBuffer.setAttributes(n),this.cylinderBuffer.setAttributes(r)}}),Lv.add(\"axes\",ks),Fs.prototype=Object.assign(Object.create(hs.prototype),{constructor:Fs,type:\"ball+stick\",defaultSize:.15,parameters:Object.assign({sphereDetail:!0,radialSegments:!0,openEnded:!0,disableImpostor:!0,aspectRatio:{type:\"number\",precision:1,max:10,min:1},lineOnly:{type:\"boolean\",rebuild:!0},cylinderOnly:{type:\"boolean\",rebuild:!0},multipleBond:{type:\"select\",rebuild:!0,options:{off:\"off\",symmetric:\"symmetric\",offset:\"offset\"}},bondScale:{type:\"number\",precision:2,max:1,min:.01},bondSpacing:{type:\"number\",precision:2,max:2,min:.5}},hs.prototype.parameters),init:function(t){var e=t||{};e.radius=d(e.radius,this.defaultSize),this.aspectRatio=d(e.aspectRatio,2),this.lineOnly=d(e.lineOnly,!1),this.cylinderOnly=d(e.cylinderOnly,!1),this.multipleBond=d(e.multipleBond,\"off\"),this.bondSpacing=d(e.bondSpacing,1),this.bondScale=d(e.bondScale,.4),hs.prototype.init.call(this,e)},getAtomParams:function(t,e){return e=Object.assign({radiusParams:{radius:this.radius,scale:this.scale*this.aspectRatio}},e),hs.prototype.getAtomParams.call(this,t,e)},getAtomData:function(t,e,i){return t.getAtomData(this.getAtomParams(e,i))},getBondParams:function(t,e){return e=Object.assign({multipleBond:this.multipleBond,bondSpacing:this.bondSpacing,bondScale:this.bondScale},e),hs.prototype.getBondParams.call(this,t,e)},getBondData:function(t,e,i){return t.getBondData(this.getBondParams(e,i))},createData:function(t){var e=this.getBondData(t),i=[];if(this.lineOnly)this.lineBuffer=new ls(e.position1,e.position2,e.color1,e.color2,this.getBufferParams()),\ni.push(this.lineBuffer);else{var n=new Ya(e.position1,e.position2,e.color1,e.color2,e.radius,e.pickingColor1,e.pickingColor2,this.getBufferParams({openEnded:this.openEnded,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0}));if(i.push(n),!this.cylinderOnly){var r=this.getAtomData(t),o=new Va(r.position,r.color,r.radius,r.pickingColor,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0}));i.push(o)}}return{bufferList:i}},updateData:function(t,e){\"off\"!==this.multipleBond&&t&&t.radius&&(t.position=!0);var i=this.getBondData(e.sview,t);if(this.lineOnly){var n={};t&&!t.position||(n.from=i.position1,n.to=i.position2),t&&!t.color||(n.color=i.color1,n.color2=i.color2),e.bufferList[0].setAttributes(n)}else{var r={};if(t&&!t.position||(r.position1=i.position1,r.position2=i.position2),t&&!t.color||(r.color=i.color1,r.color2=i.color2),t&&!t.radius||(r.radius=i.radius),e.bufferList[0].setAttributes(r),!this.cylinderOnly){var o=this.getAtomData(e.sview,t),a={};t&&!t.position||(a.position=o.position),t&&!t.color||(a.color=o.color),t&&!t.radius||(a.radius=o.radius),e.bufferList[1].setAttributes(a)}}},setParameters:function(t){var e=!1,i={};return t&&(t.aspectRatio||t.bondSpacing||t.bondScale)&&(i.radius=!0,Mv&&!this.disableImpostor||(e=!0)),hs.prototype.setParameters.call(this,t,i,e),this}}),Lv.add(\"ball+stick\",Fs),zs.prototype=Object.assign(Object.create(Fs.prototype),{constructor:zs,type:\"backbone\",defaultSize:.25,parameters:Object.assign({},Fs.prototype.parameters,{multipleBond:null,bondSpacing:null}),init:function(t){var e=t||{};e.aspectRatio=d(e.aspectRatio,1),Fs.prototype.init.call(this,e)},getAtomData:function(t,e,i){return t.getBackboneAtomData(this.getAtomParams(e,i))},getBondData:function(t,e,i){var n=this.getBondParams(e,i);return n.colorParams.backbone=!0,t.getBackboneBondData(n)}}),Lv.add(\"backbone\",zs),Bs.prototype=Object.assign(Object.create(Fs.prototype),{constructor:Bs,type:\"base\",defaultSize:.3,parameters:Object.assign({},Fs.prototype.parameters,{multipleBond:null,bondSpacing:null}),init:function(t){var e=t||{};e.aspectRatio=d(e.aspectRatio,1),Fs.prototype.init.call(this,e)},getAtomData:function(t,e,i){return t.getRungAtomData(this.getAtomParams(e,i))},getBondData:function(t,e,i){var n=this.getBondParams(e,i);return n.colorParams.rung=!0,t.getRungBondData(n)}}),Lv.add(\"base\",Bs),js.prototype={constructor:js,getAtomIterator:function(t,e){function i(){var t=this.get(u);return u+=1,t}function n(i){var n=h[c%4];if(n.index=o.getAtomIndexByType(i,t),e&&i>0&&ie)&&(s=!0,r.add_unsafe(n.index),o.addBond(a,n,1))}s&&r.add_unsafe(a.index)});var a=new Zv(o.count);return a.set_all(!0),Pv.timeEnd(\"Contact within\"),{atomSet:r,bondSet:a,bondStore:o}}},Xs.prototype=Object.assign(Object.create(hs.prototype),{constructor:Xs,type:\"contact\",defaultSize:.25,parameters:Object.assign({contactType:{type:\"select\",rebuild:!0,options:{polar:\"polar\",polarBackbone:\"polar backbone\"}},maxDistance:{type:\"number\",precision:1,max:10,min:.1,rebuild:!0},maxAngle:{type:\"integer\",max:180,min:0,rebuild:!0},radialSegments:!0,disableImpostor:!0},hs.prototype.parameters),init:function(t){var e=t||{};e.radius=d(e.radius,this.defaultSize),this.contactType=d(e.contactType,\"polarBackbone\"),this.maxDistance=d(e.maxDistance,3.5),this.maxAngle=d(e.maxAngle,40),hs.prototype.init.call(this,e)},getContactData:function(t){var e={polar:Hs,polarBackbone:Ws},i=e[this.contactType](t,this.maxDistance,this.maxAngle);return i},getBondData:function(t,e,i){return t.getBondData(this.getBondParams(e,i))},createData:function(t){var e=this.getContactData(t),i={bondSet:e.bondSet,bondStore:e.bondStore},n=this.getBondData(t,void 0,i),r=new Ya(n.position1,n.position2,n.color1,n.color2,n.radius,n.pickingColor1,n.pickingColor2,this.getBufferParams({openEnded:!1,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0}));return{bufferList:[r],bondSet:e.bondSet,bondStore:e.bondStore}},updateData:function(t,e){if(!t||t.position){var i=this.getContactData(e.sview);e.bondSet=i.bondSet,e.bondStore=i.bondStore}var n={bondSet:e.bondSet,bondStore:e.bondStore},r=this.getBondData(e.sview,t,n),o={};t&&!t.position||(o.position=Er(r.position1,r.position2),o.position1=r.position1,o.position2=r.position2),t&&!t.color||(o.color=r.color1,o.color2=r.color2),t&&!t.radius||(o.radius=r.radius),e.bufferList[0].setAttributes(o)}}),Lv.add(\"contact\",Xs),Ov.add(\"shader/SDFFont.vert\",\"uniform float nearClip;\\nuniform float clipRadius;\\nuniform vec3 clipCenter;\\nuniform float xOffset;\\nuniform float yOffset;\\nuniform float zOffset;\\nuniform bool ortho;\\nvarying vec3 vViewPosition;\\nvarying vec2 texCoord;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nattribute vec2 mapping;\\nattribute vec2 inputTexCoord;\\nattribute float inputSize;\\n#include color_pars_vertex\\n#include common\\nvoid main(void){\\n#include color_vertex\\ntexCoord = inputTexCoord;\\nfloat _zOffset = zOffset;\\nif( texCoord.x == 10.0 ){\\n_zOffset -= 0.001;\\n}\\nvec3 pos = position;\\nif( ortho ){\\npos += normalize( cameraPosition ) * _zOffset;\\n}\\nvec4 cameraPos = modelViewMatrix * vec4( pos, 1.0 );\\nvec4 cameraCornerPos = vec4( cameraPos.xyz, 1.0 );\\ncameraCornerPos.xy += mapping * inputSize * 0.01;\\ncameraCornerPos.x += xOffset;\\ncameraCornerPos.y += yOffset;\\nif( !ortho ){\\ncameraCornerPos.xyz += normalize( -cameraCornerPos.xyz ) * _zOffset;\\n}\\ngl_Position = projectionMatrix * cameraCornerPos;\\nvViewPosition = -cameraCornerPos.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n#include radiusclip_vertex\\n}\"),Ov.add(\"shader/SDFFont.frag\",\"uniform sampler2D fontTexture;\\nuniform float opacity;\\nuniform bool showBorder;\\nuniform vec3 borderColor;\\nuniform float borderWidth;\\nuniform vec3 backgroundColor;\\nuniform float backgroundOpacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\nvarying vec2 texCoord;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\n#ifdef SDF\\nconst float smoothness = 16.0;\\n#else\\nconst float smoothness = 256.0;\\n#endif\\nconst float gamma = 2.2;\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\nif( texCoord.x > 1.0 ){\\ngl_FragColor = vec4( backgroundColor, backgroundOpacity );\\n}else{\\nfloat sdf = texture2D( fontTexture, texCoord ).a;\\nif( showBorder ) sdf += borderWidth;\\nfloat w = clamp(\\nsmoothness * ( abs( dFdx( texCoord.x ) ) + abs( dFdy( texCoord.y ) ) ),\\n0.0,\\n0.5\\n);\\nfloat a = smoothstep( 0.5 - w, 0.5 + w, sdf );\\na = pow( a, 1.0 / gamma );\\nif( a < 0.2 ) discard;\\na *= opacity;\\nvec3 outgoingLight = vColor;\\nif( showBorder && sdf < ( 0.5 + borderWidth ) ){\\noutgoingLight = borderColor;\\n}\\ngl_FragColor = vec4( outgoingLight, a );\\n}\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\");var sy=function(){var t={};return function(e){var i=JSON.stringify(e);return void 0===t[i]&&(t[i]=new qs(e)),t[i]}}();qs.prototype={constructor:qs,build:function(){var t=this.size+2*this.outline+Math.round(this.size/4),e=this.width/4,i=document.createElement(\"canvas\");i.width=e,i.height=t;var n=i.getContext(\"2d\");n.font=this.style+\" \"+this.variant+\" \"+this.weight+\" \"+this.size+\"px \"+this.font,n.fillStyle=\"#FF0000\",n.textAlign=\"left\",n.textBaseline=\"bottom\",n.lineJoin=\"round\";for(var r=[],o=3*this.outline,a=0;athis.width&&(this.currentX=0,this.currentY+=this.scratchH),this.currentY+this.scratchH>this.height&&console.warn(\"canvas to small\"),this.mapped[t]={x:this.currentX,y:this.currentY,w:this.scratchW,h:this.scratchH},this.context2.drawImage(this.canvas,0,0,this.scratchW,this.scratchH,this.currentX,this.currentY,this.scratchW,this.scratchH),this.currentX+=this.scratchW),this.mapped[t]},draw:function(t){var e=this.lineHeight,i=this.outline,n=this.context,r=this.scratch,o=this.maxWidth,a=this.colors,s=i,c=e-this.outline,u=n.measureText(t),h=Math.min(o,Math.ceil(u.width+2*s+1));n.clearRect(0,0,h,e);var l,d,f,p,m;if(0===this.outline)for(n.fillText(t,s,c),p=n.getImageData(0,0,h,e),m=p.data,f=3,l=0,d=m.length/4;l0;--l)f=l>1?2*l-2:l,n.strokeStyle=a[f-1],n.lineWidth=f,n.strokeText(t,s,c);n.globalCompositeOperation=\"multiply\",n.fillStyle=\"#FF00FF\",n.fillText(t,s,c),p=n.getImageData(0,0,h,e),m=p.data,f=0;var g=this.gamma;for(l=0,d=m.length/4;l0&&(i-=h,r=r.subarray(0,3*i));var l=new Zv(s.count);return l.set_all(!0),{text:n,position:r,bondSet:l,bondStore:s}},getBondData:function(t,e,i){return t.getBondData(this.getBondParams(e,i))},create:function(){if(0!==this.structureView.atomCount){var t=this.atomPair.length;if(0!==t){var e=this.getDistanceData(this.structureView,this.atomPair),i=new Ct(this.labelColor);this.textBuffer=new Ys(e.position,Ir(t,this.labelSize),Lr(t,i.r,i.g,i.b),e.text,this.getBufferParams({fontFamily:this.fontFamily,fontStyle:this.fontStyle,fontWeight:this.fontWeight,sdf:this.sdf,zOffset:this.labelZOffset,opacity:1,visible:this.labelVisible}));var n={bondSet:e.bondSet,bondStore:e.bondStore},r=this.getBondData(this.structureView,void 0,n);this.cylinderBuffer=new Ya(r.position1,r.position2,r.color1,r.color2,r.radius,void 0,void 0,this.getBufferParams({openEnded:!1,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0})),this.dataList.push({sview:this.structureView,bondSet:e.bondSet,bondStore:e.bondStore,position:e.position,bufferList:[this.textBuffer,this.cylinderBuffer]})}}},update:function(t){t.position?this.build():hs.prototype.update.call(this,t)},updateData:function(t,e){var i={bondSet:e.bondSet,bondStore:e.bondStore},n=this.getBondData(e.sview,t,i),r={},o={},a=this.atomPair.length;if(t.labelSize&&(o.size=Ir(a,this.labelSize)),t.labelColor){var s=new Ct(this.labelColor);o.color=Lr(a,s.r,s.g,s.b)}t.color&&(r.color=n.color1,r.color2=n.color2),(t.radius||t.scale)&&(r.radius=n.radius),this.textBuffer.setAttributes(o),this.cylinderBuffer.setAttributes(r)},setVisibility:function(t,e){return hs.prototype.setVisibility.call(this,t,!0),this.textBuffer&&this.textBuffer.setVisibility(this.labelVisible&&this.visible),e||this.viewer.requestRender(),this},setParameters:function(t){var e=!1,i={};return t&&t.labelSize&&(i.labelSize=!0),t&&t.labelColor&&(i.labelColor=!0),hs.prototype.setParameters.call(this,t,i,e),t&&void 0!==t.labelVisible&&this.setVisibility(this.visible),this}}),Lv.add(\"distance\",Zs),Ks.prototype=Object.assign(Object.create(Oa.prototype),{constructor:Ks,setAttributes:function(t){var e,i,n,r=this.geometry.attributes;t.position&&t.vector&&(e=t.position,i=t.vector,n=r.position.array,r.position.needsUpdate=!0);var o,a,s=this.size,c=this.scale;if(t.position&&t.vector)for(var u=0;u radius2) {\\nspaceposition.y = mapping.y * 1.5 * radius1;\\nspaceposition.x = mapping.x * 1.5 * radius1;\\n} else {\\nspaceposition.y = mapping.y * 1.5 * radius2;\\nspaceposition.x = mapping.x * 1.5 * radius2;\\n}\\nspaceposition.w = 1.0;\\nvec4 e3 = vec4( 1.0 );\\nvec3 e1, e1_temp, e2, e2_temp;\\ne3.xyz = normalize(position_atom1-position_atom2);\\nif (e3.z == 0.0) { e3.z = 0.0000000000001;}\\nif ( (position_atom1.x - position_atom2.x) == 0.0) { position_atom1.x += 0.001;}\\nif ( (position_atom1.y - position_atom2.y) == 0.0) { position_atom1.y += 0.001;}\\nif ( (position_atom1.z - position_atom2.z) == 0.0) { position_atom1.z += 0.001;}\\nvec4 focus = vec4( 1.0 );\\nfocus.x = ( position_atom1.x*position_atom1.x - position_atom2.x*position_atom2.x +\\n( radius2*radius2 - radius1*radius1 )*e3.x*e3.x/shrink )/(2.0*(position_atom1.x - position_atom2.x));\\nfocus.y = ( position_atom1.y*position_atom1.y - position_atom2.y*position_atom2.y +\\n( radius2*radius2 - radius1*radius1 )*e3.y*e3.y/shrink )/(2.0*(position_atom1.y - position_atom2.y));\\nfocus.z = ( position_atom1.z*position_atom1.z - position_atom2.z*position_atom2.z +\\n( radius2*radius2 - radius1*radius1 )*e3.z*e3.z/shrink )/(2.0*(position_atom1.z - position_atom2.z));\\ne1.x = 1.0;\\ne1.y = 1.0;\\ne1.z = ( (e3.x*focus.x + e3.y*focus.y + e3.z*focus.z) - e1.x*e3.x - e1.y*e3.y)/e3.z;\\ne1_temp = e1 - focus.xyz;\\ne1 = normalize(e1_temp);\\ne2_temp = e1.yzx * e3.zxy - e1.zxy * e3.yzx;\\ne2 = normalize(e2_temp);\\nmat3 R= mat3( e1.xyz, e2.xyz, e3.xyz );\\nvertex_position.xyz = R * spaceposition.xyz;\\nvertex_position.w = 1.0;\\nvertex_position.x += (position_atom1.x+position_atom2.x) / 2.0;\\nvertex_position.y += (position_atom1.y+position_atom2.y) / 2.0;\\nvertex_position.z += (position_atom1.z+position_atom2.z) / 2.0;\\ngl_Position = modelViewProjectionMatrix * vertex_position;\\nvec4 i_near, i_far;\\nvec4 near = gl_Position;\\nnear.z = 0.0 ;\\nnear = modelViewProjectionMatrixInverse * near;\\ni_near = near;\\nvec4 far = gl_Position;\\nfar.z = far.w ;\\ni_far = modelViewProjectionMatrixInverse * far;\\nprime1 = vec4( position_atom1 - (position_atom1 - focus.xyz)*shrink, 1.0 );\\nprime2 = vec4( position_atom2 - (position_atom2 - focus.xyz)*shrink, 1.0 );\\nfloat Rsquare = (radius1*radius1/shrink) - (\\n(position_atom1.x - focus.x)*(position_atom1.x - focus.x) +\\n(position_atom1.y - focus.y)*(position_atom1.y - focus.y) +\\n(position_atom1.z - focus.z)*(position_atom1.z - focus.z)\\n);\\nfocus.w = Rsquare;\\nmatrix_near = mat4( i_near, i_far, focus, e3 );\\ngl_Position.z = 1.0;\\n}\"),Ov.add(\"shader/HyperballStickImpostor.frag\",\"#define STANDARD\\n#define IMPOSTOR\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float shrink;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 modelViewProjectionMatrix;\\nuniform mat4 modelViewMatrixInverseTranspose;\\nuniform mat4 projectionMatrix;\\nvarying mat4 matrix_near;\\nvarying vec4 prime1;\\nvarying vec4 prime2;\\nvarying float vRadius;\\nvarying float vRadius2;\\n#ifdef PICKING\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\nvarying vec3 vPickingColor2;\\n#else\\nvarying vec3 vColor1;\\nvarying vec3 vColor2;\\n#include common\\n#include fog_pars_fragment\\n#include bsdfs\\n#include lights_pars\\n#include lights_physical_pars_fragment\\n#endif\\nbool interior = false;\\nfloat calcClip( vec4 cameraPos ){\\nreturn dot( cameraPos, vec4( 0.0, 0.0, 1.0, nearClip - 0.5 ) );\\n}\\nfloat calcClip( vec3 cameraPos ){\\nreturn calcClip( vec4( cameraPos, 1.0 ) );\\n}\\nfloat calcDepth( in vec3 cameraPos ){\\nvec2 clipZW = cameraPos.z * projectionMatrix[2].zw + projectionMatrix[3].zw;\\nreturn 0.5 + 0.5 * clipZW.x / clipZW.y;\\n}\\nstruct Ray {\\nvec3 origin ;\\nvec3 direction ;\\n};\\nbool cutoff_plane (vec3 M, vec3 cutoff, vec3 x3){\\nfloat a = x3.x;\\nfloat b = x3.y;\\nfloat c = x3.z;\\nfloat d = -x3.x*cutoff.x-x3.y*cutoff.y-x3.z*cutoff.z;\\nfloat l = a*M.x+b*M.y+c*M.z+d;\\nif (l<0.0) {return true;}\\nelse{return false;}\\n}\\nvec3 isect_surf(Ray r, mat4 matrix_coef){\\nvec4 direction = vec4(r.direction, 0.0);\\nvec4 origin = vec4(r.origin, 1.0);\\nfloat a = dot(direction,(matrix_coef*direction));\\nfloat b = dot(origin,(matrix_coef*direction));\\nfloat c = dot(origin,(matrix_coef*origin));\\nfloat delta =b*b-a*c;\\ngl_FragColor.a = 1.0;\\nif (delta<0.0){\\ndiscard;\\n}\\nfloat t1 =(-b-sqrt(delta))/a;\\nreturn r.origin+t1*r.direction;\\n}\\nvec3 isect_surf2(Ray r, mat4 matrix_coef){\\nvec4 direction = vec4(r.direction, 0.0);\\nvec4 origin = vec4(r.origin, 1.0);\\nfloat a = dot(direction,(matrix_coef*direction));\\nfloat b = dot(origin,(matrix_coef*direction));\\nfloat c = dot(origin,(matrix_coef*origin));\\nfloat delta =b*b-a*c;\\ngl_FragColor.a = 1.0;\\nif (delta<0.0){\\ndiscard;\\n}\\nfloat t2 =(-b+sqrt(delta))/a;\\nreturn r.origin+t2*r.direction;\\n}\\nRay primary_ray(vec4 near1, vec4 far1){\\nvec3 near=near1.xyz/near1.w;\\nvec3 far=far1.xyz/far1.w;\\nreturn Ray(near,far-near);\\n}\\nfloat update_z_buffer(vec3 M, mat4 ModelViewP){\\nfloat depth1;\\nvec4 Ms=(ModelViewP*vec4(M,1.0));\\nreturn depth1=(1.0+Ms.z/Ms.w)/2.0;\\n}\\nvoid main(){\\nfloat radius = max( vRadius, vRadius2 );\\nvec4 i_near, i_far, focus;\\nvec3 e3, e1, e1_temp, e2;\\ni_near = vec4(matrix_near[0][0],matrix_near[0][1],matrix_near[0][2],matrix_near[0][3]);\\ni_far = vec4(matrix_near[1][0],matrix_near[1][1],matrix_near[1][2],matrix_near[1][3]);\\nfocus = vec4(matrix_near[2][0],matrix_near[2][1],matrix_near[2][2],matrix_near[2][3]);\\ne3 = vec3(matrix_near[3][0],matrix_near[3][1],matrix_near[3][2]);\\ne1.x = 1.0;\\ne1.y = 1.0;\\ne1.z = ( (e3.x*focus.x + e3.y*focus.y + e3.z*focus.z) - e1.x*e3.x - e1.y*e3.y)/e3.z;\\ne1_temp = e1 - focus.xyz;\\ne1 = normalize(e1_temp);\\ne2 = normalize(cross(e1,e3));\\nvec4 equation = focus;\\nfloat shrinkfactor = shrink;\\nfloat t1 = -1.0/(1.0-shrinkfactor);\\nfloat t2 = 1.0/(shrinkfactor);\\nvec4 colonne1, colonne2, colonne3, colonne4;\\nmat4 mat;\\nvec3 equation1 = vec3(t2,t2,t1);\\nfloat A1 = - e1.x*equation.x - e1.y*equation.y - e1.z*equation.z;\\nfloat A2 = - e2.x*equation.x - e2.y*equation.y - e2.z*equation.z;\\nfloat A3 = - e3.x*equation.x - e3.y*equation.y - e3.z*equation.z;\\nfloat A11 = equation1.x*e1.x*e1.x + equation1.y*e2.x*e2.x + equation1.z*e3.x*e3.x;\\nfloat A21 = equation1.x*e1.x*e1.y + equation1.y*e2.x*e2.y + equation1.z*e3.x*e3.y;\\nfloat A31 = equation1.x*e1.x*e1.z + equation1.y*e2.x*e2.z + equation1.z*e3.x*e3.z;\\nfloat A41 = equation1.x*e1.x*A1 + equation1.y*e2.x*A2 + equation1.z*e3.x*A3;\\nfloat A22 = equation1.x*e1.y*e1.y + equation1.y*e2.y*e2.y + equation1.z*e3.y*e3.y;\\nfloat A32 = equation1.x*e1.y*e1.z + equation1.y*e2.y*e2.z + equation1.z*e3.y*e3.z;\\nfloat A42 = equation1.x*e1.y*A1 + equation1.y*e2.y*A2 + equation1.z*e3.y*A3;\\nfloat A33 = equation1.x*e1.z*e1.z + equation1.y*e2.z*e2.z + equation1.z*e3.z*e3.z;\\nfloat A43 = equation1.x*e1.z*A1 + equation1.y*e2.z*A2 + equation1.z*e3.z*A3;\\nfloat A44 = equation1.x*A1*A1 + equation1.y*A2*A2 + equation1.z*A3*A3 - equation.w;\\ncolonne1 = vec4(A11,A21,A31,A41);\\ncolonne2 = vec4(A21,A22,A32,A42);\\ncolonne3 = vec4(A31,A32,A33,A43);\\ncolonne4 = vec4(A41,A42,A43,A44);\\nmat = mat4(colonne1,colonne2,colonne3,colonne4);\\nRay ray = primary_ray(i_near,i_far) ;\\nvec3 M;\\nM = isect_surf(ray, mat);\\nif (cutoff_plane(M, prime1.xyz, -e3) || cutoff_plane(M, prime2.xyz, e3)){ discard; }\\nvec4 M1 = vec4(M,1.0);\\nvec4 M2 = mat*M1;\\nvec3 _normal = ( modelViewMatrixInverseTranspose * M2 ).xyz;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\n#ifdef NEAR_CLIP\\nif( calcClip( modelViewMatrix * vec4( M, 1.0 ) ) > 0.0 ){\\nM = isect_surf2(ray, mat);\\nif( calcClip( modelViewMatrix * vec4( M, 1.0 ) ) > 0.0 )\\ndiscard;\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / radius ) );\\n}\\n}else if( gl_FragDepthEXT <= 0.0 ){\\nM = isect_surf2(ray, mat);\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix);\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / radius );\\n}\\n}\\n#else\\nif( gl_FragDepthEXT <= 0.0 ){\\nM = isect_surf2(ray, mat);\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / radius );\\n}\\n}\\n#endif\\nif (cutoff_plane(M, prime1.xyz, -e3) || cutoff_plane(M, prime2.xyz, e3)){ discard; }\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\nfloat distance_ratio = ((M.x-prime2.x)*e3.x + (M.y-prime2.y)*e3.y +(M.z-prime2.z)*e3.z) /\\ndistance(prime2.xyz,prime1.xyz);\\n#ifdef PICKING\\nif( distance_ratio > 0.5 ){\\ngl_FragColor = vec4( vPickingColor, objectId );\\n}else{\\ngl_FragColor = vec4( vPickingColor2, objectId );\\n}\\n#else\\nvec3 vViewPosition = -( modelViewMatrix * vec4( M, 1.0 ) ).xyz;\\nvec3 vNormal = _normal;\\nvec3 vColor;\\nif( distance_ratio>0.5 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\nvec3 normal = normalize( vNormal );\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\"),\ntc.prototype=Object.assign(Object.create(Ua.prototype),{constructo:tc});var cy=new O;ic.prototype=Object.assign(Object.create(tc.prototype),{constructor:ic,parameters:Object.assign({shrink:{uniform:!0}},tc.prototype.parameters)}),rc.prototype=Object.assign(Object.create(Js.prototype),{constructor:rc,type:\"hyperball\",defaultSize:1,parameters:Object.assign({shrink:{type:\"number\",precision:3,max:1,min:.001,buffer:!0}},Js.prototype.parameters,{multipleBond:null,bondSpacing:null}),init:function(t){var e=t||{};e.scale=d(e.scale,.2),e.radius=d(e.radius,\"vdw\"),this.shrink=d(e.shrink,.12),Js.prototype.init.call(this,e)},getBondParams:function(t,e){return t&&!t.radius||(e=Object.assign({radius2:!0},e)),Js.prototype.getBondParams.call(this,t,e)},createData:function(t){var e=t.getAtomData(this.getAtomParams()),i=t.getBondData(this.getBondParams()),n=new Va(e.position,e.color,e.radius,e.pickingColor,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0}));this.__center=new Float32Array(3*t.bondCount);var r=new nc(i.position1,i.position2,i.color1,i.color2,i.radius1,i.radius2,i.pickingColor1,i.pickingColor2,this.getBufferParams({shrink:this.shrink,radialSegments:this.radialSegments,dullInterior:!0}),this.disableImpostor);return{bufferList:[n,r]}},updateData:function(t,e){var i=e.sview.getAtomData(this.getAtomParams()),n=e.sview.getBondData(this.getBondParams()),r={},o={};if(!t||t.position){r.position=i.position;var a=n.position1,s=n.position2;o.position=Er(a,s,this.__center),o.position1=a,o.position2=s}t&&!t.color||(r.color=i.color,o.color=n.color1,o.color2=n.color2),t&&!t.radius||(r.radius=i.radius,o.radius=n.radius1,o.radius2=n.radius2),e.bufferList[0].setAttributes(r),e.bufferList[1].setAttributes(o)}}),Lv.add(\"hyperball\",rc),oc.prototype={constructor:oc,atomLabel:function(t){var e,i=this.type;switch(i){case\"atomname\":e=t.atomname;break;case\"atomindex\":e=\"\"+t.index;break;case\"occupancy\":e=t.occupancy.toFixed(2);break;case\"bfactor\":e=t.bfactor.toFixed(2);break;case\"serial\":e=\"\"+t.serial;break;case\"element\":e=t.element;break;case\"atom\":e=t.atomname+\"|\"+t.index;break;case\"resname\":e=t.resname;break;case\"resno\":e=\"\"+t.resno;break;case\"res\":var n=t.resname.toUpperCase();e=(Om[n]||n)+t.resno;break;case\"text\":e=this.text[t.index];break;default:e=t.qualifiedName()}return void 0===e?\"\":e}},oc.types={\"\":\"\",atomname:\"atom name\",atomindex:\"atom index\",occupancy:\"occupancy\",bfactor:\"b-factor\",serial:\"serial\",element:\"element\",atom:\"atom name + index\",resname:\"residue name\",resno:\"residue no\",res:\"residue name + no\",text:\"text\",qualified:\"qualified name\"},ac.prototype=Object.assign(Object.create(hs.prototype),{constructor:ac,type:\"label\",parameters:Object.assign({labelType:{type:\"select\",options:oc.types,rebuild:!0},labelText:{type:\"hidden\",rebuild:!0},fontFamily:{type:\"select\",options:{\"sans-serif\":\"sans-serif\",monospace:\"monospace\",serif:\"serif\"},buffer:!0},fontStyle:{type:\"select\",options:{normal:\"normal\",italic:\"italic\"},buffer:!0},fontWeight:{type:\"select\",options:{normal:\"normal\",bold:\"bold\"},buffer:!0},sdf:{type:\"boolean\",buffer:!0},xOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},yOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},zOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},attachment:{type:\"select\",options:{\"bottom-left\":\"bottom-left\",\"bottom-center\":\"bottom-center\",\"bottom-right\":\"bottom-right\",\"middle-left\":\"middle-left\",\"middle-center\":\"middle-center\",\"middle-right\":\"middle-right\",\"top-left\":\"top-left\",\"top-center\":\"top-center\",\"top-right\":\"top-right\"},rebuild:!0},showBorder:{type:\"boolean\",buffer:!0},borderColor:{type:\"color\",buffer:!0},borderWidth:{type:\"number\",precision:2,max:.3,min:0,buffer:!0},showBackground:{type:\"boolean\",rebuild:!0},backgroundColor:{type:\"color\",buffer:!0},backgroundMargin:{type:\"number\",precision:2,max:2,min:0,rebuild:!0},backgroundOpacity:{type:\"range\",step:.01,max:1,min:0,buffer:!0}},hs.prototype.parameters,{side:null,flatShaded:null,wireframe:null,linewidth:null,roughness:null,metalness:null,diffuse:null}),init:function(t){var e=t||{};this.labelType=d(e.labelType,\"res\"),this.labelText=d(e.labelText,{}),this.fontFamily=d(e.fontFamily,\"sans-serif\"),this.fontStyle=d(e.fontStyle,\"normal\"),this.fontWeight=d(e.fontWeight,\"bold\"),this.sdf=d(e.sdf,\"Chrome\"===_v),this.xOffset=d(e.xOffset,0),this.yOffset=d(e.yOffset,0),this.zOffset=d(e.zOffset,.5),this.attachment=d(e.attachment,\"bottom-left\"),this.showBorder=d(e.showBorder,!1),this.borderColor=d(e.borderColor,\"lightgrey\"),this.borderWidth=d(e.borderWidth,.15),this.showBackground=d(e.showBackground,!1),this.backgroundColor=d(e.backgroundColor,\"lightgrey\"),this.backgroundMargin=d(e.backgroundMargin,.5),this.backgroundOpacity=d(e.backgroundOpacity,1),hs.prototype.init.call(this,e)},createData:function(t){var e={position:!0,color:!0,radius:!0},i=t.getAtomData(this.getAtomParams(e)),n=[],r=new oc(this.labelType,this.labelText);t.eachAtom(function(t){n.push(r.atomLabel(t))});var o=new Ys(i.position,i.radius,i.color,n,this.getBufferParams({fontFamily:this.fontFamily,fontStyle:this.fontStyle,fontWeight:this.fontWeight,sdf:this.sdf,xOffset:this.xOffset,yOffset:this.yOffset,zOffset:this.zOffset,attachment:this.attachment,showBorder:this.showBorder,borderColor:this.borderColor,borderWidth:this.borderWidth,showBackground:this.showBackground,backgroundColor:this.backgroundColor,backgroundMargin:this.backgroundMargin,backgroundOpacity:this.backgroundOpacity}));return{bufferList:[o]}},updateData:function(t,e){var i=e.sview.getAtomData(this.getAtomParams(t)),n={};t&&!t.position||(n.position=i.position),t&&!t.radius||(n.size=i.radius),t&&!t.color||(n.color=i.color),e.bufferList[0].setAttributes(n)}}),Lv.add(\"label\",ac),sc.prototype=Object.assign(Object.create(hs.prototype),{constructor:sc,type:\"line\",parameters:Object.assign({multipleBond:{type:\"select\",rebuild:!0,options:{off:\"off\",symmetric:\"symmetric\",offset:\"offset\"}},bondSpacing:{type:\"number\",precision:2,max:2,min:.5}},ts.prototype.parameters,{flatShaded:null,side:null,wireframe:null,roughness:null,metalness:null,diffuse:null}),init:function(t){var e=t||{};this.multipleBond=d(e.multipleBond,\"off\"),this.bondSpacing=d(e.bondSpacing,1),hs.prototype.init.call(this,e)},getBondParams:function(t,e){return e=Object.assign({multipleBond:this.multipleBond,bondSpacing:this.bondSpacing,radiusParams:{radius:.1,scale:1}},e),hs.prototype.getBondParams.call(this,t,e)},createData:function(t){var e={position:!0,color:!0},i=t.getBondData(this.getBondParams(e)),n=new ls(i.position1,i.position2,i.color1,i.color2,this.getBufferParams());return{bufferList:[n]}},updateData:function(t,e){var i=e.sview.getBondData(this.getBondParams(t)),n={};t&&!t.position||(n.from=i.position1,n.to=i.position2),t&&!t.color||(n.color=i.color1,n.color2=i.color2),e.bufferList[0].setAttributes(n)},setParameters:function(t){var e=!1,i={};return t&&t.bondSpacing&&(i.position=!0),hs.prototype.setParameters.call(this,t,i,e),this}}),Lv.add(\"line\",sc),uc.__deps=[Aa,Sa,Ma,Hr,cc],lc.__deps=[Aa,Ma,Ir,Hr,eo,Zr,io,hc,d],Tv.add(\"molsurf\",function(t,e){var i=t.data.args,n=t.data.params;if(i&&n){var r=\"av\"===n.type?lc:uc,o=new r(i.coordList,i.radiusList,i.indexList),a=o.getSurface(n.type,n.probeRadius,n.scaleFactor,n.cutoff,!0,n.smooth,n.contour),s=[a.position.buffer,a.index.buffer];a.normal&&s.push(a.normal.buffer),a.atomindex&&s.push(a.atomindex.buffer),e({sd:a,p:n},s)}},[uc,lc]),dc.prototype={getAtomData:function(){return this.structure.getAtomData({what:{position:!0,radius:!0,index:!0},radiusParams:{radius:\"vdw\",scale:1}})},makeSurface:function(t,e){var i=new pa(\"\",\"\",t);return i.info.type=e.type,i.info.probeRadius=e.probeRadius,i.info.scaleFactor=e.scaleFactor,i.info.smooth=e.smooth,i.info.cutoff=e.cutoff,i},getSurface:function(t){var e=t||{},i=this.getAtomData(),n=i.position,r=i.radius,o=i.index,a=\"av\"===e.type?lc:uc,s=new a(n,r,o),c=s.getSurface(e.type,e.probeRadius,e.scaleFactor,e.cutoff,!0,e.smooth,e.contour);return this.makeSurface(c,e)},getSurfaceWorker:function(t,e){var i=Object.assign({},t);if(window.Worker){void 0===this.worker&&(this.worker=new ma(\"molsurf\"));var n=this.getAtomData(),r=n.position,o=n.radius,a=n.index,s={args:{coordList:r,radiusList:o,indexList:a},params:i},c=[r.buffer,o.buffer,a.buffer];this.worker.post(s,c,function(t){var n=t.data.sd;e(this.makeSurface(n,i))}.bind(this),function(t){console.warn(\"MolecularSurface.getSurfaceWorker error - trying without worker\",t),this.worker.terminate(),this.worker=void 0;var n=this.getSurface(i);e(n)}.bind(this))}else{var u=this.getSurface(i);e(u)}},dispose:function(){this.worker&&this.worker.terminate()}},fc.prototype=Object.assign(Object.create(Oa.prototype),{constructor:fc,setAttributes:function(t){var e=this.geometry.attributes;t.color&&(e.color.array.set(t.color),e.color.needsUpdate=!0),t.index&&(e.index.array.set(t.index),e.index.needsUpdate=!0)}}),pc.prototype=Object.assign(Object.create(hs.prototype),{constructor:pc,type:\"surface\",parameters:Object.assign({surfaceType:{type:\"select\",rebuild:!0,options:{vws:\"vws\",sas:\"sas\",ms:\"ms\",ses:\"ses\",av:\"av\"}},probeRadius:{type:\"number\",precision:1,max:20,min:0,rebuild:!0},smooth:{type:\"integer\",precision:1,max:10,min:0,rebuild:!0},scaleFactor:{type:\"number\",precision:1,max:5,min:0,rebuild:!0},cutoff:{type:\"number\",precision:2,max:50,min:0,rebuild:!0},contour:{type:\"boolean\",rebuild:!0},background:{type:\"boolean\",rebuild:!0},opaqueBack:{type:\"boolean\",buffer:!0},filterSele:{type:\"text\",rebuild:!0},volume:{type:\"hidden\"},useWorker:{type:\"boolean\",rebuild:!0}},hs.prototype.parameters,{radiusType:null,radius:null,scale:null}),init:function(t){var e=t||{};e.colorScheme=d(e.colorScheme,\"uniform\"),e.colorValue=d(e.colorValue,14540253),this.surfaceType=d(e.surfaceType,\"ms\"),this.probeRadius=d(e.probeRadius,1.4),this.smooth=d(e.smooth,2),this.scaleFactor=d(e.scaleFactor,2),this.cutoff=d(e.cutoff,0),this.contour=d(e.contour,!1),this.background=d(e.background,!1),this.opaqueBack=d(e.opaqueBack,!0),this.filterSele=d(e.filterSele,\"\"),this.volume=d(e.volume,void 0),this.useWorker=d(e.useWorker,!0),hs.prototype.init.call(this,t)},prepareData:function(t,e,i){var n=this.__infoList[e];if(n||(n={},this.__infoList[e]=n),n.molsurf&&n.sele===t.selection.string)i(e);else{if(this.filterSele){var r=t.structure.getView(new On(this.filterSele)),o=r.boundingBox.size(),a=Math.max(o.x,o.y,o.z),s=t.getAtomSetWithinPoint(r.center,a/2);t=t.getView(new On(t.getAtomSetWithinSelection(s,3).toSeleString()))}n.sele=t.selection.string,n.molsurf=new dc(t);var c=this.getSurfaceParams(),u=function(t){n.surface=t,i(e)};this.useWorker?n.molsurf.getSurfaceWorker(c,u):u(n.molsurf.getSurface(c))}},prepare:function(t){if((this.__forceNewMolsurf||this.__sele!==this.selection.string||this.__surfaceParams!==JSON.stringify(this.getSurfaceParams()))&&(this.__infoList.forEach(function(t){t.molsurf.dispose()}.bind(this)),this.__infoList.length=0),0===this.structureView.atomCount)return void t();var e=function(){this.__sele=this.selection.string,this.__surfaceParams=JSON.stringify(this.getSurfaceParams()),this.__forceNewMolsurf=!1,t()}.bind(this),i=\"default\"===this.assembly?this.defaultAssembly:this.assembly,n=this.structure.biomolDict[i];n?n.partList.forEach(function(t,i){var r=t.getView(this.structureView);this.prepareData(r,i,function(t){t===n.partList.length-1&&e()}.bind(this))},this):this.prepareData(this.structureView,0,e)},createData:function(t,e){var i=this.__infoList[e],n=i.surface.getPosition(),r=i.surface.getColor(this.getColorParams()),o=i.surface.getFilteredIndex(this.filterSele,t);if(i.surface.contour){var a=new fc(n,r,o,this.getBufferParams({wireframe:!1}));return{bufferList:[a],info:i}}var s=new is(n,r,o,i.surface.getNormal(),i.surface.getPickingColor(this.getColorParams()),this.getBufferParams({background:this.background,opaqueBack:this.opaqueBack,dullInterior:!1})),c=new ns(s);return{bufferList:[c],info:i}},updateData:function(t,e){var i={};return t.position?(this.__forceNewMolsurf=!0,void this.build()):(t.color&&(i.color=e.info.surface.getColor(this.getColorParams())),t.index&&(i.index=e.info.surface.getFilteredIndex(this.filterSele,e.sview)),void e.bufferList[0].setAttributes(i))},setParameters:function(t,e,i){return e=e||{},t&&t.filterSele&&(e.index=!0),t&&void 0!==t.volume&&(e.color=!0),t&&t.wireframe&&(t.contour||void 0===t.contour&&this.contour)&&(t.wireframe=!1),hs.prototype.setParameters.call(this,t,e,i),this},getSurfaceParams:function(t){var e=Object.assign({type:this.surfaceType,probeRadius:this.probeRadius,scaleFactor:this.scaleFactor,smooth:this.smooth&&!this.contour,cutoff:this.cutoff,contour:this.contour,useWorker:this.useWorker},t);return e},getColorParams:function(){var t=hs.prototype.getColorParams.call(this);return t.volume=this.volume,t},clear:function(){hs.prototype.clear.call(this)},dispose:function(){this.__infoList.forEach(function(t){t.molsurf.dispose()}.bind(this)),this.__infoList.length=0,hs.prototype.dispose.call(this)}}),Lv.add(\"surface\",pc),mc.prototype=Object.assign(Object.create(hs.prototype),{constructor:mc,type:\"point\",parameters:Object.assign({pointSize:{type:\"number\",precision:1,max:100,min:0,buffer:!0},sizeAttenuation:{type:\"boolean\",buffer:!0},sortParticles:{type:\"boolean\",rebuild:!0},useTexture:{type:\"boolean\",buffer:!0},alphaTest:{type:\"range\",step:.001,max:1,min:0,buffer:!0},forceTransparent:{type:\"boolean\",buffer:!0},edgeBleach:{type:\"range\",step:.001,max:1,min:0,buffer:!0}},ts.prototype.parameters,{flatShaded:null,wireframe:null,linewidth:null,roughness:null,metalness:null}),init:function(t){var e=t||{};this.pointSize=d(e.pointSize,1),this.sizeAttenuation=d(e.sizeAttenuation,!0),this.sortParticles=d(e.sortParticles,!1),this.useTexture=d(e.useTexture,!1),this.alphaTest=d(e.alphaTest,.5),this.forceTransparent=d(e.forceTransparent,!1),this.edgeBleach=d(e.edgeBleach,0),hs.prototype.init.call(this,e)},createData:function(t){var e={position:!0,color:!0},i=t.getAtomData(this.getAtomParams(e)),n=new as(i.position,i.color,this.getBufferParams({pointSize:this.pointSize,sizeAttenuation:this.sizeAttenuation,sortParticles:this.sortParticles,useTexture:this.useTexture,alphaTest:this.alphaTest,forceTransparent:this.forceTransparent,edgeBleach:this.edgeBleach}));return{bufferList:[n]}},updateData:function(t,e){var i=e.sview.getAtomData(this.getAtomParams(t)),n={};t&&!t.position||(n.position=i.position),t&&!t.color||(n.color=i.color),e.bufferList[0].setAttributes(n)}}),Lv.add(\"point\",mc),Ov.add(\"shader/Ribbon.vert\",\"#define STANDARD\\nuniform float nearClip;\\nuniform vec3 clipCenter;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nattribute vec3 dir;\\nattribute float size;\\n#ifdef PICKING\\nattribute vec3 pickingColor;\\nvarying vec3 vPickingColor;\\n#else\\n#include color_pars_vertex\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#endif\\n#include common\\nvoid main(void){\\n#ifdef PICKING\\nvPickingColor = pickingColor;\\n#else\\n#include color_vertex\\n#include beginnormal_vertex\\n#include defaultnormal_vertex\\n#ifndef FLAT_SHADED\\nvNormal = normalize( transformedNormal );\\n#endif\\n#endif\\n#include begin_vertex\\ntransformed += normalize( dir ) * size;\\n#include project_vertex\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),gc.prototype=Object.assign(Object.create(Oa.prototype),{constructor:gc,setAttributes:function(t){var e,i,n,r,o,a,s,c,u,h,l,d,f=this.size,p=f/4,m=this.geometry.attributes;t.position&&(e=t.position,s=m.position.array,m.position.needsUpdate=!0),t.normal&&(i=t.normal,c=m.normal.array,m.normal.needsUpdate=!0),t.size&&(n=t.size,u=m.size.array,m.size.needsUpdate=!0),t.dir&&(r=t.dir,h=m.dir.array,m.dir.needsUpdate=!0),t.color&&(o=t.color,l=m.color.array,m.color.needsUpdate=!0),t.pickingColor&&(a=t.pickingColor,d=m.pickingColor.array,m.pickingColor.needsUpdate=!0);var g,v,y,b,x,w,_,S=n?n[0]:null;for(g=0;g_)continue}f=T.substr(5,5).trim(),p=parseInt(T.substr(0,5)),m=parseInt(T.substr(15,5)),A.growIfFull(),A.atomTypeId[M]=S.add(d),A.x[M]=L,A.y[M]=R,A.z[M]=O,A.serial[M]=m,o.addAtom(P,\"\",\"\",f,p,0,\"l\"),M+=1}}}t.Debug&&Pv.time(\"GroParser._parse \"+this.name);var i,n,r=this.structure,o=this.structureBuilder,a=this.firstModelOnly,s=this.asTrajectory,c=this.cAlphaOnly,u=r.frames,h=r.boxes,l=this.streamer.peekLines(3);r.title=l[0].trim();var d,f,p,m,g=l[2].length-l[2].lastIndexOf(\".\")-1,v=5+g,y=20,b=20+v,x=20+2*v,w=parseInt(l[1]),_=w+3,S=r.atomMap,A=r.atomStore;A.resize(w);var M=0,P=0,C=0;this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),r.unitcell=new Tc(h[0][0],h[0][4],h[0][8],90,90,90,\"P 1\"),o.finalize(),r.finalizeAtoms(),Yo(r),Zo(r),r.finalizeBonds(),ey(r),ea(r),t.Debug&&Pv.timeEnd(\"GroParser._parse \"+this.name)}}),Rv.add(\"gro\",Ec),Lc.prototype={constructor:Lc,type:\"Entity\",getEntityType:function(){return this.entityType},isPolymer:function(){return this.entityType===im},isNonPolymer:function(){return this.entityType===nm},isMacrolide:function(){return this.entityType===rm},isWater:function(){return this.entityType===om},eachChain:function(t){var e=this.structure.getChainProxy();this.chainIndexList.forEach(function(i){e.index=i,t(e)})}};var uy={1:\"h\",2:\"h\",3:\"i\",4:\"h\",5:\"g\",6:\"h\",7:\"h\",8:\"h\",9:\"h\",10:\"h\",\"\":\"h\"};Rc.prototype=Object.assign(Object.create(Cc.prototype),{constructor:Rc,type:\"pdb\",_parse:function(){function e(t,e,J){for(var ut,ht,lt=t;lt0)continue;var dt,ft,pt,mt,gt;if(N){if(mt=s.split(k),gt=10===mt.length?1:0,m=mt[2],j&&\"CA\"!==m)continue;dt=parseFloat(mt[6-gt]),ft=parseFloat(mt[7-gt]),pt=parseFloat(mt[8-gt])}else{if(m=s.substr(12,4).trim(),j&&\"CA\"!==m)continue;dt=parseFloat(s.substr(30,8)),ft=parseFloat(s.substr(38,8)),pt=parseFloat(s.substr(46,8))}if(U&&(ut=3*n,i[ut+0]=dt,i[ut+1]=ft,i[ut+2]=pt,n+=1,G))continue;var vt;N?(u=parseInt(mt[1]),vt=\"\",g=\"H\"===s[0]?1:0,h=gt?\"\":mt[4],l=parseInt(mt[5-gt]),p=\"\",d=mt[3],v=parseFloat(mt[9-gt]),y=\"\",f=0):(u=parseInt(s.substr(6,5)),vt=s.substr(76,2).trim(),g=\"H\"===s[0]?1:0,h=s[21].trim()||s.substr(72,4).trim(),l=parseInt(s.substr(22,4)),p=s[26].trim(),d=s.substr(17,4).trim(),v=parseFloat(s.substr(60,6)),y=s[16].trim(),f=parseFloat(s.substr(54,6))),nt.growIfFull(),nt.atomTypeId[at]=it.add(m,vt),nt.x[at]=dt,nt.y[at]=ft,nt.z[at]=pt,nt.serial[at]=u,nt.bfactor[at]=isNaN(v)?0:v,nt.altloc[at]=y.charCodeAt(0),nt.occupancy[at]=isNaN(f)?0:f,g?I===h&&R===d&&(zm.includes(d)||L===l&&D===p)||(C+=1,T=C.toString(),L=l,R=d,D=p):E||I===h||(C+=1,T=C.toString()),z.addAtom(st,h,T,d,l,g,void 0,p),W[u]=at,at+=1,E=!1,I=h}else if(\"CONECT\"===c){var yt=W[parseInt(s.substr(6,5))],bt=[11,16,21,26],xt={};if(void 0===yt)continue;for(ut=0;ut<4;++ut){var wt=parseInt(s.substr(bt[ut],5));if(!Number.isNaN(wt)&&(wt=W[wt],void 0!==wt))if(yt0)continue;var at=rt[c].replace(dy,\"\");if(C&&\"CA\"!==at)continue;var st=parseFloat(rt[y]),ct=parseFloat(rt[b]),ut=parseFloat(rt[x]);if(P){var ht=3*n;if(i[ht+0]=st,i[ht+1]=ct,i[ht+2]=ut,n+=1,X>0)continue}var lt=rt[u],dt=parseInt(rt[s]),ft=rt[v];ft=\"?\"===ft?\"\":ft;var pt=rt[a],mt=rt[h],gt=\"H\"===rt[f][0]?1:0,vt=rt[m],yt=parseFloat(rt[w]),bt=parseFloat(rt[_]),xt=rt[d];if(xt=\".\"===xt?\"\":xt,G.growIfFull(),G.atomTypeId[W]=V.add(at,vt),G.x[W]=st,G.y[W]=ct,G.z[W]=ut,G.serial[W]=parseInt(rt[p]),G.bfactor[W]=isNaN(yt)?0:yt,G.occupancy[W]=isNaN(bt)?0:bt,G.altloc[W]=xt.charCodeAt(0),A.addAtom(X,pt,mt,lt,dt,gt,void 0,ft),t.Debug){var wt=I[mt];void 0!==wt&&wt!==pt&&Pv.warn(wt,pt)}I[mt]=pt;var _t=rt[l];L[_t]||(L[_t]=new Set),L[_t].add(S.chainStore.count-1),W+=1}else{rt=o.match(ly),nt=rt.length,z===F.length&&(z=0);for(var St=0;St0&&(h=!0))),_>=m&&_0)continue;var C=parseFloat(P.substr(0,10)),T=parseFloat(P.substr(10,10)),E=parseFloat(P.substr(20,10));if(o){var I=3*c;if(s[I+0]=C,s[I+1]=T,s[I+2]=E,c+=1,h)continue}var L=P.substr(31,3).trim(),R=L+(w+1);d.growIfFull(),d.atomTypeId[w]=l.add(R,L),d.x[w]=C,d.y[w]=T,d.z[w]=E,d.serial[w]=w,n.addAtom(S,\"\",\"\",\"HET\",1,1),w+=1}if(_>=v&&_0)continue;if(o&&S>0)continue;b.index=parseInt(P.substr(0,3))-1+A,x.index=parseInt(P.substr(3,3))-1+A;var O=parseInt(P.substr(6,3));i.bondStore.addBond(b,x,O)}++_}}t.Debug&&Pv.time(\"SdfParser._parse \"+this.name);var i=this.structure,n=this.structureBuilder,r=this.firstModelOnly,o=this.asTrajectory,a=this.streamer.peekLines(2);i.id=a[0].trim(),i.title=a[1].trim();var s,c,u=i.frames,h=!1,l=i.atomMap,d=i.atomStore;d.resize(Math.round(this.streamer.data.length/50));var f,p,m,g,v,y,b=i.getAtomProxy(),x=i.getAtomProxy(),w=0,_=0,S=0,A=0;this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),n.finalize(),i.finalizeAtoms(),i.finalizeBonds(),ia(i),t.Debug&&Pv.timeEnd(\"SdfParser._parse \"+this.name)},_postProcess:function(){ia(this.structure)}}),Rv.add(\"sdf\",Gc),Hc.prototype=Object.assign(Object.create(Cc.prototype),{constructor:Hc,type:\"mol2\",_parse:function(){function e(t,e,M){for(var P,C=t;CMOLECULE\"===T?(y=b,p=0,++g):\"@ATOM\"===T?(y=x,m=d.count,c&&(n=0,i=new Float32Array(3*v),u.push(i),g>0&&(h=!0))):y=\"@BOND\"===T?w:0;else if(y===b)0===p?(o.title=T,o.id=T):1===p&&(P=T.split(r),v=parseInt(P[0])),++p;else if(y===x){if(P=T.split(r),s&&g>0)continue;var E=parseFloat(P[2]),I=parseFloat(P[3]),L=parseFloat(P[4]);if(c){var R=3*n;if(i[R+0]=E,i[R+1]=I,i[R+2]=L,n+=1,h)continue}var O=P[0],D=P[1],N=P[5].split(\".\")[0],k=P[6]?parseInt(P[6]):1,F=P[7]?P[7]:\"\",z=P[8]?parseFloat(P[8]):0;d.growIfFull(),d.atomTypeId[f]=l.add(D,N),d.x[f]=E,d.y[f]=I,d.z[f]=L,d.serial[f]=O,d.bfactor[f]=z,a.addAtom(g,\"\",\"\",F,k,1),f+=1}else if(y===w){if(s&&g>0)continue;if(c&&g>0)continue;P=T.split(r),_.index=parseInt(P[1])-1+m,S.index=parseInt(P[2])-1+m;var B=A[P[3]];o.bondStore.addBond(_,S,B)}}}t.Debug&&Pv.time(\"Mol2Parser._parse \"+this.name);var i,n,r=/\\s+/,o=this.structure,a=this.structureBuilder,s=this.firstModelOnly,c=this.asTrajectory,u=o.frames,h=!1,l=o.atomMap,d=o.atomStore;d.resize(Math.round(this.streamer.data.length/60));var f=0,p=0,m=0,g=-1,v=0,y=0,b=1,x=2,w=3,_=o.getAtomProxy(),S=o.getAtomProxy(),A={1:1,2:2,3:3,am:1,ar:1,du:1,un:1,nc:0};this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),a.finalize(),o.finalizeAtoms(),Yo(o),Jo(o,!0),ta(o,!0),o.finalizeBonds(),ia(o),ey(o),t.Debug&&Pv.timeEnd(\"Mol2Parser._parse \"+this.name)}}),Rv.add(\"mol2\",Hc);var py=[\"mmtfVersion\",\"mmtfProducer\",\"unitCell\",\"spaceGroup\",\"structureId\",\"title\",\"depositionDate\",\"releaseDate\",\"experimentalMethods\",\"resolution\",\"rFree\",\"rWork\",\"bioAssemblyList\",\"ncsOperatorList\",\"entityList\",\"groupList\",\"numBonds\",\"numAtoms\",\"numGroups\",\"numChains\",\"numModels\",\"groupsPerChain\",\"chainsPerModel\"],my=[\"xCoordList\",\"yCoordList\",\"zCoordList\",\"groupIdList\",\"groupTypeList\",\"chainIdList\",\"bFactorList\",\"atomIdList\",\"altLocList\",\"occupancyList\",\"secStructList\",\"insCodeList\",\"sequenceIndexList\",\"chainNameList\",\"bondAtomList\",\"bondOrderList\"],gy=py.concat(my),vy={0:\"i\".charCodeAt(0),1:\"s\".charCodeAt(0),2:\"h\".charCodeAt(0),3:\"e\".charCodeAt(0),4:\"g\".charCodeAt(0),5:\"b\".charCodeAt(0),6:\"t\".charCodeAt(0),7:\"l\".charCodeAt(0),\"-1\":\"\".charCodeAt(0)};pu.prototype=Object.assign(Object.create(Cc.prototype),{constructor:pu,type:\"mmtf\",_parse:function(){t.Debug&&Pv.time(\"MmtfParser._parse \"+this.name);var e,i,n,r,o,a=this.structure,s=fu(lu(this.streamer.data)),c=[\"depositionDate\",\"releaseDate\",\"resolution\",\"rFree\",\"rWork\",\"experimentalMethods\"];c.forEach(function(t){void 0!==s[t]&&(a.header[t]=s[t])});var u,h,l,d,f,p;if(a.id=s.structureId,a.title=s.title,this.firstModelOnly||this.asTrajectory){for(f=1,d=s.chainsPerModel[0],l=0,e=0,i=d;e0&&(a.biomolDict[st]=ct)}s.unitCell&&Array.isArray(s.unitCell)&&s.unitCell[0]?a.unitcell=new Tc(s.unitCell[0],s.unitCell[1],s.unitCell[2],s.unitCell[3],s.unitCell[4],s.unitCell[5],s.spaceGroup):a.unitcell=void 0,t.Debug&&Pv.timeEnd(\"MmtfParser._parse \"+this.name),ta(a,!0),Jo(a,!0),a.finalizeAtoms(),a.finalizeBonds(),ea(a)}}),Rv.add(\"mmtf\",pu),mu.prototype={constructor:mu,type:\"Frames\"},gu.prototype=Object.assign(Object.create(Mc.prototype),{constructor:gu,type:\"trajectory\",__objName:\"frames\"}),vu.prototype=Object.assign(Object.create(gu.prototype),{constructor:vu,type:\"dcd\",_parse:function(){t.Debug&&Pv.time(\"DcdParser._parse \"+this.name);var e=this.streamer.data;e instanceof Uint8Array&&(e=e.buffer);var i,n,r=new DataView(e),o=this.frames,a=o.coordinates,s=o.boxes,c={},u=0,h=new Int32Array(e,0,23),l=h[0]!==r.getInt32(0);if(84!==h[0])for(n=e.byteLength,i=0;i0)return void Pv.error(\"dcd format with fixed atoms unsupported, aborting\");var y=c.NATOM,b=4*y;for(i=0,n=c.NSET;i=o.atomCount+6+l){r=r.split(a);for(var s=0,d=r.length;s0?0:1;this.streamer.eachChunkOfLines(function(t){i(0,t.length,t)}),n.header=o,n.setData(c,o.NVZ,o.NVY,o.NVX),t.Debug&&Pv.timeEnd(\"CubeParser._parse \"+this.name)},getMatrix:function(){var t=this.volume.header,e=new O;return e.multiply((new O).makeRotationY(Dn(90))),e.multiply((new O).makeTranslation(-t.originZ,t.originY,t.originX)),e.multiply((new O).makeScale(-t.AVZ,t.AVY,t.AVX)),e}}),Rv.add(\"cub\",xu),Rv.add(\"cube\",xu),wu.prototype=Object.assign(Object.create(yu.prototype),{constructor:wu,type:\"dx\",_parse:function(){function e(t,e,i){for(var n=t;na){var r=i[n].trim();if(\"\"!==r)for(var o=r.split(s),d=0,f=o.length;d=c&&(v-c)%y!==0&&g=n.elements[s].count&&(s++,c=0);var l=this.parseASCIIElement(n.elements[s].properties,h);this.handleElement(i,n.elements[s].name,l),c++}}return this.postProcess(i)},postProcess:function(t){if(t.useColor){for(var e=0;e=0?i-1:i+e/3)},parseNormalIndex:function(t,e){var i=parseInt(t,10);return 3*(i>=0?i-1:i+e/3)},addVertex:function(t,e,i){var n=this.vertices,r=this.object.geometry.vertices;r.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2]),r.push(n[e+0]),r.push(n[e+1]),r.push(n[e+2]),r.push(n[i+0]),r.push(n[i+1]),r.push(n[i+2])},addVertexLine:function(t){var e=this.vertices,i=this.object.geometry.vertices;i.push(e[t+0]),i.push(e[t+1]),i.push(e[t+2])},addNormal:function(t,e,i){var n=this.normals,r=this.object.geometry.normals;\nr.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2]),r.push(n[e+0]),r.push(n[e+1]),r.push(n[e+2]),r.push(n[i+0]),r.push(n[i+1]),r.push(n[i+2])},addFace:function(t,e,i,n,r,o,a,s){var c,u=this.vertices.length,h=this.parseVertexIndex(t,u),l=this.parseVertexIndex(e,u),d=this.parseVertexIndex(i,u);if(void 0===n?this.addVertex(h,l,d):(c=this.parseVertexIndex(n,u),this.addVertex(h,l,c),this.addVertex(l,d,c)),void 0!==r){var f=this.normals.length;h=this.parseNormalIndex(r,f),l=r===o?h:this.parseNormalIndex(o,f),d=r===a?h:this.parseNormalIndex(a,f),void 0===n?this.addNormal(h,l,d):(c=this.parseNormalIndex(s,f),this.addNormal(h,l,c),this.addNormal(l,d,c))}},addLineGeometry:function(t){this.object.geometry.type=\"Line\";for(var e=this.vertices.length,i=0,n=t.length;i0?w.addAttribute(\"normal\",new Kt(new Float32Array(x.normals),3)):w.computeVertexNormals(),y.push(w)}}return y}},Tu.prototype=Object.assign(Object.create(Au.prototype),{constructor:Tu,type:\"obj\"}),Rv.add(\"obj\",Tu),Eu.prototype=Object.assign(Object.create(Mc.prototype),{constructor:Eu,type:\"text\",__objName:\"text\",_parse:function(){this.text.data=this.streamer.asText()}}),Rv.add(\"txt\",Eu),Rv.add(\"text\",Eu),Iu.prototype=Object.assign(Object.create(Mc.prototype),{constructor:Iu,type:\"csv\",__objName:\"table\",_parse:function(){var t=this.table.data,e=/\\s*,\\s*/;this.streamer.eachChunkOfLines(function(i,n){for(var r=i.length,o=0;o\");){var i=o();if(!i)return e;e.attributes[i.name]=i.value}return s(/\\?>\\s*/),e}}function n(){var t=s(/^<([\\w-:.]+)\\s*/);if(t){for(var e={name:t[1],attributes:{},children:[]};!(c()||u(\">\")||u(\"?>\")||u(\"/>\"));){var i=o();if(!i)return e;e.attributes[i.name]=i.value}if(s(/^\\s*\\/>\\s*/))return e;s(/\\??>\\s*/),e.content=r();for(var a;a=n();)e.children.push(a);return s(/^<\\/[\\w-:.]+>\\s*/),e}}function r(){var t=s(/^([^<]*)/);return t?t[1]:\"\"}function o(){var t=s(/([\\w:-]+)\\s*=\\s*(\"[^\"]*\"|'[^']*'|\\w+)\\s*/);if(t)return{name:t[1],value:a(t[2])}}function a(t){return t.replace(/^['\"]|['\"]$/g,\"\")}function s(e){var i=t.match(e);if(i)return t=t.slice(i[0].length),i}function c(){return 0===t.length}function u(e){return 0===t.indexOf(e)}return t=t.trim(),t=t.replace(//g,\"\"),e()},__domParser:function(t){var e=new window.DOMParser;return e.parseFromString(t,\"text/xml\")},_parse:function(){t.Debug&&Pv.time(\"XmlParser._parse \"+this.name),this.useDomParser?this.streamer.isBinary()||this.string?this.xml.data=this.__domParser(this.streamer.asText()):this.xml.data=this.streamer.data:this.xml.data=this.__xmlParser(this.streamer.asText()),t.Debug&&Pv.timeEnd(\"XmlParser._parse \"+this.name)}}),Rv.add(\"xml\",Ru);var yy,by,xy=zu(),wy=30,_y=12,Sy=15,Ay=852,My=592,Py=0,Cy=1,Ty=2,Ey=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Iy=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Ly=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Ry=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],Oy=0,Dy=1,Ny=2,ky=4,Fy=5,zy=6,By=0,Uy=1,jy=2,$y=-2,Vy=-3,Gy=-4,Hy=-5,Wy=8,Xy=1,qy=2,Yy=3,Zy=4,Ky=5,Qy=6,Jy=7,tb=8,eb=9,ib=10,nb=11,rb=12,ob=13,ab=14,sb=15,cb=16,ub=17,hb=18,lb=19,db=20,fb=21,pb=22,mb=23,gb=24,vb=25,yb=26,bb=27,xb=28,wb=29,_b=30,Sb=31,Ab=32,Mb=852,Pb=592,Cb=!0,Tb=!0,Eb=!0;try{String.fromCharCode.apply(null,[0])}catch(t){Tb=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Eb=!1}for(var Ib=new Uint8Array(256),Lb=0;Lb<256;Lb++)Ib[Lb]=Lb>=252?6:Lb>=248?5:Lb>=240?4:Lb>=224?3:Lb>=192?2:1;Ib[254]=Ib[254]=1;var Rb=0,Ob=2,Db=4,Nb=0,kb=1,Fb=2,zb=-5,Bb={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"},Ub=Object.prototype.toString;sh.prototype.push=function(t,e){var i,n,r,o,a,s,c=this.strm,u=this.options.chunkSize,h=this.options.dictionary,l=!1;if(this.ended)return!1;n=e===~~e?e:e===!0?Db:Rb,\"string\"==typeof t?c.input=ih(t):\"[object ArrayBuffer]\"===Ub.call(t)?c.input=new Uint8Array(t):c.input=t,c.next_in=0,c.avail_in=c.input.length;do{if(0===c.avail_out&&(c.output=new Uint8Array(u),c.next_out=0,c.avail_out=u),i=Zu(c,Rb),i===Fb&&h&&(s=\"string\"==typeof h?th(h):\"[object ArrayBuffer]\"===Ub.call(h)?new Uint8Array(h):h,i=Ju(this.strm,s)),i===zb&&l===!0&&(i=Nb,l=!1),i!==kb&&i!==Nb)return this.onEnd(i),this.ended=!0,!1;c.next_out&&(0!==c.avail_out&&i!==kb&&(0!==c.avail_in||n!==Db&&n!==Ob)||(\"string\"===this.options.to?(r=rh(c.output,c.next_out),o=c.next_out-r,a=nh(c.output,r),c.next_out=o,c.avail_out=u-o,o&&Nu(c.output,c.output,r,o,0),this.onData(a)):this.onData(Du(c.output,c.next_out)))),0===c.avail_in&&0===c.avail_out&&(l=!0)}while((c.avail_in>0||0===c.avail_out)&&i!==kb);return i===kb&&(n=Db),n===Db?(i=Ku(this.strm),this.onEnd(i),this.ended=!0,i===Nb):n!==Ob||(this.onEnd(Nb),c.avail_out=0,!0)},sh.prototype.onData=function(t){this.chunks.push(t)},sh.prototype.onEnd=function(t){t===Nb&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=ku(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},Dv.add(\"gz\",uh);var jb=\"//files.rcsb.org/download/\",$b=\"//mmtf.rcsb.org/v1.0/\",Vb=$b+\"full/\",Gb=$b+\"reduced/\";Iv.add(\"rcsb\",new hh);var Hb=\"//pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/\",Wb=\"/SDF?record_type=3d\";Iv.add(\"pubchem\",new lh),Iv.add(\"ftp\",new dh),Iv.add(\"http\",new dh),Iv.add(\"https\",new dh);var Xb=\"0.10.0-dev.5\";\"undefined\"==typeof window||window.Promise||(window.Promise=n),t.Version=Xb,t.setDebug=ar,t.DatasourceRegistry=Iv,t.StaticDatasource=fh,t.ParserRegistry=Rv,t.autoLoad=gr,t.RepresentationRegistry=Lv,t.ColorMakerRegistry=Ev,t.ColorMaker=Fn,t.Selection=On,t.PdbWriter=xr,t.Stage=ws,t.Collection=vs,t.ComponentCollection=ys,t.RepresentationCollection=bs,t.Assembly=Wo,t.TrajectoryPlayer=_s,t.superpose=As,t.guessElement=iy,t.Queue=Ca,t.Counter=wr,t.throttle=b,t.download=v,t.getQuery=h,t.getDataInfo=mr,t.getFileInfo=y,t.uniqueArray=x,t.BufferRepresentation=es,t.SphereBuffer=Va,t.EllipsoidBuffer=Ha,t.CylinderBuffer=Ya,t.ConeBuffer=Ka,t.ArrowBuffer=Qa,t.Shape=Ja,t.Kdtree=Vo,t.SpatialHash=Lo,t.Signal=Rn,t.Matrix3=Lt,t.Matrix4=O,t.Vector2=I,t.Vector3=N,t.Box3=Et,t.Quaternion=D,t.Plane=Rt,t.Color=Ct,Object.defineProperty(t,\"__esModule\",{value:!0})});\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/plugins/ngl/viewer.js\n// module id = 2\n// module chunks = 0","var nextTick = require('process/browser.js').nextTick;\nvar apply = Function.prototype.apply;\nvar slice = Array.prototype.slice;\nvar immediateIds = {};\nvar nextImmediateId = 0;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) { timeout.close(); };\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// That's not how node.js implements it but the exposed api is the same.\nexports.setImmediate = typeof setImmediate === \"function\" ? setImmediate : function(fn) {\n var id = nextImmediateId++;\n var args = arguments.length < 2 ? false : slice.call(arguments, 1);\n\n immediateIds[id] = true;\n\n nextTick(function onNextTick() {\n if (immediateIds[id]) {\n // fn.call() is faster so we optimize for the common use-case\n // @see http://jsperf.com/call-apply-segu\n if (args) {\n fn.apply(null, args);\n } else {\n fn.call(null);\n }\n // Prevent ids from leaking\n exports.clearImmediate(id);\n }\n });\n\n return id;\n};\n\nexports.clearImmediate = typeof clearImmediate === \"function\" ? clearImmediate : function(id) {\n delete immediateIds[id];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/~/node-libs-browser/~/timers-browserify/main.js\n// module id = 3\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// 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}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\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 try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\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\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\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\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\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 if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\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;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/~/node-libs-browser/~/process/browser.js\n// module id = 4\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/config/plugins/visualizations/charts/static/repository/build/registry.js.map b/config/plugins/visualizations/charts/static/repository/build/registry.js.map index 18cba955110..a33dc863faa 100644 --- a/config/plugins/visualizations/charts/static/repository/build/registry.js.map +++ b/config/plugins/visualizations/charts/static/repository/build/registry.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap a24085c274412deb58b1?0008","webpack:///./static/repository/build/registry.tmp.js","webpack:///./static/repository/visualizations/nvd3/bar/config.js","webpack:///./static/repository/visualizations/nvd3/common/config.js","webpack:///./static/repository/visualizations/utilities/tabular-form.js","webpack:///./static/repository/visualizations/nvd3/bar_horizontal/config.js","webpack:///./static/repository/visualizations/nvd3/bar_horizontal_stacked/config.js","webpack:///./static/repository/visualizations/nvd3/bar_stacked/config.js","webpack:///./static/repository/visualizations/nvd3/line/config.js","webpack:///./static/repository/visualizations/nvd3/line_focus/config.js","webpack:///./static/repository/visualizations/nvd3/scatter/config.js","webpack:///./static/repository/visualizations/nvd3/stackedarea/config.js","webpack:///./static/repository/visualizations/nvd3/stackedarea_full/config.js","webpack:///./static/repository/visualizations/nvd3/stackedarea_stream/config.js","webpack:///./static/repository/visualizations/nvd3/pie/config.js","webpack:///./static/repository/visualizations/nvd3/histogram/config.js","webpack:///./static/repository/visualizations/nvd3/histogram_discrete/config.js","webpack:///./static/repository/visualizations/jqplot/bar/config.js","webpack:///./static/repository/visualizations/jqplot/common/config.js","webpack:///./static/repository/visualizations/jqplot/boxplot/config.js","webpack:///./static/repository/visualizations/jqplot/histogram_discrete/config.js","webpack:///./static/repository/visualizations/jqplot/line/config.js","webpack:///./static/repository/visualizations/jqplot/scatter/config.js","webpack:///./static/repository/visualizations/biojs/msa/config.js","webpack:///./static/repository/visualizations/biojs/drawrnajs/config.js","webpack:///./static/repository/visualizations/others/example/config.js","webpack:///./static/repository/visualizations/others/heatmap/config.js","webpack:///./static/repository/visualizations/others/heatmap_cluster/config.js","webpack:///./static/repository/visualizations/cytoscape/basic/config.js","webpack:///./static/repository/visualizations/pv/viewer/config.js","webpack:///./static/repository/visualizations/benfred/venn/config.js","webpack:///./static/repository/visualizations/ngl/viewer/config.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;iECtCA,iFAAwB,SAAS,soCAA4yD,EAAE,gJ;;;;;;;;;;iECA/0D;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECpBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,uDAAuD;AACxF,kCAAiC,mCAAmC;AACpE,kCAAiC,oCAAoC;AACrE,kCAAiC,sCAAsC;AACvE,kCAAiC,uCAAuC;AACxE,kCAAiC,sCAAsC;AACvE,kCAAiC,wCAAwC;AACzE,cAAa;AACb,8BAA6B,mBAAmB;AAChD,8BAA6B,mBAAmB;AAChD,8BAA6B,6CAA6C;AAC1E,8BAA6B,gBAAgB;AAC7C,8BAA6B,6CAA6C;AAC1E,8BAA6B,6CAA6C;AAC1E,8BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iEC9ED;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECpBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECpBD;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECrBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,iCAAiC,GAAG,iCAAiC;AACtG,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,6CAA6C;AAClF,sCAAqC,4CAA4C;AACjF,sCAAqC,0CAA0C;AAC/E,kBAAiB;AACjB,kCAAiC,mBAAmB;AACpD,kCAAiC,iCAAiC;AAClE;AACA;AACA;AACA;AACA;AACA,kFAAiF,iCAAiC;AAClH,kFAAiF,iCAAiC,IAAI,IAAI;AAC1H,kCAAiC,iCAAiC;AAClE;AACA;AACA;AACA;AACA;AACA,kFAAiF,iCAAiC;AAClH,kFAAiF,iCAAiC,IAAI,IAAI;AAC1H;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECxED;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEC1BD;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEChBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECrBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECfD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECbD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,+IAA+I;AACrK,2BAA0B,+IAA+I;AACzK,oBAAmB;AACnB;AACA;AACA,EAAC,gJ;;;;;;iECbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,uEAAuE;AACxF,kBAAiB,uEAAuE;AACxF,kBAAiB;AACjB;AACA;AACA,EAAC,gJ;;;;;;iECfD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,sDAAsD;AACvF,kCAAiC,uDAAuD;AACxF,kCAAiC,yDAAyD;AAC1F,kCAAiC,uDAAuD;AACxF,kCAAiC,sDAAsD;AACvF,kCAAiC,2DAA2D;AAC5F,kCAAiC,wDAAwD;AACzF,kCAAiC,wDAAwD;AACzF,kCAAiC,2DAA2D;AAC5F,kCAAiC,4DAA4D;AAC7F,kCAAiC,yDAAyD;AAC1F,kCAAiC,uDAAuD;AACxF,kCAAiC,0DAA0D;AAC3F,kCAAiC,wDAAwD;AACzF,kCAAiC,0DAA0D;AAC3F,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEC5DD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,iCAAiC,GAAG,qCAAqC,GAAG,+BAA+B;AACxI,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,8CAA8C;AAC/E,kCAAiC,4CAA4C;AAC7E,kCAAiC,6CAA6C;AAC9E,kCAAiC,8CAA8C;AAC/E,kCAAiC,4CAA4C;AAC7E,kCAAiC,gDAAgD;AACjF,kCAAiC,4CAA4C;AAC7E,kCAAiC,2CAA2C;AAC5E,kBAAiB;AACjB,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC,oBAAoB;AACrD,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC;AACjC;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECtGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECvBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,iCAAiC,GAAG,qCAAqC,GAAG,+BAA+B;AACxI,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,iCAAiC;AAClE,kCAAiC,iCAAiC;AAClE,kCAAiC,yCAAyC;AAC1E,kCAAiC,6CAA6C;AAC9E,kCAAiC,uCAAuC;AACxE,kCAAiC,uCAAuC;AACxE,kCAAiC,+CAA+C;AAChF,kCAAiC,2CAA2C;AAC5E,kCAAiC,mCAAmC;AACpE,kCAAiC,yCAAyC;AAC1E,kCAAiC,iCAAiC;AAClE,kCAAiC,mCAAmC;AACpE,kCAAiC,qCAAqC;AACtE,kCAAiC,qCAAqC;AACtE,kCAAiC,iCAAiC;AAClE,kCAAiC,2CAA2C;AAC5E,kCAAiC,uCAAuC;AACxE,kCAAiC,mCAAmC;AACpE,kCAAiC,iCAAiC;AAClE,kCAAiC,yCAAyC;AAC1E;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,uCAAuC;AACpE,8BAA6B,uCAAuC;AACpE,8BAA6B,qCAAqC;AAClE,8BAA6B,uCAAuC;AACpE,8BAA6B,2CAA2C;AACxE,8BAA6B,kDAAkD;AAC/E,8BAA6B,8CAA8C;AAC3E,8BAA6B,4CAA4C;AACzE,8BAA6B,wCAAwC;AACrE,8BAA6B,uCAAuC;AACpE,8BAA6B,8CAA8C;AAC3E,8BAA6B,8CAA8C;AAC3E,8BAA6B,kDAAkD;AAC/E,8BAA6B,kDAAkD;AAC/E,8BAA6B,uCAAuC;AACpE,8BAA6B,uCAAuC;AACpE,8BAA6B,qDAAqD;AAClF,8BAA6B,mCAAmC;AAChE,8BAA6B,qCAAqC;AAClE,8BAA6B,2CAA2C;AACxE,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,mCAAmC,GAAG,kCAAkC;AACrG,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,6BAA6B,GAAG,+BAA+B;AAC5F,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,uCAAuC,GAAG,2BAA2B;AAClG,8BAA6B,+BAA+B,GAAG,yCAAyC;AACxG,8BAA6B,0CAA0C;AACvE,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC","file":"registry.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a24085c274412deb58b1","define( [], function() { return {nvd3_bar:require( \"visualizations/nvd3/bar/config\" ), nvd3_bar_horizontal:require( \"visualizations/nvd3/bar_horizontal/config\" ), nvd3_bar_horizontal_stacked:require( \"visualizations/nvd3/bar_horizontal_stacked/config\" ), nvd3_bar_stacked:require( \"visualizations/nvd3/bar_stacked/config\" ), nvd3_line:require( \"visualizations/nvd3/line/config\" ), nvd3_line_focus:require( \"visualizations/nvd3/line_focus/config\" ), nvd3_scatter:require( \"visualizations/nvd3/scatter/config\" ), nvd3_stackedarea:require( \"visualizations/nvd3/stackedarea/config\" ), nvd3_stackedarea_full:require( \"visualizations/nvd3/stackedarea_full/config\" ), nvd3_stackedarea_stream:require( \"visualizations/nvd3/stackedarea_stream/config\" ), nvd3_pie:require( \"visualizations/nvd3/pie/config\" ), nvd3_histogram:require( \"visualizations/nvd3/histogram/config\" ), nvd3_histogram_discrete:require( \"visualizations/nvd3/histogram_discrete/config\" ), jqplot_bar:require( \"visualizations/jqplot/bar/config\" ), jqplot_boxplot:require( \"visualizations/jqplot/boxplot/config\" ), jqplot_histogram_discrete:require( \"visualizations/jqplot/histogram_discrete/config\" ), jqplot_line:require( \"visualizations/jqplot/line/config\" ), jqplot_scatter:require( \"visualizations/jqplot/scatter/config\" ), biojs_msa:require( \"visualizations/biojs/msa/config\" ), biojs_drawrnajs:require( \"visualizations/biojs/drawrnajs/config\" ), others_example:require( \"visualizations/others/example/config\" ), others_heatmap:require( \"visualizations/others/heatmap/config\" ), others_heatmap_cluster:require( \"visualizations/others/heatmap_cluster/config\" ), cytoscape_basic:require( \"visualizations/cytoscape/basic/config\" ), pv_viewer:require( \"visualizations/pv/viewer/config\" ), benfred_venn:require( \"visualizations/benfred/venn/config\" ), ngl_viewer:require( \"visualizations/ngl/viewer/config\" ),} } );\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/build/registry.tmp.js\n// module id = 0\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend(true, {}, nvd3_config, {\n title : 'Bar diagram',\n description : 'Renders a regular bar diagram using NVD3 hosted at http://www.nvd3.org.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar/config.js\n// module id = 5\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : '',\n library : 'NVD3',\n tag : 'svg',\n keywords : 'nvd3 default',\n exports : [ 'png', 'svg', 'pdf' ],\n groups : {\n color: {\n label : 'Pick a series color',\n type : 'color'\n },\n tooltip : {\n label : 'Data point labels',\n type : 'data_column',\n is_label : true,\n is_auto : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/common/config.js\n// module id = 6\n// module chunks = 1","define( [], function() {\n var axisLabel = function( name, options ) {\n options = options || {};\n prefix = name.substr( 0, 1 );\n return {\n name : name,\n label : prefix.toUpperCase() + '-Axis label',\n help : 'Provide a label for the axis.',\n type : 'text',\n value : options.value || prefix.toUpperCase() + '-axis',\n placeholder : 'Axis label'\n }\n }\n var axisType = function( name, options ) {\n options = options || {};\n prefix = name.substr( 0, 1 );\n var axisPrecision = function() {\n return { name : 'precision',\n label : 'Axis tick format',\n help : 'Select the tick format for the axis.',\n type : 'select',\n value : options.precision || 1,\n data : [ { label : '0.00001', value : '5' },\n { label : '0.0001', value : '4' },\n { label : '0.001', value : '3' },\n { label : '0.01', value : '2' },\n { label : '0.1', value : '1' },\n { label : '1', value : '0' } ] }\n }\n return {\n name : prefix + '_axis_type',\n type : 'conditional',\n test_param : {\n name : 'type',\n label : prefix.toUpperCase() + '-Axis value type',\n type : 'select',\n value : options.value || 'auto',\n help : 'Select the value type of the axis.',\n data : [ { value : 'hide', label : '-- Do not show values --' },\n { value : 'auto', label : 'Auto' },\n { value : 'f', label : 'Float' },\n { value : 'd', label : 'Integer' },\n { value : 'e', label : 'Exponent' },\n { value : 'p', label : 'Percent' },\n { value : 's', label : 'SI-prefix' } ]\n },\n cases : [ { value : 'hide' },\n { value : 'auto' },\n { value : 'f', inputs: [ axisPrecision() ] },\n { value : 'd' },\n { value : 'e', inputs: [ axisPrecision() ] },\n { value : 'p', inputs: [ axisPrecision() ] },\n { value : 's' } ]\n }\n }\n return {\n title : '',\n library : '',\n tag : '',\n keywords : '',\n datatypes : [ 'bed', 'bedgraph', 'bedstrict', 'bed6', 'bed12', 'chrint', 'customtrack', 'gff', 'gff3', 'gtf', 'interval', 'encodepeak', 'wig', 'scidx', 'fli', 'csv', 'tsv', 'eland', 'elandmulti', 'picard_interval_list', 'gatk_dbsnp', 'gatk_tranche', 'gatk_recal', 'ct', 'pileup', 'sam', 'taxonomy', 'tabular', 'vcf', 'xls' ],\n use_panels : 'both',\n settings : {\n x_axis_label : axisLabel( 'x_axis_label' ),\n x_axis_type : axisType( 'x_axis_type' ),\n y_axis_label : axisLabel( 'y_axis_label' ),\n y_axis_type : axisType( 'y_axis_type' ),\n show_legend : { type: 'boolean', label: 'Show legend', help: 'Would you like to add a legend?' }\n },\n groups : {\n key: {\n label : 'Provide a label',\n type : 'text',\n placeholder : 'Data label',\n value : 'Data label'\n }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/utilities/tabular-form.js\n// module id = 7\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Horizontal',\n description : 'Renders a horizontal bar diagram using NVD3 hosted at http://www.nvd3.org.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar_horizontal/config.js\n// module id = 8\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Stacked horizontal',\n description : 'Renders a stacked horizontal bar diagram using NVD3 hosted at http://www.nvd3.org.',\n use_panels : 'no',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar_horizontal_stacked/config.js\n// module id = 9\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Stacked',\n description : 'Renders a stacked bar diagram using NVD3 hosted at http://www.nvd3.org.',\n use_panels : 'no',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar_stacked/config.js\n// module id = 10\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Line chart',\n description : 'Renders a line chart using NVD3 hosted at http://www.nvd3.org.',\n zoomable : true,\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/line/config.js\n// module id = 11\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Line with focus',\n description : 'Renders a line chart with focus panel using NVD3 hosted at http://www.nvd3.org.',\n zoomable : 'native',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/line_focus/config.js\n// module id = 12\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Scatter plot',\n description : 'Renders a scatter plot using NVD3 hosted at http://www.nvd3.org.',\n zoomable : true,\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_numeric : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/scatter/config.js\n// module id = 13\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Stacked area',\n zoomable : true,\n description : 'Renders a stacked area using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3 default',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/stackedarea/config.js\n// module id = 14\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Expanded',\n zoomable : true,\n description : 'Renders an expanded stacked area using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3 default',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/stackedarea_full/config.js\n// module id = 15\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend(true, {}, nvd3_config, {\n title : 'Stream',\n description : 'Renders a stream chart using NVD3 hosted at http://www.nvd3.org.',\n zoomable : true,\n keywords : 'nvd3 default',\n showmaxmin : true,\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/stackedarea_stream/config.js\n// module id = 16\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Pie chart',\n description : 'Renders a pie chart using NVD3 hosted at http://www.nvd3.org.',\n library : 'NVD3',\n tag : 'svg',\n keywords : 'nvd3 default',\n datatypes : [ 'tabular', 'csv' ],\n exports : [ 'png', 'svg', 'pdf' ],\n use_panels : 'yes',\n groups : {\n label : {\n label : 'Labels',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values',\n type : 'data_column',\n is_numeric : true\n }\n },\n settings : {\n donut_ratio : {\n label : 'Donut ratio',\n help : 'Determine how large the donut hole will be.',\n type : 'float',\n value : 0.5,\n max : 1,\n min : 0.0\n },\n show_legend : {\n label : 'Show legend',\n help : 'Would you like to add a legend?',\n type : 'select',\n display : 'radiobutton',\n value : 'false',\n data : [ { label : 'Yes', value : 'true' }, { label : 'No', value : 'false' } ]\n },\n label_type : {\n type : 'conditional',\n test_param : {\n name : 'type',\n label : 'Donut label',\n type : 'select',\n value : 'percent',\n help : 'What would you like to show for each slice?',\n data : [ { value : 'hide', label : '-- Nothing --' },\n { value : 'key', label : 'Label column' },\n { value : 'percent', label : 'Percentage' } ]\n },\n cases : [ { value : 'hide' },\n { value : 'key', inputs: [ { name : 'label_outside',\n label : 'Show outside',\n help : 'Would you like to show labels outside the donut?',\n type : 'select',\n display : 'radiobutton',\n value : 'true',\n data : [ { label : 'Yes', value : 'true' },\n { label : 'No', value : 'false' } ] } ] },\n { value : 'percent', inputs: [ { name : 'label_outside',\n label : 'Show outside',\n help : 'Would you like to show labels outside the donut?',\n type : 'select',\n display : 'radiobutton',\n value : 'true',\n data : [ { label : 'Yes', value : 'true' },\n { label : 'No', value : 'false' } ] } ] } ]\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/pie/config.js\n// module id = 17\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n library : 'NVD3',\n tag : 'svg',\n title : 'Histogram',\n description : 'Uses the R-based `charts` tool to derive a histogram and displays it as regular or stacked bar diagram using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3 default',\n datatype : 'tabular',\n groups : {\n key : {\n label : 'Provide a label',\n type : 'text',\n placeholder : 'Data label',\n value : 'Data label'\n },\n color : {\n label : 'Pick a series color',\n type : 'color'\n },\n y : {\n label : 'Observations',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/histogram/config.js\n// module id = 18\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend(true, {}, default_config, {\n library : 'NVD3',\n tag : 'svg',\n title : 'Discrete Histogram',\n description : 'Uses the R-based `charts` tool to derive a histogram for discrete data e.g. text labels. The result is displayed as regular or stacked bar diagram using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3',\n datatype : 'tabular',\n groups : {\n x : {\n label : 'Observations',\n type : 'data_column',\n is_label : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/histogram_discrete/config.js\n// module id = 19\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Bar diagram',\n description : 'Renders a bar diagram using jqPlot hosted at http://www.jqplot.com.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/bar/config.js\n// module id = 20\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend(true, {}, default_config, {\n title : '',\n library : 'jqPlot',\n tag : 'div',\n zoomable : true,\n keywords : 'jqplot',\n exports : [ 'png' ],\n settings : {\n x_axis_grid : {\n label : 'Axis grid',\n help : 'Would you like to show grid lines for the X axis?',\n type : 'boolean'\n },\n y_axis_grid : {\n label : 'Axis grid',\n help : 'Would you like to show grid lines for the Y axis?',\n type : 'boolean'\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/common/config.js\n// module id = 21\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Box plot',\n library : 'jqPlot',\n description : 'Processes tabular data using R and renders a box plot using jqPlot hosted at http://www.jqplot.com.',\n tag : 'div',\n keywords : 'jqplot default',\n groups : {\n y : {\n label : 'Observations',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/boxplot/config.js\n// module id = 22\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Discrete Histogram',\n description : 'Derives a discrete histogram from tabular data using R and renders a regular bar diagram using jqPlot hosted at http://www.jqplot.com.',\n keywords : 'jqplot default',\n groups : {\n x : {\n label : 'Observations',\n type : 'data_column',\n is_label : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/histogram_discrete/config.js\n// module id = 23\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Line chart',\n description : 'Renders a line chart using jqPlot hosted at http://www.jqplot.com.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/line/config.js\n// module id = 24\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Scatter plot',\n description : 'Renders a scatter plot using jqPlot hosted at http://www.jqplot.com.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_numeric : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/scatter/config.js\n// module id = 25\n// module chunks = 1","define( [], function() {\n return {\n title : 'Multiple Sequence Alignment',\n library : 'BioJS',\n datatypes : [ 'txt' ],\n keywords : 'biojs',\n description : 'The MSA viewer is a modular, reusable component to visualize large MSAs interactively on the web.',\n settings : {\n conserv: { label :'Show conservation', help : 'Do you want to display a bar diagram indicating sequence conservation?', type : 'boolean', value: 'true' },\n overviewbox: { label :'Show overview box', help : 'Do you want to display the overview box below the sequence alignments?', type : 'boolean', value: 'true' },\n menu: { label :'Show interactive menu', help : 'Do you want to show a menu for interactive configuration?', type : 'boolean', value: 'true' }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/biojs/msa/config.js\n// module id = 26\n// module chunks = 1","define( [], function() {\n return {\n title : 'RNA Structure Viewer',\n library : 'BioJS',\n datatypes : [ 'dbn' ],\n keywords : 'biojs',\n description : 'Renders RNA structures hosted at https://github.com/bene200/drawrnajs.'\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/biojs/drawrnajs/config.js\n// module id = 27\n// module chunks = 1","define([], function() {\n return {\n title : 'Example',\n library : 'Custom',\n tag : 'svg',\n keywords : 'others',\n datatypes : [ 'tabular', 'csv' ],\n use_panels : 'both',\n description : 'This is a developer example which demonstrates how to implement and configure a basic d3-based plugin for charts.',\n groups : {\n x : { type : 'data_column', is_numeric : true, label : 'Bubble x-position' },\n y : { type : 'data_column', is_numeric : true, label : 'Bubble y-position' },\n z : { type : 'data_column', is_numeric : true, label : 'Bubble size' }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/others/example/config.js\n// module id = 28\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Heatmap',\n description : 'Renders a heatmap from matrix data provided in 3-column format (x, y, observation).',\n library : 'Custom',\n tag : 'svg',\n keywords : 'others default',\n zoomable : true,\n exports : [ 'png', 'svg', 'pdf' ],\n use_panels : 'yes',\n groups : {\n x : {\n label : 'Column labels',\n type : 'data_column',\n is_label : true,\n is_numeric : true\n },\n y : {\n label : 'Row labels',\n type : 'data_column',\n is_label : true,\n is_numeric : true\n },\n z : {\n label : 'Observation',\n type : 'data_column',\n is_numeric : true\n }\n },\n settings : {\n color_set : {\n label : 'Color scheme',\n help : 'Select a color scheme for your heatmap',\n type : 'select',\n value : 'jet',\n data : [ { label : 'Cold-to-Hot', value : 'hot' },\n { label : 'Cool', value : 'cool' },\n { label : 'Copper', value : 'copper' },\n { label : 'Gray scale', value : 'gray' },\n { label : 'Jet', value : 'jet' },\n { label : 'No-Green', value : 'no_green' },\n { label : 'Ocean', value : 'ocean' },\n { label : 'Polar', value : 'polar' },\n { label : 'Red-to-Green', value : 'redgreen' },\n { label : 'Red-to-green (saturated)', value : 'red2green' },\n { label : 'Relief', value : 'relief' },\n { label : 'Seismograph', value : 'seis' },\n { label : 'Sealand', value : 'sealand' },\n { label : 'Split', value : 'split' },\n { label : 'Wysiwyg', value : 'wysiwyg' } ]\n },\n url_template: {\n label : 'Url template',\n help : 'Enter a url to link the labels with external sources. Use __LABEL__ as placeholder.',\n type : 'text',\n value : '',\n placeholder : 'http://someurl.com?id=__LABEL__'\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/others/heatmap/config.js\n// module id = 29\n// module chunks = 1","define( [ 'visualizations/others/heatmap/config' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Clustered Heatmap',\n description : 'Applies hierarchical clustering to a matrix using R. The data has to be provided in 3-column format. The result is displayed as clustered heatmap.',\n keywords : 'others default'\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/others/heatmap_cluster/config.js\n// module id = 30\n// module chunks = 1","define( [], function() {\n return {\n title : 'Cytoscape (Default)',\n library : 'Cytoscape',\n datatypes : [ 'json' ],\n keywords : 'cytoscape graph nodes edges',\n description : 'Basic Cytoscape viewer for connected graphs hosted at http://js.cytoscape.org.'\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/cytoscape/basic/config.js\n// module id = 31\n// module chunks = 1","define( [], function() {\n return {\n title : 'PV Protein Viewer',\n library : 'PV',\n datatypes : [ 'pdb' ],\n keywords : 'pv protein viewer pdb structure',\n description : 'PV is a pdb/protein viewer hosted at https://biasmv.github.io/pv/.',\n settings : {\n quality : {\n label : 'Quality',\n help : 'Select the rendering quality.',\n type : 'select',\n display : 'radio',\n value : 'medium',\n data : [ { label : 'High', value : 'high' }, { label : 'Medium', value : 'medium' }, { label : 'Low', value : 'low' } ]\n },\n viewer : {\n type : 'conditional',\n test_param : {\n name : 'mode',\n label : 'Display mode',\n type : 'select',\n display : 'radio',\n value : 'cartoon',\n help : 'Select the rendering mode.',\n data : [ { label : 'Cartoon', value : 'cartoon' },\n { label : 'Lines', value : 'lines' },\n { label : 'Points', value : 'points' },\n { label : 'Spheres', value : 'spheres' },\n { label : 'Trace', value : 'trace' },\n { label : 'Trace (line)', value : 'lineTrace' },\n { label : 'Trace (smooth)', value : 'sline' },\n { label : 'Tube', value : 'tube' } ]\n },\n cases : [ { value : 'cartoon', inputs: [ {\n name : 'radius',\n label : 'Radius',\n help : 'Radius of tube profile. Also influences the profile thickness for helix and strand profiles.',\n type : 'float',\n min : 0.1,\n max : 3,\n value : 0.3\n } ] },\n { value : 'lines', inputs: [ {\n name : 'lineWidth',\n label : 'Line width',\n help : 'Specify the line width.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 4\n } ] },\n { value : 'points', inputs: [ {\n name : 'pointSize',\n label : 'Point size',\n help : 'Specify the point size.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 1\n } ] },\n { value : 'spheres' },\n { value : 'trace', inputs: [ {\n name : 'radius',\n label : 'Radius',\n help : 'Specify the tube radius.',\n type : 'float',\n min : 0.1,\n max : 3,\n value : 0.3\n } ] },\n { value : 'lineTrace', inputs: [ {\n name : 'lineWidth',\n label : 'Line width',\n help : 'Specify the line width.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 4\n } ] },\n { value : 'sline', inputs: [ {\n name : 'lineWidth',\n label : 'Line width',\n help : 'Specify the line width.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 4\n } ] },\n { value : 'tube', inputs: [ {\n name : 'radius',\n label : 'Radius',\n help : 'Specify the tube radius.',\n type : 'float',\n min : 0.1,\n max : 3,\n value : 0.3\n } ] }\n ]\n }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/pv/viewer/config.js\n// module id = 32\n// module chunks = 1","define( [], function() {\n return {\n title : 'Venn Diagram',\n library : 'benfred',\n tag : 'svg',\n datatypes : [ 'tabular', 'csv' ],\n keywords : 'default venn overlap circle',\n description : 'A javascript library for laying out area proportional venn and euler diagrams hosted at https://github.com/benfred/venn.js.',\n exports : [ 'png', 'svg', 'pdf' ],\n groups : {\n key: {\n label : 'Provide a label',\n type : 'text',\n placeholder : 'Data label',\n value : 'Data label'\n },\n observation : {\n label : 'Column with observations',\n type : 'data_column',\n is_label : true\n }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/benfred/venn/config.js\n// module id = 33\n// module chunks = 1","define( [], function() {\n return {\n title : 'NGL Viewer',\n library : 'NGL',\n datatypes : [ 'pdb' ],\n keywords : 'NGL protein viewer pdb',\n description : 'NGL Viewer is a WebGL based molecular visualization hosted at http://arose.github.io/ngl/.',\n settings : {\n quality : {\n label : 'Quality',\n help : 'Select the rendering quality.',\n type : 'select',\n display : 'radio',\n value : 'medium',\n data : [ { label : 'High', value : 'high' }, { label : 'Medium', value : 'medium' }, { label : 'Low', value : 'low' } ]\n },\n viewer : {\n type : 'conditional',\n test_param : {\n name : 'mode',\n label : 'Display mode',\n type : 'select',\n display : 'radio',\n value : 'cartoon',\n help : '',\n data : [ { label : 'Axes', value : 'axes' },\n { label : 'Base', value : 'base' },\n { label : 'Backbone', value : 'backbone' },\n { label : 'Ball+Stick', value : 'ball+stick' },\n { label : 'Cartoon', value : 'cartoon' },\n { label : 'Contact', value : 'contact' },\n { label : 'Helixorient', value : 'helixorient' },\n { label : 'Hyperball', value : 'hyperball' },\n { label : 'Label', value : 'label' },\n { label : 'Licorice', value : 'licorice' },\n { label : 'Line', value : 'line' },\n { label : 'Point', value : 'point' },\n { label : 'Ribbon', value : 'ribbon' },\n { label : 'Rocket', value : 'rocket' },\n { label : 'Rope', value : 'rope' },\n { label : 'Spacefill', value : 'spacefill' },\n { label : 'Surface', value : 'surface' },\n { label : 'Trace', value : 'trace' },\n { label : 'Tube', value : 'tube' },\n { label : 'Unitcell', value : 'unitcell' } ]\n }\n },\n colorscheme : {\n label : 'Color Scheme',\n help : 'Select color scheme of the molecule scene.',\n type : 'select',\n display : 'radio',\n value : 'atomindex',\n data : [ { label : 'Element', value : 'element' },\n { label : 'Picking', value : 'picking' },\n { label : 'Random', value : 'random' },\n { label : 'Uniform', value : 'uniform' },\n { label : 'Atomindex', value : 'atomindex' },\n { label : 'Residue Index', value : 'residueindex' },\n { label : 'Chain Index', value : 'chainindex' },\n { label : 'Chain Name', value : 'chainname' },\n { label : 'Chain Id', value : 'chainid' },\n { label : 'Polymer', value : 'polymer' },\n { label : 'Model Index', value : 'modelindex' },\n { label : 'Entity Type', value : 'entitytype' },\n { label : 'Molecule Type', value : 'moleculetype' },\n { label : 'Secondary Structure', value : 'sstruc' },\n { label : 'Bfactor', value : 'bfactor' },\n { label : 'Resname', value : 'resname' },\n { label : 'Hydrophobicity', value : 'hydrophobicity' },\n { label : 'Value', value : 'value' },\n { label : 'Volume', value : 'volume' },\n { label : 'Occupancy', value : 'occupancy' } ]\n },\n backcolor : {\n label : 'Background Color',\n help : 'Select background color of the viewer.',\n type : 'select',\n display : 'radio',\n value : 'white',\n data : [ { label : 'Light', value : 'white' }, { label : 'Dark', value : 'black' } ]\n },\n spin : {\n label : 'Spin',\n help : 'Spin the molecule view.',\n type : 'select',\n display : 'radio',\n value : false,\n data : [ { label : 'On', value : true }, { label : 'Off', value : false } ]\n },\n radius: {\n name : 'radius',\n label : 'Radius',\n help : 'Select a number providing a fixed radius used for rendering the representation.',\n type : 'float',\n min : 0.001,\n max : 10.0,\n value : 0.7\n },\n scale: {\n name : 'scale',\n label : 'Scale',\n help : 'Select a number that scales the value defined by the *radius* parameter.',\n type : 'float',\n min : 0.001,\n max : 10.0,\n value : 0.7\n },\n assembly : {\n label : 'Assembly',\n help : 'Select a name of an assembly object.',\n type : 'select',\n display : 'radio',\n value : 'default',\n data : [ { label : 'Default', value : 'default' }, { label : 'AU', value : '' },\n { label : 'BU1', value : 'BU1' }, { label : 'UNITCELL', value : 'UNITCELL' },\n { label : 'SUPERCELL', value: 'SUPERCELL' } ]\n },\n opacity : {\n name : 'opacity',\n label : 'Opacity',\n help : 'Select opacity for the molecule scene.',\n type : 'float',\n min : 0.0,\n max : 1.0,\n value : 1.0\n\n }\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/ngl/viewer/config.js\n// module id = 34\n// module chunks = 1"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 95a0a55a798366ca26b1?cbda","webpack:///./static/repository/build/registry.tmp.js","webpack:///./static/repository/visualizations/nvd3/bar/config.js","webpack:///./static/repository/visualizations/nvd3/common/config.js","webpack:///./static/repository/visualizations/utilities/tabular-form.js","webpack:///./static/repository/visualizations/nvd3/bar_horizontal/config.js","webpack:///./static/repository/visualizations/nvd3/bar_horizontal_stacked/config.js","webpack:///./static/repository/visualizations/nvd3/bar_stacked/config.js","webpack:///./static/repository/visualizations/nvd3/line/config.js","webpack:///./static/repository/visualizations/nvd3/line_focus/config.js","webpack:///./static/repository/visualizations/nvd3/scatter/config.js","webpack:///./static/repository/visualizations/nvd3/stackedarea/config.js","webpack:///./static/repository/visualizations/nvd3/stackedarea_full/config.js","webpack:///./static/repository/visualizations/nvd3/stackedarea_stream/config.js","webpack:///./static/repository/visualizations/nvd3/pie/config.js","webpack:///./static/repository/visualizations/nvd3/histogram/config.js","webpack:///./static/repository/visualizations/nvd3/histogram_discrete/config.js","webpack:///./static/repository/visualizations/jqplot/bar/config.js","webpack:///./static/repository/visualizations/jqplot/common/config.js","webpack:///./static/repository/visualizations/jqplot/boxplot/config.js","webpack:///./static/repository/visualizations/jqplot/histogram_discrete/config.js","webpack:///./static/repository/visualizations/jqplot/line/config.js","webpack:///./static/repository/visualizations/jqplot/scatter/config.js","webpack:///./static/repository/visualizations/biojs/msa/config.js","webpack:///./static/repository/visualizations/biojs/drawrnajs/config.js","webpack:///./static/repository/visualizations/others/example/config.js","webpack:///./static/repository/visualizations/others/heatmap/config.js","webpack:///./static/repository/visualizations/others/heatmap_cluster/config.js","webpack:///./static/repository/visualizations/cytoscape/basic/config.js","webpack:///./static/repository/visualizations/pv/viewer/config.js","webpack:///./static/repository/visualizations/benfred/venn/config.js","webpack:///./static/repository/visualizations/ngl/viewer/config.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;iECtCA,iFAAwB,SAAS,soCAA4yD,EAAE,gJ;;;;;;;;;;iECA/0D;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECpBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE,mCAAkC,iCAAiC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,uDAAuD;AACxF,kCAAiC,mCAAmC;AACpE,kCAAiC,oCAAoC;AACrE,kCAAiC,sCAAsC;AACvE,kCAAiC,uCAAuC;AACxE,kCAAiC,sCAAsC;AACvE,kCAAiC,wCAAwC;AACzE,cAAa;AACb,8BAA6B,mBAAmB;AAChD,8BAA6B,mBAAmB;AAChD,8BAA6B,6CAA6C;AAC1E,8BAA6B,gBAAgB;AAC7C,8BAA6B,6CAA6C;AAC1E,8BAA6B,6CAA6C;AAC1E,8BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iEC9ED;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECnBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECpBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECpBD;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECrBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,iCAAiC,GAAG,iCAAiC;AACtG,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,6CAA6C;AAClF,sCAAqC,4CAA4C;AACjF,sCAAqC,0CAA0C;AAC/E,kBAAiB;AACjB,kCAAiC,mBAAmB;AACpD,kCAAiC,iCAAiC;AAClE;AACA;AACA;AACA;AACA;AACA,kFAAiF,iCAAiC;AAClH,kFAAiF,iCAAiC,IAAI,IAAI;AAC1H,kCAAiC,iCAAiC;AAClE;AACA;AACA;AACA;AACA;AACA,kFAAiF,iCAAiC;AAClH,kFAAiF,iCAAiC,IAAI,IAAI;AAC1H;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECxED;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEC1BD;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEChBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECrBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECfD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECbD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEClBD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,+IAA+I;AACrK,2BAA0B,+IAA+I;AACzK,oBAAmB;AACnB;AACA;AACA,EAAC,gJ;;;;;;iECbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,uEAAuE;AACxF,kBAAiB,uEAAuE;AACxF,kBAAiB;AACjB;AACA;AACA,EAAC,gJ;;;;;;iECfD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,sDAAsD;AACvF,kCAAiC,uDAAuD;AACxF,kCAAiC,yDAAyD;AAC1F,kCAAiC,uDAAuD;AACxF,kCAAiC,sDAAsD;AACvF,kCAAiC,2DAA2D;AAC5F,kCAAiC,wDAAwD;AACzF,kCAAiC,wDAAwD;AACzF,kCAAiC,2DAA2D;AAC5F,kCAAiC,4DAA4D;AAC7F,kCAAiC,yDAAyD;AAC1F,kCAAiC,uDAAuD;AACxF,kCAAiC,0DAA0D;AAC3F,kCAAiC,wDAAwD;AACzF,kCAAiC,0DAA0D;AAC3F,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iEC5DD;AACA,8BAA6B;AAC7B;AACA;AACA;AACA,MAAK;AACL,EAAC,gJ;;;;;;iECND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,iCAAiC,GAAG,qCAAqC,GAAG,+BAA+B;AACxI,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,8CAA8C;AAC/E,kCAAiC,4CAA4C;AAC7E,kCAAiC,6CAA6C;AAC9E,kCAAiC,8CAA8C;AAC/E,kCAAiC,4CAA4C;AAC7E,kCAAiC,gDAAgD;AACjF,kCAAiC,4CAA4C;AAC7E,kCAAiC,2CAA2C;AAC5E,kBAAiB;AACjB,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC,oBAAoB;AACrD,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,IAAI;AACrC,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC;AACjC;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECtGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,gJ;;;;;;iECvBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,iCAAiC,GAAG,qCAAqC,GAAG,+BAA+B;AACxI,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,iCAAiC;AAClE,kCAAiC,iCAAiC;AAClE,kCAAiC,yCAAyC;AAC1E,kCAAiC,6CAA6C;AAC9E,kCAAiC,uCAAuC;AACxE,kCAAiC,uCAAuC;AACxE,kCAAiC,+CAA+C;AAChF,kCAAiC,2CAA2C;AAC5E,kCAAiC,mCAAmC;AACpE,kCAAiC,yCAAyC;AAC1E,kCAAiC,iCAAiC;AAClE,kCAAiC,mCAAmC;AACpE,kCAAiC,qCAAqC;AACtE,kCAAiC,qCAAqC;AACtE,kCAAiC,iCAAiC;AAClE,kCAAiC,2CAA2C;AAC5E,kCAAiC,uCAAuC;AACxE,kCAAiC,mCAAmC;AACpE,kCAAiC,iCAAiC;AAClE,kCAAiC,yCAAyC;AAC1E;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,uCAAuC;AACpE,8BAA6B,uCAAuC;AACpE,8BAA6B,qCAAqC;AAClE,8BAA6B,uCAAuC;AACpE,8BAA6B,2CAA2C;AACxE,8BAA6B,kDAAkD;AAC/E,8BAA6B,8CAA8C;AAC3E,8BAA6B,4CAA4C;AACzE,8BAA6B,wCAAwC;AACrE,8BAA6B,uCAAuC;AACpE,8BAA6B,8CAA8C;AAC3E,8BAA6B,8CAA8C;AAC3E,8BAA6B,kDAAkD;AAC/E,8BAA6B,kDAAkD;AAC/E,8BAA6B,uCAAuC;AACpE,8BAA6B,uCAAuC;AACpE,8BAA6B,qDAAqD;AAClF,8BAA6B,mCAAmC;AAChE,8BAA6B,qCAAqC;AAClE,8BAA6B,2CAA2C;AACxE,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,mCAAmC,GAAG,kCAAkC;AACrG,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,6BAA6B,GAAG,+BAA+B;AAC5F,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,uCAAuC,GAAG,2BAA2B;AAClG,8BAA6B,+BAA+B,GAAG,yCAAyC;AACxG,8BAA6B,0CAA0C;AACvE,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC","file":"registry.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 95a0a55a798366ca26b1","define( [], function() { return {nvd3_bar:require( \"visualizations/nvd3/bar/config\" ), nvd3_bar_horizontal:require( \"visualizations/nvd3/bar_horizontal/config\" ), nvd3_bar_horizontal_stacked:require( \"visualizations/nvd3/bar_horizontal_stacked/config\" ), nvd3_bar_stacked:require( \"visualizations/nvd3/bar_stacked/config\" ), nvd3_line:require( \"visualizations/nvd3/line/config\" ), nvd3_line_focus:require( \"visualizations/nvd3/line_focus/config\" ), nvd3_scatter:require( \"visualizations/nvd3/scatter/config\" ), nvd3_stackedarea:require( \"visualizations/nvd3/stackedarea/config\" ), nvd3_stackedarea_full:require( \"visualizations/nvd3/stackedarea_full/config\" ), nvd3_stackedarea_stream:require( \"visualizations/nvd3/stackedarea_stream/config\" ), nvd3_pie:require( \"visualizations/nvd3/pie/config\" ), nvd3_histogram:require( \"visualizations/nvd3/histogram/config\" ), nvd3_histogram_discrete:require( \"visualizations/nvd3/histogram_discrete/config\" ), jqplot_bar:require( \"visualizations/jqplot/bar/config\" ), jqplot_boxplot:require( \"visualizations/jqplot/boxplot/config\" ), jqplot_histogram_discrete:require( \"visualizations/jqplot/histogram_discrete/config\" ), jqplot_line:require( \"visualizations/jqplot/line/config\" ), jqplot_scatter:require( \"visualizations/jqplot/scatter/config\" ), biojs_msa:require( \"visualizations/biojs/msa/config\" ), biojs_drawrnajs:require( \"visualizations/biojs/drawrnajs/config\" ), others_example:require( \"visualizations/others/example/config\" ), others_heatmap:require( \"visualizations/others/heatmap/config\" ), others_heatmap_cluster:require( \"visualizations/others/heatmap_cluster/config\" ), cytoscape_basic:require( \"visualizations/cytoscape/basic/config\" ), pv_viewer:require( \"visualizations/pv/viewer/config\" ), benfred_venn:require( \"visualizations/benfred/venn/config\" ), ngl_viewer:require( \"visualizations/ngl/viewer/config\" ),} } );\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/build/registry.tmp.js\n// module id = 0\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend(true, {}, nvd3_config, {\n title : 'Bar diagram',\n description : 'Renders a regular bar diagram using NVD3 hosted at http://www.nvd3.org.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar/config.js\n// module id = 5\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : '',\n library : 'NVD3',\n tag : 'svg',\n keywords : 'nvd3 default',\n exports : [ 'png', 'svg', 'pdf' ],\n groups : {\n color: {\n label : 'Pick a series color',\n type : 'color'\n },\n tooltip : {\n label : 'Data point labels',\n type : 'data_column',\n is_label : true,\n is_auto : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/common/config.js\n// module id = 6\n// module chunks = 1","define( [], function() {\n var axisLabel = function( name, options ) {\n options = options || {};\n prefix = name.substr( 0, 1 );\n return {\n name : name,\n label : prefix.toUpperCase() + '-Axis label',\n help : 'Provide a label for the axis.',\n type : 'text',\n value : options.value || prefix.toUpperCase() + '-axis',\n placeholder : 'Axis label'\n }\n }\n var axisType = function( name, options ) {\n options = options || {};\n prefix = name.substr( 0, 1 );\n var axisPrecision = function() {\n return { name : 'precision',\n label : 'Axis tick format',\n help : 'Select the tick format for the axis.',\n type : 'select',\n value : options.precision || 1,\n data : [ { label : '0.00001', value : '5' },\n { label : '0.0001', value : '4' },\n { label : '0.001', value : '3' },\n { label : '0.01', value : '2' },\n { label : '0.1', value : '1' },\n { label : '1', value : '0' } ] }\n }\n return {\n name : prefix + '_axis_type',\n type : 'conditional',\n test_param : {\n name : 'type',\n label : prefix.toUpperCase() + '-Axis value type',\n type : 'select',\n value : options.value || 'auto',\n help : 'Select the value type of the axis.',\n data : [ { value : 'hide', label : '-- Do not show values --' },\n { value : 'auto', label : 'Auto' },\n { value : 'f', label : 'Float' },\n { value : 'd', label : 'Integer' },\n { value : 'e', label : 'Exponent' },\n { value : 'p', label : 'Percent' },\n { value : 's', label : 'SI-prefix' } ]\n },\n cases : [ { value : 'hide' },\n { value : 'auto' },\n { value : 'f', inputs: [ axisPrecision() ] },\n { value : 'd' },\n { value : 'e', inputs: [ axisPrecision() ] },\n { value : 'p', inputs: [ axisPrecision() ] },\n { value : 's' } ]\n }\n }\n return {\n title : '',\n library : '',\n tag : '',\n keywords : '',\n datatypes : [ 'bed', 'bedgraph', 'bedstrict', 'bed6', 'bed12', 'chrint', 'customtrack', 'gff', 'gff3', 'gtf', 'interval', 'encodepeak', 'wig', 'scidx', 'fli', 'csv', 'tsv', 'eland', 'elandmulti', 'picard_interval_list', 'gatk_dbsnp', 'gatk_tranche', 'gatk_recal', 'ct', 'pileup', 'sam', 'taxonomy', 'tabular', 'vcf', 'xls' ],\n use_panels : 'both',\n settings : {\n x_axis_label : axisLabel( 'x_axis_label' ),\n x_axis_type : axisType( 'x_axis_type' ),\n y_axis_label : axisLabel( 'y_axis_label' ),\n y_axis_type : axisType( 'y_axis_type' ),\n show_legend : { type: 'boolean', label: 'Show legend', help: 'Would you like to add a legend?' }\n },\n groups : {\n key: {\n label : 'Provide a label',\n type : 'text',\n placeholder : 'Data label',\n value : 'Data label'\n }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/utilities/tabular-form.js\n// module id = 7\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Horizontal',\n description : 'Renders a horizontal bar diagram using NVD3 hosted at http://www.nvd3.org.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar_horizontal/config.js\n// module id = 8\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Stacked horizontal',\n description : 'Renders a stacked horizontal bar diagram using NVD3 hosted at http://www.nvd3.org.',\n use_panels : 'no',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar_horizontal_stacked/config.js\n// module id = 9\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Stacked',\n description : 'Renders a stacked bar diagram using NVD3 hosted at http://www.nvd3.org.',\n use_panels : 'no',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/bar_stacked/config.js\n// module id = 10\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Line chart',\n description : 'Renders a line chart using NVD3 hosted at http://www.nvd3.org.',\n zoomable : true,\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/line/config.js\n// module id = 11\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Line with focus',\n description : 'Renders a line chart with focus panel using NVD3 hosted at http://www.nvd3.org.',\n zoomable : 'native',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/line_focus/config.js\n// module id = 12\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Scatter plot',\n description : 'Renders a scatter plot using NVD3 hosted at http://www.nvd3.org.',\n zoomable : true,\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_numeric : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/scatter/config.js\n// module id = 13\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Stacked area',\n zoomable : true,\n description : 'Renders a stacked area using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3 default',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/stackedarea/config.js\n// module id = 14\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend( true, {}, nvd3_config, {\n title : 'Expanded',\n zoomable : true,\n description : 'Renders an expanded stacked area using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3 default',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/stackedarea_full/config.js\n// module id = 15\n// module chunks = 1","define( [ 'visualizations/nvd3/common/config' ], function( nvd3_config ) {\n return $.extend(true, {}, nvd3_config, {\n title : 'Stream',\n description : 'Renders a stream chart using NVD3 hosted at http://www.nvd3.org.',\n zoomable : true,\n keywords : 'nvd3 default',\n showmaxmin : true,\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/stackedarea_stream/config.js\n// module id = 16\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Pie chart',\n description : 'Renders a pie chart using NVD3 hosted at http://www.nvd3.org.',\n library : 'NVD3',\n tag : 'svg',\n keywords : 'nvd3 default',\n datatypes : [ 'tabular', 'csv' ],\n exports : [ 'png', 'svg', 'pdf' ],\n use_panels : 'yes',\n groups : {\n label : {\n label : 'Labels',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values',\n type : 'data_column',\n is_numeric : true\n }\n },\n settings : {\n donut_ratio : {\n label : 'Donut ratio',\n help : 'Determine how large the donut hole will be.',\n type : 'float',\n value : 0.5,\n max : 1,\n min : 0.0\n },\n show_legend : {\n label : 'Show legend',\n help : 'Would you like to add a legend?',\n type : 'select',\n display : 'radiobutton',\n value : 'false',\n data : [ { label : 'Yes', value : 'true' }, { label : 'No', value : 'false' } ]\n },\n label_type : {\n type : 'conditional',\n test_param : {\n name : 'type',\n label : 'Donut label',\n type : 'select',\n value : 'percent',\n help : 'What would you like to show for each slice?',\n data : [ { value : 'hide', label : '-- Nothing --' },\n { value : 'key', label : 'Label column' },\n { value : 'percent', label : 'Percentage' } ]\n },\n cases : [ { value : 'hide' },\n { value : 'key', inputs: [ { name : 'label_outside',\n label : 'Show outside',\n help : 'Would you like to show labels outside the donut?',\n type : 'select',\n display : 'radiobutton',\n value : 'true',\n data : [ { label : 'Yes', value : 'true' },\n { label : 'No', value : 'false' } ] } ] },\n { value : 'percent', inputs: [ { name : 'label_outside',\n label : 'Show outside',\n help : 'Would you like to show labels outside the donut?',\n type : 'select',\n display : 'radiobutton',\n value : 'true',\n data : [ { label : 'Yes', value : 'true' },\n { label : 'No', value : 'false' } ] } ] } ]\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/pie/config.js\n// module id = 17\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n library : 'NVD3',\n tag : 'svg',\n title : 'Histogram',\n description : 'Uses the R-based `charts` tool to derive a histogram and displays it as regular or stacked bar diagram using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3 default',\n datatype : 'tabular',\n groups : {\n key : {\n label : 'Provide a label',\n type : 'text',\n placeholder : 'Data label',\n value : 'Data label'\n },\n color : {\n label : 'Pick a series color',\n type : 'color'\n },\n y : {\n label : 'Observations',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/histogram/config.js\n// module id = 18\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend(true, {}, default_config, {\n library : 'NVD3',\n tag : 'svg',\n title : 'Discrete Histogram',\n description : 'Uses the R-based `charts` tool to derive a histogram for discrete data e.g. text labels. The result is displayed as regular or stacked bar diagram using NVD3 hosted at http://www.nvd3.org.',\n keywords : 'nvd3',\n datatype : 'tabular',\n groups : {\n x : {\n label : 'Observations',\n type : 'data_column',\n is_label : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/nvd3/histogram_discrete/config.js\n// module id = 19\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Bar diagram',\n description : 'Renders a bar diagram using jqPlot hosted at http://www.jqplot.com.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/bar/config.js\n// module id = 20\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend(true, {}, default_config, {\n title : '',\n library : 'jqPlot',\n tag : 'div',\n zoomable : true,\n keywords : 'jqplot',\n exports : [ 'png' ],\n settings : {\n x_axis_grid : {\n label : 'Axis grid',\n help : 'Would you like to show grid lines for the X axis?',\n type : 'boolean'\n },\n y_axis_grid : {\n label : 'Axis grid',\n help : 'Would you like to show grid lines for the Y axis?',\n type : 'boolean'\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/common/config.js\n// module id = 21\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Box plot',\n library : 'jqPlot',\n description : 'Processes tabular data using R and renders a box plot using jqPlot hosted at http://www.jqplot.com.',\n tag : 'div',\n keywords : 'jqplot default',\n groups : {\n y : {\n label : 'Observations',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/boxplot/config.js\n// module id = 22\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Discrete Histogram',\n description : 'Derives a discrete histogram from tabular data using R and renders a regular bar diagram using jqPlot hosted at http://www.jqplot.com.',\n keywords : 'jqplot default',\n groups : {\n x : {\n label : 'Observations',\n type : 'data_column',\n is_label : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/histogram_discrete/config.js\n// module id = 23\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Line chart',\n description : 'Renders a line chart using jqPlot hosted at http://www.jqplot.com.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_label : true,\n is_auto : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/line/config.js\n// module id = 24\n// module chunks = 1","define( [ 'visualizations/jqplot/common/config' ], function( plot_config ) {\n return $.extend( true, {}, plot_config, {\n title : 'Scatter plot',\n description : 'Renders a scatter plot using jqPlot hosted at http://www.jqplot.com.',\n groups : {\n x : {\n label : 'Values for x-axis',\n type : 'data_column',\n is_numeric : true\n },\n y : {\n label : 'Values for y-axis',\n type : 'data_column',\n is_numeric : true\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/jqplot/scatter/config.js\n// module id = 25\n// module chunks = 1","define( [], function() {\n return {\n title : 'Multiple Sequence Alignment',\n library : 'BioJS',\n datatypes : [ 'txt' ],\n keywords : 'biojs',\n description : 'The MSA viewer is a modular, reusable component to visualize large MSAs interactively on the web.',\n settings : {\n conserv: { label :'Show conservation', help : 'Do you want to display a bar diagram indicating sequence conservation?', type : 'boolean', value: 'true' },\n overviewbox: { label :'Show overview box', help : 'Do you want to display the overview box below the sequence alignments?', type : 'boolean', value: 'true' },\n menu: { label :'Show interactive menu', help : 'Do you want to show a menu for interactive configuration?', type : 'boolean', value: 'true' }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/biojs/msa/config.js\n// module id = 26\n// module chunks = 1","define( [], function() {\n return {\n title : 'RNA Structure Viewer',\n library : 'BioJS',\n datatypes : [ 'dbn' ],\n keywords : 'biojs',\n description : 'Renders RNA structures hosted at https://github.com/bene200/drawrnajs.'\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/biojs/drawrnajs/config.js\n// module id = 27\n// module chunks = 1","define([], function() {\n return {\n title : 'Example',\n library : 'Custom',\n tag : 'svg',\n keywords : 'others',\n datatypes : [ 'tabular', 'csv' ],\n use_panels : 'both',\n description : 'This is a developer example which demonstrates how to implement and configure a basic d3-based plugin for charts.',\n groups : {\n x : { type : 'data_column', is_numeric : true, label : 'Bubble x-position' },\n y : { type : 'data_column', is_numeric : true, label : 'Bubble y-position' },\n z : { type : 'data_column', is_numeric : true, label : 'Bubble size' }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/others/example/config.js\n// module id = 28\n// module chunks = 1","define( [ 'visualizations/utilities/tabular-form' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Heatmap',\n description : 'Renders a heatmap from matrix data provided in 3-column format (x, y, observation).',\n library : 'Custom',\n tag : 'svg',\n keywords : 'others default',\n zoomable : true,\n exports : [ 'png', 'svg', 'pdf' ],\n use_panels : 'yes',\n groups : {\n x : {\n label : 'Column labels',\n type : 'data_column',\n is_label : true,\n is_numeric : true\n },\n y : {\n label : 'Row labels',\n type : 'data_column',\n is_label : true,\n is_numeric : true\n },\n z : {\n label : 'Observation',\n type : 'data_column',\n is_numeric : true\n }\n },\n settings : {\n color_set : {\n label : 'Color scheme',\n help : 'Select a color scheme for your heatmap',\n type : 'select',\n value : 'jet',\n data : [ { label : 'Cold-to-Hot', value : 'hot' },\n { label : 'Cool', value : 'cool' },\n { label : 'Copper', value : 'copper' },\n { label : 'Gray scale', value : 'gray' },\n { label : 'Jet', value : 'jet' },\n { label : 'No-Green', value : 'no_green' },\n { label : 'Ocean', value : 'ocean' },\n { label : 'Polar', value : 'polar' },\n { label : 'Red-to-Green', value : 'redgreen' },\n { label : 'Red-to-green (saturated)', value : 'red2green' },\n { label : 'Relief', value : 'relief' },\n { label : 'Seismograph', value : 'seis' },\n { label : 'Sealand', value : 'sealand' },\n { label : 'Split', value : 'split' },\n { label : 'Wysiwyg', value : 'wysiwyg' } ]\n },\n url_template: {\n label : 'Url template',\n help : 'Enter a url to link the labels with external sources. Use __LABEL__ as placeholder.',\n type : 'text',\n value : '',\n placeholder : 'http://someurl.com?id=__LABEL__'\n }\n }\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/others/heatmap/config.js\n// module id = 29\n// module chunks = 1","define( [ 'visualizations/others/heatmap/config' ], function( default_config ) {\n return $.extend( true, {}, default_config, {\n title : 'Clustered Heatmap',\n description : 'Applies hierarchical clustering to a matrix using R. The data has to be provided in 3-column format. The result is displayed as clustered heatmap.',\n keywords : 'others default'\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/others/heatmap_cluster/config.js\n// module id = 30\n// module chunks = 1","define( [], function() {\n return {\n title : 'Cytoscape (Default)',\n library : 'Cytoscape',\n datatypes : [ 'json' ],\n keywords : 'cytoscape graph nodes edges',\n description : 'Basic Cytoscape viewer for connected graphs hosted at http://js.cytoscape.org.'\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/cytoscape/basic/config.js\n// module id = 31\n// module chunks = 1","define( [], function() {\n return {\n title : 'PV Protein Viewer',\n library : 'PV',\n datatypes : [ 'pdb' ],\n keywords : 'pv protein viewer pdb structure',\n description : 'PV is a pdb/protein viewer hosted at https://biasmv.github.io/pv/.',\n settings : {\n quality : {\n label : 'Quality',\n help : 'Select the rendering quality.',\n type : 'select',\n display : 'radio',\n value : 'medium',\n data : [ { label : 'High', value : 'high' }, { label : 'Medium', value : 'medium' }, { label : 'Low', value : 'low' } ]\n },\n viewer : {\n type : 'conditional',\n test_param : {\n name : 'mode',\n label : 'Display mode',\n type : 'select',\n display : 'radio',\n value : 'cartoon',\n help : 'Select the rendering mode.',\n data : [ { label : 'Cartoon', value : 'cartoon' },\n { label : 'Lines', value : 'lines' },\n { label : 'Points', value : 'points' },\n { label : 'Spheres', value : 'spheres' },\n { label : 'Trace', value : 'trace' },\n { label : 'Trace (line)', value : 'lineTrace' },\n { label : 'Trace (smooth)', value : 'sline' },\n { label : 'Tube', value : 'tube' } ]\n },\n cases : [ { value : 'cartoon', inputs: [ {\n name : 'radius',\n label : 'Radius',\n help : 'Radius of tube profile. Also influences the profile thickness for helix and strand profiles.',\n type : 'float',\n min : 0.1,\n max : 3,\n value : 0.3\n } ] },\n { value : 'lines', inputs: [ {\n name : 'lineWidth',\n label : 'Line width',\n help : 'Specify the line width.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 4\n } ] },\n { value : 'points', inputs: [ {\n name : 'pointSize',\n label : 'Point size',\n help : 'Specify the point size.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 1\n } ] },\n { value : 'spheres' },\n { value : 'trace', inputs: [ {\n name : 'radius',\n label : 'Radius',\n help : 'Specify the tube radius.',\n type : 'float',\n min : 0.1,\n max : 3,\n value : 0.3\n } ] },\n { value : 'lineTrace', inputs: [ {\n name : 'lineWidth',\n label : 'Line width',\n help : 'Specify the line width.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 4\n } ] },\n { value : 'sline', inputs: [ {\n name : 'lineWidth',\n label : 'Line width',\n help : 'Specify the line width.',\n type : 'float',\n min : 0.1,\n max : 10,\n value : 4\n } ] },\n { value : 'tube', inputs: [ {\n name : 'radius',\n label : 'Radius',\n help : 'Specify the tube radius.',\n type : 'float',\n min : 0.1,\n max : 3,\n value : 0.3\n } ] }\n ]\n }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/pv/viewer/config.js\n// module id = 32\n// module chunks = 1","define( [], function() {\n return {\n title : 'Venn Diagram',\n library : 'benfred',\n tag : 'svg',\n datatypes : [ 'tabular', 'csv' ],\n keywords : 'default venn overlap circle',\n description : 'A javascript library for laying out area proportional venn and euler diagrams hosted at https://github.com/benfred/venn.js.',\n exports : [ 'png', 'svg', 'pdf' ],\n groups : {\n key: {\n label : 'Provide a label',\n type : 'text',\n placeholder : 'Data label',\n value : 'Data label'\n },\n observation : {\n label : 'Column with observations',\n type : 'data_column',\n is_label : true\n }\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/benfred/venn/config.js\n// module id = 33\n// module chunks = 1","define( [], function() {\n return {\n title : 'NGL Viewer',\n library : 'NGL',\n datatypes : [ 'pdb' ],\n keywords : 'NGL protein viewer pdb',\n description : 'NGL Viewer is a WebGL based molecular visualization hosted at http://arose.github.io/ngl/.',\n settings : {\n quality : {\n label : 'Quality',\n help : 'Select the rendering quality.',\n type : 'select',\n display : 'radio',\n value : 'medium',\n data : [ { label : 'High', value : 'high' }, { label : 'Medium', value : 'medium' }, { label : 'Low', value : 'low' } ]\n },\n viewer : {\n type : 'conditional',\n test_param : {\n name : 'mode',\n label : 'Display mode',\n type : 'select',\n display : 'radio',\n value : 'cartoon',\n help : '',\n data : [ { label : 'Axes', value : 'axes' },\n { label : 'Base', value : 'base' },\n { label : 'Backbone', value : 'backbone' },\n { label : 'Ball+Stick', value : 'ball+stick' },\n { label : 'Cartoon', value : 'cartoon' },\n { label : 'Contact', value : 'contact' },\n { label : 'Helixorient', value : 'helixorient' },\n { label : 'Hyperball', value : 'hyperball' },\n { label : 'Label', value : 'label' },\n { label : 'Licorice', value : 'licorice' },\n { label : 'Line', value : 'line' },\n { label : 'Point', value : 'point' },\n { label : 'Ribbon', value : 'ribbon' },\n { label : 'Rocket', value : 'rocket' },\n { label : 'Rope', value : 'rope' },\n { label : 'Spacefill', value : 'spacefill' },\n { label : 'Surface', value : 'surface' },\n { label : 'Trace', value : 'trace' },\n { label : 'Tube', value : 'tube' },\n { label : 'Unitcell', value : 'unitcell' } ]\n }\n },\n colorscheme : {\n label : 'Color Scheme',\n help : 'Select color scheme of the molecule scene.',\n type : 'select',\n display : 'radio',\n value : 'atomindex',\n data : [ { label : 'Element', value : 'element' },\n { label : 'Picking', value : 'picking' },\n { label : 'Random', value : 'random' },\n { label : 'Uniform', value : 'uniform' },\n { label : 'Atomindex', value : 'atomindex' },\n { label : 'Residue Index', value : 'residueindex' },\n { label : 'Chain Index', value : 'chainindex' },\n { label : 'Chain Name', value : 'chainname' },\n { label : 'Chain Id', value : 'chainid' },\n { label : 'Polymer', value : 'polymer' },\n { label : 'Model Index', value : 'modelindex' },\n { label : 'Entity Type', value : 'entitytype' },\n { label : 'Molecule Type', value : 'moleculetype' },\n { label : 'Secondary Structure', value : 'sstruc' },\n { label : 'Bfactor', value : 'bfactor' },\n { label : 'Resname', value : 'resname' },\n { label : 'Hydrophobicity', value : 'hydrophobicity' },\n { label : 'Value', value : 'value' },\n { label : 'Volume', value : 'volume' },\n { label : 'Occupancy', value : 'occupancy' } ]\n },\n backcolor : {\n label : 'Background Color',\n help : 'Select background color of the viewer.',\n type : 'select',\n display : 'radio',\n value : 'white',\n data : [ { label : 'Light', value : 'white' }, { label : 'Dark', value : 'black' } ]\n },\n spin : {\n label : 'Spin',\n help : 'Spin the molecule view.',\n type : 'select',\n display : 'radio',\n value : false,\n data : [ { label : 'On', value : true }, { label : 'Off', value : false } ]\n },\n radius: {\n name : 'radius',\n label : 'Radius',\n help : 'Select a number providing a fixed radius used for rendering the representation.',\n type : 'float',\n min : 0.001,\n max : 10.0,\n value : 0.7\n },\n scale: {\n name : 'scale',\n label : 'Scale',\n help : 'Select a number that scales the value defined by the *radius* parameter.',\n type : 'float',\n min : 0.001,\n max : 10.0,\n value : 0.7\n },\n assembly : {\n label : 'Assembly',\n help : 'Select a name of an assembly object.',\n type : 'select',\n display : 'radio',\n value : 'default',\n data : [ { label : 'Default', value : 'default' }, { label : 'AU', value : '' },\n { label : 'BU1', value : 'BU1' }, { label : 'UNITCELL', value : 'UNITCELL' },\n { label : 'SUPERCELL', value: 'SUPERCELL' } ]\n },\n opacity : {\n name : 'opacity',\n label : 'Opacity',\n help : 'Select opacity for the molecule scene.',\n type : 'float',\n min : 0.0,\n max : 1.0,\n value : 1.0\n\n }\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./static/repository/visualizations/ngl/viewer/config.js\n// module id = 34\n// module chunks = 1"],"sourceRoot":""} \ No newline at end of file diff --git a/config/plugins/visualizations/charts/static/repository/visualizations/ngl/viewer/wrapper.js b/config/plugins/visualizations/charts/static/repository/visualizations/ngl/viewer/wrapper.js index fe28a85308d..3505c4bce19 100644 --- a/config/plugins/visualizations/charts/static/repository/visualizations/ngl/viewer/wrapper.js +++ b/config/plugins/visualizations/charts/static/repository/visualizations/ngl/viewer/wrapper.js @@ -3,11 +3,10 @@ define( [ 'utilities/utils', "plugins/ngl/viewer" ], function( Utils, ngl ) { initialize: function( options ) { var dataset = options.dataset, settings = options.chart.settings, - url = window.location.protocol + '//' + window.location.host + "/datasets/" + dataset.dataset_id + - "/display?to_ext=" + dataset.extension, stage = new ngl.Stage( options.targets[ 0 ], { backgroundColor: settings.get( 'backcolor' ) } ); + Utils.get( { - url : url, + url : dataset.download_url, cache : true, success : function( response ) { var viewer_options = {}, @@ -24,7 +23,7 @@ define( [ 'utilities/utils', "plugins/ngl/viewer" ], function( Utils, ngl ) { color: settings.get( 'colorscheme' ), opacity: settings.get( 'opacity' ) }; - stage.loadFile( url, {ext: dataset.extension, name: dataset.name, defaultRepresentation: true} ).then( function( o ) { + stage.loadFile( dataset.download_url, {ext: dataset.extension, name: dataset.name, defaultRepresentation: true} ).then( function( o ) { o.addRepresentation( viewer_options.mode, representation_parameters ); o.centerView(); } );