(function() { var requirejs,require,define; (function(){function J(d){return ia.call(d)==="[object Function]"}function X(d){return ia.call(d)==="[object Array]"}function Y(d,f,l){for(var j in f)if(!(j in F)&&(!(j in d)||l))d[j]=f[j];return h}function K(d,f,l){d=new Error(f+"\nhttp://requirejs.org/docs/errors.html#"+d);if(l)d.originalError=l;return d}function ja(d,f,l){var j,q,o;for(j=0;o=f[j];j++){o=typeof o==="string"?{name:o}:o;q=o.location;if(l&&(!q||q.indexOf("/")!==0&&q.indexOf(":")===-1))q=l+"/"+(q||o.name);d[o.name]={name:o.name,location:q|| o.name,main:(o.main||"main").replace(ua,"").replace(ka,"")}}}function Z(d,f){if(d.holdReady)d.holdReady(f);else if(f)d.readyWait+=1;else d.ready(true)}function va(d){function f(a){var b,c;for(b=0;c=a[b];b++)if(c==="."){a.splice(b,1);b-=1}else if(c==="..")if(b===1&&(a[2]===".."||a[0]===".."))break;else if(b>0){a.splice(b-1,2);b-=2}}function l(a,b){var c;if(a.charAt(0)===".")if(b){if(r.pkgs[b])b=[b];else{b=b.split("/");b=b.slice(0,b.length-1)}a=b.concat(a.split("/"));f(a);c=r.pkgs[b=a[0]];a=a.join("/"); if(c&&a===b+"/"+c.main)a=b}return a}function j(a,b){var c=a?a.indexOf("!"):-1,e=null,g=b?b.name:null,k=a,n,m;if(c!==-1){e=a.substring(0,c);a=a.substring(c+1,a.length)}if(e)e=l(e,g);if(a){if(e)n=(c=p[e])?c.normalize?c.normalize(a,function(u){return l(u,g)}):l(a,g):"__$p"+g+"@"+a;else n=l(a,g);m=$[n];if(!m){m=h.toModuleUrl?h.toModuleUrl(i,n,b):i.nameToUrl(n,null,b);$[n]=m}}return{prefix:e,name:n,parentMap:b,url:m,originalName:k,fullName:e?e+"!"+n:n}}function q(){var a=true,b=r.priorityWait,c,e;if(b){for(e= 0;c=b[e];e++)if(!v[c]){a=false;break}a&&delete r.priorityWait}return a}function o(a){return function(b){a.exports=b}}function L(a,b,c){return function(){var e=[].concat(wa.call(arguments,0)),g;if(c&&J(g=e[e.length-1]))g.__requireJsBuild=true;e.push(b);return a.apply(null,e)}}function la(a,b){b=L(i.require,a,b);Y(b,{nameToUrl:L(i.nameToUrl,a),toUrl:L(i.toUrl,a),defined:L(i.requireDefined,a),specified:L(i.requireSpecified,a),ready:h.ready,isBrowser:h.isBrowser});if(h.paths)b.paths=h.paths;return b} function xa(a){var b,c,e,g,k,n,m,u=T[a];if(u)for(g=0;c=u[g];g++){b=c.fullName;c=j(c.originalName,c.parentMap);c=c.fullName;e=w[b]||[];k=w[c];if(c!==b){if(b in y){delete y[b];y[c]=true}w[c]=k?k.concat(e):e;delete w[b];for(k=0;k0)){if(r.priorityWait)if(q())C();else return;for(g in v)if(!(g in F)){c=true; if(!v[g])if(b)a+=g+" ";else{e=true;break}}if(c||i.waitCount){if(b&&a){g=K("timeout","Load timeout for modules: "+a);g.requireType="timeout";g.requireModules=a;return h.onError(g)}if(e||i.scriptCount){if((A||qa)&&!da)da=setTimeout(function(){da=0;ca()},50)}else{if(i.waitCount){for(D=0;a=ba[D];D++)pa(a,{});if(ea<5){ea+=1;ca()}}ea=0;h.checkReadyState()}}}}function ra(a,b){var c=b.name,e=b.fullName,g;if(!(e in p||e in v)){G[a]||(G[a]=p[a]);v[e]||(v[e]=false);g=function(k){h.onPluginLoad&&h.onPluginLoad(i, a,c,k);aa({prefix:b.prefix,name:b.name,fullName:b.fullName,callback:function(){return k}});v[e]=true};g.fromText=function(k,n){var m=N;i.loaded[k]=false;i.scriptCount+=1;if(m)N=false;h.exec(n);if(m)N=true;i.completeLoad(k)};G[a].load(c,la(b.parentMap,true),g,r)}}function Ba(a){if(a.prefix&&a.name.indexOf("__$p")===0&&p[a.prefix])a=j(a.originalName,a.parentMap);var b=a.prefix,c=a.fullName,e=i.urlFetched;if(!(y[c]||v[c])){y[c]=true;if(b)if(p[b])ra(b,a);else{if(!O[b]){O[b]=[];(w[b]||(w[b]=[])).push({onDep:function(g){if(g=== b){var k,n=O[b];for(g=0;g0;n--){k=c.slice(0,n).join("/");if(e[k]){c.splice(0,n,e[k]);break}else if(k=g[k]){a=a===k.name?k.location+"/"+k.main:k.location; c.splice(0,n,a);break}}b=c.join("/")+(b||".js");b=(b.charAt(0)==="/"||b.match(/^\w+:/)?"":m.baseUrl)+b}return m.urlArgs?b+((b.indexOf("?")===-1?"?":"&")+m.urlArgs):b}};i.jQueryCheck=U;i.resume=C;return i}function Da(){var d,f,l;if(Q&&Q.readyState==="interactive")return Q;d=document.getElementsByTagName("script");for(f=d.length-1;f>-1&&(l=d[f]);f--)if(l.readyState==="interactive")return Q=l;return null}var Ea=/(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg,Fa=/require\(["']([^'"\s]+)["']\)/g,ua=/^\.\//,ka=/\.js$/, ia=Object.prototype.toString,x=Array.prototype,wa=x.slice,Ca=x.splice,A=!!(typeof window!=="undefined"&&navigator&&document),qa=!A&&typeof importScripts!=="undefined",Ga=A&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,sa=typeof opera!=="undefined"&&opera.toString()==="[object Opera]",ya="_r@@",F={},H={},V=[],Q=null,Ha=false,ea=0,N=false,h;x={};var ga,s,I,W,z,R,S,D,ha,ta,E,U,da;if(typeof define==="undefined"){if(typeof requirejs!=="undefined")if(J(requirejs))return;else{x= requirejs;requirejs=undefined}if(typeof require!=="undefined"&&!J(require)){x=require;require=undefined}h=requirejs=function(d,f,l){var j="_",q;if(!X(d)&&typeof d!=="string"){q=d;if(X(f)){d=f;f=l}else d=[]}if(q&&q.context)j=q.context;l=H[j]||(H[j]=va(j));q&&l.configure(q);return l.require(d,f)};if(typeof require==="undefined")require=h;h.toUrl=function(d){return H._.toUrl(d)};h.version="0.25.0";h.isArray=X;h.isFunction=J;h.mixin=Y;h.jsExtRegExp=/^\/|:|\?|\.js$/;s=h.s={contexts:H,skipAsync:{},isPageLoaded:!A, readyCalls:[]};if(h.isAsync=h.isBrowser=A){I=s.head=document.getElementsByTagName("head")[0];if(W=document.getElementsByTagName("base")[0])I=s.head=W.parentNode}h.onError=function(d){throw d;};h.load=function(d,f,l){var j=d.loaded;Ha=false;j[f]||(j[f]=false);d.scriptCount+=1;h.attach(l,d,f);if(d.jQuery&&!d.jQueryIncremented){Z(d.jQuery,true);d.jQueryIncremented=true}};define=h.def=function(d,f,l){var j;if(typeof d!=="string"){l=f;f=d;d=null}if(!h.isArray(f)){l=f;f=[]}if(!d&&!f.length&&h.isFunction(l))if(l.length){l.toString().replace(Ea, "").replace(Fa,function(q,o){f.push(o)});f=(l.length===1?["require"]:["require","exports","module"]).concat(f)}if(N){j=ga||Da();if(!j)return h.onError(K("interactive","No matching script interactive for "+l));d||(d=j.getAttribute("data-requiremodule"));j=H[j.getAttribute("data-requirecontext")]}(j?j.defQueue:V).push([d,f,l])};define.amd={multiversion:true,plugins:true,jQuery:true};h.exec=function(d){return eval(d)};h.execCb=function(d,f,l,j){return f.apply(j,l)};h.onScriptLoad=function(d){var f=d.currentTarget|| d.srcElement,l;if(d.type==="load"||Ga.test(f.readyState)){Q=null;d=f.getAttribute("data-requirecontext");l=f.getAttribute("data-requiremodule");H[d].completeLoad(l);f.detachEvent&&!sa?f.detachEvent("onreadystatechange",h.onScriptLoad):f.removeEventListener("load",h.onScriptLoad,false)}};h.attach=function(d,f,l,j,q){var o;if(A){j=j||h.onScriptLoad;o=f&&f.config&&f.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");o.type=q||"text/javascript"; o.charset="utf-8";o.async=!s.skipAsync[d];f&&o.setAttribute("data-requirecontext",f.contextName);o.setAttribute("data-requiremodule",l);if(o.attachEvent&&!sa){N=true;o.attachEvent("onreadystatechange",j)}else o.addEventListener("load",j,false);o.src=d;ga=o;W?I.insertBefore(o,W):I.appendChild(o);ga=null;return o}else if(qa){j=f.loaded;j[l]=false;importScripts(d);f.completeLoad(l)}return null};if(A){z=document.getElementsByTagName("script");for(D=z.length-1;D>-1&&(R=z[D]);D--){if(!I)I=R.parentNode; if(S=R.getAttribute("data-main")){if(!x.baseUrl){z=S.split("/");R=z.pop();z=z.length?z.join("/")+"/":"./";x.baseUrl=z;S=R.replace(ka,"")}x.deps=x.deps?x.deps.concat(S):[S];break}}}s.baseUrl=x.baseUrl;h.pageLoaded=function(){if(!s.isPageLoaded){s.isPageLoaded=true;ha&&clearInterval(ha);if(ta)document.readyState="complete";h.callReady()}};h.checkReadyState=function(){var d=s.contexts,f;for(f in d)if(!(f in F))if(d[f].waitCount)return;s.isDone=true;h.callReady()};h.callReady=function(){var d=s.readyCalls, f,l,j;if(s.isPageLoaded&&s.isDone){if(d.length){s.readyCalls=[];for(f=0;l=d[f];f++)l()}d=s.contexts;for(j in d)if(!(j in F)){f=d[j];if(f.jQueryIncremented){Z(f.jQuery,false);f.jQueryIncremented=false}}}};h.ready=function(d){s.isPageLoaded&&s.isDone?d():s.readyCalls.push(d);return h};if(A){if(document.addEventListener){document.addEventListener("DOMContentLoaded",h.pageLoaded,false);window.addEventListener("load",h.pageLoaded,false);if(!document.readyState){ta=true;document.readyState="loading"}}else if(window.attachEvent){window.attachEvent("onload", h.pageLoaded);if(self===self.top)ha=setInterval(function(){try{if(document.body){document.documentElement.doScroll("left");h.pageLoaded()}}catch(d){}},30)}document.readyState==="complete"&&h.pageLoaded()}h(x);if(h.isAsync&&typeof setTimeout!=="undefined"){E=s.contexts[x.context||"_"];E.requireWait=true;setTimeout(function(){E.requireWait=false;E.takeGlobalQueue();E.jQueryCheck();E.scriptCount||E.resume();h.checkReadyState()},0)}}})();!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"== typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e, t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+ M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>> 10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\x00"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length, r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1])if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else{if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n, e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r= [];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e? 1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o, le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&& (n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName), d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID= function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1=== n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length|| v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\u000c"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML=""; var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector|| a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1}, j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e, t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling", first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&& (t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n, r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&& 3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn, D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i; ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"], tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t, "handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&& (Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0=== i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i= N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t, e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&& (f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect(); else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent; return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"}, function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}), S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e,n){S.fn[n]=function(e,t){return 0=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a= O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype, c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r, e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f= o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect= function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n, t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t]; return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)? n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n, index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n): k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length- t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)|| (e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n, function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this, r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+ (t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o), o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments, t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[]; if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e}, m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n, t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n, t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case "[object RegExp]":case "[object String]":return""+n==""+t;case "[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case "[object Date]":case "[object Boolean]":return+n=== +t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f= l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"], function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined= function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]= t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0: n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate|| K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source= i,a;}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]= function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this)}).call(TDV)})();function h(a){throw a;}var l=void 0,n=!0,q=null,B=!1;function I(){return function(){}}function R(a){return function(b){this[a]=b}}function S(a){return function(){return this[a]}}function T(a){return function(){return a}} (function(){function a(a){this.ro=a;this.qr=q;this.Jc={}}function b(){this.jm={};this.jm[b.SCRIPT_URL]=[];this.jm[b.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.jm[b.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.jm[b.HLS_URL]="lib/Hls.js";this.jm[b.zba]="lib/basis/";this.jm[b.CURSORS_DIR_URL]="lib/cursors";this.jm[b.SERVICE_WORKER_URL]="tdvplayersw.js";this.jm[b.BACKGROUND_PRELOAD_ENABLED]=l}function d(){this.hL=[];this.uU=[];this.eIa=[];this.yP=q}function c(a){return"[object Array]"==Object.prototype.toString.call(a)} function g(a){return 0<=i.search(a.toLowerCase())}var f=window.TDV=window.TDV||{},i=navigator.userAgent.toLowerCase();d.prototype.getVersion=d.prototype.asa=function(){return{MAJOR:"0",MINOR:"1739"}};d.prototype.getClassByName=d.prototype.FVa=I();d.prototype.dma=function(){if(this.yP)for(;0|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){var a= parseInt(b[2]),e=parseInt(b[3]),f;switch(b[1]){case "<":f=function(a,b){return a":f=function(a,b){return a>b};break;case "=":f=function(a,b){return a==b};break;case "<=":f=function(a,b){return a<=b};break;case ">=":f=function(a,b){return a>=b}}return f(screen.width,a)&&f(screen.height,e)||this.R$&&f(screen.width,e)&&f(screen.height,a)}return B}if(c(a)){for(b=0;bg;g++){var i=a[g];if(e(i)&&(p.isArray(i)||p.isArguments(i))){b||(i=f(i,b,c));var k=0,m=i.length;for(j.length+=m;m>k;)j[o++]=i[k++]}else c||(j[o++]= i)}return j}function i(a){return function(b,e,c){var f={};return e=m(e,c),p.each(b,function(c,g){var j=e(c,g,b);a(f,c,j)}),f}}function e(a){a=C(a);return"number"==typeof a&&0<=a&&J>=a}function j(a){return function(b){return q==b?l:b[a]}}function o(a){if(!p.gH(a))return{};if(N)return N(a);t.prototype=a;a=new t;return t.prototype=q,a}function k(a,b){return function(e){var c=arguments.length;if(2>c||q==e)return e;for(var f=1;c>f;f++)for(var g=arguments[f],j=a(g),o=j.length,d=0;o>d;d++){var i=j[d];b&& e[i]!==l||(e[i]=g[i])}return e}}function m(a,b,e){return q==a?p.identity:p.isFunction(a)?r(a,b,e):p.gH(a)?p.L$(a):p.rua(a)}function r(a,b,e){if(b===l)return a;switch(q==e?3:e){case 1:return function(e){return a.call(b,e)};case 2:return function(e,c){return a.call(b,e,c)};case 3:return function(e,c,f){return a.call(b,e,c,f)};case 4:return function(e,c,f,g){return a.call(b,e,c,f,g)}}return function(){return a.apply(b,arguments)}}function p(a){return a instanceof p?a:this instanceof p?void(this.SB=a): new p(a)}function t(){}function s(a){return function(b,c,f,g){var c=r(c,g,4),j=!e(b)&&p.keys(b),o=(j||b).length,d=0arguments.length&&(f=b[j?j[d]:d],d+=a);for(var i=c,k=f;0<=d&&o>d;d+=a)var m=j?j[d]:d,k=i(k,b[m],m,b);return k}}function u(a){return function(b,e,c){for(var e=m(e,c),c=C(b),f=0f;f+=a)if(e(b[f],f,b))return f;return-1}}function v(a,b,e){return function(c,f,g){var j=0,o=C(c);if("number"==typeof g)0g;g+=a)if(c[g]===f)return g;return-1}}function w(a,b){var e=O.length,c=a.constructor,c=p.isFunction(c)&&c.prototype||E,f="constructor";for(p.has(a,f)&&!p.contains(b,f)&&b.push(f);e--;)f=O[e],f in a&&a[f]!==c[f]&&!p.contains(b,f)&&b.push(f)}var x=this,y=x.OZ,D=Array.prototype,E=Object.prototype,H=D.push,M=D.slice,G=E.toString,z=E.hasOwnProperty,L=Array.isArray,K=Object.keys,A=Function.prototype.bind, N=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.zOa&&(exports=module.zOa=p),exports.OZ=p):x.OZ=p;p.VERSION="1.8.3";p.VVa=function(a,b){return m(a,b,1/0)};var J=Math.pow(2,53)-1,C=j("length");p.each=p.forEach=function(a,b,c){var b=r(b,c),f;if(e(a)){c=0;for(f=a.length;f>c;c++)b(a[c],c,a)}else{var g=p.keys(a),c=0;for(f=g.length;f>c;c++)b(a[g[c]],g[c],a)}return a};p.map=p.tVa=function(a,b,c){for(var b=m(b,c),c=!e(a)&&p.keys(a),f=(c||a).length,g=Array(f),j=0;f>j;j++){var o= c?c[j]:j;g[j]=b(a[o],o,a)}return g};p.reduce=p.CVa=p.OVa=s(1);p.reduceRight=p.DVa=s(-1);p.find=p.detect=function(a,b,c){var f;return f=e(a)?p.findIndex(a,b,c):p.FOa(a,b,c),f!==l&&-1!==f?a[f]:l};p.filter=p.select=function(a,b,e){var c=[];return b=m(b,e),p.each(a,function(a,e,f){b(a,e,f)&&c.push(a)}),c};p.reject=function(a,b,e){return p.filter(a,p.negate(m(b)),e)};p.every=p.all=function(a,b,c){for(var b=m(b,c),c=!e(a)&&p.keys(a),f=(c||a).length,g=0;f>g;g++){var j=c?c[g]:g;if(!b(a[j],j,a))return B}return n}; p.some=p.any=function(a,b,c){for(var b=m(b,c),c=!e(a)&&p.keys(a),f=(c||a).length,g=0;f>g;g++){var j=c?c[g]:g;if(b(a[j],j,a))return n}return B};p.contains=p.MVa=p.include=function(a,b,c,f){return e(a)||(a=p.values(a)),("number"!=typeof c||f)&&(c=0),0<=p.indexOf(a,b,c)};p.invoke=function(a,b){var e=M.call(arguments,2),c=p.isFunction(b);return p.map(a,function(a){var f=c?b:a[b];return q==f?f:f.apply(a,e)})};p.pluck=function(a,b){return p.map(a,p.rua(b))};p.vWa=function(a,b){return p.filter(a,p.L$(b))}; p.BVa=function(a,b){return p.find(a,p.L$(b))};p.max=function(a,b,c){var f,g=-1/0,j=-1/0;if(q==b&&q!=a)for(var a=e(a)?a:p.values(a),o=0,d=a.length;d>o;o++)c=a[o],c>g&&(g=c);else b=m(b,c),p.each(a,function(a,e,c){f=b(a,e,c);(f>j||f===-1/0&&g===-1/0)&&(g=a,j=f)});return g};p.min=function(a,b,c){var f,g=1/0,j=1/0;if(q==b&&q!=a)for(var a=e(a)?a:p.values(a),o=0,d=a.length;d>o;o++)c=a[o],g>c&&(g=c);else b=m(b,c),p.each(a,function(a,e,c){f=b(a,e,c);(j>f||1/0===f&&1/0===g)&&(g=a,j=f)});return g};p.wTa=function(a){for(var b= e(a)?a:p.values(a),c=b.length,f=Array(c),g=0;c>g;g++)a=p.random(0,g),a!==g&&(f[g]=f[a]),f[a]=b[g];return f};p.sample=function(a,b,c){return q==b||c?(e(a)||(a=p.values(a)),a[p.random(a.length-1)]):p.wTa(a).slice(0,Math.max(0,b))};p.sortBy=function(a,b,e){return b=m(b,e),p.pluck(p.map(a,function(a,e,c){return{value:a,index:e,Vqa:b(a,e,c)}}).sort(function(a,b){var e=a.Vqa,c=b.Vqa;if(e!==c){if(e>c||e===l)return 1;if(c>e||c===l)return-1}return a.index-b.index}),"value")};p.groupBy=i(function(a,b,e){p.has(a, e)?a[e].push(b):a[e]=[b]});p.NVa=i(function(a,b,e){a[e]=b});p.uVa=i(function(a,b,e){p.has(a,e)?a[e]++:a[e]=1});p.toArray=function(a){return a?p.isArray(a)?M.call(a):e(a)?p.map(a,p.identity):p.values(a):[]};p.size=function(a){return q==a?0:e(a)?a.length:p.keys(a).length};p.fWa=function(a,b,e){var b=m(b,e),c=[],f=[];return p.each(a,function(a,e,g){(b(a,e,g)?c:f).push(a)}),[c,f]};p.first=p.head=p.nWa=function(a,b,e){return q==a?l:q==b||e?a[0]:p.hQa(a,a.length-b)};p.hQa=function(a,b){return M.call(a, 0,Math.max(0,a.length-(q==b?1:b)))};p.last=function(a,b,e){return q==a?l:q==b||e?a[a.length-1]:p.rest(a,Math.max(0,a.length-b))};p.rest=p.mWa=p.zVa=function(a,b,e){return M.call(a,q==b||e?1:b)};p.compact=function(a){return p.filter(a,p.identity)};p.flatten=function(a,b){return f(a,b,B)};p.without=function(a){return p.difference(a,M.call(arguments,1))};p.uniq=p.unique=function(a,b,e,c){p.isBoolean(b)||(c=e,e=b,b=B);q!=e&&(e=m(e,c));for(var c=[],f=[],g=0,j=C(a);j>g;g++){var o=a[g],d=e?e(o,g,a):o;b? (g&&f===d||c.push(o),f=d):e?p.contains(f,d)||(f.push(d),c.push(o)):p.contains(c,o)||c.push(o)}return c};p.union=function(){return p.uniq(f(arguments,n,n))};p.intersection=function(a){for(var b=[],e=arguments.length,c=0,f=C(a);f>c;c++){var g=a[c];if(!p.contains(b,g)){for(var j=1;e>j&&p.contains(arguments[j],g);j++);j===e&&b.push(g)}}return b};p.difference=function(a){var b=f(arguments,n,n,1);return p.filter(a,function(a){return!p.contains(b,a)})};p.zip=function(){return p.XTa(arguments)};p.XTa=function(a){for(var b= a&&p.max(a,C).length||0,e=Array(b),c=0;b>c;c++)e[c]=p.pluck(a,c);return e};p.object=function(a,b){for(var e={},c=0,f=C(a);f>c;c++)b?e[a[c]]=b[c]:e[a[c][0]]=a[c][1];return e};p.findIndex=u(1);p.GOa=u(-1);p.sortedIndex=function(a,b,e,c){for(var e=m(e,c,1),b=e(b),c=0,f=C(a);f>c;){var g=Math.floor((c+f)/2);e(a[g])f;f++,a+=e)c[f]=a;return c};p.bind=function(a,b){function e(){return g(a,e,b,this,c.concat(M.call(arguments)))}if(A&&a.bind===A)return A.apply(a,M.call(arguments,1));p.isFunction(a)||h(new TypeError("Bind must be called on a function"));var c=M.call(arguments,2);return e};p.U$=function(a){function b(){for(var c=0,f=e.length,j=Array(f),o=0;f>o;o++)j[o]=e[o]===p?arguments[c++]:e[o];for(;c=c&&h(Error("bindAll must be passed function names"));for(b=1;c>b;b++)e=arguments[b],a[e]=p.bind(a[e],a);return a};p.memoize=function(a,b){function e(c){var f=e.UNa,g=""+(b?b.apply(this,arguments):c);return p.has(f,g)||(f[g]=a.apply(this,arguments)),f[g]}return e.UNa={},e};p.delay=function(a,b){var e=M.call(arguments,2);return setTimeout(function(){return a.apply(q,e)},b)};p.defer=p.U$(p.delay,p,1);p.throttle=function(a,b,e){function c(){d=e.IQa===B?0:p.now(); o=q;j=a.apply(f,g);o||(f=g=q)}var f,g,j,o=q,d=0;e||(e={});return function(){var i=p.now();d||e.IQa!==B||(d=i);var k=b-(i-d);return f=this,g=arguments,0>=k||k>b?(o&&(clearTimeout(o),o=q),d=i,j=a.apply(f,g),o||(f=g=q)):o||e.oWa===B||(o=setTimeout(c,k)),j}};p.debounce=function(a,b,e){function c(){var i=p.now()-o;b>i&&0<=i?f=setTimeout(c,b-i):(f=q,e||(d=a.apply(j,g),f||(j=g=q)))}var f,g,j,o,d;return function(){j=this;g=arguments;o=p.now();var i=e&&!f;return f||(f=setTimeout(c,b)),i&&(d=a.apply(j,g),j= g=q),d}};p.wrap=function(a,b){return p.U$(b,a)};p.negate=function(a){return function(){return!a.apply(this,arguments)}};p.compose=function(){var a=arguments,b=a.length-1;return function(){for(var e=b,c=a[b].apply(this,arguments);e--;)c=a[e].call(this,c);return c}};p.after=function(a,b){return function(){return 1>--a?b.apply(this,arguments):l}};p.before=function(a,b){var e;return function(){return 0<--a&&(e=b.apply(this,arguments)),1>=a&&(b=q),e}};p.once=p.U$(p.before,2);var F=!{toString:q}.propertyIsEnumerable("toString"), O="valueOf,isPrototypeOf,toString,propertyIsEnumerable,hasOwnProperty,toLocaleString".split(",");p.keys=function(a){if(!p.gH(a))return[];if(K)return K(a);var b=[],e;for(e in a)p.has(a,e)&&b.push(e);return F&&w(a,b),b};p.n9=function(a){if(!p.gH(a))return[];var b=[],e;for(e in a)b.push(e);return F&&w(a,b),b};p.values=function(a){for(var b=p.keys(a),e=b.length,c=Array(e),f=0;e>f;f++)c[f]=a[b[f]];return c};p.YVa=function(a,b,e){for(var b=m(b,e),c=p.keys(a),f=c.length,g={},j=0;f>j;j++)e=c[j],g[e]=b(a[e], e,a);return g};p.eWa=function(a){for(var b=p.keys(a),e=b.length,c=Array(e),f=0;e>f;f++)c[f]=[b[f],a[b[f]]];return c};p.invert=function(a){for(var b={},e=p.keys(a),c=0,f=e.length;f>c;c++)b[a[e[c]]]=e[c];return b};p.functions=p.aWa=function(a){var b=[],e;for(e in a)p.isFunction(a[e])&&b.push(e);return b.sort()};p.extend=k(p.n9);p.jra=p.assign=k(p.keys);p.FOa=function(a,b,e){for(var b=m(b,e),c,e=p.keys(a),f=0,g=e.length;g>f;f++)if(c=e[f],b(a[c],c,a))return c};p.eO=function(a,b,e){var c,g,j={},o=a;if(q== o)return j;p.isFunction(b)?(g=p.n9(o),c=r(b,e)):(g=f(arguments,B,B,1),c=function(a,b,e){return b in e},o=Object(o));for(var d=0,i=g.length;i>d;d++){var k=g[d],m=o[k];c(m,k,o)&&(j[k]=m)}return j};p.cWa=function(a,b,e){if(p.isFunction(b))b=p.negate(b);else var c=p.map(f(arguments,B,B,1),String),b=function(a,b){return!p.contains(c,b)};return p.eO(a,b,e)};p.defaults=k(p.n9,n);p.create=function(a,b){var e=o(a);return b&&p.jra(e,b),e};p.clone=function(a){return p.gH(a)?p.isArray(a)?a.slice():p.extend({}, a):a};p.tap=function(a,b){return b(a),a};p.wQa=function(a,b){var e=p.keys(b),c=e.length;if(q==a)return!c;for(var f=Object(a),g=0;c>g;g++){var j=e[g];if(b[j]!==f[j]||!(j in f))return B}return n};p.isEqual=function(a,b){return c(a,b)};p.isEmpty=function(a){return q==a?n:e(a)&&(p.isArray(a)||p.isString(a)||p.isArguments(a))?0===a.length:0===p.keys(a).length};p.isElement=function(a){return!(!a||1!==a.nodeType)};p.isArray=L||function(a){return"[object Array]"===G.call(a)};p.gH=function(a){var b=typeof a; return"function"===b||"object"===b&&!!a};p.each("Arguments,Function,String,Number,Date,RegExp,Error".split(","),function(a){p["is"+a]=function(b){return G.call(b)==="[object "+a+"]"}});p.isArguments(arguments)||(p.isArguments=function(a){return p.has(a,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(p.isFunction=function(a){return"function"==typeof a||B});p.PVa=function(a){return isFinite(a)&&!isNaN(parseFloat(a))};p.isNaN=function(a){return p.isNumber(a)&&a!==+a};p.isBoolean=function(a){return a=== n||a===B||"[object Boolean]"===G.call(a)};p.isNull=function(a){return q===a};p.isUndefined=function(a){return a===l};p.has=function(a,b){return q!=a&&z.call(a,b)};p.noConflict=function(){return x.OZ=y,this};p.identity=function(a){return a};p.constant=function(a){return function(){return a}};p.noop=I();p.rua=j;p.gWa=function(a){return q==a?I():function(b){return a[b]}};p.L$=p.ZVa=function(a){return a=p.jra({},a),function(b){return p.wQa(b,a)}};p.times=function(a,b,e){for(var c=Array(Math.max(0,a)), b=r(b,e,1),e=0;a>e;e++)c[e]=b(e);return c};p.random=function(a,b){return q==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};p.now=Date.now||function(){return(new Date).getTime()};var L={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},U=p.invert(L);p.escape=d(L);p.unescape=d(U);p.result=function(a,b,e){b=q==a?l:a[b];return b===l&&(b=e),p.isFunction(b)?b.call(a):b};var Q=0;p.uniqueId=function(a){var b=++Q+"";return a?a+b:b};p.OTa={evaluate:/<%([\s\S]+?)%>/g,lQa:/<%=([\s\S]+?)%>/g, escape:/<%-([\s\S]+?)%>/g};var V=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g;p.template=function(a,e,c){function f(a){return o.call(this,a,p)}!e&&c&&(e=c);var e=p.defaults({},e,p.OTa),g=0,j="__p+='";a.replace(RegExp([(e.escape||V).source,(e.lQa||V).source,(e.evaluate||V).source].join("|")+"|$","g"),function(e,c,f,o,d){return j+=a.slice(g,d).replace(W,b),g=d+e.length,c?j+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'":f?j+="'+\n((__t=("+ f+"))==null?'':__t)+\n'":o&&(j+="';\n"+o+"\n__p+='"),e});j+="';\n";e.rwa||(j="with(obj||{}){\n"+j+"}\n");j="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+j+"return __p;\n";try{var o=new Function(e.rwa||"obj","_",j)}catch(d){h((d.source=j,d))}return f.source="function("+(e.rwa||"obj")+"){\n"+j+"}",f};p.chain=function(a){a=p(a);return a.qAa=n,a};p.mixin=function(b){p.each(p.functions(b),function(e){var c=p[e]=b[e];p.prototype[e]=function(){var b=[this.SB]; return H.apply(b,arguments),a(this,c.apply(p,b))}})};p.mixin(p);p.each("pop,push,reverse,shift,sort,splice,unshift".split(","),function(b){var e=D[b];p.prototype[b]=function(){var c=this.SB;return e.apply(c,arguments),"shift"!==b&&"splice"!==b||0!==c.length||delete c[0],a(this,c)}});p.each(["concat","join","slice"],function(b){var e=D[b];p.prototype[b]=function(){return a(this,e.apply(this.SB,arguments))}});p.prototype.value=S("SB");p.prototype.valueOf=p.prototype.toJSON=p.prototype.value;p.prototype.toString= function(){return""+this.SB};"function"==typeof define&&define.kVa&&define("oj",[],function(){return p})}).call(this)}).call(window.TDV||(window.TDV={}));define("underscore-min",I());define("dY",["underscore-min"],function(){return window.TDV._.noConflict()}); define("nU",[],function(){return{u:function(a){return a+"_change"},me:"default",zb:"mouseDown",ad:"mouseMove",Wb:"mouseUp",xq:"mouseWheel",ca:"click",Ul:"doubleClick",cc:"rollOver",qb:"rollOut",Gk:"mouseEnter",Sh:"mouseLeave",Hk:"pointerOver",zUa:"pointerOut",uZ:"pointerDown",vZ:"pointerUp",Qj:"pointerClick",gD:"gestureStart",dZ:"gestureChange",eD:"gestureEnd",$wa:"gestureRotate",fD:"gestureScale",ic:"progress",Ry:"close",OPEN:"open",Vl:"select",tc:"resize",oY:"changing",qa:"change",Gc:"stateChange", Rh:"cueChange",VH:"preloaded",U:"loaded",Ac:"loadingError",Tj:"start",Lf:"stop",mz:"play",mP:"pause",iz:"frame",Oc:"ready",hn:"begin",Ha:"end",lUa:"cancel",zi:"press",Sj:"release",Ik:"repeatEnd",Ho:"scroll",jP:"movementChange",kUa:"beforeShow",Aba:"beforeHide",INIT:"init",jc:"show",pc:"hide",uD:"showEnd",iD:"hideEnd",ixa:"loadingScript",Exa:"processingScript",bD:"enableCookies",Bwa:"applicationSet",ez:"userInteraction",IZ:"transitionEnd",bda:"toolTipShow",GZ:"toolTipHide",rn:"positionSet",qP:"sizeSet"}}); define("cs",[],function(){return function(a,b){this.name=a;this.source=l;this.data=b}}); define("mP",[],function(){function a(){this.Yg=[];this.Qr=[]}a.prototype.oR=function(a){for(var d=0;d=b?n:0==a.indexOf("filesystem:")};b.ty=function(a){return a&&0==a.indexOf("data:")};b.getDirectory=function(a){a=b.yv(a);a=a.split("?")[0];a=a.split("/"); 1");c.VE.css({overflow:"auto",position:"absolute",bottom:0,left:0,right:0,padding:"20px",fontFamily:"Verdana",backgroundColor:"#FFFFFF",color:"#000000","z-index":100});a?c.VE.css({top:0}):c.VE.css({width:"40%",right:"0",left:"auto",height:"50%",filter:"alpha(opacity=60)",opacity:0.6});d("body").append(c.VE);console.log=function(a){c.log(a)}}},g;c.log=function(a){if(a!=g){g=a;try{c.VE?d("
").text(a).prependTo(c.VE):console.log(a)}catch(b){}}};c.hWa=function(a){this.F1.push(a)}; c.F1=[];c.debug=function(a,b){try{b.apply(this,arguments)}catch(e){c.eX(a,e),h(e)}};c.eX=function(a,b){var e=[];e.push("Exception: "+a);b.message?(e.push(b.message),e.push(b.stack)):e.push(b);this.log(e.join("\n"));for(e=0;e0};b.prototype.hasAttribute=function(a){return this.P9(a)?n:B};b.prototype.Q9=function(){this.ID==l&&this.Nfa();return this.ID};b.prototype.ISa=function(){this.a5=["definitions"];return this};b.prototype.Qra=function(){if(this.a5)return this.a5;if(this.Sw())this.Lt().Qra(); else return[]};b.prototype.P9=function(a){this.Dz==l&&this.Nfa();return this.Dz[a]};b.prototype.vi=function(a){this.Fla=a;this.JAa();return this};b.prototype.WPa=function(){return this.Zra().length>0};b.prototype.Zra=function(){this.OB==l&&this.Ufa();return this.OB};b.prototype.DPa=function(){this.RM==l&&this.Ufa();return this.RM};b.prototype.vs=function(a){this.Ela=a;this.GAa();return this};b.prototype.VPa=function(){return this.Xra().length>0};b.prototype.Xra=function(){this.CB==l&&this.Tfa();return this.CB}; b.prototype.BPa=function(){this.aM==l&&this.Tfa();return this.aM};b.prototype.hc=function(a){this.Bla=a;this.c0();return this};b.prototype.MPa=function(){return this.V9().length>0};b.prototype.ksa=function(a){this.xt==l&&this.ZD();return this.xt.indexOf(a)!=-1};b.prototype.V9=function(){this.xt==l&&this.ZD();return this.xt};b.prototype.ih=function(a){this.Cla=a;this.c0();return this};b.prototype.QPa=function(){return this.a$().length>0};b.prototype.lsa=function(a){this.Pt==l&&this.ZD();return this.Pt.indexOf(a)!= -1};b.prototype.a$=function(){this.Pt==l&&this.ZD();return this.Pt};b.prototype.NPa=function(a){this.YI==l&&this.ZD();return this.YI.indexOf(a)!=-1};b.prototype.ZOa=function(){this.YI==l&&this.ZD();return this.YI};b.prototype.Ng=function(a){this.Dla=a;this.sfa();return this};b.prototype.Nra=function(){this.YJ==l&&this.IBa();return this.YJ};b.prototype.oSa=function(){this.Gia=n;return this};b.prototype.Hra=function(){return this.Gia||this.Sw()&&this.Lt().Hra()};b.prototype.aq=function(a,b,c,f){this.bIa(b, c);var g=this.qQ,i;i=f&&f.length>0?new (e.extend(g,function(){g.apply(this,f)})):new g;i.set("application",a);i.set("baseDirectoy",b);i.set("queryStringParameters",c);i.set("class",this.UG());return i};b.prototype.bIa=function(a,b){if(!this.Eia){this.Eia=n;this.YBa(a,b);this.KCa()}};b.prototype.YBa=function(a,b){if(this.WPa()||this.VPa()){var e=this.qQ.prototype,c=this.DPa(),g=this.BPa(),d=e.set;e.set=function(e,k){if(c[e]){k&&!i.ty(k)&&!i.$W(k)&&(k=i.ly(i.yv(k,a),b));d.call(this,e,k)}else g[e]?f.TV(this, d,e,k):d.call(this,e,k)}}};b.prototype.KCa=function(){var a=this.qQ.prototype,b=this;if(this.hasAttributes()){a.set=a.set;a.get=a.get}if(this.MPa()||this.QPa()){a.bind=a.bind;a.getBindings=a.SG;a.hasBindings=a.isa;a.trigger=a.trigger;a.unbind=a.unbind}a.getClassName=function(){return b.UG()};a.getClassPath=function(){return b.FN()};a.getAttributeNames=function(){return b.Q9()};a.getEventNames=function(){return b.ZOa()};a.hasEvent=function(a){return b.NPa(a)};var e=this.Nra(),c;for(c in e)a[c]=e[c]}; b.prototype.pfa=function(){this.Dz=this.ID=l};b.prototype.Nfa=function(){this.ID=[];this.Dz={};for(var a in this.g5){this.ID.push(a);this.Dz[a]=b.g2(this.g5[a])}if(this.Sw())for(var e=this.Lt(),c=e.Q9(),f=0;f=0&&a.lastIndexOf("]")==a.length-1};b.uDa=function(a){return a.substring(0,a.indexOf("["))};b.bha=function(a){return a.substring(a.indexOf("[")+ 1,a.lastIndexOf("]"))};b.cha=function(a){for(var a=b.bha(a),e=[],f="",g=0,i=0;ig;++f)b=a.charCodeAt(f),128>b?m[g>>2]|=b<b?m[g>>2]|=(192|b>>6)<b||57344<=b?m[g>> 2]|=(224|b>>12)<>2]|=(240|b>>18)<>2]|=(128|b>>12&63)<>2]|=(128|b>>6&63)<>2]|=(128|b&63)<>2]|=d[b&3]; this.jN=a[16];56<=b&&(this.TW||this.hash(),a[0]=this.jN,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0);a[14]=this.o$<<3|this.ny>>>29;a[15]=this.ny<<3;this.hash()}};a.prototype.hash=function(){var a=this.KW,b=this.LW,c=this.MW,f=this.NW,d=this.OW,m=this.PW,r=this.QW,p=this.RW,t=this.s9,s,u,v,w,x,y,D;for(s=16;64>s;++s)v=t[s-15],u=(v>>>7|v<<25)^(v>>>18|v<<14)^v>>>3,v=t[s-2],v=(v>>>17|v<<15)^(v>>>19|v<<13)^v>>>10,t[s]=t[s-16]+u+t[s-7]+v<<0;D=b&c;for(s=0;64>s;s+= 4)this.first?(y=704751109,v=t[0]-210244248,p=v-1521486534<<0,f=v+143694565<<0,this.first=B):(u=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),v=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),y=a&b,w=y^a&c^D,x=d&m^~d&r,v=p+v+x+g[s]+t[s],u+=w,p=f+v<<0,f=v+u<<0),u=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),v=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),D=f&a,w=D^f&b^y,x=p&d^~p&m,v=r+v+x+g[s+1]+t[s+1],u+=w,r=c+v<<0,c=v+u<<0,u=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),v=(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25| r<<7),y=c&f,w=y^c&a^D,x=r&p^~r&d,v=m+v+x+g[s+2]+t[s+2],u+=w,m=b+v<<0,b=v+u<<0,u=(b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10),v=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7),D=b&c,w=D^b&f^y,x=m&r^~m&p,v=d+v+x+g[s+3]+t[s+3],u+=w,d=a+v<<0,a=v+u<<0;this.KW=this.KW+a<<0;this.LW=this.LW+b<<0;this.MW=this.MW+c<<0;this.NW=this.NW+f<<0;this.OW=this.OW+d<<0;this.PW=this.PW+m<<0;this.QW=this.QW+r<<0;this.RW=this.RW+p<<0};a.prototype.YPa=function(){this.EOa();var a=this.KW,e=this.LW,c=this.MW,f=this.NW,g=this.OW, d=this.PW,r=this.QW,p=this.RW;return b[a>>28&15]+b[a>>24&15]+b[a>>20&15]+b[a>>16&15]+b[a>>12&15]+b[a>>8&15]+b[a>>4&15]+b[a&15]+b[e>>28&15]+b[e>>24&15]+b[e>>20&15]+b[e>>16&15]+b[e>>12&15]+b[e>>8&15]+b[e>>4&15]+b[e&15]+b[c>>28&15]+b[c>>24&15]+b[c>>20&15]+b[c>>16&15]+b[c>>12&15]+b[c>>8&15]+b[c>>4&15]+b[c&15]+b[f>>28&15]+b[f>>24&15]+b[f>>20&15]+b[f>>16&15]+b[f>>12&15]+b[f>>8&15]+b[f>>4&15]+b[f&15]+b[g>>28&15]+b[g>>24&15]+b[g>>20&15]+b[g>>16&15]+b[g>>12&15]+b[g>>8&15]+b[g>>4&15]+b[g&15]+b[d>>28&15]+b[d>> 24&15]+b[d>>20&15]+b[d>>16&15]+b[d>>12&15]+b[d>>8&15]+b[d>>4&15]+b[d&15]+b[r>>28&15]+b[r>>24&15]+b[r>>20&15]+b[r>>16&15]+b[r>>12&15]+b[r>>8&15]+b[r>>4&15]+b[r&15]+b[p>>28&15]+b[p>>24&15]+b[p>>20&15]+b[p>>16&15]+b[p>>12&15]+b[p>>8&15]+b[p>>4&15]+b[p&15]};return function(b){return(new a).update(b).YPa()}}); define("lN",["require","lB"],function(a){var a=a("lB"),b={};b.$C=a.Ti("debug",B);b.cxa=a.Vi("hqhls");b.yba=a.Ti("audiocontext",n);b.KUa=a.Ti("testhash",B);b.Vwa=a.Ti("exitvronblur",B);b.Mwa=a.Ti("download",n);b.Rxa=a.Ti("updatewhilehidden",B);return b}); define("bS",["require","ii","lN"],function(a){function b(a){var c;c=Array.isArray(a)?"array":a===q?"null":typeof a;switch(c){case "array":return"["+a.map(b).join(",")+"]";case "object":return"{"+Object.keys(a).sort().map(function(c){return b(c)+":"+b(a[c])}).join(",")+"}";case "boolean":return a?"true":"false";case "number":return a.toFixed(3);case "string":return'"'+a.split('"').join('\\"')+'"';case "null":case "undefined":return c;case "function":return"<"+c+">"}return""}function d(a){return a.map(function(a){return String.fromCharCode(a)}).join("")} var c=a("ii");a("lN");return{validate:function(a){var f=[104,97,115,104],i=a[d(f)];delete a[d(f)];a=d([116,100,118])+b(a);return c(a)==i}}}); define("kJ",[],function(){function a(){var a=f.length,b=f.splice(0,a);g+=a;for(var e=0;e0||!b&&!d)return~setTimeout(g,k||1);if(f.length==0){d?j.then(a):i.textContent=c;e=(new Date).getTime()}c++;f.push(g); return c-1},cancel:function(a){if(a<0)clearTimeout(~a);else{var b=a-g;if(b>=0){f[b]||h("invalid async handle: "+a);f[b]=q}}}}}); define("fQ",["require","dY","kJ","cs","kG"],function(a){function b(){this.Jc={}}var d=a("dY"),c=a("kJ"),g=a("cs"),f=a("kG");b.prototype.bind=function(a,b,c,f,g){a===l&&h("Event name undefined");b===l&&h("Event handler undefined");a in this.Jc||(this.Jc[a]=[]);this.Jc[a].push({handler:b,handlerDef:g||b,context:c||this,immediate:f?n:B});return this};b.prototype.unbind=function(a,b,c){if(a in this.Jc){var c=c||this,f=d(this.Jc[a]).select(function(a){return a.handler!=b||a.context!=c});0a)break}0180;)this.zt= this.zt-360;for(;this.zt<-180;)this.zt=this.zt+360}return this.zt};a.prototype.YOa=function(){if(this.R8===l)this.R8=f.$r(this.sha()*Math.PI/180,0);return this.R8};a.prototype.XNa=function(){return this.get("yaw")!==l&&this.get("backwardYaw")!==l};a.prototype.sha=function(){return this.get("backwardYaw")-180};return a}); define("hB",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("color","#ffffff");this.set("intensity",1)});a.F("AmbientLight",b).H("Light").Q({color:"color",intensity:"number"});return b}); define("eT",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("enabled",n);this.set("disabled",B);this.set("disableWhileUserInteracting",B);this.set("enableWhileMoving",B);this.set("disableWhileMoving",B)});a.F("Model3DPostprocessing",b).Q({enabled:"bool",disabled:"bool",disableWhileMoving:"bool",disableWhileUserInteracting:"bool"}).H("Object");b.prototype.DO=function(a){this.Dj!==a&&(this.Dj=a,this.hpa())};b.prototype.yO=function(a){this.aF!== a&&(this.aF=a,this.hpa())};b.prototype.hpa=function(){this.set("disabled",this.aF&&this.get("disableWhileMoving")||this.Dj&&this.get("disableWhileUserInteracting"))};return b}); define("mV",["require","kG","eQ","eT"],function(a){var b=a("kG"),d=a("eQ"),c=a("eT"),a=b.extend(c,function(){c.call(this);this.set("bias",0);this.set("intensity",1);this.set("scale",100);this.set("kernelRadius",25);this.set("minResolution",0);this.set("blurRadius",4);this.set("output","default")});d.F("AmbientOcclusionModel3DPostprocessing",a).H("Model3DPostprocessing").Q({bias:"number",intensity:"number",scale:"number",kernelRadius:"number",minResolution:"number",blurRadius:"number",output:"enum[default, ao]"}); return a});define("gE",[],function(){return{L:"stopped",S:"playing",Gb:"paused"}});define("eS",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("ImageResource",b).H("Object").Q({levels:"array[ImageResourceLevel]"});return b}); define("eg","require,kG,nU,gE,eS,eQ".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("gE"),g=a("eS"),a=a("eQ"),b=b.extend(g,function(){g.call(this);this.set("state",c.L);this.set("autoplay",n);this.set("repeat",0);this.set("visibleOnStop",n);this.set("finalFrame","last")});b.prototype.play=function(){this.set("state",c.S)};b.prototype.pause=function(){this.set("state",c.Gb)};b.prototype.stop=function(){this.set("state",c.L)};a.F("AnimatedImageResource",b).H("ImageResource").Q({autoplay:"bool", finalFrame:"enum[first, last]",frameCount:"number",frameDuration:"number",rowCount:"number",colCount:"number",repeat:"number",state:"enum[stopped, playing, paused]",visibleOnStop:"bool"}).hc([d.Ha,d.Ik,d.Tj]).Ng({pause:b.prototype.pause,play:b.prototype.play,stop:b.prototype.stop});b.prototype.set=function(a,b){switch(a){case "state":(this.get("state")||c.L)==c.L&&b==c.S&&this.trigger(d.Tj)}g.prototype.set.call(this,a,b)};b.prototype.Hj=function(a,b,e){b||(b=1);e||(e=1);return g.prototype.Hj.call(this, a,b*this.get("colCount",1),e*this.get("rowCount",1))};return b});define("dU",["require","kG","eQ","eT"],function(a){var b=a("kG"),d=a("eQ"),c=a("eT"),a=b.extend(c,function(){c.call(this);this.set("mode","ssaa");this.set("ssaaSampleLevel",2)});d.F("AntialiasModel3DPostprocessing",a).H("Model3DPostprocessing").Q({mode:"enum[ssaa,fxaa]",ssaaSampleLevel:"number"});return a}); define("hP",["kG","lh","eQ"],function(a,b,d){a=a.extend(b,function(a){b.call(this);this.NF=a===l?n:a;this.TE=this.Jp=this.Ip=this.la=l;this.set("enabled",n);this.set("selected",B)});d.F("HotspotMapOverlay",a).H("MapOverlay").Q({areas:"array[HotspotMapOverlayArea]",enabled:"bool",image:"HotspotMapOverlayImage",map:"HotspotMapOverlayMap",rollOverDisplay:"bool",rollOverImage:"HotspotMapOverlayImage",rollOverMap:"HotspotMapOverlayMap",selectedImage:"HotspotMapOverlayImage",selectedMap:"HotspotMapOverlayMap", selected:"bool",useHandCursor:"bool"});a.prototype.getItem=function(){if(this.la===l){var a=this.get("image");this.la=a?a.eW(this.NF):q}return this.la};a.prototype.Ura=function(){if(this.Ip===l){var a=this.get("rollOverImage");this.Ip=a?a.eW(this.NF):q}return this.Ip};a.prototype.Wra=function(){if(this.Jp===l){var a=this.get("selectedImage");this.Jp=a?a.eW(this.NF):q}return this.Jp};a.prototype.jPa=function(){if(this.TE===l){this.TE=[];var a=this.getItem();a&&this.TE.push(a);(a=this.Ura())&&this.TE.push(a); (a=this.Wra())&&this.TE.push(a)}return this.TE};return a});define("eE",["kG","eQ","hP"],function(a,b,d){a=a.extend(d,function(){d.call(this,n)});b.F("AreaHotspotMapOverlay",a).H("HotspotMapOverlay");return a}); define("nt",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("gain",1);this.set("fadeOutTime",0)});a.F("AudioResource",b).H("Object").Q({fadeOutTime:"number",gain:"number",mp3Url:"string",oggUrl:"string"}).vi(["mp3Url","oggUrl"]);return b});define("cG",[],function(){return{kz:"inAdvance",Gba:"delayed"}}); define("bc",[],function(){return{jz:"grab",Ek:"grabbing",pxa:"move",wca:"move-n",xca:"move-ne",nca:"move-e",Aca:"move-se",zca:"move-s",Bca:"move-sw",Cca:"move-w",yca:"move-nw",qxa:"move-ew",sxa:"move-ns",rxa:"move-nesw",txa:"move-nwse",pca:"move-fast-n",qca:"move-fast-ne",oca:"move-fast-e",tca:"move-fast-se",sca:"move-fast-s",uca:"move-fast-sw",vca:"move-fast-w",rca:"move-fast-nw",yf:"hand",me:"default",Nv:"inherit"}}); define("gS",["require","nU"],function(a){function b(){this.Ci=[]}var d=a("nU");b.prototype.register=function(a){this.vya(a);this.Ci.push(a);a.get("pressed")&&this.hna(a)};b.prototype.PO=function(a){this.qIa(a)};b.prototype.vya=function(a){a.bind(d.zi,this.Qja,this,n)};b.prototype.qIa=function(a){a.unbind(d.zi,this.Qja,this)};b.prototype.Qja=function(a){this.hna(a.source)};b.prototype.hna=function(a){this.Ci.forEach(function(b){b.set("pressed",b==a)})};b.register=function(a,b){this.PO(a);var f=this.Yh(b); a.b_=f;f.register(a)};b.PO=function(a){a.b_&&(a.b_.PO(a),delete a.b_)};b.Yh=function(a){return this.qia[a]||(this.qia[a]=new b)};b.qia={};return b});define("dV",[],function(){return{ne:"push",Uj:"toggle"}});define("hn",[],function(){return{wD:"visible",bca:"hidden",Ho:"scroll"}});define("gq",[],function(){return{me:l,P:"over",bb:"pressed",Rb:"pressedOver",W:"selected"}});define("mk",[],function(){return{Ja:"left",Xa:"right",ae:"center",kc:"top",bc:"bottom",Ad:"middle"}}); define("fn",[],function(){return{cc:"rollOver",ALWAYS:"always"}}); define("dm",["require"],function(){var a={},b;a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){b=n;break a}}catch(d){}b=B}if(b)a.setItem=function(a,b){window.localStorage.setItem(a,b)},a.getItem=function(a){return window.localStorage.getItem(a)},a.removeItem=function(a){return window.localStorage.removeItem(a)},a.clear=function(){try{window.localStorage.clear()}catch(a){}};else{var c={};a.setItem=function(a,b){c[a]=b};a.getItem= function(a){return c[a]};a.removeItem=function(a){delete c[a]};a.clear=function(){c={}}}return a}); define("t",["require","kG","lB","dm"],function(a){function b(){}function d(a){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+a))}var c=a("kG"),g=a("lB"),f=a("dm");b.yi=TDV.ib.lP;b.JH=TDV.ib.oZ;b.MZ=TDV.ib.Hca;b.QUa=TDV.ib.sZ;b.kxa=TDV.ib.pZ;b.hxa=TDV.ib.Gca;b.CUa=TDV.ib.rZ;b.qZ=TDV.ib.qZ;b.OH=TDV.ib.OH;b.kY=TDV.ib.kY;b.jY=TDV.ib.jY;b.iY=TDV.ib.iY;b.lY=TDV.ib.lY;b.Qh=TDV.ib.Qh;b.TO=TDV.ib.TO;b.Sl=TDV.ib.Sl;b.Dk=TDV.ib.Dk;b.WC=TDV.ib.WC;b.Fv=TDV.ib.Fv;b.KH=TDV.ib.KH;b.Ny=TDV.ib.Ny; b.hY=TDV.ib.hY;b.NH=TDV.ib.NH;b.Ds=TDV.ib.Ds;b.XO=TDV.ib.XO;b.LH=TDV.ib.LH;b.UO=TDV.ib.UO;b.XC=TDV.ib.XC;b.MH=TDV.ib.MH;b.Oy=TDV.ib.Oy;b.Bba=TDV.ib.Bba;b.YC=TDV.ib.YC;b.Gv=TDV.ib.Gv;b.Py=TDV.ib.Py;b.VO=TDV.ib.VO;b.WO=TDV.ib.WO;b.mY=TDV.ib.mY;b.qY=TDV.ib.qY;b.aD=TDV.ib.aD;b.rY=TDV.ib.rY;b.sY=TDV.ib.sY;b.Lw=function(a){a="force_"+a;if(g.Vi("debug")&&g.Vi(a))return g.js(a)};b.aDa=b.Lw("os");b.ce=function(){return b.aDa||TDV.ib.ce};b.WCa=b.Lw("browser");b.browser=function(){return b.WCa||TDV.ib.browser}; b.XCa=b.Lw("browser_type");b.HG=function(){return b.XCa||TDV.ib.HG};b.Qga=b.Lw("browser_subtype");b.md=function(){return b.Qga?b.Qga:TDV.ib.md};b.YCa=b.Lw("browser_version");b.Eqa=function(){return b.YCa||TDV.ib.Eqa};b.$Ca=b.Lw("device");b.py=function(){return b.$Ca||TDV.ib.py};b.wb=function(){return TDV.ib.R$};b.LCa=function(){for(var a=navigator.userAgent.toLowerCase(),b=["SM-G960","SM-G965"],e=0;enavigator.userAgent.indexOf("; wv")?B:n;b.ZCa=!!b.Lw("chromewebview");b.Oqa=function(){return b.ZCa||b.tAa};b.If= function(){return b.md()==b.Ds||b.md()==b.XO||b.md()==b.Gv||b.md()==b.Py||b.md()==b.YC};b.E$=function(){return b.Xsa()||b.Rsa()||b.ata()||b.AQa()};b.Zsa=function(){return b.md()==b.Gv||b.md()==b.Py};b.zQa=function(){return d("picog2")};b.xQa=function(){return d("piconeo2")};b.Rsa=function(){return d("piconeo3")};b.AQa=function(){return d("picoxr")};b.ata=function(){return d("vivefocus")};b.Xsa=function(){return d("oculusquest")?n:b.md()==b.Ds&&0<=navigator.userAgent.indexOf("Quest 2")};b.Wsa=function(){return b.md()== b.Ds&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.qQa=function(){return b.md()==b.Ds&&0>navigator.userAgent.indexOf("Quest")};b.B$=function(){return b.If()&&b.AN()};b.tL=l;b.hRa=function(){b.tL===l&&(b.tL=parseInt(g.js("sts")),isNaN(b.tL)&&(b.tL=b.If()&&!b.LCa?512:b.wb()&&b.ce()==b.yi?512:b.wb()?256:1024));return b.tL};var i;if(b.browser()==b.Sl||b.browser()==b.Qh)try{i=parseFloat(/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent)[1])}catch(e){}b.UIa=i; b.mO=function(){return b.UIa};b.$Ea=function(){var a;try{a=parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||B}catch(e){}a||(a=b.mO());return a}();b.sC=function(){return b.$Ea};var j;if(b.ce()==b.JH)try{j=parseFloat(/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent)[1])}catch(o){}b.Vya=j;b.QNa=function(){return b.Vya};b.Xha=function(){var a={dsa:"unknown",Ata:1},b=document.createElement("canvas"); if(b&&(b=b.getContext("webgl")||b.getContext("experimental-webgl"))){var e=b.getExtension("WEBGL_debug_renderer_info");e&&(a.dsa=b.getParameter(e.UNMASKED_RENDERER_WEBGL));a.maxTextureSize=b.getParameter(b.MAX_TEXTURE_SIZE);if(e=b.getExtension("EXT_texture_filter_anisotropic")||b.getExtension("MOZ_EXT_texture_filter_anisotropic")||b.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))a.Ata=b.getParameter(e.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return a}();b.csa=function(){return b.Xha};b.Xya=function(){var a= b.Xha.dsa.match(/Apple\s+(.+)\s+GPU/);return a?a[1].toUpperCase():"unknown"}();b.lVa=function(){return b.Xya};b.IFa=b.py()==b.aD?n:B;b.hv=function(){return b.IFa};b.B9=function(){return b.browser()==b.Sl&&14<=b.mO()};var k=!!f.getItem("tdvp_video_drift_2");b.tsa=function(){return k};b.dTa=function(){k=n;f.setItem("tdvp_video_drift_2",n)};b.PFa="ontouchstart"in window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},IOa:function(a,b,d){var c=document.createElement("canvas");c.width=b;c.height=d;d=c.getContext("2d");d.translate(b,0);d.scale(-1,1);d.drawImage(a,0,0);a.src=c.toDataURL()}}}); define("hV",["require","t","lB","kJ","dm"],function(a){function b(a,b,c,f,g){this.url=a;this.Ge=b;this.time=c;this.BTa=f;this.YNa=g}var d=a("t"),c=a("lB"),g=a("kJ");a("dm");b.prototype.loaded=function(){f.N6(this.url);f.BL(this)};b.prototype.cancel=function(){f.BL(this)};var f={Lx:[],dr:[],mM:[],I8:q,Qia:{},add:function(a,e,c,f){a=new b(a,e,(new Date).getTime(),c,f);this.Lx.push(a);this.X();return a},ITa:function(a){this.mM.push(a);this.X()},HTa:function(a){var b=this.mM,a=b.indexOf(a);0<=a&&b.splice(a, 1);this.X()}};d.md()==d.Oy?(f.wba=T(n),f.N6=I()):!c.Vi("debug")||!c.Ti("disable-cache")?(f.wba=function(a){return this.Qia[a]},f.N6=function(a){this.Qia[a]=n}):(f.wba=T(B),f.N6=I());f.X=function(){if(!this.I8)this.I8=g.yy(f.tMa)};f.tMa=function(){f.I8=q;for(var a=this.ZIa(),b=0,c=this.dr.length;b=0&&b.splice(a,1);this.X()};return f}); define("jR","require,kG,cs,fQ,nU,hy,lB,bL,hV".split(","),function(a){var b=a("kG"),d=a("cs"),c=a("fQ"),g=a("nU"),f=a("hy"),i=a("lB"),e=a("bL"),j=a("hV"),a=b.extend(c,function(a){c.call(this);this.sr=a||f.nxa;this.ja=this.Z=this.Ob=this.kd=q;this.dx=B;this.MF=this.In=q;this.iU=0;this.g3=[];this.ER=this.ER.bind(this);this.FR=this.FR.bind(this)});a.prototype.load=function(a){this.cancel();this.kd=a;this.iU=0;this.Cma()};a.prototype.Cma=function(){this.In=j.add(this.kd,this.sr,this.LKa.bind(this),this.lAa.bind(this))}; a.prototype.cancel=function(){if(this.In){this.In.cancel();this.In=q}this.ofa();this.kd=q};a.prototype.uQa=function(){return!!this.Ob&&!this.dx||this.MF};a.prototype.El=S("dx");a.prototype.jf=function(a){if(a){a=this.Ob.cloneNode(n);this.g3.push(a);return a}return this.Ob};a.prototype.fd=S("Z");a.prototype.Ud=S("ja");a.prototype.pi=S("kd");a.prototype.LKa=function(){this.Ob=this.BBa(this.kd)};a.prototype.lAa=function(){this.uQa()&&this.ofa()};a.prototype.ofa=function(){if(this.Ob){if(this.MF){clearTimeout(this.MF); this.MF=q}for(this.dx=B;this.g3.length;)this.mga(this.g3.shift());this.mga(this.Ob);this.Ob=q}};a.prototype.Aya=function(a){a.addEventListener("load",this.ER);a.addEventListener("error",this.FR)};a.prototype.uma=function(a){a.removeEventListener("load",this.ER);a.removeEventListener("error",this.FR)};a.prototype.ER=function(){(!this.Ob.width||!this.Ob.height)&&this.kd.indexOf(".svg")>-1&&this.NCa();this.In.loaded();this.In=q;this.uma(this.Ob);this.dx=n;this.Z=this.Ob.width;this.ja=this.Ob.height; e.OPa(this.kd)&&e.IOa(this.Ob,this.Z,this.ja);this.trigger(new d(g.U))};a.prototype.FR=function(){this.cancel();if(this.iU0,g=this.Ch&&this.Ch.El(),j=this.Qo>0&&this.QP||this.So>0&&this.SP||this.Ro>0&&this.RP||this.Po>0&&this.PP,j=f||g||j;if(f){var o;o=this.i0==i.gZ?e.createLinearGradient(0,0,a,0):e.createLinearGradient(0,0,0,b);d(c).forEach(function(a){o.addColorStop(a.ratio,a.color)});e.fillStyle=o;e.fillRect(0,0,a,b);this.gQ=n}else if(this.gQ){e.clearRect(0,0,a,b);this.gQ=B}if(g){e.drawImage(this.Ch.jf(),0,0,a,b);this.gQ=n}this.Xb.style.opacity= this.eb;this.Xb.style.filter="alpha(opacity="+Math.round(this.eb*100)+")";this.Xb.style["-ms-filter"]="alpha(opacity="+Math.round(this.eb*100)+")";this.Xb.style.borderTopLeftRadius=this.lt+"px";this.Xb.style.borderTopRightRadius=this.mt+"px";this.Xb.style.borderBottomLeftRadius=this.jt+"px";this.Xb.style.borderBottomRightRadius=this.kt+"px";this.Xb.style.borderLeft=this.jR(this.Qo,this.QP);this.Xb.style.borderTop=this.jR(this.So,this.SP);this.Xb.style.borderRight=this.jR(this.Ro,this.RP);this.Xb.style.borderBottom= this.jR(this.Po,this.PP);this.Xb.style.width=a+"px";this.Xb.style.height=b+"px";this.Xb.style.cursor="inherit";this.Xb.style.display=j?"block":"none";if(this.Xb.clientWidth===0&&a!==0){this.Xb.style.width=0;this.Xb.style.width=a+"px"}};b.prototype.jR=function(a,b){return a>0?b?a+"px solid "+b:a+"px solid transparent":"none"};b.prototype.gAa=function(){var a=[];if(this.Uz.length>0){for(var b=this.Uz.slice(),b=[].concat([b[0]],b,[b[b.length-1]]),e=this.fAa(),e=[].concat([0],e,[1]),c=0;c=0&&a.push({color:b[c],ratio:f})}for(c=0;c0?d(this.l0).map(function(a){return Math.min(1,Math.max(0,a))}):a==1?[0.5]:d(d.range(a)).map(function(b,e){return 1*e/(a-1)});b.lengtha&&b.splice(a,b.length-a);return b};return b}); define("ew",["jquery.mod","op","gg"],function(a,b,d){function c(){this.rT=this.tT=this.uT=this.sT=this.Po=this.Ro=this.So=this.Qo=0;this.cL=this.dp=n;this.V8=this.Z2=0;this.ka=n;this.LL=document.createElement("div");this.LL.setAttribute("tdvlayer","content");this.Uma=a(this.LL);d.css(this.LL,{position:"absolute"});this.BI=document.createElement("div");this.Ifa=a(this.BI);d.css(this.BI,{position:"absolute"});this.Uma.append(this.Ifa)}c.prototype.append=function(a){this.Ifa.append(a)};c.prototype.WV= function(a){this.BI.appendChild(a)};c.prototype.wua=function(a){this.BI.removeChild(a)};c.prototype.Mc=S("Uma");c.prototype.GN=S("LL");c.prototype.iSa=function(a){this.Z2!=a&&(this.Z2=a,this.ka=n)};c.prototype.rTa=function(a){this.V8!=a&&(this.V8=a,this.ka=n)};c.prototype.XG=function(){return this.sT+this.Qo};c.prototype.aH=function(){return this.uT+this.So};c.prototype.$G=function(){return this.tT+this.Ro};c.prototype.TG=function(){return this.rT+this.Po};c.prototype.yH=function(a){this.cL!=a&&(this.cL= a,this.ka=n)};c.prototype.LSa=function(a){this.sT!=a&&(this.sT=a,this.ka=n)};c.prototype.NSa=function(a){this.uT!=a&&(this.uT=a,this.ka=n)};c.prototype.MSa=function(a){this.tT!=a&&(this.tT=a,this.ka=n)};c.prototype.KSa=function(a){this.rT!=a&&(this.rT=a,this.ka=n)};c.prototype.taa=function(a){this.Qo!=a&&(this.Qo=a,this.ka=n)};c.prototype.xaa=function(a){this.So!=a&&(this.So=a,this.ka=n)};c.prototype.uaa=function(a){this.Ro!=a&&(this.Ro=a,this.ka=n)};c.prototype.saa=function(a){this.Po!=a&&(this.Po= a,this.ka=n)};c.prototype.eva=function(a){this.dp!=a&&(this.dp=a,this.ka=n)};c.prototype.Qg=function(){this.ka&&(this.X(),this.ka=B)};c.prototype.X=function(){d.css(this.LL,{overflow:this.cL?"visible":"hidden","z-index":this.dp?b.Eba:b.Dba,left:this.XG()+"px",top:this.aH()+"px",right:this.$G()+"px",bottom:this.TG()+"px",cursor:"inherit"});d.css(this.BI,{left:-this.Z2+"px",top:-this.V8+"px",right:this.cL?0:"initial",bottom:this.cL?0:"initial",cursor:"inherit"})};return c}); define("jt",["dY","jquery.mod","kG","op","gg"],function(a,b,d,c,g){function f(){this.ja=this.Z=this.Ca=this.ya=l;this.kt=this.jt=this.mt=this.lt=0;this.ub=B;this.Y2=0;this.U8=4;this.M_=6;this.h7=0;this.ec="#000000";this.eb=1;this.Xb=document.createElement("div");this.Xb.setAttribute("tdvlayer","shadow");this.ea=b(this.Xb);g.css(this.Xb,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.ka=B}f.prototype.Mc=S("ea");f.prototype.GN=S("Xb");f.prototype.vaa=function(a){this.lt!=a&&(this.lt=a,this.ka= n)};f.prototype.waa=function(a){this.mt!=a&&(this.mt=a,this.ka=n)};f.prototype.qaa=function(a){this.jt!=a&&(this.jt=a,this.ka=n)};f.prototype.raa=function(a){this.kt!=a&&(this.kt=a,this.ka=n)};f.prototype.Yi=function(a){this.eb!=a&&(this.eb=a,this.ka=n)};f.prototype.Ak=S("eb");f.prototype.Jf=function(a){this.ub!=a&&(this.ub=a,this.ka=n)};f.prototype.hSa=function(a){this.Y2!=a&&(this.Y2=a,this.ka=n)};f.prototype.qTa=function(a){this.U8!=a&&(this.U8=a,this.ka=n)};f.prototype.MRa=function(a){this.M_!= a&&(this.M_=a,this.ka=n)};f.prototype.fTa=function(a){this.h7!=a&&(this.h7=a,this.ka=n)};f.prototype.vH=function(a){this.ec!=a&&(this.ec=a,this.ka=n)};f.prototype.Qg=function(){this.ka&&(this.X(),this.ka=B)};f.prototype.X=function(){var a=this.Y2+"px "+this.U8+"px "+this.M_+"px "+this.h7+"px "+this.ec;this.Xb.style.display=this.ub?"block":"none";this.Xb.style.boxShadow=a;this.Xb.style["-webkit-box-shadow"]=a;this.Xb.style["-moz-box-shadow"]=a;this.Xb.style.borderTopLeftRadius=this.lt+"px";this.Xb.style.borderTopRightRadius= this.mt+"px";this.Xb.style.borderBottomLeftRadius=this.jt+"px";this.Xb.style.borderBottomRightRadius=this.kt+"px";this.Xb.style.filter="alpha(opacity="+Math.round(100*this.eb)+")";this.Xb.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.eb)+")";this.Xb.style.opacity=this.eb;this.Xb.style.zIndex=c.Vca};return f}); define("mp","require,jquery.mod,dY,kG,lh,bc,nU,ga,ew,jt,op,cs,gg,t".split(","),function(a){var b=a("jquery.mod");a("dY");var d=a("kG"),c=a("lh"),g=a("bc"),f=a("nU"),i=a("ga"),e=a("ew"),j=a("jt"),o=a("op"),k=a("cs"),m=a("gg");a("t");var r=d.extend(c,function(){c.call(this);this.GE=r.GE++;this.s0=this.Wd=this.e5=this.bL=this.a7=this.ea=this.Xb=q;this.Woa=this.uia=B;this.aa=this.Sa=q;this.ja=this.Z=this.fu=this.eu=0;this.Ww=this.ub=B;this.kia=n;this.TJ=this.UJ=this.Yk=this.Zk=0;this.eb=1;this.vh=g.me; this.set("inView",B);this.set("toolTip",l);this.yB(n);this.Q6(n)});r.prototype.ke=R("RD");r.prototype.toString=function(){return"["+this.ea.attr("tdvclass")+"::"+this.GE+"]"};r.prototype.log=function(a){d.log(a+" "+this.toString()+" "+(new Date).getTime().toString())};r.prototype.vb=S("Sa");r.prototype.Br=function(a){(this.Sa=a)&&this.n3();this.nG();this.trigger(f.Bwa)};r.prototype.Mc=function(){this.ea=b(this.Zq());this.Mc=S("ea");return this.ea};r.prototype.Zq=function(){this.Xb=document.createElement("div"); this.Xb.setAttribute("id",this.GE);this.RD&&this.Xb.setAttribute("tdvclass",this.RD);m.css(this.Xb,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.Zq=S("Xb");return this.Xb};r.prototype.Qk=function(){this.a7=new j;this.Qk=S("a7");return this.a7};r.prototype.Ic=function(){this.Wd=new i;this.Ic=S("Wd");return this.Wd};r.prototype.zE=function(){this.bL=document.createElement("div");this.bL.setAttribute("tdvlayer","overShadow");m.css(this.bL,{position:"absolute",left:0, top:0,cursor:"inherit"});this.zE=S("bL");return this.bL};r.prototype.u2=function(){this.e5=b(this.zE());this.u2=S("e5");return this.e5};r.prototype.Ab=function(){this.s0=new e;this.Ab=S("s0");return this.s0};r.prototype.getParent=S("aa");r.prototype.Ua=S("Z");r.prototype.Cb=S("ja");r.prototype.LPa=function(){return this.Z!==l&&this.ja!==l};r.prototype.Se=function(){return this.Z-this.Ab().XG()-this.Ab().$G()};r.prototype.Re=function(){return this.ja-this.Ab().aH()-this.Ab().TG()};r.prototype.Bl=function(){return this.Ab().XG()}; r.prototype.bs=function(){return this.Ab().aH()};r.prototype.as=function(){return this.Ab().$G()};r.prototype.VG=function(){return this.Ab().TG()};r.prototype.Jf=function(a){if(this.ub!=a){this.ub=a;this.$d();if(this.aa){this.aa.Nb();this.aa.xd()}this.nG()}};r.prototype.nG=function(){var a=B;this.Sa&&this.ub&&this.Ak()>0&&(this==this.Sa?a=n:this.aa&&(a=this.aa.Ww));this.Ww!=a&&this.x_(a)};r.prototype.x_=function(a){this.Ww=a;this.set("inView",a);this.Ww?this.trigger(new k(f.jc)):this.trigger(new k(f.pc))}; r.prototype.OJa=function(a){if(this.kia!=a){this.kia=a;this.aa&&this.aa.xd()}};r.prototype.GJa=function(a){if(this.rE!=a){this.rE=a;this.Nb()}};r.prototype.FJa=function(a){if(this.qE!=a){this.qE=a;this.Nb()}};r.prototype.EJa=function(a){if(this.pE!=a){this.pE=a;this.Nb()}};r.prototype.DJa=function(a){if(this.oE!=a){this.oE=a;this.Nb()}};r.prototype.HJa=function(a){if(this.nm!=a){this.nm=a;if(this.nm!=l)this.Im=l;this.Nb()}};r.prototype.CJa=function(a){if(this.hA!=a){this.hA=a;if(this.hA!=l)this.Hm= l;this.Nb()}};r.prototype.aKa=function(a){if(this.Im!=a){this.Im=a;if(this.Im!=l)this.nm=l;this.Nb()}};r.prototype.XJa=function(a){if(this.Hm!=a){this.Hm=a;if(this.Hm!=l)this.hA=l;this.Nb()}};r.prototype.QJa=function(a){if(this.Yt!=a){if(a!=l)this.GT=l;this.Yt=a;this.aa&&this.aa.xd();this.Nb()}};r.prototype.oKa=function(a){if(this.Pp!=a){if(a!=l)this.IT=l;this.Pp=a;this.aa&&this.aa.xd();this.Nb()}};r.prototype.cKa=function(a){if(this.HL!=a){if(a!=l)this.HT=l;this.HL=a;this.aa&&this.aa.xd();this.Nb()}}; r.prototype.vJa=function(a){if(this.rI!=a){if(a!=l)this.FT=l;this.rI=a;this.aa&&this.aa.xd();this.Nb()}};r.prototype.YJa=function(a){if(this.GT!=a){if(a!=l)this.Yt=l;this.GT=a;this.aa&&this.aa.xd();this.Nb()}};r.prototype.$Ja=function(a){if(this.IT!=a){if(a!=l)this.Pp=l;this.IT=a;this.aa&&this.aa.xd();this.Nb()}};r.prototype.ZJa=function(a){if(this.HT!=a){if(a!=l)this.HL=l;this.HT=a;this.aa&&this.aa.xd();this.Nb()}};r.prototype.WJa=function(a){if(this.FT!=a){if(a!=l)this.rI=l;this.FT=a;this.aa&&this.aa.xd(); this.Nb()}};r.prototype.yJa=function(a){if(this.nw!=a){this.nw=a;this.aa&&this.aa.xd()}};r.prototype.zJa=function(a){if(this.ow!=a){this.ow=a;this.aa&&this.aa.xd()}};r.prototype.gs=function(){return isNaN(this.nm)?this.Zk:this.nm};r.prototype.fs=function(){return isNaN(this.hA)?this.Yk:this.hA};r.prototype.jEa=function(){return isNaN(this.JCa)?this.Zia:this.JCa};r.prototype.ds=function(){return isNaN(this.rE)?this.UJ:this.rE};r.prototype.ev=function(){return isNaN(this.qE)?this.TJ:this.qE};r.prototype.FW= function(){return isNaN(this.pE)?1E4:this.pE};r.prototype.EW=function(){return isNaN(this.oE)?1E4:this.oE};r.prototype.yna=function(a){if(this.x2()!=a){this.Ab().LSa(a);this.Nb()}};r.prototype.x2=function(){return this.Ab().sT};r.prototype.Ana=function(a){if(this.z2()!=a){this.Ab().NSa(a);this.Nb()}};r.prototype.z2=function(){return this.Ab().uT};r.prototype.zna=function(a){if(this.y2()!=a){this.Ab().MSa(a);this.Nb()}};r.prototype.y2=function(){return this.Ab().tT};r.prototype.xna=function(a){if(this.w2()!= a){this.Ab().KSa(a);this.Nb()}};r.prototype.w2=function(){return this.Ab().rT};r.prototype.zO=function(a){if(this.eu!=a){var b=this.eu==0!=(a==0);this.eu=a;this.Ck();b&&this.aa&&this.aa.xd()}};r.prototype.AO=function(a){if(this.fu!=a){var b=this.fu==0!=(a==0);this.fu=a;this.Ck();b&&this.aa&&this.aa.xd()}};r.prototype.SPa=function(){return this.eu!=0||this.fu!=0};r.prototype.Yi=function(a){if(this.eb!=a){this.eb=a;m.css(this.zE(),{filter:"alpha(opacity="+Math.round(this.eb*100)+") ",opacity:this.eb}); this.nG();this.Ck()}};r.prototype.Ak=S("eb");r.prototype.sJa=function(a){if(this.Ic().lt!=a){this.Qk().vaa(a);this.Ic().vaa(a)}};r.prototype.rDa=function(){return this.Ic().lt};r.prototype.tJa=function(a){if(this.Ic().mt!=a){this.Qk().waa(a);this.Ic().waa(a)}};r.prototype.sDa=function(){return this.Ic().mt};r.prototype.kJa=function(a){if(this.Ic().jt!=a){this.Qk().qaa(a);this.Ic().qaa(a)}};r.prototype.pDa=function(){return this.Ic().jt};r.prototype.lJa=function(a){if(this.Ic().kt!=a){this.Qk().raa(a); this.Ic().raa(a)}};r.prototype.qDa=function(){return this.Ic().kt};r.prototype.oJa=function(a){if(this.Ic().Qo!=a){this.Ic().taa(a);this.Ab().taa(a);this.Nb()}};r.prototype.gha=function(){return this.Ic().Qo};r.prototype.uJa=function(a){if(this.Ic().So!=a){this.Ic().xaa(a);this.Ab().xaa(a);this.Nb()}};r.prototype.iha=function(){return this.Ic().So};r.prototype.qJa=function(a){if(this.Ic().Ro!=a){this.Ic().uaa(a);this.Ab().uaa(a);this.Nb()}};r.prototype.hha=function(){return this.Ic().Ro};r.prototype.mJa= function(a){if(this.Ic().Po!=a){this.Ic().saa(a);this.Ab().saa(a);this.Nb()}};r.prototype.fha=function(){return this.Ic().Po};r.prototype.nJa=function(a){this.Ic().ORa(a)};r.prototype.rJa=function(a){this.Ic().QRa(a)};r.prototype.pJa=function(a){this.Ic().PRa(a)};r.prototype.jJa=function(a){this.Ic().NRa(a)};r.prototype.FU=function(a){this.Qk().Jf(a)};r.prototype.iKa=function(a){this.Qk().hSa(a)};r.prototype.lKa=function(a){this.Qk().qTa(a)};r.prototype.gKa=function(a){this.Qk().MRa(a)};r.prototype.kKa= function(a){this.Qk().fTa(a)};r.prototype.jKa=function(a){this.Qk().Yi(a)};r.prototype.hKa=function(a){this.Qk().vH(a)};r.prototype.fJa=function(a){this.lDa()!=a&&this.Ic().Yi(a)};r.prototype.lDa=function(){return this.Ic().Ak()};r.prototype.bJa=function(a){this.kDa()!=a&&this.Ic().vH(a)};r.prototype.kDa=function(){return this.Ic().ec};r.prototype.dJa=function(a){this.Ic().URa(a)};r.prototype.cJa=function(a){this.Ic().TRa(a)};r.prototype.eJa=function(a){this.Ic().lSa(a)};r.prototype.Tx=function(a){if(this.vh!= a){this.vh=a;this.Ck()}};r.prototype.yB=function(a){if(this.dp!=a){this.dp=a;m.css(this.zE(),{"z-index":this.dp?o.Jca:o.Ica});this.Ab().eva(this.dp);this.Ck()}};r.prototype.Q6=function(a){if(this.Kla!=a){this.Kla=a;m.css(this.Zq(),{"z-index":this.Kla?o.nda:o.mda});this.Ck()}};r.prototype.Lo=function(){this.nG();this.PN()};r.prototype.Lm=function(){this.nG()};r.prototype.l6=I();r.prototype.n3=function(){this.PN();this.$d();this.Nb();this.xd();this.Ck()};r.prototype.du=function(){this.TJ=this.UJ=this.Yk= this.Zk=0;this.Zia=l};r.prototype.PN=function(){var a=this.vb();a&&a.FD.PN(this)};r.prototype.$d=function(){var a=this.vb();a&&a.FD.$d(this)};r.prototype.Nb=function(){var a=this.vb();a&&a.FD.Nb(this)};r.prototype.xd=function(){var a=this.vb();a&&a.FD.xd(this)};r.prototype.Ck=function(){var a=this.vb();a&&a.FD.Ck(this)};r.prototype.K2=function(){var a=isNaN(this.GT)&&isNaN(this.Yt),b=isNaN(this.HT)&&isNaN(this.HL);return isNaN(this.nm)&&isNaN(this.Im)&&(a||b)?n:B};r.prototype.Zha=function(){var a= isNaN(this.IT)&&isNaN(this.Pp),b=isNaN(this.FT)&&isNaN(this.rI);return isNaN(this.hA)&&isNaN(this.Hm)&&(a||b)?n:B};r.prototype.QMa=function(){this.du();var a=this.jEa();if(a){var b=this.K2(),e=this.Zha();if(b&&!e){b=this.Re();if(b!=0){this.Zk=b*a+this.Bl()+this.as();this.Yk=b+this.bs()+this.VG()}}else if(!b&&e){b=this.Se();if(b!=0){this.Yk=b/a+this.Bl()+this.as();this.Zk=b+this.Bl()+this.as()}}}if(!isNaN(this.rE)&&this.Zkthis.pE)this.Zk=this.pE; if(!isNaN(this.qE)&&this.Ykthis.oE)this.Yk=this.oE};r.prototype.mb=function(){if(!this.Woa){this.Woa=n;var a=this.Zq(),b=this.zE();a.appendChild(this.Qk().GN());a.appendChild(b);b.appendChild(this.Ic().GN());b.appendChild(this.Ab().GN())}};r.prototype.aUa=function(){this.QMa();var a=this.gs(),b=this.fs(),e=this.ds(),c=this.ev();if(a!=this.pGa||b!=this.oGa||e!=this.lGa||c!=this.kGa||this.Im!=this.nGa||this.Hm!=this.mGa){this.pGa=a;this.oGa=b;this.lGa= e;this.kGa=c;this.nGa=this.Im;this.mGa=this.Hm;return n}return B};r.prototype.Ma=function(){this.Ck()};r.prototype.Pl=I();r.prototype.Uua=function(a,b,e,c){if(this.ya!=a||this.Ca!=b||this.Z!=e||this.ja!=c){this.ya=a;this.Ca=b;this.Z=e;this.ja=c;this.Ic().setSize(this.Z,this.ja);this.xd();this.Ck();this.trigger(new k(f.tc))}};r.prototype.Qg=function(){var a=this.Zq(),b=this.zE();if(this.ub){b.style.width=this.Z+"px";b.style.height=this.ja+"px";a.style.left=this.ya+this.eu+"px";a.style.top=this.Ca+ this.fu+"px";a.style.width=this.Z+"px";a.style.height=this.ja+"px";a.style.visibility="inherit";a.style.overflow="visible";a.style.cursor=this.Sa&&this.Sa.T0.xra(this.vh);if(b.clientWidth===0&&this.Z!==0){a.style.width=0;a.style.width=this.Z+"px"}}else{a.style.visibility="hidden";a.style.width=0;a.style.height=0;a.style.overflow="hidden";b.style.width=0;b.style.height=0}this.Qk().Qg();this.Ic().Qg();this.Ab().Qg();if(!this.uia&&this.Sa){this.uia=n;this.Sa.boa?this.o3():this.Sa.bind(f.Tj,this.o3,this, n)}};r.prototype.o3=function(){this.trigger(f.INIT)};r.prototype.xPa=function(a){var a=a.Mc().offset(),b=this.Mc().offset(),e={};e.left=b.left-a.left;e.top=b.top-a.top;if(this.Sa){e.left=e.left/this.Sa.Ax;e.top=e.top/this.Sa.Ax}return e};r.GE=0;return r}); define("S","require,dY,kG,nU,cs,gq,mp".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("nU"),g=a("cs"),f=a("gq"),i=a("mp"),e=d.extend(i,function(){this.j={};this.yu=this.Sga=l;this.Jx={};this.Oga=n;this.coa={};i.call(this);this.$Ba();this.ab();this.ke("UICustomizable");this.$d()});e.lc={visible:n,includeInLayout:n,state:l,left:l,right:l,top:l,bottom:l,centerX:l,centerY:l,width:l,height:l,minWidth:l,minHeight:l,maxWidth:l,maxHeight:l,actualWidth:l,actualHeight:l,paddingLeft:0,paddingTop:0,paddingRight:0, paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:l,borderBottomRadius:l,borderLeftRadius:l,borderRightRadius:l,borderTopLeftRadius:l,borderTopRightRadius:l,borderBottomLeftRadius:l,borderBottomRightRadius:l,borderSize:0,borderLeftSize:l,borderTopSize:l,borderRightSize:l,borderBottomSize:l,borderColor:l,borderLeftColor:l,borderTopColor:l,borderRightColor:l,borderBottomColor:l,shadow:B,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:l, backgroundOpacity:1,backgroundColor:l,backgroundColorRatios:l,backgroundColorDirection:l,backgroundImageUrl:l,hideEffect:l,showEffect:l};e.prototype.$Ba=function(){this.coa[f.Rb]=f.bb};e.prototype.ab=function(){this.zn(e.lc)};e.prototype.zn=function(a){for(var b in a){var e=a[b],c=e&&e.length;!c||typeof e=="string"?this.f(b,e):c==1?this.f(b,e[0]):c==2?this.m(b,e[0],e[1]):c==3&&this.m(b,e[0],e[1],e[2])}};e.prototype.f=function(a,b){this.j[a]={i:n,d:b}};e.prototype.pEa=function(){var a=[],b;for(b in this.j)a.push(b); return a};e.prototype.m=function(a,b,e,c){this.Jx[b]||(this.Jx[b]={});this.f(a,c);this.Jx[b][e]=a};e.prototype.VF=function(a,b){if(b)this.Sga=a;else if(this.Sga!=l)return;if(this.yu!=a){var e=this.Jx[this.yu];if(e)for(var c in e)(this.j[c]||(this.j[c]={})).i=n;this.yu=a;if(e=this.Jx[this.yu])for(c in e)(this.j[c]||(this.j[c]={})).i=n;this.$d()}};e.prototype.$=function(a){if(b(a).isString())this.set(a,l);else{var e=a;for(a in e)this.set(a,e[a])}};e.prototype.set=function(a,e){var c=this.j[a];if(c){e== l&&(e=c.d);if(!b.isEqual(this.get(a),e)){a=="state"&&this.VF(e,n);i.prototype.set.call(this,a,e);c.i=n;this.$d()}}else i.prototype.set.call(this,a,e)};e.prototype.get=function(a,b){switch(a){case "actualWidth":return this.Ua();case "actualHeight":return this.Cb();default:var e=i.prototype.get.call(this,a);if(e===l){var c=this.j[a];c&&(e=c.d);e===l&&(e=b)}return e}};e.prototype.oea=function(){for(var a=["paddingLeft","paddingTop","paddingRight","paddingBottom","borderRadius","borderTopRadius","borderBottomRadius", "borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize"],b=0;b=2)return parseFloat(a[1])}; return e});define("ja",["dY","kG","cs"],function(a,b,d){return b.extend(d,function(b,g,f,i,e,j,o,k){a.isNumber(g)||(g=1);a.isNumber(f)||(f=0);d.call(this,b);this.scale=g;this.rotation=f;this.x=i;this.y=e;this.pageX=j;this.pageY=o;this.touches=k||[]})});define("nY",["dY","kG","cs"],function(a,b,d){return b.extend(d,function(a,b,f,i,e,j,o,k){d.call(this,a);this.x=b;this.y=f;this.pageX=i;this.pageY=e;this.delta=j;this.hW=o;this.originalEvent=k})}); define("d","require,jquery.mod,dY,kG,nU,gq,lm,S,ja,nY,gg,t,lB".split(","),function(a){var b=a("jquery.mod"),d=a("dY"),c=a("kG"),g=a("nU"),f=a("gq"),i=a("lm"),e=a("S"),j=a("ja"),o=a("nY");a("gg");var k=a("t"),a=a("lB"),m=c.extend(e,function(){e.call(this);this.ke("UIComponent");this.UQ=[];this.lja=0;this.pCa=500;this.qc=1;this.Fn=k.XX();this.xJ=this.St=this.SR=B;this.set("propagateClick",n)});m.lc={autoRolledOver:B,autoPressed:B,contentOpaque:n,cursor:l,inheritedCursor:l,inheritedInteractionEnabled:n, interactionEnabled:n,rollOverOpacity:[f.P,"opacity"],rollOverShadow:[f.P,"shadow"],toolTipFollowMouse:B};d.defaults(m.lc,e.lc);m.prototype.ab=function(){this.zn(m.lc)};m.prototype.Gea=function(){this.Ena(n)};m.prototype.Fea=function(){this.Ena(B)};m.prototype.Dea=function(){this.UF(n)};m.prototype.Eea=function(){this.UF(B)};m.prototype.TL=function(a){if(this.St!=a){this.St=a;this.$f()}};m.prototype.UF=function(a){if(this.xJ!=a){this.xJ=a;this.$f()}};m.prototype.Ena=function(a){if(this.SR!=a){this.SR= a;this.$f()}};m.prototype.$f=function(){this.St?this.VF(f.W):this.xJ&&this.SR?this.VF(f.Rb):this.xJ?this.VF(f.bb):this.SR?this.VF(f.P):this.VF(f.me)};m.prototype.trigger=function(){e.prototype.trigger.apply(this,arguments)};m.prototype.Noa=function(a,b){this.trigger(new o(g.zb,a.x,a.y,a.pageX,a.pageY,l,l,b))};m.prototype.Ooa=function(a,b){this.trigger(new o(g.ad,a.x,a.y,a.pageX,a.pageY,l,l,b))};m.prototype.Poa=function(a,b){this.trigger(new o(g.Wb,a.x,a.y,a.pageX,a.pageY,l,l,b))};m.prototype.QLa= function(a,b,e){this.trigger(new o(g.xq,a.x,a.y,a.pageX,a.pageY,b.delta,b.hW,e))};m.prototype.Koa=function(a){this.trigger(new o(g.ca,a.x,a.y,a.pageX,a.pageY))};m.prototype.Loa=function(a){this.trigger(new o(g.Ul,a.x,a.y,a.pageX,a.pageY))};m.prototype.TLa=function(){this.trigger(new o(g.cc))};m.prototype.SLa=function(){this.trigger(new o(g.qb))};m.prototype.OLa=function(){this.trigger(new o(g.Gk))};m.prototype.PLa=function(){this.trigger(new o(g.Sh))};m.prototype.NLa=function(a,b,e){this.trigger(new j(g.gD, a,b,e.x,e.y,e.pageX,e.pageY,e.touches))};m.prototype.JLa=function(a,b,e){this.trigger(new j(g.dZ,a,b,e.x,e.y,e.pageX,e.pageY,e.touches))};m.prototype.KLa=function(a,b,e){this.trigger(new j(g.eD,a,b,e.x,e.y,e.pageX,e.pageY,e.touches))};m.prototype.LLa=function(a){this.trigger(new j(g.$wa,l,a))};m.prototype.MLa=function(a){this.trigger(new j(g.fD,a))};m.prototype.I7=function(a){a.stopImmediatePropagation();this.kE(["touchend"]);this.zia(a)?this.R5(a):this.lma(a,n)};m.prototype.lma=function(a,b){var e= this.BE(a);b&&this.DLa(e);this.Noa(e,a);this.aa&&this.aa.lma(a,b&&this.get("propagateClick"))};m.prototype.H7=function(a){a.preventDefault();a.stopImmediatePropagation();this.zia(a)?this.P5(a):this.kma(a)};m.prototype.kma=function(a){var b=this.BE(a);this.CLa(b);this.Ooa(b,a);this.aa&&this.aa.kma(a)};m.prototype.mha=function(a,b){var e=a.pageX-b.pageX,c=a.pageY-b.pageY;return Math.sqrt(e*e+c*c)};m.prototype.ay=function(a,b){this.OI(["touchend"]);b!==B&&a.preventDefault();a.stopImmediatePropagation(); if(this.BF)this.Q5(a);else{this.jma(a,this.yia());this.oia()}this.BF=q;this.lI()};m.prototype.jma=function(a,b){this.Poa(this.BE(a),a);this.BLa(b);this.aa&&this.aa.jma(a)};m.prototype.DLa=function(a){this.bind(g.qb,this.Doa,this,n);this.HB=a};m.prototype.CLa=function(a){if(this.HB){var a=this.mha(this.HB,a),b;if(k.wb()){b=this.vb();b=Math.min(b.Ua(),b.Cb())*0.01;b=m.kya*b}else b=m.qya;a>b&&this.kV()}};m.prototype.BLa=function(a){if(this.HB){this.Koa(this.HB);a&&this.Loa(this.HB);this.kV()}};m.prototype.kV= function(){if(this.HB){this.unbind(g.qb,this.Doa,this);this.HB=l}};m.prototype.Doa=function(){this.kV()};m.prototype.Y1=function(a){this.kE(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.R5(a)};m.prototype.R5=function(a){var b=this.l2(a);this.BF=b;this.NLa(b.scale,b.rotation,b.coordinates);this.aa&&this.aa.R5(a)};m.prototype.Vga=function(a){a.preventDefault();a.stopImmediatePropagation();this.P5(a)};m.prototype.P5=function(a){var b=this.l2(a,this.BF),e=b.rotation- this.BF.rotation,c=b.scale/this.BF.scale;this.BF=b;this.qc=this.qc*c;for(this.nk=this.nk+e;this.nk>180;)this.nk=this.nk-360;for(;this.nk<-180;)this.nk=this.nk+360;this.JLa(this.qc,this.nk,b.coordinates);e!=0&&this.LLa(this.nk);c!=1&&this.MLa(this.qc);this.kV();this.aa&&this.aa.P5(a)};m.prototype.Xga=function(a){this.OI(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.Q5(a)};m.prototype.Q5=function(a){this.KLa(this.qc,this.nk,this.l2(a).coordinates);this.aa&&this.aa.Q5(a)}; m.prototype.l4=function(a){this.kE(["mouseup"]);a.stopImmediatePropagation();this.fma(a,n);r&&this.aGa(a.ctrlKey)};m.prototype.fma=function(a,b){var e=this.qA(a);b&&this.NAa(e);this.Noa(e,a);this.aa&&this.aa.fma(a,b&&this.get("propagateClick"))};m.prototype.m4=function(a){a.preventDefault();a.stopImmediatePropagation();this.vb().DC(this);this.gma(a)};m.prototype.gma=function(a){var b=this.qA(a);this.MAa(b);this.Ooa(b,a);this.aa&&this.aa.gma(a)};m.prototype.xS=function(a){this.OI(["mouseup"]);a.preventDefault(); a.stopImmediatePropagation();this.hma(a,this.yia());this.oia()};m.prototype.hma=function(a,b){this.Poa(this.qA(a));this.LAa(b);this.aa&&this.aa.hma(a,b)};m.prototype.NAa=function(a){this.bind(g.qb,this.wfa,this,n);this.Tz=a};m.prototype.MAa=function(a){this.Tz&&this.mha(this.Tz,a)>m.fya&&this.h0()};m.prototype.LAa=function(a){if(this.Tz){this.Koa(this.Tz);a&&this.Loa(this.Tz);this.h0()}};m.prototype.h0=function(){if(this.Tz){this.unbind(g.qb,this.wfa,this);this.Tz=l}};m.prototype.wfa=function(){this.h0()}; m.prototype.nja=function(a){if(this.Sa.mja){a.preventDefault();a.stopImmediatePropagation();this.ima(a)}};m.prototype.dfa=T(B);m.prototype.ima=function(a){var b=this.qA(a),e=this.$Da(a);this.aa&&!this.dfa(e.delta)&&this.aa.ima(a);this.QLa(b,e,a)};m.prototype.qA=function(a){return this.kR(a.pageX,a.pageY)};m.prototype.$Da=function(a){var a=window.event||a.originalEvent||a,b={};b.delta=Math.max(-1,Math.min(1,a.wheelDelta||-a.detail));b.hW=a.wheelDelta?a.wheelDelta*0.01:b.delta;return b};m.prototype.BE= function(a){var b=this.i2(a),e;if(b===l){e=a.pageX!==l?this.kR(a.pageX,a.pageY):this.kR(a.originalEvent.pageX,a.originalEvent.pageY);e.touches=[e]}else if(b.length==0)e=this.dIa;else{e={x:0,y:0,pageX:0,pageY:0,vy:0,wy:0,touches:[]};Array.from(b).forEach(function(a){a||(a=b[0]);a=this.kR(a.pageX,a.pageY);e.x=e.x+a.x;e.y=e.y+a.y;e.pageX=e.pageX+a.pageX;e.pageY=e.pageY+a.pageY;e.vy=e.vy+a.vy;e.wy=e.wy+a.wy;e.touches.push(a)}.bind(this));e.x=e.x/b.length;e.y=e.y/b.length;e.pageX=e.pageX/b.length;e.pageY= e.pageY/b.length;e.vy=e.vy/b.length;e.wy=e.wy/b.length}return this.dIa=e};m.prototype.zia=function(a){if((a=this.i2(a))&&a.length>1)for(var b=0,e=0;e1)return n}return B};m.prototype.zFa=function(a){for(;a;){if(a==this.Xb)return n;a=a.parentNode}return B};m.prototype.i2=function(a){return a.originalEvent.touches||a.originalEvent.targetTouches||a.originalEvent.changedTouches};m.prototype.kR=function(a,b){var e=this.Mc().offset(),c=this.Sa?this.Sa.Ax: 1,f={};f.x=(a-e.left)/c;f.y=(b-e.top)/c;f.pageX=a/c;f.pageY=b/c;f.vy=a;f.wy=b;return f};m.prototype.l2=function(a,b){var e=this.BE(a);if(a.originalEvent.scale!==l||a.originalEvent.rotation!==l)return{coordinates:e,scale:a.originalEvent.scale,rotation:a.originalEvent.rotation};if(b){var c=this.uha(a);return{coordinates:e,scale:b.scale*c/b.touchesDistance,rotation:0,touchesDistance:c}}return{coordinates:e,scale:1,rotation:0,touchesDistance:this.uha(a)}};m.prototype.uha=function(a){var b=this.i2(a); if(b&&b.length>1){a=Math.abs(b[0].pageX-b[1].pageX);b=Math.abs(b[0].pageY-b[1].pageY);return Math.sqrt(a*a+b*b)}return 0};m.prototype.kE=function(a){this.UQ=d(this.UQ).union(a);for(var a=this.tha(a),b=0;b0&&b.Uz.length>0,c=this.p("contentOpaque"),f=this.p("inheritedInteractionEnabled"),d=this.p("interactionEnabled");this.xB(f&&d&&(c||b))}if(a||this.v("cursor")||this.v("inheritedCursor")){this.I("cursor");this.I("inheritedCursor");this.FP?this.Tx(this.p("cursor")):this.Tx(this.p("inheritedCursor"))}};m.prototype.xB=function(a){if(this.FP!=a){(this.FP=a)?this.kE(m.aea):this.OI(m.aea);this.lI()}};m.prototype.lI=function(){this.Zq().style["pointer-events"]=this.Mha()};m.prototype.Mha= function(){return this.FP?"auto":"none"};m.prototype.aGa=function(a){if(a){for(var a=[],b=this;b;){a.push(b);b=b.getParent()}console.log(a.map(function(a){return a.it}))}else console.log(this.it)};m.SN=function(){return m.UM>0};m.aea=function(){var a=[],a=a.concat(["touchstart","touchmove"]);k.ce()!=k.yi&&(a=a.concat(["mousedown","mousemove","mousewheel"]));return a}();m.UM=0;m.TUa=1E3;m.qya=10;m.kya=5;m.fya=10;var r=a.Ti("debug");return m}); define("c",[],function(){return{RO:"absolute",yg:"horizontal",Mv:"grid",nh:"vertical"}});define("ct",[],function(){return function(a){this.nd=a;this.height=this.width=this.y=this.x=0}});define("dy",[],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}}); define("ca",["mk","ct","dy"],function(a,b,d){function c(){this.xc=q;this.xl=a.kc;this.Tk=a.Ja;this.PB=this.Nt=0}c.prototype.dva=function(a){this.Nt!=a&&(this.Nt=a,this.ye())};c.prototype.NX=function(a){this.PB!=a&&(this.PB=a,this.ye())};c.prototype.ova=function(a){this.xc=a;this.ye()};c.prototype.wH=function(a){this.Tk!=a&&(this.Tk=a,this.ye())};c.prototype.DH=function(a){this.xl!=a&&(this.xl=a,this.ye())};c.prototype.WN=function(){return new d};c.prototype.update=function(){var a=this.lBa();this.kG(a); this.AJa(a)};c.prototype.kG=function(a){this.HM(a);this.GM(a)};c.prototype.pR=function(){for(var a=this.Vha(),b=[],c=0;ca&&(a=this.HA,o=n),o)a=Math.max(1,Math.floor((m+r)/(a+r))),a=(m-(a-1)*r)/a}else a=this.Ut;a=Math.max(1,a);p=Math.max(1,Math.floor(0.001+(m+r)/(a+r)));var o=p*a,t=p*(a+r)-r,s=0;if(m>=t)switch(this.Tk){case b.Xa:s=m-t;break;case b.ae:s=Math.round(0.5*(m-t));break;default:s=0}for(var m=[],t=[],u=0;ur&&(r=this.BJ,o=n),o)r=Math.max(1,Math.floor((s+u)/(r+u))),r=(s-(r-1)*u)/r}else r=this.Tt;o=Math.max(1,Math.ceil(k/p));c=o*r;var k=o*(r+u)-u,v=0;if(s>=k)switch(this.xl){case b.bc:v=s-k;break;case b.Ad:v=Math.round(0.5*(s-k))}k=[];s=[];for(d=0;ds?(m.width=s,b-=m.width,a=n):(o+=r.Im,d.push(m))}k=d}while(a);for(c=0;c=j)switch(this.Tk){case b.Xa:d-=j;break;case b.ae:d= Math.round(0.5*(d-j));break;default:d=0}else d=0;for(k=0;k=m.height)switch(this.xl){case b.bc:m.y=e-m.height;break;case b.Ad:m.y=Math.round(0.5*(e-m.height));break;default:m.y=0}else m.y=0;m.x=d;d+=m.width+c}else m.x=0,m.y=0};return a}); define("cT",["kG","mk","ca","dy"],function(a,b,d,c){a=a.extend(d,function(){d.call(this)});a.prototype.WN=function(){for(var a=new c,b=this.pR(),d=0;ds?(m.height=s,b-=m.height,a=n):(o+=r.Hm,d.push(m))}k=d}while(a);for(c=0;cd&&(d=m.width),o++)}j+=c*(o-1);if(e>=j)switch(this.xl){case b.bc:e-=j;break;case b.Ad:e= Math.round(0.5*(e-j));break;default:e=0}else e=0;for(k=0;k=0&&!f;g--)b(this.Vo).contains(this.Cd[g])||(f=this.Cd[g]);for(g=c+1;g0){b(this.Vo).forEach(function(a){this.Ab().WV(a.Zq());a.Br(this.vb())},this);this.Vo=[];this.Nb();this.xd()}};m.prototype.wO=function(a){if(this.Gn!=a){this.Gn&&this.Gn.ova(q); (this.Gn=a)&&this.Gn.ova(this)}};m.prototype.Ma=function(){var a=B,b=this.p("layout");if(this.v("layout")){switch(b){case i.Mv:this.wO(new j);break;case i.yg:this.wO(new o);break;case i.nh:this.wO(new k);break;default:this.wO(new e)}this.I("layout");a=n}var f=this.Gn;if(this.v("horizontalAlign")||a){f.wH(this.p("horizontalAlign"));this.I("horizontalAlign")}if(this.v("verticalAlign")||a){f.DH(this.p("verticalAlign"));this.I("verticalAlign")}if(this.v("gap")||a){if(b==i.Mv){f.dva(this.p("gap"));f.NX(this.p("gap"))}else b== i.yg?f.dva(this.p("gap")):b==i.nh&&f.NX(this.p("gap"));this.I("gap")}if(b==i.Mv){if(this.v("itemWidth")||a){var g=this.p("itemWidth"),m=c.po(g);m!==l?f.ySa(m):f.qSa(g);this.I("itemWidth")}if(this.v("itemHeight")||a){g=this.p("itemHeight");m=c.po(g);m!==l?f.xSa(m):f.pSa(g);this.I("itemHeight")}if(this.v("itemMinWidth")){f.vSa(this.p("itemMinWidth"));this.I("itemMinWidth")}if(this.v("itemMinHeight")){f.uSa(this.p("itemMinHeight"));this.I("itemMinHeight")}if(this.v("itemMaxWidth")){f.tSa(this.p("itemMaxWidth")); this.I("itemMaxWidth")}if(this.v("itemMaxHeight")){f.sSa(this.p("itemMaxHeight"));this.I("itemMaxHeight")}}if(this.v("childrenInteractionEnabled")){this.I("childrenInteractionEnabled");this.cpa()}this.Yb(["cursor"],{cursor:"inheritedCursor"},this.Cd,n,B);d.prototype.Ma.call(this);b==i.Mv&&f.cSa(this.nm)};m.prototype.Yb=function(a,b,e,c,f){for(var d=0;dthis.Pa?this.Pa=0:this.Pa>a&&(this.Pa=a)};g.yg="horizontal";g.nh="vertical";return g});define("jn",["kG","nW"],function(a,b){return a.extend(b,function(a){b.call(this,b.yg,a)})});define("eh",["kG","nW"],function(a,b){return a.extend(b,function(a){b.call(this,b.nh,a)})}); define("gI",["require","nU","cs","fQ"],function(a){function b(){var a;a=g?!f:!document[e];i.visible!=a&&(i.visible=a,i.trigger(new c(d.qa)))}var d=a("nU"),c=a("cs"),g=B,f=B,i=new (a("fQ"));i.visible=n;for(var e,j,a=["hidden","msHidden","webkitHidden"],o=["visibilitychange","msvisibilitychange","webkitvisibilitychange"],k=0;kf?f:100:1;b.Qe=a;for(a=0;a=f?0:f>=d?1:f/d;0.5>f?f=Math.pow(2*f,a):(f=1-Math.pow(1-(2*f-1),a),f+=1);return b+(c-b)*0.5*f}};b.Q$=g(a);return b}function d(a){var b={O9:function(b,c,f,d){return b+(c-b)*(1-Math.pow(1-(0>=f?0:f>=d?1:f/d),a))}};b.Q$=g(a);return b}function c(a){var b={O9:function(b,c,f,d){return b+(c-b)*Math.pow(0>=f?0:f>=d?1:f/d,a)}};b.Q$=g(a);return b}function g(a){return function(b,c,f){b=Math.abs(c-b);return 1>b/f?0:1/(1-Math.pow((b- f)/b,1/a))}}function f(a,f,g){this.Yj=q;switch(a){case "quad_in":this.Yj=c(2);break;case "quad_out":this.Yj=d(2);break;case "quad_in_out":this.Yj=b(2);break;case "cubic_in":this.Yj=c(3);break;case "cubic_out":this.Yj=d(3);break;case "cubic_in_out":this.Yj=b(3);break;case "quart_in":this.Yj=c(4);break;case "quart_out":this.Yj=d(4);break;case "quart_in_out":this.Yj=b(4);break;case "quint_in":this.Yj=c(5);break;case "quint_out":this.Yj=d(5);break;case "quint_in_out":this.Yj=b(5);break;default:this.Yj= c(1)}this.At=f.slice();this.vd=0;this.cb=this.Kw(f,g);this.$0={};for(a=0;a=this.cb};f.prototype.Ui=S("cb");f.prototype.Bk=function(){return this.vd/this.cb};f.prototype.getTime=S("vd");f.prototype.setTime=function(a){this.vd=Math.min(Math.max(0, a),this.cb);for(a=0;athis.Ed?this.dQ()&&(e=Math.min(a,this.sb-this.jg)):athis.$c?this.bQ()&&(c=Math.min(b,this.Lb-this.Df)):bthis.$c+this.Df&&d>=b&&d=a+this.Df&& fe+this.Df&&(e=f-this.Df)}this.iM(this.Ed,e)}};t.prototype.eQ=function(){return this.bfa()&&this.$c>0};t.prototype.Kua=function(){if(this.dQ()){for(var a=Math.max(0,this.sb-this.jg),b=Math.min(a,this.Ed+this.jg*0.5),e=a=Math.min(a,this.Ed+this.jg),c=this.Db().slice(),f=c.shift();c.length;f=c.shift())if(f.get("visible")){var d=f.ya;d+f.Ua()>this.Ed+this.jg&&d>=b&&d=a+this.jg&&fe+this.jg&&(e=f-this.jg)}this.iM(e,this.$c)}};t.prototype.cQ=function(){return this.afa()&&this.Ed>0};t.prototype.iM=function(a,b){this.al=this.Ed!=a;this.bl=this.$c!=b;this.Mr();this.Rx=new r("cubic_in_out",[new p("hScrollPosition",this.Ed,a),new p("vScrollPosition", this.$c,b)],500);m.yb(this.o_,this)};t.prototype.bfa=function(){return this.Pr&&this.Df0&&this.$c>0||a<0&&this.$c25){this.al=this.Rw;this.bl=this.Pr;this.Mr()}if(this.al||this.bl){this.Ed=this.Ed-b;this.$c=this.$c-e;this.sw=a.pageX;this.tw=a.pageY;this.Uu();this.oMa()}}; t.prototype.Gfa=function(){this.vb().unbind(c.ad,this.Ffa,this);this.vb().unbind(c.Wb,this.Gfa,this);this.s3=B;this.Mr();var a=Math.max(Math.abs(this.q0/0.001),Math.abs(this.r0/0.001));this.Rx=new r("linear",[new p("hScrollPosition",this.Ed,this.Ed-0.5*this.q0*a),new p("vScrollPosition",this.$c,this.$c-0.5*this.r0*a)],a);m.yb(this.o_,this)};t.prototype.gFa=function(){this.o0=this.sw;this.p0=this.tw};t.prototype.oMa=function(){var a=(new Date).getTime(),b=a-this.Dfa;if(b>10){this.Dfa=a;this.q0=(this.sw- this.o0)/b;this.r0=(this.tw-this.p0)/b;this.o0=this.sw;this.p0=this.tw}};t.prototype.o_=function(a){if(this.Rx&&!this.Rx.Te()&&(this.al||this.bl)){this.Rx.xb(a);if(this.al){this.Ed=this.Rx.gb("hScrollPosition");if(this.Ed<0||this.Ed>this.sb-this.jg)this.al=B}if(this.bl){this.$c=this.Rx.gb("vScrollPosition");if(this.$c<0||this.$c>this.Lb-this.Df)this.bl=B}this.Uu();m.yb(this.o_,this)}else{this.bl=this.al=B;this.Rx=q;this.Mr()}};t.prototype.Uu=function(a){if(a){if(!this.Rw)switch(this.p("horizontalAlign")){case f.Xa:this.Ed= this.sb-this.jg;break;case f.ae:this.Ed=(this.sb-this.jg)/2;break;default:this.Ed=0}if(!this.Pr)switch(this.p("verticalAlign")){case f.bc:this.$c=this.Lb-this.Df;break;case f.Ad:this.$c=(this.Lb-this.Df)/2;break;default:this.$c=0}}this.Ed=Math.max(0,Math.min(this.sb-this.jg,this.Ed));this.$c=Math.max(0,Math.min(this.Lb-this.Df,this.$c));this.Bn().hb(this.Ed);this.Cn().hb(this.$c);this.Ab().iSa(this.Ed);this.Ab().rTa(this.$c);this.Ck();if(this.Yla!=this.Ed||this.Zla!=this.$c){this.Yla!==l&&this.Zla!== l&&this.trigger(new g(c.Ho));this.Yla=this.Ed;this.Zla=this.$c}};t.prototype.Mr=function(){var a;a=this.get("scrollBarVisible")==e.ALWAYS?n:this.Fn?this.al||this.bl||this.s3:this.al||this.bl||this.x3;this.Bn().Jf(this.Rw&&a);this.Cn().Jf(this.Pr&&a);this.Ck()};t.prototype.mb=function(){j.prototype.mb.call(this);if(!this.UAa){this.UAa=n;if(this.Fn)this.bind(c.zb,this.Efa,this);else{this.bind(c.zb,this.TAa,this);this.bind(c.cc,this.XAa,this);this.bind(c.qb,this.WAa,this);this.bind(c.xq,this.VAa,this)}}}; t.prototype.Ma=function(){if(this.v("overflow")){this.f5=this.p("overflow");this.I("overflow");this.xd()}if(this.v("scrollBarColor")){this.Bn().vH(this.p("scrollBarColor"));this.Cn().vH(this.p("scrollBarColor"));this.I("scrollBarColor")}if(this.v("scrollBarWidth")){this.Bn().EO(this.p("scrollBarWidth"));this.Cn().EO(this.p("scrollBarWidth"));this.I("scrollBarWidth")}if(this.v("scrollBarMargin")||this.v("scrollBarVerticalMargin")||this.v("scrollBarHorizontalMargin")){var a=this.p("scrollBarHorizontalMargin", "scrollBarMargin"),b=this.p("scrollBarVerticalMargin","scrollBarMargin");this.Bn().bva(a);this.Bn().pva(b);this.Cn().bva(a);this.Cn().pva(b);this.I("scrollBarMargin");this.I("scrollBarVerticalMargin");this.I("scrollBarHorizontalMargin")}if(this.v("scrollBarOpacity")){this.Bn().Yi(this.p("scrollBarOpacity"));this.Cn().Yi(this.p("scrollBarOpacity"));this.I("scrollBarOpacity")}j.prototype.Ma.call(this)};t.prototype.Pl=function(){j.prototype.Pl.call(this);this.rMa();this.KMa();this.IMa();this.Mr();this.Ck()}; t.prototype.rMa=function(){for(var a=0,b=0,e=0,c=0,f=this.Db(),d=0;dthis.jg||this.Lb>this.Df;if(this.f5==i.Ho){this.Rw= this.jg"));break;default:b["line-height"]="normal";this.Nm.text(this.p("text")); this.Nm.html(this.Nm.html().split(" ").join(" "))}this.I("direction");this.I("text");setTimeout(function(){this.Nb();this.xd()}.bind(this),0)}if(this.v("fontFamily")){a=this.p("fontFamily");c(a).isString()||(a="");b.fontFamily=j.$u(a);this.I("fontFamily");this.Nb();this.xd()}if(this.v("fontSize")){a=this.p("fontSize");c(a).isNumber()?a=a+"px":c(a).isString()||(a="");b.fontSize=a;this.I("fontSize");this.Nb();this.xd()}if(this.v("fontColor")){a=this.p("fontColor");c(a).isString()||(a="");b.color= a;this.I("fontColor")}if(this.v("fontWeight")){a=this.p("fontWeight");switch(a){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:a="normal"}b.fontWeight=a;this.I("fontWeight");this.Nb();this.xd()}if(this.v("fontStyle")){a=this.p("fontStyle");switch(a){case "italic":case "normal":break;default:a="normal"}b.fontStyle=a;this.I("fontStyle");this.Nb();this.xd()}if(this.v("textDecoration")){a= this.p("textDecoration");switch(a){case "underline":case "overline":case "line-through":case "none":break;default:a="none"}b.textDecoration=a;this.I("textDecoration");this.Nb();this.xd()}if(this.v("horizontalAlign")){this.xd();this.I("horizontalAlign")}if(this.v("verticalAlign")){this.xd();this.I("verticalAlign")}a=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(c(a).any(function(a){return this.v(a)},this)){var f={};c(a).each(function(a){f[a]= this.p(a);this.I(a)},this);b["-moz-text-shadow"]=b["-webkit-text-shadow"]=b["text-shadow"]=[f.textShadowHorizontalLength+"px",f.textShadowVerticalLength+"px",f.textShadowBlurRadius+"px","rgba("+parseInt("0x"+f.textShadowColor.substr(1,2))+", "+parseInt("0x"+f.textShadowColor.substr(3,2))+", "+parseInt("0x"+f.textShadowColor.substr(5,2))+", "+f.textShadowOpacity+")"].join(" ");a=f.textShadowVerticalLength==0&&this.p("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(f.textShadowHorizontalLength, -f.textShadowVerticalLength)/Math.PI)*45;b.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*f.textShadowOpacity).toString(16)).slice(-2)+f.textShadowColor.substr(1,6)+",direction="+a+")";this.Ab().yH((f.textShadowHorizontalLength>0||f.textShadowVerticalLength>0||f.textShadowBlurRadius>0)&&f.textShadowOpacity>0)}this.g7(b);e.prototype.Ma.call(this)};a.prototype.Pl=function(){var a={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.p("horizontalAlign")){case f.Ja:a.left= "0";break;case f.Xa:this.Qg();a.left=this.Se()-b(this)+"px";break;case f.ae:this.Qg();a.left=Math.max(0,Math.round((this.Se()-b(this))*0.5))+"px"}switch(this.p("verticalAlign")){case f.kc:a.top="0";break;case f.bc:this.Qg();a.top=this.Re()-this.dM.clientHeight+"px";break;case f.Ad:this.Qg();a.top=Math.max(0,Math.round((this.Re()-this.dM.clientHeight)*0.5))+"px"}this.g7(a)};a.prototype.g7=function(a){var b=this.dM.style,e;for(e in a)b[e]=a[e]};var o=function(){function a(){!d&&e()&&(d=setTimeout(function(){d= q;var e=(new Date).getTime()-5E3,c;for(c in f){var g=f[c];g.timestamp=0};j.prototype.BQa=function(a){return this.o=="playingReverse"&&this.Yn.indexOf(a)>=0};j.prototype.sj=function(a){if(this.o!="stopped"){this.qe=this.o=="playing"?Math.min(this.cb, this.qe+a):Math.max(0,this.qe-a);this.Qf.setTime(this.qe);this.Gu();this.sL()}};j.prototype.Bk=function(){return this.Qf&&this.Qf.gb("pos")||0};j.prototype.Fw=function(a){if(this.Yn)for(var b=0;b=this.cb){this.qe=this.cb;this.WF();this.Yn=[];if(this.o!="stopped"){this.o="stopped";this.get("animationDirection")=="alternate"?this.reverse():this.get("loop")&&this.play()}}else this.o!="stopped"&&g.yb(this.sj,this)};j.Vba="start";j.$O="frame";j.$i="end";j.Uba="reverseStart";j.tq="reverseEnd";return j}); define("go",["require","nU","ei"],function(a){var b=a("nU"),d=a("ei");return{BCa:function(){this.Zj=this.oe=q;this.bind(b.jc,this.Cga,this,n);this.bind(b.pc,this.xga,this,n);this.bind(b.cc,this.zga,this,n);this.bind(b.qb,this.yga,this,n);this.bind(b.u("effect"),this.vga,this,n);this.bind(b.u("rollOverEffect"),this.Aga,this,n);this.dA=B},ZUa:function(){this.unbind(b.jc,this.Cga,this,n);this.unbind(b.pc,this.xga,this,n);this.unbind(b.cc,this.zga,this,n);this.unbind(b.qb,this.yga,this,n);this.unbind(b.u("effect"), this.vga,this,n);this.unbind(b.u("rollOverEffect"),this.Aga,this,n)},Cga:function(){this.oe&&this.oe.play()},xga:function(){this.oe&&this.oe.stop();this.Zj&&this.Zj.stop();this.dA=B},zga:function(){if(!this.dA&&(this.dA=n,this.Zj))if(this.oe&&this.oe.get("loop")&&0this.T_;)this.bd.pop().cancel();if(b){var c=this.Mk,g=function(){b.call(e||window,c.jf(),c.fd(),c.Ud())};this.Mk.El()?g():this.Mk.bind(f.U,g)}};b.prototype.clear=function(){this.bd.forEach(function(a){a.cancel()});this.Mk=q};a=g.extend(k,function(a){k.call(this);this.ke("Image");this.T_=a||1;this.M8=B;this.Tk=j.Ja;this.vR=B;this.xl=j.kc;this.EV=B;this.ef=o.NONE;this.y6= B;this.nF=this.oF=0;this.f3=this.c5=B;this.Lb=this.sb=0;this.qt=B;this.gx=this.Uk=this.Ob=this.DR=this.CR=q;this.bind(f.tc,this.dFa,this);this.bind(f.jc,this.eFa,this)});a.prototype.s2=function(){this.gx=new b(this.T_);this.s2=S("gx");return this.gx};a.prototype.ab=function(){k.prototype.ab.call(this);this.f("horizontalAlign",j.Ja);this.f("verticalAlign",j.kc);this.f("scaleMode",o.NONE)};a.prototype.set=function(a,b){if(a=="url"&&this.get("url")!=b){this.M8=n;this.$d()}k.prototype.set.call(this,a, b)};a.prototype.wH=function(a){if(this.Tk!=a){this.Tk=a;this.vR=n;this.$d()}};a.prototype.DH=function(a){if(this.xl!=a){this.xl=a;this.EV=n;this.$d()}};a.prototype.Fy=function(a){if(this.ef!=a){this.ef=a;this.y6=n;this.$d();this.Nb()}};a.prototype.dFa=function(){this.qt=n;this.$d()};a.prototype.eFa=function(){this.Ipa()};var p={position:"static",cursor:"inherit",display:"inline",verticalAlign:"top",visibility:"hidden","pointer-events":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"none", "-webkit-user-select":"none","touch-callout":"none","-webkit-touch-callout":"none"};e.browser()==e.Dk&&e.wb()&&(p.transform="translate3d(0,0,0)");a.prototype.xea=function(a,b,e){this.oF=b?b:0;this.nF=e?e:0;if(this.Ob){this.Ob.remove();this.Ob=q}if(this.Uk=a){this.Ob=c(this.Uk);m.css(this.Uk,p);this.CR.append(this.Ob)}this.c5=this.f3=n;this.$d();this.Nb();this.Ob&&this.trigger(f.U)};a.prototype.mb=function(){k.prototype.mb.call(this);if(!this.CR){this.DR=document.createElement("div");this.CR=c(this.DR); m.css(this.DR,{position:"static",overflow:"hidden",cursor:"inherit"});this.Ab().append(this.CR)}};a.prototype.du=function(){this.Zk=this.oF+this.Bl()+this.as();this.Yk=this.nF+this.bs()+this.VG();this.Zia=this.oF==0&&this.nF==0?0:this.oF/this.nF;this.TJ=this.UJ=0};a.prototype.Ma=function(){if(this.v("scaleMode")){this.Fy(this.p("scaleMode"));this.I("scaleMode")}if(this.v("horizontalAlign")){this.wH(this.p("horizontalAlign"));this.I("horizontalAlign")}if(this.v("verticalAlign")){this.DH(this.p("verticalAlign")); this.I("verticalAlign")}if(this.oea())this.qt=n;k.prototype.Ma.call(this);this.Ipa();if(this.LPa()){var a=B;if(this.y6||this.c5||this.qt){var b=this.Se(),e=this.Re(),c=this.oF,f=this.nF,d,g;if(c==0||f==0)g=d=0;else switch(this.ef){case o.NONE:d=c;g=f;break;case o.Hs:d=b;g=e;break;case o.Rg:if(c*e>f*b){d=b;g=f*b/c}else{d=c*e/f;g=e}break;case o.uq:if(c*e>f*b){d=c*e/f;g=e}else{d=b;g=f*b/c}break;case o.Co:d=b;g=f*b/c;break;case o.Pj:d=c*e/f;g=e}if(this.sb!=d||this.Lb!=g){this.sb=d;this.Lb=g;a=n}this.c5= this.y6=B}if(a||this.qt||this.f3){this.EV=this.vR=n;this.Uk&&m.css(this.Uk,{width:this.sb+"px",height:this.Lb+"px",visibility:"inherit"});m.css(this.DR,{width:this.Se()+"px",height:this.Re()+"px","border-top-left-radius":this.rR(this.rDa(),this.iha(),this.gha())+"px","border-top-right-radius":this.rR(this.sDa(),this.iha(),this.hha())+"px","border-bottom-left-radius":this.rR(this.pDa(),this.fha(),this.gha())+"px","border-bottom-right-radius":this.rR(this.qDa(),this.fha(),this.hha())+"px"});this.Nb(); this.f3=this.qt=B}if(this.vR&&this.Uk){switch(this.Tk){case j.Ja:m.css(this.Uk,{"margin-left":0,"margin-right":this.Se()-this.sb+"px"});break;case j.Xa:m.css(this.Uk,{"margin-left":this.Se()-this.sb+"px","margin-right":0});break;case j.ae:m.css(this.Uk,{"margin-left":Math.floor((this.Se()-this.sb)*0.5)+"px","margin-right":Math.ceil((this.Se()-this.sb)*0.5)+"px"})}this.vR=B}if(this.EV&&this.Uk){switch(this.xl){case j.kc:m.css(this.Uk,{"margin-top":0,"margin-bottom":this.Re()-this.Lb+"px"});break;case j.bc:m.css(this.Uk, {"margin-top":this.Re()-this.Lb+"px","margin-bottom":0});break;case j.Ad:m.css(this.Uk,{"margin-top":Math.floor((this.Re()-this.Lb)*0.5)+"px","margin-bottom":Math.ceil((this.Re()-this.Lb)*0.5)+"px"})}this.EV=B}}};a.prototype.Ipa=function(){if(this.M8){var a=this.get("url");if(a)this.s2().load(a,this.xea,this);else{this.s2().clear();this.xea(q,0,0)}this.M8=B}};a.prototype.rR=function(a,b,e){if(!a)return 0;var c=0;b&&(c=Math.max(c,b));e&&(c=Math.max(c,e));return Math.max(0,a-c)};return a}); define("fy",["kG","lv","gq","lf","lO"],function(a,b,d,c,g){a=a.extend(c,function(){c.call(this)});a.prototype.ab=function(){c.prototype.ab.call(this);this.f("iconURL");this.m("rollOverIconURL",d.P,"iconURL");this.m("pressedIconURL",d.bb,"iconURL");this.m("pressedRollOverIconURL",d.Rb,"iconURL")};a.prototype.C0=function(){var a=new g(3);a.set("scaleMode",b.Rg);return a};a.prototype.Ma=function(){if(this.v("iconURL")){var a=this.p("iconURL");this.$h.set("url",a);this.$h.set("visible",a?n:B);this.I("iconURL")}c.prototype.Ma.call(this)}; return a});define("fx",["kG","fy","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("Button",a).H("BaseButton").Q({iconURL:"string",rollOverIconURL:"string",pressedIconURL:"string",pressedRollOverIconURL:"string"}).vi(["iconURL","rollOverIconURL","pressedIconURL","pressedRollOverIconURL"]);return a}); define("hE",["require","kG","lh","nU","eQ"],function(a){var b=a("kG"),d=a("lh"),c=a("nU"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("angle",0);this.set("rotate",B);this.set("inertia",B)});a.F("CapPanoramaOverlay",b).H("PanoramaOverlay").Q({angle:"number",distance:"number",hfov:"number",image:"ImageResource",inertia:"bool",rotate:"bool",useHandCursor:"bool"}).hc([c.cc,c.qb,c.Gk,c.Sh]).ih([c.ca]);return b}); define("ht",["kG","eQ","hE"],function(a,b,d){a=a.extend(d,function(){d.call(this)});b.F("CeilingCapPanoramaOverlay",a).H("CapPanoramaOverlay");return a}); define("cr","dY,jquery.mod,kG,nU,cs,d".split(","),function(a,b,d,c,g,f){a=d.extend(f,function(){f.call(this);this.ke("Canvas");this.r1=n;this.J=q;this.bind(c.tc,this.oAa,this)});a.prototype.oAa=function(){this.XW()};a.prototype.XW=function(){this.r1=n;this.Ck()};a.prototype.mb=function(){f.prototype.mb.call(this);if(!this.J){this.J=b("");this.J.css({position:"absolute",left:0,top:0,cursor:"inherit"});this.Ab().append(this.J)}};a.prototype.Ma=function(){this.oea()&&this.XW();f.prototype.Ma.call(this)}; a.prototype.Qg=function(){if(this.r1){this.r1=B;var a=this.J.get(0);a.width=this.Se();a.height=this.Re();this.ZTa()}f.prototype.Qg.call(this)};a.prototype.XOa=function(){return this.J.get(0).width};a.prototype.WOa=function(){return this.J.get(0).height};a.prototype.VOa=function(){return this.J.get(0).getContext("2d")};a.prototype.ZTa=function(){this.trigger(new g(c.qa))};return a}); define("jw",["kG","nU","gq","lf","cr"],function(a,b,d,c,g){a=a.extend(c,function(){c.call(this)});a.prototype.Pl=function(){c.prototype.Pl.call(this)};a.prototype.ab=function(){c.prototype.ab.call(this);this.f("iconColor");this.m("rollOverIconColor",d.P,"iconColor");this.m("pressedIconColor",d.bb,"iconColor");this.m("pressedRollOverIconColor",d.Rb,"iconColor")};a.prototype.C0=function(){var a=new g;a.bind(b.qa,this.mwa,this,n);return a};a.prototype.Ma=function(){this.v("iconColor")&&(this.$h.XW(), this.I("iconColor"));c.prototype.Ma.call(this)};a.prototype.MDa=function(){return this.p("iconColor")};a.prototype.NDa=function(){return this.$h.VOa()};a.prototype.PDa=function(){return this.$h.XOa()};a.prototype.ODa=function(){return this.$h.WOa()};a.prototype.mwa=I();return a}); define("fG",["kG","jw","mk","gq"],function(a,b,d,c){a=a.extend(b,function(){b.call(this);this.$({horizontalAlign:d.ae,verticalAlign:d.Ad})});a.prototype.ab=function(){b.prototype.ab.call(this);this.f("iconLineWidth");this.m("rollOverIconLineWidth",c.P,"iconLineWidth");this.m("pressedIconLineWidth",c.bb,"iconLineWidth");this.m("pressedRollOverIconLineWidth",c.Rb,"iconLineWidth")};a.prototype.WDa=function(){return this.p("iconLineWidth")};a.prototype.Ma=function(){this.v("iconLineWidth")&&(this.$h.XW(), this.I("iconLineWidth"));b.prototype.Ma.call(this)};a.prototype.mwa=function(){var a=this.NDa(),b=this.MDa(),c=this.PDa(),e=this.ODa(),d=this.WDa();a.clearRect(0,0,c,e);a.lineWidth=d||1;a.strokeStyle=b||"#000000";a.beginPath();a.moveTo(0,0);a.lineTo(c,e);a.moveTo(0,e);a.lineTo(c,0);a.closePath();a.stroke()};return a}); define("iI",["kG","fG","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("CloseButton",a).H("BaseButton").Q({iconColor:"color",iconLineWidth:"number",rollOverIconColor:"color",rollOverIconLineWidth:"number",pressedIconColor:"color",pressedIconLineWidth:"number",pressedRollOverIconColor:"color",pressedRollOverIconLineWidth:"number"});return a}); define("jy",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("CookiesPolicy",b).H("Object").Q({url:"string",geographicArea:"or[array[string], string]"}).vi(["url"]);return b}); define("lg","require,dY,kJ,kG,nq,eQ".split(","),function(a){a("dY");var b=a("kJ"),d=a("kG"),c=a("nq"),a=a("eQ"),d=d.extend(c,function(){c.call(this)});a.F("Container",d).H("UIComponent").Q({children:"array[UIComponent]",contentOpaque:"bool",childrenInteractionEnabled:"bool",creationPolicy:"enum[inAdvance, delayed]",layout:"enum[absolute, vertical, horizontal]",gap:"number",horizontalAlign:"enum[center, left, right]",overflow:"enum[scroll, hidden, visible]",scrollBarColor:"color",scrollBarWidth:"number", scrollBarMargin:"number",scrollBarHorizontalMargin:"number",scrollBarVerticalMargin:"number",scrollBarOpacity:"number",scrollBarVisible:"enum[rollOver, always]",verticalAlign:"enum[bottom, middle, top]"}).Ng({scrollTo:function(a,b){c.prototype.scrollTo.call(this,a,b)},scrollIntoView:function(a){b.yy(function(){c.prototype.scrollIntoView.call(this,a)}.bind(this))}});return d}); define("kO",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),c=a("eQ"),a=b.extend(d,function(){d.call(this);this.ba=q});c.F("PanoramaFrame",a).H("Object").Q({thumbnailUrl:"string",snapshots:"array[PanoramaSnapshot]",overlays:"array[PanoramaOverlay]"}).vi(["thumbnailUrl"]);a.prototype.get=function(a,b){switch(a){case "overlays":return this.v2();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.ba)return this.ba.get(a,b)}return d.prototype.get.call(this, a,b)};a.prototype.v2=function(){var a=d.prototype.get.call(this,"overlays");a||(a=[]);return this.e7(a)};a.prototype.e7=function(a){if(this.ZF===l||this.cS!=a){var b=function(a){return c.za("PopupPanoramaOverlay",a)},d=function(a){return c.za("LensFlarePanoramaOverlay",a)};this.cS=a;this.ZF=[].concat(a.filter(function(a){return!(b(a)||d(a))}),a.filter(d),a.filter(b))}return this.ZF};a.prototype.RNa=R("ba");a.prototype.ZG=S("ba");a.prototype.Fl=T(B);return a}); define("nC",["require","kG","eQ","kO"],function(a){var b=a("kG"),d=a("eQ"),c=a("kO"),a=b.extend(c,function(){c.call(this)});d.F("CubicPanoramaFrame",a).H("PanoramaFrame").Q({cube:"ImageResource",stereoCube:"ImageResource",front:"ImageResource",left:"ImageResource",back:"ImageResource",right:"ImageResource",top:"ImageResource",bottom:"ImageResource"});return a}); define("hR",["require"],function(){return{"ar-ar":{mute:"\u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0635\u0648\u062a","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0633\u062d\u0628 \u0648\u0627\u0644\u0625\u0641\u0631\u0627\u062c", accept:"\u0642\u0628\u0648\u0644",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0646\u0642\u0631 \u0648\u0627\u0644\u062a\u062d\u0631\u0643", yes:"\u0646\u0639\u0645 \u0641\u0639\u0644\u0627","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0627\u0644\u062e\u0631\u0648\u062c \u0645\u0646 \u0648\u0636\u0639 \u0645\u0644\u0626 \u0644\u0644\u0634\u0627\u0634\u0629",no:"\u0644\u0627","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"\u062a\u0633\u062a\u062e\u062f\u0645 \u0635\u0641\u062d\u0629 \u0627\u0644\u0648\u064a\u0628 \u0647\u0630\u0647 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 \u0644\u062c\u0645\u0639 \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645. \u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u060c \u064a\u0631\u062c\u0649 \u0632\u064a\u0627\u0631\u0629 \u0633\u064a\u0627\u0633\u0629 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 .", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u064a\u0631\u0641\u0636","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a \u0648\u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f", "storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0623\u062f\u062e\u0644 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629", "use-cardboard-v2":"Use Cardboard v2",unmute:"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a\u061f"},"bg-bg":{mute:"\u0417\u0430\u0433\u043b\u0443\u0448\u0430\u0432\u0430\u043d\u0435", "cardboard-v1":"\u0410\u043a\u043e \u043d\u0435 \u0441\u0442\u0435 \u0441\u0438\u0433\u0443\u0440\u043d\u0438 \u043a\u043e\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 Cardboard \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435. \u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0449\u0435 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0449\u0435 \u0438\u0437\u0447\u0430\u043a\u0430\u0442\u0435, \u0434\u043e\u043a\u0430\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u0441\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430.", "download-tour":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435 \u043d\u0430 \u0442\u0443\u0440\u0430 \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d","change-to-drag-and-release":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041f\u043b\u044a\u0437\u0433\u0430\u043d\u0435 \u0438 \u041f\u0443\u0441\u043a\u0430\u043d\u0435", accept:"\u041f\u0440\u0438\u0435\u043c\u0435\u0442\u0435",cancel:"\u041e\u0442\u043a\u0430\u0437","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0438 \u0434\u0430 \u044f \u043f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0438\u0442\u0435.", "dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u0439 \u0442\u0430\u0437\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0432\u043e","web-server-required":"\u0422\u043e\u0437\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u0435\u043b\u0435\u043d \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0443\u0441\u043d\u0430\u0442 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u043d\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u041c\u043e\u043b\u044f, \u043a\u0430\u0447\u0435\u0442\u0435 \u0433\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.\n\u0410\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435, \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 htm \u0444\u0430\u0439\u043b\u0430 (\u0438\u043b\u0438 \u0446\u044f\u043b\u0430\u0442\u0430 \u043f\u0430\u043f\u043a\u0430 \u043d\u0430 \u0442\u0443\u0440\u0430) \u0432\u044a\u0440\u0445\u0443 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e TourViewer.", download:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","change-to-click-and-move":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041a\u043b\u0438\u043a\u0432\u0430\u043d\u0435 \u0438 \u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430\u043d\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435","use-safari-for-vr":"\u041f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0432\u0430\u043c\u0435 Safari, \u0437\u0430 \u0434\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0442\u0435 \u0442\u043e\u0437\u0438 \u0442\u0443\u0440 \u0432 \u0440\u0435\u0436\u0438\u043c VR", "exit-fullscreen":"\u0418\u0437\u043b\u0435\u0437\u0442\u0435 \u043e\u0442 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",no:"\u043d\u0435","download-failed":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435\u0442\u043e \u0441\u0435 \u043f\u0440\u043e\u0432\u0430\u043b\u0438","giroscope-disabled-http":"\u0418\u043c\u0430\u0442\u0435 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0447\u0440\u0435\u0437 http, \u0442\u0430\u043a\u0430 \u0447\u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0434\u043e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438, \u043c\u043e\u043b\u044f, \u043e\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0433\u043e \u0447\u0440\u0435\u0437 https, \u0437\u0430 \u0434\u0430 \u0433\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435.", "cookies-notice":"\u0422\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438 \u0437\u0430 \u0441\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u0438 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e. \u0417\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043c\u043e\u043b\u044f, \u043f\u043e\u0441\u0435\u0442\u0435\u0442\u0435 \u041f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438\u0442\u0435 .", "use-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard","launch-default-browser":"\u0421\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u044a\u0440\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","rotate-device":"\u041c\u043e\u043b\u044f \u0437\u0430\u0432\u044a\u0440\u0442\u0435\u0442\u0435 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", "exit-vr":"\u0418\u0437\u043b\u0438\u0437\u0430\u043d\u0435 \u043e\u0442 \u0440\u0435\u0436\u0438\u043c VR","storage-not-provided-launch-from-desktop":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.", "disable-measure":"Stop measuring",downloading:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","cardboard-v2":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Cardboard v2, \u043a\u043e\u0438\u0442\u043e \u0440\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442 \u0441 \u0431\u0443\u0442\u043e\u043d, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0434\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0435\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430, \u0437\u0430 \u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0443.", "enable-video-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?",reject:"\u041e\u0442\u0445\u0432\u044a\u0440\u043b\u0435\u0442\u0435",downloaded:"\u0422\u043e\u0437\u0438 \u0442\u0443\u0440 \u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d.","samsung-internet-vr-app-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u0435 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u044a\u0440 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.", "samsung-internet-vr-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0421\u0435\u0433\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u043b\u043e\u0436\u0438\u0442\u0435 \u043c\u043e\u0431\u0438\u043b\u043d\u0438\u044f \u0441\u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0432 \u043e\u0447\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043d\u0430 \u0440\u0435\u0430\u043b\u043d\u043e\u0441\u0442.", "enable-video-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0437\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u0442\u043e\u0437\u0438 \u0441\u0430\u0439\u0442.", "\u0417\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043c\u043e\u043b\u044f, \u043a\u043b\u0438\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438 \u0438 \u043f\u0440\u0438\u0435\u043c\u0435\u0442\u0435 \u0438\u0441\u043a\u0430\u043d\u0435\u0442\u043e \u0437\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435."], "storage-not-provided-launch-from-homescreen":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u0435\u043a\u0440\u0430\u043d, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.","enter-fullscreen":"\u0412\u043b\u0435\u0437\u0442\u0435 \u0432 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d", "use-cardboard-v2":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard v2",unmute:"\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u0437\u0432\u0443\u043a","enter-vr":"\u0412\u043b\u0435\u0437 \u0432\u044a\u0432 VR \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435","enable-measure":"Start measuring","use-cardboard-info":"\u041c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0432\u0441\u044f\u043a\u0430\u043a\u0432\u0438 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 Google Cardboard \u043e\u0447\u0438\u043b\u0430, \u0437\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR.", "refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435","use-default-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","enable-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0430\u0443\u0434\u0438\u043e?"},"ca-es":{mute:"Silenciar","cardboard-v1":"Si no esteu segurs de quina versi\u00f3 de cartr\u00f3 utilitzeu, seleccioneu el control de punt d'acc\u00e9s per defecte. Despr\u00e9s, simplement veureu un punt d'acc\u00e9s i espereu fins que s'activi l'acci\u00f3.", "download-tour":"Descarregueu la visita virtual per a jugar fora de l\u00ednia","change-to-drag-and-release":"Canvieu el mode de control a Arrossegar i deixeu anar",accept:"Accepta",cancel:"Cancel\u00b7lar","storage-not-provided-bookmark":"S'ha denegat l'emmagatzematge persistent. Proveu de marcar aquesta p\u00e0gina web i torneu-la a carregar.","dont-display-again":"No tornis a mostrar aquesta informaci\u00f3","web-server-required":"Aquesta visita virtual no es pot reproduir des d'una unitat local. Carregueu-lo a Internet i torneu-ho a provar.\nSi ho preferiu, arrossegueu el fitxer htm (o tota la carpeta de la visita virtual) a la icona de l'aplicaci\u00f3 TourViewer.", download:"Descarregar","change-to-click-and-move":"Canvieu el mode de control a Fer clic i desplaceu",yes:"s\u00ed","delete-downloaded":"Suprimeix","use-safari-for-vr":"Recomanem Safari per a visualitzar aquesta visita virtual en mode VR","exit-fullscreen":"Surt de pantalla completa",no:"no","download-failed":"Error de desc\u00e0rrega","giroscope-disabled-http":"Accediu a aquesta p\u00e0gina web a trav\u00e9s de http de manera que el moviment i l\u2019orientaci\u00f3 del dispositiu i el mode VR estan desactivats, accediu-hi mitjan\u00e7ant https per habilitar-les.", "cookies-notice":"Aquesta p\u00e0gina web utilitza cookies per recopilar estad\u00edstiques d\u2019\u00fas. Per obtenir m\u00e9s informaci\u00f3, visiteu la Pol\u00edtica de cookies.","use-cardboard":"Utilitzeu Cardboard","launch-default-browser":"Inicieu el navegador per defecte","rotate-device":"Gireu el dispositiu","exit-vr":"Surt de VR","storage-not-provided-launch-from-desktop":"Torneu a iniciar la visita virtual des de la icona de l'escriptori per a descarregar-la.","disable-measure":"Stop measuring", downloading:"Baixant","cardboard-v2":"Si teniu unes Cardboard v2, que venen amb un bot\u00f3, podeu mirar cap a un punt de vista i pr\u00e9mer el bot\u00f3 per activar-lo.","enable-video-audio-prompt":"Habilitar v\u00eddeo i \u00e0udio?",reject:"Rebutjar",downloaded:"Aquesta visita virtual es descarrega per a reproduir-la fora de l\u00ednia.","samsung-internet-vr-app-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, heu de fer que Samsung Internet sigui el vostre navegador predeterminat.", "samsung-internet-vr-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, nom\u00e9s heu de posar el tel\u00e8fon m\u00f2bil als auriculars.","enable-video-prompt":"Activar v\u00eddeo?","giroscope-disabled-safari-request-permission":["Aquest lloc web est\u00e0 desactivat en el moviment i en la direcci\u00f3 o en mode VR del dispositiu.","Per veure correctament aquesta p\u00e0gina web, feu clic a Continuar i accepteu la sol\u00b7licitud de perm\u00eds si se us demana."], "storage-not-provided-launch-from-homescreen":"Torneu a iniciar la visita virtual des de la icona de la pantalla inicial.","enter-fullscreen":"Entra a pantalla completa","use-cardboard-v2":"Utilitzeu Cardboard v2",unmute:"No activa","enter-vr":"Introdu\u00efu contingut de VR","enable-measure":"Start measuring","use-cardboard-info":"Podeu utilitzar qualsevol auricular de Google Cardboard compatible per a visualitzar aquest contingut en VR.","refresh-downloaded":"Actualitzaci\u00f3","use-default-cardboard":"\u00das per defecte", "enable-audio-prompt":"Activar \u00e0udio?"},"da-dk":{mute:"Deaktiver lyd","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Skift kontroltilstand for at tr\u00e6kke og slippe",accept:"Acceptere",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.", "dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Skift kontroltilstand for at klikke og flytte",yes:"Ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Afslut fuldsk\u00e6rm", no:"ingen","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denne webside bruger cookies til at indsamle brugsstatistikker. For mere information, se venligst Cookiepolitik .","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device", "exit-vr":"Exit VR",reject:"Afvise","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktiv\u00e9r lyd og video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Aktiv\u00e9r video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."], "storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Indtast fuldsk\u00e6rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktiv\u00e9r lyd","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktiv\u00e9r lyd?"},"de-de":{mute:"Deaktiviere Audio", "cardboard-v1":"Wenn Sie sich nicht sicher sind, welche Cardboard-Version Sie verwenden, w\u00e4hlen Sie die Standard-Hotspot-Steuerung. Sie schauen dann einfach auf einen Hotspot und warten, bis die jeweilige Aktion ausgel\u00f6st wird.","download-tour":"Tour zum Offline-Abspielen herunterladen","giroscope-disabled-safari-request-permission":["Der Bewegungs- und Orientierungszugriff, sowie VR Modus Ihres Ger\u00e4ts ist f\u00fcr diese Seite deaktiviert.","Um diese Webseite korrekt anzuzeigen, klicken Sie auf Weiter und akzeptieren Sie die Erlaubnisanfrage, wenn Sie dazu aufgefordert werden."], accept:"Akzeptieren",download:"Download",downloading:"Downloading","dont-display-again":"Diese Info nicht mehr anzeigen","web-server-required":"Diese Virtual Tour kann nicht von einem lokalen Laufwerk abgespielt werden. Laden Sie Ihre Tour ins Internet und versuchen Sie es erneut.\nAlternativ, ziehen Sie die htm Datei (oder den ganzen Tour Ordner) auf das Icon der Tour Viewer App, um die Tour direkt lokal abzuspielen.",cancel:"Abbrechen","change-to-click-and-move":"\u00c4ndern Sie den Steuerungsmodus, um zu klicken und zu drehen", yes:"ja","delete-downloaded":"L\u00f6schen","use-safari-for-vr":"Wir empfehlen Safari, um diese Tour im VR-Modus zu sehen","exit-fullscreen":"Vollbild verlassen",no:"nein","storage-not-provided-bookmark":"Dauerhafte Speicherung verweigert. Versuchen Sie, diese Seite als Lesezeichen zu speichern und erneut zu laden.","download-failed":"Download fehlgeschlagen","giroscope-disabled-http":"Der Bewegungs- und Ausrichtungsszugriff Ihres Ger\u00e4ts ist f\u00fcr diese Webseite deaktiviert. Greifen Sie bitte \u00fcber https darauf zu.", "cookies-notice":"Diese Webseite verwendet Cookies, um Nutzungsstatistiken zu sammeln. Weitere Informationen finden Sie in der Cookie-Richtlinie.","use-cardboard":"Cardboard verwenden","launch-default-browser":"Im Standardbrowser starten","rotate-device":"Bitte drehen Sie Ihr Ger\u00e4t","exit-vr":"VR verlassen",reject:"Ablehnen","disable-measure":"Messung beenden","change-to-drag-and-release":"\u00c4ndern Sie den Steuerungsmodus zu Ziehen und Loslassen","cardboard-v2":"Wenn Sie ein Cardboard v2-Headset haben, das mit einer Taste ausgestattet ist, k\u00f6nnen Sie auf einen Hotspot blicken und die Taste dr\u00fccken, um dessen Aktion auszul\u00f6sen.", "enable-video-audio-prompt":"Video und Audio aktivieren?","storage-not-provided-launch-from-desktop":"Bitte starten Sie die Tour erneut \u00fcber das Desktop-Symbol, um sie herunterzuladen.",downloaded:"Diese Tour ist zum Offline-Abspielen heruntergeladen.","samsung-internet-vr-app-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR anzusehen. Machen Sie dazu Samsung Internet zu Ihrem Standardbrowser.", "samsung-internet-vr-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR zu sehen. Setzen Sie dazu nun das Mobiltelefon auf das Headset.","enable-video-prompt":"Video aktivieren?","storage-not-provided-launch-from-homescreen":"Bitte starten Sie die Tour erneut \u00fcber das Symbol auf dem Startbildschirm, um sie herunterzuladen.","enter-fullscreen":"Vollbildmodus aktivieren", "use-cardboard-v2":"Cardboard v2 verwenden",unmute:"Audio aktivieren","enter-vr":"VR Inhalt eingeben","enable-measure":"Messung beginnen","use-cardboard-info":"Sie k\u00f6nnen jedes kompatible Google Cardboard-Headset verwenden, um diese Inhalte in VR zu sehen.","refresh-downloaded":"Aktualisieren","use-default-cardboard":"Standard verwenden","enable-audio-prompt":"Audio aktivieren?"},"el-gr":{mute:"\u0391\u03c0\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03ae\u03c7\u03bf", "cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c3\u03cd\u03c1\u03b5\u03c4\u03b5 \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03b1\u03c0\u03b5\u03bb\u03b5\u03c5\u03b8\u03b5\u03c1\u03ce\u03c3\u03b5\u03c4\u03b5", accept:"\u0391\u03c0\u03bf\u03b4\u03ad\u03c7\u03bf\u03bc\u03b1\u03b9",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03ba\u03bb\u03b9\u03ba \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03b9\u03bd\u03b7\u03b8\u03b5\u03af\u03c4\u03b5", yes:"\u039d\u03b1\u03af","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0388\u03be\u03bf\u03b4\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7",no:"\u03cc\u03c7\u03b9","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"\u0391\u03c5\u03c4\u03ae \u03b7 \u03b9\u03c3\u03c4\u03bf\u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af cookie \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03c3\u03c5\u03bb\u03bb\u03bf\u03b3\u03ae \u03c3\u03c4\u03b1\u03c4\u03b9\u03c3\u03c4\u03b9\u03ba\u03ce\u03bd \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03c9\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2. \u0393\u03b9\u03b1 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2, \u03b5\u03c0\u03b9\u03c3\u03ba\u03b5\u03c6\u03b8\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd \u03a0\u03bf\u03bb\u03b9\u03c4\u03b9\u03ba\u03ae cookie .", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u0391\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03c9","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5 \u03ba\u03b1\u03b9 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;", "storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7", "use-cardboard-v2":"Use Cardboard v2",unmute:"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5;"}, "en-us":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Accept",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again", "web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",download:"Download","change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed", "giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"This web page uses cookies to collect usage statistics. For more information, please visit the Cookie Policy.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.", "disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?",reject:"Reject",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."], "storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"es-es":{mute:"Silenciar", "cardboard-v1":"Si no esta seguro de que versi\u00f3n de Cardboard debe usar escoja la selecci\u00f3n de hotspot por defecto. Solo tendr\u00e1 que apuntar al hotspot y esperar para que se ejecute la acci\u00f3n.","download-tour":"Descargar el tour para reproducirlo sin conexi\u00f3n","change-to-drag-and-release":"Cambiar el modo de control a arrastrar y soltar",accept:"Aceptar","use-cardboard-v2":"Usar Cardboard v2","storage-not-provided-bookmark":"Almacenamiento persistente denagado. Intente a\u00f1adir la p\u00e1gina a los marcadores y recargarla.", "dont-display-again":"No volver a mostrar esta informaci\u00f3n","web-server-required":"Este tour virtual no puede reproducirse desde una unidad local. Por favor s\u00fabalo a internet y pruebe de nuevo.\nSi lo prefiere puede arrastrar el archivo html o la carpeta con el tour sobre el icono de la aplicaci\u00f3n Tour Viewer de su escritorio.",download:"Descargar","change-to-click-and-move":"Cambiar el modo de control a pulsar y mover",yes:"si","delete-downloaded":"Borrar","use-safari-for-vr":"Recomendamos Safari para ver este tour en modo VR", "exit-fullscreen":"Salir de pantalla completa",no:"no","download-failed":"La descarga ha fallado","giroscope-disabled-http":"Est\u00e1 accediendo a esta p\u00e1gina web por http por lo que el acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabilitado, por favor acceda por https.","cookies-notice":"Esta p\u00e1gina usa cookies para recolectar estad\u00edsticas de uso. Para m\u00e1s informaci\u00f3n, visite la Pol\u00edtica de Cookies.","use-cardboard":"Usar Cardboard", "launch-default-browser":"Lanzar en el navegador por defecto","rotate-device":"Por favor, gire el dispositivo","exit-vr":"Salir de VR","storage-not-provided-launch-from-desktop":"Por favor lance el tour desde el escritorio para descargarlo.","disable-measure":"Stop measuring",cancel:"Cancel",downloading:"Descargando","cardboard-v2":"Si tiene unas gafas Cardboard v2, que vienen con un bot\u00f3n, puede apuntar al hotspot y pulsar el bot\u00f3n para que se ejecute su acci\u00f3n.","enable-video-audio-prompt":"\u00bfActivar v\u00eddeo y audio?", reject:"Rechazar",downloaded:"Este tour esta descargado para reproducirlo sin conexi\u00f3n.","samsung-internet-vr-app-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, necesita hacer Samsung Internet su navegador por defecto.","samsung-internet-vr-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, solo tiene que poner ahora el dispositivo en las gafas.", "enable-video-prompt":"\u00bfActivar v\u00eddeo?","giroscope-disabled-safari-request-permission":["El acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabiltado para este sitio.","Para ver correctamente la p\u00e1gina por favor pulse Continuar y acepte la petici\u00f3n de permiso si se muestra."],"storage-not-provided-launch-from-homescreen":"Por favor lance el tour desde el icono de la pantalla de inicio para descargarlo.","enter-fullscreen":"Mostrar en pantalla completa", unmute:"Habilitar sonido","enter-vr":"Entrar al contenido VR","enable-measure":"Start measuring","use-cardboard-info":"Puede usar unas gafas compatibles con Google Cardboard para ver este contenido en VR.","refresh-downloaded":"Actualizar","use-default-cardboard":"Usar versi\u00f3n por defecto","enable-audio-prompt":"\u00bfActivar audio?"},"fi-fi":{mute:"Poista \u00e4\u00e4ni k\u00e4yt\u00f6st\u00e4","cardboard-v1":"Mik\u00e4li et ole varma, mit\u00e4 Cardboard-versiota k\u00e4yt\u00e4t, valitse oletusarvoinen hotspot-hallinta. T\u00e4m\u00e4n j\u00e4lkeen katsomalla hotspotia, toiminto k\u00e4ynnistyy.", "download-tour":"Lataa t\u00e4m\u00e4 sis\u00e4lt\u00f6 offline-toistoa varten","change-to-drag-and-release":"Muuta ohjaustilaa vet\u00e4m\u00e4ll\u00e4 ja vapauttamalla",accept:"Hyv\u00e4ksy",download:"Lataa","storage-not-provided-bookmark":"Tallennus ep\u00e4onnistui. Kokeile lis\u00e4t\u00e4 t\u00e4m\u00e4 verkkosivu kirjanmerkkeihin ja suorita lataus uudelleen.","dont-display-again":"\u00c4l\u00e4 n\u00e4yt\u00e4 t\u00e4t\u00e4 ilmoitusta uudelleen","web-server-required":"T\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 ei voi toistaa paikalliselta asemalta. Lataa sis\u00e4lt\u00f6 internet-palvelimelle ja yrit\u00e4 uudelleen.\nVoit my\u00f6s vet\u00e4\u00e4 htm-tiedoston (tai koko kansion) TourViewer-sovelluskuvakkeen p\u00e4\u00e4lle.", cancel:"Sulje","change-to-click-and-move":"Muuta ohjaustilaa klikkaamalla ja siirt\u00e4m\u00e4ll\u00e4",yes:"Kyll\u00e4","delete-downloaded":"Poista","use-safari-for-vr":"Suosittelemme Safari-selainta t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa.","exit-fullscreen":"Sulje koko n\u00e4yt\u00f6n n\u00e4kym\u00e4",no:"Ei","download-failed":"Lataus ep\u00e4onnistui","giroscope-disabled-http":"K\u00e4yt\u00e4t t\u00e4t\u00e4 verkkosivua http:n kautta, joten laitteesi liiketunnistimet sek\u00e4 VR-tila on poistettu k\u00e4yt\u00f6st\u00e4. Ota ne k\u00e4ytt\u00f6\u00f6n siirtym\u00e4ll\u00e4 sivulle https:n kautta.", "cookies-notice":"T\u00e4m\u00e4 verkkosivu k\u00e4ytt\u00e4\u00e4 ev\u00e4steit\u00e4 k\u00e4ytt\u00f6tilastojen ker\u00e4\u00e4miseen. Lis\u00e4tietoja ev\u00e4stek\u00e4yt\u00e4nn\u00f6st\u00e4.","use-cardboard":"K\u00e4yt\u00e4 Cardboardia","launch-default-browser":"K\u00e4ynnist\u00e4 oletusselaimessa","rotate-device":"K\u00e4\u00e4nn\u00e4 laitettasi","exit-vr":"Poistu VR-tilasta",reject:"Hylk\u00e4\u00e4","disable-measure":"Lopeta mittaaminen",downloading:"Ladataan","cardboard-v2":"Mik\u00e4li sinulla on Cardboard v2 -virtuaalilasit, joissa on painike, voit katsoa hotspotia ja aktivoida sen painamalla painiketta.", "enable-video-audio-prompt":"Otetaanko \u00e4\u00e4ni ja video k\u00e4ytt\u00f6\u00f6n?","storage-not-provided-launch-from-desktop":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 ty\u00f6p\u00f6yd\u00e4n kuvakkeesta aloittaaksesi lataamisen.",downloaded:"T\u00e4m\u00e4 sis\u00e4lt\u00f6 on ladattu offline-toistoa varten","samsung-internet-vr-app-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Sinun on lis\u00e4ksi m\u00e4\u00e4ritett\u00e4v\u00e4 Samsung Internet oletusselaimeksi.", "samsung-internet-vr-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Aseta \u00e4lypuhelin virtuaalilaseihin aloittaaksesi.","enable-video-prompt":"Otetaanko video k\u00e4ytt\u00f6\u00f6n?","giroscope-disabled-safari-request-permission":["Laitteesi liiketunnistimen k\u00e4ytt\u00f6oikeus ja VR-tila on poistettu k\u00e4yt\u00f6st\u00e4 t\u00e4ll\u00e4 sivustolla.", "N\u00e4hd\u00e4ksesi t\u00e4m\u00e4n verkkosivun oikein, valitse jatka ja hyv\u00e4ksy lupapyynt\u00f6 pyydett\u00e4ess\u00e4."],"storage-not-provided-launch-from-homescreen":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 kotin\u00e4yt\u00f6n kuvakkeesta aloittaaksesi lataamisen","enter-fullscreen":"Avaa koko n\u00e4yt\u00f6n n\u00e4kym\u00e4","use-cardboard-v2":"K\u00e4yt\u00e4 Cardboard v2:sta",unmute:"Ota \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n","enter-vr":"Siirry VR-tilaan","enable-measure":"Aloita mittaaminen", "use-cardboard-info":"Voit k\u00e4ytt\u00e4\u00e4 mit\u00e4 tahansa yhteensopivia Google Cardboard -virtuaalilaseja katsellaksesi t\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 VR-tilassa.","refresh-downloaded":"P\u00e4ivit\u00e4","use-default-cardboard":"K\u00e4yt\u00e4 oletuksena","enable-audio-prompt":"Otetaanko \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n?"},"fr-fr":{mute:"D\u00e9sactiver l'audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.", "download-tour":"Download Tour for offline playing","giroscope-disabled-safari-request-permission":["L'acc\u00e8s aux mouvements et \u00e0 l'orientation de votre appareil est d\u00e9sactiv\u00e9 pour ce site.","Pour voir correctement cette page Web, veuillez cliquer sur Continuer et accepter la demande d'autorisation si elle est affich\u00e9e."],accept:"Accepter",download:"Download",downloading:"Downloading","dont-display-again":"Ne plus afficher cette information","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", cancel:"Cancel","change-to-click-and-move":"Changer le mode de contr\u00f4le pour cliquer et d\u00e9placer",yes:"oui","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Quitter le mode plein \u00e9cran",no:"non","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","download-failed":"Download failed","giroscope-disabled-http":"L'acc\u00e8s aux mouvements et \u00e0 l'orientation de votre appareil est d\u00e9sactiv\u00e9 pour cette page Web. Veuillez y acc\u00e9der via https.", "cookies-notice":"Cette page Web utilise des cookies pour collecter des statistiques d'utilisation. Pour plus d'informations, veuillez consulter la Politique relative aux cookies.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Rejeter","disable-measure":"Stop measuring","change-to-drag-and-release":"Changer le mode de contr\u00f4le pour faire glisser et rel\u00e2cher","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.", "enable-video-audio-prompt":"Activer l'audio? et la vid\u00e9o?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Activer la vid\u00e9o?","storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Passer en mode plein \u00e9cran","use-cardboard-v2":"Use Cardboard v2",unmute:"Activer l'audio","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default", "enable-audio-prompt":"Activer l'audio?"},"hr-hr":{mute:"nijem","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Promijenite na\u010din upravljanja u povla\u010denje i otpu\u0161tanje",accept:"Prihvatiti",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.", "dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Promijenite na\u010din upravljanja na Klik i Premjesti",yes:"Da","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Iza\u0111ite s punog zaslona", no:"Ne","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Ova web stranica koristi kola\u010di\u0107e za prikupljanje statistike upotrebe. Za vi\u0161e informacija posjetite Pravila o kola\u010di\u0107ima.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device", "exit-vr":"Exit VR",reject:"Odbiti","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Omogu\u0107iti videozapis i zvuk?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Omogu\u0107ite videozapis?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."], "storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Unesite cijeli zaslon","use-cardboard-v2":"Use Cardboard v2",unmute:"Uklju\u010di mikrofon","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u017delite li omogu\u0107iti zvuk?"}, "hu-hu":{mute:"N\u00e9m\u00edt\u00e1s","cardboard-v1":"Ha nem vagy biztos benne, hogy milyen VR eszk\u00f6zt haszn\u00e1lsz, akkor v\u00e1laszd az alap\u00e9rtelmezettet \u00e9s az egyes hotspot-ok megtekint\u00e9s\u00e9hez csak tartsd ott a jel\u00f6l\u0151t.","download-tour":"T\u00fara let\u00f6lt\u00e9se offline megtekint\u00e9shez","change-to-drag-and-release":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa: megfog \u00e9s mozgat m\u00f3dra",accept:"Elfogad",cancel:"M\u00e9gsem","storage-not-provided-bookmark":"Pr\u00f3b\u00e1lja meg az oldalt megjel\u00f6lni \u00e9s \u00fajrat\u00f6lteni!", "dont-display-again":"Ne mutasd \u00fajra","web-server-required":"Ez a t\u00fara nem j\u00e1tszat\u00f3 le helyi futtat\u00e1ssal, k\u00e9rlek t\u00f6lsd fel az internetre \u00e9s pr\u00f3b\u00e1ld meg \u00fajra\nM\u00e1sik megold\u00e1s, ha a Tourviewer applik\u00e1ci\u00f3ra h\u00fazod a t\u00fara f\u00e1jlt, vagy az azt tartalmaz\u00f3 t\u00fara mapp\u00e1t.",download:"Let\u00f6lt\u00e9s","change-to-click-and-move":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa kattint \u00e9s k\u00f6rben\u00e9z m\u00f3dra", yes:"igen","delete-downloaded":"T\u00f6rl\u00e9s","use-safari-for-vr":"Azt javasoljuk, hogy haszn\u00e1lj Safari b\u00f6ng\u00e9sz\u0151t a VR n\u00e9zet megtekint\u00e9s\u00e9hez","exit-fullscreen":"Kil\u00e9p\u00e9s a teljesk\u00e9perny\u0151 m\u00f3db\u00f3l",no:"nem","download-failed":"Let\u00f6lt\u00e9s sikertelen","giroscope-disabled-http":"Az oldalt https el\u0151taggal sz\u00fcks\u00e9ges megnyitnod ahhoz, hogy a k\u00e9sz\u00fcl\u00e9ked mozg\u00e1s\u00e1t \u00e9rz\u00e9kelni tudja.","cookies-notice":"Ez a weboldal s\u00fctiket haszn\u00e1l a haszn\u00e1lati statisztik\u00e1k gy\u0171jt\u00e9s\u00e9hez. Tov\u00e1bbi inform\u00e1ci\u00f3\u00e9rt l\u00e1togasson el a s\u00fctikre vonatkoz\u00f3 ir\u00e1nyelvekbe.", "use-cardboard":"Cardboard haszn\u00e1lata","launch-default-browser":"Futtat\u00e1s az alap\u00e9rtelmezett b\u00f6ng\u00e9sz\u0151ben","rotate-device":"Forgasd el a telefont!","exit-vr":"Kil\u00e9p\u00e9s a VR m\u00f3db\u00f3l","storage-not-provided-launch-from-desktop":"K\u00e9rlek ind\u00edtsd \u00fajra az oldalt az asztalon tal\u00e1lhat\u00f3 iconra kattintva.","disable-measure":"Stop measuring",downloading:"Let\u00f6lt\u00e9s","cardboard-v2":"Ha Cardboard 2.0 t\u00edpus\u00fa eszk\u00f6zt haszn\u00e1lsz, akkor a kapcsol\u00f3kkal ir\u00e1ny\u00edthatod a t\u00far\u00e1t, kattinthatsz az egyes hotspotokra", "enable-video-audio-prompt":"Hang \u00e9s vide\u00f3 enged\u00e9lyez\u00e9se",reject:"Elutas\u00edt",downloaded:"Let\u00f6ltve offline megtekint\u00e9shez","samsung-internet-vr-app-info":"Ha Samsung Gear VR szem\u00fcveget szeretn\u00e9l haszn\u00e1lni, akkor nyisd meg a Samsung internetb\u00f6ng\u00e9sz\u0151ben a t\u00far\u00e1t.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Vide\u00f3 enged\u00e9lyez\u00e9se","giroscope-disabled-safari-request-permission":["A megjelen\u00edt\u0151 eszk\u00f6z\u00f6d nem adott hozz\u00e1f\u00e9r\u00e9st a mozg\u00e1s \u00e9rz\u00e9kel\u00e9s\u00e9hez ezen az oldalon.","Ahhoz hogy megfelel\u0151en l\u00e1sd az oldalt k\u00e9rlek enged\u00e9lyezd a hozz\u00e1f\u00e9r\u00e9st."],"storage-not-provided-launch-from-homescreen":"Ind\u00edtsd \u00fajra a t\u00far\u00e1t a home ikonra kattintva.","enter-fullscreen":"Teljesk\u00e9perny\u0151", "use-cardboard-v2":"Cardboard 2.0 haszn\u00e1lata",unmute:"N\u00e9m\u00edt\u00e1s kikapcsol\u00e1sa","enter-vr":"VR tartalom megtekint\u00e9se","enable-measure":"Start measuring","use-cardboard-info":"Haszn\u00e1lhatsz b\u00e1rmilyen google cardboard-ot ahhoz, hogy VR m\u00f3dban l\u00e1sd a t\u00far\u00e1t.","refresh-downloaded":"Friss\u00edt\u00e9s","use-default-cardboard":"Alap\u00e9rtelmezett haszn\u00e1lata","enable-audio-prompt":"Hang enged\u00e9lyez\u00e9se"},"id-id":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.", "download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Menerima",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", download:"Download","change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Halaman web ini menggunakan cookie untuk mengumpulkan statistik penggunaan. Untuk informasi lebih lanjut, silakan kunjungi Kebijakan Cookie.", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?", reject:"Menolak",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"it-it":{mute:"Disabilita audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing", "change-to-drag-and-release":"Cambia la modalit\u00e0 di controllo per trascinare e rilasciare",accept:"Accettare",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", cancel:"Cancel","change-to-click-and-move":"Cambia la modalit\u00e0 di controllo per fare clic e spostare",yes:"s\u00ec","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Esci dalla modalit\u00e0 schermo intero",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"Questa pagina web utilizza i cookie per raccogliere statistiche sull'utilizzo. Per ulteriori informazioni, visita la Cookie Policy.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Rifiutare","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.", "enable-video-audio-prompt":"Abilita audio e video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Abilita il video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Entra a schermo intero","use-cardboard-v2":"Use Cardboard v2",unmute:"Abilita audio","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Abilita l'audio?"},"ja-jp":{mute:"\u30df\u30e5\u30fc\u30c8","cardboard-v1":"\u4f7f\u7528\u3057\u3066\u3044\u308bCardboard\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u308f\u304b\u3089\u306a\u3044\u5834\u5408\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u3092\u6ce8\u8996\u3057\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u52d5\u4f5c\u3059\u308b\u307e\u3067\u5f85\u6a5f\u3057\u307e\u3059\u3002\uff08\u4e00\u90e8\u52d5\u4f5c\u3057\u306a\u3044\u30a2\u30af\u30b7\u30e7\u30f3\u6709\u308a\uff09", "download-tour":"\u30aa\u30d5\u30e9\u30a4\u30f3\u518d\u751f\u7528\u30c4\u30a2\u30fc\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","change-to-drag-and-release":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30c9\u30e9\u30c3\u30b0\uff06\u30ea\u30ea\u30fc\u30b9\u306b\u5909\u66f4",accept:"\u53d7\u3051\u5165\u308c\u308b",cancel:"\u30ad\u30e3\u30f3\u30bb\u30eb","storage-not-provided-bookmark":"\u6c38\u7d9a\u7684\u306a\u4fdd\u5b58\u304c\u62d2\u5426\u3055\u308c\u305f\u3002\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3057\u3001\u66f4\u65b0\u3057\u3066\u304f\u3060\u3055\u3044", "dont-display-again":"\u4eca\u5f8c\u3053\u306e\u60c5\u5831\u3092\u8868\u793a\u3057\u306a\u3044","web-server-required":"\u3053\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30c4\u30a2\u30fc\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30c9\u30e9\u30a4\u30d6\u304b\u3089\u518d\u751f\u3067\u304d\u307e\u305b\u3093\u3002\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3057\u3001\u3082\u3046\u4e00\u5ea6\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\n\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001htm\u30d5\u30a1\u30a4\u30eb\uff08\u307e\u305f\u306f\u30c4\u30a2\u30fc\u306e\u30d5\u30a9\u30eb\u30c0\u30fc\u5168\u4f53\uff09\u3092\u300eTourViewer\u300f\u30a2\u30d7\u30ea\u306e\u30a2\u30a4\u30b3\u30f3\u306b\u30c9\u30e9\u30c3\u30b0\u3057\u307e\u3059", download:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9","change-to-click-and-move":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30af\u30ea\u30c3\u30af\uff06\u30e0\u30fc\u30d6\u306b\u5909\u66f4",yes:"\u306f\u3044","delete-downloaded":"\u524a\u9664","use-safari-for-vr":"\u3053\u306e\u30c4\u30a2\u30fc\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001Safari\u30d6\u30e9\u30a6\u30b6\u306e\u5229\u7528\u3092\u304a\u52e7\u3081\u3057\u307e\u3059","exit-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3092\u7d42\u4e86\u3059\u308b", no:"\u3044\u3044\u3048","download-failed":"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5931\u6557\u3057\u307e\u3057\u305f","giroscope-disabled-http":"\u3053\u306eWeb\u30da\u30fc\u30b8\u306b\u300ehttp\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u300ehttps\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044", "cookies-notice":"\u3053\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306fCookie\u3092\u4f7f\u7528\u3057\u3066\u4f7f\u7528\u7d71\u8a08\u3092\u53ce\u96c6\u3057\u307e\u3059\u3002 \u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001Cookie\u30dd\u30ea\u30b7\u30fc\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","use-cardboard":"Cardboard\u5229\u7528","launch-default-browser":"\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u8d77\u52d5","rotate-device":"\u7aef\u672b\u3092\u56de\u8ee2\u3055\u305b\u3066\u304f\u3060\u3055\u3044", "exit-vr":"VR\u30d3\u30e5\u30fc \u7d42\u4e86","storage-not-provided-launch-from-desktop":"\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","disable-measure":"Stop measuring",downloading:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u4e2d","cardboard-v2":"\u30dc\u30bf\u30f3\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u308bCardboard v2\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u304a\u6301\u3061\u306e\u5834\u5408\u306f\u3053\u3061\u3089\u3002", "enable-video-audio-prompt":"\u30d3\u30c7\u30aa\u3068\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f",reject:"\u62d2\u5426\u3059\u308b",downloaded:"\u3053\u306e\u30c4\u30a2\u30fc\u306f\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u518d\u751f\u3059\u308b\u305f\u3081\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092\u3059\u308b","samsung-internet-vr-app-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u300eSamsung Internet\u300f\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059", "samsung-internet-vr-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3092\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u306b\u88c5\u7740\u3059\u308b\u3060\u3051\u3067\u3059", "enable-video-prompt":"\u30d3\u30c7\u30aa\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f","giroscope-disabled-safari-request-permission":["\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002","\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u6b63\u3057\u304f\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u300eOK\u300f\u3092\u30af\u30ea\u30c3\u30af\u3057\u300e\u8a31\u53ef\u300f\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u5165\u308c\u3066\u304f\u3060\u3055\u3044"], "storage-not-provided-launch-from-homescreen":"\u30db\u30fc\u30e0\u753b\u9762\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","enter-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3067\u5165\u529b\u3059\u308b","use-cardboard-v2":"Cardboard v2\u5229\u7528",unmute:"\u30df\u30e5\u30fc\u30c8\u89e3\u9664","enter-vr":"VR\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5165\u529b","enable-measure":"Start measuring", "use-cardboard-info":"\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u4e92\u63db\u6027\u306e\u3042\u308b\u4efb\u610f\u306eGoogle Cardboard\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u5229\u7528\u3067\u304d\u307e\u3059","refresh-downloaded":"\u66f4\u65b0","use-default-cardboard":"\u30c7\u30d5\u30a9\u30eb\u30c8\u5229\u7528","enable-audio-prompt":"\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f"},"nb-no":{mute:"Skru av lyd", "cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.","download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.", "dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.",download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus", "exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.","cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k retningslinjer for informasjonskapsler.","use-cardboard":"Bruk Cardboard", "launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned","cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.", "enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.","samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.", "enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."],"storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2", unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard","enable-audio-prompt":"Aktivere audio?"},"nl-nl":{mute:"Schakel audio uit","cardboard-v1":"Als u niet weet wat voor versie van Cardboard u gebruikt, selecteer dan de default hotspot control. Dan zult u moeten wachten op een hotspot tot er een bepaald actie is gestart.", "download-tour":"Download Tour voor offline afspelen","change-to-drag-and-release":"Verander de besturingsmodus om te slepen en los te laten",accept:"Aanvaarden",download:"Download","storage-not-provided-bookmark":"Aanhoudende inhoud geweigerd. Probeer deze pagina als bookmark op te slaan en te verversen.","dont-display-again":"Niet meer laten zien","web-server-required":"Deze virtuele tour kan niet worden afgespeeld vanaf een lokale schijf. Upload dit alstublieft op het internet. Je kan ook de htm bestand slepen naar het icoon van de TourViewer app.", cancel:"Annuleren","change-to-click-and-move":"Verander de bedieningsmodus om te klikken en te verplaatsen",yes:"Ja","delete-downloaded":"Verwijderen","use-safari-for-vr":"We raden aan om in Safari deze tour te bekijken in VR mode","exit-fullscreen":"Volledig scherm verlaten",no:"Nee","download-failed":"Download mislukt","giroscope-disabled-http":"Jij betreedt deze pagina door http, dus uw toestel's motion en orientation access en VR modus zijn uitgeschakeld. Betreed deze pagina door https om ze weer aan te schakelen.", "cookies-notice":"Deze webpagina maakt gebruik van cookies om gebruiksstatistieken te verzamelen. Raadpleeg het Cookiebeleid voor meer informatie.","use-cardboard":"Gebruik Cardboard","launch-default-browser":"Start op in standaard browser","rotate-device":"Draai uw toestel om, alstublieft","exit-vr":"VR verlaten",reject:"Weigeren","disable-measure":"Stop meten",downloading:"Downloaden","cardboard-v2":"Als u een Cardboard v2 headset heeft, wat met een knop komt, kunt u wachten op een hotspot en een op een knop drukken om een actie te starten.", "enable-video-audio-prompt":"Audio en video inschakelen?","storage-not-provided-launch-from-desktop":"Start de tour alstublieft opnieuw up vanaf het bureaublad om te kunnen downloaden.",downloaded:"Deze tour is gedownload voor offline afspelen.","samsung-internet-vr-app-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR. U moet alleen Samsung Internet instellen als uw standaard browser.","samsung-internet-vr-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR, u moet alleen uw mobiele toestel op uw headset zetten.", "enable-video-prompt":"Video inschakelen?","giroscope-disabled-safari-request-permission":["Uw toestel's motion en orientation access en VR modus zijn uitgeschakeld voor deze site..","Om deze pagina goed te kunnen zien, druk op doorgaan en geef toestemming als dat gevraagd wordt."],"storage-not-provided-launch-from-homescreen":"Start de tour alstublieft opnieuw up vanaf het homescherm om te kunnen downloaden.","enter-fullscreen":"Volledig scherm inschakelen","use-cardboard-v2":"Gebruik Cardboard v2", unmute:"Schakel audio in","enter-vr":"Voer VR inhoud in","enable-measure":"Begin meten","use-cardboard-info":"U kunt elk werkend Google Cardboard headset gebruiken om dit te bekijken.","refresh-downloaded":"Verversen","use-default-cardboard":"Standaard gebruiken","enable-audio-prompt":"Audio inschakelen?"},"nn-no":{mute:"Skru av lyd","cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.", "download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.","dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.", download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus","exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.", "cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k retningslinjer for informasjonskapsler.","use-cardboard":"Bruk Cardboard","launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned", "cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.","enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.", "samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.","enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."], "storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2",unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard", "enable-audio-prompt":"Aktivere audio?"},"pl-pl":{mute:"Wycisz","cardboard-v1":"Je\u015bli nie masz pewno\u015bci, kt\u00f3rej wersji Cardboard u\u017cywasz, wybierz domy\u015blne sterowanie hotspotem. Nast\u0119pnie skieruj wzrok na hotspot i poczekaj na uruchomienie ich dzia\u0142ania.","download-tour":"Pobierz spacer do odtwarzania w trybie offline","change-to-drag-and-release":"Zmie\u0144 tryb na Przeci\u0105gnij i Upu\u015b\u0107",accept:"Zaakceptowa\u0107",cancel:"Anuluj","storage-not-provided-bookmark":"Odmowa zapisu w pami\u0119ci sta\u0142ej. Spr\u00f3buj doda\u0107 stron\u0119 do zak\u0142adek i za\u0142aduj j\u0105 ponownie.", "dont-display-again":"Nie wy\u015bwietlaj tego ponownie","web-server-required":"Nie mo\u017cna odtworzy\u0107 tego spaceru z dysku lokalnego. Prze\u015blij go do internetu i spr\u00f3buj ponownie.\nMo\u017cesz te\u017c przeci\u0105gn\u0105\u0107 plik htm (lub ca\u0142y folder spaceru) na ikon\u0119 aplikacji TourViewer.",download:"Pobierz","change-to-click-and-move":"Zmie\u0144 tryb na to Kliknij i Przenie\u015b",yes:"tak","delete-downloaded":"Usu\u0144","use-safari-for-vr":"Zalecamy Safari, jako przegl\u0105dark\u0119 spacer\u00f3w w trybie VR", "exit-fullscreen":"Wyjd\u017a z trybu pe\u0142nego ekranu",no:"nie","download-failed":"Pobieranie nie powiod\u0142o si\u0119","giroscope-disabled-http":"To jest dost\u0119p za po\u015brednictwem protoko\u0142u http, wi\u0119c dost\u0119p do ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone. Prze\u0142\u0105cz si\u0119\u00a0na protok\u00f3\u0142 https, aby je w\u0142\u0105czy\u0107.","cookies-notice":"Ta strona u\u017cywa plik\u00f3w cookie do zbierania statystyk u\u017cytkowania. Aby uzyska\u0107 wi\u0119cej informacji, odwied\u017a Zasady dotycz\u0105ce plik\u00f3w cookie.", "use-cardboard":"U\u017cyj Cardboard","launch-default-browser":"Uruchom w domy\u015blnej przegl\u0105darce","rotate-device":"Obr\u00f3\u0107 urz\u0105dzenie","exit-vr":"Wyjd\u017a z VR","storage-not-provided-launch-from-desktop":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 pulpitu.","disable-measure":"Stop measuring",downloading:"Pobieranie","cardboard-v2":"Je\u015bli masz okulary Cardboard v2, kt\u00f3re maj\u0105 przycisk, mo\u017cesz spojrze\u0107 na hotspot i nacisn\u0105\u0107 przycisk, aby uruchomi\u0107 ich dzia\u0142anie.", "enable-video-audio-prompt":"W\u0142\u0105czy\u0107 video i d\u017awi\u0119k?",reject:"Odrzuca\u0107",downloaded:"Spacer jest pobierany do odtwarzania w trybie offline.","samsung-internet-vr-app-info":"Je\u015bli masz okulary zgodne z Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, mo\u017cesz je u\u017cy\u0107 do przegl\u0105dania zawarto\u015bci w VR. Musisz w tym przypadku ustawi\u0107 Samsung Internet jako domy\u015bln\u0105 przegl\u0105dark\u0119.","samsung-internet-vr-info":"Je\u015bli masz okulary Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, to mo\u017cesz u\u017cy\u0107 ich do przegl\u0105dania zawarto\u015bci w VR. Umie\u015b\u0107 teraz telefon w okularach Gear VR.", "enable-video-prompt":"W\u0142\u0105czy\u0107 video?","giroscope-disabled-safari-request-permission":["Dost\u0119p do funkcji ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone dla tej strony.","Aby poprawnie wy\u015bwietli\u0107 stron\u0119, kliknij kontynuuj i zaakceptuj wszystkie zgody."],"storage-not-provided-launch-from-homescreen":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 strony g\u0142\u00f3wnej.","enter-fullscreen":"Uruchom pe\u0142ny ekran","use-cardboard-v2":"U\u017cyj Cardboard v2", unmute:"Wy\u0142\u0105cz Wycisz","enter-vr":"Wejd\u017a do VR","enable-measure":"Start measuring","use-cardboard-info":"Do wy\u015bwietlania w VR mo\u017cesz u\u017cy\u0107 oklular\u00f3w zgodnych z Google Cardboard.","refresh-downloaded":"Od\u015bwie\u017c","use-default-cardboard":"U\u017cyj Domy\u015blnych","enable-audio-prompt":"W\u0142\u0105czy\u0107 d\u017awi\u0119k?"},"pt-br":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.", "download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar","storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.", download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover",yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.", "cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a Pol\u00edtica de cookies.","use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring", downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.","enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.", "samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.","enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."], "storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar tela cheia","use-cardboard-v2":"Use Cardboard v2",unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o", "enable-audio-prompt":"Ativar \u00e1udio?"},"pt-pt":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.","download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar", "storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.",download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover", yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.","cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a Pol\u00edtica de cookies.", "use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring",downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.", "enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.","samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.", "enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."],"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar tela cheia","use-cardboard-v2":"Use Cardboard v2", unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o","enable-audio-prompt":"Ativar \u00e1udio?"},"ru-ru":{mute:"\u0411\u0435\u0437 \u0437\u0432\u0443\u043a\u0430","cardboard-v1":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u043a\u0430\u043a\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Cardboard \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u0434\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.", "download-tour":"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0440 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f","change-to-drag-and-release":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435", accept:"\u041f\u0440\u0438\u043d\u044f\u0442\u044c",download:"\u0421\u043a\u0430\u0447\u0430\u0442\u044c","storage-not-provided-bookmark":"\u0412 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0435.", "dont-display-again":"\u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e","web-server-required":"\u042d\u0442\u043e\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0443\u0440 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437.\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 htm-\u0444\u0430\u0439\u043b (\u0438\u043b\u0438 \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0430) \u043d\u0430 \u0437\u043d\u0430\u0447\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f TourViewer.", cancel:"\u041e\u0442\u043c\u0435\u043d\u0430","change-to-click-and-move":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0430\u0436\u0430\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","use-safari-for-vr":"\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c Safari \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0440\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 VR.", "exit-fullscreen":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430",no:"\u043d\u0435\u0442","download-failed":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438","giroscope-disabled-http":"\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0447\u0435\u0440\u0435\u0437 http, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 https, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0445.", "cookies-notice":"\u042d\u0442\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b cookie \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043c. \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 cookie.", "use-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","rotate-device":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", "exit-vr":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 VR",reject:"\u041e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c","disable-measure":"\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f",downloading:"\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435","cardboard-v2":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Cardboard v2 \u0441 \u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.", "enable-video-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?","storage-not-provided-launch-from-desktop":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435..", downloaded:"\u042d\u0442\u043e\u0442 \u0442\u0443\u0440 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.","samsung-internet-vr-app-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.", "samsung-internet-vr-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0434\u0435\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 \u0441\u0435\u0439\u0447\u0430\u0441.", "enable-video-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430.", "\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\u00bb \u0438 \u043f\u0440\u0438\u043c\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e."], "storage-not-provided-launch-from-homescreen":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435.","enter-fullscreen":"\u0412\u043e\u0439\u0442\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c", "use-cardboard-v2":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard v2",unmute:"\u0421\u043e \u0437\u0432\u0443\u043a\u043e\u043c","enter-vr":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c VR \u043a\u043e\u043d\u0442\u0435\u043d\u0442","enable-measure":"\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f","use-cardboard-info":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0443\u044e \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR.", "refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","use-default-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","enable-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e?"},"sk-sk":{mute:"St\u00ed\u0161i\u0165","cardboard-v1":"Ak ste si nie ist\u00ed, ktor\u00fa verziu Cardboardu pou\u017e\u00edvate, vyberte si predvolen\u00e9 ovl\u00e1danie hotspotu. Potom sa jednoducho pozriete na hotspot a po\u010dkajte, k\u00fdm sa akcia nespust\u00ed.", "download-tour":"Stiahnu\u0165 prehliadku na hranie v offline re\u017eime","change-to-drag-and-release":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Presun\u00fa\u0165 a Uvo\u013eni\u0165",accept:"s\u00fahlasi\u0165",cancel:"Zru\u0161i\u0165","storage-not-provided-bookmark":"Trval\u00e9 \u00falo\u017eisko odmietnut\u00e9. Sk\u00faste si t\u00fato webov\u00fa str\u00e1nku ulo\u017ei\u0165 a na\u010d\u00edta\u0165 ju znova.","dont-display-again":"Tieto inform\u00e1cie u\u017e nezobrazova\u0165","web-server-required":"T\u00e1to virtu\u00e1lna prehliadka sa ned\u00e1 prehra\u0165 z lok\u00e1lneho disku. Nahrajte ju na internet a sk\u00faste to znova.\nAk chcete, potiahnite s\u00fabor htm (alebo cel\u00fd prie\u010dinok prehliadky) na ikonu aplik\u00e1cie TourViewer.", download:"Stiahnu\u0165","change-to-click-and-move":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Klikn\u00fa\u0165 a Presun\u00fa\u0165",yes:"\u00e1no","delete-downloaded":"Zmaza\u0165","use-safari-for-vr":"Odpor\u00fa\u010dame pou\u017e\u00edva\u0165 Safari prehliada\u010d pre t\u00fato prehliadku v re\u017eime VR","exit-fullscreen":"Ukon\u010di\u0165 cel\u00fa obrazovku",no:"nie","download-failed":"S\u0165ahovanie zlyhalo","giroscope-disabled-http":"Na t\u00fato webov\u00fa str\u00e1nku pristupujete cez http protokol, preto pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR s\u00fa deaktivovan\u00e9. Ak ich chcete povoli\u0165, nav\u0161t\u00edvte str\u00e1nku cez https.", "cookies-notice":"T\u00e1to webov\u00e1 str\u00e1nka pou\u017e\u00edva s\u00fabory cookie na zhroma\u017e\u010fovanie \u0161tatist\u00edk pou\u017e\u00edvania. \u010eal\u0161ie inform\u00e1cie n\u00e1jdete v pravidl\u00e1ch pou\u017e\u00edvania s\u00faborov cookie .","use-cardboard":"Pou\u017eite Cardboard okuliare.","launch-default-browser":"Spusti\u0165 v predvolenom prehliada\u010di","rotate-device":"Oto\u010dte svoje zariadenie","exit-vr":"Ukon\u010denie VR","storage-not-provided-launch-from-desktop":"Znovu na\u010d\u00edtajte prehliadku pomocou desktop ikony pre jej stiahnite.", "disable-measure":"Ukon\u010di\u0165 meranie",downloading:"S\u0165ahovanie","cardboard-v2":"Ak m\u00e1te n\u00e1hlavn\u00fa s\u00fapravu Cardboard v2, ktor\u00e1 je dod\u00e1van\u00e1 s tla\u010didlom, m\u00f4\u017eete sa pozrie\u0165 na hotspot a stla\u010den\u00edm tla\u010didla spusti\u0165 akciu.","enable-video-audio-prompt":"Povoli\u0165 video a zvuk?",reject:"Odmietnu\u0165",downloaded:"T\u00e1to prehliadka je stiahnut\u00e1 na hranie v offline re\u017eime.","samsung-internet-vr-app-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Mus\u00edte si nastavi\u0165 Samsung Internet ako predvolen\u00fd prehliada\u010d.", "samsung-internet-vr-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Sta\u010d\u00ed teraz vlo\u017ei\u0165 mobiln\u00fd telef\u00f3n do n\u00e1hlavnej s\u00fapravy.","enable-video-prompt":"Povoli\u0165 video?","giroscope-disabled-safari-request-permission":["Pre t\u00fato str\u00e1nku s\u00fa pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR deaktivovan\u00e9.", "Aby ste korektne videli t\u00fato webov\u00fa str\u00e1nku, pros\u00edm kliknite pokra\u010dova\u0165 a akceptujte po\u017eadovan\u00e9 povolenie."],"storage-not-provided-launch-from-homescreen":"Znovu na\u010d\u00edtajte prehliadku pomocou ikony na ploche pre jej stiahnite.","enter-fullscreen":"Prejs\u0165 na cel\u00fa obrazovku","use-cardboard-v2":"Pou\u017eite Cardboard v2",unmute:"Zapn\u00fa\u0165 zvuk","enter-vr":"Vlo\u017ei\u0165 VR obsah","enable-measure":"Za\u010da\u0165 meranie","use-cardboard-info":"Na zobrazenie tohto obsahu vo VR m\u00f4\u017eete pou\u017ei\u0165 \u013eubovo\u013en\u00fa kompatibiln\u00fa n\u00e1hlavn\u00fa s\u00fapravu Google Cardboard.", "refresh-downloaded":"Obnovi\u0165","use-default-cardboard":"Pou\u017ei\u0165 predvolen\u00e9","enable-audio-prompt":"Povoli\u0165 zvuk?"},"sv-se":{mute:"Inaktivera ljud","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att dra och sl\u00e4ppa", accept:"Acceptera",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att klicka och flytta", yes:"ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Avsluta fullsk\u00e4rmen",no:"Nej","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denna webbsida anv\u00e4nder cookies f\u00f6r att samla in anv\u00e4ndningsstatistik. F\u00f6r mer information, bes\u00f6k Cookie Policy.", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Avvisa","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktivera ljud och video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.", downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Aktivera video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Ange fullsk\u00e4rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktivera ljud","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktivera ljud?"},"tr-tr":{mute:"Sesi devre d\u0131s\u0131 b\u0131rakmak","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing", "change-to-drag-and-release":"S\u00fcr\u00fckleyip b\u0131rakmak i\u00e7in kontrol modunu de\u011fi\u015ftirin",accept:"Kabul etmek",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", cancel:"Cancel","change-to-click-and-move":"T\u0131klamak ve ta\u015f\u0131mak i\u00e7in kontrol modunu de\u011fi\u015ftirin",yes:"evet","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Tam ekrandan \u00e7\u0131k",no:"hay\u0131r","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"Bu web sayfas\u0131, kullan\u0131m istatistiklerini toplamak i\u00e7in tan\u0131mlama bilgileri kullan\u0131r. Daha fazla bilgi i\u00e7in l\u00fctfen \u00c7erez Politikas\u0131n\u0131 ziyaret edin.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Reddet","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.", "enable-video-audio-prompt":"Ses ve video etkinle\u015ftirilsin mi?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Video aktif edilsin mi?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Tam ekran yap","use-cardboard-v2":"Use Cardboard v2",unmute:"Sesi etkinle\u015ftir","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Ses aktif edilsin mi?"},"uk-ua":{mute:"\u0412\u0438\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","cardboard-v1":"\u042f\u043a\u0449\u043e \u0432\u0438 \u043d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u044f\u043a\u0443 \u0432\u0435\u0440\u0441\u0456\u044e Cardboard \u0432\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454\u0442\u0435, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c. \u041f\u043e\u0442\u0456\u043c \u0432\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0435\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043f\u043e\u0447\u0435\u043a\u0430\u0439\u0442\u0435, \u0434\u043e\u043a\u0438 \u0434\u0456\u044f \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f.", "download-tour":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0442\u0443\u0440 \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456","change-to-drag-and-release":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0456 \u0432\u0456\u0434\u043f\u0443\u0441\u0442\u0456\u0442\u044c", accept:"\u041f\u0440\u0438\u0439\u043c\u0456\u0442\u044c",cancel:"\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u0456\u0439\u043d\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u043d\u043d\u044f \u0437\u0430\u0431\u043e\u0440\u043e\u043d\u0435\u043d\u043e. \u0421\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0434\u0430\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0442\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0457\u0457.", "dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0443\u0439\u0442\u0435 \u0446\u044e \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044e \u0437\u043d\u043e\u0432\u0443","web-server-required":"\u0426\u0435\u0439 \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0438\u0439 \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u043d\u0430 \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0439\u043e\u0433\u043e \u0432 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0456 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.\n\u042f\u043a\u0449\u043e \u0431\u0430\u0436\u0430\u0454\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0444\u0430\u0439\u043b htm (\u0430\u0431\u043e \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0443) \u043d\u0430 \u043f\u0456\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438 TourViewer.", download:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","change-to-click-and-move":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u0456 \u043f\u0435\u0440\u0435\u043c\u0456\u0441\u0442\u0456\u0442\u044c",yes:"\u0442\u0430\u043a","delete-downloaded":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438","use-safari-for-vr":"\u041c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0454\u043c\u043e Safari \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0442\u0443\u0440\u0443 \u0432 \u0440\u0435\u0436\u0438\u043c\u0456 VR", "exit-fullscreen":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0443",no:"\u043d\u0456","download-failed":"\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","giroscope-disabled-http":"\u0412\u0438 \u043e\u0442\u0440\u0438\u043c\u0443\u0454\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0446\u0456\u0454\u0457 \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 http, \u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e \u0442\u0430 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e. \u0429\u043e\u0431 \u0443\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0457\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0434\u043e \u043d\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 https.", "cookies-notice":"\u0426\u044f \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454 \u0444\u0430\u0439\u043b\u0438 cookie \u0434\u043b\u044f \u0437\u0431\u043e\u0440\u0443 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f. \u0414\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u0434\u043e\u0434\u0430\u0442\u043a\u043e\u0432\u043e\u0457 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0432\u0456\u0434\u0432\u0456\u0434\u0430\u0439\u0442\u0435 \u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0443 \u0449\u043e\u0434\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0456\u0432 cookie.", "use-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","rotate-device":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0456\u0442\u044c \u0441\u0432\u0456\u0439 \u043f\u0440\u0438\u0441\u0442\u0440\u0456\u0439", "exit-vr":"\u0412\u0438\u0439\u0434\u0456\u0442\u044c \u0456\u0437 VR","storage-not-provided-launch-from-desktop":"\u0429\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u043e\u0433\u043b\u044f\u0434 \u0456\u0437 \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0441\u0442\u043e\u043b\u0456.","disable-measure":"\u041f\u0440\u0438\u043f\u0438\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u043d\u043d\u044f", downloading:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f","cardboard-v2":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Cardboard v2, \u044f\u043a\u0430 \u043f\u043e\u0441\u0442\u0430\u0447\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043a\u043d\u043e\u043f\u043a\u043e\u044e, \u0432\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0438\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0443\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0443, \u0449\u043e\u0431 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0457\u0457.", "enable-video-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e \u0442\u0430 \u0430\u0443\u0434\u0456\u043e?",reject:"\u0412\u0456\u0434\u0445\u0438\u043b\u0438\u0442\u0438",downloaded:"\u0426\u0435\u0439 \u0442\u0443\u0440 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043e \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456.", "samsung-internet-vr-app-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0437\u0440\u043e\u0431\u0438\u0442\u0438 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c.", "samsung-internet-vr-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0457 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0456, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0456\u0434\u2019\u0454\u0434\u043d\u0430\u0442\u0438 \u043c\u043e\u0431\u0456\u043b\u044c\u043d\u0438\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043e \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0438.", "enable-video-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e, \u0430 \u0442\u0430\u043a\u043e\u0436 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e \u0434\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0443.", "\u0429\u043e\u0431 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443, \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u00ab\u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438\u00bb \u0442\u0430 \u043f\u0440\u0438\u0439\u043c\u0456\u0442\u044c \u0437\u0430\u043f\u0438\u0442 \u043d\u0430 \u0434\u043e\u0437\u0432\u0456\u043b, \u044f\u043a\u0449\u043e \u0437\u2019\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0438\u0442."], "storage-not-provided-launch-from-homescreen":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0442\u0443\u0440 \u0437\u0456 \u0437\u043d\u0430\u0447\u043a\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0435\u043a\u0440\u0430\u043d\u0430, \u0449\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438.","enter-fullscreen":"\u041f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0443 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c", "use-cardboard-v2":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard v2",unmute:"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","enter-vr":"\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u0432\u043c\u0456\u0441\u0442 VR","enable-measure":"\u041f\u043e\u0447\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u0442\u0438","use-cardboard-info":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044c-\u044f\u043a\u0443 \u0441\u0443\u043c\u0456\u0441\u043d\u0443 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR.", "refresh-downloaded":"\u041e\u043d\u043e\u0432\u0438\u0442\u0438","use-default-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","enable-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0430\u0443\u0434\u0456\u043e?"},"zh-cn":{mute:"\u9759\u97f3","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.", "download-tour":"\u4e0b\u8f7d\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e","change-to-drag-and-release":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u62d6\u653e\u201d",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88c5\u7f6e\u5185\u6c38\u4e45\u5b58\u50a8\u88ab\u62d2\u7edd\u3002\u5c1d\u8bd5\u5c06\u6b64\u7f51\u9875\u6dfb\u52a0\u4e3a\u4e66\u7b7e\uff0c \u5e76\u91cd\u65b0\u52a0\u8f7d\u3002","dont-display-again":"\u4e0d\u518d\u663e\u793a\u6b64\u4fe1\u606f", "web-server-required":"\u6b64\u5168\u666f\u6f2b\u6e38\u65e0\u6cd5\u4ece\u672c\u5730\u9a71\u52a8\u5668\u4e0a\u64ad\u653e\u3002 \u8bf7\u5c06\u5176\u4e0a\u4f20\u5230\u4e92\u8054\u7f51\u670d\u52a1\u5668\uff0c\u7136\u540e\u91cd\u8bd5\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9884\u89c8\uff0c\u53ef\u4ee5\u5c06htm\u6587\u4ef6\uff08\u6216\u5168\u666f\u6f2b\u6e38\u7684\u6574\u4e2a\u6587\u4ef6\u5939\uff09\u62d6\u5230TourViewer\u5e94\u7528\u7a0b\u5e8f\u7684\u56fe\u6807\u4e0a\u3002",download:"\u4e0b\u8f7d", "change-to-click-and-move":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u5355\u51fb\u5e76\u79fb\u52a8\u201d",yes:"\u662f","delete-downloaded":"\u5220\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u5c4f",no:"\u5426","download-failed":"\u4e0b\u8f7d\u5931\u8d25","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u8fc7http(\u672a\u52a0\u5bc6)\u8bbf\u95ee\u6b64\u7f51\u9875\uff0c\u56e0\u6b64\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8bf7\u901a\u8fc7https(\u52a0\u5bc6)\u5bf9\u5176\u8fdb\u884c\u542f\u7528\u3002", "cookies-notice":"\u8be5\u7f51\u9875\u4f7f\u7528cookie\u6765\u6536\u96c6\u4f7f\u7528\u60c5\u51b5\u7edf\u8ba1\u4fe1\u606f\u3002 \u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u8bbf\u95eeCookie\u653f\u7b56\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8bf7\u4ece\u684c\u9762\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002", "disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f7d","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u542f\u7528\u89c6\u9891\u548c\u97f3\u9891\uff1f",reject:"\u62d2\u7edd",downloaded:"\u6b64\u5168\u666f\u6f2b\u6e38\u5df2\u4e0b\u8f7d\uff0c\u53ef\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u542f\u7528\u89c6\u9891\uff1f","giroscope-disabled-safari-request-permission":["\u8be5\u7ad9\u70b9\u5df2\u7981\u7528\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002", "\u8981\u6b63\u786e\u67e5\u770b\u6b64\u7f51\u9875\uff0c\u8bf7\u5355\u51fb\u7ee7\u7eed\uff0c\u5e76\u5728\u51fa\u73b0\u63d0\u793a\u65f6\u63a5\u53d7\u8bb8\u53ef\u8bf7\u6c42"],"storage-not-provided-launch-from-homescreen":"\u8bf7\u4ece\u4e3b\u5c4f\u5e55\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002","enter-fullscreen":"\u8fdb\u5165\u5168\u5c4f","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u9759\u97f3","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u5237\u65b0","use-default-cardboard":"Use Default","enable-audio-prompt":"\u542f\u7528\u97f3\u9891\uff1f"},"zh-tw":{mute:"\u975c\u97f3","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"\u4e0b\u8f09\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u96e2\u7dda\u64ad\u653e", "change-to-drag-and-release":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u62d6\u653e\u6a21\u5f0f\u201c",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88dd\u7f6e\u5167\u6c38\u4e45\u5b58\u5132\u88ab\u62d2\u7d55\u3002\u8acb\u5617\u8a66\u5c07\u6b64\u7db2\u9801\u65b0\u589e\u70ba\u66f8\u7c64\uff0c\u4e26\u91cd\u65b0\u8f09\u5165\u3002","dont-display-again":"\u4e0d\u518d\u986f\u793a\u672c\u8a0a\u606f","web-server-required":"\u672c\u865b\u64ec\u5c0e\u89bd\u7121\u6cd5\u5728\u672c\u5730\u96fb\u8166\u4e0a\u64ad\u653e\u3002 \u8acb\u5c07\u5176\u4e0a\u50b3\u5230\u7db2\u969b\u7db2\u8def\u4f3a\u670d\u5668\uff0c\u7136\u5f8c\u91cd\u8a66\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9810\u89bd\uff0c\u8acb\u5c07htm\u6a94\u6848\uff08\u6216\u865b\u64ec\u5c0e\u89bd\u7684\u6574\u500b\u8cc7\u6599\u593e\uff09\u62d6\u653e\u5230TourViewer\u61c9\u7528\u7a0b\u793a\u7684\u5716\u793a\u4e0a\u3002", download:"\u4e0b\u8f09","change-to-click-and-move":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u9ede\u64ca\u4e26\u79fb\u52d5\u201d",yes:"\u662f","delete-downloaded":"\u522a\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u87a2\u5e55",no:"\u5426","download-failed":"\u4e0b\u8f09\u5931\u6557","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u904ehttp(\u672a\u52a0\u5bc6)\u700f\u89bd\u672c\u7db2\u9801\uff0c\u56e0\u6b64\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0c\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8acb\u53e6\u901a\u904ehttps(\u52a0\u5bc6)\u7db2\u5740\u5c0d\u5176\u9032\u884c\u555f\u7528\u3002", "cookies-notice":"\u8a72\u7db2\u9801\u4f7f\u7528cookie\u4f86\u6536\u96c6\u4f7f\u7528\u60c5\u6cc1\u7d71\u8a08\u4fe1\u606f\u3002 \u6709\u95dc\u66f4\u591a\u4fe1\u606f\uff0c\u8acb\u8a2a\u554f Cookie\u653f\u7b56\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8acb\u5f9e\u684c\u9762\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002", "disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f09","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u5141\u8a31\u5f71\u7247\u53ca\u8072\u97f3\u64ad\u653e?",reject:"\u62d2\u7d55",downloaded:"\u865b\u64ec\u5c0e\u89bd\u5df2\u4e0b\u8f09\uff0c\u53ef\u9032\u884c\u96e2\u7dda\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u5141\u8a31\u5f71\u7247\u64ad\u653e?","giroscope-disabled-safari-request-permission":["\u8a72\u7db2\u7ad9\u5df2\u7981\u7528\u60a8\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002", "\u8981\u6b63\u78ba\u67e5\u770b\u672c\u7db2\u9801\uff0c\u8acb\u55ae\u64ca\u7e7c\u7e8c\uff0c\u4e26\u5728\u51fa\u73fe\u63d0\u793a\u6642\u63a5\u53d7\u8a31\u53ef\u8acb\u6c42\u3002"],"storage-not-provided-launch-from-homescreen":"\u8acb\u4e3b\u9801\u9762\u87a2\u5e55\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002","enter-fullscreen":"\u9032\u5165\u5168\u87a2\u5e55","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u975c\u97f3", "enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u91cd\u65b0\u6574\u7406","use-default-cardboard":"Use Default","enable-audio-prompt":"\u5141\u8a31\u8072\u97f3\u64ad\u653e?"}}}); define("nS",["require","kG","hR","lB"],function(a){function b(a){return c[j][a]||c.en[a]||a}var d=a("kG"),c=a("hR"),g=a("lB"),f;for(f in c)c[f.substr(0,2)]=c[f];c.en["giroscope-disabled-safari-toggle-on"]='
Your device\'s motion and orientation access and VR mode are disabled for this site.
\n
To properly see this webpage, please enable it:
\n
    \n
  • Access you device\'s settings: "Settings > Safari > Privacy & Security" and toggle on: "Motion & Orientation Access".
  • \n
  • Refresh the browser.
  • \n
'; c["zh-hk"]=c["zh-mo"]=c["zh-tw"];c.no=c.nn;var i=function(){var a=window.navigator,b=["language","browserLanguage","systemLanguage","userLanguage"],e,c,f=[];(e=g.js("language"))&&f.push(e.toLowerCase());var d=a.languages;if(Array.isArray(d))for(e=0;e0&&a<1&&this.Lna();if(this.Iw){this.Iw.gain.value=a;this.M.volume=1}else this.M.volume=a;this.M.muted=a==0}};b.prototype.Ow=function(){var a=this.M.currentSrc||this.M.children.length&&this.M.children[0].src||"";g.ty(a)&&(a=l);return a};return b});define("hs",["require"],function(){return{Wl:"video",Cwa:"audio"}}); define("mv","require,kG,nU,gE,hy,cs,fQ,t,lB,hV,gI".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("gE"),g=a("hy"),f=a("cs"),i=a("fQ"),e=a("t"),j=a("lB"),o=a("hV"),k=a("gI"),m=b.extend(i,function(a){i.call(this);this.M=a;this.SA=this.SA.bind(this);this.gu=this.gu.bind(this);this.cl=this.cl.bind(this);this.XA=this.XA.bind(this);this.tj=this.tj.bind(this);this.fl=this.fl.bind(this);this.ji=this.ji.bind(this);this.kr=this.kr.bind(this);this.NM=this.NM.bind(this);this.M.addEventListener("ended",this.cl, n);this.M.addEventListener("pause",this.fl,B);this.M.addEventListener("stalled",this.fl,B);this.M.addEventListener("waiting",this.fl,B);this.M.addEventListener("canplay",this.SA,n);this.M.addEventListener("canplaythrough",this.gu,B);this.M.addEventListener("loadedmetadata",this.tj,n);this.M.addEventListener("play",this.ji,B);this.M.addEventListener("playing",this.kr,B);this.M.addEventListener("error",this.XA,B);this.l1=B;this.o=c.L;this.uF=this.Oh=q;k.bind(d.qa,this.sNa,this)});m.prototype.clear= function(){if(this.M){this.M.removeEventListener("ended",this.cl,n);this.M.removeEventListener("pause",this.fl,B);this.M.removeEventListener("stalled",this.fl,B);this.M.removeEventListener("waiting",this.fl,B);this.M.removeEventListener("canplay",this.SA,n);this.M.removeEventListener("canplaythrough",this.gu,B);this.M.removeEventListener("loadedmetadata",this.tj,n);this.M.removeEventListener("play",this.ji,B);this.M.removeEventListener("error",this.XA,B);this.M=q}};m.prototype.play=function(){this.M.log("PlaybackController", "play");this.uF=c.S;this.xL()};m.prototype.stop=function(){this.M.log("PlaybackController","stop");this.uF=c.L;this.xL()};m.prototype.pg=function(){return this.Oh||this.o};m.prototype.qC=function(){return this.M.readyState==this.M.HAVE_NOTHING||this.M.readyState==this.M.HAVE_METADATA||this.M.currentTime===0?B:n};m.prototype.xL=function(){if(!this.Oh&&this.uF){this.Oh=this.uF;this.uF=q;this.Oh==c.S?this.l7():this.k7()}};m.prototype.sNa=function(){if(k.visible){this.M.log("PlaybackController","visibile changed to true, setting state to "+ this.o);this.Oh=this.o;this.Oh==c.S?this.l7():this.k7()}else if(!this.M.paused){this.M.log("PlaybackController","paused by visibile changed to false");var a=this.M.pause();a&&a["catch"](this.XA)}};m.prototype.Ow=function(){return this.M.currentSrc||this.M.children.length&&this.M.children[0].src||""};m.prototype.l7=function(){var a=this.Ow();this.xU(a&&!j.ty(a));this.MP=e.browser()==e.Qh;if(this.M.paused){this.M.log("PlaybackController","startPlaying calling play");this.M.muted=n;this.M.log("PlaybackController", "this._media.play()");(a=this.M.play())&&a["catch"](this.XA)}else{this.M.log("PlaybackController","startPlaying already playing");this.ji()}};m.prototype.kr=function(){this.M.log("PlaybackController","onPlaying event received. Visible: "+k.visible)};m.prototype.ji=function(){if(this.Oh==c.S){this.M.log("PlaybackController","onPlay event received when waiting to play");this.Oh=q;this.o=c.S;this.trigger(new f(m.VY));this.xL()}else this.M.log("PlaybackController","onPlay event received. Visible: "+k.visible)}; m.prototype.k7=function(){this.xU(B);this.MP=B;if(this.M.paused){this.M.log("PlaybackController","startPausing already paused");this.fl()}else{this.M.log("PlaybackController","startPausing calling pause");var a=this.M.pause();a&&a["catch"](this.XA)}};m.prototype.fl=function(){if(this.Oh==c.L){this.M.log("PlaybackController","onPause event received when waiting to stop");this.Oh=q;this.o=c.L;this.xL()}else if(k.visible){this.M.log("PlaybackController","onPause event received without calling to pause"); (this.o==c.S&&!this.Oh||this.Oh==c.S)&&!this.M.hasAttribute("loop")&&!isNaN(this.M.duration)&&this.M.currentTime==this.M.duration&&this.M.duration>0&&this.cl();this.NM()}else this.M.log("PlaybackController","onPause event received when not visible")};m.prototype.SA=function(){this.M.log("PlaybackController","on can play");this.NM()};m.prototype.gu=function(){this.M.log("PlaybackController","can play through");this.NM();this.xU(B)};m.prototype.NM=function(){if(this.Ona()){if(this.MP&&this.M.currentTime== 0){this.M.log("PlaybackController","updatePlaying applying ios hack");this.MP=B;try{this.M.currentTime=0.3}catch(a){}}e.browser()!=e.WC&&this.Jma()}};m.prototype.Ona=function(){return this.o==c.S&&k.visible&&this.M.paused&&this.M.readyState>=3};m.prototype.Jma=function(a){if(!this.Kma)if(a){if(this.Ona()){this.M.log("PlaybackController","updatePlaying retrying play");this.Oh=c.S;this.l7()}}else this.Kma=setTimeout(function(){this.Kma=q;this.Jma(n)}.bind(this),500)};m.prototype.XA=function(){if(this.Oh== c.S){this.M.log("PlaybackController","onError waiting to play");this.Oh=q;this.uF?this.xL():e.browser()==e.Qh?this.trigger(new f(m.AY)):this.Oh=c.S}};m.prototype.tj=function(){this.M.log("PlaybackController","on loaded metadata");!isNaN(this.M.duration)&&this.M.currentTime==this.M.duration&&this.M.duration>0&&this.cl()};m.prototype.cl=function(){this.M.log("PlaybackController","onEnded");this.MP=B;if(this.o==c.S&&!this.Oh||this.Oh==c.L){this.M.log("PlaybackController","onEnded finalizing video"); this.xU(B);this.Oh=c.L;this.k7();this.trigger(new f(m.$i))}};m.prototype.xU=function(a){if(this.l1!=a){this.M.log("PlaybackController","downloading changed to: "+a);(this.l1=a)?o.ITa(g.ica):o.HTa(g.ica)}};m.AY="deactivated";m.$i="end";m.VY="play";return m}); define("z",["require","kG","nU","cs","fQ"],function(a){var b=a("kG"),d=a("nU");a("cs");var c=a("fQ"),a=b.extend(c,function(a){c.call(this);this.tj=this.tj.bind(this);this.y4=this.y4.bind(this);this.hi=this.hi.bind(this);this.M=a;this.sk=q;this.de=[];this.M.addEventListener("loadedmetadata",this.tj,n);this.M.textTracks.addEventListener("addtrack",this.y4,B)});a.prototype.set=function(a){a&&this.Qya(a)};a.prototype.clear=function(){this.KIa()};a.prototype.BN=function(){var a=this.sk&&this.sk.track.activeCues; a&&(a=Array.prototype.slice.call(a,0));return a||[]};a.prototype.tj=function(){this.Gpa()};a.prototype.y4=function(){this.Gpa()};a.prototype.hi=function(){this.dna(this.sk.track.activeCues)};a.prototype.dna=function(a){a||(a=[]);0==this.de.length&&0==a.length||(this.de=Array.prototype.slice.call(a),this.trigger(d.Rh,this.de))};a.prototype.Qya=function(a){this.M.log("TextTracksController","add text track src: "+a);this.sk=document.createElement("track");this.sk.kind="subtitles";this.sk.src=a;this.M.appendChild(this.sk)}; a.prototype.KIa=function(){this.sk&&(this.M.log("TextTracksController","remove text track"),this.sk.track.removeEventListener("cuechange",this.hi),this.sk.track.mode="disabled",this.sk.src="",this.M.removeChild(this.sk),this.sk=q,this.dna([]))};a.prototype.Gpa=function(){for(var a=0;a=this.M.HAVE_ENOUGH_DATA&&this.bF!==l){this.M.log("TimeController","updateCurrentTime when can play through set time to: "+this.bF);try{this.M.currentTime=this.bF}catch(a){}this.bF=l}};i.prototype.Be=function(){this.trigger(new d(i.pf))};i.prototype.kT=function(){if(g.B9()&&!g.tsa()&&!this.M.paused&&this.M.readyState>= this.M.HAVE_ENOUGH_DATA){var a=(new Date).getTime();this.dS||(this.dS=a);if(this.O3&&a-this.O3>500){this.D7++;this.D7/((a-this.dS)*0.001)>0.4&&g.dTa()}this.O3=a}if(this.LP!==l&&this.M.currentTime>this.LP){this.LP=l;try{this.M.currentTime=this.M.currentTime-0.01}catch(b){}}this.Be()};i.prototype.U6=function(a){if(!!this.FB!=a)if(this.FB){clearInterval(this.FB);this.FB=q}else this.FB=setInterval(this.Be,16)};i.prototype.Ow=function(){return this.M.currentSrc||this.M.children.length&&this.M.children[0].src|| ""};i.pf="time update";i.wi="duration update";return i}); define("la","require,jquery.mod,kG,hA,t,lB".split(","),function(a){function b(){}a("jquery.mod");var d=a("kG"),c=a("hA"),g=a("t"),a=a("lB");b.PEa=function(){window.MediaSource=window.MediaSource||window.WebKitMediaSource;return window.MediaSource&&typeof window.MediaSource.isTypeSupported==="function"&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};b.aFa=function(){if(g.browser()==g.Qh){var a=g.sC();if(a>=10&&a<11||a>=11.3)return n}return B};b.QEa=function(){return g.browser()== g.Sl||g.browser()==g.Qh?n:B};var f;b.Jqa=function(a){try{f||(f=document.createElement("audio"));return!!f.canPlayType(a).replace(/^no$/,"")}catch(b){}return B};var i;b.LG=function(a){try{if(!i){i=document.createElement("video");i.setAttribute("webkit-playsinline","true");i.setAttribute("playsinline","true")}return!!i.canPlayType(a).replace(/^no$/,"")}catch(b){}return B};b.WNa=function(){return g.browser()==g.Qh?g.sC()>=15||c?n:B:n};b.REa=function(){try{if(document.createElement("canvas").getContext("webgl"))return n}catch(a){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return n}catch(b){}return B}; b.Uva=function(a,b,c){if(g.ce()==g.yi)if(!c||c>30){if(a<=3168&&b<=1584)return n}else{if(a<=4096&&b<=2048)return n}else if(g.Xsa())if(!c||c>30){if(a<=4096&&b<=4096||a<=5760&&b<=5760||a<=5760&&b<=2880||a<=8192&&b<=4096)return n}else{if(a<=5760&&b<=5760||a<=8192&&b<=4096)return n}else if(g.Wsa())if(!c||c>30){if(a<=2880&&b<=2880||a<=4096&&b<=2048)return n}else{if(a<=3840&&b<=3840||a<=4096&&b<=4096||a<=5760&&b<=2880||a<=2880&&b<=5760)return n}else if(g.wb()){if(a<=3840&&b<=2160)return n}else if(a<=4096&& b<=2048)return n;return B};b.PTa=function(a,c){return b.Uva(a,c,30)};b.log=function(){d.log("webgl: "+b.xba);d.log("html5 audio: "+b.Bsa);d.log("html5 video: "+b.Esa)};b.hLa=function(){return["webgl:"+b.xba,"html5audio:"+b.Bsa,"html5video:"+b.Esa].join(" ")};b.Dsa=b.Jqa('audio/ogg; codecs="vorbis"');b.Csa=b.Jqa("audio/mpeg");b.Bsa=b.Dsa||b.Csa;b.r$=b.LG('video/ogg; codecs="theora"');b.KVa=b.LG('video/mp4; codecs="avc1.42E01E"');b.s$=b.LG('video/webm; codecs="vp8, vorbis"');b.$Pa=b.LG('video/mp4; codecs="hev1"'); b.UW=b.LG("video/mp4");b.aQa=b.LG("video/quicktime");b.Fsa=b.aFa();b.nsa=b.QEa();b.PPa=b.nsa||b.UW&&b.PEa();b.Esa=b.r$||b.UW||b.s$;b.xba=b.REa();a.Vi("debug")&&a.Vi("capabilities")&&b.log();b.summary=b.hLa();return b}); define("cp",["require","lB"],function(a){function b(){this.gS=this.R3=q;this.ot=[];this.dr=B;this.$w=l}var d=a("lB");b.prototype.hq=function(a,b){this.R3=d.yv(a);this.gS=b;this.X()};b.prototype.load=function(a,b){var f={};f.call=a;f.context=b||window;this.ot.push(f);this.$w||(this.$w=this.Cha());this.X()};b.prototype.El=function(){return this.$w!==l};b.prototype.X=function(){00};p.prototype.uX=function(a){this.Ee=[a].concat(c(this.Ee).without(a));this.s5()};p.prototype.o9=function(a){this.Ee.push(a);this.s5()};p.prototype.pH=function(a){this.Ee=c(this.Ee).without(a);this.s5()};p.prototype.s5= function(){var a=this.oEa();if(p.wsa())for(;this.Er.length0?f.S:f.L);a.forEach(function(a){if(!this.QDa(a)){var e=this.FDa(a.yX());!e&&!a.yX()&&this.Er.push(e=new b(new m(r.Wl,B)));e&&e.eUa(a)}}.bind(this));this.GDa().forEach(function(a){a.nI.stop()})};p.prototype.oEa=function(){return this.Ee.map(function(a,b){var e={};e.index=b;e.Ge=a.k$();e.item=a;return e}).sort(function(a, b){return a.Ge-b.Ge||a.index-b.index}).map(function(a){return a.item})};p.prototype.oc=function(a){if(this.o!=a){this.o=a;this.trigger(new i(this.o==f.L?g.Lf:g.Tj))}};p.prototype.FDa=function(a){var b=this.Er.filter(function(a){return a.A$()});if(b.length){if(a){a=b.filter(function(a){return a.aX()});a.length||(a=b.filter(function(a){return a.dY()}))}else{a=b.filter(function(a){return!a.dY()});a.length||(a=b.filter(function(a){return!a.aX()}))}a.length&&(b=a);if(o.browser()==o.Sl){b.sort(function(a, b){return b.KA-a.KA});return b[Math.min(2,b.length-1)]}return b[0]}return q};p.prototype.GDa=function(){return this.Er.filter(function(a){return a.A$()})};p.prototype.Pha=function(){return this.Er.filter(function(a){return!a.A$()})};p.prototype.QDa=function(a){for(var b=0;b= 0;p.wsa=function(){return t};p.hH=function(){return p.Yh().hH()};p.o9=function(a){p.Yh().o9(a)};p.uX=function(a){p.Yh().uX(a)};p.pH=function(a){p.Yh().pH(a)};p.st=function(){if(p.p3===q)p.p3=new p;return p.p3};p.Yh=p.st;p.st();return p}); define("D","require,kG,cs,fQ,nU,gE,nm,dt,mm,hs,bQ,bg,la".split(","),function(a){var b=a("kG"),d=a("cs"),c=a("fQ"),g=a("nU"),f=a("gE"),i=a("nm"),e=a("dt"),j=a("mm"),o=a("hs"),k=a("bQ"),m=a("bg"),r=a("la"),p=b.extend(c,function(a,b,e){c.call(this);this.Sa=a;this.n=b;this.sr=e;this.j=q;this.XL();this.JS=this.JS.bind(this);this.n.bind(g.u("gain"),this.tK,this,n);this.n.bind(g.u("mp3Url"),this.pp,this,n);this.n.bind(g.u("oggUrl"),this.pp,this,n);this.o=f.L;this.Vk=B;this.yw=this.cb=0;this.Me=B;this.Xp= 1;this.$I=B;this.sE=1;this.ed=q;this.Lq=[]});p.prototype.vb=S("Sa");p.prototype.zd=function(a){if(this.o!=a&&!(a==f.Gb&&this.o!=f.S)){this.o=a;if(this.o==f.S){this.kAa();k.uX(this)}else this.JKa();this.V7()}};p.prototype.JKa=function(){if(!this.$I){this.$I=n;this.Lga=this.n.get("fadeOutTime");this.Lga==0?this.loa():this.JS(0)}};p.prototype.JS=function(a){if(!this.ed||this.sE==0||!this.$I||this.xFa())this.loa();else{this.sE=Math.max(0,this.sE-a/this.Lga);this.NP();m.yb(this.JS)}};p.prototype.kAa=function(){this.$I= B;this.sE=1;this.NP()};p.prototype.loa=function(){this.$I=B;this.sE=1;if(this.ed){k.pH(this);this.o==f.L&&this.T6()}};p.prototype.pg=S("o");p.prototype.Ui=S("cb");p.prototype.FC=function(a){this.yw=a;this.ed&&this.ed.play(this.Sa,this.j,this.yw)};p.prototype.Cl=S("yw");p.prototype.wv=function(a){this.Xp=a;this.NP()};p.prototype.NP=function(){this.ed&&this.ed.wv(this.Xp*this.sE)};p.prototype.nf=function(a){this.Me=a;this.ed&&this.ed.nf(a)};p.prototype.setLoop=function(a){this.Vk=a;this.ed&&this.ed.setLoop(a)}; p.prototype.yX=function(){return!this.Me};p.prototype.Fe=function(){return o.Cwa};p.prototype.k$=S("sr");p.prototype.J9=function(a){this.ed=a;setTimeout(function(){this.ed&&this.ed.bind(i.$i,this.sK,this,n)}.bind(this),0);this.XL();this.ed.bind(i.pf,this.Be,this,n);this.ed.bind(i.wi,this.Am,this,n);this.ed.bind(g.Rh,this.hi,this,n);this.ed.nf(this.Me);this.NP();this.ed.setLoop(this.Vk);this.ed.play(this.Sa,this.j,this.yw)};p.prototype.J$=function(){this.yw=this.ed.Cl();this.ed.unbind(i.$i,this.sK, this,n);this.ed.unbind(i.pf,this.Be,this,n);this.ed.unbind(i.wi,this.Am,this,n);this.ed.unbind(g.Rh,this.hi,this,n);this.ed=q};p.prototype.clear=function(){this.zd(f.L);if(this.n){this.n.unbind(g.u("gain"),this.tK,this,n);this.n.unbind(g.u("mp3Url"),this.pp,this,n);this.n.unbind(g.u("oggUrl"),this.pp,this,n);this.n=q}};p.prototype.pp=function(){this.lB&&clearTimeout(this.lB);this.lB=setTimeout(function(){this.lB=q;if(this.ed){this.j.src=this.Ow(this.n);this.ed.play(this.Sa,this.j,this.yw)}}.bind(this), 10)};p.prototype.tK=function(){if(this.ed){var a=this.n.get("gain");if(this.j.gain!=a){this.j.gain=a;this.ed.rO(this.j.gain)}}};p.prototype.XL=function(){this.j=new j;this.j.src=this.Ow(this.n);this.j.gv=n;this.j.gain=this.n.get("gain")};p.prototype.Ow=function(a){var b=a.get("mp3Url");if(b&&r.Csa)return b;return(a=a.get("oggUrl"))&&r.Dsa?a:b||a};p.prototype.Am=function(){this.cb=this.ed.Ui();this.Q7()};p.prototype.Be=function(){this.cb!=this.ed.Ui()&&this.Am();this.yw=this.ed.Cl();this.EM()};p.prototype.hi= function(){this.Lq=this.ed.BN().map(function(a){for(var b=q,c=0;c 0){c=new b(c[0],e,g,o,b.watch(q,c.slice(1),e,g,o));c.r6(a);return c}return q};return b}); define("ol",["jquery.mod","kG","nU","d"],function(a,b,d,c){var g=b.extend(c,function(){c.call(this);this.ke("DropDownArrow");this.J=q;this.qt=n;this.bind(d.tc,this.yCa,this)});g.prototype.ab=function(){c.prototype.ab.call(this);this.f("color","#000000");this.f("direction",g.tY)};g.prototype.yCa=function(){this.qt=n;this.$d()};g.prototype.mb=function(){c.prototype.mb.call(this);this.J||(this.J=a(""),this.J.css({position:"absolute",left:0,top:0}),this.Ab().append(this.J))};g.prototype.Ma=function(){var a= B;this.v("color")&&(a=n,this.I("color"));this.v("direction")&&(a=n,this.I("direction"));this.qt&&(a=n,this.qt=B);if(a){var a=this.Se(),b=this.Re(),e=this.p("color"),d=this.p("direction"),o=[0.5*a,0,a],d=d==g.tY?[b,0,0]:[0,b,b],k=this.J.get(0);k.width=a;k.height=b;k=k.getContext("2d");k.clearRect(0,0,a,b);k.beginPath();k.moveTo(o[0],d[0]);k.lineTo(o[1],d[1]);k.lineTo(o[2],d[2]);k.fillStyle=e;k.fill()}c.prototype.Ma.call(this)};g.tY="down";g.pUa="up";return g}); define("hh","kG,cs,mk,bc,nU,c,gq,nq,ol,iu".split(","),function(a,b,d,c,g,f,i,e,j,o){a=a.extend(e,function(){e.call(this);this.ke("DropDownButton");this.bw=this.Ka=q;this.K3=n;this.set("autoRolledOver",n);this.set("autoPressed",n);this.set("childrenInteractionEnabled",B);this.set("contentOpaque",n);this.set("cursor",c.yf);this.bind(g.ca,this.s1,this)});a.prototype.ab=function(){e.prototype.ab.call(this);this.f("arrowColor","#000000");this.f("arrowBeforeLabel");this.f("arrowWidth",9);this.f("arrowHeight", 5);this.f("arrowGap",5);this.f("shadow",B);this.f("layout",f.yg);this.f("verticalAlign",d.Ad);this.f("borderRadius",5);this.f("borderColor","#AAAAAA");this.f("borderSize",1);this.f("backgroundColor",["#FAFAFA","#E5E5E5"]);this.f("backgroundColorRatios",[0,1]);this.f("backgroundColorDirection","vertical");this.f("paddingLeft",5);this.f("paddingTop",5);this.f("paddingRight",5);this.f("paddingBottom",5);this.f("fontFamily");this.f("fontSize");this.f("fontColor","#555555");this.f("fontWeight");this.f("fontStyle"); this.f("textDecoration");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowVerticalLength");this.f("textShadowBlurRadius");this.f("textShadowOpacity");this.m("rollOverBorderColor",i.P,"borderColor");this.m("rollOverArrowColor",i.P,"arrowColor");this.m("rollOverBackgroundColor",i.P,"backgroundColor");this.m("rollOverBackgroundColorRatios",i.P,"backgroundColorRatios");this.m("rollOverShadow",i.P,"shadow");this.m("pressedBorderColor",i.bb,"borderColor");this.m("pressedArrowColor", i.bb,"arrowColor");this.m("pressedBackgroundColor",i.bb,"backgroundColor");this.m("pressedBackgroundColorRatios",i.bb,"backgroundColorRatios");this.m("pressedShadow",i.bb,"shadow");this.m("pressedRollOverBorderColor",i.Rb,"borderColor");this.m("pressedRollOverArrowColor",i.Rb,"arrowColor");this.m("pressedRollOverBackgroundColor",i.Rb,"backgroundColor");this.m("pressedRollOverBackgroundColorRatios",i.Rb,"backgroundColorRatios");this.m("pressedRollOverShadow",i.Rb,"shadow");this.m("pressedBorderColor", i.W,"borderColor");this.m("pressedArrowColor",i.W,"arrowColor");this.m("pressedBackgroundColor",i.W,"backgroundColor");this.m("pressedBackgroundColorRatios",i.W,"backgroundColorRatios");this.m("pressedShadow",i.W,"shadow")};a.prototype.set=function(a,b){if(a=="label"&&this.get("label")!=b){this.K3=n;this.$d()}e.prototype.set.call(this,a,b)};a.prototype.mb=function(){e.prototype.mb.call(this);if(!this.Ka){this.Ka=new o;this.Ka.set("width","100%");this.Oa(this.Ka)}if(!this.bw){this.bw=new j;this.bw.set("direction", j.tY);this.Oa(this.bw)}};a.prototype.s1=function(){this.open();this.trigger(new b(g.OPEN))};a.prototype.open=function(){this.unbind(g.ca,this.s1,this);this.TL(n)};a.prototype.close=function(){this.bind(g.ca,this.s1,this);this.TL(B)};a.prototype.Ma=function(){if(this.K3){this.Ka.set("text",this.get("label"));this.K3=B}this.Yb(["horizontalAlign","fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius", "textShadowOpacity"],{},[this.Ka],n,n);if(this.v("arrowGap")){this.set("gap",this.p("arrowGap"));this.I("arrowGap")}if(this.v("arrowColor")){this.bw.set("color",this.p("arrowColor"));this.I("arrowColor")}if(this.v("arrowBeforeLabel")){this.p("arrowBeforeLabel")==n?this.Zm(this.bw,0):this.Zm(this.Ka,0);this.I("arrowBeforeLabel")}if(this.v("arrowWidth")){this.bw.set("width",this.p("arrowWidth"));this.I("arrowWidth")}if(this.v("arrowHeight")){this.bw.set("height",this.p("arrowHeight"));this.I("arrowHeight")}e.prototype.Ma.call(this)}; return a});define("gV",["dY","kG","nq","c"],function(a,b,d,c){var g=b.extend(d,function(){d.call(this)});g.lc={layout:c.nh};a.defaults(g.lc,d.lc);g.prototype.ab=function(){this.zn(g.lc)};return g}); define("kN","require,kG,cs,mk,bc,hn,nU,nq,gV,iu".split(","),function(a){var b=a("kG"),d=a("cs"),c=a("mk"),g=a("bc"),f=a("hn"),i=a("nU"),e=a("nq"),j=a("gV"),o=a("iu"),a=b.extend(e,function(){e.call(this);this.ke("DropDownPopup");this.Pd=q;this.VP=B;this.lb=q;this.HJ=[];this.$x=n});a.prototype.open=function(a){this.Pd=a;this.VP=n;this.vb().Zm(this,this.vb().Db().length-1);this.set("overIndex",-1);this.set("visible",n);this.bind(i.zb,this.Fd,this);this.vb().bind(i.Wb,this.$k,this);this.vb().bind(i.tc, this.Vb,this)};a.prototype.close=function(){this.Pd=q;this.VP=n;this.set("visible",B);this.lb.set("overflow",f.wD);this.lb.set("contentOpaque",n);this.unbind(i.zb,this.Fd,this);this.vb().unbind(i.Wb,this.$k,this);this.vb().bind(i.tc,this.Vb,this)};a.prototype.mb=function(){e.prototype.mb.call(this);if(!this.lb){this.lb=new j;this.lb.set("overflow",f.wD);this.lb.bind(i.tc,this.Vb,this);this.lb.bind(i.Ho,this.Qx,this);this.Oa(this.lb)}};a.prototype.Vb=function(){this.vpa()};a.prototype.Fd=function(){this.A6= B};a.prototype.Qx=function(){this.A6=n};a.prototype.$k=function(){this.get("overIndex")==-1&&(!this.A6||!this.Fn)&&this.trigger(new d(i.Ry));this.A6=B};a.prototype.JGa=function(a){this.set("overIndex",this.r2(a.source))};a.prototype.KGa=function(a){a=this.r2(a.source);this.get("overIndex")==a&&this.set("overIndex",-1)};a.prototype.IGa=function(a){a=this.r2(a.source);this.set("overIndex",a);this.set("selectedIndex",a);this.trigger(new d(i.Vl))};a.prototype.r2=function(a){for(var b=0;b=w){this.$x=n;this.lb.set("top",b.top+d+g);this.lb.set("maxHeight",i)}else{this.$x=B;this.lb.set("top",b.top-w+g);this.lb.set("maxHeight",w)}this.lb.set("overflow",f.Ho)}d=x==c.ae?b.left+Math.round((e- o)*0.5):x==c.Xa?b.left+e-o:b.left;d<0?d=b.left:b.left+o>a.Ua()&&(d=b.left+e-o);this.lb.set("left",d);this.bpa()}};a.prototype.bpa=function(){var a=this.p("popUpBorderRadius");this.lb.$({borderTopRadius:this.$x?0:a,borderBottomRadius:this.$x?a:0});for(var b=this.lb.Db(),e=0;e=0&&b>=f.length&&(b=-1);this.set("selectedIndex",b);this.wj.set("items",this.p("items"));this.wj.set("selectedIndex",this.p("selectedIndex"));this.I("items");this.I("selectedIndex");if(this.ao){this.ao=B;this.trigger(new d(c.qa))}}if(a){a=this.p("label");if(!a){b=this.p("selectedIndex"); a=b<0?this.p("prompt"):this.p("items")[b]}this.Pd.set("label",a)}if(this.Tna){this.wj.set("minWidth",this.Pd.Ua());this.wj.set("buttonWidth",this.Pd.Ua())}this.Yb(["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","horizontalAlign","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],{},[this.Pd,this.wj],n,n);this.Yb(["popUpBorderRadius","popUpGap","popUpPaddingBottom","popUpPaddingLeft","popUpPaddingRight", "popUpPaddingTop","popUpBackgroundColor","popUpBackgroundOpacity","rollOverPopUpBackgroundColor","selectedPopUpBackgroundColor","popUpFontColor","rollOverPopUpFontColor","selectedPopUpFontColor","popUpShadow","popUpShadowBlurRadius","popUpShadowColor","popUpShadowHorizontalLength","popUpShadowOpacity","popUpShadowSpread","popUpShadowVerticalLength"],{},[this.wj],n,n);this.Yb(["arrowBeforeLabel","arrowWidth","arrowHeight","arrowColor","rollOverArrowColor","pressedArrowColor","pressedRollOverArrowColor", "arrowGap","shadow","shadowBlurRadius","shadowColor","shadowHorizontalLength","shadowOpacity","shadowSpread","shadowVerticalLength","borderRadius","borderTopRadius","borderBottomRadius","borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize","borderColor","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","rollOverBorderColor", "pressedBorderColor","pressedRollOverBorderColor","backgroundColor","backgroundColorRatios","backgroundColorDirection","backgroundOpacity","rollOverBackgroundColor","rollOverBackgroundColorRatios","rollOverShadow","pressedBackgroundColor","pressedBackgroundColorRatios","pressedShadow","pressedRollOverBackgroundColor","pressedRollOverBackgroundColorRatios","pressedRollOverShadow","paddingLeft","paddingTop","paddingRight","paddingBottom"],{},[this.Pd],n,n);g.prototype.Ma.call(this)};return a}); define("fq","require,kG,w,nU,oe,eQ,dY".split(","),function(a){var b=a("kG"),d=a("w"),c=a("nU"),g=a("oe"),f=a("eQ"),i=a("dY"),a=b.extend(g,function(){g.call(this);this.dd=q;this.Hia=[];this.bind(c.qa,this.CGa,this)});f.F("DropDown",a).H("UIComponent").Q({arrowBeforeLabel:"bool",arrowColor:"color",arrowHeight:"number",arrowWidth:"number",arrowGap:"number",fontFamily:"string",fontSize:"or[number, size]",fontColor:"color",fontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]", fontStyle:"enum[italic, normal]",gap:"number",horizontalAlign:"enum[left, center, right]",label:"string",playList:"PlayList",popUpGap:"number",popUpBackgroundColor:"color",popUpBackgroundOpacity:"number",popUpBorderRadius:"number",popUpFontColor:"color",popUpPaddingBottom:"number",popUpPaddingLeft:"number",popUpPaddingRight:"number",popUpPaddingTop:"number",popUpShadow:"bool",popUpShadowBlurRadius:"number",popUpShadowColor:"color",popUpShadowHorizontalLength:"number",popUpShadowOpacity:"number",popUpShadowSpread:"number", popUpShadowVerticalLength:"number",pressedArrowColor:"color",pressedShadow:"bool",pressedBackgroundColor:"or[array[color], color]",pressedBackgroundColorRatios:"array[number]",pressedRollOverArrowColor:"color",pressedRollOverShadow:"bool",pressedRollOverBackgroundColor:"or[array[color], color]",pressedRollOverBackgroundColorRatios:"array[number]",prompt:"string",rollOverArrowColor:"color",rollOverBackgroundColor:"or[array[color], color]",rollOverBackgroundColorRatios:"array[number]",rollOverPopUpBackgroundColor:"color", rollOverPopUpFontColor:"color",rollOverShadow:"bool",selectedPopUpBackgroundColor:"color",selectedPopUpFontColor:"color",textDecoration:"enum[underline, overline, line-through, none]",textShadowBlurRadius:"number",textShadowColor:"color",textShadowHorizontalLength:"number",textShadowOpacity:"number",textShadowVerticalLength:"number"}).vs(["fontSize"]).hc([c.qa]);a.prototype.set=function(a,b){if(a=="playList"){if(this.dd)for(this.dd.unbind("change",this.nu,this);this.Hia.length;)this.Hia.shift().unwatch(); if(this.dd=b){d.watch(this.dd,"items.label",this.rV,this);d.watch(this.dd,"items.media.label",this.rV,this);this.rV();this.dd.bind("change",this.nu,this);this.nu()}else this.rV()}g.prototype.set.call(this,a,b)};a.prototype.rV=function(){this.dd?this.set("items",i(this.dd.get("items")).map(function(a){return a.get("label")||a.get("media")&&a.get("media").get("label")})):this.set("items",[])};a.prototype.nu=function(){this.set("selectedIndex",this.dd.get("selectedIndex"))};a.prototype.CGa=function(){this.dd&& this.dd.set("selectedIndex",this.get("selectedIndex"))};return a}); define("di",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("initialState","playing");this.set("distance",0.5);this.set("intensity",0.1);this.set("speed",0.2);this.set("opacity",0.1);this.set("color","#ffffff");this.set("state","playing");this.set("startDuration",2E4);this.set("stopDuration",2E4)});a.F("DustPanoramaOverlay",b).H("PanoramaOverlay").Q({intensity:"number",speed:"number",color:"color",opacity:"number",distance:"number", startDuration:"number",initialState:"enum[playing, stopped]",state:"enum[playing, stopped]",stopDuration:"number",startState:"enum[playing, stopped]"});b.prototype.get=function(a,b){"startState"==a&&b===l&&(b=this.get("initialState"));return d.prototype.get.call(this,a,b)};return b}); define("by",["require","kG","eQ","ei"],function(a){var b=a("kG"),d=a("eQ"),c=a("ei"),a=b.extend(c,function(){c.call(this)});d.F("Effect",a).H("Object").Q({duration:"number",easing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",animationDirection:"enum[normal, alternate]",loop:"bool"}).ih([c.$i,c.$O,c.tq,c.Uba,c.Vba]).Ng({cancel:function(){return c.prototype.cancel.apply(this,arguments)},getPosition:function(){return c.prototype.Bk.apply(this, arguments)},play:function(){return c.prototype.play.apply(this,arguments)},reverse:function(){return c.prototype.reverse.apply(this,arguments)},stop:function(){return c.prototype.stop.apply(this,arguments)}});return a});define("jk",["require","kG","eQ","ic"],function(a){var b=a("kG"),d=a("eQ"),c=a("ic"),a=b.extend(c,function(){c.call(this)});d.F("ExternalModel3DObject",a).H("Model3DObject").Q({parentId:"string",x:"number",y:"number",z:"number"});return a}); define("bn",["kG","ei"],function(a,b){var d=a.extend(b,function(){b.call(this);this.k_=this.j_=q});d.prototype.YF=function(){b.prototype.YF.call(this);this.j_=[];this.k_=[];this.Fw(function(a){this.j_.push(this.get("alphaFrom",a.Ak()));this.k_.push(this.get("alphaTo",a.Ak()))});this.bU()};d.prototype.Gu=function(){b.prototype.Gu.call(this);this.bU()};d.prototype.bU=function(){this.Fw(function(a,b){var f=this.j_[b],f=f+(this.k_[b]-f)*this.Bk(),d=0=0){this.Uh.splice(a, 1);this.Uh.length==0&&this.Dm()}};a.prototype.mF=function(){var a=this.get("effect"),b=this.get("rollOverEffect");b&&(a&&a.Bk()>0?a.reverse():b.play())};a.prototype.Dm=function(){var a=this.get("rollOverEffect");if(a){var b=this.get("effect");a.Bk()>0?a.reverse():b&&b.get("loop")&&b.play()}};a.prototype.Yja=function(){if(this.Uh.length>0){var a=this.get("rollOverEffect");if(a){this.get("effect").stop();a.play()}}};a.prototype.fla=function(){if(this.Uh.length==0){this.get("rollOverEffect").stop(); var a=this.get("effect");a&&a.get("loop")&&a.play()}};a.prototype.gk=function(){var a=this.get("effect");a&&a.play()};a.prototype.ck=function(){var a=this.get("effect");a&&a.stop();(a=this.get("rollOverEffect"))&&a.stop()};return a});define("lQ",["require","kG","eQ","cF"],function(a){var b=a("kG"),d=a("eQ"),c=a("cF"),a=b.extend(c,function(){c.call(this)});d.F("FlatHotspotPanoramaOverlay",a).H("HotspotPanoramaOverlay");return a}); define("s",["kG","lh","eQ","nU"],function(a,b,d,c){a=a.extend(b,function(){b.call(this);this.set("displayTooltipInTouchScreens",n)});d.F("HotspotPanoramaOverlayArea",a).H("Object").Q({mapColor:"or[color,enum[image,transparent,any]]",toolTip:"string",displayTooltipInTouchScreens:"bool",useHandCursor:"bool"}).hc([c.cc,c.qb,c.Gk,c.Sh]).ih([c.ca,c.zb,c.Wb]);return a});define("fl",["eQ","s"],function(a,b){a.F("FlatHotspotPanoramaOverlayArea",b).H("HotspotPanoramaOverlayArea");return b}); define("bo",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(a,b,f){d.call(this);a!==l&&this.set("vertices",a);this.set("opacity",b!==l?b:1);f!==l&&this.set("timestamp",f)});a.F("QuadPanoramaOverlayPlaybackPosition",b).H("Object").Q({opacity:"number",timestamp:"number",vertices:"array[PanoramaPoint]"});return b}); define("hX",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(a,b,f,i,e){d.call(this);a!==l&&this.set("yaw",a);b!==l&&this.set("pitch",b);f!==l&&this.set("roll",f);this.set("opacity",i!==l?i:1);e!==l&&this.set("timestamp",e)});a.F("FlatPanoramaOverlayPlaybackPosition",b).H("Object").Q({opacity:"number",pitch:"number",roll:"number",timestamp:"number",yaw:"number"});return b}); define("fP",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(a,b,f,i,e,j,o,k,m){d.call(this);a!==l&&this.set("yaw",a);b!==l&&this.set("pitch",b);f!==l&&this.set("rotationX",f);i!==l&&this.set("rotationY",i);e!==l&&this.set("roll",e);j!==l&&this.set("hfov",j);o!==l&&this.set("vfov",o);this.set("opacity",k!==l?k:1);m!==l&&this.set("timestamp",m)});a.F("PanoramaOverlayPlaybackPosition",b).H("Object").Q({opacity:"number",yaw:"number",pitch:"number",rotationX:"number", rotationY:"number",roll:"number",hfov:"number",vfov:"number",timestamp:"number"});return b});define("cw",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(a,b){d.call(this);this.set("yaw",a);this.set("pitch",b)});a.F("PanoramaPoint",b).H("Object").Q({pitch:"number",yaw:"number"});return b}); define("U",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(a,b,f,i,e,j,o){d.call(this);a!==l&&this.set("yaw",a);b!==l&&this.set("pitch",b);f!==l&&this.set("rotationX",f);i!==l&&this.set("rotationY",i);e!==l&&this.set("rotationZ",e);j!==l&&this.set("hfov",j);o!==l&&this.set("timestamp",o)});a.F("PopupPanoramaOverlayPlaybackPosition",b).H("Object").Q({yaw:"number",pitch:"number",rotationX:"number",rotationY:"number",rotationZ:"number",hfov:"number",timestamp:"number"}); return b}); define("jJ","require,lh,bo,hX,fP,cw,U".split(","),function(a){var b=a("lh"),d=a("bo"),c=a("hX"),g=a("fP"),f=a("cw"),i=a("U");return{aPa:function(a){return this.qR(a,this.TCa)},j$:function(a){return this.qR(a,this.SHa)},uPa:function(a){return this.qR(a,this.ZHa)},l$:function(a){return this.qR(a,this.hIa)},TCa:function(a){return new c(b.prototype.get.call(a,"yaw",0),b.prototype.get.call(a,"pitch",0),b.prototype.get.call(a,"roll",0),b.prototype.get.call(a,"opacity",1),0)},hIa:function(a){var c=b.prototype.get.call(a, "vertices",[q,q,q,q]);return new d([c[0]||new f(0,0),c[1]||new f(0,0),c[2]||new f(0,0),c[3]||new f(0,0)],b.prototype.get.call(a,"opacity",1),0)},SHa:function(a){function c(f,d){return b.prototype.get.call(a,f,d)}return new g(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("roll",0),c("hfov",c("vfov")===l?45:l),c("vfov"),c("opacity",1),0)},ZHa:function(a){function c(f,d){return b.prototype.get.call(a,f,d)}return new i(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("rotationZ", 0),c("hfov",45),0)},qR:function(a,c){var f=b.prototype.get.call(a,"playbackPositions")||[];return f.length>0?f.slice().sort(function(a,b){return a.get("timestamp")-b.get("timestamp")||f.indexOf(a)-f.indexOf(b)}):[c(a)]}}}); define("iE","require,kG,lh,nU,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("eQ"),f=a("jJ"),a=b.extend(d,function(){d.call(this);this.set("opacity",1);this.set("scale",1);this.Xc=l});g.F("FlatHotspotPanoramaOverlayImageBase",a).H("Object").Q({distance:"number",height:"number",horizontalAlign:"enum[center, left, right]",image:"ImageResource",offsetX:"number",offsetY:"number",opacity:"number",pitch:"number",playbackPositions:"array[FlatPanoramaOverlayPlaybackPosition]",roll:"number", scale:"number",scaleMode:"enum[fill, fit_inside, fit_outside, fit_to_width, fit_to_height, none]",verticalAlign:"enum[bottom, middle, top]",width:"number",yaw:"number"}).hc([c.jc,c.pc]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc=f.aPa(this);return this.Xc}return d.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var f=B;switch(a){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.Xc=l;f=n}d.prototype.set.call(this, a,b);f&&a!="playbackPositions"&&this.trigger(c.u("playbackPositions"))};return a});define("o",["require","kG","eQ","iE"],function(a){var b=a("kG"),d=a("eQ"),c=a("iE"),a=b.extend(c,function(){c.call(this)});d.F("FlatHotspotPanoramaOverlayImage",a).H("FlatHotspotPanoramaOverlayImageBase");return a}); define("dN",["require","kG","eQ","iE"],function(a){var b=a("kG"),d=a("eQ"),c=a("iE"),a=b.extend(c,function(){c.call(this)});d.F("FlatHotspotPanoramaOverlayMap",a).H("FlatHotspotPanoramaOverlayImageBase");return a}); define("nJ",["require","kG","eQ","ba"],function(a){var b=a("kG"),d=a("eQ"),c=a("ba"),a=b.extend(c,function(){c.call(this);this.set("distance",0);this.set("keepHeight",n);this.set("doubleClickAction","zoom")});d.F("FlyOverModel3DCamera",a).H("Model3DCamera").Q({keepHeight:"bool",minHeight:"number",doubleClickAction:"enum[zoom, none]"});return a}); define("mg","require,kG,lh,nU,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("eQ"),f=a("jJ"),a=b.extend(d,function(){d.call(this);this.Xc=l;this.set("enabled",n);this.set("interactionEnabled",n);this.set("contentInteractive",B);this.set("transparent",B)});g.F("FramePanoramaOverlay",a).H("PanoramaOverlay").Q({contentInteractive:"bool",displayTooltipInTouchScreens:"bool",enabled:"bool",hfov:"number",height:"number",image:"ImageResource",interactionEnabled:"bool",pitch:"number", roll:"number",rotationX:"number",rotationY:"number",toolTip:"string",transparent:"bool",url:"string",useHandCursor:"bool",playbackPositions:"array[PanoramaOverlayPlaybackPosition]",vfov:"number",width:"number",yaw:"number"}).hc([c.pc,c.Gk,c.Sh,c.cc,c.qb,c.jc]).ih([c.ca]).vi(["url"]);a.prototype.set=function(a,b){var f=B;switch(a){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.Xc=l;f=n}d.prototype.set.call(this,a,b);f&&a!= "playbackPositions"&&this.trigger(c.u("playbackPositions"))};a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc=f.j$(this);return this.Xc}return d.prototype.get.call(this,a,b)};return a});define("df",["dY","kG","nq","c"],function(a,b,d,c){var g=b.extend(d,function(){d.call(this)});g.lc={layout:c.Mv};a.defaults(g.lc,d.lc);g.prototype.ab=function(){this.zn(g.lc)};return g}); define("jj",["dY","kG","df","eQ"],function(a,b,d,c){a=b.extend(d,function(){d.call(this)});c.F("GridContainer",a).H("UIComponent").Q({children:"array[UIComponent]",contentOpaque:"bool",childrenInteractionEnabled:"bool",creationPolicy:"enum[inAdvance, delayed]",gap:"number",horizontalAlign:"enum[center, left, right]",itemHeight:"or[number, percent]",itemMaxHeight:"number",itemMaxWidth:"number",itemMinHeight:"number",itemMinWidth:"number",itemWidth:"or[number, percent]",overflow:"enum[scroll, hidden, visible]", scrollBarColor:"color",scrollBarWidth:"number",scrollBarMargin:"number",scrollBarHorizontalMargin:"number",scrollBarVerticalMargin:"number",scrollBarOpacity:"number",scrollBarVisible:"enum[rollOver, always]",verticalAlign:"enum[bottom, middle, top]"});return a}); define("iQ","require,dY,jquery.mod,cs,fQ,nU,hy,lB,jR,hV,kG".split(","),function(a){function b(){}function d(a){this.mRa=a;this.ko=[];this.Ge=0}var c=a("dY");a("jquery.mod");var g=a("cs"),f=a("fQ"),i=a("nU"),e=a("hy"),j=a("lB"),o=a("jR"),k=a("hV"),m=a("kG").extend(f,function(a){f.call(this);this.url=a;this.gaa=this.Ge=0;this.status=m.AZ;this.Bv=q});m.prototype.S$=function(a){this.gaa=this.gaa+a};m.prototype.lH=function(a){this.Ge=this.Ge+a};m.prototype.start=function(){this.status=m.sP;o.UX(this.url)? this.dx():this.In=k.add(this.url,e.SO,this.aJa.bind(this),this.cfa.bind(this))};m.prototype.aJa=function(){this.Bv=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.Bv.open("GET",this.url);this.Bv.onreadystatechange=function(){this.Bv.readyState>3&&this.dx()}.bind(this);this.Bv.send()};m.prototype.cfa=function(){if(this.Bv){this.Bv.abort();this.Bv=q}};m.prototype.stop=function(){if(this.status==m.sP){this.status=m.AZ;this.cfa();this.In&&this.In.cancel()}};m.prototype.dx= function(){this.Bv=q;if(this.In){this.In.loaded();this.In=q}this.status=m.Ixa;this.trigger(new g(i.U))};m.AZ="not loaded";m.sP="loading";m.Ixa="loaded";d.prototype.NNa=function(a){a.forEach(function(a){if(this.ko.indexOf(a)<0){this.ko.push(a);a.lH(this.Ge);a.S$(1)}}.bind(this))};d.prototype.wRa=function(a){var b=this.ko;this.ko=[];b.forEach(function(b){if(a.indexOf(b)<0)this.ko.push(b);else{b.lH(-this.Ge);b.S$(-1)}}.bind(this))};d.prototype.oRa=function(){this.ko.forEach(function(a){a.lH(-this.Ge); a.S$(-1)}.bind(this));this.ko=[];this.Ge=0};d.prototype.lH=function(a){this.Ge=this.Ge+a;this.ko.forEach(function(b){b.lH(a)})};b.Rd=[];b.rma=[];b.bDa=0;b.mqa=function(a,b){this.YT(a).NNa(b.map(function(a){return this.la(a)}.bind(this)));this.MU();this.X()};b.ARa=function(a,b){this.YT(a).wRa(b.map(function(a){return this.la(a)}.bind(this)));this.MU();this.X()};b.pRa=function(a){this.YT(a).oRa();this.MU();this.X()};b.jX=function(a,b){this.YT(a).lH(b);this.MU();this.X()};b.MU=function(){this.Rd.sort(function(a, b){return b.Ge-a.Ge})};b.X=function(a){if(this.enabled()&&(a||!this.Nr))if(a){this.Nr&&clearTimeout(this.Nr);this.Nr=q;var a=this.SDa(),b=this.TDa();c(a).difference(b).forEach(function(a){a.stop()});c(b).difference(a).forEach(function(a){a.start()})}else this.Nr=setTimeout(function(){this.Nr=q;this.X(n)}.bind(this),1E3)};b.Nr=q;b.SDa=function(){return this.Rd.filter(function(a){return a.status==m.sP})};b.TDa=function(){for(var a=this.UDa(),b=[],c=0;c0&&(e.status==m.AZ||e.status==m.sP)&&b.push(e)}return b};b.UDa=function(){return this.bDa>0?0:5};b.YT=function(a){var b=c(this.rma).find(function(b){return b.mRa==a});if(!b){b=new d(a);this.rma.push(b)}return b};b.la=function(a){var b=c(this.Rd).find(function(b){return b.url==a});if(!b){b=new m(a);b.bind(i.U,this.X,this);this.Rd.push(b)}return b};b.enabled=function(a){if(a===l)return b.cCa||b.dCa?B:b.y1!==l?b.y1:b.N;b.N=a};b.N=n;b.Uaa=function(a){b.y1=a.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)}; b.y1=l;b.dCa=j.Ti("disable-background-preload",B);b.cCa=B;return b});define("ee",["kG","lh","eQ","iQ"],function(a,b,d,c){var g=a.extend(b,function(){b.call(this);this.x8=a.jq(this.x8,this)});d.F("Media",g).H("Object").Q({label:"string",thumbnailUrl:"string"}).vi(["thumbnailUrl"]);g.prototype.x8=function(){c.mqa(this,this.hs())};g.prototype.hs=function(){return[]};g.prototype.yRa=function(){c.pRa(this)};g.prototype.set=function(a,c){b.prototype.set.call(this,a,c);this.x8()};return g}); define("ie",["require","dY","kG","eQ","ee"],function(a){a("dY");var b=a("kG"),d=a("eQ"),c=a("ee"),a=b.extend(c,function(){c.call(this);this.cS=this.ZF=l;this.set("pitch",0);this.set("distanceToFloor",1.7);this.set("mapLocations",[]);this.set("modelLocations",[]);this.set("minFaceSize",l)});d.F("Panorama",a).H("Media").Q({adjacentPanoramas:"array[AdjacentPanorama]",audios:"array[PanoramaAudio]",cardboardMenu:"Menu",flipImageHorizontally:"bool",frames:"array[PanoramaFrame]",distanceToFloor:"number", hfov:"number",hfovMax:"number",hfovMin:"or[number,percent]",mapLocations:"array[PanoramaMapLocation]",modelLocations:"array[PanoramaModel3DLocation]",overlays:"array[PanoramaOverlay]",partial:"bool",pitch:"number",vfov:"number",vrMenu:"Menu"});a.prototype.get=function(a,b){switch(a){case "overlays":return this.v2();case "frames":return this.xha();case "partial":if(359.9>this.get("hfov"))return n}return c.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){switch(a){case "cardboardMenu":this.set("vrMenu", b)}c.prototype.set.call(this,a,b)};a.prototype.v2=function(){var a=c.prototype.get.call(this,"overlays");a||(a=[]);return this.e7(a)};a.prototype.e7=function(a){if(this.ZF===l||this.cS!=a){var b=function(a){return d.za("PopupPanoramaOverlay",a)},c=function(a){return d.za("LensFlarePanoramaOverlay",a)};this.cS=a;this.ZF=[].concat(a.filter(function(a){return!(b(a)||c(a))}),a.filter(c),a.filter(b))}return this.ZF};a.prototype.vsa=function(){return 0i.indexOf(c.Hq)&&d.prototype.get.call(this,"grayscale")&&(i=i.concat([c.Hq]));return i}return d.prototype.get.call(this,a,b)};c.prototype.usa=function(a){return 0<=this.get("tags").indexOf(a)};c.Hq="preload";c.tP="mobile";c.$ca="ipadpro";c.uP="mobilevr";c.EZ="mobilevr2gen";c.FZ="ondemand";return c}); define("fI",["require","lr","t","lB"],function(a){var b=a("lr"),d=a("t"),c=a("lB");return{fq:function(a){return this.Hj(a,"load")},lC:function(a){return this.Hj(a,"preload")},cH:function(a){return this.fq(a)!=this.lC(a)},Hj:function(a,b){var c=a.get("levels")||[],e=this.jDa(c),e=this.mEa(b,e),c=this.PCa(c,b),d=this.Hha(c,e[0],e[1],this.kEa(b));d||(d=this.Hha(c,e[0],e[1],l));return d},PCa:function(a,c){"preload"==c?a=this.aJ(a,b.Hq):"load"==c&&(a=this.OCa(a,b.Hq));d.hv()&&(a=this.aJ(a,b.$ca));d.E$()&& (a=this.aJ(a,b.EZ));d.If()&&(a=this.aJ(a,b.uP));d.wb()&&(a=this.aJ(a,b.tP));return a},jDa:function(a){if(0==a.length)return 1;a.sort(function(a,b){return b.get("width")-a.get("width")});return a[0].get("width")/a[0].get("height")},mEa:function(a,b){if("preload"==a)return[0,0];var c=1E4;this.VCa()||(d.If()?c=2048:d.hv()?c=2048:d.wb()&&(c=1024));return 1>b?[c*b,c]:[c,c/b]},kEa:function(a){if("load"==a)return B},VCa:function(){return d.hv()&&c.Ti("recent_ipad_use_max_res",B)},aJ:function(a,b){var c= a.filter(function(a){return a.usa(b)});0==c.length&&(c=a);return c},OCa:function(a,b){var c=a.filter(function(a){return!a.usa(b)});0==c.length&&(c=a);return c},Hha:function(a,b,c,e){function d(a){return Math.abs(a.get("width")*a.get("height")-b*c)}a=a.filter(function(a){return e!==l&&e!=a.get("grayscale",B)?B:n});if(0==a.length)return q;a.sort(function(a,b){return d(a)-d(b)});return a[0]}}}); define("J","require,kG,lh,eQ,fI,mk,lv".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("eQ"),g=a("fI"),f=a("mk"),i=a("lv"),a=b.extend(d,function(){d.call(this);this.set("x",0);this.set("y",0);this.set("offsetX",0);this.set("offsetY",0);this.set("width",0);this.set("height",0);this.set("scaleMode",i.Hs);this.set("horizontalAlign",f.ae);this.set("verticalAlign",f.Ad)});c.F("HotspotMapOverlayImageBase",a).H("Object").Q({height:"number",horizontalAlign:"enum[center, left, right]",image:"ImageResource", offsetX:"number",offsetY:"number",scaleMode:"enum[none, fill, fit_inside, fit_outside, fit_to_width, fit_to_height]",verticalAlign:"enum[bottom, middle, top]",width:"number",x:"number",y:"number"});a.prototype.fq=function(){return this.get("image")?g.fq(this.get("image")):q};a.prototype.lC=function(){return this.get("image")?g.lC(this.get("image")):q};return a});define("kH",["kG","cs"],function(a,b){return a.extend(b,function(a,c){b.call(this,a);this.Lg=c})}); define("ck",["require","kG","lh","nU","kH"],function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("kH"),a=b.extend(d,function(){d.call(this);this.SM=[];this.Ef=l;this.o="initial"});a.prototype.ks=S("SM");a.prototype.CO=function(a){this.SM!=a&&(this.SM=a,this.dx=this.Ef=l)};a.prototype.CSa=function(a){this.Ef!==a&&(this.o="loading",this.Ef=a,this.trigger(new g(c.ic,this.Ef)))};a.prototype.Haa=function(){"loaded"!==this.o&&(this.o="loaded",this.trigger(c.U))};a.prototype.aSa=function(){"loaded"!==this.o&& (this.o="error",this.trigger(c.Ac))};return a});define("de",["kG","ck"],function(a,b){var d=a.extend(b,function(a){b.call(this);this.le=a;this.n=l});d.prototype.Fe=S("le");d.prototype.UPa=function(a){return this.n!==l&&this.n===a.n};d.jda="map";d.kda="overlay";return d});define("jp",["kG","de"],function(a,b){var d=a.extend(b,function(a,d,f){b.call(this,b.kda);this.GHa=a;this.ya=d;this.Ca=f});d.prototype.getX=S("ya");d.prototype.getY=S("Ca");d.ida="image";d.hda="fov";return d}); define("ll",["kG","jp"],function(a,b){var d=a.extend(b,function(a,d,f,i,e,j,o,k,m,r,p,t){b.call(this,b.ida,f,i);this.n=a;this.kd=d;this.Qma=e;this.eu=j;this.fu=o;this.Z=k;this.ja=m;this.ef=r;this.Tk=p;this.xl=t;this.SM=[d]});d.prototype.pi=S("kd");d.prototype.fd=S("Z");d.prototype.Ud=S("ja");return d}); define("gJ","require,kG,eQ,J,fI,ll".split(","),function(a){var b=a("kG"),d=a("eQ"),c=a("J"),g=a("fI"),f=a("ll"),a=b.extend(c,function(){c.call(this);this.au=l});d.F("HotspotMapOverlayImage",a).H("HotspotMapOverlayImageBase");a.prototype.getItem=function(){return this.Ij()};a.prototype.Ij=function(a){if(this.au===l)this.au=this.eW(a);return this.au};a.prototype.eW=function(a){var b=this.get("image");if(b){b=g.fq(b);return new f(this,b.get("url"),this.get("x"),this.get("y"),a,this.get("offsetX"),this.get("offsetY"), this.get("width"),this.get("height"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"))}return q};return a});define("N",["require","kG","eQ","J"],function(a){var b=a("kG"),d=a("eQ"),c=a("J"),a=b.extend(c,function(){c.call(this)});d.F("HotspotMapOverlayMap",a).H("HotspotMapOverlayImageBase");return a}); define("fO","require,kG,lh,nU,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("eQ"),f=a("jJ"),a=b.extend(d,function(){d.call(this);this.set("opacity",1);this.set("scale",1);this.Xc=l});g.F("HotspotPanoramaOverlayImageBase",a).H("Object").Q({yaw:"number",pitch:"number",roll:"number",rotationX:"number",rotationY:"number",hfov:"number",vfov:"number",distance:"number",horizontalAlign:"enum[center, left, right]",verticalAlign:"enum[bottom, middle, top]",scaleMode:"enum[fill, fit_inside, fit_outside, fit_to_width, fit_to_height, none]", opacity:"number",scale:"number",image:"ImageResource",playbackPositions:"array[PanoramaOverlayPlaybackPosition]"}).hc([c.jc,c.pc]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc=f.j$(this);return this.Xc}return d.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var f=B;switch(a){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.Xc=l;f=n}d.prototype.set.call(this, a,b);f&&a!="playbackPositions"&&this.trigger(c.u("playbackPositions"))};return a});define("kW",["require","kG","eQ","fO"],function(a){var b=a("kG"),d=a("eQ"),c=a("fO"),a=b.extend(c,function(){c.call(this)});d.F("HotspotPanoramaOverlayImage",a).H("HotspotPanoramaOverlayImageBase");return a});define("Y",["require","kG","eQ","fO"],function(a){var b=a("kG"),d=a("eQ"),c=a("fO"),a=b.extend(c,function(){c.call(this)});d.F("HotspotPanoramaOverlayMap",a).H("HotspotPanoramaOverlayImageBase");return a}); define("kI",[],function(){function a(a){for(var b={},a=a.split(","),c=0;c\s]+))?)*)\s*(\/?)>/,d=/^<\/([-A-Za-z0-9_]+\:?[-A-Za-z0-9_]*)[^>]*>/,c=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,g=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),f=a("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"), i=a("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),e=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),j=a("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),o=a("script,style");return function(a,m){function r(a,b,d,o){b=b.toLowerCase();if(f[b])for(;u.last()&&i[u.last()];)p(0,u.last());e[b]&& u.last()==b&&p(0,b);(o=g[b]||!!o)||u.push(b);if(m.start){var k=[];d.replace(c,function(a,b,c,e,f){a=c?c:e?e:f?f:j[b]?b:"";k.push({name:b,value:a,L9:a.replace(/(^|[^\\])"/g,'$1\\"')})});m.start&&m.start(b,k,o)}}function p(a,b){if(b){b=b.toLowerCase();for(c=u.length-1;0<=c&&u[c]!=b;c--);}else var c=0;if(0<=c){for(var e=u.length-1;e>=c;e--)m.end&&m.end(u[e]);u.length=c}}var t,s,u=[],v=a;for(u.last=function(){return this[this.length-1]};a;){s=n;if(!u.last()||!o[u.last()]){if(0==a.indexOf("<\!--"))t=a.indexOf("--\>"), 0<=t&&(m.iOa&&m.iOa(a.substring(4,t)),a=a.substring(t+3),s=B);else if(0==a.indexOf("t?a:a.substring(0,t),a=0>t?"":a.substring(t),m.mN&&m.mN(s))}else a=a.replace(RegExp("(.*?)]*>"),function(a,b){b=b.replace(/<\!--(.*?)--\>/g,"$1").replace(//g,"$1");m.mN&&m.mN(b);return""}),p(0, u.last());a==v&&h("Parse Error: "+a);v=a}p()}}); define("fg","require,jquery.mod,dY,kG,nU,cs,fQ,t,kI".split(","),function(a){var b=a("jquery.mod");a("dY");var d=a("kG"),c=a("nU"),g=a("cs"),f=a("fQ"),i=a("t"),e=a("kI"),j=d.extend(f,function(a){f.call(this);this.Ze=b(a);this.KL=[];this.Aw=q});j.prototype.kQa=function(a){a&&a.toLowerCase().indexOf("=0?i.HG()==i.OH?this.kFa(a):this.jFa(a):this.iFa(a)};j.prototype.iFa=function(a){this.Ze.empty();a&&this.Ze.append(a);this.Moa()};j.prototype.kFa=function(a){this.Ze.empty();var c=this.Ze,f=q, d=[],g=q;new e(a,{start:function(a,e,d){if(a=="script"){for(var d=l,o=0;o");e.attr(i);c.append(e);if(d)f=e;else{c=e;f=q}}},mN:function(a){g?g.content=g.content+a:c.append(a)},end:function(a){if(a=="script"){d.push(g);g=q}else{f=c;c=c.parent()}}});this.KL=d;this.iS()};j.prototype.jFa=function(a){function c(){g++;return f+ g}this.Ze.empty();var f="fragment_"+d.sua(6)+"_",g=0,j=c(),i=[j],s=l,u=[],v=q,w="";new e(a,{start:function(a,b,e){if(a=="script"){e=l;for(a=0;a";s=d}else{w=w+">";i.push(d);s=l}}},mN:function(a){v? v.content=v.content+a:w=w+a},end:function(a){if(a=="script"){u.push(v);v=q}else{s=i[i.length-1];i.pop()}}});this.Ze.get(0).innerHTML=w;this.Ze.addClass(j);for(a=0;a0){this.Aw=this.KL[0];this.KL.splice(0,1);var a=this.Aw.src;if(a){var c= this;j.TFa(a,function(){c.Ria()},function(){c.$Fa()})}else{var e=this.Aw.parent,a=this.Aw.previousSibling,f;f=a?a.next():e.children(":first");a=document.write;document.write=f.length?function(a){f.before(a)}:function(a){e.append(a)};b.globalEval(this.Aw.content);document.write=a;this.Ria()}}else this.Moa()};j.prototype.$Fa=function(){this.Aw=q;this.iS()};j.prototype.Ria=function(){this.Aw=q;this.iS()};j.prototype.Moa=function(){this.trigger(new g(c.Ha))};j.Pia={};j.TFa=function(a,c,e){j.Pia[a]?c.call(window): b.ajax({url:a,async:B,dataType:"script",error:e,success:function(){j.Pia[a]=n;c.call(window)}})};return j}); define("lX",["kG","nU","cs","fQ"],function(a,b,d,c){a=a.extend(c,function(a,b){c.call(this);this.tFa=a;this.N=b;this.Qi=q});a.prototype.bind=function(){var a=c.prototype.bind.apply(this,arguments);this.OM();return a};a.prototype.unbind=function(){var a=c.prototype.unbind.apply(this,arguments);this.OM();return a};a.prototype.start=function(){this.N=n;this.OM()};a.prototype.stop=function(){this.N=B;this.OM()};a.prototype.UK=function(){this.trigger(new d(b.me))};a.prototype.OM=function(){if(this.N&& this.isa(b.me)){if(this.Qi==q){var a=this;this.Qi=setTimeout(function(){a.Qi=q;a.UK();a.OM()},this.tFa)}}else this.Qi!=q&&(clearTimeout(this.Qi),this.Qi=q)};return a}); define("kE","require,jquery.mod,dY,kG,nU,hO,mk,d,fg,ez,lX".split(","),function(a){var b=a("jquery.mod"),d=a("dY"),c=a("kG"),g=a("nU"),f=a("hO"),i=a("mk"),e=a("d"),j=a("fg"),o=a("ez"),a=a("lX"),k=c.extend(e,function(){e.call(this);this.ke("HTML");this.Pz=k.xP;this.ama=this.bma=0;this.Una=(new Date).getTime();this.KQ=this.gj=q;this.GD=this.GD.bind(this);this.r_=[]});k.prototype.ab=function(){e.prototype.ab.call(this);this.f("content");this.f("horizontalAlign",i.Ja);this.f("verticalAlign",i.Ad);this.f("fontFamily"); this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");this.f("textAlign");this.f("textDecoration");this.f("textShadowBlurRadius",3);this.f("textShadowColor","#000000");this.f("textShadowHorizontalLength",0);this.f("textShadowOpacity",0);this.f("textShadowVerticalLength",0)};k.prototype.Br=function(a){this.Sa&&f.get(this.Sa).rRa(this.GD);e.prototype.Br.call(this,a);if(this.Sa){f.get(this.Sa).GNa(this.GD);f.get(this.Sa).KG(this.GD)}};k.prototype.mb=function(){e.prototype.mb.call(this); if(!this.KQ){this.gj=document.createElement("div");this.KQ=b(this.gj);this.f1({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var a=this.Ab();a.yH(B);a.append(this.KQ);this.dia=new j(this.KQ);this.dia.bind(g.Ha,this.YEa,this,n);this.bind(g.tc,this.eia,this)}};k.prototype.Ma=function(){var a={},b=B;this.v("visible")&&(b=n);if(this.v("content")){this.dia.kQa(this.p("content"));this.I("content");b=n}if(this.v("fontFamily")){b=this.p("fontFamily");d(b).isString()||(b=""); a.fontFamily=o.$u(b);this.I("fontFamily");b=n}if(this.v("fontSize")){b=this.p("fontSize");d(b).isNumber()?b=b+"px":d(b).isString()||(b="");a.fontSize=b;this.I("fontSize");b=n}if(this.v("fontColor")){b=this.p("fontColor");d(b).isString()||(b="");a.color=b;this.I("fontColor");b=n}if(this.v("fontWeight")){b=this.p("fontWeight");switch(b){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:b= "normal"}a.fontWeight=b;this.I("fontWeight");b=n}if(this.v("fontStyle")){b=this.p("fontStyle");switch(b){case "italic":case "normal":break;default:b="normal"}a.fontStyle=b;this.I("fontStyle");b=n}if(this.v("textDecoration")){b=this.p("textDecoration");switch(b){case "underline":case "overline":case "line-through":case "none":break;default:b="none"}a.textDecoration=b;this.I("textDecoration");b=n}if(this.v("textAlign")){b=this.p("textAlign");switch(b){case "left":case "right":case "center":case "justify":break; default:b=""}a["text-align"]=b;this.I("textAlign");b=n}var c=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(d(c).any(function(a){return this.v(a)},this)){var f={};d(c).each(function(a){f[a]=this.p(a);this.I(a)},this);a["-moz-text-shadow"]=a["-webkit-text-shadow"]=a["text-shadow"]=[f.textShadowHorizontalLength+"px",f.textShadowVerticalLength+"px",f.textShadowBlurRadius+"px","rgba("+parseInt("0x"+f.textShadowColor.substr(1,2))+ ", "+parseInt("0x"+f.textShadowColor.substr(3,2))+", "+parseInt("0x"+f.textShadowColor.substr(5,2))+", "+f.textShadowOpacity+")"].join(" ");c=f.textShadowVerticalLength==0&&this.p("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(f.textShadowHorizontalLength,-f.textShadowVerticalLength)/Math.PI)*45;a.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*f.textShadowOpacity).toString(16)).slice(-2)+f.textShadowColor.substr(1,6)+",direction="+c+")"}d(["paddingTop","paddingRight", "paddingBottom","paddingLeft"]).any(function(a){return this.v(a)},this)&&(b=n);this.f1(a);b&&this.tja();e.prototype.Ma.call(this)};k.prototype.tja=function(){this.eia();this.Nb();this.p("visible")&&this.p("content")?this.NL(k.wda):this.NL(k.xP)};k.prototype.ay=function(a){for(var b=a.target;b&&b.tagName!="A"&&b.tagName!="BUTTON";)b=b.parentElement;e.prototype.ay.call(this,a,!b)};k.prototype.du=function(){e.prototype.du.call(this);var a=this.Ab();this.Zk=this.gj.clientWidth+a.XG()+a.$G();this.Yk=this.gj.clientHeight+ a.aH()+a.TG()};k.prototype.yna=function(a){if(this.x2()!=a){this.gj.style.paddingLeft=a+"px";this.Nb()}};k.prototype.x2=function(){return parseInt(this.gj.style.paddingLeft)||0};k.prototype.Ana=function(a){if(this.z2()!=a){this.gj.style.paddingTop=a+"px";this.Nb()}};k.prototype.z2=function(){return parseInt(this.gj.style.paddingTop)||0};k.prototype.zna=function(a){if(this.y2!=a){this.gj.style.paddingRight=a+"px";this.Nb()}};k.prototype.y2=function(){return parseInt(this.gj.style.paddingRight)||0}; k.prototype.xna=function(a){if(this.w2()!=a){this.gj.style.paddingBottom=a+"px";this.Nb()}};k.prototype.w2=function(){return parseInt(this.gj.style.paddingBottom)||0};k.prototype.YEa=function(){this.r_=Array.prototype.slice.call(this.gj.querySelectorAll("*[style]")).map(function(a){var b={};b.PG=a;b.style=a.getAttribute("style");return b}).filter(function(a){return m.test(a.style)}).map(function(a){for(var b=a.style,c=[];;){var e=m.exec(b);if(e){c.push(function(a){return function(){return a}}(b.substr(0, e.index+1)));c.push(function(a,b){switch(b){case "vw":return function(b){return Math.round(b*a)+"px"};case "vh":return function(b,c){return Math.round(c*a)+"px"};case "vmin":return function(b,c,e){return Math.round(e*a)+"px"};case "vmax":return function(b,c,e){return Math.round(e*a)+"px"}}}(parseFloat(e[1]),e[3].toLowerCase()));b=b.substr(e.index+e[0].length)}else{c.push(function(a){return function(){return a}}(b));a.functions=c;return a}}});this.Sa&&f.get(this.Sa).KG(this.GD)};k.prototype.GD=function(a, b,c,e){if(this.r_.length!=0){this.r_.forEach(function(f){var d=f.functions.map(function(f){return f(a,b,c,e)}).join("");f.PG.setAttribute("style",d)});this.tja()}};k.prototype.eia=function(){var a={width:"auto",height:"auto"},b=this.Ab();if(!this.K2()){this.Zk!=this.Z&&this.Nb();var c=this.Z-(b.XG()+b.$G());c>0&&(a.width=c+"px")}if(!this.Zha()){this.Yk!=this.ja&&this.Nb();b=this.ja-(b.aH()+b.TG());b>0&&(a.height=b+"px")}this.f1(a)};k.prototype.Sja=function(){var a=this.gj.clientWidth,b=this.gj.clientHeight; if(this.bma!=a||this.ama!=b){this.bma=a;this.ama=b;this.Nb();this.NL(k.wda)}else{a=(new Date).getTime()-this.Una;a>k.pya?this.NL(k.eya):a>k.oya&&this.NL(k.dya)}};k.prototype.QIa=function(){this.Una=(new Date).getTime()};k.prototype.NL=function(a){this.Pz==k.nUa&&this.QIa();if(this.Pz!=a){this.Pz!=k.xP&&k.lfa[this.Pz].unbind(g.me,this.Sja,this);this.Pz=a;this.Pz!=k.xP&&k.lfa[this.Pz].bind(g.me,this.Sja,this,n)}};k.prototype.f1=function(a){var b=this.gj.style,c;for(c in a)b[c]=a[c]};var m=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i; k.xP="stopped";k.eya="slow";k.dya="normal";k.wda="fast";k.pya=3E4;k.oya=5E3;k.lfa={slow:new a(2E3,n),normal:new a(500,n),fast:new a(100,n)};return k}); define("jD",["kG","kE","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("HTML",a).H("UIComponent").Q({content:"string",fontColor:"color",fontFamily:"string",fontSize:"or[number, size]",fontStyle:"enum[italic, normal]",fontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]",textAlign:"enum[center, justify, left, right]",textDecoration:"enum[underline, overline, line-through, none]",textShadowBlurRadius:"number",textShadowColor:"color",textShadowHorizontalLength:"number", textShadowOpacity:"number",textShadowVerticalLength:"number"}).vs(["fontSize"]);return a});define("b",["dY","kG","nq","c"],function(a,b,d,c){var g=b.extend(d,function(){d.call(this)});g.lc={layout:c.RO};a.defaults(g.lc,d.lc);g.prototype.ab=function(){this.zn(g.lc)};return g}); define("in",["kG","hn","b","kE"],function(a,b,d,c){a=a.extend(d,function(){d.call(this);this.Uw=q;this.set("contentOpaque",n)});a.prototype.ab=function(){d.prototype.ab.call(this);this.f("overflow",b.Ho);this.f("html")};a.prototype.mb=function(){d.prototype.mb.call(this);this.Uw==q&&(this.Uw=new c,this.Uw.$({left:0}),this.Oa(this.Uw))};a.prototype.Ma=function(){this.Uw.set("width",this.K2()?l:"100%");this.v("html")&&(this.Uw.set("content",this.p("html")),this.I("html"));this.Yb(["paddingLeft","paddingTop", "paddingRight","paddingBottom"],{},[this.Uw],n,n);this.Yb(["cursor"],{},[this.Uw],n,B);d.prototype.Ma.call(this)};return a}); define("bw",["require","kG","in","eQ"],function(a){var b=a("kG"),d=a("in"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("HTMLText",b).H("UIComponent").Q({html:"string",overflow:"enum[scroll, hidden, visible]",scrollBarColor:"color",scrollBarWidth:"number",scrollBarMargin:"number",scrollBarHorizontalMargin:"number",scrollBarVerticalMargin:"number",scrollBarOpacity:"number",scrollBarVisible:"enum[rollOver, always]"});return b}); define("jA","require,jquery.mod,kG,nU,cs,lB,gS,bc,lv,gq,dV,lO".split(","),function(a){function b(a,b,c){return function(e){var f;f=b=="mouse"?this.qA(e):this.BE(e);this.xia(f)?a.call(this,e):c=="release"?a.call(this,e):this.cDa(f,e)}}var d=a("jquery.mod"),c=a("kG"),g=a("nU"),f=a("cs"),i=a("lB"),e=a("gS"),j=a("bc"),o=a("lv"),k=a("gq"),m=a("dV"),r=a("lO"),p=i.Vi("debug"),a=c.extend(r,function(){this.ke("Button");r.call(this,3);this.set("autoRolledOver",n);this.set("autoPressed",n);this.set("cursor", j.yf);this.set("scaleMode",o.Rg);this.j0=document.createElement("canvas");this.j0.width=1;this.j0.height=1;this.k0=this.j0.getContext("2d");this.k0.globalCompositeOperation="copy";this.P1=B;this.bind(g.qb,this.bFa,this)});a.prototype.ab=function(){r.prototype.ab.call(this);this.f("buttonGroup");this.f("mode",m.ne);this.f("pressed");this.f("iconURL");this.f("transparencyActive");this.m("rollOverOpacity",k.P,"opacity");this.m("rollOverIconURL",k.P,"iconURL");this.m("pressedOpacity",k.bb,"opacity"); this.m("pressedIconURL",k.bb,"iconURL");this.m("pressedRollOverOpacity",k.Rb,"opacity");this.m("pressedRollOverIconURL",k.Rb,"iconURL")};a.prototype.Y1=b(r.prototype.Y1,"touch","capture");a.prototype.Vga=b(r.prototype.gDa,"touch");a.prototype.Xga=b(r.prototype.gDa,"touch","release");a.prototype.I7=b(r.prototype.I7,"touch","capture");a.prototype.H7=b(r.prototype.H7,"touch");a.prototype.ay=b(r.prototype.ay,"touch","release");a.prototype.l4=b(r.prototype.l4,"mouse","capture");a.prototype.m4=function(a){var b= this.qA(a);if(this.xia(b)||this.P1){r.prototype.m4.call(this,a);r.prototype.set.call(this,"cursor",this.aga)}else{this.P1=n;if(b=this.wha(b)){d(b).trigger(this.xfa(a));a.preventDefault();a.stopImmediatePropagation()}this.rha(b)=="pointer"?r.prototype.set.call(this,"cursor",j.yf):r.prototype.set.call(this,"cursor",j.me);this.P1=B}};a.prototype.bFa=function(){r.prototype.set.call(this,"cursor",this.aga)};a.prototype.xS=b(r.prototype.xS,"mouse","release");a.prototype.xia=function(a){if(!this.Ob)return B; if(this.get("transparencyActive"))return n;var b=this.Sa?this.Sa.Ax:1,c=this.Ob.offset(),e=(a.vy-c.left)/b,f=this.Ob.width(),a=(a.wy-c.top)/b,b=this.Ob.height();if(e>=0&&a>=0&&e0)return n}return B};a.prototype.cDa=function(a,b){var c=this.wha(a);if(c){d(c).trigger(this.xfa(b));b.preventDefault();b.stopImmediatePropagation()}};a.prototype.wha=function(a){this.Zq().style.pointerEvents= "none";a=document.elementFromPoint(a.vy,a.wy);setTimeout(function(){this.Zq().style.pointerEvents=this.Mha()}.bind(this),0);return a};a.prototype.xfa=function(a){return d.extend(d.Event(a.type),{originalEvent:a.originalEvent,wheelDelta:a.wheelDelta,detail:a.detail,which:1,clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY,screenX:a.screenX,screenY:a.screenY})};a.prototype.rha=function(a){if(a){var b=a.style.cursor;b=="inherit"&&(b=this.rha(a.parentElement))}else b="default";return b}; a.prototype.tI=function(){if(this.get("pressed")){this.set("pressed",B);this.trigger(new f(g.Sj))}else{this.set("pressed",n);this.trigger(new f(g.zi))}};a.prototype.set=function(a,b){if(a==="cursor")this.aga=b;return r.prototype.set.call(this,a,b)};a.prototype.Ma=function(){var a=B;if(this.v("backgroundOpacityy")||this.v("backgroundColor"))a=n;if(this.v("iconURL")){this.set("url",this.p("iconURL"));this.I("iconURL")}var b=B;if(this.v("mode")){if(this.p("mode")==m.ne){this.unbind(g.ca,this.tI,this, n);this.set("autoPressed",n)}else{this.bind(g.ca,this.tI,this,n);this.set("autoPressed",B)}this.I("mode");b=n}if(b||this.v("pressed"))this.p("mode")==m.Uj?this.UF(this.p("pressed")==n):b&&this.UF(B);if(this.v("buttonGroup")){(b=this.p("buttonGroup"))?e.register(this,b):e.PO(this);this.I("buttonGroup")}r.prototype.Ma.call(this);if(a){a=this.Ic();if(a.Ak()==0||a.Uz.length==0){a.Yi(0.001);a.Vua(["#000000"])}}};return a}); define("bl",["kG","jA","eQ","nU"],function(a,b,d,c){a=a.extend(b,function(){b.call(this)});d.F("IconButton",a).H("UIComponent").Q({buttonGroup:"string",iconURL:"string",mode:"enum[push, toggle]",horizontalAlign:"enum[left, center, right]",verticalAlign:"enum[bottom, middle, top]",rollOverIconURL:"string",rollOverOpacity:"number",pressed:"bool",pressedIconURL:"string",pressedOpacity:"number",pressedRollOverIconURL:"string",pressedRollOverOpacity:"number",transparencyActive:"bool"}).vi(["iconURL","rollOverIconURL", "pressedIconURL"]).hc([c.zi,c.Sj]).ih([c.ca]);return a});define("mz",["kG","eQ","hP"],function(a,b,d){a=a.extend(d,function(){d.call(this,B)});b.F("IconHotspotMapOverlay",a).H("HotspotMapOverlay");return a}); define("nn",["require","kG","nU","lO","eQ"],function(a){var b=a("kG"),d=a("nU"),c=a("lO"),a=a("eQ"),b=b.extend(c,function(){c.call(this)});b.prototype.set=function(a,b){"visible"==a&&this.get("id");c.prototype.set.call(this,a,b)};a.F("Image",b).H("UIComponent").Q({horizontalAlign:"enum[center, left, right]",scaleMode:"enum[none, fill, fit_inside, fit_outside, fit_to_width, fit_to_height]",url:"string",verticalAlign:"enum[bottom, middle, top]"}).vi(["url"]).ih([d.ca]);return b}); define("kT",["require","kG","eQ","ic"],function(a){var b=a("kG"),d=a("eQ"),c=a("ic"),a=b.extend(c,function(){c.call(this)});d.F("InnerModel3DObject",a).H("Model3DObject").Q({objectId:"string"});return a}); define("iB",["kG","iu","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("Label",a).H("UIComponent").Q({fontFamily:"string",fontSize:"or[number, size]",fontColor:"color",fontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]",fontStyle:"enum[italic, normal]",horizontalAlign:"enum[left, center, right]",verticalAlign:"enum[top, middle, bottom]",text:"string",textDecoration:"enum[underline, overline, line-through, none]",textShadowBlurRadius:"number", textShadowColor:"color",textShadowHorizontalLength:"number",textShadowOpacity:"number",textShadowVerticalLength:"number"}).vs(["fontSize"]);return a});define("bH",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("bleaching",0);this.set("bleachingDistance",0.4)});a.F("LensFlarePanoramaOverlay",b).H("PanoramaOverlay").Q({yaw:"number",pitch:"number",bleaching:"number",bleachingDistance:"number"});return b}); define("nu",["require","kG","eQ","ie"],function(a){var b=a("kG"),d=a("eQ"),c=a("ie"),a=b.extend(c,function(){c.call(this)});d.F("LivePanorama",a).H("Panorama").Q({frameDisplayTime:"number",frameTransitionTime:"number",initialFrameIndex:"number"});a.prototype.AW=function(){return this.get("initialFrameIndex",0)};return a});define("iR",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("Light",b).H("Object");return b}); define("jU",["require","dY","kG","w"],function(a){var b=a("dY"),d=a("kG"),c=a("w");return{L_:[],pa:function(a,b,c,e){this.cea(a,b,c,e,B)},RV:function(a,b,c,e){this.cea(a,b,c,e,n)},cea:function(a,b,i,e,j){function o(){for(var c=[],e=0;e=0}.bind(this))};a.prototype.Tea=function(){this.trigger(new g(c.zi))};a.prototype.Uea=function(){this.trigger(new g(c.Sj))};a.prototype.Mea=function(){this.trigger(new g(c.ca))};a.prototype.Oea=function(){this.trigger(new g(c.zb))};a.prototype.Pea=function(){this.trigger(new g(c.Wb))};a.prototype.Wea=function(a){this.Kz.push(a.source);this.Ri()};a.prototype.Vea=function(a){this.Kz=this.Kz.filter(function(b){return b!= a.source});this.Ri()};a.prototype.set=function(a,b){this.kw[a]=b;this.Ci.forEach(function(a){a.$(this.kw)}.bind(this));this.Ri()};a.prototype.Ri=function(){this.Ci.forEach(function(a){a.get("state")==e.bb&&this.Kz.indexOf(a)>=0?a.set("state",e.Rb):a.get("state")==e.Rb&&this.Kz.indexOf(a)<0&&a.set("state",e.bb)}.bind(this))};return a}); define("fV","require,dY,kG,nU,cs,gq,bc,b,d,mH,mZ".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("nU"),g=a("cs"),f=a("gq"),i=a("bc"),e=a("b"),j=a("d");a("mH");a("mZ");var o=d.extend(e,function(){e.call(this);this.ke("PlaybackBar");this.kl=this.Ef=q;this.Hg=[];this.NT=B;this.z5=this.hB=l;this.p7=B});o.lc={cursor:i.yf,overflow:"visible",height:20,position:0,duration:100,steps:l,selectedStep:l,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:l,barBackgroundColorRatios:l, barBorderColor:l,barBorderRadius:l,barBorderSize:l,barOpacity:l,liveDragging:l,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:l,playheadBackgroundColorRatios:l,playheadBorderColor:l,playheadBorderRadius:l,playheadBorderSize:l,playheadOpacity:l,playheadWidth:5,playheadHeight:30,playheadShadow:n,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:l,playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF", stepBackgroundColorDirection:l,stepBackgroundColorRatios:l,stepBorderColor:l,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:n,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:l,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:l,selectedStepBackgroundColorRatios:l,selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2, selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:n,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:l,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};b.defaults(o.lc,e.lc);o.prototype.ab=function(){this.zn(o.lc)};o.prototype.mb=function(){e.prototype.mb.call(this);(!this.Ef||!this.kl)&&this.bind(c.tc,this.THa,this,n);if(this.Ef==q){this.Ef=new j;this.Ef.$({left:"0",height:"100%", cursor:i.yf});this.Oa(this.Ef)}if(this.kl==q){this.kl=new j;this.kl.$({left:"0",cursor:i.yf});this.kl.bind(c.tc,this.WHa,this,n);this.kl.bind(c.zb,this.UHa,this,n);this.vb().bind(c.ad,this.Tla,this,n);this.bind(c.ca,this.RHa,this,n);this.kl.bind(c.Wb,this.VHa,this,n);this.Oa(this.kl)}var a=this.get("steps")||0;if(this.Hg.length!=a){for(;this.Hg.length>a;)this.bCa(this.Hg.pop());for(;this.Hg.lengthc)g.Na=2*Math.atan2(a.x,a.w),g.Ie=Math.PI/2, g.pitch=0;else{var f=a.x*a.x,i=a.z*a.z;g.Na=-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*i);g.Ie=-Math.asin(2*c);g.pitch=Math.atan2(2*a.x*a.w-2*a.y*a.z,1-2*f-2*i);g.pitch=Math.min(Math.PI/2,Math.max(-Math.PI/2,g.pitch))}g.Na*=b;g.pitch*=b;g.Ie*=-b;return g},Na:function(a){var c=a.x*a.y+a.z*a.w;return 0.499c?2*Math.atan2(a.x,a.w)*b:-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*a.z*a.z)*b}}}); define("mW",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(a,d){this.x=a||0;this.y=d||0};a.Vector2.prototype={constructor:a.Vector2,set:function(a,d){this.x=a;this.y=d;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},subVectors:function(a,d){this.x=a.x-d.x;this.y=a.y-d.y;return this}};a.Vector3=function(a,d,c){this.x=a||0;this.y=d||0;this.z=c||0};a.Vector3.prototype={constructor:a.Vector3,set:function(a,d,c){this.x=a;this.y=d;this.z= c;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var a=this.length();0!==a?this.multiplyScalar(1/a):this.z=this.y=this.x=0;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a},applyQuaternion:function(a){var d=this.x,c=this.y,g=this.z,f=a.x,i=a.y,e=a.z,a=a.w,j=a*d+i*g-e*c,o=a*c+e*d-f*g,k=a*g+f*c-i*d,d=-f*d-i*c-e*g;this.x=j*a+d*-f+o*-e-k*-i;this.y=o*a+d* -i+k*-f-j*-e;this.z=k*a+d*-e+j*-i-o*-f;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},crossVectors:function(a,d){var c=a.x,g=a.y,f=a.z,i=d.x,e=d.y,j=d.z;this.x=g*j-f*e;this.y=f*i-c*j;this.z=c*e-g*i;return this}};a.Quaternion=function(a,d,c,g){this.x=a||0;this.y=d||0;this.z=c||0;this.w=g!==l?g:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(a,d,c,g){this.x=a;this.y=d;this.z=c;this.w=g;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w; return this},$ua:function(a,d,c){var g=Math.cos(a/2),f=Math.cos(d/2),i=Math.cos(c/2),a=Math.sin(a/2),d=Math.sin(d/2),c=Math.sin(c/2);this.x=a*f*i+g*d*c;this.y=g*d*i-a*f*c;this.z=g*f*c-a*d*i;this.w=g*f*i+a*d*c;return this},setFromAxisAngle:function(a,d){var c=d/2,g=Math.sin(c);this.x=a.x*g;this.y=a.y*g;this.z=a.z*g;this.w=Math.cos(c);return this},multiply:function(a){return this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,d){var c=a.x,g=a.y,f=a.z,i=a.w,e=d.x,j=d.y,o=d.z,k=d.w;this.x= c*k+i*e+g*o-f*j;this.y=g*k+i*j+f*e-c*o;this.z=f*k+i*o+c*j-g*e;this.w=i*k-c*e-g*j-f*o;return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;this.normalize();return this},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===a?(this.z=this.y=this.x=0,this.w=1):(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a);return this},slerp:function(a,d){if(0===d)return this;if(1===d)return this.copy(a);var c=this.x,g=this.y,f=this.z,i=this.w,e=i*a.w+c*a.x+g* a.y+f*a.z;0>e?(this.w=-a.w,this.x=-a.x,this.y=-a.y,this.z=-a.z,e=-e):this.copy(a);if(1<=e)return this.w=i,this.x=c,this.y=g,this.z=f,this;var j=Math.acos(e),o=Math.sqrt(1-e*e);if(0.001>Math.abs(o))return this.w=0.5*(i+this.w),this.x=0.5*(c+this.x),this.y=0.5*(g+this.y),this.z=0.5*(f+this.z),this;e=Math.sin((1-d)*j)/o;j=Math.sin(d*j)/o;this.w=i*e+this.w*j;this.x=c*e+this.x*j;this.y=g*e+this.y*j;this.z=f*e+this.z*j;return this},setFromUnitVectors:function(){var b,d;return function(c,g){b===l&&(b=new a.Vector3); d=c.dot(g)+1;1.0E-6>d?(d=0,Math.abs(c.x)>Math.abs(c.z)?b.set(-c.y,c.x,0):b.set(0,-c.z,c.y)):b.crossVectors(c,g);this.x=b.x;this.y=b.y;this.z=b.z;this.w=d;this.normalize();return this}}()};return a}); define("fc",["require","nU","cs","fQ","mW"],function(a){function b(){o||(o=n,p=new j.Vector3(0,0,1),t=new j.Quaternion,s=new j.Quaternion(-Math.sqrt(0.5),0,0,Math.sqrt(0.5)),u=new j.Quaternion,c(),window.addEventListener("orientationchange",c,B),window.addEventListener("deviceorientation",g,B),d())}function d(){if(v&&!(m===l||r===l)){v=B;var a=j.degToRad*r;u.$ua(j.degToRad*m.beta,j.degToRad*m.alpha,-(j.degToRad*m.gamma));u.multiply(s);u.multiply(t.setFromAxisAngle(p,-a));w||(x++,5<=x&&(w=n,k.trigger(new i(f.Oc)))); k.trigger(new i(f.qa))}}function c(){r=window.orientation||0;v=n;d()}function g(a){m=a;v=n;d()}var f=a("nU"),i=a("cs"),e=a("fQ"),j=a("mW"),o=B,k=new e,m,r,p,t,s,u,v,w=B,x=0;b.prototype.es=function(){d();return u};b.prototype.bind=function(){k.bind.apply(k,arguments)};b.prototype.unbind=function(){k.unbind.apply(k,arguments)};b.prototype.stop=function(){window.removeEventListener("orientationchange",c,B);window.removeEventListener("deviceorientation",g,B)};return b}); define("it","require,nU,cs,fQ,t,mW".split(","),function(a){function b(a){this.GQa=a;this.F9=new g;this.gW=new g;this.caa=new g;this.dC=new o.Quaternion;this.baa=new o.Quaternion;this.hqa=new o.Quaternion;this.Tsa=B;this.jW=new o.Vector3;this.O$=new o.Vector3;this.IPa=new o.Quaternion}function d(){this.Jta=B;this.Ita=0;this.hN=new o.Vector3;this.JW=new o.Vector3;this.filter=new b(m);this.fRa=new c(r);this.fH=p.fH();this.Xm=p.Xm();p.U9();this.H$=p.oQa();this.lW=new o.Quaternion;p.Xm()?this.lW.setFromAxisAngle(new o.Vector3(1, 0,0),Math.PI/2):this.lW.setFromAxisAngle(new o.Vector3(1,0,0),-Math.PI/2);this.y$=new o.Quaternion;this.HH=new o.Quaternion;this.WQa=new o.Quaternion;this.WQa.setFromAxisAngle(new o.Vector3(0,0,1),-window.orientation*Math.PI/180);this.nva();p.tQa()&&this.lW.multiply(this.y$);this.Cua=new o.Quaternion;this.fH=p.fH();this.Xm=p.Xm();this.nQa=p.U9()>=66;this.xC=this.xC.bind(this);this.aO=this.aO.bind(this);this.$N=this.$N.bind(this);screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change", this.xC):window.addEventListener("orientationchange",this.xC);this.H$?window.addEventListener("deviceorientation",this.aO):window.addEventListener("devicemotion",this.$N)}function c(a){this.gRa=a;this.rX=new o.Quaternion;this.sH=q;this.Yqa=new o.Quaternion;this.cO=new o.Quaternion}function g(a,b){this.set(a,b)}var f=a("nU"),i=a("cs"),e=a("fQ"),j=a("t"),o=a("mW"),k=new e,m=0.98,r=0.04;b.prototype.FNa=function(a,b){this.F9.set(a,b)};b.prototype.KNa=function(a,b){this.gW.set(a,b);p.DQa(b-this.caa.WX)&& this.FRa();this.caa.copy(this.gW)};b.prototype.FRa=function(){if(this.Tsa){var a=this.JPa(this.gW.sample,this.gW.WX-this.caa.WX);this.IPa.multiply(a);this.dC.copy(this.baa);this.dC.multiply(a);a=new o.Quaternion;a.copy(this.dC);a.inverse();this.jW.set(0,0,-1);this.jW.applyQuaternion(a);this.jW.normalize();this.O$.copy(this.F9.sample);this.O$.normalize();a=new o.Quaternion;a.setFromUnitVectors(this.jW,this.O$);a.inverse();var b=new o.Quaternion;b.copy(this.dC);b.multiply(a);this.dC.slerp(b,1-this.GQa); this.baa.copy(this.dC)}else{this.hqa=this.ENa(this.F9.sample);this.baa.copy(this.hqa);this.Tsa=n}};b.prototype.es=S("dC");b.prototype.ENa=function(a){var b=new o.Vector3;b.copy(a);b.normalize();a=new o.Quaternion;a.setFromUnitVectors(new o.Vector3(0,0,-1),b);a.inverse();return a};b.prototype.JPa=function(a,b){var c=new o.Quaternion,e=new o.Vector3;e.copy(a);e.normalize();c.setFromAxisAngle(e,a.length()*b);return c};d.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&& screen.orientation.removeEventListener("change",this.xC);window.removeEventListener("orientationchange",this.xC);window.removeEventListener("deviceorientation",this.aO);window.removeEventListener("devicemotion",this.$N)};d.prototype.Bk=T(q);d.prototype.es=function(){var a=l;if(this.H$&&this.FQ){this.$qa=this.$qa||function(){var a=(new o.Quaternion).setFromAxisAngle(new o.Vector3(0,0,-1),0),b=new o.Quaternion;this.tU=="landscape-secondary"?b.setFromAxisAngle(new o.Vector3(0,1,0),Math.PI/-2):b.setFromAxisAngle(new o.Vector3(0, 1,0),Math.PI/2);return a.multiply(b)}();this.Zqa=this.Zqa||function(){var a=new o.Quaternion;a.setFromAxisAngle(new o.Vector3(1,0,0),-Math.PI/2);return a}();var a=this.FQ,b=new o.Quaternion;b.copy(a);b.multiply(this.Zqa);b.multiply(this.Cua);b.multiply(this.HH);b.multiplyQuaternions(this.$qa,b);if(this.wWa){b.x=0;b.z=0;b.normalize()}this.nX[0]=b.x;this.nX[1]=b.y;this.nX[2]=b.z;this.nX[3]=b.w;return this.nX}a=this.fRa.vPa(this.filter.es(),this.JW,this.sH);b=new o.Quaternion;b.copy(this.lW);b.multiply(this.Cua); b.multiply(a);b.multiply(this.HH);return b};d.prototype.aO=function(a){this.FQ=this.FQ||new o.Quaternion;var b=a.alpha,c=a.mVa,a=a.EVa,b=(b||0)*Math.PI/180,c=(c||0)*Math.PI/180,a=(a||0)*Math.PI/180;this.FQ.$ua(c,b,-a)};d.prototype.$N=function(a){var b=a.rotationRate;if(b){var c=a.accelerationIncludingGravity,a=a.timeStamp/1E3;this.fH&&(a=a/1E3);var e=a-this.sH;if(e<=p.kca||e>p.hca)this.sH=a;else{this.hN.set(-c.x,-c.y,-c.z);this.JW.set(b.alpha,b.beta,b.gamma);(this.Xm||this.fH||this.nQa)&&this.JW.multiplyScalar(Math.PI/ 180);this.filter.FNa(this.hN,a);this.filter.KNa(this.JW,a);this.sH=a;if(!this.Jta){this.Ita++;if(this.Ita>=5){this.Jta=n;k.trigger(new i(f.Oc))}}this.tU!=this.yra()&&this.xC();k.trigger(new i(f.qa))}}else{this.H$=n;window.addEventListener("deviceorientation",this.aO);window.removeEventListener("devicemotion",this.$N)}};d.prototype.bind=function(){k.bind.apply(k,arguments)};d.prototype.unbind=function(){k.unbind.apply(k,arguments)};d.prototype.xC=function(){this.nva();k.trigger(new i(f.qa))};d.prototype.nva= function(){this.HH.set(0,0,0,1);this.tU=this.yra();switch(this.tU){case "landscape-primary":this.HH.setFromAxisAngle(new o.Vector3(0,0,1),-Math.PI/2);break;case "landscape-secondary":this.HH.setFromAxisAngle(new o.Vector3(0,0,1),Math.PI/2)}this.y$.copy(this.HH);this.y$.inverse()};d.prototype.yra=function(){var a=screen.orientation&&screen.orientation.type;if(!a)switch(window.orientation){case 0:a="portrait-primary";break;case 90:a="landscape-primary";break;case -90:a="landscape-secondary";break;case 180:a= "portrait-secondary"}a=="landscape-primary"&&(this.hN.z>4.9||this.hN.z<-4.9?a=this.tU||a:this.hN.x>0&&(a="landscape-secondary"));return a};c.prototype.vPa=function(a,b,c){if(!this.sH){this.rX.copy(a);this.sH=c;return a}c=new o.Vector3;c.copy(b);c.normalize();b=b.length();if(bp.hca?B:n}};p.Xm=function(){var a=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return a}}();p.TVa=function(){var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return a}}();p.fH=function(){var a=navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return a}}();p.U9= function(){var a=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),b=a?parseInt(a[1],10):q;return function(){return b}}();p.oQa=function(){var a=B;if(p.U9()===65){var b=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(b)var b=b[1].split("."),c=b[3],a=parseInt(b[2],10)===3325&&parseInt(c,10)<148}else"getVRDisplays"in navigator&&j.browser()==j.Dk&&j.AN()&&j.md()==j.WO&&(a=n);return function(){return a}}();p.tQa=function(){return window.orientation==90||window.orientation==-90};return d}); define("hl","require,kG,nU,cs,fQ,mL,t,fc,it,lB".split(","),function(a){function b(){function a(){r=n;k.trigger(new c(d.qa))}function b(){var c;t&&(f||!m)?c=s:m&&(c=g);if(p!=c){if(p){p.unbind(d.qa,a);p.stop()}if(p=c){p.bind(d.qa,a,this,n);a()}}}var f=i.ce()==i.yi||o.Vi("debug")&&o.js("sensor")=="deviceorientation",g=new j,m=B;g.bind(d.Oc,function(){m=n;b()},this,n);var s=new e,t=B;s.bind(d.Oc,function(){t=n;b()},this,n)}a("kG");var d=a("nU"),c=a("cs"),g=a("fQ"),f=a("mL"),i=a("t"),e=a("fc"),j=a("it"), o=a("lB"),k=new g,m={},r=B,p,t=[],s=B,u=B;m.iaa=function(a){a&&t.push(a);if(m.disabled){if(i.ce()==i.yi&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(a){if(a==="granted"){u=n;c()}})["catch"](I());DeviceMotionEvent.requestPermission().then(function(a){if(a==="granted"){s=n;c()}})["catch"](I());var c=function(){if(m.disabled&&s&&u){m.disabled=B;for(b();t.length;)t.pop()()}};c()}}else for(;t.length;)t.pop()()};m.bind=function(a, b){k.bind(d.qa,a,b)};m.unbind=function(a,b){k.unbind(d.qa,a,b)};m.VQa=function(){return r};m.es=function(){r=B;if(p){var a=p.es(),a=f.mba(a);return{yaw:a.Na,pitch:a.pitch,roll:a.Ie}}return{yaw:0,pitch:0,roll:0}};if(i.ce()==i.MZ||i.ce()==i.kxa){m.available=B;m.disabled=B}else if(i.ce()==i.JH&&i.browser()==i.Dk&&window.location.protocol!="https:"&&window.location.hostname!="localhost"){m.available=n;m.disabled=n}else if(i.ce()==i.yi){m.available=n;m.disabled=n;if(!window.DeviceMotionEvent||!DeviceMotionEvent.requestPermission){var v= function(){window.removeEventListener("deviceorientation",v,B);m.disabled=B;b()};window.addEventListener("deviceorientation",v,B)}else m.iaa()}else{m.available=window.DeviceMotionEvent!=l;m.disabled=B}m.available&&!m.disabled&&b();return m});define("lW",["require"],function(){return{IUa:"single",FRONT:"front",Ja:"left",BACK:"back",Xa:"right",kc:"top",bc:"bottom"}}); define("iA",["require","lW"],function(a){var a=a("lW"),b={},d=Math.PI/180,c=new THREE.Matrix4;new THREE.Matrix4;var g=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];b.of=Math.pow(10,3);b.pY=0.5*b.of;b.Hxa=b.of;b.ada=[a.FRONT,a.Xa,a.BACK,a.Ja,a.kc,a.bc];b.Tqa=function(a,c){for(var e=b.of,d=b.pY,g=a*c,k=this.st(),m=[],r=0,p=6*g;r=v)))return s=c.origin.x+c.direction.x*v-k.x,u=c.origin.y+c.direction.y*v-k.y,k=c.origin.z+c.direction.z*v-k.z,c=(b*s+o*u+p*k)/(b*b+o*o+p*p),k=(m*s+t*u+r*k)/(m*m+t*t+r*r),b=a.faceVertexUvs[0][0][0],o=a.faceVertexUvs[0][1][2],m=a.faceVertexUvs[0][0][1],a=b.x+(o.x-b.x)*c+(m.x-b.x)*k,b=b.y+(o.y-b.y)*c+(m.y-b.y)*k,0>c||1k||1=w))){u=d.origin.x+d.direction.x*w-k.x;v=d.origin.y+d.direction.y* w-k.y;d=d.origin.z+d.direction.z*w-k.z;if(0!=(k=s*c-m*p))c=(v*c-u*p)/k,p=(v*m-u*s)/-k;else if(0!=(k=r*c-m*t))c=(v*c-u*p)/k,p=(v*m-u*s)/-k;else if(0!=(k=r*p-s*t))c=(d*p-v*t)/k,p=(d*s-v*r)/-k;else return;if(!(0>p||1c||1a;a++){var o=g[(a+3)%4],k=g[a],r=g[(a+1)%4];if(0>=k.z)m[c++]=k;else{if(0>=o.z){var p=g[d++],t=o.z/(o.z-k.z);p.x=o.x+(k.x-o.x)*t;p.y=o.y+(k.y- o.y)*t;p.z=-1.0E-5;m[c++]=p}0>=r.z&&(p=g[d++],t=k.z/(k.z-r.z),p.x=k.x+(r.x-k.x)*t,p.y=k.y+(r.y-k.y)*t,p.z=-1.0E-5,m[c++]=p)}}if(2c.x&&-1>d.x&&-1>o.x||1c.y&&-1>d.y&&-1>o.y))return n}return B};b.Uqa=function(a,c,e,g,o,k,m,r,p){for(var t=a*d,s=0.5*-t+0.5*Math.PI,u=c*d,v=0.5*(Math.PI-u)-e*d,w=0.5*b.Hxa,x=64/Math.PI,y=Math.max(2,Math.ceil(t/g*x)),x=Math.max(2,Math.ceil(u/ o*x)),D=g*y,E=o*x,H=this.st(),M=0,G=[],z=0;z<=E;z++){for(var L=[],K=v+z*u/E,A=0;A<=D;A++){var N=-(s+A*t/D);H.vertices.push(new THREE.Vector3(-w*Math.cos(N)*Math.sin(K),+w*Math.cos(K),+w*Math.sin(N)*Math.sin(K)));L.push(M++)}G.push(L)}for(s=t=0;s',w='',x='',y='',D='';if(f.wb()){s=s+" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;";m=m+" font-size:3.6vmin; line-height:4.3vmin;";r=r+" margin:5vmin 0;";p=p+" margin:5vmin 0;";t=t+" margin:3vmin 0;";u=u+" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"}else s= s+" font-size:19px; padding:17px 34px;";r=r+m;b.prototype.B0=function(){if(!this.cj){this.cj=d("
");this.cj.css({position:"fixed","z-index":e.fxa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});this.cj.html(this.YAa);d(this.cj).find("button").on("click",function(a){this.xGa(d(a.currentTarget).attr("id"))}.bind(this))}};b.prototype.J6=function(a,b){var c={},e;for(e in b)c[e]=a.css(e);this.t7.push({$el:a,css:c});a.css(b)};b.prototype.RIa= function(){for(;this.t7.length;){var a=this.t7.pop();a.$el.css(a.css)}};b.prototype.show=function(a,b,c){a||(a=I());b||(b=I());if(this.ZL){var e=this.vQ;this.vQ=function(){e();a()};var f=this.fQ;this.fQ=function(){f();b()}}else{this.B0();this.vQ=a;this.fQ=b;var g=this.CDa();if(g===l){this.ZL=n;var j=this,g=d(o.bq()||document.body);if(c!==n)g.children().each(function(){j.J6(d(this),{visibility:"hidden"})});else{this.J6(g,{overflow:"hidden"});g.children().each(function(){j.J6(d(this),{position:"absolute", "z-index":0})})}g.append(this.cj)}else{this.ZL=B;g?this.vQ():this.fQ()}}};b.prototype.hide=function(){if(this.ZL){this.ZL=B;this.cj.detach();this.RIa()}};b.prototype.CDa=function(){var a=k.getItem(this.pha());if(a=="true")return n;if(a=="false")return B};b.prototype.kna=function(a){k.setItem(this.pha(),a?"true":"false")};b.prototype.pha=function(){return this.wNa+"DontDisplay:"+window.location.pathname};b.prototype.xGa=function(a){var b=d("#tdvvriw_dontdisplay").is(":checked");this.hide();if(a=="tdvvriw_continue"){this.vQ(); b&&this.kna(n)}else if(a=="tdvvriw_cancel"){this.fQ();b&&this.kna(B)}};var a=c.extend(b,function(){var a=['
\n
',v,'
'+g("use-cardboard-info")+"
",'
","
",'
',"
",'
', '
'+g("samsung-internet-vr-app-info")+"
",'
","
",y,"
\n
",'
','","
"].join("\n");b.call(this,"ChromeAppInfoWindow", a)}),E=c.extend(b,function(){var a=['
\n
',v,'
'+g("use-cardboard-info")+"
",'
',"
",'
',"
",'
','
'+g("samsung-internet-vr-info")+"
","
",y,"
\n
", '
','","
"].join("\n");b.call(this,"SamsungInternetInfoWindow",a)}),H=c.extend(b,function(){b.call(this,"SamsungInternetForGearVRInfoWindow",['
\n
', y,'
This content requires access to the WebVR API.
To enable WebVR open the "More" menu you\'ll find above this window and then click on the "Labs" item.
','
',"
\n
"].join("\n"))}),M=c.extend(b,function(){var a=['
','
','
","
"].join("\n");b.call(this,"ExternalVRDisplayVRInfoWindow",a)});M.prototype.B0=function(){b.prototype.B0.call(this);i.Ti("vrv")===n&&this.cj.css({background:"none"})};var G=c.extend(b,function(){var a;a=f.browser()==f.Qh?window.location.protocol!="https:"?"
"+g("giroscope-disabled-http")+"
":window.DeviceMotionEvent.requestPermission? g("giroscope-disabled-safari-request-permission").map(function(a){return"
"+a+"
"}).join("\n"):g("giroscope-disabled-safari-toggle-on"):"
"+g("giroscope-disabled-http")+"
";a=['
\n
','
',a,"
",'
',"
\n
", '
','","
"].join("\n");b.call(this,"GiroscopeDisabledInfoWindow",a)}),z=c.extend(b,function(){var a=['
\n
', v,'
'+g("use-cardboard-info")+'
","
",'
',"
",y,'
It looks like this device is compatible with Gear VR. If you have a Gear VR headset you can view this content using the Carmel Web Browser (by Oculus).
','
',"
\n
"].join("\n");b.call(this,"CarmelInstallationPromptVRInfoWindow", a)}),L=c.extend(b,function(){var a=['
\n
',v,'
'+g("cardboard-v1")+"
",'
","
",'
',"
",'
'+g("cardboard-v2")+"
",'
",x,"
\n
",'
','","
"].join("\n");b.call(this,"CardboardV2InfoWindow",a)}),K=c.extend(b,function(){var a=['
', '
','
","
"].join("\n");b.call(this,"EnterVRInfoWindow",a)}),A=c.extend(b,function(){b.call(this,"PreparingVRInfoWindow",['
','
Preparing VR...
',"
"].join("\n"))}), N=c.extend(b,function(){var a=['
',w,'
\n
',D,'
'+g("use-safari-for-vr")+"
",'
',"
",'
','","
"].join("\n");b.call(this,"UseSafariVRInfoWindow",a)}),c=c.extend(b,function(){var a=['
','','
\n
\n
', '','
'+g("rotate-device")+"
","
\n
"].join("\n");b.call(this,"RotateVRInfoWindow",a)}),J={};J.Gxa=new E;J.HUa=new H;J.Xba=new M;J.mUa=new z;J.qUa=new K;J.BUa=new A;J.oda=new N;J.WH=new c;J.aca=new G;J.Gwa=new a;J.nY=new L;return J});define("cV",["require"],function(){return{Tl:"Cardboard",aya:"WebVR",bya:"WebXR"}}); define("gZ","require,la,t,hG,lB,bg".split(","),function(a){var b=a("la"),d=a("t"),c=a("hG"),g=a("lB");a("bg");var f={EQa:function(a){return this.iH(a)||this.$sa(a)?n:B},Xs:function(){var a=d.hRa();f.Xs=function(){return a};return a},$sa:function(a){return typeof a=="string"&&c.is(a,c.Wl)?n:B},QVa:function(a){return this.C$(a)||this.D$(a)?n:B},D$:function(a){return typeof a=="string"&&(c.is(a,c.dxa)||c.ty(a,c.exa))?n:B},iH:function(a){return!!a&&!!a.tagName&&a.tagName=="VIDEO"},uy:function(a){return typeof a== "string"&&c.is(a,c.mn)||this.iH(a)&&c.is(a.currentSrc,c.mn)?n:B},Fl:function(a){return typeof a=="string"&&c.is(a,c.Wl)||this.iH(a)&&c.is(a.currentSrc,c.Wl)?n:B},C$:function(a){return!!a&&!!a.tagName&&a.tagName=="IMG"},Lsa:function(a){return!!a&&!!a.tagName&&a.tagName=="CANVAS"},Rra:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},Vsa:function(a){return a!==0&&(a&a-1)===0},Osa:function(){return d.browser()==d.Sl},vQa:function(){return d.browser()==d.Fv},Xm:function(){return d.ce()== d.yi}},i=d.ce()==d.JH&&!d.If()&&d.QNa()<11;f.uwa=function(a){if(j)return n;if(d.B9()&&d.mO()<15.1)if(d.mO()>=15){if(d.tsa())return n}else if(f.uy(a))return n;if(f.vQa())return n;if(f.Xm()){if(d.py()==d.aD&&d.sC()>=15)return B;if(f.uy(a)){if(!b.Fsa||d.sC()>=14&&d.sC()<14.6)return n}else if(d.sC()<12||a&&a.videoWidth&&a.videoHeight&&a.videoWidth*a.videoHeight<=262144)return n}return i&&a&&a.currentTime<0.2?n:B};f.ysa=function(){return f.Osa()||f.Xm()};f.xsa=function(){return f.Xm()&&b.Fsa&&d.sC()<11}; var e=B;f.Jsa=function(){e=B};f.mQa=function(){return e};f.RRa=function(){e=n};var j=g.Vi("vic");f.dRa=function(){f.Xm()&&(j=n)};f.Tra=function(a){return{alpha:n,depth:n,stencil:n,antialias:d.Wsa()||d.qQa()||d.B$()||d.Rsa()||d.xQa()||d.zQa()||d.ata()?B:a||B,premultipliedAlpha:n,preserveDrawingBuffer:B,powerPreference:"default",failIfMajorPerformanceCaveat:B,xrCompatible:!f.Osa()}};f.E9=function(a,b){var c=f.Tra(b);return a.getContext("webgl",c)||a.getContext("experimental-webgl",c)};f.tOa=function(a){var b= f.Tra(n);return a.getContext("webgl2",b)};f.getPixelRatio=function(){if(d.wb()){var a=0,b=0;try{a=window.top.innerWidth;b=window.top.innerHeight}catch(c){if(d.ce()==d.JH&&window.devicePixelRatio>1)return window.devicePixelRatio}var e=window.devicePixelRatio||1,a=[Math.max(document.documentElement.clientWidth,a),Math.max(document.documentElement.clientHeight,b)].sort(function(a,b){return b-a}),e=[screen.width*e,screen.height*e].sort(function(a,b){return b-a}),e=[e[0]/a[0],e[1]/a[1]].sort()[0];if(e!== Infinity)return e}else if(d.ce()==d.hxa&&d.browser()==d.Dk)return 1;return window.devicePixelRatio};return f}); define("dK","require,kG,jquery.mod,dY,nS,bY,nU,t,d,mH,mZ".split(","),function(a){function b(){this.ub=B;this.sM=q;this.ja=this.Z=100;this.c3=this.$h=l;this.d3=100;this.ea=document.createElement("div");this.ea.style.opacity=0;this.ea.style.display="none";this.ea.style.pWa="opacity 0.3s";this.ea.addEventListener("transitionend",this.N7.bind(this));this.Wd=document.createElement("div");this.Rua(n);this.Wd.style.position="absolute";this.Wd.style.left=0;this.Wd.style.top=0;this.Wd.style.right=0;this.Wd.style.bottom= 0;this.ea.appendChild(this.Wd);this.Ob=document.createElement("img");this.Ob.style.cursor="pointer";this.Ob.style.position="absolute";this.Ob.style.left="50%";this.Ob.style.top="50%";this.Ob.style.transform="translate(-50%, -50%)";this.ea.appendChild(this.Ob);this.PZ=g(this.ea)}function d(a,b){this.reason=a;this.Yu=b}var c=a("kG"),g=a("jquery.mod");a("dY");a("nS");var f=a("bY"),i=a("nU"),e=a("t"),j=a("d"),o=a("mH"),k=a("mZ"),m=c.extend(j,function(){j.call(this);this.ke("UserInteractionWindow");this.Tb= q;this.vr=[];var a=new o;a.set("duration",500);a.set("easing","cubic_in");var b=new k;b.set("duration",500);b.set("easing","cubic_out");this.$({contentOpaque:n,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:B});this.bind(i.tc,this.P8,this,n);this.bind(i.ca,this.lNa,this,n)});m.prototype.P8=function(){this.Tb&&this.Tb.setSize(this.Se(),this.Re())};m.prototype.lNa=function(){var a=this.vr.slice();this.vr=[];this.yV();a.forEach(function(a){a.Yu.call(a.context)})};m.prototype.mb=function(){j.prototype.mb.call(this); if(!this.Tb){this.Tb=new b;this.Tb.setSize(this.Se(),this.Re());this.Tb.Jf(n);this.Ab().append(this.Tb.Mc().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"}));this.yV()}};m.prototype.Lo=function(){j.prototype.Lo.call(this);this.getParent().bind(i.tc,this.P8,this,n);m.Eya(this)};m.prototype.Lm=function(){this.getParent().unbind(i.tc,this.P8,this,n);j.prototype.Lm.call(this);m.yIa(this)};m.prototype.BRa=function(a){this.ur(p,a)};m.prototype.jaa=function(a){this.ur(r,a)};m.prototype.ur= function(a,b){this.vr.push(new d(a,b));this.vr.sort(function(a,b){return t[a.reason]-t[b.reason]});this.yV()};m.prototype.aOa=function(a){this.cancel(p,a)};m.prototype.ZNa=function(){this.cancel(r,l)};m.prototype.cancel=function(a,b){var c=this.sEa(a,b);c>=0&&this.IIa(c)};m.prototype.Qea=function(){this.KP(n)};m.prototype.UP=function(){this.KP(B)};m.prototype.sEa=function(a,b){for(var c=0;c0?this.vr[0]:q};var r="vr",p="play",t={};t[r]=0;t[p]=1;b.prototype.Mc=S("PZ");b.prototype.setSize=function(a,b){if(this.Z!==a||this.ja!==b){this.Z=a;this.ja=b;this.zV()}};b.prototype.Rua=function(a){this.Wd.style.backdropFilter=a?"blur(8px)": "none"};b.prototype.Jf=function(a){if(this.ub!=a){this.ub=a;if(this.sM){clearTimeout(this.sM);this.sM=q}if(this.ub){this.ea.style.display="block";this.ea.style.opacity=0;this.sM=setTimeout(function(){this.sM=q;this.ea.style.opacity=1}.bind(this),30)}else this.ea.style.opacity=0}};b.prototype.Gaa=function(a){if(this.$h!=a){this.$h=a;this.BMa()}};b.prototype.N7=function(){if(!this.ub)this.ea.style.display="none"};b.prototype.BMa=function(){switch(this.$h){case b.eZ:this.c3=f.mz;this.d3=f.Bxa;break; case b.cca:this.c3=f.Vxa;this.d3=f.Xxa}this.Ob.src=this.c3;this.zV()};b.prototype.zV=function(){if(e.wb()){this.Ob.style.maxWidth=Math.round(this.Z*0.5)+"px";this.Ob.style.width="20vmin"}else{this.Ob.style.maxWidth=Math.round(this.Z*0.33)+"px";this.Ob.style.width=this.d3+"px"}};b.eZ="play";b.cca="vr";m.Lca=b;m.Zc=[];m.o5=[];m.Eya=function(a){m.Zc.push(a);m.o5.forEach(function(b){m.pia(a,b)});m.o5=[]};m.yIa=function(a){m.Zc.splice(m.Zc.indexOf(a),1)};m.ready=function(){return m.Zc.length>0};m.jaa= function(a){m.Zc.length?m.Zc.forEach(function(b){m.pia(b,a)}):m.o5.push(a)};m.pia=function(a,b){a.jaa(function(){m.Zc.forEach(function(b){b!=a&&b.ZNa()});b()})};return m}); define("nD",["require"],function(){var a={ln:{}};a.ln.NONE="none";a.ln.Ja="left";a.ln.Xa="right";a.Vj=function(){this.y=this.x=0;this.height=this.width=1};a.pda=function(){this.eye=a.ln.NONE;this.viewport=new a.Vj;this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.projectionMatrix=new THREE.Matrix4};a.Ywa=function(){this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.views=[];this.tW=[]};a.jxa=function(){this.zN=q;this.io=200;this.Vm=100;this.pW=1};return a}); define("dP",["require"],function(){return{gP:"gaze",cZ:"gaze_click"}}); define("gL","require,kG,nU,gZ,fQ,dK,nD,t,ip,lB,dP".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("gZ"),g=a("fQ"),f=a("dK"),i=a("nD"),e=a("t"),j=a("ip"),o=a("lB"),k=a("dP"),a=b.extend(g,function(){g.call(this);this.Yma=k.gP;this.Sn=[];this.sd=new i.Ywa;this.Ii=new i.pda;this.Ii.eye=i.ln.Ja;this.Ni=new i.pda;this.Ni.eye=i.ln.Xa;this.sd.views=[this.Ii,this.Ni];this.fe=new i.jxa;this.bind(d.qa,this.TA,this,B)});a.prototype.hq=I();a.prototype.yk=I();a.prototype.Hf=I();a.prototype.DW=S("fe");a.prototype.cs= S("sd");a.prototype.yb=I();a.prototype.isPresenting=I();a.prototype.Fe=I();a.prototype.IW=S("Yma");a.prototype.mC=I();a.prototype.CG=function(a){this.Sn.indexOf(a)<0&&this.Sn.push(a)};a.prototype.wX=function(a){this.Sn.splice(this.Sn.indexOf(a),1);this.mC()==a&&this.Hf()};a.prototype.IX=function(a){var b=this.Sn.indexOf(a);if(!(b<0||b==this.Sn.length-1)){this.Sn.splice(b,1);this.Sn.splice(this.Sn.length,0,a)}};a.prototype.lEa=function(){return this.Sn.length>0?this.Sn[this.Sn.length-1]:q};a.prototype.B6= function(){var a=this.lEa();if(a==q){a=document.createElement("canvas");a=c.E9(a);this.CG(a)}return a};a.prototype.eU=function(a){f.jaa(a)};a.prototype.c7=function(a){if(e.md()==e.XC){this.g6();j.Gwa.show(a,function(){this.gea()}.bind(this))}else e.AN()&&e.md()==e.NH?j.Gxa.show(a):e.md()==e.UO?j.oda.show(a):e.md()==e.VO?j.oda.show():a()};a.prototype.C6=function(a){var b=function(b){this.Yma=b;a()}.bind(this);!e.wb()||e.If()?b(k.gP):o.js("cardboard_version")=="1"?b(k.gP):o.js("cardboard_version")== "2"?b(k.cZ):j.nY.show(function(){b(k.cZ)}.bind(this),function(){b(k.gP)}.bind(this))};a.prototype.TA=function(){e.wb()||(this.isPresenting()?j.Xba.show(this.Hf.bind(this)):j.Xba.hide())};a.prototype.gea=function(){this.g6();var a=this.$ha();a.push("vr");this.qea(a)};a.prototype.g6=function(){this.qea(this.$ha().filter(function(a){return a!="vr"}))};a.prototype.$ha=function(){var a=window.location.hash.substring(1);return a.length?a.split("&"):[]};a.prototype.qea=function(a){window.location.hash="#"+ (a.length?a.join("&"):"")};return a}); define("r",["require","jquery.mod","mt"],function(a){function b(){k.get(0)==document.body&&i.height(window.innerHeight)}function d(a,b){var c={},e;for(e in b)c[e]=a.css(e);m.push({$el:a,css:c});a.css(b)}function c(a){this.ea=a}var g=a("jquery.mod"),f=a("mt");c.prototype.yk=function(){this.enabled()||this.toggle()};c.prototype.Hf=function(){this.enabled()&&this.toggle()};c.prototype.toggle=function(){this.enabled()?c.cancel():c.Xi(this.ea)};c.prototype.enabled=function(){return c.enabled(this.ea)}; var i=g("
").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),e=g("
"),j=q,o=q,k=q,m=[],r=q;c.Xi=function(a){if(a!==j){c.cancel();j=a;var m=f.bq()||document.body;o=g(a);k=g(m);e.insertAfter(o);o.appendTo(i);k.children().each(function(){d(g(this),{visibility:"hidden"})});d(o,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});m==document.body?d(i,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,padding:0}):d(i,{position:"absolute", left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});i.appendTo(k);b();r=setInterval(b,300)}};c.cancel=function(){if(j){i.detach();o.insertBefore(e);for(e.detach();m.length;){var a=m.pop();a.$el.css(a.css)}k=o=j=q;m=[];clearInterval(r)}};c.enabled=function(a){return j==a};return c}); define("ky","require,kG,nU,cs,fQ,nS,bY".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("cs"),g=a("fQ"),f=a("nS"),a=a("bY"),i=['
','','
\n
\n
'].join("\n"),e=i+['','
'+ f("rotate-device")+"
"].join("\n")+"
\n
",j=i+['','
Please, swipe up to
enter Fullscreen Mode
'].join("\n")+"
\n
",b=b.extend(g,function(){g.call(this);this.gl=this.xn=this.yn=this.IJ=this.JJ=this.M3=this.N3=l; this.HR=B;this.Qx=this.A5=this.L3=this.Ze=q;this.Uga=[];this.o3=this.Gp=B;this.Vb=this.Vb.bind(this)});b.prototype.Xi=function(){if(!this.Gp){this.Gp=n;this.A0();window.addEventListener("resize",this.Vb);document.body.appendChild(this.Ze);document.body.appendChild(this.Qx);this.fLa=document.documentElement.style.overflow;this.eLa=document.body.style.overflow;document.documentElement.style.overflow="auto";document.body.style.overflow="auto";this.TK()}};b.prototype.cancel=function(){if(this.Gp){this.Gp= B;window.removeEventListener("resize",this.Vb);document.body.style.overflow=this.eLa;document.documentElement.style.overflow=this.fLa;document.body.removeChild(this.Ze);document.body.removeChild(this.Qx);this.ona(B)}};b.prototype.enabled=S("HR");b.prototype.A0=function(){if(!this.Ze){this.Ze=this.zQ({position:"fixed",top:0,left:0,zIndex:9999998},n);this.Ze.id="tdvminuictr";this.A5=this.zQ({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},n,e);this.Ze.appendChild(this.A5);this.L3= this.zQ({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},n,j);this.Ze.appendChild(this.L3);this.Qx=this.zQ({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},B);this.Qx.id="tdvminuiscrl";this.Qx.addEventListener("touchend",this.Vb)}};b.prototype.zQ=function(a,b,c){var e=document.createElement("div");this.OL(e,a);c!==l&&this.MJa(e,c);b&&this.Uga.push(e);return e};b.prototype.Vb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.T4.bind(this), a)}.bind(this))};b.prototype.T4=function(){(this.yn!=window.innerWidth||this.xn!=window.innerHeight)&&this.TK()};b.prototype.TK=function(){this.yn=window.innerWidth;this.xn=window.innerHeight;this.gl=this.yn>this.xn?"landscape":"portrait";var a;if(this.gl=="landscape"){if(this.N3&&this.M3&&this.MFa(this.N3,this.M3)&&(!this.JJ&&!this.IJ||this.NFa(this.JJ,this.IJ))){this.JJ=this.yn;this.IJ=this.xn}if(this.HFa()){this.JJ=this.yn;this.IJ=this.xn}this.N3=this.yn;this.M3=this.xn;a=this.JJ==this.yn&&this.IJ== this.xn}else a=B;this.Uga.forEach(function(a){a.style.height=this.xn+"px";a.style.width=this.yn+"px"}.bind(this));var b=this.Gp&&this.gl=="portrait",c=this.Gp&&this.gl=="landscape"&&!a,e=this.Gp&&this.gl=="landscape";this.OL(this.Ze,{display:b||c?"block":"none"});this.OL(this.A5,{display:b?"block":"none"});this.OL(this.L3,{display:c?"block":"none"});this.OL(this.Qx,{display:e?"block":"none",right:c?0:"99.9%"});this.ona(a)};b.prototype.ona=function(a){if(this.yU!=q){clearTimeout(this.yU);this.yU=q}if(this.HR!= a)this.yU=setTimeout(function(){this.yU=q;(this.HR=a)?this.trigger(new c(d.hn)):this.trigger(new c(d.Ha));this.trigger(new c(d.qa))}.bind(this),a?1E3:0)};b.prototype.HFa=function(){var a=window.innerWidth,b=window.innerHeight,c=Infinity;[[480,320],[960,640],[1136,640],[1334,750],[1920,1080],[2001,1125],[2048,1536],[2172,1125],[2208,1242],[2732,2048],[2436,1125]].forEach(function(e){c=Math.min(c,Math.abs(100-100*a*e[1]/(b*e[0])))});return c<=1?n:B};b.prototype.MFa=function(a,b){return a*window.innerHeight> b*window.innerWidth};b.prototype.NFa=function(a,b){return a*window.innerHeight>=b*window.innerWidth};b.prototype.OL=function(a,b){for(var c in b)a.style[c]=b[c]};b.prototype.MJa=function(a,b){a.innerHTML=b};return new b}); define("nZ","require,hy,t,mm,hs,bQ".split(","),function(a){var b=a("hy"),d=a("t"),c=a("mm"),g=a("hs"),f=a("bQ");if(d.browser()==d.Dk){a=function(){this.j=new c;this.j.src="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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";this.j.loop= n;this.j.gv=n;this.nb=q};a.prototype.yX=T(n);a.prototype.Fe=function(){return g.Wl};a.prototype.k$=function(){return b.Uxa};a.prototype.J9=function(a){this.nb=a;this.nb.play(q,this.j,0)};a.prototype.J$=function(){this.nb=q};var i=B,e=new a;return{enable:function(){if(!i){i=n;f.o9(e)}},disable:function(){if(i){i=B;f.pH(e)}}}}return{enable:I(),disable:I()}}); define("jO",["require","jquery.mod","nS","bY"],function(a){function b(){this.cj=q;this.N=B;this.Vb=this.Vb.bind(this);this.xn=this.yn=this.gl=l}var d=a("jquery.mod"),c=a("nS"),g=a("bY");b.prototype.st=function(){this.cj||(this.cj=d("
"),this.cj.css({position:"fixed","z-index":1E6,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.cj.html(['
','','
\n
\n
','','
'+c("rotate-device")+"
","
\n
"].join("\n")))};b.prototype.show=function(a){this.N||(this.N=n,this.st(), d(a).append(this.cj),d(window).on("resize",this.Vb),this.TK())};b.prototype.hide=function(){this.N&&(this.N=B,d(window).off("resize",this.Vb),this.cj.detach())};b.prototype.Vb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.T4.bind(this),a)}.bind(this))};b.prototype.T4=function(){(this.yn!=window.innerWidth||this.xn!=window.innerHeight)&&this.TK()};b.prototype.TK=function(){this.yn=window.innerWidth;this.xn=window.innerHeight;this.gl=this.yn>this.xn?"landscape":"portrait";this.cj.toggle("landscape"!= this.gl)};return new b}); define("ki","require,kG,nU,cs,iA,la,t,hl,ip,cp,cV,gL,d,bg,mt,r,ky,nZ,jO".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("cs"),g=a("iA"),f=a("la"),i=a("t"),e=a("hl"),j=a("ip"),o=a("cp"),k=a("cV"),m=a("gL"),r=a("d"),p=a("bg"),t=a("mt"),s=a("r"),u=a("ky"),v=a("nZ"),w=a("jO"),x=b.extend(m,function(){m.call(this);this.yj=this.Gg=this.Nh=this.IL=this.Zt=this.vk=this.wd=q;this.le=k.Tl;this.yb=this.yb.bind(this)});x.prototype.hq=function(a){if(this.vJ()){var b=function(b){if(this.wd=b.length?b[0]:q){this.wd.depthNear= 0.1;this.wd.depthFar=2*g.of;this.vk="VRFrameData"in window?new VRFrameData:q;window.addEventListener("vrdisplaypresentchange",this.G5.bind(this),B);u.bind(d.Ha,this.Hf.bind(this))}a(!!this.wd)}.bind(this),c=window.WebVRConfig||(window.WebVRConfig={});c.BUFFER_SCALE=x.IG;c.ALWAYS_APPEND_POLYFILL_DISPLAY=n;c.LOCK_ORIENTATION=B;o.rda.load(function(){navigator.getVRDisplays().then(b)["catch"](function(){b([])})}.bind(this))}else a(B)};x.prototype.yk=function(){!this.isPresenting()&&!this.Gg&&this.AB(function(){this.c7(function(){this.C6(function(){if(!this.isPresenting()&& !this.Gg){this.Gg=this.B6();this.Z6();this.wd.requestPresent([{source:this.Gg.canvas}]).then(function(){this.yj=this.Gg;this.Gg=q;i.md()!=i.LH&&w.show(t.bq());this.GF();this.bN()}.bind(this))["catch"](function(){this.Gg=q;this.rM()}.bind(this))}}.bind(this))}.bind(this))}.bind(this))};x.prototype.Hf=function(){this.isPresenting()&&this.wd.exitPresent()};x.prototype.yb=function(a){return this.wd.requestAnimationFrame(function(b){var c=this.GF();c&&this.TB();a(b);c&&this.wd.submitFrame()}.bind(this))}; x.prototype.isPresenting=function(){return!!this.wd&&this.wd.isPresenting};x.prototype.mC=S("yj");x.prototype.Fe=S("le");x.prototype.G5=function(){if(this.isPresenting())p.KX(this.yb,this.wd.cancelAnimationFrame.bind(this.wd));else{p.kaa();(this.yj||this.Gg)&&this.rM()}this.trigger(new c(d.qa))};x.prototype.vJ=function(){return e.available&&f.xba&&i.wb()&&i.py()!=i.aD};x.prototype.AB=function(a){if(e.disabled)j.aca.show(function(){e.iaa(function(){this.AB(a)}.bind(this))});else if(t.enabled()||!r.SN()){t.Hf(); this.eU(function(){this.AB(a)}.bind(this))}else a()};x.prototype.Z6=function(){s.Xi(this.Gg.canvas);i.md()==i.MH?this.gea():v.enable();i.md()==i.LH&&u.Xi()};x.prototype.GF=function(){this.wd.getFrameData(this.vk);if(!this.vk.pose||!this.vk.pose.orientation)return B;this.Zt=this.wd.getEyeParameters("left");this.IL=this.wd.getEyeParameters("right");var a=this.wd.getLayers();this.Nh=a&&a.length&&a[0]||q;return!this.Nh?B:n};x.prototype.bN=function(){this.fe.zN=q;this.fe.io=this.Zt.renderWidth*2;this.fe.Vm= this.Zt.renderHeight;this.fe.pW=1};x.prototype.TB=function(){var a=this.vk.pose;this.sd.orientation.fromArray(a&&a.orientation||y);this.sd.position.fromArray(a&&a.position||D);this.e9()};x.prototype.e9=function(){this.Ii.position.fromArray(this.Zt.offset);this.Ii.orientation.fromArray(y);this.Ii.projectionMatrix.fromArray(this.vk.leftProjectionMatrix);this.Ii.viewport.x=Math.round(this.fe.io*this.Nh.leftBounds[0]);this.Ii.viewport.y=Math.round(this.fe.Vm*this.Nh.leftBounds[1]);this.Ii.viewport.width= Math.round(this.fe.io*this.Nh.leftBounds[2]);this.Ii.viewport.height=Math.round(this.fe.Vm*this.Nh.leftBounds[3]);this.Ni.position.fromArray(this.IL.offset);this.Ni.orientation.fromArray(y);this.Ni.projectionMatrix.fromArray(this.vk.rightProjectionMatrix);this.Ni.viewport.x=Math.round(this.fe.io*this.Nh.rightBounds[0]);this.Ni.viewport.y=Math.round(this.fe.Vm*this.Nh.rightBounds[1]);this.Ni.viewport.width=Math.round(this.fe.io*this.Nh.rightBounds[2]);this.Ni.viewport.height=Math.round(this.fe.Vm* this.Nh.rightBounds[3])};x.prototype.rM=function(){this.g6();this.yj=this.Gg=q;u.cancel();s.cancel();v.disable();w.hide()};x.IG=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var y=[0,0,0,1],D=[0,0,0];return x}); define("iw","require,kG,cs,nU,t,cV,gL,iA,d,bg,r".split(","),function(a){var b=a("kG"),d=a("cs"),c=a("nU"),g=a("t"),f=a("cV"),i=a("gL"),e=a("iA"),j=a("d"),o=a("bg"),k=a("r"),a=b.extend(i,function(){i.call(this);this.yj=this.Gg=this.Nh=this.IL=this.Zt=this.vk=this.wd=q;this.yb=this.yb.bind(this)});a.prototype.hq=function(a){if(this.vJ()){var b=function(b){if(this.wd=b.length?b[0]:q){this.wd.depthNear=0.1;this.wd.depthFar=2*e.of;this.vk="VRFrameData"in window?new VRFrameData:q;window.addEventListener("vrdisplaypresentchange", this.G5.bind(this),B);window.addEventListener("vrdisplayactivate",this.Wla.bind(this));window.addEventListener("vrdisplaydeactivate",this.Hf.bind(this))}a(!!this.wd)}.bind(this);navigator.getVRDisplays().then(b)["catch"](function(){b([])})}else a(B)};a.prototype.yk=function(a){!this.isPresenting()&&!this.Gg&&this.AB(a,function(){this.c7(function(){this.C6(function(){!this.isPresenting()&&!this.Gg&&this.Wla()}.bind(this))}.bind(this))}.bind(this))};a.prototype.Hf=function(){this.isPresenting()&&this.wd.exitPresent()}; a.prototype.yb=function(a){return this.wd.requestAnimationFrame(function(b){var c=this.GF();c&&this.TB();a(b);c&&this.wd.submitFrame()}.bind(this))};a.prototype.isPresenting=function(){return!!this.wd&&this.wd.isPresenting};a.prototype.mC=S("yj");a.prototype.Fe=function(){return f.aya};a.prototype.vJ=function(){return"getVRDisplays"in navigator&&!window.WebVRConfig};a.prototype.G5=function(){if(this.isPresenting()){o.KX(this.yb,this.wd.cancelAnimationFrame.bind(this.wd));this.GF()&&this.TB()}else{o.kaa(); (this.yj||this.Gg)&&this.rM()}this.trigger(new d(c.qa))};a.prototype.AB=function(a,b){a||j.SN()?b():this.eU(function(){b()})};a.prototype.Wla=function(){this.Gg=this.B6();this.Z6();this.wd.requestPresent([{source:this.Gg.canvas,attributes:{foveationLevel:3}}]).then(function(){this.yj=this.Gg;this.Gg=q;this.GF()&&this.TB()}.bind(this))["catch"](function(){this.Gg=q;this.rM()}.bind(this))};a.prototype.Z6=function(){k.Xi(this.Gg.canvas)};a.prototype.GF=function(){this.wd.getFrameData(this.vk);if(!this.vk.pose|| !this.vk.pose.orientation)return B;this.Zt=this.wd.getEyeParameters("left");this.IL=this.wd.getEyeParameters("right");var a=this.wd.getLayers();this.Nh=a&&a.length&&a[0]||q;return!this.Nh?B:n};a.prototype.TB=function(){this.bN();var a=this.vk.pose;this.sd.orientation.fromArray(a&&a.orientation||m);this.sd.position.fromArray(a&&a.position||r);this.e9()};a.prototype.bN=function(){this.fe.zN=q;this.fe.io=this.Zt.renderWidth*2;this.fe.Vm=this.Zt.renderHeight;this.fe.pW=g.If()?2048/this.fe.Vm:1};a.prototype.e9= function(){this.Ii.position.fromArray(this.Zt.offset);this.Ii.orientation.fromArray(m);this.Ii.projectionMatrix.fromArray(this.vk.leftProjectionMatrix);var a=this.Nh.leftBounds&&this.Nh.leftBounds.length==4?this.Nh.leftBounds:p;this.Ii.viewport.x=Math.round(this.fe.io*a[0]);this.Ii.viewport.y=Math.round(this.fe.Vm*a[1]);this.Ii.viewport.width=Math.round(this.fe.io*a[2]);this.Ii.viewport.height=Math.round(this.fe.Vm*a[3]);this.Ni.position.fromArray(this.IL.offset);this.Ni.orientation.fromArray(m); this.Ni.projectionMatrix.fromArray(this.vk.rightProjectionMatrix);a=this.Nh.rightBounds&&this.Nh.rightBounds.length==4?this.Nh.rightBounds:t;this.Ni.viewport.x=Math.round(this.fe.io*a[0]);this.Ni.viewport.y=Math.round(this.fe.Vm*a[1]);this.Ni.viewport.width=Math.round(this.fe.io*a[2]);this.Ni.viewport.height=Math.round(this.fe.Vm*a[3])};a.prototype.rM=function(){this.yj=this.Gg=q;k.cancel()};var m=[0,0,0,1],r=[0,0,0],p=[0,0,0.5,1],t=[0.5,0,0.5,1];return a}); define("jX","require,kG,cs,nU,t,lN,cV,gL,iA,d,bg,r,lm,gI".split(","),function(a){function b(a){setTimeout(a,10)}var d=a("kG"),c=a("cs"),g=a("nU"),f=a("t"),i=a("lN"),e=a("cV"),j=a("gL"),o=a("iA"),k=a("d"),m=a("bg"),r=a("r"),p=a("lm"),t=a("gI"),s=d.extend(j,function(){j.call(this);this.UB=this.dN=this.Si=this.yj=q;this.SF="stopped";this.yb=this.yb.bind(this);this.F6=this.F6.bind(this);this.G6=this.G6.bind(this);this.H6=this.H6.bind(this);this.hy=B;p.GH(function(){b(function(){this.hy=n}.bind(this))}.bind(this))}); s.prototype.hq=function(a){if(this.vJ())this.vLa().then(function(b){b?a(n):a(B)})["catch"](function(){a(B)});else a(B)};s.prototype.yk=function(){this.SF=="stopped"&&this.AB(function(){this.c7(function(){this.C6(function(){setTimeout(function(){this.XKa()}.bind(this),200)}.bind(this))}.bind(this))}.bind(this))};s.prototype.XKa=function(){if(this.SF=="stopped"){this.SF="starting";this.trigger(new c(g.qa));m.Naa(n);navigator.xr.requestSession("immersive-vr").then(function(a){this.Si=a;this.Si.addEventListener("end", this.F6);this.Si.addEventListener("select",this.G6);this.Si.addEventListener("visibilitychange",this.H6);return this.Si.requestReferenceSpace("local")}.bind(this)).then(function(a){this.dN=a;this.yj=this.B6();return this.yj.makeXRCompatible()}.bind(this)).then(function(){f.wb()&&r.Xi(this.yj.canvas);var a=XRWebGLLayer.getNativeFramebufferScaleFactor(this.Si),a=Math.max(a,1);f.B$()?a=a*1:f.Zsa()?a=a*1:f.If()?a=a*1.42222:f.wb()&&(a=a*s.IG);this.UB=new XRWebGLLayer(this.Si,this.yj,{antialias:B,framebufferScaleFactor:a}); this.Si.updateRenderState({baseLayer:this.UB,depthNear:0.1,depthFar:2*o.of});this.bN();this.SF="started";m.KX(this.yb,this.Si.cancelAnimationFrame.bind(this.Si));m.Naa(B)}.bind(this))["catch"](function(){m.Naa(B);this.cna();this.trigger(new c(g.qa))}.bind(this))}};s.prototype.Hf=function(){this.isPresenting()&&this.Si.end()};s.prototype.yb=function(a){return this.Si.requestAnimationFrame(function(b,c){this.g9=c;this.TB();a(b)}.bind(this))};s.prototype.isPresenting=function(){return this.SF!="stopped"}; s.prototype.Fe=function(){return e.bya};s.prototype.mC=S("yj");s.prototype.vJ=function(){return"xr"in navigator};s.prototype.vLa=function(){return"isSessionSupported"in navigator.xr?navigator.xr.isSessionSupported("immersive-vr"):"supportsSession"in navigator.xr?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};s.prototype.AB=function(a){f.Zsa()?a():f.md()==f.Ds?this.hy?a():k.SN()?b(a):this.eU(function(){b(a)}):k.SN()?a():this.eU(function(){a()})};s.prototype.F6=function(){m.kaa();this.cna(); this.trigger(new c(g.qa))};s.prototype.G6=function(){this.trigger(new c(g.Vl))};s.prototype.H6=function(){t.aba(!this.Si||this.Si.visibilityState!="visible");i.Vwa&&this.Si.visibilityState!="visible"&&this.Hf()};s.prototype.cna=function(){this.UB=this.dN=this.Si=this.yj=q;this.SF="stopped";r.cancel()};s.prototype.bN=function(){this.fe.zN=this.UB.framebuffer;this.fe.io=this.UB.framebufferWidth;this.fe.Vm=(f.md()==f.Ds?2:1)*this.UB.framebufferHeight;this.fe.pW=1};s.prototype.TB=function(){var a=this.g9.getViewerPose(this.dN); if(a){var b=a&&a.transform.orientation||u;this.sd.orientation.set(b.x,b.y,b.z,b.w);b=a&&a.transform.position||v;this.sd.position.set(b.x,b.y,b.z);for(var a=this.g9.getViewerPose(this.dN.getOffsetReferenceSpace(a.transform)),c=0;c-1?function(){function a(){e++;c=setTimeout(b, e*1E3)}function b(){c=q;if(e>5)window.location.reload();else if(!document.hidden&&!d.isPresenting()){d.yk(n);a()}}var c,e;document.addEventListener("visibilitychange",function(){if(!document.hidden){if(c){clearTimeout(c);c=q}e=0;a()}},B);if(c){clearTimeout(c);c=q}e=0;a()}():s&&d.yk()}else v.available=T(B);if(e){clearTimeout(e);e=q;a()}})};v.bind(c.qa,function(){t.DX(v.isPresenting())},window,n);window.addEventListener("vrdisplayblur",function(){t.aba(n)},n);window.addEventListener("vrdisplayfocus", function(){t.aba(B)},n);return v}); define("dH","require,nU,kJ,fQ,bg,bu".split(","),function(a){function b(a){this.sQ=a;this.jj=q;this.R_={};for(a=0;a500};b.prototype.hand=S("NEa");b.prototype.quaternion= S("kk");b.prototype.position=S("Pa");b.prototype.pressed=function(a){a||(a=this.sQ.iRa);return!a?this.P_>0:this.R_[a]};var s=new o;s.all=function(){c();return u};s.fX=function(){c();return v};s.Ja="left";s.Xa=p;var u=[],v=q,w={},x=l,y=q,D=URL.Ti("disable-controller",B);m.bind(e.qa,i);i();return s}); define("dc",["require","gn","a"],function(a){function b(a,b){this.vf=a||new d(0,0,0);this.Wi=b||new d(1,0,0)}var d=a("gn"),c=a("a");b.prototype.clone=function(){return new b(this.vf.clone(),this.Wi.clone())};b.prototype.apply=function(a){a.FG(this.vf);a.FG(this.Wi)};b.prototype.$ra=function(){return c.qy(this.vf,this.Wi)};return b}); define("hH",["dc","gn"],function(a,b){function d(a,b,d){this.Z=a||100;this.ja=b||100;this.Aa=d||Math.PI;this.O5=l;this.Rq=n}d.prototype.HC=function(a){this.Aa!=a&&(this.Aa=a,this.Rq=n)};d.prototype.dv=S("Aa");d.prototype.EO=function(a){this.Z!=a&&(this.Z=a,this.Rq=n)};d.prototype.fd=S("Z");d.prototype.cva=function(a){this.ja!=a&&(this.ja=a,this.Rq=n)};d.prototype.Ud=S("ja");d.prototype.project=function(a){if(0!=a.z){this.Apa();var b=1/a.z,d=this.O5*b;a.x=0.5*this.Z-a.x*d;a.y=0.5*this.ja-a.y*d;a.z= b}};d.prototype.unproject=function(c){this.Apa();return new a(new b(0,0,0),new b(0.5*this.Z-c.x,0.5*this.ja-c.y,this.O5))};d.prototype.Apa=function(){this.Rq&&(this.O5=0.5*this.Z/Math.tan(0.5*this.Aa),this.Rq=B)};return d}); define("eK",["require","jquery.mod"],function(a){function b(){this.ea=d("
");this.ea.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.ea.hide()}var d=a("jquery.mod");b.prototype.Mc=S("ea");b.prototype.trigger=function(){this.ea.fadeIn(100).fadeOut(100)};return b}); define("oa",["require"],function(){function a(){this.Ie=this.pitch=this.Na=0;this.Ph=this.ve=90;this.kN=this.aW=this.height=this.width=100;this.Kj=1;this.tC=this.$b=B;this.Ol=0;this.sW=this.QV=this.kX=B;this.rC=this.jO=n;this.camera=this.sN=this.rN=this.vg=q;this.enabled=B;this.Qe=0;this.IO=l}a.prototype.clone=function(){var b=new a;b.Na=this.Na;b.pitch=this.pitch;b.Ie=this.Ie;b.ve=this.ve;b.Ph=this.Ph;b.width=this.width;b.height=this.height;b.aW=this.aW;b.kN=this.kN;b.Kj=this.Kj;b.$b=this.$b;b.tC= this.tC;b.Ol=this.Ol;b.kX=this.kX;b.sW=this.sW;b.QV=this.QV;b.jO=this.jO;b.rC=this.rC;b.vg=this.vg;b.rN=this.rN;b.sN=this.sN;b.camera=this.camera;b.enabled=this.enabled;b.Qe=this.Qe;b.IO=this.IO;return b};return a}); define("du","require,jquery.mod,dY,nU,mk,bg,ez".split(","),function(a){function b(a){this.eba=a;this.element=document.createElement("div");this.kba=document.createElement("span");this.element.appendChild(this.kba);this.kba.innerHTML=a.text.split("
").join("\n").split("\n").map(c).join("
");this.cW=B}function d(a){this.K=a;this.JM=f.throttle(this.JM.bind(this),100);this.KM=f.throttle(this.KM.bind(this),100);this.ea=document.createElement("div");this.ea.style.position="absolute";this.ea.style.left= 0;this.ea.style.top=0;this.ea.style.right=0;this.ea.style.bottom=0;this.ea.style.zIndex=1;this.ea.style.cursor="inherit";this.ea.style.display="none";this.PZ=g(this.ea);this.il=document.createElement("div");this.il.style.position="absolute";this.il.style.left=0;this.il.style.right=0;this.il.style.zIndex=1;this.il.style.cursor="inherit";this.ea.appendChild(this.il);this.Yx=q;this.eG=[];this.Fh=[];this.k5={};this.tG=e.bc;this.K.bind(i.u("subtitlesEnabled"),this.lG,this);d.Mca.forEach(function(a){this.K.bind(i.u(a), this.JM,this)}.bind(this));d.Nca.forEach(function(a){this.K.bind(i.u(a),this.KM,this)}.bind(this));this.lG();this.JM();this.KM()}function c(a){k.innerHTML=a;return k.innerText}var g=a("jquery.mod"),f=a("dY"),i=a("nU"),e=a("mk"),j=a("bg"),o=a("ez");d.prototype.clear=function(){this.Vaa(q);if(this.K){this.K.unbind(i.u("subtitlesEnabled"),this.lG,this);d.Mca.forEach(function(a){this.K.unbind(i.u(a),this.JM,this)}.bind(this));d.Nca.forEach(function(a){this.K.unbind(i.u(a),this.KM,this)}.bind(this));this.K= q}};d.prototype.Mc=S("PZ");d.prototype.Vaa=function(a){if(this.Yx!=a){this.Yx&&this.Yx.unbind(i.u("activeSubtitles"),this.x4,this,n);(this.Yx=a)&&this.Yx.bind(i.u("activeSubtitles"),this.x4,this,n);this.x4()}};d.prototype.x4=function(){this.nKa(this.Yx&&this.Yx.get("activeSubtitles")||[])};d.prototype.lG=function(){this.N=this.K.get("subtitlesEnabled");this.D8()};d.prototype.JM=function(){this.tG=this.fJ("subtitlesVerticalAlign",[e.kc,e.Ad,e.bc],e.bc);this.il.style["text-align"]=this.fJ("subtitlesHorizontalAlign", [e.Ja,e.Xa,e.ae],e.ae);this.il.style.bottom=this.tG==e.bc?this.$j("subtitlesBottom",0):"";this.il.style.top=this.tG==e.kc?this.$j("subtitlesTop",0):this.tG==e.Ad?"50%":"";this.il.style.transform=this.tG==e.Ad?"translate(0, -50%)":"";this.D8()};d.prototype.KM=function(){var a={};a["background-color"]=this.D2("subtitlesBackgroundColor","subtitlesBackgroundOpacity");a.border=[this.$j("subtitlesBorderSize"),"solid",this.Yh("subtitlesBorderColor")].join(" ");a["box-shadow"]=this.Yh("subtitlesShadow",B)? [this.$j("subtitlesShadowHorizontalLength"),this.$j("subtitlesShadowVerticalLength"),this.$j("subtitlesShadowBlurRadius"),this.D2("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";a.display="inline-block";a["font-family"]=o.$u(this.Yh("subtitlesFontFamily"));a["font-size"]=this.$j("subtitlesFontSize");a.color=this.Yh("subtitlesFontColor");a["font-weight"]=this.fJ("subtitlesFontWeight",["bold","bolder","lighter","100","200","300","400","500","600","700","800","900","normal"], "normal");a["font-style"]=this.fJ("subtitlesFontStyle",["italic","normal"],"normal");a["margin-bottom"]=this.$j("subtitlesGap");a.opacity=this.Yh("subtitlesOpacity");a["padding-top"]=this.$j("subtitlesPaddingTop");a["padding-bottom"]=this.$j("subtitlesPaddingBottom");a["padding-left"]=this.$j("subtitlesPaddingLeft");a["padding-right"]=this.$j("subtitlesPaddingRight");a.position="relative";a["text-align"]=this.fJ("subtitlesHorizontalAlign",["left","right","center"],"center");a["text-decoration"]=this.Yh("subtitlesTextDecoration", ["underline","overline","line-through","none"],"none");a["text-shadow"]=[this.$j("subtitlesTextShadowHorizontalLength"),this.$j("subtitlesTextShadowVerticalLength"),this.$j("subtitlesTextShadowBlurRadius"),this.D2("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.k5=a;this.rza()};d.prototype.nKa=function(a){this.eG=a;this.D8()};d.prototype.D8=function(){for(var a=this.N?this.eG:[],c=this.Fh.length-1;c>=0;c--){var d=this.Fh[c];if(a.indexOf(d.eba)>=0)break;this.il.removeChild(d.element)}for(var f= [],g=B;c>=0;c--){d=this.Fh[c];if(!d.cW&&a.indexOf(d.eba)<0){d.cW=n;d.element.style.visibility="hidden";g=n}f.splice(0,0,d)}g&&j.yb(this.zfa,this);this.Fh=f;var o=this.Fh.filter(function(a){return!a.cW}).map(function(a){return a.eba});a.filter(function(a){return o.indexOf(a)<0}).forEach(function(a){a=new b(a);this.yea(a);this.tG==e.bc&&this.Fh.length>0?this.il.insertBefore(a.element,this.Fh[this.Fh.length-1].element):this.il.appendChild(a.element);this.Fh.push(a)}.bind(this));this.ea.style.display= this.Fh.length>0?"block":"none"};d.prototype.zfa=function(a){for(var b=B,a=Math.round(200*a/1E3),c=0;c=e.element.clientHeight){a=a-e.element.clientHeight;this.il.removeChild(e.element);this.Fh.splice(c,1);c--}else{e.element.style.height=e.element.clientHeight-a+"px";break}}}b&&j.yb(this.zfa,this)};d.prototype.rza=function(){this.Fh.forEach(this.yea.bind(this))};d.prototype.yea=function(a){for(var b in this.k5)a.kba.style[b]=this.k5[b]};d.prototype.Yh= function(a,b){return this.K.get(a,b)};d.prototype.$j=function(a,b){var c=this.K.get(a,b);isNaN(c)||(c=Math.round(c)+"px");return c};d.prototype.fJ=function(a,b,c){a=this.K.get(a);return b.indexOf(a)<0?c:a};d.prototype.D2=function(a,b,c,e){a=this.K.get(a,c);b=this.K.get(b,e);return"rgba("+parseInt("0x"+a.substr(1,2))+", "+parseInt("0x"+a.substr(3,2))+", "+parseInt("0x"+a.substr(5,2))+", "+b+")"};d.Mca=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];d.Nca=["subtitlesBackgroundColor", "subtitlesBackgroundOpacity","subtitlesBorderColor","subtitlesBorderSize","subtitlesFontFamily","subtitlesFontColor","subtitlesFontSize","subtitlesFontStyle","subtitlesFontWeight","subtitlesGap","subtitlesOpacity","subtitlesPaddingTop","subtitlesPaddingBottom","subtitlesPaddingLeft","subtitlesPaddingRight","subtitlesShadow","subtitlesShadowBlurRadius","subtitlesShadowHorizontalLength","subtitlesShadowVerticalLength","subtitlesShadowColor","subtitlesTextDecoration","subtitlesTextShadowBlurRadius", "subtitlesTextShadowColor","subtitlesTextShadowHorizontalLength","subtitlesTextShadowOpacity","subtitlesTextShadowVerticalLength"];var k=document.createElement("div");return d}); define("kP",["require","kG","nU","du"],function(a){var b=a("kG"),d=a("nU"),c=a("du"),a=b.extend(c,function(a,b){c.call(this,a);this.vc=b;this.vc.bind(d.u("panorama"),this.O4,this);this.O4()});a.prototype.clear=function(){this.vc&&(this.vc.unbind(d.u("panorama"),this.O4,this),this.vc=q);c.prototype.clear.call(this)};a.prototype.O4=function(){this.Vaa(this.vc.get("panorama"))};return a}); define("kj",["require","t"],function(a){var b=a("t"),a={},d=180/Math.PI,c=Math.PI/180;a.Dl=function(a,b,c){return this.YB(a,b,c)};a.zs=function(a,b,c){return this.YB(a,c,b)};a.YB=function(a,b,i){return 2*Math.atan(i*Math.tan(0.5*a*c)/b)*d};a.IVa=function(a){return b.browser()==b.KH?Math.max(a,20):a};return a});define("dw",["require"],function(){return{Cs:0,Ja:1,Xa:2}}); define("db",["require"],function(){function a(a,b){this.h=a;this.HF=b;this.Xf=new THREE.CustomRenderPass(b);this.Xf.renderToScreen=B;this.qU=new THREE.SavePass;this.qU.enabled=n;this.hw=new THREE.ShaderPass(THREE.BlendShader,"tDiffuse1");this.hw.uniforms.tDiffuse2.value=this.qU.renderTarget.texture;this.hw.uniforms.mixRatio.value=0.8;this.hw.renderToScreen=n;this.hw.enabled=n;this.yla=new THREE.ShaderPass(THREE.CopyShader);this.yla.renderToScreen=n;this.em=new THREE.EffectComposer(a);this.em.addPass(this.Xf); this.em.addPass(this.hw);this.em.addPass(this.qU);this.em.addPass(this.yla);this.qw=this.rw=l}var b=new THREE.Vector2;a.prototype.destroy=function(){this.em=this.hw=this.qU=this.Xf=this.HF=this.h=q};a.prototype.start=function(){this.hw.uniforms.mixRatio.value=0;this.T1=3};a.prototype.render=function(a,c){this.h.getSize(b);if(this.rw!==b.width||this.qw!==b.height)this.rw=b.width,this.qw=b.height,this.em.setSize(this.rw,this.qw);this.Xf.scene=a;this.Xf.camera=c;0=0&&t.splice(s,1);if(p.CC==0&&p.status!=i.kP){p.status=i.kP;p.eaa=0;this.fMa(r)}}}; b.prototype.opa=function(a){for(var a=(a==l?this.hx:this.Eha(a)).slice(),b=0;b=b.HAVE_CURRENT_DATA&&a.rFa.drawImage(b,0,0,e,j);a.image=a.cp}else a.image=b;a.gr&&a.image!=a.gr&&(g.iW(a.gr),delete a.gr);a.needsUpdate=n;if((e=g.m$(a))&&e.isShaderMaterial)e.needsUpdate=n;d.Jsa()},LOa:function(a){a?d.D$(a)?a=b.jf(a,B):d.$sa(a)?a=this.WG():d.iH(a)&&!(a.readyState>=a.HAVE_CURRENT_DATA&&0 0.0)"," color.rgb /= color.a;"]));if(b.my){var k=a.image.width||a.image.videoWidth,m=a.image.height||a.image.videoHeight,r=0.5*Math.min(k,m)*b.my;c.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(r/k,r/m)};d=d.concat(["uniform vec2 blendingLimit;"]);g=g.concat(" float xCoef = 0.0;, float yCoef = 0.0;, if (vUV.x < blendingLimit.x) {, xCoef = 1.0 - (vUV.x / blendingLimit.x);, xCoef = xCoef * xCoef;, } else if ((1.0 - vUV.x) < blendingLimit.x) {, xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);, xCoef = xCoef * xCoef;, }, if (vUV.y < blendingLimit.y) {, yCoef = 1.0 - (vUV.y / blendingLimit.y);, yCoef = yCoef * yCoef;, } else if ((1.0 - vUV.y) < blendingLimit.y) {, yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);, yCoef = yCoef * yCoef;, }, alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(","))}b.Vr&& (c.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(b.Vr.substr(1,2),16)/255,parseInt(b.Vr.substr(3,2),16)/255,parseInt(b.Vr.substr(5,2),16)/255)},c.uniforms.chromaThreshold={type:"f",value:b.oN},c.uniforms.chromaSmoothing={type:"f",value:b.nN},d=d.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),g=g.concat(" float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{ float maskCr = 0.7132 * (chromaColor.r - maskY);{ float maskCb = 0.5647 * (chromaColor.b - maskY);{ float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{ float Cr = 0.7132 * (color.r - Y);{ float Cb = 0.5647 * (color.b - Y);{ float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{ alpha = alpha * chromaBlendValue;".split("{"))); g=g.concat(["\tgl_FragColor = vec4(color"+(b.QN?".bgr":".rgb")+", alpha);"]);a.format=THREE.RGBAFormat;c.fragmentShader=[].concat(d,["void main() {"],g,["}"]).join("\n")}else c.fragmentShader="uniform sampler2D texture;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(texture, vUV);\n}";c=new THREE.ShaderMaterial(c);this.Cz(c);return c},dispose:function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){var b=g.d$(a);b&&c.dispose(b);a.dispose()})},Cz:function(a){a.side=THREE.FrontSide; a.transparent=n;a.depthTest=B;a.needsUpdate=n;a.userData={};a.userData.vta={};c.hTa(g.d$(a),a)},Jaa:function(a,b){a.userData.vta.mo=b},Lra:function(a){return a.userData.vta.mo}};b.prototype.DRa=function(){return this.OO||this.QN||this.my||this.Vr||this.premultipliedAlpha};b.prototype.isEqual=function(a){return this.OO===a.OO&&this.QN===a.QN&&this.my===a.my&&this.Vr===a.Vr&&this.oN===a.oN&&this.nN===a.nN&&this.premultipliedAlpha===a.premultipliedAlpha&&this.side===a.side};g.kn=b;return g}); define("ef",["require","iA","cn"],function(a){function b(a){return Array.isArray(a)?a:a?[a]:[]}var d=a("iA"),c=a("cn"),g={create:function(a,d){var e=new THREE.Mesh(a,d);e.overdraw=B;e.matrixAutoUpdate=B;e.userData.jv={};e.userData.jv.attributes={};b(d).forEach(function(a){c.Jaa(a,e)});return e},Rqa:function(a){var b=new THREE.Group;g.forEach(a,function(a){b.add(a)});return b},ESa:function(a,d){b(d).forEach(function(a){c.Jaa(a,q)});c.dispose(a.material);a.material=d;b(d).forEach(function(b){c.Jaa(b, a)})},sy:function(a){return b(a.material)},lPa:function(a,b){if(a.layers.mask&b.layers.mask){var c=g.sy(a);return d.kPa(a.geometry,b,a.matrixWorld).map(function(a){return c[a]})}return[]},Daa:function(a,b){a.geometry=b},hPa:function(a,b){var e=[];g.Fj(a,function(a){var f=g.sy(a);b.forEach(function(b){var g=d.gPa(a.geometry,a.matrixWorld,b);if(g){var i=c.d$(f[g.materialIndex]),b=i.image;b==i.gr&&(b=i.gr.Ga);i=Math.round(g.jwa*b.width-0.5);i=0>i?0:i>b.width-1?b.width-1:i;g=Math.round((1-g.qwa)*b.height- 0.5);g=0>g?0:g>b.height-1?b.height-1:g;e.push({x:i,y:g,source:b})}})});return e},AH:function(a,b){g.forEach(a,function(a){b?b.add(a):a.parent&&a.parent.remove(a)})},Ky:"panoramaId",TC:"panoramaFrameId",gY:"panoramaOverlayId",fY:"levelIndex",setAttribute:function(a,b,c){g.Fj(a,function(a){a.userData.jv.attributes[b]=c})},getAttribute:function(a,b){return a.userData.jv.attributes[b]},kra:function(a,b,c){for(var d=[],g=0,k=a.length;g\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}\n"; m.side=THREE.BackSide;m.depthWrite=B;m.transparent=n;m.depthTest=B;m.needsUpdate=n;var p=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),m);p.overdraw=B;p.matrixAutoUpdate=B;p.renderOrder=1E3;var t=new THREE.Matrix4;this.KC=function(a){k=a};this.setSize=function(b,c){if(f!=b||o!=c)a.setSize(f=b,o=c)};this.fd=function(){return f};this.Ud=function(){return o};this.start=function(d){d.add(p);d.add(r);d.traverse(function(a){if(a.layers.test(r.layers)){a.userData.I$=a.layers.mask;a.layers.mask=r.layers.mask}}); r.visible=n;p.visible=n;c.yaa(d,[b]);a.setClearColor(16777215,1);a.setPixelRatio(g.getPixelRatio());f&&o&&a.setSize(f,o)};this.stop=function(b){a.setClearColor(0,0);b.traverse(function(a){if(a.userData.I$!==l){a.layers.mask=a.userData.I$;delete a.userData.I$}});r.visible=B;p.visible=B;b.remove(p);b.remove(r)};this.fov=function(){return b.fov};this.qba=function(){if(k>0){p.matrix.copy(b.matrixWorld);p.matrix.multiply(t.makeTranslation(0,0,-k*5));p.matrixWorldNeedsUpdate=n}};this.camera=function(){return b}; var s=0;this.render=function(c,d,f){if(k>0){s++;if(!g.mQa()||s%10==0){g.RRa();p.visible=B;r.update(a,c);p.visible=n}}a.setRenderTarget(d);f&&a.clear();a.render(c,b)}}}}); define("eu","require,jquery.mod,lN,kj,mL,dw,kp,bi,iA,gZ,bu".split(","),function(a){function b(){this.ea=d("
");this.ea.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.oa=new THREE.PerspectiveCamera(90,16/9,0.1,2*o.of);this.oa.layers.enable(i.Ja);this.CQ=new THREE.PerspectiveCamera;this.xa=new THREE.Scene;this.Wfa=new THREE.Scene;this.Xfa=new THREE.Scene;window.LUa=THREE;this.xa.add(this.oa);this.vt=this.xw=this.h=q;this.KA=0;this.tu=this.Nf=this.i7= this.Y8=q;this.sja=this.F0=B}var d=a("jquery.mod"),c=a("lN"),g=a("kj"),f=a("mL"),i=a("dw"),e=a("kp"),j=a("bi"),o=a("iA"),k=a("gZ"),m=a("bu");b.prototype.jo=S("xa");b.prototype.iC=S("CQ");b.prototype.NOa=function(){return this.Nf.fov(this.oa)};b.prototype.getPixelRatio=function(){return this.h.getPixelRatio()};b.prototype.Mc=S("ea");b.prototype.QOa=function(){return this.h?this.h.domElement.width:this.ea.width()};b.prototype.POa=function(){return this.h?this.h.domElement.height:this.ea.height()};b.prototype.ng= function(){return this.h.domElement};b.prototype.update=function(a){this.SMa(a);this.vMa(a);this.tk(a);this.PMa(a)};var r=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,0,-1),new THREE.Vector3(0,0,1),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0)],p=[new THREE.Vector3(-1,0,0),new THREE.Vector3(1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)],r=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0, 0,-1),new THREE.Vector3(0,0,1),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0)],p=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)];b.prototype.lN=function(a){var b=this.Nf,c=this.Nf.fd(),e=this.Nf.Ud();b.stop();this.h.setPixelRatio(1);this.h.setSize(a,a);var d=new THREE.PerspectiveCamera(90,1,this.oa.near,this.oa.far);d.layers=this.oa.layers;d.visible=n;this.xa.add(d);for(var f=[],g=0;g<6;g++){var o= document.createElement("canvas");o.width=o.height=a;var j=o.getContext("2d");d.up.copy(r[g]);d.lookAt(p[g]);d.updateProjectionMatrix();d.updateMatrixWorld();this.h.clear();this.h.render(this.xa,d);j.save();j.scale(-1,1);j.drawImage(this.h.domElement,0,0,-a,a);j.restore();f.push(o)}this.xa.remove(d);this.Nf=b;this.Nf.start(this.xa);this.Nf.setSize(c,e);this.DL();return f};b.prototype.render=function(){this.DL()};b.prototype.SMa=function(a){if(a.enabled){this.KA=(new Date).getTime();this.h||this.xKa(a); if(a.$b&&m.Fe()==m.vD.Tl)this.sja=n;m.IX(this.h.getContext())}if(this.F0=a.enabled&&!a.$b){this.xw.setSize(a.width,a.height);this.vt.setSize(a.width,a.height)}};b.prototype.xKa=function(a){if(!this.h&&a.enabled){for(;t.length>=s;){t.sort(function(a,b){return a.KA-b.KA});t[0].AAa()}t.push(this);var b=this.Mc().get(0);this.xw=new THREE.CSS3DRenderer;this.xw.domElement.style.position="absolute";this.xw.domElement.style.zIndex=0;b.appendChild(this.xw.domElement);var d={precision:"mediump",alpha:n};if(t.length== 1&&a.$b){a=m.mC();d.context=a;d.canvas=a.canvas}else{d.canvas=document.createElement("canvas");d.context=k.E9(d.canvas,a.QV)}this.h=new THREE.WebGLRenderer(d);this.h.debug.checkShaderErrors=c.$C;this.h.domElement.style.position="absolute";this.h.domElement.style.zIndex=1;this.h.domElement.style.pointerEvents="none";this.h.setClearColor(0,0);b.appendChild(this.h.domElement);this.vt=new THREE.CSS3DRenderer;this.vt.domElement.style.position="absolute";this.vt.domElement.style.zIndex=2;this.vt.domElement.style.pointerEvents= "none";b.appendChild(this.vt.domElement);this.tu=new e(this.h,function(a,b,c,e,d){this.sja&&this.h.resetState();this.Nf.render(b,e,d)}.bind(this));this.i7=new j.vxa(this.h,this.oa);this.foa=new j.Pxa(this.h,this.oa);this.Y8=new j.Wxa(this.h,this.oa);m.CG(this.h.getContext())}};b.prototype.AAa=function(){if(this.h){t.splice(t.indexOf(this),1);this.Nf=this.i7=this.Y8=q;this.tu.destroy();this.tu=q;m.wX(this.h.getContext());var a=this.Mc().get(0);a.removeChild(this.vt.domElement);this.vt=q;a.removeChild(this.h.domElement); this.h.dispose();this.h=q;a.removeChild(this.xw.domElement);this.xw=q}};b.prototype.tk=function(a){this.oa.quaternion.copy(f.ura(a.Na,a.pitch,a.Ie));this.oa.fov=g.Dl(a.ve,a.width,a.height);this.oa.aspect=a.width/a.height;this.oa.updateProjectionMatrix();this.oa.updateMatrixWorld();this.Nf&&this.Nf.qba();this.Nf&&this.CQ.copy(this.Nf.camera());this.CQ.updateProjectionMatrix();this.CQ.updateMatrixWorld();this.xa.N$===n&&this.xa.updateMatrixWorld()};b.prototype.vMa=function(a){var b=a.$b?this.Y8:a.Ol> 0?this.foa:this.i7;if(this.Nf!=b){this.Nf&&this.Nf.stop(this.xa);(this.Nf=b)&&this.Nf.start(this.xa)}if(this.Nf){this.Nf.setSize(a.width,a.height);this.Nf==this.foa&&this.Nf.KC(a.Ol)}};b.prototype.PMa=function(a){this.tu&&(a.kX?this.tu.zaa(e.jZ):a.sW&&!a.$b?this.tu.zaa(e.$ba):this.tu.zaa(e.NONE))};b.prototype.DL=function(){this.tu&&this.tu.render(this.xa,this.oa);if(this.F0){this.xw.render(this.Wfa,this.oa);this.vt.render(this.Xfa,this.oa)}};var t=[],s=10;return b}); define("iy",["require","kG","fQ","gZ"],function(a){var b=a("kG"),d=a("fQ"),c=a("gZ"),a=b.extend(d,function(){d.call(this);this.aa=this.ta=q;this.Cd=[];this.GR=this.Gf=B;this.nK=q;this.bk=[this];this.Qr={};this.Rq={};this.mJ=B;this.T5={};this.U5={};this.Ko(["blendingActive","globalBlendingActive"]);this.wya();this.set("alpha",1);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0);this.set("deltaYaw",0);this.set("deltaPitch",0);this.set("deltaRoll",0);this.set("flipHorizontally", B);this.set("index",0)});a.prototype.wya=function(){var a="alpha,deltaYaw,deltaPitch,deltaRoll,translationX,translationY,translationZ".split(",");Array.isArray(a)||(a=[a]);a.forEach(function(a){this.T5[a]=n}.bind(this))};a.prototype.Ko=function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){this.U5[a]=n}.bind(this))};a.prototype.set=function(a,b){this.Qr[a]!==b&&(this.U5[a]&&this.Cd.forEach(function(c){c.set(a,b)}),this.bza(a,b),this.ML(a))};a.prototype.get=function(a){return this.Qr[a]};a.prototype.ML= function(a){this.Rq[a]||(this.Rq[a]=n,this.mJ||(this.mJ=n,this.wa()),this.T5[a]&&this.Cd.forEach(function(b){b.ML(a)}))};a.prototype.CAa=function(){this.mJ&&(this.mJ=B,this.Rq={})};a.prototype.D=function(){if(this.mJ)for(var a=0;a0&&c(e);if(e.visible!=d){e.visible=d;a=n}});var j=o.kra(j,o.TC,l),j=o.esa(j,o.Ky),i;for(i in j){var s=j[i],u=f.map(T(B));s.sort(function(a,b){return o.bsa(b)-o.bsa(a)});var v=s.some(g);s.forEach(function(e){var g=b(f,e)&&o.vW(e)>0&&c(e)&&(!v||d(e));if(g){for(var g=n,j=v||d(e)&&o.vW(e)>0.999,i=0;i0?1E3:this.o.kN/Math.tan(Math.min(this.o.Ph*0.5,89.99)*s);p.wb()||(a=a*1.5);var c=r.S9(this.o.vg),e=r.zk(this.o.vg).filter(b),f=e.filter(g),j={},j=m.kra(f,m.TC,l),j=m.esa(j,m.TC);j.none=m.kW(f,m.TC,l);var f=[],i;for(i in j)for(var k=j[i],u=0,G=k.length;uJ){N=z;J=O}else if(O>=a&&O0.75*a?f.push(N):f.push(C);else{C&&f.indexOf(C)<0&&f.push(C);N&&f.indexOf(N)<0&&f.push(N)}}}a=[];for(c=0;c=0)}return a};t.prototype.gy=function(){this.Nr=q;for(var a=[],b=[],c=[],g=(new Date).getTime()-u,o=r.S9(this.o.vg),j=r.zk(this.o.vg),i=0,k=j.length;i=0){if(this.o.Ol>0||(d(p).M$||t.hZ)==t.pn)K=L;else for(var A=0,N=o.length;AC){this.ex.sort(function(a,b){return d(a).cta-d(b).cta});i=this.ex.splice(0,this.ex.length-C);C=0;for(F=i.length;C0&&b.push(p)}c=Number.POSITIVE_INFINITY;i=0;for(k=b.length;i=0&&c.splice(f,1);this.ex.push(b);this.O6(b,n);a=a.mo();d(a).kq.indexOf(b)>=0&&this.y_(a,d(a).pv);this.qpa()};t.prototype.y_=function(a,b){var c=d(a).pv,c=c?c.length:l,g=d(a).kq,g=g?g.length:l;d(a).pv=b;d(a).kq=b.filter(f);o.Haa(a,d(a).kq.length==0&&(d(a).M$||t.hZ)==t.pn); var j=d(a).pv,j=j?j.length:l,i=d(a).kq,i=i?i.length:l;if(g!==i||c!==j)a.dispatchEvent({type:e.ic,Lg:j?100-100*i/j:100});g!==i&&i===0&&a.dispatchEvent({type:e.U})};t.prototype.O6=function(a,e){if(e!=a.visible){var d=k.Lra(a),f=m.getAttribute(d,m.Ky),g=m.getAttribute(d,m.fY);if(f===l||g===l)a.visible=e;else{for(var o=r.zk(this.o.vg).filter(b),f=m.kW(o,m.Ky,f),g=m.kW(f,m.fY,g),j=m.sy(d).indexOf(a),d=g.map(function(a){return m.sy(a)[j]}),g=e,f=0;fa?(p.zv=a/p.width, p.NO=m==d.Ja?0:m==d.Xa?1-p.zv:0.5*(1-p.zv),p.width=a):(p.NO=0,p.zv=1);p.height>b?(p.Av=b/p.height,p.QO=r==d.kc?1-p.Av:r==d.bc?0:0.5*(1-p.Av),p.height=b):(p.QO=0,p.Av=1);return p},g$:function(a,e,j,o,k,m,r,p){e||(e=b.Dl(a,j,o));k||(k=c.Hs);m||(m=4096/360);var t={};switch(k){case c.Hs:t.ve=a;t.pq=e;break;case c.NONE:t.ve=2*Math.atan2(0.5*j,45*m)*g;t.pq=b.Dl(t.ve,j,o);break;case c.Rg:t.ve=Math.min(b.zs(e,j,o),a);t.pq=Math.min(b.Dl(a,j,o),e);break;case c.uq:t.ve=Math.max(b.zs(e,j,o),a);t.pq=Math.max(b.Dl(a, j,o),e);break;case c.Co:t.ve=a;t.pq=b.Dl(a,j,o);break;case c.Pj:t.ve=b.zs(e,j,o),t.pq=e}t.ve>a?(t.zv=Math.tan(0.5*a*f)*j/Math.tan(0.5*t.ve*f)/j,t.NO=r==d.Ja?0:r==d.Xa?1-t.zv:0.5*(1-t.zv),t.ve=a):(t.NO=0,t.zv=1);t.pq>e?(t.Av=Math.tan(0.5*e*f)*o/Math.tan(0.5*t.pq*f)/o,t.QO=p==d.kc?1-t.Av:p==d.bc?0:0.5*(1-t.Av),t.pq=e):(t.QO=0,t.Av=1);return t}}}); define("nj","require,hy,iA,ef,iU,jM,kj,mL,mk".split(","),function(a){var b=a("hy"),d=a("iA"),c=a("ef"),g=a("iU"),f=a("jM"),i=a("kj"),e=a("mL"),j=a("mk"),o=new THREE.Matrix4,k=Math.PI/180;return{tt:function(){this.set("distance",l);this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("hfov",l);this.set("vfov",q);this.set("scaleMode",q); this.set("horizontalAlign",q);this.set("verticalAlign",q);this.set("attachToCamera",B);this.Ah=this.vw();this.eh=new THREE.Matrix4;this.rd=new THREE.Matrix4;this.Pn=new THREE.Matrix4;this.km=new THREE.Matrix4;this.Oi=new THREE.Matrix4;this.C_=new THREE.Matrix4;this.Cea=new THREE.Quaternion;this.Hfa=new THREE.Matrix4;this.sI=new THREE.Matrix4;this.CI=new THREE.Matrix4;this.jw=new THREE.Matrix4;this.sh=new THREE.Matrix4},Tu:function(a){this.Sp(a);this.H8()},H8:function(){if(this.D("hfov","vfov","contentWidth", "contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var a=g.g$(this.get("hfov"),this.get("vfov"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("panoramaPixelsPerDegree"),this.get("horizontalAlign"),this.get("verticalAlign")),a=d.mva(this.Ah[1],a.NO,a.QO,a.zv,a.Av);if(this.Ah[1]!=a){this.Ah[1]=a;(a=this.vE())&&c.Daa(a,this.Ah[1])}}},vE:function(){var a=this.get("meshGroup");return a?c.zk(a)[1]:q},fm:function(){return[0,1].map(function(a){var e= a==0?this.Ofa():this.YD(),a=c.create(this.Ah[a],e);f.ss(a,f.pn);f.ts(a,f.Do);f.By(a,b.rD);f.zH(a,1);return a}.bind(this))},vw:function(){return[d.MG(),d.MG()]},Sp:function(a){var b=B;if(this.D("composedTranslationX","composedTranslationY","composedTranslationZ")){this.eh.makeTranslation(-this.get("composedTranslationX")*0.5*d.of,this.get("composedTranslationY")*0.5*d.of,this.get("composedTranslationZ")*0.5*d.of);b=n}if(this.D("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.rd.makeRotationY(-a.Na* k);this.rd.multiply(o.makeRotationX(-this.get("composedDeltaPitch")*k));this.rd.multiply(o.makeRotationY(this.get("composedDeltaYaw")*k));this.rd.multiply(o.makeRotationY(a.Na*k));b=n}if(this.D("yaw","pitch")){this.Pn.makeRotationY(-this.get("yaw")*k);this.Pn.multiply(o.makeRotationX(this.get("pitch")*k));b=n}if(this.D("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX","composedTranslationY","composedTranslationZ")){var f= this.aa.get("composedTranslationX")==0&&this.aa.get("composedTranslationY")==0&&this.aa.get("composedTranslationZ")==0&&this.get("distance")!==l?d.kC(this.get("distance")):d.cv();this.km.makeTranslation(0,0,-f);var t=this.get("contentWidth"),s=this.get("contentHeight"),u=this.get("hfov"),v=this.get("vfov")||i.Dl(u,t,s),w=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),D=this.get("panoramaPixelsPerDegree"),b=this.get("horizontalAlign")||j.ae,E=this.get("verticalAlign")|| j.Ad,t=g.g$(u,v,t,s,y,D,b,E),u=w*d.h$(f,u),v=x*d.i$(f,v);this.sI.makeScale(u,v,1);w=w*d.h$(f,t.ve);f=x*d.i$(f,t.pq);this.CI.makeScale(w,f,1);this.Hfa.makeTranslation(b==j.Ja?-(u-w)*0.5:b==j.Xa?(u-w)*0.5:0,E==j.kc?(v-f)*0.5:E==j.bc?-(v-f)*0.5:0,0);b=n}if(this.D("rotationX","rotationY","rotationZ","roll")){this.Oi.makeRotationZ(this.get("roll")*k);this.Oi.multiply(o.makeRotationY(this.get("rotationY")*k));this.Oi.multiply(o.makeRotationX(this.get("rotationX")*k));this.Oi.multiply(o.makeRotationZ(this.get("rotationZ")* k));b=n}this.set("cameraYaw",a.Na);this.set("cameraPitch",a.pitch);this.set("cameraRoll",a.Ie);if(this.get("attachToCamera")&&this.D("cameraYaw","cameraPitch","cameraRoll")){this.Cea.copy(e.ura(a.Na,a.pitch,a.Ie));this.C_.makeRotationFromQuaternion(this.Cea);b=n}else if(this.D("attachToCamera")){this.C_.identity();b=n}if(b||this.D("meshGroup")){this.sh.copy(this.eh);this.sh.multiply(this.rd);this.sh.multiply(this.C_);this.sh.multiply(this.Pn);this.sh.multiply(this.km);this.sh.multiply(this.Oi);this.jw.copy(this.sh); this.jw.multiply(this.sI);this.sh.multiply(this.Hfa);this.sh.multiply(this.CI);a=c.zk(this.get("meshGroup"));c.$p(a[0],this.jw);c.$p(a[1],this.sh)}}}});define("iS",["require","kG","fd","nj"],function(a){var b=a("kG"),d=a("fd"),a=a("nj");return b.extend(d,a,function(){d.call(this);this.set("tag","Plane")})}); define("dz","require,kG,nU,fQ,mQ,bg".split(","),function(a){function b(){if(!o){o=n;e.yb(d,q)}}function d(){for(o=B;j.length;){var a=j.shift();a.add();if(a.NQa())break}j.length&&b()}var c=a("kG"),g=a("nU"),f=a("fQ"),i=a("mQ"),e=a("bg"),j=[],o=B,k=c.extend(f,function(a,b){f.call(this);this.texture=a;this.source=b});k.prototype.NQa=function(){return!this.source.Zda&&i.VNa(this.source)};k.prototype.Wqa=function(){if(!this.source.Zda){i.Wqa(this.source);this.source.Zda=n}};k.prototype.add=function(){i.RC(this.texture, this.source);this.trigger(g.U)};k.prototype.remove=function(){var a=j.indexOf(this);a>=0&&j.splice(a,1);i.RC(this.texture,q)};return{add:function(a,c){var e=new k(a,c);j.push(e);b();return e}}}); define("md","require,kG,nU,ck,kC,dz,cP".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("ck"),g=a("kC"),f=a("dz"),i=a("cP"),a=b.extend(i,function(a){i.call(this);this.le=i.Txa;this.kd=a;this.lg=this.EF=this.jd=q});a.prototype.jf=S("lg");a.prototype.I_=function(){this.HI()};a.prototype.ZU=function(){this.Zo()};a.prototype.G_=function(){this.NBa()};a.prototype.kM=function(){this.Zo();this.d1()};a.prototype.ey=function(){this.Zo();this.d1()};a.prototype.dispose=function(){this.Zo();this.d1();i.prototype.dispose.call(this)}; a.prototype.cd=function(){this.lg=g.jf(this.kd);this.hF(n)};a.prototype.sf=function(){this.hF(B)};a.prototype.Bja=function(){this.Aja()};a.prototype.HI=function(){if(!this.jd){this.jd=new c;this.jd.CO([this.kd]);this.jd.bind(d.U,this.cd,this,n);this.jd.bind(d.Ac,this.sf,this,n);g.lo(this.jd,this.MJ)}};a.prototype.Zo=function(){if(this.jd){this.jd.unbind(d.U,this.cd,this,n);this.jd.unbind(d.Ac,this.sf,this,n);g.Mj(this.jd,this.MJ);this.jd=q}};a.prototype.NBa=function(){this.EF=f.add(this.kb,this.lg); this.EF.bind(d.U,this.Bja,this,n)};a.prototype.d1=function(){if(this.EF){this.EF.unbind(d.U,this.Bja,this,n);this.EF.remove();this.EF=q}};return a}); define("hz",["require"],function(){function a(){this.GE=b++;this.PJ="_map_"+this.GE+"_key";this.XR={};this.Yg=[];this.length=0}var b=0;a.prototype.set=a.prototype.add=function(a,b){var g;0>this.Yg.indexOf(a)&&this.Yg.push(a);if("object"===typeof a&&a!==q){if(g=a[this.PJ],!g){g=this.PJ;for(var f=[],i=0;8>i;i++)f.push(Math.floor(16*Math.random()).toString(16));g=a[g]=f.join("")}}else g=a;this.XR[g]=b;this.length=this.Yg.length};a.prototype.get=function(a){return this.XR["object"===typeof a&&a!==q?a[this.PJ]: a]};a.prototype.msa=function(a){return 0<=this.Yg.indexOf(a)};a.prototype.remove=function(a){var b=this.Yg.indexOf(a);0>b||(this.Yg.splice(b,1),"object"===typeof a&&a!==q?(b=a[this.PJ],delete a[this.PJ]):b=a,delete this.XR[b],this.length=this.Yg.length)};a.prototype.forEach=function(a){this.Yg.slice().forEach(function(b){a(b,this.get(b))}.bind(this))};a.prototype.dispose=function(){for(;this.Yg.length;)this.remove(this.Yg.pop());this.Yg=this.XR=q};return a}); define("jF",["require","kG","fQ","hz"],function(a){function b(){this.cC=[]}var d=a("kG"),c=a("fQ"),g=a("hz"),a=d.extend(c,function(a){c.call(this);this.$e=a;this.Zc=[];this.Qt=new g;this.$M=[];this.u1=[];this.dF=this.dF.bind(this)});a.prototype.We=function(a){this.Zc.forEach(function(a){a.removeEventListener?a.removeEventListener(this.$e,this.dF):a.unbind?a.unbind(this.$e,this.dF,this,n):h("invalid instance type")}.bind(this));this.Zc=a.slice();this.Zc.forEach(function(a){a.addEventListener?a.addEventListener(this.$e, this.dF):a.bind?a.bind(this.$e,this.dF,this,n):h("invalid instance type");this.Qt.msa(a)||this.Qt.set(a,new b)}.bind(this));this.e8()};a.prototype.dispose=function(){this.We([]);this.Zc=q;this.Qt.dispose();this.u1=this.$M=this.Qt=q};a.prototype.Ql=function(a){this.$M.push(a);this.e8();return this};a.prototype.oo=function(a){this.u1.push(a);return this};a.prototype.Zr=function(a){this.Zc.forEach(function(b){a(b,this.Qt.get(b).cC)}.bind(this))};a.prototype.Gl=function(a){a=this.Qt.get(a).cC;return 0== a.length?q:a[a.length-1]};a.prototype.dF=function(a){var b=a.target||a.source;if(b=this.Qt&&this.Qt.get(b))b.cC.push(a),this.u1.forEach(function(b){b(a,this)}.bind(this)),this.e8()};a.prototype.e8=function(){if(0!=this.Zc.length){for(var a=0;a0&&this.Af>this.cb-0.15&&!this.PR()&&!this.Vk?this.PQ():o.browser()==o.Dk&&this.Af>0&&this.Af>this.cb-0.05&&!this.PR()&&this.Vk&&this.PQ();this.EM()};w.prototype.hi=function(){this.Lq=this.nb.BN().map(function(a){for(var b=q,c=0;c2?[c*4,c*4/b]:[c*2*b,c*2]}function f(a){if(d())return[l,l];switch(a){case y.Ns:if(E.If()||E.wb())return[18432,1536];break;case y.Io:if(E.If())return[5352,5352];if(E.wb())return[6086,6086];break;case y.wq:if(E.If())return[7168,3584];if(E.wb()&&E.hv())return[8192,4096]}return[l,l]}function i(a,b){var c=f(b);return a.filter(function(a){return u.za("TiledImageResourceLevel",a)?n:c[0]!==l&&a.get("width")> c[0]||c[1]!==l&&a.get("height")>c[1]?B:n})}function e(){return E.hv()?[v.$ca]:E.E$()?E.md()==E.Gv||E.md()==E.YC?[v.uP,v.EZ]:[v.EZ,v.uP]:E.If()?[v.uP]:E.wb()?[v.tP]:[]}function j(a){a.sort(function(a,b){return a.get("width")-b.get("width")});return a}function o(a,b){function c(a){return Math.abs(a.get("width")*a.get("height")-b[0]*b[1])}a.sort(function(a,b){return c(a)-c(b)});return a.length&&a[0]||q}function k(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)<0});return a.length?a:c!== l?c:[]}function m(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)>=0});return a.length?a:c!==l?c:[]}function r(a,b,c){switch(c){case y.Vv:case y.Ns:case y.Fk:return a;case y.wq:case y.Eq:return a*b.get("hfov",180)/90;case y.Io:return a*b.get("hfov",180)*2/90}}function p(a,b){switch(b){case y.Vv:return a.get("stereoCube").get("levels");case y.Ns:return a.get("cube").get("levels");case y.Fk:return a.get("front").get("levels");case y.wq:return a.get("sphere").get("levels");case y.Io:case y.Eq:return a.get("stereoSphere").get("levels")}} function t(a,b){var c=p(a,b),e=a.get("minFaceSize");if(e){var d=r(e,a,b),e=c.filter(function(a){return a.get("height")>=d});e.length>0&&(c=e)}return c}function s(a){for(var b=[],c=0;c0)return j(e);e=this.iEa(a);if(b&&!this.tia(e)){c=this.Nha(a);if(c!= e)return[c,e]}return[e]},yQa:function(a){return a.get("tags").indexOf(v.FZ)>=0},X9:function(a,b,c){if(y.get(a)!=y.Fk)return b;var e;switch(c){case x.FRONT:e=a.get("front");break;case x.Ja:e=a.get("left");break;case x.BACK:e=a.get("back");break;case x.Xa:e=a.get("right");break;case x.kc:e=a.get("top");break;case x.bc:e=a.get("bottom")}a=e&&e.get("levels")||[];if(a.length==0)return q;a=a.filter(function(a){return a.get("width")==b.get("width")&&a.get("height")==b.get("height")&&a.get("grayscale",B)== b.get("grayscale",B)&&a.get("colCount",1)==b.get("colCount",1)&&a.get("rowCount",1)==b.get("rowCount",1)});return a[0]},Yra:function(a,c,e,d,f,g,o,j){var a=a.get("url"),i=0;a.indexOf("{eye}")>=0||a.indexOf(encodeURI("{eye}"))>=0?a=b(a,"{eye}",J[e]):i=i+6*(f?A:K)[e];a.indexOf("{face}")>=0||a.indexOf(encodeURI("{face}"))>=0?a=b(a,"{face}",N[d]):c!=y.Fk&&(i=i+L[d]);a=b(a,"{row}",o);return a=b(a,"{column}",j+i*g)},tPa:function(a,b){return z.hJ(z.oA(a.get("image")),90,90,H.Rg,b)},ROa:function(a,b){return z.hJ(z.oA(a.get("image")), a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},ePa:function(a,b){return z.hJ(z.oA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},GPa:function(a,b){return z.hJ(z.oA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},Cra:function(a,b){return z.hJ(z.oA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},oA:function(a){return a&&a.get("levels")||[]},hJ:function(a,b,c,f,g){if(!a||!a.length)return q;for(var a=k(a,v.Hq,a),i=e(),p=0;p=0?B:E.md()==E.Oy?n:M.UX(a.get("url"))}},L=function(){var a={};a[x.Xa]=0;a[x.Ja]=1;a[x.kc]=2;a[x.bc]=3;a[x.FRONT]=4;a[x.BACK]=5;return a}(),K=function(){var a={};a[w.Xa]=0;a[w.Ja]=1;a[w.Cs]=0; return a}(),A=function(){var a={};a[w.Xa]=1;a[w.Ja]=0;a[w.Cs]=0;return a}(),N=function(){var a={};a[x.Xa]="r";a[x.Ja]="l";a[x.kc]="u";a[x.bc]="d";a[x.FRONT]="f";a[x.BACK]="b";return a}(),J=function(){var a={};a[w.Ja]="l";a[w.Xa]="r";a[w.Cs]="b";return a}();return z}); define("ep",["require","t"],function(a){function b(a){this.lg=a;"CANVAS"==a.tagName?(this.J=a,this.qc=1):(this.J=document.createElement("canvas"),this.qc=g.ce()==g.yi?0.5:1,this.J.width=Math.round(a.width*this.qc),this.J.height=Math.round(a.height*this.qc));this.ia=this.J.getContext("2d");this.ia.globalCompositeOperation="copy";this.J!=a&&this.ia.drawImage(a,0,0,a.width,a.height,0,0,this.J.width,this.J.height)}function d(a,b,c){0>a?a=c==THREE.RepeatWrapping?b+a%b:c==THREE.MirroredRepeatWrapping?0== Math.floor(Math.abs(a/b))%2?Math.abs(a%b):b-1+a%b:0:a>=b&&(a=c==THREE.RepeatWrapping?a%b:c==THREE.MirroredRepeatWrapping?1==Math.floor(a/b)%2?b-1-a%b:a%b:b-1);return a}function c(a,b,c){try{if(a instanceof CanvasRenderingContext2D)return a.getImageData(b,c,1,1).data;if(a.tagName&&"CANVAS"==a.tagName)return a.DFa?[0,0,0,0]:a.getContext("2d").getImageData(b,c,1,1).data;f.drawImage(a,b,c,1,1,0,0,1,1);return f.getImageData(0,0,1,1).data}catch(d){return[0,0,0,0]}}var g=a("t");b.prototype.transparent=function(a, c){return b.transparent(this.ia,Math.round(a*this.qc),Math.round(c*this.qc))};b.prototype.xv=function(a,c){return b.xv(this.ia,Math.round(a*this.qc),Math.round(c*this.qc))};b.prototype.info=function(a,c){return b.info(this.ia,Math.round(a*this.qc),Math.round(c*this.qc))};b.prototype.dispose=function(){this.J!=this.lg&&(this.J.width=this.J.height=0);this.lg=this.J=this.ia=q};b.STa=function(a,c,f){if(!a.image||!a.image.width||!a.image.height)return n;c=d(Math.round(c*a.image.width),a.image.width,a.wrapS); f=d(Math.round((1-f)*a.image.height),a.image.height,a.wrapT);return!b.transparent(a.image,c,f)};b.transparent=function(a,c,d){return!b.xv(a,c,d)};b.xv=function(a,b,d){return!a.tagName||a.tagName&&"VIDEO"==a.tagName?n:0b;b++)a[b]= "0"+b.toString(16);for(;256>b;b++)a[b]=b.toString(16);return a}();return b}); define("kU","require,kG,jU,nU,eQ,iS,md,jF,mB,ep,kH".split(","),function(a){function b(a,b,c,e,f,g){for(a=(a-b)/g;c+180e;)e=e+360;c=(c-e)/g;return c=a<-0.1||a>0.1?d(f,c,Math.abs(1/(1500*a))):d(f,c,0.08)}function d(a,b,c){a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var c=a("kG"),g=a("jU"),f=a("nU"),i=a("eQ"),e=a("iS"),j=a("md"),o=a("jF"),k=a("mB"),m=a("ep"),r=a("kH"),a=c.extend(e,function(a){e.call(this);this.n=a;this.bk.push(this.n);this.Cf=this.Cf.bind(this);this.le= i.za("CeilingCapPanoramaOverlay",this.n)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch",this.le=="tripod"?-90:90);this.Td=B;this.kB=this.M5=this.rr=l;this.$Ha=this.le=="tripod"?1:-1;this.dj=this.jk=this.Dg=q});a.prototype.Eb=function(){e.prototype.Eb.call(this);this.Dg=(new o(f.U)).Ql(this.jp.bind(this));this.jk=(new o(f.ic)).oo(this.WA.bind(this));g.pa(this.n,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.Cf,n)};a.prototype.Jb=function(){this.dj&&this.dj.dispose(); this.dj=q;this.Dg.dispose();this.jk.dispose();g.na(this.n,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.Cf);e.prototype.Jb.call(this)};a.prototype.Cf=function(){this.set("angle",this.n.get("angle"));this.set("distance",this.n.get("distance"));this.set("hfov",this.n.get("hfov"));var a=k.ROa(this.n,this.get("panoramaPixelsPerDegree"));this.set("imageURL",a&&a.get("url"));this.set("imageWidth",a&&a.get("width"));this.set("imageHeight",a&&a.get("height"));this.set("inertia",this.n.get("inertia")); this.set("rotate",this.n.get("rotate"))};a.prototype.fm=function(){var a=e.prototype.fm.call(this);this.Dg.We(a);this.jk.We(a);return a};a.prototype.X=function(a){this.j8();this.oG(a);e.prototype.X.call(this,a)};a.prototype.j8=function(){if(this.D("imageURL")&&this.get("imageURL")){this.set("textureSource",new j(this.get("imageURL")));this.set("contentWidth",this.get("imageWidth"));this.set("contentHeight",this.get("imageHeight"))}};a.prototype.jp=function(){this.dj&&this.dj.dispose();this.dj=new m(this.get("textureSource").jf()); this.trigger(f.Oc);this.trigger(f.U)};a.prototype.WA=function(a,b){var c=0;b.Zr(function(a){(a=b.Gl(a))&&(c=c+a.Lg)});this.trigger(new r(f.ic,c/b.Zc.length))};a.prototype.oG=function(a){this.set("rendererYaw",a.Na);if(this.D("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.D("rendererYaw")){var c=this.get("angle"),e=this.get("rotate"),d=this.get("inertia"),f=this.$Ha*a.Na;e&&(c=c+f);var g=0,o=c-f;if(this.rr!==l){if(d)if(e){g=b(f,this.kB,c,this.rr,this.M5,a.Qe);c=this.rr+ g*a.Qe}else{g=b(f,this.kB,o,this.$la,this.M5,a.Qe);o=this.$la+g*a.Qe;c=o+f}this.rr!=c&&this.wa()}this.$la=o;this.rr=c;this.M5=g;this.kB=f;this.set("rotationZ",-c)}};a.prototype.bn=function(a){if(a.$e==f.Hk){var b=!a.zl()&&this.Op(a);if(b){a.jy(this.n);this.n.get("useHandCursor")&&a.ky(this.n);a.wk(this.get("distance"))}if(this.Td!=b){this.Td=b;this.n.trigger(this.Td?f.cc:f.qb);a.ms()&&this.n.trigger(this.Td?f.Gk:f.Sh)}}else if(a.$e==f.Qj&&!a.zl()&&this.Op(a)){this.n.SG(f.ca,n).length>1&&a.rs(this.n); a.wk(this.get("distance"));this.n.trigger(f.ca)}};a.prototype.Op=function(a){return this.Jt(a.Cp).some(function(a){return this.dj&&this.dj.xv(a.x,a.y)}.bind(this))};return a}); define("jx","require,kG,nU,gE,iy,bu".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("gE"),g=a("iy"),f=a("bu"),a=b.extend(g,function(){g.call(this);this.eh=new THREE.Matrix4;this.Opa=B;this.fi=new THREE.Matrix4;this.Sf=q;this.pl=new THREE.Matrix4;this.CL=this.mL=0;this.kI=0.75;this.QI=0.5;this.er=4;this.f4=0;this.fr=-2;this.gp=3;this.oS=0;this.iA=7;this.gL=this.Dx=1;this.ZJ=0.15;this.jA=this.eB=0;this.IR=this.OT=c.L;this.XU=this.RU=1E3}),i=Math.PI/180,e=new THREE.Matrix4;a.prototype.am=I();a.prototype.Eb= function(){g.prototype.Eb.call(this);this.trigger(d.Oc);this.trigger(d.U)};a.prototype.Jb=function(){this.d0()};a.prototype.ek=function(){this.am();this.EL()};a.prototype.fk=function(){this.wa()};a.prototype.EL=function(){if(this.Sf){this.d0();this.Rfa()}};a.prototype.AQ=I();a.prototype.Rfa=function(){this.PIa();this.Sf=new THREE.Group;for(var a=this.IR==c.S,b=this.eB,e=this.jA;e+b>0;){var d=Math.random()*(e+b)<=e;d?e--:b--;var f=this.AQ();f.matrixAutoUpdate=B;f.overdraw=B;f.material.opacity=0;f.userData= {DOa:d,qH:new THREE.Matrix4,nqa:new THREE.Matrix4,laa:new THREE.Matrix4,y:l,ywa:l,X$:a};this.Sf.add(f);a&&this.t6(f,this.fr,this.gp);this.NIa(f)}this.mL=a?this.Sf.children.length:0;this.a9.add(this.Sf);this.Bea()};a.prototype.d0=function(){if(this.Sf){this.Sf.parent&&this.Sf.parent.remove(this.Sf);for(var a=0,b=this.Sf&&this.Sf.children.length;a80&&c<100);var d=Math.random()* 360,f=Math.sin(d*i)*Math.sin(c*i)*b,g=-Math.cos(c*i)*b,b=Math.cos(d*i)*Math.sin(c*i)*b;a.userData.ywa=g*this.Dx;a.userData.nqa.makeTranslation(f,g,b);a.userData.laa.makeRotationY(d*i);a.userData.laa.multiply(e.makeRotationX(-c*i))};a.prototype.X=function(a){g.prototype.X.call(this,a);this.nMa(a);this.a9=a.vg;if(this.a9!=(this.Sf&&this.Sf.parent)){this.d0();this.a9&&this.Rfa()}else this.D("index")&&this.Bea();this.LMa(a)};a.prototype.nMa=function(a){a=a.$b&&f.Fe()==f.vD.Tl;if(a!=this.iia)(this.iia= a)&&setTimeout(function(){this.Sf&&this.EL()}.bind(this),0)};a.prototype.LMa=function(a){if(this.Sf){if(this.D("composedTranslationX","composedTranslationY","composedTranslationZ")){this.Opa=this.get("composedTranslationX")!=0||this.get("composedTranslationY")!=0||this.get("composedTranslationZ")!=0;this.eh.makeTranslation(-this.get("composedTranslationX")*this.er,this.get("composedTranslationY")*this.er,this.get("composedTranslationZ")*this.er)}var b=this.OT==c.S,e=this.Sf.children,d=e.length,f= b?Math.round(d*a.Qe/this.RU):0;if(this.mL+f>0){this.CL=b?0:Math.min(this.mL,this.CL+Math.round(d*a.Qe/this.XU));a=this.get("composedAlpha");for(b=0;b0){f--;g.userData.X$=n;this.mL++;this.t6(g,this.gp,this.gp+(this.gp-this.fr))}else continue;g.userData.qH.multiply(g.userData.nqa);g.userData.y=g.userData.y+g.userData.ywa;if(g.userData.ythis.gp){if(this.CL>0){this.CL--;g.userData.X$=B;this.mL--;g.material.opacity=0;continue}var i=g.userData.y< this.fr?this.gp:this.fr;this.t6(g,i,i)}i=a;g.userData.ythis.gp-this.kI&&(i=i*((this.gp-g.userData.y)/this.kI));g.material.opacity=i*this.gL;if(this.Opa){g.matrix.copy(this.eh);g.matrix.multiply(g.userData.qH)}else g.matrix.copy(g.userData.qH);g.matrix.multiply(g.userData.laa);g.matrixWorldNeedsUpdate=n}this.wa()}}};a.prototype.Bea=function(){if(this.Sf)for(var a=this.get("index"),b=0;b=this.wM){this.cU++;if(this.Bma&&this.cU==this.Bma){this.zd(g.L);this.hm=this.L1;this.trigger(c.Ha)}else{this.hm=this.hm%this.wM;this.trigger(c.Ik)}}this.hj();this.o==g.S&&i.yb(this.sj,this)}};a.prototype.clear=function(){this.zd(g.L);this.J.width=this.J.height=0;this.J= q;e.nRa(this.Xg);this.Xg=q};a.prototype.ng=S("J");a.prototype.hj=function(){var a=this.K1&&this.hm>=this.L1?0:Math.floor(this.hm/this.qe);if(this.G0!=a&&a0?b[0]:this.nj[0]; b.COa();if(b.zh.length==b.Xg.qW){this.nj.splice(this.nj.indexOf(b),1);if(this.nj.length==0)return}}this.Tma()}}};return a}); define("gA","require,jU,nU,gE,hy,eQ,cn,ef,fL,eR,jM,ep,bf".split(","),function(a){var b=a("jU"),d=a("nU"),c=a("gE"),g=a("hy"),f=a("eQ"),i=a("cn"),e=a("ef"),j=a("fL"),o=a("eR"),k=a("jM"),m=a("ep"),r=a("bf");return{Yz:function(){this.set("visible",B);this.set("inView",B);this.set("blending",0);this.set("chromaColor",l);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("premultipliedAlpha",B);this.set("projected",B);this.set("image",q);this.set("level",q);this.set("levelURL",q);this.set("state", q);this.set("visibleOnStop",n);this.set("side",l);this.MS=this.MS.bind(this);this.PS=this.PS.bind(this);this.dj=this.Ga=this.vn=this.fc=q},Bj:function(){this.j8();this.FM();this.RMa()},j8:function(){if(this.D("level")){var a=this.get("level");this.set("levelURL",a&&a.get("url"))}if(this.D("image","level","levelURL","projected")){this.rfa();this.Ga=this.get("image");this.jb=this.get("level");this.set("textureSource",new o(this.Ga&&this.jb.get("url")));this.set("premultipliedAlpha",this.Ga&&this.jb.get("premultipliedAlpha")); this.Rya();if(this.Ga){this.Dya();this.Gya()}else{this.trigger(d.Oc);this.trigger(d.U)}}},FM:function(){if(this.D("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var a=new i.kn;a.my=this.get("blending");a.Vr=this.get("chromaColor");a.oN=this.get("chromaThreshold");a.nN=this.get("chromaSmoothing");a.premultipliedAlpha=this.get("premultipliedAlpha");a.side=this.get("side");this.set("materialConfig",a)}},RMa:function(){if(this.D("meshGroup","projected","visible")){var a= this.get("projected")&&this.get("visible")?g.tZ:g.rD;e.zk(this.get("meshGroup")).forEach(function(b){k.By(b,a)}.bind(this))}},vl:function(){this.D("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0&&(this.get("visibleOnStop")||this.get("state")!=c.L));this.D("composedAlpha","meshGroup","inView")&&e.Ve(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.vn&&this.vn.Jf(this.get("inView"))},MS:function(){this.Ga&& f.za("AnimatedImageResource",this.Ga)?this.set("visibleOnStop",this.Ga.get("visibleOnStop")):this.set("visibleOnStop",n)},PS:function(){this.set("levelURL",this.jb.get("url"))},WE:function(){this.rfa()},rfa:function(){if(this.vn){this.vn.clear();this.vn=q}if(this.fc){this.fc.unbind(d.qa,this.rJ,this,n);this.fc.unbind(d.Gc,this.fia,this,n);this.fc.clear();this.fc=q}if(this.dj){this.dj.dispose();this.dj=q}if(this.get("textureSource")){this.k6();this.set("textureSource",q)}if(this.Ga){this.xIa();this.Ga= q}if(this.jb){this.AIa();this.jb=q}},Dya:function(){b.pa(this.Ga,["visibleOnStop"],this.MS,n)},xIa:function(){b.na(this.Ga,["visibleOnStop"],this.MS,n)},Gya:function(){b.pa(this.jb,["url"],this.PS,n)},AIa:function(){b.na(this.jb,["url"],this.PS,n)},sJ:function(){this.k6();var a,b=this.get("image");if(f.za("AnimatedImageResource",b)){this.fc=new r(this.get("textureSource").jf(),b.get("rowCount",1),b.get("colCount",1),b.get("frameDuration"),b.get("frameCount",b.get("rowCount",1)*b.get("colCount",1)), b.get("repeat"),b.get("finalFrame")=="first");a=this.fc.ng();this.fc.bind(d.Gc,this.fia,this,n);this.fc.bind(d.qa,this.rJ,this,n);this.vn=new j(b,this.fc);this.set("visibleOnStop",b.get("visibleOnStop"));this.set("state",this.fc.pg())}else{a=this.get("textureSource").jf();this.dj=new m(a);this.set("visibleOnStop",n);this.set("state",q)}this.vl();this.set("contentWidth",a.width);this.set("contentHeight",a.height);this.get("textureSource").Ml(a);this.trigger(d.Oc);this.trigger(d.U)},gia:function(){this.k6(); this.trigger(d.Oc);this.trigger(d.U)},fia:function(){this.set("state",this.fc.pg())},rJ:function(){this.get("textureSource").update();this.wa()},Rya:function(){var a=this.get("textureSource");a.bind(d.U,this.sJ,this,n);a.bind(d.Ac,this.gia,this,n)},k6:function(){var a=this.get("textureSource");a.unbind(d.U,this.sJ,this,n);a.unbind(d.Ac,this.gia,this,n)},n2:function(a){return this.dj&&this.dj.lg==a.source?this.dj.info(a.x,a.y):m.info(a.source,a.x,a.y)}}}); define("nR","require,jU,nU,eQ,mR,hz".split(","),function(a){function b(a){a=a.get("mapColor");return a=="image"||a=="transparent"||a=="any"}function d(a){a=a.get("mapColor");return a!="image"&&a!="transparent"&&a!="any"}var c=a("jU"),g=a("nU"),f=a("eQ"),i=a("mR"),e=new (a("hz"));return{ww:function(){this.set("beamEnabled",B);this.LS=this.LS.bind(this);this.a3=q;this.Uh=[];this.Nq=[];this.Tw=q},jSa:function(a){if(this.Tw!=a){this.c6();this.Tw=a;this.bea()}},Up:function(a){this.Nx=a.Na;this.Mx=a.pitch}, c6:function(){this.Tw&&c.na(this.Tw,["areas"],this.LS,n)},bea:function(){this.Tw&&c.pa(this.Tw,["areas"],this.LS,n)},wF:function(){this.c6();this.bea()},xF:function(){this.gna([]);this.c6()},LS:function(){var a=this.Tw.get("areas",[]);this.a3=f.za("HotspotPanoramaOverlayImage",this.n)||f.za("FlatHotspotPanoramaOverlayImage",this.n)||f.za("QuadHotspotPanoramaOverlayImage",this.n)?a.filter(b):a.filter(d);this.a3.forEach(function(a){e.set(a,0)})},bn:function(a){if(a.$e==g.Hk){var b=this.Z1(a);if(b.length> 0){a.jy(b);this.Or(b)&&a.ky(b);a.wk(this.get("distance"));var c=this.$a(b,a.vC());c&&a.VV(c,this.Zx(a.vC()))}this.gna(b,a.ms(),a.vC())}else if(a.$e==g.Qj){b=this.Z1(a);if(b.length>0){var e=B;b.forEach(function(a){a.trigger(g.ca);!e&&a.SG(g.ca,n).length>1&&(e=n)});a.wk(this.get("distance"));e&&a.rs(b)}}else if(a.$e==g.uZ){b=this.Z1(a);if(b.length>0){e=B;b.forEach(function(b){var c={};a.ms()&&(c=a.vj.Ora());b.trigger(g.zb,c);!e&&b.SG(g.zb,n).length>1&&(e=n)});this.Nq=b;a.wk(this.get("distance"));e&& a.rs(b)}}else if(a.$e==g.vZ&&this.Nq.length){this.Nq.forEach(function(b){var c={};a.ms()&&(c=a.vj.Ora());b.trigger(g.Wb,c)});this.Nq=[]}},Z1:function(a){if(!this.get("beamEnabled")||this.get("alpha")==0||a.zl())return[];var b=this.Jt(a.Cp);return b.length==0?[]:this.a3.filter(function(a){var c=a.get("mapColor");return c=="any"?n:c=="image"?b.some(function(a){return this.n2(a).xv}.bind(this)):c=="transparent"?b.every(function(a){return!this.n2(a).xv}.bind(this)):c&&c[0]=="#"?b.some(function(a){return i.xW(this.n2(a).color, c)<10}.bind(this)):B}.bind(this))},gna:function(a,b,c){this.Uh.forEach(function(d){if(a.indexOf(d)<0){var f=e.get(d)-1;e.set(d,f);if(f==0){d.trigger(g.qb,{center:c});b&&d.trigger(g.Sh)}}});var d=this.Uh;this.Uh=a;this.Uh.forEach(function(a){if(d.indexOf(a)<0){var f=(e.get(a)||0)+1;e.set(a,f);if(f==1){a.trigger(g.cc,{center:c});b&&a.trigger(g.Gk)}}})},$a:function(a,b){for(var c="",e=a.length-1;e>=0&&c=="";e--){var d=a[e];if(!b||d.get("displayTooltipInTouchScreens")&&this.ta.K.get("displayTooltipInTouchScreens")!== B)c=d.get("toolTip","")}return c},Zx:function(a){if(a){var a=this.get("yaw")-this.Nx,b=this.get("pitch")-this.Mx;return Math.sqrt(a*a+b*b)}return 0},Or:function(a){for(var b=this.Tw.get("useHandCursor"),c=a.length-1;c>=0&&b===l;c--)b=a[c].get("useHandCursor");return!!b}}}); define("mO",["require","t","cw"],function(a){function b(){this.Hh=l;this.JE=this.gB=0;this.ka=n;this.rQ=this.F7=this.V1=l;this.ub=B}var d=a("t"),c=a("cw"),g=Math.PI/180,f=d.browser()==d.Qh?[-0.5,0]:[0,0];b.prototype.Ey=function(a){this.Hh!=a&&(this.Hh=a,this.ka=n)};b.prototype.Dy=function(a){if(athis.gB+f[1])this.gB=a,this.ka=n};b.prototype.get=function(a,b){b!==l||(b=n);this.ka&&(this.X(),this.ka=B);var c=this.V1.get(a)||0,d=(this.F7.get(a)||0)-c;b&&(180d&&(d+=360)); return c+d*this.rQ};b.prototype.f$=function(){this.ka&&(this.X(),this.ka=B);for(var a=this.V1.get("vertices"),b=this.F7.get("vertices"),d=[],f=0;fm&&(m+=360);var r=a[f].get("pitch")||0,p=(b[f].get("pitch")||0)-r;d.push(new c(g+m*this.rQ,r+p*this.rQ))}return d};b.prototype.Ak=function(){return this.get("opacity",B)};b.prototype.nC=function(){var a=this.get("hfov")||this.get("vfov"),b=this.Hh[0].get("hfov")||this.Hh[0].get("vfov"); return Math.tan(0.5*a*g)/Math.tan(0.5*b*g)};b.prototype.X=function(){for(var a=this.JE,b,c=this.Hh.length-1,d,f;;){b=Math.min(a+1,c);d=this.Sha(a);f=this.Sha(b);if(d<=this.gB&&this.gB<=f)break;if(d>this.gB){if(0==a){b=a;break}a-=1}else{if(a==c){b=a;break}a+=1}}this.V1=this.Hh[a];this.F7=this.Hh[b];a=f-d;this.rQ=00,f=this.get("interactionEnabled");if(d){a=this.get("centerOver")&&!this.get("inVR");b=this.get("over")||a;a=!this.get("rollOverDisplay")&&!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")|| a&&this.get("centerOverDisplay")!==B&&this.get("rollOverDisplay")}this.get("rollOverItems").forEach(function(a){a.set("visible",b);a.set("beamEnabled",d&&b&&f)});var g=this.get("rollOverItems").length==0;this.get("items").forEach(function(a){a.set("visible",g||!b);a.set("beamEnabled",d&&(g||!b)&&f)});this.get("rollOverMaps").forEach(function(a){a.set("visible",B);a.set("beamEnabled",d&&b&&f)});var j=this.get("rollOverMaps").length==0;this.get("maps").forEach(function(a){a.set("visible",B);a.set("beamEnabled", d&&(j||!b)&&f)});this.set("visible",a)}if(this.D("visible")){var a=this.get("alpha"),s=this.get("visible")?1:0,u=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(a-s);this.yl=new i("linear",[new e("alpha",a,s)],Math.max(u,1));this.wa();this.get("visible")?this.n.trigger(c.jc):this.n.trigger(c.pc)}};a.prototype.vl=function(a){if(this.yl){if(this.yl.Te())this.yl=q;else{this.yl.xb(a.Qe);this.set("alpha",this.yl.gb("alpha"))}this.wa()}};a.prototype.RA=function(){this.Cj(); this.trigger(c.U)};a.prototype.AGa=function(){this.Cj();this.trigger(c.Oc)};a.prototype.VA=function(){this.Cj()};a.prototype.Cj=function(){var a=0;this.Id.Zr(function(b){var c=0,e;this.bf.Gl(b)?c=100:(e=this.Id.Gl(b))&&(c=e.Lg);a=a+c}.bind(this));this.trigger(new j(c.ic,a/this.Id.Zc.length))};a.prototype.tGa=function(a){a.data.center?this.b8([a.source],[]):this.iG([a.source],[])};a.prototype.sGa=function(a){a.data.center?this.b8([],[a.source]):this.iG([],[a.source])};a.prototype.iG=function(a,b){this.$oa(this.Uh, a,b);this.set("over",this.Uh.length>0)};a.prototype.b8=function(a,b){this.$oa(this.t_,a,b);this.set("centerOver",this.t_.length>0)};a.prototype.$oa=function(a,b,c){b||(b=[]);c||(c=[]);c.forEach(function(b){b=a.indexOf(b);b>=0&&a.splice(b,1)});b.forEach(function(b){a.indexOf(b)<0&&a.push(b)})};return a}); define("cx",["require","jU","mO"],function(a){var b=a("jU"),d=a("mO");return{wn:function(){this.set("playbackPositions",q);this.set("scaleMode",l);this.set("distance",l);this.Gd=this.Gd.bind(this);this.Za=new d},On:function(){b.pa(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.Gd,n)},Qn:function(){b.na(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.Gd)},Gd:function(){this.set("horizontalAlign",this.n.get("horizontalAlign")); this.set("verticalAlign",this.n.get("verticalAlign"));this.set("scaleMode",this.n.get("scaleMode"));this.set("distance",this.n.get("distance"));this.set("scale",this.n.get("scale"));this.set("playbackPositions",this.n.get("playbackPositions"))},tf:function(){this.D("playbackPositions","currentTime")&&(this.Za.Ey(this.get("playbackPositions")),this.Za.Dy(this.get("currentTime")),this.set("yaw",this.Za.get("yaw")),this.set("pitch",this.Za.get("pitch")),this.set("roll",this.Za.get("roll")),this.set("rotationX", this.Za.get("rotationX")),this.set("rotationY",this.Za.get("rotationY")),this.set("hfov",this.Za.get("hfov")),this.set("vfov",this.Za.get("vfov")),this.set("alpha",this.Za.Ak()))}}}); define("jd","require,kG,jU,nU,ef,fd,nj,gA,nR,cx,mB".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("ef"),f=a("fd"),i=a("nj"),e=a("gA"),j=a("nR"),o=a("cx"),k=a("mB"),m=0,a=b.extend(f,i,e,j,o,function(a){f.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+m++);this.set("side",THREE.DoubleSide);this.n=a;this.bk.push(this.n);this.Cf=this.Cf.bind(this)});a.prototype.Eb=function(){f.prototype.Eb.call(this);d.pa(this.n,["image.levels"],this.Cf,n)};a.prototype.Jb=function(){d.na(this.n, ["image.levels"],this.Cf);f.prototype.Jb.call(this)};a.prototype.Cf=function(){this.set("image",this.n.get("image"));this.set("level",k.ePa(this.n,this.get("panoramaPixelsPerDegree")))};a.prototype.X=function(a){this.JB();f.prototype.X.call(this,a);this.D("inView")&&this.n.trigger(this.get("inView")?c.jc:c.pc)};a.prototype.JB=function(){if(this.D("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.setAttribute(a,g.Ky,this.get("panoramaId"));g.setAttribute(a, g.gY,this.get("id"))}.bind(this))}};return a}); define("gY",["require","gn","a"],function(a){function b(a,b,c){this.vf=a||new d(0,0,0);this.Wi=b||new d(1,0,0);this.xy=c||new d(0,1,0)}var d=a("gn"),c=a("a");b.prototype.clone=function(){return new b(this.vf.clone(),this.Wi.clone(),this.xy.clone())};b.prototype.apply=function(a){a.FG(this.vf);a.FG(this.Wi);a.FG(this.xy)};b.prototype.intersection=function(a,b){var i=c.qy(a.vf,a.Wi),e=c.qy(this.vf,a.vf),j=c.qy(this.vf,this.Wi);j.fW(c.qy(this.vf,this.xy));i=i.aC(j);if(!(0==i||b&&0>i))return e=-j.aC(e)/ i,new d(a.vf.x+(a.Wi.x-a.vf.x)*e,a.vf.y+(a.Wi.y-a.vf.y)*e,a.vf.z+(a.Wi.z-a.vf.z)*e)};b.prototype.sX=function(a,b){var i=c.qy(this.vf,this.Wi),e=c.qy(this.vf,this.xy),j=c.qy(this.vf,a),o=i.c$(),k=e.c$();return b?new d(j.aC(i)/(o*o),j.aC(e)/(k*k),0):new d(j.aC(i)/o,j.aC(e)/k,0)};return b}); define("fa",[],function(){function a(a){a%=c;0>a&&(a+=c);return i[a*g|0]}function b(a){a%=c;0>a&&(a+=c);return f[a*g|0]}function d(){this.identity()}d.prototype.identity=function(){this.m11=1;this.m21=this.m13=this.m12=0;this.m22=1;this.m32=this.m31=this.m23=0;this.m33=1;this.lh=this.kh=this.jh=0};d.prototype.clone=function(){var a=new d;a.m11=this.m11;a.m12=this.m12;a.m13=this.m13;a.m21=this.m21;a.m22=this.m22;a.m23=this.m23;a.m31=this.m31;a.m32=this.m32;a.m33=this.m33;a.jh=this.jh;a.kh=this.kh; a.lh=this.lh;return a};d.prototype.concat=function(a){var b=this.m11,c=this.m12,e=this.m13,d=this.m21,f=this.m22,g=this.m23,i=this.m31,u=this.m32,v=this.m33,w=this.jh,x=this.kh,y=this.lh;this.m11=b*a.m11+c*a.m21+e*a.m31;this.m12=b*a.m12+c*a.m22+e*a.m32;this.m13=b*a.m13+c*a.m23+e*a.m33;this.m21=d*a.m11+f*a.m21+g*a.m31;this.m22=d*a.m12+f*a.m22+g*a.m32;this.m23=d*a.m13+f*a.m23+g*a.m33;this.m31=i*a.m11+u*a.m21+v*a.m31;this.m32=i*a.m12+u*a.m22+v*a.m32;this.m33=i*a.m13+u*a.m23+v*a.m33;this.jh=w*a.m11+x* a.m21+y*a.m31+a.jh;this.kh=w*a.m12+x*a.m22+y*a.m32+a.kh;this.lh=w*a.m13+x*a.m23+y*a.m33+a.lh};d.prototype.translate=function(a,b,c){this.jh+=a;this.kh+=b;this.lh+=c};d.prototype.scale=function(a,b,c){this.m11*=a;this.m12*=b;this.m13*=c;this.m21*=a;this.m22*=b;this.m23*=c;this.m31*=a;this.m32*=b;this.m33*=c;this.jh*=a;this.kh*=b;this.lh*=c};d.prototype.rotateX=function(c){var e=a(c),c=b(c),d=this.m12*e+this.m13*c,f=this.m22*c-this.m23*e,g=this.m22*e+this.m23*c,i=this.m32*c-this.m33*e,t=this.m32*e+ this.m33*c,s=this.kh*c-this.lh*e,u=this.kh*e+this.lh*c;this.m12=this.m12*c-this.m13*e;this.m13=d;this.m22=f;this.m23=g;this.m32=i;this.m33=t;this.kh=s;this.lh=u};d.prototype.rotateY=function(c){var e=a(c),c=b(c),d=-this.m11*e+this.m13*c,f=this.m21*c+this.m23*e,g=-this.m21*e+this.m23*c,i=this.m31*c+this.m33*e,t=-this.m31*e+this.m33*c,s=this.jh*c+this.lh*e,u=-this.jh*e+this.lh*c;this.m11=this.m11*c+this.m13*e;this.m13=d;this.m21=f;this.m23=g;this.m31=i;this.m33=t;this.jh=s;this.lh=u};d.prototype.rotateZ= function(c){var e=a(c),c=b(c),d=this.m11*e+this.m12*c,f=this.m21*c-this.m22*e,g=this.m21*e+this.m22*c,i=this.m31*c-this.m32*e,t=this.m31*e+this.m32*c,s=this.jh*c-this.kh*e,u=this.jh*e+this.kh*c;this.m11=this.m11*c-this.m12*e;this.m12=d;this.m21=f;this.m22=g;this.m31=i;this.m32=t;this.jh=s;this.kh=u};d.prototype.rotate=function(a,b,c){this.rotateX(a);this.rotateY(b);this.rotateZ(c)};d.prototype.invert=function(){var a=this.SOa();if(0==a)return B;var b=this.clone();this.m11=(b.m22*b.m33-b.m23*b.m32)/ a;this.m12=(b.m13*b.m32-b.m12*b.m33)/a;this.m13=(b.m12*b.m23-b.m13*b.m22)/a;this.m21=(b.m23*b.m31-b.m21*b.m33)/a;this.m22=(b.m11*b.m33-b.m13*b.m31)/a;this.m23=(b.m13*b.m21-b.m11*b.m23)/a;this.m31=(b.m21*b.m32-b.m22*b.m31)/a;this.m32=(b.m12*b.m31-b.m11*b.m32)/a;this.m33=(b.m11*b.m22-b.m12*b.m21)/a;this.jh=-(b.jh*this.m11+b.kh*this.m21+b.lh*this.m31);this.kh=-(b.jh*this.m12+b.kh*this.m22+b.lh*this.m32);this.lh=-(b.jh*this.m13+b.kh*this.m23+b.lh*this.m33);return n};d.prototype.SOa=function(){return this.m11* (this.m22*this.m33-this.m23*this.m32)+this.m12*(this.m23*this.m31-this.m21*this.m33)+this.m13*(this.m21*this.m32-this.m22*this.m31)};d.prototype.FG=function(a){var b=a.x*this.m12+a.y*this.m22+a.z*this.m32+this.kh,c=a.x*this.m13+a.y*this.m23+a.z*this.m33+this.lh;a.x=a.x*this.m11+a.y*this.m21+a.z*this.m31+this.jh;a.y=b;a.z=c};for(var c=2*Math.PI,g=18E4/c,f=new Float32Array(180001),i=new Float32Array(180001),e=0;18E4>e;e++)f[e]=Math.cos(e/g),i[e]=Math.sin(e/g);f[18E4]=f[0];i[18E4]=i[0];return d}); define("dx","require,kj,hH,dc,gn,gY,fa,lv".split(","),function(a){var b=a("kj"),d=a("hH"),c=a("dc"),g=a("gn"),f=a("gY"),i=a("fa"),e=a("lv"),j=Math.PI/180,o=180/Math.PI,k=new i,m=new d,r=new f,p=new g;return{get:function(a,b,c,e,d,f,o,i){a=a*j;b=b*j;b=new g(Math.sin(-a)*Math.cos(b),Math.sin(b),Math.cos(-a)*Math.cos(b));k.identity();k.rotateY(c*j);k.rotateZ(d*j);k.rotateX(e*j);b.apply(k);if(b.z>0){m.EO(o);m.cva(i);m.HC(f*j);m.project(b);return b}return q},fUa:function(a,b,c){k.identity();k.rotateX(-c.Nc()* j);k.rotateZ(-c.uf()*j);k.rotateY(-c.Uc()*j);p.set(a,b,0);a=c.unproject(p).$ra();a.apply(k);return{Na:a.Uc()*o,pitch:a.Nc()*o}},tWa:function(a,c,d,f,g,o,i,m,E,H,M,G,z,L){L||(L=e.Hs);z||(z=b.Dl(G,H,M));G||(G=b.zs(z,H,M));var K=H*0.5/Math.tan(G*0.5*j),A=K*Math.tan(G*0.5*j)*2,N=K*Math.tan(z*0.5*j)*2;r.vf.set(+A*0.5,+N*0.5,0);r.Wi.set(-A*0.5,+N*0.5,0);r.xy.set(+A*0.5,-N*0.5,0);k.identity();k.rotateZ(-E*j);k.rotateX(-i*j);k.rotateY(m*j);k.translate(0,0,K);k.rotateZ(-o*j);k.rotateX(-g*j);k.rotateY(-f*j); k.rotateY(d.Uc()*j);k.rotateZ(d.uf()*j);k.rotateX(d.Nc()*j);r.apply(k);p.set(a,c,0);g=r.intersection(d.unproject(p));f={x:l,y:l,xScaled:l,yScaled:l};if(g&&g.z>0){g=r.sX(g);f.xScaled=f.x=g.x/A;f.yScaled=f.y=g.y/N}if(L!=e.Hs){var J,C;switch(L){case e.Rg:J=Math.min(b.zs(z,H,M),G);C=Math.min(b.Dl(G,H,M),z);break;case e.uq:J=Math.max(b.zs(z,H,M),G);C=Math.max(b.Dl(G,H,M),z);break;case e.Co:J=G;C=b.Dl(G,H,M);break;case e.Pj:J=b.zs(z,H,M);C=z}if(J!=G||C!=z){A=K*Math.tan(J*0.5*j)*2;N=K*Math.tan(C*0.5*j)* 2;r.vf.set(+A*0.5,+N*0.5,0);r.Wi.set(-A*0.5,+N*0.5,0);r.xy.set(+A*0.5,-N*0.5,0);r.apply(k);p.set(a,c,0);if((g=r.intersection(d.unproject(p)))&&g.z>0){g=r.sX(g);f.xScaled=g.x/A;f.yScaled=g.y/N}}}return f},rVa:function(a,b,e,d,f,o,i){i=f*0.5/Math.tan(i*0.5*j);r.vf.set(+f*0.5,+o*0.5,i);r.Wi.set(-f*0.5,+o*0.5,i);r.xy.set(+f*0.5,-o*0.5,i);k.identity();k.rotateZ(-d*j);k.rotateX(-e*j);k.rotateY(-b*j);k.rotateY(a.Uc()*j);k.rotateZ(a.uf()*j);k.rotateX(a.Nc()*j);r.apply(k);a=new c(new g(0,0,0),new g(0,0,1)); if((a=r.intersection(a))&&a.z>0){a=r.sX(a);return{x:a.x/f,y:a.y/o}}return q}}}); define("A","require,kG,iy,ef,V,jM,lY".split(","),function(a){var b=a("kG"),d=a("iy"),c=a("ef"),g=a("V"),f=a("jM"),i=a("lY"),a=b.extend(d,function(){d.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",q);this.set("meshGroup",q);this.set("camera",q)});a.prototype.fm=function(){return[]};a.prototype.Jb=function(){c.dispose(this.get("meshGroup"));c.AH(this.get("meshGroup"),q);this.set("meshGroup",q);d.prototype.Jb.call(this)};a.prototype.X=function(a){d.prototype.X.call(this, a);this.set("camera",g.iC(a.vg));this.set("webglScene",a.vg);if(!this.get("meshGroup")){this.set("meshGroup",c.Rqa(this.fm()));this.get("meshGroup").userData.YQa=this}this.D("webglScene","meshGroup")&&c.AH(this.get("meshGroup"),this.get("webglScene"));this.vl();this.Sp(a);this.NB();this.D("loadingActive","meshGroup")&&f.yd(this.get("meshGroup"),this.get("loadingActive"));this.D("blendingActive","meshGroup")&&i.Sua(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.vl=function(){this.D("composedAlpha", "meshGroup")&&this.cw()};a.prototype.cw=function(){c.Ve(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.Sp=function(){h("Must be overridden in descendants.")};a.prototype.NB=function(){if(this.D("index","meshGroup")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b,e){c.OX(a,this.get("index")+b/e.length)}.bind(this))}};return a}); define("fk",["require","kG","iA","A","ef"],function(a){var b=a("kG"),d=a("iA"),c=a("A"),g=a("ef"),f=new THREE.Matrix4,i=Math.PI/180,a=b.extend(c,function(){c.call(this);this.set("tag","Frame");this.eh=new THREE.Matrix4;this.rd=new THREE.Matrix4;this.pl=new THREE.Matrix4;this.fi=new THREE.Matrix4});a.prototype.X=function(a){c.prototype.X.call(this,a)};a.prototype.Sp=function(a){var b=B;this.D("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.eh.makeTranslation(0.5*-this.get("composedTranslationX")* d.of,0.5*this.get("composedTranslationY")*d.of,0.5*this.get("composedTranslationZ")*d.of),b=n);this.D("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.rd.makeRotationY(-a.Na*i),this.rd.multiply(f.makeRotationX(-this.get("composedDeltaPitch")*i)),this.rd.multiply(f.makeRotationY(this.get("composedDeltaYaw")*i)),this.rd.multiply(f.makeRotationY(a.Na*i)),b=n);this.D("flipHorizontally")&&(this.pl.makeScale(this.get("flipHorizontally")?-1:1,1,1),b=n);if(b||this.D("meshGroup"))this.fi.copy(this.eh), this.fi.multiply(this.rd),this.fi.multiply(this.pl),g.$p(this.get("meshGroup"),this.fi)};return a}); define("oc",["require","kG","kC","mQ","md"],function(a){var b=a("kG"),d=a("kC"),c=a("mQ"),g=a("md"),a=b.extend(g,function(a,b,c,d,o){g.call(this,a.get("url"));this.ya=b;this.Ca=c;this.Z=d;this.ja=o;this.OFa=0!=this.ya||0!=this.Ca||this.Z!=a.get("width")||this.ja!=a.get("height")});a.prototype.cd=function(){this.OFa?(this.UBa(),this.Zo(),this.hF(!!this.lg)):g.prototype.cd.call(this)};a.prototype.kM=function(){g.prototype.kM.call(this);this.e1()};a.prototype.ey=function(){g.prototype.ey.call(this); this.e1()};g.prototype.dispose=function(){g.prototype.dispose.call(this);this.e1()};a.prototype.UBa=function(){var a=d.jf(this.kd);this.lg=c.qOa(a,this.ya,this.Ca,this.Z,this.ja)};a.prototype.e1=function(){this.lg&&(c.iW(this.lg),this.lg=q)};return a}); define("fS","require,eQ,dw,lW,gZ,eR,md,oc,iA,cn,ef,bV,mB,jM,t".split(","),function(a){var b=a("eQ"),d=a("dw"),c=a("lW"),g=a("gZ"),f=a("eR"),i=a("md"),e=a("oc"),j=a("iA"),o=a("cn"),k=a("ef"),m=a("bV"),r=a("mB"),p=a("jM"),t=a("t"),s={mOa:function(a,b){var c=m.get(a);switch(c){case m.Vv:case m.Ns:case m.Fk:return this.yBa(c,a,b);case m.wq:case m.Io:case m.Eq:return this.ABa(c,a,b)}},sOa:function(a,b){var c=new i(b.get("posterURL"));return this.Vfa(a,b,c)},rOa:function(a,b){var c=new f;return this.Vfa(a, b,c)},Vfa:function(a,b,c){var e=a.get("hfov"),f=a.get("vfov"),g=a.get("pitch"),i=b.get("width"),b=b.get("url"),a=m.get(a),r=a==m.Eq?2:1,s=a==m.Io?2:1,a=r+s>2?[d.Ja,d.Xa]:[d.Cs],t=Math.round(i/r),z=o.oy(c.texture(),new o.kn(b));p.BH(z,c);z.visible=n;return a.map(function(a,b){var c=j.Uqa(e,f,g,1,1,b%r/r,(s-1-Math.floor(b/r))/s,1/r,1/s),c=k.create(c,[z]);c.layers.set(a);p.GX(c,t/e);return c}.bind(this))},oOa:function(a){var b=[c.Xa,c.Ja,c.kc,c.bc,c.FRONT,c.BACK].map(function(){var b=new f;b.Ml(s.zEa(a)); var c=o.oy(b.texture());p.BH(c,b);c.visible=n;return c}),e=j.Tqa(1,1),b=k.create(e,b);p.GX(b,256/90);b.layers.set(d.Cs);return b},d7:{},zEa:function(a){if(!s.d7[a]){var b=document.createElement("canvas");b.width=b.height=256;var c=b.getContext("2d");c.fillStyle=a;c.fillRect(0,0,b.width,b.height);s.d7[a]=b}return s.d7[a]},yBa:function(a,e,f){var o=a==m.Vv?[d.Xa,d.Ja]:[d.Cs],i=e.get("flipImageHorizontally");i&&(o=o.reverse());var s=a==m.Fk?1:6*o.length,t=f.get("width")/s,H=f.get("height"),M,G;if(b.za("TiledImageResourceLevel", f)){M=f.get("colCount",s)/s;G=f.get("rowCount",1)}else if(this.Ema(a,f)){M=Math.ceil(t/g.Xs());G=Math.ceil(H/g.Xs())}else G=M=1;var z=[c.Xa,c.Ja,c.kc,c.bc,c.FRONT,c.BACK];return o.map(function(c,d){var g=Array(6);z.forEach(function(o,k){var p=r.X9(e,f,o);if(b.za("TiledImageResourceLevel",f))g[j.ada.indexOf(o)]=this.tBa(p,a,c,o,i,M,G);else{var s=a==m.Fk?0:Math.round((d*z.length+k)*t),x=M>1||G>1||a!=m.Fk?t>256?1:0.5:0;g[j.ada.indexOf(o)]=this.Qfa(p,M,G,s,0,t,H,x)}}.bind(this));var o=Array.prototype.concat.apply([], g),s=j.Tqa(M,G),o=k.create(s,o);o.layers.set(c);p.GX(o,t/90);return o}.bind(this))},ABa:function(a,b,c){var e=a==m.wq?[d.Cs]:[d.Ja,d.Xa];b.get("flipImageHorizontally")&&(e=e.reverse());var f=c.get("width"),o=c.get("height"),i=b.get("hfov"),r=b.get("vfov"),s=b.get("pitch"),t=Math.round(f/i/(o/r)),b=Math.round(o/r/(f/i)),z=Math.round(f/t),L=Math.round(o/b),K=(a=this.Ema(a,c))?Math.ceil(z/g.Xs()):1,A=a?Math.ceil(L/g.Xs()):1;return e.map(function(a,b){var e=this.Qfa(c,K,A,b%t*z,Math.floor(b/t)*L,z,L), d=j.Uqa(i,r,s,K,A,0,0,1,1),e=k.create(d,e);e.layers.set(a);p.GX(e,z/i);return e}.bind(this))},Ema:function(a,b){switch(a){case m.Vv:case m.Ns:case m.Io:case m.Eq:return n;case m.Fk:return B;case m.wq:return t.csa().maxTextureSizeb;b++)f=45*Math.PI/180+2*Math.PI* b/6,a=e+Math.cos(f)*o,f=j+Math.sin(f)*o,0==b?k.moveTo(a,f):k.lineTo(a,f);k.closePath();k.fill()};b.PH="circle";b.hP="hexagon";return b}); define("mD","require,kG,jU,nU,dx,iy,dd,lR,gp,eR".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("dx"),f=a("iy"),i=a("dd"),e=a("lR"),j=a("gp"),o=a("eR"),a=b.extend(f,function(a){f.call(this);this.n=a;this.bk.push(this.n);this.Cf=this.Cf.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.w_=this.aBa();this.gf=this.WBa();this.hh(this.w_.concat([this.gf]))});a.prototype.Eb=function(){f.prototype.Eb.call(this);this.trigger(c.Oc);this.trigger(c.U);d.pa(this.n,["yaw", "pitch","bleaching","bleachingDistance"],this.Cf,n)};a.prototype.Jb=function(){d.na(this.n,["yaw","pitch","bleaching","bleachingDistance"],this.Cf,n);f.prototype.Jb.call(this)};a.prototype.Cf=function(){this.set("yaw",this.n.get("yaw"));this.set("pitch",this.n.get("pitch"));this.set("bleaching",this.n.get("bleaching"));this.set("bleachingDistance",this.n.get("bleachingDistance"))};a.prototype.X=function(a){f.prototype.X.call(this,a);this.set("rendererYaw",a.Na);this.set("rendererPitch",a.pitch);this.set("rendererRoll", a.Ie);this.set("rendererCameraFOV",a.Ph);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);this.set("inVR",a.$b);if(this.D("composedTranslationX","composedTranslationY","composedTranslationZ")){var b=this.get("composedTranslationX"),c=this.get("composedTranslationY"),e=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-Math.sqrt(b*b+c*c+e*e)*10))}if(this.D("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","inVR", "yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var d=a.Na+this.get("composedDeltaYaw"),o=a.pitch+this.get("composedDeltaPitch"),i=a.Ie+this.get("composedDeltaRoll"),b=this.get("translationAlpha"),e=c=0,j,x,y,D;if(!a.$b)if(d=g.get(this.get("yaw"),this.get("pitch"),d,o,i,a.Ph,a.width,a.height)){x=a.width*0.5;D=a.height*0.5;j=d.x;y=d.y;x=(x-j)*2;D=(D-y)*2;e=Math.sqrt(x*x+D*D);c=Math.sqrt(a.width*a.width,a.height*a.height);a=Math.min(a.width,a.height);c= Math.max(0,Math.min(0.7,1-e/c))*b;d=this.get("bleaching");a=1-Math.max(0,Math.min(1,e/(a*this.get("bleachingDistance"))));e=d*a*b}for(a=0;a0){b.set("centerX",j+x*k[a].position);b.set("centerY",y+D*k[a].position)}}this.gf.set("alpha",e)}};a.prototype.aBa=function(){return k.map(function(a){var b=(new j(a.form,a.NC,a.opacity,a.color,a.oC,a.pC)).ng(),c=new o;c.Ml(b);b=new e;b.set("textureSource",c);b.set("width",a.size);b.set("height",a.size);b.set("offsetX", a.size*0.5);b.set("offsetY",a.size*0.5);b.set("alpha",0);return b})};a.prototype.WBa=function(){return new i("#ffffff")};var k=[{form:j.hP,position:0.1,size:52,NC:128,opacity:0.8,color:"#FCFCFC",oC:[1,0.5],pC:[0,0.866]},{form:j.hP,position:0.2,size:52,NC:128,opacity:0.6,color:"#C8FCC8",oC:[1,0.5],pC:[0,0.866]},{form:j.PH,position:0.36,size:112,NC:128,opacity:0.5,color:"#C8C8FC",oC:[1,0.9,0.6,0],pC:[0,0.2,0.4,1]},{form:j.PH,position:0.47,size:32,NC:128,opacity:0.3,color:"#96C8AF",oC:[1,1,0],pC:[0, 0.9,1]},{form:j.PH,position:0.65,size:52,NC:128,opacity:0.7,color:"#FCFCFC",oC:[0.7,0.7,0.2,0],pC:[0,0.1,0.4,1]},{form:j.hP,position:0.88,size:128,NC:128,opacity:0.4,color:"#AF96C8",oC:[1,0.5],pC:[0,0.866]},{form:j.PH,position:1,size:33,NC:128,opacity:0.8,color:"#C89696",oC:[0.8,0.8,0.6,0],pC:[0,0.2,0.4,1]}];return a}); define("bN",["require","ez"],function(a){function b(a,b,e){g.style.fontFamily=c.$u(b.fontFamily);g.style.fontSize=b.fontSize;g.style.fontWeight=b.fontWeight;g.style.fontStyle=b.fontStyle;g.innerHTML=a;document.body.appendChild(g);var j=new d(Math.ceil(g.clientWidth),Math.ceil(g.clientHeight));document.body.removeChild(g);e&&(e.font=b.fontSize+" "+c.$u(b.fontFamily),a=e.measureText(a).width,j.height*=a/j.width,j.width=a);return j}function d(a,b){this.width=a;this.height=b}var c=a("ez"),g=document.createElement("div"); g.style.display="inline-block";g.style.margin=0;g.style.padding=0;g.style.whiteSpace="nowrap";b.DZ=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};b.JUa=d;return b}); define("my",["require","bN","ez"],function(a){function b(a,b){this.lb=a;this.Gla=5;this.Rd=b.map(function(b){return new d(a,b)});this.OE=this.PE=this.rh=this.Ye=0;this.n8();this.J=document.createElement("canvas");this.J.width=this.Ye;this.J.height=this.rh;this.ia=this.J.getContext("2d");this.ka=n;this.Pe=this.zla=-1}function d(a,b){this.wC=a;this.item=b;this.label=b.get("label");this.fontFamily=this.wC.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.wC.get("backgroundColor", "#000000");this.Dua=this.wC.get("rollOverBackgroundColor",this.backgroundColor);this.IRa=this.wC.get("selectedBackgroundColor",this.Dua);this.sra=this.wC.get("fontColor","#000000");this.Eua=this.wC.get("rollOverFontColor",b.sra);this.JRa=this.wC.get("selectedFontColor",b.Eua);this.Wva=this.Vva=this.Xva=this.Yva=this.height=this.width=this.left=this.top=0;this.status=B;this.x$=n}var c=a("bN"),g=a("ez");d.prototype.dUa=function(){var a=new c.DZ;a.fontFamily=this.fontFamily;a.fontSize=this.fontSize; a=c(this.label,a);this.Yva=a.width;this.Xva=a.height};d.prototype.gTa=function(a){this.status!=a&&(this.status=a,this.x$=n)};d.prototype.wOa=function(a){if(this.x$){this.x$=B;var b,c;switch(this.status){case "normal":b=this.backgroundColor;c=this.sra;break;case "over":b=this.Dua;c=this.Eua;break;case "selected":b=this.IRa,c=this.JRa}a.clearRect(this.left,this.top,this.width,this.height);a.fillStyle=b;a.fillRect(this.left,this.top,this.width,this.height);a.fillStyle=c;a.font=this.fontSize+" '"+this.fontFamily+ "'";a.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+g.$u(this.fontFamily);a.textBaseline="middle";a.textAlign="center";a.fillText(this.label,Math.round(this.Vva),Math.round(this.Wva));return n}return B};b.prototype.fd=S("Ye");b.prototype.Ud=S("rh");b.prototype.ng=S("J");b.prototype.n8=function(){var a=0,b=0;this.Rd.forEach(function(c){c.dUa();a=Math.max(c.Yva,a);b=Math.max(c.Xva,b)});this.PE=a+2*this.Gla;this.OE=b+2*this.Gla;var c=0,d=0,g=0;this.SJ=20;if(20=this.SJ&&(g=0,d+=this.PE,c=0);a.left=d;a.top=c;a.Vva=d+0.5*this.PE;a.Wva=c+0.5*this.OE;a.width=this.PE;a.height=this.OE;g+=1;c+=this.OE}.bind(this));this.Ye=Math.ceil(this.Rd.length/this.SJ)*this.PE;this.rh=Math.min(this.SJ,this.Rd.length)*this.OE};b.prototype.update=function(){for(var a=B,b=0;b=this.Rd.length&&(c=-1));return c};b.prototype.Maa=R("zla");b.prototype.Taa=R("Pe");b.prototype.clear=function(){this.Rd=this.J=this.ia=this.lb=q};return b}); define("fE","require,kG,jU,nU,iS,my,eR,nx,bC,bu".split(","),function(a){function b(a,b){var c=(b-a)*0.98;Math.abs(c)<1.0E-5&&(c=0);return b-c}var d=a("kG"),c=a("jU"),g=a("nU"),f=a("iS"),i=a("my"),e=a("eR"),j=a("nx"),o=a("bC");VR=a("bu");a=d.extend(f,function(a){f.call(this);this.lb=a;this.kp=this.kp.bind(this);this.su=this.J=q;this.Lu=this.Qm=this.N5=this.wu=l;this.gfa=20;this.Of=q;this.eb=this.lb.get("opacity",0.5);this.aL=this.lb.get("rollOverOpacity",this.eb);this.cGa=1;this.eGa=0.66;this.set("tag", "MenuButton");this.set("visible",B);this.set("over",B);this.set("centerDistance",l)});a.prototype.Eb=function(){f.prototype.Eb.call(this);c.pa(this.lb,["label"],this.kp,n)};a.prototype.Jb=function(){c.na(this.lb,["label"],this.kp);f.prototype.Jb.call(this)};a.prototype.kp=function(){this.J=q};a.prototype.X=function(a){this.Su(a);this.Zf(a);this.IB(a);this.tf(a);this.Kd(a);f.prototype.X.call(this,a)};a.prototype.Su=function(a){if(a.$b&&!this.su&&VR.Fe()==VR.vD.Tl)this.hh([this.su=new f])};a.prototype.Zf= function(){if(this.get("visible")){if(!this.J){this.get("textureSource")||this.set("textureSource",new e);this.J=new i(this.lb,[this.lb]);this.get("textureSource").Ml(this.J.ng());this.set("contentWidth",this.J.fd());this.set("contentHeight",this.J.Ud());this.set("hfov",2*Math.atan2(this.J.fd()*0.5,300)*m);this.set("distance",this.lb.get("distance"))}if(this.J.update()){this.get("textureSource").update();this.wa()}this.D("over")&&this.J.Maa(this.get("over")?0:-1)}};a.prototype.IB=function(a){if(this.D("visible"))this.Of= new j("linear",[new o("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,l)],300);if(this.Of)this.Of.Te()?this.Of=q:this.Of.xb(a.Qe)};a.prototype.tf=function(a){if(this.get("visible")||this.Of){this.Qm=a.Na;this.Lu=Math.min(90,Math.max(-90,this.gfa+this.gfa-a.pitch));if(this.D("visible")&&this.get("visible")){this.set("yaw",a.Na);this.set("pitch",a.pitch)}else{for(;this.Qm+180this.wu;)this.wu=this.wu+360;var c=(this.Qm-this.wu)/a.Qe,e=(this.Lu- this.N5)/a.Qe,d=Math.atan2(e,c),e=Math.sqrt(e*e+c*c),e=Math.min(e,10*k),c=Math.cos(d)*e,d=Math.sin(d)*e;this.set("yaw",b(this.get("yaw"),this.Qm+c));this.set("pitch",b(this.get("pitch"),this.Lu+d))}this.wu=this.Qm;this.N5=this.Lu;d=this.get("yaw")-a.Na;a=this.get("pitch")-a.pitch;this.set("centerDistance",Math.sqrt(d*d+a*a))}};a.prototype.Kd=function(){if(!this.get("visible")&&!this.Of)this.set("alpha",0);else if(this.D("over","centerDistance")||this.Of){var a=this.get("over")?this.aL:this.eb,b=this.eGa, c=this.get("centerDistance")/this.get("hfov");if(c<1){b=b+(1-c)*(this.cGa-b);a=a+(1-c)*(this.aL-a)}if(this.Of){a=a*this.Of.gb("displayCoef");b=b*this.Of.gb("displayCoef")}this.set("alpha",a);this.set("scale",b)}};a.prototype.bn=function(a){if(a.$e==g.Hk){var b=B;this.get("visible")&&!a.zl()&&(b=this.Jt(a.Cp).length>0);if(b){a.jy(this.lb);a.ky(this.lb);a.wk(this.get("distance"))}if(this.get("over")!=b){this.get("over")&&this.lb.trigger(g.qb);this.set("over",b);this.get("over")&&this.lb.trigger(g.cc)}}else if(a.$e== g.Qj&&this.get("visible")&&!a.zl()&&this.Jt(a.Cp).length>0){a.rs(this.lb);this.lb.trigger(g.ca);this.trigger(g.ca)}};var k=Math.PI/180,m=180/Math.PI;return a}); define("iX","require,kG,jU,nU,iS,my,eR,nx,bC,bu".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("iS"),f=a("my"),i=a("eR"),e=a("nx"),j=a("bC"),o=a("bu"),a=b.extend(g,function(a,b){g.call(this);this.lb=a;this.jx=b;this.kp=this.kp.bind(this);this.J=q;this.N5=this.wu=l;this.Of=q;this.eb=this.lb.get("opacity",0.5);this.aL=this.lb.get("rollOverOpacity",this.eb);this.set("textureSource",new i);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.fga=B});a.prototype.Eb= function(){g.prototype.Eb.call(this);d.pa(this.lb,["label"],this.kp,n);this.jx.forEach(function(a){d.pa(a,["label"],this.kp,n)}.bind(this))};a.prototype.Jb=function(){d.na(this.lb,["label"],this.kp,n);this.jx.forEach(function(a){d.na(a,["label"],this.kp,n)}.bind(this));g.prototype.Jb.call(this)};a.prototype.kp=function(){this.J=q};a.prototype.X=function(a){this.Su(a);this.Zf(a);this.IB(a);this.tf(a);g.prototype.X.call(this,a)};a.prototype.jBa=function(){if(!this.J){this.J=new f(this.lb,this.jx);this.get("textureSource").Ml(this.J.ng()); this.set("contentWidth",this.J.fd());this.set("contentHeight",this.J.Ud());this.set("hfov",2*Math.atan2(this.J.fd()*0.5,300)*k);this.set("distance",this.lb.get("distance"))}};a.prototype.Zf=function(){this.J||this.jBa();this.D("selectedIndex")&&this.J.Maa(this.get("selectedIndex"));this.D("overIndex")&&this.J.Maa(this.get("overIndex"));if(this.J.update()){this.get("textureSource").update();this.wa()}};a.prototype.Su=function(a){if(a.$b&&!this.su&&o.Fe()==o.vD.Tl)this.hh([this.su=new g])};a.prototype.IB= function(a){if(!this.Of&&!this.fga)this.Of=new e("linear",[new j("alpha",0,1,l),new j("scale",0,1,l),new j("yaw",a.Na,this.get("yaw"),l),new j("pitch",a.pitch,this.get("pitch"),l)],300);if(this.Of)if(this.Of.Te()){this.fga=n;this.Of=q}else this.Of.xb(a.Qe)};a.prototype.tf=function(){if(this.Of){var a=this.get("overIndex")<0?this.eb:this.aL;this.set("alpha",a*this.Of.gb("alpha"));this.set("scale",this.Of.gb("scale"));this.set("yaw",this.Of.gb("yaw"));this.set("pitch",this.Of.gb("pitch"))}else if(this.D("overIndex")){a= this.get("overIndex")<0?this.eb:this.aL;this.set("alpha",a)}};a.prototype.bn=function(a){if(a.$e==c.Hk){var b=-1;if(!a.zl()){var e=this.Jt(a.Cp).filter(function(a){return a.source==this.J.ng()}.bind(this));e.length>0&&(b=this.J.Fra(e[0].x,e[0].y))}if(b>=0){a.jy(this.jx[b]);a.ky(this.jx[b]);a.wk(this.get("distance"))}this.get("overIndex")>=0!=b>=0&&(b>0?this.trigger(c.cc):this.trigger(c.qb));if(this.get("overIndex")!=b){this.get("overIndex")>=0&&this.jx[this.get("overIndex")].trigger(c.qb);this.set("overIndex", b);this.get("overIndex")>=0&&this.jx[this.get("overIndex")].trigger(c.cc)}}else if(a.$e==c.Qj&&!a.zl()){e=this.Jt(a.Cp).filter(function(a){return a.source==this.J.ng()}.bind(this));if(e.length>0){b=this.J.Fra(e[0].x,e[0].y);if(b>=0){e=this.jx[b];this.set("selectedIndex",b);a.rs(e);a.wk(this.get("distance"));e.trigger(c.ca);this.trigger(c.ca,{item:e})}}}};var k=180/Math.PI;return a}); define("kD",["require","kG","nU","iy","iX"],function(a){var b=a("kG"),d=a("nU"),c=a("iy"),g=a("iX"),a=b.extend(c,function(a){c.call(this);this.lb=a;this.Bx=[];this.pF=q;this.set("tag","MenuPanels");this.set("visible",B)});a.prototype.X=function(a){this.D("visible")&&this.get("visible")&&(this.set("yaw",a.Na),this.set("pitch",a.pitch),this.jea(this.lb));c.prototype.X.call(this,a)};a.prototype.jea=function(a){var a=new g(this.lb,a.get("children",[])),b=this.get("yaw");this.Db().forEach(function(a){b+= a.get("hfov")+i});a.set("yaw",b);a.set("pitch",this.get("pitch"));this.Nya(a);this.appendChild(a)};a.prototype.zma=function(a){this.Db().slice(a).forEach(function(a){this.FIa(a);a.remove()}.bind(this));this.Bx=this.Bx.filter(function(a){return 0<=this.Db().indexOf(a)}.bind(this))};a.prototype.Nya=function(a){a.bind(d.cc,this.Jla,this,n);a.bind(d.qb,this.Ila,this,n);a.bind(d.ca,this.Hla,this,n)};a.prototype.FIa=function(a){a.unbind(d.cc,this.Jla,this,n);a.unbind(d.qb,this.Ila,this,n);a.unbind(d.ca, this.Hla,this,n)};a.prototype.Jla=function(a){0>this.Bx.indexOf(a.source)&&(this.Bx.push(a.source),1==this.Bx.length&&this.ufa())};a.prototype.Ila=function(a){a=this.Bx.indexOf(a.source);0<=a&&(this.Bx.splice(a,1),0==this.Bx.length&&this.UJa())};a.prototype.Hla=function(a){var b=a.source,a=a.data.item;a.get("children",[]).length?(this.zma(this.Db().indexOf(b)+1),this.jea(a)):this.yfa()};a.prototype.yfa=function(){this.set("visible",B);this.zma(0);this.ufa();this.trigger(d.Ry)};a.prototype.ufa=function(){this.pF&& (clearTimeout(this.pF),this.pF=q)};a.prototype.UJa=function(){this.pF||(this.pF=setTimeout(function(){this.pF=q;this.yfa()}.bind(this),f))};var f=3E3,i=1;return a}); define("fJ","require,kG,nU,iy,fE,kD".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("iy"),g=a("fE"),f=a("kD"),a=b.extend(c,function(a){c.call(this);this.n=a;this.bk.push(this.n);this.set("tag","Menu");this.set("visible",B);this.Pd=new g(this.n);this.Pd.bind(d.ca,this.Qza,this,B);this.Fh=new f(this.n);this.Fh.bind(d.Ry,this.HHa,this,B);this.hh([this.Pd,this.Fh])});a.prototype.Eb=function(){c.prototype.Eb.call(this);this.trigger(d.Oc);this.trigger(d.U)};a.prototype.X=function(a){this.set("visible", a.$b);if(this.D("visible")){this.Pd.set("visible",this.get("visible"));this.Fh.set("visible",B)}c.prototype.X.call(this,a)};a.prototype.Qza=function(){this.Pd.set("visible",B);this.Fh.set("visible",n)};a.prototype.HHa=function(){this.Pd.set("visible",this.get("visible"))};return a}); define("nM","require,kG,nU,iS,eR,jF,kH".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("iS"),g=a("eR"),f=a("jF"),i=a("kH"),a=b.extend(c,function(){c.call(this);this.set("tag","CustomPlane");this.set("source",q);this.set("sourceUpdated",B);this.Id=this.Dg=q});a.prototype.Eb=function(){this.Dg=(new f(d.U)).Ql(this.jp.bind(this));this.Id=(new f(d.U)).oo(this.ou.bind(this));c.prototype.Eb.call(this)};a.prototype.Jb=function(){this.Dg.dispose();this.Id.dispose();c.prototype.Jb.call(this)};a.prototype.X= function(a){if(this.D("source","sourceUpdated","useMipmapping","anisotropy")){var b=this.get("textureSource");b||this.set("textureSource",b=new g);this.D("source")&&b.Ml(this.get("source"));this.D("sourceUpdated")&&(b.update(),this.set("sourceUpdated",B));this.D("useMipmapping")&&b.bY(this.get("useMipmapping"),this.get("anisotropy"))}c.prototype.X.call(this,a);if(this.D("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.Dg.We(a);this.Id.We(a)}}};a.prototype.jp=function(){this.trigger(d.Oc); this.trigger(d.U)};a.prototype.ou=function(a,b){var c=0;b.Zr(function(a){(a=b.Gl(a))&&(c=c+a.Lg)});this.trigger(new i(d.ic,c/b.Zc.length))};return a}); define("jf",["require"],function(){function a(a){this.ec=this.ar(a.get("surfaceReticleColor"));this.zr=this.ar(a.get("surfaceReticleSelectionColor"));this.eb=a.get("surfaceReticleOpacity");this.Zma=a.get("surfaceReticleSelectionOpacity");this.rh=this.Ye=128;this.BHa=0.456;this.CHa=0.088;this.hFa=0.18;this.J=document.createElement("canvas");this.J.width=this.Ye;this.J.height=this.rh;this.ia=this.J.getContext("2d");this.ia.fillStyle="red";this.ia.cQa=n;this.ia.fillRect(0,0,this.Ye,this.rh);this.Td= this.Y_=B;this.SE=this.qT=l;this.Az=0}a.prototype.c2=function(a){return this.mk(this.zr[0]*a+(1-a)*this.ec[0],this.zr[1]*a+(1-a)*this.ec[1],this.zr[2]*a+(1-a)*this.ec[2],this.Zma*a+(1-a)*this.eb)};a.prototype.ar=function(a){a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]};a.prototype.mk=function(a,d){return"rgba("+a.join(",")+", "+d+")"};a.prototype.hb=function(a){this.Pa!=a&&(this.Pa=a,this.ka=n)};a.prototype.fd=S("Ye");a.prototype.Ud= S("rh");a.prototype.ng=S("J");a.prototype.update=function(){if(!this.ka)return B;this.ka=B;this.ia.clearRect(0,0,this.Ye,this.rh);var a=[this.zr[0]*this.Pa+(1-this.Pa)*this.ec[0],this.zr[1]*this.Pa+(1-this.Pa)*this.ec[1],this.zr[2]*this.Pa+(1-this.Pa)*this.ec[2]],d=this.Zma*this.Pa+(1-this.Pa)*this.eb;this.ia.strokeStyle=this.mk(a,d);this.ia.fillStyle=this.mk(a,d*this.Pa);this.ia.beginPath();this.ia.lineWidth=this.Ye*this.CHa;this.ia.arc(0.5*this.Ye,0.5*this.Ye,this.Ye*this.BHa,0,2*Math.PI,B);this.ia.stroke(); this.ia.beginPath();this.ia.arc(0.5*this.Ye,0.5*this.Ye,this.Ye*this.hFa,0,2*Math.PI,B);this.ia.fill();return n};return a}); define("gH","require,kG,jU,nU,iA,iy,nM,jf,dc,gY".split(","),function(a){function b(a,b,c){this.oX=a;this.oX.bind(g.u("distanceToFloor"),this.X,this,B);this.Ej=b;this.Ej.bind(g.u("yaw"),this.X,this,B);this.Ej.bind(g.u("distance"),this.X,this,B);this.Ej.bind(g.u("enabled"),this.X,this,B);this.Ej.bind(g.u("enabledInSurfaceSelection"),this.X,this,B);this.Pa=q;this.Ll=new e;this.Ll.set("hfov",20);this.Ll.set("vfov",20);this.Ll.set("pitch",-90);this.Ll.set("useMipmapping",n);this.Ll.set("anisotropy",16); this.Ll.set("source",c.ng());this.Ll.set("contentWidth",c.fd());this.Ll.set("contentHeight",c.Ud());this.X()}var d=a("kG"),c=a("jU"),g=a("nU"),f=a("iA"),i=a("iy"),e=a("nM"),j=a("jf"),o=a("dc"),k=a("gY"),a=d.extend(i,function(a){i.call(this);this.IS=this.IS.bind(this);this.ir=this.ir.bind(this);this.ES=this.ES.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",B);this.set("enabled",B);this.ba=a;this.HP=[];this.bJ=new k;this.Fg=new o;this.Qc=new e;this.Qc.set("useMipmapping",n); this.Qc.set("anisotropy",16);this.Qc.set("hfov",20);this.Qc.set("vfov",20);this.Qc.set("pitch",-90);this.set("reticleCoef",1);this.hh([this.Qc])});a.prototype.Eb=function(){this.HBa();i.prototype.Eb.call(this);c.pa(this.ba,["distanceToFloor"],this.IS,n);c.pa(this.ba,["adjacentPanoramas"],this.ir,n);c.pa(this.ta.vc,["adjacentPanoramaPositionsEnabled"],this.ES,n);this.trigger(g.Oc);this.trigger(g.U)};a.prototype.Jb=function(){i.prototype.Jb.call(this);c.na(this.ba,["distanceToFloor"],this.IS);c.na(this.ba, ["adjacentPanoramas"],this.ir);c.na(this.ta.vc,["adjacentPanoramaPositionsEnabled"],this.ES);this.fna([])};a.prototype.IS=function(){var a=this.ba.get("distanceToFloor");this.Qc.set("distance",a);var a=f.kC(a),b=f.h$(a,90),c=f.i$(a,90);this.bJ.vf.set(-b*0.5,-a,-c*0.5);this.bJ.Wi.set(b*0.5,-a,-c*0.5);this.bJ.xy.set(-b*0.5,-a,c*0.5);this.Ima=a/f.cv()};a.prototype.ir=function(){this.fna(this.ba.get("adjacentPanoramas",[]))};a.prototype.ES=function(){this.ir()};a.prototype.fna=function(a){this.HP.forEach(function(a){a.clear()}); this.HP=a.map(function(a){return new b(this.ba,a,this.E5)}.bind(this));a=[];this.ta.vc.get("adjacentPanoramaPositionsEnabled")&&(a=a.concat(this.HP.map(function(a){return a.Ll})));a=a.concat([this.Qc]);this.hh(a)};a.prototype.X=function(a){i.prototype.X.call(this,a);this.set("enabled",a.IO);this.J8(a);this.gy(a)};a.prototype.J8=function(){if(this.D("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.Qc.set("alpha", this.get("reticleVisible")?1:0);this.set("alpha",this.get("enabled")&&!this.get("composedTranslationX")&&!this.get("composedTranslationY")&&!this.get("composedTranslationZ")&&!this.get("composedDeltaYaw")&&!this.get("composedDeltaPitch")&&!this.get("composedDeltaRoll")?1:0);this.dpa()}};a.prototype.HBa=function(){this.LF=new j(this.ta.K);this.LF.hb(this.get("reticleCoef"));this.Qc.set("source",this.LF.ng());this.Qc.set("contentWidth",this.LF.fd());this.Qc.set("contentHeight",this.LF.Ud());this.E5= new j(this.ta.K);this.E5.hb(0);this.E5.update(1)};a.prototype.gy=function(a){this.D("reticleCoef")&&this.LF.hb(this.get("reticleCoef"));this.Qc.set("sourceUpdated",this.LF.update(a.Qe))};a.prototype.bn=function(a){if(!this.get("enabled")||a.Cp.length==0||a.zl()||a.XQa())this.set("reticleVisible",B);else{var b=a.Cp[0];this.Fg.vf.set(b.origin.x,b.origin.y,b.origin.z);this.Fg.Wi.set(b.origin.x+b.direction.x,b.origin.y+b.direction.y,b.origin.z+b.direction.z);if(b=this.bJ.intersection(this.Fg,n)){var c= this.bJ.sX(b,n),e=2*(0.5-c.x),c=2*(0.5-c.y),d=m*Math.atan2(-e,c),f=-90+m*Math.atan2(Math.sqrt(e*e+c*c),1);if(f<-75||f>-1)this.set("reticleVisible",B);else{var o={x:e*this.Ima,y:-c*this.Ima};if(!a.ms()&&!a.Qsa())this.set("reticleVisible",B);else if(a.$e==g.Hk){this.set("reticleVisible",n);this.Qc.set("alpha",Math.min(1,(f- -75)/5));this.Qc.set("translationX",o.x);this.Qc.set("translationZ",o.y)}var i=this.ta.vc.get("surfaceSelectionHorizontalAngle")*0.5,j=this.ta.vc.get("surfaceSelectionVerticalAngle")* 0.5,c=this.HP.map(function(a){var b=a.dPa(d),c=a.EPa(f),e=a.xW(o);return{Ej:a.Ej,ON:b,swa:c,distance:e}}).filter(function(a){return a.ON180?360-a:a};b.prototype.EPa=function(a){return!this.Pa?Infinity:Math.abs(this.Pa.pitch-a)};b.prototype.xW=function(a){if(!this.fG)return Infinity;var b=a.x-this.fG.x,a=a.y-this.fG.y;return Math.sqrt(b*b+a*a)};b.prototype.X=function(){var a=this.Ej.get("yaw"),b=this.Ej.get("distance"),c=this.Ej.get("enabled")&&this.Ej.get("enabledInSurfaceSelection");if(a===l||b===l||!c){this.fG=this.Pa=q;this.Ll.set("alpha",0)}else{var c=this.oX.get("distanceToFloor"),e=-90+Math.atan2(b, c)*m;this.Ll.set("alpha",e<-1?1:0);this.Pa={Na:a,pitch:e};e=-Math.cos(a*r)*b/c;a=-Math.sin(a*r)*b/c;b=f.kC(c)/f.cv();this.fG={x:a*b,y:e*b};this.Ll.set("translationX",this.fG.x);this.Ll.set("translationZ",this.fG.y);this.Ll.set("distance",c)}};var m=180/Math.PI,r=Math.PI/180;return a}); define("X","require,kG,jU,nU,kH,iy,iS,gH,jF,mB,iQ,bu".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("kH"),f=a("iy"),i=a("iS"),e=a("gH"),j=a("jF"),o=a("mB"),k=a("iQ"),m=a("bu"),r=0,a=b.extend(f,function(a){f.call(this);this.n=a;this.bk.push(this.n);this.UA=this.UA.bind(this);this.Bf=this.Bf.bind(this);this.ir=this.ir.bind(this);this.Ko(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",B);this.set("blendingActive",n);this.set("currentTime", 0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",n);this.set("backgroundPreloadEnabled",n);this.set("surfaceSelectionEnabled",B);this.set("id","panorama_"+r++);this.set("ready",B);this.ST=[];this.Rn=this.Id=this.bf=q;this.zh=new p;this.ema=new t;this.iLa=new e(this.n);this.Mn=new t;this.hh([this.zh,this.ema,this.iLa,this.Mn])});a.prototype.Eb=function(){this.bf=(new j(c.U)).Ql(this.jp.bind(this));this.Id=(new j(c.ic)).oo(this.WA.bind(this));this.Rn=(new j(c.Oc)).Ql(this.DGa.bind(this)); f.prototype.Eb.call(this);this.get("blendingActive")&&this.ta.set("globalBlendingActive",this.ta.get("globalBlendingActive")+1);d.pa(this.n,["currentTime"],this.UA,n);d.pa(this.n,["frames","overlays","vrMenu","flipImageHorizontally"],this.Bf,n);d.pa(this.n,["adjacentPanoramas"],this.ir,n)};a.prototype.Jb=function(){this.bf.dispose();this.Id.dispose();this.Rn.dispose();this.get("blendingActive")&&this.ta.set("globalBlendingActive",this.ta.get("globalBlendingActive")-1);f.prototype.Jb.call(this);d.na(this.n, ["currentTime"],this.UA);d.na(this.n,["frames","overlays","vrMenu","flipImageHorizontally"],this.Bf);d.na(this.n,["adjacentPanoramas"],this.ir);this.q7()};a.prototype.Bf=function(){function a(b,c,d){b=f.indexOf(b);return b<0?d:e[b].get(c,d)}function b(c){return a(c,"projected",B)}var c=this.ta.fv(this.n.get("frames"));c.forEach(function(a){a.set("panoramaId",this.get("id"));a.set("flipHorizontally",this.n.get("flipImageHorizontally"))}.bind(this));var e=this.n.get("overlays"),d=this.ta.fv(e),f=d.slice(), g=d.filter(b).filter(function(b){return a(b,"enabled",n)});this.n.get("vrMenu")&&d.push(this.ta.fv(this.n.get("vrMenu")));d.forEach(function(a){a.set("panoramaId",this.get("id"))}.bind(this));this.bf.We(c.concat(d));this.Id.We(c.concat(d));this.Rn.We(c.concat(g));this.ema.hh(d.filter(b));this.zh.hh(c);this.Mn.hh(d.filter(function(a){return!b(a)}));this.set("panoramaPixelsPerDegree",o.Mra(this.n));this.kpa()};a.prototype.UA=function(){this.set("currentTime",this.n.get("currentTime",0))};a.prototype.ir= function(){this.set("adjacentPanoramas",this.n.get("adjacentPanoramas",[]))};a.prototype.jp=function(){this.Cj();this.trigger(c.U)};a.prototype.DGa=function(){this.Cj();this.set("ready",n);this.trigger(c.Oc)};a.prototype.WA=function(){this.Cj()};a.prototype.Cj=function(){var a=0;this.Id.Zr(function(b){var c=0,e;this.bf.Gl(b)?c=100:(e=this.Id.Gl(b))&&(c=e.Lg);a=a+c}.bind(this));this.trigger(new g(c.ic,a/this.Id.Zc.length))};a.prototype.X=function(a){if(a.$b&&!this.su&&m.Fe()==m.vD.Tl)this.hh([this.su= new i].concat(this.Db()));var b=this.get("blendingActive");this.set("blendingActive",this.get("alpha")<1);b!=this.get("blendingActive")&&this.ta.set("globalBlendingActive",this.ta.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",this.ta.Zb.get("backgroundPreloadEnabled")!==B);this.set("preloadEnabled",a.jO);this.D("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")? this.PKa():this.q7());this.D("index")&&this.kpa();f.prototype.X.call(this,a)};a.prototype.u$=function(){return o.u$(this.n,this.get("preloadEnabled"))};a.prototype.$$=function(){return o.$$(this.n,this.get("preloadEnabled"))};a.prototype.PKa=function(){this.q7();this.ST=this.get("adjacentPanoramas").map(function(a){a=a.get("panorama");return[a,o.Wm(a,this.get("preloadEnabled"))]}.bind(this));this.ST.forEach(function(a){k.mqa(a[0],a[1]);k.jX(a[0],1)})};a.prototype.q7=function(){this.ST.forEach(function(a){k.jX(a[0], -1);k.ARa(a[0],a[1])});this.ST=[]};a.prototype.kpa=function(){var a=this.get("index");this.zh.Db().forEach(function(b,c,e){b.set("panoramaIndex",a);b.set("frameIndex",c);b.set("frameCount",e.length)})};var p=b.extend(f,function(){f.call(this);this.Ko(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("currentTime",0);this.set("tag","Group")});p.prototype.X=function(a){this.Db().forEach(function(a,b,c){a.set("frontFrame",c[c.length-1])});f.prototype.X.call(this, a)};var t=b.extend(f,function(){f.call(this);this.Ko(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("currentTime",0);this.set("tag","Group")});return a}); define("bE",["require","kG","fk","ef"],function(a){var b=a("kG"),d=a("fk"),c=a("ef"),g=0,a=b.extend(d,function(){d.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+g++)});a.prototype.X=function(a){d.prototype.X.call(this,a);this.JB()};a.prototype.NB=function(){if(this.D("panoramaIndex","frameIndex","frameCount","meshGroup")){var a=this.get("meshGroup");if(a){var b=this.get("panoramaIndex"),e=this.get("frameIndex"), d=this.get("frameCount"),g=a.children.length;a.children.forEach(function(a,f){c.OX(a,b+(f+e/d)/g)}.bind(this))}}};a.prototype.JB=function(){if(this.D("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b){c.setAttribute(a,c.Ky,this.get("panoramaId"));c.setAttribute(a,c.fY,b);c.setAttribute(a,c.TC,this.get("id"))}.bind(this))}};return a}); define("ne","require,kG,jU,nU,hy,iy,bE,jF,mB,fS,jM,kH".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("hy"),f=a("iy"),i=a("bE"),e=a("jF"),j=a("mB"),o=a("fS"),k=a("jM"),m=a("kH"),a=b.extend(i,function(a){i.call(this);this.set("tag","ImagePanoramaFrame");this.Vla=n;this.n=a;this.bk.push(this.n);this.jk=this.Dg=this.Rn=q;this.V3=[];this.Bf=this.Bf.bind(this);this.Ko(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.hh([this.Mn=new r])});a.prototype.Eb=function(){this.Rn= new e(c.U);this.Dg=new e(c.U);this.jk=new e(c.ic);i.prototype.Eb.call(this);d.pa(this.n,["overlays"],this.Bf,n)};a.prototype.Jb=function(){this.Rn.dispose();this.Dg.dispose();this.jk.dispose();d.na(this.n,["overlays"],this.Bf);i.prototype.Jb.call(this)};a.prototype.Bf=function(){this.Mn.hh(this.ta.fv(this.n.get("overlays")));this.Yoa()};a.prototype.Yoa=function(){this.Dg.We([].concat(this.V3,this.Mn.Db()));this.jk.We([].concat(this.V3,this.Mn.Db()))};a.prototype.fm=function(){var a=[],b=[],e=[];j.b$(this.n, this.Vla).forEach(function(c,d){var f=o.mOa(this.n,c);if(j.yQa(c)){if(d==0){a=a.concat(f);b=b.concat(f)}k.ts(f,d==0?k.Do:k.iP);k.ss(f,d==0?k.pn:k.hZ)}else{d==0&&(a=a.concat(f));b=b.concat(f);k.ts(f,k.Do);k.ss(f,k.pn)}k.By(f,d==0?g.tZ:g.qn);k.zH(f,d);e=e.concat(f)}.bind(this));this.Rn.We(a);this.V3=b;this.Yoa();this.Dg.Ql(this.jp.bind(this));this.Rn.Ql(this.eHa.bind(this));this.jk.oo(this.WA.bind(this));this.trigger(new m(c.ic,0));return e};a.prototype.eHa=function(){this.trigger(c.Oc)};a.prototype.jp= function(){this.trigger(c.U)};a.prototype.X=function(a){this.Vla=a.jO;this.JMa();i.prototype.X.call(this,a)};a.prototype.JMa=function(){var a=this.get("frontFrame");if(this.D("frontFrame")||a&&a.D("alpha"))this.Mn.set("alpha",!a||a==this?1:1-a.get("alpha"))};a.prototype.WA=function(){var a=0;this.jk.Zr(function(b){var c=0,e;this.Dg.Gl(b)?c=100:(e=this.jk.Gl(b))&&(c=e.Lg);a=a+c}.bind(this));this.trigger(new m(c.ic,a/this.jk.Zc.length))};var r=b.extend(f,function(){f.call(this);this.Ko(["loadingActive", "panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("tag","Group")});return a}); define("lH","require,dY,nU,cs,gE,nr".split(","),function(a){function b(a,b){this.Ec=a;this.T=b;this.ll=B;this.Di=[];this.gm=this.aE=l;this.de=[];this.J_();this.z0();this.VU();this.cf()}function d(a,b,c){this.time=a;this.cue=b;this.action=c}var c=a("dY"),g=a("nU"),f=a("cs"),i=a("gE"),e=a("nr");b.prototype.clear=function(){this.yI();this.Di=[];this.Z7();this.T=this.Ec=q};b.prototype.J_=function(){this.T.bind(e.pf,this.Be,this,n);this.T.bind(g.Gc,this.cf,this,n);this.T.bind(g.Ha,this.yx,this,n)};b.prototype.Z7= function(){this.T.unbind(e.pf,this.Be,this,n);this.T.unbind(g.Gc,this.cf,this,n);this.T.unbind(g.Ha,this.yx,this,n)};b.prototype.cf=function(){var a=this.T.pg()!=i.L;if(this.ll!=a)(this.ll=a)?this.VU():this.yI()};b.prototype.yx=function(){this.QB()};b.prototype.Be=function(){this.QB()};b.prototype.VU=function(){this.gm=this.aE=0};b.prototype.QB=function(){if(this.T&&this.ll){var a=this.de.slice(),b=this.T.Cl(),e=b-this.aE;if(e<0){this.de=[];this.gm=0}e=e>=0&&e<2;this.aE=b;var d;for(d=this.gm;d b)break;for(;this.gm0){this.de=[];this.DM()}};b.prototype.DM=function(){this.Ec.trigger(new f(g.Rh,{activeCues:this.de.slice()}))};b.prototype.z0=function(){this.Di=[];var a= this.Ec.get("cues",[]);c(a).each(function(a){this.Di.push(new d(a.get("startTime",0),a,"start"));this.Di.push(new d(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.Di.sort(function(a,b){return a.time==b.time?a.action==b.start?0:a.action=="start"?-1:1:a.time-b.time})};return b}); define("eM",["require","nU","gE","cs","nr"],function(a){function b(a,b,d){this.Zb=a;this.Ec=b;this.T=d;this.T.FC(this.Af=this.Ec.get("currentTime",0));this.T.nf(this.Me=this.Zb.get("mute",B));this.T.zd(this.o=this.Ec.get("state",c.L));this.T.setLoop(this.Vk=this.Ec.get("loop"));this.cb=this.T.Ui();this.Oya();this.Uya();this.ct()}var d=a("nU"),c=a("gE"),g=a("cs"),f=a("nr");b.prototype.clear=function(){this.GIa();this.LIa();this.zu();this.T.zd(c.L);this.Ec.set("state",c.L);this.Ec.set("currentTime", 0);this.Ec.set("duration",l)};b.prototype.ula=function(){var a=this.Ec.get("state",c.L);this.o!=a&&this.T.zd(this.o=a)};b.prototype.sla=function(){var a=this.Ec.get("currentTime",0);this.Af!=a&&this.T.FC(this.Af=a)};b.prototype.PK=function(){var a=this.Zb.get("mute",0);this.Me!=a&&this.T.nf(this.Me=a)};b.prototype.tla=function(){var a=this.Ec.get("loop");this.Vk!=a&&this.T.setLoop(this.Vk=a)};b.prototype.YK=function(){this.Ec.set("currentTime",this.Af=this.T.Cl())};b.prototype.WK=function(){this.Ec.set("duration", this.cb=this.T.Ui())};b.prototype.XK=function(){this.Ec.set("state",this.o=this.T.pg())};b.prototype.ZK=function(){this.Ec.trigger(new g(d.Ha))};b.prototype.Oya=function(){this.Zb.bind(d.u("mute"),this.PK,this,n)};b.prototype.GIa=function(){this.Zb.unbind(d.u("mute"),this.PK,this,n)};b.prototype.Uya=function(){this.Ec.bind(d.u("state"),this.ula,this,n);this.Ec.bind(d.u("currentTime"),this.sla,this,n);this.Ec.bind(d.u("loop"),this.tla,this,n)};b.prototype.LIa=function(){this.Ec.unbind(d.u("state"), this.ula,this,n);this.Ec.unbind(d.u("currentTime"),this.sla,this,n);this.Ec.unbind(d.u("loop"),this.tla,this,n)};b.prototype.ct=function(){this.T.bind(f.pf,this.YK,this,n);this.T.bind(f.wi,this.WK,this,n);this.T.bind(d.Gc,this.XK,this,n);this.T.bind(d.Ha,this.ZK,this,n)};b.prototype.zu=function(){this.T.unbind(f.pf,this.YK,this,n);this.T.unbind(f.wi,this.WK,this,n);this.T.unbind(d.Gc,this.XK,this,n);this.T.unbind(d.Ha,this.ZK,this,n)};return b}); define("jG",["require","nr","nU"],function(a){function b(a,b){this.Ec=a;this.T=b;this.e_=[];this.J_();this.hi()}a("nr");var d=a("nU");b.prototype.clear=function(){this.BAa();this.Z7();this.T=this.Ec=q};b.prototype.J_=function(){this.T.bind(d.Rh,this.hi,this,n)};b.prototype.Z7=function(){this.T.unbind(d.Rh,this.hi,this,n)};b.prototype.hi=function(){this.Ec.set("activeSubtitles",this.e_=this.T.Lq)};b.prototype.BAa=function(){this.Ec.get("activeSubtitles")==this.e_&&this.Ec.set("activeSubtitles",this.e_= [])};return b}); define("dE","require,kG,nU,hy,gE,bE,jF,fS,lH,eM,ef,jM,jG,nr,kH".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("hy"),g=a("gE"),f=a("bE"),i=a("jF"),e=a("fS"),j=a("lH"),o=a("eM"),k=a("ef"),m=a("jM"),r=a("jG"),p=a("nr"),t=a("kH"),a=b.extend(f,function(a){f.call(this);this.n=a;this.bk.push(this.n);this.Ko(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",l);this.set("atStart",l);this.Vpa=this.n.get("stereoSphere")||this.n.get("sphere"); this.jb=p.Hj(this.Vpa);this.uG=[];this.iB=[];this.jk=this.Dg=this.Lh=this.T=q});a.prototype.Eb=function(){this.Dg=(new i(d.U)).Ql(this.jp.bind(this));this.jk=(new i(d.ic)).oo(this.WA.bind(this));this.T=new p(this.ta.Zb,this.Vpa);this.Wo=new j(this.n.ZG(),this.T);this.Ba=new o(this.ta.Zb,this.n.ZG(),this.T);this.Ku=new r(this.n.ZG(),this.T);this.ct();f.prototype.Eb.call(this)};a.prototype.Jb=function(){this.Dg.dispose();this.jk.dispose();this.zu();this.Wo.clear();this.Wo=q;this.Ba.clear();this.Ba= q;this.Ku.clear();this.Ku=q;this.T.clear();this.Lh=this.T=q;f.prototype.Jb.call(this)};a.prototype.fm=function(){this.uG=e.rOa(this.n,this.jb);this.qNa=m.OC(k.sy(this.uG[0])[0]);this.uG.forEach(function(a){m.ts(a,m.Do);m.ss(a,m.pn)});if(this.jb.get("posterURL")){this.iB=e.sOa(this.n,this.jb);this.iB.forEach(function(a){m.ts(a,m.Do);m.ss(a,m.pn);m.By(a,c.tZ)})}else this.iB=[];var a=[].concat(this.uG,this.iB);this.Dg.We(a);this.jk.We(a);this.trigger(new t(d.ic,0));return a};a.prototype.X=function(a){var b= this.T.wW();this.set("frameEmpty",b.isEmpty());this.set("atStart",!(this.get("currentTime")>1));f.prototype.X.call(this,a);if(!this.Lh||!this.Lh.isEqual(b)){this.Lh=b;this.qNa.Ml(this.Lh.cA);this.wa()}else this.T.pg()==g.S&&this.wa()};a.prototype.vl=function(){if(this.D("composedAlpha","meshGroup","frameEmpty","atStart"))if(this.iB.length&&this.get("frameEmpty")&&this.get("atStart")){this.iB.forEach(function(a){k.Ve(a,this.get("composedAlpha"))}.bind(this));this.uG.forEach(function(a){k.Ve(a,0)}.bind(this))}else{this.iB.forEach(function(a){k.Ve(a, 0)}.bind(this));this.uG.forEach(function(a){k.Ve(a,this.get("composedAlpha"))}.bind(this))}};a.prototype.jp=function(){this.trigger(d.Oc);this.trigger(d.U)};a.prototype.WA=function(a,b){var c=0;b.Zr(function(a){(a=b.Gl(a))&&(c=c+a.Lg)});this.trigger(new t(d.ic,c/b.Zc.length))};a.prototype.cf=function(){this.wa()};a.prototype.Be=function(){this.wa()};a.prototype.ct=function(){this.T.bind(p.pf,this.Be,this,n);this.T.bind(d.Gc,this.cf,this,n)};a.prototype.zu=function(){this.T.unbind(p.pf,this.Be,this, n);this.T.unbind(d.Gc,this.cf,this,n)};return a}); define("dn","require,kG,nU,iS,md,jF,kH".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("iS"),g=a("md"),f=a("jF"),i=a("kH"),a=b.extend(c,function(){c.call(this);this.set("tag","ImagePlane");this.set("url",q);this.Id=this.bf=q});a.prototype.Eb=function(){this.bf=(new f(d.U)).Ql(this.jp.bind(this));this.Id=(new f(d.ic)).oo(this.ou.bind(this));c.prototype.Eb.call(this)};a.prototype.Jb=function(){this.bf.dispose();this.Id.dispose();c.prototype.Jb.call(this)};a.prototype.X=function(a){if(this.D("url")){var b= this.get("url");this.set("textureSource",b?new g(b):q)}c.prototype.X.call(this,a);if(this.D("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.bf.We(a);this.Id.We(a)}}};a.prototype.jp=function(){this.trigger(d.Oc);this.trigger(d.U)};a.prototype.ou=function(a,b){var c=0;b.Zr(function(a){(a=b.Gl(a))&&(c=c+a.Lg)});this.trigger(new i(d.ic,c/b.Zc.length))};return a}); define("bA","require,kG,jU,nU,gE,gZ,iy,dd,nM,dn,eM,mO,jF,mB,ep,kj,S,kH,nx,bC,nr".split(","),function(a){function b(a){setTimeout(a,0)}function d(a,b){for(var c=a-b;c>180;)c=c-360;for(;c<-180;)c=c+360;return c+b}var c=a("kG"),g=a("jU"),f=a("nU"),i=a("gE");a("gZ");var e=a("iy"),j=a("dd"),o=a("nM"),k=a("dn"),m=a("eM"),r=a("mO"),p=a("jF"),t=a("mB"),s=a("ep"),u=a("kj"),v=a("S"),w=a("kH"),x=a("nx"),y=a("bC"),D=a("nr"),E=Math.PI/180,a=c.extend(e,function(a){e.call(this);this.n=a;this.bk.push(this.n);this.Bf= this.Bf.bind(this);this.hT=this.hT.bind(this);this.Ko(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",B);this.set("enabledInStandard",n);this.set("interactionEnabled",n);this.set("loadingActive",B);this.set("frameEmpty",n);this.set("state",i.L);this.set("itemVisible","none");this.set("visible",B);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",B);this.set("gazeOver",B);this.set("video",q);this.set("image",q);this.Wd=this.fb=this.Ga= this.Id=this.bf=q;this.Za=new r;this.gt=this.Yw=this.yl=this.Lh=this.T=q});a.prototype.Eb=function(){this.bf=(new p(f.U)).Ql(this.RA.bind(this));this.Id=(new p(f.ic)).oo(this.VA.bind(this));e.prototype.Eb.call(this);this.bBa();this.appendChild(this.Wd);g.pa(this.n,H,this.Bf,n);g.RV(this.n,M,this.hT,n)};var H=["playbackPositions","popupDistance","popupMaxHeight","popupMaxWidth","image.levels.url","video","state"],M=["visible"];a.prototype.Jb=function(){this.bf.dispose();this.Id.dispose();g.na(this.n, H,this.Bf);g.na(this.n,M,this.hT);this.$z();this.Dw();this.Bt();e.prototype.Jb.call(this)};a.prototype.Bf=function(){var a=t.tPa(this.n,this.get("panoramaPixelsPerDegree"));this.set("imageURL",a&&a.get("url"));this.set("imageWidth",a&&a.get("width"));this.set("imageHeight",a&&a.get("height"));this.set("video",this.n.get("video"));this.set("state",this.n.get("state"));this.set("popupDistance",this.n.get("popupDistance"));this.set("popupMaxWidth",this.n.get("popupMaxWidth"));this.set("popupMaxHeight", this.n.get("popupMaxHeight"));this.set("playbackPositions",this.n.get("playbackPositions"))};a.prototype.hT=function(){this.set("visible",this.n.get("visible"))};a.prototype.X=function(a){this.Nx=a.Na;this.Mx=a.pitch;this.Su(a);this.MMa();this.QM(a);this.Kd(a);this.DMa(a);this.lMa(a);e.prototype.X.call(this,a)};a.prototype.MMa=function(){if(this.D("playbackPositions","currentTime")){this.Za.Ey(this.get("playbackPositions"));this.Za.Dy(this.get("currentTime"));this.set("sourceYaw",this.Za.get("yaw")); this.set("sourcePitch",this.Za.get("pitch"));this.set("sourceRotationX",this.Za.get("rotationX"));this.set("sourceRotationY",this.Za.get("rotationY"));this.set("sourceRotationZ",this.Za.get("rotationZ"));this.set("sourceHFOV",this.Za.get("hfov"))}};a.prototype.Su=function(){if(this.D("video","imageURL")){var a=[this.Wd];if(this.D("imageURL")){this.GI();this.Ga&&a.push(this.Ga);this.ML("itemVisible")}if(this.D("video")){this.II();this.fb&&a.push(this.fb);this.ML("itemVisible")}this.bf.We(a);this.Id.We(a); this.hh(a)}};a.prototype.QM=function(){if(this.T){var a=this.T.wW();this.set("frameEmpty",!!a&&a.isEmpty());if(!this.Lh||a&&!this.Lh.isEqual(a)){this.Lh=a;this.fb.set("source",this.Lh.cA);this.fb.set("sourceUpdated",n);this.wa()}else this.T.pg()==i.S&&this.wa()}else this.set("frameEmpty",B)};a.prototype.Kd=function(a){this.set("inVR",a.$b);this.set("hotspotsEnabled",a.rC);this.set("rendererYaw",a.Na);this.set("rendererPitch",a.pitch);this.set("rendererRoll",a.Ie);this.set("rendererWidth",a.aW);this.set("rendererHeight", a.kN);this.set("rendererHFOV",a.ve);if(this.D("visible")){var c=this.get("visiblePosition"),e=this.get("visible")?1:0,g=Math.max(1,this.n.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(e-c)),o=this.n.get(this.get("visible")?"showEasing":"hideEasing");if(c!=e)this.yl=new x(o,[new y("position",c,e)],g);this.get("visible")||this.T&&this.T.zd(i.L)}if(this.yl){if(this.yl.Te()){this.yl=q;if(this.get("visible")){this.n.trigger(f.uD);this.n.get("autoplay")&&this.T&&this.T.zd(i.S)}else b(function(){this.n&& this.n.trigger(f.iD)}.bind(this))}else this.yl.xb(a.Qe);if(this.yl){this.set("visiblePosition",this.yl.gb("position"));this.wa()}}c=B;if(c=a.$b?this.D("visible","itemVisible"):this.D("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV")){this.set("targetImageScale",this.Rha(this.Ga,a));this.set("targetVideoScale",this.Rha(this.fb,a));this.set("targetYaw",d(this.get("rendererYaw"),this.get("sourceYaw"))); this.set("targetPitch",this.get("rendererPitch"));this.set("targetRotationZ",d(a.$b?0:this.get("rendererRoll"),this.get("sourceRotationZ")))}if(c||this.D("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){var e=this.get("visiblePosition"),j=this.get("targetYaw")*e+this.get("sourceYaw")*(1-e),k=this.get("targetPitch")*e+this.get("sourcePitch")*(1-e),m=this.get("sourceRotationX")*(1-e),r=this.get("sourceRotationY")*(1-e),p=this.get("targetRotationZ")*e+this.get("sourceRotationZ")* (1-e),a=Math.min(1,2*e),s=this.get("popupDistance"),t=this.get("sourceHFOV"),c=this.get("targetImageScale")*e+(1-e),e=this.get("targetVideoScale")*e+(1-e);this.set("alpha",a);this.Ga&&this.Ga.set("scale",c);this.fb&&this.fb.set("scale",e);[].concat(this.fb?[this.fb]:[],this.Ga?[this.Ga]:[]).forEach(function(a){a.set("yaw",j);a.set("pitch",k);a.set("rotationX",m);a.set("rotationY",r);a.set("rotationZ",p);a.set("distance",s);a.set("hfov",t)})}};a.prototype.DMa=function(a){if(this.D("frameEmpty","state", "imageURL","video")){var b="none";this.fb&&(!this.Ga||!this.get("frameEmpty")&&this.get("state")!=i.L)?b="video":this.Ga&&(b="image");this.set("itemVisible",b)}if(this.D("itemVisible")){this.get("itemVisible")!="video"&&this.T&&this.T.zd(i.L);var b=this.Ga?this.Ga.get("alpha"):0,c=this.fb?this.fb.get("alpha"):0,e=this.get("itemVisible")=="image"?1:0,d=this.get("itemVisible")=="video"?1:0,f=this.get("itemVisible")=="video"?1:Math.max(Math.abs(e-b),Math.abs(d-c))*200;this.Yw=new x("linear",[new y("imageAlpha", b,e),new y("videoAlpha",c,d)],f)}if(this.Yw){this.Yw.Te()?this.Yw=q:this.Yw.xb(a.Qe);if(this.Yw){this.Ga&&this.Ga.set("alpha",this.Yw.gb("imageAlpha"));this.fb&&this.fb.set("alpha",this.Yw.gb("videoAlpha"));this.wa()}}};a.prototype.lMa=function(a){if(this.D("gazeOver","inVR","visible")){this.qfa();this.get("inVR")&&this.n.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("visible")&&this.MKa()}if(a.$b&&this.n.get("darkenBackground")&&this.n.get("lookAwayToHide")){if(this.D("visible")&&this.get("visible")){this.Wd.set("alpha", 0.8);this.gt=q}if(this.D("gazeOver"))this.gt=new x(this.get("gazeOver")?"linear":"quad_in",[new y("alpha",this.Wd.get("alpha"),this.get("gazeOver")?0.8:0)],this.get("gazeOver")?300:this.n.get("lookAwayToHideTime"))}else{this.gt=q;this.Wd.set("alpha",a.$b&&this.n.get("darkenBackground")?0.8:0)}if(this.gt){this.gt.Te()?this.gt=q:this.gt.xb(a.Qe);if(this.gt){this.Wd.set("alpha",this.gt.gb("alpha"));this.wa()}}};a.prototype.MKa=function(){this.qfa();this.jS=setTimeout(function(){this.jS=q;this.n.set("visible", B)}.bind(this),this.n.get("lookAwayToHideTime"))};a.prototype.qfa=function(){if(this.jS){clearTimeout(this.jS);this.jS=q}};a.prototype.Rha=function(a,b){if(!a)return 1;var c=this.get("popupMaxWidth","100%"),e=v.po(c),d=a.get("contentWidth"),f=a.get("contentHeight"),g=this.get("popupMaxHeight","100%"),o=v.po(g),i;if(this.get("inVR")){var j=i=this.get("rendererWidth")*0.5,k=Math.min(b.Ph,80),m=u.YB(k,i,j),r=this.get("sourceHFOV");i=Math.min(Math.tan(m*(e!==l?e/100:c/i)*0.5*E)/Math.tan(r*0.5*E),Math.tan(k* (o!==l?o/100:g/j)*0.5*E)/Math.tan(u.YB(r,d,f)*0.5*E))}else{i=this.get("rendererWidth");j=this.get("rendererHeight");m=Math.min((e!==l?i*e/100:c)/d,(o!==l?j*o/100:g)/f);d=d*m;m=this.get("rendererHFOV");r=this.get("sourceHFOV");i=Math.tan(m*0.5*E)*d/i/Math.tan(r*0.5*E)}return i};a.prototype.GI=function(){this.$z();if(this.get("imageURL")){this.Ga=new k;this.Ga.set("url",this.get("imageURL"));this.Ga.set("contentWidth",this.get("imageWidth"));this.Ga.set("contentHeight",this.get("imageHeight"));this.Ga.set("alpha", 0)}};a.prototype.$z=function(){if(this.Ga){this.Ga.remove();this.Ga=q}};a.prototype.II=function(){this.Dw();if(this.get("video")){this.fb=new o;var a=D.Hj(this.get("video"));this.fb.set("contentWidth",a.get("width"));this.fb.set("contentHeight",a.get("height"));this.fb.set("alpha",0);this.T=new D(this.ta.Zb,this.get("video"));this.Ba=new m(this.ta.Zb,this.n,this.T);this.ct()}};a.prototype.Dw=function(){if(this.fb){this.zu();this.Ba.clear();this.Ba=q;this.T.clear();this.Lh=this.T=q;this.fb.remove(); this.fb=q}};a.prototype.bBa=function(){this.Bt();this.Wd=new j("#000000")};a.prototype.Bt=function(){if(this.Wd){this.Wd.remove();this.Wd=q}};a.prototype.RA=function(){this.trigger(f.Oc);this.trigger(f.U)};a.prototype.VA=function(a,b){var c=0;b.Zr(function(a){var b=0,e;this.bf.Gl(a)?b=100:(e=this.Id.Gl(a))&&(b=e.Lg);c=c+b}.bind(this));this.trigger(new w(f.ic,c/b.Zc.length))};a.prototype.cf=function(){this.wa()};a.prototype.Be=function(){this.wa()};a.prototype.yx=function(){this.n.trigger(f.Ha)};a.prototype.ct= function(){this.T.bind(D.pf,this.Be,this,n);this.T.bind(f.Gc,this.cf,this,n);this.T.bind(f.Ha,this.yx,this,n)};a.prototype.zu=function(){this.T.unbind(D.pf,this.Be,this,n);this.T.unbind(f.Gc,this.cf,this,n);this.T.unbind(f.Ha,this.yx,this,n)};a.prototype.bn=function(a){if(a.$e==f.Hk){if(!a.zl()&&this.get("visible")){a.rs(this.n);this.set("over",this.Op(a));this.set("gazeOver",this.tLa(a))}else this.set("over",B);if(this.get("over")){a.jy(this.n);a.ms()&&a.ky(this.n);a.wk(this.get("popupDistance"))}if(this.D("over")){this.n.trigger(this.get("over")? f.cc:f.qb);a.ms()&&this.n.trigger(this.get("over")?f.Gk:f.Sh)}}else if(a.$e==f.Qj&&!a.zl()&&this.get("visible")){a.rs(this.n);a.wk(this.get("popupDistance"));this.Op(a)?a.pQa()||this.n.trigger(f.ca):this.n.set("visible",B)}};a.prototype.Op=function(a){return this.woa(a.Cp)};a.prototype.tLa=function(a){a=a.dJ;return!!a&&this.woa([a])};a.prototype.woa=function(a){if(this.get("visible"))for(var a=(this.get("itemVisible")=="video"?this.fb:this.Ga).Jt(a),b=0;b 0&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.D("blendingActive")&&this.Kk.PSa(this.get("blendingActive"))};a.prototype.QM=function(){this.set("frameEmpty",!this.fb||this.fb.get("frameEmpty"))};a.prototype.Kd=function(a){var b=this.get("itemVisible");if(this.D("frameEmpty","state","image","video","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","enabled","interactionEnabled")){var e= "none";if(this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))){this.fb&&(!this.Ga||!this.get("frameEmpty")&&(this.get("state")!=g.L||this.X8&&this.get("videoVisibleOnStop")))?e="video":this.Ga&&(e="image");if(this.get("state")!=g.L)this.X8=n}this.set("itemVisible",e);this.set("beamEnabled",e!="none"&&this.get("interactionEnabled"))}if(this.D("itemVisible")){var e=this.get("itemVisible")!="none",d=b!="none"; if(e&&d&&!this.get("chromaColor")&&this.Uq.length==0){this.Ga&&this.Ga.set("alpha",this.get("itemVisible")=="image"?1:0);this.fb&&this.fb.set("alpha",this.get("itemVisible")=="video"?1:0)}else{b=e==d?100:e?this.get("fadeInDuration"):this.get("fadeOutDuration");e!=d&&this.n.trigger(e?c.jc:c.pc);var d=this.Ga?this.Ga.get("alpha"):0,f=this.fb?this.fb.get("alpha"):0,e=[{SC:f,image:d}];if(this.get("itemVisible")=="video"){e.push({SC:1,image:d,time:b*(1-f)});e.push({SC:1,image:0,time:50*(d-0)})}else if(this.get("itemVisible")== "image"){e.push({SC:f,image:1,time:b*(1-d)});e.push({SC:0,image:1,time:50*(f-0)})}else e.push({SC:0,image:0,time:Math.max(f,d,1/b)*b});this.Uq=[];for(b=1;b0&&this.Uq.push(new r("linear",[new p("imageAlpha",e[b-1].image,e[b].image),new p("videoAlpha",e[b-1].SC,e[b].SC)],e[b].time))}}if(this.Uq.length>0){this.Uq[0].Te()?this.Uq.shift():this.Uq[0].xb(a.Qe);if(this.Uq.length>0){this.Ga&&this.Ga.set("alpha",this.Uq[0].gb("imageAlpha"));this.fb&&this.fb.set("alpha",this.Uq[0].gb("videoAlpha")); this.wa()}}};a.prototype.GI=function(){this.$z();if(this.get("image")&&this.get("imageLevel")){this.Ga=new this.xA;this.Ga.set("image",this.get("image"));this.Ga.set("level",this.get("imageLevel"));this.Ga.set("visible",n);this.Ga.set("alpha",0);this.Ga.set("side",THREE.DoubleSide)}};a.prototype.$z=function(){if(this.Ga){this.Ga.remove();this.Ga=q}};a.prototype.II=function(){this.Dw();if(this.get("video")&&this.get("videoLevel")){this.fb=new this.W8;this.fb.set("scriptObject",this.n);this.fb.set("video", this.get("video"));this.fb.set("level",this.get("videoLevel"));this.fb.set("visible",n);this.fb.set("alpha",0);this.fb.set("side",THREE.DoubleSide)}};a.prototype.Dw=function(){if(this.fb){this.fb.remove();this.fb=q}};a.prototype.RA=function(){this.trigger(c.Oc);this.trigger(c.U)};a.prototype.VA=function(a,b){var e=0;b.Zr(function(a){(a=b.Gl(a))&&(e=e+a.Lg)});this.trigger(new m(c.ic,e/b.Zc.length))};a.prototype.A2=function(){return this.get("itemVisible")=="video"?this.fb:this.Ga};return a}); define("gl","require,nU,gE,cn,ef,gZ,lH,eM,eR,jG,nr".split(","),function(a){var b=a("nU"),d=a("gE"),c=a("cn"),g=a("ef");a("gZ");var f=a("lH"),i=a("eM"),e=a("eR"),j=a("jG"),o=a("nr");return{Yz:function(){this.set("visible",B);this.set("inView",B);this.set("frameEmpty",n);this.set("blending",0);this.set("chromaColor",l);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",q);this.set("video",q);this.set("level",q);this.set("loop",B);this.set("side",l);this.jb=this.fb=q; this.X8=B;this.hV=this.Lh=this.Ku=this.Ba=this.Wo=this.T=q},WE:function(){this.Dw()},Bj:function(a){this.hNa();this.FM();this.QM(a)},hNa:function(){if(this.D("scriptObject","video","level")){this.Dw();this.fb=this.get("video");this.jb=this.get("level");this.n=this.get("scriptObject");this.II()}},FM:function(){if(this.D("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.fb){var a=new c.kn(this.fb.pi());a.my=this.get("blending");a.Vr=this.get("chromaColor");a.oN=this.get("chromaThreshold"); a.nN=this.get("chromaSmoothing");a.side=this.get("side");this.set("materialConfig",a)}},vl:function(){this.D("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0);this.D("composedAlpha","meshGroup","inView")&&g.Ve(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},QM:function(){var a=this.T&&this.T.wW(),b=!!a&&a.isEmpty();if(b&&!this.get("frameEmpty")&&this.T.pg()==d.S&&this.n.get("loop")){a=this.Lh;b=B}this.set("frameEmpty", b);if(!this.Lh||a&&!this.Lh.isEqual(a)){this.Lh=a;this.hV.Ml(this.Lh.cA);this.hV.update();this.wa()}else this.T.pg()==d.S&&this.wa()},II:function(){if(this.fb&&this.jb&&this.n){this.set("textureSource",this.hV=new e);this.set("contentWidth",this.jb.get("width"));this.set("contentHeight",this.jb.get("height"));this.set("alpha",0);this.T=new o(this.ta.Zb,this.fb);this.T.SRa();this.Wo=new f(this.n,this.T);this.Ba=new i(this.ta.Zb,this.n,this.T);this.Ku=new j(this.ta.vc.get("panorama"),this.T);this.ct(); this.trigger(b.Oc);this.trigger(b.U)}},Dw:function(){if(this.T){this.set("textureSource",this.hV=q);this.zu();this.Ba.clear();this.Ba=q;this.Wo.clear();this.Wo=q;this.Ku.clear();this.Ku=q;this.T.clear();this.Lh=this.T=q;this.set("frameEmpty",n);this.jb=this.fb=q}},ct:function(){this.T.bind(o.pf,this.Be,this,n);this.T.bind(b.Gc,this.cf,this,n)},zu:function(){this.T.unbind(o.pf,this.Be,this,n);this.T.unbind(b.Gc,this.cf,this,n)},cf:function(){this.wa()},Be:function(){this.wa()}}}); define("nw",["require","jU","mO"],function(a){var b=a("jU"),d=a("mO");return{wn:function(){this.set("playbackPositions",q);this.set("distance",l);this.Gd=this.Gd.bind(this);this.Za=new d},On:function(){b.pa(this.n,["playbackPositions","distance"],this.Gd,n)},Qn:function(){b.na(this.n,["playbackPositions","distance"],this.Gd)},Gd:function(){this.set("distance",this.n.get("distance"));this.set("playbackPositions",this.n.get("playbackPositions"))},tf:function(){this.D("playbackPositions","currentTime")&& (this.Za.Ey(this.get("playbackPositions")),this.Za.Dy(this.get("currentTime")),this.set("vertices",this.Za.f$()),this.set("alpha",this.Za.Ak()));this.D("video","image","vertices","distance")&&this.Db().forEach(function(a){a.set("vertices",this.get("vertices"));a.set("distance",this.get("distance"))}.bind(this))}}}); define("jC","require,kG,eL,fd,dp,gA,gl,nw".split(","),function(a){var b=a("kG"),d=a("eL"),c=a("fd"),g=a("dp"),f=a("gA"),i=a("gl"),a=a("nw"),e=b.extend(c,g,f,function(){c.call(this);this.set("tag","QuadVideoHotspotImage")}),j=b.extend(c,g,i,function(){c.call(this);this.set("tag","QuadVideoHotspotVideo")});return b.extend(d,a,function(a){d.call(this,a);this.xA=e;this.W8=j})}); define("ke","require,kG,jU,gE,jx,mR,t".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("gE"),g=a("jx"),f=a("mR"),i=a("t"),a=b.extend(g,function(a){g.call(this);this.n=a;this.ek=this.ek.bind(this);this.fk=this.fk.bind(this);this.am()});a.prototype.Eb=function(){g.prototype.Eb.call(this);this.n.set("state",this.n.get("startState"));d.pa(this.n,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.ek,n);d.pa(this.n,["state"],this.fk, n)};a.prototype.Jb=function(){d.na(this.n,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.ek);d.na(this.n,["state"],this.fk);this.n.set("state",c.L);g.prototype.Jb.call(this)};a.prototype.ek=function(){this.am();this.EL()};a.prototype.fk=function(){this.OT=this.n.get("state");this.wa()};a.prototype.am=function(){g.prototype.am.call(this);var a,b;if(i.If()){this.iA=this.er=4;this.eB=2400;this.jA=1200;a=1.5;b=1.6}else{this.er= 2;this.iA=4;this.eB=4800;this.jA=2400;b=a=1}var c=this.n.get("intensity",0.5);this.ec=f.dO(this.n.get("color","#ffffff"));this.gL=this.n.get("opacity",0.25)*0.24+0.01;this.gL=this.gL*2;this.Dx=(c*(0.37-0.17)+0.17)*a;a=(this.n.get("speed",0.5)*(0.09-0.02)+0.02)/this.Dx*b;this.ZJ=a*0.9;this.OA=a*1.1;this.eB=Math.round(this.n.get("particleCount",this.eB)*c);this.jA=Math.round(this.n.get("farPlaneParticleCount",this.jA)*c);this.oS=0;this.gp=2;this.fr=-2;this.f4=0;this.kI=0.75;this.QI=0.5;this.IR=this.n.get("initialState"); this.RU=this.n.get("startDuration");this.XU=this.n.get("stopDuration");this.er=this.n.get("maxDistance",this.er);this.iA=this.n.get("farPlaneDistance",this.iA);this.fy()};a.prototype.AQ=function(){var a=new THREE.MeshBasicMaterial;a.color=new THREE.Color(this.ec[0]/255,this.ec[1]/255,this.ec[2]/255);a.side=THREE.FrontSide;a.transparent=n;a.depthTest=B;a.needsUpdate=n;if(!this.Jw)this.Jw=new THREE.BoxGeometry(0.01,0.2,0.01);return new THREE.Mesh(this.Jw,a)};a.prototype.fy=function(){var a=this.Sf&& this.Sf.children||[],b=new THREE.Color(this.ec[0]/255,this.ec[1]/255,this.ec[2]/255);a.forEach(function(a){a.material.color=b;a.material.needsUpdate=n})};return a}); define("fY","require,kG,hz,nU,cs,iy".split(","),function(a){var b=a("kG"),d=a("hz"),c=a("nU"),g=a("cs"),f=a("iy"),i=b.extend(f,function(a,b,c,g){f.call(this);this.Zb=a;this.K=b;this.vc=c;this.h=g;this.nK=new d;this.S6(this);this.set("tag","Root");this.set("globalBlendingActive",0)});i.prototype.kf=function(a){return this.nK.get(a)};i.prototype.all=function(){for(var a=[],b=[this];b.length>0;){var c=b.pop();a.push(c);for(var d=c.Cd.length-1;d>=0;d--)b.push(c.Cd[d])}return a};i.prototype.update=function(a){var b= this.all(),c=b.length,d;for(d=0;dthis.p_;)this.Az-=this.p_;this.rAa(this.Az/this.p_);this.SE="changing";return n}; a.prototype.sga=function(a){this.hj(this.oga+this.Vn,0,this.Ou,this.JU,0,2*Math.PI);this.hj(this.oga,0,this.Ou,a,0,2*Math.PI)};a.prototype.xCa=function(a){this.hj(this.kQ-0.5*(this.Lk+this.Vn),this.Lk+this.Vn,this.JU,this.Ou,0,2*Math.PI);this.hj(this.kQ-0.5*this.Lk,this.Lk,this.wAa,this.Ou,0,2*Math.PI);this.hj(this.kQ-0.5*this.Lk,this.Lk,this.xAa,this.Ou,0.5*Math.PI,(0.5+2*a)*Math.PI)};a.prototype.sCa=function(a,d){this.hj(this.mfa-0.5*(this.Lk+this.Vn),this.Lk+this.Vn,this.JU,this.Ou,0,2*Math.PI); this.hj(this.mfa-0.5*this.Lk,this.Lk,this.uAa,this.Ou,0,2*Math.PI);a=(0.5+2*a)*Math.PI;for(d=(0.5+2*d)*Math.PI;da?(d=a/0.25,a=0.5*d):0.5>a?(d=(a-0.25)/0.25,a=0.5+d,d=1+0.5*d):0.75>a?(d=(a-0.5)/0.25,a=0.5+0.5*d,d=0.5+d):(a=d=(a-0.75)/0.25,d=0.5+0.5*d);this.sCa(a,d)};a.prototype.FHa=function(a){this.SD();this.xCa(a)};return a}); define("lE","require,kG,ef,iS,fC,eR,bu".split(","),function(a){var b=a("kG"),d=a("ef"),c=a("iS"),g=a("fC"),f=a("eR"),i=a("bu"),a=b.extend(c,function(){c.call(this);this.J=q;this.set("tag","Reticle");this.set("changing",B);this.set("over",B);this.set("overProgress",l);this.set("visible",n);this.set("attachToCamera",n);this.su=q});a.prototype.X=function(a){this.Su(a);this.Zf(a);this.tf(a);c.prototype.X.call(this,a)};a.prototype.Su=function(a){if(a.$b&&!this.su&&i.Fe()==i.vD.Tl)this.hh([this.su=new c])}; a.prototype.Zf=function(a){if(!this.J){this.set("textureSource",new f);this.J=new g(this.ta.K);this.get("textureSource").Ml(this.J.ng());this.set("contentWidth",this.J.fd());this.set("contentHeight",this.J.Ud());this.set("hfov",6);this.set("distance",this.ta.K.get("vrPointerDistance"))}this.D("changing")&&this.J.BX(this.get("changing"));this.D("over","overProgress")&&this.J.JSa(this.get("over"),this.get("overProgress"));this.J.update(a.Qe)&&this.get("textureSource").update();this.get("changing")&& this.wa()};a.prototype.tf=function(){this.xk()};a.prototype.vl=function(){this.D("composedAlpha","meshGroup","visible")&&this.cw()};a.prototype.cw=function(){d.Ve(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a}); define("bk","require,jquery.mod,dY,nU,t,op,ez".split(","),function(a){function b(a){this.Sa=a;this.Eoa=this.Sa.Fn;this.Sa.bind(g.ad,this.Wf,this);this.ea=d("");this.ea.css({"pointer-events":"none",position:"absolute","z-index":f.cda,"text-align":"center",display:"none"});this.Wd=d("");this.Wd.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.ea.append(this.Wd);this.gV=d("");this.gV.css({position:"relative"});this.ea.append(this.gV);this.Qi=this.LR= this.uh=q;this.qu=this.pu=l;this.Rt=B;this.Foa=l}var d=a("jquery.mod"),c=a("dY"),g=a("nU");a("t");var f=a("op"),i=a("ez"),e={toolTip:l,toolTipBackgroundColor:"#F6F6F6",toolTipBackgroundOpacity:1,toolTipBorderColor:"#767676",toolTipBorderRadius:3,toolTipBorderSize:1,toolTipFontFamily:"Segoe UI",toolTipFontSize:12,toolTipFontColor:"#606060",toolTipFontWeight:"normal",toolTipFontStyle:"normal",toolTipHorizontalAlign:"center",toolTipOpacity:1,toolTipPaddingBottom:2,toolTipPaddingLeft:4,toolTipPaddingTop:2, toolTipPaddingRight:4,toolTipShadowBlurRadius:3,toolTipShadowColor:"#333333",toolTipShadowHorizontalLength:3,toolTipShadowOpacity:1,toolTipShadowSpread:0,toolTipShadowVerticalLength:3,toolTipTextShadowBlurRadius:3,toolTipTextShadowColor:"#000000",toolTipTextShadowHorizontalLength:0,toolTipTextShadowOpacity:0,toolTipTextShadowVerticalLength:0,toolTipDisplayTime:600};b.prototype.Mc=S("ea");b.prototype.DC=function(a){if(!this.Eoa){for(;a&&a.get("toolTipDisabled");)a=a.getParent();this.hide();this.uh&& c(c(e).keys()).each(function(a){this.uh.unbind(g.u(a),this.R4,this)},this);if(this.uh=a){c(c(e).keys()).each(function(a){this.uh.bind(g.u(a),this.R4,this)},this);this.R4()}}};b.prototype.vTa=function(a,b){this.uh=a;this.Foa=b;this.TR()||(this.Rt?this.Rna():this.jM())};b.prototype.Pna=function(a,b,c){this.Rt&&this.uh.trigger(g.GZ);this.iMa(a);this.gV.html(this.AEa(b));this.hfa=c;this.tf();this.uh.trigger(g.bda);this.Rt=n;this.ea.css("display","inline");(c||a.get("checkToolTipOcclusion"))&&this.EKa(a)}; b.prototype.tf=function(){var a=this.qm(),b=a.x,a=a.y,c=this.ea.outerWidth(),e=this.ea.outerHeight();if(this.hfa){b=b-this.ea.width()*0.5;a=a-this.ea.height()*0.5}b=Math.max(Math.min(b,this.Sa.Ua()-c-3),3);a=Math.max(Math.min(a,this.Sa.Cb()-e-3),3);this.ea.css("left",b+"px");this.ea.css("top",a+"px")};b.prototype.qm=function(){var a={};if(this.hfa){var b=this.uh.Mc().offset();a.x=b.left+this.uh.Ua()*0.5;a.y=b.top+this.uh.Cb()*0.5}else{a.x=this.pu;a.y=this.qu+25}return a};b.prototype.hide=function(){this.Sz(); this.ioa();if(this.Rt){this.ea.css("display","none");this.uh.trigger(g.GZ);this.Rt=B}};b.prototype.R4=function(){this.uh.get("toolTip")?this.TR()||(this.Rt?this.Qna():this.jM()):this.TR()?this.Sz():this.Rt&&this.hide()};b.prototype.Wf=function(a){this.pu=a.pageX;this.qu=a.pageY;this.Rt&&this.uh.get("toolTipFollowMouse")&&this.tf()};b.prototype.Qna=function(){this.Pna(this.uh,this.uh.get("toolTip"),B)};b.prototype.Rna=function(){this.Pna(this.uh,this.Foa,n)};b.prototype.TR=function(){return this.Qi!= q};b.prototype.jM=function(){var a=this.uh&&this.uh.get("toolTipDisplayTime");if(a===l||a===q)a=e.toolTipDisplayTime;this.Sz();this.Qi=setTimeout(function(){this.Qi=q;this.Eoa?this.Rna():this.Qna()}.bind(this),a)};b.prototype.Sz=function(){if(this.TR()){clearTimeout(this.Qi);this.Qi=q}};b.prototype.EKa=function(a){var b=this.qm();this.ioa();var c=function(){this.ea.css("display",this.Rt&&!this.AFa(a,b.x,b.y)?"inline":"none")}.bind(this);this.LR=setInterval(c,300);c()};b.prototype.ioa=function(){if(this.LR){clearInterval(this.LR); this.LR=q}};b.prototype.iMa=function(a){function b(c){var d=a.get(c);return d===l?e[c]:d}var d={};d.opacity=b("toolTipOpacity");d.filter=d["-ms-filter"]="alpha(opacity="+Math.round(b("toolTipOpacity")*100)+")";d.paddingTop=b("toolTipPaddingTop")+"px";d.paddingBottom=b("toolTipPaddingBottom")+"px";d.paddingLeft=b("toolTipPaddingLeft")+"px";d.paddingRight=b("toolTipPaddingRight")+"px";d["text-align"]=b("toolTipHorizontalAlign");this.ea.css(d);d={};d.opacity=b("toolTipBackgroundOpacity");d.filter=d["-ms-filter"]= "alpha(opacity="+Math.round(b("toolTipBackgroundOpacity")*100)+")";d["background-color"]=b("toolTipBackgroundColor");d.border=[b("toolTipBorderSize")+"px","solid",b("toolTipBorderColor")].join(" ");var f=b("toolTipShadowColor");d["-moz-box-shadow"]=d["-webkit-box-shadow"]=d["box-shadow"]=[b("toolTipShadowHorizontalLength")+"px",b("toolTipShadowVerticalLength")+"px",b("toolTipShadowBlurRadius")+"px",b("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+f.substr(1,2))+", "+parseInt("0x"+f.substr(3,2))+ ", "+parseInt("0x"+f.substr(5,2))+", "+b("toolTipShadowOpacity")+")"].join(" ");d["-moz-border-radius"]=d["-webkit-border-radius"]=d.borderRadius=b("toolTipBorderRadius")+"px";this.Wd.css(d);d={};d["font-family"]=i.$u(b("toolTipFontFamily"));f=b("toolTipFontSize");c(f).isNumber()?f=f+"px":c(f).isString()||(f="");d["font-size"]=f;d["font-weight"]=b("toolTipFontWeight");d["font-style"]=b("toolTipFontStyle");d.color=b("toolTipFontColor");f=b("toolTipTextShadowColor");d["-moz-text-shadow"]=d["-webkit-text-shadow"]= d["text-shadow"]=[b("toolTipTextShadowHorizontalLength")+"px",b("toolTipTextShadowVerticalLength")+"px",b("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+f.substr(1,2))+", "+parseInt("0x"+f.substr(3,2))+", "+parseInt("0x"+f.substr(5,2))+", "+b("toolTipTextShadowOpacity")+")"].join(" ");var g=b("toolTipTextShadowVerticalLength")==0&&b("toolTipTextShadowHorizontalLength")==0?135:Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-b("toolTipTextShadowVerticalLength"))/Math.PI)*45; d.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a}(255*b("toolTipTextShadowOpacity"))+f.substr(1,6)+",direction="+g+")";this.gV.css(d)};b.prototype.AFa=function(a,b,c){for(var b=document.elementsFromPoint(b,c),a=a.Mc()[0],c=this.Sa.Mc()[0],e=0;e0.29)return n}}return B};b.prototype.QAa=function(a){if(!a)return 0;var a=a.toLowerCase(),b=a.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return b?parseFloat(b[1]):a.match(/transparent/)?0:1};b.prototype.AEa=function(a){for(var a=(a||"").split("\n"),b=0;b"+a+"
"})};b.prototype.HCa=function(a){b.Uda.nodeValue=a;return b.Qda.innerHTML};b.Lwa=e;b.Qda=document.createElement("pre"); b.Uda=document.createTextNode("");b.Qda.appendChild(b.Uda);b.RUa=600;return b}); define("cI",["require","bk","bN","ez"],function(a){function b(a,b){this.K=a;this.ul=b;this.uKa()}var d=a("bk"),c=a("bN"),g=a("ez");b.prototype.ng=S("J");b.prototype.fd=function(){return this.J.width};b.prototype.Ud=function(){return this.J.height};b.prototype.uKa=function(){this.J=document.createElement("canvas");var a=this.ul.split("\n"),b=this.Cg("toolTipBackgroundColor"),e=this.Cg("toolTipBackgroundOpacity"),d=this.Cg("toolTipBorderRadius"),o=this.Cg("toolTipBorderColor"),k=this.Cg("toolTipBorderSize"); this.Cg("toolTipDisplayTime");var m=this.Cg("toolTipFontFamily"),r=this.Cg("toolTipFontSize"),p=this.Cg("toolTipFontColor"),t=this.Cg("toolTipFontWeight"),s=this.Cg("toolTipFontStyle"),u=this.Cg("toolTipPaddingBottom"),v=this.Cg("toolTipPaddingLeft"),w=this.Cg("toolTipPaddingTop"),x=this.Cg("toolTipPaddingRight"),y=this.Cg("toolTipOpacity"),D=this.Cg("toolTipTextShadowBlurRadius"),E=this.Cg("toolTipTextShadowColor"),H=this.Cg("toolTipTextShadowHorizontalLength"),M=this.Cg("toolTipTextShadowVerticalLength"), G=this.Cg("toolTipTextShadowOpacity"),z=new c.DZ;z.fontFamily=m;z.fontSize=r+(isNaN(r)?"":"px");z.fontWeight=t;z.fontStyle=s;var L=a.map(function(a){return c(a,z,J)}),K=0,A=0;L.forEach(function(a){K=Math.max(a.width,K);A+=a.height});var N=1a))this.JQ=a};b.prototype.VV=function(a,b){if(""==this.$a||this.Zx>b)this.$a=a,this.Zx=b};b.prototype.KO=S("$a");b.prototype.rs=function(a){this.ffa=d(a)};b.prototype.zl= function(){return 0=this.$ma){this.s7();this.TD()}else this.Qc.set("overProgress",a/this.$ma)};return a}); define("kF","require,kG,nU,lE,nO,eW,ni,bu".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("lE"),g=a("nO"),f=a("eW"),i=a("ni"),e=a("bu"),a=b.extend(i,function(a){i.call(this,i.LZ,a);this.Fg=this.o=q;this.Qc=new c;this.h.add(this.Qc);this.dh="";this.$a=q;this.lV=this.lV.bind(this);document.body.addEventListener("touchend",this.lV);e.bind(d.Vl,this.aqa,this,n)});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.lV);e.unbind(d.Vl,this.aqa,this,n);this.h.remove(this.Qc); this.Qc=q;this.$a&&this.h.remove(this.$a);this.$a=q};a.prototype.update=function(a){this.o=a;this.Qc.set("changing",a.bW);this.Ri()};a.prototype.lV=function(){this.TD()};a.prototype.aqa=function(){this.TD()};a.prototype.TD=function(){this.ni(this.Zh(d.Qj));this.Qc.set("over",B)};a.prototype.Ri=function(){var a=this.Zh(d.Hk);this.ni(a);this.Kp(a.KO());this.Qc.set("over",a.dn())};a.prototype.Kp=function(a){if(this.dh!=a){this.dh&&this.h.remove(this.$a);if(this.dh=a){this.$a=new g(this.dh);this.$a.set("text", this.dh);this.h.add(this.$a)}}};a.prototype.ni=function(a){this.h.MN().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.bn(a)}.bind(this))};a.prototype.Zh=function(a){this.Fg=this.k2();return new f(this,this.Fg?[this.Fg]:[],this.Fg,a)};return a}); define("jY","require,kG,iA,cn,ef,eR,A,mR".split(","),function(a){var b=a("kG"),d=a("iA"),c=a("cn"),g=a("ef"),f=a("eR"),i=a("A"),e=a("mR"),j=new THREE.Matrix4,o=Math.PI/180,a=b.extend(i,function(){i.call(this);this.set("tag","Laser");this.set("matrix",q);this.set("over",B);this.set("pressed",B);this.set("intersectionDistance",0);this.set("visible",B);this.set("attachToCamera",B);this.set("dotVisible",n);this.W5=this.yL=this.tr=this.V5=q;new THREE.Matrix4;this.X5=new THREE.Matrix4;this.X5.multiply(j.makeRotationX(-90* o));this.X5.multiply(j.makeTranslation(0,k*0.5,0));this.OQ=this.NQ=this.MQ=this.Ct=this.i1=q;new THREE.Matrix4;this.j1=new THREE.Matrix4;this.EI=this.LQ=this.h1=q;new THREE.Matrix4;this.Wz=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.Wz[0].multiply(j.makeRotationX(-90*o));this.Wz[0].multiply(j.makeTranslation(0,-r*0.5,0));this.Wz[1].multiply(j.makeRotationX(-90*o));this.Wz[1].multiply(j.makeTranslation(0,-r*0.5,-m*0.5));this.Wz[2].multiply(j.makeRotationX(-90*o));this.Wz[2].multiply(j.makeTranslation(0, -r*0.5,-m))});a.prototype.X=function(a){i.prototype.X.call(this,a);this.J8();this.gy()};a.prototype.J8=function(){if(this.D("visible"))this.get("meshGroup").visible=this.get("visible");this.D("dotVisible")&&g.Ve([this.NQ,this.LQ],this.get("dotVisible")?1:0)};a.prototype.gy=function(){if(this.D("over","pressed")){this.ipa();this.Bpa()}};var k=0.35,m=0.012,r=0.1;a.prototype.fm=function(){this.LQ=g.create(new THREE.SphereGeometry(2.3,32,32),this.nBa());this.NQ=g.create(new THREE.SphereGeometry(2,32, 32),this.oBa());this.W5=g.create(new THREE.CylinderGeometry(0.003,0.003,k,8),this.OBa());this.XD=[];this.XD.push(g.create(new THREE.CylinderGeometry(m,m,r,32),this.y0()));this.XD.push(g.create(new THREE.BoxGeometry(2*m,r,m),this.y0()));this.XD.push(g.create(new THREE.CylinderGeometry(m,m,r,32),this.y0()));return[this.LQ,this.NQ,this.W5].concat(this.XD)};a.prototype.nBa=function(){if(this.h1==q){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),e=new f;e.Ml(a);this.h1= c.oy(e.texture(),new c.kn);b.fillStyle="rgba(0, 0, 0, 0.75)";b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height)}return this.h1};a.prototype.oBa=function(){if(this.i1==q){this.Ct=document.createElement("canvas");this.Ct.width=this.Ct.height=256;this.MQ=this.Ct.getContext("2d");this.OQ=new f;this.OQ.Ml(this.Ct);this.i1=c.oy(this.OQ.texture(),new c.kn);this.ipa()}return this.i1};a.prototype.ipa=function(){this.MQ.fillStyle=this.c2();this.MQ.clearRect(0,0,this.Ct.width,this.Ct.height); this.MQ.fillRect(0,0,this.Ct.width,this.Ct.height);this.OQ.update()};a.prototype.OBa=function(){if(this.V5==q){this.tr=document.createElement("canvas");this.tr.width=this.tr.height=256;this.yL=this.tr.getContext("2d");this.Y5=new f;this.Y5.Ml(this.tr);this.V5=c.oy(this.Y5.texture(),new c.kn);this.Bpa()}return[this.V5]};a.prototype.Bpa=function(){var a=e.dO(this.c2()).join(", "),b=this.yL.createLinearGradient(0,0,0,this.tr.height);b.addColorStop(0,"rgba("+a+", 0)");b.addColorStop(0.5,"rgba("+a+", 1)"); b.addColorStop(1,"rgba("+a+", 1)");this.yL.fillStyle=b;this.yL.clearRect(0,0,this.tr.width,this.tr.height);this.yL.fillRect(0,0,this.tr.width,this.tr.height);this.Y5.update()};a.prototype.y0=function(){if(this.EI==q){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),e=new f;e.Ml(a);this.EI=c.oy(e.texture(),new c.kn);b.fillStyle="rgba(64, 64, 64, 1)";b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height)}return[this.EI,this.EI,this.EI]};a.prototype.Sp= function(){var a=B,b=B,c=B;if(this.D("intersectionDistance")){var b=(b=this.get("intersectionDistance"))?d.kC(b):d.cv(),e=b/d.cv();this.j1.makeTranslation(0,0,-b);this.j1.multiply(j.makeScale(e,e,e));b=n}if(this.D("matrix"))c=b=a=n;if(b){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.j1);g.$p(this.NQ,j);g.$p(this.LQ,j)}if(a){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.X5);g.$p(this.W5,j)}if(c){b=this.get("matrix");for(a=0;a=0};z.prototype.Lm=function(){this.im.clear();f.prototype.Lm.call(this)};z.prototype.Vb=function(){var a=this.Ua(),c=this.Cb();if(this.o.width!=a||this.o.height!=c)if(!a||!c)b.log("Invalid size values: "+a+" "+c);else{this.o.width=a;this.o.height=c;this.gR.EO(this.o.width);this.gR.cva(this.o.height); this.yb()}};z.prototype.gk=function(){this.o.enabled=n;this.yb()};z.prototype.ck=function(){this.o.enabled=B};z.prototype.Ln=function(){this.o.$b=E.isPresenting();this.Up();this.yb()};z.prototype.FGa=function(){this.Up();this.yb()};z.prototype.pHa=function(){this.yb()};z.prototype.UGa=function(){this.yb()};z.prototype.JX=function(a){if(this.o6!=a)(this.o6=a)||this.yb()};z.prototype.KC=function(a){if(this.o.Ol!=a){this.o.Ol=a;this.yb()}};z.prototype.hb=function(a,c,e,d){if(this.o.Na!=a||this.o.pitch!= c||this.o.Ie!=e||this.o.ve!=d)if(isNaN(a)||isNaN(c)||isNaN(e)||!d)b.log("Invalid position values: "+a+" "+c+" "+e+" "+d);else{this.o.Na=a;this.o.pitch=c;this.o.Ie=e;this.o.ve=d;this.gR.HC(this.o.ve*G);this.yb()}};z.prototype.Uc=function(){return this.o.Na};z.prototype.Nc=function(){return this.o.pitch};z.prototype.uf=function(){return this.o.Ie};z.prototype.og=function(){return this.o.ve};z.prototype.CN=function(){return this.o.$b?this.o.Ph:D.zs(this.o.Ph,this.o.width,this.o.height)};z.prototype.DN= function(){return this.o.Ph};z.prototype.unproject=function(a){return this.gR.unproject(a)};z.prototype.yb=function(){H.yb(this.sj,this)};z.prototype.sj=function(){if(H.v$){var a=(new Date).getTime(),b=Math.max(1,Math.min(a-this.Kia,33));this.Kia=a;this.trigger(new g(z.YY,{frameTime:b}));if(this.o.enabled){this.o.Qe=b;this.aU()}}else this.yb()};z.prototype.aU=function(){this.nl.update(this.o);this.o.aW=this.nl.QOa();this.o.kN=this.nl.POa();this.o.Ph=this.nl.NOa();this.o.Kj=this.nl.getPixelRatio(); this.ta.update(this.o);this.xoa.update(this.o);this.yja.update(this.o);this.vj.update(this.o);this.o6||this.nl.render()};z.YY="render start";z.Kva=T(n);return z});define("ed",["require"],function(){function a(){}a.prototype.clear=I();a.wVa=function(b){return a.create(b,I())};a.create=function(b,d){d.prototype=Object.create(a.prototype);d.prototype.constructor=d;d.id=b;d.not="!"+b;return d};a.Fc=function(b,d){var c=a.create(b,d);c.G$=n;return c};return a}); define("fm",["require","ed"],function(a){var a=a("ed"),b={};b.UC=a.create("AmbientOcclusionEffect",function(){this.bias=0;this.intensity=1;this.scale=100;this.bta=25;this.Eta=0;this.t9=4;this.output=q});b.Dv=a.create("AnimationComponent",function(){this.Fb=q});b.Bs=a.Fc("AnimationSystemStateComponent",function(){this.manager=q});b.Ly=a.create("AntialiasEffect",function(){this.Hva=this.vra=B;this.HO=2});b.Rl=a.create("AreaComponent",function(){this.entities=[];this.La=this.renderOrder=q});b.Ev=a.Fc("AreaSystemStateComponent", function(){this.entities=[]});b.My=a.Fc("AreaPointSystemStateComponent",function(){this.XV=[]});b.Qy=a.create("BeaconComponent",I());b.Hv=a.Fc("BeaconSytemStateComponent",function(){this.position=q});b.qq=a.create("BeaconTrackerComponent",function(){this.La=q});b.Es=a.Fc("BeaconTrackerSytemStateComponent",function(){this.position=q});b.Zi=a.create("CanvasMaterialComponent",function(){this.PX=this.source=q;this.opacity=1;this.hidden=this.isSprite=B;this.depthTest=n});b.Iv=a.Fc("CanvasMaterialSystemStateComponent", function(){this.manager=q});b.YO=a.create("ColorEffect",function(){this.color="#000000";this.opacity=0.5});b.ZO=a.create("DataComponent",I());b.uo=a.create("DraggableComponent",function(){this.min=this.direction=this.La=q});b.Jv=a.Fc("DraggableSystemStateComponent",function(){this.H9=q});b.Kv=a.create("DraggingComponent",I());b.cD=a.create("FirstPersonControlsComponent",function(){this.Zp=q;this.ns=n;this.Fb=q;this.enabled=n});b.Is=a.Fc("FirstPersonControlsSystemStateComponent",function(){this.manager= q});b.Js=a.create("FloorTransformComponent",function(){this.distance=0;this.ON=B;this.z=this.y=this.x=0});b.vq=a.Fc("FloorTransformSystemStateComponent",function(){this.manager=q});b.dD=a.create("FlyOverControlsComponent",function(){this.Zp=q;this.ns=n;this.Fb=q;this.enabled=n});b.Ks=a.Fc("FlyOverControlsSystemStateComponent",function(){this.manager=q});b.Geometry=a.create("GeometryComponent",function(){this.geometry=q});b.Group=a.create("GroupComponent",function(){this.group=q});b.hD=a.Fc("GroupSystemStateComponent", function(){this.group=q});b.Ls=a.create("ImageMaterialComponent",function(){this.kH=this.La=this.Gsa=this.Fb=q;this.Ge=l;this.isSprite=B});b.Ov=a.Fc("ImageMaterialSystemStateComponent",function(){this.manager=q});b.TH=a.create("MotionBlurEffect",function(){this.Fua=7;this.intensity=1});b.Light=a.create("LightComponent",function(){this.Nd=this.target=this.Fb=q});b.Ms=a.Fc("LightSystemStateComponent",I());b.Line=a.create("LineComponent",function(){this.renderOrder=0});b.Qv=a.Fc("LineSystemStateComponent", I());b.bj=a.create("LineMaterialComponent",function(){this.color="#ffffff";this.width=this.opacity=1;this.depthTest=n});b.Pv=a.Fc("LineMaterialSystemStateComponent",function(){this.manager=q});b.Rv=a.create("LineToTransformComponent",function(){this.Qb=q});b.Sv=a.Fc("LineToTransformSystemStateComponent",I());b.Material=a.create("MaterialComponent",function(){this.material=q});b.yq=a.create("MaterialTransformComponent",function(){this.opacity=this.envMapIntensity=1;this.La=q});b.Tv=a.Fc("MaterialTransformSystemStateComponent", function(){this.manager=q});b.Os=a.create("MaterialVariantComponent",function(){this.name=q});b.Eo=a.Fc("MaterialVariantSystemStateComponent",function(){this.manager=q});b.Mesh=a.create("MeshComponent",function(){this.mo=q;this.renderOrder=0});b.zq=a.Fc("MeshSystemStateComponent",function(){this.mo=q});b.zg=a.create("ModelComponent",function(){this.n$=this.La=this.kH=this.pua=this.Fta=this.Fb=q});b.Ps=a.Fc("ModelComponentSystemState",function(){this.manager=q});b.Qs=a.Fc("NotSelectableComponent", function(){this.gwa=this.fwa=n});b.lz=a.Fc("NotSelectableSystemStateComponent",I());b.Object3D=a.create("Object3DComponent",function(){this.Yc=q});b.pD=a.create("Object3DIdComponent",function(){this.container=this.id=q});b.Rs=a.Fc("Object3DIdComponentSystemState",function(){this.manager=q});b.qD=a.create("OrbitControlsComponent",function(){this.Zp=q;this.ns=n;this.Fb=q;this.enabled=n});b.Ss=a.Fc("OrbitControlsSystemStateComponent",function(){this.manager=q});b.OrthographicCamera=a.create("OrthographicCameraComponent", function(){this.height=this.width=100});b.Uv=a.Fc("OrthographicCameraSystemStateComponent",function(){this.camera=q;this.height=this.width=l});b.Hb=a.create("ParentComponent",function(){this.Qb=q;this.attach=B;this.id=q});b.Aq=a.Fc("ParentSystemStateComponent",function(){this.nd=this.parent=q;this.id=l;this.attach=B});b.PerspectiveCamera=a.create("PerspectiveCameraComponent",function(){this.height=this.width=100;this.fov=75;this.near=0.01;this.far=100;this.uqa=B;this.vqa=0});b.Bq=a.Fc("PerspectiveCameraSystemStateComponent", function(){this.u9=this.boundingBox=this.scene=this.camera=q;this.V$=B;this.far=this.near=this.fov=this.height=this.width=l});b.Fo=a.create("PixelScaleTransformComponent",function(){this.scale=this.si=this.Mg=this.tg=1;this.XN=this.VN=l});b.nz=a.Fc("PixelScaleTransformSystemStateComponent",I());b.Plane=a.create("PlaneComponent",function(){this.renderOrder=q});b.Ts=a.Fc("PlaneSystemStateComponent",function(){this.manager=q});b.Go=a.create("PointerComponent",function(){this.Zp=q;this.enabled=n;this.Fb= q});b.Rj=a.create("PointerOverTransformComponent",function(){this.Qb=q;this.rotate=n;this.La=q});b.Cq=a.Fc("PointerOverTransformSystemStateComponent",function(){this.manager=q});b.Us=a.Fc("PointerDraggingSystemStateComponent",function(){this.manager=q});b.Vs=a.Fc("PointerSelectionSystemStateComponent",function(){this.manager=q});b.Th=a.create("RendererComponent",function(){this.canvas=this.PG=q;this.antialias=n;this.shadowMap=B;this.renderer=q;this.nO=[]});b.Dq=a.Fc("RendererSystemStateComponent", function(){this.manager=q});b.Scene=a.create("SceneComponent",function(){this.opacity=1;this.locked=B;this.enabled=n;this.outputEncoding=this.K9=this.ira=this.wqa=this.p9=this.backgroundColor=this.eo=this.scene=q});b.Fq=a.Fc("SceneSystemStateComponent",function(){this.manager=this.scene=q});b.Vd=a.create("SelectableComponent",function(){this.La=q;this.MO=B;this.Zu=n;this.dn=this.qv=B});b.oz=a.Fc("SelectableSystemStateComponent",I());b.Vc=a.create("SolidMaterialComponent",function(){this.color="#ffffff"; this.opacity=1;this.depthTest=n;this.doubleSided=B});b.Ws=a.Fc("SolidMaterialSystemStateComponent",function(){this.manager=q});b.Sphere=a.create("Sphere",function(){this.radius=1;this.widthSegments=32;this.heightSegments=16;this.renderOrder=0});b.pz=a.Fc("SphereSystemStateComponent",I());b.Sprite=a.create("SpriteComponent",function(){this.EG=this.DG=0.5;this.width=this.height=100;this.scale=1;this.renderOrder=0});b.Gq=a.Fc("SpriteSystemStateComponent",function(){this.manager=q});b.va=a.create("TransformComponent", function(){this.mf=this.Je=this.lf=this.cg=this.we=this.Ue=0;this.sg="XYZ";this.si=this.Mg=this.tg=this.scale=1;this.vN=this.Kf=this.ug=this.Pg=0;this.La=q});b.zf=a.Fc("TransformSystemStateComponent",function(){this.mf=this.Je=this.lf=this.cg=this.we=this.Ue=0;this.sg="XYZ";this.si=this.Mg=this.tg=this.scale=1;this.Kf=this.ug=this.Pg=0});b.qz=a.Fc("TransformEasingSystemStateComponent",I());b.Wv=a.create("VideoMaterialComponent",function(){this.La=this.vwa=this.Fb=q});b.Xv=a.Fc("VideoMaterialSystemStateComponent", function(){this.manager=q});b.Vj=a.create("ViewportComponent",function(){this.height=this.width=this.eo=q});b.Yv=a.create("ViewportPlaneGeometryComponent",function(){this.Fb=this.eo=q});b.Ys=a.Fc("ViewportPlaneGeometrySystemStateComponent",function(){this.geometry=q;this.zIndex=this.Gua=this.verticalAlign=this.zsa=this.tva=this.wva=l});b.xD=a.create("VignetteEffect",function(){this.aua=1;this.Hsa=0.5;this.color="#000000";this.opacity=0.5});return b}); define("lp",["require"],function(){function a(b,d){this.R=b;this.KTa=d||"Entity";this.id=this.KTa+"_"+a.OQa++;this.fo={};this.kO={};this.fba=0}a.prototype.getComponent=function(a){return this.fo[a.id]};a.prototype.G=function(a,d){var c=this.fo[a.id];c?this.R.cOa(this,a):d&&(c=this.C(a));return c};a.prototype.C=function(a){if(a.id in this.fo)return this.fo[a.id];a.G$&&this.fba++;var d=this.fo[a.id]=new a;this.R.JNa(this,a);return d};a.prototype.ga=function(a){a.id in this.fo&&(a.G$&&this.fba--,this.kO[a.id]= this.fo[a.id],delete this.fo[a.id],this.R.yua(this,a,l))};a.prototype.fOa=function(){for(var a in this.kO)this.kO[a].clear(),delete this.kO[a]};a.prototype.qRa=function(){for(var a in this.fo){var d=this.fo[a].constructor;d.G$||(this.kO[a]=this.fo[a],delete this.fo[a],this.R.yua(this,d,B))}};a.OQa=0;return a});define("bW",["require"],function(){function a(){this.id=a.r4++;this.entities=[]}a.r4=0;return a}); define("kd",["require"],function(){function a(b,d){this.id=a.r4++;this.name=d;this.entities=b.entities;this.ag=b.entities.slice();this.Ra=[];this.Ym=[]}a.prototype.dOa=function(){!this.ag.length||(this.ag=[]);!this.Ra.length||(this.Ra=[]);!this.Ym.length||(this.Ym=[])};a.r4=0;return a}); define("bp",["require","bW","kd"],function(a){function b(){this.XPa={};this.A={};this.BC={};this.QG={};this.av={};this.AC={};this.qN={};this.zC={}}function d(a){return"string"==typeof a?a:a.id}function c(a,b){0>a.indexOf(b)&&a.push(b)}function g(a,b){var c=a.indexOf(b);0<=c&&a.splice(c,1)}var f=a("bW"),i=a("kd");b.prototype.ma=function(a){this.qN[a.id]={};this.qN[a.not]={}};b.prototype.pOa=function(a,b){var c=this.qEa(a),d=new i(c,b);this.BC[c.id].push(d);return d};b.prototype.qEa=function(a){var b= this.XPa[this.rEa(a)];if(b)return b;b=new f;this.A[b.id]=b;a=a.map(d);this.zC[b.id]={};for(var c=0;cthis.cb)this.j.get("loop")?this.j.set("currentTime",a%this.cb):(this.tb=n,this.j.trigger(d.Ha),this.j.set("state",c.L));else{for(var b=this.Jk||0;a>this.aw[b].end;)b++;for(;ab;i--)e=this.Mf[i],j=this.zz[i],e.set("currentTime",0),j.stop();this.Jk=b}else j=this.zz[this.Jk],ae;this.Mf[this.Jk].set("currentTime",b?2*e-a:a);this.Mf[this.Jk].set("currentDirection",b?"backward":"forward");this.j.set("currentTime",this.ph.time);this.wa()}};return b}); define("nK",["require","nU","gE"],function(a){function b(a,b,c,e,d){this.j=a;this.Wc=b;this.Mf=c;this.Xj=e;this.wa=d;this.K4=this.K4.bind(this);this.G4=this.G4.bind(this);this.GU()}var d=a("nU"),c=a("gE");b.prototype.dispose=function(){this.fV();this.wa=this.Xj=this.Mf=this.Wc=this.j=q};b.prototype.EN=S("Xj");b.prototype.frame=function(a){0e||(c.splice(e,1),a.remove(b))}},rba:function(a){var b=a.userData.cba;if(b){var c=0.99*-a.far;b.forEach(function(a){a.position.z= c})}},INa:function(a,b){var e=a.userData.bba||(a.userData.bba=[]);0<=e.indexOf(b)||(e.push(b),a.add(b),c.kwa(a))},sRa:function(a,b){var c=a.userData.bba;if(c){var e=c.indexOf(b);0>e||(c.splice(e,1),a.remove(b))}},kwa:function(a){var b=a.userData.bba;if(b){var c=0.99*a.far;b.forEach(function(a){a.scale.x=a.scale.y=a.scale.z=c})}}},g=new THREE.Vector3,f=new THREE.Quaternion,i=new THREE.Vector3,e=Math.PI/180;c.YG=function(a){var b=(a=c.gc(a))&&c.e$(a),d=b&&c.NN(b);if(d)return a.matrixWorld.decompose(g, f,i),g.applyMatrix4(d.matrixWorldInverse),i.setFromMatrixScale(a.parent.matrixWorld),2*Math.abs(g.z)*Math.tan(d.fov*e/2)/(c.HW(b)*Math.max(i.x,i.y,i.z))};c.hC=function(a,b){if(a.userData.id===b)return a;var e=q;if(a.children)for(var d=0;d=0){c.splice(c.indexOf(i),1);if(a.get("autoplay")){f.push(i);g.push(a)}else{o.push(i);u.push(a)}}}.bind(this));if(this.j&& g.length==0&&c.length>0){g=c.map(function(a){if(this.QQ.has(a))return this.QQ.get(a);var b=new i;this.QQ.set(a,b);return b}.bind(this));f=c}if(!d(this.Kk&&this.Kk.Mf||[],g)||!d(this.Kk&&this.Kk.EN()||[],f)){if(this.Kk){this.Kk.dispose();this.Kk=q}if(g.length>0)this.Kk=new e(this.j,this.Wc,g,f,this.wa.bind(this))}if(!d(this.hr&&this.hr.Mf||[],u)||!d(this.hr&&this.hr.EN()||[],o)){if(this.hr){this.hr.dispose();this.hr=q}if(u.length>0)this.hr=new j(this.j,this.Wc,u,o,this.wa.bind(this))}};b.prototype.OIa= function(){(this.j&&this.j.get("animations")||[]).forEach(function(a){a.set("state",g.L);a.set("currentTime",0)});this.QQ.clear()};b.prototype.wa=function(){if(!this.Gf){this.Gf=n;this.k.R.ob()}};b.yc=function(a){a.C(f.Bs).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(f.Bs);b.manager.dispose();b.manager=q;a.ga(f.Bs)};b.update=function(a){a.getComponent(f.Bs).manager.update()};b.frame=function(a,b,c){a.getComponent(f.Bs).manager.frame(b,c)};return b}); define("mr",["require","kG","kR","fm","da"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("da"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(a,b){this.oqa.entities.length&&this.oqa.entities.slice().forEach(g.yc);this.animations.Ra.length&&this.animations.Ra.slice().forEach(function(c){g.update(c,a,b)});this.animations.entities.length&&this.animations.entities.slice().forEach(function(c){g.frame(c,a,b)});this.pqa.entities.length&&this.pqa.entities.slice().forEach(g.Kb)}; a.A={};a.A.oqa=[c.Dv,c.Bs.not];a.A.pqa=[c.Dv.not,c.Bs];a.A.animations=[c.Dv,c.Bs];return a}); define("eO",["require"],function(){function a(a,g,i){var i=i||2,o=g&&g.length,k=o?g[0]*i:a.length,m=b(a,0,k,i,n),s=[];if(!m||m.next===m.prev)return s;var t,u,v,K;if(o){K=m;var A=i,m=[],N,J,C,o=0;for(N=g.length;o=A.next.y&&A.next.y!==A.y){var O=A.x+(J- A.y)*(A.next.x-A.x)/(A.next.y-A.y);if(O<=N&&O>C&&(C=O,F=A.x=A.x&&A.x>=U&&N!==A.x&&e(JF.x||A.x===F.x&&0>j(F.prev,F,A.prev)&&0>j(A.next,F,F.next))))F=A,V=P;A=A.next}while(A!==O);A=F}else A=q}A&&(K=p(A,g),d(K,K.next),K=d(A,A.next))}m=K}if(a.length>80*i){t=v=a[0];u=o=a[1];for(A=i;Av&&(v=K),g>o&&(o=g);v=Math.max(v-t,o-u);v=0!==v?32767/v:0}c(m,s,i,t,u,v,0);return s}function b(a,b,c,e,d){var f;if(d===0=b;d-=e)f=t(d,a[d],a[d+1],f);f&&o(f,f.next)&&(s(f),f=f.next);return f}function d(a,b){if(!a)return a;b||(b=a);var c=a,e;do if(e=B,!c.Iva&&(o(c,c.next)||0===j(c.prev,c,c.next))){s(c);c=b=c.prev;if(c===c.next)break;e=n}else c=c.next;while(e||c!==b);return b}function c(a,b,f,m,t,u,v){if(a){if(!v&& u){var G=a,z=G;do 0===z.z&&(z.z=i(z.x,z.y,m,t,u)),z.lq=z.prev,z=z.Kl=z.next;while(z!==G);z.lq.Kl=q;z.lq=q;var G=z,L,K,A,N,J,C,F=1;do{z=G;A=G=q;for(N=0;z;){N++;K=z;for(L=J=0;LJ?N>F?N:F:J>F?J:F,W=L>C?L>U?L:U:C>U?C:U,O=O.next;O!==A;){if(O.x>=Q&&O.x<=P&&O.y>=V&&O.y<=W&&e(N,L,J,C,F,U,O.x,O.y)&&0<=j(O.prev,O,O.next)){A=B;break a}O=O.next}A=n}}if(A)b.push(z.qg/f|0),b.push(a.qg/f|0),b.push(K.qg/f|0),s(a),G=a=K.next;else if(a=K,a===G){if(v)if(1===v){a=d(a);v=b;G=f;z=a;do K=z.prev,A=z.next.next,!o(K,A)&&k(K,z,z.next,A)&&r(K,A)&&r(A,K)&&(v.push(K.qg/G|0),v.push(z.qg/G|0),v.push(A.qg/G|0),s(z),s(z.next),z=a=A),z=z.next;while(z!==a);a=d(z); c(a,b,f,m,t,u,2)}else{if(2===v)a:{v=a;do{for(G=v.next.next;G!==v.prev;){if(z=v.qg!==G.qg){z=v;K=G;A=l;if(A=z.next.qg!==K.qg)if(A=l,A=z.prev.qg!==K.qg){A=A=l;b:{A=z;do{if(A.qg!==z.qg&&A.next.qg!==z.qg&&A.qg!==K.qg&&A.next.qg!==K.qg&&k(A,A.next,z,K)){A=n;break b}A=A.next}while(A!==z);A=B}if(A=!A){A=l;if(A=r(z,K))if(A=l,A=r(K,z)){A=z;N=B;J=(z.x+K.x)/2;F=(z.y+K.y)/2;do A.y>F!==A.next.y>F&&A.next.y!==A.y&&J<(A.next.x-A.x)*(F-A.y)/(A.next.y-A.y)+A.x&&(N=!N),A=A.next;while(A!==z);A=N&&(j(z.prev,z,K.prev)|| j(z,K.prev,K))}A=A||o(z,K)&&0k?o>m?o:m:k>m?k:m,F=r>p?r>s?r:s:p>s?p:s,O=i(t,u,b,c,d),b=i(v,F,b,c,d),c=a.lq,a=a.Kl;c&&c.z>=O&&a&&a.z<=b;){if(c.x>=t&& c.x<=v&&c.y>=u&&c.y<=F&&c!==f&&c!==g&&e(o,r,k,p,m,s,c.x,c.y)&&0<=j(c.prev,c,c.next))return B;c=c.lq;if(a.x>=t&&a.x<=v&&a.y>=u&&a.y<=F&&a!==f&&a!==g&&e(o,r,k,p,m,s,a.x,a.y)&&0<=j(a.prev,a,a.next))return B;a=a.Kl}for(;c&&c.z>=O;){if(c.x>=t&&c.x<=v&&c.y>=u&&c.y<=F&&c!==f&&c!==g&&e(o,r,k,p,m,s,c.x,c.y)&&0<=j(c.prev,c,c.next))return B;c=c.lq}for(;a&&a.z<=b;){if(a.x>=t&&a.x<=v&&a.y>=u&&a.y<=F&&a!==f&&a!==g&&e(o,r,k,p,m,s,a.x,a.y)&&0<=j(a.prev,a,a.next))return B;a=a.Kl}return n}function f(a,b){return a.x- b.x}function i(a,b,c,e,d){a=(a-c)*d|0;b=(b-e)*d|0;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function e(a,b,c,e,d,f,g,i){return(d-g)*(b-i)>=(a-g)*(f-i)&&(a-g)*(e-i)>=(c-g)*(b-i)&&(c-g)*(f-i)>=(d-g)*(e-i)}function j(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)}function o(a,b){return a.x===b.x&&a.y===b.y}function k(a,b,c,e){var d=0j(a,b,c)?-1:0,f= 0j(a,b,e)?-1:0,g=0j(c,e,a)?-1:0,i=0j(c,e,b)?-1:0;return d!==f&&g!==i||0===d&&m(a,c,b)||0===f&&m(a,e,b)||0===g&&m(c,a,e)||0===i&&m(c,b,e)?n:B}function m(a,b,c){return b.x<=Math.max(a.x,c.x)&&b.x>=Math.min(a.x,c.x)&&b.y<=Math.max(a.y,c.y)&&b.y>=Math.min(a.y,c.y)}function r(a,b){return 0>j(a.prev,a,a.next)?0<=j(a,b,a.next)&&0<=j(a,a.prev,b):0>j(a,b,a.prev)||0>j(a,a.next,b)}function p(a,b){var c=new u(a.qg,a.x,a.y),e=new u(b.qg,b.x,b.y),d=a.next,f=b.prev;a.next= b;b.prev=a;c.next=d;d.prev=c;e.next=c;c.prev=e;f.next=e;e.prev=f;return e}function t(a,b,c,e){a=new u(a,b,c);e?(a.next=e.next,a.prev=e,e.next.prev=a,e.next=a):(a.prev=a,a.next=a);return a}function s(a){a.next.prev=a.prev;a.prev.next=a.next;a.lq&&(a.lq.Kl=a.Kl);a.Kl&&(a.Kl.lq=a.lq)}function u(a,b,c){this.qg=a;this.x=b;this.y=c;this.next=this.prev=q;this.z=0;this.Kl=this.lq=q;this.Iva=B}function v(a,b,c,e){for(var d=0,f=c-e;b1.0E-4}),b=this.CPa(c);if(b.length===0){this.kga(a);this.Joa(a,l)}else{this.LJa(a,b.length*3);this.cUa(a,o,b);j.copy(a.getComponent(i.Object3D).Yc.matrixWorld).invert();o.forEach(function(a){a.applyMatrix4(j)});for(var a=a.getComponent(i.Geometry),e=a.geometry.attributes.position.array,d=0,f=0;dMath.PI*0.5&&(d=Math.PI-d);if(d>y)return[]}}r.copy(a[1]).sub(a[0]).normalize(); p.copy(k.normal).cross(r).normalize();b=[];for(f=0;f=0&&b.splice(c,1);this.Rta["delete"](a);a.ga(g.Es)};a.prototype.Waa=function(a){a.C(g.Hv).position=new THREE.Vector3;var b=f.gc(a);this.Qta.set(a,b);(b=this.ZV.get(a.R))|| this.ZV.set(a.R,b=[]);b.indexOf(a)<0&&b.push(a)};a.prototype.SX=function(a){var b=this.ZV.get(a.R),c=b.indexOf(a);c>=0&&b.splice(c,1);this.Qta["delete"](a);a.ga(g.Hv)};return a}); define("hw","require,kG,kR,fm,kj,cf".split(","),function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("kj"),f=a("cf"),a=b.extend(d,function(){d.apply(this,arguments);this.Yaa=this.Yaa.bind(this);this.Zaa=this.Zaa.bind(this);this.$X=this.$X.bind(this);this.aY=this.aY.bind(this);this.hba=this.hba.bind(this);this.iba=this.iba.bind(this)});a.prototype.execute=function(){this.Zta.entities.length&&this.Zta.entities.slice().forEach(this.Yaa);this.bua.entities.length&&this.bua.entities.slice().forEach(this.Zaa); this.yC.Ra.length&&this.yC.Ra.slice().forEach(this.$X);this.ps.Ra.length&&this.ps.Ra.slice().forEach(this.aY);this.$ta.entities.length&&this.$ta.entities.slice().forEach(this.hba);this.cua.entities.length&&this.cua.entities.slice().forEach(this.iba)};a.prototype.Yaa=function(a){var b=a.G(c.OrthographicCamera),d=a.C(c.Uv);a.C(c.Object3D).Yc=d.camera=b.camera=new THREE.OrthographicCamera;this.$X(a)};a.prototype.Zaa=function(a){var b=a.G(c.PerspectiveCamera),d=a.C(c.Bq);a.C(c.Object3D).Yc=d.camera=b.camera= new THREE.PerspectiveCamera;this.aY(a)};a.prototype.$X=function(a){var b=a.getComponent(c.OrthographicCamera),a=a.getComponent(c.Uv);a.width=b.width;a.height=b.height;a=a.camera;a.left=b.width*-0.5;a.right=b.width*0.5;a.top=b.height*0.5;a.bottom=b.height*-0.5;a.updateProjectionMatrix()};a.prototype.aY=function(a){var b=a.getComponent(c.PerspectiveCamera),a=a.getComponent(c.Bq);a.width=b.width;a.height=b.height;a.fov=b.fov;a.near=b.near;a.far=b.far;a=a.camera;a.aspect=b.width/b.height;a.fov=b.width> b.height?g.Dl(b.fov,b.width,b.height):b.fov;a.near=b.near;a.far=b.far;f.rba(a);a.updateProjectionMatrix()};a.prototype.hba=function(a){var b=a.getComponent(c.Uv);b.camera.parent&&b.camera.parent.remove(b.camera);b.camera=q;a.ga(c.Uv);a.ga(c.Object3D)};a.prototype.iba=function(a){var b=a.getComponent(c.Bq);b.camera.parent&&b.camera.parent.remove(b.camera);b.camera=q;a.ga(c.Bq);a.ga(c.Object3D)};a.A={};a.A.Zta=[c.OrthographicCamera,c.Uv.not];a.A.$ta=[c.OrthographicCamera.not,c.Uv];a.A.bua=[c.PerspectiveCamera, c.Bq.not];a.A.cua=[c.PerspectiveCamera.not,c.Bq];a.A.yC=[c.OrthographicCamera,c.Uv];a.A.ps=[c.PerspectiveCamera,c.Bq];a.VC=b.extend(d,function(){d.apply(this,arguments);this.W$=this.W$.bind(this)});a.VC.prototype.execute=function(){this.ps.entities.length&&this.ps.entities.slice().forEach(this.W$)};a.VC.prototype.W$=function(a){var b=a.getComponent(c.PerspectiveCamera);if(b.uqa){var d=a.getComponent(c.Bq),g=d.scene||f.jo(a),o=d.camera;if(g&&o){var j=Number.POSITIVE_INFINITY,v=Number.NEGATIVE_INFINITY; if(d.boundingBox)d.V$=n;else{d.boundingBox=this.m0(g);d.V$=B}for(var g=d.boundingBox,g=[[g.min.x,g.max.x],[g.min.y,g.max.y],[g.min.z,g.max.z]],w=0;w<2;w++)for(var x=0;x<2;x++)for(var y=0;y<2;y++){k.set(g[0][w],g[1][x],g[2][y]).applyMatrix4(o.matrixWorldInverse);-k.z>v&&(v=-k.z);-k.z0?j:v>20?0.1:0.01;if(Math.abs(b.near-j)>e||Math.abs(b.far-v)>e){o.far=d.far=b.far=v;o.near=d.near=b.near=j;f.rba(o); f.kwa(o);o.updateProjectionMatrix()}if(!d.u9)d.u9=setTimeout(function(){d.boundingBox=q;d.u9=q;d.V$&&a.R&&a.R.ob()},i)}}};a.VC.prototype.m0=function(a){j.makeEmpty();a.traverse(function(a){if(a.geometry&&!a.isSprite){a.updateWorldMatrix(B,B);var b=a.geometry;b.boundingBox===q&&b.computeBoundingBox();o.copy(b.boundingBox);o.applyMatrix4(a.matrixWorld);j.union(o)}});return j};var i=500,e=1.0E-4,j=new THREE.Box3,o=new THREE.Box3,k=new THREE.Vector3;a.VC.A={};a.VC.A.ps=[c.PerspectiveCamera,c.Bq];return a}); define("bm",["require"],function(){return{Iq:38,rq:40,Xa:39,Ja:37,As:65,NZ:90,yD:87,tD:83,ZC:68,sD:81,E:69,Nwa:27}}); define("ku",["require"],function(){return{WUa:I(),XUa:I(),QR:function(){return this.ff&&this.ff.Ysa()||this.j&&!this.j.get("keyboardEnabled")?n:B},Xw:function(){return this.ff&&this.ff.Ysa()||this.j&&!this.j.get("mouseEnabled")?n:B},ika:function(){!this.$k&&!this.It&&this.Qpa()},hka:function(){!this.$k&&!this.It&&this.Ppa()},YS:function(){this.via()||this.Qpa()},XS:function(){this.via()||this.Ppa()},Qpa:function(){this.ff&&this.ff.Iy();this.j&&this.j.set("userInteracting",n)},Ppa:function(){this.ff&& this.ff.tba();this.j&&this.j.set("userInteracting",B)}}}); define("nk",["require"],function(){function a(a){this.j=a;this.ax=n}function b(a,b,d){if(b!==l)if(180=a;)a+=360;aa)a=-180;else{for(;180d&&(a=d)}return a}function d(a,b,d){isNaN(a)&&h("invalid value");b!==l&&ad&&(a=d);return a}a.prototype.ASa=function(){this.ax=B};a.prototype.Baa=function(a){this.j.set("fov",this.ax?d(a,this.j.get("minFov",0.1),this.j.get("maxFov",180)):a)};a.prototype.Nl=function(a){this.j.set("yaw", this.ax?b(a,this.j.get("minYaw"),this.j.get("maxYaw")):a)};a.prototype.us=function(a){this.j.set("pitch",this.ax?d(a,this.j.get("minPitch",-90),this.j.get("maxPitch",90)):a)};a.prototype.setX=function(a){this.j.set("x",this.ax?d(a,this.j.get("minX"),this.j.get("maxX")):a)};a.prototype.setY=function(a){this.j.set("y",this.ax?d(a,this.j.get("minY"),this.j.get("maxY")):a)};a.prototype.setZ=function(a){this.j.set("z",this.ax?d(a,this.j.get("minZ"),this.j.get("maxZ")):a)};a.prototype.GC=function(a){this.j.set("distance", this.ax?d(a,this.j.get("minDistance"),this.j.get("maxDistance")):a)};a.prototype.ti=function(a){this.j.set("easing",a)};return a}); define("dG","require,nU,gE,eQ,fm,nk,nx,bC".split(","),function(a){function b(a,b,e){this.k=a;this.j=b;this.Ia=e;this.sa=new i(this.j);this.sa.ASa();this.rB=0;this.hk=this.ym=l;this.Gm=B;this.zU(0);this.J1=this.ZQ=this.I1=this.YQ=this.o=l;this.oc(c.L);this.Ia.bind(d.u("state"),this.cf,this,n);this.Ia.bind(d.u("movementIndex"),this.$A,this,n)}var d=a("nU"),c=a("gE"),g=a("eQ"),f=a("fm"),i=a("nk"),e=a("nx"),j=a("bC");b.prototype.Iy=function(){if(!this.Ia.get("mandatory")){this.pQ();if(this.Ia.get("restartMovementOnUserInteraction")){if(this.o== c.S){this.lM();this.oc(c.Gb,n)}}else this.o==c.S&&this.oc(c.L)}};b.prototype.tba=function(){this.o==c.Gb&&this.Gm&&this.Ia.get("restartMovementOnUserInteraction")&&this.m7()};b.prototype.frame=function(a){if(this.o==c.S){this.O.xb(a);this.xMa();this.sa.setX(this.O.gb("x"));this.sa.setY(this.O.gb("y"));this.sa.setZ(this.O.gb("z"));this.sa.Nl(this.O.gb("yaw"));this.sa.us(this.O.gb("pitch"));this.sa.GC(this.O.gb("distance"));this.sa.Baa(this.O.gb("fov"));this.sa.ti(0);a=this.Ia.get("movements")[this.ym]; a.set("position",this.O.Bk());a.trigger(d.iz);if(this.O.Te()){a.trigger(d.Ha);this.zU((this.ym+1)%this.Ia.get("movements").length,n);if(this.ym==0){this.rB++;this.Ia.trigger(d.Ik);if(this.rB==this.Ia.get("repeat")){this.vma();this.oc(c.L);this.Ia.trigger(d.Ha)}}}}};b.prototype.xMa=function(){var a=this.YQ!==l&&this.I1!==l,b=this.ZQ!==l&&this.J1!==l;if(a||b){var c=this.k.getComponent(f.Hb).Qb;if(c){var d=this.O.getTime(),e=this.O.Ui(),c=c.G(f.YO,n),a=a&&d0||a>0)if(b>a){c.color=this.J1;c.opacity=b}else{c.color=this.I1;c.opacity=a}else{c.color="#000000";c.opacity=0}}}};b.prototype.vma=function(){var a=this.k.getComponent(f.Hb);(a=a&&a.Qb)&&a.ga(f.YO)};b.prototype.dispose=function(){this.pQ();this.Ia.unbind(d.u("state"),this.cf,this,n);this.Ia.unbind(d.u("movementIndex"),this.$A,this,n);this.oc(c.L)};b.prototype.cf=function(){var a=this.Ia.get("state");this.o!=a&&(a==c.Gb&&this.o==c.L?this.Ia.set("state",c.L):this.oc(a))};b.prototype.oc= function(a,b){if(this.o!=a){this.o=a;if(this.o==c.S){this.pQ();this.Gm=B;this.uw();this.nQ()}else if(this.o==c.Gb){this.Gm=!!b;this.lM()}else if(this.o==c.L){this.Gm=B;this.pQ();this.rB=0;var d=this.O.getTime(),e=this.O.Ui();d>0&&d=f?this.lk(y,f-360,f):this.lk(y,f,f+360);break;default:y= this.lk(y,f-180,f+180)}}else if(g.za("DistanceModel3DCameraMovement",a)){v=b+a.get("xDelta",0);w=c+a.get("yDelta",0);x=d+a.get("zDelta",0);y=f+a.get("yawDelta",0);D=i+a.get("pitchDelta",0);H=u+a.get("fovDelta",0);E=s+a.get("distanceDelta",0)}this.O=new e(a.get("easing"),[new j("x",b,v,a.get("xSpeed")),new j("y",c,w,a.get("ySpeed")),new j("z",d,x,a.get("zSpeed")),new j("yaw",f,y,a.get("yawSpeed")),new j("pitch",i,D,a.get("pitchSpeed")),new j("fov",u,H,a.get("fovSpeed")),new j("distance",s,E,a.get("distanceSpeed"))], a.get("duration"));this.YQ=a.get("fadeFromDuration");this.I1=a.get("fadeFromColor");this.ZQ=a.get("fadeToDuration");this.J1=a.get("fadeToColor")};b.prototype.nQ=function(){this.hk=l};b.prototype.lM=function(){if(this.O){this.hk=l;var a=this.O&&this.O.W9("yaw");if(a)if(a.Hy>a.from)this.hk="right";else if(a.Hyc;)a=a-(c- b);return a};return b}); define("np","require,jU,nU,gE,dG,cf".split(","),function(a){function b(a,b){this.k=a;this.j=b;this.vx=this.vx.bind(this);this.cf=this.cf.bind(this);this.Bh=this.kj=q;this.Ar=[];this.dg=q;this.Dj=B;this.rt=new Map;d.pa(this.j,["initialSequence","idleSequence","sequences.movements"],this.vx,n);d.pa(this.j,["state"],this.cf,n);this.Ep=B}var d=a("jU"),c=a("nU"),g=a("gE"),f=a("dG"),i=a("cf");b.prototype.Ysa=function(){return!!this.dg&&this.dg.get("mandatory")};b.prototype.Iy=function(){this.Dj=n;this.qk(); this.dg&&this.rt.get(this.dg).Iy()};b.prototype.tba=function(){this.Dj=B;this.dg&&this.rt.get(this.dg).tba();this.Bh&&(!this.dg||this.dg==this.Bh)&&this.Lp()};b.prototype.Lp=function(){if(!this.Dj&&!this.vA&&this.Bh&&!this.dg&&this.j.get("timeToIdle"))this.vA=setTimeout(function(){this.vA=q;this.uK()}.bind(this),this.j.get("timeToIdle"))};b.prototype.qk=function(){if(this.vA){clearTimeout(this.vA);this.vA=q}};b.prototype.uK=function(){this.Bh&&this.Bh.set("state",g.S)};b.prototype.frame=function(a){if(!this.Ep){var b= i.jo(this.k),c=0;b&&b.traverse(function(a){(a.isMesh||a.isSprite)&&c++});if(c>0){this.Ep=n;this.lF()}else return}this.dg&&this.rt.get(this.dg).frame(a);(a=this.dg&&this.dg.get("state")==g.S)&&this.k.R.ob();return a};b.prototype.lF=function(){this.kj?this.kj.set("state",g.S):this.Lp()};b.prototype.dispose=function(){d.na(this.j,["initialSequence","idleSequence","sequences.movements"],this.vx);d.na(this.j,["state"],this.cf);this.qk();this.Bh&&this.hE(this.Bh);this.kj&&this.hE(this.kj);this.Ar.forEach(this.hE.bind(this)); this.Ar=q};b.prototype.cf=function(){if(this.dg)this.dg.set("state",this.j.get("state"));else if(this.j.get("state")==g.S){this.Lp();this.vA||this.j.set("state",g.L)}else this.qk()};b.prototype.vx=function(){var a=this.w6(this.j.get("initialSequence"));if(this.kj!=a){this.kj&&this.hE(this.kj);(this.kj=a)&&this.D0(this.kj)}a=this.w6(this.j.get("idleSequence"));if(this.Bh!=a){this.Bh&&this.hE(this.Bh);(this.Bh=a)&&this.D0(this.Bh)}var b=(this.j.get("sequences")||[]).filter(this.w6.bind(this));this.Ar.forEach(function(a){b.indexOf(a)< 0&&this.hE(a)}.bind(this));var c=this.Ar;this.Ar=b;this.Ar.forEach(function(a){c.indexOf(a)<0&&this.D0(a)}.bind(this));!this.dg&&this.Bh&&!this.vA&&this.Lp()};b.prototype.w6=function(a){var b=a&&a.get("movements");return!b||b.length==0?q:a};b.prototype.kla=function(a){var a=a.source,b=a.get("state");if(b==g.S){this.qk();b=this.dg;this.dg=a;b&&b!=this.dg&&b.set("state",g.L);this.j.set("state",g.S);this.k.R.ob()}else if(b==g.Gb)a==this.dg&&this.j.set("state",g.Gb);else if(b==g.L&&a==this.dg){this.j.set("state", g.L);this.dg=q;a!=this.Bh&&this.Lp()}};b.prototype.D0=function(a){if(this.rt.has(a))this.rt.get(a);else{a.set("state",g.L);a.bind(c.u("state"),this.kla,this,n);var b=new f(this.k,this.j,a);this.rt.set(a,b)}};b.prototype.hE=function(a){if(this.rt.has(a)){a.set("state",g.L);a.unbind(c.u("state"),this.kla,this,n);this.rt.get(a).dispose();this.rt["delete"](a)}};return b}); define("of",["require"],function(){return{H3:function(a){this.YR=this.YR.bind(this);this.ZR=this.ZR.bind(this);this.DI=this.Pi=B;this.td={};for(var b=0;ba.touches.length||(this.It||(this.It=n,this.gGa(a.touches),this.$k||this.YS&&this.YS()),this.bka&&this.bka())},dja:function(a){this.Xw&&this.Xw()||2>a.touches.length||!this.It||(this.kja(a.touches),this.aka&&this.aka(this.FLa, this.GLa,this.L7),this.H4&&this.H4(this.l3,this.m3,this.yM,this.zM,1,this.L7,this.tJ,this.K7,this.k3,this.J7))},eja:function(){this.It&&(this.It=B,this.KS&&this.KS());this.$k||this.XS&&this.XS()},gGa:function(a){this.k3=this.m3=this.l3=this.tJ=this.L7=this.zM=this.yM=this.K7=this.J7=l;this.xM=a;this.kja(a)},kja:function(a){c(a[0],this.xM[0])+c(a[1],this.xM[1])>c(a[0],this.xM[1])+c(a[1],this.xM[0])&&(a=[a[1],a[0]]);var b=Math.atan2(-(a[1].y-a[0].y),a[1].x-a[0].x)*i,d=c(a[0],a[1]),f=(a[0].x+a[1].x)/ 2,g=(a[0].y+a[1].y)/2;this.L7=this.tJ!==l?d/this.tJ:1;this.J7=b;this.K7=d;this.FLa=this.yM!==l?f-this.yM:0;this.GLa=this.zM!==l?g-this.zM:0;this.yM=f;this.zM=g;this.l3!==l||(this.l3=this.yM);this.m3!==l||(this.m3=this.zM);this.k3!==l||(this.k3=this.J7);this.tJ!==l||(this.tJ=this.K7);this.xM=a},gJ:function(){return this.je?this.je.Ua():100},pA:function(){return this.je?this.je.Cb():100},Kt:function(){return this.je?Math.max(this.je.Ua(),this.je.Cb()):100},TF:function(a){if(this.je!=a&&(this.je&&(this.je.unbind(g.zb, this.gja,this,n),this.je.unbind(g.ad,this.hja,this,n),this.je.unbind(g.Wb,this.ija,this,n),this.je.unbind(g.ca,this.bja,this,n),this.je.unbind(g.Ul,this.cja,this,n),this.je.unbind(g.xq,this.jja,this,n),this.je.unbind(g.dZ,this.dja,this,n),this.je.unbind(g.gD,this.fja,this,n),this.je.unbind(g.eD,this.eja,this,n)),this.je=a,this.JR.qs(this.je),this.je))this.je.bind(g.zb,this.gja,this,n),this.je.bind(g.ad,this.hja,this,n),this.je.bind(g.Wb,this.ija,this,n),this.je.bind(g.ca,this.bja,this,n),this.je.bind(g.Ul, this.cja,this,n),this.je.bind(g.xq,this.jja,this,n),this.je.bind(g.dZ,this.dja,this,n),this.je.bind(g.gD,this.fja,this,n),this.je.bind(g.eD,this.eja,this,n)},fK:function(a){a.x=-1+2*a.x/this.gJ();a.y=1-2*a.y/this.pA();return a},dG:function(a){this.Bc=a.x;this.Cc=a.y;this.dK=a.pageX;this.eK=a.pageY},Kx:function(a){this.JR.push(a)},qL:function(a){this.JR.pop(a)}}}); define("cv",["require","cf"],function(a){var b=a("cf");return{t4:function(a){this.Yd={};this.Yd.Qb=a;this.Yd.Gy=q;this.Yd.propertyName=q;this.Yd.matrixWorld=new THREE.Matrix4;this.Yd.lX=B;this.Yd.timeout=q},u4:function(){this.w4(B);this.Yd.timeout&&clearTimeout(this.Yd.timeout)},s4:function(a,b){if(this.Yd.Gy!=a||this.Yd.propertyName!=b)this.Yd.Gy&&this.Yd.Gy.set(this.Yd.propertyName,B),this.Yd.Gy=a,this.Yd.propertyName=b,this.Yd.Gy&&this.Yd.Gy.set(this.Yd.propertyName,this.Yd.lX)},t8:function(){var a= b.gc(this.k),c=!!a&&!a.matrixWorld.equals(this.Yd.matrixWorld);c&&this.Yd.matrixWorld.copy(a.matrixWorld);this.w4(c);this.Yd.timeout&&(clearTimeout(this.Yd.timeout),this.Yd.timeout=q);c&&(this.Yd.timeout=setTimeout(function(){this.Yd.timeout=q;this.w4(B)}.bind(this),100))},w4:function(a){this.Yd.lX!=a&&(this.Yd.lX=a,this.Yd.Gy&&this.Yd.Gy.set(this.Yd.propertyName,this.Yd.lX))}}}); define("dF","require,kG,nU,bm,kj,cf,fm,ku,nk,np,of,x,cv,bc".split(","),function(a){function b(a){this.k=a;this.H3(t);this.bK();this.t4(a);this.cG=0.025;this.rj=0.25;this.aia=1;this.hg=this.Uf=this.gg=this.ci=this.bi=0;this.zj=[];this.sa=this.ff=q;this.Kx(p.jz);this.update()}var d=a("kG"),c=a("nU"),g=a("bm");a("kj");var f=a("cf"),i=a("fm"),e=a("ku"),j=a("nk"),o=a("np"),k=a("of"),m=a("x"),r=a("cv"),p=a("bc");d.WB(b,[e,k,m,r]);b.prototype.update=function(){var a=this.k.getComponent(i.cD);this.rl(a&& a.Fb);this.s4(a&&a.Fb,"moving");var b=H.indexOf(this.k.R)==-1&&a.enabled;this.TF(a&&(b?a.Zp:q));this.GJ(!!a&&b&&a.ns);b||this.ZA();if(!b||!a.ns)this.ci=this.bi=this.gg=this.Uf=this.hg=0};b.prototype.frame=function(a){if(this.ci||this.bi||this.gg||this.Uf||this.hg){var b=a/1E3;this.gK(this.gg*a/1E3,this.Uf*b,this.hg*b,this.ci*b,this.bi*b)}this.t8()};b.prototype.fF=function(){var a=!(!this.gg&&!this.Uf&&!this.hg);this.ci=this.bi=this.hg=this.Uf=this.gg=0;var b=this.td[g.As]?1:this.td[g.ZC]?-1:0,c=this.td[g.yD]? 1:this.td[g.tD]?-1:0,d=this.td[g.sD]?1:this.td[g.E]?-1:0,e=this.td[g.Iq]?1:this.td[g.rq]?-1:0,f=this.td[g.Ja]?1:this.td[g.Xa]?-1:0;if(b||c||d||e||f){var i=this.Pi?0.2:1;if(b)this.gg=-b*i*this.j.get("translationSpeed");if(d)this.Uf=-d*i*this.j.get("translationSpeed");if(c)this.hg=-c*i*this.j.get("translationSpeed");if(f)this.ci=-f*i*100*this.j.get("rotationSpeed");if(e)this.bi=e*i*100*this.j.get("rotationSpeed");this.k.R.ob();b=!(!this.gg&&!this.Uf&&!this.hg);!a&&b&&this.AMa()}};b.prototype.WS=function(){this.Xh= n;this.Kx(p.Ek)};b.prototype.jF=function(a,b){if(this.Xh){var c=(a*a+b*b)/2500,c=c>1?1/Math.sqrt(c):1,b=b*c,c=-(a*c)*360/this.gJ()*this.j.get("rotationSpeed"),d=b*180/this.pA()*this.j.get("rotationSpeed");this.sa.Nl(this.j.get("yaw")+c);this.sa.us(this.j.get("pitch")+d);this.sa.ti(this.rj);this.k.R.ob()}};b.prototype.ZA=function(){this.Xh=B;this.qL(p.Ek);this.k.R.ob()};b.prototype.ZS=I();b.prototype.H4=I();b.prototype.KS=I();b.prototype.VS=I();b.prototype.rl=function(a){if(this.j!=a){if(this.j){if(this.ff){this.ff.dispose(); this.ff=q}this.sa=q;s.forEach(function(a){this.j.unbind(c.u(a),this.Sm,this,B)}.bind(this));u.forEach(function(a){this.j.unbind(c.u(a),this.tk,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.sa=new j(this.j);this.uJ();s.forEach(function(a){this.j.bind(c.u(a),this.Sm,this,B)}.bind(this));u.forEach(function(a){this.j.bind(c.u(a),this.tk,this,B)}.bind(this));this.Sm();this.tk();this.ff=new o(this.k,this.j);this.j.set("userInteracting",B)}}};b.prototype.uJ=function(){if(this.j){this.j.set("fov", this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"))}};b.prototype.Sm=function(){if(this.k&&this.j){var a=this.k.G(i.va,n);a.Pg=this.j.get("x");a.ug=this.j.get("y");a.Kf=this.j.get("z");a.Je=-this.j.get("yaw");a.lf=this.j.get("pitch");a.mf=0;a.sg="YXZ";a.Ue=0;a.we=0;a.cg=this.j.get("distance");a.vN=this.j.get("easing"); (this.j.get("minHeight")!==l||this.j.get("keepHeight"))&&this.F8()}};b.prototype.tk=function(){if(this.k&&this.j)this.k.G(i.PerspectiveCamera,n).fov=this.j.get("fov")};b.prototype.gK=function(a,b,c,d,e){var f=this.k.getComponent(i.va);if(f){w.makeRotationFromEuler(D.set(0,f.Je*v,0,f.sg));x.set(a,b,c).applyMatrix4(w).multiplyScalar(this.aia);this.sa.setX(this.j.get("x")+x.x);this.sa.setY(this.j.get("y")+x.y);this.sa.setZ(this.j.get("z")+x.z);this.sa.Nl(this.j.get("yaw")+d);this.sa.us(this.j.get("pitch")+ e);this.sa.ti(this.rj)}};b.prototype.AMa=function(){var a=this.mR();if(a>0)this.aia=a};b.prototype.mR=function(){if(this.j){this.qm(x);return this.B2(x.x,x.y,x.z)}};b.prototype.B2=function(a,b,c){var d=this.KE(x.set(a,b,c),y.set(0,-1,0));if(d.length>0)return d[0].distance;d=this.KE(x.set(a,b+1E3,c),y.set(0,-1,0));if(d.length>0)return d[d.length-1].distance-1E3};b.prototype.KE=function(a,b){E.ray.origin.copy(a);E.ray.direction.copy(b);return E.intersectObjects(this.Nw(),B)};b.prototype.KR=function(a, b){E.setFromCamera(a,b);return E.intersectObjects(this.Nw(),B)};b.prototype.Nw=function(){var a=this.k&&f.jo(this.k);if(!a)return[];var b=[];a.traverse(function(a){!a.isSprite&&!a.isLine&&b.push(a)});return b};b.prototype.qm=function(a){a.set(0,0,0);if(this.j){a.applyMatrix4(w.makeTranslation(0,0,this.j.get("distance")));a.applyMatrix4(w.makeRotationFromEuler(D.set(this.j.get("pitch")*v,-this.j.get("yaw")*v,0*v,"YXZ")));a.applyMatrix4(w.makeTranslation(this.j.get("x"),this.j.get("y"),this.j.get("z")))}}; var t=[g.Iq,g.rq,g.Ja,g.Xa,g.As,g.tD,g.ZC,g.yD,g.sD,g.E],s=["minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minX","maxX","x","minY","maxY","y","minZ","maxZ","z","distance","easingSpeed"],u=["minFov","maxFov","fov"],v=Math.PI/180,w=new THREE.Matrix4,x=new THREE.Vector3(0,0,0),y=new THREE.Vector3(0,0,0),D=new THREE.Euler,E=new THREE.Raycaster;b.prototype.dispose=function(){this.rl(q);this.I3();this.cK();this.u4()};b.yc=function(a){a.C(i.Is).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(i.Is); b.manager.dispose();b.manager=q;a.ga(i.Is)};b.update=function(a){a.getComponent(i.Is).manager.update()};b.frame=function(a,b,c){a.getComponent(i.Is).manager.frame(b,c)};var H=[];b.pO=function(a){H=[];a.forEach(function(a){H.indexOf(a.R)<0&&H.push(a.R)})};return b}); define("bU","require,kG,nU,bm,kj,cf,fm,ku,nk,np,of,x,cv,bc,nx,bC".split(","),function(a){function b(a){this.k=a;this.H3(K);this.bK();this.t4(a);this.Kc=w;this.zp=this.xh=q;this.cG=0.025;this.rj=0.25;this.Jh=l;this.EB=1;this.hg=this.Uf=this.gg=this.ci=this.bi=0;this.zj=[];this.BA=this.CA=this.DA=this.zA=this.yA=this.Ew=this.Fi=this.Et=this.Ft=this.Ht=this.Gt=this.Dt=l;this.i3=1E3;this.nJ=l;this.EE=0;this.sa=this.ff=q;this.Kx(s.jz);this.update()}function d(a,b){var c=b-a;c>180?c=c-360:c<-180&&(c=c+ 360);return c}function c(){return(new Date).getTime()}var g=a("kG"),f=a("nU"),i=a("bm");a("kj");var e=a("cf"),j=a("fm"),o=a("ku"),k=a("nk"),m=a("np"),r=a("of"),p=a("x"),t=a("cv"),s=a("bc"),u=a("nx"),v=a("bC");g.WB(b,[o,r,p,t]);b.prototype.update=function(){var a=this.k.getComponent(j.dD);this.rl(a&&a.Fb);this.s4(a&&a.Fb,"moving");var b=Y.indexOf(this.k.R)==-1&&a.enabled;this.TF(a&&(b?a.Zp:q));this.GJ(!!a&&b&&a.ns);b||this.ZA();if(!b||!a.ns)this.ci=this.bi=this.gg=this.Uf=this.hg=0};b.prototype.frame= function(a,b){this.ff&&this.ff.frame(a,b)&&this.Hp();if(this.Tq){this.Tq.xb(a);this.sa.setX(this.Tq.gb("x"));this.sa.setY(this.Tq.gb("y"));this.sa.setZ(this.Tq.gb("z"));this.sa.GC(this.Tq.gb("distance"));this.sa.ti(0);if(this.Tq.Te())this.Tq=q}if(this.eg){this.eg=Math.max(0,this.eg-a/this.i3);this.sa.setX(this.j.get("x")+this.BA*this.eg);this.sa.setY(this.j.get("y")+this.CA*this.eg);this.sa.setZ(this.j.get("z")+this.DA*this.eg);this.sa.Nl(this.j.get("yaw")+this.zA*this.eg);this.sa.us(this.j.get("pitch")+ this.yA*this.eg);this.sa.ti(0);this.k.R.ob();this.eg==0&&this.zL()}if(this.ci||this.bi||this.gg||this.Uf||this.hg){var c=a/1E3;this.gK(this.gg*c,this.Uf*c,this.hg*c,this.ci*c,this.bi*c)}if(this.Kc==w&&this.rk!==l&&!this.Uf&&this.j.get("keepHeight")&&this.nJ!==l&&Math.abs(this.rk-this.j.get("y"))>O){this.EE=Math.max(this.EE-a,0);var c=this.j.get("y"),d=this.rk-c,e=Math.min(a*this.nJ,Math.abs(d));this.sa.setY(c+e*(d>0?1:-1));this.k.R.ob()}if(this.Kc==w&&this.zp&&!this.eg&&!this.Tq){this.Rz();this.k.R.ob()}this.t8()}; b.prototype.fF=function(){this.l8()};b.prototype.l8=function(){var a=this.hg!=0||this.Uf!=0||this.gg!=0;this.ci=this.bi=this.hg=this.Uf=this.gg=0;var b=this.td[i.As]?1:this.td[i.ZC]?-1:0,c=this.td[i.yD]?1:this.td[i.tD]?-1:0,d=this.td[i.sD]?1:this.td[i.E]?-1:0,e=this.td[i.Iq]?1:this.td[i.rq]?-1:0,f=this.td[i.Ja]?1:this.td[i.Xa]?-1:0;if(e||f||b||c||d){var g=this.Pi?0.2:1;if(b)this.gg=-b*g*this.j.get("translationSpeed");if(d)this.Uf=-d*g*this.j.get("translationSpeed");if(c)this.hg=-c*g*this.j.get("translationSpeed"); if(f)this.ci=-f*g*100*this.j.get("rotationSpeed");if(e)this.bi=e*g*100*this.j.get("rotationSpeed");this.Rz();this.k.R.ob();this.a6();this.GCa();b=this.hg!=0||this.Uf!=0||this.gg!=0;!a&&b&&this.zL()}};b.prototype.WS=function(){this.Xh=n;if(!(this.Kc==MODE_ROTATING_YAW_GESTURE||this.Kc==MODE_ROTATION_PITCH_GESTURE||c()1?1/Math.sqrt(f):1,a=a*f,b=b*f,f=this.ZDa();if(this.Kc!=f){this.Kc=f;this.Kc==x?this.HKa(d,e):this.Kc==y?this.$na():this.Kc==D?this.TKa():this.Kc==MODE_ROTATING_AROUND_CAMERA&&this.RKa()}else this.Kc!=w&&(this.Kc==x?this.uMa(a,b,d,e):this.Kc==y?this.VMa(a,b):this.Kc==D?this.XMa(a,b):this.Kc==MODE_ROTATING_AROUND_CAMERA&&this.UMa(a,b))}};b.prototype.ZA=function(){this.qL(s.Ek);this.Xh=B;if(this.Kc!=w){this.Kc=w;this.xh=q;this.Yna();this.a6();this.lia();this.k.R.ob()}};b.prototype.ZS= function(a){if(this.Kc!=E){this.Kc=E;this.OKa()}else this.HMa(a);this.n4&&clearTimeout(this.n4);this.n4=setTimeout(function(){this.n4=q;if(this.Kc==E){this.Kc=w;this.Hp()}}.bind(this),1E3)};b.prototype.H4=function(a,b,c,e,f,g,i,o,j,k){if(this.Kc!=MODE_ROTATING_YAW_GESTURE&&this.Kc!=MODE_ROTATION_PITCH_GESTURE){a=Math.abs(g-f)>0.05;c=d(j,k)>5;b=Math.abs(e-b)>0.02*this.pA();j=Math.min(Math.abs(j),180-Math.abs(j),Math.abs(k),180-Math.abs(k))<10;i=i/this.Kt()<0.2;if((a||b)&&(j||i)){this.Kc=MODE_ROTATION_PITCH_GESTURE; this.SKa()}else if((c||a)&&(!j||!i)){this.Kc=MODE_ROTATING_YAW_GESTURE;this.UKa()}}else this.Kc==MODE_ROTATING_YAW_GESTURE?this.YMa(f,g,j,k):this.Kc==MODE_ROTATION_PITCH_GESTURE&&this.WMa(b,e,f,g)};b.prototype.KS=function(){this.xh=q;this.Kc==MODE_ROTATING_YAW_GESTURE&&this.Yna();this.Kc=w;this.Yga=c();this.a6();this.lia();this.k.R.ob()};b.prototype.VS=function(a,b){if(this.j.get("doubleClickAction")=="zoom"){var c=e.jo(this.k),d=e.gc(this.k);if(d&&c){P.set(a,b);this.fK(P);c=this.KR(P,d);if(c.length!= 0){this.Hp();this.Rz();c=c[0].point;H.setFromMatrixPosition(d.matrixWorld);this.Tq=new u("quad_in_out",[new v("x",H.x,(c.x+H.x)*0.5),new v("y",H.y,(c.y+H.y)*0.5),new v("z",H.z,(c.z+H.z)*0.5),new v("distance",0,0)],500)}}}};b.prototype.ZDa=function(){return this.wS?this.Pi?y:x:this.$k?this.Pi?MODE_ROTATING_AROUND_CAMERA:D:w};b.prototype.HKa=function(a,b){this.JF();this.Rz();this.dza(a,b);this.j.get("keepHeight")&&this.$U();this.k.R.ob()};b.prototype.uMa=function(a,b,c,d){var f=e.gc(this.k);H.setFromMatrixPosition(f.matrixWorld); if(this.xh){M.set(c,d,0);this.fK(M);M.unproject(f);if(Math.atan2(this.xh.y-H.y,Math.sqrt((this.xh.z-H.z)*(this.xh.z-H.z)+(this.xh.x-H.x)*(this.xh.x-H.x)))*F>-2){z.copy(this.xh).applyMatrix4(f.matrixWorldInverse);L.copy(M).applyMatrix4(f.matrixWorldInverse);a=z.z/L.z;G.copy(L).multiplyScalar(a).applyMatrix4(f.matrixWorld).sub(this.xh);G.y!=0&&this.Hp()}else{a=(this.xh.y-H.y)/(M.y-H.y);G.copy(M).sub(H).multiplyScalar(a).add(H).sub(this.xh)}G.multiplyScalar(-1)}else{U.makeRotationFromEuler(W.set(0,-this.j.get("yaw")* C,0,"YXZ"));Q.set(-a*this.j.get("translationSpeed")/this.Kt(),0,-b*this.j.get("translationSpeed")/this.Kt()).applyMatrix4(U);G.copy(Q).multiplyScalar(this.EB*10)}this.sa.setX(H.x+G.x);this.sa.setY(H.y+G.y);this.sa.setZ(H.z+G.z);this.mG(G.x,G.y,G.z,0,0);this.sa.ti(this.rj)};b.prototype.$na=function(){this.JF();this.xh=q;this.A_();this.Hp();this.k.R.ob()};b.prototype.VMa=function(a,b){var c;c||(c=1);var d=a*360/this.gJ()*this.j.get("rotationSpeed"),e=-b*180/this.pA()*this.j.get("rotationSpeed");this.sa.Nl(this.j.get("yaw")+ d);this.sa.us(this.j.get("pitch")+e);this.sa.GC(this.r5/c);this.mG(0,0,0,d,e);this.sa.ti(this.rj);this.k.R.ob()};b.prototype.TKa=function(){this.$na()};b.prototype.XMa=function(a,b){var c=e.gc(this.k),d=this.j.get("distance")||this.Jh||1,c=b*d*2*Math.tan(c.fov*C/2)/this.pA();c!=0&&this.Hp();this.sa.setY(this.j.get("y")+c);d=a*360/this.gJ()*this.j.get("rotationSpeed");this.sa.Nl(this.j.get("yaw")+d);this.mG(0,c,0,d,0);this.sa.ti(this.rj)};b.prototype.RKa=function(){this.JF();this.Rz();this.Hp();this.k.R.ob()}; b.prototype.UMa=function(a,b){var c=-a*360/this.gJ()*this.j.get("rotationSpeed"),d=b*180/this.pA()*this.j.get("rotationSpeed");this.sa.Nl(this.j.get("yaw")+c);this.sa.us(this.j.get("pitch")+d);this.mG(0,0,0,c,d);this.sa.ti(this.rj);this.k.R.ob()};b.prototype.OKa=function(){this.Hp();this.JF();this.xh=q;this.Rz();this.j.get("keepHeight")&&this.$U();this.k.R.ob()};b.prototype.HMa=function(a){this.KJa(Q);Q.multiplyScalar(-a*this.j.get("translationSpeed")*(this.EB||1));this.Jh&&this.zea(this.Jh+Q.y); this.sa.setX(this.j.get("x")+Q.x);this.sa.setY(this.j.get("y")+Q.y);this.sa.setZ(this.j.get("z")+Q.z);this.sa.ti(this.cG)};b.prototype.UKa=function(){this.JF();this.xh=q;this.A_();this.Hp();this.k.R.ob();this.rr=l};b.prototype.YMa=function(a,b,c,e){this.rr!==l||(this.rr=c);c=d(this.rr,e);this.rr=e;this.sa.Nl(this.j.get("yaw")+c);this.sa.GC(this.r5*a/b);this.mG(0,0,0,c,0);this.sa.ti(this.rj);this.k.R.ob()};b.prototype.SKa=function(){this.JF();this.xh=q;this.A_();this.Hp();this.k.R.ob();this.TT=l}; b.prototype.WMa=function(a,b,c,d){this.TT!==l||(this.TT=a);a=-(b-this.TT)*180/this.pA();this.TT=b;this.sa.us(this.j.get("pitch")+a);this.sa.GC(this.r5*c/d);this.mG(0,0,0,0,a);this.sa.ti(this.rj);this.k.R.ob()};b.prototype.dza=function(a,b){var c=e.jo(this.k),d=e.gc(this.k);this.xh=q;if(d&&c){P.set(a,b);this.fK(P);c=this.KR(P,d);if(c.length)this.xh=c[0].point}};b.prototype.A_=function(){this.zp=q;var a=e.jo(this.k),b=e.gc(this.k);if(b&&a){P.set(0,0);a=this.KR(P,b);if(a.length)this.zp=a[0].point;if(!this.zp)this.zp= (new THREE.Vector3).setFromMatrixPosition(b.matrixWorld);this.j.set("distance",H.setFromMatrixPosition(b.matrixWorld).distanceTo(this.zp));this.r5=this.j.get("distance");this.j.set("x",this.zp.x);this.j.set("y",this.zp.y);this.j.set("z",this.zp.z);this.j.set("easing",0)}};b.prototype.Rz=function(){if(this.zp){this.zp=q;var a=e.gc(this.k);H.setFromMatrixPosition(a.matrixWorld);this.j.set("distance",0);this.j.set("x",H.x);this.j.set("y",H.y);this.j.set("z",H.z);this.j.set("easing",0)}};var w="none", x="dragging",y="rotating",D="rotating yaw dragging y",E="moving front";MODE_ROTATING_AROUND_CAMERA="rotating around camera";MODE_ROTATING_YAW_GESTURE="rotating yaw gesture";MODE_ROTATION_PITCH_GESTURE="rotating pitch gesture";var H=new THREE.Vector3,M=new THREE.Vector3,G=new THREE.Vector3,z=new THREE.Vector3,L=new THREE.Vector3;b.prototype.rl=function(a){if(this.j!=a){if(this.j){if(this.ff){this.ff.dispose();this.ff=q}this.sa=q;A.forEach(function(a){this.j.unbind(f.u(a),this.rpa,this,B)}.bind(this)); N.forEach(function(a){this.j.unbind(f.u(a),this.Sm,this,B)}.bind(this));J.forEach(function(a){this.j.unbind(f.u(a),this.tk,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.sa=new k(this.j);this.uJ();A.forEach(function(a){this.j.bind(f.u(a),this.rpa,this,B)}.bind(this));N.forEach(function(a){this.j.bind(f.u(a),this.Sm,this,B)}.bind(this));J.forEach(function(a){this.j.bind(f.u(a),this.tk,this,B)}.bind(this));this.Sm();this.tk();this.ff=new m(this.k,this.j);this.j.set("userInteracting", B)}}};b.prototype.uJ=function(){if(this.j){this.j.set("fov",this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"))}};b.prototype.Sm=function(){if(this.k&&this.j){var a=this.k.G(j.va,n);a.Pg=this.j.get("x");var b=this.j.get("y")-a.ug;if(Math.abs(b)>O){a.ug=this.j.get("y");this.Kc==w&&!this.gg&&!this.Uf&&!this.hg&&!this.ci&& !this.bi&&!this.Tq&&!this.eg&&this.Hp()}a.Kf=this.j.get("z");a.Je=-this.j.get("yaw");a.lf=this.j.get("pitch");a.mf=0;a.sg="YXZ";a.Ue=0;a.we=0;a.cg=this.j.get("distance");a.vN=this.j.get("easing");(this.j.get("minHeight")!==l||this.j.get("keepHeight"))&&this.F8()}};b.prototype.tk=function(){if(this.k&&this.j)this.k.G(j.PerspectiveCamera,n).fov=this.j.get("fov")};b.prototype.gK=function(a,b,c,d,e){var f=this.k.getComponent(j.va);if(f){U.makeRotationFromEuler(W.set(0,f.Je*C,0,f.sg));Q.set(a,b,c).applyMatrix4(U).multiplyScalar(this.EB); if(this.Jh!==l){this.Jh=this.Jh+Q.y;this.zL()}this.sa.setX(this.j.get("x")+Q.x);this.sa.setY(this.j.get("y")+Q.y);this.sa.setZ(this.j.get("z")+Q.z);this.sa.Nl(this.j.get("yaw")+d);this.sa.us(this.j.get("pitch")+e);this.sa.ti(this.rj)}};b.prototype.KJa=function(a){var b=this.k.getComponent(j.va);if(b){U.makeRotationFromEuler(W.set(b.lf*C,b.Je*C,b.mf*C,b.sg));a.set(0,0,1).applyMatrix4(U)}};b.prototype.JF=function(){this.Ew=c();this.Fi=1;this.Et=this.Ft=this.Ht=this.Gt=this.Dt=0;this.eg=this.BA=this.CA= this.DA=this.zA=this.yA=l};b.prototype.mG=function(a,b,d,e,f){var g=c();this.Fi=g-this.Ew;this.Ew=g;this.Et=a;this.Ft=b;this.Ht=d;this.Gt=e;this.Dt=f};b.prototype.Yna=function(){if(this.Fi){this.BA=this.Et/this.Fi;this.CA=this.Ft/this.Fi;this.DA=this.Ht/this.Fi;this.zA=this.Gt/this.Fi;this.yA=this.Dt/this.Fi;this.eg=1}};b.prototype.rpa=function(){if(this.j.get("minHeight")!==l){this.Jh===l&&this.$U();if(this.Jh!==l&&this.Jh0)return d[0].distance;d=this.KE(Q.set(a,b+1E3,c),V.set(0,-1,0));if(d.length>0)return d[d.length-1].distance-1E3};b.prototype.KE=function(a,b){X.ray.origin.copy(a);X.ray.direction.copy(b);return X.intersectObjects(this.Nw(),B)};b.prototype.KR=function(a,b){X.setFromCamera(a,b);return X.intersectObjects(this.Nw(), B)};b.prototype.Nw=function(){var a=this.k&&e.jo(this.k);if(!a)return[];var b=[];a.traverse(function(a){!a.isSprite&&!a.isLine&&b.push(a)});return b};b.prototype.qm=function(a){a.set(0,0,0);if(this.j){a.applyMatrix4(U.makeTranslation(0,0,this.j.get("distance")));a.applyMatrix4(U.makeRotationFromEuler(W.set(this.j.get("pitch")*C,-this.j.get("yaw")*C,0*C,"YXZ")));a.applyMatrix4(U.makeTranslation(this.j.get("x"),this.j.get("y"),this.j.get("z")))}};b.prototype.HDa=function(a){if(this.j){U.makeRotationFromEuler(W.set(this.j.get("pitch")* C,-this.j.get("yaw")*C,0,"YXZ"));a.set(0,0,-1).applyMatrix4(U)}else a.set(0,0,-1)};var K=[i.Iq,i.rq,i.Ja,i.Xa,i.As,i.tD,i.ZC,i.yD,i.sD,i.E],A=["minHeight"],N=["minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minX","maxX","x","minY","maxY","y","minZ","maxZ","z","distance","easingSpeed"],J=["minFov","maxFov","fov"],C=Math.PI/180,F=180/Math.PI,O=1.0E-6,U=new THREE.Matrix4,Q=new THREE.Vector3(0,0,0),V=new THREE.Vector3(0,0,0),P=new THREE.Vector2(0,0),W=new THREE.Euler,X=new THREE.Raycaster;b.prototype.dispose= function(){this.Rz();this.rl(q);this.I3();this.cK();this.u4()};b.yc=function(a){a.C(j.Ks).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(j.Ks);b.manager.dispose();b.manager=q;a.ga(j.Ks)};b.update=function(a){a.getComponent(j.Ks).manager.update()};b.frame=function(a,b,c){a.getComponent(j.Ks).manager.frame(b,c)};var Y=[];b.pO=function(a){Y=[];a.forEach(function(a){Y.indexOf(a.R)<0&&Y.push(a.R)})};return b}); define("ns","require,kG,nU,bm,fm,ku,nk,np,of,x,cv,bc".split(","),function(a){function b(a){this.k=a;this.H3(v);this.bK();this.t4(a);this.nk=new THREE.Matrix4;this.cG=0.05;this.rj=0.25;this.gg=this.Uf=this.hg=this.ci=this.bi=0;this.BA=this.CA=this.DA=this.zA=this.yA=this.Ew=this.Fi=this.Et=this.Ft=this.Ht=this.Gt=this.Dt=l;this.i3=1E3;this.Mma=720;this.Hoa=4;this.Iia=720;this.J3=2;this.sa=this.ff=q;this.Kx(r.jz);this.update()}var d=a("kG"),c=a("nU"),g=a("bm"),f=a("fm"),i=a("ku"),e=a("nk"),j=a("np"), o=a("of"),k=a("x"),m=a("cv"),r=a("bc");d.WB(b,[i,o,k,m]);b.prototype.update=function(){var a=this.k.getComponent(f.qD);this.rl(a&&a.Fb);this.s4(a&&a.Fb,"moving");var b=y.indexOf(this.k.R)==-1&&a.enabled;this.TF(a&&(b?a.Zp:q));this.GJ(!!a&&b&&a.ns);b||this.ZA();if(!b||!a.ns)this.ci=this.bi=this.gg=this.Uf=this.hg=0};b.prototype.frame=function(a,b){this.ff&&this.ff.frame(a,b);if(this.eg){this.eg=Math.max(0,this.eg-a/this.i3);this.sa.setX(this.j.get("x")+this.BA*this.eg);this.sa.setY(this.j.get("y")+ this.CA*this.eg);this.sa.setZ(this.j.get("z")+this.DA*this.eg);this.sa.Nl(this.j.get("yaw")+this.zA*this.eg);this.sa.us(this.j.get("pitch")+this.yA*this.eg);this.k.R.ob()}if(this.ci||this.bi||this.gg||this.Uf||this.hg){var c=a/1E3;this.gK(this.gg*c,this.Uf*c,this.hg*c,this.ci*c,this.bi*c)}this.t8()};b.prototype.fF=function(){this.l8()};b.prototype.l8=function(){this.ci=this.bi=this.hg=this.Uf=this.gg=0;var a=this.td[g.As]?1:this.td[g.ZC]?-1:0,b=this.td[g.yD]?1:this.td[g.tD]?-1:0,c=this.td[g.sD]?1: this.td[g.E]?-1:0,d=this.td[g.Iq]?1:this.td[g.rq]?-1:0,e=this.td[g.Ja]?1:this.td[g.Xa]?-1:0;if(a||b||c||d||e){var f=this.Pi?0.2:1;if(a)this.gg=-a*f*this.J3*this.j.get("translationSpeed");if(c)this.Uf=-c*f*this.J3*this.j.get("translationSpeed");if(b)this.hg=-b*f*this.J3*this.j.get("translationSpeed");if(e)this.ci=e*f*this.Iia*this.j.get("rotationSpeed");if(d)this.bi=-d*f*this.Iia*this.j.get("rotationSpeed");this.k.R.ob()}};b.prototype.WS=function(){this.Kx(r.Ek);this.Xh=n;this.Ew=(new Date).getTime(); this.Fi=1;this.Et=this.Ft=this.Ht=this.Gt=this.Dt=0;this.eg=this.BA=this.CA=this.DA=this.zA=this.yA=l;this.k.R.ob()};b.prototype.jF=function(a,b){if(this.Xh){var c=(a*a+b*b)/2500,c=c>1?1/Math.sqrt(c):1,a=a*c,b=b*c,c=(new Date).getTime();this.Fi=c-this.Ew;this.Ew=c;this.Et=this.Ft=this.Ht=this.Gt=this.Dt=0;c=this.wS;this.Pi&&(c=!c);if(c){this.Gt=+a*this.j.get("rotationSpeed")*this.Mma/this.Kt();this.Dt=-b*this.j.get("rotationSpeed")*this.Mma/this.Kt();this.Lma(this.Gt,this.Dt)}else{this.qha(a*this.Hoa/ this.Kt(),b*this.Hoa/this.Kt(),t);this.Et=t.x;this.Ft=t.y;this.Ht=t.z;this.O7(this.Et,this.Ft,this.Ht)}this.sa.ti(this.rj)}};b.prototype.qha=function(a,b,c){var d=this.k.getComponent(f.va);c.set(-a*this.j.get("translationSpeed"),+b*this.j.get("translationSpeed"),0*this.j.get("translationSpeed"));c.applyMatrix4(u.makeRotationFromEuler(s.set(d.lf*p,d.Je*p,d.mf*p,d.sg)));c.multiplyScalar(this.j.get("distance"))};b.prototype.ZA=function(){this.qL(r.Ek);if(this.Xh){this.Xh=B;if(this.Fi){this.BA=this.Et/ this.Fi;this.CA=this.Ft/this.Fi;this.DA=this.Ht/this.Fi;this.zA=this.Gt/this.Fi;this.yA=this.Dt/this.Fi;this.eg=1;this.sa.ti(this.rj)}this.Ew=l}};b.prototype.ZS=function(a){this.sa.GC(this.j.get("distance")-a*this.j.get("distance")*this.j.get("translationSpeed"));this.sa.ti(this.cG)};b.prototype.bka=function(){this.mia=this.j.get("distance");this.Xh=B};b.prototype.aka=function(a,b,c){this.qha(a/this.Kt(),b/this.Kt(),t);this.O7(t.x,t.y,t.z);this.sa.GC(this.mia/c);this.sa.ti(this.rj)};b.prototype.KS= function(){this.mia=this.j.get("distance")};b.prototype.gK=function(a,b,c,d,e){var g=this.k.getComponent(f.va);if(g){u.makeRotationFromEuler(s.set(0,g.Je*p,0,g.sg));t.set(a,b,c).applyMatrix4(u).multiplyScalar(this.j.get("distance"));this.O7(t.x,t.y,t.z);this.Lma(d,e);this.sa.ti(this.rj)}};b.prototype.O7=function(a,b,c){this.sa.setX(this.j.get("x")+a);this.sa.setY(this.j.get("y")+b);this.sa.setZ(this.j.get("z")+c)};b.prototype.Lma=function(a,b){this.sa.Nl(this.j.get("yaw")+a);this.sa.us(this.j.get("pitch")+ b)};b.prototype.rl=function(a){if(this.j!=a){if(this.j){if(this.ff){this.ff.dispose();this.ff=q}this.sa=q;w.forEach(function(a){this.j.unbind(c.u(a),this.Sm,this,B)}.bind(this));x.forEach(function(a){this.j.unbind(c.u(a),this.tk,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.j.set("userInteracting",B);this.sa=new e(this.j);this.uJ();w.forEach(function(a){this.j.bind(c.u(a),this.Sm,this,B)}.bind(this));x.forEach(function(a){this.j.bind(c.u(a),this.tk,this,B)}.bind(this));this.Sm(); this.tk();this.ff=new j(this.k,this.j)}}};b.prototype.uJ=function(){if(this.j){this.j.set("fov",this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"));this.j.set("distance",this.j.get("initialDistance"));this.j.set("easing",this.rj)}};b.prototype.Sm=function(){if(this.k&&this.j){var a=this.k.G(f.va,n);a.Pg=this.j.get("x"); a.ug=this.j.get("y");a.Kf=this.j.get("z");a.Je=-this.j.get("yaw");a.lf=this.j.get("pitch");a.mf=0;a.sg="YXZ";a.Ue=0;a.we=0;a.cg=this.j.get("distance");a.vN=this.j.get("easing")}};b.prototype.tk=function(){if(this.k&&this.j)this.k.G(f.PerspectiveCamera,n).fov=this.j.get("fov")};var p=Math.PI/180,t=new THREE.Vector3(0,1,0),s=new THREE.Euler,u=new THREE.Matrix4,v=[g.Iq,g.rq,g.Ja,g.Xa,g.As,g.tD,g.ZC,g.yD,g.sD,g.E],w=["easing","minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minDistance","maxDistance", "distance","minX","maxX","x","minY","maxY","y","minZ","maxZ","z"],x=["minFov","maxFov","fov"];b.prototype.dispose=function(){this.rl(q);this.I3();this.cK();this.u4()};b.yc=function(a){a.C(f.Ss).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(f.Ss);b.manager.dispose();b.manager=q;a.ga(f.Ss)};b.update=function(a){a.getComponent(f.Ss).manager.update()};b.frame=function(a,b,c){a.getComponent(f.Ss).manager.frame(b,c)};var y=[];b.pO=function(a){y=[];a.forEach(function(a){y.indexOf(a.R)<0&&y.push(a.R)})}; return b}); define("ji","require,kG,kR,fm,dF,bU,ns".split(","),function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("dF"),f=a("bU"),i=a("ns"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(a,b){this.qra.entities.length&&this.qra.entities.slice().forEach(f.yc);this.yN.Ra.length&&this.yN.Ra.slice().forEach(f.update);this.yN.entities.length&&this.yN.entities.slice().forEach(function(c){f.frame(c,a,b)});this.rra.entities.length&&this.rra.entities.slice().forEach(f.Kb);this.lra.entities.length&&this.lra.entities.slice().forEach(g.yc); this.xN.Ra.length&&this.xN.Ra.slice().forEach(g.update);this.xN.entities.length&&this.xN.entities.slice().forEach(function(c){g.frame(c,a,b)});this.mra.entities.length&&this.mra.entities.slice().forEach(g.Kb);this.Wta.entities.length&&this.Wta.entities.slice().forEach(i.yc);this.bO.Ra.length&&this.bO.Ra.slice().forEach(i.update);this.bO.entities.length&&this.bO.entities.slice().forEach(function(c){i.frame(c,a,b)});this.Xta.entities.length&&this.Xta.entities.slice().forEach(i.Kb);if(this.uN.ag.length|| this.uN.Ym.length){g.pO(this.uN.entities);this.xN.entities.slice().forEach(g.update);f.pO(this.uN.entities);this.yN.entities.slice().forEach(f.update);i.pO(this.uN.entities);this.bO.entities.slice().forEach(i.update)}};a.A={};a.A.uN=[c.Kv];a.A.lra=[c.cD,c.Is.not];a.A.xN=[c.cD,c.Is];a.A.mra=[c.cD.not,c.Is];a.A.qra=[c.dD,c.Ks.not];a.A.yN=[c.dD,c.Ks];a.A.rra=[c.dD.not,c.Ks];a.A.Wta=[c.qD,c.Ss.not];a.A.bO=[c.qD,c.Ss];a.A.Xta=[c.qD.not,c.Ss];return a}); define("im",["require","fm"],function(a){function b(a){this.k=a;this.Wna=this.da=q;this.ja=this.Z=l;this.update()}var d=a("fm");b.prototype.update=function(){var a=this.k.getComponent(d.Zi),b=a.source&&a.source.width||0,f=a.source&&a.source.height||0;if(this.da&&(!!this.da.UVa!=a.isSprite||this.Z!=b||this.ja!=f))this.da.map.dispose(),this.da.dispose(),this.da=q;this.Z=b;this.ja=f;this.da||(a.isSprite?(this.da=new THREE.SpriteMaterial,this.da.sizeAttenuation=B):this.da=new THREE.MeshBasicMaterial, this.da.map=new THREE.Texture,this.da.transparent=n,this.k.C(d.Material).material=this.da);this.da.map.image!=a.source&&(this.da.map.image=a.source,this.da.map.needsUpdate=n);this.Wna!=a.PX&&(this.Wna=a.PX,this.da.map.needsUpdate=n);this.da.opacity=a.opacity||0;this.da.depthTest=!!a.depthTest;this.da.visible=00);if(b!=0)if((b=f.gc(this.ml))&&b.isCamera){i.setFromMatrixPosition(b.matrixWorld);e.set(this.Bc,this.Cc,0);this.fK(e);e.unproject(b);e.sub(i);for(b=0;b=0&&b.splice(c,1);w["delete"](a);a.ga(g.Jv);a.ga(g.Kv)};return b}); define("ko",["require","kG","kR","fm","km"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("km"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.hO.entities.length&&this.hO.entities.slice().forEach(g.$aa);this.mv.Ra.length&&this.mv.Ra.slice().forEach(g.sba);this.mv.entities.length&&this.mv.entities.slice().forEach(g.frame);this.iO.entities.length&&this.iO.entities.slice().forEach(g.jba);this.cra.entities.length&&this.cra.entities.slice().forEach(g.mTa);this.bra.entities.length&& this.bra.entities.slice().forEach(g.lwa);this.era.entities.length&&this.era.entities.slice().forEach(g.Rva);this.fra.entities.length&&this.fra.entities.slice().forEach(g.Rva)};a.A={};a.A.hO=[c.Go,c.Us.not];a.A.mv=[c.Go,c.Us];a.A.iO=[c.Go.not,c.Us];a.A.cra=[c.Object3D,c.uo,c.Jv.not];a.A.bra=[c.Object3D,c.uo,c.Jv];a.A.era=[c.Object3D.not,c.Jv];a.A.fra=[c.uo.not,c.Jv];return a}); define("kg",["require","fm","cf"],function(a){function b(a){this.k=a;this.F5=B}var d=a("fm"),c=a("cf");b.prototype.update=function(){this.F5=B};b.prototype.frame=function(){this.tf()};b.prototype.tf=function(){if(!this.F5&&(this.xa=this.xa||c.jo(this.k))){var a=c.gc(this.k),b=a&&a.parent;if(b&&b.matrixWorld){var t=[];this.xa.traverse(function(b){!b.isSprite&&!b.isLine&&b!=a&&t.push(b)});var s=this.k.G(d.Js);k.set(s.x,s.y,s.z).applyMatrix4(b.matrixWorld);o.ray.origin.set(k.x,k.y,k.z);o.ray.direction.set(0, -1,0);var u=o.intersectObjects(t,B);if(0!=u.length){var v=u[0];i.copy(b.matrixWorld).invert();u=this.k.G(d.va,n);e.setFromMatrixPosition(b.matrixWorld);g.copy(v.object.matrixWorld);j.setFromMatrixPosition(g);f.copy(g).invert();!s.ON&&v.face&&v.face.normal?to.copy(v.face.normal).applyMatrix4(g).sub(j).add(e):to.copy(e).add(up);to.applyMatrix4(i).normalize();quaternion.setFromUnitVectors(from,to);euler.setFromQuaternion(quaternion,u.sg);u.lf=euler.x*TO_DEG;u.Je=euler.y*TO_DEG;u.mf=euler.z*TO_DEG;k.copy(v.point).applyMatrix4(i); u.Pg=k.x;u.ug=k.y;u.Kf=k.z;m.setFromMatrixScale(i);b=Math.max(m.x,m.y,m.z);u.Ue=0;u.we=0;u.cg=b*s.distance;this.F5=n}}}};b.prototype.dispose=I();var g=new THREE.Matrix4,f=new THREE.Matrix4,i=new THREE.Matrix4,e=new THREE.Vector3,j=new THREE.Vector3,o=new THREE.Raycaster,k=new THREE.Vector3,m=new THREE.Vector3;new THREE.Matrix4;matrix4b=new THREE.Matrix4;from=new THREE.Vector3(0,0,1);to=new THREE.Vector3;up=new THREE.Vector3(0,1,0);euler=new THREE.Euler;quaternion=new THREE.Quaternion;TO_RAD=Math.PI/ 180;TO_DEG=180/Math.PI;b.yc=function(a){a.C(d.vq).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(d.vq);b.manager.dispose();b.manager=q;a.ga(d.vq)};b.frame=function(a){a.getComponent(d.vq).manager.frame()};b.update=function(a){a.getComponent(d.vq).manager.update()};return b}); define("ho",["require","kG","kR","fm","kg"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("kg"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.nra.entities.length&&this.nra.entities.slice().forEach(g.yc);this.nW.Ra.length&&this.nW.entities.slice().forEach(g.update);this.nW.entities.length&&this.nW.entities.slice().forEach(g.frame);this.ora.entities.length&&this.ora.entities.slice().forEach(g.Kb);this.pra.entities.length&&this.pra.entities.slice().forEach(g.Kb)}; a.A={};a.A.nra=[c.Object3D,c.Js,c.vq.not];a.A.nW=[c.Object3D,c.Js,c.vq];a.A.ora=[c.Object3D.not,c.vq];a.A.pra=[c.Js.not,c.vq];return a});define("fj",["require","fm"],function(a){var b=a("fm");return{yc:function(a){var c=a.C(b.hD),g=a.C(b.Object3D);a.C(b.va);a=a.G(b.Group);g.Yc=c.group=a.group=new THREE.Group},Kb:function(a){a.getComponent(b.hD).group=q;a.ga(b.hD);a.ga(b.Object3D)}}}); define("kL",["require","kG","kR","fm","fj"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("fj"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.fsa.entities.length&&this.fsa.entities.slice().forEach(g.yc);this.gsa.entities.length&&this.gsa.entities.slice().forEach(g.Kb)};a.A={};a.A.fsa=[c.Group,c.hD.not];a.A.gsa=[c.Group.not,c.hD];return a}); define("nP",["require","nU","gE"],function(a){function b(a,b){this.pd=a;this.fc=b;this.ub=B;this.f_();this.i_();this.YA()}var d=a("nU"),c=a("gE");b.prototype.clear=function(){this.b6();this.h6();this.pd.set("state",c.L);this.fc=this.pd=q};b.prototype.Jf=function(a){this.ub!=a&&(this.ub=a,this.Lr())};b.prototype.YA=function(){this.fc.zd(this.pd.get("state"))};b.prototype.yK=function(){this.Lr()};b.prototype.AK=function(){this.fc.Caa(this.pd.get("frameDuration"))};b.prototype.zK=function(){this.fc.Yua("first"== this.pd.get("finalFrame"))};b.prototype.wK=function(){this.pd.trigger(d.Ik)};b.prototype.vK=function(){this.pd.trigger(d.Ha)};b.prototype.xK=function(){this.pd.set("state",this.fc.pg())};b.prototype.Lr=function(){this.pd.get("autoplay")&&this.fc.zd(this.ub?c.S:c.L)};b.prototype.f_=function(){this.pd.bind(d.u("state"),this.YA,this,n);this.pd.bind(d.u("autoplay"),this.yK,this,n);this.pd.bind(d.u("frameDuration"),this.AK,this,n);this.pd.bind(d.u("finalFrame"),this.zK,this,n)};b.prototype.b6=function(){this.pd.unbind(d.u("state"), this.YA,this,n);this.pd.unbind(d.u("autoplay"),this.yK,this,n);this.pd.unbind(d.u("frameDuration"),this.AK,this,n);this.pd.unbind(d.u("finalFrame"),this.zK,this,n)};b.prototype.i_=function(){this.fc.bind(d.Ik,this.wK,this,n);this.fc.bind(d.Ha,this.vK,this,n);this.fc.bind(d.Gc,this.xK,this,n)};b.prototype.h6=function(){this.fc.unbind(d.Ik,this.wK,this,n);this.fc.unbind(d.Ha,this.vK,this,n);this.fc.unbind(d.Gc,this.xK,this,n)};return b}); define("et",["require","nU","eQ","bf","nP"],function(a){function b(a,b,e,j){this.ee=a;this.Ob=b;this.kb=e;this.wa=j.bind(this);c.za("AnimatedImageResource",this.ee)?(this.fc=new g(this.Ob,this.ee.get("rowCount",1),this.ee.get("colCount",1),this.ee.get("frameDuration"),this.ee.get("frameCount",this.ee.get("rowCount",1)*this.ee.get("colCount",1)),this.ee.get("repeat"),"first"==this.ee.get("finalFrame")),this.kb.image=this.fc.ng(),this.fc.bind(d.qa,this.rJ,this,n),this.vn=new AnimationPlaybackController(this.ee, this.fc)):this.kb.image=this.Ob;this.kb.needsUpdate=n;this.wa()}var d=a("nU"),c=a("eQ"),g=a("bf");AnimationPlaybackController=a("nP");b.prototype.Jf=function(a){this.vn&&this.vn.Jf(a)};b.prototype.dispose=function(){this.vn&&(this.vn.clear(),this.vn=q);this.fc&&(this.fc.unbind(d.qa,this.rJ,this,n),this.fc.clear(),this.fc=q);this.kb=this.Ob=this.ee=q};b.prototype.rJ=function(){this.kb.needsUpdate=n;this.wa()};return b}); define("ex",["require"],function(){var a={},b=q;a.Ara=function(){if(!b){var a=document.createElement("canvas");a.width=128;a.height=128;a.getContext("2d").clearRect(0,0,a.width,a.height);b=a}return b};return a}); define("jr","require,jU,nU,cs,eQ,ck,kC,et,ex,fm,nx,bC,iU".split(","),function(a){function b(a){this.k=a;this.vB=this.vB.bind(this);this.wa=this.wa.bind(this);this.Bj=this.Bj.bind(this);a=a.getComponent(k.Ls);this.di=a.kH;this.Xd=a.La;this.j=a.Fb;this.ee=a.Gsa;this.KFa=a.isSprite;this.Gf=B;this.lm=this.jb=q;this.Vq=0;this.Y0=this.eb=this.lE=this.N=l;d.pa(this.j,t,this.vB,B);d.pa(this.ee,s,this.vB,B);d.pa(this.j,u,this.Bj,B);this.vB()}var d=a("jU"),c=a("nU"),g=a("cs"),f=a("eQ"),i=a("ck"),e=a("kC"), j=a("et"),o=a("ex"),k=a("fm"),m=a("nx"),r=a("bC"),p=a("iU"),t=["height","scaleMode","width"],s=["levels.url","levels.width","levels.height"],u=["depthTest","enabled","encoding","hidden","opacity"];b.prototype.frame=function(a){if(this.lm){this.lm.xb(a);this.Vq=this.lm.gb("alpha");this.s8();if(this.lm.Te())this.lm=q;this.k.R.ob()}if(this.Gf)this.Gf=B};b.prototype.vB=function(){var a=this.ee&&this.ee.get("levels")||[],a=a.filter(function(a){return!!a.get("url")}),b=1,c=1;if(f.za("AnimatedImageResource", this.ee)){b=this.ee.get("rowCount");c=this.ee.get("colCount")}var d=q;if(a.length>0){a.sort(function(a,b){return b.get("width")-a.get("width")});var d=this.j.get("width"),e=this.j.get("height"),g=this.j.get("scaleMode","fill"),i=a[0].get("width")/c,o=a[0].get("height")/b,j=p.yW(d,e,i,o,g),d=a.reduce(function(a,d){return!a||a.get("width")>d.get("width")&&d.get("width")/c>=j.width&&d.get("height")/b>=j.height?d:a})}this.PL(d)};b.prototype.PL=function(a){if(this.jb!=a){if(this.jb){this.kCa();this.c1(); this.IQ();this.Zo();this.Gf=B}if(this.jb=a){this.Uo();this.Xz();this.HI();this.Gf=B;this.wa()}}};b.prototype.HI=function(){if(!this.jd){this.jd=new i;this.jd.CO([this.jb.get("url")]);this.jd.bind(c.U,this.cd,this,n);this.jd.bind(c.ic,this.rka,this,n);this.jd.bind(c.Ac,this.sf,this,n);this.sr=this.k.getComponent(k.Ls).Ge;e.lo(this.jd,this.sr)}};b.prototype.Zo=function(){if(this.jd){this.jd.unbind(c.U,this.cd,this,n);this.jd.unbind(c.ic,this.rka,this,n);this.jd.unbind(c.Ac,this.sf,this,n);e.Mj(this.jd, this.sr);this.jd=q}};b.prototype.cd=function(){this.TBa();this.S7(new g(c.U))};b.prototype.rka=function(a){this.S7(new g(c.ic,{percent:a.Lg}))};b.prototype.sf=function(){this.S7(new g(c.Ac))};b.prototype.S7=function(a){this.di&&this.di.trigger(a)};b.prototype.wa=function(){if(!this.Gf){this.Gf=n;this.k.R.ob()}};b.prototype.Uo=function(){this.kb=new THREE.Texture;this.kb.image=o.Ara();this.kb.generateMipmaps=n;this.kb.minFilter=THREE.LinearMipMapLinearFilter};b.prototype.IQ=function(){if(this.kb){this.kb.dispose(); this.kb=q}};b.prototype.Xz=function(){if(this.KFa){this.da=new THREE.SpriteMaterial({map:this.kb});this.da.sizeAttenuation=B;this.da.transparent=n;this.da.visible=0;this.da.opacity=0;this.da.needsUpdate=n;this.k.C(k.Material).material=this.da}this.Bj(n)};b.prototype.Bj=function(a){var b=this.j.get("enabled")&&!this.j.get("hidden")&&!!this.Zn,d=this.N!==b;if(d||a){this.N=b;var b=this.Vq,e=this.N?1:0;this.lm=b!==e?new m("linear",[new r("alpha",b,e,l)],Math.abs(b-e)*200):q;this.s8()}b=this.j.get("encoding"); if(this.lE!==b||a){this.lE=b;this.dNa()}b=this.j.get("depthTest");if(this.Y0!==b||a){this.Y0=b;this.FMa()}b=this.j.get("opacity");if(this.eb!==b||a){this.eb=b;this.s8()}d&&this.Xd&&this.Xd.trigger(this.N?c.jc:c.pc)};b.prototype.dNa=function(){if(this.da&&(this.da.map||this.da.emissiveMap)){var a=this.lE=="srgb"?THREE.sRGBEncoding:THREE.LinearEncoding;if(this.da.map)this.da.map.encoding=a;if(this.da.emissiveMap)this.da.emissiveMap.encoding=a;this.da.needsUpdate=n}this.wa()};b.prototype.FMa=function(){if(this.da)this.da.depthTest= this.Y0;this.wa()};b.prototype.s8=function(){if(this.da){this.da.opacity=this.eb*this.Vq;this.da.visible=this.da.opacity>0;if(this.da.isShaderMaterial&&this.da.uniforms.opacity)this.da.uniforms.opacity.value=this.eb*this.Vq}this.Zn&&this.Zn.Jf(this.eb>0);this.wa()};b.prototype.c1=function(){if(this.da){this.da.dispose();this.da=q;this.k.ga(k.Material)}};b.prototype.TBa=function(){this.Zn=new j(this.ee,e.jf(this.jb.get("url")),this.kb,this.wa);this.Bj(n)};b.prototype.kCa=function(){if(this.Zn){this.Zn.dispose(); this.Zn=q}};b.prototype.dispose=function(){this.PL(q);d.na(this.j,t,this.vB);d.na(this.ee,s,this.vB);d.na(this.j,u,this.Bj);this.k=this.di=this.ee=this.j=q};b.yc=function(a){a.C(k.Ov).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(k.Ov);b.manager.dispose();b.manager=q;a.ga(k.Ov)};b.frame=function(a,b){a.getComponent(k.Ov).manager.frame(b)};return b}); define("lP",["require","kG","kR","fm","jr"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("jr"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(a,b){this.Hl.entities.length&&this.Hl.entities.slice().forEach(g.yc);this.Il.entities.length&&this.Il.entities.slice().forEach(g.Kb);this.materials.entities.length&&this.materials.entities.slice().forEach(function(c){g.frame(c,a,b)})};a.A={};a.A.Hl=[c.Ls,c.Ov.not];a.A.materials=[c.Ls,c.Ov];a.A.Il=[c.Ls.not,c.Ov];return a}); define("I",["require","mR","fm"],function(a){function b(a){this.k=a;this.da=q;this.update()}var d=a("mR"),c=a("fm");b.prototype.update=function(){this.da||(this.da=new THREE.LineBasicMaterial,this.da.transparent=n,this.k.C(c.Material).material=this.da);var a=this.k.getComponent(c.bj);this.da.color=new THREE.Color(d.PC(a.color||"#ffffff"));this.da.lineWidth=a.width||1;this.da.opacity=a.opacity||0;this.da.depthTest=!!a.depthTest;this.da.visible=00&&a.Fb.get("castShadow");var d=a.Nd.castShadow?a.Fb.get("shadowMapSize"): 16;if(d!=a.Nd.shadow.mapSize.width){a.Nd.shadow.dispose();a.Nd.shadow=a.Nd.shadow.clone();a.Nd.shadow.mapSize.width=a.Nd.shadow.mapSize.height=d}a.Nd.shadow.radius=a.Fb.get("shadowRadius");a.Nd.shadow.bias=a.Fb.get("shadowBias");this.Epa()}a.Nd.color=new THREE.Color(i.PC(a.Fb.get("color")));a.Nd.intensity=a.Fb.get("intensity");a.Nd.visible=a.Nd.intensity>0;a=this.k.getComponent(c.Hb);if(!a||a.Qb!=b){a=this.k.G(c.Hb,n);a.Qb=b}};var o=new THREE.Box3,k=new THREE.Vector3;b.prototype.frame=function(){this.Epa()}; b.prototype.Epa=function(){var a=this.k&&this.k.getComponent(c.Light);if(a&&a.Nd&&a.Nd.castShadow){var b=g.gc(a.target),d=a.Nd.shadow.camera,e=this.m0(b,o),b=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;near=bottom=Number.POSITIVE_INFINITY;far=Number.NEGATIVE_INFINITY;for(var j=0;j<2;j++)for(var m=0;m<2;m++)for(var y=0;y<2;y++){k.set(j==0?e.min.x:e.max.x,m==0?e.min.y:e.max.y,y==0?e.min.z:e.max.z).applyMatrix4(d.matrixWorldInverse);if(k.xf)f=k.x;if(k.y> i)i=k.y;if(k.yfar&&(far=-k.z);-k.z0;a.material.needsUpdate=n}}if(d.envMapIntensity!==l){d=d.envMapIntensity*(c===l?1:c);if(a.material.envMapIntensity!==d){this.Hga(a);a.material.envMapIntensity=d;a.material.needsUpdate=n}}}a.children&&a.children.forEach(function(a){a.userData.gQa=b;a.userData.fQa=c;this.S5(a)}.bind(this))}; a.prototype.Hga=function(a){if(a.userData.kv===l){a.userData.kv=a.material;a.material=a.material.clone()}};a.prototype.hU=function(a){if(a.userData.kv!==l){a.material=a.userData.kv;delete a.userData.kv}};a.prototype.jha=function(a){var b=a.userData.Vta,a=a.userData.gQa;if(!(a===l&&b===l)){b=(a!==l?a:1)*(b!==l?b:1);return b===1?l:b}};a.prototype.tDa=function(a){var b=a.userData.envMapIntensity,a=a.userData.fQa;if(!(a===l&&b===l)){b=(a!==l?a:1)*(b!==l?b:1);return b===1?l:b}};a.prototype.Kd=function(a, b){var c=this.jha(a);if(c!==l){c=c>0;if(a.userData.gUa!==c){a.userData.gUa=c;b.La&&b.La.trigger(c?d.jc:d.pc)}}};a.A={};a.A.sta=[g.yq,g.Object3D,g.Tv.not];a.A.rta=[g.yq,g.Object3D,g.Tv];a.A.tta=[g.yq.not,g.Tv];a.A.uta=[g.Object3D.not,g.Tv];return a}); define("nN",["require","nU","fm","cf"],function(a){function b(a){this.k=a;this.Rpa=this.$q=this.Wc=q;this.sG=-1}a("nU");var d=a("fm");a("cf");b.prototype.frame=function(){if(!this.$q&&(this.$q=this.k.getComponent(d.zg).n$)){var a=this.$q.userData&&this.$q.userData.gltfExtensions&&this.$q.userData.gltfExtensions.KHR_materials_variants;this.Rpa=a&&a.variants||[];this.update()}};b.prototype.update=function(){var a=this.k.getComponent(d.Os).name,b=this.Rpa.findIndex(function(b){return b.name==a}),f=this.$q.scene; this.Wc!=f?(this.Wc&&this.Hma(this.Wc),this.Wc=f,this.sG=b,this.Wc&&this.Kna(this.Wc,this.sG)):this.sG!=b&&(this.sG=b,this.Wc&&this.Kna(this.Wc,this.sG));this.k.R.ob()};b.prototype.Hma=function(a){this.Aea(a,-1)};b.prototype.Kna=function(a,b){this.ZFa(a,b,function(){this.Wc==a&&this.sG==b&&this.Aea(a,b)}.bind(this))};b.prototype.ZFa=function(a,b,d){var i=[];a.traverse(function(a){var c=a.isMesh&&a.userData.gltfExtensions&&a.userData.gltfExtensions.KHR_materials_variants;if(c=c&&c.mappings)a.userData.kv|| (a.userData.kv=a.material),a.userData.Jy||(a.userData.Jy={}),(c=c.find(function(a){return a.variants.indexOf(b)!=-1}))&&i.push(this.$q.parser.getDependency("material",c.material).then(function(c){a.userData.Jy[b]||(a.userData.Jy[b]=c)}))}.bind(this));Promise.all(i).then(function(){d(a,b)})};b.prototype.Aea=function(a,b){a.traverse(function(a){if(a.userData.Jy){var c=a.userData.Jy[b];c?(a.material=c,this.$q.parser.assignFinalMaterial(a)):a.material=a.userData.kv}}.bind(this));this.k.R.ob()};b.prototype.dispose= function(){this.Wc&&(this.Hma(this.Wc),this.Wc=q)};b.yc=function(a){a.C(d.Eo).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(d.Eo);b.manager.dispose();b.manager=q;a.ga(d.Eo)};b.update=function(a){a.getComponent(d.Eo).manager.update()};b.frame=function(a){a.getComponent(d.Eo).manager.frame()};return b}); define("hd",["require","kG","kR","fm","nN"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("nN"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.wta.entities.length&&this.wta.entities.slice().forEach(g.yc);this.gX.entities.length&&this.gX.entities.slice().forEach(g.frame);this.gX.Ra.length&&this.gX.Ra.slice().forEach(g.update);this.xta.entities.length&&this.xta.entities.slice().forEach(g.Kb);this.yta.entities.length&&this.yta.entities.slice().forEach(g.Kb); this.zta.entities.length&&this.zta.entities.slice().forEach(g.Kb)};a.A={};a.A.wta=[c.Os,c.zg,c.Object3D,c.Eo.not];a.A.gX=[c.Os,c.zg,c.Object3D,c.Eo];a.A.xta=[c.Os.not,c.Eo];a.A.yta=[c.Object3D.not,c.Eo];a.A.zta=[c.zg.not,c.Eo];return a}); define("hr",["require","fm"],function(a){var b=a("fm");return{yc:function(a){var c=a.C(b.zq);a.C(b.va);var g=a.G(b.Mesh);a.C(b.Object3D).Yc=c.mo=g.mo=new THREE.Mesh(a.getComponent(b.Geometry).geometry,a.getComponent(b.Material).material);g.mo.renderOrder=g.renderOrder},update:function(a){var c=a.G(b.zq);c.mo.geometry=a.getComponent(b.Geometry).geometry;c.mo.material=a.getComponent(b.Material).material;c.mo.renderOrder=a.getComponent(b.Mesh).renderOrder},Kb:function(a){a.getComponent(b.zq).mo=q;a.ga(b.zq); a.ga(b.Object3D)}}}); define("fe",["require","kG","kR","fm","hr"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("hr"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.Dta.entities.length&&this.Dta.entities.slice().forEach(g.yc);this.Cta.Ra.length&&this.Cta.Ra.slice().forEach(g.update);this.hX.entities.length&&this.hX.entities.slice().forEach(g.Kb);this.LQa.entities.length&&this.hX.entities.slice().forEach(g.Kb);this.MQa.entities.length&&this.hX.entities.slice().forEach(g.Kb)};a.A= {};a.A.Dta=[c.Mesh,c.Geometry,c.Material,c.zq.not];a.A.Cta=[c.Mesh,c.Geometry,c.Material,c.zq];a.A.hX=[c.Mesh.not,c.zq];a.A.LQa=[c.Geometry.not,c.zq];a.A.MQa=[c.Material.not,c.zq];return a}); define("om",["require","kG","nU","fQ"],function(a){function b(a){this.Qqa=a;this.Lg=0;this.N9=B}var d=a("kG"),c=a("nU"),g=a("fQ"),a=d.extend(g,function(a){g.call(this);this.um=new Map;this.nE=a||this});a.prototype.bSa=function(a){if(this.nE=a)this.Cj(),this.p8()};a.prototype.Pqa=function(){this.um.forEach(function(a,b){this.$T(b)}.bind(this));this.um=new Map};a.prototype.El=function(){var a=0;this.um.forEach(function(b){b.N9&&a++});return a==this.um.size};a.prototype.dispose=function(){this.Pqa(); this.nE=this.um=q};a.prototype.iN=function(a,c){if(!this.um.has(a))return this.um.set(a,new b(c||1)),this.Iya(a),a};a.prototype.vX=function(a){this.um.has(a)&&(this.um["delete"](a),this.$T(a))};a.prototype.$B=function(a){return this.iN(new g,a)};a.prototype.cd=function(a){var a=a.source,b=this.um.get(a);b&&(this.$T(a),b.Lg=100,b.N9=n,this.Cj(),this.p8())};a.prototype.ii=function(a){this.um.get(a.source).Lg=a.data.percent;this.Cj()};a.prototype.sf=function(a){a=a.source;this.$T(a);a=this.um.get(a); a.N9=n;a.Lg=100;this.nE.trigger(c.Ac);this.Cj();this.p8()};a.prototype.Cj=function(){var a=0,b=0;this.um.forEach(function(c){b+=c.Qqa;a+=c.Lg*c.Qqa});this.nE.trigger(c.ic,{percent:a/b})};a.prototype.p8=function(){this.El()&&this.nE.trigger(c.U)};a.prototype.Iya=function(a){a.bind(c.U,this.cd,this,n);a.bind(c.ic,this.ii,this,n);a.bind(c.Ac,this.sf,this,n)};a.prototype.$T=function(a){a.unbind(c.U,this.cd,this,n);a.unbind(c.ic,this.ii,this,n);a.unbind(c.Ac,this.sf,this,n)};return a}); define("jc",["require","nU","mR","fm","cf"],function(a){function b(a){this.k=a;this.j=this.k.getComponent(g.zg).Fb;this.pe=q;this.aR=l;i.forEach(function(a){this.j.bind(d.u(a),this.Ae,this,n)}.bind(this));this.update()}var d=a("nU"),c=a("mR"),g=a("fm"),f=a("cf"),i=["floorColor","floorHeight","floorOpacity","floorRadius"];b.prototype.update=function(){var a=this.j.get("floorColor");if(this.aR!=a&&(!a&&this.pe&&(this.iga(this.pe),this.pe=q),this.aR=a))this.pe||(this.pe=this.uBa()),this.SJa(this.pe, this.aR);a=this.j.get("floorOpacity");this.pe&&this.pe.material.opacity!=a&&(this.pe.material.opacity=a);a=this.j.get("floorHeight");this.pe&&this.pe.position.y!=a&&(this.pe.position.y=a);a=this.j.get("floorRadius");this.pe&&this.pe.scale.x!=a&&(this.pe.scale.x=this.pe.scale.y=this.pe.scale.z=a)};b.prototype.frame=function(){if(this.pe&&!this.pe.parent){for(var a=f.gc(this.k);a&&!a.isScene;)a=a.parent;a&&a.add(this.pe)}};b.prototype.dispose=function(){i.forEach(function(a){this.j.unbind(d.u(a),this.Ae, this,n)}.bind(this));this.pe&&(this.iga(this.pe),this.pe=q)};b.prototype.Ae=function(){this.k.R.ob();this.update()};b.prototype.uBa=function(){var a=new THREE.BoxGeometry(1E3,0.001,1E3),a=new THREE.CircleGeometry(1,128),a=new THREE.Mesh(a);a.receiveShadow=n;a.position.y=0;a.rotation.x=0.5*-Math.PI;a.needsUpdate=n;return a};b.prototype.SJa=function(a,b){var d=a.material;if(d&&(!d.isShadowMaterial&&"transparent"==b||!d.RVa&&"transparent"!=b))d.dispose(),d=q;"transparent"==b?d||(d=new THREE.ShadowMaterial): (d||(d=new THREE.MeshStandardMaterial,d.defines.USE_UV="",d.onBeforeCompile=function(a){var b=a.fragmentShader.lastIndexOf("}");a.fragmentShader=a.fragmentShader.substring(0,b)+"float uvCenterCoef = 2.0 * length(vUv - 0.5);\nfloat uvAlphaCoef = 1.0 - smoothstep(0.97, 1.0, uvCenterCoef);\ngl_FragColor.a = uvAlphaCoef * gl_FragColor.a;\n"+a.fragmentShader.substring(b,a.fragmentShader.length)},d.roughness=1,d.metalness=0,d.envMapIntensity=0,d.transparent=n),d.color=new THREE.Color(c.PC(b)));d.needsUpdate= n;a.material=d};b.prototype.iga=function(a){a.parent&&a.parent.remove(a);a.material&&a.material.dispose();a.material=q;a.geometry&&a.geometry.dispose();a.geometry=q};return b}); define("lG",["require","nU","fm"],function(a){function b(a){this.k=a;this.Wu=a.R;this.j=this.k.getComponent(c.zg).Fb;this.j.bind(d.u("lights"),this.o8,this,B);this.ta=q;this.$t=[];this.S3=new Map;this.update()}var d=a("nU"),c=a("fm");b.prototype.update=function(){var a=this.k.getComponent(c.Object3D),a=a&&a.Yc;this.ta!=a&&(this.ta=a,this.o8())};b.prototype.o8=function(){this.sna(this.ta?this.j.get("lights",[]).length?this.j.get("lights"):[]:[])};b.prototype.dispose=function(){this.ta=q;this.j.unbind(d.u("lights"), this.o8,this,B);this.sna([])};b.prototype.sna=function(a){this.$t!=a&&(this.$t.forEach(function(b){0>a.indexOf(b)&&this.BIa(b)}.bind(this)),a.forEach(function(a){0>this.$t.indexOf(a)&&this.Hya(a)}.bind(this)),this.$t=a)};b.prototype.Hya=function(a){var b=this.Wu.Md("Light"),d=b.C(c.Light);d.Fb=a;d.target=this.k;this.S3.set(a,b)};b.prototype.BIa=function(a){var b=this.S3.get(a);this.S3["delete"](a);this.Wu.bg(b)};return b}); define("lD",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("tags",[])});a.F("Model3DResourceLevel",b).H("Object").Q({tags:"or[array[enum[mobile]], enum[mobile]]",url:"string"}).vi(["url"]);b.tP="mobile";b.prototype.get=function(a,b){switch(a){case "levels":b=[this];break;case "url":for(var f=d.prototype.get.call(this,a),i=this.get("levels"),e=0;i&&e=0.98*e||!a.object.visible)return B;a=Array.isArray(a.object.material)&&a.face?a.object.material[a.face.materialIndex]:a.object.material;return!a|| a.visible}).length};a.prototype.UOa=function(a){b.ray.origin.copy(a);b.ray.direction.copy(c);var a=this.Nw(),d=b.intersectObjects(a,B);if(0-1}))&&b.get("url");b||c.length&&(b=c[0].get("url"));b||(b=a.get("url"));return b};b.prototype.update=I();b.prototype.cd=function(){this.DE.parse(this.$o.getData(),m.getDirectory(this.kd),this.P4, this.Q4)};b.prototype.ii=function(a){this.Xd.trigger(d.ic,a.data)};b.prototype.sf=function(a){k.$C&&a&&a.message&&console.error(a.message);this.Xd.trigger(d.Ac)};b.prototype.Q4=function(a){k.$C&&a&&a.message&&console.error(a.message);this.Xd.trigger(d.Ac)};b.prototype.P4=function(a){if(this.DE){a.scene.traverse(function(a){if(a.isMesh)a.material.depthWrite=!a.material.transparent});this.ta=a.scene;this.jza(this.ta);this.Rf.C(e.Object3D).Yc=this.ta;this.k.G(e.zg,n).n$=a;this.xya();this.j.set("geometryQuery", new f(this.ta));this.j.set("objectQuery",new i(this.ta));this.oV()}};b.prototype.xya=function(){var a=this.k.getComponent(e.zg);this.k.C(e.Dv).Fb=a.Fb};b.prototype.oV=function(){this.j.set("isLoaded",n);this.Xd.trigger(d.U)};b.prototype.jza=function(a){if(a.userData.id===l)a.userData.id="root";for(var b=[a];b.length;){var c=b.shift(),a=[];c.children&&(a=a.concat(c.children));c.isSkinnedMesh&&(a=a.concat(c.skeleton.bones));a.forEach(function(a,d){if(a.userData.id===l)a.userData.id=c.userData.id+"/"+ d;b.push(a)})}};b.prototype.Bya=function(){this.$o.bind(d.U,this.cd,this,n);this.$o.bind(d.ic,this.ii,this,n);this.$o.bind(d.Ac,this.sf,this,n)};b.prototype.vIa=function(){this.$o.unbind(d.U,this.cd,this,n);this.$o.unbind(d.ic,this.ii,this,n);this.$o.unbind(d.Ac,this.sf,this,n)};b.prototype.dispose=function(){if(this.$o){this.vIa();this.$o.cancel();this.$o=q}if(this.DE)this.DE=q;if(this.ta){this.ta.traverse(function(a){function b(a){a&&c.indexOf(a)<0&&c.push(a)}var c=[];b(a.material);b(a.userData.kv); if(a.userData.Jy)for(var d in a.userData.Jy)b(a.userData.Jy[d]);c.forEach(function(a){a.dispose();Object.keys(a).forEach(function(b){(b=a[b])&&typeof b==="object"&&"minFilter"in b&&b.dispose()})});a.geometry&&a.geometry.userData.Dqa&&a.geometry.disposeBoundsTree();a.geometry&&a.geometry.dispose()});this.ta=q;this.Rf.ga(e.Object3D)}if(this.QE){this.QE.dispose();this.QE=q}if(this.Xd){this.re.vX(this.Xd);this.xj.vX(this.Xd);this.re=this.Xd=q}if(this.j){this.j.set("geometryQuery",q);this.j.set("objectQuery", q);this.j.set("isLoaded",B);this.j=q}};return b}); define("js","require,jU,lh,nU,fQ,fm,cf".split(","),function(a){function b(a,b,c){this.ra=a;this.iE=b;this.q=c;this.Ne=this.Ne.bind(this);this.el=this.el.bind(this);this.Ff=1;this.N=B;this.rea=new Map;this.Wg=[];this.Tg=this.ra.R.Md("DraggingPositionContainer");this.Tg.C(f.Group);this.Tg.C(f.va);this.Wg.push(this.Tg);this.wc=q;this.Bz=[this.eqa=this.u0("x"),this.fqa=this.u0("y"),this.gqa=this.u0("z")];this.Bz.forEach(function(a){this.Ux(a,function(a){a.opacity=0.5;a.depthTest=B});a.C(f.Hb).Qb=this.Tg}.bind(this)); d.pa(this.q,p,this.Ne,n);d.pa(this.q,t,this.el,n)}var d=a("jU");a("lh");var c=a("nU"),g=a("fQ"),f=a("fm"),i=a("cf");b.prototype.dispose=function(){d.na(this.q,p,this.Ne);d.na(this.q,t,this.el);var a=this.ra.R;this.Wg.forEach(function(b){a.bg(b)});this.q=this.ra=this.Bz=this.k=this.Wg=q};b.prototype.frame=function(){if(this.N){this.RL(i.YG(this.Tg)||1);if(this.wc){var a=this.iE.getComponent(f.va);this.q.set("x",a.Ue);this.q.set("y",a.we);this.q.set("z",a.cg)}else this.pMa()}};var e=new THREE.Vector3, j=new THREE.Vector3,o=new THREE.Euler,k=new THREE.Quaternion,m=new THREE.Matrix4,r=180/Math.PI;b.prototype.u0=function(a){var b=this.ra.R.Md("DraggingArrow");this.Wg.push(b);b.C(f.Group);var c=b.G(f.va,n);if(a==="x")c.mf=-90;else if(a=="z")b.G(f.va,n).lf=90;a=this.ra.R.Md("DraggingArrowCylinder");this.Wg.push(a);a.C(f.Mesh).renderOrder=1;a.C(f.Geometry).geometry=new THREE.CylinderGeometry(0.05,0.05,0.85,16,1,n);a.C(f.Vc);a.C(f.Hb).Qb=b;a.G(f.va,n).we=-0.075;c=this.ra.R.Md("DraggingArrowCone");this.Wg.push(c); c.C(f.Mesh).renderOrder=1;c.C(f.Geometry).geometry=new THREE.ConeGeometry(0.05,0.15,16,1,n);c.C(f.Vc);c.C(f.Hb).Qb=b;c.G(f.va,n).we=0.425;this.rea.set(b,[a,c]);return b};b.prototype.RL=function(a){if(this.Ff!=a){this.Ff=a;this.Ne()}};b.prototype.Ne=function(){var a=this.q.get("draggableArrowLength")*this.Ff;this.Ux(this.eqa,function(a){a.color=this.q.get("draggableXControlsColor")}.bind(this));var b=this.eqa.G(f.va,n);b.scale=a;b.Pg=a/2;this.Ux(this.fqa,function(a){a.color=this.q.get("draggableYControlsColor")}.bind(this)); b=this.fqa.G(f.va,n);b.scale=a;b.ug=a/2;this.Ux(this.gqa,function(a){a.color=this.q.get("draggableZControlsColor")}.bind(this));b=this.gqa.G(f.va,n);b.scale=a;b.Kf=a/2};b.prototype.pMa=function(){var a=i.gc(this.iE);if(a){m.copy(a.matrixWorld).invert().decompose(e,k,j);a=this.Tg.getComponent(f.va);o.setFromQuaternion(k,a.sg);o.x=o.x*r;o.y=o.y*r;o.z=o.z*r;if(a.lf!=o.x||a.Je!=o.y||a.mf!=o.z){a=this.Tg.G(f.va);a.lf=o.x;a.Je=o.y;a.mf=o.z}}};b.prototype.el=function(){var a=this.q.get("positionDraggable"); if(this.N!=a)if(this.N=a){this.Tg.C(f.Hb).Qb=this.iE;this.Bz.forEach(function(a){a=a.C(f.Vd);a.qv=n;a.Zu=n;a.La=new g;a.La.bind(c.cc,this.mF,this,n);a.La.bind(c.qb,this.Dm,this,n);a.La.bind(c.zb,this.Bm,this,n);a.La.bind(c.Wb,this.jr,this,n)}.bind(this))}else{this.Tg.ga(f.Hb);this.Bz.forEach(function(a){a.ga(f.Vd)})}};b.prototype.mF=function(a){(a=this.Pk(a))&&a!=this.wc&&this.Ux(a,function(a){a.opacity=1})};b.prototype.Dm=function(a){(a=this.Pk(a))&&a!=this.wc&&this.Ux(a,function(a){a.opacity=0.5})}; b.prototype.Bm=function(a){this.Wx(this.Pk(a))};b.prototype.jr=function(a){a=this.Pk(a);if(a==this.wc){this.Wx(q);this.Bz.indexOf(a)!=-1&&this.q.trigger(c.rn)}};b.prototype.Ux=function(a,b){this.rea.get(a).forEach(function(a){b(a.G(f.Vc))}.bind(this))};b.prototype.Pk=function(a){a=this.Bz.map(function(a){return a.getComponent(f.Vd).La}).indexOf(a.source);return a==-1?q:this.Bz[a]};b.prototype.Wx=function(a){if(this.wc){this.Ux(this.wc,function(a){a.opacity=0.5});this.iE.ga(f.uo)}if(this.wc=a){this.Ux(this.wc, function(a){a.opacity=1});var a=i.getWorldPosition(this.iE),b=i.getWorldPosition(this.wc);this.iE.C(f.uo).direction=b.sub(a)}};var p=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],t=["positionDraggable"];return b}); define("l","require,jU,nU,fQ,fm,cf".split(","),function(a){function b(a,b,c){this.ra=a;this.k=b;this.q=c;this.dk=this.dk.bind(this);this.Ne=this.Ne.bind(this);this.el=this.el.bind(this);this.wc=q;this.N=B;this.WT=[1,1,1,1,1,1];this.Wg=[];this.Pf=[this.xG=this.To(),this.wG=this.To(),this.zG=this.To(),this.yG=this.To(),this.BG=this.To(),this.AG=this.To()];this.Pf.forEach(function(a){a=a.G(f.Vc);a.opacity=0.5;a.depthTest=B}.bind(this));d.pa(this.q,k,this.Ne,n);d.pa(this.q,m,this.dk,n);d.pa(this.q,r, this.el,n)}var d=a("jU"),c=a("nU"),g=a("fQ"),f=a("fm"),i=a("cf");b.prototype.frame=function(){if(this.N){this.VJa(this.Pf.map(function(a){return i.YG(a)||1}));if(this.wc){var a=i.gc(this.k),b=i.gc(this.xE(this.wc));if(a&&b){j.copy(a.matrixWorld).invert();e.setFromMatrixPosition(b.matrixWorld).applyMatrix4(j);var a=this.q.get("x"),b=this.q.get("y"),c=this.q.get("z"),d=this.q.get("width"),f=this.q.get("height"),g=this.q.get("depth"),o=0,k=0,m=0,r=0,H=0,M=0;switch(this.wc){case this.xG:r=e.x-d*0.5;o= r*0.5;break;case this.wG:r=-e.x-d*0.5;o=-r*0.5;break;case this.zG:H=e.y-f*0.5;k=H*0.5;break;case this.yG:H=-e.y-f*0.5;k=-H*0.5;break;case this.BG:M=e.z-g*0.5;m=M*0.5;break;case this.AG:M=-e.z-g*0.5;m=-M*0.5}this.q.set("x",a+o);this.q.set("width",d+r);this.q.set("y",b+k);this.q.set("height",f+H);this.q.set("z",c+m);this.q.set("depth",g+M)}}}};var e=new THREE.Vector3,j=new THREE.Matrix4;b.prototype.To=function(){var a=this.ra.R.Md("DraggingSphere");this.Wg.push(a);a.C(f.Mesh).renderOrder=2;a.C(f.Geometry).geometry= new THREE.SphereGeometry;a.C(f.Vc);return a};b.prototype.Ne=function(){this.xG.G(f.Vc).color=this.q.get("draggableXControlsColor");this.wG.G(f.Vc).color=this.q.get("draggableXControlsColor");this.zG.G(f.Vc).color=this.q.get("draggableYControlsColor");this.yG.G(f.Vc).color=this.q.get("draggableYControlsColor");this.BG.G(f.Vc).color=this.q.get("draggableZControlsColor");this.AG.G(f.Vc).color=this.q.get("draggableZControlsColor");var a=this.q.get("draggableSphereRadius");this.Pf.forEach(function(b,c){b.G(f.va, n).scale=a*this.WT[c]}.bind(this))};b.prototype.dk=function(){this.xG.G(f.va,n).Ue=this.q.get("width")/2;this.wG.G(f.va,n).Ue=-this.q.get("width")/2;this.zG.G(f.va,n).we=this.q.get("height")/2;this.yG.G(f.va,n).we=-this.q.get("height")/2;this.BG.G(f.va,n).cg=this.q.get("depth")/2;this.AG.G(f.va,n).cg=-this.q.get("depth")/2};b.prototype.el=function(){var a=this.q.get("sizeDraggable");if(this.N!=a){this.N=a;this.Pf.forEach(function(b){if(a){b.C(f.Hb).Qb=this.k;this.Pf.forEach(function(a){a=a.C(f.Vd); a.qv=n;a.Zu=n;a.La=new g;a.La.bind(c.cc,this.cF,this,n);a.La.bind(c.qb,this.F4,this,n);a.La.bind(c.zb,this.D4,this,n);a.La.bind(c.Wb,this.E4,this,n)}.bind(this))}else{b.ga(f.Hb);this.Pf.forEach(function(a){a.ga(f.Vd)}.bind(this))}}.bind(this))}};b.prototype.VJa=function(a){for(var b=B,c=0;c=this.Pb.position||this.Pb.JO&&1<=this.Pb.position?f.gc(this.Rf).visible=B:f.gc(this.Rf).visible=n;c.update(this.da,this.Pb);this.k.R.ob()};var i=new THREE.MeshBasicMaterial;b.prototype.dispose=function(){f.gc(this.Rf).visible=n;this.Wc&&this.Wc.traverse(function(a){a.material== this.da&&(a.material=i)}.bind(this));this.bM&&(f.sRa(this.bM.parent,this.bM),this.bM=q);this.da&&(this.Pb.ws.dispose(),this.Pb.xs.dispose(),this.Pb.texture.dispose(),this.Pb=q,this.da.dispose(),this.da=q);d.na(this.q,e,this.ku);this.k&&this.k.R.bg(this.k);this.q=this.k=this.ra=q};var e="sourceX,sourceY,sourceZ,sourceYaw,sourceFaces,targetX,targetY,targetZ,targetYaw,targetFaces,position".split(",");return b}); define("cA","require,jU,nU,fQ,fm,cf".split(","),function(a){function b(a,b,c){this.ra=a;this.k=b;this.q=c;this.kF=this.kF.bind(this);this.Ne=this.Ne.bind(this);this.el=this.el.bind(this);this.wc=q;this.N=B;this.Ff=1;this.Tg=this.ra.R.Md("DraggingSize2DContainer");this.Tg.C(f.Group);this.Tg.C(f.va);this.Pf=[this.Y3=this.To(),this.Q3=this.To(),this.v6=this.To(),this.Z5=this.To()];this.Pf.forEach(function(a){a.C(f.va);a=a.G(f.Vc);a.color="#ffffff";a.opacity=0.5;a.depthTest=B}.bind(this));this.Qq=this.v0(); this.Wg=[this.Tg,this.Qq].concat(this.Pf);[this.Qq].concat(this.Pf).forEach(function(a){a.C(f.Hb).Qb=this.Tg}.bind(this));d.pa(this.q,u,this.kF,n);d.pa(this.q,s,this.Ne,n);d.pa(this.q,v,this.el,n)}var d=a("jU"),c=a("nU"),g=a("fQ"),f=a("fm"),i=a("cf"),e=new THREE.Matrix4,j=new THREE.Vector3,o=new THREE.Vector3;new THREE.Quaternion;new THREE.Vector3;var k=new THREE.Quaternion,m=new THREE.Vector3,r=new THREE.Vector3,p=new THREE.Euler,t=180/Math.PI;b.prototype.frame=function(){if(this.N){var a=i.gc(this.Tg), b=a&&i.e$(a),c=b&&i.NN(b);if(c){if(this.wc){var d=i.Vra(b),b=i.HW(b);i.getWorldPosition(this.k,r).project(c);r.x=(r.x+1)*d*0.5;r.y=(1-r.y)*b*0.5;i.getWorldPosition(this.wc,m).project(c);m.x=(m.x+1)*d*0.5;m.y=(1-m.y)*b*0.5;var d=this.q.get("anchorX"),b=this.q.get("anchorY"),g,s,u=r.x-m.x,v=m.y-r.y,z=-u,L=-v;if(this.Q3===this.wc&&(d>0||b<1))u>v?g=u/d:s=v/(1-b);else if(this.Z5===this.wc&&(d<1||b<1))z>v?g=z/(1-d):s=v/(1-b);else if(this.Y3===this.wc&&(d>0||b>0))u>L?g=u/d:s=L/b;else if(this.v6===this.wc&& (d<1||b>0))z>L?g=z/(1-d):s=L/b;s!==l&&g===l?g=s*this.tea:g!==l&&s===l&&(s=g/this.tea);if(g!==l&&s!==l){this.q.set("width",this.Z=g);this.q.set("height",this.ja=s)}}g=this.Tg.getComponent(f.va);e.copy(a.parent.matrixWorld).invert().multiply(c.matrixWorld).decompose(j,k,o);p.setFromQuaternion(k,g.sg);p.x=p.x*t;p.y=p.y*t;p.z=p.z*t;if(g.lf!=p.x||g.Je!=p.y||g.mf!=p.z){g=this.Tg.G(f.va);g.lf=p.x;g.Je=p.y;g.mf=p.z}this.RL(i.YG(this.Tg)||1)}}};b.prototype.kMa=function(a,b){this.c8!=q&&clearTimeout(this.c8); this.c8=setTimeout(function(){this.c8=q;if(this.Z!==a||this.ja!==b){this.Z=a;this.ja=b;this.tea=this.Z/this.ja}}.bind(this),100)};b.prototype.To=function(){var a=this.ra.R.Md("DraggingSphere");a.C(f.Mesh).renderOrder=2;a.C(f.Geometry).geometry=new THREE.SphereGeometry;a.C(f.Vc);return a};b.prototype.v0=function(){var a=this.ra.R.Md("BoxBorder");a.C(f.Line);a.C(f.Geometry).geometry=this.RBa();var b=a.C(f.bj);b.color="#0000ff";b.depthTest=B;b.width=1;return a};b.prototype.RBa=function(){var a=[new THREE.Vector3(-0.5, -0.5,0),new THREE.Vector3(0.5,-0.5,0),new THREE.Vector3(0.5,-0.5,0),new THREE.Vector3(0.5,0.5,0),new THREE.Vector3(0.5,0.5,0),new THREE.Vector3(-0.5,0.5,0),new THREE.Vector3(-0.5,0.5,0),new THREE.Vector3(-0.5,-0.5,0)];return(new THREE.BufferGeometry).setFromPoints(a)};b.prototype.Ne=function(){var a=this.Qq.G(f.bj);a.color=this.q.get("draggableLineColor");a.opacity=this.q.get("draggableLineOpacity");a.width=this.q.get("draggableLineWidth");this.Pf.forEach(function(a){a.G(f.Vc).color=this.q.get("draggableSphereColor"); a.G(f.va).scale=this.q.get("draggableSphereRadius")*this.Ff}.bind(this))};b.prototype.RL=function(a){if(this.Ff!=a){this.Ff=a;this.kF();this.Ne()}};b.prototype.kF=function(){var a=this.q.get("anchorX"),b=this.q.get("anchorY"),c=this.q.get("width"),d=this.q.get("height");transformComponent=this.Y3.G(f.va,n);transformComponent.Ue=-a*c*this.Ff;transformComponent.we=b*d*this.Ff;transformComponent=this.v6.G(f.va,n);transformComponent.Ue=(1-a)*c*this.Ff;transformComponent.we=b*d*this.Ff;transformComponent= this.Q3.G(f.va,n);transformComponent.Ue=-a*c*this.Ff;transformComponent.we=(b-1)*d*this.Ff;transformComponent=this.Z5.G(f.va,n);transformComponent.Ue=(1-a)*c*this.Ff;transformComponent.we=(b-1)*d*this.Ff;transformComponent=this.Qq.G(f.va,n);transformComponent.Ue=(0.5-a)*c*this.Ff;transformComponent.we=(b-0.5)*d*this.Ff;transformComponent.tg=c*this.Ff;transformComponent.Mg=d*this.Ff;this.kMa(c,d)};b.prototype.el=function(){var a=this.q.get("sizeDraggable");if(this.N!=a)if(this.N=a){this.Tg.C(f.Hb).Qb= this.k;this.Pf.forEach(function(a){a=a.C(f.Vd);a.qv=n;a.Zu=n;a.La=new g;a.La.bind(c.cc,this.cF,this,n);a.La.bind(c.qb,this.F4,this,n);a.La.bind(c.zb,this.D4,this,n);a.La.bind(c.Wb,this.E4,this,n)}.bind(this))}else{this.Tg.ga(f.Hb);this.Pf.forEach(function(a){a.ga(f.Vd)}.bind(this))}};b.prototype.cF=function(a){if((a=this.Pk(a))&&a!=this.wc)a.G(f.Vc).opacity=1};b.prototype.F4=function(a){if((a=this.Pk(a))&&a!=this.wc)a.G(f.Vc).opacity=0.5};b.prototype.D4=function(a){this.Wx(this.Pk(a))};b.prototype.E4= function(a){if((a=this.Pk(a))&&a==this.wc){this.Wx(q);this.kF();(a=this.Pf.indexOf(a)!=-1)&&this.q.trigger(c.rn);a&&this.q.trigger(c.qP)}};b.prototype.Pk=function(a){a=this.Pf.map(function(a){return a.getComponent(f.Vd).La}).indexOf(a.source);if(a==-1)return q;a=this.Pf[a];return!this.EFa(a)?q:a};b.prototype.EFa=function(a){var b=this.q.get("anchorX"),c=this.q.get("anchorY");return this.Q3===a&&(b>0||c>0)||this.Z5===a&&(b<1||c>0)||this.Y3===a&&(b>0||c<1)||this.v6===a&&(b<1||c<1)?n:B};b.prototype.Wx= function(a){if(this.wc){this.wc.G(f.Vc).opacity=0.5;this.xE(this.wc).ga(f.uo)}if(this.wc=a){this.wc.G(f.Vc).opacity=1;var b=this.xE(this.wc).C(f.uo),c=i.getWorldPosition(this.k),a=i.getWorldPosition(a),a=(new THREE.Vector3).copy(a).sub(c),d=Math.min(a.length(),this.Ff*10),c=(new THREE.Vector3).copy(c).add(j.copy(a).setLength(d));b.direction=a;b.min=c}};b.prototype.xE=function(a){return this.Pf.indexOf(a)!=-1?a:q};b.prototype.dispose=function(){d.na(this.q,u,this.kF);d.na(this.q,s,this.Ne);d.na(this.q, v,this.el);var a=this.ra.R;this.Wg.forEach(function(b){a.bg(b)});this.q=this.ra=this.Pf=this.k=this.Wg=q};var s=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],u=["anchorX","anchorY","height","x","y","z","width"],v=["sizeDraggable"];return b}); define("hF","require,jU,hy,fm,js,cA,cf".split(","),function(a){function b(a,b,e,o,j){this.ra=a;this.re=e;this.xj=o;this.q=j;this.dk=this.dk.bind(this);this.IK=this.IK.bind(this);this.Ne=this.Ne.bind(this);this.$S=this.$S.bind(this);this.di=this.re.$B(1);this.q.get("preload")&&this.xj.iN(loadingEventDispatcher);this.k=this.ra.R.Md("SpriteContainer");this.k.C(g.Group);a=this.k.C(g.Hb);a.Qb=this.ra;a.id=this.q.get("parentId");this.CM=this.ra.R.Md("TranslationSpriteContainer");this.CM.C(g.Group);this.CM.C(g.Hb).Qb= this.k;this.Fr=this.ra.R.Md("Sprite");this.Fr.C(g.Hb).Qb=this.CM;a=this.Fr.C(g.Ls);a.Fb=this.q;a.Gsa=this.q.get("image");a.La=this.q;a.kH=this.di;a.isSprite=n;a.Ge=this.q.get("preload")?c.kD:c.oxa;this.Fr.C(g.Sprite).renderOrder=2;this.Fr.C(g.Vd).La=this.q;this.Fr.C(g.Qy);this.Fr.C(g.ZO).object=this.q;this.T3=B;this.Ff=1;this.cx=this.k.R.Md("TranslationLine");this.cx.C(g.Line).renderOrder=1;this.cx.C(g.bj);this.bA=new f(this.ra,this.k,this.q);this.p1=new i(this.ra,this.CM,this.q);d.pa(this.q,p,this.dk, n);d.pa(this.q,s,this.IK,n);d.pa(this.q,u,this.Ne,n);d.pa(this.q,t,this.$S,n)}var d=a("jU"),c=a("hy"),g=a("fm"),f=a("js"),i=a("cA"),e=a("cf");b.prototype.frame=function(){this.bA.frame();this.p1.frame();this.RL(e.YG(this.k)||1)};b.prototype.dk=function(){if(this.k.C(g.Hb).id!=this.q.get("parentId"))this.k.G(g.Hb).id=this.q.get("parentId");var a=this.k.G(g.va,n);a.Ue=this.q.get("x");a.we=this.q.get("y");a.cg=this.q.get("z")};b.prototype.RL=function(a){if(this.Ff!=a){this.Ff=a;this.IK()}};b.prototype.IK= function(){var a=this.CM.G(g.va,n),b=this.q.get("translationLength");k.set(this.q.get("translationX"),this.q.get("translationY"),this.q.get("translationZ"));b!==l&&k.setLength(b*this.Ff);a.Pg=k.x;a.ug=k.y;a.Kf=k.z;b=this.cx.G(g.va,n);k.set(a.Pg,a.ug,a.Kf);b.scale=k.length();j.setFromUnitVectors(m,k.normalize());o.setFromQuaternion(j,b.sg);o.x=o.x*r;o.y=o.y*r;o.z=o.z*r;b.lf=o.x;b.Je=o.y;b.mf=o.z;this.npa()};var j=new THREE.Quaternion,o=new THREE.Euler,k=new THREE.Vector3,m=new THREE.Vector3(0,0,1), r=180/Math.PI;b.prototype.Ne=function(){var a=this.Fr.G(g.Vd,n);a.dn=this.q.get("useHandCursor");a.MO=this.q.get("transparentAreaActive");a.Zu=this.q.get("clickEnabled");a.qv=this.q.get("rollOverEnabled");a=this.cx.G(g.bj);a.color=this.q.get("translationLineColor");a.depthTest=this.q.get("depthTest");a.opacity=this.q.get("translationLineOpacity");a.width=this.q.get("translationLineWidth");this.npa()};b.prototype.$S=function(){var a=this.Fr.G(g.Sprite,n);a.DG=this.q.get("anchorX");a.EG=this.q.get("anchorY"); a.width=this.q.get("width");a.height=this.q.get("height");a.scale=this.q.get("scale")};b.prototype.npa=function(){var a=this.q.get("translationLineVisible")&&this.q.get("translationLineOpacity")>0&&(this.q.get("translationX")!=0||this.q.get("translationY")!=0||this.q.get("translationZ")!=0);if(this.T3!=a)(this.T3=a)?this.cx.C(g.Hb).Qb=this.k:this.cx.ga(g.Hb)};b.prototype.dispose=function(){this.bA.dispose();this.bA=q;this.p1.dispose();this.p1=q;d.na(this.q,p,this.dk);d.na(this.q,s,this.IK);d.na(this.q, u,this.Ne);d.na(this.q,t,this.$S);this.re.vX(this.di);this.xj.vX(this.aIa);this.aIa=this.re=q;var a=this.ra.R;this.ra=q;a.bg(this.Fr);this.Fr=q;a.bg(this.cx);this.cx=q;a.bg(this.k);this.q=this.k=q};var p=["parentId","x","y","z"],t=["anchorX","anchorY","width","height","scale"],s=["translationX","translationY","translationZ","translationLength"],u=["clickEnabled","depthTest","rollOverEnabled","transparentAreaActive","translationLineColor","translationLineOpacity","translationLineVisible","translationLineWidth", "useHandCursor"];return b});define("fD",["require","eQ","cl","lj","hF"],function(a){var b=a("eQ"),d=a("cl"),c=a("lj"),g=a("hF");return{create:function(a,i,e,j,o){return b.za("SpriteModel3DObject",o)?new g(a,i,e,j,o):b.za("BoxModel3DObject",o)?new d(a,i,o):b.za("ProjectedMaterialModel3DObject",o)?new c(a,i,o):q}}}); define("kl",["require","jU","fm","fD"],function(a){function b(a,b,e,g){this.k=a;this.Rf=b;this.re=e;this.xj=g;this.aB=this.aB.bind(this);this.Wu=a.R;this.j=this.k.getComponent(c.zg).Fb;this.ta=(a=this.k.getComponent(c.Object3D))&&a.Yc;this.Vf=[];this.DS=new Map;d.pa(this.j,["objects.enabled"],this.aB,n)}var d=a("jU"),c=a("fm"),g=a("fD");b.prototype.update=function(){var a=this.k.getComponent(c.Object3D),a=a&&a.Yc;if(this.ta!==a){var b=this.ta;this.ta=a;this.vV(!!b)}};b.prototype.frame=function(){this.DS.forEach(function(a){a&& a.frame&&a.frame()})};b.prototype.dispose=function(){this.ta=q;d.na(this.j,["objects.enabled"],this.aB);this.QL([])};b.prototype.aB=function(){this.vV()};b.prototype.vV=function(a){this.QL(this.j.get("objects").filter(function(a){return a.get("enabled")}),a)};b.prototype.QL=function(a,b){if(this.Vf!=a||b)this.Vf.forEach(function(c){(b||0>a.indexOf(c))&&this.EIa(c)}.bind(this)),a.forEach(function(a){(b||0>this.Vf.indexOf(a))&&this.Mya(a)}.bind(this)),this.Vf=a};b.prototype.Mya=function(a){this.DS.set(a, g.create(this.k,this.Rf,this.re,this.xj,a))};b.prototype.EIa=function(a){var b=this.DS.get(a);b&&b.dispose();this.DS["delete"](a)};return b}); define("jE",["require","nU","fm"],function(a){function b(a,b){this.k=a;this.Rf=b;this.oj=this.ta=this.j=q;this.oT=new Map;this.rl(this.k.getComponent(c.zg).Fb);this.update()}var d=a("nU"),c=a("fm");b.prototype.update=function(){var a=this.Rf.getComponent(c.Object3D),a=a&&a.Yc;this.ta!=a&&(this.ta=a,this.Cz())};b.prototype.rl=function(a){this.j&&g.forEach(function(a){this.j.unbind(d.u(a),this.Cz,this,B)}.bind(this));if(this.j=a)g.forEach(function(a){this.j.bind(d.u(a),this.Cz,this,B)}.bind(this)), this.Cz()};b.prototype.Cz=function(){this.wna(this.j.get("model"));if(this.ta){var a=this.j.get("castShadow"),b=this.j.get("receiveShadow"),c=this.j.get("bakedTextures");this.ta.traverse(function(d){if(d.isMesh&&(c?this.ZAa(d):this.hU(d),a!==l&&(d.castShadow=a),b!==l))d.receiveShadow=b}.bind(this));this.k.R.ob()}};b.prototype.ZAa=function(a){a.material&&!a.material.isMeshBasicMaterial&&!this.oT.get(a)&&(this.oT.set(a,a.material),a.material=(new THREE.MeshBasicMaterial).copy(a.material))};b.prototype.hU= function(a){var b=a.material,c=this.oT.get(a);b&&c&&(this.oT["delete"](a),a.material=c)};b.prototype.wna=function(a){if(this.oj!=a&&(this.oj&&f.forEach(function(a){this.oj.unbind(d.u(a),this.z_,this,B)}.bind(this)),this.oj=a))f.forEach(function(a){this.oj.bind(d.u(a),this.z_,this,B)}.bind(this)),this.z_()};b.prototype.z_=function(){var a=this.Rf.G(c.va,n);a.Ue=this.oj.get("positionX");a.we=this.oj.get("positionY");a.cg=this.oj.get("positionZ");a.lf=this.oj.get("rotationX");a.Je=this.oj.get("rotationY"); a.mf=this.oj.get("rotationZ");a.scale=this.oj.get("scale");a.Pg=this.oj.get("translationX");a.ug=this.oj.get("translationY");a.Kf=this.oj.get("translationZ")};b.prototype.dispose=function(){this.ta&&(this.ta.traverse(function(a){a.isMesh&&this.hU(a)}.bind(this)),this.ta=q);this.wna(q);this.rl(q)};var g=["bakedTextures","castShadow","model","receiveShadow"],f="positionX,positionY,positionZ,rotationX,rotationY,rotationZ,scale,translationX,translationY,translationZ".split(",");return b}); define("bM","require,nU,cs,om,fm,jc,lG,eq,kl,jE".split(","),function(a){function b(a){this.k=a;this.k.C(f.Group);this.Rf=this.k.R.Md("GLTF");this.Rf.C(f.Hb).Qb=this.k;a=this.k.getComponent(f.zg);this.xj=new g(a.pua);this.re=new g(a.kH);this.Xd=a.La;this.gx=new j(this.k,this.Rf,this.re,this.xj);this.Vf=new o(this.k,this.Rf,this.re,this.xj);this.$t=new e(this.k);this.pe=new i(this.k);this.j=new k(this.k,this.Rf)}var d=a("nU"),c=a("cs"),g=a("om"),f=a("fm"),i=a("jc"),e=a("lG"),j=a("eq"),o=a("kl"),k=a("jE"); b.prototype.update=function(){this.gx.update();this.Vf.update();this.j.update();this.$t.update();this.pe.update()};b.prototype.frame=function(){this.Vf.frame();this.pe.frame();this.Xd.trigger(new c(d.iz))};b.prototype.dispose=function(){if(this.pe){this.pe.dispose();this.pe=q}if(this.gx){this.gx.dispose();this.gx=q}if(this.Vf){this.Vf.dispose();this.Vf=q}if(this.$t){this.$t.dispose();this.$t=q}if(this.j){this.j.dispose();this.j=q}if(this.re){this.re.dispose();this.re=q}if(this.Rf){this.Rf.R.bg(this.Rf); this.Rf=q}this.Xd=q};b.yc=function(a){a.C(f.Ps).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(f.Ps);b.manager.dispose();b.manager=q;a.ga(f.Ps)};b.update=function(a){a.getComponent(f.Ps).manager.update()};b.frame=function(a){a.getComponent(f.Ps).manager.frame()};return b}); define("kn",["require","kG","kR","fm","bM"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("bM"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.Gta.entities.length&&this.Gta.entities.slice().forEach(g.yc);this.iX.Ra.length&&this.iX.Ra.slice().forEach(g.update);this.iX.entities.length&&this.iX.entities.slice().forEach(g.frame);this.Hta.entities.length&&this.Hta.entities.slice().forEach(g.Kb)};a.A={};a.A.Gta=[c.zg,c.Ps.not];a.A.iX=[c.zg,c.Ps];a.A.Hta=[c.zg.not, c.Ps];return a}); define("cc",["require","fm","cf"],function(a){function b(a){this.k=a;this.Wc=q}var d=a("fm"),c=a("cf");b.prototype.frame=function(){if(!this.Wc){var a=this.k.getComponent(d.pD),b=c.gc(a.container);if(this.Wc=b&&a.id&&c.hC(b,a.id)||q)this.k.C(d.Object3D).Yc=this.Wc,this.k.R.ob()}};b.prototype.update=function(){this.Wc&&(this.k.ga(d.Object3D),this.Wc=q)};b.prototype.dispose=function(){this.Wc&&(this.k.ga(d.Object3D),this.Wc=q)};b.yc=function(a){a.C(d.Rs).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(d.Rs); b.manager.dispose();b.manager=q;a.ga(d.Rs)};b.frame=function(a){a.getComponent(d.Rs).manager.frame()};b.update=function(a){a.getComponent(d.Rs).manager.update()};return b}); define("gG",["require","kG","kR","fm","cc"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("cc"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.Sta.entities.length&&this.Sta.entities.slice().forEach(g.yc);this.mX.Ra.length&&this.mX.Ra.slice().forEach(g.update);this.mX.entities.length&&this.mX.entities.slice().forEach(g.frame);this.Tta.entities.length&&this.Tta.entities.slice().forEach(g.Kb)};a.A={};a.A.Sta=[c.pD,c.Rs.not];a.A.mX=[c.pD,c.Rs];a.A.Tta=[c.pD.not, c.Rs];return a}); define("nd",["require","fm"],function(a){function b(a){this.k=a;this.Jw=new THREE.PlaneGeometry;this.qS=this.k.C(d.Object3D).Yc=new THREE.Mesh(this.Jw);this.update()}var d=a("fm");b.prototype.update=function(){var a=this.k.getComponent(d.Material).material;a&&this.qS.material!=a&&(this.qS.material=a,this.qS.needsUpdate=n);this.qS.renderOrder=this.k.getComponent(d.Plane).renderOrder};b.prototype.dispose=function(){this.Jw.dispose();this.Jw=q};b.yc=function(a){a.C(d.Ts).manager=new b(a)};b.Kb=function(a){var b= a.getComponent(d.Ts);b.manager.dispose();b.manager=q;a.ga(d.Ts);a.ga(d.Object3D)};b.update=function(a){a.getComponent(d.Ts).manager.update()};return b}); define("gB",["require","kG","kR","fm","nd"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("nd"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.gO.entities.length&&this.gO.entities.slice().forEach(g.yc);this.fO.Ra.length&&this.fO.Ra.slice().forEach(g.update);this.iua.entities.length&&this.iua.entities.slice().forEach(g.Kb);this.jua.entities.length&&this.jua.entities.slice().forEach(g.Kb)};a.A={};a.A.gO=[c.Material,c.Plane,c.Ts.not];a.A.fO=[c.Plane,c.Material, c.Ts];a.A.iua=[c.Plane.not,c.Ts];a.A.jua=[c.Material.not,c.Ts];return a}); define("hq",["require","fm","cf"],function(a){var b=a("fm"),d=a("cf");return{yc:function(a){var g=a.getComponent(b.Hb),f=d.gc(g.Qb);if(f){var i=a.C(b.Aq);i.parent=f;g.id&&(f=f&&d.hC(f,g.id));i.id=g.id;i.nd=d.gc(a);i.attach=g.attach;f&&i.nd&&(i.attach?f.attach(i.nd):f.add(i.nd))}},update:function(a){var g=a.getComponent(b.Hb),f=a.getComponent(b.Aq),i=d.gc(g.Qb),e=d.gc(a);if(f.parent!=i||f.nd!=e||g.id!=f.id||g.attach!=f.attach||e&&i&&!e.parent)f=a.G(b.Aq),f.nd&&f.nd.parent&&(g.Qb.G(b.Object3D),f.nd.parent.remove(f.nd)), f.parent=i,g.id&&(i=i&&d.hC(i,g.id)),f.id=g.id,f.nd=e,f.attach=g.attach,i&&f.nd&&(f.attach?i.attach(f.nd):i.add(f.nd))},Kb:function(a){var d=a.getComponent(b.Aq);d.nd&&d.nd.parent&&d.nd.parent.remove(d.nd);d.parent=q;d.nd=q;d.id=l;a.ga(b.Aq)}}}); define("lZ",["require","kG","kR","fm","hq"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("hq"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.ZN.entities.length&&this.ZN.entities.slice().forEach(g.yc);this.iq.entities.length&&this.iq.entities.slice().forEach(g.update);this.iq.Ra.length&&this.iq.Ra.slice().forEach(g.update);this.iq.ag.length&&this.iq.ag.slice().forEach(g.update);this.Mqa.entities.length&&this.Mqa.entities.slice().forEach(g.Kb);this.Nqa.entities.length&& this.Nqa.entities.slice().forEach(g.Kb)};a.A={};a.A.ZN=[c.Object3D,c.Hb,c.Aq.not];a.A.iq=[c.Object3D,c.Hb,c.Aq];a.A.Mqa=[c.Object3D.not,c.Hb,c.Aq];a.A.Nqa=[c.Hb.not,c.Aq];return a}); define("cX",["require","kG","kR","fm","cf"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("cf"),a=b.extend(d,function(){d.apply(this,arguments);this.Xe=this.Xe.bind(this);this.od=this.od.bind(this);this.bC=this.bC.bind(this)});a.prototype.execute=function(){this.eua.entities.length&&this.eua.entities.slice().forEach(this.Xe);this.dua.entities.length&&this.dua.entities.slice().forEach(this.bC);this.fua.entities.length&&this.fua.entities.slice().forEach(this.od);this.gua.entities.length&&this.gua.entities.slice().forEach(this.od)}; a.prototype.Xe=function(a){a.C(c.nz)};a.prototype.od=function(a){a.ga(c.nz)};var f=new THREE.Matrix4,i=new THREE.Vector3;a.prototype.bC=function(a){var b=a.getComponent(c.Fo),d=a.getComponent(c.va);if(d){var k=a.getComponent(c.Object3D).Yc;if(k&&k.parent){var m=1.0E-7;a.getComponent(c.zf)&&(m=g.YG(a)||m);f.copy(k.parent.matrixWorld).invert();i.setFromMatrixScale(f);k=Math.max(i.x,i.y,i.z);k*=b.scale;b.VN!==l&&(k=Math.min(b.VN*m,k));b.XN!==l&&(k=Math.max(b.XN*m,k));if(d.scale!=k||d.tg!=b.tg||d.Mg!= b.Mg||d.si!=b.si)d=a.G(c.va),d.scale=k,d.tg=b.tg,d.Mg=b.Mg,d.si=b.si}}};a.A={};a.A.eua=[c.Object3D,c.Fo,c.nz.not];a.A.dua=[c.Object3D,c.Fo,c.nz];a.A.fua=[c.Object3D.not,c.nz];a.A.gua=[c.Fo.not,c.nz];return a}); define("dI",["require","nU","fm","cf"],function(a){function b(a){this.k=a;this.zx=q;this.lK=new THREE.Vector3;this.Pa=new THREE.Vector3;this.j3=this.Td=this.M7=B;this.update()}var d=a("nU"),c=a("fm"),g=a("cf");b.prototype.update=function(){this.d5=this.k.getComponent(c.Rj).Qb};b.prototype.frame=function(){this.wpa();this.Sm()};b.prototype.wpa=function(){var a=this.d5&&this.d5.getComponent(c.Vd),a=a&&a.La;if(this.zx!=a&&(this.zx&&(this.zx.unbind(d.ad,this.Wf,this,n),this.zx.unbind(d.qb,this.Dm,this, n)),this.zx=a))this.zx.bind(d.ad,this.Wf,this,n),this.zx.bind(d.qb,this.Dm,this,n)};b.prototype.Wf=function(a){if("mesh"!=a.data.type)this.Dm();else{var b=this.Td;this.Td=n;var k=g.gc(this.k);if((k=k&&k.parent)&&k.matrixWorld){var m=this.k.getComponent(c.Rj);m&&(i.setFromMatrixPosition(k.matrixWorld),e.copy(k.matrixWorld).invert(),j.fromArray(a.data.objectMatrixWorld),f.setFromMatrixPosition(j),o.copy(j).invert(),m.rotate?a.data.normal?this.lK.copy(a.data.normal).applyMatrix4(j).sub(f).add(i):this.lK.copy(a.data.cameraPosition): this.lK.copy(r),this.lK.applyMatrix4(e).normalize(),this.Pa.copy(a.data.position).applyMatrix4(e),this.M7=n,this.k.R.ob(),b||(a=this.k.getComponent(c.Rj).La)&&a.trigger(d.cc))}}};var f=new THREE.Vector3,i=new THREE.Vector3,e=new THREE.Matrix4,j=new THREE.Matrix4,o=new THREE.Matrix4;b.prototype.Dm=function(){if(this.Td){this.Td=B;this.k.R.ob();var a=this.k.getComponent(c.Rj).La;a&&a.trigger(d.qb)}};b.prototype.Sm=function(){if(this.M7||this.Td){this.M7=B;var a=this.k.G(c.va,n);a.Ue=0;a.we=0;a.cg=0; k.setFromUnitVectors(m,this.lK);p.setFromQuaternion(k,a.sg);a.lf=p.x*t;a.Je=p.y*t;a.mf=p.z*t;a.Pg=this.Pa.x;a.ug=this.Pa.y;a.Kf=this.Pa.z;a.vN=this.j3?0.4:0;this.j3||(g.FX(this.k,a),this.j3=n)}};var k=new THREE.Quaternion,m=new THREE.Vector3(0,0,1),r=new THREE.Vector3(0,1,0),p=new THREE.Euler,t=180/Math.PI;b.prototype.dispose=function(){this.d5=q;this.wpa()};b.yc=function(a){a.C(c.Cq).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(c.Cq);b.manager.dispose();b.manager=q;a.ga(c.Cq)};b.frame= function(a){a.getComponent(c.Cq).manager.frame()};b.update=function(a){a.getComponent(c.Cq).manager.update()};return b}); define("hW",["require","kG","kR","fm","dI"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("dI"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.kua.entities.length&&this.kua.entities.slice().forEach(g.yc);this.qX.Ra.length&&this.qX.entities.slice().forEach(g.update);this.qX.entities.length&&this.qX.entities.slice().forEach(g.frame);this.lua.entities.length&&this.lua.entities.slice().forEach(g.Kb);this.mua.entities.length&&this.mua.entities.slice().forEach(g.Kb)}; a.A={};a.A.kua=[c.Object3D,c.Rj,c.Cq.not];a.A.qX=[c.Object3D,c.Rj,c.Cq];a.A.lua=[c.Object3D.not,c.Cq];a.A.mua=[c.Rj.not,c.Cq];return a});define("fK",["require","gZ"],function(a){return a("gZ")}); define("eB",["require","fm","nx","bC"],function(a){function b(a){this.k=a;this.enabled=B;this.lm=q;this.Vq=0;this.passes=[];this.qi=this.ri=B;this.xe=q;this.ja=this.Z=100}var d=a("fm"),c=a("nx"),g=a("bC");b.prototype.dispose=function(){this.xe&&(this.xe.saoRenderTarget.dispose(),this.xe.blurIntermediateRenderTarget.dispose(),this.xe.beautyRenderTarget.dispose(),this.xe.normalRenderTarget.dispose(),this.xe.depthRenderTarget.dispose(),this.xe.depthMaterial.dispose(),this.xe.normalMaterial.dispose(), this.xe.saoMaterial.dispose(),this.xe.vBlurMaterial.dispose(),this.xe.hBlurMaterial.dispose(),this.xe.materialCopy.dispose(),this.xe.depthCopy.dispose(),this.xe=q)};b.prototype.update=function(a,b,e,j,o){var k=this.k.getComponent(d.UC),m=!!k;if(this.ri=this.enabled!=m)(this.enabled=m)?(!this.xe&&a&&b&&(this.xe=new THREE.SAOPass(a,b,B,n)),this.lm=new c("linear",[new g("alpha",0,1,l)],500),this.Vq=0,this.passes=[this.xe],this.qi=n):(this.passes=[],this.qi=B);if(this.enabled&&(this.lm&&(this.lm.xb(o), this.Vq=this.lm.gb("alpha"),1==this.Vq&&(this.lm=q),this.k.R.ob()),k.output!==q&&(this.xe.params.output=k.output),this.xe.params.saoBias=k.bias/k.scale,this.xe.params.saoIntensity=this.Vq*k.intensity,this.xe.params.saoScale=k.scale,this.xe.params.saoKernelRadius=k.bta,this.xe.params.saoMinResolution=k.Eta/1E3,this.xe.params.saoBlur=0 0.0)\n {\n vec3 rgb = (color * opacity + texel.rgb * texel.a * (1.0 - opacity)) / composedAlpha;\n gl_FragColor = vec4(rgb, composedAlpha);\n }\n else\n {\n gl_FragColor = texel;\n }\n}"}; return b}); define("fF",["require","fm"],function(a){function b(a){this.k=a;this.enabled=B;this.lm=q;this.Vq=0;this.passes=[];this.qi=this.ri=B;this.Ji=q;this.J5=new THREE.Matrix4;this.L5=new THREE.Matrix4;this.I5=new THREE.Vector3}var d=a("fm");b.prototype.dispose=function(){this.Ji&&(this.Ji.dispose(),this.Ji=q)};b.prototype.update=function(a,b){var f=this.k.getComponent(d.TH),i=!!f;if(this.ri=this.enabled!=i)(this.enabled=i)?(!this.Ji&&a&&b&&(this.Ji=new THREE.MotionBlurPass,this.Ji.needsSwap=n,this.J5.copy(b.matrixWorldInverse), this.L5.copy(b.projectionMatrix),this.I5.copy(b.position)),this.passes=[this.Ji],this.qi=n):(this.passes=[],this.qi=B);this.enabled&&(this.Ji.uniforms.inverseProjectionMatrix.value.copy(b.projectionMatrix).invert(),this.Ji.uniforms.near.value=b.near,this.Ji.uniforms.far.value=b.far,this.Ji.uniforms.depthLimit.value=0.99,this.Ji.uniforms.clipToWorldMatrix.value.copy(b.matrixWorld).multiply(this.Ji.uniforms.inverseProjectionMatrix.value),this.Ji.uniforms.previousWorldToClipMatrix.value.copy(this.L5).multiply(this.J5), this.Ji.uniforms.cameraMove.value.copy(b.position).sub(this.I5),this.Ji.uniforms.velocityFactor.value=f.intensity,this.Ji.uniforms.samples.value=f.Fua);this.J5.copy(b.matrixWorldInverse);this.L5.copy(b.projectionMatrix);this.I5.copy(b.position)};return b}); define("ev",["require","mR","fm"],function(a){function b(a){this.k=a;this.enabled=n;this.passes=[];this.T$=this.qi=this.ri=B;this.QU=l;this.th=this.Xf=this.pk=q}a("mR");var d=a("fm");b.prototype.dispose=function(){this.pk&&(this.pk.dispose(),this.pk=q);this.Xf&&(this.Xf=q);this.th&&(this.th.material.dispose(),this.th=q)};b.prototype.update=function(a,b,f,i,e,j){e=this.k.getComponent(d.Ly);j=!!e&&e.Hva&&j;if(this.ri=this.QU!==j)(this.QU=j)?(this.pk||(this.pk=new THREE.SSAARenderPass(a,b),this.pk.sampleLevel= e.HO,this.pk.needsSwap=n,this.pk.clear=n,this.pk.clearColor=65793,this.pk.clearAlpha=0),this.th||(this.th=new THREE.ShaderPass(THREE.CopyShader),this.th.needsSwap=n),this.passes=[this.pk,this.th],this.T$=this.qi=n):(this.Xf||(this.Xf=new THREE.RenderPass,this.Xf.clear=n,this.Xf.clearColor=65793,this.Xf.clearAlpha=0),this.passes=[this.Xf],this.T$=this.qi=B);this.QU?(this.pk.scene=a,this.pk.camera=b,this.pk.sampleLevel=e.HO,this.th.uniforms.opacity.value=Math.pow(2,Math.round(5 0.0)\n {\n vec3 rgb = (color * alpha + texel.rgb * texel.a * (1.0 - alpha)) / composedAlpha;\n gl_FragColor = vec4(rgb, composedAlpha);\n }\n else\n {\n gl_FragColor = texel;\n }\n}"}; return b}); define("gu","require,eB,p,nI,fF,ev,mJ,cf".split(","),function(a){function b(a){this.Sc=a;this.xa=this.oa=this.rf=q;this.ja=this.Z=l;this.th=this.Yq=this.h=this.IF=q;this.TQ=[new i(a),new d(a),new f(a),new e(a),new c(a),new g(a)];this.CS=B}var d=a("eB"),c=a("p"),g=a("nI"),f=a("fF"),i=a("ev"),e=a("mJ"),j=a("cf");b.prototype.dispose=function(){if(this.h)this.h.domElement.style.backgroundColor=l;for(;this.TQ.length;)this.TQ.pop().dispose();this.hga();if(this.Yq){this.Yq.material.dispose();this.Yq=q}if(this.th){this.th.material.dispose(); this.th=q}};b.prototype.setSize=function(a,b){if(this.Z!=a||this.ja!=b){this.Z=a;this.ja=b;this.rf&&this.rf.setSize(this.Z,this.ja);this.h&&this.h.setSize(this.Z,this.ja)}};b.prototype.AH=R("xa");b.prototype.sv=R("oa");b.prototype.setRenderTarget=function(a){if(this.IF!=a){this.IF=a;if(this.rf){this.rf.reset(a||l);this.rf.renderToScreen=!a}}};b.prototype.XSa=function(a){if(this.h!=a){this.h=a;this.h.setSize(this.Z,this.ja);this.hga()}};b.prototype.render=function(a){this.vKa();this.wMa(a);this.h.domElement.style.backgroundColor= this.CS?"#000000":l;this.rf.render()};b.prototype.vKa=function(){if(!this.rf){this.rf=new THREE.EffectComposer(this.h,this.IF||l);this.rf.renderToScreen=!this.IF;this.rf.setSize(this.Z,this.ja)}};b.prototype.wMa=function(a){var b=B,c=B;this.CS=B;this.TQ.forEach(function(d){d.update(this.xa,this.oa,this.Z,this.ja,a,this.rf.renderToScreen);b||(b=d.ri);c||(c=d.qi);this.CS||(this.CS=d.T$)}.bind(this));c=c&&this.h.outputEncoding==THREE.sRGBEncoding&&this.rf.renderToScreen;j.bTa(this.xa,c);if(c&&!this.Yq){this.Yq= new THREE.ShaderPass(THREE.GammaCorrectionShader);b=this.Yq.needsSwap=n}else if(this.Yq)this.Yq.enabled=c;if(!this.rf.renderToScreen&&!this.th){this.th=new THREE.ShaderPass(THREE.CopyShader);b=this.th.needsSwap=n}else if(this.th)this.th.enabled=!this.rf.renderToScreen;if(b){var d=[];this.TQ.forEach(function(a){d=d.concat(a.passes)});this.Yq&&d.push(this.Yq);for(this.th&&d.push(this.th);this.rf.passes.length>0;)this.rf.removePass(this.rf.passes[this.rf.passes.length-1]);d.forEach(function(a){this.rf.addPass(a)}.bind(this))}}; b.prototype.hga=function(){if(this.rf){this.rf.renderTarget1!=this.IF&&this.rf.renderTarget1.dispose();this.rf.renderTarget2!=this.IF&&this.rf.renderTarget2.dispose();this.rf=q}};return b}); define("cU",["require","t","fm","cf","gu"],function(a){function b(a){this.naa=a;this.opacity=0;this.height=this.width=l;this.renderTarget=q;this.xa=l;this.Sma=B;this.Rma=n;this.oa=l;this.pB=B;this.pT=l;this.nc=new f(a);this.update()}var d=a("t"),c=a("fm"),g=a("cf"),f=a("gu");b.prototype.update=function(){var a=this.naa.getComponent(c.Scene);this.opacity=a&&a.opacity||0;this.Sma=a?a.locked:B;this.Rma=a?a.enabled:n;var b=a&&a.scene;this.xa!=b&&(this.xa=b,this.pB=n,this.nc.AH(this.xa));var d=(b=(b=a&& a.eo)&&(b.getComponent(c.OrthographicCamera)||b.getComponent(c.PerspectiveCamera)))&&b.width,f=b&&b.height;if(this.width!=d||this.height!=f)this.width=d,this.height=f,this.pB=n,this.nc.setSize(this.width,this.height);a=a&&"srgb"==a.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.pT!=a&&(this.pT=a,this.pB=n,g.aTa(this.xa,a));a=b&&b.camera;this.oa!=a&&(this.oa=a,this.pB=n,this.nc.sv(this.oa));this.xa&&(g.$Sa(this.xa,this.oa),g.cTa(this.xa,this.width,this.height));return this};b.prototype.render= function(a,b,c){if((b||this.pB||!this.Sma)&&this.Rma){window.stats&&window.stats.begin();if(b)a.setRenderTarget(q),this.pB=n;else{if(!this.renderTarget){var f;f=a.capabilities.isWebGL2?d.wb()?2:8:0;this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:f});this.renderTarget.depthTexture=new THREE.DepthTexture}a.setRenderTarget(this.renderTarget);this.renderTarget.texture.encoding= this.pT;this.pB=B}a.outputEncoding=this.pT;this.nc.setRenderTarget(b?q:this.renderTarget);this.nc.XSa(a);this.nc.render(c);window.stats&&window.stats.end()}};b.prototype.isVisible=function(){return this.xa&&this.oa&&0d.indexOf(a)}).forEach(function(a){a.dispose()});this.Cu=d;var f=this.Cu.filter(function(a){return a.isVisible()});if(0\n}"});a.transparent=n;return a};b.yc=function(a){a.C(c.Dq).manager= new b(a)};b.Kb=function(a){var b=a.getComponent(c.Dq);b.manager.dispose();b.manager=q;a.ga(c.Dq)};b.update=function(a){a.getComponent(c.Dq).manager.update()};b.frame=function(a,b,d){a.getComponent(c.Dq).manager.frame(b,d)};return b}); define("kM",["require","kG","kR","fm","fr"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("fr"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(a,b){this.Aua.entities.length&&this.Aua.entities.slice().forEach(g.yc);this.xX.entities.length&&this.xX.entities.slice().forEach(function(c){g.frame(c,a,b)});this.Bua.entities.length&&this.Bua.entities.slice().forEach(g.Kb)};a.A={};a.A.Aua=[c.Th,c.Dq.not];a.A.Bua=[c.Th.not,c.Dq];a.A.xX=[c.Th,c.Dq];return a}); define("jo","require,kG,nU,fQ,de,cf,hy,kC".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("fQ"),g=a("de"),f=a("cf"),i=a("hy"),e=a("kC"),a=b.extend(c,function(a,b){c.call(this);this.kd=a;this.xa=b;this.la=new g;this.la.CO([this.kd]);this.la.bind(d.U,this.cd,this,B);this.la.bind(d.Ac,this.sf,this,B);this.Tc=q;this.eb=0;e.lo(this.la,i.kD)});a.prototype.Yi=function(a){if(this.eb!==a){this.eb=a;if(this.Tc){this.Tc.material.opacity=this.eb;this.Tc.material.visible=this.eb>0;this.Tc.material.needsUpdate= n}}};a.prototype.El=function(){return!!this.Tc};a.prototype.cd=function(){this.QBa();this.trigger(d.U)};a.prototype.sf=function(){this.trigger(d.Ac)};a.prototype.QBa=function(){var a=new THREE.Texture;a.image=e.jf(this.kd);a.generateMipmaps=n;a.minFilter=THREE.LinearMipMapLinearFilter;a.needsUpdate=n;a=new THREE.SpriteMaterial({map:a});a.sizeAttenuation=B;a.transparent=n;a.visible=this.eb>0;a.opacity=this.eb;this.Tc=new THREE.Sprite(a);this.Tc.renderOrder=-1E3};a.prototype.update=function(){if(this.Tc){var a= f.NN(this.xa);if(this.Tc.parent!=a){this.Tc.parent&&f.uua(this.Tc.parent,this.Tc);a&&f.HNa(a,this.Tc)}if(a){var b=f.HW(this.xa),c=this.Tc.material.map.image.width,d=this.Tc.material.map.image.height,a=b/(2*Math.tan(a.fov*j/2)),b=Math.max(b/a,f.Vra(this.xa)/(a*c/d));if(this.Tc.scale.y!=b){this.Tc.scale.y=b;this.Tc.scale.x=b*c/d}}c=f.GW(this.xa);if(this.Tc.material.map.encoding!=c){this.Tc.material.map.encoding=c;this.Tc.material.needsUpdate=n}}};a.prototype.dispose=function(){if(this.Tc){this.Tc.parent&& f.uua(this.Tc.parent,this.Tc);this.Tc.material.map.dispose();this.Tc.material.dispose();this.Tc=q}this.la&&e.Mj(this.la,i.kD)};var j=Math.PI/180;return a}); define("iV","require,nU,fm,jo,nx,bC".split(","),function(a){function b(a,b){this.k=a;this.di=b;this.ht=l;this.gi=this.bm=this.O=this.xa=q;this.update()}var d=a("nU"),c=a("fm"),g=a("jo"),f=a("nx"),i=a("bC");b.prototype.frame=function(a){this.O&&this.IB(a);this.bm&&this.bm.update();this.gi&&this.gi.update()};b.prototype.update=function(){var a=this.k.getComponent(c.Scene);this.xa=a.scene;if(!this.xa){if(!a.scene)return;this.xa=a.scene}a=a.p9||q;if(!(this.ht===a||this.O)){this.RI(this.gi);this.gi=q; if(this.ht=a)this.gi=this.cBa(this.ht);else{this.uw();this.di.trigger(d.U)}}};b.prototype.IB=function(a){this.O.xb(a);this.bm&&this.bm.Yi(Math.min(1,Math.max(0,this.O.gb("alpha"))));this.gi&&this.gi.Yi(Math.min(1,Math.max(0,this.O.gb("nextAlpha"))));if(this.O.Te()){this.O=q;if(this.bm){this.RI(this.bm);this.bm=q}this.bm=this.gi;this.gi=q;this.update()}this.k.R.ob()};b.prototype.V4=function(){this.gi.unbind(d.U,this.V4,this,n);this.gi.unbind(d.Ac,this.W4,this,n);this.uw();this.di.trigger(d.U)};b.prototype.W4= function(){this.RI(this.gi);this.gi=q;this.uw();this.di.trigger(d.U)};b.prototype.uw=function(){if(this.gi&&this.bm)this.O=new f("linear",[new i("nextAlpha",0,2,l),new i("alpha",2,0,l)],600);else if(this.gi)this.O=new f("linear",[new i("nextAlpha",0,1,l)],300);else if(this.bm)this.O=new f("linear",[new i("alpha",1,0,l)],300);this.k.R.ob()};b.prototype.cBa=function(a){a=new g(a,this.xa);this.Bza(a);a.Yi(0);return a};b.prototype.RI=function(a){if(a){this.ZLa(a);a.dispose()}};b.prototype.Bza=function(a){a.bind(d.U, this.V4,this,n);a.bind(d.Ac,this.W4,this,n)};b.prototype.ZLa=function(a){a.unbind(d.U,this.V4,this,n);a.unbind(d.Ac,this.W4,this,n)};b.prototype.dispose=function(){if(this.bm){this.RI(this.bm);this.bm=q}if(this.gi){this.RI(this.gi);this.gi=q}};return b}); define("kQ","require,nU,hy,mR,om,fm,cf,jR".split(","),function(a){function b(a,b){this.k=a;this.sU=this.PF=this.OF=this.fw=this.Ez=this.ht=this.fA=l;this.oa=this.h=this.xa=q;this.di=b;this.re=new f(this.di);this.bd=[new j(c.kD),new j(c.kD)];this.bd.forEach(function(a){a.bind(d.U,this.cd,this,n);a.bind(d.Ac,this.sf,this,n)}.bind(this));this.Hna([]);this.update()}var d=a("nU"),c=a("hy"),g=a("mR"),f=a("om"),i=a("fm"),e=a("cf"),j=a("jR");b.prototype.frame=function(){if(!this.h&&this.xa)if(this.h=b.yPa(this.xa)){this.X(); this.q8()}};b.prototype.update=function(){var a=this.k.getComponent(i.Scene),b=B,c=B,d=a.ira||q;if(this.fA!==d){this.fA=d;c=n}d=a.p9||q;if(this.ht!==d){this.ht=d;c=n}d=a.wqa||q;if(this.Ez!==d){this.Ez=d;c=n}if(c){this.Jpa();this.q8();b=n}if(this.fw!==a.backgroundColor){this.fw=a.backgroundColor;b=n}if(this.xa!==a.scene){this.xa=a.scene;b=n}b&&this.X()};b.prototype.Jpa=function(){this.Hna(this.IEa())};b.prototype.IEa=function(){var a=[];this.fA&&a.indexOf(this.fA)==-1&&a.push(this.fA);!this.ht&&this.Ez&& a.indexOf(this.Ez)==-1&&a.push(this.Ez);if(this.xa&&this.xa.background&&this.xa.background.image&&this.xa.background.image.src){var b=this.xa.background.image.src;a.indexOf(b)==-1&&a.push(b)}return a};b.prototype.Hna=function(a){var b=[],c=[];this.bd.forEach(function(d){var e=d.pi();if(a.indexOf(e)<0){d.cancel();b.push(d)}else c.push(e)});a.forEach(function(a){c.indexOf(a)<0&&b.shift().load(a)})};b.prototype.q8=function(){var a=0;this.re.Pqa();this.bd.forEach(function(b){if(b.pi()&&!b.El()){this.re.iN(b); a++}}.bind(this));a==0&&this.di&&this.di.trigger(d.U)};b.prototype.dispose=function(){this.bd.forEach(function(a){a.cancel();a.unbind(d.U,this.cd,this,n);a.unbind(d.Ac,this.sf,this,n)}.bind(this));if(this.k){this.HQ();this.Bt();this.k=q}};b.prototype.cd=function(){this.X();this.q8()};b.prototype.X=function(){if(this.xa&&this.h){if(this.fA){var a=this.Dha(this.fA);a?this.eza(a):this.HQ()}else this.HQ();if(this.ht)this.Bt();else if(this.Ez)(a=this.Dha(this.Ez))?this.vea(a,l):this.Bt();else this.fw? this.vea(l,this.fw):this.Bt();this.Jpa();this.k.R.ob()}};b.prototype.Dha=function(a){for(var b=0;b0)return d.renderer}return q};return b}); define("hj",["require","fm","om","iV","kQ"],function(a){function b(a){this.k=a;this.di=q;var b=this.k.G(d.Scene),j=this.k.G(d.Fq);this.k.C(d.Object3D).Yc=j.scene=b.scene=new THREE.Scene;this.re=new c;this.XI=new f(a,this.re.$B());this.Wd=new g(a,this.re.$B())}var d=a("fm"),c=a("om"),g=a("iV"),f=a("kQ");b.prototype.frame=function(a){this.XI.frame(a);this.Wd.frame(a)};b.prototype.update=function(){this.XI.update();this.Wd.update();this.EMa()};b.prototype.EMa=function(){var a=this.k.getComponent(d.Scene); this.di!=a.K9&&(this.di=a.K9,this.re.bSa(this.di))};b.prototype.dispose=function(){this.re&&(this.re.dispose(),this.re=q);this.Wd&&(this.Wd.dispose(),this.Wd=q);this.XI&&(this.XI.dispose(),this.XI=q);this.k&&(this.k=q)};b.yc=function(a){a.C(d.Fq).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(d.Fq);b.manager.dispose();b.manager=q;a.ga(d.Fq);a.ga(d.Object3D)};b.frame=function(a,b){a.getComponent(d.Fq).manager.frame(b)};b.update=function(a){a.getComponent(d.Fq).manager.update()};b.Paa=function(a){f.Paa(a)}; return b}); define("lq",["require","kG","kR","fm","hj"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("hj"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(a){this.Hua.entities.length&&this.Hua.entities.slice().forEach(g.yc);this.scenes.Ra.length&&this.scenes.Ra.slice().forEach(g.update);this.scenes.entities.length&&this.scenes.entities.slice().forEach(function(b){g.frame(b,a)});g.Paa(this.xX.entities.slice());this.Iua.entities.length&&this.Iua.entities.slice().forEach(g.Kb)};a.A= {};a.A.Hua=[c.Scene,c.Fq.not];a.A.scenes=[c.Scene,c.Fq];a.A.Iua=[c.Scene.not,c.Fq];a.A.xX=[c.Th,c.Dq];return a}); define("ny","require,kG,nU,ep,fm,cf,x,bc".split(","),function(a){function b(a){this.ml=a;this.bK();this.WI=[];this.Px=q;this.rA=this.z6=B;this.Pla={};this.Pla.eO=this.MHa.bind(this);this.update()}function d(a,b,c,d){this.Qb=a;this.Yc=b;this.point=c;this.normal=d}function c(a){return{x:a.x,y:a.y,z:a.z}}function g(a,b){a.indexOf(b)<0&&a.push(b)}function f(a,b){var c=a.indexOf(b);c>=0&&a.splice(c,1)}var i=a("kG"),e=a("nU"),j=a("ep"),o=a("fm"),k=a("cf"),m=a("x"),r=a("bc");i.WB(b,[m]);b.prototype.update= function(){var a=this.ml.getComponent(o.Go);this.TF(a&&(a.enabled?a.Zp:q));a&&a.Fb&&a.Fb.set("picker",a.Zp?this.Pla:q)};b.prototype.frame=function(){this.Du(s)};b.prototype.Wf=function(){this.$k&&D.indexOf(this.ml.R)==-1?this.Du(s):this.Du(t)};b.prototype.Du=function(a){if(!(this.Px&&a>=this.z6)){this.Px&&clearTimeout(this.Px);this.z6=a;this.Px=setTimeout(function(){this.Px=q;this.iHa()}.bind(this),this.z6)}};b.prototype.iHa=function(){var a=this.tEa();this.mna(a.map(function(a){return a.Qb}));a.forEach(function(a){this.pV(e.ad, a)}.bind(this))};b.prototype.EK=function(){var a=this.b2();a&&this.pV(e.ca,a)};b.prototype.VS=function(){var a=this.b2();a&&this.pV(e.Ul,a)};b.prototype.Bm=function(){var a=this.b2();if(a){this.C1=a.Qb;this.E1=a.Qb.getComponent(o.Vd).La;this.pV(e.zb,a)}};b.prototype.jr=function(){var a;if(this.C1)a=(a=this.C1.getComponent(o.Vd))&&a.La;if(!a&&this.E1)a=this.E1;this.E1=this.C1=q;a&&a.trigger(e.Wb,this.dha())};b.prototype.MHa=function(a,b,c){var d=this.Bc,e=this.Cc,f=this.dK,g=this.eK;this.Bc=b;this.Cc= c;this.eK=this.dK=l;var a=this.f2(a,[],1),i;a.length>0&&(i=this.Oha(a[0]));this.Bc=d;this.Cc=e;this.dK=f;this.eK=g;return i};b.prototype.tEa=function(){var a=H.get(this.ml.R);if(!a||a.length==0)return[];var b=G.get(this.ml.R);return this.f2(a,b)};b.prototype.b2=function(){var a=E.get(this.ml.R);if(!a||a.length==0)return q;var b=M.get(this.ml.R),a=this.f2(a,b,1);return a.length>0?a[0]:q};b.prototype.mna=function(a){this.WI.forEach(function(b){a.indexOf(b)<0&&this.Qoa(b,e.qb)}.bind(this));var b=this.WI; this.WI=a;this.WI.forEach(function(a){b.indexOf(a)<0&&this.Qoa(a,e.cc)}.bind(this));var c=a.find(function(a){return(a=a.getComponent(o.Vd))&&a.dn});if(this.rA!=c)(this.rA=c)?this.Kx(r.yf):this.qL(r.yf)};b.prototype.f2=function(a,b,c){c===l&&(c=Infinity);var e=[],f=[];a&&a.forEach(function(a){var b=k.gc(a);if(b){e.push(a);f.push(b)}});var g=[],i=[];b&&b.forEach(function(a){var b=k.gc(a);if(b){g.push(a);i.push(b)}});for(var a=this.sFa(f,this.Bc,this.Cc),b=[],m=[],r=0;r=0))if(x=y.getComponent(o.Vd)){var D=Array.isArray(t.material)&&p.face?t.material[p.face.materialIndex]:t.material;if(!D||D.visible)if(x.MO||!D||!D.map||j.STa(D.map,p.uv.x,p.uv.y)){t.isSkinnedMesh&&(t=this.SCa(t.skeleton.bones,s));b.push(y);m.push(new d(y,t,s,u))}}}}return m}; b.prototype.sFa=function(a,b,c){var d=k.gc(this.ml);if(!d||!d.isCamera)return[];v.set(b,c);this.fK(v);w.setFromCamera(v,d);var e=[];a.forEach(function(a){a.traverse(function(a){if(!a.isSkinnedMesh&&a.geometry&&!a.geometry.userData.Dqa){a.geometry.computeBoundsTree();a.geometry.userData.Dqa=n}if(a.isSkinnedMesh&&!a.userData.r9){a.userData.r9=a.geometry.boundingBox;a.geometry.boundingBox=x;a.userData.Fqa=a.geometry.boundingSphere;a.geometry.boundingSphere=y;e.push(a)}})});w.firstHitOnly=n;a=w.intersectObjects(a, n);e.forEach(function(a){a.geometry.boundingBox=a.userData.r9;delete a.userData.r9;a.geometry.boundingSphere=a.userData.Fqa;delete a.userData.Fqa});a=a.filter(function(a){return a.object.isLine?B:n});a.sort(function(a,b){var c=-a.object.renderOrder,d=-b.object.renderOrder;if(c==d){c=a.object.material&&!a.object.material.depthTest?0:1;d=b.object.material&&!b.object.material.depthTest?0:1}if(c==d){c=a.distance;d=b.distance}return c-d});return a};b.prototype.pV=function(a,b){var c=this.Oha(b);b.Qb.getComponent(o.Vd).La.trigger(a, c)};b.prototype.dha=function(){var a={};a.x=this.Bc;a.y=this.Cc;if(this.dK!==l&&this.eK!==l){a.pageX=this.dK;a.pageY=this.eK}return a};b.prototype.Oha=function(a){var b=this.dha(),d=a.Yc,e=a.point,a=a.normal;b.position=c(e);b.cameraPosition=c(u.setFromMatrixPosition(k.gc(this.ml).matrixWorld));for(var f=d,g=b;;){g.object=f.userData.id;g.name=f.name;g.type=f.isMesh?"mesh":f.isBone?"bone":"other";g.localPosition=c(f.worldToLocal(u.copy(e)));g.localScale=f.worldToLocal(u.set(1,1,1).normalize()).length(); g.objectMatrixWorld=d.matrixWorld.toArray();a&&(g.normal=c(p(d,a,f,u)));if(!f.parent||!f.parent.userData.id)break;f=f.parent;g=g.parent={}}return b};var p=function(){var a=new THREE.Vector3;matrix4=new THREE.Matrix4;return function(b,c,d,e){e.copy(c);if(b==d)return e;e.applyMatrix4(b.matrixWorld);e.sub(a.setFromMatrixPosition(b.matrixWorld));e.add(a.setFromMatrixPosition(d.matrixWorld));e.applyMatrix4(matrix4.copy(d.matrixWorld).invert()).normalize();return e}}();b.prototype.Qoa=function(a,b){var c= a.getComponent(o.Vd);(c=c&&c.La)&&c.trigger(b)};b.prototype.SCa=function(a,b){for(var c=q,d=Infinity,e=a.slice();e.length;){var f=e.shift(),g=b.distanceTo(f.getWorldPosition(u));if(gb+180;)a=a-360;return d(a,b,c)}function d(a,b,c){if(!c)return b;a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var c=a("kG"),g=a("nU"),f=a("cs"),i=a("kR"),e=a("fm"),j=a("cf"),a=c.extend(i,function(){i.apply(this,arguments);this.Xe=this.Xe.bind(this);this.wf=this.wf.bind(this);this.od=this.od.bind(this)});a.prototype.execute=function(a,b){this.ZN.entities.length&&this.ZN.entities.slice().forEach(this.Xe); this.iq.ag.length&&this.iq.ag.slice().forEach(function(c){this.wf(c,a,b)}.bind(this));this.iq.Ra.length&&this.iq.Ra.slice().forEach(function(c){this.wf(c,a,b)}.bind(this));this.Uta.entities.length&&this.Uta.entities.slice().forEach(function(c){this.wf(c,a,b)}.bind(this));this.gra.entities.length&&this.gra.entities.slice().forEach(this.od);this.hra.entities.length&&this.hra.entities.slice().forEach(this.od)};a.prototype.Xe=function(a){var b=a.getComponent(e.va),c=a.C(e.zf);c.Ue=b.Ue;c.we=b.we;c.cg= b.cg;c.lf=b.lf;c.Je=b.Je;c.mf=b.mf;c.sg=b.sg;c.scale=b.scale;c.tg=b.tg;c.Mg=b.Mg;c.si=b.si;c.Pg=b.Pg;c.ug=b.ug;c.Kf=b.Kf;this.updateMatrixWorld(a)};a.prototype.wf=function(a){var c=a.getComponent(e.va),f=a.getComponent(e.zf),g=c.vN||0;g?a.getComponent(e.qz)||a.C(e.qz):a.ga(e.qz);var i=q;if(c.Ue!==f.Ue){i||(i=a.G(e.zf));i.Ue=d(i.Ue,c.Ue,g)}if(c.we!==f.we){i||(i=a.G(e.zf));i.we=d(i.we,c.we,g)}if(c.cg!==f.cg){i||(i=a.G(e.zf));i.cg=d(i.cg,c.cg,g)}if(c.lf!==f.lf){i||(i=a.G(e.zf));i.lf=b(i.lf,c.lf,g)}if(c.Je!== f.Je){i||(i=a.G(e.zf));i.Je=b(i.Je,c.Je,g)}if(c.mf!==f.mf){i||(i=a.G(e.zf));i.mf=b(i.mf,c.mf,g)}if(c.scale!==f.scale){i||(i=a.G(e.zf));i.scale=c.scale}if(c.tg!==f.tg){i||(i=a.G(e.zf));i.tg=c.tg}if(c.Mg!==f.Mg){i||(i=a.G(e.zf));i.Mg=c.Mg}if(c.si!==f.si){i||(i=a.G(e.zf));i.si=c.si}if(c.Pg!==f.Pg){i||(i=a.G(e.zf));i.Pg=d(i.Pg,c.Pg,g)}if(c.ug!==f.ug){i||(i=a.G(e.zf));i.ug=d(i.ug,c.ug,g)}if(c.Kf!==f.Kf){i||(i=a.G(e.zf));i.Kf=d(i.Kf,c.Kf,g)}i?this.updateMatrixWorld(a):a.ga(e.qz)};var o=new THREE.Vector3; a.prototype.updateMatrixWorld=function(a){j.FX(a,a.getComponent(e.zf));var b=a.getComponent(e.va).La;if(b){j.getWorldPosition(a,o);a={position:{}};a.position.x=o.x;a.position.y=o.y;a.position.z=o.z;b.trigger(new f(g.rn,a))}};a.prototype.od=function(a){a.ga(e.zf);a.ga(e.qz)};a.A={};a.A.iq=[e.Object3D,e.va,e.zf];a.A.ZN=[e.Object3D,e.va,e.zf.not];a.A.Uta=[e.Object3D,e.va,e.zf,e.qz];a.A.gra=[e.Object3D.not,e.va,e.zf];a.A.hra=[e.va.not,e.zf];return a}); define("fX",["require","nU","gE","cs","nr"],function(a){function b(a,b,d,f){this.T=a;this.j=b;this.Xd=d;this.wa=f;this.Zb=a.vb();this.Af=this.j.get("currentTime");this.o=this.j.get("state");this.Vk=this.j.get("loop");this.MT=this.Zb.get("mute");this.BS=this.j.get("mute");this.o=this.j.get("autoplay")?c.S:c.Gb;this.h_();this.j.set("state",this.o);this.T.nf(this.MT||this.BS);this.T.setLoop(this.Vk);this.T.FC(this.Af);this.T.zd(this.o)}var d=a("nU"),c=a("gE"),g=a("cs"),f=a("nr");b.prototype.dispose= function(){this.e6()};b.prototype.$ka=function(){var a=this.j.get("currentTime",0);this.Af!=a&&this.T.FC(this.Af=a)};b.prototype.dla=function(){var a=this.j.get("state",c.L);this.o!=a&&this.T.zd(this.o=a)};b.prototype.bla=function(){var a=this.j.get("mute",B);this.BS!=a&&this.T.nf(this.MT||(this.BS=a))};b.prototype.ala=function(){var a=this.j.get("loop",B);this.Vk!=a&&this.T.setLoop(this.Vk=a)};b.prototype.PK=function(){var a=this.Zb.get("mute",B);this.MT!=a&&this.T.nf((this.MT=a)||this.BS)};b.prototype.YK= function(){this.j.set("currentTime",this.Af=this.T.Cl())};b.prototype.WK=function(){this.j.set("duration",this.T.Ui())};b.prototype.XK=function(){this.j.set("state",this.o=this.T.pg());this.wa()};b.prototype.ZK=function(){this.Xd.trigger(new g(d.Ha))};b.prototype.h_=function(){this.Zb.bind(d.u("mute"),this.PK,this,n);this.T.bind(f.pf,this.YK,this,n);this.T.bind(f.wi,this.WK,this,n);this.T.bind(d.Gc,this.XK,this,n);this.T.bind(d.Ha,this.ZK,this,n);this.j.bind(d.u("currentTime"),this.$ka,this,n);this.j.bind(d.u("state"), this.dla,this,n);this.j.bind(d.u("mute"),this.bla,this,n);this.j.bind(d.u("loop"),this.ala,this,n)};b.prototype.e6=function(){this.Zb.unbind(d.u("mute"),this.PK,this,n);this.T.unbind(f.pf,this.YK,this,n);this.T.unbind(f.wi,this.WK,this,n);this.T.unbind(d.Gc,this.XK,this,n);this.T.unbind(d.Ha,this.ZK,this,n);this.j.unbind(d.u("currentTime"),this.$ka,this,n);this.j.unbind(d.u("state"),this.dla,this,n);this.j.unbind(d.u("mute"),this.bla,this,n);this.j.unbind(d.u("loop"),this.ala,this,n)};return b}); define("u","require,nU,gE,hy,ck,kC,ex,fK".split(","),function(a){function b(a,b,c,e){this.Uo();this.T=a;this.j=b;this.jb=c;this.wa=e;this.AF=this.jb.get("posterURL");this.rNa=this.jb.get("url");this.Z=this.jb.get("width");this.ja=this.jb.get("height");this.sd=q;this.Oia();this.jb.bind(d.u("posterURL"),this.Yka,this,n);this.wa();this.ia=this.J=q}var d=a("nU"),c=a("gE"),g=a("hy"),f=a("ck"),i=a("kC"),e=a("ex"),j=a("fK");b.prototype.update=function(){var a=this.T.wW();a.isEmpty()&&(a=q);if(a&&(!this.sd|| this.sd&&!this.sd.isEqual(a))){this.sd=a;var a=this.sd.cA,b=j.iH(a);if(b){a.width=a.videoWidth||this.Z;a.height=a.videoHeight||this.ja}if(!this.J&&j.uwa(this.rNa)){this.J=document.createElement("canvas");this.J.width=this.Z;this.J.height=this.ja;this.ia=this.J.getContext("2d")}if(this.J&&b){this.ia.drawImage(a,0,0,this.J.width,this.J.height);a=this.J}this.Gna(a)}else!this.sd&&this.uu&&this.kb.image!=this.uu&&this.Gna(this.uu);(this.kb.needsUpdate||this.T.pg()==c.S)&&this.wa()};b.prototype.Yka=function(){this.bKa(this.jb.get("posterURL"))}; b.prototype.bKa=function(a){if(this.AF!=a){this.Xoa();this.AF=a;this.Oia()}};b.prototype.Oia=function(){if(this.AF){this.uu=q;this.zF=new f;this.zF.CO([this.AF]);this.zF.bind(d.U,this.Xka,this,n);i.lo(this.zF,this.j.get("loadPriority",g.qn))}};b.prototype.Xoa=function(){if(this.AF){this.zF.unbind(d.U,this.Xka,this,n);i.Mj(this.zF,this.j.get("loadPriority",g.qn));this.uu=this.zF=q}};b.prototype.Xka=function(){this.uu=i.jf(this.AF);if(this.uu.width!=this.Z||this.uu.height!=this.ja){var a=document.createElement("canvas"), b=a.getContext("2d");a.width=this.Z;a.height=this.ja;b.drawImage(this.uu,0,0,this.Z,this.ja);this.uu=a}this.wa()};b.prototype.Gna=function(a){!this.kb||this.kb.image.width!=a.width||this.kb.image.height!=a.height?this.Uo(a):this.kb.image=a;this.kb.needsUpdate=n};b.prototype.Uo=function(a){this.IQ();this.kb=new THREE.Texture;this.kb.image=a||e.Ara();this.kb.generateMipmaps=B;this.kb.minFilter=THREE.LinearFilter;this.kb.magFilter=THREE.LinearFilter;this.kb.format=THREE.RGBAFormat};b.prototype.IQ=function(){if(this.kb){this.kb.dispose(); this.kb=q}};b.prototype.dispose=function(){this.Xoa();this.jb.unbind(d.u("posterURL"),this.Yka,this,n);this.ia=this.jb=q;this.J&&(this.J=this.J.width=this.J.height=0);this.IQ();this.wa=this.Lh=this.T=q};return b}); define("ka",["require","fK"],function(a){var b=a("fK");return{Jwa:function(){this.blending=0;this.jH=l;this.sva=this.bwa=0},Yxa:function(){this.uy=B;this.height=this.width=100},create:function(a,c,g){var f=a.uy&&b.ysa(),i=a.uy&&b.xsa(),e=l,j=!f,o={uniforms:{},transparent:n};o.uniforms.text1={type:"sampler2D",value:q};o.uniforms.opacity={type:"float",value:1};o.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(f?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n"); if(i||c.blending||c.jH){var f=[],k=[],f=f.concat(["uniform sampler2D text1;","uniform float opacity;","varying vec2 vUV;"]),k=k.concat([" vec4 color = texture2D(text1, vUV);"," float alpha = color.a * opacity;"]);c.blending&&(e=0.5*Math.min(a.width,a.height)*c.blending,o.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(e/a.width,e/a.height)},f=f.concat(["uniform vec2 blendingLimit;"]),k=k.concat(" float xCoef = 0.0;, float yCoef = 0.0;, if (vUV.x < blendingLimit.x) {, xCoef = 1.0 - (vUV.x / blendingLimit.x);, xCoef = xCoef * xCoef;, } else if ((1.0 - vUV.x) < blendingLimit.x) {, xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);, xCoef = xCoef * xCoef;, }, if (vUV.y < blendingLimit.y) {, yCoef = 1.0 - (vUV.y / blendingLimit.y);, yCoef = yCoef * yCoef;, } else if ((1.0 - vUV.y) < blendingLimit.y) {, yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);, yCoef = yCoef * yCoef;, }, alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(","))); c.jH&&(o.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(c.jH.substr(1,2),16)/255,parseInt(c.jH.substr(3,2),16)/255,parseInt(c.jH.substr(5,2),16)/255)},o.uniforms.chromaThreshold={type:"f",value:c.bwa},o.uniforms.chromaSmoothing={type:"f",value:c.sva},f=f.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),k=k.concat(" float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{ float maskCr = 0.7132 * (chromaColor.r - maskY);{ float maskCb = 0.5647 * (chromaColor.b - maskY);{ float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{ float Cr = 0.7132 * (color.r - Y);{ float Cb = 0.5647 * (color.b - Y);{ float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{ alpha = alpha * chromaBlendValue;".split("{"))); k=k.concat(["\tgl_FragColor = vec4(color"+(i?".bgr":".rgb")+", alpha);"]);e=THREE.RGBAFormat;o.fragmentShader=[].concat(f,["void main() {"],k,["}"]).join("\n")}else o.fragmentShader="uniform sampler2D text1;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\n vec4 color = texture2D(text1, vUV);\n float alpha = color.a * opacity;\n\tgl_FragColor = vec4(color.rgb, alpha);\n}";a=new THREE.ShaderMaterial(o);a.transparent=n;a.depthWrite=n;a.side=THREE.FrontSide;a.depthTest=n;a.needsUpdate= n;a.userData.Zva=j;a.userData.$va=e;this.RC(a,g);return a},RC:function(a,b){a.uniforms.text1.value!==b&&(a.userData.Zva!==l&&(b.flipY=a.userData.Zva),a.userData.$va!==l&&(b.format=a.userData.$va),a.uniforms.text1.value=b)}}}); define("gC","require,jU,nU,gE,fX,u,ka,fK,fm,jG,nr".split(","),function(a){function b(a){this.k=a;this.OS=this.OS.bind(this);a=a.getComponent(o.Wv);this.Xd=a.La;this.j=a.Fb;this.HV=a.vwa;this.Zb=this.k.R.Zb;this.wa=this.wa.bind(this);this.Gf=B;this.jb=q;d.pa(this.HV,["levels.url","levels.width","levels.height"],this.OS,n)}var d=a("jU"),c=a("nU"),g=a("gE"),f=a("fX"),i=a("u"),e=a("ka"),j=a("fK"),o=a("fm"),k=a("jG"),m=a("nr");b.prototype.update=function(){if(this.Gf){this.Gf=B;this.Zn.update();e.RC(this.da, this.Zn.kb)}};b.prototype.OS=function(){this.PL(m.Hj(this.HV))};b.prototype.PL=function(a){a=a&&a.get("url")?a:q;if(this.jb!=a){if(this.jb){this.Wpa.dispose();this.Wpa=q;this.j.unbind(c.u("opacity"),this.cla,this,n);this.c1();this.Zn.dispose();this.Zn=q;this.mCa();this.Gf=B}if(this.jb=a){this.XBa();this.Wpa=new f(this.T,this.j,this.Xd,this.wa);this.Zn=new i(this.T,this.j,this.jb,this.wa);this.Xz();this.j.bind(c.u("opacity"),this.cla,this,n);this.vna(this.eb=this.j.get("opacity",1));this.Gf=B;this.wa()}}}; b.prototype.wa=function(){if(!this.Gf){this.Gf=n;this.k.R.ob()}};b.prototype.XBa=function(){this.T=new m(this.k.R.Zb,this.HV);this.Ku=new k(this.j,this.T)};b.prototype.mCa=function(){this.T.zd(g.L);this.T.clear();this.T=q;this.Ku.clear();this.Ku=q};b.prototype.Xz=function(){var a=new e.Yxa;a.uy=j.uy(this.jb.get("url"));a.width=this.jb.get("width");a.height=this.jb.get("height");var b=new e.Jwa;b.blending=this.j.get("blending",0);b.jH=this.j.get("chromaColor");b.bwa=this.j.get("chromaThreshold",0); b.sva=this.j.get("chromaSmoothing",0);this.da=e.create(a,b,this.Zn.kb);this.k.C(o.Material).material=this.da};b.prototype.c1=function(){this.da.dispose();this.da=q;this.k.ga(o.Material)};b.prototype.dispose=function(){this.PL(q);this.j.set("state",g.L);this.k=this.Xd=this.j=this.Zb=q;d.na(this.HV,["levels.url","levels.width","levels.height"],this.OS)};b.prototype.cla=function(){var a=this.j.get("opacity");if(this.eb!=a){this.vna(this.eb=a);this.wa()}};b.prototype.vna=function(a){this.da.opacity=a; if(this.da.isShaderMaterial&&this.da.uniforms.opacity)this.da.uniforms.opacity.value=a};b.yc=function(a){a.C(o.Xv).manager=new b(a)};b.Kb=function(a){var b=a.getComponent(o.Xv);b.manager.dispose();b.manager=q;a.ga(o.Xv)};b.update=function(a){a.getComponent(o.Xv).manager.update()};return b}); define("ek",["require","kG","kR","fm","gC"],function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("gC"),a=b.extend(d,function(){d.apply(this,arguments)});a.prototype.execute=function(){this.Hl.entities.length&&this.Hl.entities.slice().forEach(g.yc);this.Il.entities.length&&this.Il.entities.slice().forEach(g.Kb);this.materials.entities.length&&this.materials.entities.slice().forEach(g.update)};a.A={};a.A.Hl=[c.Wv,c.Xv.not];a.A.materials=[c.Wv,c.Xv];a.A.Il=[c.Wv.not,c.Xv];return a}); define("kt",["require","kG","kR","cf","fm"],function(a){var b=a("kG"),d=a("kR"),c=a("cf"),g=a("fm"),a=b.extend(d,function(){d.apply(this,arguments);this.W6=this.W6.bind(this);this.qG=this.qG.bind(this)});a.prototype.execute=function(){this.uba.ag.length&&this.uba.ag.slice().forEach(this.W6);this.yC.Ra.length&&this.yC.Ra.slice().forEach(this.qG);this.ps.Ra.length&&this.ps.Ra.slice().forEach(this.qG);this.yC.ag.length&&this.yC.ag.slice().forEach(this.qG);this.ps.ag.length&&this.ps.ag.slice().forEach(this.qG)}; a.prototype.W6=function(a){var b=a.getComponent(g.Vj),d=c.R9(b.eo),j=d&&d.width||100,d=d&&d.height||100;if(b.width!=j||b.height!=d)b=a.G(g.Vj),b.width=j,b.height=d};a.prototype.qG=function(a){var b=c.R9(a);this.uba.entities.forEach(function(c){if(c.getComponent(g.Vj).eo==a){var d=c.getComponent(g.Vj);if(d.width!=b.width||d.height!=b.height)d=c.G(g.Vj),d.width=b.width,d.height=b.height}})};a.A={};a.A.uba=[g.Vj];a.A.yC=[g.OrthographicCamera];a.A.ps=[g.PerspectiveCamera];return a}); define("dQ",["require"],function(){return{create:function(){var a=new THREE.BufferGeometry;a.setAttribute("position",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(12),2));a.setIndex(new THREE.BufferAttribute(new Uint32Array(6),1));return a},set:function(a,b,d,c,g,f,i,e,j,o,k,m,r,p,t){var s=a.getAttribute("position").array,u=a.getAttribute("normal").array,v= a.getAttribute("uv").array,w=a.getIndex().array;s[9]=s[0]=b;s[10]=s[1]=d;s[11]=s[2]=c;v[6]=v[0]=g;v[7]=v[1]=f;s[3]=s[0]+k;s[4]=s[1]+m;s[5]=s[2]+r;v[2]=v[0];v[3]=v[1]+p;s[12]=s[6]=s[3]+i;s[13]=s[7]=s[4]+e;s[14]=s[8]=s[5]+j;v[8]=v[4]=v[2]+o;v[9]=v[5]=v[3];s[15]=s[12]-k;s[16]=s[13]-m;s[17]=s[14]-r;v[10]=v[8];v[11]=v[9]-p;b=e*r-j*m;j=j*k-i*r;i=i*m-e*k;e=1/Math.sqrt(b*b+j*j+i*i);u[0]=u[3]=u[6]=u[9]=u[12]=u[15]=b*e;u[1]=u[4]=u[7]=u[10]=u[13]=u[16]=j*e;u[2]=u[5]=u[8]=u[11]=u[14]=u[17]=i*e;w[0]=0;w[1]=2; w[2]=1;w[3]=3;w[4]=5;w[5]=4;a.getAttribute("position").needsUpdate=n;a.getAttribute("normal").needsUpdate=n;a.getAttribute("uv").needsUpdate=n;a.clearGroups();a.addGroup(0,6,t);a.computeBoundingBox();a.computeBoundingSphere();return a}}}); define("nz",["require","nU","kJ"],function(a){function b(a,b,c){this.rm=a;this.j=b;this.G2=c;this.pU=this.pU.bind(this);this.HD=l;this.j.forEach(function(a){this.rm.bind(d.u(a),this.TA,this,n)}.bind(this));this.pU()}var d=a("nU"),c=a("kJ");b.prototype.stop=function(){this.j.forEach(function(a){this.rm.unbind(d.u(a),this.TA,this,n)}.bind(this));this.HD&&(c.cancel(this.HD),this.HD=l)};b.prototype.TA=function(){this.HD||(this.HD=c.yy(this.pU))};b.prototype.pU=function(){this.HD=l;var a=this.rm;this.G2.apply(window, this.j.map(function(b){return a.get(b)}))};return b}); define("fh","require,kG,kR,fm,dQ,nz,cf,mk,lv".split(","),function(a){var b=a("kG"),d=a("kR"),c=a("fm"),g=a("dQ"),f=a("nz"),i=a("cf"),e=a("mk"),j=a("lv"),o=b.extend(d,function(){d.apply(this,arguments);this.V6=this.V6.bind(this);this.w8=this.w8.bind(this);this.w7=this.w7.bind(this)});o.prototype.execute=function(){this.gO.entities.length&&this.gO.entities.slice().forEach(this.V6);this.fO.Ra.length&&this.fO.Ra.slice().forEach(this.w8);this.hua.entities.length&&this.hua.entities.slice().forEach(this.w7)}; o.prototype.V6=function(a){var b=a.getComponent(c.Yv),d=a.C(c.Vj);d.eo=b.eo;var e=i.R9(b.eo);if(e){d.width=e.width;d.height=e.height}d=a.C(c.Ys);d.geometry=g.create();d.qua=new f(b.Fb,["width","height","horizontalAlign","verticalAlign","scaleMode","zIndex"],function(b,d,e,f,g,i){var j=a.G(c.Ys);j.wva=b;j.tva=d;j.zsa=e;j.verticalAlign=f;j.Gua=g;j.zIndex=i});a.C(c.Geometry).geometry=d.geometry};o.prototype.w7=function(a){var b=a.getComponent(c.Ys);b.geometry.dispose();b.geometry=q;b.qua.stop();b.qua= q;a.ga(c.Geometry);a.ga(c.Vj);a.ga(c.Ys)};o.prototype.w8=function(a){var b=a.getComponent(c.Ys),d=a.getComponent(c.Vj),f=d.width,i=d.height,s=b.wva,u=b.tva,v;switch(b.Gua){case j.NONE:d=s;v=u;break;case j.Co:d=f;v=u*f/s;break;case j.Pj:v=i;d=s*i/u;break;case j.uq:if(s*i>u*f){v=i;d=s*i/u}else{d=f;v=u*f/s}break;default:if(s*i>u*f){d=f;v=u*f/s}else{v=i;d=s*i/u}}switch(b.zsa){case e.Ja:f=-f*0.5;break;case e.Xa:f=f*0.5-d;break;default:f=-d*0.5}switch(b.verticalAlign){case e.kc:i=i*0.5-v;break;case e.bc:i= -i*0.5;break;default:i=-v*0.5}s=b.zIndex-o.mxa;g.set(b.geometry,f,i,0,0,0,d,0,0,1,0,v,0,1,0);a.G(c.va,n).cg=s;a.R.ob()};o.mxa=100;o.A={};o.A.gO=[c.Yv,c.Ys.not];o.A.fO=[c.Yv,c.Ys,c.Vj];o.A.hua=[c.Yv.not,c.Ys];return o}); define("if","require,mr,m,ml,hw,ji,hQ,ko,ho,kL,lP,iq,cD,nE,fw,bF,hd,fe,kn,gG,gB,lZ,cX,hW,kM,lq,mI,hT,ks,eo,jN,ek,kt,fh".split(","),function(a){var b=a("mr"),d=a("m"),c=a("ml"),g=a("hw"),f=a("ji"),i=a("hQ"),e=a("ko"),j=a("ho"),o=a("kL"),k=a("lP"),m=a("iq"),r=a("cD"),p=a("nE"),t=a("fw"),s=a("bF"),u=a("hd"),v=a("fe"),w=a("kn"),x=a("gG"),y=a("gB");ParentSystem=a("lZ");PixelScaleTransformSystem=a("cX");PointerOverTransformSystem=a("hW");RendererSystem=a("kM");SceneSystem=a("lq");SelectionSystem=a("mI"); SolidMaterialSystem=a("hT");SphereSystem=a("ks");SpriteSystem=a("eo");TransformSystem=a("jN");VideoMaterialSystem=a("ek");ViewportSystem=a("kt");ViewportPlaneGeometrySystem=a("fh");a={};a.Dv=b;a.Rl=d;a.Qy=c;a.Camera=g;a.Iwa=f;a.Zi=i;a.Kv=e;a.Js=j;a.Group=o;a.Ls=k;a.bj=m;a.Light=r;a.Line=p;a.Rv=t;a.yq=s;a.Os=u;a.Mesh=v;a.zg=w;a.wxa=x;a.Hb=ParentSystem;a.Plane=y;a.Fo=PixelScaleTransformSystem;a.Rj=PointerOverTransformSystem;a.Th=RendererSystem;a.Scene=SceneSystem;a.Nxa=SelectionSystem;a.Vc=SolidMaterialSystem; a.Sphere=SphereSystem;a.Sprite=SpriteSystem;a.va=TransformSystem;a.Wv=VideoMaterialSystem;a.Vj=ViewportSystem;a.Yv=ViewportPlaneGeometrySystem;return a}); define("fR","require,kG,nU,d,bY,kx,fm,if".split(","),function(a){function b(a){return a.map(function(a){return String.fromCharCode(a)}).join("")}var d=a("kG"),c=a("nU"),g=a("d"),f=a("bY"),i=a("kx"),e=a("fm"),j=a("if"),a=d.extend(g,function(a,b){g.call(this);this.Zb=a;this.zNa=b;this.Wu=(new i(a)).ma(e.UC).ma(e.Dv).ma(e.Bs).ma(e.Ly).ma(e.Rl).ma(e.Ev).ma(e.My).ma(e.Qy).ma(e.Hv).ma(e.qq).ma(e.Es).ma(e.Zi).ma(e.Iv).ma(e.YO).ma(e.uo).ma(e.Jv).ma(e.Kv).ma(e.cD).ma(e.Is).ma(e.dD).ma(e.Ks).ma(e.Js).ma(e.vq).ma(e.Geometry).ma(e.Group).ma(e.hD).ma(e.Ls).ma(e.Ov).ma(e.Light).ma(e.Ms).ma(e.Line).ma(e.bj).ma(e.Pv).ma(e.Rv).ma(e.Sv).ma(e.Qv).ma(e.Material).ma(e.yq).ma(e.Tv).ma(e.Os).ma(e.Eo).ma(e.Mesh).ma(e.zq).ma(e.zg).ma(e.Ps).ma(e.Qs).ma(e.lz).ma(e.Object3D).ma(e.pD).ma(e.Rs).ma(e.qD).ma(e.Ss).ma(e.OrthographicCamera).ma(e.Uv).ma(e.PerspectiveCamera).ma(e.Bq).ma(e.Hb).ma(e.Aq).ma(e.Fo).ma(e.nz).ma(e.Plane).ma(e.Ts).ma(e.Go).ma(e.Us).ma(e.Rj).ma(e.Cq).ma(e.Vs).ma(e.Vc).ma(e.Ws).ma(e.va).ma(e.qz).ma(e.zf).ma(e.Th).ma(e.Dq).ma(e.Scene).ma(e.Fq).ma(e.Vd).ma(e.oz).ma(e.Sphere).ma(e.pz).ma(e.Sprite).ma(e.Gq).ma(e.Vc).ma(e.Ws).ma(e.Wv).ma(e.Xv).ma(e.Vj).ma(e.Yv).ma(e.Ys).ma(e.xD).Od(j.Camera,"Camera").Od(j.Vj, "Viewport").Od(j.Ls,"ImageMaterial").Od(j.Zi,"CanvasMaterial").Od(j.bj,"LineMaterial").Od(j.Vc,"SolidMaterial").Od(j.Wv,"VideoMaterial").Od(j.yq,"MaterialTransform").Od(j.Os,"MaterialVariant").Od(j.Yv,"ViewportPlaneGeometry").Od(j.Group,"Group").Od(j.Line,"Line").Od(j.Mesh,"Mesh").Od(j.Plane,"Plane").Od(j.Sphere,"Sphere").Od(j.Sprite,"Sprite").Od(j.zg,"Model").Od(j.Light,"Light").Od(j.Scene,"Scene").Od(j.Hb,"Parent").Od(j.wxa,"ObjectId").Od(j.Dv,"Animation").Od(j.Js,"FloorTransform").Od(j.Iwa,"CameraControls").Od(j.Kv, "Dragging").Od(j.Nxa,"Selection").Od(j.Rj,"PointerOverTransform").Od(j.Fo,"PixelScaleTransform").Od(j.va,"Transform").Od(j.Rl,"Area").Od(j.Rv,"LineToTransform").Od(j.Camera.VC,"CameraAutoNearFar").Od(j.Qy,"Beacon").Od(j.Th,"Renderer");this.h=this.Wu.Md("Renderer");this.tB=[];this.BB=B;this.bind(c.jc,this.gk,this,n);this.bind(c.pc,this.ck,this,n)});a.prototype.Md=function(a){return this.Wu.Md(a)};a.prototype.bg=function(a){this.Wu.bg(a)};a.prototype.lqa=function(a){if(!(this.tB.indexOf(a)>=0)){this.tB.push(a); if(a=this.h.G(e.Th))a.nO=this.tB.slice()}};a.prototype.zRa=function(a){a=this.tB.indexOf(a);if(!(a<0)){this.tB.splice(a,1);if(a=this.h.G(e.Th))a.nO=this.tB.slice()}};a.prototype.eTa=function(){if(this.BB!=n){this.BB=n;var a=this.h.G(e.Th);if(a)a.shadowMap=this.BB}};a.prototype.yd=function(a){this.Wu.yd(a)};a.prototype.C9=function(){this.Wu.update();return this.h.getComponent(e.Th).canvas.toDataURL("image/png")};a.prototype.gk=function(){this.yKa()};a.prototype.ck=function(){this.rLa()};a.prototype.yKa= function(){var a=this.h.getComponent(e.Th);if(!a){a=this.h.C(e.Th);a.PG=document.createElement("div");this.Ab().WV(a.PG);a.nO=this.tB.slice();a.antialias=n;a.shadowMap=this.BB;if(this.Zb.get(o)&&this.zNa){this.aN=document.createElement("div");for(var b in k)this.aN.style[b]=k[b];this.Ab().WV(this.aN)}}};a.prototype.rLa=function(){var a=this.h.getComponent(e.Th);if(a){this.Ab().wua(a.PG);this.aN&&this.Ab().wua(this.aN);this.aN=q;this.h.ga(e.Th)}};var o=b([119,97,116,101,114,109,97,114,107]),k={};k[b([104, 101,105,103,104,116])]=b([49,48,48,37]);k[b([119,105,100,116,104])]=b([49,48,48,37]);k[b([112,111,115,105,116,105,111,110])]=b([97,98,115,111,108,117,116,101]);k[b([116,111,112])]=0;k[b([108,101,102,116])]=0;k[b([98,97,99,107,103,114,111,117,110,100,73,109,97,103,101])]=b([117,114,108,40,34])+f.Zxa+b([34,41]);k[b([98,97,99,107,103,114,111,117,110,100,80,111,115,105,116,105,111,110])]=b([99,101,110,116,101,114]);k[b([98,97,99,107,103,114,111,117,110,100,83,105,122,101])]=b([99,111,110,116,97,105,110]); k[b([112,111,105,110,116,101,114,69,118,101,110,116,115])]=b([110,111,110,101]);k[b([98,97,99,107,103,114,111,117,110,100,82,101,112,101,97,116])]=b([110,111,45,114,101,112,101,97,116]);k[b([111,112,97,99,105,116,121])]=0.5;return a}); define("ij",["require","kG","nU","gE","du"],function(a){var b=a("kG"),d=a("nU"),c=a("gE"),g=a("du"),a=b.extend(g,function(a,b){g.call(this,a);this.T=b;this.T.bind(d.u("video"),this.VK,this);this.T.bind(d.Gc,this.VK,this);this.VK()});a.prototype.clear=function(){this.T&&(this.T.unbind(d.u("video"),this.VK,this),this.T.unbind(d.Gc,this.VK,this),this.T=q);g.prototype.clear.call(this)};a.prototype.VK=function(){this.Vaa(this.T.get("state")!=c.L?this.T.get("video"):q)};return a}); define("eU","require,kG,nU,bc,d,dK,ij".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("bc"),g=a("d"),f=a("dK"),i=a("ij"),a=b.extend(g,function(a,b,o){g.call(this);this.Zb=a;this.K=b;this.T=o;this.set("toolTipDisabled",n);this.set("cursor",c.Nv);this.bind(d.tc,this.Vb,this,n);this.eG=new i(b,o);this.vF=new f.Lca;this.vF.Gaa(f.Lca.eZ);this.vF.Jf(this.LT=B);[this.eG.Mc(),this.vF.Mc()].forEach(function(a,b){this.Ab().append(a);a.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden", "z-index":b})}.bind(this))});a.prototype.Oaa=function(a,b){if(this.LT!=a){this.LT=a;this.vF.Rua(b);this.vF.Jf(a)}};a.prototype.Vb=function(){this.KU=n;var a=this.Ua(),b=this.Cb();this.vF.setSize(a,b)};return a}); define("lz","require,kG,nU,bc,c,nq,fm,fR,eU".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("bc"),g=a("c"),f=a("nq"),i=a("fm"),e=a("fR"),j=a("eU"),a=b.extend(f,function(a,b,e){f.call(this);this.Zb=a;this.K=b;this.T=e;this.ke("Renderer");this.set("toolTipDisabled",n);this.set("cursor",c.Nv);this.set("layout",g.RO);this.Tb=this.xa=this.be=q;this.IV=[];this.YM=[];this.bind(d.tc,this.Vb,this,n);this.LM()});a.prototype.mb=function(){f.prototype.mb.call(this);if(this.be==q){this.be=new e(this.Zb,B); this.be.$({left:0,top:0,right:0,bottom:0});this.Oa(this.be);this.PBa();this.iBa();this.IV.forEach(function(a){this.Pfa(a)}.bind(this))}if(this.Tb==q){this.Tb=new j(this.Zb,this.K,this.T);this.Tb.$({left:0,top:0,right:0,bottom:0});this.Oa(this.Tb);this.LM()}};a.prototype.PNa=function(a){this.IV.push(a);this.be&&this.Pfa(a)};a.prototype.PBa=function(){this.xa=this.be.Md("Scene");this.xa.C(i.Scene).backgroundColor="transparent";this.be.lqa(this.xa)};a.prototype.iBa=function(){this.oa=this.be.Md("Camera"); var a=this.oa.C(i.OrthographicCamera);a.width=this.Se();a.height=this.Re();this.oa.C(i.Hb).Qb=this.xa;this.xa.G(i.Scene).eo=this.oa};a.prototype.Vb=function(){if(this.oa){var a=this.oa.G(i.OrthographicCamera);a.width=this.Se();a.height=this.Re()}};a.prototype.Pfa=function(a){var b=this.be.Md("Video");b.C(i.Hb).Qb=this.xa;b.C(i.Mesh).Fb=a;var c=b.C(i.Yv);c.Fb=a;c.eo=this.oa;c=b.C(i.Wv);c.Fb=a;c.vwa=a.get("video");c.La=a;this.YM.push(b);this.LM()};a.prototype.zua=function(a){a=this.IV.indexOf(a);if(!(a< 0)){this.IV.splice(a,1);this.be&&this.hCa(this.YM[a])}};a.prototype.hCa=function(a){var b=this.YM.indexOf(a);if(!(b<0)){this.YM.splice(b,1);this.be.bg(a);this.LM()}};a.prototype.Oaa=function(a){this.LT=a;this.LM()};a.prototype.LM=function(){this.Tb&&this.Tb.Oaa(this.LT&&this.YM.length>0)};return a}); define("bx","require,dY,kG,nU,gE,cs,eQ,me,fV,y,eI,lz,t,dV,cG,gq,nq".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("nU"),g=a("gE"),f=a("cs"),i=a("eQ"),e=a("me"),j=a("fV"),o=a("y");a("eI");a("lz");var k=a("t"),m=a("dV"),r=a("cG"),p=a("gq"),t=a("nq"),s=d.extend(t,function(){t.call(this);this.set("childrenInteractionEnabled",n);this.set("contentOpaque",n);this.set("creationPolicy",r.kz);this.set("vrPointerColor","#ffffff");this.set("vrPointerOverColor","#007acc");this.set("vrPointerSelectionColor", "#ff6600");this.set("vrPointerDistance",2);this.set("vrPointerSelectionTime",1200);this.set("surfaceReticleColor","#ffffff");this.set("surfaceReticleSelectionColor","#ffffff");this.set("surfaceReticleOpacity",0.6);this.set("surfaceReticleSelectionOpacity",1);this.set("displayTooltipInSurfaceSelection",n);this.set("doubleClickAction","toggle_fullscreen");this.set("subtitlesEnabled",n);this.set("checkToolTipOcclusion",n);this.set("isKeyboardTarget",B);this.Wq=this.Hd=this.XQ=this.Ih=q;this.w5=this.pr= B;this.li=g.L;this.Yl=this.Wj=q;this.En=B;this.q6=[];this.bind(s.Pca,this.cHa,this,n);this.bind(s.Oca,this.bHa,this,n);this.bind(c.zb,this.Qka,this);this.bind(c.zb,this.Qka,this);this.bind(c.cc,this.wHa,this);this.bind(c.qb,this.vHa,this);this.bind(c.jc,this.nT,this,n);this.bind(c.pc,this.tHa,this,n);this.x9=new e(this,"buttonPause",m.Uj);this.x9.bind(c.ca,this.bB,this);this.x9.set("state",p.me);this.z9=new e(this,"buttonPlay",m.Uj);this.z9.bind(c.ca,this.cB,this);this.z9.set("state",p.me);this.y9= new e(this,"buttonPlayPause",m.Uj);this.y9.bind(c.ca,this.ZGa,this);this.y9.set("state",p.me);this.A9=new e(this,"buttonStop",m.Uj);this.A9.bind(c.ca,this.wx,this);this.A9.set("state",p.bb);this.TNa=new e(this,"buttonRestart",m.ne);this.TNa.bind(c.ca,this.tx,this);this.$V=new e(this,"buttonToggleSubtitles",m.Uj);this.$V.bind(c.zi,function(){this.set("subtitlesEnabled",n)},this,n);this.$V.bind(c.Sj,function(){this.set("subtitlesEnabled",B)},this,n);this.bind(c.u("subtitlesEnabled"),function(){this.$V.set("pressed", this.get("subtitlesEnabled"))},this);this.$V.set("pressed",this.get("subtitlesEnabled"));this.wFa=d.jq(this.iNa,this);this.bind(c.Ul,this.sHa,this,n);this.bind(s.pP,this.uHa,this,n)});i.F("ViewerArea",s).H("UIComponent").Q({buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleSubtitles:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",cardboardPointerColor:"color",cardboardPointerSelectionTime:"number",cardboardPointerSelectionColor:"color",cardboardPointerDistance:"number",externalPlaybackBar:"PlaybackBar",vrPointerColor:"color",vrPointerOverColor:"color",vrPointerSelectionTime:"number",vrPointerSelectionColor:"color",vrPointerDistance:"number",transitionMode:"enum[blending, fade_out_fade_in]", transitionDuration:"number",blendingTransitionDuration:"number",disolveTransitionDuration:"number",displayTooltipInSurfaceSelection:"bool",displayTooltipInTouchScreens:"bool",doubleClickAction:"enum[toggle_fullscreen, none]",firstTransitionDuration:"number",translationTransitionSpeed:"number",translationTransitionDuration:"number",translationTransitionEnabled:"bool",progressBackgroundColor:"or[array[color], color]",progressBackgroundColorDirection:"enum[horizontal, vertical]",progressBackgroundColorRatios:"array[number]", progressBackgroundOpacity:"number",progressBarBackgroundColor:"or[array[color], color]",progressBarBackgroundColorDirection:"enum[horizontal, vertical]",progressBarBackgroundColorRatios:"array[number]",progressBarBorderColor:"color",progressBarBorderRadius:"number",progressBarBorderSize:"number",progressBarOpacity:"number",progressBorderColor:"color",progressBorderRadius:"number",progressBorderSize:"number",progressBottom:"or[number, percent]",progressHeight:"or[number, percent]",progressLeft:"or[number, percent]", progressOpacity:"number",progressRight:"or[number, percent]",externalProgressBar:"ProgressBar",playbackBarBackgroundColor:"or[array[color], color]",playbackBarBackgroundColorDirection:"enum[horizontal, vertical]",playbackBarBackgroundOpacity:"number",playbackBarBorderColor:"color",playbackBarBorderRadius:"number",playbackBarBorderSize:"number",playbackBarBottom:"or[number, percent]",playbackBarHeight:"or[number, percent]",playbackBarWidth:"or[number, percent]",playbackBarLeft:"or[number, percent]", playbackBarOpacity:"number",playbackBarRight:"or[number, percent]",playbackBarRollOverDisplay:"bool",playbackBarLiveDragging:"bool",playbackBarProgressBackgroundColor:"or[array[color], color]",playbackBarProgressBackgroundColorDirection:"enum[horizontal, vertical]",playbackBarProgressBackgroundColorRatios:"array[number]",playbackBarProgressBorderColor:"color",playbackBarProgressBorderRadius:"number",playbackBarProgressBorderSize:"number",playbackBarProgressOpacity:"number",playbackBarHeadBackgroundColor:"or[array[color], color]", playbackBarHeadBackgroundColorDirection:"enum[horizontal, vertical]",playbackBarHeadBackgroundColorRatios:"array[number]",playbackBarHeadBorderColor:"color",playbackBarHeadBorderRadius:"number",playbackBarHeadBorderSize:"number",playbackBarHeadOpacity:"number",playbackBarHeadWidth:"or[number, percent]",playbackBarHeadHeight:"or[number, percent]",playbackBarHeadShadow:"bool",playbackBarHeadShadowBlurRadius:"number",playbackBarHeadShadowColor:"color",playbackBarHeadShadowHorizontalLength:"number",playbackBarHeadShadowOpacity:"number", playbackBarHeadShadowSpread:"number",playbackBarHeadShadowVerticalLength:"number",playbackState:"enum[stopped, playing, paused]",subtitlesBackgroundColor:"color",subtitlesBackgroundOpacity:"number",subtitlesBorderColor:"color",subtitlesBorderSize:"number",subtitlesBottom:"or[number, percent]",subtitlesEnabled:"bool",subtitlesFontFamily:"string",subtitlesFontColor:"color",subtitlesFontSize:"or[number, size]",subtitlesFontStyle:"enum[italic, normal]",subtitlesFontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]", subtitlesGap:"number",subtitlesHorizontalAlign:"enum[left, center, right]",subtitlesOpacity:"number",subtitlesPaddingTop:"number",subtitlesPaddingBottom:"number",subtitlesPaddingLeft:"number",subtitlesPaddingRight:"number",subtitlesShadow:"bool",subtitlesShadowBlurRadius:"number",subtitlesShadowColor:"color",subtitlesShadowOpacity:"number",subtitlesShadowHorizontalLength:"number",subtitlesShadowVerticalLength:"number",subtitlesTextDecoration:"enum[underline, overline, line-through, none]",subtitlesTextShadowBlurRadius:"number", subtitlesTextShadowColor:"color",subtitlesTextShadowHorizontalLength:"number",subtitlesTextShadowOpacity:"number",subtitlesTextShadowVerticalLength:"number",subtitlesTop:"or[number, percent]",subtitlesVerticalAlign:"enum[top, middle, bottom]",surfaceReticleColor:"color",surfaceReticleOpacity:"number",surfaceReticleSelectionColor:"color",surfaceReticleSelectionOpacity:"number"}).Ng({play:function(){this.cB()},pause:function(){this.bB()},stop:function(){this.wx()},restart:function(){this.tx()}});s.lc= {progressBackgroundColor:l,progressBackgroundColorDirection:l,progressBackgroundColorRatios:l,progressBackgroundOpacity:l,progressBarBackgroundColor:l,progressBarBackgroundColorDirection:l,progressBarBackgroundColorRatios:l,progressBarBorderColor:l,progressBarBorderRadius:l,progressBarBorderSize:l,progressBarOpacity:l,progressBorderColor:l,progressBorderRadius:l,progressBorderSize:l,progressBottom:0,progressHeight:20,progressLeft:0,progressOpacity:l,progressPercent:0,progressRight:0,progressVisible:B, externalPlaybackBar:l,externalProgressBar:l,playbackBarBackgroundColor:l,playbackBarBackgroundColorDirection:l,playbackBarBackgroundOpacity:l,playbackBarBorderColor:l,playbackBarBorderRadius:l,playbackBarBorderSize:l,playbackBarBottom:10,playbackBarHeight:l,playbackBarWidth:l,playbackBarLeft:l,playbackBarOpacity:l,playbackBarRight:l,playbackBarLiveDragging:l,playbackBarDuration:100,playbackBarPosition:0,playbackBarRollOverDisplay:B,plabackBarSteps:l,plabackBarSelectedStep:l,playbackBarVisible:B,playbackBarProgressBackgroundColor:l, playbackBarProgressBackgroundColorDirection:l,playbackBarProgressBackgroundColorRatios:l,playbackBarProgressBorderColor:l,playbackBarProgressBorderRadius:l,playbackBarProgressBorderSize:l,playbackBarProgressOpacity:l,playbackBarHeadBackgroundColor:l,playbackBarHeadBackgroundColorDirection:l,playbackBarHeadBackgroundColorRatios:l,playbackBarHeadBorderColor:l,playbackBarHeadBorderRadius:l,playbackBarHeadBorderSize:l,playbackBarHeadOpacity:l,playbackBarHeadWidth:l,playbackBarHeadHeight:l,playbackBarHeadShadow:l, playbackBarHeadShadowBlurRadius:l,playbackBarHeadShadowColor:l,playbackBarHeadShadowHorizontalLength:l,playbackBarHeadShadowOpacity:l,playbackBarHeadShadowSpread:l,playbackBarHeadShadowVerticalLength:l,playbackBarStepBackgroundColor:l,playbackBarStepBackgroundColorDirection:l,playbackBarStepBackgroundColorRatios:l,playbackBarStepBorderColor:l,playbackBarStepBorderRadius:l,playbackBarStepBorderSize:l,playbackBarStepOpacity:l,playbackBarStepWidth:l,playbackBarStepHeight:l,playbackBarStepShadow:l,playbackBarStepShadowBlurRadius:l, playbackBarStepShadowColor:l,playbackBarStepShadowHorizontalLength:l,playbackBarStepShadowOpacity:l,playbackBarStepShadowSpread:l,playbackBarStepShadowVerticalLength:l,playbackBarStepSelectedBackgroundColor:l,playbackBarStepSelectedBackgroundColorDirection:l,playbackBarStepSelectedBackgroundColorRatios:l,playbackBarStepSelectedBorderColor:l,playbackBarStepSelectedBorderRadius:l,playbackBarStepSelectedBorderSize:l,playbackBarStepSelectedOpacity:l,playbackBarStepSelectedWidth:l,playbackBarStepSelectedHeight:l, playbackBarStepSelectedShadow:l,playbackBarStepSelectedShadowBlurRadius:l,playbackBarStepSelectedShadowColor:l,playbackBarStepSelectedShadowHorizontalLength:l,playbackBarStepSelectedShadowOpacity:l,playbackBarStepSelectedShadowSpread:l,playbackBarStepSelectedShadowVerticalLength:l,subtitlesBackgroundColor:"#000000",subtitlesBackgroundOpacity:1,subtitlesBorderColor:l,subtitlesBorderSize:0,subtitlesBottom:"10%",subtitlesFontFamily:l,subtitlesFontColor:"#ffffff",subtitlesFontSize:"12px",subtitlesFontStyle:l, subtitlesFontWeight:l,subtitlesGap:10,subtitlesHorizontalAlign:"center",subtitlesOpacity:1,subtitlesPaddingTop:5,subtitlesPaddingBottom:5,subtitlesPaddingLeft:5,subtitlesPaddingRight:5,subtitlesShadow:B,subtitlesShadowBlurRadius:l,subtitlesShadowHorizontalLength:0,subtitlesShadowVerticalLength:0,subtitlesShadowColor:"#000000",subtitlesShadowOpacity:0,subtitlesTextDecoration:l,subtitlesTextShadowBlurRadius:l,subtitlesTextShadowColor:"#000000",subtitlesTextShadowHorizontalLength:0,subtitlesTextShadowOpacity:0, subtitlesTextShadowVerticalLength:0,subtitlesTop:l,subtitlesVerticalAlign:"bottom",transitionDuration:500,blendingTransitionDuration:l,disolveTransitionDuration:l,translationTransitionDuration:l,translationTransitionEnabled:n,toolTipEnabled:n};b.defaults(s.lc,t.lc);s.prototype.set=function(a,b){if(a=="playbackState"){b=this.li;if(this.get(a)!=b){this.w5=n;this.wFa()}}switch(a){case "toolTipEnabled":this.set("toolTipDisabled",b===B);break;case "cardboardPointerDistance":this.set("vrPointerDistance", b);break;case "cardboardPointerColor":this.set("vrPointerColor",b);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor",b);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",b);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.MM()}t.prototype.set.call(this,a,b)};s.prototype.ab=function(){this.zn(s.lc)};s.prototype.mb=function(){t.prototype.mb.call(this);if(this.Ih==q){this.Ih=new o;this.Oa(this.Ih)}if(this.Hd==q){this.Hd=new j; this.Hd.bind(c.qa,this.t5,this,n);this.Oa(this.Hd);this.MM()}};s.prototype.fPa=S("Hd");s.prototype.Pl=function(){t.prototype.Pl.call(this);for(var a=[],b=this.q6.length-1;b>=0;b--)a.push(this.q6[b].h);this.Hd&&a.push(this.Hd);this.Ih&&a.push(this.Ih);var c=this.Db(),a=a.filter(function(a){return c.indexOf(a)>=0}),c=c.filter(function(b){return a.indexOf(b)==-1}).concat(a);c.forEach(function(a,b){a&&this.T9(a)!=b&&this.Zm(a,b)}.bind(this))};s.prototype.Ma=function(){if(this.v("externalProgressBar")){(this.XQ= this.p("externalProgressBar"))?this.removeChild(this.Ih):this.Oa(this.Ih);this.I("externalProgressBar");b(s.Rda).each(function(a){this.zB(a)},this)}this.Yb(s.hya,s.Gda,[this.Ih],n,n);var a=[this.Ih];this.XQ&&a.push(this.XQ);this.Yb(s.Rda,s.Sda,a,n,n);if(this.v("externalPlaybackBar")){this.Wq&&this.Wq.unbind(c.qa,this.t5,this,n);(this.Wq=this.p("externalPlaybackBar"))?this.removeChild(this.Hd):this.Oa(this.Hd);this.MM();this.Wq&&this.Wq.bind(c.qa,this.t5,this,n);this.I("externalPlaybackBar");b(s.Nda).each(function(a){this.zB(a)}, this)}this.Yb(s.gya,s.Fda,[this.Hd],n,n);a=[this.Hd];this.Wq&&a.push(this.Wq);this.Yb(s.Nda,s.Oda,a,n,n);t.prototype.Ma.call(this)};s.prototype.iNa=function(){if(this.w5){this.w5=B;this.x9.set("state",this.li==g.Gb?p.bb:p.me);this.z9.set("state",this.li==g.S||this.li==g.Gb?p.bb:p.me);this.y9.set("state",this.li==g.S?p.bb:p.me);this.A9.set("state",this.li==g.L?p.bb:p.me)}};s.prototype.oc=function(a){this.li=a;this.set("playbackState",a)};s.prototype.nT=function(){s.gk(this)};s.prototype.tHa=function(){s.ck(this)}; s.prototype.bB=function(){this.li==g.Gb?this.uj():this.Nn()};s.prototype.cB=function(){this.uj()};s.prototype.ZGa=function(){this.li==g.S?this.Nn():this.uj()};s.prototype.wx=function(){this.Om()};s.prototype.tx=function(){this.Om();this.uj()};s.prototype.sHa=function(){if(!this.Wj||!this.Wj.Lqa())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.vb().Gi;a&&a.available()&&a.toggle()}};s.prototype.uHa=function(a){this.q6=a.data.players;this.xd()};s.prototype.uj=function(){this.Yl&& this.Yl.play()};s.prototype.Nn=function(){this.Yl&&this.Yl.pause()};s.prototype.Om=function(){this.Yl&&this.Yl.stop()};s.prototype.cHa=function(a){this.ena(a.data.player)};s.prototype.bHa=function(a){this.Wj==a.data.player&&this.ena(q)};s.prototype.Qka=function(){s.nq(this)};s.prototype.wHa=function(){this.En=n;this.MM()};s.prototype.vHa=function(){this.En=B;this.MM()};s.prototype.MM=function(){this.Hd&&this.Hd.set("visible",this.get("playbackBarVisible")&&(this.En||!this.get("playbackBarRollOverDisplay")|| k.XX()))};s.prototype.ena=function(a){if(this.Wj!=a){this.set("playbackBarVisible",B);this.Wj&&this.Wj.nq(B);this.Yl&&this.Yl.unbind(c.u("state"),this.d_,this);this.cIa=this.Wj;(this.Wj=a)&&this.Wj.nq(!!this.NE);(this.Yl=this.Wj&&this.Wj.iAa?this.Wj:q)&&this.Yl.bind(c.u("state"),this.d_,this,n);this.d_()}};s.prototype.nq=function(a){this.NE=a;this.set("isKeyboardTarget",a);this.Wj&&this.Wj.nq(!!this.NE)};s.prototype.hUa=function(){return!this.cIa};s.prototype.d_=function(){this.Yl?this.oc(this.Yl.get("state")): this.oc(g.L)};s.prototype.t5=function(){var a=(this.Wq?this.Wq:this.Hd).get("position");this.trigger(new f(s.WY,{position:a}))};s.Gda={progressBackgroundColor:"backgroundColor",progressBackgroundColorDirection:"backgroundColorDirection",progressBackgroundColorRatios:"backgroundColorRatios",progressBackgroundOpacity:"backgroundOpacity",progressBarBackgroundColor:"barBackgroundColor",progressBarBackgroundColorDirection:"barBackgroundColorDirection",progressBarBackgroundColorRatios:"barBackgroundColorRatios", progressBarBorderColor:"barBorderColor",progressBarBorderRadius:"barBorderRadius",progressBarBorderSize:"barBorderSize",progressBarOpacity:"barOpacity",progressBorderColor:"borderColor",progressBorderRadius:"borderRadius",progressBorderSize:"borderSize",progressHeight:"height",progressOpacity:"opacity",progressBottom:"bottom",progressLeft:"left",progressRight:"right"};s.hya=b(s.Gda).keys();s.Sda={progressPercent:"percent",progressVisible:"visible"};s.Rda=b(s.Sda).keys();s.Fda={playbackBarBackgroundColor:"backgroundColor", playbackBarBackgroundColorDirection:"backgroundColorDirection",playbackBarBackgroundOpacity:"backgroundOpacity",playbackBarBorderColor:"borderColor",playbackBarBorderRadius:"borderRadius",playbackBarBorderSize:"borderSize",playbackBarBottom:"bottom",playbackBarHeight:"height",playbackBarWidth:"width",playbackBarLeft:"left",playbackBarOpacity:"opacity",playbackBarRight:"right",playbackBarLiveDragging:"liveDragging",playbackBarProgressBackgroundColor:"barBackgroundColor",playbackBarProgressBackgroundColorDirection:"barBackgroundColorDirection", playbackBarProgressBackgroundColorRatios:"barBackgroundColorRatios",playbackBarProgressBorderColor:"barBorderColor",playbackBarProgressBorderRadius:"barBorderRadius",playbackBarProgressBorderSize:"barBorderSize",playbackBarProgressOpacity:"barOpacity",playbackBarHeadBackgroundColor:"playheadBackgroundColor",playbackBarHeadBackgroundColorDirection:"playheadBackgroundColorDirection",playbackBarHeadBackgroundColorRatios:"playheadBackgroundColorRatios",playbackBarHeadBorderColor:"playheadBorderColor", playbackBarHeadBorderRadius:"playheadBorderRadius",playbackBarHeadBorderSize:"playheadBorderSize",playbackBarHeadOpacity:"playheadOpacity",playbackBarHeadWidth:"playheadWidth",playbackBarHeadHeight:"playheadHeight",playbackBarHeadShadow:"playheadShadow",playbackBarHeadShadowBlurRadius:"playheadShadowBlurRadius",playbackBarHeadShadowColor:"playheadShadowColor",playbackBarHeadShadowHorizontalLength:"playheadShadowHorizontalLength",playbackBarHeadShadowOpacity:"playheadShadowOpacity",playbackBarHeadShadowSpread:"playheadShadowSpread", playbackBarHeadShadowVerticalLength:"playheadShadowVerticalLength",playbackBarStepBackgroundColor:"stepBackgroundColor",playbackBarStepBackgroundColorDirection:"stepBackgroundColorDirection",playbackBarStepBackgroundColorRatios:"stepBackgroundColorRatios",playbackBarStepBorderColor:"stepBorderColor",playbackBarStepBorderRadius:"stepBorderRadius",playbackBarStepBorderSize:"stepBorderSize",playbackBarStepOpacity:"stepOpacity",playbackBarStepWidth:"stepWidth",playbackBarStepHeight:"stepHeight",playbackBarStepShadow:"stepShadow", playbackBarStepShadowBlurRadius:"stepShadowBlurRadius",playbackBarStepShadowColor:"stepShadowColor",playbackBarStepShadowHorizontalLength:"stepShadowHorizontalLength",playbackBarStepShadowOpacity:"stepShadowOpacity",playbackBarStepShadowSpread:"stepShadowSpread",playbackBarStepShadowVerticalLength:"stepShadowVerticalLength",playbackBarSelectedStepBackgroundColor:"selectedStepBackgroundColor",playbackBarSelectedStepBackgroundColorDirection:"selectedStepBackgroundColorDirection",playbackBarSelectedStepBackgroundColorRatios:"selectedStepBackgroundColorRatios", playbackBarSelectedStepBorderColor:"selectedStepBorderColor",playbackBarSelectedStepBorderRadius:"selectedStepBorderRadius",playbackBarSelectedStepBorderSize:"selectedStepBorderSize",playbackBarSelectedStepOpacity:"selectedStepOpacity",playbackBarSelectedStepWidth:"selectedStepWidth",playbackBarSelectedStepHeight:"selectedStepHeight",playbackBarSelectedStepShadow:"selectedStepShadow",playbackBarSelectedStepShadowBlurRadius:"selectedStepShadowBlurRadius",playbackBarSelectedStepShadowColor:"selectedStepShadowColor", playbackBarSelectedStepShadowHorizontalLength:"selectedStepShadowHorizontalLength",playbackBarSelectedStepShadowOpacity:"selectedStepShadowOpacity",playbackBarSelectedStepShadowSpread:"selectedStepShadowSpread",playbackBarSelectedStepShadowVerticalLength:"selectedStepShadowVerticalLength"};s.gya=b(s.Fda).keys();s.Oda={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};s.Nda=b(s.Oda).keys();s.pP= "requestByPlayer";s.Pca="playerShow";s.Oca="playerHide";s.WY="playbackBarPositionChange";s.IA=q;s.nq=function(a){if(s.IA!=a){s.IA&&s.IA.nq(B);s.IA=a;s.IA&&s.IA.nq(n)}};s.iy=[];s.gk=function(a){var b=s.iy.indexOf(a);b<0&&s.iy.splice(b,1);s.iy.push(a);this.nq(a)};s.ck=function(a){var b=s.iy.indexOf(a);b<0&&s.iy.splice(b,1);s.IA==a&&s.nq(s.iy.length?s.iy[s.iy.length-1]:q)};return s}); define("cS","kG,lh,nU,cs,eQ,bx".split(","),function(a,b,d,c,g,f){var i=a.extend(b,function(a){b.call(this);this.iAa=a;this.$L=this.ix=q});i.xf="mediaShow";i.xi="mediaHide";i.prototype.nq=I();i.prototype.Lqa=T(B);i.prototype.WL=function(a){if(this.ix!=a){this.ix&&this.a8(this.ix);(this.ix=a)&&this.K_(this.ix)}};i.prototype.K_=function(a){a.bind(f.pP,this.Ypa,this,n);a.bind(f.WY,this.lL,this)};i.prototype.a8=function(a){a.unbind(f.pP,this.Ypa,this);a.unbind(f.WY,this.lL,this)};i.prototype.tH=function(a){this.ix.trigger(new c(f.pP, {players:a||[this]}))};i.prototype.Ypa=function(a){a.data.players.indexOf(this)<0&&this.bG()};i.prototype.lL=I();i.prototype.bG=I();i.prototype.WJ=function(a){this.trigger(new c(i.xf,{media:a}));this.$L=this.ix;this.$L.trigger(new c(f.Pca,{player:this}))};i.prototype.VJ=function(a){this.trigger(new c(i.xi,{media:a}));if(this.$L){this.$L.trigger(new c(f.Oca,{player:this}));this.$L=q}};return i}); define("dT","kG,lh,nU,cs,eQ,me,cS,bx,gE,dV,gq".split(","),function(a,b,d,c,g,f,i,e,j,o,k){b=a.extend(i,function(){i.call(this,n);this.pr=B;this.$F=n;this.o=j.L;this.O_=new f(this,"buttonPlayPause",o.Uj);this.O_.bind(d.zi,this.$Ga,this,n);this.O_.bind(d.Sj,this.aHa,this,n);this.Rea=new f(this,"buttonPause",o.ne);this.Rea.bind(d.ca,this.bB,this,n);this.Sea=new f(this,"buttonPlay",o.ne);this.Sea.bind(d.ca,this.cB,this,n);this.Xea=new f(this,"buttonStop",o.ne);this.Xea.bind(d.ca,this.wx,this,n);this.aAa= new f(this,"buttonRestart",o.ne);this.aAa.bind(d.ca,this.tx,this,n);this.sia=a.jq(this.NMa,this);this.sia()});b.prototype.set=function(a,b){a!="state"&&i.prototype.set.call(this,a,b)};b.prototype.get=function(a,b){switch(a){case "state":return this.o}return i.prototype.get.call(this,a,b)};b.prototype.NMa=function(){if(this.$F){this.$F=B;this.Rea.set("state",this.o==j.Gb?k.bb:k.me);this.Sea.set("state",this.o==j.S||this.o==j.Gb?k.bb:k.me);this.O_.set("pressed",this.o==j.S);this.Xea.set("state",this.o== j.L?k.bb:k.me)}};b.prototype.Vx=function(a){if(this.pr!=a)(this.pr=a)||this.oc(j.L)};b.prototype.oc=function(a){var b=this.o;this.o=a;i.prototype.set.call(this,"state",a);if(b!=this.o){this.$F=n;this.sia();this.trigger(new c(d.Gc,{oldState:b,state:this.o}))}};b.prototype.bB=function(){this.pr&&(this.o==j.Gb?this.uj():this.Nn())};b.prototype.cB=function(){this.pr&&this.uj()};b.prototype.$Ga=function(){this.pr&&this.uj()};b.prototype.aHa=function(){this.pr&&this.Nn()};b.prototype.wx=function(){this.pr&& this.Om()};b.prototype.tx=function(){if(this.pr){this.Om();this.uj()}};b.prototype.uj=I();b.prototype.Nn=I();b.prototype.Om=I();return b});define("ju",[],function(){return{Sy:"constrained",Xwa:"free_drag",tUa:"free_drag_and_rotation",CZ:"sync_with_field_of_view"}}); define("jV",["kG","ju","lv"],function(a,b,d){function c(){this.ka=n;this.Ca=this.ya=0.5;this.Pc=0;this.Va=1;this.ef=d.Rg;this.zm=b.Sy;this.c4=this.g4=1;this.he=this.ie=this.Zl=this.$l=100;this.Mm=c.sz}c.prototype.qsa=function(){return this.Mm!==c.sz};c.prototype.psa=function(){return this.Mm&c.zD?n:B};c.prototype.rsa=function(){return this.Mm&c.AD?n:B};c.prototype.ssa=function(){return this.Mm&c.wz?n:B};c.prototype.osa=function(){return this.Mm&c.rz?n:B};c.prototype.getX=function(){this.Tm();return this.ya}; c.prototype.getY=function(){this.Tm();return this.Ca};c.prototype.gq=function(){this.Tm();return this.Va};c.prototype.RG=function(){this.Tm();return this.Pc};c.prototype.oO=function(a,b,c,d,j){this.ie=a;this.he=b;this.ef=c;this.g4=d;this.c4=j;this.Ca=this.ya=0.5;this.Pc=0;this.Va=d;this.ka=n};c.prototype.hb=function(a,b,c,d){this.ya=a;this.Ca=b;this.Pc=c;this.Va=d;this.ka=n};c.prototype.oq=function(a){this.zm=a;this.ka=n};c.prototype.setSize=function(a,b){this.$l=a;this.Zl=b;this.ka=n};c.prototype.Tm= function(){if(this.ka){this.ka=B;var a=c.sz;this.Va>this.c4?(this.Va=this.c4,a|=c.iya):this.Vathis.he*this.$l?(i=this.ie*this.Zl/this.he,j=this.Zl):(i=this.$l,j=this.he*this.$l/this.ie);break;default:case d.Rg:this.ie*this.Zl>this.he*this.$l?(i=this.$l, j=this.he*this.$l/this.ie):(i=this.ie*this.Zl/this.he,j=this.Zl)}i*=this.Va;j*=this.Va;f=Math.min(0.5*this.$l/i,0.5);i=Math.max(1-0.5*this.$l/i,0.5);e=Math.min(0.5*this.Zl/j,0.5);j=Math.max(1-0.5*this.Zl/j,0.5)}else f=0,i=1,e=0,j=1;this.yai&&(this.ya=i,a|=c.AD);this.Caj&&(this.Ca=j,a|=c.rz);if((this.zm==b.Sy||this.zm==b.Xwa)&&0!=this.Pc)this.Pc=0,a|=c.nya;this.Mm=a}};c.sz=0;c.zD=1;c.AD=2;c.wz=4;c.rz=8;c.jya=16;c.iya=32;c.nya=64;return c}); define("fU",[],function(){function a(){this.TI=0.1;this.DQ=this.I0=this.L0=this.K0=this.S0=this.H0=this.Q0=this.P0=this.gN=this.k9=this.yz=this.n_=this.eN=this.h9=this.cN=this.f9=0}a.prototype.CX=R("TI");a.prototype.kva=function(a,d,c,g,f,i,e,j){this.f9=a;this.h9=d;this.n_=c;this.k9=g;this.cN+=f;this.eN+=i;this.yz+=e;this.gN+=j};a.prototype.He=function(){return 0!=this.P0||0!=this.Q0||0!=this.H0||0!=this.S0||0!=this.f9||0!=this.h9||0!=this.n_||0!=this.k9||0!=this.cN||0!=this.eN||0!=this.yz||0!=this.gN}; a.prototype.xb=function(a){a=1E3/a;this.K0=this.RQ(this.P0/a,this.f9/a+this.cN,this.TI);this.L0=this.RQ(this.Q0/a,this.h9/a+this.eN,this.TI);this.I0=this.RQ(this.H0/a,this.n_/a+this.yz,this.TI);this.DQ=this.RQ(this.S0/a,this.k9/a+this.gN,this.TI);this.P0=this.K0*a;this.Q0=this.L0*a;this.H0=this.I0*a;this.S0=this.DQ*a;this.gN=this.yz=this.eN=this.cN=0};a.prototype.RQ=function(a,d,c){return 0==d?this.Qf(a,d,c):d};a.prototype.Qf=function(a,d,c){a=(d-a)*(1-c);0.01>Math.abs(a)&&(a=0);return d-a};return a}); define("fZ",["kG","nU","cs","fQ","lv"],function(a,b,d,c){var g=a.extend(c,function(){c.call(this);this.jE=7;this.yS=this.w3=B;this.AS=l;this.Pc=0;this.Va=1;this.he=this.ie=100;this.$R=1;this.B5=n;this.C5=B;this.DNa=n;this.j9=B;this.Wa=q});g.prototype.qO=R("jE");g.prototype.zd=function(a,b,c,d){this.Pc=a;this.Va=b;this.ie=c;this.he=d};g.prototype.WSa=function(a){this.B5=a;this.CU(this.B5&&!!this.Wa)};g.prototype.qs=function(a){this.Wa!=a&&(this.CU(B),this.X6(B),this.Al(),this.Wa=a,this.CU(this.B5&& !!this.Wa),this.X6(this.DNa&&!!this.Wa))};g.prototype.Al=function(){this.CU(B);this.X6(B);this.Wa=q};g.prototype.CU=function(a){this.C5!=a&&((this.C5=a)?this.Iza():this.aMa())};g.prototype.X6=function(a){this.j9!=a&&((this.j9=a)?this.Jza():this.bMa())};g.prototype.Iza=function(){this.Wa.bind(b.zb,this.Fd,this,n);this.Wa.bind(b.ad,this.pj,this,n);this.Wa.bind(b.Wb,this.qj,this,n)};g.prototype.aMa=function(){this.Wa.unbind(b.zb,this.Fd,this);this.Wa.unbind(b.ad,this.pj,this);this.Wa.unbind(b.Wb,this.qj, this)};g.prototype.Jza=function(){this.Wa.bind(b.xq,this.QA,this,n);this.Wa.bind(b.fD,this.nA,this,n)};g.prototype.bMa=function(){this.Wa.unbind(b.xq,this.QA,this);this.Wa.unbind(b.fD,this.nA,this)};g.prototype.Fd=function(a){this.NKa(a)};g.prototype.pj=function(a){this.tpa(a)};g.prototype.qj=function(){this.A1()};g.prototype.QA=function(a){this.K8(a)};g.prototype.nA=function(a){this.L8(a)};g.prototype.NKa=function(a){this.w3=n;this.yS=B;this.AS=a;this.tpa(a)};g.prototype.tpa=function(a){if(this.w3){var b= a.pageX-this.AS.pageX,c=a.pageY-this.AS.pageY;this.yS||(Math.sqrt(b*b+c*c)>this.jE?this.yS=n:b=c=0);this.yS&&(this.AS=a);a=this.Pc*Math.PI/180;this.trigger(new d(g.xo,{xDelta:-((b*Math.cos(a)+c*Math.sin(a))/this.ie),yDelta:-((c*Math.cos(a)-b*Math.sin(a))/this.he)}))}};g.prototype.A1=function(){this.w3=B};g.prototype.L8=function(a){if(this.$R!=a.scale){this.A1();var b=this.$R;this.$R=a.scale;this.trigger(new d(g.Bo,{zoomDelta:this.Va*this.$R/b-this.Va}))}};g.prototype.K8=function(a){0!=a.delta&&(this.A1(), this.trigger(new d(g.Bo,{zoomDelta:0.1*this.Va*a.hW})))};g.xo="position change";g.Bo="zoom change";g.GUa="vieport navigation";g.FUa="relative navigation";g.EUa="relative exponential navigation";g.DUa="dragging";return g});define("kv",[],function(){return{wZ:"rotateClockwise",xZ:"rotateCounterClockwise",Zs:"zoomIn",$s:"zoomOut",Lf:"stop"}}); define("mM","kG,cs,fQ,lv,fU,fZ,kv,nU".split(","),function(a,b,d,c,g,f,i){var e=a.extend(d,function(a,b){d.call(this);this.h=a;this.Y=b;this.cr=this.XT=this.N=B;this.Ca=this.ya=0.5;this.Pc=0;this.Va=1;this.he=this.ie=100;this.ef=c.Sy;this.Sb=new g;this.Ya=new f;if(this.h.Fn){this.Ya.qO(e.ZZ);this.Sb.CX(e.$Z)}else{this.Ya.qO(0);this.Sb.CX(1)}this.Ya.bind(f.xo,this.RGa,this,n);this.Ya.bind(f.Bo,this.px,this,n)});e.prototype.clear=function(){this.Ya.unbind(f.xo,this.dWa,this,n);this.Ya.unbind(f.Bo,this.px, this,n);this.Ya.Al();this.h=this.Y=this.Sb=this.Ya=q};e.prototype.Lj=function(a){switch(a){case i.wZ:this.Dc(0,0,+e.UZ,0,0,0,0,0);break;case i.xZ:this.Dc(0,0,-e.UZ,0,0,0,0,0);break;case i.Zs:this.Dc(0,0,0,+e.cI,0,0,0,0);break;case i.$s:this.Dc(0,0,0,-e.cI,0,0,0,0);break;case i.Lf:this.Dc(0,0,0,0,0,0,0,0)}};e.prototype.hb=function(a,b,c,d,e,f){this.ya=a;this.Ca=b;this.Pc=c;this.Va=d;this.ie=e;this.he=f;this.Ya.zd(this.Pc,this.Va,this.ie,this.he)};e.prototype.He=function(){return this.N&&this.Sb.He()}; e.prototype.xb=function(a){this.Sb.xb(a);this.Y.hb(this.ya+this.Sb.K0,this.Ca+this.Sb.L0,this.Pc+this.Sb.I0,this.Va+this.Sb.DQ);this.ya=this.Y.getX();this.Ca=this.Y.getY();this.Pc=this.Y.RG();this.Va=this.Y.gq()};e.prototype.uO=function(a){this.cr=a;this.Ya.WSa(!this.cr)};e.prototype.yd=function(a){(this.N=a)?this.Ya.qs(this.h.getParent()):this.Ya.Al()};e.prototype.RGa=function(a){this.Dc(0,0,0,0,a.data.xDelta,a.data.yDelta,0,0)};e.prototype.px=function(a){this.Dc(0,0,0,0,0,0,0,a.data.zoomDelta)}; e.prototype.Dc=function(a,b,c,d,e,f,g,i){this.Sb.kva(a,b,c,d,e,f,g,i);this.Kh()};e.prototype.Kh=function(){this.trigger(new b(e.mh))};e.mh="position change request";e.ZZ=7;e.$Z=0.2;e.cI=0.5;e.UZ=30;return e}); define("mc","kG,cs,fQ,nx,bC,fU,fZ,kv,nU".split(","),function(a,b,d,c,g,f,i,e){var j=a.extend(d,function(a,b){d.call(this);this.h=a;this.Y=b;this.N=B;this.Ca=this.ya=0.5;this.Pc=0;this.Va=1;this.he=this.ie=100;this.O=q;this.v1=n;this.Lc=q;this.xT=0;this.Jr=this.rk=this.Mu=l;this.Sb=new f;this.Ya=new i;if(this.h.Fn){this.Ya.qO(j.ZZ);this.Sb.CX(j.$Z)}else{this.Ya.qO(0);this.Sb.CX(1)}this.Ya.bind(i.Bo,this.px,this,n)});j.prototype.DSa=function(a,b){this.ie=a;this.he=b;this.pG()};j.prototype.tv=function(a){if(this.Lc!= a){this.Lc=a;this.xT=l;this.pG()}};j.prototype.an=function(a,b){if(this.Lc==a){this.xT=b;this.pG()}};j.prototype.pG=function(){var a,b,c;if(this.Lc&&this.xT!=l){a=this.Lc.get("x",0)/this.ie;b=this.Lc.get("y",0)/this.he;c=-(this.xT+this.Lc.get("angle",0))}else c=b=a=l;if(this.Jr!=c){this.Jr=c;this.Kh()}if(this.Mu!=a||this.rk!=b){this.Mu=a;this.rk=b;this.vFa();this.Kh()}};j.prototype.vFa=function(){this.v1=n;this.Kh()};j.prototype.IB=function(){if(this.v1||this.O&&this.O.Te()){this.v1=B;this.O=q;if(this.Mu!= l&&this.rk!=l&&this.Jr!=l){for(var a=this.Jr-this.Pc;a>180;)a=a-360;for(;a<-180;)a=a+360;if(this.ya!=this.Mu||this.Ca!=this.rk)this.O=new c("quad_in_out",[new g("x",this.ya,this.Mu,1),new g("y",this.Ca,this.rk,1),new g("angleDif",a,a,360)],500);else if(this.Jr!=this.Pc)this.O=new c("quad_in_out",[new g("x",this.ya,this.ya,1),new g("y",this.Ca,this.Ca,1),new g("angleDif",a,0,360)],500)}}};j.prototype.clear=function(){this.Ya.unbind(i.Bo,this.px,this,n);this.Ya.Al();this.h=this.Y=this.O=this.Sb=this.Ya= q};j.prototype.Lj=function(a){switch(a){case e.Zs:this.Dc(+j.cI,0);break;case e.$s:this.Dc(-j.cI,0);break;case e.Lf:this.Dc(0,0)}};j.prototype.hb=function(a,b,c,d,e,f){this.ya=a;this.Ca=b;this.Pc=c;this.Va=d;this.Ya.zd(this.Pc,this.Va,e,f)};j.prototype.He=function(){return this.N&&(this.O||this.Sb.He()||this.Mu!=l&&this.ya!=this.Mu||this.rk!=l&&this.Ca!=this.rk||this.Jr!=l&&this.Pc!=this.Jr)?n:B};j.prototype.xb=function(a){this.IB();if(this.O){this.O.xb(a);this.ya=this.O.gb("x");this.Ca=this.O.gb("y"); this.Pc=this.Jr-this.O.gb("angleDif")}else{if(this.Mu!=l)this.ya=this.Mu;if(this.rk!=l)this.Ca=this.rk;if(this.Jr!=l)this.Pc=this.Jr}this.Sb.xb(a);this.Y.hb(this.ya,this.Ca,this.Pc,this.Va+this.Sb.DQ);this.ya=this.Y.getX();this.Ca=this.Y.getY();this.Pc=this.Y.RG();this.Va=this.Y.gq()};j.prototype.yd=function(a){if(this.N=a){this.Ya.qs(this.h.getParent());this.pG()}else this.Ya.Al()};j.prototype.px=function(a){this.Dc(0,a.data.zoomDelta)};j.prototype.Dc=function(a,b){this.Sb.kva(0,0,0,a,0,0,0,b);this.Kh()}; j.prototype.Kh=function(){this.trigger(new b(j.mh))};j.mh="position change request";j.ZZ=7;j.$Z=0.2;j.cI=0.5;j.UZ=30;return j}); define("nf","kG,cs,fQ,ju,lv,jV,mM,mc,nU".split(","),function(a,b,d,c,g,f,i,e,j){var o=a.extend(d,function(a){d.call(this);this.h=a;this.h.bind(j.tc,this.Vb,this);this.zm=c.Sy;this.Lc=q;this.Ca=this.ya=0.5;this.Pc=0;this.Va=1;this.Fa=q;this.nU=this.mU=this.Ur=this.Tr=B;this.Pm=n;this.N=B;this.Y=new f;this.Y.oq(this.zm);this.Mb=new i(this.h,this.Y);this.Mb.bind(i.mh,this.op,this,n);this.oi=new e(this.h,this.Y);this.oi.bind(e.mh,this.op,this,n);this.ZT()});o.prototype.clear=function(){this.Mb.unbind(i.mh, this.op,this);this.Mb.clear();this.Mb=q;this.oi.unbind(e.mh,this.op,this);this.oi.clear();this.Fa=this.Y=this.oi=q;this.h.unbind(j.tc,this.Vb,this);this.h=q};o.prototype.stop=function(){this.Sd=this.Fa=q;this.N=B;this.Mb.yd(B);this.oi.yd(B);this.Eu(0,0,0,0)};o.prototype.start=function(a){var b=a.Fa,c=b.get("width",100),d=b.get("height",100),e=b.get("scaleMode",g.Rg),f=b.get("minimumZoomFactor",1),i=b.get("maximumZoomFactor",1),j=b.get("initialZoomFactor",1);this.Fa=b;this.N=n;this.Sd=a.getItem(); this.Eu(0,0,0,0);this.oi.DSa(c,d);this.Y.oO(c,d,e,f,i);this.Y.hb(0.5,0.5,0,j);this.h.vO(this.Sd,this.Y.getX(),this.Y.getY(),this.Y.RG(),this.Y.gq());this.ZT()};o.prototype.Lj=function(a){this.Mb.Lj(a);this.oi.Lj(a)};o.prototype.oq=function(a){if(this.zm!=a){this.zm=a;this.Y.oq(a);this.ZT()}};o.prototype.tv=function(a){if(this.Lc!=a){this.Lc=a;this.oi.tv(a);this.ZT()}};o.prototype.uO=function(a){this.Mb&&this.Mb.uO(a)};o.prototype.an=function(a,b,c,d){this.oi.an(a,b,c,d)};o.prototype.ov=function(a){if(this.N)if(this.oi.He()){this.oi.xb(a); this.ql(this.oi.ya,this.oi.Ca,this.oi.Pc,this.oi.Va);this.Da()}else if(this.Mb.He()){this.Mb.xb(a);this.ql(this.Mb.ya,this.Mb.Ca,this.Mb.Pc,this.Mb.Va);this.Da()}else this.Eu(0,0,0,0)};o.prototype.ld=function(){if(this.Sd){var a=this.h.JN(this.Sd),b=this.h.KN(this.Sd),c=this.h.BW(this.Sd),d=this.h.Ira(this.Sd),e=this.h.IN(this.Sd),f=this.h.HN(this.Sd),g=a-this.ya,i=b-this.Ca,j=c-this.Pc,o=d-this.Va;this.ya=a;this.Ca=b;this.Pc=c;this.Va=d;this.Eu(g,i,j,o);this.oi.hb(a,b,c,d,e,f);this.Mb.hb(a,b,c,d, e,f)}};o.prototype.ZT=function(){if(this.zm==c.CZ&&this.Lc!=q&&this.Lc.get("map")==this.Fa){this.Mb.yd(B);this.oi.yd(n)}else{this.Mb.yd(n);this.oi.yd(B)}};o.prototype.op=function(){this.Da()};o.prototype.Vb=function(){this.Y.setSize(this.h.Ua(),this.h.Cb());this.Da()};o.prototype.Da=function(){this.trigger(new b(o.pb))};o.prototype.ql=function(a,b,c,d){this.h.vO(this.Sd,a,b,c,d)};o.prototype.Eu=function(a,c,d,e){a=B;if(this.Ur!=e<0){this.Ur=!this.Ur;a=n}if(this.Tr!=e>0){this.Tr=!this.Tr;a=n}if(this.mU!= this.yz>0){this.mU=!this.mU;a=n}if(this.nU!=this.yz<0){this.nU=!this.nU;a=n}if(this.Pm!=(e==0)){this.Pm=!this.Pm;a=n}a&&this.trigger(new b(o.Nj,{rotatingClockwise:this.mU,rotatingCounterClockwise:this.nU,zoomingIn:this.Tr,zoomingOut:this.Ur,stopped:this.Pm}))};o.pb="request frame";o.Nj="movement change";return o}); define("le","require,kG,cs,fQ,lv,jV".split(","),function(a){var b=a("kG"),d=a("cs"),c=a("fQ"),g=a("lv"),f=a("jV"),i=b.extend(c,function(a,b){c.call(this);this.K=a;this.h=b;this.Y=new f;this.kg=[];this.fa=i.oh;this.An=this.ej=this.An=this.Nk=q;this.Ig=this.K.get("transitionDuration");this.mg=l});i.prototype.oq=function(a){this.Y.oq(a)};i.prototype.tN=function(a){a.RN()&&this.f0();this.kg.push(a);this.bT()};i.prototype.hide=function(){this.f0();this.kg.push(q);this.bT()};i.prototype.clear=function(){this.fa= i.oh;this.f0();this.rIa();this.d6();this.h=q};i.prototype.ld=function(a){if(this.fa!=i.oh&&(this.fa==i.tn||this.fa==i.Zv)){this.mg=this.mg+a;a=Math.min(1,this.mg/this.Ig);this.fa==i.tn?this.h.mq(this.An,a):this.h.mq(this.GQ,1-a);this.mg0&&this.Zya(this.kg[0],this.ej);)this.kg.shift();this.kg.length>0&&this.Oo()}};i.prototype.Zya=function(a,b){return a==b||!!a&&!!b&&a.isEqual(b)}; i.prototype.Oo=function(){this.ej&&(!this.kg[0]||this.kg[0].RN())&&this.ej.Fa!=(this.kg[0]&&this.kg[0].Fa)&&this.trigger(new d(i.Vy,{map:this.ej.Fa}));if(this.K.get("transitionMode","blending")=="fade_out_fade_in"&&this.ej&&(!this.kg[0]||this.kg[0].RN()))this.gw();else{this.An=(this.Nk=this.kg.shift())&&this.Nk.getItem();this.Nk?this.pI():this.ej&&this.gw()}};i.prototype.pI=function(){this.yya();this.Nk.RN()&&this.iJa();this.mg=0;this.fa=i.tn;this.Da()};i.prototype.DCa=function(){this.d6();this.ej= this.Nk;this.GQ=this.An;this.An=this.Nk=q;this.Gw()};i.prototype.gw=function(){this.mg=0;this.fa=i.Zv;this.Da()};i.prototype.FCa=function(){this.d6();this.ej=q;this.Gw()};i.prototype.Gw=function(){this.fa=i.oh;this.ej&&this.ej.RN()&&this.trigger(new d(i.Wy,{map:this.ej.Fa}));this.kg.length==0?this.ej?this.trigger(new d(i.JY,{level:this.ej})):this.trigger(new d(i.wY)):this.Oo()};i.prototype.iJa=function(){var a=this.Nk.Fa;this.Nk.Hj();this.Y.oO(a.get("width",100),a.get("height",100),a.get("scaleMode", g.Rg),a.get("minimumZoomFactor",1),a.get("maximumZoomFactor",1));this.Y.hb(0.5,0.5,0,a.get("initialZoomFactor",1));this.h.vO(this.An,this.Y.getX(),this.Y.getY(),this.Y.RG(),this.Y.gq())};i.prototype.Da=function(){this.trigger(new d(i.pb))};i.prototype.f0=function(){for(;this.kg.length>0;){var a=this.kg.shift();a&&this.h.Mj(a.getItem())}};i.prototype.yya=function(){if(this.Nk){this.h.m9(this.An);this.h.w9(this.An);this.h.mq(this.An,0);this.trigger(new d(i.IY,{level:this.Nk}))}};i.prototype.d6=function(){if(this.ej){this.h.removeItem(this.GQ); this.trigger(new d(i.bP,{level:this.ej}));this.h.Mj(this.GQ);this.GQ=this.ej=q}};i.prototype.rIa=function(){if(this.Nk){this.h.removeItem(this.An);this.trigger(new d(i.bP,{level:this.Nk}));this.h.Mj(this.An);this.An=this.Nk=q}};i.oh="stopped";i.tn="blending";i.Zv="disolving";i.pb="request frame";i.IY="level added";i.bP="level removed";i.JY="level fully displayed";i.wY="all pending maps hidden";i.Wy="map show";i.Vy="map hide";return i}); define("kr",[],function(){function a(a,d){this.Fa=a;this.Ga=a.get("image");this.le=d;this.u3=l}a.prototype.getItem=function(){switch(this.le){case a.nP:return this.Fa.Sra();default:return this.Fa.Ij()}};a.prototype.Hj=function(){switch(this.le){case a.nP:return this.Fa.lC();default:return this.Fa.fq()}};a.prototype.RN=function(){return this.u3===l?0==this.getIndex():this.u3};a.prototype.nSa=R("u3");a.prototype.TN=function(){return this.le==a.fca};a.prototype.isEqual=function(a){return a&&this.Fa== a.map&&this.le==a.type};a.prototype.getIndex=function(){return this.le==a.nP||this.Fa.cH()?0:1};a.prototype.zra=function(){return this.Fa.cH()?2:1};a.nP="preload";a.fca="load";return a}); define("ir","require,kG,jU,nU,cs,fQ,kr,t".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("cs"),f=a("fQ"),i=a("kr"),e=a("t"),j=b.extend(f,function(a){f.call(this);this.h=a;this.kg=[];this.MI=this.MA=this.Ag=q;this.EA=B;this.bS=q;this.SS=b.jq(this.SS,this)});j.prototype.clear=function(){this.stop();this.h=q};j.prototype.qta=function(a,b){if(this.bS!=a||b){this.stop();this.Fa=a;this.Fa.ERa();d.RV(this.Fa,"image.levels.url",this.SS);var c=[];a.cH()&&e.wb()&&c.push(new i(a,i.nP));c.push(new i(a, i.fca));c=c.filter(function(a){return a.getItem().pi()});if(c.length){this.kg=this.kg.concat(c);this.bT()}}};j.prototype.SS=function(){this.reload()};j.prototype.reload=function(){this.qta(this.Fa,n)};j.prototype.stop=function(){d.na(this.Fa,"image.levels.url",this.SS);this.bS=this.Fa=q;this.kg=[];this.joa();if(this.EA){this.EA=B;this.W7();this.h.Mj(this.Ag.getItem());this.Ag=q;this.trigger(new g(j.cP))}};j.prototype.bT=function(){this.EA||this.W3()};j.prototype.W3=function(){if(this.kg.length>0){this.Ag= this.kg.shift();if(!this.EA){this.EA=n;this.trigger(new g(j.aP,{level:this.Ag,percent:0}))}this.Cza();this.h.lo(this.Ag.getItem());this.h.VX(this.Ag.getItem())&&this.C4()}else if(this.EA){this.EA=B;this.trigger(new g(j.cP))}};j.prototype.C4=function(){this.W7();this.FKa();this.Ag=q;this.W3()};j.prototype.FKa=function(){this.joa();this.MA=this.Ag;var a=this;this.MI=setTimeout(function(){a.MI=q;a.BGa()},500)};j.prototype.BGa=function(){var a=this.MA.Fa;this.MA.nSa(a!=this.bS);this.bS=a;this.trigger(new g(j.KY, {level:this.MA}));this.MA=q};j.prototype.joa=function(){if(this.MI!=q){clearTimeout(this.MI);this.MI=q;this.h.Mj(this.MA.getItem());this.MA=q}};j.prototype.Uja=function(){this.W7();this.Ag=q;this.W3()};j.prototype.Vja=function(a){this.trigger(new g(j.aP,{level:this.Ag,percent:a.Lg}))};j.prototype.Cza=function(){var a=this.Ag.getItem();a.bind(c.U,this.C4,this);a.bind(c.Ac,this.Uja,this);a.bind(c.ic,this.Vja,this)};j.prototype.W7=function(){var a=this.Ag.getItem();a.unbind(c.U,this.C4,this);a.unbind(c.Ac, this.Uja,this);a.unbind(c.ic,this.Vja,this)};j.aP="level loading progress";j.KY="level loaded";j.cP="load stopped";return j});define("cC",["require"],function(){function a(a,d){this.x=a;this.y=d}a.prototype.rotate=function(a){var d=Math.cos(a),a=Math.sin(a),c=this.x*a+this.y*d;this.x=this.x*d-this.y*a;this.y=c;return this};a.prototype.translate=function(a,d){this.x+=a;this.y+=d;return this};a.prototype.scale=function(a,d){this.x*=a;this.y*=d;return this};return a}); define("lT",["require","lv","mk"],function(a){function b(a,b,i){this.lg=a;this.Xna=b;this.Vna=i;this.ef=d.Hs;this.Tk=c.ae;this.xl=c.Ad}var d=a("lv"),c=a("mk");b.prototype.Fy=R("ef");b.prototype.wH=R("Tk");b.prototype.DH=R("xl");b.prototype.OG=function(a,b,i){var e=this.Xna,j=this.Vna,o,k;switch(this.ef){case d.NONE:k=o=1;break;case d.Rg:o=k=Math.min(b/e,i/j);break;case d.uq:o=k=Math.max(b/e,i/j);break;case d.Co:o=k=b/e;break;case d.Pj:o=k=i/j;break;default:o=b/e,k=i/j}var m=b/o;o=Math.min(this.Xna* o,b);m=Math.min(m,e);switch(this.Tk){case c.Ja:e=b=0;break;case c.Xa:b-=o;e-=m;break;default:b=0.5*(b-o),e=0.5*(e-m)}var r=i/k;k=Math.min(this.Vna*k,i);r=Math.min(r,j);switch(this.xl){case c.kc:j=i=0;break;case c.bc:i-=k;j-=r;break;default:i=0.5*(i-k),j=0.5*(j-r)}a.drawImage(this.lg,Math.round(e),Math.round(j),Math.round(m+e-Math.round(e)),Math.round(r+j-Math.round(j)),Math.round(b),Math.round(i),Math.round(o+b-Math.round(b)),Math.round(k+i-Math.round(i)))};return b}); define("lC","require,nU,hy,cC,jR,lT".split(","),function(a){function b(a,b,g,i){this.h=a;this.Fa=b;this.ie=this.Fa.get("width");this.he=this.Fa.get("height");this.Sd=this.Fa.Ij();this.bia=g;this.Dn=i;this.tA=q;if(this.Dn){this.NF=this.bia.NF;this.Z=this.Dn.get("width");this.ja=this.Dn.get("height");this.ya=this.Dn.get("x",0);this.Ca=this.Dn.get("y",0);this.eu=this.Dn.get("offsetX",0);this.fu=this.Dn.get("offsetY",0);if(this.jb=this.Dn.fq()){this.Ch=new f(c.qn);this.Ch.load(this.jb.get("url"));this.Ch.bind(d.U, this.xka,this)}}else this.Ch=q}var d=a("nU"),c=a("hy"),g=a("cC"),f=a("jR"),i=a("lT");b.prototype.clear=function(){this.Dn=this.bia=this.Sd=this.Fa=this.h=q;if(this.Ch){this.Ch.unbind(d.U,this.xka,this);this.Ch.cancel();this.Ch=q}this.tA=q};b.prototype.Kra=function(a,b){this.cia=l;if(this.tA&&a!=l&&b!=l){var c=this.h.Ua()*0.5,d=this.h.Cb()*0.5,f=this.h.BW(this.Sd)*Math.PI/180,i=this.h.IN(this.Sd),p=this.h.HN(this.Sd),t=this.h.JN(this.Sd),s=this.h.KN(this.Sd),u=new g(a,b);u.translate(-c,-d);u.rotate(-f); u.scale(1/i,1/p);u.translate(t,s);u.scale(this.ie,this.he);u.translate(-this.ya,-this.Ca);if(!this.NF){u.rotate(f);u.scale(i/this.ie,p/this.he)}u.translate(this.eu,this.fu);c=Math.round(u.x);u=Math.round(u.y);if(c>=0&&c=0&&u0?"#"+this.S_(c[u+0])+this.S_(c[u+1])+this.S_(c[u+2]):"transparent"}}return this.cia};b.prototype.xka=function(){var a=new i(this.Ch.jf(),this.jb.get("width"),this.jb.get("height"));a.Fy(this.Dn.get("scaleMode")); a.wH(this.Dn.get("horizontalAlign"));a.DH(this.Dn.get("verticalAlign"));var b=document.createElement("canvas");b.width=Math.round(this.Z);b.height=Math.round(this.ja);var c=b.getContext("2d");a.OG(c,b.width,b.height);this.tA=c.getImageData(0,0,b.width,b.height);b.width=b.height=0};b.prototype.S_=function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a};return b}); define("dS","require,dY,kG,nU,cs,fQ,mR,lC,bc,nx,bC".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("nU"),g=a("cs"),f=a("fQ"),i=a("mR"),e=a("lC"),j=a("bc"),o=a("nx"),k=a("bC"),m=d.extend(f,function(a,b,d){f.call(this);this.h=a;this.Fa=b;this.Tb=d;this.la=this.Tb.getItem();this.Ip=this.Tb.Ura();this.Jp=this.Tb.Wra();this.St=this.En=l;this.K=this.h.getParent();this.K.bind(c.ad,this.Wf,this);this.K.bind(c.qb,this.FK,this);this.K.bind(c.zb,this.Bm,this);this.K.bind(c.Wb,this.jr,this);d.bind(c.u("selected"), this.gla,this);d.bind(c.u("enabled"),this.lp,this);this.kS=new e(this.h,this.Fa,this.Tb,this.Tb.get("map",q));this.mS=new e(this.h,this.Fa,this.Tb,this.Tb.get("rollOverMap",this.Tb.get("map",q)));this.nS=new e(this.h,this.Fa,this.Tb,this.Tb.get("selectedMap",this.Tb.get("rollOverMap",this.Tb.get("map",q))));this.yR=new e(this.h,this.Fa,this.Tb,this.Tb.get("image",q));this.zR=new e(this.h,this.Fa,this.Tb,this.Tb.get("rollOverImage",this.Tb.get("image",q)));this.AR=new e(this.h,this.Fa,this.Tb,this.Tb.get("selectedImage", this.Tb.get("rollOverImage",this.Tb.get("image",q))));this.Cc=this.Bc=l;this.jG=q;this.ft=[];this.Nq=[];this.qh={};this.Via=[];this.rA=B;this.Or=this.Tb.get("useHandCursor");this.O=q;this.aG=l;this.vU=this.kU=this.UR=0;a=this.Tb.get("areas",[]);for(b=0;b0);this.P7(b.difference(a,c),"rollOut");this.PM()}}};m.prototype.PM=function(){for(var a="",b=0;b=0&&this.QJ.splice(b,1);if(!this.v3(a)){this.wma(a); this.f6(a)}};j.prototype.v3=function(a){return b(this.QJ).indexOf(a)>=0};j.prototype.ld=function(a){for(var b=0;b");this.J=this.ea.get(0);this.ia=this.J.getContext("2d")}var d=a("jquery.mod"),a=a("t");b.prototype.getItem=S("la");b.prototype.wN=function(a){return this.la==a?this:q};b.prototype.mW=function(a){return this.la==a?[this]:[]};b.prototype.xk=function(){this.aa&&this.aa.v9(this)};b.prototype.Ve= function(a){this.TJa(a)};b.prototype.rna=function(a){this.KJ!=a&&(this.KJ=a,this.aa&&this.aa.ZW())};b.prototype.TJa=function(a){this.eb!=a&&(this.eb=a,this.YW())};b.prototype.DU=function(a){this.nk!=a&&(this.nk=a,this.YW())};b.prototype.UL=function(a,b){if(this.Z!=a||this.ja!=b)this.Z=a,this.ja=b,this.VW()};b.prototype.ql=function(a,b){if(this.Yt!=a||this.Pp!=b)this.Yt=a,this.Pp=b,this.YW()};b.prototype.YW=function(){this.aa&&this.aa.WW()};b.prototype.$d=function(){this.OR=n};b.prototype.Ma=function(){this.OR&& (this.OR=B,this.Jg())};b.prototype.Jg=I();b.prototype.VW=function(){this.MR=n;this.YW()};b.prototype.YX=function(){if(this.MR){this.MR=B;if(this.J.width!=this.Z||this.J.height!=this.ja)this.J.width=Math.round(this.Z),this.J.height=Math.round(this.ja);this.ia.clearRect(0,0,this.J.width,this.J.height);this.Zf()}};b.prototype.Zf=I();b.prototype.xOa=function(a){if(0this.Lb*this.gd?this.qd/this.Lb:this.gd/this.sb;break;default:this.Oe=this.sb*this.qd>this.Lb*this.gd?this.gd/this.sb:this.qd/this.Lb}this.rL=n}if(this.rL){this.rL=B;var a=this.Ua(),b=this.Cb(),c=Math.cos(this.Pc*Math.PI/180),e=Math.sin(this.Pc* Math.PI/180);this.ql(this.gd*0.5-this.wr*a+(this.wr-this.ya)*c*a-(this.yr-this.Ca)*e*b,this.qd*0.5-this.yr*b+(this.yr-this.Ca)*c*b+(this.wr-this.ya)*e*a);this.DU(this.Pc);this.UL(a,b);for(a=0;a=0&&this.Cw.splice(a,1);this.gpa()};a.prototype.gpa=function(){var a;a=this.Cw.length>0?this.Cw[this.Cw.length-1]:o.me;this.getParent().set("cursor",a)};a.prototype.mQ=function(){if(this.Cw.length>0){this.getParent().set("cursor",o.me);this.Cw=[]}};a.prototype.lRa=function(a){this.GB.push(a);this.PM()};a.prototype.eRa=function(a){a= b(this.GB).lastIndexOf(a);a>=0&&this.GB.splice(a,1);this.PM()};a.prototype.PM=function(){var a=this.GB.length==0?"":this.GB[this.GB.length-1]||"";if(this.$a!=a){this.$a=a;this.getParent().set("toolTip",this.$a)}};a.prototype.HAa=function(){this.$a&&this.getParent().set("toolTip","");this.$a="";this.GB=[]};a.prototype.Lm=function(){this.HAa();this.mQ();k.prototype.Lm.call(this)};a.prototype.Vb=function(){this.ppa();this.v8()};a.prototype.ppa=function(){this.Zg.Mc().css({transform:i.Kj!=1?"scale("+ (1/i.Kj).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.Zg.setSize(this.Ua()*i.Kj,this.Cb()*i.Kj);this.render()};a.prototype.gk=function(){this.m6=n;this.y8()};a.prototype.ck=function(){this.m6=B;this.y8()};a.prototype.y8=function(){var a=this.m6&&!j.isPresenting();if(this.qB!=a)(this.qB=a)?this.render():this.Zg.rW()};return a}); define("R","dY,kG,lh,cs,eQ,me,cS,dT,lu,kv,jP,nU,dV,gq".split(","),function(a,b,d,c,g,f,i,e,j,o,k,m,r,p){var t=b.extend(i,function(){i.call(this,"map");this.zS=this.Z3=this.Mh=B;this.Fm=this.Lc=this.B=this.h=q;this.kw={};for(var a in t.bt)this.kw[a]=this.hBa(a);this.Qd=b.jq(this.Jg,this)});g.F("MapPlayer",t).H("Object").Q({map:"Map",viewerArea:"ViewerArea",movementMode:"enum[constrained, free_drag, free_drag_and_rotation, sync_with_field_of_view]",buttonZoomIn:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonZoomOut:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRotateClockwise:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRotateCounterClockwise:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]"}).hc([m.jP]).Ng({stop:function(){this.Dc(o.Lf)},rotateClockwise:function(){this.Dc(o.wZ)},rotateCounterClockwise:function(){this.Dc(o.xZ)},zoomIn:function(){this.Dc(o.Zs)},zoomOut:function(){this.Dc(o.$s)}});t.prototype.set=function(a, b){if(this.get(a)!=b){switch(a){case "map":this.Z3=n;this.Qd();break;case "viewerArea":this.Mh=n;this.Qd();break;case "panoramaMapLocation":this.n5=n;this.Qd();break;case "movementMode":this.zS=n;this.Qd()}i.prototype.set.call(this,a,b)}};t.prototype.hBa=function(a){var b=t.bt[a],a=new f(this,a,r.ne);a.bind(m.zb,function(){this.Dc(b.movement)},this);b.stopOnRelease&&a.bind(m.Wb,function(){this.Dc(o.Lf)},this);return a};t.prototype.ONa=function(a){this.Fm=q;this.set("map",a.get("map"));this.set("panoramaMapLocation", a)};t.prototype.xRa=function(a){if(this.get("panoramaMapLocation")==a){this.set("panoramaMapLocation",q);this.Fm=q}};t.prototype.an=function(a,b,c,d){this.B&&this.B.an(a,b,c,d);this.Fm={yaw:b,pitch:c,hfov:d}};t.prototype.Jg=function(){if(this.Mh){this.Mh=B;this.yt();this.get("viewerArea")&&this.ut();this.WL(this.get("viewerArea"))}if(this.B){if(this.Z3){this.Z3=B;var a=this.get("map");if(a){this.tH();this.B.hva(a)}else this.B.rv();this.n5=this.zS=n}if(this.n5){this.n5=B;a=this.get("panoramaMapLocation"); this.B.tv(a);a&&this.Fm&&this.B.an(a,this.Fm.yaw,this.Fm.pitch,this.Fm.hfov)}if(this.zS){this.zS=B;this.B.oq(this.get("movementMode"))}}};t.prototype.bG=function(){this.set("map",q)};t.prototype.ut=function(){var a=this.get("viewerArea");this.h=new k;this.h.$({left:0,top:0,bottom:0,right:0});a.Oa(this.h);this.B=new j(a,this.h);this.B.bind(j.Nj,this.mp,this);this.B.bind(j.sq,this.ii,this);this.B.bind(j.Uy,this.iF,this);this.B.bind(j.Wy,this.mx,this);this.B.bind(j.Vy,this.hu,this);this.B.bind(j.Oj, this.SK,this,n)};t.prototype.yt=function(){if(this.h){this.B.unbind(j.Nj,this.mp,this);this.B.unbind(j.sq,this.ii,this);this.B.unbind(j.Uy,this.iF,this);this.B.unbind(j.Wy,this.mx,this);this.B.unbind(j.Vy,this.hu,this);this.B.unbind(j.Oj,this.SK,this);this.B.clear();this.h.getParent().removeChild(this.h);this.h=q}};t.prototype.mx=function(a){this.WJ(a.data.map)};t.prototype.hu=function(a){this.VJ(a.data.map)};t.prototype.mp=function(a){for(var b in t.bt)this.kw[b].set("state",a.data[t.bt[b].pressedOn]? p.bb:p.me);this.trigger(new c(m.jP,a.data))};t.prototype.SK=function(a){this.trigger(new c(t.Oj,{yawDelta:a.data.yawDelta}))};t.prototype.ii=function(a){this.h.getParent().$({progressPercent:a.data.percent,progressVisible:n})};t.prototype.iF=function(){this.h.getParent().set("progressVisible",B)};t.prototype.Dc=function(a){this.B&&this.B.Lj(a)};t.bt={buttonRotateClockwise:{movement:o.wZ,pressedOn:"rotatingClockwise",stopOnRelease:n},buttonRotateCounterClockwise:{movement:o.xZ,pressedOn:"rotatingCounterClockwise", stopOnRelease:n},buttonZoomIn:{movement:o.Zs,pressedOn:"zoomingIn",stopOnRelease:n},buttonZoomOut:{movement:o.$s,pressedOn:"zoomingOut",stopOnRelease:n}};t.Oj="requestYawChange";return t}); define("hN",["kG","lh","nU","cs","eQ"],function(a,b,d,c,g){a=a.extend(b,function(){b.call(this);this.o="stopped"});g.F("PlayListItem",a).H("Object").Q({media:"Media",label:"string",state:"enum[stopped, starting, playing, stopping]"}).hc([d.Tj,d.hn,d.Lf,d.Ha]);a.prototype.get=function(a,c){return"state"==a?this.o:b.prototype.get.call(this,a,c)};a.prototype.start=function(){this.VTa()};a.prototype.VTa=function(){"stopped"==this.o&&(this.o="starting",this.trigger(new c(d.Tj)))};a.prototype.XB=function(){this.hwa()}; a.prototype.hwa=function(){"starting"==this.o&&(this.o="playing",this.trigger(new c(d.hn)))};a.prototype.stop=function(){this.FH()};a.prototype.FH=function(){"playing"==this.o&&(this.o="stopping",this.trigger(new c(d.Lf)))};a.prototype.end=function(){this.iwa()};a.prototype.iwa=function(){"stopping"==this.o&&(this.o="stopped",this.trigger(new c(d.Ha)))};return a}); define("ou",["kG","eQ","cS","hN"],function(a,b,d,c){a=a.extend(c,function(){c.call(this)});b.F("MapPlayListItem",a).H("PlayListItem").Q({media:"Map",player:"MapPlayer"});a.prototype.start=function(){c.prototype.start.call(this);var a=this.get("player");a&&(a.bind(d.xf,this.mx,this),a.set("map",this.get("media")))};a.prototype.stop=function(){var a=this.get("player");a&&a.get("map")==this.get("media")&&a.set("map",q);c.prototype.stop.call(this)};a.prototype.mx=function(){this.get("player").unbind(d.xf, this.mx,this);this.get("player").bind(d.xi,this.hu,this);this.XB();this.get("player").get("map")!=this.get("media")&&this.hu()};a.prototype.hu=function(){this.get("player").unbind(d.xi,this.hu,this);this.stop();this.end()};return a}); define("fH",["require","kG","nU","eQ","jk"],function(a){var b=a("kG"),d=a("nU"),c=a("eQ"),g=a("jk"),f=b.extend(g,function(){g.call(this);this.set("area",0);this.set("areaColor","#ffffff");this.set("areaOpacity",0);this.set("depthTest",B);this.set("displayAreaLabel",B);this.set("displayDistanceLabel",n);this.set("displayPartialDistanceLabel",n);this.set("distance",0);this.set("labelBackgroundColor","#000000");this.set("labelFontColor","#ffffff");this.set("labelOpacity",1);this.set("labelFontSize", 12);this.set("lineColor","#ffffff");this.set("pointColor","#ffffff");this.set("lineOpacity",1);this.set("lineWidth",1);this.set("points",[]);this.set("type","single");this.set("units","metric");this.bind(d.u("mode"),function(){this.trigger(f.Rwa)},this,n);this.bind(d.u("distance"),function(){this.trigger(f.Owa)},this,n)});c.F("MeasureModel3DObject",f).H("ExternalModel3DObject").Q({area:"number",areaColor:"color",areaLabelBackgroundColor:"color",areaLabelFontColor:"color",areaLabelFontFamily:"string", areaLabelOpacity:"number",areaLabelFontSize:"or[number, size]",areaOpacity:"number",depthTest:"bool",displayAreaLabel:"bool",displayDistanceLabel:"bool",displayPartialDistanceLabel:"bool",distance:"number",distanceLabelBackgroundColor:"color",distanceLabelFontColor:"color",distanceLabelFontFamily:"string",distanceLabelOpacity:"number",distanceLabelFontSize:"or[number, size]",labelBackgroundColor:"color",labelFontColor:"color",labelFontFamily:"string",labelOpacity:"number",labelFontSize:"or[number, size]", lineColor:"color",lineOpacity:"number",lineWidth:"number",partialDistanceLabelBackgroundColor:"color",partialDistanceLabelFontColor:"color",partialDistanceLabelFontFamily:"string",partialDistanceLabelOpacity:"number",partialDistanceLabelFontSize:"or[number, size]",points:"array[MeasureModel3DObjectPoint]",pointColor:"color",pointDragColor:"color",pointOverColor:"color",pointMaxRadius:"number",pointMinRadius:"number",pointRadius:"number",mode:"enum[create, edit, view]",type:"enum[single, multiple]", units:"enum[metric, imperial]"}).vs(["labelFontSize"]).hc([f.Rwa="modeChange",f.Owa="distanceChange"]);return f});define("B",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("MeasureModel3DObjectPoint",b).H("Object").Q({x:"number",y:"number",z:"number"});return b}); define("dW",["require","kG","eQ","ba"],function(a){var b=a("kG"),d=a("eQ"),c=a("ba"),a=b.extend(c,function(){c.call(this);this.set("initialDistance",1)});d.F("OrbitModel3DCamera",a).H("Model3DCamera").Q({initialDistance:"number",minDistance:"number",maxDistance:"number"});return a}); define("bR","require,kG,nU,gE,eQ,ee,dW".split(","),function(a){function b(a,b){Array.isArray(b)?a.fromArray(b):a.copy(b)}function d(a,b){return Array.isArray(b)?a.toArray(data):{x:a.x,y:a.y,z:a.z}}var c=a("kG"),g=a("nU"),f=a("gE"),i=a("eQ"),e=a("ee"),j=a("dW"),a=c.extend(e,function(){e.call(this);this.set("autoplay",B);this.set("bakedTextures",B);this.set("camera",new j);this.set("encoding","srgb");this.set("finalFrame","last");this.set("floorOpacity",1);this.set("floorHeight",0);this.set("floorRadius", 10);this.set("isLoaded",B);this.set("maxNearestObjectsVisible",0);this.set("surfaceReticleRadius",1);this.set("surfaceSelectionEnabled",B);this.set("surfaceSelectionCoef",3);this.set("environmentIntensity",1);this.set("objects",[]);this.set("postprocessing",[]);this.set("state",f.L);this.set("geometryQuery",l);this.set("objectQuery",l)});i.F("Model3D",a).H("Media").Q({animations:"array[Model3DAnimation]",autoplay:"bool",backgroundColor:"or[color, enum[transparent]]",backgroundImageURL:"string",backgroundPanoramaURL:"string", bakedTextures:"bool",camera:"Model3DCamera",castShadow:"bool",currentTime:"number",duration:"number",encoding:"enum[linear, srgb]",environmentIntensity:"number",environmentURL:"string",finalFrame:"enum[first, last]",floorOpacity:"number",floorColor:"or[color, enum[transparent]]",floorHeight:"number",floorRadius:"number",lights:"array[Light]",isLoaded:"bool",loop:"bool",model:"Model3DResource",postprocessing:"array[Model3DPostprocessing]",objects:"array[Model3DObject]",receiveShadow:"bool",maxNearestObjectsVisible:"number", state:"enum[playing, paused, stopped]",surfaceSelectionEnabled:"bool",surfaceReticleMaxRadius:"number",surfaceReticleMinRadius:"number",surfaceReticleRadius:"number",surfaceSelectionCoef:"number",variant:"string",worldUnitToMeters:"number"}).vi(["backgroundImageURL","backgroundPanoramaURL","environmentURL"]).Ng({pause:function(){this.get("state")==f.S&&this.set("state",f.Gb)},play:function(){this.set("state",f.S)},stop:function(){this.set("state",f.L)},worldPositionToLocal:function(a,c){b(o,a);var e= m;Array.isArray(c)?e.fromArray(c):e.copy(c);m.invert();o.applyMatrix4(m);return d(o,a)},getMatrixWorld:function(a){var b=this.get("objectQuery");return b&&b.mPa(a)},worldDirectionToLocal:function(a,c){b(o,a);var e=r;Array.isArray(c)?e.fromArray(c):e.copy(c);m.AVa(r);m.invert();o.applyMatrix4(m);return d(o,a)},testIntersection:function(a,c){var d=this.get("geometryQuery");if(d){b(o,a);b(k,c);return d.QTa(o,k)}},getDistanceToFloor:function(a){var c=this.get("geometryQuery");if(c){b(o,a);return c.UOa(o)}}, pick:function(a,b){var c=this.get("picker");return!c?l:c.eO(a,b)}}).hc([g.ca,g.Ul]);var o=new THREE.Vector3,k=new THREE.Vector3,m=new THREE.Matrix4,r=new THREE.Matrix4;a.prototype.hs=function(){return[]};return a}); define("gv","require,kG,lh,gE,cs,eQ,nU".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("gE");a("cs");var g=a("eQ"),f=a("nU"),a=b.extend(d,function(){d.call(this);this.set("mandatory",B);this.set("repeat",1);this.set("restartMovementOnUserInteraction",B);this.set("state",c.L);this.bind(f.u("state"),function(){this.trigger(f.Gc)},this,n)});a.prototype.play=function(){this.set("state",c.S)};a.prototype.pause=function(){this.get("state")==c.S&&this.set("state",c.Gb)};a.prototype.stop=function(){this.set("state", c.L)};g.F("Model3DCameraSequence",a).H("Object").Q({movements:"array[Model3DCameraMovement]",mandatory:"bool",movementIndex:"number",repeat:"number",restartMovementOnUserInteraction:"bool",restartMovementDelay:"number"}).Ng({pause:a.prototype.pause,play:a.prototype.play,stop:a.prototype.stop}).hc([f.Ha,f.Ik,f.Gc]);return a}); define("ey",["require","kG","bg","cs","fQ"],function(a){var b=a("kG"),d=a("bg"),c=a("cs"),g=a("fQ"),f=b.extend(g,function(a,b){g.call(this);this.K=a;this.h=b;this.wp=q;this.fa=f.oh;this.Bg=this.wh=q;this.mg=this.Ig=l});f.prototype.display=function(a){this.wp=q;if(this.Bg!=a||this.fa!=f.oh)this.wp=a,this.Kka()};f.prototype.hide=function(){this.wp="none";this.Kka()};f.prototype.clear=function(){this.fa=f.oh;this.wp=q;this.sIa();this.sma();this.h=q};f.prototype.gh=function(a){if(this.fa!=f.oh&&(this.fa== f.tn||this.fa==f.Zv||this.fa==f.vz))this.mg+=a,a=Math.min(1,this.mg/this.Ig),this.fa==f.tn?this.wh.set("opacity",a):this.fa==f.vz?(this.wh.set("opacity",Math.min(1,2*a)),this.Bg.set("opacity",Math.min(1,2*(1-a)))):this.Bg.set("opacity",1-a),this.mg0?this.Xx():this.Nu()};a.prototype.Xx=function(){if(!this.k){this.k=this.ra.R.Md("MeasureArea");var a=new g;a.bind(c.qa,this.lx,this,n);this.k.C(f.Rl).La=a;this.k.C(f.Vc);this.k.C(f.Hb).Qb=this.ra;d.pa(this.hd,i,this.df,n);this.Zoa()}}; a.prototype.Nu=function(){if(this.k){this.k.getComponent(f.Rl).La.unbind(c.qa,this.lx,this,n);d.na(this.hd,i,this.df);this.k.R.bg(this.k);this.k=q}};a.prototype.Dr=function(a){if(this.ub!=a)if(this.ub=a){this.Un(1);this.trigger(c.jc)}else{this.Un(0);this.trigger(c.pc)}};a.prototype.Kd=function(){this.Dr(this.oL.every(function(a){return a.isVisible()}))};a.prototype.lx=function(a){this.hd.set("area",a.data.area)};a.prototype.df=function(){if(this.k){var a=this.k.G(f.Vc);a.color=this.hd.get("areaColor"); a.depthTest=this.hd.get("depthTest");a.doubleSided=n;this.bo()}};a.prototype.Un=function(a){if(this.uk!=a){this.uk=a;this.bo()}};a.prototype.bo=function(){if(this.k)this.k.G(f.Vc).opacity=this.hd.get("areaOpacity")*Math.max(1.0E-4,this.uk)};a.prototype.Zoa=function(){if(this.k)this.k.G(f.Rl).entities=this.oL.map(function(a){return a.k})};var i=["areaColor","areaOpacity","depthTest"];return a}); define("C",["require","bN","ez"],function(a){function b(){this.N1=this.ar("#ffffff");this.fw=this.ar("#000000");this.rh=this.Ye=0;this.J=document.createElement("canvas");this.ia=this.J.getContext("2d");this.ia.LVa="high";this.Hr=new c.DZ;this.O1=this.tE=l;this.l_=this.m_=0.5;this.Vp=l;this.gG=b.iZ;this.Ru=l;this.CH(0)}function d(a){return 1000&&(this.bx&&this.bx.isVisible()||this.Gx&&this.Gx.isVisible()||this.Sg&&this.Sg.isVisible()))};a.prototype.qKa=function(){if(!this.Wn){this.Wn=new e;this.Wn.set("duration",300);this.Wn.bind(e.$O,this.mla,this,n);this.Wn.bind(e.$i,this.lla,this,n);this.Wn.play()}};a.prototype.pLa=function(){if(this.Wn){this.Wn.unbind(e.$O,this.mla,this,n);this.Wn.unbind(e.$i,this.lla,this,n);this.Wn.stop();this.Wn=q}};a.prototype.mla=function(){this.Un(2*this.Wn.Bk()-1)};a.prototype.lla= function(){this.Un(1)};a.prototype.df=function(){this.k.G(f.Zi).depthTest=this.AE("depthTest");this.Eh.dSa(this.AE("labelFontColor"));this.Eh.LRa(this.AE("labelBackgroundColor"));this.Eh.eSa(this.AE("labelFontFamily"));this.Eh.fSa(this.AE("labelFontSize"));this.bo();this.Zf()};a.prototype.AE=function(a){var b;this.aV&&(b=this.hd.get(this.aV+a[0].toUpperCase()+a.substr(1)));b===l&&(b=this.hd.get(a));return b};a.prototype.Zf=function(a){if(this.Eh.update()||a){var a=this.k.G(f.Zi),b=this.k.G(f.Sprite); a.PX=(new Date).getTime();b.width=this.Eh.fd();b.height=this.Eh.Ud()}};a.prototype.Un=function(a){if(this.uk!=a){this.uk=a;this.bo()}};a.prototype.bo=function(){this.k.G(f.Zi).opacity=this.AE("labelOpacity")*Math.max(1.0E-4,this.uk)};var j=["depthTest","areaLabelBackgroundColor","areaLabelFontColor","areaLabelFontFamily","areaLabelOpacity","areaLabelFontSize","distanceLabelBackgroundColor","distanceLabelFontColor","distanceLabelFontFamily","distanceLabelOpacity","distanceLabelFontSize","labelBackgroundColor", "labelFontColor","labelFontFamily","labelOpacity","labelFontSize","partialDistanceLabelBackgroundColor","partialDistanceLabelFontColor","partialDistanceLabelFontFamily","partialDistanceLabelOpacity","partialDistanceLabelFontSize"];return a}); define("gi","require,kG,jU,nU,fQ,fm".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("fQ"),f=a("fm"),a=b.extend(g,function(a,b){g.call(this);this.hd=a;this.ra=b;this.tl=this.sl=q;this.df=this.df.bind(this);this.k=q;this.uk=0;this.ub=B;this.Xx()});a.prototype.HX=function(a,b){if(this.sl!=a||this.tl!=b){this.sl&&this.sl.unbind(c.jc,this.Kd,this,n);this.sl&&this.sl.unbind(c.pc,this.Kd,this,n);this.tl&&this.tl.unbind(c.jc,this.Kd,this,n);this.tl&&this.tl.unbind(c.pc,this.Kd,this,n);this.sl= a;this.tl=b;this.sl&&this.sl.bind(c.jc,this.Kd,this,n);this.sl&&this.sl.bind(c.pc,this.Kd,this,n);this.tl&&this.tl.bind(c.jc,this.Kd,this,n);this.tl&&this.tl.bind(c.pc,this.Kd,this,n);this.k.G(f.Hb,n).Qb=this.sl&&this.sl.k;this.k.G(f.Rv,n).Qb=this.tl&&this.tl.k;this.Kd()}};a.prototype.dispose=function(){this.HX(q,q);this.Nu()};a.prototype.Xx=function(){if(!this.k){this.k=this.ra.R.Md("MeasureLine");this.k.C(f.Line);this.k.C(f.bj);this.k.C(f.va);d.pa(this.hd,i,this.df,n)}};a.prototype.Nu=function(){if(this.k){d.na(this.hd, i,this.df);this.k.R.bg(this.k);this.k=q}};a.prototype.isVisible=S("ub");a.prototype.Dr=function(a){if(this.ub!=a)if(this.ub=a){this.Un(1);this.trigger(c.jc)}else{this.Un(0);this.trigger(c.pc)}};a.prototype.Kd=function(){this.Dr(this.sl&&this.sl.isVisible()&&this.tl&&this.tl.isVisible())};a.prototype.df=function(){var a=this.k.G(f.bj);a.color=this.hd.get("lineColor");a.depthTest=this.hd.get("depthTest");a.width=this.hd.get("lineWidth");a.depthTest=this.hd.get("depthTest");this.bo()};a.prototype.Un= function(a){if(this.uk!=a){this.uk=a;this.bo()}};a.prototype.bo=function(){this.k.G(f.bj).opacity=this.hd.get("lineOpacity")*Math.max(1.0E-4,this.uk)};var i=["depthTest","lineColor","lineOpacity","lineWidth"];return a}); define("lo","require,kG,jU,nU,fQ,fm".split(","),function(a){var b=a("kG"),d=a("jU"),c=a("nU"),g=a("fQ"),f=a("fm"),a=b.extend(g,function(a,b,f){g.call(this);this.hd=a;this.ra=b;this.Ap=f;this.aT=this.aT.bind(this);this.df=this.df.bind(this);this.Cm=this.Cm.bind(this);this.k=q;this.Xh=this.JL=this.Td=this.ew=B;this.uk=0;this.ub=B;this.Xx();d.pa(this.hd,i,this.aT,n);d.pa(this.hd,j,this.df,n);d.RV(this.Ap,e,this.Cm,n);this.bind(c.rn,this.Wka,this,n);this.bind(c.cc,this.mF,this,n);this.bind(c.qb,this.Dm, this,n);this.Cm();this.SW()&&this.Dr(n)});a.prototype.dispose=function(){d.na(this.hd,i,this.aT);d.na(this.hd,j,this.df);d.na(this.Ap,e,this.Cm);this.unbind(c.rn,this.Wka,this,n);this.unbind(c.cc,this.mF,this,n);this.unbind(c.qb,this.Dm,this,n);this.Nu()};a.prototype.Qua=function(a){if(this.ew!==a){if(this.ew=a){a=this.k.C(f.Rj);a.Qb=this.ra;a.rotate=B;a.La=new g;this.Dr(n);a.La.bind(c.cc,this.cF,this,n)}else{(a=this.k.getComponent(f.Rj))&&a.La.unbind(c.cc,this.cF,this,n);this.k.ga(f.Rj);a=this.k.getComponent(f.va); this.Wua(a.Pg,a.ug,a.Kf)}this.fy();this.B8()}};a.prototype.Xua=function(a){a===l&&(a=B);if(this.Xh!==a)(this.Xh=a)?this.k.C(f.Kv):this.k.ga(f.Kv)};a.prototype.ZSa=function(a){if(this.JL!==a){this.JL=a;this.B8();this.Td=B;this.fy()}};a.prototype.Wua=function(a,b,c){this.Ap.set("x",a);this.Ap.set("y",b);this.Ap.set("z",c);this.Dr(this.SW())};a.prototype.Xx=function(){this.k=this.ra.R.Md("MeasurePoint");this.k.C(f.Sphere);this.k.C(f.Vc);this.k.C(f.Vd).La=this;this.k.C(f.Qs);this.k.C(f.va).La=this;this.k.C(f.Fo); this.k.C(f.Hb).Qb=this.ra;this.B8();this.bo();this.fy()};a.prototype.Nu=function(){this.k.R.bg(this.k);this.k=q};a.prototype.isVisible=S("ub");a.prototype.Dr=function(a){if(this.ub!=a)if(this.ub=a){this.Un(1);this.trigger(c.jc)}else{this.Un(0);this.trigger(c.pc)}};a.prototype.B8=function(){var a=this.k.G(f.Vd);a.dn=this.JL;a.qv=this.JL;a.Zu=!this.ew;a=this.k.G(f.Qs,n);a.gwa=!this.JL||this.ew;a.fwa=this.ew};a.prototype.cF=function(){this.Dr(n)};a.prototype.mF=function(){this.Td=n;this.fy()};a.prototype.Dm= function(){this.Td=B;this.fy()};a.prototype.aT=function(){this.k.G(f.Hb).id=this.hd.get("parentId")};a.prototype.df=function(){if(this.k){var a=this.k.G(f.Fo);a.tg=a.Mg=a.si=1;a.VN=this.hd.get("pointMaxRadius");a.XN=this.hd.get("pointMinRadius");a.scale=this.hd.get("pointRadius")||1;this.k.G(f.Vc).depthTest=this.hd.get("depthTest");this.fy()}};a.prototype.fy=function(){if(this.k){var a=this.ew?"pointDragColor":this.Td?"pointOverColor":"pointColor";this.k.G(f.Vc).color=this.hd.get(a)}};a.prototype.Un= function(a){if(this.uk!=a){this.uk=a;this.bo()}};a.prototype.bo=function(){this.k.G(f.Vc).opacity=Math.max(1.0E-4,this.uk)};a.prototype.Wka=function(a){this.x=a.data.position.x;this.y=a.data.position.y;this.z=a.data.position.z};a.prototype.Cm=function(){if(this.SW()&&this.k){var a=this.k.G(f.va,n);a.Pg=this.Ap.get("x");a.ug=this.Ap.get("y");a.Kf=this.Ap.get("z")}};a.prototype.SW=function(){var a=this.Ap.get("x"),b=this.Ap.get("y"),c=this.Ap.get("z");return a!==l&&b!==l||c!==l};a.prototype.distanceTo= function(a){var b=this.x-a.x,c=this.y-a.y,a=this.z-a.z;return Math.sqrt(b*b+c*c+a*a)};var i=["parentId"],e=["x","y","z"],j=["depthTest","mode","pointDragColor","pointColor","pointOverColor","pointMaxRadius","pointMinRadius","pointRadius"];return a}); define("lV","require,jU,nU,bm,eN,em,gi,lo,t,fm".split(","),function(a){function b(a,b,c,e){this.q=a;this.V=b;this.ra=c;this.h=e;this.K=this.h.K;this.lp=this.lp.bind(this);this.dT=this.dT.bind(this);this.US=this.US.bind(this);this.lT=this.lT.bind(this);this.gF=this.gF.bind(this);this.lx=this.lx.bind(this);this.eF=this.eF.bind(this);this.mi=new Map;this.nL=new Map;this.ep=[];this.JA=[];this.tF=new Map;this.$g=[];this.Ki=q;this.le=this.Kc=l;this.N=B;d.pa(this.q,["enabled"],this.lp,n)}var d=a("jU"),c= a("nU"),g=a("bm"),f=a("eN"),i=a("em"),e=a("gi"),j=a("lo"),o=a("t");a("fm");b.prototype.dispose=function(){this.Xo();d.na(this.q,["enabled"],this.lp,n);this.le=this.Kc=this.Ki=this.$g=this.JA=this.ep=this.nL=this.mi=q};b.prototype.lp=function(){this.q.get("enabled")?this.eA():this.Xo()};b.prototype.eA=function(){if(!this.N){this.N=n;this.$Aa();this.Sfa(this.q);document.addEventListener("keyup",this.eF);d.pa(this.q,k,this.dT,n);d.pa(this.q,r,this.lT,n);d.pa(this.q,m,this.US,n);d.pa(this.q,p,this.gF, n);d.pa(this.q,t,this.lx,n);this.V.bind(c.ca,this.Aka,this,n);this.V.bind(c.Ul,this.Bka,this,n)}};b.prototype.Xo=function(){if(this.N){this.N=B;this.Cna([]);this.nga(this.q);this.gCa();document.removeEventListener("keyup",this.eF);d.na(this.q,k,this.dT);d.na(this.q,r,this.lT,n);d.na(this.q,m,this.US,n);d.na(this.q,p,this.gF,n);d.na(this.q,t,this.lx,n);this.V.unbind(c.ca,this.Aka,this,n);this.V.unbind(c.Ul,this.Bka,this,n)}};b.prototype.dT=function(){this.Cna(this.q.get("points"))};b.prototype.US= function(){var a=this.q.get("mode");if(a!=this.Kc){switch(this.Kc){case "create":this.$g.length<1||this.Ki&&this.$g.length<2?a="create":this.HIa(this.Ki);break;case "edit":a=="create"?this.q.get("type")==="single"&&this.$g.length>0?a="edit":this.GP():this.Fu(q);break;case "view":a==="create"&&(this.q.get("type")==="single"&&this.$g.length>0?a="view":this.GP());break;default:a=="create"&&(this.q.get("type")==="single"&&this.$g.length>0&&this.I2(this.Mt(-1))?a="edit":this.Fu(this.Mt(-1),B))}this.Kc= a;this.q.set("mode",this.Kc);this.xpa()}};b.prototype.lT=function(){var a=this.q.get("type");if(a!==this.le){this.le=a;this.le==="single"&&this.$g.length>1&&this.q.set("points",this.gVa.slice(0,1))}};b.prototype.gF=function(){this.lpa();this.qV()};b.prototype.lx=function(){var a=this.q2(this.Sg);a&&a.CH(this.q.get("area"))};b.prototype.eF=function(a){a.which==g.Nwa&&this.K.get("isKeyboardTarget")&&(this.q.get("mode")=="create"?this.q.set("mode","edit"):this.Kc=="edit"&&this.Fu(q))};b.prototype.GP= function(){this.Pya();this.Fu(this.Mt(-1),B)};b.prototype.Pya=function(){var a=this.K.get("application").aq("MeasureModel3DObjectPoint");if(!o.wb()){var b=this.Mt(-1);if(b&&this.I2(b)){a.set("x",b.get("x"));a.set("y",b.get("y"));a.set("z",b.get("z"))}}this.q.set("points",this.$g.concat([a]))};b.prototype.Mt=function(a){var b=[this.q].concat(this.$g);return a<0&&b.length-a>0?b[b.length+a]:a>=0&&a0?this.q.set("mode","edit"):this.GP()}else this.q.get("mode")=="edit"&&this.Fu(q)};b.prototype.Bka=function(){this.q.get("mode")=="create"&&o.wb()&&this.q.set("mode","edit")};b.prototype.Ska=function(){this.q.get("mode")=="create"&&this.q.set("mode","edit")};b.prototype.Rka=function(a){if(this.q.get("mode")== "create"){var b=this.Mt(-2),a=this.nL.get(a.source);if(b==a)this.q.set("mode","edit");else{b=this.Ki;this.Fu(q);b.set("x",a.get("x"));b.set("y",a.get("y"));b.set("z",a.get("z"));a==this.Mt(0)?this.q.set("mode","edit"):this.GP()}}};b.prototype.Tka=function(a){this.q.get("mode")=="edit"&&this.Fu(this.nL.get(a.source),n)};b.prototype.Uka=function(){this.q.get("mode")=="edit"&&this.Fu(q)};b.prototype.Vka=function(){this.qV()};b.prototype.qV=function(){for(var a=[],b=this.Mt(0),c=this.C2(),d=0;dthis.ep.length;)this.FBa();for(var a=n,b=0;b1){b=this.mi.get(a[a.length-1]);a=this.hS(b);a.TSa(b);a.setStyle(i.Yca)}if(this.q.get("displayAreaLabel")&&this.Sg){a=this.hS(this.Sg);a.KRa(this.Sg);a.setStyle(i.Kxa)}this.lCa();this.qV();this.lx()};b.prototype.xpa=function(){var a=!this.Ki&&this.Kc!="view";this.mi.forEach(function(b){b.ZSa(a)})};b.prototype.jMa=function(){this.Sg&&this.Sg.HX([this.q].concat(this.C2()).map(function(a){return this.mi.get(a)}.bind(this)))};b.prototype.Sfa=function(a){var b=this.mi.get(a); if(!b){b=new j(this.q,this.ra,a);this.mi.set(a,b);this.nL.set(b,a);b.bind(c.Ul,this.Ska,this,n);b.bind(c.ca,this.Rka,this,n);b.bind(c.zb,this.Tka,this,n);b.bind(c.Wb,this.Uka,this,n);b.bind(c.rn,this.Vka,this,B)}};b.prototype.nga=function(a){var b=this.mi.get(a);if(b){b.unbind(c.rn,this.Vka,this,B);b.unbind(c.Ul,this.Ska,this,n);b.unbind(c.ca,this.Rka,this,n);b.unbind(c.zb,this.Tka,this,n);b.unbind(c.Wb,this.Uka,this,n);b.dispose();this.mi["delete"](a);this.nL["delete"](b)}};b.prototype.FBa=function(){this.ep.push(new e(this.q, this.ra))};b.prototype.jCa=function(){this.ep.length!=0&&this.ep.pop().dispose()};b.prototype.EBa=function(){var a=new i(this.V,this.q,this.ra);this.JA.push(a);return a};b.prototype.dMa=function(){this.tF.clear()};b.prototype.hS=function(a){var b;b=this.JA.length>this.tF.size?this.JA[this.tF.size]:this.EBa();this.tF.set(a,b);return b};b.prototype.q2=function(a){return this.tF.get(a)};b.prototype.lCa=function(){for(;this.JA.length>this.tF.size;)this.iCa()};b.prototype.iCa=function(){this.JA.length!= 0&&this.JA.pop().dispose()};b.prototype.$Aa=function(){if(!this.Sg)this.Sg=new f(this.q,this.ra)};b.prototype.gCa=function(){if(this.Sg){this.Sg.dispose();this.Sg=q}};var k=["points"],m=["mode"],r=["type"],p=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],t=["area"];return b}); define("nv",["require","jU","nU","fQ","fm"],function(a){function b(a,b,c){this.V=a;this.ra=b;this.Vh=c;this.N=B;this.ox=this.ox.bind(this);d.pa(this.V,i,this.ox,n)}var d=a("jU"),c=a("nU"),g=a("fQ"),f=a("fm");b.prototype.ox=function(){var a=!!this.V.get("maxNearestObjectsVisible");this.N!=a&&(this.N&&this.Xo(),(this.N=a)&&this.eA())};b.prototype.eA=function(){var a=this.Vh.C(f.qq);a.La=new g;a.La.bind(c.qa,this.qK,this,n);this.ra.R.ob()};b.prototype.Xo=function(){this.Vh.getComponent(f.qq).La.unbind(c.qa, this.qK,this,n);this.Vh.ga(f.qq);this.V.get("objects").forEach(function(a){a.get("hideBasedOnDistance")&&a.Faa(B)})};b.prototype.qK=function(a){var b=0,c=this.V.get("maxNearestObjectsVisible");a.data.beacons.forEach(function(a){if(a=this.mDa(a))a.get("hideBasedOnDistance")?(a.Faa(b>=c),b++):a.Faa(B)}.bind(this))};b.prototype.mDa=function(a){a=(a=a.entity.getComponent(f.ZO))&&a.object;if(!a.get||a.get("hideBasedOnDistance")===l)a=q;return a};b.prototype.dispose=function(){d.na(this.V,i,this.ox,n); this.N&&(this.N=B,this.Xo())};var i=["maxNearestObjectsVisible"];return b}); define("iK",["require","nU","eQ"],function(a){function b(a,b){this.aK=a.aK;this.V=b;this.Vf=[];this.aK.bind(d.u("spritesEnabled"),this.nla,this,n);this.V.bind(d.u("objects"),this.aB,this,n);this.X()}var d=a("nU"),c=a("eQ");b.prototype.dispose=function(){this.aK.unbind(d.u("spritesEnabled"),this.nla,this,n);this.V.unbind(d.u("objects"),this.aB,this,n);this.Vf.forEach(function(a){a.Eaa(B)});this.Vf=q};b.prototype.nla=function(){this.X()};b.prototype.aB=function(){this.X()};b.prototype.X=function(){var a= [];this.aK.get("spritesEnabled")===B&&a.push("SpriteModel3DObject");var b=this.V.get("objects");this.Vf.forEach(function(a){-1==b.indexOf(a)&&a.Eaa(B)});this.Vf=b;this.Vf.forEach(function(b){var d=a.some(function(a){return c.za(a,b)});b.Eaa(d)})};return b});define("gQ",["require","jf"],function(a){return a("jf")}); define("hg","require,jU,nU,gQ,t,fm".split(","),function(a){function b(a,b,e,i){this.q=a;this.V=b;this.ra=e;this.h=i;this.K=this.h.K;this.lp=this.lp.bind(this);this.iu=this.iu.bind(this);this.Cm=this.Cm.bind(this);this.df=this.df.bind(this);this.i4=this.ra.getComponent(f.zg).kH;this.i4.bind(c.U,this.ju,this,B);this.j4=this.$ia=B;this.Ir=new g(this.K);this.Ir.hb(0);this.Ir.update();this.k=q;d.pa(this.q,["enabled"],this.lp,n)}var d=a("jU"),c=a("nU"),g=a("gQ");a("t");var f=a("fm");b.prototype.lp=function(){this.q.get("enabled")? this.eA():this.Xo()};b.prototype.eA=function(){if(!this.k){this.k=this.ra.R.Md("Reticle");var a=this.k.C(f.Hb);a.Qb=this.ra;a.id=this.q.get("parentId");this.k.C(f.Plane).renderOrder=2;this.k.C(f.Zi).source=this.Ir.ng();this.k.C(f.Qy);a=this.k.C(f.ZO);a.JTa=this.q;a.object=this.q;d.pa(this.V,j,this.iu,n);d.pa(this.q,i,this.Cm,n);d.pa(this.q,e,this.df,n)}};b.prototype.Xo=function(){if(this.k){this.ra.R.bg(this.k);this.k=q;d.na(this.V,j,this.iu,n);d.na(this.q,i,this.Cm);d.na(this.q,e,this.df)}};b.prototype.iu= function(){var a=this.k.G(f.Fo,n);a.tg=a.Mg=2;a.scale=this.V.get("surfaceReticleRadius");a.VN=this.V.get("surfaceReticleMaxRadius");a.XN=this.V.get("surfaceReticleMinRadius");this.spa()};b.prototype.Cm=function(){var a=this.k.G(f.Js,n);a.x=this.q.get("x");a.y=this.q.get("y");a.z=this.q.get("z");a.distance=this.q.get("distance");a.ON=this.q.get("horizontal")};b.prototype.df=function(){var a=this.k.G(f.Vd,n);a.dn=this.q.get("useHandCursor");a.MO=this.q.get("transparentAreaActive");a.La=this.q;a=this.k.G(f.Zi); a.opacity=this.q.get("opacity");a.hidden=this.q.get("hidden");a.depthTest=this.q.get("depthTest")};b.prototype.ju=function(){this.$ia=n;this.spa()};b.prototype.spa=function(){var a=this.$ia&&this.V.get("opacity")>0.5;if(this.j4!=a)(this.j4=a)&&this.k&&this.k.G(f.Js)};b.prototype.dispose=function(){this.Xo();d.na(this.q,["enabled"],this.lp,n);this.i4.unbind(c.U,this.ju,this,B);this.i4=q};var i=["distance","horizontal","x","y","z"],e=["depthTest","hidden","opacity","transparentAreaActive","useHandCursor"], j=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return b}); define("ia","require,jU,nU,fQ,gQ,t,fm".split(","),function(a){function b(a,b,d){this.V=a;this.ra=b;this.h=d;this.K=this.h.K;this.iu=this.iu.bind(this);this.Td=l;this.V.bind(c.u("surfaceSelectionEnabled"),this.z1,this,n);this.z1()}var d=a("jU"),c=a("nU"),g=a("fQ"),f=a("gQ"),i=a("t"),e=a("fm");b.prototype.z1=function(){var a=this.V.get("surfaceSelectionEnabled")&&!i.wb();!!this.k!=a&&(a?this.eA():this.Xo())};b.prototype.eA=function(){if(!this.k){this.k=this.ra.R.Md("PointerReticle");this.k.C(e.Plane).renderOrder= 2;this.k.C(e.Rj).Qb=this.ra;this.k.C(e.Qs);this.k.C(e.Hb).Qb=this.ra;var a=this.k.C(e.qq);a.La=new g;a.La.bind(c.qa,this.qK,this,n);d.pa(this.V,j,this.iu,n);this.Ir=new f(this.K);this.Ir.hb(0);this.Ir.update();a=this.k.C(e.Zi);a.source=this.Ir.ng();a.depthTest=B;a=this.ra.G(e.Vd);a.La.bind(c.ca,this.EK,this,n);a.La.bind(c.ad,this.Wf,this,n);a.La.bind(c.qb,this.Dm,this,n);this.Xd=q;this.P6(B)}};b.prototype.Xo=function(){if(this.k){if(this.Xd){this.Xd.trigger(c.qb);this.Xd=q}var a=this.ra.G(e.Vd);a.La.unbind(c.ca, this.EK,this,n);a.La.unbind(c.ad,this.Wf,this,n);a.La.unbind(c.qb,this.Dm,this,n);this.k.getComponent(e.qq).La.unbind(c.qa,this.qK,this,n);this.ra.R.bg(this.k);this.Ir=this.k=q;d.na(this.V,j,this.iu)}};b.prototype.iu=function(){var a=this.k.G(e.Fo,n);a.tg=a.Mg=2;a.scale=this.V.get("surfaceReticleRadius");a.VN=this.V.get("surfaceReticleMaxRadius");a.XN=this.V.get("surfaceReticleMinRadius")};b.prototype.qK=function(a){var a=this.aEa(a),b=this.nDa(a);b==0&&(a=q);this.hJa(a);this.xJa(b)};b.prototype.EK= function(){this.Xd&&this.Xd.trigger(c.ca)};b.prototype.Wf=function(){this.P6(n)};b.prototype.Dm=function(){this.P6(B)};b.prototype.P6=function(a){if(this.Td!==a){this.Td=a;this.k.G(e.Zi).opacity=this.Td?1:0}};b.prototype.hJa=function(a){a=this.eha(a);if(this.Xd!=a){this.Xd&&this.Xd.trigger(c.qb);(this.Xd=a)&&this.Xd.trigger(c.cc)}};b.prototype.aEa=function(a){a=a.data.beacons;if(!a)return q;for(var b=0;b=0};a.prototype.kqa=function(a){if(!(this.ZE.indexOf(a)>=0)){this.ZE.push(a);this.be&&this.Ina(a)}};a.prototype.haa=function(a){var b=this.ZE.indexOf(a);if(!(b<0)){this.ZE.splice(b,1);this.be&&this.toa(a)}};a.prototype.Laa=function(a,b){var c=this.YE.get(a);c&&c.IC(b)};a.prototype.iva=function(a,b){var c=this.YE.get(a);c&&c.yd(b)};a.prototype.LN=function(a){return(a=this.YE.get(a))?a.qPa(): l};a.prototype.C9=function(){return this.be&&this.be.C9()};a.prototype.Ina=function(a){this.toa(a);this.YE.set(a,new i(this,this.be,a))};a.prototype.toa=function(a){var b=this.YE.get(a);if(b){this.YE["delete"](a);b.dispose()}};return a}); define("iL","require,kG,nU,eQ,me,cS,dT,dM,kA,dV".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("eQ"),g=a("me"),f=a("cS"),i=a("dT"),e=a("dM"),j=a("kA"),o=a("dV"),a=b.extend(i,function(){i.call(this,"model");this.Yo=this.uS=this.Mh=B;this.B=this.h=q;this.cb=this.vd=0;this.Qd=b.jq(this.Jg,this);this.set("spritesEnabled",n);this.Q_=new g(this,"buttonToggleSprites",o.Uj);this.Q_.bind(d.zi,function(){this.set("spritesEnabled",n)},this);this.Q_.bind(d.Sj,function(){this.set("spritesEnabled",B)},this); this.Q_.set("pressed",this.get("spritesEnabled"))});c.F("Model3DPlayer",a).H("Object").Q({buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleSprites:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", displayPlaybackBar:"bool",currentTime:"number",spritesEnabled:"bool",state:"enum[stopped, playing, paused]",model:"Model",viewerArea:"ViewerArea"}).Ng({play:function(){this.cB()},pause:function(){this.bB()},stop:function(){this.wx()},restart:function(){this.tx()},getModelPixelScale:function(){return this.YDa()},captureToDataURL:function(){return this.h&&this.h.C9()}}).hc([f.xf,f.xi,d.Gc]);a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "model":this.uS=n;this.set("requesterPlayer", q);this.Qd();break;case "viewerArea":this.Mh=n;this.Qd();break;case "displayPlaybackBar":this.Yo=n;this.Qd()}i.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.B&&this.B.getTime()||0}return i.prototype.get.call(this,a,b)};a.prototype.Jg=function(){if(this.Mh){this.Mh=B;this.yt();this.get("viewerArea")&&this.ut();this.WL(this.get("viewerArea"));this.uS=n}var a=B;if(this.h&&(this.uS||this.UU)){var b=this.get("model");if(b&&!this.h.vb()){this.Qd(); return}this.uS=B;this.cb=this.vd=0;a=n;if(b){this.tH(this.get("requesterPlayer")?[this.get("requesterPlayer"),this]:[this]);this.B.GSa(b)}else this.B.rv()}if(this.Yo){this.Yo=B;a=n}a&&this.Vu()};a.prototype.bG=function(){this.set("model",q)};a.prototype.ut=function(){var a=this.get("application"),b=this.get("viewerArea");this.h=new j(a,b,this);this.h.$({left:0,top:0,bottom:0,right:0});b.Oa(this.h);this.B=new e(b,this.h);this.B.bind(e.Yy,this.dl,this);this.B.bind(e.Xy,this.nx,this);this.B.bind(e.MY, this.Eka,this,n);this.B.bind(e.sc,this.ze,this);this.Vx(n)};a.prototype.yt=function(){if(this.h){this.B.unbind(e.Yy,this.dl,this);this.B.unbind(e.Xy,this.nx,this);this.B.unbind(e.MY,this.Eka,this,n);this.B.unbind(e.sc,this.ze,this);this.B.clear();this.h.getParent().removeChild(this.h);this.h=q;this.Vx(B)}};a.prototype.ze=function(a){this.oc(a.data.state)};a.prototype.dl=function(a){var b=this.get("viewerArea");this.Hd=b&&b.Hd;this.WJ(a.data.model);this.Vu()};a.prototype.nx=function(a){this.Hd=q;this.VJ(a.data.model)}; a.prototype.Eka=function(a){this.vd=a.data.time;this.cb=a.data.duration;this.Vu()};a.prototype.lL=function(a){this.uB(a.data.position)};a.prototype.uj=function(){this.B&&this.B.play()};a.prototype.Om=function(){this.B&&this.B.stop()};a.prototype.Nn=function(){this.B&&this.B.pause()};a.prototype.uB=function(a){this.B&&this.B.setTime(a)};a.prototype.YDa=function(){return this.B&&this.B.LN()};a.prototype.Vu=function(){if(this.h){var a=this.h.getParent();this.cb>0&&this.get("displayPlaybackBar")?a.$({playbackBarPosition:this.vd, playbackBarDuration:this.cb,playbackBarVisible:n}):a.set("playbackBarVisible",B)}};return a}); define("ok",["require","kG","eQ","cS","hN"],function(a){var b=a("kG"),d=a("eQ"),c=a("cS"),g=a("hN"),a=b.extend(g,function(){g.call(this)});d.F("Model3DPlayListItem",a).H("PlayListItem").Q({media:"Model3D",player:"Model3DPlayer"});a.prototype.start=function(){g.prototype.start.call(this);var a=this.get("player");a&&(a.bind(c.xf,this.dl,this),a.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.dl():a.set("model",this.get("media")))};a.prototype.stop=function(){var a=this.get("player"); a&&(a.unbind(c.xf,this.dl,this),a.get("model")==this.get("media")&&a.set("model",q));g.prototype.stop.call(this)};a.prototype.dl=function(a){if(!a||a.data.media==this.get("media"))this.get("player").unbind(c.xf,this.dl,this),this.get("player").bind(c.xi,this.nx,this),this.XB()};a.prototype.nx=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(c.xi,this.nx,this),this.stop(),this.end())};return a}); define("jm",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("positionX",0);this.set("positionY",0);this.set("positionZ",0);this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("scale",1);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0);this.set("levels",[])});a.F("Model3DResource",b).H("Model3DResourceLevel").Q({levels:"array[Model3DResourceLevel]",positionX:"number", positionY:"number",positionZ:"number",rotationX:"number",rotationY:"number",rotationZ:"number",scale:"number",translationX:"number",translationY:"number",translationZ:"number",url:"string"}).vi(["url"]);b.prototype.get=function(a,b){switch(a){case "levels":b=[this];break;case "url":for(var f=d.prototype.get.call(this,a),i=this.get("levels"),e=0;i&&e0?1:-1;return b*(Math.pow(10,b*a)-1)/9}function c(a,b){return Math.min(Math.max(a/b,-1),1)}var g=a("kG");a("dY");var f=a("nU"),i=a("cs"),e=a("fQ"),j=a("cy"),o=a("oh"),k=a("mK"),m=g.extend(e,function(){e.call(this);this.Xia=this.Yia=1800;this.jE=7;this.fGa=this.ELa=0;this.yJ=B;this.ol=l;this.PA=j.lca;this.Goa=j.dda;this.jE=0;this.oU=l;this.Dj=B;this.LD=q;this.sA=3;this.Aa=90;this.m1= this.DB=this.qc=1;this.Hd=this.Wa=q;this.kL=B});m.prototype.sv=function(a){this.Yia=a.get("manualRotationSpeed");this.Xia=a.get("manualRotationSpeed");this.sA=a.get("manualZoomSpeed");this.m1=a.get("draggingFactor")};m.prototype.Cy=function(a){this.PA=a;this.A8()};m.prototype.LC=function(a){this.Goa=a;this.A8()};m.prototype.HC=function(a){this.Aa=a;this.DB=this.Aa/90};m.prototype.qs=function(a){this.Al();if(a){this.Wa=a;if(this.Hd=a.fPa&&a.Hd){this.Hd.bind(f.zb,this.Qla,this,n);this.Hd.bind(f.Wb, this.Rla,this,n)}this.Wa.bind(f.zb,this.Fd,this,n);this.Wa.bind(f.ad,this.pj,this,n);this.Wa.bind(f.Wb,this.qj,this,n);this.Wa.bind(f.xq,this.QA,this,n);this.Wa.vb().get("settings").get(TDV.PlayerSettings.Axa)!==B&&this.Wa.bind(f.fD,this.nA,this,n);this.Wa.bind(f.gD,this.Zga,this,n);this.Wa.bind(f.eD,this.Wga,this,n);this.A8()}};m.prototype.Al=function(){if(this.Wa!=q){if(this.Hd){this.Hd.unbind(f.zb,this.Qla,this);this.Hd.unbind(f.Wb,this.Rla,this);this.Hd=q}this.Wa.unbind(f.zb,this.Fd,this);this.Wa.unbind(f.ad, this.pj,this);this.Wa.unbind(f.Wb,this.qj,this);this.Wa.unbind(f.xq,this.QA,this);this.Wa.unbind(f.fD,this.nA,this);this.Wa.unbind(f.gD,this.Zga,this);this.Wa.unbind(f.eD,this.Wga,this);this.Wa=q;this.VQ()}};m.prototype.A8=function(){if(this.Wa)if(this.Wa.Fn){this.oU=this.Goa;this.jE=this.ELa}else{this.oU=this.PA;this.jE=this.fGa}};m.prototype.Qla=function(){this.kL=n};m.prototype.Rla=function(){this.kL=B};m.prototype.Fd=function(a){if(!this.kL){this.VKa(a);this.n7()}};m.prototype.pj=function(a){this.kL|| this.oG(a)};m.prototype.qj=function(){if(!this.kL){this.B1();this.VQ()}};m.prototype.QA=function(a){this.K8(a);this.n7(500)};m.prototype.Zga=function(){this.n7()};m.prototype.nA=function(a){this.L8(a)};m.prototype.Wga=function(){this.VQ()};m.prototype.VKa=function(a){this.yJ=n;this.ol=a;this.oG(a)};m.prototype.oG=function(a){if(this.yJ)switch(this.oU){case j.Ty:this.$Ma(a);break;case j.Fs:this.ZMa(a)}};m.prototype.$Ma=function(a){this.Cpa(+b(d(c(Math.abs(a.x-this.ol.x)<3?0:a.x-this.ol.x,this.Wa.Ua())), this.Yia*this.DB),-b(d(c(Math.abs(a.y-this.ol.y)<3?0:a.y-this.ol.y,this.Wa.Cb())),this.Xia*this.DB))};m.prototype.ZMa=function(a){this.z8(-b(c(a.x-this.ol.x,this.Wa.Ua()),this.Aa*this.m1),+b(c(a.y-this.ol.y,this.Wa.Ua()),this.Aa*this.m1));this.ol=a};m.prototype.B1=function(){if(this.yJ){this.yJ=B;switch(this.oU){case j.Ty:this.Cpa(0,0)}}};m.prototype.Cpa=function(a,b){var c=new o(m.Gs);c.Cv=a;c.lv=b;this.trigger(c)};m.prototype.z8=function(a,b){var c=new o(m.Gs);c.IH=a;c.nH=b;this.trigger(c)};m.prototype.L8= function(a){if(this.qc!=a.scale){this.B1();var b=this.qc;this.qc=a.scale;a=new k(m.Bo);a.p$=this.Aa*b/this.qc-this.Aa;this.trigger(a)}};m.prototype.K8=function(a){if(a.delta!=0){this.B1();var b=new k(m.Bo);b.p$=this.Aa*-a.delta*this.sA/100;this.trigger(b)}};m.prototype.n7=function(a){var b=this.LD!=q;this.hoa();if(a&&(b||!this.Dj)){var c=this;this.LD=setTimeout(function(){c.LD=q;c.VQ()},a)}if(!this.Dj){this.Dj=n;this.trigger(new i(m.xg))}};m.prototype.VQ=function(){this.hoa();if(this.Dj){this.Dj= B;this.trigger(new i(m.wg))}};m.prototype.hoa=function(){if(this.LD!=q){clearTimeout(this.LD);this.LD=q}};m.Gs="rotation change";m.Bo="zoom change";m.xg="user interaction start";m.wg="user interaction end";return m}); define("dq",["require","t"],function(a){function b(){this.cG=c.wb()?0.066:0.1;this.hGa=0.5;this.IKa=c.wb()?0.066:0.1;this.CNa=0.1;this.SU=this.YU=B;this.reset()}function d(a,b,c){a=(b-a)*(1-c);0.01>Math.abs(a)&&(a=0);return b-a}var c=a("t");b.prototype.reset=function(){this.Yfa=this.J0=this.bE=this.zw=this.KI=this.N0=this.M0=this.R0=this.FE=this.sA=this.jU=this.lU=this.yp=this.jL=this.Sr=this.fN=0};b.prototype.Qaa=function(a,b,c,d,j,o,k,m,r){return this.fN!=a||(this.jL=b)||this.lU!=c||0!=d||0!=j|| this.SU!=k||this.qja!=m||this.YU!=r?(this.fN=a,this.jL=b,this.lU=c,this.Sr+=d,this.yp+=j,this.jU+=o,this.SU=k,this.qja=m,this.YU=r,n):B};b.prototype.tTa=function(a,b){return this.sA!=a||0!=b?(this.sA=a,this.FE+=b,n):B};b.prototype.He=function(){return 0!=this.R0||0!=this.M0||0!=this.N0||0!=this.KI||0!=this.fN||0!=this.jL||0!=this.lU||0!=this.sA||0!=this.Sr||0!=this.yp||0!=this.FE};b.prototype.xb=function(a){var a=1E3/a,b=this.R0/a,c=this.fN/a+this.Sr;this.Sr=0;var e=this.M0/a,j=this.jL/a+this.yp; this.yp=0;var o=this.N0/a,k=this.lU/a+this.jU;this.jU=0;var m=this.sA+this.FE*a;this.FE=0;var r=0==c&&0==j&&0==k,p=0==b&&0==e&&0==o;this.SU&&p&&!r||this.YU&&r&&!p||this.qja&&!r&&!p?(r=r?this.cG:p?this.IKa:this.hGa,this.zw=d(b,c,r),this.bE=d(e,j,r),this.J0=d(o,k,r)):(this.zw=c,this.bE=j,this.J0=k);b=0==this.KI;c=0==m;this.KI=this.SU&&b&&!c||this.YU&&c&&!b?d(this.KI,m,this.CNa):m;this.R0=this.zw*a;this.M0=this.bE*a;this.N0=this.J0*a;this.Yfa=this.KI/a};return b}); define("cR","jquery.mod,kG,d,fb,dq,bg,nU".split(","),function(a,b,d,c,g,f,i){b=b.extend(d,function(){d.call(this);this.ke("Renderer");this.J=a("");this.J.css({position:"absolute",left:0,top:0});this.Ab().append(this.J);this.Vw=q;this.ua=this.JE=this.HE=this.IE=0;this.ll=B;this.XHa=150;this.qJ=0;this.tm=q;this.bind(i.tc,this.Vb,this,n);this.Ya=new c;this.Ya.iWa(720);this.Ya.qO(0);this.Ya.Cy("drag_rotation");this.Ya.HC(360);this.Ya.bind(c.Gs,this.jHa,this);this.Sb=new g});b.prototype.mSa= function(a,b,c){this.Vw=a;this.IE=b;this.HE=c;this.JE=Math.floor(this.Vw.length*this.ua/360);this.s6();this.Ya.qs(this);this.Da()};b.prototype.eOa=function(){this.Vw=q;this.qk();this.s6();this.Ya.Al()};b.prototype.play=function(){this.ll=n;this.Da()};b.prototype.jHa=function(a){this.qk();this.Sb.Qaa(a.Cv,a.lv,0,a.IH,a.nH,0,B,n);this.Da()};b.prototype.uK=function(){this.play()};b.prototype.sj=function(a){if(this.Vw)if(this.Sb.He()){this.ll=B;this.Sb.xb(a);this.mea(this.Sb.zw);this.Da()}else if(this.ll){this.mea(this.XHa* a/1E3);this.Da()}else this.ME()||this.Lp()};b.prototype.Nl=function(a){for(this.ua=a;this.ua<0;)this.ua=this.ua+360;for(;this.ua>=360;)this.ua=this.ua-360;this.CMa()};b.prototype.CMa=function(){if(this.Vw){var a=Math.floor(this.Vw.length*this.ua/360);if(this.JE!=a){this.JE=a;this.qma()}}};b.prototype.mea=function(a){this.Nl(this.ua+a)};b.prototype.Vb=function(){this.s6()};b.prototype.s6=function(){var a=this.J.get(0);if(this.IE==0||this.HE==0){a.width=0;a.height=0}else{var b=this.Se(),c=this.Re(); if(c*this.IE>b*this.HE){a.width=b;a.height=this.HE*b/this.IE}else{a.height=c;a.width=this.IE*c/this.HE}this.J.css({left:Math.round((b-a.width)*0.5)+"px",top:Math.round((c-a.height)*0.5)+"px"});this.qma()}};b.prototype.qma=function(){if(this.Vw){var a=this.J.get(0),b=this.Vw[this.JE];a.getContext("2d").drawImage(b,0,0,this.IE,this.HE,0,0,a.width,a.height)}};b.prototype.ME=function(){return this.tm?n:B};b.prototype.Lp=function(){this.qk();if(this.qJ>0){var a=this;this.tm=setTimeout(function(){a.tm= q;a.uK()},this.qJ)}};b.prototype.qk=function(){if(this.tm){clearTimeout(this.tm);this.tm=q}};b.prototype.Da=function(){f.yb(this.sj,this)};return b}); define("lL","require,jquery.mod,dY,kG,nU,hy,cs,eQ,fI,y,cR,nq,jR".split(","),function(a){a("jquery.mod");var b=a("dY"),d=a("kG"),c=a("nU"),g=a("hy"),f=a("cs"),i=a("eQ"),e=a("fI"),j=a("y"),o=a("cR"),k=a("nq"),m=a("jR"),a=d.extend(k,function(){k.call(this);this.bd=this.wm=this.Ih=this.h=q;this.bind(c.jc,this.gk,this);this.bind(c.pc,this.ck,this)});i.F("Object3D",a).H("UIComponent").Q({frames:"array[ImageResource]",yaw:"number"}).hc([c.U]);a.prototype.mb=function(){k.prototype.mb.call(this);if(!this.h){this.h= new o;this.h.$({left:0,top:0,right:0,bottom:0});this.Oa(this.h)}if(!this.Ih){this.Ih=new j;this.Ih.$({left:0,bottom:0,right:0,height:20,visible:B});this.Oa(this.Ih)}};a.prototype.gk=function(){this.LJ()};a.prototype.ck=function(){this.Om()};a.prototype.LJ=function(){this.Ih.set("percent",0);this.Ih.set("visible",n);this.h.Nl(this.get("yaw"));var a=this.get("frames",[]);this.wm=[];this.bd=[];for(var b=0;bg.indexOf(a)?b.push(a):c.push(a)});b.forEach(function(a){a.gC().zd(d.L)});this.No=c;this.J2=B};b.prototype.start=function(a){this.end(a);this.No=this.Iha(a);this.J2=0=2){x=parseFloat(x[1]);break a}x=l}x=x!==l?2*Math.atan2(this.Z*this.h.getPixelRatio()*0.5,this.b4*45*x/100):this.oJ?(this.Q1?g.zs(this.oJ,this.Z,this.ja):this.oJ)*k:2*Math.atan2(this.Z*this.h.getPixelRatio()*0.5,this.b4*45);x=Math.min(w,x);if(this.jia){s=360;v=180;u=0}else if(this.L2||this.H2){s=this.H2?90:this.eL+this.yT*0.5;var y=this.L2?-90:this.eL-this.yT*0.5;v=s-y;u=(s+y)*0.5;s=this.l5}else{s=this.l5;u=this.eL;v=this.yT}s=s*k;v=v*k;u=u*k;for(y= this.Z/this.ja;a<-j;)a=a+2*j;for(;a>j;)a=a-2*j;e=Math.max(Math.min(e,w),x);w=b.sz;c>o?w=w|b.wz:c<-o&&(w=w|b.rz);var c=Math.max(Math.min(c,j*0.5),-j*0.5),D=2*Math.atan(Math.tan(e*0.5)/y);if(D>=v){e=2*Math.atan(Math.tan(v*0.5)*y);c=u;w=w|b.wz|b.rz}else{var E=Math.min(v*0.5+u,j*0.5);v=Math.max(-v*0.5+u,-j*0.5);u=!this.dB&&E>=j*0.495?j*0.5:E-D*0.5;v=!this.dB&&v<=-j*0.495?-j*0.5:v+D*0.5;if(c>u){c=u;w=w|b.wz}else if(c0?y:-y,1);v=new f;v.rotateX(-c); y.apply(v);y=y.Uc()*2;y<0&&(y=y+2*j);v=s*0.5-y*0.5;D=-s*0.5+y*0.5;if(y>s){a=0;e=Math.max(x,e*s/y);w=w|b.zD|b.AD}else if(a>v){a=v;w=w|b.AD}else if(ab;)a=a-360;return a};a.prototype.TA=function(){this.N&&this.ao()};a.prototype.ao=function(){this.trigger(new d(b.qa))};return a});define("eb",[],function(){return{mD:"left",nD:"right",lD:"down",oD:"up",Tca:"rotate10x",sda:"zoom2x",S:"playing",Zs:"zoomIn",$s:"zoomOut",Lf:"stop"}}); define("ff","require,kG,bm,cs,fQ,eb".split(","),function(a){var b=a("kG"),d=a("bm"),c=a("cs"),g=a("fQ"),f=a("eb"),i=b.extend(g,function(a){g.call(this);this.h=a;this.N=B;this.ai={};this.fM=q;this.Pi=this.eM=B;this.WR=this.WR.bind(this);this.Wt=this.Wt.bind(this);this.vc=this.h.vc;document.addEventListener("keydown",this.WR);document.addEventListener("keyup",this.Wt)});i.prototype.clear=function(){this.N=B;this.vc=this.h=q;document.removeEventListener("keydown",this.WR);document.removeEventListener("keyup", this.Wt)};i.prototype.yd=function(a){if(this.N!=a)(this.N=a)&&this.sV()};var e=[d.Iq,d.rq,d.Ja,d.Xa,d.As,d.NZ];i.prototype.WR=function(a){var b=a.which,c=B;if(!this.ai[b]&&e.indexOf(b)>=0){if(!this.fM&&!this.eM)this.fM=setTimeout(this.mHa.bind(this),100);c=this.ai[b]=n}if(this.Pi!=a.shiftKey){this.Pi=a.shiftKey;c=n}c&&this.sV()};i.prototype.mHa=function(){this.eM=n;this.sV()};i.prototype.Wt=function(a){var b=a.which,c=B;if(b in this.ai){delete this.ai[b];c=B;for(b in this.ai)this.ai[b]&&(c=n);if(!c){this.fM&& clearTimeout(this.fM);this.fM=q;this.eM=B}c=n}if(this.Pi!=a.shiftKey){this.Pi=a.shiftKey;c=n}c&&this.sV()};i.prototype.sV=function(){if(this.N){var a=this.vc.get("arrowKeysAction");if(a!="none"){var a=a=="rotate",b=[];this.ai[d.As]?b.push(f.Zs):this.ai[d.NZ]&&b.push(f.$s);this.eM&&(this.ai[d.As]||this.ai[d.NZ])&&b.push(f.sda);this.ai[d.Ja]?b.push(f.mD):this.ai[d.Xa]&&b.push(f.nD);if(a||this.Pi)this.ai[d.Iq]?b.push(f.oD):this.ai[d.rq]&&b.push(f.lD);this.eM&&(this.ai[d.Ja]||this.ai[d.Xa]||this.ai[d.Iq]|| this.ai[d.rq])&&b.push(f.Tca);b.length==0&&b.push(f.Lf);this.trigger(new c(i.NY,{Kta:b}))}}};i.NY="movementsChange";return i}); define("ob",["require"],function(){function a(){this.xz=n;this.reset()}function b(a,b){var g=0.5*(b-a);0.01>Math.abs(g)&&(g=0);return b-g}a.prototype.reset=function(){this.xz&&(this.xz=B,this.cV=this.dV=this.Lu=this.Qm=this.cE=this.fE=this.dE=this.Bw=l)};a.prototype.moveTo=function(a,b,g,f,i){this.Qm=a;this.Lu=b;this.dV=g;this.cV=f;this.h3=i;this.xz=n};a.prototype.hb=function(a,b,g,f){this.Bw=a;this.dE=b;this.fE=g;this.cE=f};a.prototype.dq=S("Bw");a.prototype.cq=S("dE");a.prototype.ry=S("fE");a.prototype.jC= S("cE");a.prototype.He=S("xz");a.prototype.xb=function(){if(this.xz)if(this.h3)this.Bw=this.Qm,this.dE=this.Lu,this.fE=this.dV,this.cE=this.cV,this.xz=B;else{for(var a=this.Bw,c=this.Qm-180,g=this.Qm+180;ag;)a-=g-c;this.Bw=a;this.Bw=b(this.Bw,this.Qm);this.dE=b(this.dE,this.Lu);this.fE=b(this.fE,this.dV);this.cE=b(this.cE,this.cV);this.Bw==this.Qm&&this.dE==this.Lu&&this.fE==this.dV&&this.cE==this.cV&&(this.xz=B)}};return a}); define("co",["require","mL","lB","bu"],function(a){function b(){this.N=B;this.Rc=this.Ta=this.ua=0;this.aS=l}var d=a("mL"),c=a("lB"),g=a("bu");b.prototype.yd=function(a){this.N!=a&&(this.N=a,this.aS=l)};b.prototype.hb=function(a,b,c){this.ua=a;this.Ta=b;this.Rc=c};b.prototype.dq=S("ua");b.prototype.cq=S("Ta");b.prototype.ry=S("Rc");b.prototype.He=T(n);b.prototype.xb=function(){var a=d.mba(g.cs().orientation);this.ua+=this.aS===l?0:a.Na-this.aS;this.aS=a.Na;this.Ta=a.pitch;this.Rc=a.Ie;this.Ta=i=== l?a.pitch:i;this.Rc=f===l?a.Ie:f};var f=c.Vi("debug")?c.zW("force_vr_roll"):l,i=c.Vi("debug")?c.zW("force_vr_pitch"):l;return b}); define("f","require,dY,kG,nU,cs,fQ,cy,he,ff,dq,fb,ob,co,eb,bu,bc".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("nU"),g=a("cs"),f=a("fQ"),i=a("cy"),e=a("he"),j=a("ff"),o=a("dq"),k=a("fb"),m=a("ob"),r=a("co"),p=a("eb"),t=a("bu"),s=a("bc"),u=d.extend(f,function(a,b,d){f.call(this);this.h=a;this.vc=this.h.vc;this.Y=b;this.uc=d;this.Ix=this.Qw=this.kJ=this.XT=this.N=B;this.Sb=new o;this.Mp=new m;this.Rc=this.Ta=this.ua=0;this.Aa=90;this.DB=1;this.vh=l;this.D_=this.mI=5;this.hy=B;this.Ya=new k;this.Ya.bind(k.Gs, this.GK,this,n);this.Ya.bind(k.Bo,this.px,this,n);this.Ya.bind(k.xg,this.sp,this,n);this.Ya.bind(k.wg,this.rp,this,n);this.Rk=new e;this.Rk.bind(c.qa,this.cka,this);this.Pw=B;this.vm=new j(this.h);this.vm.bind(j.NY,this.lka,this,n);this.Rr=new r;t.bind(c.qa,this.Ln,this,n);this.Ln()});u.prototype.clear=function(){this.Ya.unbind(k.Gs,this.GK,this,n);this.Ya.unbind(k.Bo,this.px,this,n);this.Ya.unbind(k.xg,this.sp,this,n);this.Ya.unbind(k.wg,this.rp,this,n);this.Ya.Al();this.Ya=q;this.Rk.unbind(c.qa, this.cka,this);this.Rk=q;this.vm.unbind(j.NY,this.lka,this,n);this.vm.clear();this.vm=q;t.unbind(c.qa,this.Ln,this,n);this.uc=this.Y=this.Sb=q;this.mQ();this.h=this.vc=q};u.prototype.sv=function(a){this.Sb.reset();this.Mp.reset();this.Ya.sv(a);this.mI=a.get("automaticRotationSpeed");this.D_=a.get("automaticZoomSpeed")};u.prototype.Lj=function(a){function c(d){return b(a).contains(d)}b.isArray(a)||(a=[a]);var d=0,e=0,f=0,g=B;if(!c(p.Lf)){c(p.mD)?d=-this.mI:c(p.nD)&&(d=+this.mI);c(p.lD)?e=-this.mI: c(p.oD)&&(e=+this.mI);c(p.Zs)?f=-this.D_:c(p.$s)&&(f=+this.D_);c(p.S)&&(g=n);c(p.sda)&&(f=f*2);if(c(p.Tca)){d=d*10;e=e*10}d=d*this.DB;e=e*this.DB}this.Dc(d,e,0,f,0,0,0,0,g,n,n,n)};u.prototype.hb=function(a,b,c,d){this.ua=a;this.Ta=b;this.Rc=c;this.Aa=d;this.DB=this.Aa/90;this.Rk.hb(this.ua,this.Ta,this.Rc);this.Rr.hb(this.ua,this.Ta,this.Rc);this.Ya.HC(this.Aa);this.Mp.hb(this.ua,this.Ta,this.Rc,this.Aa)};u.prototype.moveTo=function(a,b,c,d,e){this.Mp.moveTo(a,b,c,this.uc.tra(d),e);this.XT=B;this.Sb.reset(); this.Kh()};u.prototype.Raa=function(a,b,c){this.Dc(0,0,0,0,a,b,c,0,B,B,B)};u.prototype.He=function(){return this.N&&(this.Ix||this.cY())?n:B};u.prototype.hOa=function(){this.Ix=this.hy=B};u.prototype.cY=function(){return this.N?this.hy?n:this.Rr.N?this.Rr.He()||this.Sb.He():this.Rk.N?this.Pw?n:this.Rk.He()||this.Sb.He():this.Sb.He()||this.Mp.He():B};u.prototype.xb=function(a){this.hy=B;this.Sb.xb(a);this.Ix=B;var b,c,d;d=this.Aa;if(this.Rr.N){this.Rr.xb(a);a=this.Rr.dq()+this.Sb.zw;b=this.Rr.cq(); c=this.Rr.ry()}else if(this.Mp.He()){this.Mp.xb(a);a=this.Mp.dq();b=this.Mp.cq();c=this.Mp.ry();d=this.Mp.jC()}else{if(this.Rk.N){this.Pw=B;this.Rk.xb(a);a=this.Rk.dq()+this.Sb.zw;b=this.Rk.cq();this.kJ&&(b=b+this.Sb.bE);c=this.Rk.ry()}else{a=this.ua+this.Sb.zw;b=this.Ta+this.Sb.bE;c=0}d=d+this.Sb.Yfa}this.uc.qo(d);this.Y.hb(a,b,c,this.uc.og(),this.uc.bv());this.ua=this.Y.Uc();this.Ta=this.Y.Nc();this.Rc=this.Y.uf();this.Aa=this.Y.dv();if(this.XT&&this.Y.qsa()){d=this.Sb.fN;if(this.Y.psa()||this.Y.rsa())d= -d;a=this.Sb.jL;if(this.Y.ssa()||this.Y.osa())a=-a;this.Dc(d,a,0,0,0,0,0,0,n,B,B,n)}};u.prototype.dq=S("ua");u.prototype.cq=S("Ta");u.prototype.ry=S("Rc");u.prototype.jC=S("Aa");u.prototype.yd=function(a){if(this.N!=a){if(this.N=a){this.Tx(this.Ya.PA==i.Fs?s.jz:l);this.Ya.qs(this.h.getParent());this.Kh()}else{this.mQ();this.Ya.Al()}this.r8()}};u.prototype.sO=function(a){if(this.Qw!=a){this.Qw=a;this.r8();this.Pw=n}};u.prototype.Ay=function(a){this.vm.yd(a)};u.prototype.r8=function(){this.Rk.yd(this.N&& this.Qw&&!t.isPresenting());this.Rr.yd(this.N&&t.isPresenting())};u.prototype.cka=function(){this.Kh()};u.prototype.tO=function(a){this.kJ=a;this.Rk.pTa(this.kJ)};u.prototype.Cy=function(a){this.Ya.Cy(a);this.Tx(this.Ya.PA==i.Fs?s.jz:l)};u.prototype.LC=function(a){this.Ya.LC(a)};u.prototype.Ln=function(){this.r8();this.Kh()};u.prototype.GK=function(a){var b=!this.Rr.N&&(!this.Rk.N||this.kJ);if(this.Ya.PA==i.Ty){var c=l;if(a.Cv!=0||a.lv!=0){var d=Math.sqrt(a.lv*a.lv+a.Cv*a.Cv)>25,e=Math.atan2(a.lv, a.Cv)*180/Math.PI;e>=-22.5&&e<22.5?c=d?s.oca:s.nca:e>=22.5&&e<67.5?c=d?s.qca:s.xca:e>=67.5&&e<112.5?c=d?s.pca:s.wca:e>=112.5&&e<157.5?c=d?s.rca:s.yca:e>=157.5||e<-157.5?c=d?s.vca:s.Cca:e>=-157.5&&e<-112.5?c=d?s.uca:s.Bca:e>=-112.5&&e<-67.5?c=d?s.sca:s.zca:e>=-67.5&&e<-22.5&&(c=d?s.tca:s.Aca)}this.Tx(c);this.Dc(a.Cv,a.lv,0,0,a.IH,a.nH,0,0,B,B,B,b)}else this.Dc(a.Cv,a.lv,0,0,a.IH,a.nH,0,0,B,B,b,b)};u.prototype.px=function(a){this.Dc(0,0,0,a.ZPa,0,0,0,a.p$,B,n,B,n)};u.prototype.Dc=function(a,b,c,d,e, f,g,i,j,k,m,o){var p=B;this.vc.get("rotationEnabled")&&(p=this.Sb.Qaa(a,b,c,e,f,g,k,m,o)||p);this.vc.get("zoomEnabled")&&(p=this.Sb.tTa(d,i)||p);if(p){this.Mp.reset();this.XT=j;this.Kh()}};u.prototype.Kh=function(){this.Ix=n;this.trigger(new g(u.mh))};u.prototype.sp=function(){this.hy=n;this.trigger(new g(u.xg));this.Ya.PA==i.Fs&&this.Tx(s.Ek)};u.prototype.rp=function(){this.trigger(new g(u.wg));this.Ya.PA==i.Fs&&this.Tx(s.jz)};u.prototype.lka=function(a){this.Lj(a.data.Kta);a.data.Kta.indexOf(p.Lf)< 0&&this.h.vb().trigger(new g(c.ez,{GO:a}))};u.prototype.Tx=function(a){if(this.vh!=a&&this.N){this.vh&&this.h.oH(this.vh);(this.vh=a)&&this.h.tX(this.vh)}};u.prototype.mQ=function(){if(this.vh){this.h.oH(this.vh);this.vh=l}};u.mh="position change request";u.xg="user interaction start";u.wg="user interaction end";return u}); define("mh",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("TargetRotationalCameraMovement",b).H("RotationalCameraMovement").Q({path:"enum[left, right, shortest, longest]",targetYaw:"number",targetPitch:"number",targetHfov:"number"});return b}); define("P","require,kG,nU,gE,cs,fQ,eQ,gt,mh,nx,bC".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("gE"),g=a("cs"),f=a("fQ"),i=a("eQ");a("gt");a("mh");var e=a("nx"),j=a("bC"),o=b.extend(f,function(a,b,c){f.call(this);this.h=a;this.Y=b;this.uc=c;this.KF=this.Ia=q;this.Ex=this.Gm=B;this.hk=l;this.$E=[];this.rB=0;this.O=q;this.Ta=this.ua=0;this.Aa=90});o.prototype.clear=function(){this.end();this.Y=this.h=q};o.prototype.start=function(a){this.fKa(a);this.OHa();this.Ex=B;this.nQ();this.Gm=B;this.Kh(); this.Aj()};o.prototype.end=function(){if(this.Ia!=q){this.vfa();this.Gm=this.Ex=B;this.O=q;this.Aj()}};o.prototype.$Qa=function(){if(this.Ia&&this.Ia.get("restartMovementOnUserInteraction")){if(!this.Gm){this.lM();this.r7();this.O=q;this.Gm=n;this.Aj()}}else{this.O=q;this.pause()}};o.prototype.cRa=function(){if(this.Gm){this.Gm=B;this.Fia()||this.m7()}};o.prototype.fKa=function(a){this.vfa();this.Ia=a;this.Ia.bind(d.mz,this.ila,this,n);this.Ia.bind(d.mP,this.hla,this,n);this.Ia.bind(d.u("movementIndex"), this.$A,this,n);this.$E=this.Ia.get("movements",[])};o.prototype.vfa=function(){this.r7();if(this.Ia!=q){this.Ia.unbind(d.mz,this.ila,this);this.Ia.unbind(d.mP,this.hla,this);this.Ia.unbind(d.u("movementIndex"),this.$A,this);this.Ia.set("movementIndex",-1);this.Ia=q;this.$E=[]}};o.prototype.Jj=function(){return this.Ia?this.Ex?c.Gb:c.S:c.L};o.prototype.hb=function(a,b,c,d){this.ua=a;this.Ta=b;this.Aa=d};o.prototype.He=function(){return this.Ia&&this.O&&!this.Ex&&!this.Gm&&!this.Fia()?n:B};o.prototype.xb= function(a){if(this.He()){this.O.xb(a);a=this.O.gb("hfov");if(this.uc.Ssa()){var b=this.O.W9("hfov");b.from=this.uc.dW(b.from);b.Hy=this.uc.dW(b.Hy);a=this.uc.dW(a)}this.Y.hb(this.O.gb("yaw"),this.O.gb("pitch"),0,a,this.uc.bv());this.ua=this.Y.Uc();this.Ta=this.Y.Nc();this.Aa=this.Y.dv();this.O.Te()&&this.SGa()}};o.prototype.dq=S("ua");o.prototype.cq=S("Ta");o.prototype.jC=S("Aa");o.prototype.play=function(){if(this.Ex){this.Ex=B;this.O||this.$A();this.nQ();this.Kh();this.Aj()}};o.prototype.pause= function(){if(!this.Ex){this.Ex=n;this.lM();this.Aj()}};o.prototype.ila=function(){this.play()};o.prototype.hla=function(){this.pause()};o.prototype.OHa=function(){this.rB=0;var a=this.Ia.get("movementIndex",-1);a==-1&&(a=0);this.KT(a)};o.prototype.QHa=function(){this.rB++;var a=this.Ia.get("repeat",1);if(this.$E.length>0&&(a==0||this.rB=0?this.uw(this.$E[a]):q};o.prototype.SGa=function(){this.$E[this.Ia.get("movementIndex")].trigger(new g(d.Ha));this.PHa()};o.prototype.Fia=function(){return this.KF!=q};o.prototype.m7=function(){this.r7();var a=this,b=this.Ia.get("restartMovementDelay")||0;this.KF=setTimeout(function(){a.KF=q;a.hHa()}, b);this.Aj()};o.prototype.r7=function(){if(this.KF){clearTimeout(this.KF);this.KF=q}};o.prototype.hHa=function(){this.KT(this.Ia.get("movementIndex"));this.Kh();this.Aj()};o.prototype.uw=function(a){var b,c,d,f=this.lk(this.ua,-180,180),g=this.Ta,o=this.Aa;if(i.za("TargetRotationalCameraMovement",a)){b=a.get("targetYaw",f);c=a.get("targetPitch",g);if(d=a.get("targetHfov")){this.uc.fva(d);d=this.uc.og()}else d=o;this.Y.hb(b,c,0,d,this.uc.bv());if(this.Y.dB)b=this.Y.Uc();else switch(this.G1(a)){case "left":b= this.lk(b,f-360,f);break;case "right":b=this.lk(b,f,f+360);break;case "longest":b=this.lk(b,f-180,f+180);b=b>=f?this.lk(b,f-360,f):this.lk(b,f,f+360);break;default:b=this.lk(b,f-180,f+180)}}else if(i.za("DistanceRotationalCameraMovement",a)){b=f+a.get("yawDelta",0);this.Y.dB&&(b=Math.min(Math.max(-180,b),180));c=g+a.get("pitchDelta",0);d=o+a.get("hfovDelta",0);this.Y.hb(b,c,0,d,this.uc.bv());this.Y.dB&&(b=this.Y.Uc())}c=this.Y.Nc();d=this.Y.dv();return new e(a.get("easing"),[new j("yaw",f,b,a.get("yawSpeed")), new j("pitch",g,c,a.get("pitchSpeed")),new j("hfov",o,d,a.get("hfovSpeed"))],a.get("duration"))};o.prototype.nQ=function(){this.hk=l};o.prototype.lM=function(){if(this.O){this.hk=l;var a=this.O&&this.O.W9("yaw");if(a)if(a.Hy>a.from)this.hk="right";else if(a.Hyc;)a=a-(c-b);return a};o.prototype.Kh=function(){this.trigger(new g(o.mh))}; o.prototype.VLa=function(){this.trigger(new g(o.$Y))};o.prototype.Aj=function(){this.trigger(new g(o.sc))};o.mh="position change request";o.$Y="sequence end";o.sc="playback state change";return o}); define("bs","require,dY,kG,nU,cs,fQ,hU,gK,f,P,eb,bu,gE".split(","),function(a){a("dY");var b=a("kG"),d=a("nU"),c=a("cs"),g=a("fQ"),f=a("hU"),i=a("gK"),e=a("f"),j=a("P"),o=a("eb"),k=a("bu"),m=a("gE"),r=b.extend(g,function(a,b){g.call(this);this.h=a;this.h.bind(d.tc,this.Vb,this);k.bind(d.qa,this.Ln,this,n);this.uc=b;this.u6=B;this.Aa=this.Rc=this.Ta=this.ua=l;this.Ur=this.Tr=this.hK=this.kK=this.jK=this.iK=B;this.Pm=n;this.FE=this.yp=0;this.N=B;this.tm=q;this.qJ=5E3;this.kj=this.Bh=q;this.Ar=[];this.li= this.dw=m.L;this.Y=new f(a);this.Mb=new e(this.h,this.Y,this.uc);this.Mb.bind(e.mh,this.op,this,n);this.Mb.bind(e.xg,this.sp,this,n);this.Mb.bind(e.wg,this.rp,this,n);this.sm=new i(this.h,this.Y,this.uc);this.sm.bind(i.mh,this.op,this,n);this.De=new j(this.h,this.Y,this.uc);this.De.bind(j.mh,this.op,this,n);this.De.bind(j.$Y,this.ux,this,n);this.De.bind(j.sc,this.jla,this,n)});r.prototype.clear=function(){this.qk();this.Mb.unbind(e.mh,this.op,this);this.Mb.unbind(e.xg,this.sp,this,n);this.Mb.unbind(e.wg, this.rp,this,n);this.Mb.clear();this.Mb=q;this.sm.unbind(i.mh,this.op,this,n);this.sm.clear();this.sm=q;this.De.unbind(j.mh,this.op,this);this.De.unbind(j.$Y,this.ux,this);this.De.unbind(j.sc,this.jla,this);this.De.clear();this.Y=this.De=q;this.h.unbind(d.tc,this.Vb,this);k.unbind(d.qa,this.Ln,this,n);this.h=q;if(this.oa){this.oa.unbind(d.u("sequences"),this.vx,this,n);this.oa=q}this.EU([])};r.prototype.end=function(){this.dw=m.L;this.qk();this.Mb.yd(B);this.sm.yd(B);this.De.end();this.N=B;this.Eu(0, 0,0,0);this.kj=this.Bh=q;if(this.oa){this.oa.unbind(d.u("sequences"),this.vx,this,n);this.oa=q}this.EU([]);this.KB()};r.prototype.start=function(a,b){this.dw=m.S;this.N=n;this.Eu(0,0,0,0);this.SL(a);this.K6(b);this.pma();this.TU(this.kj);this.sm.yd(n);this.KB()};r.prototype.Jj=S("li");r.prototype.play=function(a){this.dw=m.S;this.De.Jj()==m.Gb?this.De.play():this.De.Jj()==m.L&&(!a&&this.kj?this.TU(this.kj):this.ME()||this.Lp());this.KB()};r.prototype.resume=function(){if(this.dw==m.Gb){this.Mb.hOa(); this.play(n)}};r.prototype.pause=function(){this.Mb.Lj(o.Lf);if(this.dw==m.S){this.dw=m.Gb;if(this.De.Jj()==m.S){this.De.pause();this.KB()}else this.ME()&&this.qk()}};r.prototype.stop=function(){this.dw=m.L;this.De.Jj()!=m.L&&this.De.end();this.Mb.Lj(o.Lf);this.KB();this.ME()&&this.qk()};r.prototype.moveTo=function(a,b,c,d,e){this.Mb.moveTo(a,b,c,d,e)};r.prototype.EU=function(a){this.Ar.forEach(function(a){a.unbind(d.mz,this.ana,this,n)}.bind(this));this.Ar=a;this.Ar.forEach(function(a){a.bind(d.mz, this.ana,this,n)}.bind(this))};r.prototype.Ln=function(){this.Y.DX(k.isPresenting())};r.prototype.Lj=function(a){this.Mb.Lj(a)};r.prototype.Raa=function(a,b,c){this.Mb.Raa(a,b,c)};r.prototype.sO=function(a){if(this.Qw!=a){this.Qw=a;this.Mb.sO(this.Qw);this.Da()}};r.prototype.tO=function(a){this.Mb.tO(a)};r.prototype.Cy=function(a){this.Mb.Cy(a)};r.prototype.LC=function(a){this.Mb.LC(a)};r.prototype.Ay=function(a){this.Mb.Ay(a)};r.prototype.ov=function(a){if(this.N)if(this.Mb.He()||k.isPresenting()|| this.Qw&&(this.Mb.N||!this.Mb.kJ)){this.Mb.cY()&&this.De.$Qa();this.Mb.xb(a);this.ql(this.Mb.dq(),this.Mb.cq(),this.Mb.ry(),this.Mb.jC());this.Da()}else if(this.De.Gm){this.De.cRa();this.Da()}else if(this.De.He()){this.De.xb(a);this.ql(this.De.dq(),this.De.cq(),0,this.De.jC());this.Da()}else if(this.sm.He()){this.sm.xb(a);this.ql(this.sm.dq(),this.sm.cq(),0,this.sm.jC());this.Da()}else if(this.u6){this.u6=B;this.uc.qo(this.h.og());this.Y.hb(this.h.Uc(),this.h.Nc(),this.h.uf(),this.uc.og(),this.uc.bv()); this.ql(this.Y.Uc(),this.Y.Nc(),this.Y.uf(),this.Y.dv());this.Da()}else{this.Eu(0,0,0,0);this.dw==m.S&&this.De.Jj()!=m.S&&(this.ME()||this.Lp())}};r.prototype.ld=function(){this.OMa();this.pma()};r.prototype.OMa=function(){var a=this.h.Uc()-this.ua||0,b=this.h.Nc()-this.Ta||0,c=this.h.uf()-this.Rc||0;this.Eu(a,b,c,this.h.og()-this.Aa||0)};r.prototype.pma=function(){this.ua=this.h.Uc();this.Ta=this.h.Nc();this.Rc=this.h.uf();this.Aa=this.h.og();this.Mb.hb(this.ua,this.Ta,this.Rc,this.Aa);this.De.hb(this.ua, this.Ta,this.Rc,this.Aa);this.sm.hb(this.ua,this.Ta,this.Rc,this.Aa)};r.prototype.SL=function(a){this.Y.ui(a)};r.prototype.K6=function(a){this.oa=a;this.qJ=a.get("timeToIdle",5E3);this.Bh=a.get("idleSequence");this.kj=a.get("initialSequence");this.Mb.sv(a);this.sm.sv(a);a.bind(d.u("sequences"),this.vx,this,n);this.EU(a.get("sequences",[]))};r.prototype.vx=function(){this.EU(this.oa.get("sequences",[]))};r.prototype.ana=function(a){this.TU(a.source)};r.prototype.op=function(){this.qk();this.Da()}; r.prototype.sp=function(){this.trigger(new c(r.xg))};r.prototype.rp=function(){this.trigger(new c(r.wg))};r.prototype.TU=function(a){if(a){this.Mb.yd(!a.get("mandatory",B));this.De.start(a)}else this.ux()};r.prototype.ux=function(){this.Mb.yd(n);this.Lp()};r.prototype.jla=function(){this.KB()};r.prototype.Vb=function(){this.u6=n;this.Da()};r.prototype.ME=function(){return this.tm!=q};r.prototype.Lp=function(){this.qk();var a=this;this.tm=setTimeout(function(){a.tm=q;a.uK()},this.qJ)};r.prototype.qk= function(){if(this.tm){clearTimeout(this.tm);this.tm=q}};r.prototype.uK=function(){this.TU(this.Bh)};r.prototype.Da=function(){this.trigger(new c(r.pb))};r.prototype.ql=function(a,b,c,d){this.h.hb(a,b,c,d)};r.prototype.Eu=function(a,b,d,e){var d=B,f=Math.abs(a)<0.001&&Math.abs(b)<0.001&&Math.abs(e)<0.001;if(f||this.Qw){d=this.Pm!=n;this.Ur=this.Tr=this.hK=this.kK=this.jK=this.iK=B;this.Pm=n}else{if(this.iK!=a<-0.001){this.iK=!this.iK;d=n}if(this.jK!=a>0.001){this.jK=!this.jK;d=n}if(this.hK!=b<-0.001){this.hK= !this.hK;d=n}if(this.kK!=b>0.001){this.kK=!this.kK;d=n}if(this.Tr!=e<-0.001){this.Tr=!this.Tr;d=n}if(this.Ur!=e>0.001){this.Ur=!this.Ur;d=n}if(this.Pm!=f){this.Pm=!this.Pm;d=n}}f||this.trigger(new c(r.xo,{yaw:this.ua,pitch:this.Ta,roll:this.Rc,hfov:this.Aa}));if(d){(this.N||this.Pm)&&this.trigger(new c(r.Nj,{movingLeft:this.iK,movingRight:this.jK,movingUp:this.kK,movingDown:this.hK,zoomingIn:this.Tr,zoomingOut:this.Ur,stopped:this.Pm}));this.KB()}};r.prototype.KB=function(){var a;if(this.N){a=this.De.Jj(); if(!this.Pm)a=m.S}else a=m.L;if(this.li!=a){this.li=a;this.trigger(new c(r.sc,{state:this.li}))}};r.pb="request frame";r.Nj="movement change";r.xo="position change";r.sc="playback state change";r.xg="user interaction start";r.wg="user interaction end";return r}); define("gs","require,nU,hU,t,hl,lB,bu,mL".split(","),function(a){function b(a,c,e){this.h=a;this.uc=c;this.by=e;this.Y=new d(a);e.Og&&this.Y.ui(e.Og);this.Bu=new d(a);this.RE=this.Xt=l;this.ua=this.h.Uc();this.Ta=this.h.Nc();this.Rc=this.h.uf();this.Aa=this.by.Og?this.h.og():b.Fba;this.goa=0;this.ba=q;this.Nia=n}a("nU");var d=a("hU");a("t");var c=a("hl"),g=a("lB"),f=a("bu"),i=a("mL");b.prototype.ui=function(a){if(this.ba!=a){this.Cx=n;this.ba=a}};b.prototype.vv=function(a,b){this.ua=a;this.Ta=b}; b.prototype.ZB=function(a){this.uc.fva(a);return this.uc.og()};b.prototype.qo=R("Aa");b.prototype.xO=R("Nia");b.prototype.KC=R("goa");b.prototype.ov=function(){if(this.uc.Ssa())this.Aa=this.uc.dW(this.Aa);if(this.by.$b()){var a=f.cs().orientation,a=i.mba(a);this.ua=this.ua+(this.Xt===l?0:a.Na-this.Xt);this.Xt=a.Na;this.Ta=a.pitch;this.Rc=a.Ie;this.Ta=j===l?a.pitch:j;this.Rc=e===l?a.Ie:e}else if(this.by.hsa()){var a=c.es(),b=this.sB(a.yaw,this.ua);this.ua=this.ua+(this.Xt===l?0:b-this.Xt);this.Ta= this.Ta+(this.RE===l?0:a.pitch-this.RE);this.Rc=a.roll;this.Xt=a.yaw;this.RE=a.pitch}else{a=this.sB(this.h.Uc(),this.ua);b=this.h.Nc();this.ua=this.ua+(this.Xt===l?0:a-this.Xt);this.Ta=this.Ta+(this.RE===l?0:b-this.RE);this.Rc=this.h.uf()}this.Cx&&this.Y.ui(this.ba);this.Y.DX(f.isPresenting());this.Y.hb(this.ua,this.Ta,this.Rc,this.Aa,this.uc.bv());if(this.Cx){this.Cx=B;if(this.by&&this.by.Og)if(a=this.h.kf(this.by.Og)){a.set("deltaYaw",this.h.Uc()-this.Y.Uc());a.set("deltaPitch",this.h.Nc()-this.Y.Nc()); a.set("deltaRoll",this.h.uf()-this.Y.uf())}}this.ua=this.Y.Uc();this.Ta=this.Y.Nc();this.Rc=this.Y.uf();if(!this.by.$b()&&!this.by.hsa()){this.Xt=this.ua;this.RE=this.Ta}this.Aa=this.Nia?this.Y.dv():this.Aa;this.h.hb(this.ua,this.Ta,this.Rc,this.Aa);this.h.KC(this.goa)};b.prototype.AX=function(a,b){this.Bu.ui(a);this.Bu.hb(0,0,0,b,this.uc.bv());return this.Bu.dv()};b.prototype.GRa=function(a,b){this.Bu.ui(a);this.Bu.hb(b.Na,b.pitch,b.Ie,b.ve,this.uc.bv());b.Na=this.Bu.Uc();b.pitch=this.Bu.Nc();b.Ie= this.Bu.uf();b.ve=this.Bu.dv()};b.prototype.sB=function(a,b){for(;a+180b;)a=a-360;return a};b.prototype.Xqa=function(){return b.Fba};b.Fba=TDV.Rca.Kwa;var e=g.Vi("debug")?g.zW("force_vr_roll"):l,j=g.Vi("debug")?g.zW("force_vr_pitch"):l;return b}); define("oq",["require","gm","lw","t","bu"],function(a){function b(a,e,f,o,k){this.h=a;this.Jl=e;a=this.h.K;this.LO=a.get("transitionMode","blending");e=a.get("transitionDuration",500);this.ZEa(f,o)&&(this.LO=b.fP,e=1500);this.GG=a.get("blendingTransitionDuration",e);this.HOa=a.get("firstTransitionDuration",e);this.ara=a.get("disolveTransitionDuration",e);this.dwa=a.get("translationTransitionDuration",1E3);a.get("translationTransitionSpeed");this.ewa=a.get("translationTransitionEnabled",n);this.Yta= a.get("originTransitionDuration",3E3);this.eY=1E3;this.Og=f;this.xTa=!f||f.z$();this.yTa=!f||f.Ksa();this.zc=o;this.Lva=!o||o.z$();this.gba=!o||o.Ksa();this.LTa=!!o&&this.A3(o);e=(this.MC=k)&&k.get("initialPosition")||new d;this.rg=new d;this.rg.set("yaw",e.get("yaw",0));this.rg.set("pitch",e.get("pitch"));this.rg.set("hfov",e.get("hfov"));this.hf=new c;this.hf.set("yaw",this.rg.get("yaw"));this.hf.set("pitch",this.rg.get("pitch"));this.hf.set("hfov",this.rg.get("hfov"));this.hf.set("stereographicFactor", 0);this.ho=[];if(!f){this.ho=k&&k.get("displayMovements")||[];for(e=this.ho.length-1;0<=e;e--)this.hf.set("yaw",this.hf.get("yaw",this.ho[e].get("targetYaw"))),this.hf.set("pitch",this.hf.get("pitch",this.ho[e].get("targetPitch"))),this.hf.set("hfov",this.hf.get("hfov",this.ho[e].get("targethfov"))),this.hf.set("stereographicFactor",this.hf.get("stereographicFactor",this.ho[e].get("stereographicFactor")));k=k&&k.get("displayOriginPosition")||this.rg;this.hf.set("yaw",k.get("yaw"));this.hf.set("pitch", k.get("pitch"));this.hf.set("hfov",k.get("hfov"));this.hf.set("stereographicFactor",k.get("stereographicFactor"))}this.EH=this.LO==b.jn&&this.ewa&&this.Lva&&this.EEa(f,o)||q;var m=this.LO==b.jn&&this.zc&&this.Lva&&this.Jl&&this.zc.get("modelLocations")||[],k=this.LO==b.jn&&this.Og&&this.xTa&&this.Jl&&this.Og.get("modelLocations")||[],r=[];k.forEach(function(a){m.forEach(function(b){a.get("model")==b.get("model")&&r.push([a,b])})});var p=this.Jl&&this.Jl.get("model");this.ac=this.rc=q;10}).length)this.mode=b.fP;this.gn=q}var d=a("gm"),c=a("lw"),g=a("t"),f=a("bu");b.prototype.hsa=function(){return this.h.vc.get("gyroscopeEnabled")}; b.prototype.$b=function(){return f.isPresenting()};b.prototype.EEa=function(a,b){if(!a||!b)return q;var c=(a.get("adjacentPanoramas")||[]).filter(function(a){return a.get("enabled")&&a.XNa()&&a.get("panorama")==b});return 0==c.length?q:c[0]};b.prototype.ZEa=function(a,b){return this.$b()&&g.ce()==g.yi&&(this.A3(a)||this.A3(b))};b.prototype.A3=function(a){return!!a&&a.Fl()};b.fP="fade_out_fade_in";b.Yba="fade_in";b.Zba="fade_out";b.jn="blending";b.eda="translation";b.JZ="translation_from_model";b.KZ= "translation_through_model";b.fda="translation_to_from_model";b.gda="translation_to_model";return b});define("eC",["require"],function(){function a(a,d,c,g){this.B=a;this.Ib=d;this.h=c;this.t=g}a.prototype.Kg=T(B);a.prototype.gh=I();a.prototype.uC=T(B);return a}); define("li",["require","kG","eC","nx","bC"],function(a){var b=a("kG"),d=a("eC"),c=a("nx"),g=a("bC"),a=b.extend(d,function(a,b,c,g){d.call(this,a,b,c,g);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.O){var b=this.h.kf(this.t.zc);b.xk();b.set("alpha",0.01);this.O=new c("linear",[new g("alpha",0,1,l)],this.t.GG)}this.O.xb(a);a=this.O.gb("alpha");b=this.h.kf(this.t.zc);b.set("alpha",a);this.O.Te()&&(this.tb=n)}};return a}); define("gM",["require","kG","eQ","ic"],function(a){var b=a("kG"),d=a("eQ"),c=a("ic"),a=b.extend(c,function(){c.call(this)});d.F("ProjectedMaterialModel3DObject",a).H("ExternalModel3DObject").Q({sourceFaces:"or[array[canvas], array[img]]",sourceX:"number",sourceY:"number",sourceYaw:"number",sourceZ:"number",targetFaces:"or[array[canvas], array[img]]",targetX:"number",targetY:"number",targetYaw:"number",targetZ:"number"});return a}); define("ls",["require","kG","eC"],function(a){var b=a("kG"),d=a("eC"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i);this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(){this.tb||(this.Li(),this.tb=n)};a.prototype.Li=I();return a}); define("cJ",["require","kG","gM","ls"],function(a){var b=a("kG"),d=a("gM"),c=a("ls"),g=b.extend(c,function(a,b,d,g,o){c.call(this,a,b,d,g);this.Hh=o||3});g.prototype.Li=function(){var a=this.t.rc,b=this.t.ac,c=this.t.nv=new d;this.Hh&1&&(c.set("sourceX",a.get("x")),c.set("sourceY",a.get("y")),c.set("sourceZ",a.get("z")),c.set("sourceYaw",a.get("yaw")),c.set("sourceFaces",this.efa(this.t.Og,this.t.uva)));this.Hh&2&&(c.set("targetX",b.get("x")),c.set("targetY",b.get("y")),c.set("targetZ",b.get("z")), c.set("targetYaw",b.get("yaw")),c.set("targetFaces",this.efa(this.t.zc,this.t.Mva)));a=(a||b).get("model");a.set("objects",a.get("objects").concat([this.t.nv]))};g.prototype.efa=function(a,b){var c=this.h.kf(a),d=c.get("alpha");c.set("alpha",1);var g=this.h.lN(b);c.set("alpha",d);return g};g.Zca=b.extend(g,function(a,b,c,d){g.call(this,a,b,c,d,1)});g.lda=b.extend(g,function(a,b,c,d){g.call(this,a,b,c,d,2)});return g}); define("kZ",["require","kG","ls"],function(a){var b=a("kG"),d=a("ls"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i)});a.prototype.Li=function(){this.t.Jl.h.iva(this.t.ac.get("model"),B)};return a});define("kf",["require","kG","ls"],function(a){var b=a("kG"),d=a("ls"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i)});a.prototype.Li=function(){this.t.Jl.h.iva(this.t.rc.get("model"),n)};return a}); define("hk",["require","kG","ls"],function(a){var b=a("kG"),d=a("ls"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i)});a.prototype.Li=function(){this.t.zc&&!this.h.kf(this.t.zc)&&(this.ah=this.h.create(this.t.zc),this.ah.set("alpha",0),this.h.add(this.ah))};return a}); define("on",["require","kG","nU","cS","eC"],function(a){var b=a("kG"),d=a("nU"),c=a("cS"),g=a("eC"),a=b.extend(g,function(a,b,e,j){g.call(this,a,b,e,j);this.V=(this.t.rc||this.t.ac).get("model");this.Ep=B;this.V?(this.kx=this.t.Jl,this.kx.get("model")!=this.V||!this.V.get("isLoaded")?(this.kx.set("model",this.V),this.V.bind(d.U,this.ju,this,n),this.kx.set("requesterPlayer",this.h.vc),this.kx.bind(c.xf,this.dl,this,n)):(this.ju(),this.dl(),this.Ep=n)):this.Ep=n});a.prototype.Kg=S("Ep");a.prototype.uC= T(n);a.prototype.ju=function(){this.V.unbind(d.U,this.ju,this)};a.prototype.dl=function(){this.kx.unbind(c.xf,this.dl,this,n);this.Ep=n};return a});define("hm",["require","kG","ls","bB"],function(a){var b=a("kG"),d=a("ls"),c=a("bB"),a=b.extend(d,function(a,b,c,e){d.call(this,a,b,c,e)});a.prototype.Li=function(){this.t.LTa&&c.Xi(this.h.vb())};return a}); define("eV",["require","kG","eC","nx","bC"],function(a){var b=a("kG"),d=a("eC"),c=a("nx"),g=a("bC"),a=b.extend(d,function(a,b,c,g){d.call(this,a,b,c,g);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.O){var b;b=this.t.ac&&this.t.ac.get("targetFaces")?0.01*this.t.GG:this.t.ac?0.5*this.t.GG:this.h.K.hUa()&&!this.t.Og?this.t.HOa:this.t.GG;this.O=new c("linear",[new g("alpha",0.001,1,l)],b)}this.O.xb(a);a=this.O.gb("alpha");this.h.kf(this.t.zc).set("alpha", a);this.O&&this.O.Te()&&(this.tb=n)}};return a}); define("kY","require,kG,eC,dd,nx,bC".split(","),function(a){var b=a("kG"),d=a("eC"),c=a("dd"),g=a("nx"),f=a("bC"),a=b.extend(d,function(a,b,c,f){d.call(this,a,b,c,f);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.t.gn){this.t.gn=new c("#000000");this.t.gn.set("alpha",1);this.h.add(this.t.gn)}if(!this.O){this.t.gn.xk();var b=this.t.GG*2;this.O=new g("linear",[new f("alpha",2,0,l)],b);this.t.gn.xk()}this.O.xb(a);this.t.gn.set("alpha",Math.min(0.99,this.O.gb("alpha"))); this.h.kf(this.t.zc).set("alpha",1);if(this.O&&this.O.Te())this.tb=n}};return a}); define("bG",["require","kG","eC","nx","bC"],function(a){var b=a("kG"),d=a("eC"),c=a("nx"),g=a("bC"),a=b.extend(d,function(a,b,c,g){d.call(this,a,b,c,g);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.O){var b;b=this.t.rc?0.01*this.t.GG:this.t.ara;this.O=new c("linear",[new g("alpha",1,0,l)],b)}this.O.xb(a);a=this.O.gb("alpha");this.h.kf(this.t.Og).set("alpha",a);this.O.Te()&&(this.tb=n)}};return a}); define("mU","require,kG,eC,dd,nx,bC".split(","),function(a){var b=a("kG"),d=a("eC"),c=a("dd"),g=a("nx"),f=a("bC"),a=b.extend(d,function(a,b,c,f){d.call(this,a,b,c,f);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.t.gn){this.t.gn=new c("#000000");this.t.gn.set("alpha",0);this.h.add(this.t.gn)}if(!this.O){this.t.gn.xk();var b=this.t.ara*2;this.O=new g("linear",[new f("alpha",0,2,l)],b)}this.O.xb(a);a=Math.min(1,this.O.gb("alpha"));this.t.gn.set("alpha", a);a==1&&this.h.kf(this.t.Og).set("alpha",0);if(this.O.Te())this.tb=n}};return a}); define("cd",["require","kG","eC","nx","bC"],function(a){function b(a,b,c){for(;ac;)a-=c-b;return a}var d=a("kG"),c=a("eC"),g=a("nx"),f=a("bC"),a=d.extend(c,function(a,b,d,f){c.call(this,a,b,d,f);this.O=q;this.tb=B;this.ym=0});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb&&(this.O||(this.O=this.ymthis.t.ho.length&&(this.Ib.xO(n),this.tb=n)};a.prototype.pBa=function(){var a=b(this.h.Uc(),-180,180),c=this.h.Nc();this.h.uf();var d=this.h.og(),o=this.h.o.Ol,k=this.t.rg.get("hfov"),k={Na:this.t.rg.get("yaw"),pitch:this.t.rg.get("pitch",c),Ie:this.h.uf(),ve:k?this.Ib.ZB(k):d,Ol:0};this.Ib.GRa(this.t.zc,k);k.Na=b(k.Na,a-180,a+180);var m=0.5=d?b(a,d,d+360):b(a,d-360,d);break;default:a=b(a,d-180,d+180)}return new g(c.get("easing"),[new f("yaw",d,a,c.get("yawSpeed")),new f("pitch",o,t,c.get("pitchSpeed")),new f("hfov",k,p,c.get("hfovSpeed")),new f("stereographicFactor",m,r,c.get("stereographicFactorSpeed"))],c.get("duration"))};return a}); define("fA",["require","kG","eC","nx","bC"],function(a){var b=a("kG"),d=a("eC"),c=a("nx"),g=a("bC"),a=b.extend(d,function(a,b,c,g){d.call(this,a,b,c,g);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.O){var b=this.h.Nc(),d=this.h.og(),j=this.h.o.Ol,o=this.t.hf.get("stereographicFactor",0),k=Math.abs(j-o),m=0this.h.Cb()?this.h.CN():this.h.DN());this.V.bind(d.iz,this.OGa,this,n)}};return a});define("hv",["require","kG","ls","oq"],function(a){var b=a("kG"),d=a("ls"),c=a("oq"),a=b.extend(d,function(a,b,c,e){d.call(this,a,b,c,e)});a.prototype.Li=function(){this.t.zc&&(this.t.mode==c.JZ||this.t.mode==c.KZ?this.t.zc.set("minFaceSize",1024):this.t.zc.set("minFaceSize",l))};return a}); define("gO",["require","kG","ls"],function(a){var b=a("kG"),d=a("ls"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i)});a.prototype.Li=function(){this.Ib.ui(this.t.zc);this.Ib.KC(this.t.gba?this.t.hf.get("stereographicFactor",0):0);this.Ib.vv(this.t.hf.get("yaw"),this.t.hf.get("pitch",this.h.Nc()));var a=this.t.hf.get("hfov");!a&&!this.t.Og&&(a=this.Ib.Xqa());a&&(a=this.Ib.ZB(a),this.Ib.qo(a),this.Ib.xO(!this.t.gba))};return a}); define("fT",["require","kG","ls"],function(a){var b=a("kG"),d=a("ls"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i)});a.prototype.Li=function(){this.Ib.ui(this.t.zc);this.Ib.qo(this.Ib.AX(this.t.zc,this.h.og()));this.Ib.vv(this.h.Uc()+this.t.EH.Bra(),this.h.Nc())};a.prototype.uC=T(n);return a}); define("nG",["require","kG","eC","nx","bC"],function(a){var b=a("kG"),d=a("eC"),c=a("nx"),g=a("bC"),a=b.extend(d,function(a,b,c,g){d.call(this,a,b,c,g);this.O=q;this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(a){if(!this.tb){if(!this.O){var b=this.h.og(),d=this.Ib.AX(this.t.zc,b),j=!this.t.$b()&&0.01=1-0.5*this.Hu*this.Hu/this.DP?this.Hu=Math.sqrt(2*(1-this.Pa)*this.DP):this.Hu0&&a<1); this.t.nv.set("position",b)};a.prototype.ux=function(){var a=this.t.rc.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Ia}.bind(this)));this.tb=n;this.GL()};a.prototype.YL=function(){var a=this.t.rc.get("model");this.vL=a.get("postprocessing");this.wL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",B)};a.prototype.GL=function(){var a=this.t.rc.get("model"),b=this.vL,c=this.wL;setTimeout(function(){a.set("postprocessing", b);a.set("surfaceSelectionEnabled",c)},30)};return a}); define("hL","require,kG,nU,eQ,gv,eZ,gM,eC".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("eQ"),g=a("gv"),f=a("eZ"),i=a("gM"),e=a("eC"),a=b.extend(e,function(a,b,c,d){e.call(this,a,b,c,d);this.tb=B;this.Lza=0;this.Mza=1;this.dL=[];this.$J=[];this.dL.push(this.Jna.bind(this))});a.prototype.Kg=S("tb");a.prototype.gh=function(){if(this.t.Jl.get("model")!=this.t.ac.get("model"))this.Dka();else{var a=this.dL;for(this.dL=[];a.length>0;)a.shift()()}};a.prototype.PGa=function(){var a=this.$J;for(this.$J= [];a.length>0;)a.shift()()};a.prototype.YKa=function(){this.sKa();this.YL();this.$J.push(this.WEa.bind(this));this.$J.push(this.zpa.bind(this))};a.prototype.sKa=function(){var a=this.t.ac.get("model").get("camera");a.set("easing",0);a.set("x",this.t.rc.get("x"));a.set("y",this.t.rc.get("y"));a.set("z",this.t.rc.get("z"));a.set("yaw",this.h.Uc()+this.t.rc.get("yaw"));a.set("pitch",this.h.Nc());a.set("fov",this.h.Ua()>this.h.Cb()?this.h.CN():this.h.DN());this.ud=new f;this.ud.set("targetX",this.t.ac.get("x")); this.ud.set("targetY",this.t.ac.get("y"));this.ud.set("targetZ",this.t.ac.get("z"));if(this.t.MC.get("keepInitialPositionOnTranslation")){var b=this.t.rg.get("yaw")+this.t.ac.get("yaw"),c=this.t.rg.get("pitch"),e=this.t.rg.get("hfov");this.ud.set("targetYaw",b);c!==l&&this.ud.set("targetPitch",c);e!==l&&this.ud.set("targetFov",e)}this.ud.set("duration",1500);this.ud.set("easing","cubic_in_out");this.ud.bind(d.iz,this.PGa,this,n);this.Ia=new g;this.Ia.set("movements",[this.ud]);this.Ia.set("mandatory", n);this.Ia.bind(d.Ha,this.Dka,this,n);a.set("sequences",a.get("sequences").concat([this.Ia]));this.Ia.play()};a.prototype.Jna=function(){if(this.h.kf(this.t.zc).get("ready")){var a=this.t.rc,b=this.t.ac,d=a.get("model"),e=d.get("objects").find(function(a){return c.za("ProjectedMaterialModel3DObject",a)}),f=!e;e||(e=new i);this.t.nv=e;e.set("sourceX",a.get("x"));e.set("sourceY",a.get("y"));e.set("sourceZ",a.get("z"));e.set("sourceYaw",a.get("yaw"));e.set("targetX",b.get("x"));e.set("targetY",b.get("y")); e.set("targetZ",b.get("z"));e.set("targetYaw",b.get("yaw"));a=this.h.kf(this.t.Og);b=this.h.kf(this.t.zc);a.set("alpha",1);b.set("alpha",0.01);e.set("sourceFaces",this.h.lN(this.t.uva,e.get("sourceFaces")));a.set("alpha",0.01);b.set("alpha",1);e.set("targetFaces",this.h.lN(this.t.Mva,e.get("targetFaces")));a.set("alpha",1);b.set("alpha",0.01);e.set("position",0);f&&d.set("objects",d.get("objects").concat([this.t.nv]));this.YKa()}else this.dL.push(this.Jna.bind(this))};a.prototype.WEa=function(){this.h.kf(this.t.Og).set("alpha", 0);this.ega()};a.prototype.ega=function(){(this.Ula=this.Ula===l?10:this.Ula-1)?this.dL.push(this.ega.bind(this)):this.h.JX(n)};a.prototype.CCa=function(){this.h.JX(B)};var j=new THREE.Vector3,o=new THREE.Vector3,k=new THREE.Vector3;a.prototype.GEa=function(){var a=this.t.rc;j.set(a.get("x"),a.get("y"),a.get("z"));var b=this.t.ac;o.set(b.get("x"),b.get("y"),b.get("z"));a=a.get("model").get("camera");k.set(a.get("x"),a.get("y"),a.get("z"));return k.distanceTo(j)/o.distanceTo(j)};a.prototype.zpa=function(){var a= this.GEa(),a=Math.max(0,Math.min(1,(a-this.Lza)/this.Mza));this.t.nv.set("position",a);a<1&&this.$J.push(this.zpa.bind(this))};a.prototype.Dka=function(){var a=this.t.rc.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Ia}.bind(this)));this.CCa();this.GL();this.tb=n};a.prototype.YL=function(){var a=this.t.rc.get("model");this.vL=a.get("postprocessing");this.wL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled", B)};a.prototype.GL=function(){var a=this.t.rc.get("model"),b=this.vL,c=this.wL;setTimeout(function(){a.set("postprocessing",b);a.set("surfaceSelectionEnabled",c)},30)};return a}); define("kB","require,kG,nU,gv,eZ,eC,kj".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("gv"),g=a("eZ"),f=a("eC"),i=a("kj"),a=b.extend(f,function(a,b,c,d){f.call(this,a,b,c,d);this.tb=B});a.prototype.Kg=S("tb");a.prototype.gh=function(){if(!this.Ia){var a=this.t.ac.get("model").get("camera");a.GTa();var b=Math.abs(a.get("pitch")-this.h.Nc()),e=b>30;this.ud=new g;this.ud.set("targetX",this.t.ac.get("x"));this.ud.set("targetY",this.t.ac.get("y"));this.ud.set("targetZ",this.t.ac.get("z"));this.ud.set("targetDistance", 0);this.ud.set("targetFov",this.TEa(this.h.og()));this.ud.set("targetYaw",this.h.Uc()+this.t.ac.get("yaw"));e?this.ud.set("targetPitch",a.get("pitch")):this.ud.set("targetPitch",this.h.Nc());this.ud.set("duration",1500);this.ud.set("easing","cubic_in_out");this.ud.bind(d.iz,this.N4,this,n);var f=[this.ud];if(e){e=new g;e.set("targetPitch",this.h.Nc());e.set("duration",b/90*1E3);e.set("easing","quad_in_out");f.push(e)}this.Ia=new c;this.Ia.set("movements",f);this.Ia.set("mandatory",n);this.Ia.bind(d.Ha, this.ux,this,n);a.set("sequences",a.get("sequences").concat([this.Ia]));this.Ia.play();this.YL();this.cM=(new THREE.Vector3).set(a.get("x"),a.get("y"),a.get("z"));this.v7=(new THREE.Vector3).set(this.t.ac.get("x"),this.t.ac.get("y"),this.t.ac.get("z"))}};a.prototype.TEa=function(a){return this.h.Ua()0&&a<1);this.t.nv.set("position",b)};a.prototype.ux=function(){var a=this.t.ac.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Ia}.bind(this)));this.tb=n;this.GL()};a.prototype.YL=function(){var a=this.t.ac.get("model");this.vL=a.get("postprocessing");this.wL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",B)};a.prototype.GL= function(){var a=this.t.ac.get("model"),b=this.vL,c=this.wL;setTimeout(function(){a.set("postprocessing",b);a.set("surfaceSelectionEnabled",c)},30)};return a});define("iv",["require","kG","ls"],function(a){var b=a("kG"),d=a("ls"),a=b.extend(d,function(a,b,f,i,e){d.call(this,a,b,f,i);this.hAa=e});a.prototype.Li=function(){this.hAa.call(this.B)};return a}); define("fN",["require","kG","eC"],function(a){var b=a("kG"),d=a("eC"),a=b.extend(d,function(a,b,f,i){d.call(this,a,b,f,i)});a.prototype.Kg=function(){var a=this.h.vb(),b=a&&a.rG,a=a&&a.XE;return!!b&&!b.get("visible")&&!!a&&!a.get("visible")};return a}); define("M",["require","kG","eC"],function(a){var b=a("kG"),d=a("eC"),c=b.extend(d,function(a,b,c,e){d.call(this,a,b,c,e);this.Au=q});c.prototype.Kg=function(){this.Au||(this.Au=this.t.zc&&this.h.kf(this.t.zc));return this.Au&&this.Au.get("ready")};c.prototype.uC=T(n);c.Eca=b.extend(c,function(a,b,d,e){c.call(this,a,b,d,e)});c.Eca.prototype.uC=T(B);c.Kca=b.extend(c,function(a,b,d,e){c.call(this,a,b,d,e)});c.Kca.prototype.Kg=function(){this.Au||(this.Au=this.t.zc&&this.h.kf(this.t.zc));return this.Au&& (this.Au.get("ready")||this.Au.$$())};return c}); define("mY",["require","kG","bm","cs","fQ"],function(a){var b=a("kG"),d=a("bm"),c=a("cs"),g=a("fQ"),f=b.extend(g,function(a){g.call(this);this.h=a;this.N=B;this.Wt=this.Wt.bind(this);this.vc=this.h.vc});f.prototype.clear=function(){this.vc=this.h=q};f.prototype.yd=function(a){this.N!=a&&(this.N&&document.removeEventListener("keyup",this.Wt),(this.N=a)&&document.addEventListener("keyup",this.Wt))};f.prototype.Wt=function(a){"translate"==this.vc.get("arrowKeysAction")&&(a.which==d.rq&&!a.shiftKey?this.trigger(new c(f.OY)): a.which==d.Iq&&!a.shiftKey&&this.trigger(new c(f.PY)))};f.PY="moveForward";f.OY="moveBackward";return f}); define("od","require,cs,fQ,gs,oq,li,cJ,kZ,kf,hk,on,hm,eV,kY,bG,mU,cd,fA,gU,gr,q,dj,oo,kk,hv,gO,fT,nG,fs,dJ,iG,kk,bv,gj,hL,kB,iv,fN,M,mY,kG".split(","),function(a){var b=a("cs"),d=a("fQ"),c=a("gs"),g=a("oq"),f=a("li"),i=a("cJ"),e=a("kZ"),j=a("kf"),o=a("hk"),k=a("on"),m=a("hm"),r=a("eV"),p=a("kY"),t=a("bG"),s=a("mU"),u=a("cd"),v=a("fA"),w=a("gU"),x=a("gr"),y=a("q"),D=a("dj"),E=a("oo"),H=a("kk"),M=a("hv"),G=a("gO"),z=a("fT"),L=a("nG"),K=a("fs"),A=a("dJ"),N=a("iG"),H=a("kk"),J=a("bv"),C=a("gj"),F=a("hL"), O=a("kB"),U=a("iv"),Q=a("fN"),V=a("M");a("mY");var P=a("kG").extend(d,function(a,b,c){d.call(this);this.K=a;this.h=b;this.uc=c;this.Ib=this.kx=q;this.gga=this.Sq=this.iL=this.ru=l;this.t=q;this.Hg=[]});P.prototype.Kaa=R("kx");P.prototype.clear=function(){this.j6(this.Sq);this.t&&this.j6(this.t.zc);this.iL=this.ru=l;this.Y=this.uc=this.h=this.K=this.t=q};P.prototype.start=function(a,b){if(!this.t&&a==this.Sq||this.t&&a==this.t.zc)this.iL=this.ru=l;else{this.ru=a;this.iL=b;this.Hg.length==0&&this.WU()}}; P.prototype.hide=function(){this.ru=q;!this.t&&this.Sq&&this.WU()};P.prototype.TOa=function(){return this.t&&this.t.zc};P.prototype.WU=function(){this.t=new g(this.h,this.kx,this.Sq,this.ru,this.iL);this.Ib=new c(this.h,this.uc,this.t);this.iL=this.ru=l;this.ha(M);this.ha(o);switch(this.t.mode){case g.Zba:this.rb(this.Qu);this.ha(t);this.rb(this.Pu);this.ha(w);this.rb(this.Qp);break;case g.Yba:this.ha(N);this.rb(this.dy);this.ha(V);this.ha(m);this.ha(G);this.rb(this.Kr);this.ha(r);this.ha(Q);this.ha(u); this.rb(this.cy);break;case g.fP:if(this.t.$b()){this.ha(N);this.rb(this.dy);this.rb(this.Qu);this.ha(s);this.rb(this.Pu);this.ha(w);this.rb(this.Qp);this.ha(V);this.ha(y);this.rb(this.Kr);this.rb(this.cy);this.ha(p)}else{this.ha(N);this.rb(this.dy);this.rb(this.Qu);this.ha(t);this.rb(this.Pu);this.ha(w);this.rb(this.Qp);this.ha(V);this.ha(m);this.ha(G);this.rb(this.Kr);this.ha(r);this.ha(Q);this.ha(u);this.rb(this.cy)}break;case g.eda:this.ha(N);this.rb(this.dy);this.rb(this.Qu);this.rb(this.Pu); if(this.t.$b()){this.ha(z);this.rb(this.Kr);this.ha(J);this.ha(w);this.rb(this.Qp)}else{this.ha(K);this.rb(this.Kr);this.ha(J);this.ha(w);this.rb(this.Qp);this.ha(L);this.ha(m);this.ha(Q)}this.rb(this.cy);break;case g.jn:this.ha(N);this.rb(this.dy);this.ha(V);if(this.t.$b()){this.rb(this.Qu);this.rb(this.Pu);this.ha(y);this.rb(this.Kr);this.ha(f);this.ha(w);this.rb(this.Qp)}else{this.rb(this.Qu);this.rb(this.Pu);this.ha(v);this.rb(this.Kr);this.ha(f);this.ha(w);this.rb(this.Qp);this.ha(m);this.ha(Q); this.ha(u)}this.rb(this.cy);break;case g.JZ:this.ha(N);this.rb(this.dy);this.ha(k);this.ha(V);this.ha(i.lda);this.ha(D);this.ha(O);this.rb(this.Kr);this.ha(r);this.ha(x);this.ha(e);this.ha(m);this.ha(Q);this.rb(this.cy);break;case g.gda:this.ha(k);this.ha(i.Zca);this.ha(j);this.ha(H);this.rb(this.Qu);this.ha(t);this.rb(this.Pu);this.ha(w);this.rb(this.Qp);this.ha(C);this.ha(x);this.ha(A);break;case g.KZ:this.rb(this.dy);this.ha(k);this.ha(j);this.rb(this.Qu);this.rb(this.Pu);this.ha(V.Kca);this.ha(F); this.ha(w);this.rb(this.Qp);this.ha(V.Eca);this.ha(E);this.rb(this.Kr);this.ha(r);this.ha(x);this.ha(e);this.ha(m);this.ha(Q);this.rb(this.cy);break;case g.fda:this.rb(this.dy);this.ha(k);this.ha(i.Zca);this.ha(j);this.ha(H);this.ha(V);this.rb(this.Qu);this.ha(t);this.rb(this.Pu);this.ha(w);this.rb(this.Qp);this.ha(C);this.ha(x);this.ha(i.lda);this.ha(D);this.ha(O);this.rb(this.Kr);this.ha(r);this.ha(x);this.ha(e);this.rb(this.cy)}this.rb(this.XLa);this.Da()};P.prototype.N7=function(){this.Sq=this.t.zc; this.gga=this.t.MC;this.t=this.Ib=q;this.ru===l?this.Sq?this.HLa(this.Sq,this.gga):this.ILa():this.WU()};window.jOa=n;window.kOa=n;document.addEventListener("keydown",function(a){if(a.which==67)window.jOa=window.kOa=n});P.prototype.ov=function(a){for(;this.Hg.length;){var b=this.Hg[0];if(this.ru!==l&&this.ru!==this.Sq&&b.uC()){this.j6(this.t.zc);this.Hg=[];this.WU();break}else{b.gh(a);this.Da();this.Ib.ov(a);if(b.Kg()){this.Hg.shift();this.Hg.length==0&&this.N7()}else break}}};document.addEventListener("keydown", function(){(new Date).getTime()});document.addEventListener("keyup",function(){(new Date).getTime()});P.prototype.ld=I();P.prototype.ha=function(a){this.Hg.push(new a(this,this.Ib,this.h,this.t))};P.prototype.rb=function(a){this.Hg.push(new U(this,this.Ib,this.h,this.t,a))};P.prototype.j6=function(a){if(a)if(a=this.h.kf(a)){this.h.remove(a);this.Qp()}};P.prototype.dy=function(){this.trigger(new b(P.ZY,{panorama:this.t.zc}))};P.prototype.Qp=function(){this.trigger(new b(P.QY,{panorama:this.t?this.t.Og: this.Sq,nextPanorama:this.t?this.t.zc:q}))};P.prototype.Qu=function(){this.trigger(new b(P.$y,{panorama:this.t.Og}))};P.prototype.Pu=function(){this.trigger(new b(P.Zy,{panorama:this.t.Og,nextPanorama:this.t.zc}))};P.prototype.cy=function(){this.trigger(new b(P.az,{panorama:this.t.zc,camera:this.t.MC}))};P.prototype.XLa=function(){this.trigger(new b(P.Ao))};P.prototype.Kr=function(){this.trigger(new b(P.bz,{panorama:this.t.zc,camera:this.t.MC}))};P.prototype.HLa=function(a,c){this.trigger(new b(P.xY, {panorama:a,camera:c}))};P.prototype.ILa=function(){this.trigger(new b(P.yY))};P.prototype.Da=function(){this.trigger(new b(P.pb))};P.pb="request frame";P.ZY="request load";P.QY="panorama removed";P.xY="all pending panoramas displayed";P.yY="all pending panoramas hidden";P.Zy="panorama end";P.bz="panorama start";P.az="panorama show";P.$y="panorama hide";P.Ao="transition end";return P}); define("lA",["require","kG","cs","fQ"],function(a){var b=a("kG"),d=a("cs"),c=a("fQ"),g=b.extend(c,function(a){c.call(this);this.h=a});g.prototype.clear=function(){this.end();this.h=q};g.prototype.dH=function(a){for(var b=this.lR(a),c=a.AW(),d=0;d0.99&&(d=c+1);f.prototype.Rp.call(this,this.Pa*k.fI,k.fI,this.Pa*k.fI,k.fI,a,d)};k.prototype.ld=function(a){if(this.ba){var b=this.h.Uc(),c=this.h.Nc(),d=this.h.uf(),f=0;if(this.kB!==l&&this.K5!==l&&this.cma!==l)var g=b-this.kB,k=c-this.K5,o=d-this.cma,f=Math.sqrt(g*g+ k*k+o*o)*1E3/a;this.kB=b;this.K5=c;this.cma=d;for(var g=this.lR(this.ba),x=this.Pa*(g-1),k=Math.max(0,Math.min(g-2,Math.floor(x))),o=k+1,x=1-(x-k),y=1-x,D=[],E=0;Ek?g+a:g-a:k>this.bu&&k>x&&(g=Ea?c:1,c=b>a?1:1-c,g=0;gk&&m.xk(),m.set("alpha",k))}this.Rp();this.FA||this.Da()}};a.prototype.Jj=function(){return this.RR?this.FA?c.Gb:c.S:c.L};a.prototype.Aj=function(){g.prototype.Aj.call(this,this.Jj())};a.prototype.Rp=function(){var a=this.vd,b=this.cb,c=this.zoa(this.vd),d=this.zoa(this.cb),o=this.pm+1,k=0===this.d2()?this.wE(): l;g.prototype.Rp.call(this,a,b,c,d,o,k)};return a});define("bI",["require","kG","lA"],function(a){var b=a("kG"),d=a("lA");return b.extend(d,function(a){d.call(this,a)})}); define("lJ",["require","kG","nU","gE","lA"],function(a){var b=a("kG"),d=a("nU"),c=a("gE"),g=a("lA"),a=b.extend(g,function(a){g.call(this,a);this.Me=B});a.prototype.dH=I();a.prototype.start=function(a){this.end();this.ba=a;this.ba.set("mute",this.Me);this.ba.get("autoplay")&&this.ba.set("state",c.S);this.ct()};a.prototype.getTime=function(){return this.ba?this.ba.get("currentTime"):0};a.prototype.Jj=function(){return this.ba?this.ba.get("state"):c.L};a.prototype.play=function(){this.ba&&this.ba.set("state", c.S)};a.prototype.pause=function(){this.ba&&this.ba.set("state",c.Gb)};a.prototype.RX=function(){this.ba&&this.ba.set("state",c.Gb)};a.prototype.stop=function(){this.ba&&this.ba.set("state",c.L)};a.prototype.end=function(){this.ba&&(this.zu(),this.ba=q)};a.prototype.JC=function(a){this.ba&&this.ba.set("state",c.S);this.ba&&this.ba.set("currentTime",a)};a.prototype.nf=function(a){this.Me=a;this.ba&&this.ba.set("mute",this.Me)};a.prototype.ct=function(){this.ba.bind(d.u("currentTime"),this.Be,this, n);this.ba.bind(d.u("duration"),this.Am,this,n);this.ba.bind(d.u("state"),this.cf,this,n);this.ba.get("state")!=c.L&&this.Aj()};a.prototype.zu=function(){this.ba.unbind(d.u("currentTime"),this.Be,this,n);this.ba.unbind(d.u("duration"),this.Am,this,n);this.ba.unbind(d.u("state"),this.cf,this,n)};a.prototype.cf=function(){this.Aj()};a.prototype.Be=function(){this.Rp()};a.prototype.Am=function(){this.Rp()};a.prototype.Rp=function(){this.ba&&g.prototype.Rp.call(this,this.ba.get("currentTime"),this.ba.get("duration"))}; return a}); define("v","require,kG,gE,cs,fQ,eQ,lA,bq,mE,bI,lJ".split(","),function(a){var b=a("kG");a("gE");var d=a("cs"),c=a("fQ"),g=a("eQ"),f=a("lA"),i=a("bq"),e=a("mE"),j=a("bI"),o=a("lJ"),k=b.extend(c,function(a){c.call(this);this.h=a;this.U3=this.yQ(e);this.N2=this.yQ(i);this.GV=this.yQ(o);this.j7=this.yQ(j);this.Dd=q});k.prototype.clear=function(){this.lQ(this.U3);this.U3=q;this.lQ(this.N2);this.N2=q;this.lQ(this.GV);this.GV=q;this.lQ(this.j7);this.h=this.Dd=this.j7=q};k.prototype.yQ=function(a){a=new a(this.h); a.bind(f.pb,this.se,this,n);a.bind(f.aj,this.qp,this,n);a.bind(f.sc,this.ze,this,n);return a};k.prototype.lQ=function(a){a.unbind(f.pb,this.se,this);a.unbind(f.aj,this.qp,this);a.unbind(f.sc,this.ze,this);a.clear()};k.prototype.y3=function(a,b){return g.za(b,a)};k.prototype.lha=function(a){return this.y3(a,"HDRPanorama")?this.N2:this.y3(a,"LivePanorama")?this.U3:this.y3(a,"VideoPanorama")?this.GV:this.j7};k.prototype.dH=function(a){(this.Dd=this.lha(a))&&this.Dd.dH(a)};k.prototype.start=function(a){this.se(); (this.Dd=this.lha(a))&&this.Dd.start(a)};k.prototype.Jj=function(){if(this.Dd)return this.Dd.Jj()};k.prototype.getTime=function(){return this.Dd?this.Dd.getTime():0};k.prototype.play=function(){this.Dd&&this.Dd.play()};k.prototype.pause=function(){this.Dd&&this.Dd.pause()};k.prototype.mH=function(){this.Dd&&this.Dd.mH()};k.prototype.uH=function(){this.Dd&&this.Dd.uH()};k.prototype.RX=function(){this.Dd&&this.Dd.RX()};k.prototype.stop=function(){this.Dd&&this.Dd.stop();this.trigger(new d(k.aj,{duration:0, time:0,steps:l,selectedStep:l}))};k.prototype.end=function(){if(this.Dd){this.Dd.end();this.Dd=q}};k.prototype.JC=function(a){this.Dd&&this.Dd.JC(a)};k.prototype.zy=function(a){this.Dd&&this.Dd.zy(a)};k.prototype.Iy=function(){this.Dd&&this.Dd.Iy()};k.prototype.ld=function(a){this.Dd&&this.Dd.ld(a)};k.prototype.nf=function(a){this.GV.nf(a)};k.prototype.se=function(){this.trigger(new d(k.pb))};k.prototype.qp=function(a){this.trigger(new d(k.aj,a.data))};k.prototype.ze=function(a){this.trigger(new d(k.sc, a.data))};k.pb="request frame";k.Pwa="frame display";k.Qwa="frame hide";k.aj="time change";k.sc="playback state change";return k}); define("lK",["require","kG","nU","fQ","kH"],function(a){var b=a("kG"),d=a("nU"),c=a("fQ"),g=a("kH"),a=b.extend(c,function(a){c.call(this);this.h=a;this.ah=this.ba=q});a.prototype.start=function(a){this.ba=a;this.ah=this.h.kf(this.ba);this.ah.bind(d.U,this.cd,this,n);this.ah.bind(d.ic,this.ou,this,n);this.ah.get("ready")?this.trigger(d.Oc,{panorama:this.ba}):this.ah.bind(d.Oc,this.lF,this,n);this.ah.set("loadingActive",n)};a.prototype.stop=function(){this.ba=q;this.ah&&(this.ah.unbind(d.Oc,this.lF, this),this.ah.unbind(d.U,this.cd,this),this.ah.unbind(d.ic,this.ou,this),this.ah.set("loadingActive",B),this.ah=q,this.trigger(d.Lf))};a.prototype.clear=function(){this.stop()};a.prototype.lF=function(){this.ah.unbind(d.Oc,this.lF,this);this.trigger(d.Oc,{panorama:this.ba})};a.prototype.cd=function(){this.ah.unbind(d.Oc,this.lF,this);this.ah.unbind(d.U,this.cd,this);this.ah.unbind(d.ic,this.ou,this);this.ah=q;this.trigger(d.U,{panorama:this.ba});this.ba=q;this.trigger(d.Lf)};a.prototype.ou=function(a){this.trigger(new g(d.ic, a.Lg))};return a}); define("jq","require,kG,nU,cs,fQ,R".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("cs"),g=a("fQ"),f=a("R"),i=b.extend(g,function(a){g.call(this);this.h=a;this.fp=this.ba=this.ei=q;this.Ta=this.ua=0;this.Aa=Math.PI*0.5});i.prototype.clear=function(){this.stop();this.xma();this.ei=this.h=q};i.prototype.Iaa=function(a){if(this.ei!=a){this.xma();this.oQ();this.ei=a;this.hea();this.Lya()}};i.prototype.Lya=function(){this.ei&&this.ei.bind(d.u("map"),this.wka,this,B)};i.prototype.xma=function(){this.ei&& this.ei.unbind(d.u("map"),this.wka,this,B)};i.prototype.stop=function(){this.oQ();this.ba=q};i.prototype.ld=function(){this.ua=this.h.Uc();this.Ta=this.h.Nc();this.Aa=this.h.og();this.ei&&this.fp&&this.ei.an(this.fp,this.ua,this.Ta,this.Aa)};i.prototype.wka=function(){if(this.ba){this.oQ();(this.fp=this.Xma(this.ba,this.ei.get("map",q),B))&&this.Sna()}};i.prototype.display=function(a){if(this.ba!=a){this.oQ();this.ba=a;this.hea()}};i.prototype.hide=function(a){this.ba==a&&this.stop()};i.prototype.oQ= function(){if(this.fp){this.UEa();this.fp=q}};i.prototype.hea=function(){if(this.ei&&this.ba)(this.fp=this.Xma(this.ba,this.ei.get("map",q),n))&&this.Sna()};i.prototype.Xma=function(a,b,c){for(var a=a.get("mapLocations",[]),d=0;d0?a[0]:q};i.prototype.Sna=function(){this.ei.ONa(this.fp);this.ei.bind(f.Oj,this.Dma,this,n);this.ei.an(this.fp,this.ua,this.Ta,this.Aa)};i.prototype.UEa=function(){if(this.ei){this.ei.xRa(this.fp);this.ei.unbind(f.Oj, this.Dma,this)}};i.prototype.Dma=function(a){this.trigger(new c(i.Oj,{yawDelta:a.data.yawDelta}))};i.Oj="request yaw change";return i}); define("ft",["require","kG","cs","fQ","eI"],function(a){var b=a("kG"),d=a("cs"),c=a("fQ"),g=a("eI"),f=b.extend(c,function(a){c.call(this);this.h=a;this.h.bind(g.YY,this.ela,this,n)});f.prototype.clear=function(){this.h.unbind(g.YY,this.ela,this,n);this.h=q};f.prototype.yb=function(){this.h.yb()};f.prototype.ela=function(a){a=a.data.frameTime;this.trigger(new d(f.yo,{frameTime:a}));this.trigger(new d(f.zo,{frameTime:a}))};f.yo="frameStart";f.zo="positionSet";return f}); define("dl",["require","t","kj"],function(a){function b(){this.ja=this.Z=0;this.Aa=90;this.gl="landscape";this.b5=B;this.wJ=d.wb()}var d=a("t"),c=a("kj");b.prototype.fva=function(a){this.Aa=this.tra(a)};b.prototype.tra=function(a){return this.wJ&&"portrait"==this.gl?c.YB(a,this.ja,this.Z):a};b.prototype.iPa=function(a){return this.wJ&&"portrait"==this.gl?c.Dl(a,this.Z,this.ja):a};b.prototype.qo=function(a){return this.Aa=this.wJ&&this.b5?c.YB(a,this.ja,this.Z):a};b.prototype.Ssa=function(){return this.wJ&& this.b5};b.prototype.bv=function(){return this.wJ&&"portrait"==this.gl};b.prototype.og=S("Aa");b.prototype.dW=function(a){return c.YB(a,this.ja,this.Z)};b.prototype.setSize=function(a,b){this.Z=a;this.ja=b;var c=this.eEa();this.b5=this.gl!=c;this.gl=c};b.prototype.eEa=function(){return 0===this.Z||0===this.ja?"landscape":this.Zj;)c=c-(j-d);b=b.pitch;return f<=c&&c<=g&&i<=b&&b<=t}.bind(this));if(d.length==0)return q;d.sort(function(b,d){var f=this.qm(b),g=this.qm(d);return(a-f.Na)*(a-f.Na)+(c-f.pitch)*(c-f.pitch)-((a-g.Na)*(a-g.Na)+(c-g.pitch)*(c-g.pitch))}.bind(this));return d[0]};a.prototype.qm=function(a){var b=a.get("yaw"),a=a.get("distance");if(b===l||a===l)return q; var c=this.ba.get("distanceToFloor");return{Na:b,pitch:-90+Math.atan2(a,c)*i}};var i=180/Math.PI;return a}); define("lc","require,kG,nU,cs,fQ,cY,bs,od,v,lK,jq,ft,dl,ih,dx".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("cs"),g=a("fQ"),f=a("cY"),i=a("bs"),e=a("od"),j=a("v"),o=a("lK"),k=a("jq"),m=a("ft"),r=a("dl"),p=a("ih"),t=a("dx"),s=b.extend(g,function(a,b){g.call(this);this.K=a;this.h=b;this.h.set("visible",B);this.uc=new r;this.Yf=new m(this.h);this.ge=new o(this.h);this.Bb=new e(this.K,this.h,this.uc);this.Qa=new i(this.h,this.uc);this.af=new j(this.h);this.cu=new k(this.h);this.Bd=new f(this.h); this.nV=new p(this.h);this.Yf.bind(m.yo,this.rx,this,n);this.Yf.bind(m.zo,this.sx,this,n);this.ge.bind(d.Oc,this.ska,this,n);this.ge.bind(d.Lf,this.BK,this,n);this.ge.bind(d.ic,this.ii,this,n);this.Bb.bind(e.pb,this.se,this,n);this.Bb.bind(e.ZY,this.tka,this,n);this.Bb.bind(e.QY,this.Jka,this,n);this.Bb.bind(e.xY,this.Dja,this,n);this.Bb.bind(e.yY,this.Eja,this,n);this.Bb.bind(e.bz,this.KK,this,n);this.Bb.bind(e.$y,this.qx,this,n);this.Bb.bind(e.az,this.mu,this,n);this.Bb.bind(e.Zy,this.JK,this,n); this.Bb.bind(e.Ao,this.xx,this,n);this.Qa.bind(i.pb,this.se,this,n);this.Qa.bind(i.Nj,this.mp,this);this.Qa.bind(i.xo,this.Cm,this);this.Qa.bind(i.sc,this.ze,this,n);this.Qa.bind(i.xg,this.sp,this,n);this.Qa.bind(i.wg,this.rp,this,n);this.af.bind(j.pb,this.se,this,n);this.af.bind(j.aj,this.qp,this,n);this.af.bind(j.sc,this.ze,this,n);this.cu.bind(k.Oj,this.yka,this,n)});s.prototype.clear=function(){this.ge.clear();this.Yf.clear();this.Qa.clear();this.Bb.clear();this.af.clear();this.cu.clear();this.Bd.clear(); this.ge.unbind(d.Oc,this.ska,this);this.ge.unbind(d.Lf,this.BK,this);this.ge.unbind(d.ic,this.ii,this);this.Yf.unbind(m.yo,this.rx,this);this.Yf.unbind(m.zo,this.sx,this);this.Bb.unbind(e.pb,this.se,this);this.Bb.unbind(e.ZY,this.tka,this);this.Bb.unbind(e.QY,this.Jka,this);this.Bb.unbind(e.xY,this.Dja,this);this.Bb.unbind(e.yY,this.Eja,this);this.Bb.unbind(e.bz,this.KK,this);this.Bb.unbind(e.$y,this.qx,this);this.Bb.unbind(e.az,this.mu,this);this.Bb.unbind(e.Zy,this.JK,this);this.Bb.unbind(e.Ao, this.xx,this);this.Qa.unbind(i.Uwa,this.se,this);this.Qa.unbind(i.Nj,this.mp,this);this.Qa.unbind(i.xo,this.Cm,this);this.Qa.unbind(i.sc,this.ze,this,n);this.Qa.unbind(i.xg,this.sp,this);this.Qa.unbind(i.wg,this.rp,this);this.af.unbind(j.pb,this.se,this);this.af.unbind(j.aj,this.qp,this);this.af.unbind(j.sc,this.ze,this);this.cu.unbind(k.Oj,this.yka,this);this.K=this.h=this.nV=this.Bd=this.cu=this.af=this.Bb=this.Qa=this.Yf=this.ge=q};s.prototype.Iaa=function(a){this.cu.Iaa(a)};s.prototype.Kaa=function(a){this.Bb.Kaa(a)}; s.prototype.ui=function(a,b,c){this.h.set("visible",n);this.af.RX();a.set("currentTime",c);this.Bb.start(a,b)};s.prototype.ZG=function(){return this.ge.ba||this.Bb.TOa()||this.Bb.Sq};s.prototype.rv=function(){this.ge.stop();this.af.end();this.Qa.end();this.Bb.hide();this.cu.stop();this.Bd.end();this.nV.end()};s.prototype.uH=function(){this.Qa.resume();this.af.uH()};s.prototype.mH=function(){this.Qa.pause();this.af.mH()};s.prototype.play=function(){this.Qa.play();this.Bd.play();this.af.play()};s.prototype.pause= function(){this.Qa.pause();this.Bd.pause();this.af.pause()};s.prototype.stop=function(){this.Qa.stop();this.Bd.stop();this.af.stop()};s.prototype.Ay=function(a){this.Qa.Ay(a);this.nV.Ay(a)};s.prototype.getTime=function(){return this.af.getTime()};s.prototype.moveTo=function(a,b,c,d,e){this.Qa.moveTo(a,b,c,d,e)};s.prototype.Uc=function(){return this.h?this.h.Uc():l};s.prototype.Nc=function(){return this.h?this.h.Nc():l};s.prototype.uf=function(){return this.h?this.h.uf():l};s.prototype.og=function(){return this.h? this.uc.iPa(this.h.og()):l};s.prototype.CN=function(){return this.h?this.h.CN():l};s.prototype.DN=function(){return this.h?this.h.DN():l};s.prototype.ze=function(){var a=this.af.Jj()||this.Qa.Jj();this.trigger(new c(s.sc,{state:a}))};s.prototype.Lj=function(a){this.Qa.Lj(a)};s.prototype.sO=function(a){this.Qa.sO(a)};s.prototype.Cy=function(a){this.Qa.Cy(a)};s.prototype.tO=function(a){this.Qa.tO(a)};s.prototype.nf=function(a){this.af.nf(a)};s.prototype.LC=function(a){this.Qa.LC(a)};s.prototype.zPa= function(a,b){var c=t.get(a,b,this.h.Uc(),this.h.Nc(),this.h.uf(),this.h.og(),this.h.Ua(),this.h.Cb());return c?{x:c.x,y:c.y}:q};s.prototype.oPa=function(a,b){var c=t.fUa(a,b,this.h);return c?{yaw:c.Na,pitch:c.pitch}:q};s.prototype.maa=function(){this.h.maa()};s.prototype.tka=function(a){this.ge.start(a.data.panorama)};s.prototype.ii=function(a){this.h.BX(n);this.trigger(new c(s.sq,{percent:a.Lg}))};s.prototype.ska=function(a){this.af.end();this.nV.ui(a.data.panorama)};s.prototype.BK=function(){this.h.BX(B); this.trigger(new c(s.Uy))};s.prototype.se=function(){this.Yf.yb()};s.prototype.rx=function(a){a=a.data.frameTime;this.uc.setSize(this.h.Ua(),this.h.Cb());this.Bb.ov(a);this.Qa.ov(a)};s.prototype.sx=function(a){a=a.data.frameTime;this.Bb.ld(a);this.Qa.ld(a);this.af.ld(a);this.cu.ld(a);this.Bd.ld(a)};s.prototype.KK=function(a){this.cu.display(a.data.panorama);this.af.dH(a.data.panorama);this.trigger(new c(s.bz,{panorama:a.data.panorama}))};s.prototype.Jka=function(a){this.cu.hide(a.data.panorama)}; s.prototype.Dja=function(a){this.af.start(a.data.panorama);this.Bd.start(a.data.panorama)};s.prototype.Eja=function(){this.af.end();this.h.set("visible",B)};s.prototype.JK=function(a){this.Qa.end();this.Bd.end(a.data.nextPanorama);this.trigger(new c(s.Zy,{panorama:a.data.panorama}))};s.prototype.mu=function(a){this.Qa.start(a.data.panorama,a.data.camera);this.trigger(new c(s.az,{panorama:a.data.panorama}))};s.prototype.qx=function(a){this.trigger(new c(s.$y,{panorama:a.data.panorama}))};s.prototype.yka= function(a){this.Qa.Raa(a.data.yawDelta,0)};s.prototype.mp=function(a){this.trigger(new c(s.Nj,a.data))};s.prototype.Cm=function(a){this.trigger(new c(s.xo,a.data))};s.prototype.xx=function(a){this.trigger(new c(s.Ao,a.data))};s.prototype.sp=function(){this.af.Iy();this.trigger(new c(s.xg))};s.prototype.rp=function(){this.trigger(new c(s.wg))};s.prototype.Zua=function(a){this.af.JC(a)};s.prototype.zy=function(a){this.af.zy(a)};s.prototype.qp=function(a){this.trigger(new c(s.aj,a.data))};s.sq="loadingProgress"; s.Uy="loadingEnd";s.Nj="movementChange";s.xo="positionChange";s.bz="panoramaStart";s.Zy="panoramaEnd";s.az="panoramaShow";s.$y="panoramaHide";s.sc="playbackStateChange";s.xg="userInteractionStart";s.wg="userInteractionEnd";s.aj="timeChange";s.Ao="transitionEnd";return s}); define("nA","require,dY,jquery.mod,kG,lh,nU,cs,gE,cy,eQ,me,cS,dT,gR,lc,eb,eI,hl,ip,bu,dV,gq".split(","),function(a){a("dY");a("jquery.mod");var b=a("kG");a("lh");var d=a("nU"),c=a("cs"),g=a("gE"),f=a("cy"),i=a("eQ"),e=a("me"),j=a("cS"),o=a("dT"),k=a("gR"),m=a("lc"),r=a("eb"),p=a("eI"),t=a("hl"),s=a("ip"),u=a("bu"),v=a("dV"),w=a("gq"),x=b.extend(o,function(){o.call(this,"panorama");o.prototype.set.call(this,"rotationEnabled",n);o.prototype.set.call(this,"zoomEnabled",n);o.prototype.set.call(this,"surfaceSelectionEnabled", B);o.prototype.set.call(this,"surfaceSelectionHorizontalAngle",90);o.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);o.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",B);o.prototype.set.call(this,"fxaaEnabled",B);o.prototype.set.call(this,"aaEnabled",B);this.u7=this.b3=this.Pw=this.tS=this.lS=this.U_=this.Cx=this.Mh=this.s_=B;this.E2=n;this.Yo=this.NE=this.wQ=B;this.fR=this.U1=this.vd=this.cb=0;this.v5=this.x5=l;this.o4=n;this.li=g.L;this.B=this.h=q;this.pja={};for(var a in x.bt)this.pja[a]= this.KBa(a);this.XP=new e(this,"buttonToggleGyroscope",v.Uj);this.XP.bind(d.zi,function(){this.set("gyroscopeEnabled",n)},this);this.XP.bind(d.Sj,function(){this.set("gyroscopeEnabled",B)},this);this.XP.set("pressed",this.get("gyroscopeEnabled")&&t.available);this.Pza=new e(this,"buttonCardboardView",v.ne);this.Pza.bind(d.ca,function(){this.set("viewMode",x.$v)},this,n);this.dAa=new e(this,"buttonVRView",v.ne);this.dAa.bind(d.ca,function(){this.set("viewMode",x.$v)},this,n);u.bind(d.qa,function(){this.Uoa("viewMode"); this.trigger(x.Wba)},this,n);this.YP=new e(this,"buttonToggleHotspots",v.Uj);this.YP.bind(d.zi,function(){this.set("hotspotsEnabled",n)},this);this.YP.bind(d.Sj,function(){this.set("hotspotsEnabled",B)},this);this.YP.set("pressed",this.get("hotspotsEnabled"));this.$P=new e(this,"buttonToggleSurfaceSelection",v.Uj);this.$P.bind(d.zi,function(){this.set("surfaceSelectionEnabled",n)},this);this.$P.bind(d.Sj,function(){this.set("surfaceSelectionEnabled",B)},this);this.$P.set("pressed",this.get("surfaceSelectionEnabled")); this.bAa=new e(this,"buttonScreenshot",v.ne);this.bAa.bind(d.ca,this.Pma,this,n);this.Qd=b.jq(this.Jg,this);this.set("arrowKeysAction","rotate");this.set("doubleClickAction","inherit");this.set("hotspotsEnabled",n);this.set("preloadEnabled",n);this.set("keyboardTranslateSelectionAngle",90)});x.Oba="cameraPositionChange";x.xg="userInteractionStart";x.wg="userInteractionEnd";x.sq="loadingProgress";x.Tba="preloadMediaShow";x.Wba="viewModeChange";i.F("PanoramaPlayer",x).H("Object").Q({aaEnabled:"bool", actualHFOV:"number",actualVFOV:"number",arrowKeysAction:"enum[rotate, translate, none]",buttonCardboardView:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveDown:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveLeft:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveRight:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveUp:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayDown:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayLeft:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayRight:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayUp:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleGyroscope:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleHotspots:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleSurfaceSelection:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonVRView:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonZoomIn:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonZoomOut:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonScreenshot:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",camera:"PanoramaCamera",currentTime:"number",displayPlaybackBar:"bool",doubleClickAction:"enum[toggle_fullscreen, translate, inherit]",fxaaEnabled:"bool",gyroscopeEnabled:"bool",gyroscopeVerticalDraggingEnabled:"bool",hdrPanoramaDisplayPlaybackBar:"bool", hdrPanoramaDisplayPlaybackBarSteps:"bool",hfov:"number",hotspotsEnabled:"bool",keyboardTranslateSelectionAngle:"number",livePanoramaDisplayPlaybackBar:"bool",livePanoramaDisplayPlaybackBarSteps:"bool",mapPlayer:"MapPlayer",mode:"enum[fast, quality]",model3DPlayer:"Model3DPlayer",mouseControlMode:"enum[drag_acceleration, drag_rotation]",panorama:"Panorama",pitch:"number",preloadEnabled:"bool",roll:"number",startTime:"number",state:"enum[stopped, playing, paused]",adjacentPanoramaPositionsEnabled:"bool", surfaceSelectionHorizontalAngle:"number",surfaceSelectionVerticalAngle:"number",surfaceSelectionEnabled:"bool",touchControlMode:"enum[drag_acceleration, drag_rotation]",video:"Video360",viewMode:"enum[standard, cardboard, vr]",videoPanoramaDisplayPlaybackBar:"bool",viewerArea:"ViewerArea",yaw:"number",zoomEnabled:"bool"}).hc([d.jP,x.Oba,x.sq,x.xg,x.wg,x.Tba,x.Wba,d.Gc,j.xf,j.xi]).Ng({moveLeft:function(){this.Dc(r.mD)},moveRight:function(){this.Dc(r.nD)},moveUp:function(){this.Dc(r.oD)},moveDown:function(){this.Dc(r.lD)}, playLeft:function(){this.Dc([r.mD,r.S])},playRight:function(){this.Dc([r.nD,r.S])},playUp:function(){this.Dc([r.oD,r.S])},playDown:function(){this.Dc([r.lD,r.S])},play:function(){this.uj()},pause:function(){this.Nn()},stop:function(){this.wx()},seek:function(a){this.uB(a)},setFramePlaybackPosition:function(a){this.IJa(a)},setFrameTransitionPosition:function(a){this.JJa(a)},restart:function(){this.tx()},zoomIn:function(){this.Dc(r.Zs)},zoomOut:function(){this.Dc(r.$s)},resumeCamera:function(){this.SIa()}, pauseCamera:function(){this.KHa()},moveTo:function(a,b,c,d){this.oja(a,b,c,d,B)},setPosition:function(a,b,c,d){this.oja(a,b,c,d,n)},getScreenPosition:function(a,b){return this.vEa(a,b)},getPanoramaPosition:function(a,b){return this.fEa(a,b)},saveScreenshot:function(){return this.Pma()}});x.prototype.get=function(a,b){switch(a){case "currentTime":return this.B&&this.B.getTime()||0;case "viewMode":return u.isPresenting()?x.$v:x.a_;case "video":a="panorama";break;case "rendererPanorama":return this.B&& this.B.ZG()}if(!b)switch(a){case "mouseControlMode":b=f.lca;break;case "touchControlMode":b=f.dda}return o.prototype.get.call(this,a,b)};x.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "application":this.s_=n;this.Qd();break;case "startTime":this.Cx=n;this.Qd();break;case "video":case "panorama":a="panorama";this.Cx=n;this.Qd();break;case "camera":this.U_=n;this.Qd();break;case "viewerArea":this.Mh=n;this.Qd();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.Yo= n;this.Qd();break;case "mapPlayer":this.lS=n;this.Qd();break;case "model3DPlayer":this.tS=n;this.Qd();break;case "gyroscopeEnabled":this.Pw=n;this.Qd();break;case "gyroscopeVerticalDraggingEnabled":this.E2=n;this.Qd();break;case "viewMode":if(b=="vr")b=x.$v;b==x.$v&&!u.isPresenting()?u.yk():b!=x.$v&&u.isPresenting()&&u.Hf();b=u.isPresenting()?x.$v:x.a_;break;case "hotspotsEnabled":this.b3=n;this.Qd();break;case "mouseControlMode":case "touchControlMode":this.wQ=n;this.Qd();break;case "surfaceSelectionEnabled":p.Kva()|| (b=B);this.u7=n;this.Qd()}o.prototype.set.call(this,a,b)}};x.prototype.nq=function(a){this.NE=a;this.B&&this.B.Ay(this.NE)};x.prototype.Lqa=function(){return this.get("doubleClickAction")!="inherit"};x.prototype.K_=function(a){o.prototype.K_.call(this,a);a.bind(d.Ul,this.Xpa,this,n)};x.prototype.a8=function(a){o.prototype.a8.call(this,a);a.unbind(d.Ul,this.Xpa,this,n)};x.prototype.Xpa=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.get("application").Gi;a&&a.available()&& a.toggle()}};x.prototype.KBa=function(a){var b=x.bt[a],a=new e(this,a,v.ne);a.bind(d.zb,function(){this.Dc(b.movement)},this);b.stopOnRelease&&a.bind(d.Wb,function(){this.Dc(r.Lf)},this);return a};x.prototype.Jg=function(){if(this.Mh||this.s_){this.Mh=this.s_=B;this.wQ=this.Pw=this.tS=this.lS=n;this.yt();this.get("viewerArea")&&this.get("application")&&this.ut();this.WL(this.get("viewerArea"))}var a=B;if(this.h){if(this.lS){this.lS=B;this.B.Iaa(this.get("mapPlayer"))}if(this.tS){this.tS=B;this.B.Kaa(this.get("model3DPlayer"))}if(this.wQ){this.wQ= B;this.B.Cy(this.get("mouseControlMode"));this.B.LC(this.get("touchControlMode"))}if(this.Cx||this.U_){this.fR=this.U1=this.cb=this.vd=0;this.v5=this.x5=l;a=n;this.U_=this.Cx=B;if(this.get("panorama"))this.B.ui(this.get("panorama"),this.get("camera",new k),this.get("startTime"));else{this.B.rv();this.o4=n;this.li=g.L;this.oc(g.L)}}if(this.E2){this.E2=B;this.B.tO(this.get("gyroscopeVerticalDraggingEnabled",n))}if(this.Pw){this.Pw=B;var b=this.get("gyroscopeEnabled")&&t.available;if(b&&t.disabled){b= B;s.aca.show(function(){t.iaa(function(){this.set("gyroscopeEnabled",n)}.bind(this))}.bind(this))}this.set("gyroscopeEnabled",b);this.B.sO(b);this.XP.set("pressed",b)}if(this.b3){this.b3=B;this.YP.set("pressed",this.get("hotspotsEnabled"))}if(this.Yo){this.Yo=B;a=n}if(this.u7){this.u7=B;this.$P.set("pressed",this.get("surfaceSelectionEnabled"))}a&&this.Vu()}};x.prototype.bG=function(){this.set("panorama",q)};x.prototype.ut=function(){var a=this.get("viewerArea"),b=this.get("application");this.h=new p(b, a,this);this.h.$({left:0,top:0,bottom:0,right:0});a.Oa(this.h);this.B=new m(a,this.h);this.B.bind(m.Nj,this.mp,this);this.B.bind(m.xo,this.Rja,this);this.B.bind(m.sq,this.ii,this);this.B.bind(m.Uy,this.iF,this);this.B.bind(m.az,this.mu,this,n);this.B.bind(m.$y,this.qx,this,n);this.B.bind(m.bz,this.KK,this,n);this.B.bind(m.Zy,this.JK,this,n);this.B.bind(m.sc,this.ze,this);this.B.bind(m.xg,this.sp,this);this.B.bind(m.wg,this.rp,this);this.B.bind(m.aj,this.qp,this);this.B.bind(m.Ao,this.xx,this,n);this.get("application").bind(d.u("mute"), this.HK,this);this.get("application").get("mute",B)&&this.B.nf(n);this.B&&this.B.Ay(this.NE);u.bind(d.qa,this.Ln,this,n);this.t0();this.Vx(n)};x.prototype.yt=function(){if(this.h){this.B.unbind(m.Nj,this.mp,this);this.B.unbind(m.xo,this.Rja,this);this.B.unbind(m.sq,this.ii,this);this.B.unbind(m.Uy,this.iF,this);this.B.unbind(m.az,this.mu,this,n);this.B.unbind(m.$y,this.qx,this,n);this.B.unbind(m.bz,this.KK,this,n);this.B.unbind(m.Zy,this.JK,this,n);this.B.unbind(m.sc,this.ze,this);this.B.unbind(m.xg, this.sp,this);this.B.unbind(m.wg,this.rp,this);this.B.unbind(m.aj,this.qp,this);this.B.unbind(m.Ao,this.xx,this);this.B.clear();this.B=q;this.get("application").unbind(d.u("mute"),this.HK,this);this.h.getParent().removeChild(this.h);this.h=q;u.unbind(d.qa,this.Ln,this,n);this.Vx(B)}};x.prototype.HK=function(){this.h&&this.B.nf(this.get("application").get("mute",B))};x.prototype.ze=function(a){this.li=a.data.state;this.$f()};x.prototype.$f=function(){this.oc(this.o4||u.isPresenting()?this.li:g.S)}; x.prototype.sp=function(){this.trigger(new c(x.xg))};x.prototype.rp=function(){this.trigger(new c(x.wg))};x.prototype.KK=function(a){this.trigger(new c(x.Tba,{panorama:a.data.panorama}))};x.prototype.JK=I();x.prototype.mu=function(a){this.t0();this.WJ(a.data.panorama)};x.prototype.qx=function(a){this.VJ(a.data.panorama)};x.prototype.mp=function(a){for(var b in x.bt)this.pja[b].set("state",a.data[x.bt[b].pressedOn]?w.bb:w.me);this.o4=a.data.stopped;this.$f();this.trigger(new c(d.jP,a.data))};x.prototype.Rja= function(a){this.t0();this.trigger(new c(x.Oba,a.data))};x.prototype.t0=function(){if(this.B){this.set("yaw",this.B.Uc());this.set("pitch",this.B.Nc());this.set("roll",this.B.uf());this.set("hfov",this.B.og());this.set("actualHFOV",this.B.CN());this.set("actualVFOV",this.B.DN())}};x.prototype.ii=function(a){this.h.getParent().$({progressPercent:a.data.percent,progressVisible:n});this.trigger(new c(x.sq,a.data))};x.prototype.iF=function(){this.h.getParent().set("progressVisible",B)};x.prototype.xx= function(){this.trigger(d.IZ)};x.prototype.Ln=function(){this.set("viewMode",u.isPresenting()?x.$v:x.a_);this.$f()};x.prototype.oja=function(a,b,c,d,e){this.B&&this.B.moveTo(a,b,c,d,e)};x.prototype.Dc=function(a){this.B&&this.B.Lj(a)};x.prototype.uj=function(){this.B.play()};x.prototype.Om=function(){this.B.stop()};x.prototype.Nn=function(){this.B.pause()};x.prototype.uB=function(a){this.B&&(this.oha()?this.B.zy(a):this.B.Zua(a))};x.prototype.IJa=function(a){this.B&&this.B.Zua(a)};x.prototype.JJa= function(a){this.B&&this.B.zy(a)};x.prototype.KHa=function(){this.B&&this.B.mH()};x.prototype.SIa=function(){this.B&&this.B.uH()};x.prototype.vEa=function(a,b){if(this.B)return this.B.zPa(a,b)};x.prototype.fEa=function(a,b){if(this.B)return this.B.oPa(a,b)};x.prototype.Pma=function(){this.B&&this.B.maa()};x.prototype.lL=function(a){this.uB(a.data.position)};x.prototype.qp=function(a){this.vd=a.data.time;this.cb=a.data.duration;this.U1=a.data.transitionPosition;this.fR=a.data.transitionLength;this.x5= a.data.steps;this.v5=a.data.selectedStep;this.Vu()};x.prototype.Vu=function(){var a=this.h.getParent(),b=B;if(this.zDa()){var c=this.oha(),d=this.hEa();if(c){if(this.fR>0){a.$({playbackBarPosition:this.U1,playbackBarDuration:this.fR,playbackBarSteps:this.x5,playbackBarSelectedStep:this.v5,playbackBarLiveDragging:d});b=n}}else if(this.cb>0){a.$({playbackBarPosition:this.vd,playbackBarDuration:this.cb,playbackBarSteps:l,playbackBarSelectedStep:l,playbackBarLiveDragging:d});b=n}}a.set("playbackBarVisible", b)};x.prototype.zDa=function(){var a=this.get("panorama");return a?i.za("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",B)):i.za("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",B)):i.za("VideoPanorama",a)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",n)):B:B};x.prototype.oha=function(){var a=this.get("panorama");return!a?B:i.za("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBarSteps", n):i.za("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBarSteps",n):B};x.prototype.hEa=function(){var a=this.get("panorama");return!a||i.za("VideoPanorama",a)?B:n};x.$v="cardboard";x.a_="standard";x.bt={buttonMoveLeft:{movement:r.mD,pressedOn:"movingLeft",stopOnRelease:n},buttonMoveRight:{movement:r.nD,pressedOn:"movingRight",stopOnRelease:n},buttonMoveUp:{movement:r.oD,pressedOn:"movingUp",stopOnRelease:n},buttonMoveDown:{movement:r.lD,pressedOn:"movingDown",stopOnRelease:n},buttonPlayLeft:{movement:[r.mD, r.S],pressedOn:"movingLeft",stopOnRelease:B},buttonPlayRight:{movement:[r.nD,r.S],pressedOn:"movingRight",stopOnRelease:B},buttonPlayUp:{movement:[r.oD,r.S],pressedOn:"movingUp",stopOnRelease:B},buttonPlayDown:{movement:[r.lD,r.S],pressedOn:"movingDown",stopOnRelease:B},buttonZoomIn:{movement:r.Zs,pressedOn:"zoomingIn",stopOnRelease:n},buttonZoomOut:{movement:r.$s,pressedOn:"zoomingOut",stopOnRelease:n}};return x}); define("cu","kG,cs,eQ,cS,nA,hN".split(","),function(a,b,d,c,g,f){a=a.extend(f,function(){f.call(this)});d.F("PanoramaPlayListItem",a).H("PlayListItem").Q({media:"Panorama",camera:"PanoramaCamera",player:"PanoramaPlayer"});a.prototype.start=function(){f.prototype.start.call(this);var a=this.get("player");if(a){a.bind(c.xf,this.mu,this);a.set("panorama",this.get("media"));a.set("camera",this.get("camera"))}};a.prototype.stop=function(){var a=this.get("player");if(a){a.unbind(c.xf,this.mu,this);a.get("panorama")== this.get("media")&&a.set("panorama",q)}f.prototype.stop.call(this)};a.prototype.mu=function(a){if(a.data.media==this.get("media")){this.get("player").unbind(c.xf,this.mu,this);this.get("player").bind(c.xi,this.qx,this);this.XB()}};a.prototype.qx=function(a){if(a.data.media==this.get("media")){this.get("player").unbind(c.xi,this.qx,this);this.stop();this.end()}};return a}); define("kK",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("PanoramaSnapshot",b).H("Object").Q({position:"PanoramaCameraPosition",image:"ImageResource"});return b});define("mu",["kG","ck"],function(a,b){var d=a.extend(b,function(a,d,f,i){b.call(this);this.kd=a;this.Z=d;this.ja=f;this.M1=i});d.prototype.ks=function(){return[this.kd]};d.prototype.pi=S("kd");d.prototype.fd=S("Z");d.prototype.Ud=S("ja");return d}); define("nT","require,dY,kG,eQ,ee,fI,mu".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("eQ"),g=a("ee"),f=a("fI"),i=a("mu"),a=d.extend(g,function(){g.call(this);this.la=l});c.F("Photo",a).H("Media").Q({audios:"array[PhotoAudio]",duration:"number",height:"number",image:"ImageResource",width:"number",flipImageHorizontally:"bool"});a.prototype.Ij=function(){if(this.la==l){var a=this.get("image");this.la=a?new i(f.fq(a).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally", B)):q}return this.la};a.prototype.hs=function(){var a=this.nR(this.Ij());b(this.get("audios",[])).each(function(b){a=a.concat(b.hs())},this);return a};a.prototype.nR=function(a){return a?a.ks():[]};return a}); define("iT",["dY","kG","nU","ee","eQ"],function(a,b,d,c,g){b=b.extend(c,function(){c.call(this);this.set("loop",B)});g.F("PhotoAlbum",b).H("Media").Q({audios:"array[PhotoAlbumAudio]",loop:"bool",playList:"PhotoPlayList"}).hc([d.Ha]);b.prototype.hs=function(){var b=[],c=this.get("playList");c&&a(c.get("items"),[]).each(function(a){(a=a.get("media"))&&(b=b.concat(a.hs()))});a(this.get("audios",[])).each(function(a){b=b.concat(a.hs())});return b};return b}); define("gh","require,kG,hy,eQ,is,D".split(","),function(a){var b=a("kG"),d=a("hy"),c=a("eQ"),g=a("is");a("D");a=b.extend(g,function(){g.call(this,d.yxa)});c.F("PhotoAlbumAudio",a).H("MediaAudio");return a}); define("cQ",["require","gE"],function(a){function b(a,b){this.h=a;this.No=b;this.JD=[];this.Oq=[];this.Xp=1}var d=a("gE");b.prototype.clear=function(){for(var a=0;athis.Va&&(this.Va=1);var a=Math.min(0.5/this.Va,0.5),b=Math.max(1-0.5/this.Va,0.5);this.yab&&(this.ya=b);a=Math.min(0.5/this.Va,0.5);b=Math.max(1-0.5/this.Va,0.5);this.Cab&&(this.Ca=b)}};return d}); define("bz",[],function(){function a(a,d){this.h=a;this.Y=d;this.Ca=this.ya=0.5;this.Va=1;this.fU=B}a.prototype.start=function(){this.Ca=this.ya=0.5;this.Va=1;this.fU=n};a.prototype.clear=function(){this.Y=this.h=q};a.prototype.hb=function(a,d,c){this.ya=a;this.Ca=d;this.Va=c};a.prototype.He=S("fU");a.prototype.xb=function(){this.fU=B};return a}); define("hp",["kG","lh","eQ"],function(a,b,d){a=a.extend(b,function(a,d,f){b.call(this);a!=l&&this.set("x",a);d!=l&&this.set("y",d);f!=l&&this.set("zoomFactor",f)});d.F("PhotoCameraPosition",a).H("Object").Q({x:"number",y:"number",zoomFactor:"number"});return a}); define("h",["kG","bz","hp","nx","bC"],function(a,b,d,c,g){a=a.extend(b,function(a,c){b.call(this,a,c);this.O=q});a.prototype.start=function(a){var b=a.get("initialPosition",new d(0.5,0.5,1)),e=a.get("targetPosition",new d(0.5,0.5,1)),j=a.get("duration",1E3);0==j?(this.ya=b.get("x"),this.Ca=b.get("y"),this.Va=b.get("zoomFactor")):this.O=new c(a.get("easing","linear"),[new g("x",b.get("x",0.5),e.get("x",0.5)),new g("y",b.get("y",0.5),e.get("y",0.5)),new g("zoom",b.get("zoomFactor",1),e.get("zoomFactor", 1))],j);this.xb(0)};a.prototype.clear=function(){this.O=q;b.prototype.clear.call(this)};a.prototype.He=function(){return this.O!=q};a.prototype.xb=function(a){this.O&&(this.O.xb(a),this.Y.hb(this.O.gb("x"),this.O.gb("y"),this.O.gb("zoom")),this.ya=this.Y.getX(),this.Ca=this.Y.getY(),this.Va=this.Y.gq(),this.O.Te()&&(this.O=q))};return a}); define("cE","kG,cs,fQ,eQ,gE,lv,j,bz,h,nU".split(","),function(a,b,d,c,g,f,i,e,j,o){var k=a.extend(d,function(a,b){d.call(this);this.h=a;this.Jd=b;this.h.bind(o.tc,this.Vb,this);this.o=g.L;this.Jm=this.JT=this.oa=this.la=q;this.Y=new i});k.prototype.clear=function(){this.end();this.Y=q;this.h.unbind(o.tc,this.Vb,this);this.h=q};k.prototype.end=function(a){if(this.la==a||typeof a=="undefined"){this.dga();this.oa=this.JT=this.oa=this.la=q}};k.prototype.start=function(a){if(this.la!=a){this.end(this.la); var b=a.get("media"),c=a.get("camera"),d=b.get("width",100),e=b.get("height",100),g=c?c.get("scaleMode",f.Rg):f.Rg;this.la=a;this.oa=c;this.JT=b;b.Ij();this.N=n;this.Y.oO(d,e,g);this.MBa(c);this.Da()}};k.prototype.stop=function(){if(this.o!=g.L){this.o=g.L;if(this.Jm){this.Jm.start(this.oa);this.Da()}}};k.prototype.play=function(){if(this.o==g.L||this.o==g.Gb){this.o=g.S;this.Da()}};k.prototype.pause=function(){if(this.o==g.S)this.o=g.Gb};k.prototype.ov=function(a){if(this.Jm&&this.Jm.He()){if(this.o== g.S){this.Jm.xb(a);this.Da()}this.ql(this.Jm.ya,this.Jm.Ca,this.Jm.Va)}};k.prototype.MBa=function(a){this.dga();this.Jm=c.za("MovementPhotoCamera",a)?new j(this.h,this.Y):new e(this.h,this.Y);this.Jm.start(a)};k.prototype.dga=function(){if(this.Jm){this.Jm.clear();this.Jm=q}};k.prototype.Vb=function(){this.Y.setSize(this.h.Ua(),this.h.Cb());this.Da()};k.prototype.Da=function(){this.trigger(new b(k.pb))};k.prototype.ql=function(a,b,c){this.Jd.hb(this.la,a,b,c)};k.pb="request frame";return k}); define("hD","require,dY,kG,cs,fQ,nU,hy,lv".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("cs"),g=a("fQ"),f=a("nU");a("hy");var i=a("lv"),e=d.extend(g,function(a,b){g.call(this);this.gM=[];this.K=a;this.h=b});e.prototype.rH=function(a){this.Mw(a).rH();return this};e.prototype.Ve=function(a,b){this.Mw(a).Ve(b);return this};e.prototype.$m=function(a,b){this.Mw(a).$m(b);return this};e.prototype.hb=function(a,b,c,d){this.Mw(a).hb(b,c,d);return this};e.prototype.xk=function(a){this.Mw(a).xk();return this}; e.prototype.stop=function(){this.uga(function(a){a.clear()});this.gM=[]};e.prototype.clear=function(){this.stop();this.h=this.K=this.gM=q};e.prototype.ld=function(){this.uga(function(a){a.update()})};e.prototype.Mw=function(a){var b=this.RCa(a);if(!b){b=new j(a,this.h);b.bind(j.Sca,this.SFa,this);b.bind(j.Qca,this.RFa,this);this.gM.push(b)}return b};e.prototype.uga=function(a){b(this.gM).each(a,this)};e.prototype.RCa=function(a){return b(this.gM).find(function(b){return b.getItem()==a})};e.prototype.SFa= function(){this.Da()};e.prototype.RFa=function(a){this.trigger(new c(e.UY,{item:a.source.getItem()}))};e.prototype.Da=function(){this.trigger(new c(e.pb))};e.pb="request frame";e.UY="photo preload end";var j=d.extend(g,function(a,b){g.call(this);this.la=a;this.h=b;var c=a.get("camera");this.ef=c?c.get("scaleMode",i.Rg):i.Rg;this.Mi=a.get("media").Ij();this.Mi.bind(f.U,this.cd,this);this.Mi.bind(f.Ac,this.sf,this);this.fa=j.jI;this.Ca=this.ya=0.5;this.Va=1;this.un=0;this.MD=B;this.ig=0;this.ka=B}); j.prototype.getItem=S("la");j.prototype.rH=function(){this.fa==j.jI?this.QT():this.Roa()};j.prototype.Ve=function(a){if(this.un!=a){this.un=a;this.ye()}};j.prototype.$m=function(a){if(this.ig!=a){this.ig=a;this.ye()}};j.prototype.hb=function(a,b,c){if(this.ya!=a||this.Ca!=b||this.Va!=c){this.ya=a;this.Ca=b;this.Va=c;this.ye()}};j.prototype.xk=function(){if(!this.MD){this.MD=n;this.ye()}};j.prototype.clear=function(){this.fa==j.zP&&this.BL();(this.fa==j.gI||this.fa==j.iI||this.fa==j.hI)&&this.ey(); this.Mi.unbind(f.U,this.cd);this.Mi.unbind(f.Ac,this.sf);this.Mi=q};j.prototype.update=function(){if(this.ka){this.ka=B;if(this.ig>-1&&this.ig<1&&this.un>0){this.fa==j.jI&&this.LJ();this.fa==j.gI&&this.uya();if(this.fa==j.zP){if(this.MD){this.h.w9(this.Mi);this.MD=B}this.h.mq(this.Mi,this.un);this.h.wSa(this.Mi,this.ig);this.h.vO(this.Mi,this.ya,this.Ca,this.Va)}}else{this.fa==j.zP&&this.BL();(this.fa==j.gI||this.fa==j.hI)&&this.ey()}}};j.prototype.ye=function(){if(!this.ka){this.ka=n;this.wa()}}; j.prototype.wa=function(){this.trigger(new c(j.Sca))};j.prototype.QT=function(){this.fa=j.iI;this.h.lo(this.Mi);this.h.Psa(this.Mi)&&this.cd()};j.prototype.LJ=function(){this.fa=j.hI;this.h.lo(this.Mi);this.h.Psa(this.Mi)&&this.cd()};j.prototype.uya=function(){this.fa=j.zP;this.h.m9(this.Mi);this.h.zSa(this.Mi,this.ef)};j.prototype.BL=function(){this.fa=j.gI;this.h.removeItem(this.Mi)};j.prototype.ey=function(){this.fa=j.jI;this.h.Mj(this.Mi)};j.prototype.cd=function(){if(this.fa==j.iI||this.fa== j.hI){var a=this.fa==j.iI;this.fa=j.gI;this.ye();a&&this.Roa()}};j.prototype.sf=function(){if(this.fa==j.iI||this.fa==j.hI)this.fa=j.jI};j.prototype.Roa=function(){this.trigger(new c(j.Qca))};j.Sca="requestUpdate";j.Qca="preloadEnd";j.jI="unloaded";j.iI="preloading";j.hI="loading";j.gI="loaded";j.zP="added";return e});define("mx",[],function(){return{jn:"blending",Ho:"scroll"}}); define("bX","dY,kG,cs,fQ,nU,hD,mx".split(","),function(a,b,d,c,g,f,i){function e(b,c,d){this.Um=b;this.item=c;this.cwa=d;this.index=b&&c?a(b.get("playList").get("items")).indexOf(this.item):0;this.loaded=B}e.prototype.isEqual=function(a){return a&&a.Um==this.Um&&a.item==this.item};var j=b.extend(c,function(a,b,d){c.call(this);this.K=a;this.h=b;this.Jd=d;this.Jd.bind(f.UY,this.Ola,this);this.AM=i.jn;this.fa=j.BD;this.qf=new e(q,q,0);this.wt=this.ik=this.Vg=q;this.BM=l;this.Sx=0});j.prototype.jTa=R("AM"); j.prototype.Saa=R("Sx");j.prototype.oba=function(a,b,c){this.ik=q;a=new e(a,b,c);if(!a.isEqual(this.fa==j.BD?this.qf:this.Vg)){this.ik=a;this.Lka()}};j.prototype.clear=function(){(this.fa==j.CP||this.fa==j.AP)&&this.trigger(new d(j.Lv,{album:this.Vg.Um,item:this.Vg.item}));this.fa=j.BD;this.h=this.K=this.wt=this.qf=this.Vg=this.ik=q;this.Jd.unbind(f.UY,this.Ola,this);this.Jd=q};j.prototype.ld=function(a){if(this.fa!=j.BD){this.BM=this.BM+a;a=this.Vg.cwa;a=this.BM>=a?1:this.BM/a;this.fa==j.AP?this.yMa(a): this.fa==j.BP?this.zMa(a):this.AM==i.jn?this.mMa(a):this.bNa(a);a<1?this.Da():this.Gw()}};j.prototype.yMa=function(a){this.Jd.Ve(this.Vg.item,a).$m(this.Vg.item,0)};j.prototype.zMa=function(a){this.Jd.Ve(this.qf.item,1-a).$m(this.qf.item,0)};j.prototype.mMa=function(a){this.Jd.Ve(this.Vg.item,Math.min(1,a*2)).$m(this.Vg.item,0);this.Jd.Ve(this.qf.item,Math.min(1,(1-a)*2)).$m(this.qf.item,0)};j.prototype.bNa=function(a){var b=this.qf.Um!=this.Vg.Um||this.qf.index0?d[e-1]:q;this.Tn=e1){a="quad_out";b=this.pS}else if(this.PU<-1){a="quad_out";b=this.sS}else{a="quad_in_out";b=this.ig<-0.5?this.sS:this.ig>0.5?this.pS:0}this.O=new m(a,[new r("offset",this.ig,b,1E3/this.Ig)],0);this.Da()}};p.prototype.ld=function(a){if(this.zj||this.O){if(this.O){this.O.xb(a);this.ig=this.O.gb("offset");if(this.O.Te()){this.O= q;this.ACa()}else this.Da()}this.la&&this.Jd.$m(this.la,this.ig*(1+this.Sx)).Ve(this.la,1);this.Hn&&this.Jd.$m(this.Hn,(this.ig-1)*(1+this.Sx)).Ve(this.Hn,1);this.Tn&&this.Jd.$m(this.Tn,(this.ig+1)*(1+this.Sx)).Ve(this.Tn,1)}};p.prototype.ACa=function(){this.trigger(new d(p.CY,{album:this.Ke,item:this.ig<0?this.Tn:this.ig>0?this.Hn:this.la}))};p.prototype.Da=function(){this.trigger(new d(p.pb))};p.prototype.zha=function(a){var b=a&&a.get("camera"),c=a&&a.get("media"),a=c&&c.get("width",100)||100, c=c&&c.get("height",100)||100,d=b?b.get("scaleMode",i.Rg):i.Rg,g={};if(f.za("MovementPhotoCamera",b)){b=b.get("initialPosition",new e(0.5,0.5,1));g.x=b.get("x",0.5);g.y=b.get("y",0.5);g.zoom=b.get("zoomFactor",0.5)}else{g.x=0.5;g.y=0.5;g.zoom=1}this.Y.oO(a,c,d);this.Y.setSize(this.h.Ua(),this.h.Cb());this.Y.hb(g.x,g.y,g.zoom);g.x=this.Y.getX();g.y=this.Y.getY();g.zoom=this.Y.gq();return g};p.pb="request frame";p.BY="interaction begin";p.CY="interaction end";return p}); define("iH","kG,cs,fQ,nU,hD,mx,bX,fp".split(","),function(a,b,d,c,g,f,i,e){var j=a.extend(d,function(a,b,c){d.call(this);this.K=a;this.h=b;this.Jd=c;this.AM=f.jn;this.Ig=1E3;this.Bb=new i(this.K,this.h,this.Jd);this.Bb.bind(i.pb,this.se,this,n);this.Bb.bind(i.aZ,this.Oja,this,n);this.Bb.bind(i.Ao,this.Pja,this,n);this.Bb.bind(i.cz,this.LK,this,n);this.Bb.bind(i.Lv,this.OK,this,n);this.Bb.bind(i.dz,this.NK,this,n);this.Bb.bind(i.vo,this.np,this,n);this.Bb.bind(i.wo,this.Kn,this,n);this.Wk=new e(this.K, this.h,this.Jd);this.Wk.bind(e.pb,this.se,this,n);this.Wk.bind(e.BY,this.Tia,this,n);this.Wk.bind(e.CY,this.Uia,this,n)});j.prototype.MX=function(a,b){this.AM=a;this.Ig=b;this.Bb.jTa(a);this.Wk.iTa(b);this.Bb.Saa(0.05);this.Wk.Saa(0.05)};j.prototype.display=function(a,b){this.Bb.oba(a,b,this.Ig)};j.prototype.hide=function(){this.Bb.oba(q,q,this.Ig)};j.prototype.clear=function(){this.Bb.unbind(i.pb,this.se,this);this.Bb.unbind(i.aZ,this.Oja,this);this.Bb.unbind(i.Ao,this.Pja,this);this.Bb.unbind(i.cz, this.LK,this);this.Bb.unbind(i.Lv,this.OK,this);this.Bb.unbind(i.dz,this.NK,this);this.Bb.unbind(i.vo,this.np,this);this.Bb.unbind(i.wo,this.Kn,this);this.Bb.clear();this.Bb=q;this.Wk.bind(e.pb,this.se,this,n);this.Wk.bind(e.BY,this.Tia,this,n);this.Wk.bind(e.CY,this.Uia,this,n);this.Wk.clear();this.Jd=this.h=this.K=this.Wk=q};j.prototype.ld=function(a){this.Bb.ld(a);this.Wk.ld(a)};j.prototype.se=function(){this.Da()};j.prototype.LK=function(a){this.trigger(new b(j.cz,a.data))};j.prototype.OK=function(a){this.trigger(new b(j.Lv, a.data))};j.prototype.NK=function(a){this.trigger(new b(j.dz,a.data));this.Wk.ZRa(a.data.album,a.data.item)};j.prototype.np=function(a){this.trigger(new b(j.vo,a.data))};j.prototype.Kn=function(a){this.trigger(new b(j.wo,a.data))};j.prototype.Oja=function(){this.Wk.disable()};j.prototype.Pja=function(a){this.AM==f.Ho&&a.data.item&&this.Wk.enable();a.data.album||this.trigger(new b(j.zY))};j.prototype.Tia=function(){this.trigger(new b(j.Qba))};j.prototype.Uia=function(a){this.Bb.oba(a.data.album,a.data.item, 0);this.trigger(new b(j.Rba,a.data))};j.prototype.Da=function(){this.trigger(new b(j.pb))};j.pb="request frame";j.cz="photo added";j.Lv="photo removed";j.dz="photo displayed";j.wo="photo album show";j.vo="photo album hide";j.Qba="manual interaction begin";j.Rba="manual interaction end";j.zY="all pending photo albums hidden";return j}); define("id","require,dY,kG,w,cs,fQ,gE".split(","),function(a){var b=a("dY"),d=a("kG"),c=a("w"),g=a("cs"),f=a("fQ"),i=a("gE"),e=d.extend(f,function(){f.call(this);this.Ke=q;this.o=i.L;this.D6=q});e.prototype.clear=function(){this.I9()};e.prototype.dba=function(a){this.I9();this.Ke=a;this.o=i.S;this.D6=c.watch(this.Ke,"playList.selectedIndex",this.wB,this);this.Ke.get("playList").get("selectedIndex")==0?this.wB():this.Ke.get("playList").set("selectedIndex",0)};e.prototype.I9=function(){if(this.Ke){this.o= i.L;this.D6.unwatch();this.Ke=this.D6=q}};e.prototype.stop=function(){if(this.o!=i.L){this.o=i.L;this.Ke.get("playList").set("selectedIndex",0)}};e.prototype.play=function(){if(this.o==i.L){this.Ke.get("playList").set("selectedIndex",0);this.o=i.S;this.wB()}else if(this.o==i.Gb)this.o=i.S};e.prototype.pause=function(){if(this.o==i.S)this.o=i.Gb};e.prototype.next=function(){var a=this.Ke.get("playList"),b=a.get("selectedIndex"),c=a.get("items").length;(b0||this.Ke.get("loop"))&&a.set("selectedIndex",(b-1+c)%c)};e.prototype.bX=function(a){this.eKa(a)};e.prototype.FQa=function(a){if(this.Ke){var c=b(this.Ke.get("playList").get("items")).last();if(a==c&&!this.Ke.get("loop")){this.o=i.L;this.trigger(new g(e.vY,{album:this.Ke}))}else this.next()}};e.prototype.wB=function(){var a=this.xEa();a>=0&&(this.o!=i.S&&a!=0?this.trigger(new g(e.XY)): this.trigger(new g(e.GY,{album:this.Ke,item:this.Ke.get("playList").get("items")[a]})))};e.prototype.xEa=function(){return this.Ke?this.Ke.get("playList").get("selectedIndex"):-1};e.prototype.eKa=function(a){if(this.Ke){var c=this.Ke.get("playList"),a=b(c.get("items")).indexOf(a);c.set("selectedIndex",a)}};e.XY="play request";e.GY="item request";e.vY="album end";return e}); define("cK","require,dY,kG,nU,cs,fQ,gE,gI".split(","),function(a){a("dY");var b=a("kG"),d=a("nU"),c=a("cs"),g=a("fQ"),f=a("gE"),i=a("gI"),e=b.extend(g,function(a){g.call(this);this.K=a;this.tM=this.la=q;this.oB=l;this.VR=B;this.o=f.L;i.bind(d.qa,this.xla,this,n)});e.prototype.bX=function(a){this.a1();if(this.la=a){a=this.la.get("media").get("duration",0);this.oB=a==0?l:Math.max(0,a-this.K.get("transitionDuration"));this.VR=B;this.o==f.S&&this.x1()}};e.prototype.clear=function(){i.unbind(d.qa,this.xla, this,n);this.bX(q)};e.prototype.stop=function(){if(this.o!=f.L){this.a1();this.oc(f.L)}};e.prototype.play=function(){if(this.o==f.L){this.oc(f.S);if(this.la){this.VR=B;var a=this.la.get("media").get("duration",0);this.oB=a==0?l:a;this.x1()}}else if(this.o==f.Gb){this.oc(f.S);this.la&&this.x1()}};e.prototype.pause=function(){if(this.o==f.S){this.oc(f.Gb);this.Lla()}};e.prototype.x1=function(){if(!this.VR){this.VR=n;this.trigger(new c(e.HY,{item:this.la}))}this.Gga()};e.prototype.xla=function(){i.visible? this.Gga():i.visible||this.Lla()};e.prototype.Gga=function(){if(this.oB!==l){var a=this;this.iV=(new Date).getTime()+this.oB;this.tM=setTimeout(function(){a.tM=q;a.xLa()},this.oB)}else this.iV=l};e.prototype.a1=function(){if(this.tM){clearTimeout(this.tM);this.tM=q}};e.prototype.Lla=function(){if(this.iV!==l){this.a1();this.oB=Math.max(1,this.iV-(new Date).getTime());this.iV=l}};e.prototype.xLa=function(){var a=this.la;this.la=q;this.oB=l;this.trigger(new c(e.FY,{item:a}))};e.prototype.oc=function(a){if(this.o!= a){this.o=a;this.trigger(new c(e.sc,{state:this.o}))}};e.sc="playback state change";e.HY="item start";e.FY="item end";return e}); define("mN",["kG","cs","fQ","bg","t"],function(a,b,d,c,g){var f=a.extend(d,function(a){d.call(this);this.N=n;this.lA=B;this.h=a;this.pm=g.browser()==g.Ny&&g.ce()==g.MZ?3:1;this.qe=this.cJ=0});f.prototype.clear=function(){this.N=B;this.h=q;this.qe=this.cJ=0};f.prototype.yb=function(){this.lA||(this.lA=n,c.yb(this.sj,this))};f.prototype.sj=function(a){this.N&&(this.cJ++,this.qe+=a,this.cJ==this.pm?(this.cJ=0,this.lA=B,a=this.qe,this.qe=0,this.trigger(new b(f.yo,{frameTime:a})),this.trigger(new b(f.zo, {frameTime:a})),this.h.render()):c.yb(this.sj,this))};f.yo="frameStart";f.zo="positionSet";return f}); define("gT","kG,nU,cs,fQ,iD,cE,iH,id,cK,hD,mN".split(","),function(a,b,d,c,g,f,i,e,j,o,k){var m=a.extend(c,function(a,b){c.call(this);this.K=a;this.h=b;this.h.set("visible",B);this.Gh=new e(this.h);this.Ba=new j(this.K);this.Jd=new o(this.K,this.h);this.Ea=new i(this.K,this.h,this.Jd);this.Qa=new f(this.h,this.Jd);this.Yf=new k(this.h);this.Bd=new g(this.h);this.Jd.bind(o.pb,this.se,this,n);this.Gh.bind(e.GY,this.fka,this,n);this.Gh.bind(e.XY,this.Pka,this,n);this.Gh.bind(e.vY,this.MK,this,n);this.Ba.bind(j.HY, this.gka,this);this.Ba.bind(j.FY,this.eka,this);this.Ba.bind(j.sc,this.ze,this,n);this.Ea.bind(i.pb,this.se,this,n);this.Ea.bind(i.cz,this.LK,this,n);this.Ea.bind(i.Lv,this.OK,this,n);this.Ea.bind(i.dz,this.NK,this,n);this.Ea.bind(i.vo,this.np,this,n);this.Ea.bind(i.wo,this.Kn,this,n);this.Ea.bind(i.Qba,this.MGa,this,n);this.Ea.bind(i.Rba,this.NGa,this,n);this.Ea.bind(i.zY,this.Fja,this,n);this.Qa.bind(f.pb,this.se,this,n);this.Yf.bind(k.yo,this.rx,this,n);this.Yf.bind(k.zo,this.sx,this,n)});m.prototype.clear= function(){this.Gh.clear();this.Ba.clear();this.Ea.clear();this.Qa.clear();this.Yf.clear();this.Bd.clear();this.Jd.clear();this.Jd.unbind(o.pb,this.se,this);this.Gh.unbind(e.GY,this.fka,this);this.Gh.unbind(e.vY,this.MK,this);this.Gh.unbind(e.XY,this.Pka,this);this.Ba.unbind(j.HY,this.gka,this);this.Ba.unbind(j.FY,this.eka,this);this.Ba.unbind(j.sc,this.ze,this);this.Ea.unbind(i.pb,this.se,this);this.Ea.unbind(i.cz,this.LK,this);this.Ea.unbind(i.Lv,this.OK,this);this.Ea.unbind(i.dz,this.NK,this); this.Ea.unbind(i.vo,this.np,this);this.Ea.unbind(i.wo,this.Kn,this);this.Ea.unbind(i.zY,this.Fja,this);this.Qa.unbind(f.pb,this.se,this);this.Yf.unbind(k.yo,this.rx,this);this.Yf.unbind(k.zo,this.sx,this);this.K=this.h=this.Jd=this.Bd=this.Yf=this.Qa=this.Ea=this.Ba=this.Gh=q};m.prototype.MX=function(a,b){this.Ea.MX(a,b)};m.prototype.QSa=function(a){this.h.set("visible",n);this.Gh.dba(a)};m.prototype.rv=function(){this.Gh.I9();this.Ba.stop();this.Ea.hide();this.Qa.end();this.Bd.Jva()};m.prototype.next= function(){this.Gh.next()};m.prototype.aaa=function(){this.Gh.aaa()};m.prototype.stop=function(){this.Ba.stop();this.Bd.stop();this.Gh.stop();this.Qa.stop()};m.prototype.play=function(){this.Ba.play();this.Bd.play();this.Gh.play();this.Qa.play()};m.prototype.pause=function(){this.Ba.pause();this.Bd.pause();this.Gh.pause();this.Qa.pause()};m.prototype.MGa=function(){this.Ba.pause();this.Bd.pause();this.Gh.pause();this.Qa.pause()};m.prototype.NGa=function(){this.Ba.play();this.Bd.play();this.Gh.play(); this.Qa.play()};m.prototype.fka=function(a){this.Ea.display(a.data.album,a.data.item)};m.prototype.Pka=function(){this.play()};m.prototype.se=function(){this.Yf.yb()};m.prototype.rx=function(a){this.Qa.ov(a.data.frameTime)};m.prototype.sx=function(a){a=a.data.frameTime;this.Ea.ld(a);this.Jd.ld(a);this.Bd.ld(a)};m.prototype.LK=function(a){this.Qa.start(a.data.item)};m.prototype.OK=function(a){var b=a.data.album,a=a.data.item,c=a.get("media");this.Qa.end(a);this.Bd.FTa(c);this.trigger(new d(m.TY,{photoAlbum:b, item:a}))};m.prototype.NK=function(a){var b=a.data.album,a=a.data.item;a.get("media");this.Gh.bX(a);this.Ba.bX(a);this.trigger(new d(m.SY,{photoAlbum:b,item:a}))};m.prototype.gka=function(a){this.Bd.CTa(a.data.item.get("media"))};m.prototype.eka=function(a){this.Gh.FQa(a.data.item)};m.prototype.MK=function(a){this.Ba.stop();this.Bd.stop();this.trigger(new d(m.RY,{photoAlbum:a.data.album}))};m.prototype.Kn=function(a){a=a.data.album;this.Bd.dba(a);this.Ba.play();this.Qa.play();this.trigger(new d(m.wo, {photoAlbum:a}))};m.prototype.np=function(a){a=a.data.album;this.Bd.DTa(a);this.trigger(new d(m.vo,{photoAlbum:a}))};m.prototype.Fja=function(){this.h.set("visible",B)};m.prototype.ze=function(a){this.trigger(new d(m.sc,{state:a.data.state}))};m.wo="photoAlbumShow";m.RY="photoAlbumEnd";m.vo="photoAlbumHide";m.SY="photoBegin";m.TY="photoEnd";m.sc="playbackStateChange";return m}); define("hi","require,jquery.mod,dY,lv,kC,la,t".split(","),function(a){function b(a,b){this.la=a;this.aa=b;this.sb=a.fd();this.Lb=a.Ud();this.$Q=a.M1;this.i9=this.KJ=0;this.un=1;this.ig=0;this.ka=n;this.A0();this.qd=this.gd=100;this.Ca=this.ya=0.5;this.Va=1;this.rL=n;this.Oe=1;this.Dga={};this.hia={};this.Npa=i.browser()!=i.Qh}var d=a("jquery.mod"),c=a("dY"),g=a("lv"),f=a("kC");a("la");var i=a("t");b.prototype.A0=function(){this.wP=d("
");var a={position:"absolute",left:"0",top:"0",width:this.gd+ "px",height:this.qd+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.wP.css(a);this.QZ=d(f.jf(this.la.pi(),n));a={display:"block",position:"absolute",left:"0",top:"0",width:this.sb+"px",height:this.Lb+"px"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.QZ.css(a);this.wP.append(this.QZ)}; b.prototype.Mc=S("wP");b.prototype.getItem=S("la");b.prototype.getX=S("ya");b.prototype.getY=S("Ca");b.prototype.gq=S("Va");b.prototype.Ua=function(){return Math.round(this.sb*this.Va*this.Oe)};b.prototype.Cb=function(){return Math.round(this.Lb*this.Va*this.Oe)};b.prototype.Ve=function(a){if(this.un!=a){this.un=a;this.ka=n}};b.prototype.vW=S("un");b.prototype.Fy=function(a){if(this.ef!=a){this.ef=a;this.ka=n}};b.prototype.EC=function(a,b){if(this.gd!=a||this.qd!=b){this.gd=a;this.qd=b;this.ka=n}}; b.prototype.hb=function(a,b,c){if(this.ya!=a||this.Ca!=b||this.Va!=c){this.ya=a;this.Ca=b;this.Va=c;this.ka=n}};b.prototype.$m=function(a){if(this.ig!=a){this.ig=a;this.ka=n}};b.prototype.$Ra=function(a){if(this.i9!=a){this.i9=a;this.ka=n}};b.prototype.render=function(){if(this.ka){this.ka=B;switch(this.ef){case g.NONE:this.Oe=1;break;case g.Co:this.Oe=this.gd/this.sb;break;case g.Pj:this.Oe=this.qd/this.Lb;break;case g.uq:this.Oe=this.sb*this.qd>this.Lb*this.gd?this.qd/this.Lb:this.gd/this.sb;break; default:this.Oe=this.sb*this.qd>this.Lb*this.gd?this.gd/this.sb:this.qd/this.Lb}var a=this.Va*this.Oe,b=this.gd*0.5-this.ya*this.sb*a,d=this.qd*0.5-this.Ca*this.Lb*a,f=this.gd*this.ig,i=function(a,b){return Math.round(a*Math.pow(10,b))*Math.pow(10,-b)},r={};r.width=i(this.gd,0)+"px";r.height=i(this.qd,0)+"px";r.transform=this.Npa?"translate3d("+i(f,2)+"px, 0px, 0px)":"translate("+i(f,2)+"px, 0px)";r["-moz-transform"]=r["-webkit-transform"]=r["-ms-transform"]=r.transform;r["z-index"]=this.i9;if(this.un== 0)r.display="none";else{r.display="block";if(this.un==1){r.filter=r["-ms-filter"]="";r.opacity=""}else{r.filter=r["-ms-filter"]="alpha(opacity="+Math.round(this.un*100)+")";r.opacity=this.un}}f=[];if(this.Npa){f.push("translate3d("+i(b,2)+"px, "+i(d,2)+"px, 0px)");f.push("scale3d("+a+", "+a+", "+a+")");if(this.$Q){f.push("translate3d("+this.sb+"px, 0, 0)");f.push("scale3d(-1, 1, 1)")}}else{f.push("translate("+i(b,2)+"px, "+i(d,2)+"px)");f.push("scale("+a+", "+a+")");if(this.$Q){f.push("translate("+ this.sb+"px, 0)");f.push("scale(-1, 1)")}}a={};a["-moz-transform"]=a["-webkit-transform"]=a["-ms-transform"]=a.transform=f.join(" ");if(!c.isEqual(this.Dga,r)){this.Dga=r;this.wP.css(r)}if(!c.isEqual(this.hia,a)){this.hia=a;this.QZ.css(a)}}};return b}); define("hC","require,jquery.mod,dY,kG,nU,hy,kC,hi,bc,d".split(","),function(a){var b=a("jquery.mod"),d=a("dY"),c=a("kG"),g=a("nU"),f=a("hy"),i=a("kC"),e=a("hi"),j=a("bc"),o=a("d"),a=c.extend(o,function(){o.call(this);this.ke("Renderer");this.set("toolTipDisabled",n);this.set("cursor",j.Nv);this.bind(g.tc,this.Vb,this,n);this.bind(g.jc,this.gk,this,n);this.bind(g.pc,this.ck,this,n);this.qB=B;this.dc=[];this.KU=this.Xu=B;this.q5=b("
");this.q5.css({position:"absolute",left:0,top:0,right:0,bottom:0, overflow:"hidden","-webkit-transform":"translateZ(0)"});this.Ab().append(this.q5)});a.prototype.lo=function(a){i.lo(a,f.qn)};a.prototype.Mj=function(a){i.Mj(a,f.qn)};a.prototype.Psa=function(a){return i.VX(a)};a.prototype.m9=function(a){a=new e(a,this);a.EC(this.Ua(),this.Cb());a.hb(0.5,0.5,0,1);this.q5.append(a.Mc());this.dc.push(a);this.Xu=n};a.prototype.removeItem=function(a){if(a=this.ap(a)){this.dc=d.without(this.dc,a);a.Mc().detach();this.Xu=n}};a.prototype.w9=function(a){if(a=this.ap(a)){this.dc= d.without(this.dc,a);this.dc.push(a);this.Xu=n}};a.prototype.zSa=function(a,b){this.ap(a).Fy(b)};a.prototype.mq=function(a,b){this.ap(a).Ve(b)};a.prototype.wSa=function(a,b){this.ap(a).$m(b)};a.prototype.vO=function(a,b,c,d){this.ap(a).hb(b,c,d)};a.prototype.JN=function(a){return this.ap(a).getX()};a.prototype.KN=function(a){return this.ap(a).getY()};a.prototype.Ira=function(a){return this.ap(a).gq()};a.prototype.IN=function(a){return this.ap(a).Ua()};a.prototype.HN=function(a){return this.ap(a).Cb()}; a.prototype.render=function(){if(this.qB){this.TMa();this.CKa();for(var a=0;a=0?this.Rd[a]:q};a.prototype.Bna=function(a){if((this.te!= a||this.ak!==l)&&this.ak!==a)if(this.ak===l){this.ak=a;if(this.te)if(this.ak&&this.te.get("player")==this.ak.get("player")){this.te.FH();this.lr()}else if(this.GFa(this.te,this.ak)){a=this.te;a.FH();this.lr();a.iwa()}else{this.Dia(this.te,this.ak)&&this.te.get("media").get("modelLocations",[]).forEach(function(a){var b=!!(a.get("model")==this.ak.get("media")&&a.get("forceModelLoading"));a.set("preferred",b)}.bind(this));this.te.stop()}else this.lr()}else this.ak=a};a.prototype.GFa=function(a,b){return this.Cia(b, a)};a.prototype.Dia=function(a,b){return this.Cia(a,b)};a.prototype.Cia=function(a,b){return b&&f.za("Model3DPlayListItem",b)&&a&&f.za("PanoramaPlayListItem",a)&&a.get("player")&&a.get("player").get("model3DPlayer")==b.get("player")&&a.get("media").get("modelLocations",[]).find(function(a){return a.get("model")==b.get("media")&&(b.get("media").get("isLoaded")||a.get("forceModelLoading"))})};a.prototype.lr=function(){if(this.te){this.te.unbind(e.hn,this.QK,this);this.te.unbind(e.Lf,this.lr,this);this.te.unbind(e.Ha, this.lr,this)}if(this.ak){this.Dia(this.te,this.ak)&&this.te.get("player").bind(e.IZ,this.xx,this,n);this.te=this.ak;this.ak=l;this.te.bind(e.hn,this.QK,this);this.te.bind(e.Lf,this.lr,this);this.te.start()}else{this.ak=this.te=l;this.set("selectedIndex",-1)}};a.prototype.xx=function(a){a.source.unbind(e.IZ,this.xx,this);this.QK();this.te.hwa()};a.prototype.QK=function(){this.te.unbind(e.hn,this.QK,this);this.te.unbind(e.Lf,this.lr,this);this.te.bind(e.Ha,this.lr,this)};a.prototype.ypa=function(){this.uL&& i.jX(this.uL.get("media"),-1);(this.uL=this.Rd&&this.Pe>=0?this.Rd[(this.Pe+1)%this.Rd.length]:q)&&i.jX(this.uL.get("media"),1)};return a});define("jL",["kG","eQ","eD"],function(a,b,d){a=a.extend(d,function(){d.call(this)});b.F("PhotoPlayList",a).H("PlayList").Q({items:"array[PhotoPlayListItem]"});return a});define("jZ",["kG","eQ","hN"],function(a,b,d){a=a.extend(d,function(){d.call(this)});b.F("PhotoPlayListItem",a).H("PlayListItem").Q({media:"Photo",camera:"PhotoCamera"});return a}); define("en",["require","dY","kG","fV","eQ"],function(a){a("dY");var b=a("kG"),d=a("fV"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("PlaybackBar",b).H("UIComponent").Q({barBackgroundColor:"or[array[color], color]",barBackgroundColorDirection:"enum[horizontal, vertical]",barBackgroundColorRatios:"array[number]",barBorderColor:"color",barBorderRadius:"number",barBorderSize:"number",barOpacity:"number",playheadBackgroundColor:"or[array[color], color]",playheadBackgroundColorDirection:"enum[horizontal, vertical]", playheadBackgroundColorRatios:"array[number]",playheadBorderColor:"color",playheadBorderRadius:"number",playheadBorderSize:"number",playheadOpacity:"number",playheadWidth:"or[number, percent]",playheadHeight:"or[number, percent]",playheadShadow:"bool",playheadShadowBlurRadius:"number",playheadShadowColor:"color",playheadShadowHorizontalLength:"number",playheadShadowOpacity:"number",playheadShadowSpread:"number",playheadShadowVerticalLength:"number",stepBackgroundColor:"or[array[color], color]",stepBackgroundColorDirection:"enum[horizontal, vertical]", stepBackgroundColorRatios:"array[number]",stepBorderColor:"color",stepBorderRadius:"number",stepBorderSize:"number",stepOpacity:"number",stepWidth:"or[number, percent]",stepHeight:"or[number, percent]",stepShadow:"bool",stepShadowBlurRadius:"number",stepShadowColor:"color",stepShadowHorizontalLength:"number",stepShadowOpacity:"number",stepShadowSpread:"number",stepShadowVerticalLength:"number",selectedStepBackgroundColor:"or[array[color], color]",selectedStepBackgroundColorDirection:"enum[horizontal, vertical]", selectedStepBackgroundColorRatios:"array[number]",selectedStepBorderColor:"color",selectedStepBorderRadius:"number",selectedStepBorderSize:"number",selectedStepOpacity:"number",selectedStepWidth:"or[number, percent]",selectedStepHeight:"or[number, percent]",selectedStepShadow:"bool",selectedStepShadowBlurRadius:"number",selectedStepShadowColor:"color",selectedStepShadowHorizontalLength:"number",selectedStepShadowOpacity:"number",selectedStepShadowSpread:"number",selectedStepShadowVerticalLength:"number", position:"number",duration:"number",steps:"number",selectedStep:"number"});return b}); define("mq",["require"],function(){function a(a){try{for(var g=(d.UN<<12)+d.YN&65535,f="",i=0,e=a.length;ia.Ua(),d=Math.min(a.Ua(),a.Cb())/100,a=function(a){return Math.round(a*d)};this.$({gap:b?a(4.63):20,paddingLeft:b?a(4.63):20, paddingRight:b?a(4.63):20,paddingTop:b?a(4.63):14,paddingBottom:b?a(4.63):14,layout:b&&c?k.nh:k.yg});this.ul&&this.ul.$({fontSize:b?a(3.15):14,textAlign:b&&c?"center":"left"});this.lw&&this.lw.$({gap:b?0:13});this.Fz&&this.Fz.$({borderRadius:b?a(4.63):15,fontSize:b?a(3.15):14,height:b?a(9.26):30,paddingLeft:b?a(6):20,paddingRight:b?a(6):20});this.ND&&this.ND.$({borderRadius:b?a(4.63):15,fontSize:b?a(3.15):14,height:b?a(9.26):30,paddingLeft:b?a(6):20,paddingRight:b?a(6):20});this.xd()}};a.prototype.Mfa= function(){var a=c.toArray(this.Zb.get("cookiesPolicy"));if(this.pL!=a){this.pL=a;this.YIa()}};a.prototype.YIa=function(){if(this.pL.length==0)this.R6(q);else{var a=this.pL[0];c.toArray(a.get("geographicArea")).length==0?this.R6(a):this.IDa(function(a){for(var b=q,d=0;d=0&&(b=e)}this.R6(b)}.bind(this))}};a.prototype.R6=function(a){if(this.yF!==a){this.yF&& this.yF.unbind(g.u("url"),this.G8,this);if(this.yF=a){this.yF.bind(g.u("url"),this.G8,this);this.G8();this.set("visible",n)}else{this.trigger(g.bD);this.set("visible",B)}}};a.prototype.G8=function(){var a=d(document.createElement("div")).html(f("cookies-notice"));a.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.yF.get("url"),target:"_blank"});this.z7=a.html();this.ul&&this.ul.set("content",this.z7)};a.prototype.Oza=function(){this.Dna(n);this.set("visible", B);this.trigger(g.bD)};a.prototype.$za=function(){this.Dna(B);this.set("visible",B)};var s=["AT","BE","BG","CY","CZ","DE","DK","EE","EL","ES","FI","FR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK"];a.prototype.IDa=function(a){this.wDa(function(b){var c=[b];s.indexOf(b)&&c.push("EU");a(c)})};a.prototype.wDa=function(a){var c=b("tdvp_country_code");if(c)a(c);else if(!this.Nga){this.Nga=n;d.get("https://geoloc.3dvista.com",function(b){this.Nga=B;b=b.country.toUpperCase(); try{window.localStorage.setItem("tdvp_country_code",b)}catch(c){}a(b)}.bind(this))}};var u="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.nEa=function(){var a=b(u);if(a=="yes")return n;if(a=="no")return B};a.prototype.Dna=function(a){try{window.localStorage.setItem(u,a?"yes":"no")}catch(b){}};return a}); define("lt",["require"],function(){function a(a){var b=a instanceof Request||a instanceof Response?a.url:a;b&&(b=b.split("#")[0]);b&&(b=b.split("?")[0]);return!b||-1!=b.indexOf("://")?Promise.resolve(b):("undefined"!==typeof window?Promise.resolve(window.location.href):self.sVa.matchAll({type:"window"}).then(function(a){if(a.length)return a[0].url})).then(function(a){return(new URL(b,a)).toString()})}function b(a,b){return new Promise(function(c,d){(b===l?g():Promise.resolve(b)).then(function(b){(window.webkitRequestFileSystem|| window.requestFileSystem)(b?window.PERSISTENT:window.TEMPORARY,a,function(a){c(a)},function(a){console.log("Error getting file system access",a);d("error getting file system")})},function(a){console.log("error getting file system access",a);d("error getting file system")})})}function d(a,b){return a&&a.queryUsageAndQuota?new Promise(function(c,d){a.queryUsageAndQuota(function(e,f){console.log("UsedBytes:",e,"grantedBytes:",f,"freeBytesRequired:",b);var g=e+b;f>=g?c(g):a==navigator.webkitPersistentStorage|| a==navigator.persistentStorage?(console.log("requestQuota:",g),a.requestQuota(g,function(){console.log("Granted bytes:",g);c(g)},function(a){console.log("Not granted bytes:",g,a);d("not enough free space granted")})):(console.log("Not enough temporary free space."),d("not enough free space granted"))},function(a){console.log("Query quota error:",a);a&&a.message&&(a=a.message);d("not enough free space granted: "+a)})}):Promise.reject("unknown free space")}function c(){return(navigator.storage&&navigator.storage.persist? navigator.storage.persist():Promise.resolve(B)).then(function(a){console.log("Persistence granted:",a);return a?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function g(){return navigator.storage&&navigator.storage.persisted?navigator.storage.persisted():Promise.resolve(B)}function f(){return!v?Promise.reject("files uninitialized, no space was requested"):Promise.resolve(v)}function i(a){a.length&&"/"==a[0]&&(a=a.substr(1)); return a.split("/").filter(function(a){return""!=a})}function e(a){return new Promise(function(b,c){a.remove(function(){b()},function(a){c("can't remove entry"+(a&&a.message?": "+a.message:"")+".")})})}function j(a){return o(a).then(function(a){return Promise.all(a.map(function(a){return a.isDirectory?j(a):e(a)}))}).then(function(){return e(a).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function o(a){return new Promise(function(b,c){a.createReader().readEntries(function(a){b(a)}, function(){c("can't list directory")})})}function k(a,b,c){return new Promise(function(d,e){a.getDirectory(b,c,function(a){d(a)},function(){e("can't get directory entry: "+b)})})}function m(a,b){return new Promise(function(c,d){k(a,b,{create:B}).then(function(a){c(a)})["catch"](function(){k(a,b,{create:n}).then(function(a){c(a)})["catch"](function(a){console.log("Can't create directory entry: "+b,a);d("can't create directory entry: "+b)})})})}function r(a,b){return 0==b.length?a:m(a,b[0]).then(function(a){return r(a, b.slice(1))})}function p(a,b){return 0==b.length?a:k(a,b[0]).then(function(a){return p(a,b.slice(1))})}function t(a,b,c){return new Promise(function(d,e){a.getFile(b,c,function(a){d(a)},function(){e("can't get file entry: "+b)})})}function s(a){return new Promise(function(b,c){a.createWriter(function(a){b(a)},function(){c("can't create File for writing")})})}function u(a){var b=a.lastIndexOf(".");switch((0>b?"":a.substr(b)).toLowerCase()){case ".bmp":return"image/bmp";case ".eot":return"application/vnd.ms-fontobject"; case ".gif":return"image/gif";case ".htm":case ".html":return"text/html";case ".jpeg":case ".jpg":return"image/jpeg";case ".js":return"text/javascript";case ".json":return"application/json";case ".m3u8":return"application/vnd.apple.mpegurl";case ".m4a":return"audio/mp4";case ".m4v":return"video/mp4";case ".mp3":return"audio/mpeg";case ".mp4":return"video/mp4";case ".ogg":return"audio/ogg";case ".ogv":return"video/ogg";case ".otf":return"font/otf";case ".png":return"image/png";case ".svg":return"image/svg+xml"; case ".tif":return"image/tiff";case ".tiff":return"image/tiff";case ".ts":return"video/vnd.dlna.mpeg-tts";case ".ttf":return"application/font-sfnt";case ".tts":return"video/vnd.dlna.mpeg-tts";case ".txt":return"text/plain";case ".webm":return"video/webm";case ".woff":return"font/x-woff";case ".woff2":return"font/woff2";case ".xml":return"text/xml";default:return"application/octet-stream"}}var v=q;return{pX:function(){return g()},toURL:function(b,c){return a(b).then(function(a){var a=new URL(a),b= c?"persistent":"temporary",d=a.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+a.origin+"/"+b+d})},CRa:function(a){return c().then(function(b){return d(b,a)}).then(function(a){return b(a)}).then(function(a){v=a})},uRa:function(a){var a=i(a),b=a[a.length-1],c=a.slice(0,-1);return f().then(function(a){return p(a.root,c)}).then(function(a){return t(a,b,{create:n})},function(){return Promise.resolve(q)}).then(function(a){return a&&e(a)})},xua:function(a,c){var d=i(a);return b(1024, c).then(function(a){return p(a.root,d)}).then(function(a){return j(a)},function(){return Promise.resolve()})},xwa:function(a,b,c){var d=i(a),e=d[d.length-1],g=d.slice(0,-1);return f().then(function(a){return r(a.root,g)}).then(function(a){return t(a,e,{create:B}).then(function(a){return Promise.resolve(a)},function(){return t(a,e,{create:n})})}).then(function(a){return s(a)}).then(function(d){d.seek(d.length);return new Promise(function(f,g){d.onwriteend=function(){f()};d.onerror=function(b){console.log("Error writing file:", a,b);g("error writing file: "+a)};d.write(new Blob([b],{type:c||u(e)}))})})}}}); define("cq",["require","lt","lB","t"],function(a){function b(a,b){this.ur=a;this.Mz=B;this.Dp=q;this.ou=b||I()}function d(a){return a.QC>=f}var c=a("lt"),g=a("lB"),f=1048576,i=10485760,e=a("t").If()?3:5,a={File:function(a,b){this.url=a;this.QC=b;this.lO=this.JG=0}},j=a.Files=function(a,b,c,d){this.Zea=this.zza=a;this.or=b.slice();this.Mga=[];var e=0;this.or.sort(function(a,b){return a.QC-b.QC});this.or.forEach(function(a){e+=a.QC});this.Coa=e;this.aA=[];this.aQ=l;this.Xq=[];this.X_=B;this.Ef=c||I(); this.VI=d||I()};j.prototype.Xr=function(){return this.yAa().then(function(){return this.zAa()}.bind(this))};j.prototype.yAa=function(){return self.caches["delete"](this.Zea)};j.prototype.zAa=function(){var a=(new g(this.zza)).pathname;return c.xua(a,B).then(function(){return c.xua(a,n)})};j.prototype.requestStorage=function(){return c.CRa(Math.round(1.1*this.Coa+10485760)).then(function(){return c.pX()})};j.prototype.download=function(){this.X_=B;this.aQ=0;this.Xr().then(function(){this.SI()}.bind(this))["catch"](function(a){console.log("error cleaning storage", a);c.pX().then(function(a){this.VI(B,a)}.bind(this))}.bind(this))};j.prototype.cancelDownload=function(){this.X_=n;this.Xq.forEach(function(a){a.cancel()});this.Xr()};j.prototype.SI=function(){if(!(this.X_||this.Xq.length>=e))if(0=this.Mga.length;c.pX().then(function(a){this.VI(j,a)}.bind(this))}};j.prototype.rga=function(a,b,e){e?(this.aA.splice(this.aA.indexOf(a),1),this.Xq.splice(this.Xq.indexOf(b),1),this.aQ+=a.QC,this.Cj(),this.SI()): (a.JG=0,a.lO+=1,this.Cj(),20<=a.lO?(console.log("Error downloading file: "+a.url+" after "+a.lO+" retries."),this.wia(a.url)?(this.Mga.push(a),this.Xq.splice(this.Xq.indexOf(b),1),this.SI()):(this.cancelDownload(),c.pX().then(function(a){this.VI(B,a)}.bind(this)))):(console.log("Error downloading file: "+a.url+" attempt "+a.lO+" of 20. Will retry in 2000ms."),setTimeout(function(){this.aA.splice(this.aA.indexOf(a),1);this.Xq.splice(this.Xq.indexOf(b),1);d(a)?this.or.push(a):this.or.splice(0,0,a); this.SI()}.bind(this),2E3)))};j.prototype.bLa=function(a,b){return this.dLa(a,b).then(function(){if(this.jNa(a))return this.cLa(a,b)}.bind(this))};j.prototype.cLa=function(a,b){b=b.clone();return 200!=b.status?Promise.reject("response status: "+b.status):self.caches.open(this.Zea).then(function(c){return c.put(a,b)})};j.prototype.dLa=function(a,b){b=b.clone();if(200!=b.status)return Promise.reject("response status: "+b.status);var d=(new g(a)).pathname;return d.lastIndexOf("/")==d.length-1?Promise.resolve(): new Promise(function(a,e){function f(){D.read().then(function(b){var c=b.value,d=[];if(c){for(;c.length+y>=i;){var e=c.slice(0,i-y);o.push(e);d.push(g(o));o=[];y=0;c=c.slice(e.length,c.length)}0a.indexOf("loading/")};j.prototype.jNa=function(a){var b=(new g(a)).pathname;return 0<=b.indexOf("files/")||0<=b.indexOf("pdfjs/")?n:this.wia(a)?B:n};j.prototype.Cj=function(){var a=this.aQ;this.aA.forEach(function(b){a+=b.JG});this.Ef(100*a/this.Coa)};b.prototype.fetch=function(){return fetch(this.ur).then(function(a){if(this.Mz)return a.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!a.ok)return Promise.resolve(a);var b=a.headers.get("content-length"), c=l,d=0;b!==q&&(c=parseInt(b,10));this.Dp=a.body.getReader();var e=B,f=function(a){this.Mz?a.close():e=n}.bind(this),g=function(a){return this.Dp.read().then(function(b){var e=b.value;e&&(d+=e.byteLength,a.enqueue(e));b.done&&(c=d,i(a));this.ou({QC:c,JG:d})}.bind(this))["catch"](function(b){console.log("Error reading response",b);a.error(b)}.bind(this))}.bind(this),i=function(a){e&&(a.close(),e=B,this.Dp=q)}.bind(this);return new Response(new ReadableStream({start:function(a){return f(a)},pull:function(a){return g(a)}, cancel:function(){i()}}))}.bind(this))};b.prototype.cancel=function(){this.Mz=n;this.Dp&&this.Dp.cancel()};a.Xr=function(a){return(new j(a,[])).Xr()};return a}); define("eG","require,kG,jquery.mod,nU,fQ,t,cq,lt,lN,lB,kH,dm".split(","),function(a){function b(a){p=a}var d=a("kG"),c=a("jquery.mod"),g=a("nU"),f=a("fQ"),i=a("t"),e=a("cq"),j=a("lt"),o=a("lN"),k=a("lB"),m=a("kH"),r=a("dm"),p=q;window.addEventListener("beforeinstallprompt",b);var t=d.extend(f,function(a){f.call(this);this.Zb=a;this.o="initial";this.E6=this.HU=this.lj=q;this.Ep=B;this.kA=q;this.DV=l;this.Zz=p;this.eS=t.dta();this.P3=k.Vi("vr");if(!this.Zz&&!this.eS){window.removeEventListener("beforeinstallprompt", b);window.addEventListener("beforeinstallprompt",this.wGa.bind(this))}this.eS||window.addEventListener("appinstalled",this.Wya.bind(this))});t.prototype.Uaa=function(a){this.HU=a;this.cm=k.yv(this.HU.get(TDV.PlayerSettings.BASE_DIR_URL)||k.getDirectory(this.HU.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));if(this.cm[this.cm.length-1]!="/")this.cm=this.cm+"/";this.lj=new s(this.cm);this.DV=this.oma=a.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.XEa=k.parse(k.getDirectory(window.location.href)).pathname; this.MCa=k.ly(k.yv("files.json",this.cm),this.oma);a=TDV.ib.asa();this.E6=k.ly(this.HU.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+a.MAJOR+"."+a.MINOR);this.lj=new s(this.cm);this.lj.bind(g.U,this.uLa,this,n);this.lj.load()};t.prototype.eH=function(){return this.lj.state==s.QH};t.prototype.Iqa=function(){return this.o=="can_install"&&!this.P3};t.prototype.Kqa=function(){return this.eH()&&this.DV!=this.lj.version&&!this.P3};t.prototype.Hqa=function(){return this.lj.state!=s.Hba&&!this.P3};t.prototype.Isa= function(){if(this.o=="can_install")if(this.Zz){this.Zz.userChoice.then(function(a){a.outcome!="accepted"&&this.oc("unavailable")}.bind(this));this.Zz.prompt().then(function(){this.Zz=q}.bind(this))}else this.k1()};t.prototype.cancel=function(){if(this.o=="downloading"){if(this.kA){this.kA.cancelDownload();this.kA=q}this.lj.Xr();this.oc("unavailable")}};t.prototype.Xr=function(){e.Xr(this.cm);this.lj.Xr()};t.prototype.uLa=function(){this.Zb.get("downloadEnabled")!==n?this.oc("unavailable"):o.Mwa!== n?this.oc("unavailable"):i.browser()!=i.Dk||i.md()==i.Oy||i.md()==i.XC?this.oc("unavailable"):this.E6?"serviceWorker"in navigator?this.eH()&&!this.Kqa()?this.oc("unavailable"):navigator.onLine?this.pIa():this.oc("unavailable"):this.oc("unavailable"):this.oc("unavailable")};t.prototype.oc=function(a){if(this.o!=a){this.o=a;a=["can_install","unavailable"].indexOf(this.o)>=0;if(this.Ep!=a)(this.Ep=a)&&this.trigger(g.Oc)}};t.prototype.pIa=function(){this.oc("registering_sw");navigator.serviceWorker.register(this.E6, {scope:this.XEa}).then(function(){this.bna(n)}.bind(this))["catch"](function(){this.bna(B)}.bind(this))};t.prototype.bna=function(a){if(a)if(i.If())this.oc("can_install");else if(this.eS&&this.lj.state==s.uY){this.oc("can_install");this.k1()}else if(this.Zz)this.oc("can_install");else{this.oc("sw_registered");setTimeout(function(){this.o=="sw_registered"&&this.oc("can_install")}.bind(this),3E3)}else this.oc("unavailable")};t.prototype.wGa=function(a){this.Zz=a;this.o=="sw_registered"&&this.oc("can_install")}; t.prototype.Wya=function(){this.o=="sw_registered"&&this.oc("can_install");this.k1()};t.prototype.k1=function(){this.oc("downloading");this.trigger(g.hn);this.Toa(0);this.UFa()};t.prototype.UFa=function(){var a=k.ly(this.MCa,"nc="+(new Date).getTime());c.getJSON(a,function(a){if(this.o=="downloading"){var b=[],c;for(c in a){var d=a[c].tags;if(d){Array.isArray(d)||(d=[d]);for(var f=0;f=0&&i.E$()?g.push("mobilevr2gen"): b.indexOf("mobilevr")>=0&&i.If()?g.push("mobilevr"):b.indexOf("mobile")>=0&&i.wb()?g.push("mobile"):b.indexOf("desktop")>=0&&!i.wb()&&g.push("desktop");b=[];for(c in a){if(d=a[c].tags){var j=B;if(Array.isArray(d))for(var f=0,m=d.length;f=0;else j=g.indexOf(d)>=0;if(!j)continue}d=k.yv(c,this.cm);b.push(new e.File(d,a[c].size))}var o=(new k(window.location.pathname,window.location.href)).toString();b.filter(function(a){return a.url==o}).length==0&&b.push(new e.File(o,1024)); this.kA=new e.Files(this.cm,b,this.Toa.bind(this),this.qga.bind(this));this.kA.requestStorage().then(function(a){this.lj.storage=a?s.YH:s.BZ;this.lj.state=s.uY;this.lj.version=this.DV;this.lj.save();this.kA.download()}.bind(this))["catch"](function(){this.qga(B,l)}.bind(this))}}.bind(this))};t.prototype.Toa=function(a){this.trigger(new m(g.ic,a))};t.prototype.qga=function(a,b){this.kA=q;this.oc("unavailable");if(a){this.lj.state=s.QH;this.lj.save()}a?this.trigger(g.Ha,{success:n}):b?this.trigger(g.Ha, {success:B,error:t.Jba}):i.If()?this.trigger(g.Ha,{success:B,error:t.Iba}):this.eS?this.trigger(g.Ha,{success:B,error:t.Jba}):this.trigger(g.Ha,{success:B,error:t.Kba})};t.dta=function(){return k.Ti("installed",B)};t.kRa=function(a,b){var c=new t.fZ(a);c.bind(g.U,function(){var d=B;c.state==t.fZ.QH&&(d=t.dta()?n:!navigator.onLine);d?j.toURL(a,c.storage==t.fZ.YH).then(function(a){b(a)}):b(a)},this,n);c.load()};t.Kba="launchFromHomeScreen";t.Iba="addToBookmark";t.Jba="errorDownloading";var s=d.extend(f, function(a){f.call(this);this.cm=a;this.G3="installation_state_"+a;this.JHa=k.parse(this.cm).pathname+"installation_state.json";this.state=this.storage=this.version=l;this.jna()});s.prototype.load=function(){if(this.VFa()&&this.state==s.QH)this.voa(this.storage==s.YH).then(function(){this.trigger(g.U)}.bind(this))["catch"](function(){this.voa(this.storage!=s.YH).then(function(){this.storage=this.storage==s.BZ?s.YH:s.BZ;this.x6();this.trigger(g.U)}.bind(this))["catch"](function(){this.state=s.uY;this.x6(); this.trigger(g.U)}.bind(this))}.bind(this));else this.trigger(g.U)};s.prototype.save=function(){this.x6();this.state==s.QH&&this.WIa()};s.prototype.VFa=function(){var a=r.getItem(this.G3);if(!a)return B;this.eDa(a);return n};s.prototype.x6=function(){r.setItem(this.G3,this.Boa())};s.prototype.voa=function(a){return new Promise(function(b,d){j.toURL(this.cm+"installation_state.json",a).then(function(a){c.ajax({type:"GET",url:a,success:function(){b()},error:function(){d()}})}.bind(this))}.bind(this))}; s.prototype.WIa=function(){j.xwa(this.JHa,this.Boa(),"text/json")};s.prototype.Boa=function(){var a={};a.version=this.version;a.storage=this.storage;a.state=this.state;return JSON.stringify(a)};s.prototype.eDa=function(a){this.dDa(JSON.parse(a))};s.prototype.dDa=function(a){this.version=a.version;this.storage=a.storage;this.state=a.state};s.prototype.Xr=function(){r.removeItem(this.G3);this.jna()};s.prototype.jna=function(){this.version="";this.storage=s.Jxa;this.state=s.Hba};s.Jxa="unkonwn";s.BZ= "temporary";s.YH="persistent";s.Hba="not started";s.uY="started";s.QH="completed";t.fZ=s;return t}); define("jW","require,kG,nU,nS,t,eG,fy,fG,mk,c,nq,d,iu".split(","),function(a){function b(a){var b=new e;b.$({label:a,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:o.Ad});return b}var d=a("kG"),c=a("nU"),g=a("nS"),f=a("t"),i=a("eG"),e=a("fy"),j=a("fG"),o=a("mk"),k=a("c"),m=a("nq"),r=a("d"),p=a("iu"),a=d.extend(m,function(a,b){m.call(this);this.Zb=a;this.Tf=b;this.Tf.bind(c.Oc, this.qFa,this,n);this.Tf.bind(c.hn,this.nFa,this,n);this.Tf.bind(c.ic,this.pFa,this,n);this.Tf.bind(c.Ha,this.oFa,this,n);this.fa="hidden";this.ZM=l;this.y5=B;this.Ef=l;this.Bi=this.nt=this.Gz=this.Jz=this.Hz=this.OU=this.Ka=q;this.Sya();this.$({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:o.Ad,layout:k.yg});this.$f()});a.prototype.qFa=function(){if(this.Tf.Iqa()||this.Tf.eH()&&this.Tf.Hqa()){this.fa="ready";this.y5&&this.aoa()}else this.fa= "hidden";this.$f()};a.prototype.nFa=function(){this.fa="installing";this.$f()};a.prototype.pFa=function(a){this.Ef=a.Lg;this.$f()};a.prototype.oFa=function(a){this.fa=a.data.success?"installed":"failed";this.Jga=a.data.error;this.$f()};a.prototype.Wf=function(){this.aLa()};a.prototype.cT=function(){if(!this.y5){this.y5=n;this.fa=="ready"&&this.aoa()}};a.prototype.aoa=function(){this.ZM=setTimeout(function(){this.ZM=q;this.xHa()}.bind(this),5E3);this.$f()};a.prototype.aLa=function(){this.Ama();this.ZM&& clearTimeout(this.ZM);this.ZM=q};a.prototype.xHa=function(){this.Ama();if(this.fa=="ready"){this.fa="hidden";this.$f()}};a.prototype.Sya=function(){this.bind(c.ad,this.Wf,this);this.Zb.bind(c.ad,this.cT,this);this.Zb.bind(c.zb,this.cT,this)};a.prototype.Ama=function(){this.unbind(c.ad,this.Wf,this);this.Zb.unbind(c.ad,this.cT,this);this.Zb.unbind(c.zb,this.cT,this)};a.prototype.mb=function(){m.prototype.mb.call(this);if(this.Ka==q){this.Ka=new p;this.Ka.$({fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif", fontSize:14,text:g("download-tour")});this.Oa(this.Ka)}if(this.Hz==q){this.Hz=b(g("download"));this.Oa(this.Hz);this.Hz.bind(c.ca,this.Tza,this,n)}if(this.Jz==q){this.Jz=b(g("refresh-downloaded"));this.Oa(this.Jz);this.Jz.bind(c.ca,this.Zza,this,n)}if(this.Gz==q){this.Gz=b(g("delete-downloaded"));this.Oa(this.Gz);this.Gz.bind(c.ca,this.Sza,this,n)}if(this.OU==q){this.OU=new r;this.OU.$({width:"100%"});this.Oa(this.OU)}if(this.nt==q){this.nt=new j;this.nt.$({backgroundColor:"#ffffff",borderRadius:2, iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31});this.Oa(this.nt);this.nt.bind(c.ca,this.Rza,this,n)}if(this.Bi==q){this.Bi=b(g("cancel"));this.Oa(this.Bi);this.Bi.bind(c.ca,this.UP,this,n)}f.wb()&&this.wl();this.$f()};a.prototype.Lo=function(){m.prototype.Lo.call(this);f.wb()&&this.getParent().bind(c.tc,this.wl,this,n)};a.prototype.Lm=function(){f.wb()&&this.getParent().unbind(c.tc,this.wl,this,n);m.prototype.Lm.call(this)};a.prototype.wl=function(){var a=this.getParent(); if(a){var b=Math.min(a.Ua(),a.Cb())/100,c=function(a){return Math.round(a*b)};this.$({gap:c(3.9),height:c(11.9),paddingLeft:c(6),paddingRight:c(6)});this.Ka&&this.Ka.$({fontSize:c(3)});[this.Hz,this.Bi,this.Jz,this.Gz].forEach(function(a){a&&a.$({borderRadius:c(0.4),fontSize:c(3),paddingLeft:c(3),paddingRight:c(3),height:c(6.7)})});this.nt&&this.nt.$({borderRadius:c(0.4),iconLineWidth:c(0.22),iconWidth:c(3.7),iconHeight:c(3.7),height:c(6.7),width:c(6.7)})}};a.prototype.$f=function(){var a;switch(this.fa){case "ready":a= this.Tf.eH()?g("downloaded"):g("download-tour");break;case "installing":a=g("downloading");this.Ef!==l&&(a=a+("..."+this.Ef.toFixed(1)+"%"));break;case "installed":a=g("downloaded");break;case "failed":a=this.Jga==i.Kba?f.wb()?g("storage-not-provided-launch-from-homescreen"):g("storage-not-provided-launch-from-desktop"):this.Jga==i.Iba?g("storage-not-provided-bookmark"):g("download-failed")}this.Ka&&this.Ka.set("text",a);this.Hz&&this.Hz.set("visible",this.fa=="ready"&&!this.Tf.eH()&&this.Tf.Iqa()); this.Gz&&this.Gz.set("visible",this.fa=="ready"&&this.Tf.eH()&&this.Tf.Hqa());this.Jz&&this.Jz.set("visible",this.fa=="ready"&&this.Tf.Kqa());this.Bi&&this.Bi.set("visible",this.fa=="installing");this.nt&&this.nt.set("visible",this.fa!="installing");this.set("visible",this.fa!="hidden")};a.prototype.Tza=function(){this.Tf.Isa()};a.prototype.Zza=function(){this.Tf.Isa()};a.prototype.Sza=function(){this.Tf.Xr();this.fa="hidden";this.$f()};a.prototype.UP=function(){this.Tf.cancel();this.fa="hidden"; this.$f()};a.prototype.Rza=function(){this.fa=="installing"&&this.Tf.cancel();this.fa="hidden";this.$f()};return a}); define("kX","require,kG,dY,nU,nS,t,mk,c,nq,mH,mZ,fy,iu,in".split(","),function(a){function b(a,b){this.text=a;this.Yu=b}var d=a("kG"),c=a("dY"),g=a("nU"),f=a("nS"),i=a("t"),e=a("mk"),j=a("c"),o=a("nq"),k=a("mH"),m=a("mZ"),r=a("fy"),p=a("iu"),t=a("in"),a=d.extend(o,function(){o.call(this);this.hp=[];this.Bi=this.Iz=this.Ka=this.uA=this.RF=this.Yp=q;var a=new k;a.set("duration",500);a.set("easing","cubic_in");var b=new m;b.set("duration",500);b.set("easing","cubic_out");this.$({backgroundColor:"#000000", backgroundOpacity:0.6,horizontalAlign:e.ae,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:B})});a.prototype.mb=function(){o.prototype.mb.call(this);if(this.Yp==q){this.Yp=new o;this.Yp.$({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:e.ae,verticalAlign:e.Ad,layout:j.nh,shadow:n,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:0.2});this.Oa(this.Yp)}if(this.Ka==q){this.Ka=new p;this.Ka.$({fontColor:"#808080",fontWeight:"300", fontFamily:"Tahoma, Geneva, sans-serif"});this.Yp.Oa(this.Ka)}if(this.uA==q){this.uA=new t;this.uA.$({width:"80%"});this.Yp.Oa(this.uA)}if(this.RF==q){this.RF=new o;this.RF.$({backgroundColor:"#b3b3b3"});this.Yp.Oa(this.RF)}if(this.Ci==q){this.Ci=new o;this.Ci.$({horizontalAlign:e.ae,verticalAlign:e.Ad,layout:j.yg});this.Yp.Oa(this.Ci)}if(this.Iz==q){this.Iz=new r;this.Iz.$({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:e.ae,verticalAlign:e.Ad, label:f("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.Iz.bind(g.ca,this.Qea,this,n);this.Ci.Oa(this.Iz)}if(this.Bi==q){this.Bi=new r;this.Bi.$({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:e.ae,verticalAlign:e.Ad,label:f("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.Bi.bind(g.ca,this.UP,this,n);this.Ci.Oa(this.Bi)}};a.prototype.Lo=function(){o.prototype.Lo.call(this); this.getParent().bind(g.tc,this.wl,this,n)};a.prototype.Lm=function(){this.getParent().unbind(g.tc,this.wl,this,n);o.prototype.Lm.call(this)};a.prototype.wl=function(){var a=this.getParent();if(a){var b=a.Ua(),a=a.Cb();if(i.wb())var c=Math.min(b,a),b=function(a){return Math.round(a*c/100)};else b=function(a){return Math.round(a*4)};this.Yp&&this.Yp.$({borderRadius:b(1),width:b(80),height:b(40),gap:b(4),shadowBlurRadius:b(1),shadowSpread:b(1)});this.RF&&this.RF.$({width:b(60),minHeight:2,height:b(0.25)}); this.Ci&&this.Ci.$({gap:b(5)});this.Bi&&this.Bi.$({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.25)});this.Iz&&this.Iz.$({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.5)});this.Ka&&this.Ka.$({fontSize:b(5)});this.uV()}};a.prototype.show=function(a,c){this.wl();var d=this.Fha(c);d>=0&&this.yma(d);this.gIa(new b(a,c));this.MD()};a.prototype.hide=function(a){a=this.Fha(a);a>=0&&this.yma(a)};a.prototype.MD=function(){var a=this.getParent();a&&a.Zm(this,a.Db().length-1)};a.prototype.Qea= function(){this.KP(n)};a.prototype.UP=function(){this.KP(B)};a.prototype.Fha=function(a){for(var b=0;b'+a+"
"};a.prototype.KP=function(a){var b=this.Tha();if(b){b=this.XDa(b.text);this.DIa(b);c(b).each(function(b){b.Yu&&b.Yu.call(this,a)},this)}};a.prototype.gIa=function(a){this.hp.push(a);this.uV()};a.prototype.XDa=function(a){return c(this.hp).filter(function(b){return b.text==a})};a.prototype.DIa=function(a){this.hp=c(this.hp).filter(function(b){return!c(a).contains(b)}); this.uV()};a.prototype.yma=function(a){this.hp.splice(a,1);a==this.hp.length&&this.uV()};a.prototype.Tha=function(){return this.hp.length>0?this.hp[this.hp.length-1]:q};return a}); define("ld","require,kG,nU,cs,fQ,t,mt".split(","),function(a){function b(a){return a.map(function(a){return String.fromCharCode(a)}).join("")}function d(a){for(;a&&a!=document;){if(a.getAttribute(t)=="Button")return n;a=a.parentNode}return B}var c=a("kG"),g=a("nU"),f=a("cs"),i=a("fQ"),e=a("t"),j=a("mt"),o=[],a=b([99,111,110,116,101,120,116,109,101,110,117]),k=b([109,111,117,115,101,100,111,119,110]),m=b([109,111,117,115,101,117,112]),r=b([109,111,117,115,101,108,101,97,118,101]),p=b([109,111,117, 115,101,101,110,116,101,114]),t=b([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(a){if(!e.wb()||!d(a.target)){(s===l||u===l||v===l||w===l||Math.abs(v-s)+Math.abs(w-u)<10)&&o.forEach(function(b){b(a)});s=u=v=w=l}a.preventDefault();a.stopImmediatePropagation()},n);var s,u,v,w;document.addEventListener("mousedown",function(a){v=s=a.screenX;w=u=a.screenY},n);document.addEventListener("mousemove",function(a){v=a.screenX;w=a.screenY},n);var x=1,c=c.extend(i,function(a,b){i.call(this); this.Sa=a;this.RDa=b;this.HS=this.HS.bind(this);this.Fd=this.Fd.bind(this);this.F3=B;this.C3=this.C3.bind(this);this.D3=this.D3.bind(this);this.B3=this.B3.bind(this);this.E3=this.E3.bind(this);this.ea=document.createElement("div");this.ea.style.setProperty("z-index",x,L[z]);for(var c in L[y])this.ea.style.setProperty(c,L[y][c],L[z]);o.push(this.HS)});c.prototype.clear=function(){this.QFa()&&this.T2();this.ea=q;o.splice(o.indexOf(this.HS),1)};c.prototype.HS=function(a){var b=this.RDa();if(b.length!= 0){this.ea.replaceChildren();this.F3=B;var c=0;b.forEach(function(a){var b=document.createElement("div");if(a){b.textContent=a;for(var d in L[E])b.style.setProperty(d,L[E][d],L[z]);var e=c;c++;b.addEventListener(p,function(a){this.C3(a,e)}.bind(this));b.addEventListener(r,function(a){this.D3(a,e)}.bind(this));b.addEventListener(k,function(a){this.B3(a,e)}.bind(this));b.addEventListener(m,function(a){this.E3(a,e)}.bind(this))}else for(d in L[H])b.style.setProperty(d,L[H][d],L[z]);for(d in L[D])b.style.setProperty(d, L[D][d],L[z]);this.ea.appendChild(b)}.bind(this));(j.bq()||document.body).appendChild(this.ea);this.ea.style.setProperty("display","block",L[z]);b=a.pageX;a=a.pageY;b+this.ea.clientWidth>document.body.clientWidth-5&&(b=document.body.clientWidth-this.ea.clientWidth-5);a+this.ea.clientHeight>document.body.clientHeight-5&&(a=document.body.clientHeight-this.ea.clientHeight-5);this.ea.style.setProperty("left",b+"px",L[z]);this.ea.style.setProperty("top",a+"px",L[z]);this.Sa.bind(g.zb,this.Fd,this);document.addEventListener("mousedown", this.Fd);this.BNa=setInterval(this.ANa.bind(this),200)}};c.prototype.QFa=function(){return!!this.ea&&!!this.ea.parentNode};c.prototype.T2=function(){clearInterval(this.BNa);this.ea.parentNode.removeChild(this.ea);document.removeEventListener("mousedown",this.Fd);this.Sa.unbind(g.zb,this.Fd,this);this.ea.style.setProperty("display","none",L[z])};c.prototype.ANa=function(){this.ea.contains(document.elementFromPoint(this.ea.offsetLeft+this.ea.clientWidth*0.5,this.ea.offsetTop+this.ea.clientHeight*0.5))|| this.ea.style.setProperty("z-index",x=x*10,L[z])};c.prototype.Fd=function(){this.T2()};c.prototype.B3=function(a){this.F3=n;a.preventDefault();a.stopImmediatePropagation()};c.prototype.E3=function(a,b){if(this.F3){this.T2();a.preventDefault();a.stopImmediatePropagation();this.trigger(new f(g.Vl,{index:b}))}};c.prototype.C3=function(a){for(var b in L[M])a.currentTarget.style.setProperty(b,L[M][b],L[z])};c.prototype.D3=function(a){for(var b in L[G])a.currentTarget.style.setProperty(b,L[G][b],L[z])}; var y="0",D="1",E="2",H="3",M="4",G="5",z="6",L=function(a){return JSON.parse(a.map(function(a){return String.fromCharCode(a)}).join(""))}([123,34,48,34,58,123,34,98,111,114,100,101,114,34,58,34,49,112,120,32,115,111,108,105,100,32,35,98,98,98,34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,111,115,105,116,105,111,110,34,58,34,97,98,115,111,108,117,116,101,34,44,34,100,105,115,112,108,97,121,34,58,34,110,111,110,101,34,44,34,98,97,99,107,103,114,111,117, 110,100,45,99,111,108,111,114,34,58,34,35,101,53,101,53,101,53,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,112,97,100,100,105,110,103,34,58,48,44,34,109,97,114,103,105,110,34,58,48,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,44,34,116,101,120,116,45,97,108,105,103,110,34,58,34,108,101,102,116,34,44,34,98,111,120,45,115,104,97,100,111,119,34,58,34,49,112,120,32,49,112,120,32,51,112,120,32,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,50,41,34,125,44, 34,49,34,58,123,34,102,111,110,116,45,102,97,109,105,108,121,34,58,34,65,114,105,97,108,34,44,34,102,111,110,116,45,115,105,122,101,34,58,34,49,51,112,120,34,44,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,100,105,115,112,108,97,121,34,58,34,98,108,111,99,107,34,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,125,44,34,50,34,58,123,34,99,117,114,115,111,114,34,58,34,112,111,105,110,116,101,114,34,44,34,98, 111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,97,100,100,105,110,103,34,58,34,55,112,120,32,50,48,112,120,34,44,34,119,104,105,116,101,45,115,112,97,99,101,34,58,34,110,111,119,114,97,112,34,125,44,34,51,34,58,123,34,109,97,114,103,105,110,34,58,34,55,112,120,32,53,112,120,34,44,34,98,111,114,100,101,114,45,116,111,112,34,58,34,49,112,120,32,115,111,108,105,100,32,35,97,97,97,34,44,34,98,111,114,100,101,114,45,98,111,116,116,111,109,34,58,34,49,112,120,32,115,111, 108,105,100,32,35,102,102,102,34,125,44,34,52,34,58,123,34,99,111,108,111,114,34,58,34,35,102,102,102,102,102,102,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,55,41,34,125,44,34,53,34,58,123,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,34,125,44,34,54,34,58,34,105,109,112,111,114,116,97,110,116,34,125]);return c}); define("lF",["require","lB","bc"],function(a){function b(a){this.Sa=a;this.Gr={};this.Gr[c.pxa]="move";this.Gr[c.qxa]="ew-resize";this.Gr[c.sxa]="ns-resize";this.Gr[c.rxa]="nesw-resize";this.Gr[c.txa]="nwse-resize";this.Gr[c.yf]="pointer";this.Gr[c.Nv]="inherit";this.Gr[c.me]="default";this.Ug={};this.Ug[c.jz]="grab.cur";this.Ug[c.Ek]="grabbing.cur";this.Ug[c.wca]="N.cur";this.Ug[c.xca]="NE.cur";this.Ug[c.nca]="E.cur";this.Ug[c.Aca]="SE.cur";this.Ug[c.zca]="S.cur";this.Ug[c.Bca]="SW.cur";this.Ug[c.Cca]= "W.cur";this.Ug[c.yca]="NW.cur";this.Ug[c.pca]="FN.cur";this.Ug[c.qca]="FNE.cur";this.Ug[c.oca]="FE.cur";this.Ug[c.tca]="FSE.cur";this.Ug[c.sca]="FS.cur";this.Ug[c.uca]="FSW.cur";this.Ug[c.vca]="FW.cur";this.Ug[c.rca]="FNW.cur";this.Yea={}}var d=a("lB"),c=a("bc");b.prototype.xra=function(a){return this.LFa(a)?this.Qha(a):this.BFa(a)?this.xDa(a):this.Qha(c.me)};b.prototype.eAa=function(a){if(!(a in this.Yea)){var b=new Image;b.src=this.nha(a);this.Yea[a]=b}};b.prototype.LFa=function(a){return a in this.Gr};b.prototype.Qha=function(a){return this.Gr[a]};b.prototype.BFa=function(a){return this.Ug[a]};b.prototype.xDa=function(a){this.eAa(a);return"url("+this.nha(a)+"), default"};b.prototype.nha=function(a){return d.yv(this.Sa.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.Ug[a]};return b}); define("cm",["dY"],function(a){function b(){this.xu={};this.Bp=[];this.FI=0}b.prototype.push=function(b,c){if(this.xu[c]==l)this.xu[c]=[b],this.Bp.push(c),this.Bp.sort(function(a,b){return a-b}),this.FI++;else{var g=this.xu[c];a(g).contains(b)||(g.push(b),this.FI++)}};b.prototype.zra=S("FI");b.prototype.isEmpty=function(){return 0==this.Bp.length};b.prototype.nua=function(){if(!this.isEmpty()){var a=this.Bp[0],b=this.xu[a].pop();0==this.xu[a].length&&(delete this.xu[a],this.Bp=this.Bp.slice(1));this.FI--; return b}};b.prototype.Z$=function(){if(!this.isEmpty()){var a=this.Bp[this.Bp.length-1],b=this.xu[a].pop();0==this.xu[a].length&&(delete this.xu[a],this.Bp=this.Bp.slice(0,this.Bp.length-1));this.FI--;return b}};return b}); define("il","require,dY,kG,gg,cm,bg,kJ".split(","),function(a){function b(){this.Fx=B;this.Nla=l;this.N=n;this.mT=this.mT.bind(this);this.iQ=new c;this.UT=new c;this.LU=new c;this.fS=new c;this.g1=new c;g.yb(this.sj,this)}a("dY");a("kG");var d=a("gg"),c=a("cm"),g=a("bg"),f=a("kJ");b.prototype.clear=function(){this.N=B};b.prototype.PN=function(a){this.iQ.push(a,this.yE(a));this.Du()};b.prototype.$d=function(a){this.UT.push(a,this.yE(a));this.Du()};b.prototype.Nb=function(a){this.LU.push(a,this.yE(a)); this.Du()};b.prototype.xd=function(a){this.fS.push(a,this.yE(a));this.Du()};b.prototype.Ck=function(a){this.g1.push(a,this.yE(a));this.Du()};b.prototype.X=function(){this.qMa();this.cNa();this.sMa()};b.prototype.qMa=function(){do{for(;!this.iQ.isEmpty();)this.iQ.Z$().mb();this.UT.isEmpty()||this.UT.Z$().Ma()}while(!this.UT.isEmpty()||!this.iQ.isEmpty())};b.prototype.cNa=function(){for(;!this.LU.isEmpty()||!this.fS.isEmpty();){this.zV();this.n8()}};b.prototype.zV=function(){for(;!this.LU.isEmpty();){var a= this.LU.Z$();if(a.aUa()){var b=a.getParent();if(b){b.Nb();b.xd()}else a.Uua(0,0,a.gs(),a.fs())}}};b.prototype.n8=function(){for(;!this.fS.isEmpty();)this.fS.nua().Pl()};b.prototype.sMa=function(){for(;!this.g1.isEmpty();)this.g1.nua().Qg();d.jRa()};b.prototype.Du=function(){if(!this.Fx){this.Fx=n;this.Nla=(new Date).getTime()+500;f.yy(this.mT)}};b.prototype.mT=function(){this.Fx=B;this.N&&this.X()};b.prototype.yE=function(a){return(a=a.getParent())?this.yE(a)+1:0};b.prototype.sj=function(){this.Fx&& (new Date).getTime()>=this.Nla&&this.mT();g.yb(this.sj,this)};return b}); define("gk","jquery.mod,dY,kG,nU,nq,ld,lF,bk,il,mt,t".split(","),function(a,b,d,c,g,f,i,e,j,o,k){d=d.extend(g,function(b,d){this.FD=new j;g.call(this);this.Br(this);this.ke("Application");this.Ze=a(b);this.Q8=d;this.Ze.css({overflow:"hidden","user-select":"none","-ms-user-select":"none","-moz-user-select":"none","-webkit-user-select":"none","-ms-touch-action":"none","touch-action":"none",visibility:"visible","-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)"});this.Ju=a(document.createElement("div")); this.Ju.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.Ze.append(this.Ju);this.Ju.append(this.Mc());this.poa=this.Ju.get(0);this.qd=this.gd=l;this.uFa=10;this.sAa=500;this.FL=q;this.T0=new i(this);this.$a=new e(this);this.ea.append(this.$a.Mc());this.uQ=new f(this,this.kha.bind(this));this.uQ.bind(c.Vl,this.fh(this.Tja),this,n);this.mja=n;this.set("contentOpaque",n);this.Vz=q;this.zI=[];this.kE(["globalmousemove"]);this.Aza();this.JV=this.KV=0;this.Ax= 1;try{this.KV=window.top.innerWidth;this.JV=window.top.innerHeight;this.M2=n}catch(k){this.M2=B}this.Kpa();this.Gi=new o(b);this.Gi.bind(c.qa,function(){this.W1(this.Gi.enabled())},this)});d.prototype.start=function(){if(!this.boa){this.boa=n;this.trigger(c.Tj)}};d.prototype.Kpa=function(){if(this.M2&&!o.enabled()){this.KV=window.top.innerWidth;this.JV=window.top.innerHeight}};d.prototype.clear=function(){this.DC(q);this.moa();this.ECa();this.FD.clear();if(this.Ze){this.Mc().remove();this.Ju.remove(); this.Ze=q}this.T0=q;this.Gi.pba();this.Gi=q;if(this.uQ){this.uQ.clear();this.uQ=q}};d.prototype.HSa=R("mja");d.prototype.W1=function(a){a?this.ina():this.DAa()};d.prototype.du=function(){this.UJ=this.Zk=this.Ju.width();this.TJ=this.Yk=this.Ju.height()};d.prototype.DC=function(a){if(this.Vz!=a){this.Vz!=q&&this.Vz.PLa();this.Vz=a;for(var c=[];a!=q;){c=[a].concat(c);a=a.getParent()}for(var a=this.zI.length-1,d=n;a>=0&&d;a--)b(c).contains(this.zI[a])?d=B:this.zI.pop().SLa();for(a=0;a=0&&c>=0&&bb?a:b)/(this.KV>this.JV?this.KV:this.JV),d=Math.round(a/c),e=Math.round(b/c);this.Ax=c;a={left:Math.round((a-d)*0.5)+"px",top:Math.round((b-e)*0.5)+"px",right:"auto",bottom:"auto",width:d+"px",height:e+"px",transform:"scale("+[c,c].join(", ")+")",position:"absolute"}}else{a={position:"absolute",left:0,top:0,right:"auto",bottom:"auto",width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"};this.Ax=1}this.Ju.css(a)}; d.prototype.DAa=function(){this.Ju.css({position:"abolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",transform:""});this.Ax=1};d.prototype.QKa=function(){this.moa();var a=this;this.FL=setTimeout(function(){a.FL=q;a.Nb()},this.uFa)};d.prototype.moa=function(){if(this.FL){this.FL=q;clearTimeout(this.FL)}};d.prototype.JEa=function(){this.kfa()};d.prototype.h2=function(){return b(g.prototype.h2.call(this)).defaults({globaltouchmove:[{target:a(document),name:"touchmove",handler:this.fh(this.KEa)}], globalmousemove:[{target:a(document),name:"mousemove",handler:this.fh(this.Wha)},{target:a(window),name:"mouseout",handler:this.fh(this.Wha)}],globalresize:[{target:a(window),name:"resize",handler:this.fh(this.JEa)}]})};return d}); define("ge","require,jquery.mod,op,bY,mt,nU,fQ,nS,t".split(","),function(a){function b(){p=TDV.ib.es();var a=r||p;if(m!=a){m=a;k.trigger(i.qa)}a=!!r&&p!=r&&o.wb();if(t!=a){if(!s){s=d("
");s.css({position:"fixed","z-index":c.Wwa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});s.html(['
\n
', '','
'+j("rotate-device")+"
","
\n
"].join("\n"));u=s.find("img")}t&&s.detach();(t=a)&&(f.enabled()?d(f.bq()):d("body")).append(s)}t&&u.css("transform",m==k.Dxa?"translate(-11%, 0) rotate(-90deg)":"none")}var d=a("jquery.mod"),c=a("op"),g=a("bY"),f=a("mt"),i=a("nU"),e=a("fQ"),j=a("nS"),o=a("t"),k=new e; k.uUa=TDV.ib.mZ;k.Dxa=TDV.ib.nZ;k.IC=function(a){if(r!=a){r=a;b()}};k.Jra=function(){return r};k.get=function(){return m};var m=l,r=l,p=l,t=B,s=q,u=q;window.addEventListener("resize",function(){b();setTimeout(b,500)},n);try{window.screen.orientation.addEventListener("change",b)}catch(v){window.addEventListener("orientationchange",b,B)}b();return k}); define("ig","require,kG,dY,nU,cs,cy,eQ,mq,nS,me,F,jW,kX,dK,eI,mQ,la,t,hl,eG,cp,iQ,lB,bu,dV,gk,nq,cT,mt,bB,ge,lm,dm".split(","),function(a){var b=a("kG"),d=a("dY"),c=a("nU"),g=a("cs"),f=a("cy"),i=a("eQ"),e=a("mq"),j=a("nS"),o=a("me"),k=a("F"),m=a("jW"),r=a("kX"),p=a("dK"),t=a("eI"),s=a("mQ"),u=a("la"),v=a("t"),w=a("hl"),x=a("eG"),y=a("cp"),D=a("iQ"),E=a("lB"),H=a("bu"),M=a("dV"),G=a("gk"),z=a("nq"),L=a("cT"),K=a("mt"),A=a("bB"),N=a("ge"),J=a("lm"),C=a("dm"),F=b.extend(G,function(){G.apply(this,arguments); this.Tf=new x(this);this.pga=new m(this,this.Tf);this.Pq=new z;this.Pq.$({backgroundOpacity:0,visible:n,width:"100%",height:"100%"});this.XE=new r;this.rG=new p;this.xQ=new k(this);var a=new L;a.NX(0);this.wO(a);this.Jf(n);this.bind(c.u("settings"),this.lHa,this,n);this.DV=TDV.ib.asa();N.bind(c.qa,this.WGa,this,n);A.RTa();this.Wza=new o(this,"buttonMute",M.ne);this.Wza.bind(c.ca,this.Fka,this,n);this.cAa=new o(this,"buttonUnmute",M.ne);this.cAa.bind(c.ca,this.pla,this,n);this.ZP=new o(this,"buttonToggleMute", M.Uj);this.ZP.bind(c.zi,this.Fka,this,n);this.ZP.bind(c.Sj,this.pla,this,n);this.bind(c.u("mute"),this.TGa,this);this.ZP.set("pressed",this.get("mute"));this.Uza=new o(this,"buttonEnterFullscreen",M.ne);this.Uza.bind(c.ca,this.Zja,this,n);this.Vza=new o(this,"buttonExitFullscreen",M.ne);this.Vza.bind(c.ca,this.$ja,this,n);this.WP=new o(this,"buttonToggleFullscreen",M.Uj);this.WP.bind(c.zi,this.Zja,this,n);this.WP.bind(c.Sj,this.$ja,this,n);this.WP.set("pressed",this.get("fullscreenEnabled"));this.bind(c.u("fullscreenEnabled"), this.EGa,this,n);this.set("fullscreenEnabled",this.Gi.enabled());this.set("mouseWheelEnabled",n);this.set("backgroundPreloadEnabled",n);this.set("defaultVRPointer","laser");this.set("downloadEnabled",B);this.set("mediaActivationMode","window");this.set("fullscreenFallback","out_of_frame");this.set("defaultMenu",["fullscreen","mute","rotation"]);this.set("watermark",n);this.bind(c.Tj,this.oHa,this,n);[c.zb,c.Wb,c.xq,c.gD,c.eD].forEach(function(a){this.bind(a,function(a){this.trigger(new g(c.ez,{GO:a}))}, this,n)}.bind(this));["keydown","keyup"].forEach(function(a){document.addEventListener(a,function(a){this.trigger(new g(c.ez,{GO:a}))}.bind(this))}.bind(this));H.bind(c.qa,function(){H.isPresenting()?N.IC(l):N.IC(G.prototype.get.call(this,"lockedOrientation"))},this);this.Gi.bind(c.qa,function(){var a=N.Jra();N.IC(l);N.IC(a)},this)});F.Sba="orientationChange";i.F("Player",F).oSa().H("Container").Q({backgroundPreloadEnabled:"bool",buttonEnterFullscreen:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonExitFullscreen:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMute:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleFullscreen:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleMute:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonUnmute:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",cardboardAvailable:"bool",cookiesPolicy:"or[array[CookiesPolicy], CookiesPolicy]", defaultVRPointer:"enum[gaze, laser]",definitions:"array[Object]",desktopMipmappingEnabled:"bool",downloadEnabled:"bool",fullscreenAvailable:"bool",fullscreenEnabled:"bool",fullscreenFallback:"enum[out_of_frame, none]",gyroscopeAvailable:"bool",hash:"string",isMobile:"bool",mediaActivationMode:"enum[window, button]",menu:"array[PlayerMenuItem]",defaultMenu:"array[enum[fullscreen, mute, rotation]]",mobileMipmappingEnabled:"bool",mouseWheelEnabled:"bool",mute:"bool",lockedOrientation:"enum[portrait, landscape]", orientation:"enum[portrait, landscape]",surfaceSelectionAvailable:"bool",touchDevice:"bool",touchEnabled:"bool",vrAvailable:"bool",vrPolyfillScale:"number",watermark:"bool"}).ISa().Ng({logCapabilities:function(){this.bGa()},activateAudio:function(a){this.sya(a)}}).ih([c.Tj,F.Sba,c.ez]);F.prototype.W1=function(a){G.prototype.W1.apply(this,arguments);this.set("fullscreenEnabled",a)};F.prototype.ab=function(){G.prototype.ab.call(this);this.f("mute",B);this.f("fullscreenEnabled",B)};F.prototype.mb=function(){G.prototype.mb.call(this); this.pga.getParent()!=this&&this.Oa(this.pga);if(this.Pq.getParent()!=this){this.Oa(this.Pq);this.Pq.Oa(this.xQ);this.Pq.Oa(this.XE);this.Pq.Oa(this.rG)}};F.prototype.VIa=function(a){var b=[];this.XE&&b.push(this.XE);this.rG&&b.push(this.rG);this.xQ&&b.push(this.xQ);for(var c=n,d=0;d<=b.length&&c;d++){c=a.indexOf(b[d]);c=a.length-(b.length-d)==c}return c?a:a.filter(function(a){return b.indexOf(a)<0}).concat(b)};F.prototype.Ma=function(){this.nma||(this.nma=d.difference(this.pEa(),["backgroundOpacity", "visible","includeInLayout","state","left","right","top","bottom","centerX","centerY","width","height","minWidth","minHeight","maxWidth","maxHeight","actualWidth","actualHeight","paddingLeft","paddingTop","paddingRight","paddingBottom"]));this.Yb(this.nma,{},[this.Pq],n,n);G.prototype.Ma.call(this);this.fVa===n&&this.eVa()};F.prototype.set=function(a,b){switch(a){case "children":this.Pq.set(a,this.VIa(b));return;case "creationPolicy":this.Pq.set(a,b);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrAvailable":b= this.get(a);break;case "fullscreenEnabled":b=this.Gi.available()&&b;break;case "fullscreenFallback":K.Aaa(b);break;case "lockedOrientation":v.If()&&(b=l);N.IC(b);break;case "installAvailable":b=this.Tf.ready();break;case "mouseWheelEnabled":this.HSa(E.Ti("mousewheelenabled",b));break;case "backgroundPreloadEnabled":this.gJa(b);break;case "vrPolyfillScale":H.VSa(b);break;case "desktopMipmappingEnabled":s.YRa(b);break;case "mobileMipmappingEnabled":s.FSa(b)}G.prototype.set.call(this,a,b)};F.prototype.get= function(a,b){switch(a){case "children":case "creationPolicy":return this.Pq.get(a,b);case "touchEnabled":return this.Fn;case "touchDevice":return v.nba();case "isMobile":return v.wb();case "orientation":return N.get();case "lockedOrientation":return N.Jra();case "gyroscopeAvailable":return w.available;case "cardboardAvailable":case "vrAvailable":return H.available();case "fullscreenAvailable":return this.Gi.available();case "vrPolyfillScale":return H.sPa();case "installAvailable":return this.Tf.ready(); case "surfaceSelectionAvailable":return t.Kva();case "pageScale":return this.Ax;case U:return this.Q8?G.prototype.get.apply(this,arguments):n;default:return G.prototype.get.apply(this,arguments)}};F.prototype.Fka=function(){this.set("mute",n)};F.prototype.pla=function(){this.set("mute",B)};F.prototype.TGa=function(){this.ZP.set("pressed",this.get("mute"))};F.prototype.Zja=function(){this.set("fullscreenEnabled",n)};F.prototype.$ja=function(){this.set("fullscreenEnabled",B)};F.prototype.EGa=function(){this.get("fullscreenEnabled")? this.Gi.yk():this.Gi.Hf();this.WP.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",this.Gi.enabled())};F.prototype.lHa=function(){var a=this.get("settings");if(a){y.hq(a);D.Uaa(a);THREE.Ewa=a.get(TDV.PlayerSettings.zba);this.Tf.Uaa(a)}};F.prototype.gJa=function(a){D.enabled(a)};F.prototype.kha=function(){var a=[];this.WD=[];(this.get("menu")||[]).forEach(function(b){var c=b.get("label");a.push(b.get("label"));c&&this.WD.push(function(){b.trigger("click")})}.bind(this));var b= this.get("defaultMenu",[]);if(b.indexOf("rotation")>=0){var c=this.Gj("PanoramaPlayer");if(c.length){a.push(c[0].get("mouseControlMode")==f.Ty?j("change-to-drag-and-release"):j("change-to-click-and-move"));this.WD.push(this.ALa.bind(this))}}if(b.indexOf("fullscreen")>=0&&this.Gi.available()){a.push(this.Gi.enabled()?j("exit-fullscreen"):j("enter-fullscreen"));this.WD.push(this.yLa.bind(this))}if(b.indexOf("mute")>=0){a.push(this.get("mute")?j("unmute"):j("mute"));this.WD.push(this.zLa.bind(this))}b= [].concat(e.name?[e.name]:[],e.vOa!="false"?e.UN?["v:"+e.UN+"."+e.YN]:["v:"+e.YN]:[]).join(" ");if(b!=""){a.length>0&&a.push("");a.push(b);this.WD.push(this.AHa.bind(this))}return a};F.prototype.Tja=function(a){this.WD[a.data.index]()};F.prototype.ALa=function(){var a=this.Gj("PanoramaPlayer"),b=a[0].get("mouseControlMode")==f.Ty?f.Fs:f.Ty;a.forEach(function(a){C.setItem(O,b);a.set("mouseControlMode",b)})};F.prototype.oHa=function(){C.getItem(O)==f.Fs&&this.Gj("PanoramaPlayer").forEach(function(a){a.set("mouseControlMode", f.Fs)});E.Vi("mute")&&this.set("mute",E.Ti("mute",this.get("mute")));E.Vi("vr")&&H.yk()};F.prototype.yLa=function(){this.Gi.toggle()};F.prototype.zLa=function(){this.set("mute",!this.get("mute"))};F.prototype.AHa=function(){e.wwa&&window.open(e.wwa,"_blank")};F.prototype.WGa=function(){this.trigger(F.Sba)};F.prototype.bGa=function(){b.yOa(n);b.log("UA: "+navigator.userAgent);b.log("screen: ("+Math.max(window.screen.width,window.screen.height)+", "+Math.min(window.screen.width,window.screen.height)+ ") dpr: "+window.devicePixelRatio+" ("+Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio+", "+Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio+")");v.log();u.log();j.log();H.log()};F.prototype.sya=function(a){if(A.l9())J.GH(a);else{A.vba(a);A.Xi(this)}};var O="tdvp_"+window.location.pathname+"_rotation_mode",U=[119,97,116,101,114,109,97,114,107].map(function(a){return String.fromCharCode(a)}).join("");return F}); define("ci",["require","kG","lh","nU","eQ"],function(a){var b=a("kG"),d=a("lh"),c=a("nU"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("PlayerMenuItem",b).H("Object").Q({label:"string"}).ih([c.ca]);return b}); define("T","require,kG,lh,nU,gE,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("gE"),f=a("eQ"),i=a("jJ"),a=b.extend(d,function(){d.call(this);this.set("visible",B);this.set("state",g.L);this.set("showDuration",1E3);this.set("hideDuration",1E3);this.set("darkenBackground",n);this.set("lookAwayToHide",n);this.set("lookAwayToHideTime",2E3);this.set("showEasing","linear");this.set("hideEasing","linear");this.bind(c.u("state"),function(){this.trigger(c.Gc)},this,n);this.Xc=l});a.prototype.show= function(){this.set("visible",n)};a.prototype.hide=function(){this.set("visible",B)};a.prototype.play=function(){this.set("state",g.S)};a.prototype.pause=function(){this.set("state",g.mP)};a.prototype.stop=function(){this.set("state",g.L)};f.F("PopupPanoramaOverlay",a).H("PanoramaOverlay").Q({autoplay:"bool",darkenBackground:"bool",loop:"bool",yaw:"number",pitch:"number",hfov:"number",image:"ImageResource",video:"VideoResource",lookAwayToHide:"bool",lookAwayToHideTime:"number",popupDistance:"number", popupMaxHeight:"or[number,percent]",popupMaxWidth:"or[number,percent]",rotationX:"number",rotationY:"number",rotationZ:"number",hideEasing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",hideDuration:"number",state:"enum[stopped, playing, paused]",showEasing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]", showDuration:"number",visible:"bool",playbackPositions:"array[PopupPanoramaOverlayPlaybackPosition]"}).Ng({hide:a.prototype.hide,pause:a.prototype.pause,play:a.prototype.play,show:a.prototype.show,stop:a.prototype.stop}).hc([c.Ha,c.uD,c.iD,c.Gc]).ih([c.ca]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc=i.uPa(this);return this.Xc}return d.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var f=B;switch(a){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.Xc= l;f=n}d.prototype.set.call(this,a,b);f&&a!="playbackPositions"&&this.trigger(c.u("playbackPositions"))};return a});define("nV",["dY","kG","y","eQ"],function(a,b,d,c){a=b.extend(d,function(){d.call(this)});c.F("ProgressBar",a).H("UIComponent").Q({barBackgroundColor:"or[array[color], color]",barBackgroundColorDirection:"enum[horizontal, vertical]",barBackgroundColorRatios:"array[number]",barBorderColor:"color",barBorderRadius:"number",barBorderSize:"number",barOpacity:"number",percent:"number"});return a}); define("gb","require,kG,lh,nU,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("eQ"),f=a("jJ"),a=b.extend(d,function(){d.call(this);this.Xc=l;this.set("enabled",n);this.set("interactionEnabled",n);this.set("contentInteractive",B);this.set("transparent",B)});g.F("QuadFramePanoramaOverlay",a).H("PanoramaOverlay").Q({displayTooltipInTouchScreens:"bool",contentInteractive:"bool",enabled:"bool",image:"ImageResource",interactionEnabled:"bool",height:"number",playbackPositions:"array[QuadPanoramaOverlayPlaybackPosition]", transparent:"bool",toolTip:"string",url:"string",useHandCursor:"bool",vertices:"array[PanoramaPoint]",width:"number"}).hc([c.pc,c.Gk,c.Sh,c.cc,c.qb,c.jc]).ih([c.ca]).vi(["url"]);a.prototype.set=function(a,b){var f=B;switch(a){case "vertices":case "playbackPositions":this.Xc=l;f=n}d.prototype.set.call(this,a,b);f&&a!="playbackPositions"&&this.trigger(c.u("playbackPositions"))};a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc=f.l$(this);return this.Xc}return d.prototype.get.call(this, a,b)};return a});define("bD",["require","kG","eQ","cF"],function(a){var b=a("kG"),d=a("eQ"),c=a("cF"),a=b.extend(c,function(){c.call(this)});d.F("QuadHotspotPanoramaOverlay",a).H("HotspotPanoramaOverlay");return a});define("io",["eQ","s"],function(a,b){a.F("QuadHotspotPanoramaOverlayArea",b).H("HotspotPanoramaOverlayArea");return b}); define("dA","require,kG,lh,nU,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("eQ"),f=a("jJ"),a=b.extend(d,function(){d.call(this);this.set("opacity",1);this.Xc=l});g.F("QuadHotspotPanoramaOverlayImageBase",a).H("Object").Q({distance:"number",image:"ImageResource",playbackPositions:"array[QuadPanoramaOverlayPlaybackPosition]",opacity:"number",vertices:"array[PanoramaPoint]"}).hc([c.jc,c.pc]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc= f.l$(this);return this.Xc}return d.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var f=B;switch(a){case "opacity":case "distance":case "vertices":case "playbackPositions":this.Xc=l;f=n}d.prototype.set.call(this,a,b);f&&a!="playbackPositions"&&this.trigger(c.u("playbackPositions"))};return a}); define("fi",["require","kG","eQ","dA"],function(a){var b=a("kG"),d=a("eQ"),c=a("dA"),a=b.extend(c,function(){c.call(this)});d.F("QuadHotspotPanoramaOverlayImage",a).H("QuadHotspotPanoramaOverlayImageBase");return a});define("jK",["require","kG","eQ","dA"],function(a){var b=a("kG"),d=a("eQ"),c=a("dA"),a=b.extend(c,function(){c.call(this)});d.F("QuadHotspotPanoramaOverlayMap",a).H("QuadHotspotPanoramaOverlayImageBase");return a}); define("eH","require,kG,lh,nU,gE,cs,eQ,jJ".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("nU"),g=a("gE"),f=a("cs"),i=a("eQ"),e=a("jJ"),a=b.extend(d,function(){d.call(this);this.Xc=l;this.set("enabled",n);this.set("interactionEnabled",n);this.set("state",g.L);this.set("enabledInCardboard",n);this.set("enabledInStandard",n);this.set("blending",0);this.set("opacity",1);this.set("fadeInDuration",200);this.set("fadeOutDuration",200)});a.prototype.play=function(){this.set("state",g.S)};a.prototype.pause= function(){this.set("state",g.Gb)};a.prototype.stop=function(){this.set("state",g.L)};i.F("QuadVideoPanoramaOverlay",a).H("PanoramaOverlay").Q({autoplay:"bool",blending:"number",chromaColor:"color",chromaThreshold:"number",chromaSmoothing:"number",cues:"array[VideoCue]",distance:"number",displayTooltipInTouchScreens:"bool",enabled:"bool",enabledInCardboard:"bool",enabledInVR:"bool",enabledInStandard:"bool",fadeInDuration:"number",fadeOutDuration:"number",interactionEnabled:"bool",videoVisibleOnStop:"bool", vertices:"array[PanoramaPoint]",image:"ImageResource",loop:"bool",opacity:"number",playbackPositions:"array[QuadPanoramaOverlayPlaybackPosition]",state:"enum[stopped, playing, paused]",toolTip:"string",useHandCursor:"bool",video:"VideoResource"}).hc([c.Ha,c.pc,c.Gk,c.Sh,c.cc,c.qb,c.jc,c.Tj,c.Rh,c.Gc]).ih([c.ca]).Ng({pause:a.prototype.pause,play:a.prototype.play,stop:a.prototype.stop});a.prototype.set=function(a,b){var e=B;switch(a){case "state":var i=this.get("state")||g.L;i==g.L&&b==g.S&&this.trigger(c.Tj); i!=b&&this.trigger(new f(c.Gc,{oldState:i,state:b}));break;case "enabledInCardboard":this.set("enabledInVR",b);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.Xc=l;e=n}d.prototype.set.call(this,a,b);e&&a!="playbackPositions"&&this.trigger(c.u("playbackPositions"))};a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Xc===l)this.Xc=e.l$(this);return this.Xc}return d.prototype.get.call(this,a,b)};return a}); define("lS",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("initialState","playing");this.set("opacity",0.25);this.set("speed",0.5);this.set("intensity",0.5);this.set("color","#ffffff");this.set("state","playing");this.set("startDuration",2E4);this.set("stopDuration",2E4)});a.F("RainPanoramaOverlay",b).H("PanoramaOverlay").Q({initialState:"enum[playing, stopped]",intensity:"number",speed:"number",opacity:"number",color:"color", startDuration:"number",state:"enum[playing, stopped]",stopDuration:"number",startState:"enum[playing, stopped]"});b.prototype.get=function(a,b){"startState"==a&&b===l&&(b=this.get("initialState"));return d.prototype.get.call(this,a,b)};return b}); define("eX",["require","kG","lh","eQ","nU"],function(a){var b=a("kG"),d=a("lh"),c=a("eQ"),a=a("nU"),b=b.extend(d,function(){d.call(this)});c.F("RotationalCameraMovement",b).H("Object").Q({easing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",duration:"number",hfovSpeed:"number",pitchSpeed:"number",yawSpeed:"number"}).hc([a.Ha]);return b}); define("ce",["kG","er","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("SlideInEffect",a).H("Effect").Q({from:"enum[left, top, right, bottom]"});return a});define("hS",["kG","hf","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("SlideOutEffect",a).H("Effect").Q({to:"enum[left, top, right, bottom]"});return a}); define("nc",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this);this.set("initialState","playing");this.set("intensity",0.5);this.set("speed",0.25);this.set("state","playing");this.set("startDuration",2E4);this.set("stopDuration",2E4)});a.F("SnowPanoramaOverlay",b).H("PanoramaOverlay").Q({initialState:"enum[playing, stopped]",intensity:"number",speed:"number",startDuration:"number",state:"enum[playing, stopped]",stopDuration:"number",startState:"enum[playing, stopped]"}); b.prototype.get=function(a,b){"startState"==a&&b===l&&(b=this.get("initialState"));return d.prototype.get.call(this,a,b)};return b}); define("lI",["require","kG","eQ","kO"],function(a){var b=a("kG"),d=a("eQ"),c=a("kO"),a=b.extend(c,function(){c.call(this)});d.F("SphericPanoramaFrame",a).H("PanoramaFrame").Q({sphere:"or[ImageResource, Video360Resource]",stereoSphere:"or[ImageResource, Video360Resource]"});a.prototype.Fl=function(){var a=this.get("sphere");return a&&d.za("Video360Resource",a)?n:(a=this.get("stereoSphere"))&&d.za("Video360Resource",a)?n:B};return a}); define("nB",["require","kG","nU","eQ","ic"],function(a){var b=a("kG"),d=a("nU"),c=a("eQ"),g=a("ic"),a=b.extend(g,function(){g.call(this);this.set("anchorX",0.5);this.set("anchorY",0.5);this.set("depthTest",n);this.set("draggableArrowLength",50);this.set("draggableLineColor","#ffffff");this.set("draggableLineOpacity",1);this.set("draggableLineWidth",1);this.set("draggableSphereColor","#ffffff");this.set("draggableSphereRadius",5);this.set("draggableXControlsColor","#ff0000");this.set("draggableYControlsColor", "#00ff00");this.set("draggableZControlsColor","#0000ff");this.set("encoding","srgb");this.set("positionDraggable",B);this.set("sizeDraggable",B);this.set("scale",1);this.set("translationLineColor","#ffffff");this.set("translationLineOpacity",1);this.set("translationLineWidth",1);this.set("translationLineVisible",B);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0)});c.F("SpriteModel3DObject",a).H("ExternalModel3DObject").Q({anchorX:"number",anchorY:"number",depthTest:"bool", draggableArrowLength:"number",draggableLineColor:"color",draggableLineOpacity:"number",draggableLineWidth:"number",draggableSphereColor:"color",draggableSphereRadius:"number",draggableXControlsColor:"color",draggableYControlsColor:"color",draggableZControlsColor:"color",encoding:"enum[linear, srgb]",height:"number",image:"ImageResource",positionDraggable:"bool",sizeDraggable:"bool",scale:"number",translationLineColor:"color",translationLineOpacity:"number",translationLineVisible:"bool",translationLineWidth:"number", translationLength:"number",translationX:"number",translationY:"number",translationZ:"number",width:"number"}).hc([d.rn,d.qP]);return a});define("kS",["require","kG","eQ","ic"],function(a){var b=a("kG"),d=a("eQ"),c=a("ic"),a=b.extend(c,function(){c.call(this);this.set("depthTest",n);this.set("distance",0);this.set("horizontal",B);this.set("transparentAreaActive",n)});d.F("SurfaceReticleModel3DObject",a).H("ExternalModel3DObject").Q({depthTest:"bool",distance:"number",horizontal:"bool"});return a}); define("cZ","dY,kG,w,nq,mk,W,iu".split(","),function(a,b,d,c,g,f,i){var e=b.extend(c,function(a){c.call(this);this.ke("Tab");this.h5=a;this.ul="";this.y7=B;this.Jia=this.Ka=q;this.T8=this.S8=B;this.set("childrenInteractionEnabled",B);this.set("contentOpaque",n)});e.prototype.ab=function(){c.prototype.ab.call(this);this.f("horizontalAlign",g.ae);this.f("verticalAlign",g.Ad);this.f("fontFamily");this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");this.f("textDecoration"); this.f("textShadowBlurRadius");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowOpacity");this.f("textShadowVerticalLength")};e.prototype.qva=function(a){if(this.S8!=a){this.S8=a;this.T8=n;this.$d()}};e.prototype.mb=function(){c.prototype.mb.call(this);if(this.Ka==q){this.Ka=new i;this.Ka.set("horizontalAlign","center");this.Oa(this.Ka)}};e.prototype.Lo=function(){c.prototype.Lo.call(this);this.Jia=d.watch(this.h5,"label",this.gF,this);this.Fna(this.h5.get("label"))}; e.prototype.l6=function(){c.prototype.l6.call(this);this.Jia.unwatch()};e.prototype.gF=function(){var a=this.h5.get("label");this.Fna(a?a:"")};e.prototype.Fna=function(a){if(this.ul!=a){this.ul=a;this.y7=n;this.$d()}};e.prototype.Ma=function(){if(this.y7){this.y7=B;this.Ka.set("text",this.ul)}if(this.T8){this.T8=B;this.Ka.set("direction",this.S8?f.nh:f.yg)}this.Yb(e.Kda,e.CD,[this.Ka],n,n);c.prototype.Ma.call(this)};e.Kda=["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration", "textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];e.CD={};a(e.Kda).each(function(a){e.CD[a]=a});return e});define("eP",[],function(){return{UH:"normal",jD:"inverse",Cba:"center"}}); define("cO","dY,kG,bh,bc,nU,nq,mk,c,hn,cZ,eP,bt".split(","),function(a,b,d,c,g,f,i,e,j,o,k,m){b=b.extend(f,function(){f.call(this);this.ke("TabPanel");this.Pe=-1;this.wB=B;this.pM=[];this.bV=B;this.mr=[];this.j5=B;this.oM=[];this.Eg=this.bh=q;this.yB(B)});b.prototype.ab=function(){f.prototype.ab.call(this);this.f("pages",[]);this.f("selectedIndex",-1);this.f("tabsSize",25);this.f("tabsPosition",m.kc);this.f("tabsGap",0);this.f("tabsPadding",10);this.f("tabsAlign",k.UH);this.f("tabsBackgroundOpacity", 0.6);this.f("tabsBackgroundColor",["#FFFFFF","#CCCCCC"]);this.f("tabsBackgroundColorRatios",[0,0.5]);this.f("tabsRollOverBackgroundOpacity",1);this.f("tabsRollOverBackgroundColor",["#FFFFFF","#CCCCCC"]);this.f("tabsRollOverBackgroundColorRatios",[0,0.5]);this.f("backgroundColor","#FFFFFF");this.f("selectedTabBackgroundOpacity",1);this.f("selectedTabBackgroundColor");this.f("selectedTabBackgroundColorRatios");this.f("borderRadius",6);this.f("pagePaddingLeft",4);this.f("pagePaddingTop",4);this.f("pagePaddingRight", 4);this.f("pagePaddingBottom",4);this.f("borderColor","#AAAAAA");this.f("borderSize",1);this.f("selectedTabFontSize");this.f("selectedTabFontColor");this.f("selectedTabFontWeight");this.f("selectedTabFontStyle");this.f("selectedTabTextDecoration");this.f("selectedTabTextShadowBlurRadius");this.f("selectedTabTextShadowColor");this.f("selectedTabTextShadowHorizontalLength");this.f("selectedTabTextShadowOpacity");this.f("selectedTabTextShadowVerticalLength");this.f("tabsFontFamily");this.f("tabsFontSize"); this.f("tabsFontColor");this.f("tabsFontWeight");this.f("tabsFontStyle");this.f("tabsTextDecoration");this.f("tabsTextShadowBlurRadius");this.f("tabsTextShadowColor");this.f("tabsTextShadowHorizontalLength");this.f("tabsTextShadowOpacity");this.f("tabsTextShadowVerticalLength");this.f("tabsRollOverFontSize");this.f("tabsRollOverFontColor");this.f("tabsRollOverFontWeight");this.f("tabsRollOverFontStyle");this.f("tabsRollOverTextDecoration");this.f("tabsRollOverTextShadowBlurRadius");this.f("tabsRollOverTextShadowColor"); this.f("tabsRollOverTextShadowHorizontalLength");this.f("tabsRollOverTextShadowOpacity");this.f("tabsRollOverTextShadowVerticalLength")};b.prototype.mb=function(){f.prototype.mb.call(this);if(this.Eg==q){this.Eg=new f;this.Eg.yB(B);this.Oa(this.Eg)}if(this.bh==q){this.bh=new f;this.bh.yB(B);this.Oa(this.bh)}};b.prototype.set=function(a,b){if(a=="pages")this.OSa(b||[]);else if(a=="selectedIndex")this.Taa(b);else if(a=="layout")b=e.jUa;f.prototype.set.call(this,a,b)};b.prototype.get=function(a,b){return a== "pages"?this.mr:a=="selectedIndex"?this.Pe:f.prototype.get.call(this,a,b)};b.prototype.Taa=function(a){if(this.Pe!=a){this.Pe=a;this.Pe=Math.min(Math.max(this.Pe,-1),this.mr.length);this.wB=n;this.$d();this.trigger(g.qa)}};b.prototype.OSa=function(b){if(!a.isEqual(this.mr,b)){this.mr=b;this.j5=n;this.$d()}};b.prototype.mLa=function(b){this.pM=a(this.pM).union([b.source]);this.bV=n;this.$d()};b.prototype.lLa=function(b){this.pM=a(this.pM).difference([b.source]);this.bV=n;this.$d()};b.prototype.kLa= function(b){this.Taa(a(this.oM).indexOf(b.source))};b.prototype.Ma=function(){var b=B,p=B,t=B,s=B,u=B,v=this.p("tabsPosition"),w=this.p("tabsAlign");if(this.j5){this.oM=[];this.bh.tua();this.Eg.tua();a(this.mr).forEach(function(b){var c=new o(b);c.yB(n);c.bind(g.cc,a.bind(this.mLa,this));c.bind(g.qb,a.bind(this.lLa,this));c.bind(g.zb,a.bind(this.kLa,this));this.oM.push(c);this.bh.Oa(c);b.$({top:l,left:l,right:l,bottom:l,width:"100%",height:"100%"});this.Eg.Oa(b)},this);this.Pe=Math.min(Math.max(this.Pe, 0),this.mr.length-1);this.j5=B;p=b=u=n}if(this.v("tabsPosition")){this.I("tabsPosition");s=p=b=n}if(this.wB){this.wB=B;t=p=u=n}if(this.bV){this.bV=B;t=n}this.v("overflow")&&this.bh.$({contentOpaque:this.p("overflow")==j.Ho,overflow:this.p("overflow")});a(["tabsAlign","tabsGap","tabsSize"]).forEach(function(a){if(this.v(a)){this.I(a);b=n}},this);a(["borderRadius","borderTopRadius","borderBottomRadius","borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius", "borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize","borderColor","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","shadow","shadowHorizontalLength","shadowVerticalLength","shadowBlurRadius","shadowSpread","shadowColor","backgroundOpacity","backgroundColor","backgroundColorRatios"]).forEach(function(a){if(this.v(a)){this.I(a);s=p=n}},this);a(["tabsBackgroundOpacity","tabsBackgroundColor","tabsBackgroundColorRatios", "selectedTabBackgroundOpacity","selectedTabBackgroundColor","selectedTabBackgroundColorRatios","selectedTabFontSize","selectedTabFontColor","selectedTabFontWeight","selectedTabFontStyle","selectedTabTextDecoration","selectedTabTextShadowColor","selectedTabTextShadowHorizontalLength","selectedTabTextShadowVerticalLength","selectedTabTextShadowBlurRadius","selectedTabTextShadowOpacity","tabsFontFamily","tabsFontSize","tabsFontColor","tabsFontWeight","tabsFontStyle","tabsPadding","tabsTextDecoration", "tabsRollOverFontSize","tabsRollOverFontColor","tabsTextShadowColor","tabsTextShadowHorizontalLength","tabsTextShadowVerticalLength","tabsTextShadowBlurRadius","tabsTextShadowOpacity","tabsRollOverFontWeight","tabsRollOverFontStyle","tabsRollOverTextDecoration","tabsRollOverTextShadowColor","tabsRollOverTextShadowHorizontalLength","tabsRollOverTextShadowVerticalLength","tabsRollOverTextShadowBlurRadius","tabsRollOverTextShadowOpacity"]).forEach(function(a){if(this.v(a)){this.I(a);p=n}},this);a(["pagePaddingLeft", "pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(a){if(this.v(a)){this.I(a);s=n}},this);this.v("backgroundColorDirection")&&this.I("backgroundColorDirection");if(b){switch(v){case m.Ja:this.bh.$({left:0,right:l});break;case m.Xa:this.bh.$({left:l,right:0});break;case m.kc:this.bh.$({bottom:l,top:0});break;case m.bc:this.bh.$({bottom:0,top:l})}switch(v){case m.Ja:case m.Xa:this.bh.$({layout:e.nh,top:0,bottom:0,height:l,width:this.p("tabsSize")});switch(w){case k.jD:this.bh.set("verticalAlign", i.bc);break;case k.Cba:this.bh.set("verticalAlign",i.Ad);break;default:this.bh.set("verticalAlign",i.kc)}break;case m.kc:case m.bc:this.bh.$({layout:e.yg,left:0,right:0,height:this.p("tabsSize"),width:l});switch(w){case k.jD:this.bh.set("horizontalAlign",i.Xa);break;case k.Cba:this.bh.set("horizontalAlign",i.ae);break;default:this.bh.set("horizontalAlign",i.Ja)}}this.bh.set("gap",this.p("tabsGap"))}if(p)for(var x=0;x0?v==m.Ja||v==m.kc?D[0]:D[D.length-1]:D}y.$({backgroundOpacity:this.p("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:D,backgroundColorRatios:this.p("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:c.me,fontSize:this.p("selectedTabFontSize","tabsFontSize"),fontColor:this.p("selectedTabFontColor","tabsFontColor"),fontWeight:this.p("selectedTabFontWeight","tabsFontWeight"),fontStyle:this.p("selectedTabFontStyle", "tabsFontStyle"),textDecoration:this.p("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.p("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.p("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("selectedTabTextShadowBlurRadius","tabsTextShadowBlurRadius"),textShadowOpacity:this.p("selectedTabTextShadowOpacity", "tabsTextShadowOpacity")})}else D?y.$({backgroundOpacity:this.p("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.p("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.p("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:c.yf,fontSize:this.p("tabsRollOverFontSize","tabsFontSize"),fontColor:this.p("tabsRollOverFontColor","tabsFontColor"),fontWeight:this.p("tabsRollOverFontWeight","tabsFontWeight"),fontStyle:this.p("tabsRollOverFontStyle", "tabsFontStyle"),textDecoration:this.p("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.p("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.p("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("tabsRollOverTextShadowBlurRadius","tabsTextShadowBlurRadius"),textShadowOpacity:this.p("tabsRollOverTextShadowOpacity", "tabsTextShadowOpacity")}):y.$({backgroundOpacity:this.p("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.p("tabsBackgroundColor"),backgroundColorRatios:this.p("tabsBackgroundColorRatios"),fontSize:this.p("tabsFontSize"),fontColor:this.p("tabsFontColor"),fontWeight:this.p("tabsFontWeight"),fontStyle:this.p("tabsFontStyle"),textDecoration:this.p("tabsTextDecoration"),textShadowColor:this.p("tabsTextShadowColor"),textShadowHorizontalLength:this.p("tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("tabsTextShadowVerticalLength"), textShadowBlurRadius:this.p("tabsTextShadowBlurRadius"),textShadowOpacity:this.p("tabsTextShadowOpacity")});y.$({borderLeftSize:v==m.Xa&&t?0:l,borderRightSize:v==m.Ja&&t?0:l,borderBottomSize:v==m.kc&&t?0:l,borderTopSize:v==m.bc&&t?0:l})}if(s){x=this.p("tabsSize");switch(v){case m.Ja:this.Eg.$({left:x-(this.p("borderLeftSize","borderSize")||0),right:0,top:0,bottom:0});break;case m.Xa:this.Eg.$({left:0,right:x-(this.p("borderRightSize","borderSize")||0),top:0,bottom:0});break;case m.kc:this.Eg.$({left:0, right:0,top:x-(this.p("borderTopSize","borderSize")||0),bottom:0});break;case m.bc:this.Eg.$({left:0,right:0,top:0,bottom:x-(this.p("borderBottomSize","borderSize")||0)})}v==m.kc&&w==k.UH||v==m.Ja&&w==k.UH?this.Eg.set("borderTopLeftRadius",0):this.Eg.set("borderTopLeftRadius",this.p("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));v==m.kc&&w==k.jD||v==m.Xa&&w==k.UH?this.Eg.set("borderTopRightRadius",0):this.Eg.set("borderTopRightRadius",this.p("borderTopRightRadius","borderTopRadius", "borderRightRadius","borderRadius"));v==m.bc&&w==k.UH||v==m.Ja&&w==k.jD?this.Eg.set("borderBottomLeftRadius",0):this.Eg.set("borderBottomLeftRadius",this.p("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));v==m.bc&&w==k.jD||v==m.Xa&&w==k.jD?this.Eg.set("borderBottomRightRadius",0):this.Eg.set("borderBottomRightRadius",this.p("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));this.Eg.$({paddingLeft:this.p("pagePaddingLeft"),paddingTop:this.p("pagePaddingTop"), paddingRight:this.p("pagePaddingRight"),paddingBottom:this.p("pagePaddingBottom"),borderLeftSize:this.p("borderLeftSize","borderSize"),borderTopSize:this.p("borderTopSize","borderSize"),borderRightSize:this.p("borderRightSize","borderSize"),borderBottomSize:this.p("borderBottomSize","borderSize"),borderLeftColor:this.p("borderLeftColor","borderColor"),borderTopColor:this.p("borderTopColor","borderColor"),borderRightColor:this.p("borderRightColor","borderColor"),borderBottomColor:this.p("borderBottomColor", "borderColor"),shadow:this.p("shadow"),shadowHorizontalLength:this.p("shadowHorizontalLength"),shadowVerticalLength:this.p("shadowVerticalLength"),shadowBlurRadius:this.p("shadowBlurRadius"),shadowSpread:this.p("shadowSpread"),shadowColor:this.p("shadowColor"),backgroundOpacity:this.p("backgroundOpacity"),backgroundColor:this.p("backgroundColor"),backgroundColorRatios:this.p("backgroundColorRatios")});v==m.kc||v==m.bc?this.Eg.set("backgroundColorDirection",d.HZ):this.Eg.set("backgroundColorDirection", d.gZ)}if(u)for(x=0;xd.length){for(g=d.length;g=0&&aa.length){for(e=a.length;e=0&&c<2;this.aE=b;var e;for(e=this.gm;eb)break;for(;this.gm0){this.de=[];this.DM()}};a.prototype.DM=function(){this.Hc.trigger(new f(g.Rh,{activeCues:this.de.slice()}))};a.prototype.z0=function(){this.Di=[];var a=this.Hc.get("cues",[]);d(a).each(function(a){this.Di.push(new b(a.get("startTime",0),a,"start"));this.Di.push(new b(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.Di.sort(function(a,b){return a.time==b.time?a.action==b.start?0:a.action=="start"?-1:1:a.time-b.time})};return a}); define("mS","require,kG,bg,cs,fQ,nU,lv".split(","),function(a){var b=a("kG"),d=a("bg"),c=a("cs"),g=a("fQ");a("nU");a("lv");var f=b.extend(g,function(a,b){g.call(this);this.K=a;this.h=b;this.fB=[];this.fa=f.oh;this.Wh=q;this.b1=l;this.Ei=q;this.mg=this.Ig=l});f.prototype.display=function(a,b){this.g0();if(this.Ei!=a||this.fa!=f.oh){this.fB.push({video:a,startTime:b});this.Mka()}};f.prototype.hide=function(){this.g0();this.fB.push({video:q,startTime:l});this.Mka()};f.prototype.clear=function(){this.fa= f.oh;this.g0();this.tIa();this.tma();this.h=q};f.prototype.gh=function(a){if(this.fa!=f.oh&&(this.fa==f.tn||this.fa==f.Zv||this.fa==f.vz)){this.mg=this.mg+a;a=Math.min(1,this.mg/this.Ig);if(this.fa==f.tn)this.Wh.set("opacity",a);else if(this.fa==f.vz){this.Wh.set("opacity",Math.min(1,a*2));this.Ei.set("opacity",Math.min(1,(1-a)*2))}else this.Ei.set("opacity",1-a);this.mg0&&this.fa==f.oh&&this.Oo()};f.prototype.Oo=function(){this.Ei&& this.trigger(new c(f.fz,{video:this.Ei}));if(this.K.get("transitionMode","blending")=="fade_out_fade_in"&&this.Ei)this.gw();else{var a=this.fB.shift();this.Wh=a.video;this.b1=a.startTime;this.Wh?this.Wh.get("chromaColor")&&this.Ei?this.H_():this.pI():this.Ei&&this.gw()}};f.prototype.pI=function(){this.eea();this.mg=0;this.Ig=this.K.get("transitionDuration");this.fa=f.tn;this.Da()};f.prototype.H_=function(){this.eea();this.mg=0;this.Ig=this.K.get("transitionDuration")*2;this.fa=f.vz;this.Da()};f.prototype.gw= function(){this.Wh=q;this.mg=0;this.Ig=this.K.get("transitionDuration");this.fa=f.Zv;this.Da()};f.prototype.Gw=function(){this.tma();this.Ei=this.Wh;this.Wh=q;this.fa=f.oh;this.Ei?this.trigger(new c(f.gz,{video:this.Ei})):this.fB.length==0&&this.trigger(new c(f.Mba));this.fB.length!=0&&this.Oo()};f.prototype.Da=function(){d.yb(this.gh,this)};f.prototype.g0=function(){this.fB=[]};f.prototype.eea=function(){if(this.Wh){this.Wh.set("opacity",0);this.Wh.set("zIndex",1);this.Ei&&this.Ei.set("zIndex",0); this.Wh.set("currentTime",this.b1||0);this.h.PNa(this.Wh);this.trigger(new c(f.bZ,{video:this.Wh,startTime:this.b1}))}};f.prototype.tma=function(){if(this.Ei){this.h.zua(this.Ei);this.trigger(new c(f.eP,{video:this.Ei}));this.Ei=q}};f.prototype.tIa=function(){if(this.Wh){this.h.zua(this.Wh);this.trigger(new c(f.eP,{video:this.Wh}));this.Wh=q}};f.oh="stopped";f.tn="blending";f.vz="double blending";f.Zv="disolving";f.pb="request frame";f.bZ="video added";f.eP="video removed";f.gz="video show";f.fz= "video hide";f.Mba="all pending videos hidden";return f}); define("iF","require,kG,nU,cs,fQ,gE".split(","),function(a){var b=a("kG"),d=a("nU"),c=a("cs"),g=a("fQ"),f=a("gE"),i=b.extend(g,function(){g.call(this);this.Hc=q;this.Me=B;this.O0=f.L});i.prototype.start=function(a){this.end();this.L6(a)};i.prototype.end=function(){this.stop();this.Qz()};i.prototype.clear=function(){this.Qz()};i.prototype.play=function(){this.Hc&&this.Hc.set("state",f.S)};i.prototype.pause=function(){this.Hc&&this.Hc.set("state",f.Gb)};i.prototype.stop=function(){this.Hc&&this.Hc.set("state", f.L)};i.prototype.nf=function(a){this.Me=a;this.Hc&&this.Hc.set("mute",this.Me)};i.prototype.setTime=function(a){this.Hc&&this.Hc.set("currentTime",a)};i.prototype.getTime=function(){if(this.Hc)return this.Hc.get("currentTime")};i.prototype.L6=function(a){this.Qz();this.Hc=a;this.Hc.set("mute",this.Me);this.Hc.bind(d.u("state"),this.$F,this,n);this.Hc.bind(d.u("currentTime"),this.RB,this,n);this.Hc.bind(d.Ha,this.XM,this,n)};i.prototype.Qz=function(){if(this.Hc){this.Hc.unbind(d.u("state"),this.$F, this);this.Hc.unbind(d.u("currentTime"),this.RB,this);this.Hc.unbind(d.Ha,this.XM,this);this.Hc=q}};i.prototype.RB=function(){this.trigger(new c(i.hz,{video:this.Hc,time:this.Hc.get("currentTime"),duration:this.Hc.get("duration")}))};i.prototype.XM=function(){this.trigger(new c(i.SH,{video:this.Hc}))};i.prototype.$F=function(){var a=this.Hc.get("state");if(this.O0!=a){this.O0=a;this.trigger(new c(i.sc,{state:this.O0}))}};i.sc="playback state change";i.SH="video end";i.hz="video time change";return i}); define("nh","kG,gE,cs,fQ,dh,mS,iF".split(","),function(a,b,d,c,g,f,i){var e=a.extend(c,function(a,b){c.call(this);this.K=a;this.h=b;this.h.set("visible",B);this.Ea=new f(this.K,this.h);this.Ba=new i(this.h);this.Wo=new g(this.h);this.Ea.bind(f.fz,this.tp,this,n);this.Ea.bind(f.gz,this.Em,this,n);this.Ea.bind(f.bZ,this.qla,this,n);this.Ea.bind(f.eP,this.rla,this,n);this.Ea.bind(f.Mba,this.rGa,this,n);this.Ba.bind(i.sc,this.ze,this,n);this.Ba.bind(i.SH,this.yx,this,n);this.Ba.bind(i.hz,this.$K,this, n)});e.prototype.clear=function(){this.Ea.clear();this.Ba.clear();this.Wo.clear();this.Ea.unbind(f.fz,this.tp,this);this.Ea.unbind(f.gz,this.Em,this);this.Ea.unbind(f.bZ,this.qla,this);this.Ea.unbind(f.eP,this.rla,this);this.Ba.unbind(i.sc,this.ze,this);this.Ba.unbind(i.SH,this.yx,this);this.Ba.unbind(i.hz,this.$K,this);this.K=this.h=this.Wo=this.Ba=this.Ea=q};e.prototype.sTa=function(a,b){this.h.set("visible",n);this.Ea.display(a,b)};e.prototype.rv=function(){this.Ea.hide();this.Ba.end();this.Wo.end()}; e.prototype.play=function(){this.Ba.play()};e.prototype.stop=function(){this.Ba.stop()};e.prototype.pause=function(){this.Ba.pause()};e.prototype.nf=function(a){this.Ba.nf(a)};e.prototype.setTime=function(a){this.Ba.setTime(a)};e.prototype.getTime=function(){return this.Ba.getTime()};e.prototype.qla=function(a){var b=a.data.video;this.Ba.start(b,a.data.startTime);this.Wo.start(b)};e.prototype.rla=I();e.prototype.Em=function(a){a=a.data.video;a.get("autoplay")&&a.get("state")!=b.S&&a.get("state")!= b.Gb&&a.set("state",b.S);this.trigger(new d(e.gz,{video:a}))};e.prototype.tp=function(a){this.trigger(new d(e.fz,{video:a.data.video}))};e.prototype.rGa=function(){this.h.set("visible",B)};e.prototype.yx=function(a){this.trigger(new d(e.SH,{video:a.data.video}))};e.prototype.$K=function(a){this.trigger(new d(e.hz,{video:a.data.video,time:a.data.time,duration:a.data.duration}))};e.prototype.ze=function(a){this.trigger(new d(e.sc,{state:a.data.state}))};e.gz="videoShow";e.fz="videoHide";e.SH="videoEnd"; e.hz="videoTimeChange";e.sc="playbackStateChange";return e}); define("kz","require,kG,nU,cs,eQ,cS,dT,gE,nh,lz".split(","),function(a){var b=a("kG"),d=a("nU");a("cs");var c=a("eQ"),g=a("cS"),f=a("dT"),i=a("gE"),e=a("nh"),j=a("lz"),a=b.extend(f,function(){f.call(this,"video");this.set("clickAction","none");this.set("displayPlayOverlay",B);this.Yo=this.UU=this.RB=this.Mh=B;this.B=this.h=q;this.cb=this.vd=0;this.Qd=b.jq(this.Jg,this)});c.F("VideoPlayer",a).H("Object").Q({buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",clickAction:"enum[play_pause, none]",displayPlayOverlay:"bool",displayPlaybackBar:"bool",currentTime:"number",state:"enum[stopped, playing, paused]",video:"Video",viewerArea:"ViewerArea"}).Ng({seek:function(a){this.uB(a)},play:function(){this.cB()},pause:function(){this.bB()}, stop:function(){this.wx()},restart:function(){this.tx()}}).hc([g.xf,g.xi,d.Gc]);a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "startTime":this.UU=n;this.Qd();break;case "video":this.RB=n;this.Qd();break;case "viewerArea":this.Mh=n;this.Qd();break;case "displayPlaybackBar":this.Yo=n;this.Qd()}f.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.B&&this.B.getTime()||0}return f.prototype.get.call(this,a,b)};a.prototype.Jg=function(){if(this.Mh){this.Mh= B;this.yt();this.get("viewerArea")&&this.ut();this.WL(this.get("viewerArea"));this.RB=n}var a=B;if(this.h&&(this.RB||this.UU)){var b=this.get("video"),c=this.get("startTime")||0;if(b&&!this.h.vb()){this.Qd();return}this.UU=this.RB=B;this.cb=this.vd=0;a=n;if(b){this.tH();this.B.sTa(b,c)}else this.B.rv()}if(this.Yo){this.Yo=B;a=n}a&&this.Vu()};a.prototype.bG=function(){this.set("video",q)};a.prototype.ut=function(){var a=this.get("application"),b=this.get("viewerArea");this.h=new j(a,b,this);this.h.$({left:0, top:0,bottom:0,right:0});b.Oa(this.h);b.bind(d.ca,this.vla,this,n);this.B=new e(b,this.h);this.B.bind(e.gz,this.Em,this);this.B.bind(e.fz,this.tp,this);this.B.bind(e.hz,this.$K,this,n);this.B.bind(e.sc,this.ze,this);a.bind(d.u("mute"),this.HK,this);this.B.nf(a.get("mute",B));this.Vx(n)};a.prototype.yt=function(){if(this.h){this.B.unbind(e.gz,this.Em,this);this.B.unbind(e.fz,this.tp,this);this.B.unbind(e.hz,this.$K,this);this.B.unbind(e.sc,this.ze,this);this.B.clear();this.get("application").unbind(d.u("mute"), this.HK,this);var a=this.h.getParent();a.removeChild(this.h);a.unbind(d.ca,this.vla,this,n);this.h=q;this.Vx(B)}};a.prototype.HK=function(){this.h&&this.B.nf(this.get("application").get("mute",B))};a.prototype.ze=function(a){a=a.data.state;this.h&&this.h.Oaa(this.get("displayPlayOverlay")&&a!=i.S,this.vd<0.5);this.oc(a)};a.prototype.Em=function(a){var b=this.get("viewerArea");(this.Hd=b&&b.Hd)&&this.Hd.bind(d.ca,this.wla,this,n);this.u5=B;this.WJ(a.data.video)};a.prototype.tp=function(a){this.Hd&& this.Hd.unbind(d.ca,this.wla,this,n);this.Hd=q;this.VJ(a.data.video)};a.prototype.$K=function(a){this.vd=a.data.time;this.cb=a.data.duration;this.Vu()};a.prototype.vla=function(){if(this.u5)this.u5=B;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=i.S?this.B.play():this.B.pause()}};a.prototype.wla=function(){this.u5=n};a.prototype.lL=function(a){this.uB(a.data.position)};a.prototype.uj=function(){this.B.play()};a.prototype.Om=function(){this.B.stop()};a.prototype.Nn=function(){this.B.pause()}; a.prototype.uB=function(a){this.B&&this.B.setTime(a)};a.prototype.Vu=function(){if(this.h){var a=this.h.getParent();this.cb>0&&this.get("displayPlaybackBar")?a.$({playbackBarPosition:this.vd,playbackBarDuration:this.cb,playbackBarVisible:n}):a.set("playbackBarVisible",B)}};return a}); define("e",["kG","eQ","cS","hN"],function(a,b,d,c){a=a.extend(c,function(){c.call(this)});b.F("VideoPlayListItem",a).H("PlayListItem").Q({media:"Video",player:"VideoPlayer",startTime:"number"});a.prototype.start=function(){c.prototype.start.call(this);var a=this.get("player");a&&(a.bind(d.xf,this.Em,this),a.set("video",this.get("media")),a.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(d.xf,this.Em,this),a.get("video")==this.get("media")&& a.set("video",q));c.prototype.stop.call(this)};a.prototype.Em=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(d.xf,this.Em,this),this.get("player").bind(d.xi,this.tp,this),this.XB())};a.prototype.tp=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(d.xi,this.tp,this),this.stop(),this.end())};return a}); define("hb",["require","kG","lh","eQ"],function(a){var b=a("kG"),d=a("lh"),a=a("eQ"),b=b.extend(d,function(){d.call(this)});a.F("VideoResourceLevel",b).H("Object").Q({bitrate:"number",framerate:"number",height:"number",posterURL:"string",type:"string",url:"string",width:"number"}).vi(["posterURL","url"]);return b}); define("ej","require,kG,lh,eQ,la,hb".split(","),function(a){var b=a("kG"),d=a("lh"),c=a("eQ"),g=a("la"),f=a("hb"),a=b.extend(d,function(){d.call(this);this.p4=new f;this.p4.set("type","video/mp4");this.v4=new f;this.v4.set("type","video/ogg");this.b9=new f;this.b9.set("type","video/webm");this.set("gain",1);this.set("hasAudio",n)});c.F("VideoResource",a).H("Object").Q({gain:"number",hasAudio:"bool",height:"number",levels:"array[VideoResourceLevel]",mp4Url:"string",oggUrl:"string",subtitlesURL:"string", webmUrl:"string",width:"number"}).vi(["mp4Url","oggUrl","subtitlesURL","webmUrl"]);a.prototype.get=function(a,b){switch(a){case "levels":var b=[],c=this.get("mp4Url");if(c){this.p4.set("url",c);b.push(this.p4)}if(c=this.get("oggUrl")){this.v4.set("url",c);b.push(this.v4)}if(c=this.get("webmUrl")){this.b9.set("url",c);b.push(this.b9)}b.forEach(function(a){a.set("width",this.get("width"));a.set("height",this.get("height"))}.bind(this))}return d.prototype.get.call(this,a,b)};a.prototype.pi=function(){var a= this.get("webmUrl"),b=this.get("oggUrl"),c=this.get("mp4Url");return c&&g.UW?c:a&&g.s$?a:b&&g.r$?b:c||a||b};return a}); define("do",["require","kG","lh","eQ","eT"],function(a){var b=a("kG");a("lh");var d=a("eQ"),c=a("eT"),a=b.extend(c,function(){c.call(this);this.set("outerRadius",1);this.set("innerRadius",0.7);this.set("opacity",0.3);this.set("color","#000000")});d.F("VignetteModel3DPostprocessing",a).H("Model3DPostprocessing").Q({innerRadius:"number",outerRadius:"number",opacity:"number",color:"color"});return a}); define("dD","require,jquery.mod,kG,nU,t,lB,d,gg".split(","),function(a){var b=a("jquery.mod"),d=a("kG"),c=a("nU"),g=a("t"),f=a("lB"),i=a("d"),e=a("gg"),a=d.extend(i,function(){i.call(this);this.ke("WebFrame");this.NJ=this.gA=this.mc=this.Ld=q;this.J4=this.J4.bind(this);this.RS=this.RS.bind(this);this.bind(c.jc,this.zHa,this,n);this.bind(c.pc,this.yHa,this,n)});a.prototype.ab=function(){i.prototype.ab.call(this);this.f("url");this.f("backgroundColor","#ffffff");this.f("insetBorder",B);this.f("scrollEnabled", n);this.f("unloadWhenHidden",n)};a.prototype.zHa=function(){this.zB("url")};a.prototype.yHa=function(){this.zB("url")};a.prototype.mb=function(){i.prototype.mb.call(this);if(!this.Ld){this.Ld=b("
");this.Ld.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"});this.Ab().append(this.Ld)}if(!this.mc){this.mc=b("");this.mc.css({position:"absolute",left:0,top:0});this.mc.attr("allowfullscreen","true");this.mc.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"); this.Ld.append(this.mc)}if(!this.gA){this.gA=b("
");this.gA.css({"text-shadow":"0 0 5px rgba(255,255,255,0.5)",display:"none",color:"#000000","font-weight":"300","font-family":"Tahoma, Geneva, sans-serif","font-size":g.wb()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"});this.Ld.append(this.gA)}};a.prototype.Ma=function(){if(this.v("url")){var a=this.p("url");a&&this.Ww?this.nna(a):(!a||this.get("unloadWhenHidden"))&& this.nna("");this.I("url")}if(this.v("insetBorder")){this.p("insetBorder")?this.mc.attr("frameborder","1"):this.mc.attr("frameborder","0");this.I("insetBorder")}if(this.v("scrollEnabled")){if(this.p("scrollEnabled")){this.mc.attr("scrolling","auto");this.Ld.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})}else{this.mc.attr("scrolling","no");this.Ld.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})}this.I("scrollEnabled")}i.prototype.Ma.call(this)};a.prototype.Qg=function(){this.mc&& e.css(this.mc.get(0),{width:this.Z+"px",height:this.ja+"px"});i.prototype.Qg.call(this)};a.prototype.refresh=function(){if(this.p("url")&&this.Ww){this.W2();this.pw();this.X7();this.mc.attr("src","");setTimeout(function(){this.Zna();this.Iea();this.mc.attr("src",this.p("url"))}.bind(this),30)}};a.prototype.nna=function(a){if(this.mc.attr("src")!=a){this.W2();if(a){this.Zna();this.Iea()}else{this.pw();this.X7()}this.mc.attr("src",a)}};a.prototype.J4=function(){this.NJ=q;this.FFa()&&this.zKa()};a.prototype.RS= function(){this.W2();this.pw();this.X7()};a.prototype.Iea=function(){this.mc.on("load",this.RS)};a.prototype.X7=function(){this.mc.off("load",this.RS)};a.prototype.pw=function(){if(this.NJ){clearTimeout(this.NJ);this.NJ=q}};a.prototype.Zna=function(){this.pw();this.NJ=setTimeout(this.J4.bind(this),3E3)};a.prototype.FFa=function(){if(window.location.protocol=="https:"){var a=this.mc.attr("src");if(f.parse(a).protocol!="https:")return n}return B};a.prototype.zKa=function(){this.gA.text("A secure web page served over HTTPS can not display insecure content served over HTTP."); this.gA.show()};a.prototype.W2=function(){this.gA.hide()};return a});define("cg",["kG","dD","eQ"],function(a,b,d){a=a.extend(b,function(){b.call(this)});d.F("WebFrame",a).H("UIComponent").Q({url:"string",insetBorder:"bool",scrollEnabled:"bool",unloadWhenHidden:"bool"}).vi(["url"]).Ng({refresh:function(){b.prototype.refresh.call(this)}});return a}); define("lb",["dY","kG","nq","c"],function(a,b,d,c){var g=b.extend(d,function(){d.call(this)});g.lc={layout:c.yg};a.defaults(g.lc,d.lc);g.prototype.ab=function(){this.zn(g.lc)};return g}); define("lM","dY,kG,nU,cs,mk,c,nq,lb,gV,fG,d,mH,mZ,iu".split(","),function(a,b,d,c,g,f,i,e,j,o,k,m,r,p){var t=b.extend(j,function(){j.call(this);this.ke("Window");this.iw=this.UD=this.uM=this.Sk=q;this.N_=new i;this.uE=q;this.P2=this.O2=0;this.BB=this.Nna=B;this.c9=this.d9=l;for(var a in t.SUa)this.zB(a);this.bind(d.tc,this.xNa,this);this.bind(d.iD,this.vNa,this);this.bind(d.uD,this.yNa,this);this.bind(d.ca,this.uNa,this);this.CV=0;this.gf=new i;this.gf.$({visible:B,includeInLayout:B,layout:"absolute", height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:B});this.gf.bind(d.tc,this.Spa,this);this.gf.bind(d.uD,this.pNa,this);this.gf.bind(d.iD,this.oNa,this);this.gf.bind(d.ca,this.nNa,this);this.gf.Oa(this)});t.prototype.set=function(a,b){switch(a){case "maxWidth":this.d9=b;this.tV();break;case "maxHeight":this.c9=b;this.tV();break;case "children":this.N_.set(a,b);break;case "shadow":this.Nna=b;this.Mpa();break;default:j.prototype.set.call(this,a,b)}};t.prototype.show=function(b,c){this.tV(b); this.set("visible",B);this.gf.set("visible",B);this.wza();c&&this.bOa();var d=b.get("children");b.set("children",d.concat([this.gf]));var e=this;a.defer(function(){e.gf.set("visible",n)})};t.prototype.wza=function(){var a=this.p("modal"),b=this.p("veilShowEffect"),c=this.p("veilHideEffect");a&&b?this.gf.set("showEffect",b):this.gf.set("showEffect",q);a&&c?this.gf.set("hideEffect",c):this.gf.set("hideEffect",q)};t.prototype.hide=function(){this.get("visible")&&this.trigger(d.Aba);this.CV=0;this.FU(B); this.set("visible",B)};t.prototype.bOa=function(){this.set("centerX",0);this.set("centerY",0)};t.prototype.get=function(a,b){return a=="children"?this.N_.get(a,b):j.prototype.get.call(this,a,b)};t.Eda={headerBackgroundOpacity:"backgroundOpacity",headerBackgroundColor:"backgroundColor",headerBackgroundColorRatios:"backgroundColorRatios",headerBackgroundColorDirection:"backgroundColorDirection",headerBorderSize:"borderSize",headerBorderLeftSize:"borderLeftSize",headerBorderTopSize:"borderTopSize",headerBorderRightSize:"borderRightSize", headerBorderBottomSize:"borderBottomSize",headerBorderColor:"borderColor",headerBorderLeftColor:"borderLeftColor",headerBorderTopColor:"borderTopColor",headerBorderRightColor:"borderRightColor",headerBorderBottomColor:"borderBottomColor",headerHeight:"height",headerPaddingLeft:"paddingLeft",headerPaddingTop:"paddingTop",headerPaddingRight:"paddingRight",headerPaddingBottom:"paddingBottom",headerVerticalAlign:"verticalAlign"};t.Dda=a(t.Eda).keys();t.TZ={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius", borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};t.SZ=["borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderTopRadius","borderRadius"];t.Wda={title:"text",titleFontFamily:"fontFamily",titleFontSize:"fontSize",titleFontColor:"fontColor",titleFontWeight:"fontWeight",titleFontStyle:"fontStyle",titleHorizontalAlign:"horizontalAlign",titlePaddingLeft:"paddingLeft", titlePaddingTop:"paddingTop",titlePaddingRight:"paddingRight",titlePaddingBottom:"paddingBottom",titleTextDecoration:"textDecoration",titleTextShadowColor:"textShadowColor",titleTextShadowHorizontalLength:"textShadowHorizontalLength",titleTextShadowVerticalLength:"textShadowVerticalLength",titleTextShadowBlurRadius:"textShadowBlurRadius",titleTextShadowOpacity:"textShadowOpacity"};t.Vda=a(t.Wda).keys();t.yda={closeButtonBackgroundColor:"backgroundColor",closeButtonBackgroundColorDirection:"backgroundColorDirection", closeButtonBackgroundColorRatios:"backgroundColorRatios",closeButtonBackgroundOpacity:"backgroundOpacity",closeButtonBorderColor:"borderColor",closeButtonBorderRadius:"borderRadius",closeButtonBorderSize:"borderSize",closeButtonHeight:"height",closeButtonIconColor:"iconColor",closeButtonIconHeight:"iconHeight",closeButtonIconLineWidth:"iconLineWidth",closeButtonIconWidth:"iconWidth",closeButtonOpacity:"opacity",closeButtonWidth:"width",closeButtonPaddingBottom:"paddingBottom",closeButtonPaddingLeft:"paddingLeft", closeButtonPaddingRight:"paddingRight",closeButtonPaddingTop:"paddingTop",closeButtonRollOverBackgroundColor:"rollOverBackgroundColor",closeButtonRollOverBackgroundColorDirection:"rollOverBackgroundColorDirection",closeButtonRollOverBackgroundColorRatios:"rollOverBackgroundColorRatios",closeButtonRollOverBackgroundOpacity:"rollOverBackgroundOpacity",closeButtonRollOverBorderColor:"rollOverBorderColor",closeButtonRollOverBorderSize:"rollOverBorderSize",closeButtonRollOverIconColor:"rollOverIconColor", closeButtonRollOverIconLineWidth:"rollOverIconLineWidth",closeButtonRollOverOpacity:"rollOverOpacity",closeButtonPressedBackgroundColor:"pressedBackgroundColor",closeButtonPressedBackgroundColorDirection:"pressedBackgroundColorDirection",closeButtonPressedBackgroundColorRatios:"pressedBackgroundColorRatios",closeButtonPressedBackgroundOpacity:"pressedBackgroundOpacity",closeButtonPressedBorderColor:"pressedBorderColor",closeButtonPressedBorderSize:"pressedBorderSize",closeButtonPressedIconColor:"pressedIconColor", closeButtonPressedIconLineWidth:"pressedIconLineWidth",closeButtonPressedOpacity:"pressedOpacity"};t.xda=a(t.yda).keys();t.Ada={footerBackgroundOpacity:"backgroundOpacity",footerBackgroundColor:"backgroundColor",footerBackgroundColorRatios:"backgroundColorRatios",footerBackgroundColorDirection:"backgroundColorDirection",footerBorderSize:"borderSize",footerBorderLeftSize:"borderLeftSize",footerBorderTopSize:"borderTopSize",footerBorderRightSize:"borderRightSize",footerBorderBottomSize:"borderBottomSize", footerBorderColor:"borderColor",footerBorderLeftColor:"borderLeftColor",footerBorderTopColor:"borderTopColor",footerBorderRightColor:"borderRightColor",footerBorderBottomColor:"borderBottomColor",footerHeight:"height"};t.zda=a(t.Ada).keys();t.Cda={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius"}; t.Bda=["borderLeftRadius","borderRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomRadius","borderRadius"];t.uda={bodyBackgroundOpacity:"backgroundOpacity",bodyBackgroundColor:"backgroundColor",bodyBackgroundColorRatios:"backgroundColorRatios",bodyBackgroundColorDirection:"backgroundColorDirection",bodyBorderSize:"borderSize",bodyBorderLeftSize:"borderLeftSize",bodyBorderTopSize:"borderTopSize",bodyBorderRightSize:"borderRightSize",bodyBorderBottomSize:"borderBottomSize", bodyBorderColor:"borderColor",bodyBorderLeftColor:"borderLeftColor",bodyBorderTopColor:"borderTopColor",bodyBorderRightColor:"borderRightColor",bodyBorderBottomColor:"borderBottomColor",bodyPaddingLeft:"paddingLeft",bodyPaddingTop:"paddingTop",bodyPaddingRight:"paddingRight",bodyPaddingBottom:"paddingBottom",overflow:"overflow",scrollBarColor:"scrollBarColor",scrollBarWidth:"scrollBarWidth",scrollBarMargin:"scrollBarMargin",scrollBarHorizontalMargin:"scrollBarHorizontalMargin",scrollBarVerticalMargin:"scrollBarVerticalMargin", scrollBarOpacity:"scrollBarOpacity",gap:"gap"};t.tda=a(t.uda).keys();t.vda={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};t.cya=a(t.vda).keys();t.Yda={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};t.Xda=a(t.Yda).keys();t.lc=function(){var b={modal:B,visible:B,centerX:0,centerY:0,veilShowEffect:l,veilHideEffect:l};a.defaults(b,i.lc);for(var c=[].concat(t.Dda,t.Vda, t.xda,t.tda,t.zda,t.Xda),d=0;d0&&this.hide()}.bind(this),100)};t.prototype.uNa=function(){this.CV--};t.prototype.OAa=function(){this.hide()};t.prototype.SEa=function(a){this.O2=a.pageX;this.P2=a.pageY;this.vb().bind(d.ad,this.cqa,this,n);this.vb().bind(d.Wb,this.dqa,this,n)};t.prototype.cqa=function(a){this.set("centerX", this.get("centerX")+(a.pageX-this.O2));this.set("centerY",this.get("centerY")+(a.pageY-this.P2));this.O2=a.pageX;this.P2=a.pageY;this.Lpa()};t.prototype.dqa=function(){this.vb().unbind(d.ad,this.cqa,this);this.vb().unbind(d.Wb,this.dqa,this)};t.prototype.Spa=function(){this.tV()};t.prototype.pNa=function(){this.set("visible",n)};t.prototype.oNa=function(){this.gf.unbind(d.tc,this.Spa,this);var a=this.gf.getParent();a&&a.removeChild(this.gf);this.trigger(new c(d.Ry))};t.prototype.xNa=function(){this.Lpa()}; t.prototype.yNa=function(){this.FU(n)};t.prototype.vNa=function(){this.gf.set("visible",B)};t.prototype.FU=function(a){this.BB=a;this.Mpa()};t.prototype.Mpa=function(){j.prototype.set.call(this,"shadow",this.BB&&this.Nna)};t.prototype.tV=function(a){a||(a=this.aa);this.d9!==l?j.prototype.set.call(this,"maxWidth",this.d9):a?j.prototype.set.call(this,"maxWidth",a.Ua()):j.prototype.set.call(this,"maxWidth",l);this.c9!==l?j.prototype.set.call(this,"maxHeight",this.c9):a?j.prototype.set.call(this,"maxHeight", a.Cb()):j.prototype.set.call(this,"maxHeight",l)};t.prototype.Lpa=function(){var a=this.gf.Ua(),b=this.Ua(),c=this.get("centerX"),b=a*0.5+c-b*0.5,d=this.Sk.Bl(),e=this.Sk.Ua(),f=Math.min(e,30),a=a-d-f,d=-(d+e-f);ba&&this.set("centerX",c-(b-a));a=this.gf.Cb();b=this.Cb();c=this.get("centerY");b=a*0.5+c-b*0.5;d=this.Sk.bs();e=this.Sk.Cb();f=Math.min(e,5);a=a-d-f;d=-(d+e-f);ba&&this.set("centerY",c-(b-a))};t.prototype.Ma=function(){this.Yb(t.Dda, t.Eda,[this.Sk],n,n);this.Yb(t.SZ,t.TZ,[this.Sk],n,B);this.get("headerHeight")===0?this.Yb(t.SZ,t.TZ,[this.iw],n,B):this.Yb(t.SZ,t.TZ,[this.Sk],n,B);this.Yb(t.Vda,t.Wda,[this.uM],n,n);this.Yb(t.xda,t.yda,[this.UD],n,n);this.Yb(t.tda,t.uda,[this.iw],n,n);this.Yb(t.cya,t.vda,[this.iw],n,B);this.Yb(t.zda,t.Ada,[this.uE],n,n);this.get("footerHeight")===0?this.Yb(t.Bda,t.Cda,[this.iw],n,B):this.Yb(t.Bda,t.Cda,[this.uE],n,B);if(this.p("modal")){this.Yb(t.Xda,t.Yda,[this.gf],n,n);this.gf.set("contentOpaque", n)}else{this.gf.set("backgroundOpacity",0);this.gf.set("contentOpaque",B)}this.$({layout:f.nh,horizontalAlign:g.ae,verticalAlign:g.Ad});j.prototype.Ma.call(this);this.Gn.NX(0)};return t}); define("dZ",["dY","kG","lM","eQ","nU"],function(a,b,d,c,g){a=b.extend(d,function(){d.call(this)});c.F("Window",a).H("Container").Q({modal:"bool",headerBackgroundOpacity:"number",headerBackgroundColor:"or[array[color], color]",headerBackgroundColorRatios:"array[number]",headerBackgroundColorDirection:"enum[horizontal, vertical]",headerBorderSize:"number",headerBorderLeftSize:"number",headerBorderTopSize:"number",headerBorderRightSize:"number",headerBorderBottomSize:"number",headerBorderColor:"color", headerBorderLeftColor:"color",headerBorderTopColor:"color",headerBorderRightColor:"color",headerBorderBottomColor:"color",headerHeight:"number",headerPaddingLeft:"number",headerPaddingTop:"number",headerPaddingRight:"number",headerPaddingBottom:"number",headerVerticalAlign:"enum[bottom, middle, top]",title:"string",titleFontFamily:"string",titleFontSize:"or[number, size]",titleFontColor:"color",titleFontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]",titleFontStyle:"enum[italic, normal]", titleHorizontalAlign:"enum[left, center, right]",titlePaddingLeft:"number",titlePaddingTop:"number",titlePaddingRight:"number",titlePaddingBottom:"number",titleTextDecoration:"enum[underline, overline, line-through, none]",titleTextShadowBlurRadius:"number",titleTextShadowColor:"color",titleTextShadowHorizontalLength:"number",titleTextShadowOpacity:"number",titleTextShadowVerticalLength:"number",closeButtonBackgroundColor:"or[array[color], color]",closeButtonBackgroundColorDirection:"enum[horizontal, vertical]", closeButtonBackgroundColorRatios:"array[number]",closeButtonBackgroundOpacity:"number",closeButtonBorderColor:"color",closeButtonBorderRadius:"number",closeButtonBorderSize:"number",closeButtonHeight:"number",closeButtonIconColor:"color",closeButtonIconHeight:"number",closeButtonIconLineWidth:"number",closeButtonIconWidth:"number",closeButtonOpacity:"number",closeButtonWidth:"number",closeButtonPaddingBottom:"number",closeButtonPaddingLeft:"number",closeButtonPaddingRight:"number",closeButtonPaddingTop:"number", closeButtonRollOverBackgroundColor:"or[array[color], color]",closeButtonRollOverBackgroundColorDirection:"enum[horizontal, vertical]",closeButtonRollOverBackgroundColorRatios:"array[number]",closeButtonRollOverBackgroundOpacity:"number",closeButtonRollOverBorderColor:"color",closeButtonRollOverBorderSize:"number",closeButtonRollOverIconColor:"color",closeButtonRollOverIconLineWidth:"number",closeButtonRollOverOpacity:"number",closeButtonPressedBackgroundColor:"or[array[color], color]",closeButtonPressedBackgroundColorDirection:"enum[horizontal, vertical]", closeButtonPressedBackgroundColorRatios:"array[number]",closeButtonPressedBackgroundOpacity:"number",closeButtonPressedBorderColor:"color",closeButtonPressedBorderSize:"number",closeButtonPressedIconColor:"color",closeButtonPressedIconLineWidth:"number",closeButtonPressedOpacity:"number",footerBackgroundOpacity:"number",footerBackgroundColor:"or[array[color], color]",footerBackgroundColorRatios:"array[number]",footerBackgroundColorDirection:"enum[horizontal, vertical]",footerBorderSize:"number",footerBorderLeftSize:"number", footerBorderTopSize:"number",footerBorderRightSize:"number",footerBorderBottomSize:"number",footerBorderColor:"color",footerBorderLeftColor:"color",footerBorderTopColor:"color",footerBorderRightColor:"color",footerBorderBottomColor:"color",footerHeight:"number",bodyBackgroundOpacity:"number",bodyBackgroundColor:"or[array[color], color]",bodyBackgroundColorRatios:"array[number]",bodyBackgroundColorDirection:"enum[horizontal, vertical]",bodyBorderSize:"number",bodyBorderLeftSize:"number",bodyBorderTopSize:"number", bodyBorderRightSize:"number",bodyBorderBottomSize:"number",bodyBorderColor:"color",bodyBorderLeftColor:"color",bodyBorderTopColor:"color",bodyBorderRightColor:"color",bodyBorderBottomColor:"color",bodyPaddingLeft:"number",bodyPaddingTop:"number",bodyPaddingRight:"number",bodyPaddingBottom:"number",veilOpacity:"number",veilColor:"or[array[color], color]",veilColorRatios:"array[number]",veilColorDirection:"enum[horizontal, vertical]",veilHideEffect:"Effect",veilShowEffect:"Effect"}).vs(["titleFontSize"]).Ng({show:a.prototype.show, hide:a.prototype.hide}).hc([g.Aba,g.Ry]);return a}); define("mo","require,jquery.mod,dY,jU,nU,hy,cs,fQ,bg,nx,bC,jR,lv,t,kG".split(","),function(a){function b(a){this.source=a;this.width=this.source.get("width");this.height=this.source.get("height");this.url=this.source.get("url");this.bH=this.source.get("grayscale");this.iv=new r(i.qn)}var d=a("jquery.mod"),c=a("dY"),g=a("jU"),f=a("nU"),i=a("hy"),e=a("cs"),j=a("fQ"),o=a("bg"),k=a("nx"),m=a("bC"),r=a("jR"),p=a("lv"),t=a("t"),s=a("kG"),u=s.extend(j,function(){j.call(this);this.QS=this.QS.bind(this);this.Ag= q;this.ee=[];this.wm=[];this.Lb=this.sb=this.qd=this.gd=100;this.Oe=1;this.ow=this.nw=0.5;this.qc=1;this.fj=this.Hi=q;this.ET=B;this.E0={};this.$D={};this.$D.low={};this.$D.hight={};if(t.HG()==t.OH){this.$D.low.transform="translateZ(0)";this.$D.hight.transform=""}this.N=B;this.vh="inherit";this.ea=d("
").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.pJ=q;this.ye=s.jq(this.X,this)});u.prototype.Mc=S("ea");u.prototype.Fy=function(a){if(this.ef!=a){this.ef=a;this.B_(1); this.ye()}};u.prototype.WRa=function(a){if(this.vh!=a){this.vh=a;this.fj&&this.fj.css("cursor",this.vh);this.Hi&&this.Hi.css("cursor",this.vh)}};u.prototype.kSa=function(a){if(this.ee!=a){this.ee&&g.na(this.ee,["levels.url"],this.QS,n);(this.ee=a)&&g.pa(this.ee,["levels.url"],this.QS,n)}};u.prototype.QS=function(){this.e0();this.Ag=q;if(this.Hi){this.Hi.detach();this.Hi=q}if(this.fj){this.fj.detach();this.fj=q}if(this.Qf)this.Qf=q;this.e0();this.ET=B;c(this.wm).each(function(a){a.iv.cancel();a.iv.unbind(f.U, this.Lia,this)},this);var a=(this.ee&&this.ee.get("levels")||[]).filter(function(a){return a.get("url")});this.wm=c(a).map(function(a){a=new b(a);a.iv.bind(f.U,this.Lia,this);return a},this);if(a=this.VDa()){this.sb=a.width;this.Lb=a.height}else this.Lb=this.sb=100;this.ow=this.nw=0.5;this.B_(1);this.ye()};u.prototype.EC=function(a,b){if(this.gd!=a||this.qd!=b){this.gd=a;this.qd=b;this.ye()}};u.prototype.XRa=function(a,b){if(this.$fa!=a||this.Zfa!=b){this.$fa=a;this.Zfa=b;this.ye()}};u.prototype.yd= function(a){if(this.N!=a){this.N=a;this.ye()}};u.prototype.move=function(a,b){var c=this.Oe*this.qc;this.nw=this.nw+a/(this.sb*c);this.ow=this.ow+b/(this.Lb*c);this.dU()};u.prototype.nC=S("qc");u.prototype.setScale=function(a){this.B_(Math.max(1,Math.min(1/this.Oe,a)));this.Ag&&this.Ag.width=0&&a>=0&&cthis.Lb*this.gd?this.qd/this.Lb:this.gd/this.sb;break;case p.Hwa:a=Math.min(this.$fa/this.sb,this.Zfa/this.Lb);break;default:a=this.sb*this.qd>this.Lb* this.gd?this.gd/this.sb:this.qd/this.Lb}this.sza(a)};u.prototype.Lia=function(){this.ye()};u.prototype.fCa=function(a){if(this.fj){this.M6(this.fj,1);this.Hi&&this.Hi.detach();this.Hi=this.fj}this.fj=this.zBa(a);this.M6(this.fj,0);this.ea.append(this.fj);this.Qf=this.qBa();this.E0={}};u.prototype.cEa=function(){return this.Ag?this.oDa(this.qc*this.Oe*this.sb):this.yEa()};u.prototype.tna=function(a){c(this.wm).each(function(b){b==a?b.iv.pi()!=b.url&&b.iv.load(b.url):b.iv.El()||b.iv.cancel()})};u.prototype.VDa= function(){return c(this.wm).reduce(function(a,b){a||(a=b);if(b.width>a.width||b.width==a.width&&!b.bH&&a.bH)a=b;return a},q)};u.prototype.yEa=function(){return c(this.wm).reduce(function(a,b){a||(a=b);if(b.width=a&&b.width=a&&c.widthb.width||!c.bH&&b.bH)b=c;return b},q)};u.prototype.zBa=function(a){a=d(a.iv.jf(n)); a.css({position:"absolute",cursor:this.vh,"pointer-events":"none"});return a};u.prototype.qBa=function(){return new k("linear",[new m("alpha",0,1)],200)};u.prototype.dU=function(){o.yb(function(a){this.DL(a,"low")},this)};u.prototype.Z9=function(){return this.sb*this.qc*this.Oe};u.prototype.Y9=function(){return this.Lb*this.qc*this.Oe};u.prototype.Dra=function(){var a=this.Z9();return a>this.gd?Math.max(this.gd-a,Math.min(0,this.gd*0.5-a*this.nw)):(this.gd-a)*0.5};u.prototype.Era=function(){var a= this.Y9();return a>this.qd?Math.max(this.qd-a,Math.min(0,this.qd*0.5-a*this.ow)):(this.qd-a)*0.5};u.prototype.DL=function(a,b){var b=b||"low",c=this.Z9(),d=this.Dra(),g=this.Y9(),i=this.Era();this.nw=(this.gd*0.5-d)/c;this.ow=(this.qd*0.5-i)/g;var c={left:Math.round(d)+"px",top:Math.round(i)+"px",width:Math.round(c)+"px",height:Math.round(g)+"px",display:"block"},j;for(j in this.$D[b])c[j]=this.$D[b][j];if(this.E0!=c){this.Hi&&this.Hi.css(c);this.fj&&this.fj.css(c);this.E0=c}this.e0();if(this.Qf){this.Qf.xb(a); this.M6(this.fj,this.Qf.gb("alpha"));if(this.Qf.Te()){this.Qf=q;this.Hi&&this.Hi.detach();this.Hi=this.fj;this.fj=q}this.dU()}else b=="low"&&this.KKa();if(!this.Qf&&this.ET){this.ET=B;this.trigger(new e(f.U))}};u.prototype.M6=function(a,b){a.css({opacity:b,filter:"alpha(opacity="+Math.round(b*100)+")","-ms-filter":"alpha(opacity="+Math.round(b*100)+")"})};u.prototype.e0=function(){if(this.pJ!=q){clearTimeout(this.pJ);this.pJ=q}};u.prototype.KKa=function(){var a=this;this.pJ=setTimeout(function(){a.pJ= q;a.DL(50,"hight")},50)};u.prototype.B_=function(a){if(this.qc!=a){this.qc=a;this.ULa()}};u.prototype.sza=function(a){if(this.Oe!=a)this.Oe=a};u.prototype.ULa=function(){this.trigger(new e(u.RH,{scale:this.qc}))};u.RH="scaleChange";return u}); define("jI","require,jquery.mod,nU,cs,mo,kG,d,S".split(","),function(a){a("jquery.mod");var b=a("nU"),d=a("cs"),c=a("mo"),g=a("kG"),f=a("d"),i=a("S"),e=g.extend(f,function(){f.call(this);this.ke("ZoomImage");this.vu=this.Km=l;this.zj=B;this.Xla=l;this.nia=this.qc;this.VM=q;this.h=new c;this.h.bind(b.U,this.fHa,this);this.h.bind(c.RH,this.gHa,this);this.Ab().append(this.h.Mc());this.bind(b.tc,this.Vb,this,n);this.bind(b.jc,this.gk,this,n);this.bind(b.pc,this.ck,this,n);this.bind(b.zb,this.Fd,this, n);this.bind(b.ad,this.pj,this,n);this.bind(b.Wb,this.qj,this,n);this.bind(b.xq,this.QA,this,n);this.bind(b.fD,this.nA,this,n)});e.prototype.set=function(a,b){switch(a){case "scale":this.h.setScale(b);b=this.h.nC();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}f.prototype.set.call(this,a,b)};e.prototype.get=function(a,b){switch(a){case "scale":return this.h.nC();case "imageLeft":return this.h.Dra();case "imageTop":return this.h.Era();case "imageWidth":return this.h.Z9(); case "imageHeight":return this.h.Y9()}return f.prototype.get.call(this,a,b)};e.prototype.ab=function(){f.prototype.ab.call(this);this.f("image");this.f("scaleMode");this.f("customHeight");this.f("customWidth");this.f("imageCursor");this.f("imageLeft");this.f("imageTop");this.f("imageWidth");this.f("imageHeight")};e.prototype.Ma=function(){if(this.v("scaleMode")){this.h.Fy(this.p("scaleMode"));this.I("scaleMode")}if(this.v("image")){this.h.kSa(this.p("image"));this.I("image");this.nia=this.qc}if(this.v("customHeight")|| this.v("customWidth")){this.I("customHeight");this.I("customWidth");this.Vb()}if(this.v("imageCursor")){this.I("imageCursor");this.h.WRa(this.Sa.T0.xra(this.get("imageCursor")))}f.prototype.Ma.call(this)};e.prototype.Vb=function(){var a=this.Ua(),b=this.Cb(),c=this.get("customWidth","100%"),d=i.po(c),c=d!==l?a*d/100:c,d=this.get("customHeight","100%"),e=i.po(d);this.h.XRa(c,e!==l?b*e/100:d);this.h.EC(a,b)};e.prototype.gk=function(){this.h.yd(n)};e.prototype.ck=function(){this.h.yd(B)};e.prototype.Fd= function(a){this.Km=a.x;this.vu=a.y;this.zj=n;this.Xla=this.h.Usa(a)};e.prototype.pj=function(a){if(this.zj){this.O8();this.h.move(-(a.x-this.Km),-(a.y-this.vu));this.Km=a.x;this.vu=a.y}};e.prototype.qj=function(a){this.zj=B;!this.Xla&&!this.h.Usa(a)&&this.trigger(new d(e.Nba))};e.prototype.QA=function(a){this.O8();this.h.setScale((1+a.delta/20)*this.h.nC())};e.prototype.nA=function(a){this.O8();this.h.setScale(a.scale/this.nia)};e.prototype.fHa=function(){this.trigger(new d(b.U))};e.prototype.gHa= function(){f.prototype.set.call(this,"scale",this.h.nC());this.trigger(new d(e.RH))};e.prototype.O8=function(){if(this.VM){clearTimeout(this.VM);this.VM=q}else this.trigger(new d(e.xg));this.VM=setTimeout(function(){this.VM=q;this.trigger(new d(e.wg))}.bind(this),300)};e.Nba="backgroundClick";e.RH="scaleChange";e.xg="userInteractionStart";e.wg="userInteractionEnd";return e}); define("nb",["kG","nU","jI","eQ"],function(a,b,d,c){a=a.extend(d,function(){d.call(this)});c.F("ZoomImage",a).H("UIComponent").Q({scaleMode:"enum[fit_inside, fit_outside, fit_to_width, fit_to_height, custom]",customHeight:"or[number,percent]",customWidth:"or[number,percent]",image:"ImageResource",imageCursor:"enum[default, hand]",imageHeight:"number",imageLeft:"number",imageTop:"number",imageWidth:"number",scale:"number"}).hc([d.Nba,d.RH,d.xg,d.wg,b.U]);return Image}); define("iz","ik,hB,mV,eg,dU,eE,nt,jb,fM,fx,ht,iI,jy,lg,nC,gN,hK,G,gt,fq,di,by,jk,mT,je,kb,lQ,fl,o,iE,dN,hX,nJ,mg,jj,mA,hP,ln,gJ,N,cF,s,kW,fO,Y,jD,bw,bl,mz,nn,eS,lr,kT,iB,bH,nu,iR,mw,kq,R,ou,fH,B,ee,is,bR,be,ba,eY,gv,ic,iL,ok,eT,jm,lD,hZ,n,dB,jT,hx,lL,ib,dW,ie,or,gR,kh,br,cz,bJ,kO,hY,bj,oi,fP,nA,cu,cw,kK,nT,iT,gh,jB,gf,kV,mG,hp,jL,jZ,en,ig,ci,eD,hN,T,nV,gM,gb,bD,io,fi,dA,jK,eH,lS,lw,eX,gm,eF,ce,hS,nc,lI,nB,kS,ng,gw,eZ,gc,dg,mh,hu,mf,jz,gX,bT,iO,ds,bK,jv,iW,nH,no,gD,cb,kz,e,ej,hb,do,bx,cg,dZ,nb".split(","),T(n)); define("fW","require,dY,jquery.mod,kG,eQ,bS,iz,lB".split(","),function(a){function b(a,b){this.type=a;this.stack=b}function d(){}var c=a("dY"),g=a("jquery.mod"),f=a("kG"),i=a("eQ"),e=a("bS");a("iz");a("lB");d.prototype.ZQa=function(a,b,c,d){this.D1=[];this.Ox=this.FF(a);this.AA=l;if(this.Ox.Wr.Hra()){this.Q8=e.validate(a);this.AA=this.aha(this.Ox,j.sn);this.CBa(this.AA,this.Ox,b,c,d);this.nza(this.Ox);this.lza(this.Ox,this.AA);this.oza(this.AA,this.Ox);this.Fza(this.AA,this.Ox)}else this.Jo("Invalid root class", []);return this.D1.length==0};d.prototype.vb=function(){return this.Ox.Zd};d.prototype.FF=function(a,b){b=b||[];return c(a).isArray()?this.jIa(a,b):g.isPlainObject(a)&&a["class"]?this.mIa(a,b):g.isPlainObject(a)?this.kIa(a,b):c(a).isFunction()?this.lIa(a,b):this.nIa(a,b)};d.prototype.jIa=function(a,b){for(var c=[],d=0;d> ")+": "+a)};b.prototype.Db=function(){return[]};b.prototype.ls=I();var j=f.extend(b,function(a,c,d,e,f,g){b.call(this,j.sn,a);this.Wr=c;this.id=d;this.attributes= e;this.cC=f;this.scripts=g;this.Zd=q});j.prototype.Db=function(){var a=this.Wr.Qra(),b=[],d=c(this.attributes).clone();if(a)for(var e=0;e0?d.push("v:"+m.UN+"."+m.YN):d.push("v:"+m.YN);t.log(d.join(" "));this.ro=b;if(j.rQa()||[i.WC,i.Fv].indexOf(i.browser())>=0){this.jl=new f;if(c=this.ro.get(TDV.PlayerSettings.BASE_DIR_URL)){c= j.yv(c);c[c.length-1]!="/"&&(c=c+"/")}else c=j.getDirectory(this.ro.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL));this.faa=this.ro.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);e.kRa(c,function(a){this.q9=a;this.IHa()}.bind(this))}else window.alert(r("web-server-required"))}var d=a("dY"),c=a("nU");a("cs");var g=a("eQ"),f=a("fW"),i=a("t"),e=a("eG"),j=a("lB"),o=a("bu"),k=a("gZ"),m=a("mq"),r=a("nS"),p=a("mt"),t=a("kG");b.prototype.IHa=function(){this.qM.trigger(new TDV.oP(c.Exa,{},[],l));d.defer(function(){if(!this.jl.ZQa(this.ro.get(TDV.PlayerSettings.SCRIPT_DATA), this.ro.get(TDV.PlayerSettings.CONTAINER),this.q9,this.faa)){if(m.ETa!="false"){window.alert(this.Kha());return}t.log(this.Kha())}this.Dza();this.cza(this.ro);this.qza();o.hq(function(){this.WLa()}.bind(this))}.bind(this))};b.prototype.clear=function(){if(this.jl){this.Aha().forEach(function(a){a.Zd.pba();a.Wr.FN().forEach(function(b){switch(b){case "VideoPlayer":a.Zd.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":case "VideoPlayer":a.Zd.set("viewerArea", q);break;case "ZoomImage":a.Zd.set("image",q);break;case "Audio":a.Zd.stop();break;case "Effect":a.Zd.end();break;case "Media":a.Zd.yRa()}})});k.dRa();this.jl.vb().clear();s={};this.ro=this.jl=q}};b.prototype.APa=function(a){return this.jl.vb()[a]};b.prototype.Gj=function(a){if(a in s)return s[a].slice();var b=[];this.Aha().forEach(function(c){var e=c.Wr.FN();d(e).contains(a)&&b.push(c.Zd)});s[a]=b;return b.slice()};b.prototype.Aha=function(){return!this.jl?[]:this.jl.AA.concat(this.BQ)};var s={}; b.prototype.aq=function(a){var b=g.Gj(a);b||h("Invalid className: "+a);s={};var a=this.jl.vb(),c={};c.Wr=b;c.Zd=b.aq(a,this.q9,this.faa);this.BQ.push(c);this.Hea(b,c.Zd,l);return c.Zd};b.prototype.NG=function(a){var b=this.BQ.findIndex(function(b){return b.Zd==a});if(!(b<0)){s={};this.BQ.splice(b,1);a.pba();a.dispose&&a.dispose()}};b.prototype.Kha=function(){for(var a=this.jl.D1,b=["Errors parsing script file:"],c=0;c>8&255]+ft[t>>16&255]+ft[t>>24&255]+"-"+ft[255&e]+ft[e>>8&255]+"-"+ft[e>>16&15|64]+ft[e>>24&255]+"-"+ft[63&i|128]+ft[i>>8&255]+"-"+ft[i>>16&255]+ft[i>>24&255]+ft[255&n]+ft[n>>8&255]+ft[n>>16&255]+ft[n>>24&255]).toLowerCase()}function _t(t,e,i){return Math.max(e,Math.min(i,t))}function Mt(t,e){return(t%e+e)%e}function bt(t,e,i){return(1-i)*t+i*e}function wt(t){return 0==(t&t-1)&&0!==t}function St(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function Tt(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var At=Object.freeze({__proto__:null,DEG2RAD:vt,RAD2DEG:xt,generateUUID:yt,clamp:_t,euclideanModulo:Mt,mapLinear:function(t,e,i,n,r){return n+(t-e)*(r-n)/(i-e)},inverseLerp:function(t,e,i){return t!==e?(i-t)/(e-t):0},lerp:bt,damp:function(t,e,i,n){return bt(t,e,1-Math.exp(-i*n))},pingpong:function(t,e=1){return e-Math.abs(Mt(t,2*e)-e)},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*t*(t*(6*t-15)+10)},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())},seededRandom:function(t){void 0!==t&&(gt=t);let e=gt+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*vt},radToDeg:function(t){return t*xt},isPowerOfTwo:wt,ceilPowerOfTwo:St,floorPowerOfTwo:Tt,setQuaternionFromProperEuler:function(t,e,i,n,r){const s=Math.cos,a=Math.sin,o=s(i/2),l=a(i/2),c=s((e+n)/2),h=a((e+n)/2),u=s((e-n)/2),d=a((e-n)/2),p=s((n-e)/2),m=a((n-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r);}},normalize:function(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.");}},denormalize:function(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.");}}});class Et{constructor(t=0,e=0){Et.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(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);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(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(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(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(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,i=this.y,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6],this.y=n[1]*e+n[4]*i+n[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(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(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,i=this.y-t.y;return e*e+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,i){return void 0!==i&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const i=Math.cos(e),n=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*i-s*n+t.x,this.y=r*n+s*i+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ct{constructor(){Ct.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,i,n,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=n,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=i,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}extractBasis(t,e,i){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const 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}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const i=t.elements,n=e.elements,r=this.elements,s=i[0],a=i[3],o=i[6],l=i[1],c=i[4],h=i[7],u=i[2],d=i[5],p=i[8],m=n[0],f=n[3],g=n[6],v=n[1],x=n[4],y=n[7],_=n[2],M=n[5],b=n[8];return r[0]=s*m+a*v+o*_,r[3]=s*f+a*x+o*M,r[6]=s*g+a*y+o*b,r[1]=l*m+c*v+h*_,r[4]=l*f+c*x+h*M,r[7]=l*g+c*y+h*b,r[2]=u*m+d*v+p*_,r[5]=u*f+d*x+p*M,r[8]=u*g+d*y+p*b,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-i*r*c+i*a*o+n*r*l-n*s*o}invert(){const t=this.elements,e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+i*u+n*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(n*l-c*i)*m,t[2]=(a*i-n*s)*m,t[3]=u*m,t[4]=(c*e-n*o)*m,t[5]=(n*r-a*e)*m,t[6]=d*m,t[7]=(i*o-l*e)*m,t[8]=(s*e-i*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,i,n,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(i*o,i*l,-i*(o*s+l*a)+s+t,-n*l,n*o,-n*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){const i=this.elements;return i[0]*=t,i[3]*=t,i[6]*=t,i[1]*=e,i[4]*=e,i[7]*=e,this}rotate(t){const e=Math.cos(t),i=Math.sin(t),n=this.elements,r=n[0],s=n[3],a=n[6],o=n[1],l=n[4],c=n[7];return n[0]=e*r+i*o,n[3]=e*s+i*l,n[6]=e*a+i*c,n[1]=-i*r+e*o,n[4]=-i*s+e*l,n[7]=-i*a+e*c,this}translate(t,e){const i=this.elements;return i[0]+=t*i[2],i[3]+=t*i[5],i[6]+=t*i[8],i[1]+=e*i[2],i[4]+=e*i[5],i[7]+=e*i[8],this}equals(t){const e=this.elements,i=t.elements;for(let t=0;t<9;t++)if(e[t]!==i[t])return!1;return!0}fromArray(t,e=0){for(let i=0;i<9;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){const i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t}clone(){return new this.constructor().fromArray(this.elements)}}function Lt(t){for(let e=t.length-1;e>=0;--e)if(t[e]>65535)return!0;return!1}const Rt={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Pt(t,e){return new Rt[t](e)}function It(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function Dt(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Nt(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}const Ot={[lt]:{[ct]:Dt},[ct]:{[lt]:Nt}},zt={legacyMode:!0,get workingColorSpace(){return ct},set workingColorSpace(t){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(t,e,i){if(this.legacyMode||e===i||!e||!i)return t;if(Ot[e]&&void 0!==Ot[e][i]){const n=Ot[e][i];return t.r=n(t.r),t.g=n(t.g),t.b=n(t.b),t}throw new Error("Unsupported color space conversion.")},fromWorkingColorSpace:function(t,e){return this.convert(t,this.workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this.workingColorSpace)}},Ft={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Bt={r:0,g:0,b:0},Ut={h:0,s:0,l:0},kt={h:0,s:0,l:0};function Gt(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}function Vt(t,e){return e.r=t.r,e.g=t.g,e.b=t.b,e}class Ht{constructor(t,e,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===e&&void 0===i?this.set(t):this.setRGB(t,e,i)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e="srgb"){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,zt.toWorkingColorSpace(this,e),this}setRGB(t,e,i,n="srgb-linear"){return this.r=t,this.g=e,this.b=i,zt.toWorkingColorSpace(this,n),this}setHSL(t,e,i,n="srgb-linear"){if(t=Mt(t,1),e=_t(e,0,1),i=_t(i,0,1),0===e)this.r=this.g=this.b=i;else{const n=i<=.5?i*(1+e):i+e-i*e,r=2*i-n;this.r=Gt(r,n,t+1/3),this.g=Gt(r,n,t),this.b=Gt(r,n,t-1/3)}return zt.toWorkingColorSpace(this,n),this}setStyle(t,e="srgb"){function i(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let t;const r=n[1],s=n[2];switch(r){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,zt.toWorkingColorSpace(this,e),i(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,zt.toWorkingColorSpace(this,e),i(t[4]),this;break;case"hsl":case"hsla":if(t=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s)){const n=parseFloat(t[1])/360,r=parseInt(t[2],10)/100,s=parseInt(t[3],10)/100;return i(t[4]),this.setHSL(n,r,s,e)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],i=t.length;if(3===i)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,zt.toWorkingColorSpace(this,e),this;if(6===i)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,zt.toWorkingColorSpace(this,e),this}return t&&t.length>0?this.setColorName(t,e):this}setColorName(t,e="srgb"){const i=Ft[t.toLowerCase()];return void 0!==i?this.setHex(i,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Dt(t.r),this.g=Dt(t.g),this.b=Dt(t.b),this}copyLinearToSRGB(t){return this.r=Nt(t.r),this.g=Nt(t.g),this.b=Nt(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t="srgb"){return zt.fromWorkingColorSpace(Vt(this,Bt),t),_t(255*Bt.r,0,255)<<16^_t(255*Bt.g,0,255)<<8^_t(255*Bt.b,0,255)<<0}getHexString(t="srgb"){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e="srgb-linear"){zt.fromWorkingColorSpace(Vt(this,Bt),e);const i=Bt.r,n=Bt.g,r=Bt.b,s=Math.max(i,n,r),a=Math.min(i,n,r);let o,l;const c=(a+s)/2;if(a===s)o=0,l=0;else{const t=s-a;switch(l=c<=.5?t/(s+a):t/(2-s-a),s){case i:o=(n-r)/t+(n2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=It("canvas");e.width=t.width,e.height=t.height;const i=e.getContext("2d");i.drawImage(t,0,0,t.width,t.height);const n=i.getImageData(0,0,t.width,t.height),r=n.data;for(let t=0;t1)switch(this.wrapS){case c:t.x=t.x-Math.floor(t.x);break;case h:t.x=t.x<0?0:1;break;case u: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 c:t.y=t.y-Math.floor(t.y);break;case h:t.y=t.y<0?0:1;break;case u:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}}Zt.DEFAULT_IMAGE=null,Zt.DEFAULT_MAPPING=n;class Jt{constructor(t=0,e=0,i=0,n=1){Jt.prototype.isVector4=!0,this.x=t,this.y=e,this.z=i,this.w=n}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .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.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .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.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,i=this.y,n=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*i+s[8]*n+s[12]*r,this.y=s[1]*e+s[5]*i+s[9]*n+s[13]*r,this.z=s[2]*e+s[6]*i+s[10]*n+s[14]*r,this.w=s[3]*e+s[7]*i+s[11]*n+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,i,n,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)o&&t>v?tv?o=0?1:-1,n=1-e*e;if(n>Number.EPSILON){const r=Math.sqrt(n),s=Math.atan2(r,e*i);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*i;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,i,n,r,s){const a=i[n],o=i[n+1],l=i[n+2],c=i[n+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,i,n){return this._x=t,this._y=e,this._z=i,this._w=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const i=t._x,n=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(i/2),c=a(n/2),h=a(r/2),u=o(i/2),d=o(n/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s);}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const i=e/2,n=Math.sin(i);return this._x=t.x*n,this._y=t.y*n,this._z=t.z*n,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,i=e[0],n=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=i+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-n)*t}else if(i>a&&i>h){const t=2*Math.sqrt(1+i-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(n+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-i-h);this._w=(r-l)/t,this._x=(n+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-i-a);this._w=(s-n)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let i=t.dot(e)+1;return iMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=i):(this._x=0,this._y=-t.z,this._z=t.y,this._w=i)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=i),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(_t(this.dot(t),-1,1)))}rotateTowards(t,e){const i=this.angleTo(t);if(0===i)return this;const n=Math.min(1,e/i);return this.slerp(t,n),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let 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(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(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const i=t._x,n=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=i*c+s*a+n*l-r*o,this._y=n*c+s*o+r*a-i*l,this._z=r*c+s*l+i*o-n*a,this._w=s*c-i*a-n*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const i=this._x,n=this._y,r=this._z,s=this._w;let a=s*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=s,this._x=i,this._y=n,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*i+e*this._x,this._y=t*n+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=i*h+this._x*u,this._y=n*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,i){return this.copy(t).slerp(e,i)}random(){const t=Math.random(),e=Math.sqrt(1-t),i=Math.sqrt(t),n=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(e*Math.cos(n),i*Math.sin(r),i*Math.cos(r),e*Math.sin(n))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ee{constructor(t=0,e=0,i=0){ee.prototype.isVector3=!0,this.x=t,this.y=e,this.z=i}set(t,e,i){return void 0===i&&(i=this.z),this.x=t,this.y=e,this.z=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(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);}return this}getComponent(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(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(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(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(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(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(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(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(ne.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ne.setFromAxisAngle(t,e))}applyMatrix3(t){const 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}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,i=this.y,n=this.z,r=t.elements,s=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])*s,this.y=(r[1]*e+r[5]*i+r[9]*n+r[13])*s,this.z=(r[2]*e+r[6]*i+r[10]*n+r[14])*s,this}applyQuaternion(t){const e=this.x,i=this.y,n=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*n-a*i,c=o*i+a*e-r*n,h=o*n+r*i-s*e,u=-r*e-s*i-a*n;return this.x=l*o+u*-r+c*-a-h*-s,this.y=c*o+u*-s+h*-r-l*-a,this.z=h*o+u*-a+l*-s-c*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const 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(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(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(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(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(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(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(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this.z=t.z+(e.z-t.z)*i,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const i=t.x,n=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=n*o-r*a,this.y=r*s-i*o,this.z=i*a-n*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const i=t.dot(this)/e;return this.copy(t).multiplyScalar(i)}projectOnPlane(t){return ie.copy(this).projectOnVector(t),this.sub(ie)}reflect(t){return this.sub(ie.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const i=this.dot(t)/e;return Math.acos(_t(i,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,i){const n=Math.sin(e)*t;return this.x=n*Math.sin(i),this.y=Math.cos(e)*t,this.z=n*Math.cos(i),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,i){return this.x=t*Math.sin(e),this.y=i,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const 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(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,i){return void 0!==i&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,i=Math.sqrt(1-t**2);return this.x=i*Math.cos(e),this.y=i*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const ie=new ee,ne=new te;class re{constructor(t=new ee(1/0,1/0,1/0),e=new ee(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,i=1/0,n=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.length;or&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,i,n),this.max.set(r,s,a),this}setFromBufferAttribute(t){let e=1/0,i=1/0,n=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.count;or&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,i,n),this.max.set(r,s,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,i=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(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(t,e){return e.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(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,ae),ae.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let 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}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(me),fe.subVectors(this.max,me),le.subVectors(t.a,me),ce.subVectors(t.b,me),he.subVectors(t.c,me),ue.subVectors(ce,le),de.subVectors(he,ce),pe.subVectors(le,he);let e=[0,-ue.z,ue.y,0,-de.z,de.y,0,-pe.z,pe.y,ue.z,0,-ue.x,de.z,0,-de.x,pe.z,0,-pe.x,-ue.y,ue.x,0,-de.y,de.x,0,-pe.y,pe.x,0];return!!xe(e,le,ce,he,fe)&&(e=[1,0,0,0,1,0,0,0,1],!!xe(e,le,ce,he,fe)&&(ge.crossVectors(ue,de),e=[ge.x,ge.y,ge.z],xe(e,le,ce,he,fe)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return ae.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(ae).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(se[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),se[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),se[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),se[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),se[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),se[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),se[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),se[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(se)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const se=[new ee,new ee,new ee,new ee,new ee,new ee,new ee,new ee],ae=new ee,oe=new re,le=new ee,ce=new ee,he=new ee,ue=new ee,de=new ee,pe=new ee,me=new ee,fe=new ee,ge=new ee,ve=new ee;function xe(t,e,i,n,r){for(let s=0,a=t.length-3;s<=a;s+=3){ve.fromArray(t,s);const a=r.x*Math.abs(ve.x)+r.y*Math.abs(ve.y)+r.z*Math.abs(ve.z),o=e.dot(ve),l=i.dot(ve),c=n.dot(ve);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const ye=new re,_e=new ee,Me=new ee,be=new ee;class we{constructor(t=new ee,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const i=this.center;void 0!==e?i.copy(e):ye.setFromPoints(t).getCenter(i);let n=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){be.subVectors(t,this.center);const e=be.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),i=.5*(t-this.radius);this.center.add(be.multiplyScalar(i/t)),this.radius+=i}return this}union(t){return!0===this.center.equals(t.center)?Me.set(0,0,1).multiplyScalar(t.radius):Me.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(_e.copy(t.center).add(Me)),this.expandByPoint(_e.copy(t.center).sub(Me)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Se=new ee,Te=new ee,Ae=new ee,Ee=new ee,Ce=new ee,Le=new ee,Re=new ee;class Pe{constructor(t=new ee,e=new ee(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Se)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const i=e.dot(this.direction);return i<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(i).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Se.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Se.copy(this.direction).multiplyScalar(e).add(this.origin),Se.distanceToSquared(t))}distanceSqToSegment(t,e,i,n){Te.copy(t).add(e).multiplyScalar(.5),Ae.copy(e).sub(t).normalize(),Ee.copy(this.origin).sub(Te);const r=.5*t.distanceTo(e),s=-this.direction.dot(Ae),a=Ee.dot(this.direction),o=-Ee.dot(Ae),l=Ee.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0){if(h=s*o-a,u=s*a-o,p=r*c,h>=0){if(u>=-p){if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);}else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return i&&i.copy(this.direction).multiplyScalar(h).add(this.origin),n&&n.copy(Ae).multiplyScalar(u).add(Te),d}intersectSphere(t,e){Se.subVectors(t.center,this.origin);const i=Se.dot(this.direction),n=Se.dot(Se)-i*i,r=t.radius*t.radius;if(n>r)return null;const s=Math.sqrt(r-n),a=i-s,o=i+s;return a<0&&o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null}intersectPlane(t,e){const i=this.distanceToPlane(t);return null===i?null:this.at(i,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let i,n,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(i=(t.min.x-u.x)*l,n=(t.max.x-u.x)*l):(i=(t.max.x-u.x)*l,n=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),i>s||r>n?null:((r>i||i!=i)&&(i=r),(s=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),i>o||a>n?null:((a>i||i!=i)&&(i=a),(o=0?i:n,e)))}intersectsBox(t){return null!==this.intersectBox(t,Se)}intersectTriangle(t,e,i,n,r){Ce.subVectors(e,t),Le.subVectors(i,t),Re.crossVectors(Ce,Le);let s,a=this.direction.dot(Re);if(a>0){if(n)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Ee.subVectors(this.origin,t);const o=s*this.direction.dot(Le.crossVectors(Ee,Le));if(o<0)return null;const l=s*this.direction.dot(Ce.cross(Ee));if(l<0)return null;if(o+l>a)return null;const c=-s*Ee.dot(Re);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Ie{constructor(){Ie.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,i,n,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=i,g[12]=n,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Ie().fromArray(this.elements)}copy(t){const e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}copyPosition(t){const e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(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(t){const e=this.elements,i=t.elements,n=1/De.setFromMatrixColumn(t,0).length(),r=1/De.setFromMatrixColumn(t,1).length(),s=1/De.setFromMatrixColumn(t,2).length();return e[0]=i[0]*n,e[1]=i[1]*n,e[2]=i[2]*n,e[3]=0,e[4]=i[4]*r,e[5]=i[5]*r,e[6]=i[6]*r,e[7]=0,e[8]=i[8]*s,e[9]=i[9]*s,e[10]=i[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,i=t.x,n=t.y,r=t.z,s=Math.cos(i),a=Math.sin(i),o=Math.cos(n),l=Math.sin(n),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,i=s*h,n=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=i+n*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=n+i*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,i=o*h,n=l*c,r=l*h;e[0]=t+r*a,e[4]=n*a-i,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=i*a-n,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,i=o*h,n=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=n+i*a,e[1]=i+n*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,i=s*h,n=a*c,r=a*h;e[0]=o*c,e[4]=n*l-i,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=i*l-n,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,i=s*l,n=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=n*h+i,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=i*h+n,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,i=s*l,n=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=i*h-n,e[2]=n*h-i,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Oe,t,ze)}lookAt(t,e,i){const n=this.elements;return Ue.subVectors(t,e),0===Ue.lengthSq()&&(Ue.z=1),Ue.normalize(),Fe.crossVectors(i,Ue),0===Fe.lengthSq()&&(1===Math.abs(i.z)?Ue.x+=1e-4:Ue.z+=1e-4,Ue.normalize(),Fe.crossVectors(i,Ue)),Fe.normalize(),Be.crossVectors(Ue,Fe),n[0]=Fe.x,n[4]=Be.x,n[8]=Ue.x,n[1]=Fe.y,n[5]=Be.y,n[9]=Ue.y,n[2]=Fe.z,n[6]=Be.z,n[10]=Ue.z,this}multiply(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(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const i=t.elements,n=e.elements,r=this.elements,s=i[0],a=i[4],o=i[8],l=i[12],c=i[1],h=i[5],u=i[9],d=i[13],p=i[2],m=i[6],f=i[10],g=i[14],v=i[3],x=i[7],y=i[11],_=i[15],M=n[0],b=n[4],w=n[8],S=n[12],T=n[1],A=n[5],E=n[9],C=n[13],L=n[2],R=n[6],P=n[10],I=n[14],D=n[3],N=n[7],O=n[11],z=n[15];return r[0]=s*M+a*T+o*L+l*D,r[4]=s*b+a*A+o*R+l*N,r[8]=s*w+a*E+o*P+l*O,r[12]=s*S+a*C+o*I+l*z,r[1]=c*M+h*T+u*L+d*D,r[5]=c*b+h*A+u*R+d*N,r[9]=c*w+h*E+u*P+d*O,r[13]=c*S+h*C+u*I+d*z,r[2]=p*M+m*T+f*L+g*D,r[6]=p*b+m*A+f*R+g*N,r[10]=p*w+m*E+f*P+g*O,r[14]=p*S+m*C+f*I+g*z,r[3]=v*M+x*T+y*L+_*D,r[7]=v*b+x*A+y*R+_*N,r[11]=v*w+x*E+y*P+_*O,r[15]=v*S+x*C+y*I+_*z,this}multiplyScalar(t){const 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}determinant(){const t=this.elements,e=t[0],i=t[4],n=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-n*l*h-r*a*u+i*l*u+n*a*d-i*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-n*s*d+n*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+i*s*d+r*a*c-i*l*c)+t[15]*(-n*a*c-e*o*h+e*a*u+n*s*h-i*s*u+i*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,i){const n=this.elements;return t.isVector3?(n[12]=t.x,n[13]=t.y,n[14]=t.z):(n[12]=t,n[13]=e,n[14]=i),this}invert(){const t=this.elements,e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],v=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,x=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,y=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,_=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,M=e*v+i*x+n*y+r*_;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/M;return t[0]=v*b,t[1]=(m*u*r-h*f*r-m*n*d+i*f*d+h*n*g-i*u*g)*b,t[2]=(a*f*r-m*o*r+m*n*l-i*f*l-a*n*g+i*o*g)*b,t[3]=(h*o*r-a*u*r-h*n*l+i*u*l+a*n*d-i*o*d)*b,t[4]=x*b,t[5]=(c*f*r-p*u*r+p*n*d-e*f*d-c*n*g+e*u*g)*b,t[6]=(p*o*r-s*f*r-p*n*l+e*f*l+s*n*g-e*o*g)*b,t[7]=(s*u*r-c*o*r+c*n*l-e*u*l-s*n*d+e*o*d)*b,t[8]=y*b,t[9]=(p*h*r-c*m*r-p*i*d+e*m*d+c*i*g-e*h*g)*b,t[10]=(s*m*r-p*a*r+p*i*l-e*m*l-s*i*g+e*a*g)*b,t[11]=(c*a*r-s*h*r-c*i*l+e*h*l+s*i*d-e*a*d)*b,t[12]=_*b,t[13]=(c*m*n-p*h*n+p*i*u-e*m*u-c*i*f+e*h*f)*b,t[14]=(p*a*n-s*m*n-p*i*o+e*m*o+s*i*f-e*a*f)*b,t[15]=(s*h*n-c*a*n+c*i*o-e*h*o-s*i*u+e*a*u)*b,this}scale(t){const e=this.elements,i=t.x,n=t.y,r=t.z;return e[0]*=i,e[4]*=n,e[8]*=r,e[1]*=i,e[5]*=n,e[9]*=r,e[2]*=i,e[6]*=n,e[10]*=r,e[3]*=i,e[7]*=n,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],n=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,i,n))}makeTranslation(t,e,i){return this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const i=Math.cos(e),n=Math.sin(e),r=1-i,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+i,l*a-n*o,l*o+n*a,0,l*a+n*o,c*a+i,c*o-n*s,0,l*o-n*a,c*o+n*s,r*o*o+i,0,0,0,0,1),this}makeScale(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this}makeShear(t,e,i,n,r,s){return this.set(1,i,r,0,t,1,s,0,e,n,1,0,0,0,0,1),this}compose(t,e,i){const n=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,v=o*l,x=o*c,y=o*h,_=i.x,M=i.y,b=i.z;return n[0]=(1-(m+g))*_,n[1]=(d+y)*_,n[2]=(p-x)*_,n[3]=0,n[4]=(d-y)*M,n[5]=(1-(u+g))*M,n[6]=(f+v)*M,n[7]=0,n[8]=(p+x)*b,n[9]=(f-v)*b,n[10]=(1-(u+m))*b,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this}decompose(t,e,i){const n=this.elements;let r=De.set(n[0],n[1],n[2]).length();const s=De.set(n[4],n[5],n[6]).length(),a=De.set(n[8],n[9],n[10]).length();this.determinant()<0&&(r=-r),t.x=n[12],t.y=n[13],t.z=n[14],Ne.copy(this);const o=1/r,l=1/s,c=1/a;return Ne.elements[0]*=o,Ne.elements[1]*=o,Ne.elements[2]*=o,Ne.elements[4]*=l,Ne.elements[5]*=l,Ne.elements[6]*=l,Ne.elements[8]*=c,Ne.elements[9]*=c,Ne.elements[10]*=c,e.setFromRotationMatrix(Ne),i.x=r,i.y=s,i.z=a,this}makePerspective(t,e,i,n,r,s){void 0===s&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,o=2*r/(e-t),l=2*r/(i-n),c=(e+t)/(e-t),h=(i+n)/(i-n),u=-(s+r)/(s-r),d=-2*s*r/(s-r);return a[0]=o,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,i,n,r,s){const a=this.elements,o=1/(e-t),l=1/(i-n),c=1/(s-r),h=(e+t)*o,u=(i+n)*l,d=(s+r)*c;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,i=t.elements;for(let t=0;t<16;t++)if(e[t]!==i[t])return!1;return!0}fromArray(t,e=0){for(let i=0;i<16;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){const i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t}}const De=new ee,Ne=new Ie,Oe=new ee(0,0,0),ze=new ee(1,1,1),Fe=new ee,Be=new ee,Ue=new ee,ke=new Ie,Ge=new te;class Ve{constructor(t=0,e=0,i=0,n=Ve.DefaultOrder){this.isEuler=!0,this._x=t,this._y=e,this._z=i,this._order=n}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,i,n=this._order){return this._x=t,this._y=e,this._z=i,this._order=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,i=!0){const n=t.elements,r=n[0],s=n[4],a=n[8],o=n[1],l=n[5],c=n[9],h=n[2],u=n[6],d=n[10];switch(e){case"XYZ":this._y=Math.asin(_t(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-_t(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(_t(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-_t(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(_t(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-_t(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e);}return this._order=e,!0===i&&this._onChangeCallback(),this}setFromQuaternion(t,e,i){return ke.makeRotationFromQuaternion(t),this.setFromRotationMatrix(ke,e,i)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Ge.setFromEuler(this),this.setFromQuaternion(Ge,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}toVector3(){console.error("THREE.Euler: .toVector3() has been removed. Use Vector3.setFromEuler() instead")}}Ve.DefaultOrder="XYZ",Ve.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class He{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0){n.children=[];for(let e=0;e0){n.animations=[];for(let e=0;e0&&(i.geometries=e),n.length>0&&(i.materials=n),r.length>0&&(i.textures=r),a.length>0&&(i.images=a),o.length>0&&(i.shapes=o),l.length>0&&(i.skeletons=l),c.length>0&&(i.animations=c),h.length>0&&(i.nodes=h)}return i.object=n,i;function s(t){const e=[];for(const i in t){const n=t[i];delete n.metadata,e.push(n)}return e}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,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.layers.mask=t.layers.mask,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)),!0===e)for(let e=0;e0?n.multiplyScalar(1/Math.sqrt(r)):n.set(0,0,0)}static getBarycoord(t,e,i,n,r){ri.subVectors(n,e),si.subVectors(i,e),ai.subVectors(t,e);const s=ri.dot(ri),a=ri.dot(si),o=ri.dot(ai),l=si.dot(si),c=si.dot(ai),h=s*l-a*a;if(0===h)return r.set(-2,-1,-1);const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,i,n){return this.getBarycoord(t,e,i,n,oi),oi.x>=0&&oi.y>=0&&oi.x+oi.y<=1}static getUV(t,e,i,n,r,s,a,o){return this.getBarycoord(t,e,i,n,oi),o.set(0,0),o.addScaledVector(r,oi.x),o.addScaledVector(s,oi.y),o.addScaledVector(a,oi.z),o}static isFrontFacing(t,e,i,n){return ri.subVectors(i,e),si.subVectors(t,e),ri.cross(si).dot(n)<0}set(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this}setFromPointsAndIndices(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this}setFromAttributeAndIndices(t,e,i,n){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,i),this.c.fromBufferAttribute(t,n),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return ri.subVectors(this.c,this.b),si.subVectors(this.a,this.b),.5*ri.cross(si).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return mi.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return mi.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,i,n,r){return mi.getUV(t,this.a,this.b,this.c,e,i,n,r)}containsPoint(t){return mi.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return mi.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const i=this.a,n=this.b,r=this.c;let s,a;li.subVectors(n,i),ci.subVectors(r,i),ui.subVectors(t,i);const o=li.dot(ui),l=ci.dot(ui);if(o<=0&&l<=0)return e.copy(i);di.subVectors(t,n);const c=li.dot(di),h=ci.dot(di);if(c>=0&&h<=c)return e.copy(n);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(i).addScaledVector(li,s);pi.subVectors(t,r);const d=li.dot(pi),p=ci.dot(pi);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(i).addScaledVector(ci,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return hi.subVectors(r,n),a=(h-c)/(h-c+(d-p)),e.copy(n).addScaledVector(hi,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(i).addScaledVector(li,s).addScaledVector(ci,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let fi=0;class gi extends mt{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:fi++}),this.uuid=yt(),this.name="",this.type="Material",this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=i,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=ht,this.stencilZFail=ht,this.stencilZPass=ht,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const i=t[e];if(void 0===i){console.warn("THREE.Material: '"+e+"' parameter is undefined.");continue}if("shading"===e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===i;continue}const n=this[e];void 0!==n?n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[e]=i:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function n(t){const e=[];for(const i in t){const n=t[i];delete n.metadata,e.push(n)}return e}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),void 0!==this.roughness&&(i.roughness=this.roughness),void 0!==this.metalness&&(i.metalness=this.metalness),void 0!==this.sheen&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(i.shininess=this.shininess),void 0!==this.clearcoat&&(i.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(i.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(i.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(t).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(t).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(t).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(t).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(t).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(i.combine=this.combine)),void 0!==this.envMapIntensity&&(i.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(i.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(i.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(i.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(i.size=this.size),null!==this.shadowSide&&(i.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(i.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(i.blending=this.blending),0!==this.side&&(i.side=this.side),this.vertexColors&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),!0===this.transparent&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,i.colorWrite=this.colorWrite,i.stencilWrite=this.stencilWrite,i.stencilWriteMask=this.stencilWriteMask,i.stencilFunc=this.stencilFunc,i.stencilRef=this.stencilRef,i.stencilFuncMask=this.stencilFuncMask,i.stencilFail=this.stencilFail,i.stencilZFail=this.stencilZFail,i.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(i.rotation=this.rotation),!0===this.polygonOffset&&(i.polygonOffset=!0),0!==this.polygonOffsetFactor&&(i.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(i.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(i.linewidth=this.linewidth),void 0!==this.dashSize&&(i.dashSize=this.dashSize),void 0!==this.gapSize&&(i.gapSize=this.gapSize),void 0!==this.scale&&(i.scale=this.scale),!0===this.dithering&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(i.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(i.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(i.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(i.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(i.flatShading=this.flatShading),!1===this.visible&&(i.visible=!1),!1===this.toneMapped&&(i.toneMapped=!1),!1===this.fog&&(i.fog=!1),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),e){const e=n(t.textures),r=n(t.images);e.length>0&&(i.textures=e),r.length>0&&(i.images=r)}return i}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,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.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let i=null;if(null!==e){const t=e.length;i=new Array(t);for(let n=0;n!==t;++n)i[n]=e[n].clone()}return this.clippingPlanes=i,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}class vi extends gi{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ht(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const xi=new ee,yi=new Et;class _i{constructor(t,e,i){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===i,this.usage=ut,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this}copyAt(t,e,i){t*=this.itemSize,i*=e.itemSize;for(let n=0,r=this.itemSize;n0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const i in e)void 0!==e[i]&&(t[i]=e[i]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const i=this.attributes;for(const e in i){const n=i[e];t.data.attributes[e]=n.toJSON(t.data)}const n={};let r=!1;for(const e in this.morphAttributes){const i=this.morphAttributes[e],s=[];for(let e=0,n=i.length;e0&&(n[e]=s,r=!0)}r&&(t.data.morphAttributes=n,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const i=t.index;null!==i&&this.setIndex(i.clone(e));const n=t.attributes;for(const t in n){const i=n[t];this.setAttribute(t,i.clone(e))}const r=t.morphAttributes;for(const t in r){const i=[],n=r[t];for(let t=0,r=n.length;t0){const i=t[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=i.length;ti.far?null:{distance:c,point:Yi.clone(),object:t}}(t,e,i,n,Oi,zi,Fi,Xi);if(p){o&&(Wi.fromBufferAttribute(o,c),ji.fromBufferAttribute(o,h),qi.fromBufferAttribute(o,u),p.uv=mi.getUV(Xi,Oi,zi,Fi,Wi,ji,qi,new Et)),l&&(Wi.fromBufferAttribute(l,c),ji.fromBufferAttribute(l,h),qi.fromBufferAttribute(l,u),p.uv2=mi.getUV(Xi,Oi,zi,Fi,Wi,ji,qi,new Et));const t={a:c,b:h,c:u,normal:new ee,materialIndex:0};mi.getNormal(Oi,zi,Fi,t.normal),p.face=t}return p}class Ki extends Pi{constructor(t=1,e=1,i=1,n=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:i,widthSegments:n,heightSegments:r,depthSegments:s};const a=this;n=Math.floor(n),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,i,n,r,s,p,m,f,g,v){const x=s/f,y=p/g,_=s/2,M=p/2,b=m/2,w=f+1,S=g+1;let T=0,A=0;const E=new ee;for(let s=0;s0?1:-1,c.push(E.x,E.y,E.z),h.push(o/f),h.push(1-s/g),T+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const i={};for(const t in this.extensions)!0===this.extensions[t]&&(i[t]=!0);return Object.keys(i).length>0&&(e.extensions=i),e}}class nn extends ni{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ie,this.projectionMatrix=new Ie,this.projectionMatrixInverse=new Ie}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class rn extends nn{constructor(t=50,e=1,i=.1,n=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=i,this.far=n,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*xt*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*vt*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*xt*Math.atan(Math.tan(.5*vt*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,i,n,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=n,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*vt*this.fov)/this.zoom,i=2*e,n=this.aspect*i,r=-.5*n;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*n/t,e-=s.offsetY*i/a,n*=s.width/t,i*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+n,e,e-i,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const sn=90;class an extends ni{constructor(t,e,i){if(super(),this.type="CubeCamera",!0!==i.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=i;const n=new rn(sn,1,t,e);n.layers=this.layers,n.up.set(0,-1,0),n.lookAt(new ee(1,0,0)),this.add(n);const r=new rn(sn,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new ee(-1,0,0)),this.add(r);const s=new rn(sn,1,t,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new ee(0,1,0)),this.add(s);const a=new rn(sn,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new ee(0,-1,0)),this.add(a);const o=new rn(sn,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new ee(0,0,1)),this.add(o);const l=new rn(sn,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new ee(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const i=this.renderTarget,[n,r,s,a,o,l]=this.children,c=t.getRenderTarget(),h=t.toneMapping,u=t.xr.enabled;t.toneMapping=0,t.xr.enabled=!1;const d=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,t.setRenderTarget(i,0),t.render(e,n),t.setRenderTarget(i,1),t.render(e,r),t.setRenderTarget(i,2),t.render(e,s),t.setRenderTarget(i,3),t.render(e,a),t.setRenderTarget(i,4),t.render(e,o),i.texture.generateMipmaps=d,t.setRenderTarget(i,5),t.render(e,l),t.setRenderTarget(c),t.toneMapping=h,t.xr.enabled=u,i.texture.needsPMREMUpdate=!0}}class on extends Zt{constructor(t,e,i,n,s,a,o,l,c,h){super(t=void 0!==t?t:[],e=void 0!==e?e:r,i,n,s,a,o,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class ln extends Kt{constructor(t,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const i={width:t,height:t,depth:1},n=[i,i,i,i,i,i];this.texture=new on(n,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:f}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},n=new Ki(5,5,5),r=new en({name:"CubemapFromEquirect",uniforms:Qi(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=e;const s=new Zi(n,r),a=e.minFilter;e.minFilter===v&&(e.minFilter=f);return new an(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,i,n){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,i,n);t.setRenderTarget(r)}}const cn=new ee,hn=new ee,un=new Ct;class dn{constructor(t=new ee(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,i,n){return this.normal.set(t,e,i),this.constant=n,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,i){const n=cn.subVectors(i,e).cross(hn.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(n,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)}intersectLine(t,e){const i=t.delta(cn),n=this.normal.dot(i);if(0===n)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/n;return r<0||r>1?null:e.copy(i).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const i=e||un.getNormalMatrix(t),n=this.coplanarPoint(cn).applyMatrix4(t),r=this.normal.applyMatrix3(i).normalize();return this.constant=-n.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}const pn=new we,mn=new ee;class fn{constructor(t=new dn,e=new dn,i=new dn,n=new dn,r=new dn,s=new dn){this.planes=[t,e,i,n,r,s]}set(t,e,i,n,r,s){const 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(s),this}copy(t){const e=this.planes;for(let i=0;i<6;i++)e[i].copy(t.planes[i]);return this}setFromProjectionMatrix(t){const e=this.planes,i=t.elements,n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],l=i[5],c=i[6],h=i[7],u=i[8],d=i[9],p=i[10],m=i[11],f=i[12],g=i[13],v=i[14],x=i[15];return e[0].setComponents(a-n,h-o,m-u,x-f).normalize(),e[1].setComponents(a+n,h+o,m+u,x+f).normalize(),e[2].setComponents(a+r,h+l,m+d,x+g).normalize(),e[3].setComponents(a-r,h-l,m-d,x-g).normalize(),e[4].setComponents(a-s,h-c,m-p,x-v).normalize(),e[5].setComponents(a+s,h+c,m+p,x+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),pn.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(pn)}intersectsSprite(t){return pn.center.set(0,0,0),pn.radius=.7071067811865476,pn.applyMatrix4(t.matrixWorld),this.intersectsSphere(pn)}intersectsSphere(t){const e=this.planes,i=t.center,n=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(i)0?t.max.x:t.min.x,mn.y=n.normal.y>0?t.max.y:t.min.y,mn.z=n.normal.z>0?t.max.z:t.min.z,n.distanceToPoint(mn)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function gn(){let t=null,e=!1,i=null,n=null;function r(e,s){i(e,s),n=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==i&&(n=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(t){i=t},setContext:function(e){t=e}}}function vn(t,e){const i=e.isWebGL2,n=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),n.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const i=n.get(e);i&&(t.deleteBuffer(i.buffer),n.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=n.get(e);return void((!t||t.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\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_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",iridescence_fragment:"#ifdef USE_IRIDESCENCE\nconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660,\t0.0556434,\n\t -1.5371385,\t1.8760108, -0.2040259,\n\t -0.4985314,\t0.0415560,\t1.0572252\n);\nvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t vec3 sqrtF0 = sqrt( fresnel0 );\n\t return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n}\nvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n}\nfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n}\nvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t float phase = 2.0 * PI * OPD * 1.0e-9;\n\t vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( -pow2( phase ) * var );\n\t xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[0] ) * exp( -4.5282e+09 * pow2( phase ) );\n\t xyz /= 1.0685e-7;\n\t vec3 srgb = XYZ_TO_REC709 * xyz;\n\t return srgb;\n}\nvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t vec3 I;\n\t float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t float cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t if ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t }\n\t float cosTheta2 = sqrt( cosTheta2Sq );\n\t float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t float R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t float R21 = R12;\n\t float T121 = 1.0 - R12;\n\t float phi12 = 0.0;\n\t if ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t float phi21 = PI - phi12;\n\t vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t vec3 phi23 = vec3( 0.0 );\n\t if ( baseIOR[0] < iridescenceIOR ) phi23[0] = PI;\n\t if ( baseIOR[1] < iridescenceIOR ) phi23[1] = PI;\n\t if ( baseIOR[2] < iridescenceIOR ) phi23[2] = PI;\n\t float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t vec3 phi = vec3( phi21 ) + phi23;\n\t vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t vec3 r123 = sqrt( R123 );\n\t vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t vec3 C0 = R12 + Rs;\n\t I = C0;\n\t vec3 Cm = Rs - T121;\n\t for ( int m = 1; m <= 2; ++m ) {\n\t\t\t Cm *= r123;\n\t\t\t vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\t I += Cm * Sm;\n\t }\n\t return max( I, vec3( 0.0 ) );\n}\n#endif",bumpmap_pars_fragment:"#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, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\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 ) * faceDirection;\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",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 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 max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\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}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\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#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\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}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn 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.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, 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, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\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",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\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",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\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",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = 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\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = 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\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = 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\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.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};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\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};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\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 vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\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\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, 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_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)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vUv ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, 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 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(\t\t0, 1,\t\t0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\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#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\n\t#else\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\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_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\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}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\nfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\nif ( material.iridescenceThickness == 0.0 ) {\n\tmaterial.iridescence = 0.0;\n} else {\n\tmaterial.iridescence = saturate( material.iridescence );\n}\nif ( material.iridescence > 0.0 ) {\n\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#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 );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\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}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\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\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\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( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), 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( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), 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 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\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, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\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",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#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",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#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\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#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\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(\t1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,\t1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,\t1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef texture2DLodEXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tgl_FragColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tgl_FragColor = vec4( mix( pow( gl_FragColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), gl_FragColor.rgb * 0.0773993808, vec3( lessThanEqual( gl_FragColor.rgb, vec3( 0.04045 ) ) ) ), gl_FragColor.w );\n\t#endif\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\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\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\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\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\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\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\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#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\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}",linedashed_frag:"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\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#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#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\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\t#include \n}",meshbasic_frag:"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 \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 = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\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 \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\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\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#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_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_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\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\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\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\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\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#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\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\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\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\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\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#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 \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\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\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\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\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 \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\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\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\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\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 \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\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\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\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\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\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#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}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"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\t#include \n\t#include \n\t#include \n\t#include \n}"},_n={common:{diffuse:{value:new Ht(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Ct},uv2Transform:{value:new Ct},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Et(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Ht(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Ht(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Ct}},sprite:{diffuse:{value:new Ht(16777215)},opacity:{value:1},center:{value:new Et(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Ct}}},Mn={basic:{uniforms:$i([_n.common,_n.specularmap,_n.envmap,_n.aomap,_n.lightmap,_n.fog]),vertexShader:yn.meshbasic_vert,fragmentShader:yn.meshbasic_frag},lambert:{uniforms:$i([_n.common,_n.specularmap,_n.envmap,_n.aomap,_n.lightmap,_n.emissivemap,_n.fog,_n.lights,{emissive:{value:new Ht(0)}}]),vertexShader:yn.meshlambert_vert,fragmentShader:yn.meshlambert_frag},phong:{uniforms:$i([_n.common,_n.specularmap,_n.envmap,_n.aomap,_n.lightmap,_n.emissivemap,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.fog,_n.lights,{emissive:{value:new Ht(0)},specular:{value:new Ht(1118481)},shininess:{value:30}}]),vertexShader:yn.meshphong_vert,fragmentShader:yn.meshphong_frag},standard:{uniforms:$i([_n.common,_n.envmap,_n.aomap,_n.lightmap,_n.emissivemap,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.roughnessmap,_n.metalnessmap,_n.fog,_n.lights,{emissive:{value:new Ht(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:yn.meshphysical_vert,fragmentShader:yn.meshphysical_frag},toon:{uniforms:$i([_n.common,_n.aomap,_n.lightmap,_n.emissivemap,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.gradientmap,_n.fog,_n.lights,{emissive:{value:new Ht(0)}}]),vertexShader:yn.meshtoon_vert,fragmentShader:yn.meshtoon_frag},matcap:{uniforms:$i([_n.common,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.fog,{matcap:{value:null}}]),vertexShader:yn.meshmatcap_vert,fragmentShader:yn.meshmatcap_frag},points:{uniforms:$i([_n.points,_n.fog]),vertexShader:yn.points_vert,fragmentShader:yn.points_frag},dashed:{uniforms:$i([_n.common,_n.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:yn.linedashed_vert,fragmentShader:yn.linedashed_frag},depth:{uniforms:$i([_n.common,_n.displacementmap]),vertexShader:yn.depth_vert,fragmentShader:yn.depth_frag},normal:{uniforms:$i([_n.common,_n.bumpmap,_n.normalmap,_n.displacementmap,{opacity:{value:1}}]),vertexShader:yn.meshnormal_vert,fragmentShader:yn.meshnormal_frag},sprite:{uniforms:$i([_n.sprite,_n.fog]),vertexShader:yn.sprite_vert,fragmentShader:yn.sprite_frag},background:{uniforms:{uvTransform:{value:new Ct},t2D:{value:null}},vertexShader:yn.background_vert,fragmentShader:yn.background_frag},cube:{uniforms:$i([_n.envmap,{opacity:{value:1}}]),vertexShader:yn.cube_vert,fragmentShader:yn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:yn.equirect_vert,fragmentShader:yn.equirect_frag},distanceRGBA:{uniforms:$i([_n.common,_n.displacementmap,{referencePosition:{value:new ee},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:yn.distanceRGBA_vert,fragmentShader:yn.distanceRGBA_frag},shadow:{uniforms:$i([_n.lights,_n.fog,{color:{value:new Ht(0)},opacity:{value:1}}]),vertexShader:yn.shadow_vert,fragmentShader:yn.shadow_frag}};function bn(t,e,i,n,r,s){const a=new Ht(0);let o,c,h=!0===r?0:1,u=null,d=0,p=null;function m(t,e){i.buffers.color.setClear(t.r,t.g,t.b,e,s)}return{getClearColor:function(){return a},setClearColor:function(t,e=1){a.set(t),h=e,m(a,h)},getClearAlpha:function(){return h},setClearAlpha:function(t){h=t,m(a,h)},render:function(i,r){let s=!1,f=!0===r.isScene?r.background:null;f&&f.isTexture&&(f=e.get(f));const g=t.xr,v=g.getSession&&g.getSession();v&&"additive"===v.environmentBlendMode&&(f=null),null===f?m(a,h):f&&f.isColor&&(m(f,1),s=!0),(t.autoClear||s)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),f&&(f.isCubeTexture||f.mapping===l)?(void 0===c&&(c=new Zi(new Ki(1,1,1),new en({name:"BackgroundCubeMaterial",uniforms:Qi(Mn.cube.uniforms),vertexShader:Mn.cube.vertexShader,fragmentShader:Mn.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(t,e,i){this.matrixWorld.copyPosition(i.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(c)),c.material.uniforms.envMap.value=f,c.material.uniforms.flipEnvMap.value=f.isCubeTexture&&!1===f.isRenderTargetTexture?-1:1,u===f&&d===f.version&&p===t.toneMapping||(c.material.needsUpdate=!0,u=f,d=f.version,p=t.toneMapping),c.layers.enableAll(),i.unshift(c,c.geometry,c.material,0,0,null)):f&&f.isTexture&&(void 0===o&&(o=new Zi(new xn(2,2),new en({name:"BackgroundMaterial",uniforms:Qi(Mn.background.uniforms),vertexShader:Mn.background.vertexShader,fragmentShader:Mn.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(o)),o.material.uniforms.t2D.value=f,!0===f.matrixAutoUpdate&&f.updateMatrix(),o.material.uniforms.uvTransform.value.copy(f.matrix),u===f&&d===f.version&&p===t.toneMapping||(o.material.needsUpdate=!0,u=f,d=f.version,p=t.toneMapping),o.layers.enableAll(),i.unshift(o,o.geometry,o.material,0,0,null))}}}function wn(t,e,i,n){const r=t.getParameter(34921),s=n.isWebGL2?null:e.get("OES_vertex_array_object"),a=n.isWebGL2||null!==s,o={},l=p(null);let c=l,h=!1;function u(e){return n.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function d(e){return n.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function p(t){const e=[],i=[],n=[];for(let t=0;t=0){const i=r[e];let n=s[e];if(void 0===n&&("instanceMatrix"===e&&t.instanceMatrix&&(n=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(n=t.instanceColor)),void 0===i)return!0;if(i.attribute!==n)return!0;if(n&&i.data!==n.data)return!0;a++}}return c.attributesNum!==a||c.index!==n}(r,y,d,_),M&&function(t,e,i,n){const r={},s=e.attributes;let a=0;const o=i.getAttributes();for(const e in o){if(o[e].location>=0){let i=s[e];void 0===i&&("instanceMatrix"===e&&t.instanceMatrix&&(i=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(i=t.instanceColor));const n={};n.attribute=i,i&&i.data&&(n.data=i.data),r[e]=n,a++}}c.attributes=r,c.attributesNum=a,c.index=n}(r,y,d,_)}else{const t=!0===l.wireframe;c.geometry===y.id&&c.program===d.id&&c.wireframe===t||(c.geometry=y.id,c.program=d.id,c.wireframe=t,M=!0)}null!==_&&i.update(_,34963),(M||h)&&(h=!1,function(r,s,a,o){if(!1===n.isWebGL2&&(r.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;m();const l=o.attributes,c=a.getAttributes(),h=s.defaultAttributeValues;for(const e in c){const n=c[e];if(n.location>=0){let s=l[e];if(void 0===s&&("instanceMatrix"===e&&r.instanceMatrix&&(s=r.instanceMatrix),"instanceColor"===e&&r.instanceColor&&(s=r.instanceColor)),void 0!==s){const e=s.normalized,a=s.itemSize,l=i.get(s);if(void 0===l)continue;const c=l.buffer,h=l.type,u=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const i=s.data,l=i.stride,d=s.offset;if(i.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==i.precision?i.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===i.logarithmicDepthBuffer,h=t.getParameter(34930),u=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),m=t.getParameter(34921),f=t.getParameter(36347),g=t.getParameter(36348),v=t.getParameter(36349),x=u>0,y=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==n)return n;if(!0===e.has("EXT_texture_filter_anisotropic")){const i=e.get("EXT_texture_filter_anisotropic");n=t.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else n=0;return n},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:x,floatFragmentTextures:y,floatVertexTextures:x&&y,maxSamples:s?t.getParameter(36183):0}}function An(t){const e=this;let i=null,n=0,r=!1,s=!1;const a=new dn,o=new Ct,l={value:null,needsUpdate:!1};function c(){l.value!==i&&(l.value=i,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function h(t,i,n,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=n+4*s,r=i.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length0){const a=new ln(s.height/2);return a.fromEquirectangularTexture(t,r),e.set(r,a),r.addEventListener("dispose",n),i(a.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}Mn.physical={uniforms:$i([Mn.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Et(1,1)},clearcoatNormalMap:{value:null},iridescence:{value:0},iridescenceMap:{value:null},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},sheen:{value:0},sheenColor:{value:new Ht(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Et},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Ht(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new Ht(1,1,1)},specularColorMap:{value:null}}]),vertexShader:yn.meshphysical_vert,fragmentShader:yn.meshphysical_frag};class Cn extends nn{constructor(t=-1,e=1,i=1,n=-1,r=.1,s=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=i,this.bottom=n,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,i,n,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=n,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,n=(this.top+this.bottom)/2;let r=i-t,s=i+t,a=n+e,o=n-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}const Ln=[.125,.215,.35,.446,.526,.582],Rn=20,Pn=new Cn,In=new Ht;let Dn=null;const Nn=(1+Math.sqrt(5))/2,On=1/Nn,zn=[new ee(1,1,1),new ee(-1,1,1),new ee(1,1,-1),new ee(-1,1,-1),new ee(0,Nn,On),new ee(0,Nn,-On),new ee(On,0,Nn),new ee(-On,0,Nn),new ee(Nn,On,0),new ee(-Nn,On,0)];class Fn{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,i=.1,n=100){Dn=this._renderer.getRenderTarget(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(t,i,n,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Gn(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=kn(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;tt-4?o=Ln[a-t+4-1]:0===a&&(o=0),n.push(o);const l=1/(s-2),c=-l,h=1+l,u=[c,c,h,c,h,h,c,c,h,h,c,h],d=6,p=6,m=3,f=2,g=1,v=new Float32Array(m*p*d),x=new Float32Array(f*p*d),y=new Float32Array(g*p*d);for(let t=0;t2?0:-1,n=[e,i,0,e+2/3,i,0,e+2/3,i+1,0,e,i,0,e+2/3,i+1,0,e,i+1,0];v.set(n,m*p*t),x.set(u,f*p*t);const r=[t,t,t,t,t,t];y.set(r,g*p*t)}const _=new Pi;_.setAttribute("position",new _i(v,m)),_.setAttribute("uv",new _i(x,f)),_.setAttribute("faceIndex",new _i(y,g)),e.push(_),r>4&&r--}return{lodPlanes:e,sizeLods:i,sigmas:n}}(n)),this._blurMaterial=function(t,e,i){const n=new Float32Array(Rn),r=new ee(0,1,0);return new en({name:"SphericalGaussianBlur",defines:{n:Rn,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/i,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Vn(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}(n,t,e)}return n}_compileMaterial(t){const e=new Zi(this._lodPlanes[0],t);this._renderer.compile(e,Pn)}_sceneToCubeUV(t,e,i,n){const r=new rn(90,1,e,i),s=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,c=o.toneMapping;o.getClearColor(In),o.toneMapping=0,o.autoClear=!1;const h=new vi({name:"PMREM.Background",side:1,depthWrite:!1,depthTest:!1}),u=new Zi(new Ki(),h);let d=!1;const p=t.background;p?p.isColor&&(h.color.copy(p),t.background=null,d=!0):(h.color.copy(In),d=!0);for(let e=0;e<6;e++){const i=e%3;0===i?(r.up.set(0,s[e],0),r.lookAt(a[e],0,0)):1===i?(r.up.set(0,0,s[e]),r.lookAt(0,a[e],0)):(r.up.set(0,s[e],0),r.lookAt(0,0,a[e]));const l=this._cubeSize;Un(n,i*l,e>2?l:0,l,l),o.setRenderTarget(n),d&&o.render(u,r),o.render(t,r)}u.geometry.dispose(),u.material.dispose(),o.toneMapping=c,o.autoClear=l,t.background=p}_textureToCubeUV(t,e){const i=this._renderer,n=t.mapping===r||t.mapping===s;n?(null===this._cubemapMaterial&&(this._cubemapMaterial=Gn()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=kn());const a=n?this._cubemapMaterial:this._equirectMaterial,o=new Zi(this._lodPlanes[0],a);a.uniforms.envMap.value=t;const l=this._cubeSize;Un(e,0,0,3*l,2*l),i.setRenderTarget(e),i.render(o,Pn)}_applyPMREM(t){const e=this._renderer,i=e.autoClear;e.autoClear=!1;for(let e=1;eRn&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to 20`);const f=[];let g=0;for(let t=0;tv-4?n-v+4:0),4*(this._cubeSize-x),3*x,2*x),o.setRenderTarget(e),o.render(c,Pn)}}function Bn(t,e,i){const n=new Kt(t,e,i);return n.texture.mapping=l,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function Un(t,e,i,n,r){t.viewport.set(e,i,n,r),t.scissor.set(e,i,n,r)}function kn(){return new en({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Vn(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function Gn(){return new en({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Vn(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function Vn(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function Hn(t){let e=new WeakMap,i=null;function n(t){const i=t.target;i.removeEventListener("dispose",n);const r=e.get(i);void 0!==r&&(e.delete(i),r.dispose())}return{get:function(l){if(l&&l.isTexture){const c=l.mapping,h=c===a||c===o,u=c===r||c===s;if(h||u){if(l.isRenderTargetTexture&&!0===l.needsPMREMUpdate){l.needsPMREMUpdate=!1;let n=e.get(l);return null===i&&(i=new Fn(t)),n=h?i.fromEquirectangular(l,n):i.fromCubemap(l,n),e.set(l,n),n.texture}if(e.has(l))return e.get(l).texture;{const r=l.image;if(h&&r&&r.height>0||u&&r&&function(t){let e=0;const i=6;for(let n=0;ne.maxTextureSize&&(E=Math.ceil(A/e.maxTextureSize),A=e.maxTextureSize);const C=new Float32Array(A*E*4*m),L=new Qt(C,A,E,m);L.type=M,L.needsUpdate=!0;const R=4*T;for(let I=0;I0)return t;const r=e*i;let s=nr[r];if(void 0===s&&(s=new Float32Array(r),nr[r]=s),0!==e){n.toArray(s,0);for(let n=1,r=0;n!==e;++n)r+=i,t[n].toArray(s,r)}return s}function cr(t,e){if(t.length!==e.length)return!1;for(let i=0,n=t.length;i":" "} ${r}: ${i[t]}`)}return n.join("\n")}(t.getShaderSource(e),n)}return r}function as(t,e){const i=function(t){switch(t){case at:return["Linear","( value )"];case ot:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",t),["Linear","( value )"];}}(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+i[0]+i[1]+"; }"}function os(t,e){let i;switch(e){case 1:i="Linear";break;case 2:i="Reinhard";break;case 3:i="OptimizedCineon";break;case 4:i="ACESFilmic";break;case 5:i="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),i="Linear";}return"vec3 "+t+"( vec3 color ) { return "+i+"ToneMapping( color ); }"}function ls(t){return""!==t}function cs(t,e){return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function hs(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const us=/^[ \t]*#include +<([\w\d./]+)>/gm;function ds(t){return t.replace(us,ps)}function ps(t,e){const i=yn[e];if(void 0===i)throw new Error("Can not resolve #include <"+e+">");return ds(i)}const ms=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,fs=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function gs(t){return t.replace(fs,xs).replace(ms,vs)}function vs(t,e,i,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),xs(t,e,i,n)}function xs(t,e,i,n){let r="";for(let t=parseInt(e);t0&&(y+="\n"),_=[g,v].filter(ls).join("\n"),_.length>0&&(_+="\n")):(y=[ys(i),"#define SHADER_NAME "+i.shaderName,v,i.instancing?"#define USE_INSTANCING":"",i.instancingColor?"#define USE_INSTANCING_COLOR":"",i.supportsVertexTextures?"#define VERTEX_TEXTURES":"",i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp2?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+p:"",i.lightMap?"#define USE_LIGHTMAP":"",i.aoMap?"#define USE_AOMAP":"",i.emissiveMap?"#define USE_EMISSIVEMAP":"",i.bumpMap?"#define USE_BUMPMAP":"",i.normalMap?"#define USE_NORMALMAP":"",i.normalMap&&i.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",i.normalMap&&i.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",i.clearcoatMap?"#define USE_CLEARCOATMAP":"",i.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",i.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",i.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",i.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",i.displacementMap&&i.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",i.specularColorMap?"#define USE_SPECULARCOLORMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.transmission?"#define USE_TRANSMISSION":"",i.transmissionMap?"#define USE_TRANSMISSIONMAP":"",i.thicknessMap?"#define USE_THICKNESSMAP":"",i.sheenColorMap?"#define USE_SHEENCOLORMAP":"",i.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",i.vertexTangents?"#define USE_TANGENT":"",i.vertexColors?"#define USE_COLOR":"",i.vertexAlphas?"#define USE_COLOR_ALPHA":"",i.vertexUvs?"#define USE_UV":"",i.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",i.flatShading?"#define FLAT_SHADED":"",i.skinning?"#define USE_SKINNING":"",i.morphTargets?"#define USE_MORPHTARGETS":"",i.morphNormals&&!1===i.flatShading?"#define USE_MORPHNORMALS":"",i.morphColors&&i.isWebGL2?"#define USE_MORPHCOLORS":"",i.morphTargetsCount>0&&i.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",i.morphTargetsCount>0&&i.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+i.morphTextureStride:"",i.morphTargetsCount>0&&i.isWebGL2?"#define MORPHTARGETS_COUNT "+i.morphTargetsCount:"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"",i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+u:"",i.sizeAttenuation?"#define USE_SIZEATTENUATION":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&i.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ls).join("\n"),_=[g,ys(i),"#define SHADER_NAME "+i.shaderName,v,i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp2?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.matcap?"#define USE_MATCAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+d:"",i.envMap?"#define "+p:"",i.envMap?"#define "+m:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",i.lightMap?"#define USE_LIGHTMAP":"",i.aoMap?"#define USE_AOMAP":"",i.emissiveMap?"#define USE_EMISSIVEMAP":"",i.bumpMap?"#define USE_BUMPMAP":"",i.normalMap?"#define USE_NORMALMAP":"",i.normalMap&&i.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",i.normalMap&&i.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",i.clearcoat?"#define USE_CLEARCOAT":"",i.clearcoatMap?"#define USE_CLEARCOATMAP":"",i.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",i.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",i.iridescence?"#define USE_IRIDESCENCE":"",i.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",i.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",i.specularColorMap?"#define USE_SPECULARCOLORMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.alphaTest?"#define USE_ALPHATEST":"",i.sheen?"#define USE_SHEEN":"",i.sheenColorMap?"#define USE_SHEENCOLORMAP":"",i.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",i.transmission?"#define USE_TRANSMISSION":"",i.transmissionMap?"#define USE_TRANSMISSIONMAP":"",i.thicknessMap?"#define USE_THICKNESSMAP":"",i.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",i.vertexTangents?"#define USE_TANGENT":"",i.vertexColors||i.instancingColor?"#define USE_COLOR":"",i.vertexAlphas?"#define USE_COLOR_ALPHA":"",i.vertexUvs?"#define USE_UV":"",i.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",i.gradientMap?"#define USE_GRADIENTMAP":"",i.flatShading?"#define FLAT_SHADED":"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"",i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+u:"",i.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",i.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&i.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==i.toneMapping?"#define TONE_MAPPING":"",0!==i.toneMapping?yn.tonemapping_pars_fragment:"",0!==i.toneMapping?os("toneMapping",i.toneMapping):"",i.dithering?"#define DITHERING":"",i.opaque?"#define OPAQUE":"",yn.encodings_pars_fragment,as("linearToOutputTexel",i.outputEncoding),i.useDepthPacking?"#define DEPTH_PACKING "+i.depthPacking:"","\n"].filter(ls).join("\n")),c=ds(c),c=cs(c,i),c=hs(c,i),h=ds(h),h=cs(h,i),h=hs(h,i),c=gs(c),h=gs(h),i.isWebGL2&&!0!==i.isRawShaderMaterial&&(M="#version 300 es\n",y=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+y,_=["#define varying in",i.glslVersion===dt?"":"layout(location = 0) out highp vec4 pc_fragColor;",i.glslVersion===dt?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+_);const b=M+_+h,w=ns(a,35633,M+y+c),S=ns(a,35632,b);if(a.attachShader(x,w),a.attachShader(x,S),void 0!==i.index0AttributeName?a.bindAttribLocation(x,0,i.index0AttributeName):!0===i.morphTargets&&a.bindAttribLocation(x,0,"position"),a.linkProgram(x),t.debug.checkShaderErrors){const t=a.getProgramInfoLog(x).trim(),e=a.getShaderInfoLog(w).trim(),i=a.getShaderInfoLog(S).trim();let n=!0,r=!0;if(!1===a.getProgramParameter(x,35714)){n=!1;const e=ss(a,w,"vertex"),i=ss(a,S,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(x,35715)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+i)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==e&&""!==i||(r=!1);r&&(this.diagnostics={runnable:n,programLog:t,vertexShader:{log:e,prefix:y},fragmentShader:{log:i,prefix:_}})}let T,A;return a.deleteShader(w),a.deleteShader(S),this.getUniforms=function(){return void 0===T&&(T=new is(a,x)),T},this.getAttributes=function(){return void 0===A&&(A=function(t,e){const i={},n=t.getProgramParameter(e,35721);for(let r=0;r0,D=s.clearcoat>0,N=s.iridescence>0;return{isWebGL2:u,shaderID:w,shaderName:s.type,vertexShader:A,fragmentShader:E,defines:s.defines,customVertexShaderID:C,customFragmentShaderID:L,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:m,instancing:!0===v.isInstancedMesh,instancingColor:!0===v.isInstancedMesh&&null!==v.instanceColor,supportsVertexTextures:p,outputEncoding:null===P?t.outputEncoding:!0===P.isXRRenderTarget?P.texture.encoding:at,map:!!s.map,matcap:!!s.matcap,envMap:!!M,envMapMode:M&&M.mapping,envMapCubeUVHeight:b,lightMap:!!s.lightMap,aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:1===s.normalMapType,tangentSpaceNormalMap:0===s.normalMapType,decodeVideoTexture:!!s.map&&!0===s.map.isVideoTexture&&s.map.encoding===ot,clearcoat:D,clearcoatMap:D&&!!s.clearcoatMap,clearcoatRoughnessMap:D&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:D&&!!s.clearcoatNormalMap,iridescence:N,iridescenceMap:N&&!!s.iridescenceMap,iridescenceThicknessMap:N&&!!s.iridescenceThicknessMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularColorMap:!!s.specularColorMap,opaque:!1===s.transparent&&1===s.blending,alphaMap:!!s.alphaMap,alphaTest:I,gradientMap:!!s.gradientMap,sheen:s.sheen>0,sheenColorMap:!!s.sheenColorMap,sheenRoughnessMap:!!s.sheenRoughnessMap,transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!y.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!y.attributes.color&&4===y.attributes.color.itemSize,vertexUvs:!!(s.map||s.bumpMap||s.normalMap||s.specularMap||s.alphaMap||s.emissiveMap||s.roughnessMap||s.metalnessMap||s.clearcoatMap||s.clearcoatRoughnessMap||s.clearcoatNormalMap||s.iridescenceMap||s.iridescenceThicknessMap||s.displacementMap||s.transmissionMap||s.thicknessMap||s.specularIntensityMap||s.specularColorMap||s.sheenColorMap||s.sheenRoughnessMap),uvsVertexOnly:!(s.map||s.bumpMap||s.normalMap||s.specularMap||s.alphaMap||s.emissiveMap||s.roughnessMap||s.metalnessMap||s.clearcoatNormalMap||s.iridescenceMap||s.iridescenceThicknessMap||s.transmission>0||s.transmissionMap||s.thicknessMap||s.specularIntensityMap||s.specularColorMap||s.sheen>0||s.sheenColorMap||s.sheenRoughnessMap||!s.displacementMap),fog:!!x,useFog:!0===s.fog,fogExp2:x&&x.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===v.isSkinnedMesh,morphTargets:void 0!==y.morphAttributes.position,morphNormals:void 0!==y.morphAttributes.normal,morphColors:void 0!==y.morphAttributes.color,morphTargetsCount:T,morphTextureStride:R,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&h.length>0,shadowMapType:t.shadowMap.type,toneMapping:s.toneMapped?t.toneMapping:0,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:2===s.side,flipSided:1===s.side,useDepthPacking:!!s.depthPacking,depthPacking:s.depthPacking||0,index0AttributeName:s.index0AttributeName,extensionDerivatives:s.extensions&&s.extensions.derivatives,extensionFragDepth:s.extensions&&s.extensions.fragDepth,extensionDrawBuffers:s.extensions&&s.extensions.drawBuffers,extensionShaderTextureLOD:s.extensions&&s.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||n.has("EXT_shader_texture_lod"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const i=[];if(e.shaderID?i.push(e.shaderID):(i.push(e.customVertexShaderID),i.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)i.push(t),i.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputEncoding),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.combine),t.push(e.vertexUvs),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(i,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0);e.supportsVertexTextures&&o.enable(1);e.instancing&&o.enable(2);e.instancingColor&&o.enable(3);e.map&&o.enable(4);e.matcap&&o.enable(5);e.envMap&&o.enable(6);e.lightMap&&o.enable(7);e.aoMap&&o.enable(8);e.emissiveMap&&o.enable(9);e.bumpMap&&o.enable(10);e.normalMap&&o.enable(11);e.objectSpaceNormalMap&&o.enable(12);e.tangentSpaceNormalMap&&o.enable(13);e.clearcoat&&o.enable(14);e.clearcoatMap&&o.enable(15);e.clearcoatRoughnessMap&&o.enable(16);e.clearcoatNormalMap&&o.enable(17);e.iridescence&&o.enable(18);e.iridescenceMap&&o.enable(19);e.iridescenceThicknessMap&&o.enable(20);e.displacementMap&&o.enable(21);e.specularMap&&o.enable(22);e.roughnessMap&&o.enable(23);e.metalnessMap&&o.enable(24);e.gradientMap&&o.enable(25);e.alphaMap&&o.enable(26);e.alphaTest&&o.enable(27);e.vertexColors&&o.enable(28);e.vertexAlphas&&o.enable(29);e.vertexUvs&&o.enable(30);e.vertexTangents&&o.enable(31);e.uvsVertexOnly&&o.enable(32);e.fog&&o.enable(33);t.push(o.mask),o.disableAll(),e.useFog&&o.enable(0);e.flatShading&&o.enable(1);e.logarithmicDepthBuffer&&o.enable(2);e.skinning&&o.enable(3);e.morphTargets&&o.enable(4);e.morphNormals&&o.enable(5);e.morphColors&&o.enable(6);e.premultipliedAlpha&&o.enable(7);e.shadowMapEnabled&&o.enable(8);e.physicallyCorrectLights&&o.enable(9);e.doubleSided&&o.enable(10);e.flipSided&&o.enable(11);e.useDepthPacking&&o.enable(12);e.dithering&&o.enable(13);e.specularIntensityMap&&o.enable(14);e.specularColorMap&&o.enable(15);e.transmission&&o.enable(16);e.transmissionMap&&o.enable(17);e.thicknessMap&&o.enable(18);e.sheen&&o.enable(19);e.sheenColorMap&&o.enable(20);e.sheenRoughnessMap&&o.enable(21);e.decodeVideoTexture&&o.enable(22);e.opaque&&o.enable(23);t.push(o.mask)}(i,e),i.push(t.outputEncoding)),i.push(e.customProgramCacheKey),i.join()},getUniforms:function(t){const e=f[t.type];let i;if(e){const t=Mn[e];i=tn.clone(t.uniforms)}else i=t.uniforms;return i},acquireProgram:function(e,i){let n;for(let t=0,e=h.length;t0?n.push(h):!0===a.transparent?r.push(h):i.push(h)},unshift:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?n.unshift(h):!0===a.transparent?r.unshift(h):i.unshift(h)},finish:function(){for(let i=e,n=t.length;i1&&i.sort(t||As),n.length>1&&n.sort(e||Es),r.length>1&&r.sort(e||Es)}}}function Ls(){let t=new WeakMap;return{get:function(e,i){let n;return!1===t.has(e)?(n=new Cs,t.set(e,[n])):i>=t.get(e).length?(n=new Cs,t.get(e).push(n)):n=t.get(e)[i],n},dispose:function(){t=new WeakMap}}}function Rs(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let i;switch(e.type){case"DirectionalLight":i={direction:new ee,color:new Ht};break;case"SpotLight":i={position:new ee,direction:new ee,color:new Ht,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":i={position:new ee,color:new Ht,distance:0,decay:0};break;case"HemisphereLight":i={direction:new ee,skyColor:new Ht,groundColor:new Ht};break;case"RectAreaLight":i={color:new Ht,position:new ee,halfWidth:new ee,halfHeight:new ee};}return t[e.id]=i,i}}}let Ps=0;function Is(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Ds(t,e){const i=new Rs,n=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let i;switch(e.type){case"DirectionalLight":case"SpotLight":i={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Et};break;case"PointLight":i={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Et,shadowCameraNear:1,shadowCameraFar:1e3};}return t[e.id]=i,i}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)r.probe.push(new ee);const s=new ee,a=new Ie,o=new Ie;return{setup:function(s,a){let o=0,l=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let h=0,u=0,d=0,p=0,m=0,f=0,g=0,v=0;s.sort(Is);const x=!0!==a?Math.PI:1;for(let t=0,e=s.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=_n.LTC_FLOAT_1,r.rectAreaLTC2=_n.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=_n.LTC_HALF_1,r.rectAreaLTC2=_n.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=o,r.ambient[1]=l,r.ambient[2]=c;const y=r.hash;y.directionalLength===h&&y.pointLength===u&&y.spotLength===d&&y.rectAreaLength===p&&y.hemiLength===m&&y.numDirectionalShadows===f&&y.numPointShadows===g&&y.numSpotShadows===v||(r.directional.length=h,r.spot.length=d,r.rectArea.length=p,r.point.length=u,r.hemi.length=m,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=g,r.pointShadowMap.length=g,r.spotShadow.length=v,r.spotShadowMap.length=v,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=g,r.spotShadowMatrix.length=v,y.directionalLength=h,y.pointLength=u,y.spotLength=d,y.rectAreaLength=p,y.hemiLength=m,y.numDirectionalShadows=f,y.numPointShadows=g,y.numSpotShadows=v,r.version=Ps++)},setupView:function(t,e){let i=0,n=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=i.get(n).length?(s=new Ns(t,e),i.get(n).push(s)):s=i.get(n)[r],s},dispose:function(){i=new WeakMap}}}class zs extends gi{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class Fs extends gi{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.referencePosition=new ee,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}function Bs(t,e,i){let n=new fn;const r=new Et,s=new Et,a=new Jt,o=new zs({depthPacking:3201}),l=new Fs,c={},h=i.maxTextureSize,u={0:1,1:0,2:2},p=new en({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Et},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),m=p.clone();m.defines.HORIZONTAL_PASS=1;const f=new Pi;f.setAttribute("position",new _i(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new Zi(f,p),v=this;function x(i,n){const s=e.update(g);p.defines.VSM_SAMPLES!==i.blurSamples&&(p.defines.VSM_SAMPLES=i.blurSamples,m.defines.VSM_SAMPLES=i.blurSamples,p.needsUpdate=!0,m.needsUpdate=!0),null===i.mapPass&&(i.mapPass=new Kt(r.x,r.y)),p.uniforms.shadow_pass.value=i.map.texture,p.uniforms.resolution.value=i.mapSize,p.uniforms.radius.value=i.radius,t.setRenderTarget(i.mapPass),t.clear(),t.renderBufferDirect(n,null,s,p,g,null),m.uniforms.shadow_pass.value=i.mapPass.texture,m.uniforms.resolution.value=i.mapSize,m.uniforms.radius.value=i.radius,t.setRenderTarget(i.map),t.clear(),t.renderBufferDirect(n,null,s,m,g,null)}function y(e,i,n,r,s,a){let h=null;const d=!0===n.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(h=void 0!==d?d:!0===n.isPointLight?l:o,t.localClippingEnabled&&!0===i.clipShadows&&Array.isArray(i.clippingPlanes)&&0!==i.clippingPlanes.length||i.displacementMap&&0!==i.displacementScale||i.alphaMap&&i.alphaTest>0){const t=h.uuid,e=i.uuid;let n=c[t];void 0===n&&(n={},c[t]=n);let r=n[e];void 0===r&&(r=h.clone(),n[e]=r),h=r}return h.visible=i.visible,h.wireframe=i.wireframe,h.side=3===a?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:u[i.side],h.alphaMap=i.alphaMap,h.alphaTest=i.alphaTest,h.clipShadows=i.clipShadows,h.clippingPlanes=i.clippingPlanes,h.clipIntersection=i.clipIntersection,h.displacementMap=i.displacementMap,h.displacementScale=i.displacementScale,h.displacementBias=i.displacementBias,h.wireframeLinewidth=i.wireframeLinewidth,h.linewidth=i.linewidth,!0===n.isPointLight&&!0===h.isMeshDistanceMaterial&&(h.referencePosition.setFromMatrixPosition(n.matrixWorld),h.nearDistance=r,h.farDistance=s),h}function _(i,r,s,a,o){if(!1===i.visible)return;if(i.layers.test(r.layers)&&(i.isMesh||i.isLine||i.isPoints)&&(i.castShadow||i.receiveShadow&&3===o)&&(!i.frustumCulled||n.intersectsObject(i))){i.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,i.matrixWorld);const n=e.update(i),r=i.material;if(Array.isArray(r)){const e=n.groups;for(let l=0,c=e.length;lh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/m.x),r.x=s.x*m.x,u.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/m.y),r.y=s.y*m.y,u.mapSize.y=s.y)),null===u.map){const t=3!==this.type?{minFilter:d,magFilter:d}:{};u.map=new Kt(r.x,r.y,t),u.map.texture.name=c.name+".shadowMap",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const f=u.getViewportCount();for(let t=0;t=1):-1!==R.indexOf("OpenGL ES")&&(L=parseFloat(/^OpenGL ES (\d)/.exec(R)[1]),C=L>=2);let P=null,I={};const D=t.getParameter(3088),N=t.getParameter(2978),O=new Jt().fromArray(D),z=new Jt().fromArray(N);function F(e,i,n){const r=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;en||t.height>n)&&(r=n/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const n=e?Tt:Math.floor,s=n(r*t.width),a=n(r*t.height);void 0===D&&(D=z(s,a));const o=i?z(s,a):D;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function B(t){return wt(t.width)&&wt(t.height)}function U(t,e){return t.generateMipmaps&&e&&t.minFilter!==d&&t.minFilter!==f}function k(e){t.generateMipmap(e)}function G(i,n,r,s,a=!1){if(!1===o)return n;if(null!==i){if(void 0!==t[i])return t[i];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+i+"'")}let l=n;return 6403===n&&(5126===r&&(l=33326),5131===r&&(l=33325),5121===r&&(l=33321)),33319===n&&(5126===r&&(l=33328),5131===r&&(l=33327),5121===r&&(l=33323)),6408===n&&(5126===r&&(l=34836),5131===r&&(l=34842),5121===r&&(l=s===ot&&!1===a?35907:32856),32819===r&&(l=32854),32820===r&&(l=32855)),33325!==l&&33326!==l&&33327!==l&&33328!==l&&34842!==l&&34836!==l||e.get("EXT_color_buffer_float"),l}function V(t,e,i){return!0===U(t,i)||t.isFramebufferTexture&&t.minFilter!==d&&t.minFilter!==f?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function H(t){return t===d||t===p||t===m?9728:9729}function W(t){const e=t.target;e.removeEventListener("dispose",W),function(t){const e=n.get(t);if(void 0===e.__webglInit)return;const i=t.source,r=N.get(i);if(r){const n=r[e.__cacheKey];n.usedTimes--,0===n.usedTimes&&q(t),0===Object.keys(r).length&&N.delete(i)}n.remove(t)}(e),e.isVideoTexture&&I.delete(e)}function j(e){const i=e.target;i.removeEventListener("dispose",j),function(e){const i=e.texture,r=n.get(e),s=n.get(i);void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(r.__webglFramebuffer[e]),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer[e]);else{if(t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer)for(let e=0;e0&&r.__version!==t.version){const i=t.image;if(null===i)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==i.complete)return void $(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}i.activeTexture(33984+e),i.bindTexture(3553,r.__webglTexture)}const Z={[c]:10497,[h]:33071,[u]:33648},J={[d]:9728,[p]:9984,[m]:9986,[f]:9729,[g]:9985,[v]:9987};function K(i,s,a){if(a?(t.texParameteri(i,10242,Z[s.wrapS]),t.texParameteri(i,10243,Z[s.wrapT]),32879!==i&&35866!==i||t.texParameteri(i,32882,Z[s.wrapR]),t.texParameteri(i,10240,J[s.magFilter]),t.texParameteri(i,10241,J[s.minFilter])):(t.texParameteri(i,10242,33071),t.texParameteri(i,10243,33071),32879!==i&&35866!==i||t.texParameteri(i,32882,33071),s.wrapS===h&&s.wrapT===h||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(i,10240,H(s.magFilter)),t.texParameteri(i,10241,H(s.minFilter)),s.minFilter!==d&&s.minFilter!==f&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(s.type===M&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&s.type===b&&!1===e.has("OES_texture_half_float_linear"))return;(s.anisotropy>1||n.get(s).__currentAnisotropy)&&(t.texParameterf(i,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),n.get(s).__currentAnisotropy=s.anisotropy)}}function Q(e,i){let n=!1;void 0===e.__webglInit&&(e.__webglInit=!0,i.addEventListener("dispose",W));const r=i.source;let s=N.get(r);void 0===s&&(s={},N.set(r,s));const o=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.encoding),e.join()}(i);if(o!==e.__cacheKey){void 0===s[o]&&(s[o]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,n=!0),s[o].usedTimes++;const r=s[e.__cacheKey];void 0!==r&&(s[e.__cacheKey].usedTimes--,0===r.usedTimes&&q(i)),e.__cacheKey=o,e.__webglTexture=s[o].texture}return n}function $(e,n,r){let a=3553;n.isDataArrayTexture&&(a=35866),n.isData3DTexture&&(a=32879);const l=Q(e,n),c=n.source;if(i.activeTexture(33984+r),i.bindTexture(a,e.__webglTexture),c.version!==c.__currentVersion||!0===l){t.pixelStorei(37440,n.flipY),t.pixelStorei(37441,n.premultiplyAlpha),t.pixelStorei(3317,n.unpackAlignment),t.pixelStorei(37443,0);const e=function(t){return!o&&(t.wrapS!==h||t.wrapT!==h||t.minFilter!==d&&t.minFilter!==f)}(n)&&!1===B(n.image);let r=F(n.image,e,!1,C);r=st(n,r);const u=B(r)||o,p=s.convert(n.format,n.encoding);let m,g=s.convert(n.type),v=G(n.internalFormat,p,g,n.encoding,n.isVideoTexture);K(a,n,u);const x=n.mipmaps,b=o&&!0!==n.isVideoTexture,E=void 0===c.__currentVersion||!0===l,L=V(n,r,u);if(n.isDepthTexture)v=6402,o?v=n.type===M?36012:n.type===_?33190:n.type===w?35056:33189:n.type===M&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),n.format===T&&6402===v&&n.type!==y&&n.type!==_&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),n.type=_,g=s.convert(n.type)),n.format===A&&6402===v&&(v=34041,n.type!==w&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),n.type=w,g=s.convert(n.type))),E&&(b?i.texStorage2D(3553,1,v,r.width,r.height):i.texImage2D(3553,0,v,r.width,r.height,0,p,g,null));else if(n.isDataTexture){if(x.length>0&&u){b&&E&&i.texStorage2D(3553,L,v,x[0].width,x[0].height);for(let t=0,e=x.length;t>=1,e>>=1}}else if(x.length>0&&u){b&&E&&i.texStorage2D(3553,L,v,x[0].width,x[0].height);for(let t=0,e=x.length;t0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==i.__useRenderToTexture}function st(t,i){const n=t.encoding,r=t.format,s=t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||t.format===pt||n!==at&&(n===ot?!1===o?!0===e.has("EXT_sRGB")&&r===S?(t.format=pt,t.minFilter=f,t.generateMipmaps=!1):i=jt.sRGBToLinear(i):r===S&&s===x||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",n)),i}this.allocateTextureUnit=function(){const t=X;return t>=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),X+=1,t},this.resetTextureUnits=function(){X=0},this.setTexture2D=Y,this.setTexture2DArray=function(t,e){const r=n.get(t);t.version>0&&r.__version!==t.version?$(r,t,e):(i.activeTexture(33984+e),i.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=n.get(t);t.version>0&&r.__version!==t.version?$(r,t,e):(i.activeTexture(33984+e),i.bindTexture(32879,r.__webglTexture))},this.setTextureCube=function(e,r){const a=n.get(e);e.version>0&&a.__version!==e.version?function(e,n,r){if(6!==n.image.length)return;const a=Q(e,n),l=n.source;if(i.activeTexture(33984+r),i.bindTexture(34067,e.__webglTexture),l.version!==l.__currentVersion||!0===a){t.pixelStorei(37440,n.flipY),t.pixelStorei(37441,n.premultiplyAlpha),t.pixelStorei(3317,n.unpackAlignment),t.pixelStorei(37443,0);const e=n.isCompressedTexture||n.image[0].isCompressedTexture,r=n.image[0]&&n.image[0].isDataTexture,c=[];for(let t=0;t<6;t++)c[t]=e||r?r?n.image[t].image:n.image[t]:F(n.image[t],!1,!0,E),c[t]=st(n,c[t]);const h=c[0],u=B(h)||o,d=s.convert(n.format,n.encoding),p=s.convert(n.type),m=G(n.internalFormat,d,p,n.encoding),f=o&&!0!==n.isVideoTexture,g=void 0===l.__currentVersion||!0===a;let v,x=V(n,h,u);if(K(34067,n,u),e){f&&g&&i.texStorage2D(34067,x,m,h.width,h.height);for(let t=0;t<6;t++){v=c[t].mipmaps;for(let e=0;e0&&x++,i.texStorage2D(34067,x,m,c[0].width,c[0].height));for(let t=0;t<6;t++)if(r){f?i.texSubImage2D(34069+t,0,0,0,c[t].width,c[t].height,d,p,c[t].data):i.texImage2D(34069+t,0,m,c[t].width,c[t].height,0,d,p,c[t].data);for(let e=0;e0&&!1===rt(e)){const n=d?l:[l];c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=[],i.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let i=0;i0&&!1===rt(e)){const r=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],s=e.width,a=e.height;let o=16384;const l=[],c=e.stencilBuffer?33306:36096,h=n.get(e),u=!0===e.isWebGLMultipleRenderTargets;if(u)for(let e=0;eo+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,i),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));null!==a&&(n=e.getPose(t.targetRaySpace,i),null===n&&null!==r&&(n=r),null!==n&&(a.matrix.fromArray(n.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),n.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(n.linearVelocity)):a.hasLinearVelocity=!1,n.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(n.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Ws)))}return null!==a&&(a.visible=null!==n),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}}class qs extends Zt{constructor(t,e,i,n,r,s,a,o,l,c){if((c=void 0!==c?c:T)!==T&&c!==A)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===i&&c===T&&(i=_),void 0===i&&c===A&&(i=w),super(null,n,r,s,a,o,c,i,l),this.isDepthTexture=!0,this.image={width:t,height:e},this.magFilter=void 0!==a?a:d,this.minFilter=void 0!==o?o:d,this.flipY=!1,this.generateMipmaps=!1}}class Xs extends mt{constructor(t,e){super();const i=this;let n=null,r=1,s=null,a="local-floor",o=null,l=null,c=null,h=null,u=null,d=null;const p=e.getContextAttributes();let m=null,f=null;const g=[],v=[],y=new rn;y.layers.enable(1),y.viewport=new Jt;const M=new rn;M.layers.enable(2),M.viewport=new Jt;const b=[y,M],E=new Vs;E.layers.enable(1),E.layers.enable(2);let C=null,L=null;function R(t){const e=v.indexOf(t.inputSource);if(-1===e)return;const i=g[e];void 0!==i&&i.dispatchEvent({type:t.type,data:t.inputSource})}function P(){n.removeEventListener("select",R),n.removeEventListener("selectstart",R),n.removeEventListener("selectend",R),n.removeEventListener("squeeze",R),n.removeEventListener("squeezestart",R),n.removeEventListener("squeezeend",R),n.removeEventListener("end",P),n.removeEventListener("inputsourceschange",I);for(let t=0;t=0&&(v[n]=null,g[n].dispatchEvent({type:"disconnected",data:i}))}for(let e=0;e=v.length){v.push(i),n=t;break}if(null===v[t]){v[t]=i,n=t;break}}if(-1===n)break}const r=g[n];r&&r.dispatchEvent({type:"connected",data:i})}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=g[t];return void 0===e&&(e=new js,g[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=g[t];return void 0===e&&(e=new js,g[t]=e),e.getGripSpace()},this.getHand=function(t){let e=g[t];return void 0===e&&(e=new js,g[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){r=t,!0===i.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){a=t,!0===i.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return o||s},this.setReferenceSpace=function(t){o=t},this.getBaseLayer=function(){return null!==h?h:u},this.getBinding=function(){return c},this.getFrame=function(){return d},this.getSession=function(){return n},this.setSession=async function(l){if(n=l,null!==n){if(m=t.getRenderTarget(),n.addEventListener("select",R),n.addEventListener("selectstart",R),n.addEventListener("selectend",R),n.addEventListener("squeeze",R),n.addEventListener("squeezestart",R),n.addEventListener("squeezeend",R),n.addEventListener("end",P),n.addEventListener("inputsourceschange",I),!0!==p.xrCompatible&&(await e.makeXRCompatible()),void 0===n.renderState.layers||!1===t.capabilities.isWebGL2){const i={antialias:void 0!==n.renderState.layers||p.antialias,alpha:p.alpha,depth:p.depth,stencil:p.stencil,framebufferScaleFactor:r};u=new XRWebGLLayer(n,e,i),n.updateRenderState({baseLayer:u}),f=new Kt(u.framebufferWidth,u.framebufferHeight,{format:S,type:x,encoding:t.outputEncoding})}else{let i=null,s=null,a=null;p.depth&&(a=p.stencil?35056:33190,i=p.stencil?A:T,s=p.stencil?w:_);const o={colorFormat:32856,depthFormat:a,scaleFactor:r};c=new XRWebGLBinding(n,e),h=c.createProjectionLayer(o),n.updateRenderState({layers:[h]}),f=new Kt(h.textureWidth,h.textureHeight,{format:S,type:x,depthTexture:new qs(h.textureWidth,h.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,i),stencilBuffer:p.stencil,encoding:t.outputEncoding,samples:p.antialias?4:0});t.properties.get(f).__ignoreDepthValues=h.ignoreDepthValues}f.isXRRenderTarget=!0,this.setFoveation(1),o=null,s=await n.requestReferenceSpace(a),F.setContext(n),F.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}};const D=new ee,N=new ee;function O(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===n)return;E.near=M.near=y.near=t.near,E.far=M.far=y.far=t.far,C===E.near&&L===E.far||(n.updateRenderState({depthNear:E.near,depthFar:E.far}),C=E.near,L=E.far);const e=t.parent,i=E.cameras;O(E,e);for(let t=0;t0&&(i.alphaTest.value=n.alphaTest);const r=e.get(n).envMap;if(r&&(i.envMap.value=r,i.flipEnvMap.value=r.isCubeTexture&&!1===r.isRenderTargetTexture?-1:1,i.reflectivity.value=n.reflectivity,i.ior.value=n.ior,i.refractionRatio.value=n.refractionRatio),n.lightMap){i.lightMap.value=n.lightMap;const e=!0!==t.physicallyCorrectLights?Math.PI:1;i.lightMapIntensity.value=n.lightMapIntensity*e}let s,a;n.aoMap&&(i.aoMap.value=n.aoMap,i.aoMapIntensity.value=n.aoMapIntensity),n.map?s=n.map:n.specularMap?s=n.specularMap:n.displacementMap?s=n.displacementMap:n.normalMap?s=n.normalMap:n.bumpMap?s=n.bumpMap:n.roughnessMap?s=n.roughnessMap:n.metalnessMap?s=n.metalnessMap:n.alphaMap?s=n.alphaMap:n.emissiveMap?s=n.emissiveMap:n.clearcoatMap?s=n.clearcoatMap:n.clearcoatNormalMap?s=n.clearcoatNormalMap:n.clearcoatRoughnessMap?s=n.clearcoatRoughnessMap:n.iridescenceMap?s=n.iridescenceMap:n.iridescenceThicknessMap?s=n.iridescenceThicknessMap:n.specularIntensityMap?s=n.specularIntensityMap:n.specularColorMap?s=n.specularColorMap:n.transmissionMap?s=n.transmissionMap:n.thicknessMap?s=n.thicknessMap:n.sheenColorMap?s=n.sheenColorMap:n.sheenRoughnessMap&&(s=n.sheenRoughnessMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),i.uvTransform.value.copy(s.matrix)),n.aoMap?a=n.aoMap:n.lightMap&&(a=n.lightMap),void 0!==a&&(a.isWebGLRenderTarget&&(a=a.texture),!0===a.matrixAutoUpdate&&a.updateMatrix(),i.uv2Transform.value.copy(a.matrix))}return{refreshFogUniforms:function(t,e){t.fogColor.value.copy(e.color),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(t,n,r,s,a){n.isMeshBasicMaterial||n.isMeshLambertMaterial?i(t,n):n.isMeshToonMaterial?(i(t,n),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,n)):n.isMeshPhongMaterial?(i(t,n),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,n)):n.isMeshStandardMaterial?(i(t,n),function(t,i){t.roughness.value=i.roughness,t.metalness.value=i.metalness,i.roughnessMap&&(t.roughnessMap.value=i.roughnessMap);i.metalnessMap&&(t.metalnessMap.value=i.metalnessMap);e.get(i).envMap&&(t.envMapIntensity.value=i.envMapIntensity)}(t,n),n.isMeshPhysicalMaterial&&function(t,e,i){t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),t.clearcoatNormalMap.value=e.clearcoatNormalMap,1===e.side&&t.clearcoatNormalScale.value.negate()));e.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap);e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap)}(t,n,a)):n.isMeshMatcapMaterial?(i(t,n),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,n)):n.isMeshDepthMaterial?i(t,n):n.isMeshDistanceMaterial?(i(t,n),function(t,e){t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,n)):n.isMeshNormalMaterial?i(t,n):n.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,n),n.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,n)):n.isPointsMaterial?function(t,e,i,n){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*i,t.scale.value=.5*n,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest);let r;e.map?r=e.map:e.alphaMap&&(r=e.alphaMap);void 0!==r&&(!0===r.matrixAutoUpdate&&r.updateMatrix(),t.uvTransform.value.copy(r.matrix))}(t,n,r,s):n.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest);let i;e.map?i=e.map:e.alphaMap&&(i=e.alphaMap);void 0!==i&&(!0===i.matrixAutoUpdate&&i.updateMatrix(),t.uvTransform.value.copy(i.matrix))}(t,n):n.isShadowMaterial?(t.color.value.copy(n.color),t.opacity.value=n.opacity):n.isShaderMaterial&&(n.uniformsNeedUpdate=!1)}}}function Zs(t={}){this.isWebGLRenderer=!0;const e=void 0!==t.canvas?t.canvas:function(){const t=It("canvas");return t.style.display="block",t}(),i=void 0!==t.context?t.context:null,n=void 0===t.depth||t.depth,r=void 0===t.stencil||t.stencil,s=void 0!==t.antialias&&t.antialias,a=void 0===t.premultipliedAlpha||t.premultipliedAlpha,o=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,l=void 0!==t.powerPreference?t.powerPreference:"default",c=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let h;h=null!==i?i.getContextAttributes().alpha:void 0!==t.alpha&&t.alpha;let u=null,d=null;const p=[],m=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=at,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1,Object.defineProperties(this,{gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}});const f=this;let g=!1,y=0,_=0,w=null,T=-1,A=null;const E=new Jt,C=new Jt;let L=null,R=e.width,P=e.height,I=1,D=null,N=null;const O=new Jt(0,0,R,P),z=new Jt(0,0,R,P);let F=!1;const B=new fn;let U=!1,k=!1,G=null;const V=new Ie,H=new Et,W=new ee,j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function q(){return null===w?I:1}let X,Y,Z,J,K,Q,$,tt,et,it,nt,rt,st,ot,lt,ct,ht,ut,dt,pt,mt,ft,gt,vt=i;function xt(t,i){for(let n=0;n0&&function(t,e,i){const n=Y.isWebGL2;null===G&&(G=new Kt(1,1,{generateMipmaps:!0,type:X.has("EXT_color_buffer_half_float")?b:x,minFilter:v,samples:n&&!0===s?4:0}));f.getDrawingBufferSize(H),n?G.setSize(H.x,H.y):G.setSize(Tt(H.x),Tt(H.y));const r=f.getRenderTarget();f.setRenderTarget(G),f.clear();const a=f.toneMapping;f.toneMapping=0,Nt(t,e,i),f.toneMapping=a,Q.updateMultisampleRenderTarget(G),Q.updateRenderTargetMipmap(G),f.setRenderTarget(r)}(r,e,i),n&&Z.viewport(E.copy(n)),r.length>0&&Nt(r,e,i),a.length>0&&Nt(a,e,i),o.length>0&&Nt(o,e,i),Z.buffers.depth.setTest(!0),Z.buffers.depth.setMask(!0),Z.buffers.color.setMask(!0),Z.setPolygonOffset(!1)}function Nt(t,e,i){const n=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r0?m[m.length-1]:null,p.pop(),u=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return y},this.getActiveMipmapLevel=function(){return _},this.getRenderTarget=function(){return w},this.setRenderTargetTextures=function(t,e,i){K.get(t.texture).__webglTexture=e,K.get(t.depthTexture).__webglTexture=i;const n=K.get(t);n.__hasExternalTextures=!0,n.__hasExternalTextures&&(n.__autoAllocateDepthBuffer=void 0===i,n.__autoAllocateDepthBuffer||!0===X.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),n.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(t,e){const i=K.get(t);i.__webglFramebuffer=e,i.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,i=0){w=t,y=e,_=i;let n=!0;if(t){const e=K.get(t);void 0!==e.__useDefaultFramebuffer?(Z.bindFramebuffer(36160,null),n=!1):void 0===e.__webglFramebuffer?Q.setupRenderTarget(t):e.__hasExternalTextures&&Q.rebindTextures(t,K.get(t.texture).__webglTexture,K.get(t.depthTexture).__webglTexture)}let r=null,s=!1,a=!1;if(t){const i=t.texture;(i.isData3DTexture||i.isDataArrayTexture)&&(a=!0);const n=K.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=n[e],s=!0):r=Y.isWebGL2&&t.samples>0&&!1===Q.useMultisampledRTT(t)?K.get(t).__webglMultisampledFramebuffer:n,E.copy(t.viewport),C.copy(t.scissor),L=t.scissorTest}else E.copy(O).multiplyScalar(I).floor(),C.copy(z).multiplyScalar(I).floor(),L=F;if(Z.bindFramebuffer(36160,r)&&Y.drawBuffers&&n&&Z.drawBuffers(t,r),Z.viewport(E),Z.scissor(C),Z.setScissorTest(L),s){const n=K.get(t.texture);vt.framebufferTexture2D(36160,36064,34069+e,n.__webglTexture,i)}else if(a){const n=K.get(t.texture),r=e||0;vt.framebufferTextureLayer(36160,36064,n.__webglTexture,i||0,r)}T=-1},this.readRenderTargetPixels=function(t,e,i,n,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=K.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){Z.bindFramebuffer(36160,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==S&&ft.convert(o)!==vt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===b&&(X.has("EXT_color_buffer_half_float")||Y.isWebGL2&&X.has("EXT_color_buffer_float"));if(!(l===x||ft.convert(l)===vt.getParameter(35738)||l===M&&(Y.isWebGL2||X.has("OES_texture_float")||X.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=t.width-n&&i>=0&&i<=t.height-r&&vt.readPixels(e,i,n,r,ft.convert(o),ft.convert(l),s)}finally{const t=null!==w?K.get(w).__webglFramebuffer:null;Z.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,i=0){const n=Math.pow(2,-i),r=Math.floor(e.image.width*n),s=Math.floor(e.image.height*n);Q.setTexture2D(e,0),vt.copyTexSubImage2D(3553,i,0,0,t.x,t.y,r,s),Z.unbindTexture()},this.copyTextureToTexture=function(t,e,i,n=0){const r=e.image.width,s=e.image.height,a=ft.convert(i.format),o=ft.convert(i.type);Q.setTexture2D(i,0),vt.pixelStorei(37440,i.flipY),vt.pixelStorei(37441,i.premultiplyAlpha),vt.pixelStorei(3317,i.unpackAlignment),e.isDataTexture?vt.texSubImage2D(3553,n,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?vt.compressedTexSubImage2D(3553,n,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):vt.texSubImage2D(3553,n,t.x,t.y,a,o,e.image),0===n&&i.generateMipmaps&&vt.generateMipmap(3553),Z.unbindTexture()},this.copyTextureToTexture3D=function(t,e,i,n,r=0){if(f.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=ft.convert(n.format),c=ft.convert(n.type);let h;if(n.isData3DTexture)Q.setTexture3D(n,0),h=32879;else{if(!n.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");Q.setTexture2DArray(n,0),h=35866}vt.pixelStorei(37440,n.flipY),vt.pixelStorei(37441,n.premultiplyAlpha),vt.pixelStorei(3317,n.unpackAlignment);const u=vt.getParameter(3314),d=vt.getParameter(32878),p=vt.getParameter(3316),m=vt.getParameter(3315),g=vt.getParameter(32877),v=i.isCompressedTexture?i.mipmaps[0]:i.image;vt.pixelStorei(3314,v.width),vt.pixelStorei(32878,v.height),vt.pixelStorei(3316,t.min.x),vt.pixelStorei(3315,t.min.y),vt.pixelStorei(32877,t.min.z),i.isDataTexture||i.isData3DTexture?vt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,v.data):i.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),vt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,v.data)):vt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,v),vt.pixelStorei(3314,u),vt.pixelStorei(32878,d),vt.pixelStorei(3316,p),vt.pixelStorei(3315,m),vt.pixelStorei(32877,g),0===r&&n.generateMipmaps&&vt.generateMipmap(h),Z.unbindTexture()},this.initTexture=function(t){t.isCubeTexture?Q.setTextureCube(t,0):t.isData3DTexture?Q.setTexture3D(t,0):t.isDataArrayTexture?Q.setTexture2DArray(t,0):Q.setTexture2D(t,0),Z.unbindTexture()},this.resetState=function(){y=0,_=0,w=null,Z.reset(),gt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class Js extends Zs{}Js.prototype.isWebGL1Renderer=!0;class Ks{constructor(t,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new Ht(t),this.density=e}clone(){return new Ks(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Qs{constructor(t,e=1,i=1e3){this.isFog=!0,this.name="",this.color=new Ht(t),this.near=e,this.far=i}clone(){return new Qs(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class $s extends ni{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}class ta{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=ut,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=yt()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,i){t*=this.stride,i*=e.stride;for(let n=0,r=this.stride;nt.far||e.push({distance:o,point:sa.clone(),uv:mi.getUV(sa,ua,da,pa,ma,fa,ga,new Et),face:null,object:this})}copy(t,e){return super.copy(t,e),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function xa(t,e,i,n,r,s){la.subVectors(t,i).addScalar(.5).multiply(n),void 0!==r?(ca.x=s*la.x-r*la.y,ca.y=r*la.x+s*la.y):ca.copy(la),t.copy(e),t.x+=ca.x,t.y+=ca.y,t.applyMatrix4(ha)}const ya=new ee,_a=new ee;class Ma extends ni{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,i=e.length;t0){let i,n;for(i=1,n=e.length;i0){ya.setFromMatrixPosition(this.matrixWorld);const i=t.ray.origin.distanceTo(ya);this.getObjectForDistance(i).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){ya.setFromMatrixPosition(t.matrixWorld),_a.setFromMatrixPosition(this.matrixWorld);const i=ya.distanceTo(_a)/t.zoom;let n,r;for(e[0].object.visible=!0,n=1,r=e.length;n=e[n].distance;n++)e[n-1].object.visible=!1,e[n].object.visible=!0;for(this._currentLevel=n-1;no)continue;u.applyMatrix4(this.matrixWorld);const s=t.ray.origin.distanceTo(u);st.far||e.push({distance:s,point:h.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}else{for(let i=Math.max(0,s.start),n=Math.min(m.count,s.start+s.count)-1;io)continue;u.applyMatrix4(this.matrixWorld);const n=t.ray.origin.distanceTo(u);nt.far||e.push({distance:n,point:h.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const i=t[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=i.length;t0){const i=t[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=i.length;tr.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:i,index:e,face:null,object:a})}}class no extends Zt{constructor(t,e,i,n,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,n,r,h,u),this.isCompressedTexture=!0,this.image={width:e,height:i},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}class ro{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const i=this.getUtoTmapping(t);return this.getPoint(i,e)}getPoints(t=5){const e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return e}getSpacedPoints(t=5){const e=[];for(let i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let i,n=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)i=this.getPoint(s/t),r+=i.distanceTo(n),e.push(r),n=i;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const i=this.getLengths();let n=0;const r=i.length;let s;s=e||t*i[r-1];let a,o=0,l=r-1;for(;o<=l;)if(n=Math.floor(o+(l-o)/2),a=i[n]-s,a<0)o=n+1;else{if(!(a>0)){l=n;break}l=n-1}if(n=l,i[n]===s)return n/(r-1);const c=i[n];return(n+(s-c)/(i[n+1]-c))/(r-1)}getTangent(t,e){const i=1e-4;let n=t-i,r=t+i;n<0&&(n=0),r>1&&(r=1);const s=this.getPoint(n),a=this.getPoint(r),o=e||(s.isVector2?new Et:new ee);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const i=this.getUtoTmapping(t);return this.getTangent(i,e)}computeFrenetFrames(t,e){const i=new ee,n=[],r=[],s=[],a=new ee,o=new Ie;for(let e=0;e<=t;e++){const i=e/t;n[e]=this.getTangentAt(i,new ee)}r[0]=new ee,s[0]=new ee;let l=Number.MAX_VALUE;const c=Math.abs(n[0].x),h=Math.abs(n[0].y),u=Math.abs(n[0].z);c<=l&&(l=c,i.set(1,0,0)),h<=l&&(l=h,i.set(0,1,0)),u<=l&&i.set(0,0,1),a.crossVectors(n[0],i).normalize(),r[0].crossVectors(n[0],a),s[0].crossVectors(n[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),s[e]=s[e-1].clone(),a.crossVectors(n[e-1],n[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(_t(n[e-1].dot(n[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(n[e],r[e])}if(!0===e){let e=Math.acos(_t(r[0].dot(r[t]),-1,1));e/=t,n[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let i=1;i<=t;i++)r[i].applyMatrix4(o.makeRotationAxis(n[i],e*i)),s[i].crossVectors(n[i],r[i])}return{tangents:n,normals:r,binormals:s}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class so extends ro{constructor(t=0,e=0,i=1,n=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=n,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const i=e||new Et,n=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)n;)r-=n;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=n[(l-1)%r]:(lo.subVectors(n[0],n[1]).add(n[0]),a=lo);const h=n[l%r],u=n[(l+1)%r];if(this.closed||l+2n.length-2?n.length-1:s+1],h=n[s>n.length-3?n.length-1:s+2];return i.set(mo(a,o.x,l.x,c.x,h.x),mo(a,o.y,l.y,c.y,h.y)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e=i){const t=n[r]-i,s=this.curves[r],a=s.getLength(),o=0===a?0:1-t/a;return s.getPointAt(o,e)}r++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let i=0,n=this.curves.length;i1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,i=t.curves.length;e0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class Eo extends Pi{constructor(t=[new Et(0,.5),new Et(.5,0),new Et(0,-.5)],e=12,i=0,n=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:i,phiLength:n},e=Math.floor(e),n=_t(n,0,2*Math.PI);const r=[],s=[],a=[],o=[],l=[],c=1/e,h=new ee,u=new Et,d=new ee,p=new ee,m=new ee;let f=0,g=0;for(let e=0;e<=t.length-1;e++)switch(e){case 0:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,m.copy(d),d.normalize(),o.push(d.x,d.y,d.z);break;case t.length-1:o.push(m.x,m.y,m.z);break;default:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,p.copy(d),d.x+=m.x,d.y+=m.y,d.z+=m.z,d.normalize(),o.push(d.x,d.y,d.z),m.copy(p);}for(let r=0;r<=e;r++){const d=i+r*c*n,p=Math.sin(d),m=Math.cos(d);for(let i=0;i<=t.length-1;i++){h.x=t[i].x*p,h.y=t[i].y,h.z=t[i].x*m,s.push(h.x,h.y,h.z),u.x=r/e,u.y=i/(t.length-1),a.push(u.x,u.y);const n=o[3*i+0]*p,c=o[3*i+1],d=o[3*i+0]*m;l.push(n,c,d)}}for(let i=0;i0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new wi(h,3)),this.setAttribute("normal",new wi(u,3)),this.setAttribute("uv",new wi(d,2))}static fromJSON(t){return new Ro(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Po extends Ro{constructor(t=1,e=1,i=8,n=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,i,n,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:n,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new Po(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Io extends Pi{constructor(t=[],e=[],i=1,n=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:i,detail:n};const r=[],s=[];function a(t,e,i,n){const r=n+1,s=[];for(let n=0;n<=r;n++){s[n]=[];const a=t.clone().lerp(i,n/r),o=e.clone().lerp(i,n/r),l=r-n;for(let t=0;t<=l;t++)s[n][t]=0===t&&n===r?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(s[t+0]+=1),i<.2&&(s[t+2]+=1),n<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new wi(r,3)),this.setAttribute("normal",new wi(r.slice(),3)),this.setAttribute("uv",new wi(s,2)),0===n?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(t){return new Io(t.vertices,t.indices,t.radius,t.details)}}class Do extends Io{constructor(t=1,e=0){const i=(1+Math.sqrt(5))/2,n=1/i;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-n,-i,0,-n,i,0,n,-i,0,n,i,-n,-i,0,-n,i,0,n,-i,0,n,i,0,-i,0,-n,i,0,-n,-i,0,n,i,0,n],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Do(t.radius,t.detail)}}const No=new ee,Oo=new ee,zo=new ee,Fo=new mi;class Bo extends Pi{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const i=4,n=Math.pow(10,i),r=Math.cos(vt*e),s=t.getIndex(),a=t.getAttribute("position"),o=s?s.count:a.count,l=[0,0,0],c=["a","b","c"],h=new Array(3),u={},d=[];for(let t=0;t80*i){o=c=t[0],l=h=t[1];for(let e=i;ec&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?1/p:0}return Ho(s,a,i,o,l,p),a};function Go(t,e,i,n,r){let s,a;if(r===function(t,e,i,n){let r=0;for(let s=e,a=i-n;s0)for(s=e;s=e;s-=n)a=ll(s,t[s],t[s+1],a);return a&&il(a,a.next)&&(cl(a),a=a.next),a}function Vo(t,e){if(!t)return t;e||(e=t);let i,n=t;do{if(i=!1,n.steiner||!il(n,n.next)&&0!==el(n.prev,n,n.next))n=n.next;else{if(cl(n),n=e=n.prev,n===n.next)break;i=!0}}while(i||n!==e);return e}function Ho(t,e,i,n,r,s,a){if(!t)return;!a&&s&&function(t,e,i,n){let r=t;do{null===r.z&&(r.z=Ko(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,i,n,r,s,a,o,l,c=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||i.z<=n.z)?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,c*=2}while(a>1)}(r)}(t,n,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?jo(t,n,r,s):Wo(t))e.push(o.i/i),e.push(t.i/i),e.push(l.i/i),cl(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Ho(t=qo(Vo(t),e,i),e,i,n,r,s,2):2===a&&Xo(t,e,i,n,r,s):Ho(Vo(t),e,i,n,r,s,1);break}}function Wo(t){const e=t.prev,i=t,n=t.next;if(el(e,i,n)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if($o(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&el(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function jo(t,e,i,n){const r=t.prev,s=t,a=t.next;if(el(r,s,a)>=0)return!1;const o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,h=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=Ko(o,l,e,i,n),d=Ko(c,h,e,i,n);let p=t.prevZ,m=t.nextZ;for(;p&&p.z>=u&&m&&m.z<=d;){if(p!==t.prev&&p!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&el(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&el(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&el(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=d;){if(m!==t.prev&&m!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&el(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function qo(t,e,i){let n=t;do{const r=n.prev,s=n.next.next;!il(r,s)&&nl(r,n,n.next,s)&&al(r,s)&&al(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),cl(n),cl(n.next),n=t=s),n=n.next}while(n!==t);return Vo(n)}function Xo(t,e,i,n,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&tl(a,t)){let o=ol(a,t);return a=Vo(a,a.next),o=Vo(o,o.next),Ho(a,e,i,n,r,s),void Ho(o,e,i,n,r,s)}t=t.next}a=a.next}while(a!==t)}function Yo(t,e){return t.x-e.x}function Zo(t,e){if(e=function(t,e){let i=e;const n=t.x,r=t.y;let s,a=-1/0;do{if(r<=i.y&&r>=i.next.y&&i.next.y!==i.y){const t=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=n&&t>a){if(a=t,t===n){if(r===i.y)return i;if(r===i.next.y)return i.next}s=i.x=i.x&&i.x>=l&&n!==i.x&&$o(rs.x||i.x===s.x&&Jo(s,i)))&&(s=i,u=h)),i=i.next}while(i!==o);return s}(t,e),e){const i=ol(e,t);Vo(e,e.next),Vo(i,i.next)}}function Jo(t,e){return el(t.prev,t,e.prev)<0&&el(e.next,t,t.next)<0}function Ko(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Qo(t){let e=t,i=t;do{(e.x=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function tl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&nl(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(al(t,e)&&al(e,t)&&function(t,e){let i=t,n=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(el(t.prev,t,e.prev)||el(t,e.prev,e))||il(t,e)&&el(t.prev,t,t.next)>0&&el(e.prev,e,e.next)>0)}function el(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function il(t,e){return t.x===e.x&&t.y===e.y}function nl(t,e,i,n){const r=sl(el(t,e,i)),s=sl(el(t,e,n)),a=sl(el(i,n,t)),o=sl(el(i,n,e));return r!==s&&a!==o||!(0!==r||!rl(t,i,e))||!(0!==s||!rl(t,n,e))||!(0!==a||!rl(i,t,n))||!(0!==o||!rl(i,e,n))}function rl(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function sl(t){return t>0?1:t<0?-1:0}function al(t,e){return el(t.prev,t,t.next)<0?el(t,e,t.next)>=0&&el(t,t.prev,e)>=0:el(t,e,t.prev)<0||el(t,t.next,e)<0}function ol(t,e){const i=new hl(t.i,t.x,t.y),n=new hl(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function ll(t,e,i,n){const r=new hl(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function cl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function hl(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class ul{static area(t){const e=t.length;let i=0;for(let n=e-1,r=0;r2&&t[e-1].equals(t[0])&&t.pop()}function pl(t,e){for(let i=0;iNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((i.x-c/d-p)*c-(i.y+l/d-m)*l)/(a*c-o*l);n=p+a*f-t.x,r=m+o*f-t.y;const g=n*n+r*r;if(g<=2)return new Et(n,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(n=-o,r=a,s=Math.sqrt(h)):(n=a,r=o,s=Math.sqrt(h/2))}return new Et(n/s,r/s)}const P=[];for(let t=0,e=A.length,i=e-1,n=t+1;t=0;t--){const e=t/p,i=h*Math.cos(e*Math.PI/2),n=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=A.length;t=0;){const n=i;let r=i-1;r<0&&(r=t.length-1);for(let t=0,i=o+2*p;t0)&&d.push(e,r,l),(t!==i-1||o0!=t>0&&this.version++,this._sheen=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class Il extends gi{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Ht(16777215),this.specular=new Ht(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ht(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class Dl extends gi{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ht(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ht(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}class Nl extends gi{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}class Ol extends gi{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ht(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ht(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}class zl extends gi{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ht(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this.fog=t.fog,this}}class Fl extends Ua{constructor(t){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}const Bl={arraySlice:function(t,e,i){return Bl.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==i?i:t.length)):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){const e=t.length,i=new Array(e);for(let t=0;t!==e;++t)i[t]=t;return i.sort(function(e,i){return t[e]-t[i]}),i},sortedArray:function(t,e,i){const n=t.length,r=new t.constructor(n);for(let s=0,a=0;a!==n;++s){const n=i[s]*e;for(let i=0;i!==e;++i)r[a++]=t[n+i]}return r},flattenJSON:function(t,e,i,n){let r=1,s=t[0];for(;void 0!==s&&void 0===s[n];)s=t[r++];if(void 0===s)return;let a=s[n];if(void 0!==a)if(Array.isArray(a))do{a=s[n],void 0!==a&&(e.push(s.time),i.push.apply(i,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[n],void 0!==a&&(e.push(s.time),a.toArray(i,i.length)),s=t[r++]}while(void 0!==s);else do{a=s[n],void 0!==a&&(e.push(s.time),i.push(a)),s=t[r++]}while(void 0!==s)},subclip:function(t,e,i,n,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t=n)){l.push(e.times[t]);for(let i=0;is.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t=n.times[u]){const t=u*l+o,e=t+l-o;d=Bl.arraySlice(n.values,t,e)}else{const t=n.createInterpolant(),e=o,i=l-o;t.evaluate(s),d=Bl.arraySlice(t.resultBuffer,e,i)}if("quaternion"===r){new te().fromArray(d).normalize().conjugate().toArray(d)}const p=a.times.length;for(let t=0;t=r)break t;{const a=e[1];t=r)break e}s=i,i=0}}for(;i>>1;te;)--s;if(++s,0!==r||s!==n){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=Bl.arraySlice(i,r,s),this.values=Bl.arraySlice(this.values,r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const i=this.times,n=this.values,r=i.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const n=i[e];if("number"==typeof n&&isNaN(n)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,n),t=!1;break}if(null!==s&&s>n){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,n,s),t=!1;break}s=n}if(void 0!==n&&Bl.isTypedArray(n))for(let e=0,i=n.length;e!==i;++e){const i=n[e];if(isNaN(i)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,i),t=!1;break}}return t}optimize(){const t=Bl.arraySlice(this.times),e=Bl.arraySlice(this.values),i=this.getValueSize(),n=this.getInterpolation()===tt,r=t.length-1;let s=1;for(let a=1;a0){t[s]=t[r];for(let t=r*i,n=s*i,a=0;a!==i;++a)e[n+a]=e[t+a];++s}return s!==t.length?(this.times=Bl.arraySlice(t,0,s),this.values=Bl.arraySlice(e,0,s*i)):(this.times=t,this.values=e),this}clone(){const t=Bl.arraySlice(this.times,0),e=Bl.arraySlice(this.values,0),i=new(0,this.constructor)(this.name,t,e);return i.createInterpolant=this.createInterpolant,i}}Hl.prototype.TimeBufferType=Float32Array,Hl.prototype.ValueBufferType=Float32Array,Hl.prototype.DefaultInterpolation=$;class Wl extends Hl{}Wl.prototype.ValueTypeName="bool",Wl.prototype.ValueBufferType=Array,Wl.prototype.DefaultInterpolation=Q,Wl.prototype.InterpolantFactoryMethodLinear=void 0,Wl.prototype.InterpolantFactoryMethodSmooth=void 0;class jl extends Hl{}jl.prototype.ValueTypeName="color";class ql extends Hl{}ql.prototype.ValueTypeName="number";class Xl extends Ul{constructor(t,e,i,n){super(t,e,i,n)}interpolate_(t,e,i,n){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(i-e)/(n-e);let l=t*a;for(let t=l+a;l!==t;l+=4)te.slerpFlat(r,0,s,l-a,s,l,o);return r}}class Yl extends Hl{InterpolantFactoryMethodLinear(t){return new Xl(this.times,this.values,this.getValueSize(),t)}}Yl.prototype.ValueTypeName="quaternion",Yl.prototype.DefaultInterpolation=$,Yl.prototype.InterpolantFactoryMethodSmooth=void 0;class Zl extends Hl{}Zl.prototype.ValueTypeName="string",Zl.prototype.ValueBufferType=Array,Zl.prototype.DefaultInterpolation=Q,Zl.prototype.InterpolantFactoryMethodLinear=void 0,Zl.prototype.InterpolantFactoryMethodSmooth=void 0;class Jl extends Hl{}Jl.prototype.ValueTypeName="vector";class Kl{constructor(t,e=-1,i,n=2500){this.name=t,this.tracks=i,this.duration=e,this.blendMode=n,this.uuid=yt(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],i=t.tracks,n=1/(t.fps||1);for(let t=0,r=i.length;t!==r;++t)e.push(Ql(i[t]).scale(n));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],i=t.tracks,n={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,n=i.length;t!==n;++t)e.push(Hl.toJSON(i[t]));return n}static CreateFromMorphTargetSequence(t,e,i,n){const r=e.length,s=[];for(let t=0;t1){const t=s[1];let e=n[t];e||(n[t]=e=[]),e.push(i)}}const s=[];for(const t in n)s.push(this.CreateFromMorphTargetSequence(t,n[t],e,i));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(t,e,i,n,r){if(0!==i.length){const s=[],a=[];Bl.flattenJSON(i,s,a,n),0!==s.length&&r.push(new t(e,s,a))}},n=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t{e&&e(r),this.manager.itemEnd(t)},0),r;if(void 0!==nc[t])return void nc[t].push({onLoad:e,onProgress:i,onError:n});nc[t]=[],nc[t].push({onLoad:e,onProgress:i,onError:n});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,o=this.responseType;fetch(s).then(e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body||void 0===e.body.getReader)return e;const i=nc[t],n=e.body.getReader(),r=e.headers.get("Content-Length"),s=r?parseInt(r):0,a=0!==s;let o=0;const l=new ReadableStream({start(t){!function e(){n.read().then(({done:n,value:r})=>{if(n)t.close();else{o+=r.byteLength;const n=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:s});for(let t=0,e=i.length;t{switch(o){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then(t=>new DOMParser().parseFromString(t,a));case"json":return t.json();default:if(void 0===a)return t.text();{const e=/charset="?([^;"\s]*)"?/i.exec(a),i=e&&e[1]?e[1].toLowerCase():void 0,n=new TextDecoder(i);return t.arrayBuffer().then(t=>n.decode(t))}}}).then(e=>{$l.add(t,e);const i=nc[t];delete nc[t];for(let t=0,n=i.length;t{const i=nc[t];if(void 0===i)throw this.manager.itemError(t),e;delete nc[t];for(let t=0,n=i.length;t{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class sc extends ic{constructor(t){super(t)}load(t,e,i,n){void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=$l.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout(function(){e&&e(s),r.manager.itemEnd(t)},0),s;const a=It("img");function o(){c(),$l.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){c(),n&&n(e),r.manager.itemError(t),r.manager.itemEnd(t)}function c(){a.removeEventListener("load",o,!1),a.removeEventListener("error",l,!1)}return a.addEventListener("load",o,!1),a.addEventListener("error",l,!1),"data:"!==t.slice(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a}}class ac extends ni{constructor(t,e=1){super(),this.isLight=!0,this.type="Light",this.color=new Ht(t),this.intensity=e}dispose(){}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(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}}class oc extends ac{constructor(t,e,i){super(t,i),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(ni.DefaultUp),this.updateMatrix(),this.groundColor=new Ht(e)}copy(t,e){return super.copy(t,e),this.groundColor.copy(t.groundColor),this}}const lc=new Ie,cc=new ee,hc=new ee;class uc{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Et(512,512),this.map=null,this.mapPass=null,this.matrix=new Ie,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new fn,this._frameExtents=new Et(1,1),this._viewportCount=1,this._viewports=[new Jt(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,i=this.matrix;cc.setFromMatrixPosition(t.matrixWorld),e.position.copy(cc),hc.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(hc),e.updateMatrixWorld(),lc.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(lc),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(e.projectionMatrix),i.multiply(e.matrixWorldInverse)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const t={};return 0!==this.bias&&(t.bias=this.bias),0!==this.normalBias&&(t.normalBias=this.normalBias),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}}class dc extends uc{constructor(){super(new rn(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(t){const e=this.camera,i=2*xt*t.angle*this.focus,n=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;i===e.fov&&n===e.aspect&&r===e.far||(e.fov=i,e.aspect=n,e.far=r,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}class pc extends ac{constructor(t,e,i=0,n=Math.PI/3,r=0,s=1){super(t,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(ni.DefaultUp),this.updateMatrix(),this.target=new ni,this.distance=i,this.angle=n,this.penumbra=r,this.decay=s,this.shadow=new dc}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),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}}const mc=new Ie,fc=new ee,gc=new ee;class vc extends uc{constructor(){super(new rn(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Et(4,2),this._viewportCount=6,this._viewports=[new Jt(2,1,1,1),new Jt(0,1,1,1),new Jt(3,1,1,1),new Jt(1,1,1,1),new Jt(3,0,1,1),new Jt(1,0,1,1)],this._cubeDirections=[new ee(1,0,0),new ee(-1,0,0),new ee(0,0,1),new ee(0,0,-1),new ee(0,1,0),new ee(0,-1,0)],this._cubeUps=[new ee(0,1,0),new ee(0,1,0),new ee(0,1,0),new ee(0,1,0),new ee(0,0,1),new ee(0,0,-1)]}updateMatrices(t,e=0){const i=this.camera,n=this.matrix,r=t.distance||i.far;r!==i.far&&(i.far=r,i.updateProjectionMatrix()),fc.setFromMatrixPosition(t.matrixWorld),i.position.copy(fc),gc.copy(i.position),gc.add(this._cubeDirections[e]),i.up.copy(this._cubeUps[e]),i.lookAt(gc),i.updateMatrixWorld(),n.makeTranslation(-fc.x,-fc.y,-fc.z),mc.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(mc)}}class xc extends ac{constructor(t,e,i=0,n=1){super(t,e),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=n,this.shadow=new vc}get power(){return 4*this.intensity*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}class yc extends uc{constructor(){super(new Cn(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class _c extends ac{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(ni.DefaultUp),this.updateMatrix(),this.target=new ni,this.shadow=new yc}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}class Mc extends ac{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class bc extends ac{constructor(t,e,i=10,n=10){super(t,e),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=i,this.height=n}get power(){return this.intensity*this.width*this.height*Math.PI}set power(t){this.intensity=t/(this.width*this.height*Math.PI)}copy(t){return super.copy(t),this.width=t.width,this.height=t.height,this}toJSON(t){const e=super.toJSON(t);return e.object.width=this.width,e.object.height=this.height,e}}class wc{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new ee)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){const i=t.x,n=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.282095),e.addScaledVector(s[1],.488603*n),e.addScaledVector(s[2],.488603*r),e.addScaledVector(s[3],.488603*i),e.addScaledVector(s[4],i*n*1.092548),e.addScaledVector(s[5],n*r*1.092548),e.addScaledVector(s[6],.315392*(3*r*r-1)),e.addScaledVector(s[7],i*r*1.092548),e.addScaledVector(s[8],.546274*(i*i-n*n)),e}getIrradianceAt(t,e){const i=t.x,n=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.886227),e.addScaledVector(s[1],1.023328*n),e.addScaledVector(s[2],1.023328*r),e.addScaledVector(s[3],1.023328*i),e.addScaledVector(s[4],.858086*i*n),e.addScaledVector(s[5],.858086*n*r),e.addScaledVector(s[6],.743125*r*r-.247708),e.addScaledVector(s[7],.858086*i*r),e.addScaledVector(s[8],.429043*(i*i-n*n)),e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let i=0;i<9;i++)this.coefficients[i].addScaledVector(t.coefficients[i],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let i=0;i<9;i++)this.coefficients[i].lerp(t.coefficients[i],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return!1;return!0}copy(t){return this.set(t.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(t,e=0){const i=this.coefficients;for(let n=0;n<9;n++)i[n].fromArray(t,e+3*n);return this}toArray(t=[],e=0){const i=this.coefficients;for(let n=0;n<9;n++)i[n].toArray(t,e+3*n);return t}static getBasisAt(t,e){const i=t.x,n=t.y,r=t.z;e[0]=.282095,e[1]=.488603*n,e[2]=.488603*r,e[3]=.488603*i,e[4]=1.092548*i*n,e[5]=1.092548*n*r,e[6]=.315392*(3*r*r-1),e[7]=1.092548*i*r,e[8]=.546274*(i*i-n*n)}}class Sc extends ac{constructor(t=new wc,e=1){super(void 0,e),this.isLightProbe=!0,this.sh=t}copy(t){return super.copy(t),this.sh.copy(t.sh),this}fromJSON(t){return this.intensity=t.intensity,this.sh.fromArray(t.sh),this}toJSON(t){const e=super.toJSON(t);return e.object.sh=this.sh.toArray(),e}}class Tc extends ic{constructor(t){super(t),this.textures={}}load(t,e,i,n){const r=this,s=new rc(r.manager);s.setPath(r.path),s.setRequestHeader(r.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,function(i){try{e(r.parse(JSON.parse(i)))}catch(e){n?n(e):console.error(e),r.manager.itemError(t)}},i,n)}parse(t){const e=this.textures;function i(t){return void 0===e[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),e[t]}const n=Tc.createMaterialFromType(t.type);if(void 0!==t.uuid&&(n.uuid=t.uuid),void 0!==t.name&&(n.name=t.name),void 0!==t.color&&void 0!==n.color&&n.color.setHex(t.color),void 0!==t.roughness&&(n.roughness=t.roughness),void 0!==t.metalness&&(n.metalness=t.metalness),void 0!==t.sheen&&(n.sheen=t.sheen),void 0!==t.sheenColor&&(n.sheenColor=new Ht().setHex(t.sheenColor)),void 0!==t.sheenRoughness&&(n.sheenRoughness=t.sheenRoughness),void 0!==t.emissive&&void 0!==n.emissive&&n.emissive.setHex(t.emissive),void 0!==t.specular&&void 0!==n.specular&&n.specular.setHex(t.specular),void 0!==t.specularIntensity&&(n.specularIntensity=t.specularIntensity),void 0!==t.specularColor&&void 0!==n.specularColor&&n.specularColor.setHex(t.specularColor),void 0!==t.shininess&&(n.shininess=t.shininess),void 0!==t.clearcoat&&(n.clearcoat=t.clearcoat),void 0!==t.clearcoatRoughness&&(n.clearcoatRoughness=t.clearcoatRoughness),void 0!==t.iridescence&&(n.iridescence=t.iridescence),void 0!==t.iridescenceIOR&&(n.iridescenceIOR=t.iridescenceIOR),void 0!==t.iridescenceThicknessRange&&(n.iridescenceThicknessRange=t.iridescenceThicknessRange),void 0!==t.transmission&&(n.transmission=t.transmission),void 0!==t.thickness&&(n.thickness=t.thickness),void 0!==t.attenuationDistance&&(n.attenuationDistance=t.attenuationDistance),void 0!==t.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(t.attenuationColor),void 0!==t.fog&&(n.fog=t.fog),void 0!==t.flatShading&&(n.flatShading=t.flatShading),void 0!==t.blending&&(n.blending=t.blending),void 0!==t.combine&&(n.combine=t.combine),void 0!==t.side&&(n.side=t.side),void 0!==t.shadowSide&&(n.shadowSide=t.shadowSide),void 0!==t.opacity&&(n.opacity=t.opacity),void 0!==t.transparent&&(n.transparent=t.transparent),void 0!==t.alphaTest&&(n.alphaTest=t.alphaTest),void 0!==t.depthTest&&(n.depthTest=t.depthTest),void 0!==t.depthWrite&&(n.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(n.colorWrite=t.colorWrite),void 0!==t.stencilWrite&&(n.stencilWrite=t.stencilWrite),void 0!==t.stencilWriteMask&&(n.stencilWriteMask=t.stencilWriteMask),void 0!==t.stencilFunc&&(n.stencilFunc=t.stencilFunc),void 0!==t.stencilRef&&(n.stencilRef=t.stencilRef),void 0!==t.stencilFuncMask&&(n.stencilFuncMask=t.stencilFuncMask),void 0!==t.stencilFail&&(n.stencilFail=t.stencilFail),void 0!==t.stencilZFail&&(n.stencilZFail=t.stencilZFail),void 0!==t.stencilZPass&&(n.stencilZPass=t.stencilZPass),void 0!==t.wireframe&&(n.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(n.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(n.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(n.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.rotation&&(n.rotation=t.rotation),1!==t.linewidth&&(n.linewidth=t.linewidth),void 0!==t.dashSize&&(n.dashSize=t.dashSize),void 0!==t.gapSize&&(n.gapSize=t.gapSize),void 0!==t.scale&&(n.scale=t.scale),void 0!==t.polygonOffset&&(n.polygonOffset=t.polygonOffset),void 0!==t.polygonOffsetFactor&&(n.polygonOffsetFactor=t.polygonOffsetFactor),void 0!==t.polygonOffsetUnits&&(n.polygonOffsetUnits=t.polygonOffsetUnits),void 0!==t.dithering&&(n.dithering=t.dithering),void 0!==t.alphaToCoverage&&(n.alphaToCoverage=t.alphaToCoverage),void 0!==t.premultipliedAlpha&&(n.premultipliedAlpha=t.premultipliedAlpha),void 0!==t.visible&&(n.visible=t.visible),void 0!==t.toneMapped&&(n.toneMapped=t.toneMapped),void 0!==t.userData&&(n.userData=t.userData),void 0!==t.vertexColors&&("number"==typeof t.vertexColors?n.vertexColors=t.vertexColors>0:n.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(n.uniforms[e]={},r.type){case"t":n.uniforms[e].value=i(r.value);break;case"c":n.uniforms[e].value=new Ht().setHex(r.value);break;case"v2":n.uniforms[e].value=new Et().fromArray(r.value);break;case"v3":n.uniforms[e].value=new ee().fromArray(r.value);break;case"v4":n.uniforms[e].value=new Jt().fromArray(r.value);break;case"m3":n.uniforms[e].value=new Ct().fromArray(r.value);break;case"m4":n.uniforms[e].value=new Ie().fromArray(r.value);break;default:n.uniforms[e].value=r.value;}}if(void 0!==t.defines&&(n.defines=t.defines),void 0!==t.vertexShader&&(n.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(n.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)n.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(n.flatShading=1===t.shading),void 0!==t.size&&(n.size=t.size),void 0!==t.sizeAttenuation&&(n.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(n.map=i(t.map)),void 0!==t.matcap&&(n.matcap=i(t.matcap)),void 0!==t.alphaMap&&(n.alphaMap=i(t.alphaMap)),void 0!==t.bumpMap&&(n.bumpMap=i(t.bumpMap)),void 0!==t.bumpScale&&(n.bumpScale=t.bumpScale),void 0!==t.normalMap&&(n.normalMap=i(t.normalMap)),void 0!==t.normalMapType&&(n.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),n.normalScale=new Et().fromArray(e)}return void 0!==t.displacementMap&&(n.displacementMap=i(t.displacementMap)),void 0!==t.displacementScale&&(n.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(n.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(n.roughnessMap=i(t.roughnessMap)),void 0!==t.metalnessMap&&(n.metalnessMap=i(t.metalnessMap)),void 0!==t.emissiveMap&&(n.emissiveMap=i(t.emissiveMap)),void 0!==t.emissiveIntensity&&(n.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(n.specularMap=i(t.specularMap)),void 0!==t.specularIntensityMap&&(n.specularIntensityMap=i(t.specularIntensityMap)),void 0!==t.specularColorMap&&(n.specularColorMap=i(t.specularColorMap)),void 0!==t.envMap&&(n.envMap=i(t.envMap)),void 0!==t.envMapIntensity&&(n.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(n.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(n.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(n.lightMap=i(t.lightMap)),void 0!==t.lightMapIntensity&&(n.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(n.aoMap=i(t.aoMap)),void 0!==t.aoMapIntensity&&(n.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(n.gradientMap=i(t.gradientMap)),void 0!==t.clearcoatMap&&(n.clearcoatMap=i(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=i(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(n.clearcoatNormalMap=i(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(n.clearcoatNormalScale=new Et().fromArray(t.clearcoatNormalScale)),void 0!==t.iridescenceMap&&(n.iridescenceMap=i(t.iridescenceMap)),void 0!==t.iridescenceThicknessMap&&(n.iridescenceThicknessMap=i(t.iridescenceThicknessMap)),void 0!==t.transmissionMap&&(n.transmissionMap=i(t.transmissionMap)),void 0!==t.thicknessMap&&(n.thicknessMap=i(t.thicknessMap)),void 0!==t.sheenColorMap&&(n.sheenColorMap=i(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(n.sheenRoughnessMap=i(t.sheenRoughnessMap)),n}setTextures(t){return this.textures=t,this}static createMaterialFromType(t){return new{ShadowMaterial:Cl,SpriteMaterial:na,RawShaderMaterial:Ll,ShaderMaterial:en,PointsMaterial:Ja,MeshPhysicalMaterial:Pl,MeshStandardMaterial:Rl,MeshPhongMaterial:Il,MeshToonMaterial:Dl,MeshNormalMaterial:Nl,MeshLambertMaterial:Ol,MeshDepthMaterial:zs,MeshDistanceMaterial:Fs,MeshBasicMaterial:vi,MeshMatcapMaterial:zl,LineDashedMaterial:Fl,LineBasicMaterial:Ua,Material:gi}[t]}}class Ac{static decodeText(t){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(t);let e="";for(let i=0,n=t.length;i0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(i,n,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(i[t]!==i[t+e]){a.setValue(i,n);break}}saveOriginalState(){const t=this.binding,e=this.buffer,i=this.valueSize,n=i*this._origIndex;t.getValue(e,n);for(let t=i,r=n;t!==r;++t)e[t]=e[n+t%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let i=t;i=.5)for(let n=0;n!==r;++n)t[e+n]=t[i+n]}_slerp(t,e,i,n){te.slerpFlat(t,e,t,e,t,i,n)}_slerpAdditive(t,e,i,n,r){const s=this._workIndex*r;te.multiplyQuaternionsFlat(t,s,t,e,t,i),te.slerpFlat(t,e,t,e,t,s,n)}_lerp(t,e,i,n,r){const s=1-n;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[i+a]*n}}_lerpAdditive(t,e,i,n,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[i+s]*n}}}const Zc="\\[\\]\\.:\\/",Jc=new RegExp("[\\[\\]\\.:\\/]","g"),Kc="[^\\[\\]\\.:\\/]",Qc="[^"+Zc.replace("\\.","")+"]",$c=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",Kc)+/(WCOD+)?/.source.replace("WCOD",Qc)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Kc)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Kc)+"$"),th=["material","materials","bones"];class eh{constructor(t,e,i){this.path=e,this.parsedPath=i||eh.parseTrackName(e),this.node=eh.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,i){return t&&t.isAnimationObjectGroup?new eh.Composite(t,e,i):new eh(t,e,i)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(Jc,"")}static parseTrackName(t){const e=$c.exec(t);if(null===e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},n=i.nodeName&&i.nodeName.lastIndexOf(".");if(void 0!==n&&-1!==n){const t=i.nodeName.substring(n+1);-1!==th.indexOf(t)&&(i.nodeName=i.nodeName.substring(0,n),i.objectName=t)}if(null===i.propertyName||0===i.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return i}static findNode(t,e){if(void 0===e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const i=t.skeleton.getBoneByName(e);if(void 0!==i)return i}if(t.children){const i=function(t){for(let n=0;n0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===st)for(let i=0,n=t.length;i!==n;++i)t[i].evaluate(s),e[i].accumulateAdditive(a);else for(let i=0,r=t.length;i!==r;++i)t[i].evaluate(s),e[i].accumulate(n,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const i=this._weightInterpolant;if(null!==i){const n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const i=this._timeScaleInterpolant;if(null!==i){e*=i.evaluate(t)[0],t>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,i=this.loop;let n=this.time+t,r=this._loopCount;const s=2202===i;if(0===t)return-1===r?n:s&&1==(1&r)?e-n:n;if(2200===i){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(n>=e)n=e;else{if(!(n<0)){this.time=n;break t}n=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=n,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),n>=e||n<0){const i=Math.floor(n/e);n-=e*i,r+=Math.abs(i);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,n=t>0?e:0,this.time=n,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=n,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:i})}}else this.time=n;if(s&&1==(1&r))return e-n}return n}_setEndings(t,e,i){const n=this._interpolantSettings;i?(n.endingStart=it,n.endingEnd=it):(n.endingStart=t?this.zeroSlopeAtStart?it:et:nt,n.endingEnd=e?this.zeroSlopeAtEnd?it:et:nt)}_scheduleFading(t,e,i){const n=this._mixer,r=n.time;let s=this._weightInterpolant;null===s&&(s=n._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=i,this}}const nh=new Float32Array(1);class rh{constructor(t){"string"==typeof t&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),t=arguments[1]),this.value=t}clone(){return new rh(void 0===this.value.clone?this.value:this.value.clone())}}function sh(t,e){return t.distance-e.distance}function ah(t,e,i,n){if(t.layers.test(e.layers)&&t.raycast(e,i),!0===n){const n=t.children;for(let t=0,r=n.length;t>-e-14,n[256|t]=1024>>-e-14|32768,r[t]=-e-1,r[256|t]=-e-1):e<=15?(n[t]=e+15<<10,n[256|t]=e+15<<10|32768,r[t]=13,r[256|t]=13):e<128?(n[t]=31744,n[256|t]=64512,r[t]=24,r[256|t]=24):(n[t]=31744,n[256|t]=64512,r[t]=13,r[256|t]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let t=1;t<1024;++t){let e=t<<13,i=0;for(;0==(8388608&e);)e<<=1,i-=8388608;e&=-8388609,i+=947912704,s[t]=e|i}for(let t=1024;t<2048;++t)s[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)a[t]=t<<23;a[31]=1199570944,a[32]=2147483648;for(let t=33;t<63;++t)a[t]=2147483648+(t-32<<23);a[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(o[t]=1024);return{floatView:e,uint32View:i,baseTable:n,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}var zh=Object.freeze({__proto__:null,toHalfFloat:function(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=_t(t,-65504,65504),Ch[0]=t;const e=Lh[0],i=e>>23&511;return Rh[i]+((8388607&e)>>Ph[i])},fromHalfFloat:function(t){const e=t>>10;return Lh[0]=Ih[Nh[e]+(1023&t)]+Dh[e],Ch[0]}});"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:e}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=e),t.ACESFilmicToneMapping=4,t.AddEquation=i,t.AddOperation=2,t.AdditiveAnimationBlendMode=st,t.AdditiveBlending=2,t.AlphaFormat=1021,t.AlwaysDepth=1,t.AlwaysStencilFunc=519,t.AmbientLight=Mc,t.AmbientLightProbe=class extends Sc{constructor(t,e=1){super(void 0,e),this.isAmbientLightProbe=!0;const i=new Ht().set(t);this.sh.coefficients[0].set(i.r,i.g,i.b).multiplyScalar(2*Math.sqrt(Math.PI))}},t.AnimationClip=Kl,t.AnimationLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=new rc(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(i){try{e(r.parse(JSON.parse(i)))}catch(e){n?n(e):console.error(e),r.manager.itemError(t)}},i,n)}parse(t){const e=[];for(let i=0;i=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,i=this._nActiveActions,n=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==i;++a){e[a]._update(n,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;t=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=n;t!==e;++t){const e=i[t],n=e[s],r=e[l];e[l]=n,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,i=this._bindings,n=i.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=n;t!==e;++t){const e=i[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const i=this._bindingsIndicesByPath;let n=i[t];const r=this._bindings;if(void 0!==n)return r[n];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);n=r.length,i[t]=n,s.push(t),a.push(e),r.push(h);for(let i=c,n=o.length;i!==n;++i){const n=o[i];h[i]=new eh(n,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,i=e[t];if(void 0!==i){const n=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=i,s[i]=o,s.pop(),r[i]=r[a],r.pop(),n[i]=n[a],n.pop()}}},t.AnimationUtils=Bl,t.ArcCurve=ao,t.ArrayCamera=Vs,t.ArrowHelper=class extends ni{constructor(t=new ee(0,0,1),e=new ee(0,0,0),i=1,n=16776960,r=.2*i,s=.2*r){super(),this.type="ArrowHelper",void 0===Ah&&(Ah=new Pi,Ah.setAttribute("position",new wi([0,0,0,0,1,0],3)),Eh=new Ro(0,.5,1,5,1),Eh.translate(0,-.5,0)),this.position.copy(e),this.line=new ja(Ah,new Ua({color:n,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Zi(Eh,new vi({color:n,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(i,r,s)}setDirection(t){if(t.y>.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Th.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Th,e)}}setLength(t,e=.2*t,i=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}},t.Audio=Hc,t.AudioAnalyser=class{constructor(t,e=2048){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let t=0;const e=this.getFrequencyData();for(let i=0;ithis.max.x||t.ythis.max.y)}containsBox(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(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return oh.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},t.Box3=re,t.Box3Helper=class extends Ya{constructor(t,e=16776960){const i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),n=new Pi;n.setIndex(new _i(i,1)),n.setAttribute("position",new wi([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(n,new Ua({color:e,toneMapped:!1})),this.box=t,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(t){const e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(t))}},t.BoxBufferGeometry=Ki,t.BoxGeometry=Ki,t.BoxHelper=class extends Ya{constructor(t,e=16776960){const i=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),n=new Float32Array(24),r=new Pi;r.setIndex(new _i(i,1)),r.setAttribute("position",new _i(n,3)),super(r,new Ua({color:e,toneMapped:!1})),this.object=t,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(t){if(void 0!==t&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&Sh.setFromObject(this.object),Sh.isEmpty())return;const e=Sh.min,i=Sh.max,n=this.geometry.attributes.position,r=n.array;r[0]=i.x,r[1]=i.y,r[2]=i.z,r[3]=e.x,r[4]=i.y,r[5]=i.z,r[6]=e.x,r[7]=e.y,r[8]=i.z,r[9]=i.x,r[10]=e.y,r[11]=i.z,r[12]=i.x,r[13]=i.y,r[14]=e.z,r[15]=e.x,r[16]=i.y,r[17]=e.z,r[18]=e.x,r[19]=e.y,r[20]=e.z,r[21]=i.x,r[22]=e.y,r[23]=e.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(t){return this.object=t,this.update(),this}copy(t,e){return super.copy(t,e),this.object=t.object,this}},t.BufferAttribute=_i,t.BufferGeometry=Pi,t.BufferGeometryLoader=Cc,t.ByteType=1010,t.Cache=$l,t.Camera=nn,t.CameraHelper=class extends Ya{constructor(t){const e=new Pi,i=new Ua({color:16777215,vertexColors:!0,toneMapped:!1}),n=[],r=[],s={};function a(t,e){o(t),o(e)}function o(t){n.push(0,0,0),r.push(0,0,0),void 0===s[t]&&(s[t]=[]),s[t].push(n.length/3-1)}a("n1","n2"),a("n2","n4"),a("n4","n3"),a("n3","n1"),a("f1","f2"),a("f2","f4"),a("f4","f3"),a("f3","f1"),a("n1","f1"),a("n2","f2"),a("n3","f3"),a("n4","f4"),a("p","n1"),a("p","n2"),a("p","n3"),a("p","n4"),a("u1","u2"),a("u2","u3"),a("u3","u1"),a("c","t"),a("p","c"),a("cn1","cn2"),a("cn3","cn4"),a("cf1","cf2"),a("cf3","cf4"),e.setAttribute("position",new wi(n,3)),e.setAttribute("color",new wi(r,3)),super(e,i),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update();const l=new Ht(16755200),c=new Ht(16711680),h=new Ht(43775),u=new Ht(16777215),d=new Ht(3355443);this.setColors(l,c,h,u,d)}setColors(t,e,i,n,r){const s=this.geometry.getAttribute("color");s.setXYZ(0,t.r,t.g,t.b),s.setXYZ(1,t.r,t.g,t.b),s.setXYZ(2,t.r,t.g,t.b),s.setXYZ(3,t.r,t.g,t.b),s.setXYZ(4,t.r,t.g,t.b),s.setXYZ(5,t.r,t.g,t.b),s.setXYZ(6,t.r,t.g,t.b),s.setXYZ(7,t.r,t.g,t.b),s.setXYZ(8,t.r,t.g,t.b),s.setXYZ(9,t.r,t.g,t.b),s.setXYZ(10,t.r,t.g,t.b),s.setXYZ(11,t.r,t.g,t.b),s.setXYZ(12,t.r,t.g,t.b),s.setXYZ(13,t.r,t.g,t.b),s.setXYZ(14,t.r,t.g,t.b),s.setXYZ(15,t.r,t.g,t.b),s.setXYZ(16,t.r,t.g,t.b),s.setXYZ(17,t.r,t.g,t.b),s.setXYZ(18,t.r,t.g,t.b),s.setXYZ(19,t.r,t.g,t.b),s.setXYZ(20,t.r,t.g,t.b),s.setXYZ(21,t.r,t.g,t.b),s.setXYZ(22,t.r,t.g,t.b),s.setXYZ(23,t.r,t.g,t.b),s.setXYZ(24,e.r,e.g,e.b),s.setXYZ(25,e.r,e.g,e.b),s.setXYZ(26,e.r,e.g,e.b),s.setXYZ(27,e.r,e.g,e.b),s.setXYZ(28,e.r,e.g,e.b),s.setXYZ(29,e.r,e.g,e.b),s.setXYZ(30,e.r,e.g,e.b),s.setXYZ(31,e.r,e.g,e.b),s.setXYZ(32,i.r,i.g,i.b),s.setXYZ(33,i.r,i.g,i.b),s.setXYZ(34,i.r,i.g,i.b),s.setXYZ(35,i.r,i.g,i.b),s.setXYZ(36,i.r,i.g,i.b),s.setXYZ(37,i.r,i.g,i.b),s.setXYZ(38,n.r,n.g,n.b),s.setXYZ(39,n.r,n.g,n.b),s.setXYZ(40,r.r,r.g,r.b),s.setXYZ(41,r.r,r.g,r.b),s.setXYZ(42,r.r,r.g,r.b),s.setXYZ(43,r.r,r.g,r.b),s.setXYZ(44,r.r,r.g,r.b),s.setXYZ(45,r.r,r.g,r.b),s.setXYZ(46,r.r,r.g,r.b),s.setXYZ(47,r.r,r.g,r.b),s.setXYZ(48,r.r,r.g,r.b),s.setXYZ(49,r.r,r.g,r.b),s.needsUpdate=!0}update(){const t=this.geometry,e=this.pointMap;bh.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),wh("c",e,t,bh,0,0,-1),wh("t",e,t,bh,0,0,1),wh("n1",e,t,bh,-1,-1,-1),wh("n2",e,t,bh,1,-1,-1),wh("n3",e,t,bh,-1,1,-1),wh("n4",e,t,bh,1,1,-1),wh("f1",e,t,bh,-1,-1,1),wh("f2",e,t,bh,1,-1,1),wh("f3",e,t,bh,-1,1,1),wh("f4",e,t,bh,1,1,1),wh("u1",e,t,bh,.7,1.1,-1),wh("u2",e,t,bh,-.7,1.1,-1),wh("u3",e,t,bh,0,2,-1),wh("cf1",e,t,bh,-1,0,1),wh("cf2",e,t,bh,1,0,1),wh("cf3",e,t,bh,0,-1,1),wh("cf4",e,t,bh,0,1,1),wh("cn1",e,t,bh,-1,0,-1),wh("cn2",e,t,bh,1,0,-1),wh("cn3",e,t,bh,0,-1,-1),wh("cn4",e,t,bh,0,1,-1),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},t.CanvasTexture=class extends Zt{constructor(t,e,i,n,r,s,a,o,l){super(t,e,i,n,r,s,a,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}},t.CapsuleBufferGeometry=Co,t.CapsuleGeometry=Co,t.CatmullRomCurve3=po,t.CineonToneMapping=3,t.CircleBufferGeometry=Lo,t.CircleGeometry=Lo,t.ClampToEdgeWrapping=h,t.Clock=Fc,t.Color=Ht,t.ColorKeyframeTrack=jl,t.ColorManagement=zt,t.CompressedTexture=no,t.CompressedTextureLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=[],a=new no,o=new rc(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(r.withCredentials);let l=0;function c(c){o.load(t[c],function(t){const i=r.parse(t,!0);s[c]={width:i.width,height:i.height,format:i.format,mipmaps:i.mipmaps},l+=1,6===l&&(1===i.mipmapCount&&(a.minFilter=f),a.image=s,a.format=i.format,a.needsUpdate=!0,e&&e(a))},i,n)}if(Array.isArray(t))for(let e=0,i=t.length;e0){const i=new tc(e);r=new sc(i),r.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e0){n=new sc(this.manager),n.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;eNumber.EPSILON){if(l<0&&(i=e[s],o=-o,a=e[r],l=-l),t.ya.y)continue;if(t.y===i.y){if(t.x===i.x)return!0}else{const e=l*(t.x-i.x)-o*(t.y-i.y);if(0===e)return!0;if(e<0)continue;n=!n}}else{if(t.y!==i.y)continue;if(a.x<=t.x&&t.x<=i.x||i.x<=t.x&&t.x<=a.x)return!0}}return n}const r=ul.isClockWise,s=this.subPaths;if(0===s.length)return[];if(!0===e)return i(s);let a,o,l;const c=[];if(1===s.length)return o=s[0],l=new Uo,l.curves=o.curves,c.push(l),c;let h=!r(s[0].getPoints());h=t?!h:h;const u=[],d=[];let p,m,f=[],g=0;d[g]=void 0,f[g]=[];for(let e=0,i=s.length;e1){let t=!1,e=0;for(let t=0,e=d.length;t0&&!1===t&&(f=u)}for(let t=0,e=d.length;t=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},t.WebGL1Renderer=Js,t.WebGL3DRenderTarget=class extends Kt{constructor(t,e,i){super(t,e),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new $t(null,t,e,i),this.texture.isRenderTargetTexture=!0}},t.WebGLArrayRenderTarget=class extends Kt{constructor(t,e,i){super(t,e),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Qt(null,t,e,i),this.texture.isRenderTargetTexture=!0}},t.WebGLCubeRenderTarget=ln,t.WebGLMultipleRenderTargets=class extends Kt{constructor(t,e,i,n={}){super(t,e,n),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let t=0;tsplitDist){splitDist=dist;splitDimIdx=i}}return splitDimIdx}function copyBounds(source,target){target.set(source)}function unionBounds(a,b,target){let aVal,bVal;for(let d=0;d<3;d++){const d3=d+3;aVal=a[d];bVal=b[d];target[d]=aValbVal?aVal:bVal}}function expandByTriangleBounds(startIndex,triangleBounds,bounds){for(let d=0;d<3;d++){const tCenter=triangleBounds[startIndex+2*d];const tHalf=triangleBounds[startIndex+2*d+1];const tMin=tCenter-tHalf;const tMax=tCenter+tHalf;if(tMinbounds[d+3]){bounds[d+3]=tMax}}}function computeSurfaceArea(bounds){const d0=bounds[3]-bounds[0];const d1=bounds[4]-bounds[1];const d2=bounds[5]-bounds[2];return 2*(d0*d1+d1*d2+d2*d0)}function ensureIndex(geo,options){if(!geo.index){const vertexCount=geo.attributes.position.count;const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;let index;if(vertexCount>65535){index=new Uint32Array(new BufferConstructor(4*vertexCount))}else{index=new Uint16Array(new BufferConstructor(2*vertexCount))}geo.setIndex(new three.BufferAttribute(index,1));for(let i=0;ia-b);for(let i=0;imaxx)maxx=rx;if(includeCentroid&&cxcmaxx)cmaxx=cx;const cy=triangleBounds[i+2];const hy=triangleBounds[i+3];const ly=cy-hy;const ry=cy+hy;if(lymaxy)maxy=ry;if(includeCentroid&&cycmaxy)cmaxy=cy;const cz=triangleBounds[i+4];const hz=triangleBounds[i+5];const lz=cz-hz;const rz=cz+hz;if(lzmaxz)maxz=rz;if(includeCentroid&&czcmaxz)cmaxz=cz}target[0]=minx;target[1]=miny;target[2]=minz;target[3]=maxx;target[4]=maxy;target[5]=maxz;if(includeCentroid){centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}}function getCentroidBounds(triangleBounds,offset,count,centroidTarget){let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;for(let i=offset*6,end=(offset+count)*6;icmaxx)cmaxx=cx;const cy=triangleBounds[i+2];if(cycmaxy)cmaxy=cy;const cz=triangleBounds[i+4];if(czcmaxz)cmaxz=cz}centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}function partition(index,triangleBounds,offset,count,split){let left=offset;let right=offset+count-1;const pos=split.pos;const axisOffset=split.axis*2;while(true){while(left<=right&&triangleBounds[left*6+axisOffset]=pos){right--}if(lefta.candidate-b.candidate;const sahBins=new Array(BIN_COUNT).fill().map(()=>{return{count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}});const leftBounds=new Float32Array(6);function getOptimalSplit(nodeBoundingData,centroidBoundingData,triangleBounds,offset,count,strategy){let axis=-1;let pos=0;if(strategy===CENTER){axis=getLongestEdgeIndex(centroidBoundingData);if(axis!==-1){pos=(centroidBoundingData[axis]+centroidBoundingData[axis+3])/2}}else if(strategy===AVERAGE){axis=getLongestEdgeIndex(nodeBoundingData);if(axis!==-1){pos=getAverage(triangleBounds,offset,count,axis)}}else if(strategy===SAH){const rootSurfaceArea=computeSurfaceArea(nodeBoundingData);let bestCost=TRIANGLE_INTERSECT_COST*count;const cStart=offset*6;const cEnd=(offset+count)*6;for(let a=0;a<3;a++){const axisLeft=centroidBoundingData[a];const axisRight=centroidBoundingData[a+3];const axisLength=axisRight-axisLeft;const binWidth=axisLength/BIN_COUNT;if(count=bin.candidate){expandByTriangleBounds(c,triangleBounds,bin.rightCacheBounds)}else{expandByTriangleBounds(c,triangleBounds,bin.leftCacheBounds);bin.count++}}}for(let bi=0;bi=BIN_COUNT)binIndex=BIN_COUNT-1;const bin=sahBins[binIndex];bin.count++;expandByTriangleBounds(c,triangleBounds,bin.bounds)}const lastBin=sahBins[BIN_COUNT-1];copyBounds(lastBin.bounds,lastBin.rightCacheBounds);for(let i=BIN_COUNT-2;i>=0;i--){const bin=sahBins[i];const nextBin=sahBins[i+1];unionBounds(bin.bounds,nextBin.rightCacheBounds,bin.rightCacheBounds)}let leftCount=0;for(let i=0;imax)max=b;if(c>max)max=c;const halfExtents=(max-min)/2;const el2=el*2;triangleBounds[tri6+el2+0]=min+halfExtents;triangleBounds[tri6+el2+1]=halfExtents+(Math.abs(min)+halfExtents)*FLOAT32_EPSILON;if(minfullBounds[el+3])fullBounds[el+3]=max}}return triangleBounds}function buildTree(geo,options){function triggerProgress(trianglesProcessed){if(onProgress){onProgress(trianglesProcessed/totalTriangles)}}function splitNode(node,offset,count,centroidBoundingData=null,depth=0){if(!reachedMaxDepth&&depth>=maxDepth){reachedMaxDepth=true;if(verbose){console.warn(`MeshBVH: Max depth of ${maxDepth} reached when generating BVH. Consider increasing maxDepth.`);console.warn(geo)}}if(count<=maxLeafTris||depth>=maxDepth){triggerProgress(offset);node.offset=offset;node.count=count;return node}const split=getOptimalSplit(node.boundingData,centroidBoundingData,triangleBounds,offset,count,strategy);if(split.axis===-1){triggerProgress(offset);node.offset=offset;node.count=count;return node}const splitOffset=partition(indexArray,triangleBounds,offset,count,split);if(splitOffset===offset||splitOffset===offset+count){triggerProgress(offset);node.offset=offset;node.count=count}else{node.splitAxis=split.axis;const left=new MeshBVHNode;const lstart=offset;const lcount=splitOffset-offset;node.left=left;left.boundingData=new Float32Array(6);getBounds(triangleBounds,lstart,lcount,left.boundingData,cacheCentroidBoundingData);splitNode(left,lstart,lcount,cacheCentroidBoundingData,depth+1);const right=new MeshBVHNode;const rstart=splitOffset;const rcount=count-lcount;node.right=right;right.boundingData=new Float32Array(6);getBounds(triangleBounds,rstart,rcount,right.boundingData,cacheCentroidBoundingData);splitNode(right,rstart,rcount,cacheCentroidBoundingData,depth+1)}return node}ensureIndex(geo,options);const fullBounds=new Float32Array(6);const cacheCentroidBoundingData=new Float32Array(6);const triangleBounds=computeTriangleBounds(geo,fullBounds);const indexArray=geo.index.array;const maxDepth=options.maxDepth;const verbose=options.verbose;const maxLeafTris=options.maxLeafTris;const strategy=options.strategy;const onProgress=options.onProgress;const totalTriangles=geo.index.count/3;let reachedMaxDepth=false;const roots=[];const ranges=getRootIndexRanges(geo);if(ranges.length===1){const range=ranges[0];const root=new MeshBVHNode;root.boundingData=fullBounds;getCentroidBounds(triangleBounds,range.offset,range.count,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}else{for(let range of ranges){const root=new MeshBVHNode;root.boundingData=new Float32Array(6);getBounds(triangleBounds,range.offset,range.count,root.boundingData,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}}return roots}function buildPackedTree(geo,options){const roots=buildTree(geo,options);let float32Array;let uint32Array;let uint16Array;const packedRoots=[];const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let i=0;iMath.pow(2,32)){throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.")}uint32Array[stride4Offset+6]=nextUnusedPointer/4;nextUnusedPointer=populateBuffer(nextUnusedPointer,right);uint32Array[stride4Offset+7]=splitAxis;return nextUnusedPointer}}}class SeparatingAxisBounds{constructor(){this.min=Infinity;this.max=-Infinity}setFromPointsField(points,field){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;imax?val:max}this.min=min;this.max=max}setFromPoints(axis,points){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;imax?val:max}this.min=min;this.max=max}isSeparated(other){return this.min>other.max||other.min>this.max}}SeparatingAxisBounds.prototype.setFromBox=function(){const p=new three.Vector3;return function setFromBox(axis,box){const boxMin=box.min;const boxMax=box.max;let min=Infinity;let max=-Infinity;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){p.x=boxMin.x*x+boxMax.x*(1-x);p.y=boxMin.y*y+boxMax.y*(1-y);p.z=boxMin.z*z+boxMax.z*(1-z);const val=axis.dot(p);min=Math.min(val,min);max=Math.max(val,max)}}}this.min=min;this.max=max}}();const areIntersecting=function(){const cacheSatBounds=new SeparatingAxisBounds;return function areIntersecting(shape1,shape2){const points1=shape1.points;const satAxes1=shape1.satAxes;const satBounds1=shape1.satBounds;const points2=shape2.points;const satAxes2=shape2.satAxes;const satBounds2=shape2.satBounds;for(let i=0;i<3;i++){const sb=satBounds1[i];const sa=satAxes1[i];cacheSatBounds.setFromPoints(sa,points2);if(sb.isSeparated(cacheSatBounds))return false}for(let i=0;i<3;i++){const sb=satBounds2[i];const sa=satAxes2[i];cacheSatBounds.setFromPoints(sa,points1);if(sb.isSeparated(cacheSatBounds))return false}}}();const closestPointLineToLine=function(){const dir1=new three.Vector3;const dir2=new three.Vector3;const v02=new three.Vector3;return function closestPointLineToLine(l1,l2,result){const v0=l1.start;const v10=dir1;const v2=l2.start;const v32=dir2;v02.subVectors(v0,v2);dir1.subVectors(l1.end,l2.start);dir2.subVectors(l2.end,l2.start);const d0232=v02.dot(v32);const d3210=v32.dot(v10);const d3232=v32.dot(v32);const d0210=v02.dot(v10);const d1010=v10.dot(v10);const denom=d1010*d3232-d3210*d3210;let d,d2;if(denom!==0){d=(d0232*d3210-d0210*d3232)/denom}else{d=0}d2=(d0232+d*d3210)/d3232;result.x=d;result.y=d2}}();const closestPointsSegmentToSegment=function(){const paramResult=new three.Vector2;const temp1=new three.Vector3;const temp2=new three.Vector3;return function closestPointsSegmentToSegment(l1,l2,target1,target2){closestPointLineToLine(l1,l2,paramResult);let d=paramResult.x;let d2=paramResult.y;if(d>=0&&d<=1&&d2>=0&&d2<=1){l1.at(d,target1);l2.at(d2,target2);return}else if(d>=0&&d<=1){if(d2<0){l2.at(0,target2)}else{l2.at(1,target2)}l1.closestPointToPoint(target2,true,target1);return}else if(d2>=0&&d2<=1){if(d<0){l1.at(0,target1)}else{l1.at(1,target1)}l2.closestPointToPoint(target1,true,target2);return}else{let p;if(d<0){p=l1.start}else{p=l1.end}let p2;if(d2<0){p2=l2.start}else{p2=l2.end}const closestPoint=temp1;const closestPoint2=temp2;l1.closestPointToPoint(p2,true,temp1);l2.closestPointToPoint(p,true,temp2);if(closestPoint.distanceToSquared(p2)<=closestPoint2.distanceToSquared(p)){target1.copy(closestPoint);target2.copy(p2);return}else{target1.copy(p);target2.copy(closestPoint2);return}}}}();const sphereIntersectTriangle=function(){const closestPointTemp=new three.Vector3;const projectedPointTemp=new three.Vector3;const planeTemp=new three.Plane;const lineTemp=new three.Line3;return function sphereIntersectTriangle(sphere,triangle){const{radius,center}=sphere;const{a,b,c}=triangle;lineTemp.start=a;lineTemp.end=b;const closestPoint1=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint1.distanceTo(center)<=radius)return true;lineTemp.start=a;lineTemp.end=c;const closestPoint2=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint2.distanceTo(center)<=radius)return true;lineTemp.start=b;lineTemp.end=c;const closestPoint3=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint3.distanceTo(center)<=radius)return true;const plane=triangle.getPlane(planeTemp);const dp=Math.abs(plane.distanceToPoint(center));if(dp<=radius){const pp=plane.projectPoint(center,projectedPointTemp);const cp=triangle.containsPoint(pp);if(cp)return true}return false}}();class SeparatingAxisTriangle extends three.Triangle{constructor(...args){super(...args);this.isSeparatingAxisTriangle=true;this.satAxes=new Array(4).fill().map(()=>new three.Vector3);this.satBounds=new Array(4).fill().map(()=>new SeparatingAxisBounds);this.points=[this.a,this.b,this.c];this.sphere=new three.Sphere;this.plane=new three.Plane;this.needsUpdate=false}intersectsSphere(sphere){return sphereIntersectTriangle(sphere,this)}update(){const a=this.a;const b=this.b;const c=this.c;const points=this.points;const satAxes=this.satAxes;const satBounds=this.satBounds;const axis0=satAxes[0];const sab0=satBounds[0];this.getNormal(axis0);sab0.setFromPoints(axis0,points);const axis1=satAxes[1];const sab1=satBounds[1];axis1.subVectors(a,b);sab1.setFromPoints(axis1,points);const axis2=satAxes[2];const sab2=satBounds[2];axis2.subVectors(b,c);sab2.setFromPoints(axis2,points);const axis3=satAxes[3];const sab3=satBounds[3];axis3.subVectors(c,a);sab3.setFromPoints(axis3,points);this.sphere.setFromPoints(this.points);this.plane.setFromNormalAndCoplanarPoint(axis0,a);this.needsUpdate=false}}SeparatingAxisTriangle.prototype.closestPointToSegment=function(){const point1=new three.Vector3;const point2=new three.Vector3;const edge=new three.Line3;return function distanceToSegment(segment,target1=null,target2=null){const{start,end}=segment;const points=this.points;let distSq;let closestDistanceSq=Infinity;for(let i=0;i<3;i++){const nexti=(i+1)%3;edge.start.copy(points[i]);edge.end.copy(points[nexti]);closestPointsSegmentToSegment(edge,segment,point1,point2);distSq=point1.distanceToSquared(point2);if(distSq1-1e-10){console.warn("SeparatingAxisTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.");target.start.set(0,0,0);target.end.set(0,0,0)}else{const points1=this.points;let found1=false;for(let i=0;i<3;i++){const p1=points1[i];const p2=points1[(i+1)%3];edge.start.copy(p1);edge.end.copy(p2);if(plane2.intersectLine(edge,found1?edge1.start:edge1.end)){if(found1){break}found1=true}}const points2=other.points;let found2=false;for(let i=0;i<3;i++){const p1=points2[i];const p2=points2[(i+1)%3];edge.start.copy(p1);edge.end.copy(p2);if(plane1.intersectLine(edge,found2?edge2.start:edge2.end)){if(found2){break}found2=true}}edge1.delta(dir1);edge2.delta(dir2);if(dir1.dot(dir2)<0){let tmp=edge2.start;edge2.start=edge2.end;edge2.end=tmp}tempDir.subVectors(edge1.start,edge2.start);if(tempDir.dot(dir1)>0){target.start.copy(edge1.start)}else{target.start.copy(edge2.start)}tempDir.subVectors(edge1.end,edge2.end);if(tempDir.dot(dir1)<0){target.end.copy(edge1.end)}else{target.end.copy(edge2.end)}}}return true}}();SeparatingAxisTriangle.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();SeparatingAxisTriangle.prototype.distanceToTriangle=function(){const point=new three.Vector3;const point2=new three.Vector3;const cornerFields=["a","b","c"];const line1=new three.Line3;const line2=new three.Line3;return function distanceToTriangle(other,target1=null,target2=null){const lineTarget=target1||target2?line1:null;if(this.intersectsTriangle(other,lineTarget)){if(target1||target2){if(target1)lineTarget.getCenter(target1);if(target2)lineTarget.getCenter(target2)}return 0}let closestDistanceSq=Infinity;for(let i=0;i<3;i++){let dist;const field=cornerFields[i];const otherVec=other[field];this.closestPointToPoint(otherVec,point);dist=otherVec.distanceToSquared(point);if(distnew three.Vector3);this.satAxes=new Array(3).fill().map(()=>new three.Vector3);this.satBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.alignedSatBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.needsUpdate=false}set(min,max,matrix){super.set(min,max);this.matrix=matrix;this.needsUpdate=true}copy(other){super.copy(other);this.matrix.copy(other.matrix);this.needsUpdate=true}}OrientedBox.prototype.update=function(){return function update(){const matrix=this.matrix;const min=this.min;const max=this.max;const points=this.points;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){const i=(1<<0)*x|(1<<1)*y|(1<<2)*z;const v=points[i];v.x=x?max.x:min.x;v.y=y?max.y:min.y;v.z=z?max.z:min.z;v.applyMatrix4(matrix)}}}const satBounds=this.satBounds;const satAxes=this.satAxes;const minVec=points[0];for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];const index=1<new three.Line3);const segments2=new Array(12).fill().map(()=>new three.Line3);const point1=new three.Vector3;const point2=new three.Vector3;return function distanceToBox(box,threshold=0,target1=null,target2=null){if(this.needsUpdate){this.update()}if(this.intersectsBox(box)){if(target1||target2){box.getCenter(point2);this.closestPointToPoint(point2,point1);box.closestPointToPoint(point1,point2);if(target1)target1.copy(point1);if(target2)target2.copy(point2)}return 0}const threshold2=threshold*threshold;const min=box.min;const max=box.max;const points=this.points;let closestDistanceSq=Infinity;for(let i=0;i<8;i++){const p=points[i];point2.copy(p).clamp(min,max);const dist=p.distanceToSquared(point2);if(distraycaster.far){return null}else{return hit}}function setTriangle(tri,i,index,pos){const ta=tri.a;const tb=tri.b;const tc=tri.c;let i0=i;let i1=i+1;let i2=i+2;if(index){i0=index.getX(i);i1=index.getX(i+1);i2=index.getX(i+2)}ta.x=pos.getX(i0);ta.y=pos.getY(i0);ta.z=pos.getZ(i0);tb.x=pos.getX(i1);tb.y=pos.getY(i1);tb.z=pos.getZ(i1);tc.x=pos.getX(i2);tc.y=pos.getY(i2);tc.z=pos.getZ(i2)}function iterateOverTriangles(offset,count,geometry,intersectsTriangleFunc,contained,depth,triangle){const index=geometry.index;const pos=geometry.attributes.position;for(let i=offset,l=count+offset;i=start&&firstVertexIndex=0;let c1,c2;if(leftToRight){c1=LEFT_NODE(nodeIndex32);c2=RIGHT_NODE(nodeIndex32,uint32Array)}else{c1=RIGHT_NODE(nodeIndex32,uint32Array);c2=LEFT_NODE(nodeIndex32)}const c1Intersection=intersectRay(c1,float32Array,ray,boxIntersection);const c1Result=c1Intersection?raycastFirst(c1,geometry,side,ray):null;if(c1Result){const point=c1Result.point[xyzAxis];const isOutside=leftToRight?point<=float32Array[c2+splitAxis]:point>=float32Array[c2+splitAxis+3];if(isOutside){return c1Result}}const c2Intersection=intersectRay(c2,float32Array,ray,boxIntersection);const c2Result=c2Intersection?raycastFirst(c2,geometry,side,ray):null;if(c1Result&&c2Result){return c1Result.distance<=c2Result.distance?c1Result:c2Result}else{return c1Result||c2Result||null}}}const shapecast=function(){let _box1,_box2;const boxStack=[];const boxPool=new PrimitivePool(()=>new three.Box3);return function shapecast(...args){_box1=boxPool.getPrimitive();_box2=boxPool.getPrimitive();boxStack.push(_box1,_box2);const result=shapecastTraverse(...args);boxPool.releasePrimitive(_box1);boxPool.releasePrimitive(_box2);boxStack.pop();boxStack.pop();const length=boxStack.length;if(length>0){_box2=boxStack[length-1];_box1=boxStack[length-2]}return result};function shapecastTraverse(nodeIndex32,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc=null,nodeIndexByteOffset=0,depth=0){function getLeftOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=LEFT_NODE(nodeIndex32);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)}function getRightEndOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=RIGHT_NODE(nodeIndex32,uint32Array);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)+COUNT(nodeIndex16,uint16Array)}let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,_box1);return intersectsRangeFunc(offset,count,false,depth,nodeIndexByteOffset+nodeIndex32,_box1)}else{const left=LEFT_NODE(nodeIndex32);const right=RIGHT_NODE(nodeIndex32,uint32Array);let c1=left;let c2=right;let score1,score2;let box1,box2;if(nodeScoreFunc){box1=_box1;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1);arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);score1=nodeScoreFunc(box1);score2=nodeScoreFunc(box2);if(score2obb2.intersectsBox(box),intersectsTriangle:tri=>{tri.a.applyMatrix4(geometryToBvh);tri.b.applyMatrix4(geometryToBvh);tri.c.applyMatrix4(geometryToBvh);tri.needsUpdate=true;for(let i=offset*3,l=(count+offset)*3;inew SeparatingAxisTriangle);class MeshBVH{static serialize(bvh,options={}){if(options.isBufferGeometry){console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.serialize(arguments[0],{cloneBuffers:arguments[2]===undefined?true:arguments[2]})}options={cloneBuffers:true,...options};const geometry=bvh.geometry;const rootData=bvh._roots;const indexAttribute=geometry.getIndex();let result;if(options.cloneBuffers){result={roots:rootData.map(root=>root.slice()),index:indexAttribute.array.slice()}}else{result={roots:rootData,index:indexAttribute.array}}return result}static deserialize(data,geometry,options={}){if(typeof options==="boolean"){console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.deserialize(arguments[0],arguments[1],{setIndex:arguments[2]===undefined?true:arguments[2]})}options={setIndex:true,...options};const{index,roots}=data;const bvh=new MeshBVH(geometry,{...options,[SKIP_GENERATION]:true});bvh._roots=roots;if(options.setIndex){const indexAttribute=geometry.getIndex();if(indexAttribute===null){const newIndex=new three.BufferAttribute(data.index,1,false);geometry.setIndex(newIndex)}else if(indexAttribute.array!==index){indexAttribute.array.set(index);indexAttribute.needsUpdate=true}}return bvh}constructor(geometry,options={}){if(!geometry.isBufferGeometry){throw new Error("MeshBVH: Only BufferGeometries are supported.")}else if(geometry.index&&geometry.index.isInterleavedBufferAttribute){throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}options=Object.assign({strategy:CENTER,maxDepth:40,maxLeafTris:10,verbose:true,useSharedArrayBuffer:false,setBoundingBox:true,onProgress:null,[SKIP_GENERATION]:false},options);if(options.useSharedArrayBuffer&&typeof SharedArrayBuffer==="undefined"){throw new Error("MeshBVH: SharedArrayBuffer is not available.")}this._roots=null;if(!options[SKIP_GENERATION]){this._roots=buildPackedTree(geometry,options);if(!geometry.boundingBox&&options.setBoundingBox){geometry.boundingBox=this.getBoundingBox(new three.Box3)}}this.geometry=geometry}refit(nodeIndices=null){if(nodeIndices&&Array.isArray(nodeIndices)){nodeIndices=new Set(nodeIndices)}const geometry=this.geometry;const indexArr=geometry.index.array;const posAttr=geometry.attributes.position;const posArr=posAttr.array;const bufferOffset=posAttr.offset||0;let stride=3;if(posAttr.isInterleavedBufferAttribute){stride=posAttr.data.stride}let buffer,uint32Array,uint16Array,float32Array;let byteOffset=0;const roots=this._roots;for(let i=0,l=roots.length;imaxx)maxx=x;if(ymaxy)maxy=y;if(zmaxz)maxz=z}if(float32Array[node32Index+0]!==minx||float32Array[node32Index+1]!==miny||float32Array[node32Index+2]!==minz||float32Array[node32Index+3]!==maxx||float32Array[node32Index+4]!==maxy||float32Array[node32Index+5]!==maxz){float32Array[node32Index+0]=minx;float32Array[node32Index+1]=miny;float32Array[node32Index+2]=minz;float32Array[node32Index+3]=maxx;float32Array[node32Index+4]=maxy;float32Array[node32Index+5]=maxz;return true}else{return false}}else{const left=node32Index+8;const right=uint32Array[node32Index+6];const offsetLeft=left+byteOffset;const offsetRight=right+byteOffset;let forceChildren=force;let includesLeft=false;let includesRight=false;if(nodeIndices){if(!forceChildren){includesLeft=nodeIndices.has(offsetLeft);includesRight=nodeIndices.has(offsetRight);forceChildren=!includesLeft&&!includesRight}}else{includesLeft=true;includesRight=true}const traverseLeft=forceChildren||includesLeft;const traverseRight=forceChildren||includesRight;let leftChange=false;if(traverseLeft){leftChange=_traverse(left,byteOffset,forceChildren)}let rightChange=false;if(traverseRight){rightChange=_traverse(right,byteOffset,forceChildren)}const didChange=leftChange||rightChange;if(didChange){for(let i=0;i<3;i++){const lefti=left+i;const righti=right+i;const minLeftValue=float32Array[lefti];const maxLeftValue=float32Array[lefti+3];const minRightValue=float32Array[righti];const maxRightValue=float32Array[righti+3];float32Array[node32Index+i]=minLeftValuemaxRightValue?maxLeftValue:maxRightValue}}return didChange}}}traverse(callback,rootIndex=0){const buffer=this._roots[rootIndex];const uint32Array=new Uint32Array(buffer);const uint16Array=new Uint16Array(buffer);_traverse(0);function _traverse(node32Index,depth=0){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),offset,count)}else{const left=node32Index+BYTES_PER_NODE/4;const right=uint32Array[node32Index+6];const splitAxis=uint32Array[node32Index+7];const stopTraversal=callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),splitAxis);if(!stopTraversal){_traverse(left,depth+1);_traverse(right,depth+1)}}}}raycast(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const intersects=[];const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i{const i3=index*3;return originalTriangleFunc(tri,i3,i3+1,i3+2,contained,depth)}}callbacks={boundsTraverseOrder:_orderNodesFunc,intersectsBounds:callbacks,intersectsTriangle:_intersectsTriangleFunc,intersectsRange:null};console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}const triangle=trianglePool.getPrimitive();let{boundsTraverseOrder,intersectsBounds,intersectsRange,intersectsTriangle}=callbacks;if(intersectsRange&&intersectsTriangle){const originalIntersectsRange=intersectsRange;intersectsRange=(offset,count,contained,depth,nodeIndex)=>{if(!originalIntersectsRange(offset,count,contained,depth,nodeIndex)){return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}return true}}else if(!intersectsRange){if(intersectsTriangle){intersectsRange=(offset,count,contained,depth)=>{return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}}else{intersectsRange=(offset,count,contained)=>{return contained}}}let result=false;let byteOffset=0;for(const root of this._roots){setBuffer(root);result=shapecast(0,geometry,intersectsBounds,intersectsRange,boundsTraverseOrder,byteOffset);clearBuffer();if(result){break}byteOffset+=root.byteLength}trianglePool.releasePrimitive(triangle);return result}bvhcast(otherBvh,matrixToLocal,callbacks){let{intersectsRanges,intersectsTriangles}=callbacks;const indexAttr=this.geometry.index;const positionAttr=this.geometry.attributes.position;const otherIndexAttr=otherBvh.geometry.index;const otherPositionAttr=otherBvh.geometry.attributes.position;tempMatrix.copy(matrixToLocal).invert();const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();if(intersectsTriangles){function iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2){for(let i2=offset2,l2=offset2+count2;i2aabb2.intersectsBox(box),intersectsRange:(offset1,count1,contained,depth1,nodeIndex1,box)=>{aabb.copy(box);aabb.applyMatrix4(tempMatrix);return otherBvh.shapecast({intersectsBounds:box=>aabb.intersectsBox(box),intersectsRange:(offset2,count2,contained,depth2,nodeIndex2)=>{return intersectsRanges(offset1,count1,offset2,count2,depth1,nodeIndex1,depth2,nodeIndex2)}})}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);return result}intersectsBox(box,boxToMesh){obb.set(box.min,box.max,boxToMesh);obb.needsUpdate=true;return this.shapecast({intersectsBounds:box=>obb.intersectsBox(box),intersectsTriangle:tri=>obb.intersectsTriangle(tri)})}intersectsSphere(sphere){return this.shapecast({intersectsBounds:box=>sphere.intersectsBox(box),intersectsTriangle:tri=>tri.intersectsSphere(sphere)})}closestPointToGeometry(otherGeometry,geometryToBvh,target1={},target2={},minThreshold=0,maxThreshold=Infinity){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);obb.needsUpdate=true;const geometry=this.geometry;const pos=geometry.attributes.position;const index=geometry.index;const otherPos=otherGeometry.attributes.position;const otherIndex=otherGeometry.index;const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();let tempTarget1=temp1;let tempTargetDest1=temp2;let tempTarget2=null;let tempTargetDest2=null;if(target2){tempTarget2=temp3;tempTargetDest2=temp4}let closestDistance=Infinity;let closestDistanceTriIndex=null;let closestDistanceOtherTriIndex=null;tempMatrix.copy(geometryToBvh).invert();obb2.matrix.copy(tempMatrix);this.shapecast({boundsTraverseOrder:box=>{return obb.distanceToBox(box,Math.min(closestDistance,maxThreshold))},intersectsBounds:(box,isLeaf,score)=>{if(score{if(otherGeometry.boundsTree){return otherGeometry.boundsTree.shapecast({boundsTraverseOrder:box=>{return obb2.distanceToBox(box,Math.min(closestDistance,maxThreshold))},intersectsBounds:(box,isLeaf,score)=>{return score{for(let i2=otherOffset*3,l2=(otherOffset+otherCount)*3;i2{temp.copy(point).clamp(box.min,box.max);return temp.distanceToSquared(point)},intersectsBounds:(box,isLeaf,score)=>{return score{tri.closestPointToPoint(point,temp);const distSq=point.distanceToSquared(temp);if(distSq{arrayToBox(0,new Float32Array(buffer),tempBox);target.union(tempBox)});return target}}const originalRaycast=MeshBVH.prototype.raycast;MeshBVH.prototype.raycast=function(...args){if(args[0].isMesh){console.warn("MeshBVH: The function signature and results frame for \"raycast\" has changed. See docs for new signature.");const[mesh,raycaster,ray,intersects]=args;const results=originalRaycast.call(this,ray,mesh.material);results.forEach(hit=>{hit=convertRaycastIntersect(hit,mesh,raycaster);if(hit){intersects.push(hit)}});return intersects}else{return originalRaycast.apply(this,args)}};const originalRaycastFirst=MeshBVH.prototype.raycastFirst;MeshBVH.prototype.raycastFirst=function(...args){if(args[0].isMesh){console.warn("MeshBVH: The function signature and results frame for \"raycastFirst\" has changed. See docs for new signature.");const[mesh,raycaster,ray]=args;return convertRaycastIntersect(originalRaycastFirst.call(this,ray,mesh.material),mesh,raycaster)}else{return originalRaycastFirst.apply(this,args)}};const originalClosestPointToPoint=MeshBVH.prototype.closestPointToPoint;MeshBVH.prototype.closestPointToPoint=function(...args){if(args[0].isMesh){console.warn("MeshBVH: The function signature and results frame for \"closestPointToPoint\" has changed. See docs for new signature.");args.unshift();const target=args[1];const result={};args[1]=result;originalClosestPointToPoint.apply(this,args);if(target){target.copy(result.point)}return result.distance}else{return originalClosestPointToPoint.apply(this,args)}};const originalClosestPointToGeometry=MeshBVH.prototype.closestPointToGeometry;MeshBVH.prototype.closestPointToGeometry=function(...args){const target1=args[2];const target2=args[3];if(target1&&target1.isVector3||target2&&target2.isVector3){console.warn("MeshBVH: The function signature and results frame for \"closestPointToGeometry\" has changed. See docs for new signature.");const result1={};const result2={};const geometryToBvh=args[1];args[2]=result1;args[3]=result2;originalClosestPointToGeometry.apply(this,args);if(target1){target1.copy(result1.point)}if(target2){target2.copy(result2.point).applyMatrix4(geometryToBvh)}return result1.distance}else{return originalClosestPointToGeometry.apply(this,args)}};const originalRefit=MeshBVH.prototype.refit;MeshBVH.prototype.refit=function(...args){const nodeIndices=args[0];const terminationIndices=args[1];if(terminationIndices&&(terminationIndices instanceof Set||Array.isArray(terminationIndices))){console.warn("MeshBVH: The function signature for \"refit\" has changed. See docs for new signature.");const newNodeIndices=new Set;terminationIndices.forEach(v=>newNodeIndices.add(v));if(nodeIndices){nodeIndices.forEach(v=>newNodeIndices.add(v))}originalRefit.call(this,newNodeIndices)}else{originalRefit.apply(this,args)}};["intersectsGeometry","shapecast","intersectsBox","intersectsSphere"].forEach(name=>{const originalFunc=MeshBVH.prototype[name];MeshBVH.prototype[name]=function(...args){if(args[0]===null||args[0].isMesh){args.shift();console.warn(`MeshBVH: The function signature for "${name}" has changed and no longer takes Mesh. See docs for new signature.`)}return originalFunc.apply(this,args)}});const boundingBox=new three.Box3;class MeshBVHRootVisualizer extends three.Object3D{get isMesh(){return!this.displayEdges}get isLineSegments(){return this.displayEdges}get isLine(){return this.displayEdges}constructor(mesh,material,depth=10,group=0){super();this.material=material;this.geometry=new three.BufferGeometry;this.name="MeshBVHRootVisualizer";this.depth=depth;this.displayParents=false;this.mesh=mesh;this.displayEdges=true;this._group=group}raycast(){}update(){const geometry=this.geometry;const boundsTree=this.mesh.geometry.boundsTree;const group=this._group;geometry.dispose();this.visible=false;if(boundsTree){const targetDepth=this.depth-1;const displayParents=this.displayParents;let boundsCount=0;boundsTree.traverse((depth,isLeaf)=>{if(depth===targetDepth||isLeaf){boundsCount++;return true}else if(displayParents){boundsCount++}},group);let posIndex=0;const positionArray=new Float32Array(8*3*boundsCount);boundsTree.traverse((depth,isLeaf,boundingData)=>{const terminate=depth===targetDepth||isLeaf;if(terminate||displayParents){arrayToBox(0,boundingData,boundingBox);const{min,max}=boundingBox;for(let x=-1;x<=1;x+=2){const xVal=x<0?min.x:max.x;for(let y=-1;y<=1;y+=2){const yVal=y<0?min.y:max.y;for(let z=-1;z<=1;z+=2){const zVal=z<0?min.z:max.z;positionArray[posIndex+0]=xVal;positionArray[posIndex+1]=yVal;positionArray[posIndex+2]=zVal;posIndex+=3}}}return terminate}},group);let indexArray;let indices;if(this.displayEdges){indices=new Uint8Array([0,4,1,5,2,6,3,7,0,2,1,3,4,6,5,7,0,1,2,3,4,5,6,7])}else{indices=new Uint8Array([0,1,2,2,1,3,4,6,5,6,7,5,1,4,5,0,4,1,2,3,6,3,7,6,0,2,4,2,6,4,1,5,3,3,5,7])}if(positionArray.length>65535){indexArray=new Uint32Array(indices.length*boundsCount)}else{indexArray=new Uint16Array(indices.length*boundsCount)}const indexLength=indices.length;for(let i=0;itotalRoots){this._roots.pop()}for(let i=0;i=this._roots.length){const root=new MeshBVHRootVisualizer(this.mesh,this.edgeMaterial,this.depth,i);this.add(root);this._roots.push(root)}const root=this._roots[i];root.depth=this.depth;root.mesh=this.mesh;root.displayParents=this.displayParents;root.displayEdges=this.displayEdges;root.material=this.displayEdges?this.edgeMaterial:this.meshMaterial;root.update()}}updateMatrixWorld(...args){this.position.copy(this.mesh.position);this.rotation.copy(this.mesh.rotation);this.scale.copy(this.mesh.scale);super.updateMatrixWorld(...args)}copy(source){this.depth=source.depth;this.mesh=source.mesh}clone(){return new MeshBVHVisualizer(this.mesh,this.depth)}dispose(){this.edgeMaterial.dispose();this.meshMaterial.dispose();const children=this.children;for(let i=0,l=children.length;i{const l0=boundingData[0+3]-boundingData[0];const l1=boundingData[1+3]-boundingData[1];const l2=boundingData[2+3]-boundingData[2];const surfaceArea=2*(l0*l1+l1*l2+l2*l0);result.nodeCount++;if(isLeaf){result.leafNodeCount++;result.depth.min=Math.min(depth,result.depth.min);result.depth.max=Math.max(depth,result.depth.max);result.tris.min=Math.min(count,result.tris.min);result.tris.max=Math.max(count,result.tris.max);result.surfaceAreaScore+=surfaceArea*TRIANGLE_INTERSECT_COST*count}else{result.splits[offsetOrSplit]++;result.surfaceAreaScore+=surfaceArea*TRAVERSAL_COST}},group);if(result.tris.min===Infinity){result.tris.min=0;result.tris.max=0}if(result.depth.min===Infinity){result.depth.min=0;result.depth.max=0}return result}function getBVHExtremes(bvh){return bvh._roots.map((root,i)=>getRootExtremes(bvh,i))}function estimateMemoryInBytes(obj){const traversed=new Set;const stack=[obj];let bytes=0;while(stack.length){const curr=stack.pop();if(traversed.has(curr)){continue}traversed.add(curr);for(let key in curr){if(!curr.hasOwnProperty(key)){continue}bytes+=getPrimitiveSize(key);const value=curr[key];if(value&&(typeof value==="object"||typeof value==="function")){if(isTypedArray(value)){bytes+=value.byteLength}else if(value instanceof ArrayBuffer){bytes+=value.byteLength}else{stack.push(value)}}else{bytes+=getPrimitiveSize(value)}}}return bytes}function validateBounds(bvh){const geometry=bvh.geometry;const depthStack=[];const index=geometry.index;const position=geometry.getAttribute("position");let passes=true;bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{const info={depth,isLeaf,boundingData,offset,count};depthStack[depth]=info;arrayToBox(0,boundingData,_box1);const parent=depthStack[depth-1];if(isLeaf){for(let i=offset*3,l=(offset+count)*3;i{const info={bounds:arrayToBox(0,boundingData,new three.Box3)};if(isLeaf){info.count=count;info.offset=offset}else{info.left=null;info.right=null}depthStack[depth]=info;const parent=depthStack[depth-1];if(parent){if(parent.left===null){parent.left=info}else{parent.right=info}}});return depthStack[0]}const ray=new three.Ray;const tmpInverseMatrix=new three.Matrix4;const origMeshRaycastFunc=three.Mesh.prototype.raycast;function acceleratedRaycast(raycaster,intersects){if(this.geometry.boundsTree){if(this.material===undefined)return;tmpInverseMatrix.copy(this.matrixWorld).invert();ray.copy(raycaster.ray).applyMatrix4(tmpInverseMatrix);const bvh=this.geometry.boundsTree;if(raycaster.firstHitOnly===true){const hit=convertRaycastIntersect(bvh.raycastFirst(ray,this.material),this,raycaster);if(hit){intersects.push(hit)}}else{const hits=bvh.raycast(ray,this.material);for(let i=0,l=hits.length;i=2){dataArray[ii+1]=attr.getY(i)/normalizeValue}if(itemSize>=3){dataArray[ii+2]=attr.getZ(i)/normalizeValue;if(finalStride===4){dataArray[ii+3]=1}}if(itemSize>=4){dataArray[ii+3]=attr.getW(i)/normalizeValue}}this.internalFormat=internalFormat;this.format=format;this.type=type;this.image.width=dimension;this.image.height=dimension;this.image.data=dataArray;this.needsUpdate=true;attr.itemSize=originalItemSize;attr.count=originalCount}}class UIntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.UnsignedIntType}}class IntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.IntType}}class FloatVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.FloatType}}function bvhToTextures(bvh,boundsTexture,contentsTexture){const roots=bvh._roots;if(roots.length!==1){throw new Error("MeshBVHUniformStruct: Multi-root BVHs not supported.")}const root=roots[0];const uint16Array=new Uint16Array(root);const uint32Array=new Uint32Array(root);const float32Array=new Float32Array(root);const nodeCount=root.byteLength/BYTES_PER_NODE;const boundsDimension=2*Math.ceil(Math.sqrt(nodeCount/2));const boundsArray=new Float32Array(4*boundsDimension*boundsDimension);const contentsDimension=Math.ceil(Math.sqrt(nodeCount));const contentsArray=new Uint32Array(2*contentsDimension*contentsDimension);for(let i=0;i= dist ? dist : INFINITY; } bool intersectsTriangle( vec3 rayOrigin, vec3 rayDirection, vec3 a, vec3 b, vec3 c, out vec3 barycoord, out vec3 norm, out float dist, out float side ) { // https://stackoverflow.com/questions/42740765/intersection-between-line-and-triangle-in-3d vec3 edge1 = b - a; vec3 edge2 = c - a; norm = cross( edge1, edge2 ); float det = - dot( rayDirection, norm ); float invdet = 1.0 / det; vec3 AO = rayOrigin - a; vec3 DAO = cross( AO, rayDirection ); vec4 uvt; uvt.x = dot( edge2, DAO ) * invdet; uvt.y = - dot( edge1, DAO ) * invdet; uvt.z = dot( AO, norm ) * invdet; uvt.w = 1.0 - uvt.x - uvt.y; // set the hit information barycoord = uvt.wxy; // arranged in A, B, C order dist = uvt.z; side = sign( det ); norm = side * normalize( norm ); // add an epsilon to avoid misses between triangles uvt += vec4( TRI_INTERSECT_EPSILON ); return all( greaterThanEqual( uvt, vec4( 0.0 ) ) ); } bool intersectTriangles( BVH bvh, vec3 rayOrigin, vec3 rayDirection, uint offset, uint count, inout float minDistance, // output variables out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out float dist ) { bool found = false; vec3 localBarycoord, localNormal; float localDist, localSide; for ( uint i = offset, l = offset + count; i < l; i ++ ) { uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz; vec3 a = texelFetch1D( bvh.position, indices.x ).rgb; vec3 b = texelFetch1D( bvh.position, indices.y ).rgb; vec3 c = texelFetch1D( bvh.position, indices.z ).rgb; if ( intersectsTriangle( rayOrigin, rayDirection, a, b, c, localBarycoord, localNormal, localDist, localSide ) && localDist < minDistance ) { found = true; minDistance = localDist; faceIndices = uvec4( indices.xyz, i ); faceNormal = localNormal; side = localSide; barycoord = localBarycoord; dist = localDist; } } return found; } float intersectsBVHNodeBounds( vec3 rayOrigin, vec3 rayDirection, BVH bvh, uint currNodeIndex ) { vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz; vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz; return intersectsBounds( rayOrigin, rayDirection, boundsMin, boundsMax ); } bool bvhIntersectFirstHit( BVH bvh, vec3 rayOrigin, vec3 rayDirection, // output variables out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out float dist ) { // stack needs to be twice as long as the deepest tree we expect because // we push both the left and right child onto the stack every traversal int ptr = 0; uint stack[ 60 ]; stack[ 0 ] = 0u; float triangleDistance = 1e20; bool found = false; while ( ptr > - 1 && ptr < 60 ) { uint currNodeIndex = stack[ ptr ]; ptr --; // check if we intersect the current bounds float boundsHitDistance = intersectsBVHNodeBounds( rayOrigin, rayDirection, bvh, currNodeIndex ); if ( boundsHitDistance == INFINITY || boundsHitDistance > triangleDistance ) { continue; } uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy; bool isLeaf = bool( boundsInfo.x & 0xffff0000u ); if ( isLeaf ) { uint count = boundsInfo.x & 0x0000ffffu; uint offset = boundsInfo.y; found = intersectTriangles( bvh, rayOrigin, rayDirection, offset, count, triangleDistance, faceIndices, faceNormal, barycoord, side, dist ) || found; } else { uint leftIndex = currNodeIndex + 1u; uint splitAxis = boundsInfo.x & 0x0000ffffu; uint rightIndex = boundsInfo.y; bool leftToRight = rayDirection[ splitAxis ] >= 0.0; uint c1 = leftToRight ? leftIndex : rightIndex; uint c2 = leftToRight ? rightIndex : leftIndex; // set c2 in the stack so we traverse it later. We need to keep track of a pointer in // the stack while we traverse. The second pointer added is the one that will be // traversed first ptr ++; stack[ ptr ] = c2; ptr ++; stack[ ptr ] = c1; } } return found; } `;exports.AVERAGE=AVERAGE;exports.CENTER=CENTER;exports.CONTAINED=CONTAINED;exports.FloatVertexAttributeTexture=FloatVertexAttributeTexture;exports.INTERSECTED=INTERSECTED;exports.IntVertexAttributeTexture=IntVertexAttributeTexture;exports.MeshBVH=MeshBVH;exports.MeshBVHUniformStruct=MeshBVHUniformStruct;exports.MeshBVHVisualizer=MeshBVHVisualizer;exports.NOT_INTERSECTED=NOT_INTERSECTED;exports.SAH=SAH;exports.UIntVertexAttributeTexture=UIntVertexAttributeTexture;exports.VertexAttributeTexture=VertexAttributeTexture;exports.acceleratedRaycast=acceleratedRaycast;exports.computeBoundsTree=computeBoundsTree;exports.disposeBoundsTree=disposeBoundsTree;exports.estimateMemoryInBytes=estimateMemoryInBytes;exports.getBVHExtremes=getBVHExtremes;exports.getJSONStructure=getJSONStructure;exports.getTriangleHitPointInfo=getTriangleHitPointInfo;exports.shaderIntersectFunction=shaderIntersectFunction;exports.shaderStructs=shaderStructs;exports.validateBounds=validateBounds;Object.defineProperty(exports,"__esModule",{value:true});three.BufferGeometry.prototype.computeBoundsTree=computeBoundsTree;three.BufferGeometry.prototype.disposeBoundsTree=disposeBoundsTree;three.Mesh.prototype.raycast=acceleratedRaycast});THREE.MeshoptDecoder=function(){"use strict";var wasm_base="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";var wasm_simd="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";var detector=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);var wasmpack=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=="object"){return{supported:false}}var wasm=WebAssembly.validate(detector)?wasm_simd:wasm_base;var instance;var ready=WebAssembly.instantiate(unpack(wasm),{}).then(function(result){instance=result.instance;instance.exports.__wasm_call_ctors()});function unpack(data){var result=new Uint8Array(data.length);for(var i=0;i96?ch-97:ch>64?ch-39:ch+4}var write=0;for(var i=0;i0){return decodeWorker(count,size,source,decoders[mode],filters[filter])}return ready.then(function(){var target=new Uint8Array(count*size);decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]]);return target})}}}();(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Color=THREE.Color,Vector3=THREE.Vector3;class Face3{constructor(a,b,c,normal,color,materialIndex=0){this.a=a;this.b=b;this.c=c;this.normal=normal&&normal.isVector3?normal:new Vector3;this.vertexNormals=Array.isArray(normal)?normal:[];this.color=color&&color.isColor?color:new Color;this.vertexColors=Array.isArray(color)?color:[];this.materialIndex=materialIndex}clone(){return new this.constructor().copy(this)}copy(source){this.a=source.a;this.b=source.b;this.c=source.c;this.normal.copy(source.normal);this.color.copy(source.color);this.materialIndex=source.materialIndex;for(let i=0,il=source.vertexNormals.length;i0){for(let i=0;i0){this.normalsNeedUpdate=true}}computeFlatVertexNormals(){this.computeFaceNormals();for(let f=0,fl=this.faces.length;f0){this.normalsNeedUpdate=true}}computeMorphNormals(){for(let f=0,fl=this.faces.length;f=0;i--){const idx=faceIndicesToRemove[i];this.faces.splice(idx,1);for(let j=0,jl=this.faceVertexUvs.length;j0;const hasFaceVertexNormal=face.vertexNormals.length>0;const hasFaceColor=face.color.r!==1||face.color.g!==1||face.color.b!==1;const hasFaceVertexColor=face.vertexColors.length>0;let faceType=0;faceType=setBit(faceType,0,0);faceType=setBit(faceType,1,hasMaterial);faceType=setBit(faceType,2,hasFaceUv);faceType=setBit(faceType,3,hasFaceVertexUv);faceType=setBit(faceType,4,hasFaceNormal);faceType=setBit(faceType,5,hasFaceVertexNormal);faceType=setBit(faceType,6,hasFaceColor);faceType=setBit(faceType,7,hasFaceVertexColor);faces.push(faceType);faces.push(face.a,face.b,face.c);faces.push(face.materialIndex);if(hasFaceVertexUv){const faceVertexUvs=this.faceVertexUvs[0][i];faces.push(getUvIndex(faceVertexUvs[0]),getUvIndex(faceVertexUvs[1]),getUvIndex(faceVertexUvs[2]))}if(hasFaceNormal){faces.push(getNormalIndex(face.normal))}if(hasFaceVertexNormal){const vertexNormals=face.vertexNormals;faces.push(getNormalIndex(vertexNormals[0]),getNormalIndex(vertexNormals[1]),getNormalIndex(vertexNormals[2]))}if(hasFaceColor){faces.push(getColorIndex(face.color))}if(hasFaceVertexColor){const vertexColors=face.vertexColors;faces.push(getColorIndex(vertexColors[0]),getColorIndex(vertexColors[1]),getColorIndex(vertexColors[2]))}}function setBit(value,position,enabled){return enabled?value|1<0)data.data.colors=colors;if(uvs.length>0)data.data.uvs=[uvs];data.data.faces=faces;return data}clone(){return new Geometry().copy(this)}copy(source){this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingBox=null;this.boundingSphere=null;this.name=source.name;const vertices=source.vertices;for(let i=0,il=vertices.length;i0){const normals=new Float32Array(geometry.normals.length*3);buffergeometry.setAttribute("normal",copyVector3sArray(new BufferAttribute(normals,3),geometry.normals))}if(geometry.colors.length>0){const colors=new Float32Array(geometry.colors.length*3);buffergeometry.setAttribute("color",copyColorsArray(new BufferAttribute(colors,3),geometry.colors))}if(geometry.uvs.length>0){const uvs=new Float32Array(geometry.uvs.length*2);buffergeometry.setAttribute("uv",copyVector2sArray(new BufferAttribute(uvs,2),geometry.uvs))}if(geometry.uvs2.length>0){const uvs2=new Float32Array(geometry.uvs2.length*2);buffergeometry.setAttribute("uv2",copyVector2sArray(new BufferAttribute(uvs2,2),geometry.uvs2))}buffergeometry.groups=geometry.groups;for(const name in geometry.morphTargets){const array=[];const morphTargets=geometry.morphTargets[name];for(let i=0,l=morphTargets.length;i0){const skinIndices=new Float32BufferAttribute(geometry.skinIndices.length*4,4);buffergeometry.setAttribute("skinIndex",copyVector4sArray(skinIndices,geometry.skinIndices))}if(geometry.skinWeights.length>0){const skinWeights=new Float32BufferAttribute(geometry.skinWeights.length*4,4);buffergeometry.setAttribute("skinWeight",copyVector4sArray(skinWeights,geometry.skinWeights))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}return buffergeometry}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(matrix){console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().");return this.applyMatrix4(matrix)}dispose(){this.dispatchEvent({type:"dispose"})}static createBufferGeometryFromObject(object){let buffergeometry=new BufferGeometry;const geometry=object.geometry;if(object.isPoints||object.isLine){const positions=new Float32BufferAttribute(geometry.vertices.length*3,3);const colors=new Float32BufferAttribute(geometry.colors.length*3,3);buffergeometry.setAttribute("position",copyVector3sArray(positions,geometry.vertices));buffergeometry.setAttribute("color",copyColorsArray(colors,geometry.colors));if(geometry.lineDistances&&geometry.lineDistances.length===geometry.vertices.length){const lineDistances=new Float32BufferAttribute(geometry.lineDistances.length,1);buffergeometry.setAttribute("lineDistance",lineDistances.copyArray(geometry.lineDistances))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}}else if(object.isMesh){buffergeometry=geometry.toBufferGeometry()}return buffergeometry}}Geometry.prototype.isGeometry=true;class DirectGeometry{constructor(){this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingBox=null;this.boundingSphere=null;this.verticesNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.uvsNeedUpdate=false;this.groupsNeedUpdate=false}computeGroups(geometry){const groups=[];let group,i;let materialIndex=undefined;const faces=geometry.faces;for(i=0;i0;const hasFaceVertexUv2=faceVertexUvs[1]&&faceVertexUvs[1].length>0;const morphTargets=geometry.morphTargets;const morphTargetsLength=morphTargets.length;let morphTargetsPosition;if(morphTargetsLength>0){morphTargetsPosition=[];for(let i=0;i0){morphTargetsNormal=[];for(let i=0;i0&&faces.length===0){console.error("THREE.DirectGeometry: Faceless geometries are not supported.")}for(let i=0;i{const workerId=this._getIdleWorker();if(workerId!==-1){this._initWorker(workerId);this.workerStatus|=1<worker.terminate());this.workersResolve.length=0;this.workers.length=0;this.queue.length=0;this.workerStatus=0}}THREE.WorkerPool=WorkerPool})();(function(){const t=0,e=1,n=2,i=3,s=0,a=0,r=2,o=0,l=1,f=160,U=161,c=162,h=163,_=0,p=1,g=0,y=1,x=2,u=3,b=4,d=5,m=6,w=7,D=8,B=9,L=10,A=11,k=12,v=13,S=14,I=15,O=16,T=17,V=18,E=0,F=1,P=2,C=3,z=4,M=5,W=6,N=7,H=8,K=9,X=10,j=11,R=0,Y=1,q=2,G=13,J=14,Q=15,Z=128,$=64,tt=32,et=16,nt=0,it=1,st=2,at=3,rt=4,ot=5,lt=6,ft=7,Ut=8,ct=9,ht=10,_t=13,pt=14,gt=15,yt=16,xt=17,ut=20,bt=21,dt=22,mt=23,wt=24,Dt=27,Bt=28,Lt=29,At=30,kt=31,vt=34,St=35,It=36,Ot=37,Tt=38,Vt=41,Et=42,Ft=43,Pt=44,Ct=45,zt=48,Mt=49,Wt=50,Nt=58,Ht=59,Kt=62,Xt=63,jt=64,Rt=65,Yt=68,qt=69,Gt=70,Jt=71,Qt=74,Zt=75,$t=76,te=77,ee=78,ne=81,ie=82,se=83,ae=84,re=85,oe=88,le=89,fe=90,Ue=91,ce=92,he=95,_e=96,pe=97,ge=98,ye=99,xe=100,ue=101,be=102,de=103,me=104,we=105,De=106,Be=107,Le=108,Ae=109,ke=110,ve=111,Se=112,Ie=113,Oe=114,Te=115,Ve=116,Ee=117,Fe=118,Pe=119,Ce=120,ze=121,Me=122,We=123,Ne=124,He=125,Ke=126,Xe=127,je=128,Re=129,Ye=130,qe=131,Ge=132,Je=133,Qe=134,Ze=135,$e=136,tn=137,en=138,nn=139,sn=140,an=141,rn=142,on=143,ln=144,fn=145,Un=146,cn=147,hn=148,_n=149,pn=150,gn=151,yn=152,xn=153,un=154,bn=155,dn=156,mn=157,wn=158,Dn=159,Bn=160,Ln=161,An=162,kn=163,vn=164,Sn=165,In=166,On=167,Tn=168,Vn=169,En=170,Fn=171,Pn=172,Cn=173,zn=174,Mn=175,Wn=176,Nn=177,Hn=178,Kn=179,Xn=180,jn=181,Rn=182,Yn=183,qn=184,Gn=1000156007,Jn=1000156008,Qn=1000156009,Zn=1000156010,$n=1000156011,ti=1000156017,ei=1000156018,ni=1000156019,ii=1000156020,si=1000156021,ai=1000054e3,ri=1000054001,oi=1000054002,li=1000054003,fi=1000054004,Ui=1000054005,ci=1000054006,hi=1000054007,_i=1000066e3,pi=1000066001,gi=1000066002,yi=1000066003,xi=1000066004,ui=1000066005,bi=1000066006,di=1000066007,mi=1000066008,wi=1000066009,Di=1000066010,Bi=1000066011,Li=1000066012,Ai=1000066013,ki=100034e4,vi=1000340001;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(t,e,n,i){this._dataView=new DataView(t.buffer,t.byteOffset+e,n),this._littleEndian=i,this._offset=0}_nextUint8(){const t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){const t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){const t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){const t=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_nextInt32(){const t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_skip(t){return this._offset+=t,this}_scan(t,e=0){const n=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==e&&i0?c+a.byteLength:0;h%8&&(h+=8-h%8);const _=[],p=new DataView(new ArrayBuffer(3*t.levels.length*8));let g=(h||c+a.byteLength)+n.byteLength;for(let e=0;e0?h:0),!0),x.setBigUint64(60,BigInt(n.byteLength),!0),new Uint8Array(Fi([new Uint8Array(Ti).buffer,y,p.buffer,o,a,h>0?new ArrayBuffer(h-(c+a.byteLength)):new ArrayBuffer(0),n,..._]))}var KTXParse=THREE.KTXParse={};KTXParse.KHR_DF_CHANNEL_RGBSDA_ALPHA=Q,KTXParse.KHR_DF_CHANNEL_RGBSDA_BLUE=q,KTXParse.KHR_DF_CHANNEL_RGBSDA_DEPTH=J,KTXParse.KHR_DF_CHANNEL_RGBSDA_GREEN=Y,KTXParse.KHR_DF_CHANNEL_RGBSDA_RED=R,KTXParse.KHR_DF_CHANNEL_RGBSDA_STENCIL=G,KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED=p,KTXParse.KHR_DF_FLAG_ALPHA_STRAIGHT=_,KTXParse.KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT=s,KTXParse.KHR_DF_MODEL_ASTC=c,KTXParse.KHR_DF_MODEL_ETC1=f,KTXParse.KHR_DF_MODEL_ETC1S=h,KTXParse.KHR_DF_MODEL_ETC2=U,KTXParse.KHR_DF_MODEL_RGBSDA=l,KTXParse.KHR_DF_MODEL_UNSPECIFIED=o,KTXParse.KHR_DF_PRIMARIES_ACES=W,KTXParse.KHR_DF_PRIMARIES_ACESCC=N,KTXParse.KHR_DF_PRIMARIES_ADOBERGB=j,KTXParse.KHR_DF_PRIMARIES_BT2020=z,KTXParse.KHR_DF_PRIMARIES_BT601_EBU=P,KTXParse.KHR_DF_PRIMARIES_BT601_SMPTE=C,KTXParse.KHR_DF_PRIMARIES_BT709=F,KTXParse.KHR_DF_PRIMARIES_CIEXYZ=M,KTXParse.KHR_DF_PRIMARIES_DISPLAYP3=X,KTXParse.KHR_DF_PRIMARIES_NTSC1953=H,KTXParse.KHR_DF_PRIMARIES_PAL525=K,KTXParse.KHR_DF_PRIMARIES_UNSPECIFIED=E,KTXParse.KHR_DF_SAMPLE_DATATYPE_EXPONENT=tt,KTXParse.KHR_DF_SAMPLE_DATATYPE_FLOAT=Z,KTXParse.KHR_DF_SAMPLE_DATATYPE_LINEAR=et,KTXParse.KHR_DF_SAMPLE_DATATYPE_SIGNED=$,KTXParse.KHR_DF_TRANSFER_ACESCC=O,KTXParse.KHR_DF_TRANSFER_ACESCCT=T,KTXParse.KHR_DF_TRANSFER_ADOBERGB=V,KTXParse.KHR_DF_TRANSFER_BT1886=w,KTXParse.KHR_DF_TRANSFER_DCIP3=k,KTXParse.KHR_DF_TRANSFER_HLG_EOTF=B,KTXParse.KHR_DF_TRANSFER_HLG_OETF=D,KTXParse.KHR_DF_TRANSFER_ITU=u,KTXParse.KHR_DF_TRANSFER_LINEAR=y,KTXParse.KHR_DF_TRANSFER_NTSC=b,KTXParse.KHR_DF_TRANSFER_PAL625_EOTF=S,KTXParse.KHR_DF_TRANSFER_PAL_OETF=v,KTXParse.KHR_DF_TRANSFER_PQ_EOTF=L,KTXParse.KHR_DF_TRANSFER_PQ_OETF=A,KTXParse.KHR_DF_TRANSFER_SLOG=d,KTXParse.KHR_DF_TRANSFER_SLOG2=m,KTXParse.KHR_DF_TRANSFER_SRGB=x,KTXParse.KHR_DF_TRANSFER_ST240=I,KTXParse.KHR_DF_TRANSFER_UNSPECIFIED=g,KTXParse.KHR_DF_VENDORID_KHRONOS=a,KTXParse.KHR_DF_VERSION=r,KTXParse.KHR_SUPERCOMPRESSION_BASISLZ=e,KTXParse.KHR_SUPERCOMPRESSION_NONE=t,KTXParse.KHR_SUPERCOMPRESSION_ZLIB=i,KTXParse.KHR_SUPERCOMPRESSION_ZSTD=n,KTXParse.KTX2Container=Si,KTXParse.VK_FORMAT_A1R5G5B5_UNORM_PACK16=Ut,KTXParse.VK_FORMAT_A2B10G10R10_SINT_PACK32=qt,KTXParse.VK_FORMAT_A2B10G10R10_SNORM_PACK32=Rt,KTXParse.VK_FORMAT_A2B10G10R10_UINT_PACK32=Yt,KTXParse.VK_FORMAT_A2B10G10R10_UNORM_PACK32=jt,KTXParse.VK_FORMAT_A2R10G10B10_SINT_PACK32=Xt,KTXParse.VK_FORMAT_A2R10G10B10_SNORM_PACK32=Ht,KTXParse.VK_FORMAT_A2R10G10B10_UINT_PACK32=Kt,KTXParse.VK_FORMAT_A2R10G10B10_UNORM_PACK32=Nt,KTXParse.VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT=vi,KTXParse.VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT=ki,KTXParse.VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT=Bi,KTXParse.VK_FORMAT_ASTC_10x10_SRGB_BLOCK=Xn,KTXParse.VK_FORMAT_ASTC_10x10_UNORM_BLOCK=Kn,KTXParse.VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT=mi,KTXParse.VK_FORMAT_ASTC_10x5_SRGB_BLOCK=zn,KTXParse.VK_FORMAT_ASTC_10x5_UNORM_BLOCK=Cn,KTXParse.VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT=wi,KTXParse.VK_FORMAT_ASTC_10x6_SRGB_BLOCK=Wn,KTXParse.VK_FORMAT_ASTC_10x6_UNORM_BLOCK=Mn,KTXParse.VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT=Di,KTXParse.VK_FORMAT_ASTC_10x8_SRGB_BLOCK=Hn,KTXParse.VK_FORMAT_ASTC_10x8_UNORM_BLOCK=Nn,KTXParse.VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT=Li,KTXParse.VK_FORMAT_ASTC_12x10_SRGB_BLOCK=Rn,KTXParse.VK_FORMAT_ASTC_12x10_UNORM_BLOCK=jn,KTXParse.VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT=Ai,KTXParse.VK_FORMAT_ASTC_12x12_SRGB_BLOCK=qn,KTXParse.VK_FORMAT_ASTC_12x12_UNORM_BLOCK=Yn,KTXParse.VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT=_i,KTXParse.VK_FORMAT_ASTC_4x4_SRGB_BLOCK=wn,KTXParse.VK_FORMAT_ASTC_4x4_UNORM_BLOCK=mn,KTXParse.VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT=pi,KTXParse.VK_FORMAT_ASTC_5x4_SRGB_BLOCK=Bn,KTXParse.VK_FORMAT_ASTC_5x4_UNORM_BLOCK=Dn,KTXParse.VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT=gi,KTXParse.VK_FORMAT_ASTC_5x5_SRGB_BLOCK=An,KTXParse.VK_FORMAT_ASTC_5x5_UNORM_BLOCK=Ln,KTXParse.VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT=yi,KTXParse.VK_FORMAT_ASTC_6x5_SRGB_BLOCK=vn,KTXParse.VK_FORMAT_ASTC_6x5_UNORM_BLOCK=kn,KTXParse.VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT=xi,KTXParse.VK_FORMAT_ASTC_6x6_SRGB_BLOCK=In,KTXParse.VK_FORMAT_ASTC_6x6_UNORM_BLOCK=Sn,KTXParse.VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT=ui,KTXParse.VK_FORMAT_ASTC_8x5_SRGB_BLOCK=Tn,KTXParse.VK_FORMAT_ASTC_8x5_UNORM_BLOCK=On,KTXParse.VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT=bi,KTXParse.VK_FORMAT_ASTC_8x6_SRGB_BLOCK=En,KTXParse.VK_FORMAT_ASTC_8x6_UNORM_BLOCK=Vn,KTXParse.VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT=di,KTXParse.VK_FORMAT_ASTC_8x8_SRGB_BLOCK=Pn,KTXParse.VK_FORMAT_ASTC_8x8_UNORM_BLOCK=Fn,KTXParse.VK_FORMAT_B10G11R11_UFLOAT_PACK32=Me,KTXParse.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16=$n,KTXParse.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16=si,KTXParse.VK_FORMAT_B4G4R4A4_UNORM_PACK16=at,KTXParse.VK_FORMAT_B5G5R5A1_UNORM_PACK16=ft,KTXParse.VK_FORMAT_B5G6R5_UNORM_PACK16=ot,KTXParse.VK_FORMAT_B8G8R8A8_SINT=Mt,KTXParse.VK_FORMAT_B8G8R8A8_SNORM=Ct,KTXParse.VK_FORMAT_B8G8R8A8_SRGB=Wt,KTXParse.VK_FORMAT_B8G8R8A8_UINT=zt,KTXParse.VK_FORMAT_B8G8R8A8_UNORM=Pt,KTXParse.VK_FORMAT_B8G8R8_SINT=St,KTXParse.VK_FORMAT_B8G8R8_SNORM=kt,KTXParse.VK_FORMAT_B8G8R8_SRGB=It,KTXParse.VK_FORMAT_B8G8R8_UINT=vt,KTXParse.VK_FORMAT_B8G8R8_UNORM=At,KTXParse.VK_FORMAT_BC1_RGBA_SRGB_BLOCK=Qe,KTXParse.VK_FORMAT_BC1_RGBA_UNORM_BLOCK=Je,KTXParse.VK_FORMAT_BC1_RGB_SRGB_BLOCK=Ge,KTXParse.VK_FORMAT_BC1_RGB_UNORM_BLOCK=qe,KTXParse.VK_FORMAT_BC2_SRGB_BLOCK=$e,KTXParse.VK_FORMAT_BC2_UNORM_BLOCK=Ze,KTXParse.VK_FORMAT_BC3_SRGB_BLOCK=en,KTXParse.VK_FORMAT_BC3_UNORM_BLOCK=tn,KTXParse.VK_FORMAT_BC4_SNORM_BLOCK=sn,KTXParse.VK_FORMAT_BC4_UNORM_BLOCK=nn,KTXParse.VK_FORMAT_BC5_SNORM_BLOCK=rn,KTXParse.VK_FORMAT_BC5_UNORM_BLOCK=an,KTXParse.VK_FORMAT_BC6H_SFLOAT_BLOCK=ln,KTXParse.VK_FORMAT_BC6H_UFLOAT_BLOCK=on,KTXParse.VK_FORMAT_BC7_SRGB_BLOCK=Un,KTXParse.VK_FORMAT_BC7_UNORM_BLOCK=fn,KTXParse.VK_FORMAT_D16_UNORM=Ne,KTXParse.VK_FORMAT_D16_UNORM_S8_UINT=je,KTXParse.VK_FORMAT_D24_UNORM_S8_UINT=Re,KTXParse.VK_FORMAT_D32_SFLOAT=Ke,KTXParse.VK_FORMAT_D32_SFLOAT_S8_UINT=Ye,KTXParse.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32=We,KTXParse.VK_FORMAT_EAC_R11G11_SNORM_BLOCK=dn,KTXParse.VK_FORMAT_EAC_R11G11_UNORM_BLOCK=bn,KTXParse.VK_FORMAT_EAC_R11_SNORM_BLOCK=un,KTXParse.VK_FORMAT_EAC_R11_UNORM_BLOCK=xn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK=pn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK=_n,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK=yn,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK=gn,KTXParse.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK=hn,KTXParse.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK=cn,KTXParse.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16=Zn,KTXParse.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16=ii,KTXParse.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG=fi,KTXParse.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG=ai,KTXParse.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG=Ui,KTXParse.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG=ri,KTXParse.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG=ci,KTXParse.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG=oi,KTXParse.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG=hi,KTXParse.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG=li,KTXParse.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16=Qn,KTXParse.VK_FORMAT_R10X6G10X6_UNORM_2PACK16=Jn,KTXParse.VK_FORMAT_R10X6_UNORM_PACK16=Gn,KTXParse.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16=ni,KTXParse.VK_FORMAT_R12X4G12X4_UNORM_2PACK16=ei,KTXParse.VK_FORMAT_R12X4_UNORM_PACK16=ti,KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT=pe,KTXParse.VK_FORMAT_R16G16B16A16_SINT=_e,KTXParse.VK_FORMAT_R16G16B16A16_SNORM=ce,KTXParse.VK_FORMAT_R16G16B16A16_UINT=he,KTXParse.VK_FORMAT_R16G16B16A16_UNORM=Ue,KTXParse.VK_FORMAT_R16G16B16_SFLOAT=fe,KTXParse.VK_FORMAT_R16G16B16_SINT=le,KTXParse.VK_FORMAT_R16G16B16_SNORM=re,KTXParse.VK_FORMAT_R16G16B16_UINT=oe,KTXParse.VK_FORMAT_R16G16B16_UNORM=ae,KTXParse.VK_FORMAT_R16G16_SFLOAT=se,KTXParse.VK_FORMAT_R16G16_SINT=ie,KTXParse.VK_FORMAT_R16G16_SNORM=ee,KTXParse.VK_FORMAT_R16G16_UINT=ne,KTXParse.VK_FORMAT_R16G16_UNORM=te,KTXParse.VK_FORMAT_R16_SFLOAT=$t,KTXParse.VK_FORMAT_R16_SINT=Zt,KTXParse.VK_FORMAT_R16_SNORM=Jt,KTXParse.VK_FORMAT_R16_UINT=Qt,KTXParse.VK_FORMAT_R16_UNORM=Gt,KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT=Ae,KTXParse.VK_FORMAT_R32G32B32A32_SINT=Le,KTXParse.VK_FORMAT_R32G32B32A32_UINT=Be,KTXParse.VK_FORMAT_R32G32B32_SFLOAT=De,KTXParse.VK_FORMAT_R32G32B32_SINT=we,KTXParse.VK_FORMAT_R32G32B32_UINT=me,KTXParse.VK_FORMAT_R32G32_SFLOAT=de,KTXParse.VK_FORMAT_R32G32_SINT=be,KTXParse.VK_FORMAT_R32G32_UINT=ue,KTXParse.VK_FORMAT_R32_SFLOAT=xe,KTXParse.VK_FORMAT_R32_SINT=ye,KTXParse.VK_FORMAT_R32_UINT=ge,KTXParse.VK_FORMAT_R4G4B4A4_UNORM_PACK16=st,KTXParse.VK_FORMAT_R4G4_UNORM_PACK8=it,KTXParse.VK_FORMAT_R5G5B5A1_UNORM_PACK16=lt,KTXParse.VK_FORMAT_R5G6B5_UNORM_PACK16=rt,KTXParse.VK_FORMAT_R64G64B64A64_SFLOAT=ze,KTXParse.VK_FORMAT_R64G64B64A64_SINT=Ce,KTXParse.VK_FORMAT_R64G64B64A64_UINT=Pe,KTXParse.VK_FORMAT_R64G64B64_SFLOAT=Fe,KTXParse.VK_FORMAT_R64G64B64_SINT=Ee,KTXParse.VK_FORMAT_R64G64B64_UINT=Ve,KTXParse.VK_FORMAT_R64G64_SFLOAT=Te,KTXParse.VK_FORMAT_R64G64_SINT=Oe,KTXParse.VK_FORMAT_R64G64_UINT=Ie,KTXParse.VK_FORMAT_R64_SFLOAT=Se,KTXParse.VK_FORMAT_R64_SINT=ve,KTXParse.VK_FORMAT_R64_UINT=ke,KTXParse.VK_FORMAT_R8G8B8A8_SINT=Et,KTXParse.VK_FORMAT_R8G8B8A8_SNORM=Tt,KTXParse.VK_FORMAT_R8G8B8A8_SRGB=Ft,KTXParse.VK_FORMAT_R8G8B8A8_UINT=Vt,KTXParse.VK_FORMAT_R8G8B8A8_UNORM=Ot,KTXParse.VK_FORMAT_R8G8B8_SINT=Bt,KTXParse.VK_FORMAT_R8G8B8_SNORM=wt,KTXParse.VK_FORMAT_R8G8B8_SRGB=Lt,KTXParse.VK_FORMAT_R8G8B8_UINT=Dt,KTXParse.VK_FORMAT_R8G8B8_UNORM=mt,KTXParse.VK_FORMAT_R8G8_SINT=bt,KTXParse.VK_FORMAT_R8G8_SNORM=xt,KTXParse.VK_FORMAT_R8G8_SRGB=dt,KTXParse.VK_FORMAT_R8G8_UINT=ut,KTXParse.VK_FORMAT_R8G8_UNORM=yt,KTXParse.VK_FORMAT_R8_SINT=pt,KTXParse.VK_FORMAT_R8_SNORM=ht,KTXParse.VK_FORMAT_R8_SRGB=gt,KTXParse.VK_FORMAT_R8_UINT=_t,KTXParse.VK_FORMAT_R8_UNORM=ct,KTXParse.VK_FORMAT_S8_UINT=Xe,KTXParse.VK_FORMAT_UNDEFINED=nt,KTXParse.VK_FORMAT_X8_D24_UNORM_PACK32=He,KTXParse.read=Pi,KTXParse.write=Mi})();(function(){var CompressedTexture=THREE.CompressedTexture,Data3DTexture=THREE.Data3DTexture,DataTexture=THREE.DataTexture,FileLoader=THREE.FileLoader,FloatType=THREE.FloatType,HalfFloatType=THREE.HalfFloatType,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,Loader=THREE.Loader,RedFormat=THREE.RedFormat,RGB_ETC1_Format=THREE.RGB_ETC1_Format,RGB_ETC2_Format=THREE.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format=THREE.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format=THREE.RGB_S3TC_DXT1_Format,RGBA_ASTC_4x4_Format=THREE.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format=THREE.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format=THREE.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format=THREE.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format=THREE.RGBA_S3TC_DXT5_Format,RGBAFormat=THREE.RGBAFormat,RGFormat=THREE.RGFormat,sRGBEncoding=THREE.sRGBEncoding,UnsignedByteType=THREE.UnsignedByteType,WorkerPool=THREE.WorkerPool;var read=THREE.KTXParse.read,KHR_DF_FLAG_ALPHA_PREMULTIPLIED=THREE.KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED,KHR_DF_TRANSFER_SRGB=THREE.KTXParse.KHR_DF_TRANSFER_SRGB,KHR_SUPERCOMPRESSION_NONE=THREE.KTXParse.KHR_SUPERCOMPRESSION_NONE,KHR_SUPERCOMPRESSION_ZSTD=THREE.KTXParse.KHR_SUPERCOMPRESSION_ZSTD,VK_FORMAT_UNDEFINED=THREE.KTXParse.VK_FORMAT_UNDEFINED,VK_FORMAT_R16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16_SFLOAT,VK_FORMAT_R16G16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16_SFLOAT,VK_FORMAT_R16G16B16A16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT,VK_FORMAT_R32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32_SFLOAT,VK_FORMAT_R32G32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32_SFLOAT,VK_FORMAT_R32G32B32A32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT,VK_FORMAT_R8_SRGB=THREE.KTXParse.VK_FORMAT_R8_SRGB,VK_FORMAT_R8_UNORM=THREE.KTXParse.VK_FORMAT_R8_UNORM,VK_FORMAT_R8G8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8_SRGB,VK_FORMAT_R8G8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8_UNORM,VK_FORMAT_R8G8B8A8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8B8A8_SRGB,VK_FORMAT_R8G8B8A8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8B8A8_UNORM;var ZSTDDecoder=THREE.ZSTDDecoder;const _taskCache=new WeakMap;let _activeLoaders=0;let _zstd;class KTX2Loader extends Loader{constructor(manager){super(manager);this.transcoderPath="";this.transcoderBinary=null;this.transcoderPending=null;this.workerPool=new WorkerPool;this.workerSourceURL="";this.workerConfig=null;if(typeof MSC_TRANSCODER!=="undefined"){console.warn("THREE.KTX2Loader: Please update to latest \"basis_transcoder\"."+" \"msc_basis_transcoder\" is no longer supported in three.js r125+.")}}setTranscoderPath(path){this.transcoderPath=path;return this}setWorkerLimit(num){this.workerPool.setWorkerLimit(num);return this}detectSupport(renderer){this.workerConfig={astcSupported:renderer.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:renderer.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:renderer.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:renderer.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:renderer.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:renderer.extensions.has("WEBGL_compressed_texture_pvrtc")||renderer.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")};if(renderer.capabilities.isWebGL2){this.workerConfig.etc1Supported=false}return this}init(){if(!this.transcoderPending){const jsLoader=new FileLoader(this.manager);jsLoader.setPath(this.transcoderPath);jsLoader.setWithCredentials(this.withCredentials);const jsContent=jsLoader.loadAsync("basis_transcoder.js");const binaryLoader=new FileLoader(this.manager);binaryLoader.setPath(this.transcoderPath);binaryLoader.setResponseType("arraybuffer");binaryLoader.setWithCredentials(this.withCredentials);const binaryContent=binaryLoader.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([jsContent,binaryContent]).then(([jsContent,binaryContent])=>{const fn=KTX2Loader.BasisWorker.toString();const body=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",jsContent,"/* worker */",fn.substring(fn.indexOf("{")+1,fn.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([body]));this.transcoderBinary=binaryContent;this.workerPool.setWorkerCreator(()=>{const worker=new Worker(this.workerSourceURL);const transcoderBinary=this.transcoderBinary.slice(0);worker.postMessage({type:"init",config:this.workerConfig,transcoderBinary},[transcoderBinary]);return worker})});if(_activeLoaders>0){console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues."+" Use a single KTX2Loader instance, or call .dispose() on old instances.")}_activeLoaders++}return this.transcoderPending}load(url,onLoad,onProgress,onError){if(this.workerConfig===null){throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.")}const loader=new FileLoader(this.manager);loader.setResponseType("arraybuffer");loader.setWithCredentials(this.withCredentials);loader.load(url,buffer=>{if(_taskCache.has(buffer)){const cachedTask=_taskCache.get(buffer);return cachedTask.promise.then(onLoad).catch(onError)}this._createTexture(buffer).then(texture=>onLoad?onLoad(texture):null).catch(onError)},onProgress,onError)}_createTextureFrom(transcodeResult){const{mipmaps,width,height,format,type,error,dfdTransferFn,dfdFlags}=transcodeResult;if(type==="error")return Promise.reject(error);const texture=new CompressedTexture(mipmaps,width,height,format,UnsignedByteType);texture.minFilter=mipmaps.length===1?LinearFilter:LinearMipmapLinearFilter;texture.magFilter=LinearFilter;texture.generateMipmaps=false;texture.needsUpdate=true;texture.encoding=dfdTransferFn===KHR_DF_TRANSFER_SRGB?sRGBEncoding:LinearEncoding;texture.premultiplyAlpha=!!(dfdFlags&KHR_DF_FLAG_ALPHA_PREMULTIPLIED);return texture}_createTexture(buffer,config={}){const container=read(new Uint8Array(buffer));if(container.vkFormat!==VK_FORMAT_UNDEFINED){return createDataTexture(container)}const taskConfig=config;const texturePending=this.init().then(()=>{return this.workerPool.postMessage({type:"transcode",buffer,taskConfig:taskConfig},[buffer])}).then(e=>this._createTextureFrom(e.data));_taskCache.set(buffer,{promise:texturePending});return texturePending}dispose(){this.workerPool.dispose();if(this.workerSourceURL)URL.revokeObjectURL(this.workerSourceURL);_activeLoaders--;return this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1};KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16};KTX2Loader.EngineFormat={RGBAFormat:RGBAFormat,RGBA_ASTC_4x4_Format:RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:RGB_ETC1_Format,RGB_ETC2_Format:RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:RGB_S3TC_DXT1_Format};KTX2Loader.BasisWorker=function(){let config;let transcoderPending;let BasisModule;const EngineFormat=_EngineFormat;const TranscoderFormat=_TranscoderFormat;const BasisFormat=_BasisFormat;self.addEventListener("message",function(e){const message=e.data;switch(message.type){case"init":config=message.config;init(message.transcoderBinary);break;case"transcode":transcoderPending.then(()=>{try{const{width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags}=transcode(message.buffer);const buffers=[];for(let i=0;i{BasisModule={wasmBinary,onRuntimeInitialized:resolve};BASIS(BasisModule)}).then(()=>{BasisModule.initializeBasis();if(BasisModule.KTX2File===undefined){console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}})}function transcode(buffer){const ktx2File=new BasisModule.KTX2File(new Uint8Array(buffer));function cleanup(){ktx2File.close();ktx2File.delete()}if(!ktx2File.isValid()){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file")}const basisFormat=ktx2File.isUASTC()?BasisFormat.UASTC_4x4:BasisFormat.ETC1S;const width=ktx2File.getWidth();const height=ktx2File.getHeight();const levels=ktx2File.getLevels();const hasAlpha=ktx2File.getHasAlpha();const dfdTransferFn=ktx2File.getDFDTransferFunc();const dfdFlags=ktx2File.getDFDFlags();const{transcoderFormat,engineFormat}=getTranscoderFormat(basisFormat,width,height,hasAlpha);if(!width||!height||!levels){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid texture")}if(!ktx2File.startTranscoding()){cleanup();throw new Error("THREE.KTX2Loader: .startTranscoding failed")}const mipmaps=[];for(let mip=0;mip{const zstd=new ZSTDDecoder;await zstd.init();resolve(zstd)})}levelData=(await _zstd).decode(level.levelData,level.uncompressedByteLength)}else{throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.")}if(TYPE_MAP[vkFormat]===FloatType){view=new Float32Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Float32Array.BYTES_PER_ELEMENT)}else if(TYPE_MAP[vkFormat]===HalfFloatType){view=new Uint16Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Uint16Array.BYTES_PER_ELEMENT)}else{view=levelData}const texture=pixelDepth===0?new DataTexture(view,pixelWidth,pixelHeight):new Data3DTexture(view,pixelWidth,pixelHeight,pixelDepth);texture.type=TYPE_MAP[vkFormat];texture.format=FORMAT_MAP[vkFormat];texture.encoding=ENCODING_MAP[vkFormat]||LinearEncoding;texture.needsUpdate=true;return Promise.resolve(texture)}THREE.KTX2Loader=KTX2Loader})();(function(){let A,I,B;const g={env:{emscripten_notify_memory_growth:function(A){B=new Uint8Array(I.exports.memory.buffer)}}};class Q{init(){return A||(A="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+C).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,g)).then(this._init):WebAssembly.instantiate(Buffer.from(C,"base64"),g).then(this._init),A)}_init(A){I=A.instance,g.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!I)throw new Error("ZSTDDecoder: Await .init() before decoding.");const Q=A.byteLength,C=I.exports.malloc(Q);B.set(A,C),g=g||Number(I.exports.ZSTD_findDecompressedSize(C,Q));const E=I.exports.malloc(g),i=I.exports.ZSTD_decompress(E,g,C,Q),D=B.slice(E,E+i);return I.exports.free(C),I.exports.free(E),D}}const C="AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";THREE.ZSTDDecoder=Q})();(function(e){var modifiedJSON={};modifiedJSON.parse=function(data){json=JSON.parse(data);json.nodes&&json.nodes.forEach((node,index)=>{(node.extras||(node.extras={})).id=index.toString()});return json};e(modifiedJSON)})(function(JSON){(function(){var AnimationClip=THREE.AnimationClip,Bone=THREE.Bone,Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,ClampToEdgeWrapping=THREE.ClampToEdgeWrapping,Color=THREE.Color,DirectionalLight=THREE.DirectionalLight,DoubleSide=THREE.DoubleSide,FileLoader=THREE.FileLoader,FrontSide=THREE.FrontSide,Group=THREE.Group,ImageBitmapLoader=THREE.ImageBitmapLoader,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,Interpolant=THREE.Interpolant,InterpolateDiscrete=THREE.InterpolateDiscrete,InterpolateLinear=THREE.InterpolateLinear,Line=THREE.Line,LineBasicMaterial=THREE.LineBasicMaterial,LineLoop=THREE.LineLoop,LineSegments=THREE.LineSegments,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,LinearMipmapNearestFilter=THREE.LinearMipmapNearestFilter,Loader=THREE.Loader,LoaderUtils=THREE.LoaderUtils,Material=THREE.Material,MathUtils=THREE.MathUtils,Matrix4=THREE.Matrix4,Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,MeshPhysicalMaterial=THREE.MeshPhysicalMaterial,MeshStandardMaterial=THREE.MeshStandardMaterial,MirroredRepeatWrapping=THREE.MirroredRepeatWrapping,NearestFilter=THREE.NearestFilter,NearestMipmapLinearFilter=THREE.NearestMipmapLinearFilter,NearestMipmapNearestFilter=THREE.NearestMipmapNearestFilter,NumberKeyframeTrack=THREE.NumberKeyframeTrack,Object3D=THREE.Object3D,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,PointLight=THREE.PointLight,Points=THREE.Points,PointsMaterial=THREE.PointsMaterial,PropertyBinding=THREE.PropertyBinding,Quaternion=THREE.Quaternion,QuaternionKeyframeTrack=THREE.QuaternionKeyframeTrack,RepeatWrapping=THREE.RepeatWrapping,Skeleton=THREE.Skeleton,SkinnedMesh=THREE.SkinnedMesh,Sphere=THREE.Sphere,SpotLight=THREE.SpotLight,TangentSpaceNormalMap=THREE.TangentSpaceNormalMap,Texture=THREE.Texture,TextureLoader=THREE.TextureLoader,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,Vector2=THREE.Vector2,Vector3=THREE.Vector3,VectorKeyframeTrack=THREE.VectorKeyframeTrack,sRGBEncoding=THREE.sRGBEncoding;class GLTFLoader extends Loader{constructor(manager){super(manager);this.dracoLoader=null;this.ktx2Loader=null;this.meshoptDecoder=null;this.pluginCallbacks=[];this.register(function(parser){return new GLTFMaterialsClearcoatExtension(parser)});this.register(function(parser){return new GLTFTextureBasisUExtension(parser)});this.register(function(parser){return new GLTFTextureWebPExtension(parser)});this.register(function(parser){return new GLTFMaterialsSheenExtension(parser)});this.register(function(parser){return new GLTFMaterialsTransmissionExtension(parser)});this.register(function(parser){return new GLTFMaterialsVolumeExtension(parser)});this.register(function(parser){return new GLTFMaterialsIorExtension(parser)});this.register(function(parser){return new GLTFMaterialsEmissiveStrengthExtension(parser)});this.register(function(parser){return new GLTFMaterialsSpecularExtension(parser)});this.register(function(parser){return new GLTFMaterialsIridescenceExtension(parser)});this.register(function(parser){return new GLTFLightsExtension(parser)});this.register(function(parser){return new GLTFMeshoptCompression(parser)})}load(url,onLoad,onProgress,onError){const scope=this;let resourcePath;if(this.resourcePath!==""){resourcePath=this.resourcePath}else if(this.path!==""){resourcePath=this.path}else{resourcePath=LoaderUtils.extractUrlBase(url)}this.manager.itemStart(url);const _onError=function(e){if(onError){onError(e)}else{console.error(e)}scope.manager.itemError(url);scope.manager.itemEnd(url)};const loader=new FileLoader(this.manager);loader.setPath(this.path);loader.setResponseType("arraybuffer");loader.setRequestHeader(this.requestHeader);loader.setWithCredentials(this.withCredentials);loader.load(url,function(data){try{scope.parse(data,resourcePath,function(gltf){onLoad(gltf);scope.manager.itemEnd(url)},_onError)}catch(e){_onError(e)}},onProgress,_onError)}setDRACOLoader(dracoLoader){this.dracoLoader=dracoLoader;return this}setDDSLoader(){throw new Error("THREE.GLTFLoader: \"MSFT_texture_dds\" no longer supported. Please update to \"KHR_texture_basisu\".")}setKTX2Loader(ktx2Loader){this.ktx2Loader=ktx2Loader;return this}setMeshoptDecoder(meshoptDecoder){this.meshoptDecoder=meshoptDecoder;return this}register(callback){if(this.pluginCallbacks.indexOf(callback)===-1){this.pluginCallbacks.push(callback)}return this}unregister(callback){if(this.pluginCallbacks.indexOf(callback)!==-1){this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback),1)}return this}parse(data,path,onLoad,onError){let content;const extensions={};const plugins={};if(typeof data==="string"){content=data}else{const magic=LoaderUtils.decodeText(new Uint8Array(data,0,4));if(magic===BINARY_EXTENSION_HEADER_MAGIC){try{extensions[EXTENSIONS.KHR_BINARY_GLTF]=new GLTFBinaryExtension(data)}catch(error){if(onError)onError(error);return}content=extensions[EXTENSIONS.KHR_BINARY_GLTF].content}else{content=LoaderUtils.decodeText(new Uint8Array(data))}}const json=JSON.parse(content);if(json.asset===undefined||json.asset.version[0]<2){if(onError)onError(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const parser=new GLTFParser(json,{path:path||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});parser.fileLoader.setRequestHeader(this.requestHeader);for(let i=0;i=0&&plugins[extensionName]===undefined){console.warn("THREE.GLTFLoader: Unknown extension \""+extensionName+"\".")}}}}parser.setExtensions(extensions);parser.setPlugins(plugins);parser.parse(onLoad,onError)}parseAsync(data,path){const scope=this;return new Promise(function(resolve,reject){scope.parse(data,path,resolve,reject)})}}function GLTFRegistry(){let objects={};return{get:function(key){return objects[key]},add:function(key,object){objects[key]=object},remove:function(key){delete objects[key]},removeAll:function(){objects={}}}}const EXTENSIONS={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:"KHR_materials_pbrSpecularGlossiness",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression"};class GLTFLightsExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_LIGHTS_PUNCTUAL;this.cache={refs:{},uses:{}}}_markDefs(){const parser=this.parser;const nodeDefs=this.parser.json.nodes||[];for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex=0){throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures")}else{return null}}return parser.loadTextureImage(textureIndex,extension.source,loader)}}class GLTFTextureWebPExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.EXT_TEXTURE_WEBP;this.isSupported=null}loadTexture(textureIndex){const name=this.name;const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[name]){return null}const extension=textureDef.extensions[name];const source=json.images[extension.source];let loader=parser.textureLoader;if(source.uri){const handler=parser.options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.detectSupport().then(function(isSupported){if(isSupported)return parser.loadTextureImage(textureIndex,extension.source,loader);if(json.extensionsRequired&&json.extensionsRequired.indexOf(name)>=0){throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.")}return parser.loadTexture(textureIndex)})}detectSupport(){if(!this.isSupported){this.isSupported=new Promise(function(resolve){const image=new Image;image.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA";image.onload=image.onerror=function(){resolve(image.height===1)}})}return this.isSupported}}class GLTFMeshoptCompression{constructor(parser){this.name=EXTENSIONS.EXT_MESHOPT_COMPRESSION;this.parser=parser}loadBufferView(index){const json=this.parser.json;const bufferView=json.bufferViews[index];if(bufferView.extensions&&bufferView.extensions[this.name]){const extensionDef=bufferView.extensions[this.name];const buffer=this.parser.getDependency("buffer",extensionDef.buffer);const decoder=this.parser.options.meshoptDecoder;if(!decoder||!decoder.supported){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=0){throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files")}else{return null}}return buffer.then(function(res){const byteOffset=extensionDef.byteOffset||0;const byteLength=extensionDef.byteLength||0;const count=extensionDef.count;const stride=extensionDef.byteStride;const source=new Uint8Array(res,byteOffset,byteLength);if(decoder.decodeGltfBufferAsync){return decoder.decodeGltfBufferAsync(count,stride,source,extensionDef.mode,extensionDef.filter).then(function(res){return res.buffer})}else{return decoder.ready.then(function(){const result=new ArrayBuffer(count*stride);decoder.decodeGltfBuffer(new Uint8Array(result),count,stride,source,extensionDef.mode,extensionDef.filter);return result})}})}else{return null}}}const BINARY_EXTENSION_HEADER_MAGIC="glTF";const BINARY_EXTENSION_HEADER_LENGTH=12;const BINARY_EXTENSION_CHUNK_TYPES={JSON:1313821514,BIN:5130562};class GLTFBinaryExtension{constructor(data){this.name=EXTENSIONS.KHR_BINARY_GLTF;this.content=null;this.body=null;const headerView=new DataView(data,0,BINARY_EXTENSION_HEADER_LENGTH);this.header={magic:LoaderUtils.decodeText(new Uint8Array(data.slice(0,4))),version:headerView.getUint32(4,true),length:headerView.getUint32(8,true)};if(this.header.magic!==BINARY_EXTENSION_HEADER_MAGIC){throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.")}else if(this.header.version<2){throw new Error("THREE.GLTFLoader: Legacy binary file detected.")}const chunkContentsLength=this.header.length-BINARY_EXTENSION_HEADER_LENGTH;const chunkView=new DataView(data,BINARY_EXTENSION_HEADER_LENGTH);let chunkIndex=0;while(chunkIndex",specularMapParsFragmentChunk).replace("#include ",glossinessMapParsFragmentChunk).replace("#include ",specularMapFragmentChunk).replace("#include ",glossinessMapFragmentChunk).replace("#include ",lightPhysicalFragmentChunk)};Object.defineProperties(this,{specular:{get:function(){return uniforms.specular.value},set:function(v){uniforms.specular.value=v}},specularMap:{get:function(){return uniforms.specularMap.value},set:function(v){uniforms.specularMap.value=v;if(v){this.defines.USE_SPECULARMAP=""}else{delete this.defines.USE_SPECULARMAP}}},glossiness:{get:function(){return uniforms.glossiness.value},set:function(v){uniforms.glossiness.value=v}},glossinessMap:{get:function(){return uniforms.glossinessMap.value},set:function(v){uniforms.glossinessMap.value=v;if(v){this.defines.USE_GLOSSINESSMAP="";this.defines.USE_UV=""}else{delete this.defines.USE_GLOSSINESSMAP;delete this.defines.USE_UV}}}});delete this.metalness;delete this.roughness;delete this.metalnessMap;delete this.roughnessMap;this.setValues(params)}copy(source){super.copy(source);this.specularMap=source.specularMap;this.specular.copy(source.specular);this.glossinessMap=source.glossinessMap;this.glossiness=source.glossiness;delete this.metalness;delete this.roughness;delete this.metalnessMap;delete this.roughnessMap;return this}}class GLTFMaterialsPbrSpecularGlossinessExtension{constructor(){this.name=EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS;this.specularGlossinessParams=["color","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","emissive","emissiveIntensity","emissiveMap","bumpMap","bumpScale","normalMap","normalMapType","displacementMap","displacementScale","displacementBias","specularMap","specular","glossinessMap","glossiness","alphaMap","envMap","envMapIntensity"]}getMaterialType(){return GLTFMeshStandardSGMaterial}extendParams(materialParams,materialDef,parser){const pbrSpecularGlossiness=materialDef.extensions[this.name];materialParams.color=new Color(1,1,1);materialParams.opacity=1;const pending=[];if(Array.isArray(pbrSpecularGlossiness.diffuseFactor)){const array=pbrSpecularGlossiness.diffuseFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(pbrSpecularGlossiness.diffuseTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",pbrSpecularGlossiness.diffuseTexture,sRGBEncoding))}materialParams.emissive=new Color(0,0,0);materialParams.glossiness=pbrSpecularGlossiness.glossinessFactor!==undefined?pbrSpecularGlossiness.glossinessFactor:1;materialParams.specular=new Color(1,1,1);if(Array.isArray(pbrSpecularGlossiness.specularFactor)){materialParams.specular.fromArray(pbrSpecularGlossiness.specularFactor)}if(pbrSpecularGlossiness.specularGlossinessTexture!==undefined){const specGlossMapDef=pbrSpecularGlossiness.specularGlossinessTexture;pending.push(parser.assignTexture(materialParams,"glossinessMap",specGlossMapDef));pending.push(parser.assignTexture(materialParams,"specularMap",specGlossMapDef,sRGBEncoding))}return Promise.all(pending)}createMaterial(materialParams){const material=new GLTFMeshStandardSGMaterial(materialParams);material.fog=true;material.color=materialParams.color;material.map=materialParams.map===undefined?null:materialParams.map;material.lightMap=null;material.lightMapIntensity=1;material.aoMap=materialParams.aoMap===undefined?null:materialParams.aoMap;material.aoMapIntensity=1;material.emissive=materialParams.emissive;material.emissiveIntensity=materialParams.emissiveIntensity===undefined?1:materialParams.emissiveIntensity;material.emissiveMap=materialParams.emissiveMap===undefined?null:materialParams.emissiveMap;material.bumpMap=materialParams.bumpMap===undefined?null:materialParams.bumpMap;material.bumpScale=1;material.normalMap=materialParams.normalMap===undefined?null:materialParams.normalMap;material.normalMapType=TangentSpaceNormalMap;if(materialParams.normalScale)material.normalScale=materialParams.normalScale;material.displacementMap=null;material.displacementScale=1;material.displacementBias=0;material.specularMap=materialParams.specularMap===undefined?null:materialParams.specularMap;material.specular=materialParams.specular;material.glossinessMap=materialParams.glossinessMap===undefined?null:materialParams.glossinessMap;material.glossiness=materialParams.glossiness;material.alphaMap=null;material.envMap=materialParams.envMap===undefined?null:materialParams.envMap;material.envMapIntensity=1;return material}}class GLTFMeshQuantizationExtension{constructor(){this.name=EXTENSIONS.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends Interpolant{constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer)}copySampleValue_(index){const result=this.resultBuffer,values=this.sampleValues,valueSize=this.valueSize,offset=index*valueSize*3+valueSize;for(let i=0;i!==valueSize;i++){result[i]=values[offset+i]}return result}interpolate_(i1,t0,t,t1){const result=this.resultBuffer;const values=this.sampleValues;const stride=this.valueSize;const stride2=stride*2;const stride3=stride*3;const td=t1-t0;const p=(t-t0)/td;const pp=p*p;const ppp=pp*p;const offset1=i1*stride3;const offset0=offset1-stride3;const s2=-2*ppp+3*pp;const s3=ppp-pp;const s0=1-s2;const s1=s3-pp+p;for(let i=0;i!==stride;i++){const p0=values[offset0+i+stride];const m0=values[offset0+i+stride2]*td;const p1=values[offset1+i+stride];const m1=values[offset1+i]*td;result[i]=s0*p0+s1*m0+s2*p1+s3*m1}return result}}const _q=new Quaternion;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(i1,t0,t,t1){const result=super.interpolate_(i1,t0,t,t1);_q.fromArray(result).normalize().toArray(result);return result}}const WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123};const WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};const WEBGL_FILTERS={9728:NearestFilter,9729:LinearFilter,9984:NearestMipmapNearestFilter,9985:LinearMipmapNearestFilter,9986:NearestMipmapLinearFilter,9987:LinearMipmapLinearFilter};const WEBGL_WRAPPINGS={33071:ClampToEdgeWrapping,33648:MirroredRepeatWrapping,10497:RepeatWrapping};const WEBGL_TYPE_SIZES={"SCALAR":1,"VEC2":2,"VEC3":3,"VEC4":4,"MAT2":4,"MAT3":9,"MAT4":16};const ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"};const PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"};const INTERPOLATION={CUBICSPLINE:undefined,LINEAR:InterpolateLinear,STEP:InterpolateDiscrete};const ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function createDefaultMaterial(cache){if(cache["DefaultMaterial"]===undefined){cache["DefaultMaterial"]=new MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:false,depthTest:true,side:FrontSide})}return cache["DefaultMaterial"]}function addUnknownExtensionsToUserData(knownExtensions,object,objectDef){for(const name in objectDef.extensions){if(knownExtensions[name]===undefined){object.userData.gltfExtensions=object.userData.gltfExtensions||{};object.userData.gltfExtensions[name]=objectDef.extensions[name]}}}function assignExtrasToUserData(object,gltfDef){if(gltfDef.extras!==undefined){if(typeof gltfDef.extras==="object"){Object.assign(object.userData,gltfDef.extras)}else{console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+gltfDef.extras)}}}function addMorphTargets(geometry,targets,parser){let hasMorphPosition=false;let hasMorphNormal=false;let hasMorphColor=false;for(let i=0,il=targets.length;i0||uri.search(/^data\:image\/jpeg/)===0)return"image/jpeg";if(uri.search(/\.webp($|\?)/i)>0||uri.search(/^data\:image\/webp/)===0)return"image/webp";return"image/png"}class GLTFParser{constructor(json={},options={}){this.json=json;this.extensions={};this.plugins={};this.options=options;this.cache=new GLTFRegistry;this.associations=new Map;this.primitiveCache={};this.meshCache={refs:{},uses:{}};this.cameraCache={refs:{},uses:{}};this.lightCache={refs:{},uses:{}};this.sourceCache={};this.textureCache={};this.nodeNamesUsed={};const isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===true;const isFirefox=navigator.userAgent.indexOf("Firefox")>-1;const firefoxVersion=isFirefox?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1;if(typeof createImageBitmap==="undefined"||isSafari||isFirefox&&firefoxVersion<98){this.textureLoader=new TextureLoader(this.options.manager)}else{this.textureLoader=new ImageBitmapLoader(this.options.manager)}this.textureLoader.setCrossOrigin(this.options.crossOrigin);this.textureLoader.setRequestHeader(this.options.requestHeader);this.fileLoader=new FileLoader(this.options.manager);this.fileLoader.setResponseType("arraybuffer");if(this.options.crossOrigin==="use-credentials"){this.fileLoader.setWithCredentials(true)}}setExtensions(extensions){this.extensions=extensions}setPlugins(plugins){this.plugins=plugins}parse(onLoad,onError){const parser=this;const json=this.json;const extensions=this.extensions;this.cache.removeAll();this._invokeAll(function(ext){return ext._markDefs&&ext._markDefs()});Promise.all(this._invokeAll(function(ext){return ext.beforeRoot&&ext.beforeRoot()})).then(function(){return Promise.all([parser.getDependencies("scene"),parser.getDependencies("animation"),parser.getDependencies("camera")])}).then(function(dependencies){const result={scene:dependencies[0][json.scene||0],scenes:dependencies[0],animations:dependencies[1],cameras:dependencies[2],asset:json.asset,parser:parser,userData:{}};addUnknownExtensionsToUserData(extensions,result,json);assignExtrasToUserData(result,json);Promise.all(parser._invokeAll(function(ext){return ext.afterRoot&&ext.afterRoot(result)})).then(function(){onLoad(result)})}).catch(onError)}_markDefs(){const nodeDefs=this.json.nodes||[];const skinDefs=this.json.skins||[];const meshDefs=this.json.meshes||[];for(let skinIndex=0,skinLength=skinDefs.length;skinIndex{const mappings=this.associations.get(original);if(mappings!=null){this.associations.set(clone,mappings)}for(const[i,child]of original.children.entries()){updateMappings(child,clone.children[i])}};updateMappings(object,ref);ref.name+="_instance_"+cache.uses[index]++;return ref}_invokeOne(func){const extensions=Object.values(this.plugins);extensions.push(this);for(let i=0;i=2)bufferAttribute.setY(index,sparseValues[i*itemSize+1]);if(itemSize>=3)bufferAttribute.setZ(index,sparseValues[i*itemSize+2]);if(itemSize>=4)bufferAttribute.setW(index,sparseValues[i*itemSize+3]);if(itemSize>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return bufferAttribute})}loadTexture(textureIndex){const json=this.json;const options=this.options;const textureDef=json.textures[textureIndex];const sourceIndex=textureDef.source;const sourceDef=json.images[sourceIndex];let loader=this.textureLoader;if(sourceDef.uri){const handler=options.manager.getHandler(sourceDef.uri);if(handler!==null)loader=handler}return this.loadTextureImage(textureIndex,sourceIndex,loader)}loadTextureImage(textureIndex,sourceIndex,loader){const parser=this;const json=this.json;const textureDef=json.textures[textureIndex];const sourceDef=json.images[sourceIndex];const cacheKey=(sourceDef.uri||sourceDef.bufferView)+":"+textureDef.sampler;if(this.textureCache[cacheKey]){return this.textureCache[cacheKey]}const promise=this.loadImageSource(sourceIndex,loader).then(function(texture){texture.flipY=false;if(textureDef.name)texture.name=textureDef.name;const samplers=json.samplers||{};const sampler=samplers[textureDef.sampler]||{};texture.magFilter=WEBGL_FILTERS[sampler.magFilter]||LinearFilter;texture.minFilter=WEBGL_FILTERS[sampler.minFilter]||LinearMipmapLinearFilter;texture.wrapS=WEBGL_WRAPPINGS[sampler.wrapS]||RepeatWrapping;texture.wrapT=WEBGL_WRAPPINGS[sampler.wrapT]||RepeatWrapping;parser.associations.set(texture,{textures:textureIndex});return texture}).catch(function(){return null});this.textureCache[cacheKey]=promise;return promise}loadImageSource(sourceIndex,loader){const parser=this;const json=this.json;const options=this.options;if(this.sourceCache[sourceIndex]!==undefined){return this.sourceCache[sourceIndex].then(texture=>texture.clone())}const sourceDef=json.images[sourceIndex];const URL=self.URL||self.webkitURL;let sourceURI=sourceDef.uri||"";let isObjectURL=false;if(sourceDef.bufferView!==undefined){sourceURI=parser.getDependency("bufferView",sourceDef.bufferView).then(function(bufferView){isObjectURL=true;const blob=new Blob([bufferView],{type:sourceDef.mimeType});sourceURI=URL.createObjectURL(blob);return sourceURI})}else if(sourceDef.uri===undefined){throw new Error("THREE.GLTFLoader: Image "+sourceIndex+" is missing URI and bufferView")}const promise=Promise.resolve(sourceURI).then(function(sourceURI){return new Promise(function(resolve,reject){let onLoad=resolve;if(loader.isImageBitmapLoader===true){onLoad=function(imageBitmap){const texture=new Texture(imageBitmap);texture.needsUpdate=true;resolve(texture)}}loader.load(LoaderUtils.resolveURL(sourceURI,options.path),onLoad,undefined,reject)})}).then(function(texture){if(isObjectURL===true){URL.revokeObjectURL(sourceURI)}texture.userData.mimeType=sourceDef.mimeType||getImageURIMimeType(sourceDef.uri);return texture}).catch(function(error){console.error("THREE.GLTFLoader: Couldn't load texture",sourceURI);throw error});this.sourceCache[sourceIndex]=promise;return promise}assignTexture(materialParams,mapName,mapDef,encoding){const parser=this;return this.getDependency("texture",mapDef.index).then(function(texture){if(mapDef.texCoord!==undefined&&mapDef.texCoord!=0&&!(mapName==="aoMap"&&mapDef.texCoord==1)){console.warn("THREE.GLTFLoader: Custom UV set "+mapDef.texCoord+" for texture "+mapName+" not yet supported.")}if(parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]){const transform=mapDef.extensions!==undefined?mapDef.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]:undefined;if(transform){const gltfReference=parser.associations.get(texture);texture=parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM].extendTexture(texture,transform);parser.associations.set(texture,gltfReference)}}if(encoding!==undefined){texture.encoding=encoding}materialParams[mapName]=texture;return texture})}assignFinalMaterial(mesh){const geometry=mesh.geometry;let material=mesh.material;const useDerivativeTangents=geometry.attributes.tangent===undefined;const useVertexColors=geometry.attributes.color!==undefined;const useFlatShading=geometry.attributes.normal===undefined;if(mesh.isPoints){const cacheKey="PointsMaterial:"+material.uuid;let pointsMaterial=this.cache.get(cacheKey);if(!pointsMaterial){pointsMaterial=new PointsMaterial;Material.prototype.copy.call(pointsMaterial,material);pointsMaterial.color.copy(material.color);pointsMaterial.map=material.map;pointsMaterial.sizeAttenuation=false;this.cache.add(cacheKey,pointsMaterial)}material=pointsMaterial}else if(mesh.isLine){const cacheKey="LineBasicMaterial:"+material.uuid;let lineMaterial=this.cache.get(cacheKey);if(!lineMaterial){lineMaterial=new LineBasicMaterial;Material.prototype.copy.call(lineMaterial,material);lineMaterial.color.copy(material.color);this.cache.add(cacheKey,lineMaterial)}material=lineMaterial}if(useDerivativeTangents||useVertexColors||useFlatShading){let cacheKey="ClonedMaterial:"+material.uuid+":";if(material.isGLTFSpecularGlossinessMaterial)cacheKey+="specular-glossiness:";if(useDerivativeTangents)cacheKey+="derivative-tangents:";if(useVertexColors)cacheKey+="vertex-colors:";if(useFlatShading)cacheKey+="flat-shading:";let cachedMaterial=this.cache.get(cacheKey);if(!cachedMaterial){cachedMaterial=material.clone();if(useVertexColors)cachedMaterial.vertexColors=true;if(useFlatShading)cachedMaterial.flatShading=true;if(useDerivativeTangents){if(cachedMaterial.normalScale)cachedMaterial.normalScale.y*=-1;if(cachedMaterial.clearcoatNormalScale)cachedMaterial.clearcoatNormalScale.y*=-1}this.cache.add(cacheKey,cachedMaterial);this.associations.set(cachedMaterial,this.associations.get(material))}material=cachedMaterial}if(material.aoMap&&geometry.attributes.uv2===undefined&&geometry.attributes.uv!==undefined){geometry.setAttribute("uv2",geometry.attributes.uv)}mesh.material=material}getMaterialType(){return MeshStandardMaterial}loadMaterial(materialIndex){const parser=this;const json=this.json;const extensions=this.extensions;const materialDef=json.materials[materialIndex];let materialType;const materialParams={};const materialExtensions=materialDef.extensions||{};const pending=[];if(materialExtensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){const sgExtension=extensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];materialType=sgExtension.getMaterialType();pending.push(sgExtension.extendParams(materialParams,materialDef,parser))}else if(materialExtensions[EXTENSIONS.KHR_MATERIALS_UNLIT]){const kmuExtension=extensions[EXTENSIONS.KHR_MATERIALS_UNLIT];materialType=kmuExtension.getMaterialType();pending.push(kmuExtension.extendParams(materialParams,materialDef,parser))}else{const metallicRoughness=materialDef.pbrMetallicRoughness||{};materialParams.color=new Color(1,1,1);materialParams.opacity=1;if(Array.isArray(metallicRoughness.baseColorFactor)){const array=metallicRoughness.baseColorFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(metallicRoughness.baseColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",metallicRoughness.baseColorTexture,sRGBEncoding))}materialParams.metalness=metallicRoughness.metallicFactor!==undefined?metallicRoughness.metallicFactor:1;materialParams.roughness=metallicRoughness.roughnessFactor!==undefined?metallicRoughness.roughnessFactor:1;if(metallicRoughness.metallicRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"metalnessMap",metallicRoughness.metallicRoughnessTexture));pending.push(parser.assignTexture(materialParams,"roughnessMap",metallicRoughness.metallicRoughnessTexture))}materialType=this._invokeOne(function(ext){return ext.getMaterialType&&ext.getMaterialType(materialIndex)});pending.push(Promise.all(this._invokeAll(function(ext){return ext.extendMaterialParams&&ext.extendMaterialParams(materialIndex,materialParams)})))}if(materialDef.doubleSided===true){materialParams.side=DoubleSide}const alphaMode=materialDef.alphaMode||ALPHA_MODES.OPAQUE;if(alphaMode===ALPHA_MODES.BLEND){materialParams.transparent=true;materialParams.depthWrite=false}else{materialParams.transparent=false;if(alphaMode===ALPHA_MODES.MASK){materialParams.alphaTest=materialDef.alphaCutoff!==undefined?materialDef.alphaCutoff:0.5}}if(materialDef.normalTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"normalMap",materialDef.normalTexture));materialParams.normalScale=new Vector2(1,1);if(materialDef.normalTexture.scale!==undefined){const scale=materialDef.normalTexture.scale;materialParams.normalScale.set(scale,scale)}}if(materialDef.occlusionTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"aoMap",materialDef.occlusionTexture));if(materialDef.occlusionTexture.strength!==undefined){materialParams.aoMapIntensity=materialDef.occlusionTexture.strength}}if(materialDef.emissiveFactor!==undefined&&materialType!==MeshBasicMaterial){materialParams.emissive=new Color().fromArray(materialDef.emissiveFactor)}if(materialDef.emissiveTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"emissiveMap",materialDef.emissiveTexture,sRGBEncoding))}return Promise.all(pending).then(function(){let material;if(materialType===GLTFMeshStandardSGMaterial){material=extensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(materialParams)}else{material=new materialType(materialParams)}if(materialDef.name)material.name=materialDef.name;assignExtrasToUserData(material,materialDef);parser.associations.set(material,{materials:materialIndex});if(materialDef.extensions)addUnknownExtensionsToUserData(extensions,material,materialDef);return material})}createUniqueName(originalName){const sanitizedName=PropertyBinding.sanitizeNodeName(originalName||"");let name=sanitizedName;for(let i=1;this.nodeNamesUsed[name];++i){name=sanitizedName+"_"+i}this.nodeNamesUsed[name]=true;return name}loadGeometries(primitives){const parser=this;const extensions=this.extensions;const cache=this.primitiveCache;function createDracoPrimitive(primitive){return extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(primitive,parser).then(function(geometry){return addPrimitiveAttributes(geometry,primitive,parser)})}const pending=[];for(let i=0,il=primitives.length;i0){updateMorphTargets(mesh,meshDef)}mesh.name=parser.createUniqueName(meshDef.name||"mesh_"+meshIndex);assignExtrasToUserData(mesh,meshDef);if(primitive.extensions)addUnknownExtensionsToUserData(extensions,mesh,primitive);parser.assignFinalMaterial(mesh);meshes.push(mesh)}for(let i=0,il=meshes.length;i1){node=new Group}else if(objects.length===1){node=objects[0]}else{node=new Object3D}if(node!==objects[0]){for(let i=0,il=objects.length;i{const reducedAssociations=new Map;for(const[key,value]of parser.associations){if(key instanceof Material||key instanceof Texture){reducedAssociations.set(key,value)}}node.traverse(node=>{const mappings=parser.associations.get(node);if(mappings!=null){reducedAssociations.set(node,mappings)}});return reducedAssociations};parser.associations=reduceAssociations(scene);return scene})}}function buildNodeHierarchy(nodeId,parentObject,json,parser){const nodeDef=json.nodes[nodeId];return parser.getDependency("node",nodeId).then(function(node){if(nodeDef.skin===undefined)return node;let skinEntry;return parser.getDependency("skin",nodeDef.skin).then(function(skin){skinEntry=skin;const pendingJoints=[];for(let i=0,il=skinEntry.joints.length;i1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)deviceMin}}CSS3DObject.prototype.isCSS3DObject=true;THREE.CSS3DObject=CSS3DObject;class CSS3DQuad extends Object3D{constructor(element){super();this.contentWidth=100;this.contentHeight=100;this.vertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.projectedVertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.element=element||document.createElement("div");this.containerElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none"}copy(source,recursive){super.copy(source,recursive);for(var i=0;i<4;i++)this.vertices[i].copy(source.vertices[i]);return this}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=pv[0].z<0&&pv[1].z<0&&pv[2].z<0&&pv[3].z<0;var x=0,y=0;var max=0,min=0;pv.forEach(function(p){if(p.x<-1)x-=1;else if(p.x>1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)deviceMin}}CSS3DQuad.prototype.isCSS3DQuad=true;THREE.CSS3DQuad=CSS3DQuad;class CSS3DRectangle extends CSS3DQuad{constructor(element){super(element)}updateVertices(){this.vertices[0].set(-this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[1].set(+this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[2].set(+this.contentWidth*0.5,-this.contentHeight*0.5,0);this.vertices[3].set(-this.contentWidth*0.5,-this.contentHeight*0.5,0)}}CSS3DRectangle.prototype.isCSS3DRectangle=true;THREE.CSS3DRectangle=CSS3DRectangle;var _matrix=new THREE.Matrix4;class CSS3DRenderer{constructor(){var _this=this;var _width,_height;var _widthHalf,_heightHalf;var _fov;var _cameraStyle;var cache={objects:new WeakMap};var domElement=document.createElement("div");domElement.style.overflow="hidden";this.domElement=domElement;this.getSize=function(){return{width:_width,height:_height}};this.render=function(scene,camera){_fov=camera.projectionMatrix.elements[5]*_heightHalf;if(scene.matrixWorldAutoUpdate===true)scene.updateMatrixWorld();_cameraStyle="translateZ("+_fov+"px)"+getCameraCSSMatrix(camera.matrixWorldInverse)+"translate("+_widthHalf+"px,"+_heightHalf+"px)";renderObject(scene,scene,camera)};this.setSize=function(width,height){_width=width;_height=height;_widthHalf=_width/2;_heightHalf=_height/2;domElement.style.width=_width+"px";domElement.style.height=_height+"px"};function renderObject(object,scene,camera){if(object.isCSS3DObject||object.isCSS3DQuad){object.onBeforeRender(_this,scene,camera);var cachedObject=cache.objects.get(object)||{};var cacheChanged=false;if(object.isVisible){if(object.isCSS3DQuad){var pv=object.projectedVertices;var x0=(1+pv[0].x)*0.5*_width,y0=(1-pv[0].y)*0.5*_height,x1=(1+pv[1].x)*0.5*_width,y1=(1-pv[1].y)*0.5*_height,x2=(1+pv[2].x)*0.5*_width,y2=(1-pv[2].y)*0.5*_height,x3=(1+pv[3].x)*0.5*_width,y3=(1-pv[3].y)*0.5*_height;createQuadMatrix(object.contentWidth,object.contentHeight,x0,y0,x1,y1,x3,y3,x2,y2,_matrix.elements);var elementStyle=getQuadCSSMatrix(_matrix);if(cachedObject.elementStyle!=elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.containerElement.style.width=(cachedObject.width=_width)+"px";object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}}else{var elementStyle=getObjectCSSMatrix(object.matrixWorld);if(cachedObject.cameraFov!==_fov){object.containerElement.style.perspective=(cachedObject.cameraFov=_fov)+"px";cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.cameraElement.style.width=object.containerElement.style.width=(cachedObject.width=_width)+"px";object.cameraElement.style.height=object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}if(cachedObject.cameraStyle!==_cameraStyle){cachedObject.cameraStyle=object.cameraElement.style.transform=_cameraStyle;cacheChanged=true}if(cachedObject.elementStyle!==elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}}object.containerElement.style.left="0"}else{object.containerElement.style.left=_width+"px"}if(cacheChanged)cache.objects.set(object,cachedObject);object.containerElement.style.display=object.visible?"":"none";if(object.containerElement.parentNode!==domElement)domElement.appendChild(object.containerElement);object.onAfterRender(_this,scene,camera)}for(var i=0,l=object.children.length;i-1e-10?0:value}function getCameraCSSMatrix(matrix){var elements=matrix.elements;return"matrix3d("+epsilon(elements[0])+","+epsilon(-elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(-elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(-elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(-elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")"}function getObjectCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(-elements[4])+","+epsilon(-elements[5])+","+epsilon(-elements[6])+","+epsilon(-elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return"translate(-50%,-50%)"+matrix3d}function getQuadCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return matrix3d}}};THREE.CSS3DRenderer=CSS3DRenderer;function projectVertices(object,camera){for(var index=0;index0){this._blur(cubeUVRenderTarget,0,0,sigma)}this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}fromEquirectangular(equirectangular,renderTarget=null){return this._fromTexture(equirectangular,renderTarget)}fromCubemap(cubemap,renderTarget=null){return this._fromTexture(cubemap,renderTarget)}compileCubemapShader(){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial();this._compileMaterial(this._cubemapMaterial)}}compileEquirectangularShader(){if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial();this._compileMaterial(this._equirectMaterial)}}dispose(){this._dispose();if(this._cubemapMaterial!==null)this._cubemapMaterial.dispose();if(this._equirectMaterial!==null)this._equirectMaterial.dispose()}_setSize(cubeSize){this._lodMax=Math.floor(Math.log2(cubeSize));this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){if(this._blurMaterial!==null)this._blurMaterial.dispose();if(this._pingPongRenderTarget!==null)this._pingPongRenderTarget.dispose();for(let i=0;i2?size:0,size,size);renderer.setRenderTarget(cubeUVRenderTarget);if(useSolidColor){renderer.render(backgroundBox,cubeCamera)}renderer.render(scene,cubeCamera)}backgroundBox.geometry.dispose();backgroundBox.material.dispose();renderer.toneMapping=toneMapping;renderer.autoClear=originalAutoClear;scene.background=background}_textureToCubeUV(texture,cubeUVRenderTarget){const renderer=this._renderer;const isCubeTexture=texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping;if(isCubeTexture){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial()}this._cubemapMaterial.uniforms.flipEnvMap.value=texture.isRenderTargetTexture===false?-1:1}else{if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial()}}const material=isCubeTexture?this._cubemapMaterial:this._equirectMaterial;const mesh=new Mesh(this._lodPlanes[0],material);const uniforms=material.uniforms;uniforms["envMap"].value=texture;const size=this._cubeSize;_setViewport(cubeUVRenderTarget,0,0,3*size,2*size);renderer.setRenderTarget(cubeUVRenderTarget);renderer.render(mesh,_flatCamera)}_applyPMREM(cubeUVRenderTarget){const renderer=this._renderer;const autoClear=renderer.autoClear;renderer.autoClear=false;for(let i=1;iMAX_SAMPLES){console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`)}const weights=[];let sum=0;for(let i=0;i_lodMax-LOD_MIN?lodOut-_lodMax+LOD_MIN:0);const y=4*(this._cubeSize-outputSize);_setViewport(targetOut,x,y,3*outputSize,2*outputSize);renderer.setRenderTarget(targetOut);renderer.render(blurMesh,_flatCamera)}}function _createPlanes(lodMax){const lodPlanes=[];const sizeLods=[];const sigmas=[];let lod=lodMax;const totalLods=lodMax-LOD_MIN+1+EXTRA_LOD_SIGMA.length;for(let i=0;ilodMax-LOD_MIN){sigma=EXTRA_LOD_SIGMA[i-lodMax+LOD_MIN-1]}else if(i===0){sigma=0}sigmas.push(sigma);const texelSize=1/(sizeLod-2);const min=-texelSize;const max=1+texelSize;const uv1=[min,min,max,min,max,max,min,min,max,max,min,max];const cubeFaces=6;const vertices=6;const positionSize=3;const uvSize=2;const faceIndexSize=1;const position=new Float32Array(positionSize*vertices*cubeFaces);const uv=new Float32Array(uvSize*vertices*cubeFaces);const faceIndex=new Float32Array(faceIndexSize*vertices*cubeFaces);for(let face=0;face2?0:-1;const coordinates=[x,y,0,x+2/3,y,0,x+2/3,y+1,0,x,y,0,x+2/3,y+1,0,x,y+1,0];position.set(coordinates,positionSize*vertices*face);uv.set(uv1,uvSize*vertices*face);const fill=[face,face,face,face,face,face];faceIndex.set(fill,faceIndexSize*vertices*face)}const planes=new BufferGeometry;planes.setAttribute("position",new BufferAttribute(position,positionSize));planes.setAttribute("uv",new BufferAttribute(uv,uvSize));planes.setAttribute("faceIndex",new BufferAttribute(faceIndex,faceIndexSize));lodPlanes.push(planes);if(lod>LOD_MIN){lod--}}return{lodPlanes,sizeLods,sigmas}}function _createRenderTarget(width,height,params){const cubeUVRenderTarget=new WebGLRenderTarget(width,height,params);cubeUVRenderTarget.texture.mapping=CubeUVReflectionMapping;cubeUVRenderTarget.texture.name="PMREM.cubeUv";cubeUVRenderTarget.scissorTest=true;return cubeUVRenderTarget}function _setViewport(target,x,y,width,height){target.viewport.set(x,y,width,height);target.scissor.set(x,y,width,height)}function _getBlurShader(lodMax,width,height){const weights=new Float32Array(MAX_SAMPLES);const poleAxis=new Vector3(0,1,0);const shaderMaterial=new ShaderMaterial({name:"SphericalGaussianBlur",defines:{"n":MAX_SAMPLES,"CUBEUV_TEXEL_WIDTH":1/width,"CUBEUV_TEXEL_HEIGHT":1/height,"CUBEUV_MAX_MIP":`${lodMax}.0`},uniforms:{"envMap":{value:null},"samples":{value:1},"weights":{value:weights},"latitudinal":{value:false},"dTheta":{value:0},"mipInt":{value:0},"poleAxis":{value:poleAxis}},vertexShader:_getCommonVertexShader(),fragmentShader:` precision mediump float; precision mediump int; varying vec3 vOutputDirection; uniform sampler2D envMap; uniform int samples; uniform float weights[ n ]; uniform bool latitudinal; uniform float dTheta; uniform float mipInt; uniform vec3 poleAxis; #define ENVMAP_TYPE_CUBE_UV #include vec3 getSample( float theta, vec3 axis ) { float cosTheta = cos( theta ); // Rodrigues' axis-angle rotation vec3 sampleDirection = vOutputDirection * cosTheta + cross( axis, vOutputDirection ) * sin( theta ) + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); return bilinearCubeUV( envMap, sampleDirection, mipInt ); } void main() { vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); if ( all( equal( axis, vec3( 0.0 ) ) ) ) { axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); } axis = normalize( axis ); gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); for ( int i = 1; i < n; i++ ) { if ( i >= samples ) { break; } float theta = dTheta * float( i ); gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); } } `,blending:NoBlending,depthTest:false,depthWrite:false});return shaderMaterial}function _getEquirectMaterial(){return new ShaderMaterial({name:"EquirectangularToCubeUV",uniforms:{"envMap":{value:null}},vertexShader:_getCommonVertexShader(),fragmentShader:` precision mediump float; precision mediump int; varying vec3 vOutputDirection; uniform sampler2D envMap; #include void main() { vec3 outputDirection = normalize( vOutputDirection ); vec2 uv = equirectUv( outputDirection ); gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCubemapMaterial(){return new ShaderMaterial({name:"CubemapToCubeUV",uniforms:{"envMap":{value:null},"flipEnvMap":{value:-1}},vertexShader:_getCommonVertexShader(),fragmentShader:` precision mediump float; precision mediump int; uniform float flipEnvMap; varying vec3 vOutputDirection; uniform samplerCube envMap; void main() { gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCommonVertexShader(){return` precision mediump float; precision mediump int; attribute float faceIndex; varying vec3 vOutputDirection; // RH coordinate system; PMREM face-indexing convention vec3 getDirection( vec2 uv, float face ) { uv = 2.0 * uv - 1.0; vec3 direction = vec3( uv, 1.0 ); if ( face == 0.0 ) { direction = direction.zyx; // ( 1, v, u ) pos x } else if ( face == 1.0 ) { direction = direction.xzy; direction.xz *= -1.0; // ( -u, 1, -v ) pos y } else if ( face == 2.0 ) { direction.x *= -1.0; // ( -u, v, 1 ) pos z } else if ( face == 3.0 ) { direction = direction.zyx; direction.xz *= -1.0; // ( -1, v, -u ) neg x } else if ( face == 4.0 ) { direction = direction.xzy; direction.xy *= -1.0; // ( -u, -1, v ) neg y } else if ( face == 5.0 ) { direction.z *= -1.0; // ( u, v, -1 ) neg z } return direction; } void main() { vOutputDirection = getDirection( uv, faceIndex ); gl_Position = vec4( position, 1.0 ); } `}THREE.PMREMGenerator=PMREMGenerator});(function(){const DepthLimitedBlurShader={defines:{"KERNEL_RADIUS":4,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDiffuse":{value:null},"size":{value:new THREE.Vector2(512,512)},"sampleUvOffsets":{value:[new THREE.Vector2(0,0)]},"sampleWeights":{value:[1]},"tDepth":{value:null},"cameraNear":{value:10},"cameraFar":{value:1000},"depthCutoff":{value:10}},vertexShader:` #include uniform vec2 size; varying vec2 vUv; varying vec2 vInvSize; void main() { vUv = uv; vInvSize = 1.0 / size; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` #include #include uniform sampler2D tDiffuse; uniform sampler2D tDepth; uniform float cameraNear; uniform float cameraFar; uniform float depthCutoff; uniform vec2 sampleUvOffsets[ KERNEL_RADIUS + 1 ]; uniform float sampleWeights[ KERNEL_RADIUS + 1 ]; varying vec2 vUv; varying vec2 vInvSize; float getDepth( const in vec2 screenPosition ) { #if DEPTH_PACKING == 1 return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) ); #else return texture2D( tDepth, screenPosition ).x; #endif } float getViewZ( const in float depth ) { #if PERSPECTIVE_CAMERA == 1 return perspectiveDepthToViewZ( depth, cameraNear, cameraFar ); #else return orthographicDepthToViewZ( depth, cameraNear, cameraFar ); #endif } void main() { float depth = getDepth( vUv ); if( depth >= ( 1.0 - EPSILON ) ) { discard; } float centerViewZ = -getViewZ( depth ); bool rBreak = false, lBreak = false; float weightSum = sampleWeights[0]; vec4 diffuseSum = texture2D( tDiffuse, vUv ) * weightSum; for( int i = 1; i <= KERNEL_RADIUS; i ++ ) { float sampleWeight = sampleWeights[i]; vec2 sampleUvOffset = sampleUvOffsets[i] * vInvSize; vec2 sampleUv = vUv + sampleUvOffset; float viewZ = -getViewZ( getDepth( sampleUv ) ); if( abs( viewZ - centerViewZ ) > depthCutoff ) rBreak = true; if( ! rBreak ) { diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight; weightSum += sampleWeight; } sampleUv = vUv - sampleUvOffset; viewZ = -getViewZ( getDepth( sampleUv ) ); if( abs( viewZ - centerViewZ ) > depthCutoff ) lBreak = true; if( ! lBreak ) { diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight; weightSum += sampleWeight; } } gl_FragColor = diffuseSum / weightSum; }`};const BlurShaderUtils={createSampleWeights:function(kernelRadius,stdDev){const weights=[];for(let i=0;i<=kernelRadius;i++){weights.push(gaussian(i,stdDev))}return weights},createSampleOffsets:function(kernelRadius,uvIncrement){const offsets=[];for(let i=0;i<=kernelRadius;i++){offsets.push(uvIncrement.clone().multiplyScalar(i))}return offsets},configure:function(material,kernelRadius,stdDev,uvIncrement){material.defines["KERNEL_RADIUS"]=kernelRadius;material.uniforms["sampleUvOffsets"].value=BlurShaderUtils.createSampleOffsets(kernelRadius,uvIncrement);material.uniforms["sampleWeights"].value=BlurShaderUtils.createSampleWeights(kernelRadius,stdDev);material.needsUpdate=true}};function gaussian(x,stdDev){return Math.exp(-(x*x)/(2*(stdDev*stdDev)))/(Math.sqrt(2*Math.PI)*stdDev)}THREE.BlurShaderUtils=BlurShaderUtils;THREE.DepthLimitedBlurShader=DepthLimitedBlurShader})();(function(){class EffectComposer{constructor(renderer,renderTarget){this.renderer=renderer;if(renderTarget===undefined){const size=renderer.getSize(new THREE.Vector2);this._pixelRatio=renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=new THREE.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio);renderTarget.texture.name="EffectComposer.rt1"}else{this._pixelRatio=1;this._width=renderTarget.width;this._height=renderTarget.height}this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.renderTarget2.texture.name="EffectComposer.rt2";this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2;this.renderToScreen=true;this.passes=[];if(THREE.CopyShader===undefined){console.error("THREE.EffectComposer relies on THREE.CopyShader")}if(THREE.ShaderPass===undefined){console.error("THREE.EffectComposer relies on THREE.ShaderPass")}this.copyPass=new THREE.ShaderPass(THREE.CopyShader);this.clock=new THREE.Clock}swapBuffers(){const tmp=this.readBuffer;this.readBuffer=this.writeBuffer;this.writeBuffer=tmp}addPass(pass){this.passes.push(pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(pass,index){this.passes.splice(index,0,pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(pass){const index=this.passes.indexOf(pass);if(index!==-1){this.passes.splice(index,1)}}isLastEnabledPass(passIndex){for(let i=passIndex+1;i 0.; // . 1 . // 0 0 0 // . 1 . // 45 deg edge detection and corners of objects, aka V/H contrast is too similar if( abs( relativeVContrast ) < .3 ) { // locate the edge vec2 dirToEdge; dirToEdge.x = contrastE > contrastW ? 1. : -1.; dirToEdge.y = contrastS > contrastN ? 1. : -1.; // . 2 . . 1 . // 1 0 2 ~= 0 0 1 // . 1 . . 0 . // tap 2 pixels and see which ones are "outside" the edge, to // determine if the edge is vertical or horizontal vec4 rgbaAlongH = FxaaTexOff(tex, posM, vec2( dirToEdge.x, -dirToEdge.y ), fxaaQualityRcpFrame.xy); float matchAlongH = contrast( rgbaM, rgbaAlongH ); // . 1 . // 0 0 1 // . 0 H vec4 rgbaAlongV = FxaaTexOff(tex, posM, vec2( -dirToEdge.x, dirToEdge.y ), fxaaQualityRcpFrame.xy); float matchAlongV = contrast( rgbaM, rgbaAlongV ); // V 1 . // 0 0 1 // . 0 . relativeVContrast = matchAlongV - matchAlongH; relativeVContrast *= fxaaQualityinvEdgeThreshold; if( abs( relativeVContrast ) < .3 ) { // 45 deg edge // 1 1 . // 0 0 1 // . 0 1 // do a simple blur return mix( rgbaM, (rgbaN + rgbaS + rgbaE + rgbaW) * .25, .4 ); } horzSpan = relativeVContrast > 0.; } if(!horzSpan) rgbaN = rgbaW; if(!horzSpan) rgbaS = rgbaE; // . 0 . 1 // 1 0 1 -> 0 // . 0 . 1 bool pairN = contrast( rgbaM, rgbaN ) > contrast( rgbaM, rgbaS ); if(!pairN) rgbaN = rgbaS; vec2 offNP; offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; bool doneN = false; bool doneP = false; float nDist = 0.; float pDist = 0.; vec2 posN = posM; vec2 posP = posM; int iterationsUsed = 0; int iterationsUsedN = 0; int iterationsUsedP = 0; for( int i = 0; i < NUM_SAMPLES; i++ ) { iterationsUsed = i; float increment = float(i + 1); if(!doneN) { nDist += increment; posN = posM + offNP * nDist; vec4 rgbaEndN = FxaaTexTop(tex, posN.xy); doneN = contrast( rgbaEndN, rgbaM ) > contrast( rgbaEndN, rgbaN ); iterationsUsedN = i; } if(!doneP) { pDist += increment; posP = posM - offNP * pDist; vec4 rgbaEndP = FxaaTexTop(tex, posP.xy); doneP = contrast( rgbaEndP, rgbaM ) > contrast( rgbaEndP, rgbaN ); iterationsUsedP = i; } if(doneN || doneP) break; } if ( !doneP && !doneN ) return rgbaM; // failed to find end of edge float dist = min( doneN ? float( iterationsUsedN ) / float( NUM_SAMPLES - 1 ) : 1., doneP ? float( iterationsUsedP ) / float( NUM_SAMPLES - 1 ) : 1. ); // hacky way of reduces blurriness of mostly diagonal edges // but reduces AA quality dist = pow(dist, .5); dist = 1. - dist; return mix( rgbaM, rgbaN, dist * .5 ); } void main() { const float edgeDetectionQuality = .2; const float invEdgeDetectionQuality = 1. / edgeDetectionQuality; gl_FragColor = FxaaPixelShader( vUv, tDiffuse, resolution, edgeDetectionQuality, // [0,1] contrast needed, otherwise early discard invEdgeDetectionQuality ); } `};THREE.FXAAShader=FXAAShader})();(function(){const GammaCorrectionShader={uniforms:{"tDiffuse":{value:null}},vertexShader:` varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` uniform sampler2D tDiffuse; varying vec2 vUv; void main() { vec4 tex = texture2D( tDiffuse, vUv ); gl_FragColor = LinearTosRGB( tex ); }`};THREE.GammaCorrectionShader=GammaCorrectionShader})();(function(require){class CustomRenderPass extends THREE.Pass{constructor(renderCallback){super();this.renderCallback=renderCallback;this.scene=null;this.camera=null;this.clear=true;this.clearDepth=false;this.needsSwap=false}render(renderer,writeBuffer,readBuffer,delta,maskActive){var oldAutoClear=renderer.autoClear;renderer.autoClear=false;this.renderCallback(renderer,this.scene,this.camera,this.renderToScreen?null:readBuffer,this.clear);renderer.autoClear=oldAutoClear}}THREE.CustomRenderPass=CustomRenderPass})();(function(){class MaskPass extends THREE.Pass{constructor(scene,camera){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.inverse=false}render(renderer,writeBuffer,readBuffer){const context=renderer.getContext();const state=renderer.state;state.buffers.color.setMask(false);state.buffers.depth.setMask(false);state.buffers.color.setLocked(true);state.buffers.depth.setLocked(true);let writeValue,clearValue;if(this.inverse){writeValue=0;clearValue=1}else{writeValue=1;clearValue=0}state.buffers.stencil.setTest(true);state.buffers.stencil.setOp(context.REPLACE,context.REPLACE,context.REPLACE);state.buffers.stencil.setFunc(context.ALWAYS,writeValue,4294967295);state.buffers.stencil.setClear(clearValue);state.buffers.stencil.setLocked(true);renderer.setRenderTarget(readBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);state.buffers.color.setLocked(false);state.buffers.depth.setLocked(false);state.buffers.stencil.setLocked(false);state.buffers.stencil.setFunc(context.EQUAL,1,4294967295);state.buffers.stencil.setOp(context.KEEP,context.KEEP,context.KEEP);state.buffers.stencil.setLocked(true)}}class ClearMaskPass extends THREE.Pass{constructor(){super();this.needsSwap=false}render(renderer){renderer.state.buffers.stencil.setLocked(false);renderer.state.buffers.stencil.setTest(false)}}THREE.ClearMaskPass=ClearMaskPass;THREE.MaskPass=MaskPass})();(function(){var vertexShader=["varying vec2 vUv;","void main() {"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"," vUv = uv;","}"].join("\n");var fragmentShader=["varying vec2 vUv;","uniform sampler2D tDepth;","uniform sampler2D tColor;","uniform mat4 inverseProjectionMatrix;","uniform float near;","uniform float far;","uniform float depthLimit;","uniform mat4 clipToWorldMatrix;","uniform mat4 previousWorldToClipMatrix;","uniform vec3 cameraMove; ","uniform float velocityFactor;","uniform float delta;","uniform int samples;","void main() {"," float zOverW = texture2D(tDepth, vUv).x;"," vec4 clipPosition = vec4(vUv.x * 2. - 1., vUv.y * 2. - 1., zOverW * 2. - 1., 1.);"," vec4 cameraSpacePosition = inverseProjectionMatrix * clipPosition;"," cameraSpacePosition /= cameraSpacePosition.w;"," float depth = -(cameraSpacePosition.z - near) / (far - near);"," if (depth > depthLimit)"," {"," gl_FragColor = texture2D(tColor, vUv);"," return;"," }"," vec4 worldPosition = clipToWorldMatrix * clipPosition;"," worldPosition /= worldPosition.w;"," vec4 previousClipPosition = worldPosition;"," previousClipPosition.xyz -= cameraMove * ("," 1. - smoothstep(.3, 1., clamp(length(clipPosition.xy), 0., 1.))"," );"," previousClipPosition = previousWorldToClipMatrix * previousClipPosition;"," previousClipPosition /= previousClipPosition.w;"," vec2 velocity = velocityFactor * (clipPosition - previousClipPosition).xy / delta * 16.67;"," vec4 finalColor = vec4(0.);"," vec2 offset = vec2(0.);"," float weight = 0.;"," for(int i = 0; i < samples; i++) {"," offset = velocity * (float(i) / (float(samples) - 1.) - .5);"," vec4 c = texture2D(tColor, vUv + offset);"," finalColor += c;"," }"," finalColor /= float(samples);"," gl_FragColor = vec4(finalColor.rgb, 1.);","}"].join("\n");var uniforms={"tDepth":{type:"t",value:null},"tColor":{type:"t",value:null},"velocityFactor":{type:"f",value:1},"delta":{type:"f",value:16.67},"samples":{type:"i",value:20},"inverseProjectionMatrix":{type:"m4",value:new THREE.Matrix4},"clipToWorldMatrix":{type:"m4",value:new THREE.Matrix4},"previousWorldToClipMatrix":{type:"m4",value:new THREE.Matrix4},"cameraMove":{type:"v3",value:new THREE.Vector3},"near":{type:"f",value:1},"far":{type:"f",value:1000},"depthLimit":{type:"f",value:0.99}};class MotionBlurPass extends THREE.Pass{constructor(){super();this.uniforms=THREE.UniformsUtils.clone(uniforms);this.material=new THREE.ShaderMaterial({defines:{},uniforms:this.uniforms,vertexShader:vertexShader,fragmentShader:fragmentShader});this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer,deltaTime,maskActive){this.uniforms["tColor"].value=readBuffer.texture;this.uniforms["tDepth"].value=readBuffer.depthTexture;this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}dispose(){this.fsQuad.dispose();this.material.dispose()}};THREE.MotionBlurPass=MotionBlurPass})();(function(){class RenderPass extends THREE.Pass{constructor(scene,camera,overrideMaterial,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.overrideMaterial=overrideMaterial;this.clearColor=clearColor;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this.clear=true;this.clearDepth=false;this.needsSwap=false;this._oldClearColor=new THREE.Color}render(renderer,writeBuffer,readBuffer){const oldAutoClear=renderer.autoClear;renderer.autoClear=false;let oldClearAlpha,oldOverrideMaterial;if(this.overrideMaterial!==undefined){oldOverrideMaterial=this.scene.overrideMaterial;this.scene.overrideMaterial=this.overrideMaterial}if(this.clearColor){renderer.getClearColor(this._oldClearColor);oldClearAlpha=renderer.getClearAlpha();renderer.setClearColor(this.clearColor,this.clearAlpha)}if(this.clearDepth){renderer.clearDepth()}renderer.setRenderTarget(this.renderToScreen?null:readBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);renderer.render(this.scene,this.camera);if(this.clearColor){renderer.setClearColor(this._oldClearColor,oldClearAlpha)}if(this.overrideMaterial!==undefined){this.scene.overrideMaterial=oldOverrideMaterial}renderer.autoClear=oldAutoClear}}THREE.RenderPass=RenderPass})();(function(){class SAOPass extends THREE.Pass{constructor(scene,camera,useDepthTexture=false,useNormals=false,resolution=new THREE.Vector2(256,256)){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.supportsDepthTextureExtension=useDepthTexture;this.supportsNormalTexture=useNormals;this.originalClearColor=new THREE.Color;this._oldClearColor=new THREE.Color;this.oldClearAlpha=1;this.params={output:0,saoBias:0.5,saoIntensity:0.18,saoScale:1,saoKernelRadius:100,saoMinResolution:0,saoBlur:true,saoBlurRadius:8,saoBlurStdDev:4,saoBlurDepthCutoff:0.01};this.resolution=new THREE.Vector2(resolution.x,resolution.y);this.saoRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y);this.blurIntermediateRenderTarget=this.saoRenderTarget.clone();this.beautyRenderTarget=this.saoRenderTarget.clone();this.normalRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y,{minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter});this.depthRenderTarget=this.normalRenderTarget.clone();let depthTexture;if(this.supportsDepthTextureExtension){depthTexture=new THREE.DepthTexture;depthTexture.type=THREE.UnsignedShortType;this.beautyRenderTarget.depthTexture=depthTexture;this.beautyRenderTarget.depthBuffer=true}this.depthMaterial=new THREE.MeshDepthMaterial;this.depthMaterial.depthPacking=THREE.RGBADepthPacking;this.depthMaterial.blending=THREE.NoBlending;this.normalMaterial=new THREE.MeshNormalMaterial;this.normalMaterial.blending=THREE.NoBlending;if(THREE.SAOShader===undefined){console.error("THREE.SAOPass relies on THREE.SAOShader")}this.saoMaterial=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SAOShader.defines),fragmentShader:THREE.SAOShader.fragmentShader,vertexShader:THREE.SAOShader.vertexShader,uniforms:THREE.UniformsUtils.clone(THREE.SAOShader.uniforms)});this.saoMaterial.extensions.derivatives=true;this.saoMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.saoMaterial.defines["NORMAL_TEXTURE"]=this.supportsNormalTexture?1:0;this.saoMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.saoMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.saoMaterial.uniforms["tNormal"].value=this.normalRenderTarget.texture;this.saoMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.blending=THREE.NoBlending;if(THREE.DepthLimitedBlurShader===undefined){console.error("THREE.SAOPass relies on THREE.DepthLimitedBlurShader")}this.vBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.vBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.vBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.vBlurMaterial.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.vBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.vBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.vBlurMaterial.blending=THREE.NoBlending;this.hBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.hBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.hBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.hBlurMaterial.uniforms["tDiffuse"].value=this.blurIntermediateRenderTarget.texture;this.hBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.hBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.hBlurMaterial.blending=THREE.NoBlending;if(THREE.CopyShader===undefined){console.error("THREE.SAOPass relies on THREE.CopyShader")}this.materialCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.CopyShader.uniforms),vertexShader:THREE.CopyShader.vertexShader,fragmentShader:THREE.CopyShader.fragmentShader,blending:THREE.NoBlending});this.materialCopy.transparent=true;this.materialCopy.depthTest=false;this.materialCopy.depthWrite=false;this.materialCopy.blending=THREE.CustomBlending;this.materialCopy.blendSrc=THREE.DstColorFactor;this.materialCopy.blendDst=THREE.ZeroFactor;this.materialCopy.blendEquation=THREE.AddEquation;this.materialCopy.blendSrcAlpha=THREE.DstAlphaFactor;this.materialCopy.blendDstAlpha=THREE.ZeroFactor;this.materialCopy.blendEquationAlpha=THREE.AddEquation;if(THREE.UnpackDepthRGBAShader===undefined){console.error("THREE.SAOPass relies on THREE.UnpackDepthRGBAShader")}this.depthCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.UnpackDepthRGBAShader.uniforms),vertexShader:THREE.UnpackDepthRGBAShader.vertexShader,fragmentShader:THREE.UnpackDepthRGBAShader.fragmentShader,blending:THREE.NoBlending});this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){if(this.renderToScreen){this.materialCopy.blending=THREE.NoBlending;this.materialCopy.uniforms["tDiffuse"].value=readBuffer.texture;this.materialCopy.needsUpdate=true;this.renderPass(renderer,this.materialCopy,null)}if(this.params.output===1){return}renderer.getClearColor(this._oldClearColor);this.oldClearAlpha=renderer.getClearAlpha();const oldAutoClear=renderer.autoClear;renderer.autoClear=false;renderer.setRenderTarget(this.depthRenderTarget);renderer.clear();this.saoMaterial.uniforms["bias"].value=this.params.saoBias;this.saoMaterial.uniforms["intensity"].value=this.params.saoIntensity;this.saoMaterial.uniforms["scale"].value=this.params.saoScale;this.saoMaterial.uniforms["kernelRadius"].value=this.params.saoKernelRadius;this.saoMaterial.uniforms["minResolution"].value=this.params.saoMinResolution;this.saoMaterial.uniforms["cameraNear"].value=this.camera.near;this.saoMaterial.uniforms["cameraFar"].value=this.camera.far;const depthCutoff=this.params.saoBlurDepthCutoff*(this.camera.far-this.camera.near);this.vBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.hBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.vBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.vBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.hBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.hBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.params.saoBlurRadius=Math.floor(this.params.saoBlurRadius);if(this.prevStdDev!==this.params.saoBlurStdDev||this.prevNumSamples!==this.params.saoBlurRadius){THREE.BlurShaderUtils.configure(this.vBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(0,1));THREE.BlurShaderUtils.configure(this.hBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(1,0));this.prevStdDev=this.params.saoBlurStdDev;this.prevNumSamples=this.params.saoBlurRadius}renderer.setClearColor(0);renderer.setRenderTarget(this.beautyRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);if(!this.supportsDepthTextureExtension){this.renderOverride(renderer,this.depthMaterial,this.depthRenderTarget,0,1)}if(this.supportsNormalTexture){this.renderOverride(renderer,this.normalMaterial,this.normalRenderTarget,7829503,1)}this.renderPass(renderer,this.saoMaterial,this.saoRenderTarget,16777215,1);if(this.params.saoBlur){this.renderPass(renderer,this.vBlurMaterial,this.blurIntermediateRenderTarget,16777215,1);this.renderPass(renderer,this.hBlurMaterial,this.saoRenderTarget,16777215,1)}let outputMaterial=this.materialCopy;if(this.params.output===3){if(this.supportsDepthTextureExtension){this.materialCopy.uniforms["tDiffuse"].value=this.beautyRenderTarget.depthTexture;this.materialCopy.needsUpdate=true}else{this.depthCopy.uniforms["tDiffuse"].value=this.depthRenderTarget.texture;this.depthCopy.needsUpdate=true;outputMaterial=this.depthCopy}}else if(this.params.output===4){this.materialCopy.uniforms["tDiffuse"].value=this.normalRenderTarget.texture;this.materialCopy.needsUpdate=true}else{this.materialCopy.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.materialCopy.needsUpdate=true}if(this.params.output===0){outputMaterial.blending=THREE.CustomBlending}else{outputMaterial.blending=THREE.NoBlending}this.renderPass(renderer,outputMaterial,this.renderToScreen?null:readBuffer);renderer.setClearColor(this._oldClearColor,this.oldClearAlpha);renderer.autoClear=oldAutoClear}renderPass(renderer,passMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.fsQuad.material=passMaterial;this.fsQuad.render(renderer);renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}renderOverride(renderer,overrideMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;clearColor=overrideMaterial.clearColor||clearColor;clearAlpha=overrideMaterial.clearAlpha||clearAlpha;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.scene.overrideMaterial=overrideMaterial;renderer.render(this.scene,this.camera);this.scene.overrideMaterial=null;renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}setSize(width,height){this.beautyRenderTarget.setSize(width,height);this.saoRenderTarget.setSize(width,height);this.blurIntermediateRenderTarget.setSize(width,height);this.normalRenderTarget.setSize(width,height);this.depthRenderTarget.setSize(width,height);this.saoMaterial.uniforms["size"].value.set(width,height);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.needsUpdate=true;this.vBlurMaterial.uniforms["size"].value.set(width,height);this.vBlurMaterial.needsUpdate=true;this.hBlurMaterial.uniforms["size"].value.set(width,height);this.hBlurMaterial.needsUpdate=true}}SAOPass.OUTPUT={"Beauty":1,"Default":0,"SAO":2,"Depth":3,"Normal":4};THREE.SAOPass=SAOPass})();(function(){const SAOShader={defines:{"NUM_SAMPLES":7,"NUM_RINGS":4,"NORMAL_TEXTURE":0,"DIFFUSE_TEXTURE":0,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDepth":{value:null},"tDiffuse":{value:null},"tNormal":{value:null},"size":{value:new THREE.Vector2(512,512)},"cameraNear":{value:1},"cameraFar":{value:100},"cameraProjectionMatrix":{value:new THREE.Matrix4},"cameraInverseProjectionMatrix":{value:new THREE.Matrix4},"scale":{value:1},"intensity":{value:0.1},"bias":{value:0.5},"minResolution":{value:0},"kernelRadius":{value:100},"randomSeed":{value:0}},vertexShader:` varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` #include varying vec2 vUv; #if DIFFUSE_TEXTURE == 1 uniform sampler2D tDiffuse; #endif uniform sampler2D tDepth; #if NORMAL_TEXTURE == 1 uniform sampler2D tNormal; #endif uniform float cameraNear; uniform float cameraFar; uniform mat4 cameraProjectionMatrix; uniform mat4 cameraInverseProjectionMatrix; uniform float scale; uniform float intensity; uniform float bias; uniform float kernelRadius; uniform float minResolution; uniform vec2 size; uniform float randomSeed; // RGBA depth #include vec4 getDefaultColor( const in vec2 screenPosition ) { #if DIFFUSE_TEXTURE == 1 return texture2D( tDiffuse, vUv ); #else return vec4( 1.0 ); #endif } float getDepth( const in vec2 screenPosition ) { #if DEPTH_PACKING == 1 return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) ); #else return texture2D( tDepth, screenPosition ).x; #endif } float getViewZ( const in float depth ) { #if PERSPECTIVE_CAMERA == 1 return perspectiveDepthToViewZ( depth, cameraNear, cameraFar ); #else return orthographicDepthToViewZ( depth, cameraNear, cameraFar ); #endif } vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) { float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3]; vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 ); clipPosition *= clipW; // unprojection. return ( cameraInverseProjectionMatrix * clipPosition ).xyz; } vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) { #if NORMAL_TEXTURE == 1 return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz ); #else return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) ); #endif } float scaleDividedByCameraFar; float minResolutionMultipliedByCameraFar; float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) { vec3 viewDelta = sampleViewPosition - centerViewPosition; float viewDistance = length( viewDelta ); float scaledScreenDistance = scaleDividedByCameraFar * viewDistance; return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) ); } // moving costly divides into consts const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES ); const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES ); float getAmbientOcclusion( const in vec3 centerViewPosition ) { // precompute some variables require in getOcclusion. scaleDividedByCameraFar = scale / cameraFar; minResolutionMultipliedByCameraFar = minResolution * cameraFar; vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv ); // jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/ float angle = rand( vUv + randomSeed ) * PI2; vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size; vec2 radiusStep = radius; float occlusionSum = 0.0; float weightSum = 0.0; for( int i = 0; i < NUM_SAMPLES; i ++ ) { vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius; radius += radiusStep; angle += ANGLE_STEP; float sampleDepth = getDepth( sampleUv ); if( sampleDepth >= ( 1.0 - EPSILON ) ) { continue; } float sampleViewZ = getViewZ( sampleDepth ); vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ ); occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition ); weightSum += 1.0; } if( weightSum == 0.0 ) discard; return occlusionSum * ( intensity / weightSum ); } void main() { float centerDepth = getDepth( vUv ); if( centerDepth >= ( 1.0 - EPSILON ) ) { discard; } float centerViewZ = getViewZ( centerDepth ); vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ ); float ambientOcclusion = getAmbientOcclusion( viewPosition ); gl_FragColor = getDefaultColor( vUv ); gl_FragColor.xyz *= 1.0 - ambientOcclusion; }`};THREE.SAOShader=SAOShader})();(function(){class SavePass extends THREE.Pass{constructor(renderTarget){super();if(THREE.CopyShader===undefined)console.error("THREE.SavePass relies on THREE.CopyShader");const shader=THREE.CopyShader;this.textureID="tDiffuse";this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader});this.renderTarget=renderTarget;if(this.renderTarget===undefined){this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight);this.renderTarget.texture.name="SavePass.rt"}this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}renderer.setRenderTarget(this.renderTarget);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}THREE.SavePass=SavePass})();(function(){class ShaderPass extends THREE.Pass{constructor(shader,textureID){super();this.textureID=textureID!==undefined?textureID:"tDiffuse";if(shader instanceof THREE.ShaderMaterial){this.uniforms=shader.uniforms;this.material=shader}else if(shader){this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({defines:Object.assign({},shader.defines),uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader})}this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}}THREE.ShaderPass=ShaderPass})();(function(){class SMAAPass extends THREE.Pass{constructor(width,height){super();this.edgesRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.edgesRT.texture.name="SMAAPass.edges";this.weightsRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.weightsRT.texture.name="SMAAPass.weights";const scope=this;const areaTextureImage=new Image;areaTextureImage.src=this.getAreaTexture();areaTextureImage.onload=function(){scope.areaTexture.needsUpdate=true};this.areaTexture=new THREE.Texture;this.areaTexture.name="SMAAPass.area";this.areaTexture.image=areaTextureImage;this.areaTexture.minFilter=THREE.LinearFilter;this.areaTexture.generateMipmaps=false;this.areaTexture.flipY=false;const searchTextureImage=new Image;searchTextureImage.src=this.getSearchTexture();searchTextureImage.onload=function(){scope.searchTexture.needsUpdate=true};this.searchTexture=new THREE.Texture;this.searchTexture.name="SMAAPass.search";this.searchTexture.image=searchTextureImage;this.searchTexture.magFilter=THREE.NearestFilter;this.searchTexture.minFilter=THREE.NearestFilter;this.searchTexture.generateMipmaps=false;this.searchTexture.flipY=false;if(THREE.SMAAEdgesShader===undefined){console.error("THREE.SMAAPass relies on SMAAShader")}this.uniformsEdges=THREE.UniformsUtils.clone(THREE.SMAAEdgesShader.uniforms);this.uniformsEdges["resolution"].value.set(1/width,1/height);this.materialEdges=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAEdgesShader.defines),uniforms:this.uniformsEdges,vertexShader:THREE.SMAAEdgesShader.vertexShader,fragmentShader:THREE.SMAAEdgesShader.fragmentShader});this.uniformsWeights=THREE.UniformsUtils.clone(THREE.SMAAWeightsShader.uniforms);this.uniformsWeights["resolution"].value.set(1/width,1/height);this.uniformsWeights["tDiffuse"].value=this.edgesRT.texture;this.uniformsWeights["tArea"].value=this.areaTexture;this.uniformsWeights["tSearch"].value=this.searchTexture;this.materialWeights=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAWeightsShader.defines),uniforms:this.uniformsWeights,vertexShader:THREE.SMAAWeightsShader.vertexShader,fragmentShader:THREE.SMAAWeightsShader.fragmentShader});this.uniformsBlend=THREE.UniformsUtils.clone(THREE.SMAABlendShader.uniforms);this.uniformsBlend["resolution"].value.set(1/width,1/height);this.uniformsBlend["tDiffuse"].value=this.weightsRT.texture;this.materialBlend=new THREE.ShaderMaterial({uniforms:this.uniformsBlend,vertexShader:THREE.SMAABlendShader.vertexShader,fragmentShader:THREE.SMAABlendShader.fragmentShader});this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){this.uniformsEdges["tDiffuse"].value=readBuffer.texture;this.fsQuad.material=this.materialEdges;renderer.setRenderTarget(this.edgesRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.fsQuad.material=this.materialWeights;renderer.setRenderTarget(this.weightsRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.uniformsBlend["tColor"].value=readBuffer.texture;this.fsQuad.material=this.materialBlend;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}setSize(width,height){this.edgesRT.setSize(width,height);this.weightsRT.setSize(width,height);this.materialEdges.uniforms["resolution"].value.set(1/width,1/height);this.materialWeights.uniforms["resolution"].value.set(1/width,1/height);this.materialBlend.uniforms["resolution"].value.set(1/width,1/height)}getAreaTexture(){return"data:image/png;base64,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"}getSearchTexture(){return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII="}}THREE.SMAAPass=SMAAPass})();(function(){const SMAAEdgesShader={defines:{"SMAA_THRESHOLD":"0.1"},uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 3 ]; void SMAAEdgeDetectionVS( vec2 texcoord ) { vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 ); // WebGL port note: Changed sign in W component } void main() { vUv = uv; SMAAEdgeDetectionVS( vUv ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` uniform sampler2D tDiffuse; varying vec2 vUv; varying vec4 vOffset[ 3 ]; vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) { vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD ); // Calculate color deltas: vec4 delta; vec3 C = texture2D( colorTex, texcoord ).rgb; vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb; vec3 t = abs( C - Cleft ); delta.x = max( max( t.r, t.g ), t.b ); vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb; t = abs( C - Ctop ); delta.y = max( max( t.r, t.g ), t.b ); // We do the usual threshold: vec2 edges = step( threshold, delta.xy ); // Then discard if there is no edge: if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 ) discard; // Calculate right and bottom deltas: vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb; t = abs( C - Cright ); delta.z = max( max( t.r, t.g ), t.b ); vec3 Cbottom = texture2D( colorTex, offset[1].zw ).rgb; t = abs( C - Cbottom ); delta.w = max( max( t.r, t.g ), t.b ); // Calculate the maximum delta in the direct neighborhood: float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w ); // Calculate left-left and top-top deltas: vec3 Cleftleft = texture2D( colorTex, offset[2].xy ).rgb; t = abs( C - Cleftleft ); delta.z = max( max( t.r, t.g ), t.b ); vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb; t = abs( C - Ctoptop ); delta.w = max( max( t.r, t.g ), t.b ); // Calculate the final maximum delta: maxDelta = max( max( maxDelta, delta.z ), delta.w ); // Local contrast adaptation in action: edges.xy *= step( 0.5 * maxDelta, delta.xy ); return vec4( edges, 0.0, 0.0 ); } void main() { gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse ); }`};const SMAAWeightsShader={defines:{"SMAA_MAX_SEARCH_STEPS":"8","SMAA_AREATEX_MAX_DISTANCE":"16","SMAA_AREATEX_PIXEL_SIZE":"( 1.0 / vec2( 160.0, 560.0 ) )","SMAA_AREATEX_SUBTEX_SIZE":"( 1.0 / 7.0 )"},uniforms:{"tDiffuse":{value:null},"tArea":{value:null},"tSearch":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 3 ]; varying vec2 vPixcoord; void SMAABlendingWeightCalculationVS( vec2 texcoord ) { vPixcoord = texcoord / resolution; // We will use these offsets for the searches later on (see @PSEUDO_GATHER4): vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 ); // WebGL port note: Changed sign in Y and W components vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 ); // WebGL port note: Changed sign in Y and W components // And these for the searches, they indicate the ends of the loops: vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS ); } void main() { vUv = uv; SMAABlendingWeightCalculationVS( vUv ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` #define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 ) uniform sampler2D tDiffuse; uniform sampler2D tArea; uniform sampler2D tSearch; uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[3]; varying vec2 vPixcoord; #if __VERSION__ == 100 vec2 round( vec2 x ) { return sign( x ) * floor( abs( x ) + 0.5 ); } #endif float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) { // Not required if searchTex accesses are set to point: // float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0); // e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE + // e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE; e.r = bias + e.r * scale; return 255.0 * texture2D( searchTex, e, 0.0 ).r; } float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { /** * @PSEUDO_GATHER4 * This texcoord has been offset by (-0.25, -0.125) in the vertex shader to * sample between edge, thus fetching four edges in a row. * Sampling with different offsets in each direction allows to disambiguate * which edges are active from the four fetched ones. */ vec2 e = vec2( 0.0, 1.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord -= vec2( 2.0, 0.0 ) * resolution; if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break; } // We correct the previous (-0.25, -0.125) offset we applied: texcoord.x += 0.25 * resolution.x; // The searches are bias by 1, so adjust the coords accordingly: texcoord.x += resolution.x; // Disambiguate the length added by the last step: texcoord.x += 2.0 * resolution.x; // Undo last step texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5); return texcoord.x; } float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { vec2 e = vec2( 0.0, 1.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord += vec2( 2.0, 0.0 ) * resolution; if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break; } texcoord.x -= 0.25 * resolution.x; texcoord.x -= resolution.x; texcoord.x -= 2.0 * resolution.x; texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 ); return texcoord.x; } float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { vec2 e = vec2( 1.0, 0.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break; } texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign texcoord.y -= resolution.y; // WebGL port note: Changed sign texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign return texcoord.y; } float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { vec2 e = vec2( 1.0, 0.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break; } texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign texcoord.y += resolution.y; // WebGL port note: Changed sign texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign return texcoord.y; } vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) { // Rounding prevents precision errors of bilinear filtering: vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist; // We do a scale and bias for mapping to texel space: texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE ); // Move to proper place, according to the subpixel offset: texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset; return texture2D( areaTex, texcoord, 0.0 ).rg; } vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) { vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 ); vec2 e = texture2D( edgesTex, texcoord ).rg; if ( e.g > 0.0 ) { // Edge at north vec2 d; // Find the distance to the left: vec2 coords; coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x ); coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET) d.x = coords.x; // Now fetch the left crossing edges, two at a time using bilinear // filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to // discern what value each edge has: float e1 = texture2D( edgesTex, coords, 0.0 ).r; // Find the distance to the right: coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y ); d.y = coords.x; // We want the distances to be in pixel units (doing this here allow to // better interleave arithmetic and memory accesses): d = d / resolution.x - pixcoord.x; // SMAAArea below needs a sqrt, as the areas texture is compressed // quadratically: vec2 sqrt_d = sqrt( abs( d ) ); // Fetch the right crossing edges: coords.y -= 1.0 * resolution.y; // WebGL port note: Added float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r; // Ok, we know how this pattern looks like, now it is time for getting // the actual area: weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) ); } if ( e.r > 0.0 ) { // Edge at west vec2 d; // Find the distance to the top: vec2 coords; coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z ); coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x; d.x = coords.y; // Fetch the top crossing edges: float e1 = texture2D( edgesTex, coords, 0.0 ).g; // Find the distance to the bottom: coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w ); d.y = coords.y; // We want the distances to be in pixel units: d = d / resolution.y - pixcoord.y; // SMAAArea below needs a sqrt, as the areas texture is compressed // quadratically: vec2 sqrt_d = sqrt( abs( d ) ); // Fetch the bottom crossing edges: coords.y -= 1.0 * resolution.y; // WebGL port note: Added float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g; // Get the area for this direction: weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) ); } return weights; } void main() { gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) ); }`};const SMAABlendShader={uniforms:{"tDiffuse":{value:null},"tColor":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 2 ]; void SMAANeighborhoodBlendingVS( vec2 texcoord ) { vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component } void main() { vUv = uv; SMAANeighborhoodBlendingVS( vUv ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` uniform sampler2D tDiffuse; uniform sampler2D tColor; uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 2 ]; vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) { // Fetch the blending weights for current pixel: vec4 a; a.xz = texture2D( blendTex, texcoord ).xz; a.y = texture2D( blendTex, offset[ 1 ].zw ).g; a.w = texture2D( blendTex, offset[ 1 ].xy ).a; // Is there any blending weight with a value greater than 0.0? if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) { return texture2D( colorTex, texcoord, 0.0 ); } else { // Up to 4 lines can be crossing a pixel (one through each edge). We // favor blending by choosing the line with the maximum weight for each // direction: vec2 offset; offset.x = a.a > a.b ? a.a : -a.b; // left vs. right offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs // Then we go in the direction that has the maximum weight: if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical offset.y = 0.0; } else { offset.x = 0.0; } // Fetch the opposite color and lerp by hand: vec4 C = texture2D( colorTex, texcoord, 0.0 ); texcoord += sign( offset ) * resolution; vec4 Cop = texture2D( colorTex, texcoord, 0.0 ); float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y ); // WebGL port note: Added gamma correction C.xyz = pow(C.xyz, vec3(2.2)); Cop.xyz = pow(Cop.xyz, vec3(2.2)); vec4 mixed = mix(C, Cop, s); mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2)); return mixed; } } void main() { gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse ); }`};THREE.SMAABlendShader=SMAABlendShader;THREE.SMAAEdgesShader=SMAAEdgesShader;THREE.SMAAWeightsShader=SMAAWeightsShader})();(function(){class SSAARenderPass extends THREE.Pass{constructor(scene,camera,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.sampleLevel=4;this.unbiased=true;this.clearColor=clearColor!==undefined?clearColor:0;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this._oldClearColor=new THREE.Color;if(THREE.CopyShader===undefined)console.error("THREE.SSAARenderPass relies on THREE.CopyShader");const copyShader=THREE.CopyShader;this.copyUniforms=THREE.UniformsUtils.clone(copyShader.uniforms);this.copyMaterial=new THREE.ShaderMaterial({uniforms:this.copyUniforms,vertexShader:copyShader.vertexShader,fragmentShader:copyShader.fragmentShader,transparent:true,blending:THREE.AdditiveBlending,depthTest:false,depthWrite:false});this.fsQuad=new THREE.FullScreenQuad(this.copyMaterial)}dispose(){if(this.sampleRenderTarget){this.sampleRenderTarget.dispose();this.sampleRenderTarget=null}}setSize(width,height){if(this.sampleRenderTarget)this.sampleRenderTarget.setSize(width,height)}render(renderer,writeBuffer,readBuffer){if(!this.sampleRenderTarget){this.sampleRenderTarget=new THREE.WebGLRenderTarget(readBuffer.width,readBuffer.height);this.sampleRenderTarget.texture.name="SSAARenderPass.sample"}const jitterOffsets=_JitterVectors[Math.max(0,Math.min(this.sampleLevel,5))];const autoClear=renderer.autoClear;renderer.autoClear=false;renderer.getClearColor(this._oldClearColor);const oldClearAlpha=renderer.getClearAlpha();const baseSampleWeight=1/jitterOffsets.length;const roundingRange=1/32;this.copyUniforms["tDiffuse"].value=this.sampleRenderTarget.texture;const viewOffset={fullWidth:readBuffer.width,fullHeight:readBuffer.height,offsetX:0,offsetY:0,width:readBuffer.width,height:readBuffer.height};const originalViewOffset=Object.assign({},this.camera.view);if(originalViewOffset.enabled)Object.assign(viewOffset,originalViewOffset);for(let i=0;i void main() { float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) ); gl_FragColor = vec4( vec3( depth ), opacity ); }`};THREE.UnpackDepthRGBAShader=UnpackDepthRGBAShader})(); })();