try { (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;k<e.length;k++){m=e[k].depArray;for(n=0;n<m.length;n++)if(m[n]===b)m[n]=c}}}delete T[a]}function ma(a){var b=a.prefix,c=a.fullName;if(!(y[c]||c in p)){if(b&&!G[b]){G[b]=undefined;(T[b]||(T[b]=[])).push(a);(w[b]||(w[b]=[])).push({onDep:function(e){e===b&&xa(b)}});ma(j(b))}i.paused.push(a)}}
function aa(a){var b,c,e;b=a.callback;var g=a.fullName,k=[],n=a.depArray;if(b&&J(b)){if(n)for(b=0;b<n.length;b++)k.push(a.deps[n[b]]);try{c=h.execCb(g,a.callback,k,p[g])}catch(m){e=m}if(g)if(a.cjsModule&&a.cjsModule.exports!==undefined)c=p[g]=a.cjsModule.exports;else if(c===undefined&&a.usingExports)c=p[g];else p[g]=c}else if(g)c=p[g]=b;if(B[a.waitId]){delete B[a.waitId];a.isDone=true;i.waitCount-=1;if(i.waitCount===0)ba=[]}if(e){e=K("defineerror",'Error evaluating module "'+g+'" at location "'+(g?
j(g).url:"")+'":\n'+e+"\nfileName:"+(e.fileName||e.sourceURL)+"\nlineNumber: "+(e.lineNumber||e.line),e);e.moduleName=g;return h.onError(e)}if(g)if(a=w[g]){for(b=0;b<a.length;b++)a[b].onDep(g,c);delete w[g]}}function na(a,b,c,e){a=j(a,e);var g=a.name,k=a.fullName,n={},m={waitId:g||ya+za++,depCount:0,depMax:0,prefix:a.prefix,name:g,fullName:k,deps:{},depArray:b,callback:c,onDep:function(oa,Aa){if(!(oa in m.deps)){m.deps[oa]=Aa;m.depCount+=1;m.depCount===m.depMax&&aa(m)}}},u,t;if(k){if(k in p||v[k]===
true||k==="jquery"&&r.jQuery&&r.jQuery!==c().fn.jquery)return;y[k]=true;v[k]=true;k==="jquery"&&c&&U(c())}for(c=0;c<b.length;c++)if(u=b[c]){u=j(u,g?a:e);t=u.fullName;b[c]=t;if(t==="require")m.deps[t]=la(a);else if(t==="exports"){m.deps[t]=p[k]={};m.usingExports=true}else if(t==="module"){m.cjsModule=u=m.deps[t]={id:g,uri:g?i.nameToUrl(g,null,e):undefined,exports:p[k]};u.setExports=o(u)}else if(t in p&&!(t in B))m.deps[t]=p[t];else if(!n[t]){m.depMax+=1;ma(u);(w[t]||(w[t]=[])).push(m);n[t]=true}}if(m.depCount===
m.depMax)aa(m);else{B[m.waitId]=m;ba.push(m);i.waitCount+=1}}function M(a){na.apply(null,a);v[a[0]]=true}function pa(a,b){if(!a.isDone){var c=a.fullName,e=a.depArray,g,k;if(c){if(b[c])return p[c];b[c]=true}for(k=0;k<e.length;k++)(g=e[k])&&!a.deps[g]&&B[g]&&a.onDep(g,pa(B[g],b));return c?p[c]:undefined}}function ca(){var a=r.waitSeconds*1E3,b=a&&i.startTime+a<(new Date).getTime();a="";var c=false,e=false,g;if(!(i.pausedCount>0)){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;g<n.length;g++){k=n[g];ra(b,j(k.originalName,k.parentMap))}delete O[b]}}})}O[b].push(a)}else if(!e[a.url]){h.load(i,c,a.url);e[a.url]=true}}}var i,C,r={waitSeconds:7,baseUrl:s.baseUrl||"./",paths:{},pkgs:{}},P=[],y={require:true,exports:true,module:true},$={},p={},v={},B={},ba=[],za=0,w={},G={},O={},fa=0,T={};U=function(a){if(!i.jQuery)if(a=a||(typeof jQuery!=="undefined"?jQuery:null))if(!(r.jQuery&&a.fn.jquery!==r.jQuery))if("holdReady"in a||"readyWait"in a){i.jQuery=a;M(["jquery",
[],function(){return jQuery}]);if(i.scriptCount){Z(a,true);i.jQueryIncremented=true}}};C=function(){var a,b,c;fa+=1;if(i.scriptCount<=0)i.scriptCount=0;for(;P.length;){a=P.shift();if(a[0]===null)return h.onError(K("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));else M(a)}if(!r.priorityWait||q())for(;i.paused.length;){c=i.paused;i.pausedCount+=c.length;i.paused=[];for(b=0;a=c[b];b++)Ba(a);i.startTime=(new Date).getTime();i.pausedCount-=c.length}fa===1&&ca();fa-=1};i={contextName:d,
config:r,defQueue:P,waiting:B,waitCount:0,specified:y,loaded:v,urlMap:$,scriptCount:0,urlFetched:{},defined:p,paused:[],pausedCount:0,plugins:G,managerCallbacks:w,makeModuleMap:j,normalize:l,configure:function(a){var b,c,e;if(a.baseUrl)if(a.baseUrl.charAt(a.baseUrl.length-1)!=="/")a.baseUrl+="/";b=r.paths;e=r.pkgs;Y(r,a,true);if(a.paths){for(c in a.paths)c in F||(b[c]=a.paths[c]);r.paths=b}if((b=a.packagePaths)||a.packages){if(b)for(c in b)c in F||ja(e,b[c],c);a.packages&&ja(e,a.packages);r.pkgs=
e}if(a.priority){c=i.requireWait;i.requireWait=false;i.takeGlobalQueue();C();i.require(a.priority);C();i.requireWait=c;r.priorityWait=a.priority}if(a.deps||a.callback)i.require(a.deps||[],a.callback);a.ready&&h.ready(a.ready)},requireDefined:function(a,b){return j(a,b).fullName in p},requireSpecified:function(a,b){return j(a,b).fullName in y},require:function(a,b,c){if(typeof a==="string"){if(h.get)return h.get(i,a,b);c=b;b=j(a,c);a=b.fullName;if(!(a in p))return h.onError(K("notloaded","Module name '"+
b.fullName+"' has not been loaded yet for context: "+d));return p[a]}na(null,a,b,c);if(!i.requireWait)for(;!i.scriptCount&&i.paused.length;){i.takeGlobalQueue();C()}},takeGlobalQueue:function(){if(V.length){Ca.apply(i.defQueue,[i.defQueue.length-1,0].concat(V));V=[]}},completeLoad:function(a){var b;for(i.takeGlobalQueue();P.length;){b=P.shift();if(b[0]===null){b[0]=a;break}else if(b[0]===a)break;else{M(b);b=null}}b?M(b):M([a,[],a==="jquery"&&typeof jQuery!=="undefined"?function(){return jQuery}:null]);
v[a]=true;U();if(h.isAsync)i.scriptCount-=1;C();h.isAsync||(i.scriptCount-=1)},toUrl:function(a,b){var c=a.lastIndexOf("."),e=null;if(c!==-1){e=a.substring(c,a.length);a=a.substring(0,c)}return i.nameToUrl(a,e,b)},nameToUrl:function(a,b,c){var e,g,k,n,m=i.config;a=l(a,c&&c.fullName);if(h.jsExtRegExp.test(a))b=a+(b?b:"");else{e=m.paths;g=m.pkgs;c=a.split("/");for(n=c.length;n>0;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)}}})();/*
 jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!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<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,
t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=
S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),
isReady:!0,error:function(e){throw new Error(e);},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e))for(n=e.length;r<n;r++){if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},
makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],
o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,
t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\x00-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+
W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+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="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",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("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
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<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||
e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e);},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),
e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i)if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else{if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{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<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":
"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]=
{}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,
r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),
lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||
~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();
return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),
gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,
p];if(n)while(e=e[u]){if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,
r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],
i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,
e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),
n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=
e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=
se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||
t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?
1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=
d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\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<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=
0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\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<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,
e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,
"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=
e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e;}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,
t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?
r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||
(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),
this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");
t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,
m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,
r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+
e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e;})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&
!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}
function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):
e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};
var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,
t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==
(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,
i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,
e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,
e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,
t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),
o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\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="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],
tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||
(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);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<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=
""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,
s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i])if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();
else{if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,
i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),
namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||
{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,
"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&
!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=
[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,
t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==
e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=
e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=
this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),
S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,
arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});
var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\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<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=
e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&
(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<
i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?
S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,
function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===
e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",
insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},
Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",
l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip=
"content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",
t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;
while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,
"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&
A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,
gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==
o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,
t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=
Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,
i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,
n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,
e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,
it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,
t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,
tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=
a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,
t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,
S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===
c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,
g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),
r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||
"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,
!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,
r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=
C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,
t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",
t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||
[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,
n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex",
"readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,
n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):
m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});
var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,
"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,
i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};
S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=
void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&
(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,
t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,
r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;
function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],
t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):
{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,
S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,
processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,
S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=
n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,
bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),
v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid++ +o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&
T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,
t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));
if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=
t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&
(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,
t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},
dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},
wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();
y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=
r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&
i.data||null)}catch(e){if(o)throw e;}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,
i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").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="<form></form><form></form>",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<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").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<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=
X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});(function(){var TDV=window["TDV"]||(window["TDV"]={});(function(){(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=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])<u?i=a+1:o=a}return i},m.indexOf=r(1,m.findIndex,m.sortedIndex),m.lastIndexOf=
r(-1,m.findLastIndex),m.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>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<arguments.length;)i.push(arguments[e++]);return E(n,r,this,this,i)};return r},m.bindAll=function(n){var t,r,e=arguments.length;if(1>=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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},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(){function a(c){this.wo=c;this.Hr=null;this.Gc={}}function d(){this.im={};this.im[d.SCRIPT_URL]=[];this.im[d.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.im[d.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.im[d.HLS_URL]="lib/Hls.js";this.im[d.nda]="lib/basis/";this.im[d.CURSORS_DIR_URL]="lib/cursors";this.im[d.SERVICE_WORKER_URL]="tdvplayersw.js";this.im[d.BACKGROUND_PRELOAD_ENABLED]=void 0}function h(){this.aM=[];this.AV=[];this.gLa=[];this.wQ=null}function l(c){return"[object Array]"==
Object.prototype.toString.call(c)}function k(c){return 0<=g.search(c.toLowerCase())}var b=window.TDV=window.TDV||{},g=navigator.userAgent.toLowerCase();h.prototype.getVersion=h.prototype.fua=function(){return{MAJOR:"0",MINOR:"1805"}};h.prototype.getClassByName=function(){};h.prototype.Wna=function(){if(this.wQ)for(;0<this.aM.length;){var c=this.aM[0];this.aM=this.aM.slice(1);this.AV.push(c);this.hFa(c)}};h.prototype.gla=function(c){var e=document.createElement("a");e.href=
c;return e.href};h.prototype.xHa=function(){var c=document.currentScript;c||(c=document.getElementsByTagName("head")[0].getElementsByTagName("script"),c=c[c.length-1]);return this.gla(c.src)};h.prototype.hFa=function(c){var e=this,m=c.wo.get(d.SELECTED_SCRIPT_URL);setTimeout(function(){var q=document.createElement("script");q.type="text/javascript";q.src=m;document.getElementsByTagName("head")[0].appendChild(q);e.wQ.yXa(c)},1)};h.prototype.defineScript=function(c){for(var e=[],m=this.xHa(),q=0;q<
this.AV.length;q++){var p=this.AV[q],n=this.gla(p.wo.get(d.SELECTED_SCRIPT_URL));n==m?(p.wo.set(d.SCRIPT_DATA,c),p.oWa(new this.wQ(p,p.wo)),this.gLa.push(p)):e.push(n)}this.AV=e};h.prototype.create=h.prototype.create=function(c){var e=c.get(d.SCRIPT_URL);e=l(e)?this.aMa(e):"string"===typeof e?e:"script.js";c.set(d.SELECTED_SCRIPT_URL,e);c=new b.yea(c);this.aM.push(c);this.Wna();return c};h.prototype.setPlayerClass=h.prototype.nWa=function(c){this.wQ=c;this.Wna();this.trigger({name:"classesReady",
source:this})};h.prototype.bind=h.prototype.bind=function(c,e,m,q){this.Gc=this.Gc||{};this.Gc[c]=this.Gc[c]||[];this.Gc[c].push({handler:e,context:m,immediate:q||!1})};h.prototype.unbind=h.prototype.unbind=function(c,e,m,q){this.Gc&&c in this.Gc&&(this.Gc[c]=this.Gc[c].filter(function(p){return p.handler!=e||p.context!=m||p.immediate!=q}))};h.prototype.trigger=function(c){this.Gc&&c.name in this.Gc&&(this.Kw(c,!0),setTimeout(function(){this.Kw(c,!1)}.bind(this),0))};h.prototype.Kw=function(c,e){c.unbindCurrentHandler=
function(){}.bind(this);for(var m=this.Gc[c.name],q=0;q<m.length;q++)if(m[q].immediate==e)try{m[q].handler.call(m[q].context||window,c)}catch(p){setTimeout(function(){throw p;},0)}};h.prototype.getOrientation=h.prototype.qq=function(){var c=screen.orientation&&screen.orientation.type||window.orientation;return"portrait-primary"==c||"portrait-secondary"==c||0===c||180==c?b.nb.M_:"landscape-primary"==c||"landscape-secondary"==c||90==c||-90==c?b.nb.L_:window.innerWidth<window.innerHeight?b.nb.M_:b.nb.L_};
h.prototype.aMa=function(c){if(0<c.length){for(var e=0;e<c.length;e++){var m=c[e];if(l(m)){if(this.pqa(m[0]))return m[1]}else if("string"===typeof m)return m}return c[0][1]}return"script.js"};h.prototype.pqa=function(c){if("string"===typeof c){var e=c.match(/^\s*default\s*$/);if(e)return!0;if(e=c.match(/^\s*os\s*=\s*(\w+)\s*$/))return this.fe==e[1].toLowerCase();if(e=c.match(/^\s*browser\s*=\s*(\w+)\s*$/))return this.browser==e[1].toLowerCase();if(e=c.match(/^\s*device\s*=\s*(\w+)\s*$/))return this.Uy==
e[1].toLowerCase();if(e=c.match(/^\s*screen_size\s*(<|>|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){c=parseInt(e[2]);var m=parseInt(e[3]);switch(e[1]){case "<":var q=function(p,n){return p<n};break;case ">":q=function(p,n){return p>n};break;case "=":q=function(p,n){return p==n};break;case "<=":q=function(p,n){return p<=n};break;case ">=":q=function(p,n){return p>=n}}return q(screen.width,c)&&q(screen.height,m)||this.mobile&&q(screen.width,m)&&q(screen.height,c)}return!1}if(l(c)){for(e=0;e<c.length;e++)if(!this.pqa(c[e]))return!1;
return!0}return!1};h.prototype.ORIENTATION_LANDSCAPE=h.prototype.L_="landscape";h.prototype.ORIENTATION_PORTRAIT=h.prototype.M_="portrait";h.prototype.OS_IOS=h.prototype.kQ="ios";h.prototype.OS_ANDROID=h.prototype.N_="android";h.prototype.OS_WINDOWS=h.prototype.qea="windows";h.prototype.OS_WINDOWS_PHONE=h.prototype.R_="windows_phone";h.prototype.OS_MACOSX=h.prototype.O_="osx";h.prototype.OS_LINUX=h.prototype.pea="linux";h.prototype.OS_QNX=h.prototype.Q_="qnx";h.prototype.OS_OTHER=h.prototype.P_="other";
h.prototype.BROWSER_TYPE_WEBKIT=h.prototype.BI="webkit";h.prototype.BROWSER_TYPE_OPERA=h.prototype.GZ="opera";h.prototype.BROWSER_TYPE_MSIE=h.prototype.FZ="msie";h.prototype.BROWSER_TYPE_MOZILLA=h.prototype.EZ="mozilla";h.prototype.BROWSER_TYPE_OTHER=h.prototype.HZ="other";h.prototype.BROWSER_SAFARI_IOS=h.prototype.Rh="safari_ios";h.prototype.BROWSER_OPERA=h.prototype.SP="opera";h.prototype.BROWSER_SAFARI=h.prototype.Tl="safari";h.prototype.BROWSER_CHROME=h.prototype.Ik="chrome";h.prototype.BROWSER_EDGE=
h.prototype.OD="edge";h.prototype.BROWSER_MSIE=h.prototype.$v="msie";h.prototype.BROWSER_ANDROID=h.prototype.RP="android";h.prototype.BROWSER_MOZILLA=h.prototype.xz="mozilla";h.prototype.BROWSER_OTHER=h.prototype.CZ="other";h.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET=h.prototype.AI="samsunginternet";h.prototype.BROWSER_SUBTYPE_OCULUS_BROWSER=h.prototype.Eq="oculusbrowser";h.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET_FOR_GEAR_VR=h.prototype.WP="samsunginternetgearvr";h.prototype.BROWSER_SUBTYPE_MI_BROWSER=
h.prototype.DZ="mibrowser";h.prototype.BROWSER_SUBTYPE_CHROME_IOS=h.prototype.TP="chromeios";h.prototype.BROWSER_SUBTYPE_SAFARI_IOS=h.prototype.yI="safari_ios";h.prototype.BROWSER_SUBTYPE_CHROME_WEBVIEW=h.prototype.PD="chrome_webview";h.prototype.BROWSER_SUBTYPE_SAFARI_WEBVIEW=h.prototype.zI="safari_webview";h.prototype.BROWSER_SUBTYPE_TOUR_LAUNCHER=h.prototype.yz="tour_launcher";h.prototype.BROWSER_SUBTYPE_CHROMIUM_EDGE=h.prototype.PD="chromium_edge";h.prototype.BROWSER_SUBTYPE_FIREFOX_REALITY=h.prototype.QD=
"firefox_reality";h.prototype.BROWSER_SUBTYPE_VR_APP=h.prototype.aw="vrapp";h.prototype.BROWSER_SUBTYPE_XR_APP=h.prototype.bw="xrapp";h.prototype.BROWSER_SUBTYPE_FACEBOOK_IOS_WEBVIEW=h.prototype.UP="facebook_ios_webview";h.prototype.BROWSER_SUBTYPE_OTHER=h.prototype.VP="other";h.prototype.BROWSER_VERSION_UNKNOWN=h.prototype.IZ=-1;h.prototype.DEVICE_IPHONE=h.prototype.LZ="iphone";h.prototype.DEVICE_IPAD=h.prototype.TD="ipad";h.prototype.DEVICE_IPOD=h.prototype.MZ="ipod";h.prototype.DEVICE_OTHER=h.prototype.NZ=
"other";h.prototype.os=h.prototype.fe=k("iphone")||k("ipad")||k("ipod")?h.prototype.kQ:k("qnx")?h.prototype.Q_:k("android")||k("oculusbrowser")&&k("linux")?h.prototype.N_:k("windows phone")?h.prototype.R_:k("windows")?h.prototype.qea:k("mac_powerpc")?h.prototype.O_:k("macintosh")?1<navigator.maxTouchPoints?h.prototype.kQ:h.prototype.O_:k("linux")||k("x11")?h.prototype.pea:h.prototype.P_;h.prototype.browser=h.prototype.browser=k("ipad")||k("iphone")||k("ipod")||k("macintosh")&&1<navigator.maxTouchPoints?
h.prototype.Rh:k("opera")?h.prototype.SP:k("edge")?h.prototype.OD:k("chrome")||k("crmo")?h.prototype.Ik:k("android")?h.prototype.RP:k("safari")?h.prototype.Tl:k("trident")||k("msie")?h.prototype.$v:!k("compatible")&&k("mozilla")?h.prototype.xz:h.prototype.CZ;h.prototype.browserType=h.prototype.sH=h.prototype.browser==h.prototype.Rh||h.prototype.browser==h.prototype.Ik||h.prototype.browser==h.prototype.RP||h.prototype.browser==h.prototype.Tl||k("webkit")?h.prototype.BI:h.prototype.browser==h.prototype.SP||
k("opera")?h.prototype.GZ:k("trident")||k("msie")?h.prototype.FZ:!k("compatible")&&k("mozilla")?h.prototype.EZ:h.prototype.HZ;h.prototype.browserSubtype=h.prototype.gd=window.location.hash&&0<=window.location.hash.indexOf("xrapp")?h.prototype.bw:window.location.hash&&0<=window.location.hash.indexOf("vrapp")?h.prototype.aw:k("oculusbrowser")?h.prototype.Eq:k("xiaomi")||k("miui")?h.prototype.DZ:k("samsungbrowser")&&k("android")?k("mobile vr")?h.prototype.WP:h.prototype.AI:k("ipad")||k("iphone")||k("ipod")?
k("crios")?h.prototype.TP:k("fban")||k("fbav")?h.prototype.UP:k("safari")&&k("version")&&!navigator.standalone?h.prototype.yI:h.prototype.zI:k("electron")?h.prototype.yz:k("chrome")&&k("wv")?h.prototype.PD:k("edg/")?h.prototype.oda:!k("compatible")&&k("mozilla")&&k("mobile vr")?h.prototype.QD:h.prototype.VP;h.prototype.browserVersion=h.prototype.Esa=function(){if(h.prototype.browser==h.prototype.$v){var c=g.match(RegExp("MSIE ([0-9]{1,}[.0-9]{0,})"));if(null!=c)return parseFloat(c[1]);c=g.match(RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})"));
if(null!=c)return parseFloat(c[1])}return h.prototype.IZ}();h.prototype.device=h.prototype.Uy=k("ipad")||k("macintosh")&&1<navigator.maxTouchPoints?h.prototype.TD:k("iphone")?h.prototype.LZ:k("ipod")?h.prototype.MZ:h.prototype.NZ;a:{switch(h.prototype.fe){case h.prototype.N_:case h.prototype.kQ:case h.prototype.R_:case h.prototype.Q_:var f=!0;break a}f=!1}h.prototype.mobile=h.prototype.mobile=f;b.PlayerAPI=b.nb=new h;d.prototype.append=d.prototype.append=function(c,e,m){c==d.SCRIPT_URL&&("undefined"==
typeof m&&(m=e,e="default"),e=[e,m]);l(this.im[c])||(this.im[c]=[]);this.im[c].push(e)};d.prototype.set=d.prototype.set=function(c,e){this.im[c]=e};d.prototype.get=d.prototype.get=function(c){return this.im[c]};d.SCRIPT_URL=d.SCRIPT_URL="ScriptURL";d.SCRIPT_DATA=d.SCRIPT_DATA="ScriptData";d.FLASH_EXPRESS_INSTALLER_URL=d.FLASH_EXPRESS_INSTALLER_URL="FlashExpressInstallerURL";d.FLASH_AUDIO_PLAYER_URL=d.FLASH_AUDIO_PLAYER_URL="FlashAudioPlayerURL";d.FLASH_VIDEO_PLAYER_URL=d.FLASH_VIDEO_PLAYER_URL="FlashVideoPlayerURL";
d.FLASH_PANORAMA_PLAYER_URL=d.FLASH_PANORAMA_PLAYER_URL="FlashPanoramaPlayerURL";d.THREE_JS_WEBGL_URL=d.THREE_JS_WEBGL_URL="ThreeJSWebGLURL";d.WEBVR_POLYFILL_URL=d.WEBVR_POLYFILL_URL="WebVRPolyfillURL";d.CAPTURA_VIEWER_URL=d.CAPTURA_VIEWER_URL="CapturaViewerURL";d.DASH_URL=d.DASH_URL="DashURL";d.HLS_URL=d.HLS_URL="HlsURL";d.BASIS_URL=d.nda="BasisURL";d.CONTAINER=d.CONTAINER="Container";d.SELECTED_SCRIPT_URL=d.SELECTED_SCRIPT_URL="SelectedScriptURL";d.BASE_DIR_URL=d.BASE_DIR_URL="BaseDirURL";d.QUERY_STRING_PARAMETERS=
d.QUERY_STRING_PARAMETERS="QueryStringParameters";d.CURSORS_DIR_URL=d.CURSORS_DIR_URL="CursorsDirURL";d.BACKGROUND_PRELOAD_ENABLED=d.BACKGROUND_PRELOAD_ENABLED="BackgroundPreloadEnabled";d.ACTIVE_VIDEO_ELEMENT=d.ACTIVE_VIDEO_ELEMENT="ActiveVideoElement";d.SERVICE_WORKER_URL=d.SERVICE_WORKER_URL="ServiceWorkerURL";d.PINCH_TO_ZOOM_ENABLED=d.kAa="PinchToZoomEnabled";b.PlayerSettings=b.PlayerSettings=d;b.PlayerEvent=b.mQ=function(c,e,m,q){this.name=c;this.data=this.originalEvent=e;this.sourceClassName=
m[m.length-1];this.sourceClassPath=m;this.sourceId=q};a.prototype.oWa=function(c){this.Hr=c};a.prototype["delete"]=function(){this.Hr&&(this.Hr.clear(),this.Hr=null)};a.prototype.getById=a.prototype.XC=function(c){return this.Hr?this.Hr.TSa(c):null};a.prototype.getByClassName=a.prototype.xj=function(c){return this.Hr?this.Hr.xj(c):[]};a.prototype.createInstance=a.prototype.mq=function(c){return this.Hr.mq(c)};a.prototype.disposeInstance=a.prototype.BH=function(c){return this.Hr.BH(c)};a.prototype.bind=
a.prototype.bind=function(c,e,m,q){var p=c.split(":");c=p[0];p=1<p.length?p[1]:"*";this.Gc[c]=this.Gc[c]||{};this.Gc[c][p]=this.Gc[c][p]||[];this.Gc[c][p].push({handler:e,context:m,immediate:q});return this};a.prototype.unbind=a.prototype.unbind=function(c,e,m,q){var p=c.split(":");c=p[0];p=1<p.length?p[1]:"*";if(c in this.Gc&&p in this.Gc[c]){for(var n=[],r=this.Gc[c][p],t=0;t<r.length;t++){var u=r[t];u.handler==e&&u.context==m&&u.immediate==q||n.push(u)}this.Gc[c][p]=n}};a.prototype.bindOnObject=
function(c,e,m,q,p){return this.bind(e+":"+this.Q3(c),m,q,p)};a.prototype.unbindOnObject=function(c,e,m,q,p){return this.unbind(e+":"+this.Q3(c),m,q,p)};a.prototype.bindOnObjectsOf=function(c,e,m,q,p){return this.bind(e+":"+this.G3(c),m,q,p)};a.prototype.unbindOnObjectsOf=function(c,e,m,q,p){return this.unbind(e+":"+this.G3(c),m,q,p)};a.prototype.cookiesEnabled=a.prototype.CRa=!1;a.DEFAULT_PANORAMA_HFOV=a.hza=h.prototype.mobile?90:110;a.prototype.trigger=function(c){if(c.name in this.Gc){this.Kw(c,
!0);var e=this;setTimeout(function(){e.Kw(c,!1)},0)}};a.prototype.Kw=function(c,e){e=this.JGa(c,e);for(var m=0;m<e.length;m++)try{e[m].handler.call(e[m].context||window,c)}catch(q){console.log("Exception handling event "+(c&&c.name),q.message,q.stack)}};a.prototype.JGa=function(c,e){var m=[];if(c.name in this.Gc){for(var q=[],p=0;p<c.sourceClassPath.length;p++)q.push(this.G3(c.sourceClassPath[p]));c.sourceId&&q.push(this.Q3(c.sourceId));q.push("*");c=this.Gc[c.name];for(p=0;p<q.length;p++)for(var n=
c[q[p]]||[],r=0;r<n.length;r++)!!n[r].immediate==!!e&&m.push(n[r])}return m};a.prototype.Q3=function(c){return"instance("+c+")"};a.prototype.G3=function(c){return"className("+c+")"};b.Player=b.yea=a})();
var aa=this&&this.wYa||function(){function a(d,h){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,k){l.__proto__=k}||function(l,k){for(var b in k)Object.prototype.hasOwnProperty.call(k,b)&&(l[b]=k[b])};return a(d,h)}return function(d,h){function l(){this.constructor=d}if("function"!==typeof h&&null!==h)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");a(d,h);d.prototype=null===h?Object.create(h):(l.prototype=h.prototype,new l)}}();
define("jquery.mod",["require","jquery"],function(a){return a("jquery").noConflict(!0)});
(function(){var a=window.TDV||(window.TDV={});(function(){(function(){function d(D,K){return D.jDa?r(K).chain():K}function h(D){return"\\"+Z[D]}function l(D){function K(M){return D[M]}var P="(?:"+r.keys(D).join("|")+")",T=RegExp(P),I=RegExp(P,"g");return function(M){return M=null==M?"":""+M,T.test(M)?M.replace(I,K):M}}function k(D,K,P,T){if(D===K)return 0!==D||1/D===1/K;if(null==D||null==K)return D===K;D instanceof r&&(D=D.KC);K instanceof r&&(K=K.KC);var I=F.call(D);if(I!==F.call(K))return!1;switch(I){case "[object RegExp]":case "[object String]":return""+
D==""+K;case "[object Number]":return+D!==+D?+K!==+K:0===+D?1/+D===1/K:+D===+K;case "[object Date]":case "[object Boolean]":return+D===+K}I="[object Array]"===I;if(!I){if("object"!=typeof D||"object"!=typeof K)return!1;var M=D.constructor,X=K.constructor;if(M!==X&&!(r.isFunction(M)&&M instanceof M&&r.isFunction(X)&&X instanceof X)&&"constructor"in D&&"constructor"in K)return!1}P=P||[];T=T||[];for(M=P.length;M--;)if(P[M]===D)return T[M]===K;if(P.push(D),T.push(K),I){if(M=D.length,M!==K.length)return!1;
for(;M--;)if(!k(D[M],K[M],P,T))return!1}else{var Y;I=r.keys(D);if(M=I.length,r.keys(K).length!==M)return!1;for(;M--;)if(Y=I[M],!r.has(K,Y)||!k(D[Y],K[Y],P,T))return!1}return P.pop(),T.pop(),!0}function b(D,K,P,T,I){if(!(T instanceof K))return D.apply(P,I);K=m(D.prototype);D=D.apply(K,I);return r.WH(D)?D:K}function g(D,K,P,T){var I=[],M=0;T=T||0;for(var X=W(D);X>T;T++){var Y=D[T];if(c(Y)&&(r.isArray(Y)||r.isArguments(Y))){K||(Y=g(Y,K,P));var ba=0,da=Y.length;for(I.length+=da;da>ba;)I[M++]=Y[ba++]}else P||
(I[M++]=Y)}return I}function f(D){return function(K,P,T){var I={};return P=p(P,T),r.each(K,function(M,X){X=P(M,X,K);D(I,M,X)}),I}}function c(D){D=W(D);return"number"==typeof D&&0<=D&&N>=D}function e(D){return function(K){return null==K?void 0:K[D]}}function m(D){if(!r.WH(D))return{};if(Q)return Q(D);t.prototype=D;D=new t;return t.prototype=null,D}function q(D,K){return function(P){var T=arguments.length;if(2>T||null==P)return P;for(var I=1;T>I;I++)for(var M=arguments[I],X=D(M),Y=X.length,ba=0;Y>ba;ba++){var da=
X[ba];K&&void 0!==P[da]||(P[da]=M[da])}return P}}function p(D,K,P){return null==D?r.identity:r.isFunction(D)?n(D,K,P):r.WH(D)?r.bUa(D):r.Iwa(D)}function n(D,K,P){if(void 0===K)return D;switch(null==P?3:P){case 1:return function(T){return D.call(K,T)};case 2:return function(T,I){return D.call(K,T,I)};case 3:return function(T,I,M){return D.call(K,T,I,M)};case 4:return function(T,I,M,X){return D.call(K,T,I,M,X)}}return function(){return D.apply(K,arguments)}}function r(D){return D instanceof r?D:this instanceof
r?void(this.KC=D):new r(D)}function t(){}function u(D){return function(K,P,T,I){P=n(P,I,4);var M=!c(K)&&r.keys(K),X=(M||K).length,Y=0<D?0:X-1;3>arguments.length&&(T=K[M?M[Y]:Y],Y+=D);for(var ba=P,da=T;0<=Y&&X>Y;Y+=D){var ea=M?M[Y]:Y;da=ba(da,K[ea],ea,K)}return da}}function v(D){return function(K,P,T){P=p(P,T);T=W(K);for(var I=0<D?0:T-1;0<=I&&T>I;I+=D)if(P(K[I],I,K))return I;return-1}}function w(D,K,P){return function(T,I,M){var X=0,Y=W(T);if("number"==typeof M)0<D?X=0<=M?M:Math.max(M+Y,X):Y=0<=M?
Math.min(M+1,Y):M+Y+1;else if(P&&M&&Y)return M=P(T,I),T[M]===I?M:-1;if(I!==I)return M=K(E.call(T,X,Y),r.isNaN),0<=M?M+X:-1;for(M=0<D?X:Y-1;0<=M&&Y>M;M+=D)if(T[M]===I)return M;return-1}}function x(D,K){var P=O.length,T=D.constructor;T=r.isFunction(T)&&T.prototype||z;var I="constructor";for(r.has(D,I)&&!r.contains(K,I)&&K.push(I);P--;)I=O[P],I in D&&D[I]!==T[I]&&!r.contains(K,I)&&K.push(I)}var y=this,A=y._,B=Array.prototype,z=Object.prototype,C=B.push,E=B.slice,F=z.toString,G=z.hasOwnProperty,J=Array.isArray,
R=Object.keys,U=Function.prototype.bind,Q=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=r),exports._=r):y._=r;r.VERSION="1.8.3";var N=Math.pow(2,53)-1,W=e("length");r.each=r.forEach=function(D,K,P){K=n(K,P);var T;if(c(D))for(P=0,T=D.length;T>P;P++)K(D[P],P,D);else{var I=r.keys(D);P=0;for(T=I.length;T>P;P++)K(D[I[P]],I[P],D)}return D};r.map=function(D,K,P){K=p(K,P);P=!c(D)&&r.keys(D);for(var T=(P||D).length,I=Array(T),M=0;T>M;M++){var X=
P?P[M]:M;I[M]=K(D[X],X,D)}return I};r.reduce=u(1);r.reduceRight=u(-1);r.find=r.detect=function(D,K,P){var T;return T=c(D)?r.findIndex(D,K,P):r.ZRa(D,K,P),void 0!==T&&-1!==T?D[T]:void 0};r.filter=r.select=function(D,K,P){var T=[];return K=p(K,P),r.each(D,function(I,M,X){K(I,M,X)&&T.push(I)}),T};r.reject=function(D,K,P){return r.filter(D,r.negate(p(K)),P)};r.every=r.all=function(D,K,P){K=p(K,P);P=!c(D)&&r.keys(D);for(var T=(P||D).length,I=0;T>I;I++){var M=P?P[I]:I;if(!K(D[M],M,D))return!1}return!0};
r.some=r.any=function(D,K,P){K=p(K,P);P=!c(D)&&r.keys(D);for(var T=(P||D).length,I=0;T>I;I++){var M=P?P[I]:I;if(K(D[M],M,D))return!0}return!1};r.contains=r.includes=r.include=function(D,K,P,T){return c(D)||(D=r.values(D)),("number"!=typeof P||T)&&(P=0),0<=r.indexOf(D,K,P)};r.invoke=function(D,K){var P=E.call(arguments,2),T=r.isFunction(K);return r.map(D,function(I){var M=T?K:I[K];return null==M?M:M.apply(I,P)})};r.pluck=function(D,K){return r.map(D,r.Iwa(K))};r.max=function(D,K,P){var T,I=-1/0,M=
-1/0;if(null==K&&null!=D){D=c(D)?D:r.values(D);for(var X=0,Y=D.length;Y>X;X++)P=D[X],P>I&&(I=P)}else K=p(K,P),r.each(D,function(ba,da,ea){T=K(ba,da,ea);(T>M||T===-1/0&&I===-1/0)&&(I=ba,M=T)});return I};r.min=function(D,K,P){var T,I=1/0,M=1/0;if(null==K&&null!=D){D=c(D)?D:r.values(D);for(var X=0,Y=D.length;Y>X;X++)P=D[X],I>P&&(I=P)}else K=p(K,P),r.each(D,function(ba,da,ea){T=K(ba,da,ea);(M>T||1/0===T&&1/0===I)&&(I=ba,M=T)});return I};r.ZWa=function(D){for(var K=c(D)?D:r.values(D),P=K.length,T=Array(P),
I=0;P>I;I++)D=r.random(0,I),D!==I&&(T[I]=T[D]),T[D]=K[I];return T};r.sample=function(D,K,P){return null==K||P?(c(D)||(D=r.values(D)),D[r.random(D.length-1)]):r.ZWa(D).slice(0,Math.max(0,K))};r.sortBy=function(D,K,P){return K=p(K,P),r.pluck(r.map(D,function(T,I,M){return{value:T,index:I,Usa:K(T,I,M)}}).sort(function(T,I){var M=T.Usa,X=I.Usa;if(M!==X){if(M>X||void 0===M)return 1;if(X>M||void 0===X)return-1}return T.index-I.index}),"value")};r.groupBy=f(function(D,K,P){r.has(D,P)?D[P].push(K):D[P]=[K]});
f(function(D,K,P){D[P]=K});f(function(D,K,P){r.has(D,P)?D[P]++:D[P]=1});r.toArray=function(D){return D?r.isArray(D)?E.call(D):c(D)?r.map(D,r.identity):r.values(D):[]};r.size=function(D){return null==D?0:c(D)?D.length:r.keys(D).length};r.first=r.head=function(D,K,P){return null==D?void 0:null==K||P?D[0]:r.initial(D,D.length-K)};r.initial=function(D,K,P){return E.call(D,0,Math.max(0,D.length-(null==K||P?1:K)))};r.last=function(D,K,P){return null==D?void 0:null==K||P?D[D.length-1]:r.rest(D,Math.max(0,
D.length-K))};r.rest=function(D,K,P){return E.call(D,null==K||P?1:K)};r.compact=function(D){return r.filter(D,r.identity)};r.flatten=function(D,K){return g(D,K,!1)};r.without=function(D){return r.difference(D,E.call(arguments,1))};r.uniq=r.unique=function(D,K,P,T){r.isBoolean(K)||(T=P,P=K,K=!1);null!=P&&(P=p(P,T));T=[];for(var I=[],M=0,X=W(D);X>M;M++){var Y=D[M],ba=P?P(Y,M,D):Y;K?(M&&I===ba||T.push(Y),I=ba):P?r.contains(I,ba)||(I.push(ba),T.push(Y)):r.contains(T,Y)||T.push(Y)}return T};r.union=function(){return r.uniq(g(arguments,
!0,!0))};r.intersection=function(D){for(var K=[],P=arguments.length,T=0,I=W(D);I>T;T++){var M=D[T];if(!r.contains(K,M)){for(var X=1;P>X&&r.contains(arguments[X],M);X++);X===P&&K.push(M)}}return K};r.difference=function(D){var K=g(arguments,!0,!0,1);return r.filter(D,function(P){return!r.contains(K,P)})};r.zip=function(){return r.BXa(arguments)};r.BXa=function(D){for(var K=D&&r.max(D,W).length||0,P=Array(K),T=0;K>T;T++)P[T]=r.pluck(D,T);return P};r.object=function(D,K){for(var P={},T=0,I=W(D);I>T;T++)K?
P[D[T]]=K[T]:P[D[T][0]]=D[T][1];return P};r.findIndex=v(1);r.$Ra=v(-1);r.sortedIndex=function(D,K,P,T){P=p(P,T,1);K=P(K);T=0;for(var I=W(D);I>T;){var M=Math.floor((T+I)/2);P(D[M])<K?T=M+1:I=M}return T};r.indexOf=w(1,r.findIndex,r.sortedIndex);r.lastIndexOf=w(-1,r.$Ra);r.range=function(D,K,P){null==K&&(K=D||0,D=0);P=P||1;K=Math.max(Math.ceil((K-D)/P),0);for(var T=Array(K),I=0;K>I;I++,D+=P)T[I]=D;return T};r.bind=function(D,K){function P(){return b(D,P,K,this,T.concat(E.call(arguments)))}if(U&&D.bind===
U)return U.apply(D,E.call(arguments,1));if(!r.isFunction(D))throw new TypeError("Bind must be called on a function");var T=E.call(arguments,2);return P};r.Eba=function(D){function K(){for(var T=0,I=P.length,M=Array(I),X=0;I>X;X++)M[X]=P[X]===r?arguments[T++]:P[X];for(;T<arguments.length;)M.push(arguments[T++]);return b(D,K,this,this,M)}var P=E.call(arguments,1);return K};r.bindAll=function(D){var K,P=arguments.length;if(1>=P)throw Error("bindAll must be passed function names");for(K=1;P>K;K++){var T=
arguments[K];D[T]=r.bind(D[T],D)}return D};r.memoize=function(D,K){function P(T){var I=P.cache,M=""+(K?K.apply(this,arguments):T);return r.has(I,M)||(I[M]=D.apply(this,arguments)),I[M]}return P.cache={},P};r.delay=function(D,K){var P=E.call(arguments,2);return setTimeout(function(){return D.apply(null,P)},K)};r.defer=r.Eba(r.delay,r,1);r.throttle=function(D,K,P){function T(){ba=!1===P.$Ta?0:r.now();Y=null;X=D.apply(I,M);Y||(I=M=null)}var I,M,X,Y=null,ba=0;P||={};return function(){var da=r.now();ba||
!1!==P.$Ta||(ba=da);var ea=K-(da-ba);return I=this,M=arguments,0>=ea||ea>K?(Y&&(clearTimeout(Y),Y=null),ba=da,X=D.apply(I,M),Y||(I=M=null)):Y||!1===P.jZa||(Y=setTimeout(T,ea)),X}};r.debounce=function(D,K,P){function T(){var da=r.now()-Y;K>da&&0<=da?I=setTimeout(T,K-da):(I=null,P||(ba=D.apply(X,M),I||(X=M=null)))}var I,M,X,Y,ba;return function(){X=this;M=arguments;Y=r.now();var da=P&&!I;return I||=setTimeout(T,K),da&&(ba=D.apply(X,M),X=M=null),ba}};r.wrap=function(D,K){return r.Eba(K,D)};r.negate=
function(D){return function(){return!D.apply(this,arguments)}};r.compose=function(){var D=arguments,K=D.length-1;return function(){for(var P=K,T=D[K].apply(this,arguments);P--;)T=D[P].call(this,T);return T}};r.after=function(D,K){return function(){return 1>--D?K.apply(this,arguments):void 0}};r.before=function(D,K){var P;return function(){return 0<--D&&(P=K.apply(this,arguments)),1>=D&&(K=null),P}};r.once=r.Eba(r.before,2);var H=!{toString:null}.propertyIsEnumerable("toString"),O="valueOf isPrototypeOf toString propertyIsEnumerable hasOwnProperty toLocaleString".split(" ");
r.keys=function(D){if(!r.WH(D))return[];if(R)return R(D);var K=[],P;for(P in D)r.has(D,P)&&K.push(P);return H&&x(D,K),K};r.W$=function(D){if(!r.WH(D))return[];var K=[],P;for(P in D)K.push(P);return H&&x(D,K),K};r.values=function(D){for(var K=r.keys(D),P=K.length,T=Array(P),I=0;P>I;I++)T[I]=D[K[I]];return T};r.invert=function(D){for(var K={},P=r.keys(D),T=0,I=P.length;I>T;T++)K[D[P[T]]]=P[T];return K};r.functions=r.methods=function(D){var K=[],P;for(P in D)r.isFunction(D[P])&&K.push(P);return K.sort()};
r.extend=q(r.W$);r.kta=r.assign=q(r.keys);r.ZRa=function(D,K,P){K=p(K,P);var T;P=r.keys(D);for(var I=0,M=P.length;M>I;I++)if(T=P[I],K(D[T],T,D))return T};r.HY=function(D,K,P){var T,I,M={},X=D;if(null==X)return M;r.isFunction(K)?(I=r.W$(X),T=n(K,P)):(I=g(arguments,!1,!1,1),T=function(ia,fa,ha){return fa in ha},X=Object(X));for(var Y=0,ba=I.length;ba>Y;Y++){var da=I[Y],ea=X[da];T(ea,da,X)&&(M[da]=ea)}return M};r.defaults=q(r.W$,!0);r.create=function(D,K){D=m(D);return K&&r.kta(D,K),D};r.clone=function(D){return r.WH(D)?
r.isArray(D)?D.slice():r.extend({},D):D};r.tap=function(D,K){return K(D),D};r.MTa=function(D,K){var P=r.keys(K),T=P.length;if(null==D)return!T;D=Object(D);for(var I=0;T>I;I++){var M=P[I];if(K[M]!==D[M]||!(M in D))return!1}return!0};r.isEqual=function(D,K){return k(D,K)};r.isEmpty=function(D){return null==D?!0:c(D)&&(r.isArray(D)||r.isString(D)||r.isArguments(D))?0===D.length:0===r.keys(D).length};r.isElement=function(D){return!(!D||1!==D.nodeType)};r.isArray=J||function(D){return"[object Array]"===
F.call(D)};r.WH=function(D){var K=typeof D;return"function"===K||"object"===K&&!!D};r.each("Arguments Function String Number Date RegExp Error".split(" "),function(D){r["is"+D]=function(K){return F.call(K)==="[object "+D+"]"}});r.isArguments(arguments)||(r.isArguments=function(D){return r.has(D,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(r.isFunction=function(D){return"function"==typeof D||!1});r.isFinite=function(D){return isFinite(D)&&!isNaN(parseFloat(D))};r.isNaN=function(D){return r.isNumber(D)&&
D!==+D};r.isBoolean=function(D){return!0===D||!1===D||"[object Boolean]"===F.call(D)};r.isNull=function(D){return null===D};r.isUndefined=function(D){return void 0===D};r.has=function(D,K){return null!=D&&G.call(D,K)};r.noConflict=function(){return y._=A,this};r.identity=function(D){return D};r.constant=function(D){return function(){return D}};r.noop=function(){};r.Iwa=e;r.bUa=r.matches=function(D){return D=r.kta({},D),function(K){return r.MTa(K,D)}};r.times=function(D,K,P){var T=Array(Math.max(0,
D));K=n(K,P,1);for(P=0;D>P;P++)T[P]=K(P);return T};r.random=function(D,K){return null==K&&(K=D,D=0),D+Math.floor(Math.random()*(K-D+1))};r.now=Date.now||function(){return(new Date).getTime()};J={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};var L=r.invert(J);r.escape=l(J);r.unescape=l(L);r.result=function(D,K,P){K=null==D?void 0:D[K];return void 0===K&&(K=P),r.isFunction(K)?K.call(D):K};var S=0;r.uniqueId=function(D){var K=++S+"";return D?D+K:K};r.tXa={evaluate:/<%([\s\S]+?)%>/g,
DTa:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var V=/(.)^/,Z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},ca=/\\|'|\r|\n|\u2028|\u2029/g;r.template=function(D,K,P){function T(Y){return X.call(this,Y,r)}!K&&P&&(K=P);K=r.defaults({},K,r.tXa);var I=0,M="__p+='";D.replace(RegExp([(K.escape||V).source,(K.DTa||V).source,(K.evaluate||V).source].join("|")+"|$","g"),function(Y,ba,da,ea,ia){return M+=D.slice(I,ia).replace(ca,h),I=ia+Y.length,ba?M+="'+\n((__t=("+ba+"))==null?'':_.escape(__t))+\n'":
da?M+="'+\n((__t=("+da+"))==null?'':__t)+\n'":ea&&(M+="';\n"+ea+"\n__p+='"),Y});M+="';\n";K.Nya||(M="with(obj||{}){\n"+M+"}\n");M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{var X=new Function(K.Nya||"obj","_",M)}catch(Y){throw Y.source=M,Y;}return T.source="function("+(K.Nya||"obj")+"){\n"+M+"}",T};r.chain=function(D){D=r(D);return D.jDa=!0,D};r.mixin=function(D){r.each(r.functions(D),function(K){var P=r[K]=D[K];r.prototype[K]=
function(){var T=[this.KC];return C.apply(T,arguments),d(this,P.apply(r,T))}})};r.mixin(r);r.each("pop push reverse shift sort splice unshift".split(" "),function(D){var K=B[D];r.prototype[D]=function(){var P=this.KC;return K.apply(P,arguments),"shift"!==D&&"splice"!==D||0!==P.length||delete P[0],d(this,P)}});r.each(["concat","join","slice"],function(D){var K=B[D];r.prototype[D]=function(){return d(this,K.apply(this.KC,arguments))}});r.prototype.value=function(){return this.KC};r.prototype.valueOf=
r.prototype.toJSON=r.prototype.value;r.prototype.toString=function(){return""+this.KC};"function"==typeof define&&define.NYa&&define("ov",[],function(){return r})}).call(this)}).call(a)})();define("underscore-min",function(){});define("dY",["require","underscore-min"],function(a){a("underscore-min");return window.TDV._.noConflict()});
define("og",["require","exports"],function(){return{G:function(a){return a+"_change"},ve:"default",ub:"mouseDown",ec:"mouseMove",$b:"mouseUp",Jq:"mouseWheel",oa:"click",Vl:"doubleClick",$c:"rollOver",ac:"rollOut",Vz:"mouseEnter",Jo:"mouseLeave",Wl:"pointerOver",cYa:"pointerOut",U_:"pointerDown",V_:"pointerUp",Ij:"pointerClick",iw:"gestureStart",C_:"gestureChange",VD:"gestureEnd",Fza:"gestureRotate",WD:"gestureScale",rc:"progress",RD:"close",OPEN:"open",mn:"select",fc:"resize",XP:"changing",sa:"change",
ge:"stateChange",Kk:"cueChange",KI:"preloaded",aa:"loaded",Fc:"loadingError",pn:"start",wf:"stop",rw:"play",eE:"pause",Qz:"frame",Rc:"ready",Dq:"begin",rb:"end",QXa:"cancel",Jj:"press",Xl:"release",Pq:"repeatEnd",Lo:"scroll",Wda:"movementChange",PXa:"beforeShow",$ya:"beforeHide",INIT:"init",hd:"show",od:"hide",MI:"showEnd",FI:"hideEnd",Oza:"loadingScript",pAa:"processingScript",UD:"enableCookies",Wya:"applicationSet",gE:"userInteraction",Vea:"userInteractionStart",Uea:"userInteractionEnd",g0:"transitionEnd",
CAa:"toolTipShow",Jea:"toolTipHide",et:"positionSet",Bea:"sizeSet"}});define("cu",["require","exports"],function(){return function(){return function(a,d){void 0===d&&(d=void 0);this.name=a;this.data=d;this.source=void 0}}()});
define("bn",["require"],function(){return[123,34,70,97,100,101,73,110,69,102,102,101,99,116,34,58,32,256,112,114,111,112,101,114,116,105,101,115,270,272,125,44,32,34,112,97,114,101,110,269,271,34,264,266,268,34,286,288,80,104,111,116,111,65,108,98,117,109,80,108,97,121,76,105,115,116,73,116,101,109,284,273,275,277,279,281,283,271,256,109,101,100,105,97,326,34,116,121,277,284,34,304,306,308,310,312,301,287,289,315,121,278,340,342,344,296,347,307,309,311,313,355,357,125,302,289,291,293,295,303,355,
318,320,322,324,352,288,81,117,259,72,306,115,112,306,80,97,110,111,114,97,109,97,79,118,278,355,77,97,112,340,274,276,278,280,282,326,370,290,292,294,345,383,385,387,389,116,391,393,395,397,399,401,316,73,397,103,101,66,97,115,101,381,34,86,105,260,111,51,54,48,82,282,111,117,114,99,437,333,289,328,409,331,340,115,117,98,280,116,108,282,85,82,76,358,343,453,288,320,114,105,110,103,34,353,319,85,114,108,284,116,114,117,101,370,465,400,108,332,272,341,471,345,291,395,121,91,440,442,444,446,448,450,
452,76,101,492,93,438,103,97,476,340,260,102,97,117,108,374,49,353,359,472,34,110,312,98,368,353,104,435,65,117,337,111,518,101,520,522,374,486,488,526,497,296,98,111,111,484,369,353,414,373,345,503,101,443,445,447,115,449,451,101,510,492,438,314,316,98,97,99,107,434,114,406,456,330,411,454,574,114,434,576,103,275,117,110,100,67,553,394,68,105,292,268,105,111,110,470,360,288,293,312,91,305,475,122,602,116,97,108,287,400,330,99,615,513,370,320,101,112,83,535,100,111,119,604,528,551,553,438,436,465,
268,336,83,323,626,628,630,632,345,634,554,556,355,104,101,259,587,107,589,449,592,594,108,394,82,97,280,111,494,256,527,498,114,500,91,530,109,532,114,622,353,637,267,323,100,641,625,87,441,116,104,646,296,394,673,531,278,287,329,452,294,678,288,585,66,394,260,114,663,337,117,667,496,605,529,694,579,413,651,653,683,644,119,83,274,718,690,288,674,676,636,642,703,114,705,707,105,709,725,713,675,533,473,730,575,656,590,659,595,114,597,599,665,603,454,669,296,607,109,609,394,105,612,294,615,617,457,
620,108,700,34,680,639,683,642,627,259,630,79,290,99,105,342,737,727,740,769,101,638,682,684,112,731,705,83,760,472,668,549,726,714,636,786,681,640,773,720,386,611,613,615,510,477,688,782,799,623,801,771,789,655,657,591,593,747,663,665,710,754,288,499,316,693,739,677,438,100,450,664,601,752,495,827,738,728,716,316,652,259,774,629,119,777,575,780,121,813,832,729,625,848,630,722,292,259,855,843,679,804,775,119,86,765,809,293,103,812,753,797,842,784,624,112,851,779,781,876,712,783,715,650,845,718,791,
278,734,736,885,528,887,438,112,717,847,720,660,394,737,99,747,800,787,803,858,720,66,108,450,894,826,877,898,370,702,704,278,904,579,896,345,907,661,888,288,900,890,902,868,870,619,872,811,689,927,296,920,679,816,788,730,923,114,925,906,908,623,867,849,806,760,808,108,810,874,941,840,919,814,353,585,882,853,864,784,933,121,846,719,868,957,761,614,960,873,875,964,886,966,741,685,687,963,796,712,692,887,696,278,698,116,768,973,975,892,950,908,942,288,929,905,844,974,718,686,100,983,991,528,993,714,
995,567,699,438,922,732,278,793,122,795,711,897,986,34,702,743,820,746,930,824,601,918,712,829,501,887,999,901,100,1002,1026,1028,841,944,473,946,911,405,1005,46,878,931,769,955,630,951,1057,1007,1059,770,947,625,819,745,822,930,737,692,1042,91,1065,93,287,1078,1022,291,1070,658,1072,905,1057,1075,671,830,1078,1080,747,768,880,1084,821,1063,984,1016,114,91,1076,1092,32,1081,1009,975,859,631,1057,648,899,1046,72,101,105,103,104,374,1015,345,1017,832,1019,997,1095,742,588,1071,925,1038,666,737,1076,
1044,857,112,1116,1118,1120,1074,1102,994,32,697,373,1095,1054,772,1069,949,917,971,1066,1150,818,1034,1131,747,749,681,838,737,756,758,807,762,616,32,618,280,766,1128,912,868,914,916,259,735,1040,1030,856,954,1176,849,969,884,1100,345,1052,785,910,1151,643,868,861,724,1057,1192,1E3,718,1188,854,1200,1031,1202,935,849,1178,706,1180,895,1190,943,1031,1067,1055,1140,1119,1121,1029,1123,1144,1018,1146,996,1148,1114,934,1047,1159,1085,925,1162,600,602,1165,674,1167,958,1169,764,938,767,1138,1002,1099,
1122,296,1065,1247,949,1049,1155,909,802,1195,1110,1249,1223,1251,953,889,1010,654,1233,1098,1004,1215,288,1089,672,1105,1107,866,625,1182,1191,1217,1157,1061,869,871,981,940,1256,413,666,780,1164,1206,1184,945,1194,789,1204,1288,413,372,416,296,85,73,594,109,389,110,558,370,560,562,506,565,508,568,511,786,580,408,582,667,1300,415,374,439,441,561,564,566,509,114,1318,649,375,316,377,321,323,325,454,1318,294,710,320,276,340,319,68,542,278,292,100,485,487,489,866,291,1222,1348,1350,671,336,1354,488,
921,101,103,517,454,1360,266,1362,1353,271,546,1356,606,592,1347,115,74,1349,1372,1352,1364,489,1324,558,296,434,436,79,98,106,681,479,932,581,410,710,335,337,339,1057,77,336,338,729,664,1050,877,1166,1345,112,277,100,287,320,1358,476,103,696,355,1420,1417,307,1414,1420,768,315,532,484,1057,474,1420,301,555,288,722,652,292,77,111,260,108,51,68,1392,1394,300,454,407,329,1399,340,1252,454,519,521,523,345,35,265,1463,102,1396,1262,1006,1264,288,395,708,710,1458,544,284,53,548,985,1294,288,397,120,1154,
1293,865,288,260,112,688,84,282,1222,1474,1460,1375,1355,1478,633,552,1334,34,109,476,1484,1271,1058,1436,556,1301,1326,69,120,323,114,110,615,1442,1444,1446,1448,1395,370,418,100,386,116,388,390,392,394,396,398,618,355,1320,1453,458,333,1387,1302,288,1526,1528,422,1530,425,1533,428,854,1523,384,1525,420,1529,424,1532,427,483,429,431,433,435,1028,1342,1527,340,104,1328,1380,1382,1351,1363,1496,1365,679,305,1111,495,1371,1572,1374,32,1376,1437,371,1325,345,1390,101,1521,300,556,1398,1538,495,276,852,
1189,256,1494,524,1498,1280,1480,34,337,1418,110,452,1288,480,1561,737,430,97,432,1330,1316,1230,121,574,576,80,1290,751,1279,296,1076,1524,423,1531,426,1534,316,572,1621,743,1624,115,1291,602,768,1172,105,452,1627,828,1090,501,1631,1547,1624,476,998,1436,370,84,104,531,1516,105,960,319,1222,1565,710,99,535,477,1028,1580,1373,1385,1585,557,1541,34,1304,1306,1308,558,1593,1321,1454,454,275,108,108,1558,379,313,259,337,477,84,1346,1485,784,780,324,76,97,1431,70,613,87,1117,1221,1239,608,551,108,1416,
32,1712,705,287,108,1141,1514,287,49,48,48,287,50,1724,287,51,1728,32,52,1731,53,1731,445,1725,32,55,1731,56,1731,57,1731,424,397,1246,370,1700,1692,100,1694,103,1696,1056,1506,1192,1218,100,1691,1097,1036,662,837,1134,1057,1136,714,768,1687,1689,618,1691,1702,1431,1491,1513,1110,1298,1698,1059,1750,1775,786,1777,116,1110,937,1173,939,962,1611,1470,553,1772,278,1761,949,510,102,116,1505,1250,798,1605,1771,1690,1339,1002,703,116,307,109,82,1720,1803,1467,1507,490,316,449,1222,841,1166,1644,766,287,
610,1242,980,768,1750,1002,1815,1221,1261,841,1252,815,1194,1798,1024,586,306,1813,1835,1120,1817,1051,1031,1807,1773,1339,1784,108,1786,1260,1270,1804,34,1839,1295,1258,1691,1658,1660,516,108,1779,778,970,1781,1257,771,1842,705,1755,1849,965,1605,1759,1876,893,1720,1837,877,1862,1794,1688,1808,324,1834,1720,1255,1873,1749,1339,1110,737,1113,370,1852,1797,1809,1268,1763,926,1506,1273,1091,1094,1093,930,1770,1795,1891,109,1002,1755,1895,1757,1031,1783,1703,1785,101,1778,720,1780,1922,1605,1750,391,
1752,1420,1847,1823,1880,1486,1193,1864,1339,1866,675,1661,1869,720,1789,1645,1791,1014,1818,1192,1903,114,1883,114,1755,1800,1802,1213,1647,1819,1863,1875,1854,1925,1856,1927,1787,1929,1871,1599,1953,1851,1916,1853,1892,1799,542,116,1886,712,1888,1941,1966,324,1934,1753,1960,1793,34,1833,949,1920,794,1992,1833,1906,1086,1908,1860,1910,501,1275,1094,438,1994,1843,1811,1813,1983,528,1985,1882,1809,1995,276,1937,1879,1479,1940,2009,705,1960,2013,928,1469,1993,1943,1659,1945,1868,403,120,1220,1142,1896,
679,99,1771,578,1930,1860,1758,2041,1795,578,1012,1952,1850,1881,1150,1691,1989,1420,2011,111,1340,1931,2023,2017,2010,1845,2059,1921,2045,1281,1841,1905,1130,1234,1161,598,1163,1238,1057,1166,1829,979,763,1171,1285,1045,1336,1664,737,1636,1337,2008,2031,1867,1662,2037,1938,2022,1699,2092,2033,1662,1110,978,959,961,2051,1939,784,1955,1957,1960,2067,1975,1932,2063,733,1894,1997,2039,1053,2070,1979,1843,1937,2112,2052,2062,1988,1693,2057,2065,2060,2068,2053,2121,109,1944,98,1946,1248,1859,1818,1985,
2024,1884,1221,2021,1183,1940,2016,2122,705,2027,1263,1073,1897,1701,1968,1857,805,759,2081,1286,1792,2119,1986,682,1865,2032,2138,1868,1110,1198,863,2165,2109,2115,1025,2118,2061,879,2054,2071,744,1085,2044,2113,2127,1918,949,2058,1814,1962,1998,1967,1431,1639,1641,839,1860,1166,465,1801,287,1426,287,475,1221,287,551,1812,2059,1149,2135,2137,1946,2102,2161,2104,982,990,2187,2181,2135,2186,2126,2223,1942,2151,278,2191,2153,1468,2155,480,2177,1958,276,2232,1861,2029,2176,324,2215,2171,720,1900,1500,
2091,324,1949,766,309,1118,2199,1818,1166,2210,1813,287,1503,1752,465,2204,276,1915,1890,1978,2189,2064,2211,109,2125,2107,1066,2047,1688,578,2103,1169,403,114,1368,2255,2226,1782,2099,2170,2101,2246,1112,2248,2156,1918,2E3,2225,2274,1874,2167,2195,786,1705,294,2273,992,1225,1125,32,1640,1027,513,480,115,1921,1584,353,2242,2136,2169,1946,2296,2097,1059,2317,1855,2159,977,2218,1169,2105,2221,2285,438,1568,260,83,2276,108,66,117,2211,110,1963,1901,2235,2229,2237,112,1960,2147,1604,2188,1855,70,591,
1237,2284,877,42,2249,2318,2093,2338,1254,2179,2133,2149,2182,2243,2319,1868,2321,2148,2098,2157,1776,1970,1858,1073,1064,2241,1977,1904,2375,2301,613,2239,1985,1826,615,2253,103,2357,712,2257,2131,2260,441,100,2263,1583,2265,2298,336,1957,1959,1981,2350,1216,2114,2346,2387,2029,1924,1431,2279,980,2391,2393,528,1166,997,695,32,2202,116,2206,1720,1832,2287,2139,1153,2193,2165,2414,786,71,404,1992,115,2337,578,440,1640,98,465,1710,757,1955,287,615,119,316,115,2266,1796,1956,2236,2412,2234,1889,2456,
1761,2E3,1132,1765,1963,1768,832,2455,1917,2353,1706,1708,2038,1506,2395,1713,2209,553,1717,2424,1720,2423,1723,1738,1727,1738,1730,1738,1733,1738,1735,1738,1737,287,1740,1738,1742,1738,1744,1738,1746,621,438,2317,1762,2001,1236,751,2447,1241,2162,1244,1790,1748,2345,2269,705,2191,2020,2433,2180,2323,2382,2457,324,2372,2351,2374,109,2472,2303,342,2446,2078,1240,780,615,1645,287,2503,2516,288,1750,2244,2289,868,2528,2409,1940,2317,2056,477,2191,2194,2369,2362,2549,1805,2188,2546,108,2050,2331,2297,
1840,2228,2361,2100,1947,868,2459,1008,2316,2525,1957,2408,2560,2227,1987,1751,1753,1755,2439,2368,2531,1968,2302,1982,2141,1838,2029,311,2341,2336,1771,85,1756,2003,1102,1076,692,1589,2339,2341,287,73,907,110,2605,307,110,93,1079,32,2603,1563,2611,602,2607,2609,2619,2613,2213,2568,1899,2291,635,2293,2507,2465,825,1135,1649,831,676,2429,2346,2111,2365,2222,1059,2080,959,2418,2511,2422,114,1718,1981,2427,1221,1095,2441,291,2573,2286,2557,2570,2336,615,101,1518,1410,2394,1240,393,1309,287,102,1662,
1170,2671,116,95,476,1640,260,2670,780,95,1822,2678,101,2680,2675,307,95,119,989,2686,95,2688,652,2428,2403,1760,2236,2191,2304,2373,1156,2135,1002,2026,2591,1887,2413,2236,1878,1816,2522,2366,2108,2576,1898,2290,1506,2344,2544,2236,2578,1964,2461,1917,2562,1110,1211,2723,1758,2586,1810,2131,2349,2713,2642,2505,2716,2346,2231,2707,1984,2709,2346,1878,2736,2332,2293,2325,1970,1349,907,395,2510,2536,608,821,401,476,2685,2616,1534,2760,1718,2760,45,688,590,1119,2541,602,101,768,2594,2612,2596,1795,1937,
1143,1103,2635,2617,436,2623,2621,602,2623,2614,287,2783,433,2340,2612,2786,2610,2793,1642,768,515,2599,2737,1902,2739,2582,1420,1991,2175,2804,2750,1928,936,1285,2330,2585,2214,2370,1662,1048,2641,2748,2040,2042,291,2281,2283,1992,2324,2588,613,641,121,2535,2476,2537,980,2540,32,2542,2638,2569,2288,2571,849,2251,1951,2565,2322,2697,1774,2158,2377,913,915,1212,1472,2556,109,2664,541,543,1495,726,394,1747,1466,1824,2667,2864,2082,688,2362,45,602,108,121,1718,1968,2873,110,2875,2840,2631,2074,750,1292,
2834,608,2644,1243,2083,1245,2840,2727,903,2742,2014,2029,2150,2587,2376,2811,956,2328,980,2814,2165,2899,2883,2379,1909,2601,2635,2006,1914,2360,2562,2140,2910,1860,1985,2506,2018,112,2657,2738,2267,2383,2518,278,2746,2856,2808,2927,2526,2929,706,2712,2932,2523,636,2655,114,2845,108,2825,1369,2940,2803,2934,2055,2129,477,2779,2907,2732,1980,1801,2730,1976,2950,2430,2245,1197,723,2174,2948,2575,2961,2659,2842,2819,1027,2827,2809,2851,2902,630,2729,2747,2566,1965,2299,2346,2959,1806,2804,2894,2548,
1973,1205,2967,2721,2384,108,2589,2701,1224,2636,2423,2309,2773,1466,319,2314,1355,2949,2462,2699,2131,2985,2188,2559,2724,34,2317,2917,949,2925,2567,2581,2705,1981,2997,2550,2530,2562,2035,2564,2815,2568,1893,2146,2980,2848,2630,2364,2973,2165,2609,323,294,851,113,488,2247,2629,2982,2404,2300,2995,2473,1720,2511,1716,2479,1713,2423,1719,1221,2484,1731,2487,1729,1731,2491,287,2493,287,2495,1739,1741,1743,1745,2869,2543,2030,2994,2589,258,1503,2875,737,1434,477,2926,3008,2984,1885,2896,2028,2460,3077,
2900,1926,2977,119,2979,2939,2714,1059,2775,602,2777,1688,2807,2911,2781,672,2791,2785,32,2608,2787,2797,2624,2790,1102,2604,3115,2795,2788,2625,3021,2923,3024,2579,2703,3031,2923,3019,3048,2698,2994,2326,849,3131,2725,2268,2988,2903,1168,2905,2220,3030,2581,2532,1787,2534,2665,2420,2835,2539,99,2771,114,1747,3123,2983,3094,1969,1513,2752,1531,2755,2887,757,2758,483,2764,2762,2759,2669,2482,1309,2767,104,2769,104,2771,1309,3158,3049,2128,1935,2953,3053,2955,2816,2362,2627,2719,2292,3132,2168,3190,
2853,1179,3099,2802,2517,3147,3137,3093,2416,2390,3059,2419,345,2421,373,3058,2651,32,2207,1120,2470,2268,2810,116,3163,2754,2886,2200,1240,3168,1719,3173,111,2763,3173,3227,101,3176,3178,3180,3002,3007,2471,2829,2303,2820,877,1124,676,1417,794,2311,2544,2313,2179,2315,701,3115,3104,108,68,630,3208,691,2912,3109,3118,2618,3120,3112,2622,3115,2789,2616,3263,2784,3265,3113,2796,2341,2614,2360,2553,103,3106,3100,2360,2733,2271,2735,3199,2821,2120,2568,3219,1788,2813,3144,2933,3087,2841,2216,1948,3293,
1287,2434,2962,2547,849,2173,1582,3282,3036,1843,3286,1181,2974,2969,3297,2963,3136,3090,2154,2574,3138,2928,2507,3013,2731,2704,2190,3010,3034,2702,3086,1917,3284,1813,3311,1214,3308,2517,3140,2978,2854,3011,2715,3314,1919,2019,2938,3312,3188,3129,1843,3126,1819,1585,1651,1532,67,396,278,1403,495,1452,457,583,285,1509,1587,296,82,306,1765,1516,108,3357,335,395,571,305,307,2089,2087,1451,1594,3364,256,1750,2467,2635,362,111,3380,378,1339,622,1540,1326,3391,269,370,594,111,107,331,1624,1719,99,2991,
327,1684,1595,256,450,1432,1506,3084,478,2312,482,3413,3252,34,432,111,589,404,1568,99,65,862,2780,1076,3415,2615,3432,1508,932,1510,1588,1563,1591,3398,353,1543,421,3355,1633,1549,1615,432,1536,3363,1323,3366,1388,1542,1554,1545,1556,3446,1559,121,3448,1562,436,438,403,112,3397,1691,3450,1322,340,1401,1407,1404,2438,1009,357,3475,3467,367,715,3395,345,3468,1339,438,1312,67,3045,1341,400,1343,340,532,2826,1370,1381,1361,1384,1574,1377,34,293,3307,1993,3498,1383,1573,1583,3006,3483,1389,3439,1393,
1395,1683,1537,3384,3503,592,84,105,335,2439,614,279,3522,3524,1896,1585,440,101,119,278,3428,653,3472,101,688,1443,710,973,412,1509,709,795,954,1697,3365,1470,1492,1358,412,3512,288,1679,2059,1681,416,3517,3451,459,461,463,465,115,3135,1062,3318,2233,3320,354,573,743,578,80,275,589,282,115,3324,1207,355,1622,577,291,2095,2780,1145,1147,1021,623,3564,780,3566,2378,1087,1506,1985,486,392,1640,751,2859,2756,757,2445,3504,1424,32,520,260,2682,2340,95,3612,101,2676,2613,438,118,114,2437,1027,1653,294,
278,72,1328,3528,3150,2529,1059,407,3579,115,115,3323,2990,1992,1607,553,400,84,395,2342,2198,68,836,3165,3337,1397,3423,292,3637,2972,3632,3025,3101,3115,564,3526,2096,1101,3108,830,3110,3273,3267,3276,2615,3668,2606,3266,3114,3671,899,3578,3655,3638,1083,2464,3570,34,2004,1077,1912,1106,2007,3593,462,3595,282,2555,1088,2306,3245,1227,1020,1655,1009,3585,578,318,400,68,395,103,2283,478,2628,1501,973,3703,291,3369,2934,597,388,1535,3712,1022,465,592,1420,3645,3602,3648,3650,3223,3200,932,3584,3575,
3682,2072,1269,2919,1818,3686,2914,394,768,620,732,551,291,100,3626,1514,3203,3102,110,1636,391,3546,3430,2782,3271,2792,3674,3274,3122,3117,91,3119,3762,3670,2612,3277,3702,3735,114,1116,1209,3340,3198,3348,2992,3573,1637,576,2278,891,3683,3739,841,3741,3688,1276,288,3622,3750,1025,946,838,1261,1601,1461,265,54,1737,2866,2708,3092,3714,3773,3281,3740,3697,2423,3591,3701,1265,3715,114,3577,3654,3580,2909,596,2075,2356,2511,2889,980,2514,1950,3076,3753,1696,3709,465,83,3594,464,3519,3788,3261,3667,
3760,3111,3763,3268,3672,3842,3669,3676,3770,1095,450,520,452,447,1173,3834,3796,602,3798,542,1459,1326,1462,1464,1465,1603,3319,3634,3734,3783,291,3818,3636,3638,3037,3658,3127,636,3836,3566,3657,1992,3753,1636,3758,3262,3766,3264,3768,3849,2798,3765,3767,2794,3675,3275,3850,3879,114,3853,101,3855,1645,465,2186,3799,271,48,46,54,3867,3878,3691,3565,3694,3018,3684,2015,3880,282,1786,3221,3371,2511,3226,3170,3229,3172,2761,3232,3234,449,2770,2838,2772,2085,3782,3586,586,3786,3822,2885,2077,3166,2512,
959,3828,1174,1022,3254,1426,3886,3841,3888,3272,3890,3897,3892,3270,3955,3761,3895,3844,3677,3772,3871,3774,718,3191,1860,2720,3781,3816,3775,976,3317,3787,3805,3572,1607,973,1696,553,280,112,262,3835,3900,575,101,83,3858,2255,3907,3510,547,288,841,3972,3807,3967,1834,3329,3633,3879,3692,3837,115,3279,3809,3288,3973,3773,2954,3107,3590,1228,3592,679,3920,2313,2718,3971,3193,3653,3874,3588,3696,2999,2649,3699,1127,1620,3816,3873,3680,3821,1212,2633,1767,2635,1137,3914,3693,115,69,1516,3608,3505,3995,
1376,3912,1032,4025,34,3793,111,1654,924,2141,3995,34,3864,1464,3804,2743,3092,460,3989,3854,3539,3904,3991,3993,3906,3861,1475,271,525,3998,2981,4026,3680,4011,3243,3811,4031,3813,3937,3816,3695,4016,1226,4089,3678,3819,3656,3736,2184,3738,1764,4040,1506,2468,2637,3621,3817,4058,3627,748,1664,392,1610,1457,4077,2862,50,4053,1758,4021,3279,4092,3652,3503,1513,278,3372,1636,3816,2088,3870,3939,4034,3773,3975,4003,3287,4082,4013,3967,3975,3029,4029,4017,3700,4090,4135,1203,3640,2907,4021,3568,3097,
3341,4004,3659,4096,3874,2918,3598,2920,2029,4057,4059,114,1558,3860,2861,3863,1724,55,575,99,4066,2897,3806,3679,3820,2432,4138,3035,3815,3773,3639,1598,3407,3732,4125,1514,4128,4178,4098,2002,1818,4036,3820,291,4134,4141,3969,2160,3142,2846,1992,3745,100,3747,732,3794,4111,1608,4114,3780,3635,4037,291,3582,1605,4001,3939,3882,2165,4164,4110,3992,787,838,3631,2860,3862,284,49,3063,4081,4182,288,2671,114,320,3727,3647,751,3649,3222,3944,4124,460,4007,3566,3279,2584,2165,4215,4197,3737,1907,1133,3387,
672,4043,4183,3967,4196,3656,4180,3779,4124,4220,2049,989,3589,4094,4018,3814,3733,3574,3967,4218,2149,4021,2217,4203,2163,2106,4236,769,4021,2437,2801,4012,307,117,1668,1558,3536,97,2661,2833,1600,4116,1602,4235,3330,370,3601,2342,315,751,4241,3603,838,722,101,3509,4124,4206,4208,3749,4109,1514,4226,2076,110,3203,4248,3915,3567,2852,2327,4283,2906,4214,4192,3681,1844,2123,4156,3913,4020,4249,3694,2295,4150,4333,4097,3681,4256,2508,3823,3651,2256,1240,3826,2082,2389,3076,4326,4045,3079,396,1662,4187,
841,3415,4006,4327,2728,4155,4181,4304,4340,4327,4038,952,3806,4132,3784,654,3917,3978,4067,3572,4306,115,4308,4228,3646,4311,602,4244,3924,4151,4341,3581,4344,4268,4377,3587,3785,4348,1235,4350,3731,2867,2888,2904,4355,2084,4199,3939,3975,3292,1245,4332,4268,4334,4279,972,4398,3817,4334,4374,4029,1104,3790,3690,4372,4045,4413,2515,4415,4188,4358,4008,2944,2646,3606,91,2205,32,2261,2399,2761,2258,2212,3899,3901,3903,99,465,4168,4231,296,4064,1463,4175,3091,3980,319,3982,1500,3985,262,1696,4293,104,
2596,4314,2342,3046,3713,4422,4099,1035,4349,3943,3259,1378,4406,4283,3948,2504,413,4334,4015,2600,4030,1126,1229,921,3115,3756,3464,4424,3759,3961,3843,3769,3959,3673,3963,4499,2624,4410,4378,1525,2474,3664,2998,4145,4033,4305,4388,3729,4245,4478,3014,4434,3596,1972,4186,2439,4021,3205,108,4437,3945,2425,1080,3211,4031,3215,4275,341,4388,4386,602,4310,2198,4047,1703,465,3505,3999,4055,4519,3921,4329,1187,4396,4188,4220,641,1409,2511,1413,1415,1422,316,3610,290,3546,100,768,629,461,4451,3405,107,
65,3824,4115,4169,345,307,3833,3618,102,522,493,2041,4469,4457,755,1240,4576,103,465,3616,4580,2440,292,293,3236,3851,4394,3279,4486,4433,4021,2996,3242,2305,4488,2308,3247,4158,4216,4401,3684,3789,1914,1913,3743,4608,4197,4336,2152,3918,2029,4269,4399,3776,721,2965,4544,4139,4547,4328,3096,2944,4432,4012,4254,4265,2271,4272,2307,4095,370,4317,111,3748,4210,4322,2356,4229,4253,4473,4618,2178,3038,3780,4629,2589,3203,4622,3968,1267,4610,1037,2466,2634,4260,1769,4505,4623,1047,3876,1992,4658,4412,4521,
883,4363,4139,4658,4264,3875,1843,4325,4152,3549,4487,4511,4490,4428,4008,2589,1707,3187,3945,3055,1715,2480,3058,2483,4031,2485,1726,1731,2489,287,3066,32,3068,32,3070,2497,287,2499,287,2501,3155,3157,4366,4359,2830,3149,2511,2538,3405,4715,4483,4262,4221,4380,4161,2142,953,1585,3522,4543,3462,1618,567,569,1319,3382,3409,3519,275,119,594,591,4509,4157,4641,553,4745,1541,3308,3555,34,4735,507,4737,1333,438,83,1719,260,79,2340,298,1395,4740,3518,826,540,4438,4529,2401,112,2652,1120,2479,2271,3394,
3453,1677,4766,300,370,703,120,2664,1445,1447,3515,1450,495,1666,406,1625,4312,3539,1570,3499,3509,3420,3001,3992,1359,3507,1581,1674,4754,1512,4190,1517,1443,786,1520,4791,269,3561,3471,1457,3708,515,3608,88,594,294,1687,115,4452,4078,288,3864,1724,1724,4584,3571,1059,3232,4143,495,3995,4080,4188,3901,4829,2862,4063,3865,3866,4303,4458,1059,1503,110,4839,4124,3232,4076,4574,4079,4119,1031,4853,4028,3780,100,4821,4542,101,89,4825,486,553,4828,4061,4301,1461,1724,265,4834,4053,1985,1488,1490,1492,
4230,4830,4052,4850,550,4055,4866,1616,4822,465,90,4871,4827,4845,4170,4833,265,4835,2240,3092,4892,3709,4868,3428,4743,4432,3995,1735,4861,1605,2690,1013,2221,4841,4914,1940,4883,4918,4876,4860,4889,4339,1481,476,1349,1489,2847,4371,288,3232,4899,3800,3865,4903,4882,4867,3608,1439,278,3902,2736,4912,4920,784,2695,1709,4573,4453,32,4842,4634,4796,4390,4941,4299,1606,4924,3611,615,436,4053,3972,3001,3707,4893,4868,4886,2862,520,493,2761,1818,3972,3901,4858,4953,1738,2802,1585,3443,306,3466,1558,402,
2438,4768,3562,1539,4781,1326,4985,116,4987,1634,3461,1561,1589,3465,4813,4789,4736,4213,3408,4769,4795,4389,110,90,4972,374,4982,4956,5011,88,5014,284,5016,4677,4957,110,89,5020,3908,4948,2524,614,751,5013,4952,4830,5022,4286,275,5031,838,5026,5034,2862,5036,4933,3015,3370,751,5019,5042,5015,5029,438,3412,3083,486,1435,3417,483,1674,526,4536,3371,5049,4840,4962,5044,4005,490,1333,1473,4962,91,2615,1818,1076,4788,1446,5006,1317,512,2941,2662,5027,4954,5052,4513,3602,4537,5025,5084,5067,4748,5061,
5088,3371,5033,5065,4859,32,5092,3913,4754,5077,68,5079,4738,1501,4761,1328,262,4783,1222,3362,4819,495,102,275,2132,4352,608,4773,4440,4533,4778,1813,4780,3436,3367,288,5112,438,70,4308,3445,1548,3460,4129,1638,5024,3470,1685,1596,4551,4291,3523,3552,1307,1992,121,97,1578,4124,1771,4671,780,1668,1299,4994,3438,1391,4816,5132,4308,4996,5135,4988,1560,1616,3463,1564,3492,1566,454,2334,1671,4806,1673,3501,623,1577,4799,3508,1582,1584,4754,1589,3440,1466,5114,5142,256,1597,4675,5084,4955,4139,1607,614,
1609,3877,4518,766,1028,4919,4926,3014,4220,2197,1626,4664,830,5133,664,5166,4999,5138,1623,5024,1832,1613,1057,4756,1315,567,438,111,265,436,116,5064,4124,5227,102,5229,5041,3780,4950,2475,4124,4354,4526,3207,2647,4531,2650,2203,3214,2696,370,4916,4285,5045,112,5156,4932,5068,353,4356,4527,3224,1711,2396,4441,2398,2400,1426,2654,2662,3605,3945,2671,1688,2692,2677,1328,2692,2683,5276,3611,2681,2688,5251,3179,5280,2687,111,95,5238,2426,3935,3181,438,5150,5152,4188,5154,3530,1551,259,5215,1549,5217,
107,5209,3731,5190,3410,3685,5144,4139,280,335,1418,5148,4223,765,3838,877,1076,5135,3750,5127,1586,3454,34,5187,5162,370,5135,3374,3359,3719,973,5305,4246,455,4741,3452,5128,5325,3369,5039,602,615,5331,395,5333,355,5335,603,370,79,114,98,780,318,4951,3361,3383,1344,720,1696,465,3646,5007,4961,5099,3909,1477,5206,1192,1456,5098,4953,4847,4938,4881,2029,5294,5091,5086,353,620,320,3970,5367,4953,4974,4965,5206,4967,720,1817,3995,56,5382,2544,3627,4242,4187,5205,4188,109,4813,5084,34,2671,120,336,2693,
5287,3526,432,4817,5206,1166,5408,5410,2688,620,3375,97,2680,5409,100,5411,2693,291,5414,999,5255,5381,5371,1217,913,338,5071,5368,5397,769,720,3466,2112,3995,1733,57,3911,5434,1184,4754,5357,1142,370,3719,5199,452,5330,3358,395,1442,400,335,4752,5337,5009,4993,5340,1677,5455,4113,3902,5047,838,5345,5459,97,5461,324,1310,353,810,115,5213,292,5301,3460,5141,5308,5380,4253,5432,2165,3608,575,1568,3085,5050,5021,5440,5494,1668,1420,5470,5200,5091,46,52,5086,4754,5486,1535,1311,1328,3390,1546,1532,340,
4794,1341,1379,3497,1571,5178,3996,3502,99,488,67,1669,3449,5522,4800,5184,3511,5159,361,5516,397,5189,5360,1455,488,4259,830,3488,488,1429,552,2801,3995,5389,4976,4545,3047,828,2340,276,3721,5374,4887,1497,5391,2292,4984,3456,4998,3447,5001,1563,5488,3519,5259,5243,5498,296,4442,2446,4053,2395,2271,2397,2262,2761,5267,2008,5221,1506,5223,1331,437,370,5233,5229,5231,5387,5035,5440,5593,3539,5236,4300,5439,5449,1940,5289,5433,4188,5241,5260,5596,4846,2648,4903,3210,4110,5246,5290,4533,768,5283,5607,
4012,5401,5066,5440,120,5622,4628,5203,5270,5602,5375,5272,484,5579,2868,3173,5634,5274,3647,2679,5285,3614,1527,5279,2674,5427,5283,2692,2694,4508,5323,1676,1326,5327,1449,3441,303,276,117,3467,5538,5136,5559,5008,4992,4840,291,107,293,2507,5084,4888,4977,4055,5208,5024,5544,1650,5660,5662,3458,5664,1635,4132,5350,5220,5169,1614,1561,5079,3621,319,105,3608,5084,5552,4966,4055,118,5514,737,1312,5692,413,5492,4214,5681,5504,5366,4012,5038,5096,2974,5343,5090,2808,5716,5595,5623,5151,1992,661,3401,
65,2452,121,1696,3629,260,4648,5560,4117,4833,5440,1418,323,5406,4557,1363,5636,608,5740,1714,973,4561,521,436,4564,899,5681,2035,4864,4685,1018,4640,534,1328,69,435,1435,5575,4934,2760,4198,5742,757,3232,291,287,3044,259,3619,5771,1552,5644,5775,5773,476,5777,1106,461,1645,5774,5782,5355,99,5781,5527,5787,3619,5781,5772,279,5785,5794,2675,1822,5778,5795,5780,5799,32,3044,1654,5796,117,5806,5803,5805,294,5792,1822,5548,5725,5727,5729,1569,5763,5674,5554,1501,115,1577,5760,1640,5497,5733,1326,5769,
579,5767,91,5831,5778,5426,476,5836,5793,5776,5802,2340,1080,5783,5788,5838,5786,5784,5803,5790,5784,5842,5290,5797,5807,1358,5840,5857,5853,5775,5806,5847,5811,5798,5843,5804,5808,5812,5853,768,5175,4391,4351,4841,5735,5604,972,5752,97,120,4855,3810,4488,5757,473,1577,5873,3731,5875,1731,5608,102,3229,5723,5549,4471,438,521,1426,5665,5675,2629,370,5519,495,5175,4047,3505,1672,3500,5525,954,1409,5529,392,5531,1579,5177,5911,3420,3504,5182,4807,5179,5383,4569,5923,5524,5552,5180,630,5908,5928,5920,
5535,5468,3396,5663,5167,854,353,335,3540,100,1344,3952,5467,3781,3544,3436,3757,5948,5175,5950,5441,645,1539,1585,4943,475,99,5135,70,425,1028,5307,3519,388,1440,5201,692,5589,1316,287,1312,505,5079,1175,292,111,5960,5971,1102,5973,567,5975,5514,5977,4757,452,5653,3437,5537,5683,5964,3358,3465,607,3469,3491,373,710,1807,2340,5934,4801,3006,2968,2456,6006,5534,1575,1006,5927,5532,5183,284,5930,5186,3514,5657,5540,5338,1455,1568,1713,415,5211,501,1405,530,1691,1429,1968,5055,475,3085,369,370,3988,
4448,4072,4450,2663,5004,4815,6022,4991,5115,1600,4112,5505,5763,5101,3014,5241,5697,4964,5553,877,3972,4922,1491,320,5673,5562,5902,554,4809,4126,1515,4812,1519,4790,6022,5329,3378,308,538,601,5571,5339,5324,1677,1405,1402,537,539,3377,348,5346,97,5350,6082,340,4676,4286,5627,2165,612,2059,258,268,4729,2748,6020,5161,6076,3442,3456,5511,316,4296,5518,5172,1400,449,436,510,97,400,6011,5060,1481,6118,101,2598,6123,271,5930,5942,6126,3257,119,2255,5910,3509,6131,2725,6005,6016,5924,5912,6009,1558,6129,
6144,6014,1645,107,6147,6139,1502,6126,4047,1514,6147,5185,5536,288,5656,3516,3653,5466,4840,4460,355,3983,523,105,3986,110,4465,1668,4468,293,5438,4953,5821,6061,4055,397,2924,4611,1102,1065,44,1166,3523,5169,44,4384,5654,44,392,121,3771,353,3546,72,392,593,450,565,4194,5822,438,307,553,3522,4290,877,4365,6039,353,1524,5165,5939,4999,3462,6095,5948,5654,417,1552,6218,5683,5940,3462,5002,5352,5354,780,5104,6092,6222,1579,110,1291,615,5710,5204,4962,5196,4286,1482,6242,1992,4853,6248,3530,6160,34,
6235,5476,438,1855,6237,256,5893,2533,2832,5201,6189,2836,3154,3935,3156,4725,3792,1285,5610,4405,757,4440,5577,4444,2131,768,323,3162,267,3164,4404,1411,3225,592,3929,2790,3230,3930,2766,2768,3933,5284,2668,3237,353,6261,116,3080,4362,6036,1435,4305,1970,6304,6038,526,4549,630,4632,3294,3780,6281,1971,1177,4369,4267,5608,4407,5242,2254,2511,4773,2648,4776,4534,6300,4691,5358,5261,3607,2480,3056,2481,3059,1120,3061,2486,4702,3065,1734,1736,1731,4710,32,4712,32,4714,6268,4716,370,6300,3352,3244,3E3,
4607,2312,3005,6013,341,6311,4744,4620,3092,6316,1870,4522,2165,6300,3203,6368,4202,1830,4204,6252,5937,345,3557,1307,2772,416,5352,4816,1446,6115,6002,340,661,259,4315,3506,5523,5935,1365,4754,6381,3559,5415,5465,5667,6260,5965,5679,91,5985,5991,5293,5722,5298,353,5213,116,6227,1632,5684,4187,5967,6083,6224,296,6416,1547,5940,438,262,1309,114,5104,5188,6049,5191,3685,4816,73,4627,712,6214,5103,6046,6075,1522,353,5567,5487,6433,3410,6107,1590,5328,353,3894,5336,5905,327,3580,6158,6008,3551,465,5570,
6142,5524,3420,4450,6150,6152,6059,1675,5993,3556,1305,3558,6383,6401,6420,580,3580,336,3717,2456,4038,2509,6285,2666,4480,6376,1170,4356,999,3680,336,4153,6313,3301,4333,6480,100,6482,1558,3922,6283,4516,3925,6288,3169,3228,6291,2765,3175,6294,117,3934,6297,6280,6364,4657,6493,100,6258,1433,5056,6309,4934,6035,6523,6037,478,4484,6499,6501,618,4602,4653,5755,2307,3001,3248,3506,6361,3502,1955,6369,5194,2165,355,1822,3825,6322,4482,3076,6316,3923,4351,6274,91,3926,6509,6289,3174,3233,6513,6515,3936,
3678,6532,2525,4690,4508,3054,6335,4695,3057,4031,6338,1721,4954,3062,6342,2490,6344,2494,6346,3072,2500,3074,6269,3076,1955,4656,6366,3572,723,3637,6481,2525,4153,3098,6320,4634,6520,6533,2230,3327,2271,6519,6499,4360,3081,6097,528,6214,480,2609,5882,3839,4605,5885,455,6568,2934,3032,1120,3352,1201,6520,3274,5754,5883,4686,4019,1397,6499,5386,6207,6531,6596,6500,2525,3345,626,4603,5045,1955,4153,4418,3634,6520,6642,6626,1031,6374,4330,6489,4633,4677,6603,2576,6616,4271,4144,4273,4146,6567,6639,6604,
114,6610,6303,6528,6305,6310,3096,6600,3336,5296,6569,4719,6263,4721,6266,4724,3076,6595,5749,4222,3780,6544,2895,4381,4176,3572,5404,260,2511,112,709,5284,4587,465,6492,6622,2456,4430,3829,6657,5037,6641,1153,3089,6692,4851,3331,618,6636,6181,5555,6621,6667,6598,6364,6496,2164,6498,6639,3022,1801,6373,6364,6648,438,6372,6593,2524,2934,4368,3778,6677,6602,6704,6502,6731,5310,4286,6686,6597,6623,3130,6735,6666,5749,3274,6617,4086,6619,4274,3217,2230,3941,4039,1039,6029,4030,6703,6721,2950,2609,6630,
6618,6632,4534,6747,6640,6749,2123,6712,6105,3979,6649,6609,3052,6332,5120,6334,2478,6574,6337,4698,1722,6580,2488,6343,2492,6345,1738,6347,6349,6351,2839,6752,336,3333,2059,3203,6355,6644,4510,1226,6539,3003,3250,4653,3420,6774,4153,4525,6708,5253,6659,2934,2996,4720,4438,4722,2837,6801,6638,5749,3597,6206,6780,6802,6775,6483,6606,1813,6652,2986,6776,2025,3023,6808,5093,3321,1958,6723,3300,6725,4416,6742,618,6728,1787,6844,4927,5046,6822,2830,6856,3685,4087,3246,2310,6812,6542,6354,6680,4960,6557,
6826,6267,6828,1593,6852,1025,6691,6779,4382,6781,6727,4343,6370,3780,6330,6571,4438,4694,1716,4697,3060,4699,6792,3064,6582,6795,6584,6797,6586,4713,6588,6353,6875,6727,2957,6855,6536,4552,6821,2456,6817,6322,6819,5257,6634,6639,6647,6745,6820,6876,3940,4661,4102,6763,4041,4665,2469,6834,4160,6832,6880,6929,6711,1836,6751,3238,6716,6375,2162,6914,6845,6720,5749,6592,6713,3868,6208,6848,4414,6314,6851,6767,6705,3197,2855,6601,6658,6499,6804,2272,6861,1954,2525,6706,766,6941,6857,1955,6960,6608,6953,
1558,6945,6879,6693,6881,5749,6668,6854,3203,6646,6364,6818,6951,6678,6841,6605,2271,6839,5605,6322,6273,6286,608,6327,2424,3213,5619,6933,6777,1221,6990,784,3753,71,590,6212,6439,6524,6530,6904,6978,6641,6761,3953,2005,4426,2915,6829,6494,2751,6504,4392,3945,6559,2761,3928,6508,6292,6512,3177,6295,4595,6715,6760,4348,6732,7020,1232,6923,6762,1766,4104,4042,4666,370,2800,4671,6910,1558,6688,5153,6710,1843,1755,6971,6944,6869,6264,3152,4723,6352,6270,4056,6272,5574,4693,5263,6277,2264,112,6759,1956,
6769,6887,4093,4639,6758,6834,6965,6377,6726,6687,6761,6485,5336,6557,5241,6552,1832,2622,542,394,568,6527,3192,6719,6774,6738,6956,6740,6958,6972,6938,868,5897,6937,2930,6518,6936,6145,618,6503,2753,7024,6333,6558,6507,3232,6290,6561,3931,6564,6296,6566,7039,7107,7112,6877,2964,862,6438,6645,7054,6842,6729,7111,6916,7013,6987,1003,6946,4836,6834,6668,4153,6981,7135,2930,276,7003,6977,640,6939,2219,6497,4124,6300,6302,3082,6672,6525,6858,6836,4681,7138,6943,7021,3096,7057,6748,6483,6883,6546,7083,
7169,6317,1210,6319,7102,6709,6623,7015,4495,1274,7018,4615,7108,4651,114,7152,7035,6847,6675,7180,1963,6627,6635,720,3306,7049,6921,2172,4626,7202,7104,278,7038,7012,336,7209,7139,7172,1558,4282,6656,6985,6741,6882,7041,7016,3687,4613,3689,7019,7210,3976,776,6919,6915,7164,7051,7085,4403,7087,6994,757,7089,2891,2515,6766,7140,6954,2989,6884,7053,7141,2124,6962,2960,2462,6661,4917,4638,3698,6620,6774,6535,5983,4605,6811,6360,3251,6460,7168,4669,7055,2238,7167,6591,613,7160,6612,345,6614,2544,7075,
4692,6537,7256,7079,7189,6570,7279,6785,91,6889,4696,6576,6790,6579,6341,6793,6896,3067,6796,2496,6900,6350,6902,4483,3531,2254,3539,323,5104,1639,116,407,1646,5827,3711,5359,6024,454,5373,5632,4830,4063,4833,4833,4939,2413,110,6429,5394,5066,46,55,5598,4551,3995,3909,51,5598,2340,893,4946,6244,5509,6253,7307,666,7309,275,7311,6673,288,3707,276,6134,2255,6456,1861,5530,5176,6395,6007,6397,6253,6399,6476,6023,6165,256,6690,7106,3722,1009,2090,1057,3397,4096,1307,4747,741,6529,2697,1624,112,2598,4423,
3599,4621,276,2598,4251,4684,4552,7386,1196,4550,7246,7390,7381,112,4289,7206,5749,4909,3569,7143,4904,3572,7159,4361,7161,3414,7010,6948,7170,7167,389,7396,4185,7175,4124,499,2978,7093,292,6522,7097,1501,6734,7403,1985,7414,7382,4266,7181,5253,7391,7216,6940,7218,4139,6969,7184,3107,4425,7224,3791,6363,6282,7115,6556,7237,7118,705,7120,3171,7029,6511,6563,7032,6514,7125,5292,1289,7396,7100,3342,6736,7173,7041,4258,6764,4261,3998,6949,4431,7437,4286,1430,4739,7409,7378,370,5609,7067,7117,6326,5245,
5248,2653,5751,7415,7440,4162,3092,6807,6908,6771,6810,6359,3249,6867,7227,6668,7401,6365,7427,2029,7419,119,6755,6746,7050,6853,7490,5883,7442,3743,4614,833,7039,7383,4487,7514,677,7516,999,7434,4023,6068,7488,7387,2952,103,4599,4291,6744,7394,7219,7084,7467,4663,6926,830,7470,34,7506,7398,4649,7199,7368,7424,7528,7392,6312,6849,5252,7231,7048,6371,6783,5239,7286,7288,6575,2765,6892,6791,7293,6895,4704,6583,3069,6585,2498,3073,2502,3075,3182,4319,7396,6974,6931,6976,7193,7380,7382,7512,2592,3806,
7525,2572,7167,6654,3141,7217,7157,4843,7059,6682,3153,6684,7524,7396,4010,1981,4671,7391,7579,4375,6594,7510,7130,849,7128,932,7588,3305,7205,3295,4295,671,7402,6975,6714,6306,7195,6739,7197,1031,7506,6770,4139,7506,7171,6835,7233,7538,4103,1860,4105,278,7600,7529,3185,103,4123,6986,2456,7583,112,7606,2380,2155,5565,1527,421,6446,355,6221,6448,3384,4754,4996,7655,5168,432,6231,3442,84,77,469,7658,710,6355,6824,3945,6872,7599,7411,3220,7023,7448,6487,3167,7119,3927,6510,6562,3932,7458,7034,6868,294,
7273,6308,7011,7471,4631,7553,5256,6942,7591,3777,7101,7626,1605,3040,3454,1860,7276,5407,7558,7376,3520,5262,6787,6890,7290,7564,7292,4701,7294,7568,6897,7570,6899,7572,6587,7574,6589,768,7493,7260,1145,7262,7498,7264,6362,7700,7503,7621,6947,7623,7178,7229,7535,4139,7426,7739,7144,7741,6993,7681,1077,7485,106,709,280,102,2876,6997,5247,6999,7741,7435,7156,6850,4983,7361,6474,6382,1309,6384,353,5321,4320,6259,34,5490,4214,5707,4753,6253,6162,4784,353,1707,98,5996,3529,495,5943,305,5945,340,292,5117,
282,990,6471,5129,1678,7768,6400,7364,6403,34,5054,7162,3416,3249,3418,6124,769,2337,4541,4049,7612,7805,2880,4643,100,87,652,110,5730,260,4517,3972,2677,3539,1002,7107,7303,442,6388,3493,5520,5909,5919,7359,5526,5528,7356,6459,7360,6379,296,6086,1407,4818,6434,7481,6324,5763,1861,4531,5614,1240,6996,4773,7761,5383,5543,6764,5546,6298,1006,450,1325,5732,4124,109,7337,6058,4975,5699,6719,1668,5118,97,1658,3655,305,1713,1992,5606,3039,7032,397,3203,5621,2907,5031,7060,608,5746,477,696,5748,336,1425,
276,1415,1643,5702,1057,5704,5990,5591,967,3724,1753,5628,4286,835,6505,5316,1245,5610,4062,6277,7856,5262,5581,5264,5583,7071,5268,465,5631,5611,1326,5647,5275,6696,5833,6297,5640,2684,5277,2340,7938,5643,5282,2691,7942,5287,5289,768,5899,5558,316,6066,3997,7527,490,5896,5763,5698,5563,7876,7887,4297,5404,306,5496,7313,4753,370,65,675,281,3042,99,4450,709,838,7343,320,7310,3580,5762,7314,7365,7812,5083,5763,4700,5877,1059,1822,6698,1493,4962,7930,7921,757,1601,2450,111,1832,5399,3603,5624,5099,6245,
5045,5355,435,7912,8006,7196,5084,5508,7988,438,653,7312,5888,5336,4912,5891,4012,5670,1515,786,7327,5099,50,5370,5403,1504,448,915,5874,5625,8014,7798,5325,7977,7345,111,7347,7163,5458,5422,3992,3044,293,5366,6478,6223,6472,34,5342,3371,5475,8045,101,8047,5505,5329,5663,3485,380,7670,3538,1402,2088,5663,438,5421,3359,8068,5683,6236,3477,7580,3484,8062,3481,3435,6084,3396,376,1664,3469,6040,393,119,6112,6419,5541,454,1418,279,8018,3994,4962,2487,8021,4628,1426,8096,5084,8099,6055,1758,7892,5406,7895,
7808,7286,8110,7900,1414,336,8E3,6240,1869,8108,7853,8110,7995,91,8113,2308,1426,7902,1408,279,4554,5738,4438,8125,5744,8E3,3041,8002,5506,8029,4012,388,4314,4050,7328,8028,7341,7845,303,6219,1549,6257,7285,8050,3550,8082,5160,6451,6109,288,6414,6424,1557,4999,6114,8065,8051,7799,8162,3459,355,6114,5454,6052,3854,5473,5344,3373,5476,5478,5463,5113,8092,5906,5893,118,1349,523,3360,4124,5294,8187,614,5155,116,1668,8192,8189,7766,8148,8053,8176,3372,6092,8180,5480,6161,3115,7775,2109,2609,467,7669,7478,
5057,7809,5059,5925,7277,602,8212,7693,6812,7810,8218,7266,3274,8221,7807,8223,8217,6148,7266,6668,8227,468,8222,5058,3419,5936,8156,3513,3956,2612,571,5663,6088,6081,8166,8155,6422,288,7847,97,8247,540,7968,862,7661,404,6426,8249,123,7660,5566,8260,4999,438,3489,5787,5963,5965,7775,5790,5201,6408,7908,701,2131,5690,5169,5705,526,7389,841,8276,1082,576,8280,1617,7907,857,5980,8269,8275,5691,8291,1902,7285,8285,8296,5224,1610,6354,275,5464,8300,8281,8297,353,2425,8289,3902,8297,5510,5663,7787,8277,
346,3481,6031,117,6E3,4793,6116,1455,6015,5918,7358,1582,6019,7781,6021,6163,6402,6050,34,7476,3413,7707,7410,6215,382,1552,8317,8090,7834,5173,7789,6126,6120,6122,6464,6396,3502,5954,8353,7839,5931,5295,6137,6012,6543,1916,6141,8328,5533,7811,1955,7843,5526,8327,3385,7838,8330,6470,6132,3546,6156,3478,8366,6017,5179,8315,6228,8267,7849,5308,5677,5011,6406,1630,8150,5137,5686,5219,5053,436,6201,659,6204,7747,4054,6719,7890,3780,7806,8214,3085,8238,7811,3981,6168,4462,6171,4464,449,6175,4582,6177,
7816,293,4868,8144,5099,6180,712,3972,1826,5318,1041,3388,8062,4320,6280,1500,6211,8222,7480,7076,4124,4165,575,751,7814,4543,7952,6060,8427,4055,7705,294,262,1514,8443,105,8352,5829,6018,6059,7875,1501,6190,5917,1860,8286,5087,2342,8251,7318,4973,8460,7959,6069,6077,348,7775,8405,8441,5587,8465,8301,5590,2333,8440,4843,1719,3986,1561,4525,7408,4024,6719,7914,7116,4188,521,539,6406,3389,8255,5992,7799,8253,6427,8480,3503,8325,7316,8372,6394,8367,6130,6470,6398,7801,7363,8387,3519,7851,2392,5244,5616,
7759,5618,5249,6199,8231,8340,7378,8410,8225,2440,5269,5405,4438,7936,5280,5273,5643,7933,2761,5647,5278,5642,5647,7943,4917,5650,7946,5652,3621,7066,7852,7068,7923,7070,4774,3394,7968,6239,397,2167,8482,1619,8262,3015,625,653,7992,5603,4843,5965,8103,6371,476,615,8317,5406,315,6065,5833,4238,320,2877,320,1915,6365,4746,3525,4555,7853,5744,8123,5744,4559,121,5747,4563,3744,4750,658,7711,1192,5701,2444,3905,110,641,7389,4051,6067,6637,6299,5965,4751,8603,7627,5557,3543,5820,8612,6718,6069,353,7354,
8094,4805,8329,7811,5922,8357,8362,1902,8568,664,5933,8632,4808,6253,8286,5942,3539,7791,3542,5665,1300,5952,8155,1413,3554,1657,5429,3539,8054,751,8056,5332,6167,316,8205,5464,8154,668,8653,3148,4944,3654,3425,1645,6103,307,8077,7699,8665,72,8185,1992,5413,5600,6411,4214,664,7698,4479,5768,6998,1720,1417,610,323,8584,2424,602,432,8586,8292,561,3424,112,3426,8671,394,4313,6393,4291,8665,80,7779,8199,8241,288,8655,5474,8178,5422,8661,5658,346,4650,7775,1033,7041,7086,4517,2079,6551,7240,3829,2774,
4474,1160,7403,4612,7515,7225,7188,967,1083,7431,7703,1940,3813,3883,8739,7166,7504,3092,968,7230,6942,1023,792,7250,1605,8722,4100,4257,7539,7044,6927,4106,8037,1677,7362,7770,8718,72,7667,76,1786,7775,4592,2048,291,7508,5045,8773,2277,2656,7167,8778,2338,2824,5429,2947,4247,2942,7212,7812,2823,2943,5694,5696,4438,2449,32,2451,2453,5871,116,109,8339,1818,7708,8782,2442,1285,2946,4517,1192,7028,102,661,5295,6557,8782,1828,2398,4594,1171,227,8793,6702,2941,8791,4525,8809,5158,8200,8765,8206,34,1524,
1312,8346,8566,8389,2198,8391,1552,8090,5303,5687,8015,4048,4734,110,86,82,8447,8461,8070,7961,7880,7796,2480,3641,8659,5728,8414,6172,6174,4467,8419,4470,7369,6299,6392,4764,3220,3730,8019,8098,8100,4286,8429,8499,8433,1654,768,8422,4049,3987,5199,100,3748,8850,8473,5693,7833,7905,5514,8282,701,7910,7981,8470,5051,8036,7861,8430,528,1076,7864,7903,442,2443,5695,8607,8609,7008,1499,7960,7878,4325,8120,8458,296,8593,5833,8595,1146,1423,7896,1146,7898,5750,1749,8506,8307,8290,8302,8318,5193,1872,8917,
5085,8899,3998,8436,6171,8438,480,4110,8455,602,8445,6393,8611,7953,8613,1378,8423,262,3357,3746,4643,732,8887,7954,5383,7961,83,7963,688,8896,4188,5198,5471,1992,6200,6202,3489,4239,8402,3972,8881,8446,8621,8950,8623,6733,6392,262,8574,8936,4234,4188,5724,8911,647,4055,7949,8620,7549,1585,7354,5404,3546,8351,7357,8512,8232,5737,101,5915,1670,8370,5904,5521,8381,6143,4802,5181,8638,8532,3663,9008,8900,9006,8464,8511,8382,8232,6004,8628,9002,3420,8356,9011,6465,7265,8369,9015,8232,6467,8288,9034,6153,
8998,436,8379,4194,8361,8639,8200,8346,8642,5944,8645,7951,8051,8648,8263,866,4684,8342,34,84,8665,6255,8716,3928,8181,7775,8679,3220,8174,5201,1192,9066,89,8681,8190,5151,391,1952,4062,5824,394,8691,6401,6557,7859,8688,2308,8690,1492,1718,8694,1492,6280,8665,5097,4124,9066,5720,5311,8665,5601,4188,9066,1705,118,8678,8707,8709,6106,7342,6442,8204,9063,8831,1442,751,1211,8039,7979,3637,8966,8663,1993,8001,8935,8897,4232,5736,396,900,3519,3995,1727,8147,8711,6254,6442,7308,9118,7312,438,8259,881,8164,
3429,6001,7835,495,9025,9018,6846,9149,1861,8510,9044,8513,4975,8763,5655,8333,1592,6164,7804,6183,2239,692,6187,6189,1561,6192,4388,6194,6196,6198,288,8971,8400,8974,8673,8278,6719,6209,1856,8941,8229,9057,7906,8932,5107,7775,8407,8529,8215,3506,8224,8232,5355,3601,8132,5708,624,114,8228,8408,8111,481,8231,3420,5117,5476,9198,5240,8485,4012,8478,9101,797,9191,6038,6450,5188,370,9061,3359,8046,488,6053,7982,7804,292,277,664,5195,5440,397,592,664,394,8003,5388,8472,8960,3551,8627,8717,79,110,85,436,
1956,8944,4572,8936,7958,9241,8567,9243,9112,294,8187,9051,3780,5404,5462,373,262,260,6099,9261,9257,8348,7637,2635,9222,5460,9269,5323,8626,7892,9020,9001,9023,5921,9010,8373,8629,8225,9229,8569,8637,9030,8354,9157,8157,5188,9048,8644,406,8646,3545,4494,8649,5947,285,4732,8707,5663,9111,9263,8662,8183,9054,8200,9059,2282,8654,8202,8657,9274,9308,8718,3964,8244,9145,9270,6943,9151,292,6462,9300,9284,9027,7265,9036,6151,9038,8514,7767,1680,8517,9161,8336,8210,8220,8236,8229,8531,8232,6774,8235,8213,
9217,9204,115,9194,3420,5573,8554,7117,4445,109,5582,4443,7926,7145,2525,8789,6774,8234,8211,9344,9203,2333,6992,7482,7286,7484,8523,7860,8219,9246,9370,9351,8230,8239,6362,6695,7893,757,6698,5824,2264,4577,2774,3115,7006,449,8990,8918,8341,7129,4166,8750,6857,6193,1301,3406,4571,280,8457,8492,4472,6499,9366,6520,7831,9221,1406,8254,6080,4771,9227,8336,8993,5901,6637,4754,8255,438,8713,8177,9307,5479,5464,7354,8631,9290,8358,9219,5162,8518,1473,8871,8810,1031,8016,8966,9083,5765,4031,5772,5837,110,
5839,5810,5841,110,5789,5845,5785,5851,5788,5850,9458,5860,5867,5859,9452,9465,5795,9454,9466,5840,5862,9467,5864,9472,5869,9456,5814,6410,4625,8143,7884,8185,8704,7133,7231,5254,8195,4467,277,8705,2566,3354,8079,316,8380,5666,8336,3884,9424,6756,2602,3847,3957,3764,3960,6454,9467,9321,2798,3950,2341,8955,4207,8957,100,3532,8815,9502,4496,9508,3121,3845,3893,3889,4502,3891,4504,370,7506,75,101,121,115,9407,5889,7993,5713,5738,5833,9539,5584,5062,323,7689,4020,4070,4074,4227,602,4436,477,6870,4139,
3753,90,552,109,262,7222,4501,2620,3896,9506,9562,9509,4503,9173,1032,3115,5478,7532,9520,3887,9522,9564,9524,9507,9526,9563,9510,9529,353,8412,5685,316,8261,9252,9240,8951,9570,2595,9302,7520,9521,9580,9567,9528,3269,9566,9523,3965,534,8677,5493,4492,7898,9561,9504,9527,3958,3116,9579,8243,9581,9568,8905,561,5703,5988,445,899,9107,9555,3661,3552,279,9609,4497,3848,9612,9600,9610,9616,9599,768,5670,1621,9516,4310,4308,9549,4323,65,9553,6243,5099,1744,9233,404,1636,9497,1818,3466,9652,1059,5701,3533,
3535,9144,1506,9518,9660,3537,490,8456,101,5135,5348,9586,3938,578,789,2343,4055,6101,109,8947,9486,4890,7098,9327,7819,9679,8959,9591,9386,4789,9656,737,7307,8080,370,7777,4124,5701,442,9669,8858,5303,578,7816,4069,3901,4646,751,4525,9645,4588,9069,7627,268,384,108,72,70,79,86,8590,9210,7286,8921,8125,4562,5749,3744,6256,7372,9306,6256,4305,8417,104,4897,553,7929,6557,4906,95,4173,801,4516,287,9739,9539,838,7948,97,9685,8866,5764,400,9699,3720,9671,4130,9751,7543,9713,615,86,9717,9719,2165,104,4866,
9754,5334,4420,7816,4566,3608,67,4569,9536,8872,5099,9122,1440,780,8123,6701,4578,4591,8864,2204,9544,2761,476,9780,4534,9386,2511,520,8692,5772,1719,342,2799,121,275,2440,408,2944,4969,3709,1420,9750,8995,967,3115,3832,9710,71,9801,666,907,605,9595,9575,9597,9602,3850,9525,9615,9598,9632,9393,2341,1636,9573,4604,9503,9630,9505,9578,9601,9577,9603,3253,9830,5349,9608,7185,3954,9576,9582,9633,9835,9611,3122,6733,120,97,9749,8845,9492,8449,8493,9700,9770,9758,8627,7869,4188,5527,1362,294,9865,4012,
9500,316,7352,9629,9847,9617,9825,3962,9635,9828,9512,2612,1636,6128,9845,501,9838,9848,3846,9850,9880,9852,4491,2595,8864,9079,7711,3686,9888,9877,9614,9879,9827,9893,9547,9705,3993,9809,9410,438,9040,9005,613,1687,9737,7449,9739,9741,5364,3371,9744,3708,95,9746,1642,9882,602,2089,7603,9886,91,9900,9636,9878,4498,9636,9927,6173,3423,9710,4996,1963,9899,9634,9904,9837,9945,9823,9511,9894,2612,5478,4085,9833,9596,9826,9949,9613,9933,9881,9951,9551,82,9518,9875,9822,9839,9824,9902,9936,9961,534,3456,
4046,9857,8424,6179,8622,9859,1501,9333,9776,8097,9778,6297,8123,973,95,9725,2761,6516,9938,9557,2059,8869,9966,9957,9968,4500,9948,9999,9583,2461,3883,9571,3928,9885,7441,9956,9903,9958,9849,9876,9937,370,9658,119,9916,7751,1608,8885,732,1080,3748,4318,617,7517,9811,2341,5478,9874,9931,9960,9565,10001,9889,899,8069,9729,5683,9938,9813,3834,3852,3990,9706,6486,3665,9834,10014,9828,9935,9631,9905,828,100,106,3990,294,7773,8390,9909,9254,103,9816,9803,277,10063,9591,9766,3817,5663,9670,121,9701,291,
9674,7831,8625,8508,495,10017,2664,9279,9151,9262,9432,1982,7842,9034,4802,9278,10090,9436,8633,8642,1402,5730,9280,9012,7265,3473,4297,9014,10095,7811,3546,9249,8454,2356,9289,9330,9281,7265,723,6391,100,8253,627,5957,10106,8225,8071,395,5350,10085,10091,7265,10117,1420,4679,9151,10108,8453,3359,2356,4554,9628,10128,7844,9134,7782,6401,7790,3541,3472,3928,1696,406,291,3358,1514,494,91,3282,353,1516,7788,7776,5722,302,10156,726,5997,296,9488,5157,10162,2737,10157,10165,10004,10169,2332,10171,10159,
104,8677,125,93,370,10087,10032,8155,9677,9996,5948,10087,4486,815,101,9334,3361,10151,5943,278,10154,10163,529,10172,289,5140,10180,8647,9329,10182,10007,2599,623,6121,3991,9896,3378,5955,9990,6236,6223,9298,1053,6301,5965,8842,5140,1451,10195,3539,10197,284,10155,10170,10164,10159,389,5011,301,10181,1265,10190,9055,10209,1265,10008,9311,785,422,10224,10194,5965,10153,10229,10199,10158,528,5380,10174,2297,10176,528,10167,689,10256,2848,10258,345,5154,10262,3330,10264,296,10178,5894,10204,945,10221,
3358,4539,751,6094,10225,10249,10228,271,10230,10175,10232,10259,10203,10237,9242,9017,10188,3928,3281,7047,3539,6176,3754,10247,7366,3539,450,8865,3998,115,58,123,120,271,1145,121,10309,714,125,47,10307,58,1738,10311,48,125,5189,10226,10250,10283,10252,10201,10255,287,10326,10233,5432,10273,4276,317,9930,8155,5414,10061,2198,7793,10301,1515,494,341,10305,123,5294,10312,4639,5255,10349,676,10314,10347,5151,10317,696,10351,10320,10322,10281,4239,10251,10231,10200,10159,5627,10267,4005,10269,288,1550,
10289,9255,312,9005,9728,8250,355,10184,10244,9677,9560,5958,7968,9419,5692,8566,3617,8869,9865,7333,5440,515,8786,7994,4925,4188,9940,9194,9382,9346,3420,1307,51,10401,8804,7410,10403,8240,8251,5326,9159,8718,8841,8395,10235,8566,8934,1974,5712,8202,9100,10422,5719,8678,5146,5314,9397,6857,9695,5892,5894,5491,9489,1992,118,9605,6689,1795,8828,10142,10414,571,8084,6065,9323,1667,5530,8966,9154,4963,9156,8961,5916,10100,9031,10141,10412,10143,7803,8336,1882,6288,9267,8441,1339,8499,10446,1338,324,
8559,7772,9730,9062,9319,6259,4754,9429,8203,8179,9269,8268,9651,8393,5901,8997,8350,653,9409,9022,10101,6362,9148,10140,8363,2934,9151,9333,6469,10454,6125,8378,4110,9008,8384,6417,6426,9440,518,9068,5715,8591,9589,7874,8888,9530,9646,8009,7231,9175,6203,9177,7816,8463,8295,8308,8932,2333,10439,8441,6429,280,8198,5551,9590,8981,9057,5104,9645,6190,4351,9121,476,9266,1992,392,10542,838,8724,5406,2542,8123,2542,2450,523,4127,1409,768,10253,8942,7866,9868,116,9870,7745,8576,2995,8272,7853,8580,9082,
7449,8583,5290,10572,3744,7867,373,10551,4438,5893,114,2452,10023,1715,743,10585,8927,1357,9721,9078,8127,5741,5416,1240,9723,8923,1421,8925,8599,834,9442,5895,8610,4962,9253,9591,9423,9260,9125,9155,5390,7954,5904,10081,256,9004,10127,10122,10453,436,9009,7837,9285,10622,6543,8635,116,10112,10492,5929,9336,8200,10461,9295,10146,1451,10219,371,9053,3548,10241,3551,151,618,10206,9494,8074,5476,10279,9421,5191,10479,9316,8715,3359,6094,370,5131,8566,8494,7680,5045,9445,5828,7483,9448,5839,5863,5776,
9470,9451,9457,5791,5847,9460,10674,5852,9478,5866,5855,10670,5857,9470,5801,10680,5854,5868,2675,10670,5809,10681,10689,5813,2340,7948,8561,3371,10581,3945,10555,8797,10557,6072,323,5815,10430,8403,8624,606,10617,1060,3553,9335,10502,5407,10570,10621,6153,292,10646,101,10631,10452,6153,9435,10113,6143,10720,1318,4239,3991,10291,10719,10634,10443,6108,8334,10145,7792,7316,5471,8339,1009,5955,8650,5948,10721,10197,3547,353,10338,10299,8567,116,10302,10344,920,7832,561,505,8063,5119,9121,10103,9620,
504,9622,4641,10378,1860,10480,9317,339,5913,3527,5146,4671,8080,10040,6417,9690,9292,361,10470,8086,6110,7653,4986,8266,8151,8566,6183,737,9141,5940,3466,7193,10074,7816,10522,8973,6205,7816,2109,8929,877,10796,6220,1613,7189,10798,1057,10809,1549,10798,8928,5689,10814,8265,9142,5568,5689,3020,682,7873,10614,9591,8977,8948,4962,8426,8912,5823,2054,10807,712,10815,3460,6221,10825,336,10813,1506,10839,4989,405,9530,862,6406,10846,6113,862,8502,8038,10791,5487,1657,475,389,593,10485,8385,10792,10652,
6449,6253,3357,5682,10508,8267,8652,9314,1802,10655,9431,9064,8836,8683,6325,8687,2208,9086,9080,9088,8693,1670,8696,4305,9106,10436,2165,9066,8676,10434,6315,9099,9073,8710,10412,10773,10656,9318,10088,8245,10041,10793,404,76,8041,3371,6178,4830,5073,4053,5320,5663,3466,10910,620,751,768,9688,10920,10912,5084,10915,5206,10917,5683,5104,10925,10922,10038,330,615,7816,10271,118,77,10396,7495,1125,7257,8709,10393,8938,34,10939,4205,10025,9516,8321,9691,607,5898,9419,8877,5683,8501,3621,10531,8572,3358,
10959,6417,8317,7948,10057,10059,3457,6417,6406,65,10970,997,5135,5871,8185,2035,8857,4212,101,1696,5133,552,4194,4841,7329,5440,8813,8415,8489,6322,8491,9254,3622,10954,1404,10956,5592,4999,10966,6425,4999,10855,6085,9417,3487,5514,8835,10866,3519,8837,5210,7540,1650,10486,9756,5139,5011,8880,9976,262,8848,9686,10538,8961,7878,8854,9079,7883,2165,9585,8859,3984,8415,9939,4466,10297,9675,6719,3608,3725,10666,10397,5100,10991,8868,2340,8985,10612,32,8987,4012,3617,8984,10604,5763,11055,4139,10830,
1760,8608,8884,8886,8979,8448,10834,8889,9619,8891,442,8893,289,9624,4286,8533,7928,8535,5271,2672,7937,5646,2681,8544,8542,5281,5287,5649,7945,5288,4508,9546,3792,10963,4012,5527,8901,670,672,8904,2738,5716,10424,7438,8202,9097,4286,10526,8312,11075,9697,561,8907,3608,9245,8910,7816,7877,2059,97,8915,10514,11053,1060,7901,10595,9722,10594,5745,10599,7897,10602,3007,1992,10420,9238,4830,8005,7231,9181,8437,9184,8943,10110,8444,9976,11027,9980,8844,8953,4324,10952,11067,8936,10833,8991,8913,11122,
8963,552,8965,11046,4012,8968,9226,4124,10802,8401,9178,10709,11152,7815,11068,8851,7480,11097,4139,10432,4012,8989,7816,10610,7274,9681,10710,8507,6389,454,9912,9E3,9151,10619,10094,10728,10458,3502,10727,10632,9291,1576,10121,11197,11202,741,10714,10621,6466,7841,10456,9326,8364,9026,10114,6362,9029,11205,8358,9400,10499,9153,8374,8459,10716,9912,9042,10506,6253,9047,1481,8643,10638,3361,10640,9990,10746,9594,9185,9621,48,7775,11114,9420,4487,5976,563,7907,2450,2635,11247,1314,5590,9569,11244,684,
5980,2780,11252,5079,11250,11102,11241,5978,11007,1326,8834,8069,9221,9651,10780,11013,1400,4990,1506,10817,10029,2612,8655,9005,661,576,2690,9329,7513,10010,9971,10035,9891,9946,9840,6154,9319,10019,3151,6995,602,474,516,1309,1714,7795,3618,4906,2670,4593,95,9918,592,9924,8202,1417,121,1609,2689,780,104,115,3616,281,1713,2682,102,95,10017,9829,11279,5047,9913,4746,924,11282,107,11284,7260,10050,9967,9889,10053,9836,11292,9556,9558,10187,10009,9821,9998,11338,9970,10054,3845,9993,9558,10384,11345,
9846,11337,9901,10034,11351,10016,281,3534,114,8165,9662,11362,9664,10775,10616,11190,8349,9319,10620,11219,8633,9438,6022,10637,10741,495,10186,8365,10382,11353,2199,10643,5955,9542,8616,11331,8041,11333,319,10751,1794,9278,11332,11334,8651,6445,10956,10448,7793,11214,11213,10498,10496,4641,11223,10626,8331,8200,8321,3469,10510,454,11138,10982,5456,9647,4953,4118,10948,7439,7221,7650,3572,7271,294,6806,7272,7407,11186,7377,7348,2166,6803,7585,6833,921,11439,6932,7189,8789,1759,7649,7384,7492,2386,
6936,1585,8724,615,5135,9427,8566,11181,4139,1482,3523,312,9709,9554,6746,11077,4304,10507,1547,9427,370,8169,6418,7775,407,5657,10831,5099,10608,11028,6846,10800,9758,11063,11025,8849,7957,10537,11151,10182,404,10913,2862,10928,5075,4496,8161,6111,11019,121,3466,287,11472,10797,404,287,6217,11498,10864,3460,3466,9569,3386,10927,5074,841,9834,11497,10789,10972,11005,10823,432,11502,11508,10871,11522,2761,11507,11519,8090,3462,9569,11484,8608,10045,452,10047,9777,9978,8980,11489,8625,11149,11176,10517,
8625,265,4767,1506,5131,7189,10660,11550,11548,7783,4237,8983,110,11052,11047,11061,4286,11534,4554,9235,8958,11545,9254,8442,10111,11544,11157,9979,11070,7189,1691,11492,374,11494,11516,11496,5164,11525,11521,10840,9168,32,11503,10810,6191,32,11529,1544,11531,1561,9569,11170,10524,9758,2648,1558,11482,9810,8952,8882,11154,8956,11156,11053,11479,11542,11557,4763,11051,11059,8986,8874,7134,2934,3466,11578,10229,11515,5319,11582,664,11589,10816,11505,11588,11584,8163,11629,4775,11592,6226,11632,8170,
8660,404,9569,372,8008,5763,11580,11625,3887,11518,11594,11499,4296,11524,11530,11651,862,11506,11637,11654,11509,8171,10854,11266,8078,11660,7951,370,10902,6092,9224,8048,5966,9310,8567,9230,8617,1605,9234,8885,8672,11434,11173,8634,9256,9319,9245,9247,1797,9250,10663,11159,1501,3655,3663,8717,9259,11681,1192,10087,8181,9265,1927,6249,9269,6406,11668,10482,9319,9276,10712,11200,10452,3420,9287,8636,9283,11201,9437,8332,10738,9160,1502,11233,11380,273,11236,9844,9303,370,11649,3444,11499,10844,9498,
10653,6253,11730,1555,11526,11586,5169,7665,288,2562,7006,441,8347,10449,11212,11408,8515,9338,8766,10462,6434,2552,7530,4252,3780,2435,3051,294,6331,7559,6557,7561,6789,7717,7987,4234,4703,1732,7569,4708,7571,4711,7573,7676,2293,7388,10708,3325,3031,6761,7468,11017,6765,7193,2850,2901,7742,850,9402,3014,11760,6495,7697,3313,3296,6854,7464,11788,3009,2271,2521,4370,7231,2144,2937,6935,8747,3572,2908,6837,2059,11805,6957,7182,3296,3291,6878,11172,2015,2586,3339,11792,7744,11078,2956,7268,112,11801,
10842,3133,2936,1937,7148,3344,6934,6625,8754,2188,6717,11612,7232,2268,7519,11286,7186,7443,4427,6846,2405,7151,11841,2530,11820,7245,7417,4188,1933,7530,9832,8777,11824,2817,2843,7552,6950,7594,10422,11838,11830,3335,8741,2580,3159,11857,7393,11859,11871,11799,6906,4325,2586,7602,1801,2857,6651,11855,2658,2294,11426,11355,7017,11850,7226,2993,2936,2741,11811,3128,3124,11830,11816,7432,11807,2236,2706,11901,2916,11866,5753,9212,5629,8791,8789,3016,11866,11843,11575,2822,8774,114,8776,7231,2899,4122,
8279,3302,2740,2131,7192,11833,2463,8723,7235,8725,4353,8727,6491,1620,7371,1506,7373,2293,2562,7629,11110,3303,11867,119,6984,11870,4139,1750,11925,3260,6757,6665,3309,2116,7002,11890,2849,2722,2117,7494,11955,1339,11928,4637,3349,2581,3017,8746,8402,2143,11966,3033,11806,6942,11813,11976,11822,2744,3160,6912,4331,7474,11864,3189,2660,7200,7616,10440,11872,8753,11968,11828,2704,7174,9124,11860,11803,1846,4338,11794,3050,10651,7483,3213,5123,9085,9359,7576,3195,11993,6655,7436,11954,12E3,2568,11445,
11829,2519,2131,3203,11808,7056,7167,1750,10941,4854,6662,11759,1339,4436,9374,11765,7069,5265,5584,2402,11576,12005,2066,11964,623,2942,8826,8785,9443,2410,3315,3304,11204,11569,2183,4475,12024,2135,3147,6356,6863,4606,6865,7263,6814,9032,2987,11866,11917,2975,11790,7763,2329,11990,7231,5175,3255,2623,11042,8462,2710,276,11874,2857,11975,11998,9711,2134,2568,2562,8789,11795,7110,11910,12045,3078,11450,12098,5258,8553,8521,6888,12041,7925,8558,11965,2745,12086,2407,12007,1192,1750,11948,3665,6772,
2882,4728,11985,3092,11760,9708,12039,7449,7858,10882,3216,11911,2362,4137,11817,5045,11760,7545,4654,2942,11116,11464,11296,2448,2525,10556,5727,2454,11802,2411,223,7270,2804,4038,11785,8760,7541,7046,9400,11789,2385,11762,11914,7751,11766,6891,6339,6893,7566,32,11771,4705,4707,4709,7299,6800,7575,12148,11892,8757,4476,4323,6550,4481,8728,3949,11961,6988,1846,3347,11906,6942,2317,12095,3050,6823,6681,6825,6683,7063,3076,2545,11919,4674,12003,11881,1917,11971,1813,12088,12072,11793,12115,11950,11957,
6857,2899,11825,11837,11882,4337,11981,12214,11885,11757,8284,4628,2586,3202,7167,3753,3255,10243,11848,11356,11347,11358,10036,9617,12110,2272,7526,9591,1999,7635,6925,12154,1043,12156,11898,6854,11933,9973,4283,7750,12142,7752,8523,9084,7487,12049,8791,12028,3050,3028,12035,10467,2970,2216,5630,11081,7117,8537,5639,8540,5641,11088,5865,5645,8545,11089,11316,8548,11092,7947,12238,6960,12250,3289,11903,7136,2590,12102,12248,2923,11905,11875,7465,1917,11920,11691,3283,8740,11798,2726,12201,6318,7625,
3145,3159,6960,12087,7617,11846,11814,109,12261,12111,11831,12114,1923,3050,7114,6284,7236,7751,7026,7121,7454,7686,7124,11095,11437,11834,11825,6676,12295,514,11275,7247,3296,11886,11676,2551,12074,3095,11791,6724,7554,11982,11865,12132,4670,11930,2858,5880,12117,7231,2828,1704,7596,12196,7598,12198,768,8812,8814,4556,2337,8818,1752,8820,8605,8908,7865,3093,11825,12346,8684,4518,12226,2976,11791,12334,2857,11295,3209,2868,6589,2204,11866,2879,2875,2877,1431,12390,6197,3283,7234,4477,12181,6489,7090,
12131,12018,3977,11977,2898,12379,12075,7155,12077,12021,11991,11783,11893,9820,1911,11896,8737,11898,12089,4060,12291,11845,3322,6750,12422,2922,3310,6843,11999,11619,12218,1877,2019,12318,6840,12432,2145,1848,12435,2188,12033,12355,11982,12139,8808,12052,12302,2268,4598,8299,11969,324,12263,7254,11973,12308,6906,11832,12157,11950,7204,7132,12448,2928,12420,7191,12048,12460,3134,6364,12382,12456,3183,11835,12440,3343,3296,11825,12192,12100,3241,12430,6809,6538,7497,6541,7735,10497,12437,1844,11804,
12476,11891,12073,3314,12466,11884,3326,12428,1801,12286,12374,11912,5880,12213,12378,12499,11962,12439,12220,12008,2346,12502,8451,116,3043,3490,11604,12331,12158,11761,116,11763,7711,2477,1714,7715,7563,12165,7565,7719,7567,11772,7722,11774,169,7724,11776,7726,11778,11922,8779,6430,12447,12352,3147,7692,11145,11852,11979,1120,12315,11987,12471,8011,12473,11834,11889,12483,12348,12508,7150,6184,12422,2899,11878,7620,12122,11428,12071,3196,12019,7764,12347,12221,12062,3240,3148,12195,7674,12197,6874,
12287,11877,12380,6555,10048,12385,2757,7683,6560,12327,7123,7457,6565,7460,3194,11970,11862,12451,12022,11974,12304,7611,9758,11760,11447,7491,3572,12116,9373,9357,7286,12128,7760,8526,12549,12470,7446,12322,11938,12589,7451,7684,7122,6293,12594,7459,12373,12357,12159,6907,7731,7496,12067,7734,12069,6362,12229,2337,10381,12232,9887,12236,9934,11349,11340,3898,11779,7530,9954,12135,12046,2531,12113,12511,11782,3146,12380,7081,4284,12377,6963,12496,12603,11868,7473,12411,11907,12266,3316,860,11995,
12265,2936,12310,11996,12478,12665,7738,12568,12296,11846,12002,10421,12225,12561,12491,12006,12656,7251,3332,12313,12676,12674,12333,12555,12677,12692,11904,12188,12335,11934,2236,11933,1585,3705,9668,10039,11273,1347,6239,10534,10569,3358,11701,10466,10964,335,10277,4228,10778,6371,8573,8858,10566,3035,11468,5517,370,8286,8566,491,786,6406,8276,5107,11663,8242,8158,6444,11743,1703,423,7477,256,7354,1668,11749,11209,10411,8052,4871,11300,357,11416,495,1759,9059,98,7147,7590,1703,5483,12101,12405,
4068,1150,12759,12607,4730,3806,5169,11780,9105,98,115,7146,12097,12766,4383,12763,6668,12194,12141,12588,757,7675,12362,6208,12782,6722,7624,7702,12775,4630,7678,7447,12587,4585,12622,6561,7028,7452,12593,3235,5291,12373,290,432,12206,2059,12307,6494,1703,7416,12203,9098,12776,12778,3096,8789,614,12776,11988,7593,7765,8706,12776,7259,7255,6358,12635,12487,12637,3502,12823,12777,6679,11430,12762,12776,12010,9375,12012,276,6328,5125,4446,10890,12776,12816,12685,12601,682,12759,11847,6618,6187,8797,
2913,1094,9092,12819,12792,12345,11797,10893,12763,6670,10996,4364,9399,3998,12869,7710,6572,7714,7289,12529,6578,11769,6581,7721,7296,6898,7298,7725,6901,7727,6903,12583,12814,98,12152,8759,9271,8761,7639,12790,12851,11442,3665,12859,7521,9569,12758,1703,12830,6663,12485,12833,3004,12488,12850,4347,12178,2632,12244,12897,12155,6928,11833,12759,12321,7915,7025,12590,7027,7685,12805,7033,12807,12863,6813,12091,1940,12837,11796,11869,12827,12818,12796,7463,12493,12900,12838,7183,12414,5883,12904,12861,
1914,7576,12924,7534,11880,12942,6918,11827,12412,771,12769,12876,12106,12878,7562,2482,11768,6894,12168,6794,12885,7723,12887,12538,12889,12540,12874,12842,7530,12795,12820,12797,12620,6506,12623,12591,12804,12626,12806,9992,1300,12810,12650,10336,9095,12791,6859,12482,12633,12911,3002,12068,472,4802,2054,10465,12795,12784,9387,91,12788,12582,371,8695,6764,12759,12744,108,391,432,12934,6979,12684,11697,2069,1258,12955,3096,11953,12941,12854,12893,12939,12667,13032,5045,12938,12779,12681,2697,13029,
12381,12697,12997,12864,12948,12917,823,12896,11495,12898,10028,12979,115,12137,13046,12947,2456,7284,6784,12040,12966,11767,12530,7718,11054,12883,12534,12973,12536,12975,6348,11777,12789,12993,12708,7642,11863,11142,12998,6911,6983,6913,12078,12560,13028,12908,12359,12580,12361,13014,12837,12253,12786,673,3075,287,476,10722,4530,4110,10473,12742,98,13019,13021,11672,7315,495,8338,8438,4754,12753,2760,1059,3389,10763,7775,10766,7372,6078,8070,10771,4195,6078,8075,5510,10786,3486,8173,10983,9273,
5477,10483,11457,5151,8197,11419,5471,13139,7557,8186,786,8193,10435,8196,13145,8198,4012,120,13142,3780,122,13153,8190,13156,10900,8052,13134,8717,5163,11627,11638,6418,7657,12710,8167,5325,11737,11520,11633,11740,7664,5570,9416,8067,8566,2871,2570,10407,12872,8530,8216,9384,3502,13112,9184,11377,12741,34,861,1700,6431,5162,11403,1451,5024,4804,11194,794,13200,11750,6253,4810,10558,2945,6442,9294,9340,6434,4384,5089,318,1309,4936,4454,4848,7323,6367,9544,838,13215,1590,7332,7340,10948,10234,3648,
4959,11421,4830,11611,11921,1378,907,7911,8592,2282,98,8123,5835,2308,13240,5688,9021,8930,8313,10529,370,4906,4894,568,2760,5882,5402,11166,625,4884,10447,11573,11541,13235,10949,12161,5045,13252,4868,13224,4980,11140,5440,13268,4823,9735,493,13217,4831,4879,7322,5378,4068,5203,9232,10948,9214,11166,13231,4896,9914,4873,13278,7320,4901,4849,12771,4383,13222,602,13224,12140,13232,8471,10516,9254,13274,3834,8700,4944,13293,4455,4902,13282,3980,13231,13224,13311,13219,13314,1059,13213,3371,13224,13256,
13227,8967,13231,4870,13291,13277,4875,9778,35,4878,102,4880,5206,3600,13299,110,6967,3014,13307,3991,13309,292,8026,4953,8140,5311,13340,9094,11047,8106,6653,13340,9100,10947,9101,13340,5595,13359,4012,4113,610,13362,7328,13350,4286,13365,394,13358,13368,13273,13231,7502,4911,4962,4913,10948,4968,13231,10827,11069,12299,9057,7380,5661,10416,4277,5304,10754,9121,9925,5012,10513,751,11106,6709,10426,10893,10428,614,5315,3780,11458,4286,10950,13147,12662,814,13190,11556,346,11499,10478,11719,12740,
13414,8345,13416,13197,8349,8999,10490,10457,11206,10949,5819,12750,6362,9079,8360,11224,9286,11405,11408,11221,13438,6149,9037,10735,11226,6155,10505,13204,9046,13416,12756,256,10438,10896,4397,13391,5350,11004,13173,5349,10417,2198,768,11598,10804,9758,13395,13399,7134,13401,8406,8528,10408,13184,9193,9206,12070,1688,10982,4461,11037,8861,9733,11041,8421,11572,11053,11158,11187,10530,13453,9101,8940,10708,7708,7885,11759,11689,838,10063,8949,13385,13488,5250,12264,4188,13407,5253,11466,7231,12515,
10135,395,600,10491,10536,13305,12241,10837,528,8466,5094,8468,6472,11610,11488,11575,10760,1313,9690,8262,12728,397,10783,353,8834,11272,11734,5308,9872,11681,9944,11290,10012,9890,10051,10055,1606,9861,9587,8267,11487,13516,11480,9592,9883,9843,9053,12642,9932,12644,10052,12646,9851,11360,7861,10564,12726,5045,9982,9251,11126,9986,5833,9988,9990,12330,12229,9594,13558,11359,3671,11339,13563,11341,9607,13557,6618,11336,12234,12645,13580,12648,10591,13011,10598,4560,8924,9990,10590,3792,7904,11366,
7833,13251,13548,9672,4198,9758,3753,3662,11208,12415,12643,13542,10002,10013,11357,10015,5258,11367,11364,9661,1860,9663,13621,9665,11370,9146,10618,10093,12749,11375,7811,10103,10099,10086,9417,10120,13434,10626,6159,10635,10444,11379,5946,9056,1265,10215,11727,10244,436,10192,10150,10362,10198,10365,10561,10166,10288,11683,10734,8263,10648,6417,10919,10911,10543,11673,13026,11677,12337,9654,3476,353,5916,12785,6942,12717,4012,12371,8794,8995,13413,10415,5663,83,1516,112,9897,11474,10754,841,8044,
10657,10203,1612,10819,5588,8564,5225,10784,6161,10444,9221,6442,5106,4759,8566,9190,13472,9192,9205,13186,10890,103,11622,10283,11624,9955,672,1166,5404,5355,6702,2615,13721,111,13723,2773,12738,13702,11720,9320,13699,1332,570,13179,1616,9943,3840,501,1166,10116,7819,44,13722,1662,2685,6171,259,407,44,8041,522,709,103,111,13745,13727,13747,3622,13758,13728,3622,50,432,9452,602,260,11678,3269,13742,9683,259,13762,13747,44,13749,100,13751,13753,915,115,13756,13775,491,2649,13746,13786,13765,4594,13768,
324,6202,11597,13471,13183,13711,9353,13475,6362,3424,9534,13284,9758,13495,4124,13287,6958,7871,6170,900,281,100,309,8700,13150,10538,13683,8268,1117,3227,103,10869,11012,13537,7659,10868,10863,11739,5512,3442,5105,5135,7775,915,4853,5471,9279,13567,7231,11460,7871,2531,312,8576,11168,5403,5880,76,13845,1516,5200,9279,9485,6249,476,11461,13844,13837,13847,9108,13448,10041,11471,13165,11504,2801,8663,8264,11659,13830,7663,5170,5003,6074,9137,7346,7980,11046,9121,1607,8423,13384,11177,9584,319,4868,
7821,13747,5461,8966,13515,10828,13553,11063,11150,13264,13882,3608,13889,465,11687,10109,10136,280,11046,13893,13501,9179,11188,10460,13703,353,9774,666,9903,7775,1645,13300,13255,13504,7536,2404,2609,13324,13922,7103,7243,1690,2609,7632,9368,13920,1309,12506,12663,7252,13934,101,13936,1923,13931,7413,6628,13943,12426,6660,3859,11451,13418,2623,8268,808,13116,3538,9049,459,2337,8453,111,9965,10280,10152,10282,32,10284,877,8830,3560,10286,928,6026,1353,10333,8790,1795,10149,13963,10196,10363,10325,
13656,10201,10368,10329,13983,10159,10373,13701,7800,11752,1682,13211,5308,8806,291,13302,2511,8796,8798,9534,2654,8825,6322,8827,6547,1821,11383,7286,12763,553,7337,6552,1828,6322,14003,11923,3203,12515,12517,5201,3972,5502,6027,293,13511,8945,263,13485,9254,13996,11924,13927,11078,2942,14006,12138,11916,12210,1031,7556,5237,12611,12105,3945,12614,8525,12258,12103,7917,12126,12162,12107,9362,12109,12259,11923,2944,14037,5232,618,8813,12057,8816,12367,32,2334,7825,617,8822,12373,14024,4866,293,6764,
13969,4534,4582,3371,3404,1645,11681,6189,110,10975,118,5471,9744,786,9496,8927,1585,14077,11747,10147,13425,10211,8370,4053,1442,8378,5172,6208,13492,13638,9151,11218,11717,8375,10716,13433,10501,10623,8377,436,12231,11712,11574,345,14101,9041,14103,9732,6210,6171,13635,13440,9122,9781,14128,9912,12641,14118,13263,14120,6155,14123,9584,449,9773,11410,9331,14135,7846,14137,8831,10495,13431,13909,9135,14102,14147,2525,14099,5206,14121,10723,14138,13441,10193,13632,3501,14100,14146,7771,9242,2641,14134,
3502,11227,13446,14149,14164,14152,6384,13819,13450,341,13492,12450,13062,9555,12313,12294,8678,13492,6599,13045,4188,551,7001,12510,12134,11142,14180,7530,7644,13364,9760,9715,13266,7231,3585,4475,3462,13182,6213,10409,13185,7811,11143,6171,12909,7077,3698,7733,12834,13005,7265,14212,7648,12964,7068,13064,12164,12881,12970,12169,11773,12172,12888,7300,12890,7064,4853,13941,1605,14221,10074,13840,6942,2648,11109,13568,4531,13467,11926,12240,13553,8443,9714,14237,1940,14191,12289,6373,13492,12870,
11681,7708,14204,8732,3942,12180,4438,7239,11941,921,12351,3780,14255,12562,12459,5886,5932,11555,7711,11551,8283,14125,14222,6262,13676,8685,13012,12581,12175,8298,14182,4604,12119,2008,8847,11362,9703,11994,12463,5493,12693,12655,14194,8751,3125,12468,8278,12500,1961,12690,8755,11929,14215,3812,7282,14280,9182,5662,7642,11758,4268,12223,11781,1031,14272,2347,14185,2907,11821,7607,3101,12902,2998,12905,7523,14104,14281,13035,6707,13086,9403,13492,12125,12612,9083,3213,6996,9378,4054,14192,12632,
3883,14184,12945,14124,14316,10562,14348,12026,6989,14305,14179,14281,12133,12189,6857,1452,1616,5914,8510,12241,1609,915,260,262,1702,121,6549,9758,290,7642,12651,14195,14281,6831,14329,636,3299,12940,12574,3014,14221,12825,12020,13037,14382,14316,12660,13342,1758,12202,12853,8006,12301,14299,14349,3203,13806,6631,6664,4512,13619,8606,14022,4055,14221,12770,7586,3572,14262,2185,14040,14238,14105,6955,14274,14357,12421,12780,3634,14197,14311,9095,12224,14291,14409,4687,288,13808,14434,7078,11960,
14315,6211,12857,6756,12859,1166,9404,1325,9569,1955,8789,4863,14202,6942,11570,11148,13883,9863,12409,3143,12668,7699,13492,7052,9866,11171,2511,7997,14067,13794,14335,14316,6930,14385,14354,6211,12761,12564,14424,14353,967,2923,12694,5608,5759,14277,737,14279,8939,14383,14460,7082,14432,14281,1705,1688,630,14157,7816,1482,14253,7004,11784,13051,11581,13053,2774,12425,14428,14472,14443,13025,14186,14491,7131,1199,6315,13492,8789,11418,10893,14423,11858,12817,4286,14221,12340,14351,14307,12502,14324,
11900,14510,14476,6171,12959,12957,6246,12354,14454,14365,12599,14290,5045,8311,12910,7281,11960,1585,5104,7775,8048,1443,13892,7993,115,13240,13242,10668,13244,103,98,3851,9548,4449,7928,1504,14481,701,2E3,5135,9202,10402,14210,8225,319,10910,6392,9977,13233,13525,13386,8738,5670,100,1786,450,9130,10607,14582,13502,9584,11616,14494,14355,12548,8337,1720,6406,5452,4534,9004,5739,11131,9987,11133,10601,5749,8114,8128,10770,5422,9691,9110,9731,11543,5701,8305,11700,9123,1974,13257,4139,5384,11791,9703,
11536,9643,11571,14458,10515,13894,11844,9704,10046,3993,594,542,5084,7335,10948,14419,4101,11172,9165,747,287,14447,9170,1510,9569,14063,1764,3199,5875,5440,14087,475,392,7711,7708,599,1117,400,12298,14592,828,6239,565,4872,5254,99,70,1662,1514,2806,13707,8936,13355,1605,2671,3372,8578,10571,435,10573,7751,10575,8585,4534,13727,5657,13716,13966,13718,173,8902,9272,13209,4816,14564,6042,3856,2663,5880,14425,10548,8562,838,6406,10540,10698,10934,6354,5724,3968,7285,13363,9555,2E3,14206,9381,13710,
8409,14575,9035,10579,9869,12722,6885,14715,13271,2862,11141,6942,1482,78,653,11693,3440,115,13998,6054,5440,119,394,1713,85,12712,1696,1405,10324,9199,8040,8042,7966,11047,11646,8431,672,9117,13878,9119,477,14701,3990,14566,4945,14655,13326,4012,293,14618,602,8181,14573,14723,9352,9354,7265,14653,7142,8402,14646,930,14648,4586,14650,14449,10923,5004,14614,6074,11075,11183,9758,11185,13884,10517,13627,9324,10500,10496,14174,436,5104,69,14159,1606,14140,4568,6468,14803,14156,6126,14806,14123,5103,
11009,13644,340,14745,483,100,8724,1696,10925,8803,292,10756,10343,559,681,394,51,10361,13964,13981,13966,13623,14833,114,14835,10371,13547,12398,10369,7846,664,475,120,52,1466,13657,1481,14849,105,5881,14746,13974,10374,8994,10244,11237,5948,14822,1713,5350,14826,10911,14828,10342,10303,439,14841,14843,5128,14837,13655,841,870,6104,14842,14853,10201,13229,2510,14847,8252,14856,14851,14884,10159,8562,14850,87,14859,10236,10295,1787,8864,12843,14829,10757,4575,10346,10308,2838,1226,10311,14908,2307,
13680,465,271,648,653,110,125,124,530,13477,3366,14878,10364,14880,14875,14892,10287,10235,14888,6862,91,3415,287,2758,14682,8116,14928,1123,5328,10374,10747,10337,3539,6242,10985,14715,10341,14830,14873,6357,4031,14936,2760,5750,14923,13980,14879,877,14881,8672,14876,10366,14929,10340,13975,14672,14161,10755,14904,11958,5104,14157,13511,436,2356,14935,6288,14937,14956,14877,14958,14925,10257,13971,296,13985,2940,14844,13989,6310,378,4110,14976,4351,14903,14831,11958,648,14978,519,14955,6540,414,
14924,13982,14926,14882,14963,14854,10202,5011,49,381,14840,15009,14939,13658,5011,50,14898,10752,3539,403,5056,14858,14823,14949,14971,1272,1102,15025,14850,8013,14954,11301,15004,10323,13965,13967,4604,14934,32,15036,14938,14844,11746,10204,1585,11745,822,762,13955,8566,12032,476,14502,2275,14004,4283,14060,4188,9356,14045,9358,14054,5266,12044,12541,8783,14782,13041,4749,5399,12516,290,8047,11120,13973,415,14027,14630,11175,12519,14032,15058,2360,12443,15031,11959,14410,473,14036,12544,14038,11923,
8789,14042,5240,14044,12621,757,14047,6328,2840,12506,14952,4489,6633,3093,11913,12600,12652,12453,476,15089,5202,8791,14742,3945,14E3,108,12146,14017,12542,14059,15095,14061,278,14063,9519,10020,14066,14068,12370,14071,2840,12454,14389,5372,15080,14075,11786,14077,3744,862,10278,553,14082,4721,14085,100,14087,5200,14089,367,14092,9337,6475,11753,370,686,592,12057,9121,4450,13916,2623,3577,9412,14421,1940,15167,9826,12895,7636,13052,12921,8762,5926,15168,4492,6650,12121,14475,534,718,7036,13049,8733,
13740,7223,8735,7444,15174,9903,12811,5119,4012,975,15189,12060,15172,4949,15188,7190,14533,15073,15181,9826,13024,11936,12398,14266,11940,4409,4305,3693,14356,15196,2623,6979,15185,11427,13321,3693,14416,11440,15187,6392,6922,15190,14264,13570,7286,14267,15217,12103,1662,12918,7043,12920,12246,12922,15210,9903,15117,1192,15201,7190,12502,15250,14474,15225,8070,661,15211,7014,12949,13587,12952,15194,11851,4054,100,121,6624,14350,14299,15266,12852,13669,5605,15206,6642,11431,306,6605,14405,7167,15221,
15183,6959,14331,11958,14333,8736,13054,7065,2094,14486,299,14278,14487,14269,15266,15198,1992,5893,15278,15207,12027,12228,1443,15267,12313,3752,15305,14444,13719,12416,15263,11897,13265,15231,14181,11764,14624,15257,15197,6650,12397,14265,3945,15237,2892,6733,11163,15202,14263,14645,15192,3742,15289,15282,2341,6629,14541,6056,15206,15298,7557,15301,12249,14360,551,15271,15224,11448,14418,15309,14304,12559,6857,15347,10075,14321,10427,3837,14214,7280,12832,13003,12636,14219,6362,15336,2612,6754,
14034,5045,15253,6906,12502,15300,1514,12558,12936,784,15368,602,3274,15308,15297,14543,15318,4286,15381,3754,12995,11887,15270,15267,14504,15177,14506,15179,12899,15296,15306,2270,6838,14360,3915,14537,14525,15372,15341,15358,9765,15275,15353,15379,4852,1443,10937,13608,15352,14307,3203,400,15240,2884,15324,7117,15326,7241,15256,15182,2341,15212,15233,7042,6406,7542,3915,13061,15387,12254,12163,7716,13066,12882,7720,13070,4706,7297,3071,14232,12174,7728,15328,15344,11839,15269,3780,15389,15170,6905,
3351,15346,15419,12090,4205,15320,15222,7149,12467,15354,3014,15458,15410,5237,15412,14349,15375,15329,7190,12030,12422,15458,15322,12243,15242,15178,15244,15180,6014,15430,2612,15254,15350,2643,15275,15395,12919,15486,11787,15218,3837,12925,8495,6557,12325,7453,12989,7031,12991,7126,15230,705,15248,6653,3693,14342,15065,12844,5247,14346,12616,9152,15490,9928,15386,12341,15380,15466,3115,15087,15500,465,14478,14534,14482,15348,11830,15421,13821,9164,15333,7187,15289,15356,15345,15470,1192,15376,15279,
14256,15304,15385,14380,12996,14190,15463,12438,12290,15534,3998,3693,14528,15411,15316,15391,15526,1059,15482,6499,3274,13926,12455,6315,15561,15473,9095,3693,14392,12573,13411,7704,15528,2341,14363,12702,526,15577,7472,14338,14462,6857,15389,15310,10049,15262,7522,15288,7729,15478,15272,10437,13821,12822,15227,13090,7117,13013,14288,15586,15501,12554,12306,13402,3837,15342,15474,15231,15268,14406,15206,12038,14343,7449,9359,9361,15068,7072,15429,9826,15459,6753,13946,15559,15522,15258,6768,13939,
15530,15246,15467,13048,15203,12960,14203,15309,15323,15235,7088,15216,15327,11409,15523,110,13933,4324,15281,15582,15369,13925,13921,15572,7158,15599,15349,12608,15567,15657,9928,15483,12178,8789,15592,15646,11690,12800,7238,15649,15428,10016,13821,13638,11553,1860,14489,7709,15454,15402,12047,15546,1031,15548,14716,14544,13509,15667,15653,9365,15204,15494,15617,11883,15656,15652,14465,15200,15475,14358,15403,15689,14238,15604,7691,11433,14356,15691,15176,15497,15397,15487,15399,6299,15599,15673,
12799,14285,15427,8729,15453,15377,14270,15576,15614,15525,15465,15652,15671,15695,15600,6378,11189,13628,15634,13427,11220,701,7421,101,14127,14149,13990,13115,6429,1466,10740,710,11218,8359,13653,15006,14839,1818,15751,12755,14986,6379,14931,1113,14844,2648,1363,15049,13704,6074,6432,8324,11371,256,14108,14169,15757,14131,6126,14117,13435,8232,14132,3258,11406,1689,14009,15779,13439,15749,5926,14812,15749,14177,13994,3519,14521,8936,14734,14365,13773,14580,13304,14633,13264,5175,1589,100,9245,6251,
14632,14150,3972,13463,4729,13500,13885,3998,14788,373,4296,9536,13514,14590,13552,11844,13896,11568,10829,14487,1057,15684,1955,15682,1818,15684,5175,13901,6045,5701,13907,15827,15807,14583,288,15840,6026,6127,9248,15082,13906,14756,13908,15820,14361,14596,9371,11552,14030,15819,11546,15848,8819,9984,9239,15828,13264,9333,13499,10832,14119,13502,1585,10461,10661,664,13817,712,2359,1749,9680,2544,7825,7756,281,3482,8475,363,350,5119,9434,11716,15779,14818,8067,14178,973,11943,1860,13118,10470,438,
14795,12519,8497,15717,11647,830,8500,15892,10961,9057,13206,6072,13208,15773,13196,13168,495,11139,5043,5626,10520,6942,122,15926,14542,1325,6437,13113,9109,15919,8159,9135,9319,3389,10217,15921,1600,14594,4188,10665,14756,9447,1309,5770,9465,9451,9453,10693,5779,10687,5844,10675,9467,10677,9462,15957,5858,10686,5800,12276,15964,10695,10688,9473,5861,5812,9454,9473,5644,8117,12713,12843,13692,13127,10650,13695,12874,10874,15977,877,15939,15980,14930,5510,15979,14613,11729,598,320,80,10197,602,13134,
7775,5670,625,6630,15863,9254,1482,789,15513,7704,1795,5694,4390,10227,15235,16003,9591,9772,14811,576,9983,5406,13322,9540,10596,608,16021,9991,15510,4934,11392,14499,13551,15846,15875,15934,4814,68,8075,6413,2875,1558,15998,8566,16E3,1139,8485,16014,13553,11167,5366,14718,6246,15116,15339,1192,16016,11281,6150,16019,7853,9677,8123,9677,7689,6441,6074,16037,8149,5995,10718,13826,826,11866,14207,7009,13473,13712,7811,12803,2453,6764,8090,1095,13687,9897,13457,397,13686,11491,3378,13730,10413,13732,
438,9994,9559,8506,7354,10134,13497,8946,15895,15784,3420,10117,6393,15791,14570,4401,14142,11216,3502,16098,11147,4312,13661,14109,7811,11079,9005,11196,16116,8383,15159,7769,13993,8335,6434,10526,14381,12444,7985,11759,1561,10803,8402,1166,14469,1669,13599,1993,13518,345,13520,7866,1345,109,15117,15108,6620,5527,16145,15107,6863,6620,10526,16007,2023,1561,15638,2544,1561,14319,4433,12268,6696,10582,2681,8541,7939,12277,12275,5648,7944,8546,8550,9085,16150,5126,1656,13534,8892,8291,8566,3534,98,
109,16073,6613,14209,13474,13713,4688,3566,14776,13797,14724,16190,13633,112,52,16187,7275,16189,16076,8225,535,9535,9419,13897,15847,13265,15113,7231,14438,5045,10400,13796,14208,16075,13799,16191,4934,5070,7863,16181,9187,1333,2799,11300,13285,13159,7799,10461,11667,11300,13825,16126,5308,15800,11053,3909,8146,13381,3663,11560,9131,7321,5736,8102,15943,16246,5876,9866,13332,5375,13312,13296,14417,1066,8916,11126,8122,13573,14607,8135,14293,8118,8131,13303,1326,16262,16023,9388,16264,11131,1128,
1358,16268,6697,16274,11128,16139,4059,5400,8139,5736,9491,15805,5015,46,13369,11467,11230,13416,15772,16035,15940,16070,3472,5880,13353,4012,1482,14244,13841,5880,14247,14455,4443,11670,13861,877,13134,16310,8303,945,8059,1646,11514,10916,14698,16065,5476,16314,12373,4853,9103,10427,12719,111,6437,14284,5207,13508,14735,5880,8708,10892,6885,13490,5721,15132,12135,12712,338,1869,8058,9225,5711,16312,14615,8057,16317,8318,14603,8592,14605,16263,13596,10600,13598,14610,14938,9530,5557,14737,291,258,
10988,15845,15815,6182,476,16304,14735,476,16307,6857,4853,16301,13351,5095,751,13855,7986,9233,476,16337,5157,2165,4853,9072,16342,16305,120,16327,2434,16344,8577,13490,3995,55,16291,7231,520,16369,8004,11618,7231,7949,16366,6669,291,5363,3359,13847,16050,13468,3371,16384,15801,5440,13857,12713,13367,8571,4012,16423,16345,13373,16426,11955,16398,108,13353,16417,7231,9638,4318,15872,8425,15874,13910,16266,12713,16392,15929,13343,10512,16397,8118,16388,4923,16431,6246,13445,14631,13486,16442,11682,
5942,16306,10899,4012,15948,16406,4981,46,48,15802,3014,15273,784,13678,4139,15928,15739,7354,14886,4797,11215,10493,16111,15852,16099,14029,10625,14143,16483,11688,16113,3103,16115,15896,13418,13210,11722,13957,10639,10611,10205,11395,11127,10644,10245,8609,1352,12843,15005,14983,15007,2358,15018,7613,14930,10181,1585,6629,10821,9588,16298,13169,1677,10852,1550,6445,16351,3359,13162,13423,6404,10172,14162,8232,11711,16102,12751,16232,13643,15798,710,121,16420,4124,120,16543,4552,5255,16546,11056,
6392,5964,2059,11560,16550,5731,111,16554,16475,16549,7745,3229,16560,4286,3617,1696,4657,10754,16436,6942,10662,15724,3014,15945,6325,14560,9450,5856,5426,10672,15967,15956,10679,16582,9461,5866,10677,9464,10682,9474,384,9469,15953,10686,9476,10690,16590,10692,15968,9477,15974,8982,260,16552,12314,7167,5294,16563,13267,9068,16608,5068,14550,9136,13130,8064,15941,11722,13178,11276,6442,1620,9653,841,9692,9496,3482,11230,16615,325,5513,9698,16629,13120,11009,11073,9619,10776,10565,14729,13454,356,
11172,13535,16626,8081,10412,13119,5299,1553,13871,11585,11661,3537,13530,6253,11628,3460,8172,353,11706,5422,16508,11673,9200,8698,395,8700,8670,8443,8402,1192,13506,12079,11179,11465,16338,7780,13642,16092,9416,435,14588,13195,6048,15775,15741,16048,16119,13631,16121,15785,4813,11374,16691,13641,9134,15916,3372,16684,8334,9121,11643,12063,6861,15108,12066,12373,8338,14732,4302,8967,9068,12227,12422,16688,1855,8789,6063,4885,16031,16371,6719,11643,16710,5499,13228,4320,2035,14706,862,1855,15593,
7622,556,4320,13318,5377,13338,7505,16731,12577,12547,15860,3366,12713,6242,16732,15285,7748,13674,13622,13354,5440,414,16746,16713,1968,8789,4857,13226,8004,16754,4320,9806,4657,1419,6241,16757,12358,15712,6611,14356,591,780,14694,16497,5961,8123,5943,5961,13099,1307,278,16345,7524,1654,4167,7590,9216,11047,769,1420,5578,16272,14933,16793,2761,13810,3985,8823,13604,10983,12546,15713,14597,11035,391,10936,3256,16769,12745,11047,13487,16443,10849,653,16717,15698,15905,12577,5444,6244,11423,14408,13002,
6540,12913,12835,1820,16770,6301,16805,16744,1648,16817,12577,16567,1654,12033,14425,16716,1968,16733,7740,16735,1654,14425,16755,16345,16747,16837,7167,16688,16447,1192,8338,12770,4062,16256,13220,3572,8338,11847,16859,7321,13337,13297,1059,11035,16851,1431,16209,14667,7543,862,16737,4065,13320,834,8858,4296,7423,13524,15869,16210,16849,16768,16803,16821,16705,12065,6811,1289,1654,14694,14758,14697,14760,8016,16683,14699,5657,5322,9911,12269,12613,15147,2761,1406,5290,11325,15905,2760,16877,4456,
16879,16802,11420,16704,15470,16706,16893,8310,15660,9077,14770,9493,13865,16651,13458,13873,5002,16530,13429,16165,15793,14275,13639,16488,13990,10636,16540,340,16239,11047,16470,16054,16449,12138,16131,11053,16947,3583,13455,5678,16080,11499,10223,11022,11104,3371,16377,3014,13395,16374,6857,11111,5222,13734,8318,13409,13406,16463,4139,8520,15102,12255,6578,12257,12130,5706,16677,15063,12104,16977,15624,7924,14055,5585,12049,8534,16936,7117,12272,7932,12274,16169,7941,16174,12280,688,8549,11093,
9085,12992,5258,16675,12431,1299,11270,13868,11673,4853,13858,16094,8702,11172,8811,11003,6764,7662,12395,6354,11320,15811,102,9518,6229,12274,8789,16214,11807,16433,17016,16670,17018,1923,16141,296,16143,16211,15693,6942,2671,786,17026,17028,4999,917,4298,15414,6733,17025,79,17027,11362,17029,2684,6806,8487,3462,8490,11681,4978,17054,17056,3533,5940,8869,17059,8781,16164,13011,12271,16167,16997,5643,11087,17003,11091,17E3,12283,11490,120,17015,9558,17017,15299,17066,17048,1549,17070,1328,7038,15897,
1407,15890,349,365,11456,15941,17096,9418,6089,7968,10976,373,13834,16934,1067,14113,1386,16495,9439,16943,1457,16949,14320,10907,11944,11269,11543,11153,6041,14636,9550,15867,5561,14144,16815,17123,15084,16458,17130,16460,10372,16974,4286,3585,10589,16446,6412,8712,10876,5476,10074,16663,13110,13629,8667,8699,8701,17036,10442,10901,17145,16662,15981,346,6078,364,312,13529,16617,13539,9997,10011,13615,13544,13617,9972,10503,436,12720,12323,15440,8895,8924,8782,11326,602,14737,1513,17167,11288,9947,
13614,10037,9962,3754,13556,11285,15261,11346,17168,11348,13591,9950,13619,9659,13625,15880,528,13624,16659,8939,4466,17175,16986,17178,10600,17180,9938,11119,10033,13560,11289,13545,13564,9841,9883,13649,13579,17217,17187,17219,11292,16355,3945,13595,8597,13597,8926,14790,3546,17209,16558,17139,9626,8627,17185,11350,13581,13562,9892,17220,289,17161,15892,2088,17249,365,9938,15170,5701,6118,17242,12647,1E4,17188,12237,9732,17208,4514,4243,15943,13862,15740,9324,11195,16690,16106,16618,338,15748,16533,
10404,13637,10105,17277,16537,5325,16942,16497,9296,16499,3407,16501,11238,13646,726,6307,10748,9627,1121,6531,17256,3336,13387,15990,8072,8566,16118,12384,15675,13097,5638,17076,16999,11086,7940,11085,5286,17001,5284,17082,8551,16941,13913,288,17101,16521,12757,16260,16791,8919,16795,17231,8598,9726,10957,6089,1057,8255,14794,7956,15814,11177,14800,5946,13611,16695,7265,17271,9007,14128,16535,13640,17282,1677,17284,15754,9297,16500,9299,16502,14943,13662,11729,11050,10630,15833,17102,13205,15295,
16660,17157,17302,16617,7949,14708,99,10480,16546,14656,10948,441,3857,16353,737,16661,9223,16347,11671,16444,16345,15984,712,17382,10125,17159,16428,615,16324,17381,17368,395,17395,13251,4821,1420,17088,16385,10948,11035,8717,6406,9313,5414,17390,97,10074,8717,7948,5557,17372,16094,17375,6244,14680,4921,8858,5353,1118,16387,13691,877,17411,17147,17159,4531,3750,3726,111,2279,14798,16004,392,9714,17374,16287,5195,6349,4188,16043,262,16451,5024,9245,9641,8495,15856,15864,785,16353,11705,17397,4297,
17384,5200,10923,17439,615,17418,17442,17404,6321,6534,17154,14743,10948,5312,10984,16330,4443,17155,8052,16233,11401,16682,1441,16902,681,3750,7775,16472,1059,16474,4286,16476,2948,13819,8061,10931,6442,10933,5306,13668,17138,5045,10583,452,4788,14578,13238,17338,17454,10260,5149,1992,17489,5045,9688,14792,16035,438,17491,16678,10737,13419,8718,7969,5355,373,14601,8273,16254,7319,16860,16917,11146,6177,12003,14623,12727,6253,17526,5329,13536,3506,86,2539,6640,306,1385,14178,4057,2875,5634,17051,
14186,4466,1349,5701,16349,11844,759,373,15503,7449,389,279,395,780,2877,592,8533,277,17181,9246,110,7871,9721,17194,12233,17196,12235,17261,13618,1481,7872,11600,11155,732,65,14087,1662,4971,9758,4579,1688,4592,4469,10069,13553,14635,11537,3993,17586,1868,17589,12519,3753,77,17582,11894,181,13559,17579,13561,17198,10003,2240,3401,3403,15149,3406,7222,3400,3402,282,14081,3406,2615,17619,17615,3405,17023,8283,4466,17595,11844,5463,117,16080,8320,5999,3393,10042,9940,7928,17606,13612,17608,17227,9969,
17611,9569,849,7818,259,16440,15868,16032,17131,16107,12178,15170,10117,17652,17129,16722,1501,3753,9042,2354,17592,8864,17258,13583,17646,17225,11292,10065,9802,9818,101,17600,17588,13681,9910,1749,115,1442,13728,9771,4301,8848,4210,8579,1563,5832,16795,515,1027,8585,15720,15848,435,12377,7708,2452,1514,397,114,14969,16046,17632,13759,14567,112,6183,5254,477,17631,13264,11332,7211,475,17559,15674,14285,17562,3601,17565,2424,6202,17568,12373,17664,17085,6301,9785,4593,4517,13541,17645,17260,17737,
17612,3831,17640,101,17666,4581,17734,17669,17246,17244,17647,7729,17733,4469,258,1688,3585,5406,1822,11322,3616,8272,5833,17758,5227,17760,3358,12330,3622,17678,1430,16332,3972,10103,15825,3371,7929,4062,2690,15164,631,5833,17778,849,2209,3268,6733,17752,293,17769,17602,17681,9584,542,16428,11298,6764,10143,6540,949,5021,13251,282,107,1426,10941,17711,404,17713,103,17715,16210,9912,7821,4314,108,17660,2862,16814,17136,7930,10999,12245,91,5417,17787,9467,17573,2761,13395,3771,17340,459,16493,15784,
6153,17558,762,751,16694,10725,8376,9174,16484,16491,6136,17834,10736,10412,15762,17692,17285,11234,256,5414,65,12776,14012,323,10407,14997,14873,4365,14957,10227,14838,15041,16188,13473,15011,5054,13975,8455,14087,323,17322,1586,15759,17866,14905,58,40,41,32,61,62,1171,4058,1353,15768,615,310,743,15022,1006,16908,262,10983,15029,14998,13731,17521,14836,16510,15760,16195,8111,15011,4450,435,115,78,5997,13975,319,17896,11420,17055,9774,17909,17898,14873,15767,14982,17864,14959,16074,9192,17907,8580,
17910,17912,13986,841,17284,15011,2677,11420,17893,13547,1528,436,17915,8969,13979,17924,14984,712,17934,10201,17936,8969,13975,5414,66,121,17918,3637,17911,7788,10300,14950,10344,1076,17797,17902,17945,16511,17926,16196,17928,17909,17958,5591,16516,5454,7755,16236,9121,16945,7333,46,16953,1605,16854,6054,16290,16248,7351,16250,8873,16252,8141,16244,17989,8027,16247,10948,7317,16791,17530,16739,4068,17325,4062,16271,8112,16280,8115,16282,16433,16278,8121,10599,14606,16359,16362,16139,8627,18011,3945,
8134,16275,14293,8137,17534,7328,17982,2149,17466,14679,46,16824,17268,16647,16294,7772,275,11476,10118,1409,14659,15918,16035,15774,17323,10618,5590,17142,4654,5590,6103,11100,15286,2913,392,14087,2454,11262,830,3523,103,9569,9102,3990,13739,3666,2005,18055,435,2615,1076,18060,18062,10898,16393,8674,10874,16380,14526,8665,16966,14390,9099,2439,5590,18078,8777,5590,18081,1758,18047,17477,7799,16698,6073,18043,6452,8252,16614,16645,8566,17166,17216,17609,17218,17171,13546,13539,4493,11335,11287,17243,
17671,18104,17247,17741,4577,13193,8691,17747,11291,18113,17739,9569,9867,7868,16640,14190,3951,14433,15594,17195,17186,17749,17672,13592,17221,15524,13586,9574,17576,18133,18122,18106,17247,17229,7117,17329,17233,11135,13886,9755,10075,9862,15085,274,1700,9975,16457,16813,16459,3972,13609,17295,18120,13543,13582,17748,18136,6154,1444,17515,4789,5693,17201,11365,13623,13620,8172,17831,454,9208,17959,16691,6153,17345,9021,17273,13634,13430,17281,9385,17279,12057,16494,16679,17901,14820,17287,13648,
10642,15023,4997,5004,8708,5409,1869,13804,9147,14872,10758,1217,11239,5383,404,14830,17474,68,15879,14776,17860,10344,8805,10211,11041,10214,17294,17241,10385,353,9645,12713,5437,14761,8041,13879,14756,9121,3637,9855,83,9128,465,9188,11060,9233,16906,9078,115,9855,8594,18249,5423,102,9854,97,16090,18234,14755,1436,18005,8566,11895,10391,14444,11065,802,1078,17359,1128,12288]});
define("hT",["require","dY","og"],function(a){function d(m){var q=c[m];if(q)return q;if("string"!=typeof m)return c[m]=function(){return m};var p=(q=e.exec(m))&&parseFloat(q[1]);switch(q&&q[4]&&q[4].toLowerCase()){case "vw":return c[m]=function(n){return n*p};case "vh":return c[m]=function(n,r){return r*p};case "vmin":return c[m]=function(n,r,t){return t*p};case "vmax":return c[m]=function(n,r,t,u){return u*p};default:return c[m]=function(){return m}}}function h(m){this.bb=m;this.wH=this.wH.bind(this);
this.bb.bind(b.fc,this.cc,this,!0);this.E8=new Map;this.Ct=[];this.cc()}function l(m,q,p,n){var r={};r.instance=m;r.XWa=q;r.name=p;r.value=n;g.push(r);f||=setTimeout(function(){f=null;k()},100)}function k(){f&&(clearTimeout(f),f=null);var m=g;g=[];m.forEach(function(q){h.dX(q.instance,q.XWa,q.name,q.value)})}a("dY");var b=a("og");h.prototype.cc=function(){this.rQa();this.E8.forEach(function(m){for(var q in m)this.wH(m[q])}.bind(this));this.Ct.forEach(this.wH)};h.prototype.rQa=function(){var m=this.bb.zb();
this.XW=.01*this.bb.Va();this.RW=.01*m;this.Wra=Math.min(this.XW,this.RW);this.Vra=Math.max(this.XW,this.RW)};h.prototype.wH=function(m){m(this.XW,this.RW,this.Wra,this.Vra)};h.prototype.TQa=function(m){this.Ct.push(m)};h.prototype.QUa=function(m){m=this.Ct.indexOf(m);0<=m&&this.Ct.splice(m,1)};h.prototype.dX=function(m,q,p,n){function r(u,v,w,x){q.call(m,p,t(u,v,w,x))}var t=d(n);(n=this.E8.get(m))||this.E8.set(m,n={});n[p]=r;r(this.XW,this.RW,this.Wra,this.Vra)};h.Sc=new Map;h.get=function(m){var q=
h.Sc.get(m);q||(q=new h(m),h.Sc.set(m,q));return q};h.dX=function(m,q,p,n){var r=m.get&&m.get("application")||m.Hb&&m.Hb();r?(k(),h.get(r).dX(m,q,p,n)):l(m,q,p,n)};var g=[],f=null,c={},e=/^\s*((\+|\-)?(\d*\.)?\d+)\s*(vmin|vmax|vw|vh|px|%)?\s*$/i;return h});
define("lQ",["require","exports"],function(){return function(){function a(){}a.Rua=function(d){if(this.Ph("crossorigin",!1)||this.eY(d)){var h=window.location.protocol+"//"+window.location.hostname;window.location.port&&(h+=":"+window.location.port);return d.substring(0,h.length)!=h}return!1};a.Uv=function(d,h){if(this.RTa(d))d=window.location.protocol+d;else if(!this.eY(d)&&!this.az(d)){if(h)if(0==d.indexOf("/")){var l=h.indexOf("//"),k="";0<=l&&(k=h.substr(0,l+2),h=h.substr(l+2));l=h.indexOf("/");
0<l&&(h=h.substr(0,l));d=k+h+d}else d=h+d;this.wm.href=d;d=this.wm.href}return d};a.ITa=function(){switch(window.location.protocol){case "http:":case "https:":return!0;default:return!1}};a.RTa=function(d){return 0===d.indexOf("//")};a.eY=function(d){if(!d)return!1;var h=d.indexOf("://");return 3<=h&&5>=h?!0:0==d.indexOf("filesystem:")};a.getDirectory=function(d){d=this.Uv(d);d=d.split("?")[0];d=d.split("/");1<d.length&&d.splice(d.length-1,1);return d.join("/")+"/"};a.Ri=function(d){this.eG||(this.eG=
this.tja());return void 0!==this.eG[d]};a.getQueryParameter=function(d){this.eG||(this.eG=this.tja());return this.eG[d]};a.$xa=function(d,h){var l=d.split(h);d=l[0];(l=l.slice(1).join(h))&&(l=h+l);return[d,l]};a.Py=function(d,h){if(!h)return d;var l=this.$xa(d,"#"),k=l[1];l=this.$xa(l[0],"?");var b=l[0];l=l[1];return 0<=l.indexOf(h)?d:b+(l+(l?"&":"?")+h)+k};a.parse=function(d){this.wm.href=d;d={};d.protocol=this.wm.protocol;d.hostname=this.wm.hostname;d.port=this.wm.port;d.pathname=this.wm.pathname;
d.search=this.wm.search;d.hash=this.wm.hash;d.host=this.wm.host;var h=d.pathname?d.pathname.lastIndexOf("."):-1;d.URa=0<=h?d.pathname.substr(h).toLowerCase():"";return d};a.getExtension=function(d){d=this.parse(d).pathname;var h=d.lastIndexOf(".");return 0<=h?d.substr(h,d.length):""};a.Ph=function(d,h){d=(this.getQueryParameter(d)||"").toLowerCase();return this.xUa(d,h)};a.xUa=function(d,h){switch(d){case "false":case "0":case "no":case "n":return!1;case "true":case "1":case "yes":case "y":return!0;
default:return h}};a.Kta=function(d,h){d=parseInt(this.getQueryParameter(d));return isNaN(d)?h:d};a.LX=function(d){d=parseFloat(this.getQueryParameter(d));return isNaN(d)?void 0:d};a.tja=function(){for(var d={},h=window.location.hash.substring(1).split("&").concat(window.location.search.substring(1).split("&")),l=0;l<h.length;l++){var k=h[l].split("="),b=decodeURIComponent(k[0]);k=1<k.length?decodeURIComponent(k[1]):null;d[b]=k}return d};a.wm=document.createElement("a");a.eG=null;a.az=function(d){return d&&
0==d.indexOf("data:")};return a}()});
define("kV",["require","exports"],function(){function a(f,c){function e(){}e.prototype=c.prototype;f.prototype=new e;f.prototype.constructor=f}function d(f,c){c.forEach(function(e){Object.getOwnPropertyNames(e).forEach(function(m){f.prototype[m]=e[m]})})}function h(f){setTimeout(function(){try{f()}catch(c){k("Deferred callback failed",c)}},1)}function l(f){if(f!=g){g=f;try{if(b){var c=document.createElement("div");c.innerText=f;b.insertBefore(c,b.childNodes[0]||null)}else console.log(f)}catch(e){}}}
function k(f,c){var e=[];e.push("Exception: "+f);c.message?(e.push(c.message),e.push(c.stack)):e.push(c);l(e.join("\n"))}var b,g;return{gX:d,NRa:function(f){for(;;){var c=f.pop();if(!c)break;if(c==f.length)break;f.splice(c,1)}c=[];for(var e=0;256>e;e+=1)c[e]=String.fromCharCode(e);var m=256,q=String.fromCharCode(f[0]),p=q;for(e=1;e<f.length;e+=1){var n=f[e];n=c[n]?c[n]:q+q.charAt(0);p+=n;c[m++]=q+n.charAt(0);q=n}return JSON.parse(p)},defer:h,deferred:function(f,c){return function(){var e=arguments;
h(function(){f.apply(c||window,e)})}},extend:function(){var f=arguments[arguments.length-1],c=Array.prototype.slice.call(arguments,1,arguments.length-1);a(f,arguments[0]);d(f,c);return f},SRa:function(f){b=document.createElement("div");b.style.overflow="auto";b.style.position="absolute";b.style.bottom="0";b.style.left="0";b.style.right="0";b.style.padding="20px";b.style.fontFamily="Verdana";b.style.backgroundColor="#FFFFFF";b.style.color="#000000";b.style.zIndex="100";f?b.style.top="0":(b.style.width=
"40%",b.style.right="0",b.style.left="auto",b.style.height="50%",b.style.filter="alpha(opacity=60)",b.style.opacity="0.6");document.body.appendChild(b);console.log=function(c){l(c)}},log:l,UO:k,so:function(f,c){var e=!1;return function(){e||(e=!0,h(function(){e=!1;f.apply(c||window)}))}},KUa:function(f){for(var c=[],e=0;e<f;e++)c.push(Math.floor(16*Math.random()).toString(16));return c.join("")},toArray:function(f){return void 0===f||null===f?[]:Array.isArray(f)?f:[f]},rTa:function(f,c){if(f.length!=
c.length)return!1;for(var e=0;e<f.length;e++)if(f[e]!=c[e])return!1;return!0},isString:function(f){var c="[object "+f+"]";return function(e){return Object.prototype.toString.call(e)===c}}("String")}});
define("nc","require jquery.mod dY bn hT lQ kV".split(" "),function(a){function d(c,e,m){this.EE=c;this.tJ=m;this.CU=e.parent;this.SIa=e.isValidRoot||!1;this.L6={};this.F6=[];this.xna=[];this.wna=[];this.DR={};c=e.properties||{};for(var q in c)m=c[q],this.L6[q]=m.type,m.isUrl&&this.xna.push(q),m.isSize&&this.wna.push(q),void 0!==m.order&&(this.F6[m.order]=q),void 0!==m["default"]&&(this.DR[q]=m["default"]);this.una=[];this.vna=[];e=e.events||{};for(var p in e)e[p].isDeferred?this.una.push(p):this.vna.push(p);
this.xx=this.ax=this.VJ=this.RV=this.uC=this.KW=this.GC=this.SE=this.sE=this.eJ=void 0;this.qka=!1}var h=a("jquery.mod"),l=a("dY"),k=a("bn"),b=a("hT"),g=a("lQ"),f=a("kV");k=f.NRa(k);d.prototype.JSa=function(){if(this.CU)return d.xj(this.CU)};d.prototype.ZC=function(){return this.EE};d.prototype.xO=function(){return this.tx()?this.$t().xO().concat(this.EE):[this.EE]};d.prototype.hasAttributes=function(){return 0<this.getAttributeNames().length};d.prototype.hasAttribute=function(c){return this.zaa(c)?
!0:!1};d.prototype.getAttributeNames=function(){void 0==this.eJ&&this.rha();return this.eJ};d.prototype.Vta=function(){if(this.F6)return this.F6;if(this.tx())this.$t().Vta();else return[]};d.prototype.Cta=function(){if(this.SE)return this.SE;this.SE={};if(this.tx()){var c=this.$t().Cta(),e;for(e in c)this.SE[e]=c[e]}if(this.DR)for(e in this.DR)this.SE[e]=this.DR[e];return this.SE};d.prototype.zaa=function(c){void 0==this.sE&&this.rha();return this.sE[c]};d.prototype.pTa=function(){return 0<this.dua().length};
d.prototype.dua=function(){void 0==this.GC&&this.zha();return this.GC};d.prototype.WSa=function(){void 0==this.KW&&this.zha();return this.KW};d.prototype.oTa=function(){return 0<this.bua().length};d.prototype.bua=function(){void 0==this.uC&&this.yha();return this.uC};d.prototype.USa=function(){void 0==this.RV&&this.yha();return this.RV};d.prototype.eTa=function(){return 0<this.Eaa().length};d.prototype.pua=function(c){void 0==this.ax&&this.KE();return-1!=this.ax.indexOf(c)};d.prototype.Eaa=function(){void 0==
this.ax&&this.KE();return this.ax};d.prototype.iTa=function(){return 0<this.Jaa().length};d.prototype.qua=function(c){void 0==this.xx&&this.KE();return-1!=this.xx.indexOf(c)};d.prototype.Jaa=function(){void 0==this.xx&&this.KE();return this.xx};d.prototype.fTa=function(c){void 0==this.VJ&&this.KE();return-1!=this.VJ.indexOf(c)};d.prototype.tSa=function(){void 0==this.VJ&&this.KE();return this.VJ};d.prototype.Lta=function(){return this.SIa||this.tx()&&this.$t().Lta()};d.prototype.mq=function(c,e,m,
q){this.dLa(e,m);var p=this.tJ;var n=q&&0<q.length?new (f.extend(p,function(){p.apply(this,q)})):new p;n.set("application",c);n.set("baseDirectoy",e);n.set("queryStringParameters",m);n.set("class",this.ZC());return n};d.prototype.dLa=function(c,e){this.qka||(this.qka=!0,this.PEa(c,e),this.CFa(),this.lBa())};d.prototype.PEa=function(c,e){if(this.pTa()||this.oTa()){var m=this.tJ.prototype,q=this.WSa(),p=this.USa(),n=m.set;m.set=function(r,t){q[r]?(!t||g.az(t)||g.eY(t)||(t=g.Py(g.Uv(t,c),e)),n.call(this,
r,t)):p[r]?b.dX(this,n,r,t):n.call(this,r,t)}}};d.prototype.lBa=function(){var c=this.tJ.prototype;this.getAttributeNames().forEach(function(e){Object.defineProperty(c,e,{get:function(){return this.get(e)},set:function(m){this.set(e,m)},enumerable:!0,configurable:!0})})};d.prototype.CFa=function(){var c=this.tJ.prototype,e=this;this.hasAttributes()&&(c.set=c.set,c.get=c.get);if(this.eTa()||this.iTa())c.bind=c.bind,c.getBindings=c.HH,c.hasBindings=c.nua,c.trigger=c.trigger,c.unbind=c.unbind;c.getClassName=
function(){return e.ZC()};c.getClassPath=function(){return e.xO()};c.getAttributeNames=function(){return e.getAttributeNames()};c.getEventNames=function(){return e.tSa()};c.hasEvent=function(m){return e.fTa(m)}};d.prototype.rha=function(){this.eJ=[];this.sE={};for(var c in this.L6)this.eJ.push(c),this.sE[c]=d.L3(this.L6[c]);if(this.tx())for(var e=this.$t(),m=e.getAttributeNames(),q=0;q<m.length;q++)c=m[q],this.sE[c]||(this.eJ.push(c),this.sE[c]=e.zaa(c))};d.prototype.zha=function(){this.GC=this.xna.slice();
this.tx()&&(this.GC=l(this.GC).union(this.$t().dua()));this.KW={};for(var c=0;c<this.GC.length;c++)this.KW[this.GC[c]]=!0};d.prototype.yha=function(){this.uC=this.wna.slice();this.tx()&&(this.uC=l(this.uC).union(this.$t().bua()));this.RV={};for(var c=0;c<this.uC.length;c++)this.RV[this.uC[c]]=!0};d.prototype.KE=function(){this.ax=this.una.slice();this.xx=this.vna.slice();this.tx()&&(this.ax=l(this.ax).union(this.$t().Eaa()),this.xx=l(this.xx).union(this.$t().Jaa()));this.VJ=l(this.ax).union(this.xx)};
d.prototype.tx=function(){return this.CU?!0:!1};d.prototype.$t=function(){return d.xj(this.CU)};d.A1=new Map;d.Vga=new Map;d.define=function(c,e,m){e=f.extend(e,function(){m.apply(this,arguments);var p=q.Cta(),n;for(n in p)this.set(n,p[n])});var q=new d(c,k[c],e);d.A1.set(c,q);d.Vga.set(e,q);return e};d.getAll=function(){var c=[];d.A1.forEach(function(e){c.push(e)});return c};d.xj=function(c){return d.A1.get(c)};d.gSa=function(c){return d.Vga.get(c)};d.Ea=function(c,e){c=d.xj(c);if(l(e).isNull())return!0;
if(e&&e.constructor)for(e=d.gSa(e.constructor);e;){if(e==c)return!0;e=e.JSa()}return!1};d.L3=function(c){switch(c){case "string":case "code":return d.nOa;case "number":return d.mJa;case "bool":return d.GCa;case "color":return d.HDa;case "percent":return d.OKa;case "size":return d.GNa;case "identifier":return d.dIa;case "array":return d.Xfa;case "canvas":return d.hDa;case "img":return d.gIa;case "dict":return d.PKa;case "*":return d.qFa;default:if(d.AIa(c))switch(d.sGa(c)){case "array":var e=d.L3(d.Kia(c));
return function(p,n){p=d.Xfa(p,n);for(var r=0;r<p.length;r++)p[r]=e(p[r],n);return p};case "enum":var m=d.Lia(c);return d.uGa(m);case "or":m=d.Lia(c);var q=l(m).map(function(p){return d.L3(p)});return function(p,n){for(var r=0;r<q.length;r++)try{return q[r](p,n)}catch(t){}throw"Invalid value";};default:throw"Invalid type validator definition: "+c;}else return d.lm(function(p){return d.Ea(c,p)})}};d.AIa=function(c){return 0<=c.indexOf("[")&&c.lastIndexOf("]")==c.length-1};d.sGa=function(c){return c.substring(0,
c.indexOf("["))};d.Kia=function(c){return c.substring(c.indexOf("[")+1,c.lastIndexOf("]"))};d.Lia=function(c){c=d.Kia(c);for(var e=[],m="",q=0,p=0;p<c.length;p++){var n=c.charAt(p);m+=n;switch(n){case "[":q++;break;case "]":q--;break;case ",":0==q&&(e.push(m.substr(0,m.length-1)),m="")}}""!=m&&e.push(m);return l(e).map(function(r){return d.gPa(r)})};d.gPa=function(c){return c.replace(/^\s+|\s+$/g,"")};d.lm=function(c){return function(e,m){if(!c(e)){if("string"!=typeof e)throw"Invalid value";e=d.AFa(e,
m);if(!c(e))throw"Invalid value";}return e}};d.AFa=function(c,e){return function(){return eval(c)}.call(e)};d.qFa=function(c){return c};d.mJa=d.lm(function(c){return"[object Number]"==Object.prototype.toString.call(c)});d.nOa=d.lm(function(c){return"string"==typeof c||null===c});d.GCa=d.lm(function(c){return!0===c||!1===c});d.Xfa=d.lm(function(c){return"[object Array]"==Object.prototype.toString.call(c)});d.hDa=d.lm(function(c){return c&&"CANVAS"==c.tagName});d.gIa=d.lm(function(c){return c&&"IMG"==
c.tagName});d.uGa=function(c){return d.lm(function(e){return-1!=c.indexOf(e)})};d.cS=function(c,e){return l(c).isString()&&e.test(c)};d.dIa=d.lm(function(c){return d.cS(c,RegExp("^[a-z][a-z0-9_]*$","i"))});d.OKa=d.lm(function(c){return d.cS(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)%\\s*$","i"))});d.GNa=d.lm(function(c){return d.cS(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)\\s*((vw)|(vh)|(vmin)|(vmax)|(px))\\s*$","i"))});d.HDa=d.lm(function(c){return d.cS(c,RegExp("^#[0-9a-f]{6}$","i"))});d.PKa=d.lm(function(c){try{return h.isPlainObject(c)}catch(e){return!1}});
window.TDV.PlayerAPI.getClassByName=function(c){return d.xj(c).tJ};return d});
define("ip",["require"],function(){function a(){b[0]=b[1]=b[2]=b[3]=b[4]=b[5]=b[6]=b[7]=b[8]=b[9]=b[10]=b[11]=b[12]=b[13]=b[14]=b[15]=b[16]=0;this.baa=b;this.EO=1779033703;this.FO=3144134277;this.GO=1013904242;this.HO=2773480762;this.IO=1359893119;this.JO=2600822924;this.KO=528734635;this.LO=1541459225;this.block=this.start=this.Sy=this.Xaa=0;this.xaa=this.XX=!1;this.first=!0}var d="0123456789abcdef".split(""),h=[-2147483648,8388608,32768,128],l=[24,16,8,0],k=[1116352408,1899447441,3049323471,3921009573,
961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,
883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b=[];a.prototype.update=function(g){if(!this.xaa){for(var f,c=0,e,m=g.length,q=this.baa;c<m;){this.XX&&(this.XX=!1,q[0]=this.block,q[16]=q[1]=q[2]=q[3]=q[4]=q[5]=q[6]=q[7]=q[8]=q[9]=q[10]=q[11]=q[12]=q[13]=q[14]=q[15]=0);for(e=this.start;c<m&&64>e;++c)f=g.charCodeAt(c),128>f?q[e>>2]|=f<<l[e++&3]:(2048>f?q[e>>2]|=(192|f>>6)<<l[e++&3]:(55296>f||57344<=f?q[e>>
2]|=(224|f>>12)<<l[e++&3]:(f=65536+((f&1023)<<10|g.charCodeAt(++c)&1023),q[e>>2]|=(240|f>>18)<<l[e++&3],q[e>>2]|=(128|f>>12&63)<<l[e++&3]),q[e>>2]|=(128|f>>6&63)<<l[e++&3]),q[e>>2]|=(128|f&63)<<l[e++&3]);this.ZTa=e;this.Sy+=e-this.start;64<=e?(this.block=q[16],this.start=e-64,this.hash(),this.XX=!0):this.start=e}4294967295<this.Sy&&(this.Xaa+=this.Sy/4294967296<<0,this.Sy%=4294967296);return this}};a.prototype.mta=function(){if(!this.xaa){this.xaa=!0;var g=this.baa,f=this.ZTa;g[16]=this.block;g[f>>
2]|=h[f&3];this.block=g[16];56<=f&&(this.XX||this.hash(),g[0]=this.block,g[16]=g[1]=g[2]=g[3]=g[4]=g[5]=g[6]=g[7]=g[8]=g[9]=g[10]=g[11]=g[12]=g[13]=g[14]=g[15]=0);g[14]=this.Xaa<<3|this.Sy>>>29;g[15]=this.Sy<<3;this.hash()}};a.prototype.hash=function(){var g=this.EO,f=this.FO,c=this.GO,e=this.HO,m=this.IO,q=this.JO,p=this.KO,n=this.LO,r=this.baa,t;for(t=16;64>t;++t){var u=r[t-15];var v=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3;u=r[t-2];u=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10;r[t]=r[t-16]+v+r[t-7]+u<<0}var w=
f&c;for(t=0;64>t;t+=4){if(this.first){var x=704751109;u=r[0]-210244248;n=u-1521486534<<0;e=u+143694565<<0;this.first=!1}else{v=(g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10);u=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7);x=g&f;var y=x^g&c^w;var A=m&q^~m&p;u=n+u+A+k[t]+r[t];v+=y;n=e+u<<0;e=u+v<<0}v=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10);u=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7);w=e&g;y=w^e&f^x;A=n&m^~n&q;u=p+u+A+k[t+1]+r[t+1];v+=y;p=c+u<<0;c=u+v<<0;v=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10);
u=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7);x=c&e;y=x^c&g^w;A=p&n^~p&m;u=q+u+A+k[t+2]+r[t+2];v+=y;q=f+u<<0;f=u+v<<0;v=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10);u=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7);w=f&c;y=w^f&e^x;A=q&p^~q&n;u=m+u+A+k[t+3]+r[t+3];v+=y;m=g+u<<0;g=u+v<<0}this.EO=this.EO+g<<0;this.FO=this.FO+f<<0;this.GO=this.GO+c<<0;this.HO=this.HO+e<<0;this.IO=this.IO+m<<0;this.JO=this.JO+q<<0;this.KO=this.KO+p<<0;this.LO=this.LO+n<<0};a.prototype.sTa=function(){this.mta();var g=this.EO,
f=this.FO,c=this.GO,e=this.HO,m=this.IO,q=this.JO,p=this.KO,n=this.LO;return d[g>>28&15]+d[g>>24&15]+d[g>>20&15]+d[g>>16&15]+d[g>>12&15]+d[g>>8&15]+d[g>>4&15]+d[g&15]+d[f>>28&15]+d[f>>24&15]+d[f>>20&15]+d[f>>16&15]+d[f>>12&15]+d[f>>8&15]+d[f>>4&15]+d[f&15]+d[c>>28&15]+d[c>>24&15]+d[c>>20&15]+d[c>>16&15]+d[c>>12&15]+d[c>>8&15]+d[c>>4&15]+d[c&15]+d[e>>28&15]+d[e>>24&15]+d[e>>20&15]+d[e>>16&15]+d[e>>12&15]+d[e>>8&15]+d[e>>4&15]+d[e&15]+d[m>>28&15]+d[m>>24&15]+d[m>>20&15]+d[m>>16&15]+d[m>>12&15]+d[m>>
8&15]+d[m>>4&15]+d[m&15]+d[q>>28&15]+d[q>>24&15]+d[q>>20&15]+d[q>>16&15]+d[q>>12&15]+d[q>>8&15]+d[q>>4&15]+d[q&15]+d[p>>28&15]+d[p>>24&15]+d[p>>20&15]+d[p>>16&15]+d[p>>12&15]+d[p>>8&15]+d[p>>4&15]+d[p&15]+d[n>>28&15]+d[n>>24&15]+d[n>>20&15]+d[n>>16&15]+d[n>>12&15]+d[n>>8&15]+d[n>>4&15]+d[n&15]};a.prototype.digest=function(){this.mta();var g=this.EO,f=this.FO,c=this.GO,e=this.HO,m=this.IO,q=this.JO,p=this.KO,n=this.LO;return[g>>24&255,g>>16&255,g>>8&255,g&255,f>>24&255,f>>16&255,f>>8&255,f&255,c>>
24&255,c>>16&255,c>>8&255,c&255,e>>24&255,e>>16&255,e>>8&255,e&255,m>>24&255,m>>16&255,m>>8&255,m&255,q>>24&255,q>>16&255,q>>8&255,q&255,p>>24&255,p>>16&255,p>>8&255,p&255,n>>24&255,n>>16&255,n>>8&255,n&255]};return function(g){return(new a(!0)).update(g).sTa()}});
define("bT",["require","ip"],function(a){function d(k){var b=Array.isArray(k)?"array":null===k?"null":typeof k;switch(b){case "array":return"["+k.map(d).join(",")+"]";case "object":return"{"+Object.keys(k).sort().map(function(g){return d(g)+":"+d(k[g])}).join(",")+"}";case "boolean":return k?"true":"false";case "number":return k.toFixed(3);case "string":return'"'+k.split('"').join('\\"')+'"';case "null":case "undefined":return b;case "function":return"<"+b+">"}return""}function h(k){return k.map(function(b){return String.fromCharCode(b)}).join("")}
var l=a("ip");return{validate:function(k){var b=[104,97,115,104],g=k[h(b)];delete k[h(b)];k=h([116,100,118])+d(k);return l(k)==g}}});
define("kY",["require","exports","kV"],function(a,d,h){function l(){var e=g.length,m=g.splice(0,e);b+=e;for(var q=0;q<e;q++){var p=m[q];if(p)try{p()}catch(n){h.UO("Error in async task",n)}}}var k=0,b=0,g=[],f,c=new Promise(function(e){e()});setInterval(function(){0<g.length&&100<(new Date).getTime()-f&&l()},100);return{hz:function(e,m){void 0===m&&(m=void 0);if(void 0!==m&&0<m)return-1-setTimeout(e,m||1);0==g.length&&(c.then(l),f=(new Date).getTime());k++;g.push(e);return k-1},cancel:function(e){if(0>
e)clearTimeout(-1-e);else{var m=e-b;if(0<=m){if(!g[m])throw"invalid async handle: "+e;g[m]=null}}}}});
define("fV",["require","exports","cu","kY","kV"],function(a,d,h,l,k){var b=function(){return function(){}}();return function(){function g(){this.Gc={}}g.prototype.gRa=function(f,c,e){this.oga(f,c,e,!0,c,!0)};g.prototype.bind=function(f,c,e,m,q){return this.oga(f,c,e,m,q||c,!1)};g.prototype.oga=function(f,c,e,m,q,p){if(void 0===f)throw"Event name undefined";if(void 0===c)throw"Event handler undefined";e=e||this;m=m?!0:!1;f in this.Gc||(this.Gc[f]=[]);var n=new b;n.MO=c;n.cTa=q||c;n.context=e;n.Lua=
m;f=this.Gc[f];p?f.unshift(n):f.push(n);return this};g.prototype.unbind=function(f,c,e){f in this.Gc&&(e=e||this,this.Gc[f]=this.Gc[f].filter(function(m){return m.MO!=c||m.context!=e}),0==this.Gc[f].length&&delete this.Gc[f]);return this};g.prototype.AXa=function(f){f in this.Gc&&delete this.Gc[f]};g.prototype.bda=function(){this.Gc={}};g.prototype.trigger=function(f,c){void 0===c&&(c=void 0);"string"==typeof f&&(f=new h(f,c));f.name in this.Gc&&(f.source=this,this.Kw(f,!0),f.name in this.Gc&&this.QEa(f));
return this};g.prototype.QEa=function(f){g.ER.push({caller:this,event:f});g.E2||(g.E2=!0,l.hz(g.Hha))};g.Hha=function(){for(var f=(new Date).getTime()+1E3;g.ER.length;){var c=g.ER.shift();g.prototype.Kw.call(c.caller,c.event,!1);if((new Date).getTime()>f)break}0<g.ER.length?l.hz(g.Hha,1):g.E2=!1};g.prototype.nua=function(f){return f in this.Gc};g.prototype.HH=function(f,c){var e=[];f=this.Gc[f]||[];for(var m=0;m<f.length;m++){var q=f[m];void 0!==c&&q.Lua!=c||e.push(q.cTa)}return e};g.prototype.Kw=
function(f,c){var e=this;f.unbindCurrentHandler=function(){p&&e.unbind(f.name,p.MO,p.context)};if(f.name in this.Gc)for(var m=this.Gc[f.name],q=0;q<m.length;q++){var p=m[q];if(p.Lua==c)try{p.MO.call(p.context,f)}catch(n){k.UO("Exception handling event "+f.name,n)}}};g.ER=[];g.E2=!1;return g}()});
define("lw",["require","exports","og","cu","fV"],function(a,d,h,l,k){return function(b){function g(){var f=b.call(this)||this;f.wt={};return f}aa(g,b);g.prototype.set=function(f,c){this.wt[f]!=c&&(this.wt[f]=c,this.Pqa(f))};g.prototype.Pqa=function(f){f=new l(h.G(f));this.trigger(f)};g.prototype.copy=function(f){this.wt={};for(var c in f.wt)this.wt[c]=f.wt[c];return this};g.prototype.get=function(f,c){void 0===c&&(c=void 0);f=this.wt[f];return void 0!==f?f:c};return g}(k)});
define("eR",["require"],function(){function a(d,h,l){this.set("undefined"!=typeof d?d:0,"undefined"!=typeof h?h:0,"undefined"!=typeof l?l:0)}a.prototype.set=function(d,h,l){this.x=d;this.y=h;this.z=l;return this};a.prototype.clone=function(){return new a(this.x,this.y,this.z)};a.prototype.apply=function(d){d.qH(this)};a.prototype.project=function(d){d.project(this)};return a});
define("a",["require","kV","eR"],function(a){var d=a("kV"),h=a("eR"),l=d.extend(h,function(k,b,g){h.call(this,k,b,g)});l.prototype.clone=function(){return new l(this.x,this.y,this.z)};l.prototype.Yc=function(){return 0==this.x&&0==this.z?0:-Math.atan2(this.x,this.z)};l.prototype.Pc=function(){return 0==this.y&&0==this.z?0:Math.atan2(this.y,Math.sqrt(this.z*this.z+this.x*this.x))};l.prototype.Laa=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};l.prototype.kI=function(k){k/=
this.Laa();this.x*=k;this.y*=k;this.z*=k;return this};l.prototype.normalize=function(){return this.kI(1)};l.prototype.SC=function(k){return this.x*k.x+this.y*k.y+this.z*k.z};l.prototype.pX=function(k){var b=this.z*k.x-this.x*k.z,g=this.x*k.y-this.y*k.x;this.x=this.y*k.z-this.z*k.y;this.y=b;this.z=g;return this};l.Vy=function(k,b){return new l(b.x-k.x,b.y-k.y,b.z-k.z)};l.JX=function(k,b,g,f,c,e){k=f-k;b=c-b;g=e-g;return Math.sqrt(k*k+b*b+g*g)};l.ps=function(k,b){return new l(Math.cos(b)*Math.sin(k),
Math.sin(b),Math.cos(b)*Math.cos(k))};return l});
define("iS",["require","lw","nc","a"],function(a){var d=a("lw"),h=a("nc"),l=a("a");a=h.define("AdjacentPanorama",d,function(){d.call(this);this.A$=this.Nt=void 0});a.prototype.Eta=function(){if(void 0===this.Nt){for(this.Nt=this.bja()-this.get("yaw");180<this.Nt;)this.Nt-=360;for(;-180>this.Nt;)this.Nt+=360}return this.Nt};a.prototype.sSa=function(){void 0===this.A$&&(this.A$=l.ps(this.bja()*Math.PI/180,0));return this.A$};a.prototype.lRa=function(){return void 0!==this.get("yaw")&&void 0!==this.get("backwardYaw")};
a.prototype.bja=function(){return this.get("backwardYaw")-180};return a});define("hG",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("AmbientLight",d,function(){d.call(this)})});
define("eU",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("Model3DPostprocessing",d,function(){d.call(this)});a.prototype.DP=function(h){this.Ih!==h&&(this.Ih=h,this.cra())};a.prototype.Ov=function(h){this.OF!==h&&(this.OF=h,this.cra())};a.prototype.cra=function(){this.set("disabled",this.OF&&this.get("disableWhileMoving")||this.Ih&&this.get("disableWhileUserInteracting"))};return a});
define("ni",["require","nc","eU"],function(a){var d=a("nc"),h=a("eU");return d.define("AmbientOcclusionModel3DPostprocessing",h,function(){h.call(this)})});define("kx",["require"],function(){return{S:"stopped",X:"playing",Cb:"paused"}});define("eT",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("ImageResource",d,function(){d.call(this)})});
define("eh","require kV og kx nc eT".split(" "),function(a){a("kV");var d=a("og"),h=a("kx"),l=a("nc"),k=a("eT");a=l.define("AnimatedImageResource",k,function(){k.call(this)});a.prototype.play=a.prototype.play=function(){this.set("state",h.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",h.Cb)};a.prototype.stop=a.prototype.stop=function(){this.set("state",h.S)};a.prototype.set=function(b,g){switch(b){case "state":(this.get("state")||h.S)==h.S&&g==h.X&&this.trigger(d.pn)}k.prototype.set.call(this,
b,g)};a.prototype.yj=function(b,g,f){g||=1;f||=1;return k.prototype.yj.call(this,b,g*this.get("colCount",1),f*this.get("rowCount",1))};return a});define("dU",["require","nc","eU"],function(a){var d=a("nc"),h=a("eU");return d.define("AntialiasModel3DPostprocessing",h,function(){h.call(this)})});
define("hU",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("HotspotMapOverlay",d,function(h){d.call(this);this.yG=void 0===h?!0:h;this.EF=this.Rp=this.Qp=this.wa=void 0});a.prototype.getItem=function(){if(void 0===this.wa){var h=this.get("image");this.wa=h?h.oX(this.yG):null}return this.wa};a.prototype.$ta=function(){if(void 0===this.Qp){var h=this.get("rollOverImage");this.Qp=h?h.oX(this.yG):null}return this.Qp};a.prototype.aua=function(){if(void 0===this.Rp){var h=this.get("selectedImage");
this.Rp=h?h.oX(this.yG):null}return this.Rp};a.prototype.ESa=function(){if(void 0===this.EF){this.EF=[];var h=this.getItem();h&&this.EF.push(h);(h=this.$ta())&&this.EF.push(h);(h=this.aua())&&this.EF.push(h)}return this.EF};return a});define("eF",["require","nc","hU"],function(a){var d=a("nc"),h=a("hU");return d.define("AreaHotspotMapOverlay",h,function(){h.call(this,!0)})});define("nG",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("AudioResource",d,function(){d.call(this)})});
define("cH",["require"],function(){return{Uz:"inAdvance",sda:"delayed"}});
define("bb",["require","exports"],function(){return function(){function a(){}a.Tz="grab";a.Th="grabbing";a.Vza="move";a.fea="move-n";a.gea="move-ne";a.Xda="move-e";a.jea="move-se";a.iea="move-s";a.kea="move-sw";a.lea="move-w";a.hea="move-nw";a.Wza="move-ew";a.Yza="move-ns";a.Xza="move-nesw";a.Zza="move-nwse";a.Zda="move-fast-n";a.$da="move-fast-ne";a.Yda="move-fast-e";a.cea="move-fast-se";a.bea="move-fast-s";a.dea="move-fast-sw";a.eea="move-fast-w";a.aea="move-fast-nw";a.Se="hand";a.aA="transparent";
a.ve="default";a.Vs="inherit";return a}()});
define("gZ",["require","og"],function(a){function d(){this.yi=[]}var h=a("og");d.prototype.register=function(l){this.mBa(l);this.yi.push(l);l.get("pressed")&&this.apa(l)};d.prototype.unregister=function(l){this.sLa(l)};d.prototype.mBa=function(l){l.bind(h.Jj,this.Bla,this,!0)};d.prototype.sLa=function(l){l.unbind(h.Jj,this.Bla,this)};d.prototype.Bla=function(l){this.apa(l.source)};d.prototype.apa=function(l){this.yi.forEach(function(k){k.set("pressed",k==l)})};d.register=function(l,k){this.unregister(l);
k=this.Wh(k);l.x0=k;k.register(l)};d.unregister=function(l){l.x0&&(l.x0.unregister(l),delete l.x0)};d.Wh=function(l){return this.bka[l]||(this.bka[l]=new d)};d.bka={};return d});define("dV",["require"],function(){return{we:"push",Lj:"toggle"}});define("hs",["require"],function(){return{hE:"visible",Ida:"hidden",Lo:"scroll"}});define("gw",["require"],function(){return{ve:void 0,V:"over",mb:"pressed",Xb:"pressedOver",ba:"selected"}});
define("my",["require"],function(){return{Ma:"left",eb:"right",ue:"center",sc:"top",mc:"bottom",ae:"middle"}});define("fq",["require"],function(){return{$c:"rollOver",ALWAYS:"always"}});
define("u",["require","exports","kV","lQ"],function(a,d,h,l){function k(f){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+f))}var b={};b.vi=TDV.nb.kQ;b.xI=TDV.nb.N_;b.j0=TDV.nb.qea;b.sYa=TDV.nb.R_;b.Oda=TDV.nb.O_;b.Nza=TDV.nb.pea;b.fYa=TDV.nb.Q_;b.P_=TDV.nb.P_;b.BI=TDV.nb.BI;b.GZ=TDV.nb.GZ;b.FZ=TDV.nb.FZ;b.EZ=TDV.nb.EZ;b.HZ=TDV.nb.HZ;b.Rh=TDV.nb.Rh;b.SP=TDV.nb.SP;b.Tl=TDV.nb.Tl;b.Ik=TDV.nb.Ik;b.OD=TDV.nb.OD;b.$v=TDV.nb.$v;b.RP=TDV.nb.RP;b.xz=TDV.nb.xz;b.CZ=TDV.nb.CZ;b.AI=
TDV.nb.AI;b.Eq=TDV.nb.Eq;b.WP=TDV.nb.WP;b.DZ=TDV.nb.DZ;b.yI=TDV.nb.yI;b.TP=TDV.nb.TP;b.PD=TDV.nb.PD;b.zI=TDV.nb.zI;b.yz=TDV.nb.yz;b.oda=TDV.nb.oda;b.QD=TDV.nb.QD;b.aw=TDV.nb.aw;b.bw=TDV.nb.bw;b.UP=TDV.nb.UP;b.VP=TDV.nb.VP;b.IZ=TDV.nb.IZ;b.LZ=TDV.nb.LZ;b.TD=TDV.nb.TD;b.MZ=TDV.nb.MZ;b.NZ=TDV.nb.NZ;b.mx=function(f){f="force_"+f;if(l.Ri("debug")&&l.Ri(f))return l.getQueryParameter(f)};b.VFa=b.mx("os");b.fe=function(){return b.VFa||TDV.nb.fe};b.QFa=b.mx("browser");b.browser=function(){return b.QFa||TDV.nb.browser};
b.RFa=b.mx("browser_type");b.sH=function(){return b.RFa||TDV.nb.sH};b.xia=b.mx("browser_subtype");b.gd=function(){return b.xia?b.xia:TDV.nb.gd};b.SFa=b.mx("browser_version");b.Esa=function(){return b.SFa||TDV.nb.Esa};b.UFa=b.mx("device");b.Uy=function(){return b.UFa||TDV.nb.Uy};b.kb=function(){return TDV.nb.mobile};b.DFa=function(){for(var f=navigator.userAgent.toLowerCase(),c=["SM-G960","SM-G965"],e=0;e<c.length;e++)if(0<=f.indexOf(c[e].toLowerCase()))return!0;return!1}();b.$Fa=function(){for(var f=
navigator.userAgent.toLowerCase(),c="SM-G920 SM-G925 SM-G928 SM-N920 SM-G930 SM-G935 SC-02H SM-G950 SM-G955 SM-N950 SM-G960 SM-G965 SM-N960 SM-G970 SM-G973 SM-G975 SM-G977 SM-N970 SM-N975".split(" "),e=0;e<c.length;e++)if(0<=f.indexOf(c[e].toLowerCase()))return!0;return!1}();b.yia=b.mx("gearvrcompatible");b.sO=function(){return void 0!==b.yia?"true"==b.yia:b.$Fa};b.mDa=b.browser()!=b.Ik||0>navigator.userAgent.indexOf("; wv")?!1:!0;b.TFa=!!b.mx("chromewebview");b.Nsa=function(){return b.TFa||b.mDa};
b.Ef=function(){return b.gd()==b.Eq||b.gd()==b.WP||b.gd()==b.aw||b.gd()==b.bw||b.gd()==b.QD};b.lba=function(){return b.gY()||b.NTa()||b.VTa()||b.PTa()};b.cva=function(){return b.gd()==b.aw||b.gd()==b.bw};b.WTa=function(){return b.gd()==b.bw};b.XYa=function(){return k("picog2")};b.WYa=function(){return k("piconeo2")};b.NTa=function(){return k("piconeo3")};b.PTa=function(){return k("picoxr")};b.VTa=function(){return k("vivefocus")};b.gY=function(){return k("oculusquest")?!0:b.gd()==b.Eq&&0<=navigator.userAgent.indexOf("Quest 2")};
b.STa=function(){return b.gd()==b.Eq&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.TYa=function(){return b.gd()==b.Eq&&0>navigator.userAgent.indexOf("Quest")};b.Uua=function(){return b.Ef()&&b.sO()};b.YB=void 0;b.GUa=function(){void 0===b.YB&&(b.YB=parseInt(l.getQueryParameter("sts")),isNaN(b.YB)&&(b.Ef()&&!b.DFa?b.YB=512:b.kb()&&b.fe()==b.vi?b.YB=512:b.YB=b.kb()?256:1024));return b.YB};b.WLa=function(){if(b.browser()==b.Tl||b.browser()==b.Rh)try{var f=/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent);
if(f)return parseFloat(f[1])}catch(c){}}();b.nP=function(){return b.WLa};b.aIa=function(){try{var f=parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||!1}catch(c){}f||=b.nP();return f}();b.iD=function(){return b.aIa};b.NBa=function(){if(b.fe()==b.xI)try{var f=/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent);if(f)return parseFloat(f[1])}catch(c){}}();b.dRa=function(){return b.NBa};
b.Ija=function(){var f={iua:"unknown",Dva:1},c=document.createElement("canvas");if(c&&(c=c.getContext("webgl")||c.getContext("experimental-webgl"))){var e=c.getExtension("WEBGL_debug_renderer_info");e&&(f.iua=c.getParameter(e.UNMASKED_RENDERER_WEBGL));f.maxTextureSize=c.getParameter(c.MAX_TEXTURE_SIZE);if(e=c.getExtension("EXT_texture_filter_anisotropic")||c.getExtension("MOZ_EXT_texture_filter_anisotropic")||c.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))f.Dva=c.getParameter(e.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return f}();
b.hua=function(){return b.Ija};b.PBa=function(){var f=b.Ija.iua.match(/Apple\s+(.+)\s+GPU/);return f?f[1].toUpperCase():"unknown"}();b.OYa=function(){return b.PBa};b.KIa=b.Uy()==b.TD?!0:!1;b.zv=function(){return b.KIa};b.gaa=function(){return b.browser()==b.Tl&&14<=b.nP()};var g=!!window.localStorage.getItem("tdvp_video_drift_2");b.xua=function(){return g};b.AWa=function(){g=!0;window.localStorage.setItem("tdvp_video_drift_2","true")};b.RIa="ontouchstart"in window||"undefined"!==typeof window.PointerEvent&&
"undefined"!==typeof navigator.maxTouchPoints&&0<navigator.maxTouchPoints?!0:!1;b.$ca=function(){return b.RIa};b.Dn=l.Ri("touchenabled")?l.Ph("touchenabled"):"ontouchstart"in window?b.fe()==b.j0?!1:!0:!1;b.oZ=function(){return b.Dn};b.summary=function(){return["browser: "+b.browser(),"browserType: "+b.sH(),"browserSubtype: "+b.gd(),"device: "+b.Uy(),"isMobile: "+b.kb(),"gearVRCompatibleDevice: "+b.sO(),"chromeWebView: "+b.Nsa(),"touchDevice"+b.$ca(),"touchEnabled"+b.oZ()].join(", ")};b.log=function(){h.log("browser: "+
b.browser());h.log("browserType: "+b.sH());h.log("browserSubtype: "+b.gd());h.log("device: "+b.Uy());h.log("isMobile: "+b.kb());h.log("gearVRCompatibleDevice: "+b.sO());h.log("chromeWebView: "+b.Nsa());h.log("touchDevice: "+b.$ca());h.log("touchEnabled: "+b.oZ())};return b});
define("lB",["require","u"],function(a){function d(){for(;e.length;)e.shift()();document.body.removeEventListener("click",d,!0);document.body.removeEventListener("touchstart",k,!0);document.body.removeEventListener("touchmove",l,!0);document.body.removeEventListener("touchend",h,!0);f=!1}function h(){c&&d()}function l(){c=!1}function k(){c=!0;g.fe()==g.vi&&d()}function b(){document.body.addEventListener("click",d,!0);document.body.addEventListener("touchstart",k,!0);document.body.addEventListener("touchmove",
l,!0);document.body.addEventListener("touchend",h,!0)}var g=a("u"),f=!1,c=!1,e=[];return{uZ:function(){d()},wait:function(m){e.push(m);f||(f=!0,document.body?b():document.addEventListener("DOMContentLoaded",b))},hZa:function(m){m=e.indexOf(m);0<=m&&e.splice(m,1)}}});define("hE",["require"],function(){return{Sza:7,BZ:6,Rda:5,ln:4,Cea:3,JI:2,S_:1,$Xa:0,Tza:3,ZD:2,jAa:1,iAa:2,fAa:2,qn:2,EAa:3,pYa:4}});define("bg",["require"],function(){return{F_:"horizontal",f0:"vertical"}});
define("oB",["require"],function(){return{KAa:"1",JAa:"auto",tAa:"1",dAa:"2",cAa:"auto",BZ:"2",dza:"3",cza:"auto",sAa:"5",DAa:"100",TXa:"101",Bza:999998,rYa:999999,Lza:1E6}});define("gm",["require"],function(){var a=1,d={};return{css:function(h,l){var k=h.__duqid;void 0===k&&(k=a.toString(),h.__duqid=k,a++);h=d[k]||(d[k]={e:h,s:{}});for(var b in l)h.s[b]=l[b]},process:function(){for(var h in d){var l=d[h],k=l.e.style;l=l.s;for(var b in l)k[b]=l[b]}d={}}}});
define("bM",["require"],function(){return{gTa:function(a){return!!a&&0<=a.indexOf("&tdvflipx")},jsa:function(a){a&&(0>a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},bSa:function(a,d,h){var l=document.createElement("canvas");l.width=d;l.height=h;h=l.getContext("2d");h.translate(d,0);h.scale(-1,1);h.drawImage(a,0,0);a.src=l.toDataURL()}}});
define("dl",["require"],function(){var a={};a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){var d=!0;break a}}catch(l){}d=!1}if(d)a.setItem=function(l,k){window.localStorage.setItem(l,k)},a.getItem=function(l){return window.localStorage.getItem(l)},a.removeItem=function(l){return window.localStorage.removeItem(l)},a.clear=function(){try{window.localStorage.clear()}catch(l){}};else{var h={};a.setItem=function(l,k){h[l]=k};
a.getItem=function(l){return h[l]};a.removeItem=function(l){delete h[l]};a.clear=function(){h={}}}return a});
define("ib",["require","u","lQ","kY","dl"],function(a){function d(g,f,c,e,m){this.url=g;this.priority=f;this.time=c;this.eXa=e;this.mRa=m}var h=a("u"),l=a("lQ"),k=a("kY");a("dl");d.prototype.loaded=function(){b.t8(this.url);b.tM(this)};d.prototype.cancel=function(){b.tM(this)};var b={oy:[],rr:[],gN:[],q$:null,Cka:{},add:function(g,f,c,e){g=new d(g,f,(new Date).getTime(),c,e);this.oy.push(g);this.ca();return g},mXa:function(g){this.gN.push(g);this.ca()},lXa:function(g){var f=this.gN;g=f.indexOf(g);
0<=g&&f.splice(g,1);this.ca()}};h.gd()==h.yz?(b.lda=function(){return!0},b.t8=function(){}):l.Ri("debug")&&l.Ph("disable-cache")?(b.lda=function(){return!1},b.t8=function(){}):(b.lda=function(g){return this.Cka[g]},b.t8=function(g){this.Cka[g]=!0});b.ca=function(){this.q$||(this.q$=k.hz(b.DPa))};b.DPa=function(){b.q$=null;for(var g=this.cMa(),f=0,c=this.rr.length;f<c;f++){var e=this.rr[f];0>g.indexOf(e)&&e.mRa()}var m=this.rr;this.rr=g;f=0;for(c=this.rr.length;f<c;f++)e=this.rr[f],0>m.indexOf(e)&&
e.eXa()}.bind(b);b.HNa=function(){this.oy.sort(function(g,f){return g.priority-f.priority||f.time-g.time});this.gN.sort(function(g,f){return g-f})};b.cMa=function(){this.HNa();var g=[];if(this.oy.length)for(var f=this.gN.length?this.gN[0]:this.oy[0].priority,c=0;10>c&&c<this.oy.length&&this.oy[c].priority<=f;c++)g.push(this.oy[c]);return g};b.tM=function(g){var f=this.oy;g=f.indexOf(g);0<=g&&f.splice(g,1);this.ca()};return b});
define("kd","require kV cu fV og hE lQ bM ib".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("og"),b=a("hE"),g=a("lQ"),f=a("bM"),c=a("ib");a=d.extend(l,function(m){l.call(this);this.Jr=m||b.Sza;this.ua=this.ea=this.Ub=this.ed=null;this.Gx=!1;this.xG=this.Hn=null;this.mV=0;this.J4=[];this.FS=this.FS.bind(this);this.GS=this.GS.bind(this)});a.prototype.load=function(m){this.cancel();this.ed=m;this.mV=0;this.uoa()};a.prototype.uoa=function(){this.Hn=c.add(this.ed,this.Jr,this.SNa.bind(this),
this.fDa.bind(this))};a.prototype.cancel=function(){this.Hn&&(this.Hn.cancel(),this.Hn=null);this.Wga();this.ed=null};a.prototype.KTa=function(){return!!this.Ub&&!this.Gx||this.xG};a.prototype.Gl=function(){return this.Gx};a.prototype.sf=function(m){return m?(m=this.Ub.cloneNode(!0),this.J4.push(m),m):this.Ub};a.prototype.nd=function(){return this.ea};a.prototype.$d=function(){return this.ua};a.prototype.li=function(){return this.ed};a.prototype.SNa=function(){this.Ub=this.tEa(this.ed)};a.prototype.fDa=
function(){this.KTa()&&this.Wga()};a.prototype.Wga=function(){if(this.Ub){this.xG&&(clearTimeout(this.xG),this.xG=null);for(this.Gx=!1;this.J4.length;)this.Tha(this.J4.shift());this.Tha(this.Ub);this.Ub=null}};a.prototype.rBa=function(m){m.addEventListener("load",this.FS);m.addEventListener("error",this.GS)};a.prototype.moa=function(m){m.removeEventListener("load",this.FS);m.removeEventListener("error",this.GS)};a.prototype.FS=function(){this.Ub.width&&this.Ub.height||!(-1<this.ed.indexOf(".svg"))||
this.HFa();this.Hn.loaded();this.Hn=null;this.moa(this.Ub);this.Gx=!0;this.ea=this.Ub.width;this.ua=this.Ub.height;f.gTa(this.ed)&&f.bSa(this.Ub,this.ea,this.ua);this.trigger(new h(k.aa))};a.prototype.GS=function(){this.cancel();this.mV<e?(this.mV++,this.xG=setTimeout(function(){this.xG=null;this.uoa()}.bind(this),1E3*Math.pow(2,this.mV))):this.trigger(new h(k.Fc))};a.prototype.HFa=function(){var m=new XMLHttpRequest;m.open("GET",this.ed,!1);m.send();var q=document.createElement("div");q.innerHTML=
m.responseText;m=q.children[0];this.Ub.width=m.width.baseVal.value;this.Ub.height=m.height.baseVal.value};a.prototype.tEa=function(m){var q=document.createElement("img");g.Rua(m)?q.setAttribute("crossOrigin","Anonymous"):q.removeAttribute("crossOrigin");q.setAttribute("draggable","false");q.style.position="static";q.style.border="none";q.style.display="none";this.rBa(q);q.src=m;return q};a.prototype.Tha=function(m){this.moa(m);m.parentNode&&m.parentNode.removeChild(m);m.src=""};var e=5;a.lZ=function(m){return c.lda(m)};
return a});
define("gf","require dY jquery.mod og hE bg oB gm kd".split(" "),function(a){function d(){this.So=this.Uo=this.Vo=this.To=this.yt=this.xt=this.At=this.zt=0;this.NQ=this.PQ=this.QQ=this.OQ="";this.sb=1;this.uc=void 0;this.GA=[];this.K1=[];this.H1=g.f0;this.gR=!1;this.CS=void 0;this.yh=null;this.g4=this.J$=0;this.hc=document.createElement("canvas");this.hc.setAttribute("tdvlayer","background");this.ja=l(this.hc);c.css(this.hc,{position:"absolute",left:0,top:0,"z-index":f.BZ,"user-select":"none","-ms-user-select":"none",
"-moz-user-select":"none","-webkit-user-select":"none"});this.lg=!0}var h=a("dY"),l=a("jquery.mod"),k=a("og"),b=a("hE"),g=a("bg"),f=a("oB"),c=a("gm"),e=a("kd");d.prototype.setSize=function(m,q){if(this.J$!=m||this.g4!=q)this.J$=m||0,this.g4=q||0,this.lg=!0};d.prototype.xxa=function(m){this.jp!=m&&(this.jp=m,this.lg=!0)};d.prototype.yc=function(){return this.ja};d.prototype.LH=function(){return this.hc};d.prototype.LVa=function(m){if(this.CS!=m){this.yh&&(this.yh.unbind(k.aa,this.tK,this),this.yh.cancel(),
this.yh=null);if(this.CS=m)this.yh=new e(b.Cea),this.yh.bind(k.aa,this.tK,this),this.yh.load(this.CS);this.lg=!0}};d.prototype.dca=function(m){this.zt!=m&&(this.zt=m,this.lg=!0)};d.prototype.eca=function(m){this.At!=m&&(this.At=m,this.lg=!0)};d.prototype.Zba=function(m){this.xt!=m&&(this.xt=m,this.lg=!0)};d.prototype.$ba=function(m){this.yt!=m&&(this.yt=m,this.lg=!0)};d.prototype.bca=function(m){this.To!=m&&(this.To=m,this.lg=!0)};d.prototype.fca=function(m){this.Vo!=m&&(this.Vo=m,this.lg=!0)};d.prototype.cca=
function(m){this.Uo!=m&&(this.Uo=m,this.lg=!0)};d.prototype.aca=function(m){this.So!=m&&(this.So=m,this.lg=!0)};d.prototype.nVa=function(m){this.OQ!=m&&(this.OQ=m,this.lg=!0)};d.prototype.pVa=function(m){this.QQ!=m&&(this.QQ=m,this.lg=!0)};d.prototype.oVa=function(m){this.PQ!=m&&(this.PQ=m,this.lg=!0)};d.prototype.mVa=function(m){this.NQ!=m&&(this.NQ=m,this.lg=!0)};d.prototype.Ti=function(m){this.sb!=m&&(this.sb=m,this.lg=!0)};d.prototype.Dk=function(){return this.sb};d.prototype.setColor=function(m){h.isEqual(this.uc,
m)||(this.uc=m,h(m).isArray()||(m=[m]),m=h(m).filter(function(q){return h(q).isString()}),this.lxa(m))};d.prototype.lxa=function(m){h.isEqual(this.GA,m)||(this.GA=m,this.lg=!0)};d.prototype.tVa=function(m){this.BYa!=m&&(this.K1=m,this.lg=!0)};d.prototype.sVa=function(m){this.H1!=m&&(this.H1=m,this.lg=!0)};d.prototype.tK=function(){this.lg=!0;this.Rg()};d.prototype.Rg=function(){this.lg&&(this.ca(),this.lg=!1)};d.prototype.ca=function(){var m=Math.max(0,this.J$-(this.To+this.Uo)),q=Math.max(0,this.g4-
(this.Vo+this.So)),p=this.ja.get(0);p.width=m;p.height=q;p=p.getContext("2d");var n=this.aDa(),r=0<n.length,t=this.yh&&this.yh.Gl(),u=0<this.To&&this.OQ||0<this.Vo&&this.QQ||0<this.Uo&&this.PQ||0<this.So&&this.NQ;u=r||t||u;if(r){var v=this.H1==g.F_?p.createLinearGradient(0,0,m,0):p.createLinearGradient(0,0,0,q);h(n).forEach(function(w){v.addColorStop(w.ratio,w.color)});p.fillStyle=v;p.fillRect(0,0,m,q);this.gR=!0}else this.gR&&(p.clearRect(0,0,m,q),this.gR=!1);t&&(p.drawImage(this.yh.sf(),0,0,m,q),
this.gR=!0);this.hc.style.opacity=this.sb;this.hc.style.filter="alpha(opacity="+Math.round(100*this.sb)+")";this.hc.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.sb)+")";this.hc.style.borderTopLeftRadius=this.zt+"px";this.hc.style.borderTopRightRadius=this.At+"px";this.hc.style.borderBottomLeftRadius=this.xt+"px";this.hc.style.borderBottomRightRadius=this.yt+"px";this.hc.style.borderLeft=this.kS(this.To,this.OQ);this.hc.style.borderTop=this.kS(this.Vo,this.QQ);this.hc.style.borderRight=
this.kS(this.Uo,this.PQ);this.hc.style.borderBottom=this.kS(this.So,this.NQ);this.hc.style.width=m+"px";this.hc.style.height=q+"px";this.hc.style.cursor="inherit";this.hc.style.display=u?"block":"none";0===this.hc.clientWidth&&0!==m&&(this.hc.style.width=0,this.hc.style.width=m+"px")};d.prototype.kS=function(m,q){return 0<m?q?m+"px solid "+q:m+"px solid transparent":"none"};d.prototype.aDa=function(){var m=[];if(0<this.GA.length){var q=this.GA.slice();q=[].concat([q[0]],q,[q[q.length-1]]);var p=this.$Ca();
p=[].concat([0],p,[1]);for(var n=0;n<q.length;n++){var r=p[n];0<=r&&m.push({color:q[n],ratio:r})}for(n=0;n<m.length-1;)m[n].ratio==m[n+1].ratio&&m[n].color==m[n+1].color?m.splice(n,1):n++;for(n=1;n<m.length-1;)m[n-1].ratio==m[n+1].ratio?m.splice(n,1):n++}return m};d.prototype.$Ca=function(){var m=this.GA.length,q;for(q=0<this.K1.length?h(this.K1).map(function(p){return Math.min(1,Math.max(0,p))}):1==m?[.5]:h(h.range(m)).map(function(p,n){return 1*n/(m-1)});q.length<m;)q.push(1);q.length>m&&q.splice(m,
q.length-m);return q};return d});
define("ex",["require","jquery.mod","oB","gm"],function(a){function d(){this.uU=this.wU=this.xU=this.vU=this.So=this.Uo=this.Vo=this.To=0;this.XL=this.jp=!0;this.E$=this.D4=0;this.va=!0;this.DM=document.createElement("div");this.DM.setAttribute("tdvlayer","content");this.Poa=h(this.DM);k.css(this.DM,{position:"absolute"});this.wJ=document.createElement("div");this.S1=h(this.wJ);k.css(this.wJ,{position:"absolute"});this.Poa.append(this.S1)}var h=a("jquery.mod"),l=a("oB"),k=a("gm");d.prototype.append=
function(b){this.S1.append(b)};d.prototype.prepend=function(b){this.S1.prepend(b)};d.prototype.fX=function(b){this.wJ.appendChild(b)};d.prototype.Nwa=function(b){this.wJ.removeChild(b)};d.prototype.yc=function(){return this.Poa};d.prototype.LH=function(){return this.DM};d.prototype.IVa=function(b){this.D4!=b&&(this.D4=b,this.va=!0)};d.prototype.UWa=function(b){this.E$!=b&&(this.E$=b,this.va=!0)};d.prototype.MH=function(){return this.vU+this.To};d.prototype.QH=function(){return this.xU+this.Vo};d.prototype.PH=
function(){return this.wU+this.Uo};d.prototype.IH=function(){return this.uU+this.So};d.prototype.lI=function(b){this.XL!=b&&(this.XL=b,this.va=!0)};d.prototype.hWa=function(b){this.vU!=b&&(this.vU=b,this.va=!0)};d.prototype.jWa=function(b){this.xU!=b&&(this.xU=b,this.va=!0)};d.prototype.iWa=function(b){this.wU!=b&&(this.wU=b,this.va=!0)};d.prototype.gWa=function(b){this.uU!=b&&(this.uU=b,this.va=!0)};d.prototype.bca=function(b){this.To!=b&&(this.To=b,this.va=!0)};d.prototype.fca=function(b){this.Vo!=
b&&(this.Vo=b,this.va=!0)};d.prototype.cca=function(b){this.Uo!=b&&(this.Uo=b,this.va=!0)};d.prototype.aca=function(b){this.So!=b&&(this.So=b,this.va=!0)};d.prototype.xxa=function(b){this.jp!=b&&(this.jp=b,this.va=!0)};d.prototype.Rg=function(){this.va&&(this.ca(),this.va=!1)};d.prototype.ca=function(){k.css(this.DM,{overflow:this.XL?"visible":"hidden","z-index":this.jp?l.dza:l.cza,left:this.MH()+"px",top:this.QH()+"px",right:this.PH()+"px",bottom:this.IH()+"px",cursor:"inherit"});k.css(this.wJ,{left:-this.D4+
"px",top:-this.E$+"px",right:this.XL?0:"initial",bottom:this.XL?0:"initial",cursor:"inherit"})};return d});
define("jD","require dY jquery.mod kV oB gm".split(" "),function(a){function d(){this.ua=this.ea=this.Ia=this.Ga=void 0;this.yt=this.xt=this.At=this.zt=0;this.qb=!1;this.C4=0;this.D$=4;this.h1=6;this.N8=0;this.uc="#000000";this.sb=1;this.hc=document.createElement("div");this.hc.setAttribute("tdvlayer","shadow");this.ja=h(this.hc);k.css(this.hc,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.va=!1}a("dY");var h=a("jquery.mod");a("kV");var l=a("oB"),k=a("gm");d.prototype.yc=function(){return this.ja};
d.prototype.LH=function(){return this.hc};d.prototype.dca=function(b){this.zt!=b&&(this.zt=b,this.va=!0)};d.prototype.eca=function(b){this.At!=b&&(this.At=b,this.va=!0)};d.prototype.Zba=function(b){this.xt!=b&&(this.xt=b,this.va=!0)};d.prototype.$ba=function(b){this.yt!=b&&(this.yt=b,this.va=!0)};d.prototype.Ti=function(b){this.sb!=b&&(this.sb=b,this.va=!0)};d.prototype.Dk=function(){return this.sb};d.prototype.Rf=function(b){this.qb!=b&&(this.qb=b,this.va=!0)};d.prototype.HVa=function(b){this.C4!=
b&&(this.C4=b,this.va=!0)};d.prototype.TWa=function(b){this.D$!=b&&(this.D$=b,this.va=!0)};d.prototype.lVa=function(b){this.h1!=b&&(this.h1=b,this.va=!0)};d.prototype.CWa=function(b){this.N8!=b&&(this.N8=b,this.va=!0)};d.prototype.setColor=function(b){this.uc!=b&&(this.uc=b,this.va=!0)};d.prototype.Rg=function(){this.va&&(this.ca(),this.va=!1)};d.prototype.ca=function(){var b=this.C4+"px "+this.D$+"px "+this.h1+"px "+this.N8+"px "+this.uc;this.hc.style.display=this.qb?"block":"none";this.hc.style.boxShadow=
b;this.hc.style["-webkit-box-shadow"]=b;this.hc.style["-moz-box-shadow"]=b;this.hc.style.borderTopLeftRadius=this.zt+"px";this.hc.style.borderTopRightRadius=this.At+"px";this.hc.style.borderBottomLeftRadius=this.xt+"px";this.hc.style.borderBottomRightRadius=this.yt+"px";this.hc.style.filter="alpha(opacity="+Math.round(100*this.sb)+")";this.hc.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.sb)+")";this.hc.style.opacity=this.sb;this.hc.style.zIndex=l.tAa};return d});
define("mD","require jquery.mod dY kV lw bb og gf ex jD oB cu gm u".split(" "),function(a){var d=a("jquery.mod");a("dY");var h=a("kV"),l=a("lw"),k=a("bb"),b=a("og"),g=a("gf"),f=a("ex"),c=a("jD"),e=a("oB"),m=a("cu"),q=a("gm");a("u");var p=h.extend(l,function(){l.call(this);this.qF=p.qF++;this.R1=this.be=this.J6=this.WL=this.G8=this.ja=this.hc=null;this.Rqa=this.gka=!1;this.ga=this.bb=null;this.ua=this.ea=this.tu=this.su=0;this.yx=this.qb=!1;this.Wja=!0;this.XK=this.YK=this.dl=this.el=0;this.sb=1;this.sh=
k.ve;this.set("inView",!1);this.set("toolTip",void 0);this.pC(!0);this.v8(!0)});p.prototype.qe=function(n){this.EE=n};p.prototype.toString=function(){return"["+this.ja.attr("tdvclass")+"::"+this.qF+"]"};p.prototype.log=function(n){h.log(n+" "+this.toString()+" "+(new Date).getTime().toString())};p.prototype.Hb=function(){return this.bb};p.prototype.Qr=function(n){(this.bb=n)&&this.Q4();this.ZG();this.trigger(b.Wya)};p.prototype.yc=function(){this.ja=d(this.jr());this.yc=function(){return this.ja};
return this.ja};p.prototype.jr=function(){this.hc=document.createElement("div");this.hc.setAttribute("id",this.qF);this.EE&&this.hc.setAttribute("tdvclass",this.EE);q.css(this.hc,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.jr=function(){return this.hc};return this.hc};p.prototype.Wk=function(){this.G8=new c;this.Wk=function(){return this.G8};return this.G8};p.prototype.Mc=function(){this.be=new g;this.Mc=function(){return this.be};return this.be};p.prototype.kF=
function(){this.WL=document.createElement("div");this.WL.setAttribute("tdvlayer","overShadow");q.css(this.WL,{position:"absolute",left:0,top:0,cursor:"inherit"});this.kF=function(){return this.WL};return this.WL};p.prototype.W3=function(){this.J6=d(this.kF());this.W3=function(){return this.J6};return this.J6};p.prototype.yb=function(){this.R1=new f;this.yb=function(){return this.R1};return this.R1};p.prototype.getParent=function(){return this.ga};p.prototype.Va=function(){return this.ea};p.prototype.zb=
function(){return this.ua};p.prototype.dTa=function(){return void 0!==this.ea&&void 0!==this.ua};p.prototype.bf=function(){return this.ea-this.yb().MH()-this.yb().PH()};p.prototype.af=function(){return this.ua-this.yb().QH()-this.yb().IH()};p.prototype.El=function(){return this.yb().MH()};p.prototype.rs=function(){return this.yb().QH()};p.prototype.qs=function(){return this.yb().PH()};p.prototype.JH=function(){return this.yb().IH()};p.prototype.Rf=function(n){this.qb!=n&&(this.qb=n,this.ee(),this.ga&&
(this.ga.Tb(),this.ga.Fd()),this.ZG())};p.prototype.ZG=function(){var n=!1;this.bb&&this.qb&&0<this.Dk()&&(this==this.bb?n=!0:this.ga&&(n=this.ga.yx));this.yx!=n&&this.U0(n)};p.prototype.U0=function(n){this.yx=n;this.set("inView",n);this.yx?this.trigger(new m(b.hd)):this.trigger(new m(b.od))};p.prototype.UMa=function(n){this.Wja!=n&&(this.Wja=n,this.ga&&this.ga.Fd())};p.prototype.MMa=function(n){this.cF!=n&&(this.cF=n,this.Tb())};p.prototype.LMa=function(n){this.bF!=n&&(this.bF=n,this.Tb())};p.prototype.KMa=
function(n){this.aF!=n&&(this.aF=n,this.Tb())};p.prototype.JMa=function(n){this.$E!=n&&(this.$E=n,this.Tb())};p.prototype.NMa=function(n){this.mm!=n&&(this.mm=n,void 0!=this.mm&&(this.Gm=void 0),this.Tb())};p.prototype.IMa=function(n){this.TA!=n&&(this.TA=n,void 0!=this.TA&&(this.Fm=void 0),this.Tb())};p.prototype.gNa=function(n){this.Gm!=n&&(this.Gm=n,void 0!=this.Gm&&(this.mm=void 0),this.Tb())};p.prototype.cNa=function(n){this.Fm!=n&&(this.Fm=n,void 0!=this.Fm&&(this.TA=void 0),this.Tb())};p.prototype.WMa=
function(n){this.lu!=n&&(void 0!=n&&(this.KU=void 0),this.lu=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.uNa=function(n){this.Wp!=n&&(void 0!=n&&(this.MU=void 0),this.Wp=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.iNa=function(n){this.zM!=n&&(void 0!=n&&(this.LU=void 0),this.zM=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.AMa=function(n){this.jJ!=n&&(void 0!=n&&(this.JU=void 0),this.jJ=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.dNa=function(n){this.KU!=n&&(void 0!=n&&(this.lu=void 0),
this.KU=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.fNa=function(n){this.MU!=n&&(void 0!=n&&(this.Wp=void 0),this.MU=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.eNa=function(n){this.LU!=n&&(void 0!=n&&(this.zM=void 0),this.LU=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.bNa=function(n){this.JU!=n&&(void 0!=n&&(this.jJ=void 0),this.JU=n,this.ga&&this.ga.Fd(),this.Tb())};p.prototype.DMa=function(n){this.Lw!=n&&(this.Lw=n,this.ga&&this.ga.Fd())};p.prototype.EMa=function(n){this.Mw!=n&&(this.Mw=
n,this.ga&&this.ga.Fd())};p.prototype.vs=function(){return isNaN(this.mm)?this.el:this.mm};p.prototype.us=function(){return isNaN(this.TA)?this.dl:this.TA};p.prototype.kHa=function(){return isNaN(this.BFa)?this.Lka:this.BFa};p.prototype.ts=function(){return isNaN(this.cF)?this.YK:this.cF};p.prototype.wv=function(){return isNaN(this.bF)?this.XK:this.bF};p.prototype.QX=function(){return isNaN(this.aF)?1E4:this.aF};p.prototype.PX=function(){return isNaN(this.$E)?1E4:this.$E};p.prototype.rpa=function(n){this.Z3()!=
n&&(this.yb().hWa(n),this.Tb())};p.prototype.Z3=function(){return this.yb().vU};p.prototype.tpa=function(n){this.b4()!=n&&(this.yb().jWa(n),this.Tb())};p.prototype.b4=function(){return this.yb().xU};p.prototype.spa=function(n){this.a4()!=n&&(this.yb().iWa(n),this.Tb())};p.prototype.a4=function(){return this.yb().wU};p.prototype.qpa=function(n){this.Y3()!=n&&(this.yb().gWa(n),this.Tb())};p.prototype.Y3=function(){return this.yb().uU};p.prototype.yP=function(n){if(this.su!=n){var r=0==this.su!=(0==
n);this.su=n;this.Fk();r&&this.ga&&this.ga.Fd()}};p.prototype.zP=function(n){if(this.tu!=n){var r=0==this.tu!=(0==n);this.tu=n;this.Fk();r&&this.ga&&this.ga.Fd()}};p.prototype.lTa=function(){return 0!=this.su||0!=this.tu};p.prototype.Ti=function(n){this.sb!=n&&(this.sb=n,q.css(this.kF(),{filter:"alpha(opacity="+Math.round(100*this.sb)+") ",opacity:this.sb}),this.ZG(),this.Fk())};p.prototype.Dk=function(){return this.sb};p.prototype.xMa=function(n){this.Mc().zt!=n&&(this.Wk().dca(n),this.Mc().dca(n))};
p.prototype.oGa=function(){return this.Mc().zt};p.prototype.yMa=function(n){this.Mc().At!=n&&(this.Wk().eca(n),this.Mc().eca(n))};p.prototype.pGa=function(){return this.Mc().At};p.prototype.pMa=function(n){this.Mc().xt!=n&&(this.Wk().Zba(n),this.Mc().Zba(n))};p.prototype.mGa=function(){return this.Mc().xt};p.prototype.qMa=function(n){this.Mc().yt!=n&&(this.Wk().$ba(n),this.Mc().$ba(n))};p.prototype.nGa=function(){return this.Mc().yt};p.prototype.tMa=function(n){this.Mc().To!=n&&(this.Mc().bca(n),
this.yb().bca(n),this.Tb())};p.prototype.Pia=function(){return this.Mc().To};p.prototype.zMa=function(n){this.Mc().Vo!=n&&(this.Mc().fca(n),this.yb().fca(n),this.Tb())};p.prototype.Ria=function(){return this.Mc().Vo};p.prototype.vMa=function(n){this.Mc().Uo!=n&&(this.Mc().cca(n),this.yb().cca(n),this.Tb())};p.prototype.Qia=function(){return this.Mc().Uo};p.prototype.rMa=function(n){this.Mc().So!=n&&(this.Mc().aca(n),this.yb().aca(n),this.Tb())};p.prototype.Oia=function(){return this.Mc().So};p.prototype.sMa=
function(n){this.Mc().nVa(n)};p.prototype.wMa=function(n){this.Mc().pVa(n)};p.prototype.uMa=function(n){this.Mc().oVa(n)};p.prototype.oMa=function(n){this.Mc().mVa(n)};p.prototype.MV=function(n){this.Wk().Rf(n)};p.prototype.oNa=function(n){this.Wk().HVa(n)};p.prototype.rNa=function(n){this.Wk().TWa(n)};p.prototype.mNa=function(n){this.Wk().lVa(n)};p.prototype.qNa=function(n){this.Wk().CWa(n)};p.prototype.pNa=function(n){this.Wk().Ti(n)};p.prototype.nNa=function(n){this.Wk().setColor(n)};p.prototype.kMa=
function(n){this.iGa()!=n&&this.Mc().Ti(n)};p.prototype.iGa=function(){return this.Mc().Dk()};p.prototype.gMa=function(n){this.hGa()!=n&&this.Mc().setColor(n)};p.prototype.hGa=function(){return this.Mc().uc};p.prototype.iMa=function(n){this.Mc().tVa(n)};p.prototype.hMa=function(n){this.Mc().sVa(n)};p.prototype.jMa=function(n){this.Mc().LVa(n)};p.prototype.wy=function(n){this.sh!=n&&(this.sh=n,this.Fk())};p.prototype.pC=function(n){this.jp!=n&&(this.jp=n,q.css(this.kF(),{"z-index":this.jp?e.dAa:e.cAa}),
this.yb().xxa(this.jp),this.Fk())};p.prototype.v8=function(n){this.Cna!=n&&(this.Cna=n,q.css(this.jr(),{"z-index":this.Cna?e.KAa:e.JAa}),this.Fk())};p.prototype.Oo=function(){this.ZG();this.OO()};p.prototype.Im=function(){this.ZG()};p.prototype.R7=function(){};p.prototype.Q4=function(){this.OO();this.ee();this.Tb();this.Fd();this.Fk()};p.prototype.ru=function(){this.XK=this.YK=this.dl=this.el=0;this.Lka=void 0};p.prototype.OO=function(){var n=this.Hb();n&&n.pE.OO(this)};p.prototype.ee=function(){var n=
this.Hb();n&&n.pE.ee(this)};p.prototype.Tb=function(){var n=this.Hb();n&&n.pE.Tb(this)};p.prototype.Fd=function(){var n=this.Hb();n&&n.pE.Fd(this)};p.prototype.Fk=function(){var n=this.Hb();n&&n.pE.Fk(this)};p.prototype.o4=function(){var n=isNaN(this.KU)&&isNaN(this.lu),r=isNaN(this.LU)&&isNaN(this.zM);return isNaN(this.mm)&&isNaN(this.Gm)&&(n||r)?!0:!1};p.prototype.Jja=function(){var n=isNaN(this.MU)&&isNaN(this.Wp),r=isNaN(this.JU)&&isNaN(this.jJ);return isNaN(this.TA)&&isNaN(this.Fm)&&(n||r)?!0:
!1};p.prototype.aQa=function(){this.ru();var n=this.kHa();if(n){var r=this.o4(),t=this.Jja();r&&!t?(r=this.af(),0!=r&&(this.el=r*n+this.El()+this.qs(),this.dl=r+this.rs()+this.JH())):!r&&t&&(r=this.bf(),0!=r&&(this.dl=r/n+this.El()+this.qs(),this.el=r+this.El()+this.qs()))}!isNaN(this.cF)&&this.el<this.cF&&(this.el=this.cF);!isNaN(this.aF)&&this.el>this.aF&&(this.el=this.aF);!isNaN(this.bF)&&this.dl<this.bF&&(this.dl=this.bF);!isNaN(this.$E)&&this.dl>this.$E&&(this.dl=this.$E)};p.prototype.xb=function(){if(!this.Rqa){this.Rqa=
!0;var n=this.jr(),r=this.kF();n.appendChild(this.Wk().LH());n.appendChild(r);r.appendChild(this.Mc().LH());r.appendChild(this.yb().LH())}};p.prototype.FXa=function(){this.aQa();var n=this.vs(),r=this.us(),t=this.ts(),u=this.wv();return n!=this.tJa||r!=this.sJa||t!=this.pJa||u!=this.oJa||this.Gm!=this.rJa||this.Fm!=this.qJa?(this.tJa=n,this.sJa=r,this.pJa=t,this.oJa=u,this.rJa=this.Gm,this.qJa=this.Fm,!0):!1};p.prototype.Ta=function(){this.Fk()};p.prototype.Ql=function(){};p.prototype.kxa=function(n,
r,t,u){if(this.Ga!=n||this.Ia!=r||this.ea!=t||this.ua!=u)this.Ga=n,this.Ia=r,this.ea=t,this.ua=u,this.Mc().setSize(this.ea,this.ua),this.Fd(),this.Fk(),this.trigger(new m(b.fc))};p.prototype.Rg=function(){var n=this.jr(),r=this.kF();this.qb?(r.style.width=this.ea+"px",r.style.height=this.ua+"px",n.style.left=this.Ga+this.su+"px",n.style.top=this.Ia+this.tu+"px",n.style.width=this.ea+"px",n.style.height=this.ua+"px",n.style.visibility="inherit",n.style.overflow="visible",n.style.cursor=this.bb&&this.bb.A2.zta(this.sh),
0===r.clientWidth&&0!==this.ea&&(n.style.width=0,n.style.width=this.ea+"px")):(n.style.visibility="hidden",n.style.width=0,n.style.height=0,n.style.overflow="hidden",r.style.width=0,r.style.height=0);this.Wk().Rg();this.Mc().Rg();this.yb().Rg();!this.gka&&this.bb&&(this.gka=!0,this.bb.Wpa?this.R4():this.bb.bind(b.pn,this.R4,this,!0))};p.prototype.R4=function(){this.trigger(b.INIT)};p.prototype.RSa=function(n){n=n.yc().offset();var r=this.yc().offset(),t={};t.left=r.left-n.left;t.top=r.top-n.top;this.bb&&
(t.left/=this.bb.ey,t.top/=this.bb.ey);return t};p.qF=0;return p});
define("R","require dY kV og cu gw mD".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("cu"),b=a("gw"),g=a("mD"),f=h.extend(g,function(){this.m={};this.Nu=this.zia=void 0;this.ny={};this.wia=!0;this.Xpa={};g.call(this);this.REa();this.lb();this.qe("UICustomizable");this.ee()});f.tc={visible:!0,includeInLayout:!0,state:void 0,left:void 0,right:void 0,top:void 0,bottom:void 0,centerX:void 0,centerY:void 0,width:void 0,height:void 0,minWidth:void 0,minHeight:void 0,maxWidth:void 0,maxHeight:void 0,
actualWidth:void 0,actualHeight:void 0,paddingLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:void 0,borderBottomRadius:void 0,borderLeftRadius:void 0,borderRightRadius:void 0,borderTopLeftRadius:void 0,borderTopRightRadius:void 0,borderBottomLeftRadius:void 0,borderBottomRightRadius:void 0,borderSize:0,borderLeftSize:void 0,borderTopSize:void 0,borderRightSize:void 0,borderBottomSize:void 0,borderColor:void 0,borderLeftColor:void 0,borderTopColor:void 0,
borderRightColor:void 0,borderBottomColor:void 0,shadow:!1,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:void 0,backgroundOpacity:1,backgroundColor:void 0,backgroundColorRatios:void 0,backgroundColorDirection:void 0,backgroundImageUrl:void 0,hideEffect:void 0,showEffect:void 0};f.prototype.REa=function(){this.Xpa[b.Xb]=b.mb};f.prototype.lb=function(){this.yn(f.tc)};f.prototype.yn=function(c){for(var e in c){var m=c[e],q=m&&m.length;
q&&"string"!=typeof m?1==q?this.h(e,m[0]):2==q?this.u(e,m[0],m[1]):3==q&&this.u(e,m[0],m[1],m[2]):this.h(e,m)}};f.prototype.h=function(c,e){this.m[c]={i:!0,d:e}};f.prototype.qHa=function(){var c=[],e;for(e in this.m)c.push(e);return c};f.prototype.u=function(c,e,m,q){this.ny[e]||(this.ny[e]={});this.h(c,q);this.ny[e][m]=c};f.prototype.GG=function(c,e){if(e)this.zia=c;else if(void 0!=this.zia)return;if(this.Nu!=c){if(e=this.ny[this.Nu])for(var m in e)(this.m[m]||(this.m[m]={})).i=!0;this.Nu=c;if(e=
this.ny[this.Nu])for(m in e)(this.m[m]||(this.m[m]={})).i=!0;this.ee()}};f.prototype.fa=function(c){if(d(c).isString())this.set(c,void 0);else{var e=c;for(c in e)this.set(c,e[c])}};f.prototype.set=function(c,e){var m=this.m[c];m?(void 0==e&&(e=m.d),d.isEqual(this.get(c),e)||("state"==c&&this.GG(e,!0),g.prototype.set.call(this,c,e),m.i=!0,this.ee())):g.prototype.set.call(this,c,e)};f.prototype.get=function(c,e){switch(c){case "actualWidth":return this.Va();case "actualHeight":return this.zb();default:var m=
g.prototype.get.call(this,c);void 0===m&&((c=this.m[c])&&(m=c.d),void 0===m&&(m=e));return m}};f.prototype.Wfa=function(){for(var c="paddingLeft paddingTop paddingRight paddingBottom borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize".split(" "),e=0;e<c.length;e++)if(this.H(c[e]))return!0;return!1};f.prototype.H=
function(c){if((this.m[c]||{}).i)return!0;if(void 0!==this.Nu)return c=this.ny[this.Nu][c],!!(this.m[c]||{}).i};f.prototype.rC=function(c){(this.m[c]||(this.m[c]={})).i=!0;this.ee()};f.prototype.P=function(c){(this.m[c]||(this.m[c]={})).i=!1;void 0!=this.Nu&&(c=this.ny[this.Nu][c])&&((this.m[c]||(this.m[c]={})).i=!1)};f.prototype.B=function(){for(var c,e=0;e<arguments.length;e++){for(var m=arguments[e],q=this.Nu;q;){if(c=this.ny[q][m])if(c=this.get(c),void 0!=c&&null!=c)return c;q=this.Xpa[q]}c=this.get(m);
if(void 0!=c&&null!=c)return c}};f.prototype.H8=function(c){c.source.unbind(l.rb,this.H8,this);this.trigger(new k(l.MI))};f.prototype.z4=function(c){c.source.unbind(l.rb,this.z4,this);this.trigger(new k(l.FI))};f.prototype.Ta=function(){if(this.wia)this.wia=!1;else if(this.H("visible")){var c=this.B("visible"),e=this.get(c?"hideEffect":"showEffect");e&&e.XH(this)&&(e.unbind(l.rb,c?this.z4:this.H8,this),e.end());(e=this.get(c?"showEffect":"hideEffect"))?e.XH(this)||(this.P("visible"),e.bind(l.rb,c?
this.H8:this.z4,this),e.play(this)):this.trigger(new k(c?l.MI:l.FI))}this.H("visible")&&(this.Rf(this.B("visible")),this.P("visible"));this.H("includeInLayout")&&(this.UMa(this.B("includeInLayout")),this.P("includeInLayout"));this.H("left")&&(e=this.B("left"),c=f.to(e),e=void 0===c?e:void 0,this.dNa(c),this.WMa(e),this.P("left"));this.H("top")&&(e=this.B("top"),c=f.to(e),e=void 0===c?e:void 0,this.fNa(c),this.uNa(e),this.P("top"));this.H("right")&&(e=this.B("right"),c=f.to(e),e=void 0===c?e:void 0,
this.eNa(c),this.iNa(e),this.P("right"));this.H("bottom")&&(e=this.B("bottom"),c=f.to(e),e=void 0===c?e:void 0,this.bNa(c),this.AMa(e),this.P("bottom"));this.H("centerX")&&(this.DMa(this.B("centerX")),this.P("centerX"));this.H("centerY")&&(this.EMa(this.B("centerY")),this.P("centerY"));this.H("width")&&(e=this.B("width"),c=f.to(e),e=void 0===c?e:void 0,this.gNa(c),this.NMa(e),this.P("width"));this.H("height")&&(e=this.B("height"),c=f.to(e),e=void 0===c?e:void 0,this.cNa(c),this.IMa(e),this.P("height"));
this.H("minWidth")&&(e=this.B("minWidth"),this.MMa(e),this.P("minWidth"));this.H("minHeight")&&(e=this.B("minHeight"),this.LMa(e),this.P("minHeight"));this.H("maxWidth")&&(e=this.B("maxWidth"),this.KMa(e),this.P("maxWidth"));this.H("maxHeight")&&(e=this.B("maxHeight"),this.JMa(e),this.P("maxHeight"));this.H("paddingLeft")&&(this.rpa(this.B("paddingLeft")),this.P("paddingLeft"));this.H("paddingTop")&&(this.tpa(this.B("paddingTop")),this.P("paddingTop"));this.H("paddingRight")&&(this.spa(this.B("paddingRight")),
this.P("paddingRight"));this.H("paddingBottom")&&(this.qpa(this.B("paddingBottom")),this.P("paddingBottom"));c=!1;this.H("borderRadius")&&(this.P("borderRadius"),c=!0);e=!1;this.H("borderLeftRadius")&&(this.P("borderLeftRadius"),e=!0);var m=!1;this.H("borderTopRadius")&&(this.P("borderTopRadius"),m=!0);var q=!1;this.H("borderRightRadius")&&(this.P("borderRightRadius"),q=!0);var p=!1;this.H("borderBottomRadius")&&(this.P("borderBottomRadius"),p=!0);if(this.H("borderTopLeftRadius")||m||e||c)this.xMa(this.B("borderTopLeftRadius",
"borderLeftRadius","borderTopRadius","borderRadius")),this.P("borderTopLeftRadius");if(this.H("borderTopRightRadius")||m||q||c)this.yMa(this.B("borderTopRightRadius","borderRightRadius","borderTopRadius","borderRadius")),this.P("borderTopRightRadius");if(this.H("borderBottomLeftRadius")||p||e||c)this.pMa(this.B("borderBottomLeftRadius","borderLeftRadius","borderBottomRadius","borderRadius")),this.P("borderBottomLeftRadius");if(this.H("borderBottomRightRadius")||p||q||c)this.qMa(this.B("borderBottomRightRadius",
"borderRightRadius","borderBottomRadius","borderRadius")),this.P("borderBottomRightRadius");c=!1;this.H("borderSize")&&(this.P("borderSize"),c=!0);if(this.H("borderLeftSize")||c)this.tMa(this.B("borderLeftSize","borderSize")),this.P("borderLeftSize");if(this.H("borderTopSize")||c)this.zMa(this.B("borderTopSize","borderSize")),this.P("borderTopSize");if(this.H("borderRightSize")||c)this.vMa(this.B("borderRightSize","borderSize")),this.P("borderRightSize");if(this.H("borderBottomSize")||c)this.rMa(this.B("borderBottomSize",
"borderSize")),this.P("borderBottomSize");c=!1;this.H("borderColor")&&(this.P("borderColor"),c=!0);if(this.H("borderLeftColor")||c)this.sMa(this.B("borderLeftColor","borderColor")),this.P("borderLeftColor");if(this.H("borderTopColor")||c)this.wMa(this.B("borderTopColor","borderColor")),this.P("borderTopColor");if(this.H("borderRightColor")||c)this.uMa(this.B("borderRightColor","borderColor")),this.P("borderRightColor");if(this.H("borderBottomColor")||c)this.oMa(this.B("borderBottomColor","borderColor")),
this.P("borderBottomColor");this.H("shadow")&&(this.MV(this.B("shadow")),this.P("shadow"));this.H("shadowHorizontalLength")&&(this.oNa(this.B("shadowHorizontalLength")),this.P("shadowHorizontalLength"));this.H("shadowVerticalLength")&&(this.rNa(this.B("shadowVerticalLength")),this.P("shadowVerticalLength"));this.H("shadowBlurRadius")&&(this.mNa(this.B("shadowBlurRadius")),this.P("shadowBlurRadius"));this.H("shadowSpread")&&(this.qNa(this.B("shadowSpread")),this.P("shadowSpread"));this.H("shadowColor")&&
(this.nNa(this.B("shadowColor")),this.P("shadowColor"));c=!1;this.H("opacity")&&(this.Ti(this.B("opacity")),this.P("opacity"),c=!0);if(this.H("shadowOpacity")||c)this.pNa(this.B("shadowOpacity","opacity")),this.P("shadowOpacity");this.H("backgroundOpacity")&&(this.kMa(this.B("backgroundOpacity")),this.P("backgroundOpacity"));this.H("backgroundColor")&&(this.gMa(this.B("backgroundColor")),this.P("backgroundColor"));this.H("backgroundColorRatios")&&(this.iMa(this.B("backgroundColorRatios")),this.P("backgroundColorRatios"));
this.H("backgroundColorDirection")&&(this.hMa(this.B("backgroundColorDirection")),this.P("backgroundColorDirection"));this.H("backgroundImageUrl")&&(this.jMa(this.B("backgroundImageUrl")),this.P("backgroundImageUrl"));g.prototype.Ta.call(this)};f.to=function(c){if(d(c).isString()&&(c=c.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=c.length)return parseFloat(c[1])};return f});
define("jk",["require","dY","kV","cu"],function(a){var d=a("dY"),h=a("kV"),l=a("cu");return h.extend(l,function(k,b,g,f,c,e,m,q){d.isNumber(b)||(b=1);d.isNumber(g)||(g=0);l.call(this,k);this.scale=b;this.rotation=g;this.x=f;this.y=c;this.pageX=e;this.pageY=m;this.touches=q||[]})});
define("ok",["require","exports","cu"],function(a,d,h){return function(l){function k(b,g,f,c,e,m,q,p){b=l.call(this,b)||this;b.x=g;b.y=f;b.pageX=c;b.pageY=e;b.delta=m;b.rX=q;b.originalEvent=p;b.movementX=p?p.movementX:0;b.movementY=p?p.movementY:0;return b}aa(k,l);return k}(h)});
define("e","require jquery.mod dY kV og gw lB R jk ok gm u lQ".split(" "),function(a){var d=a("jquery.mod"),h=a("dY"),l=a("kV"),k=a("og"),b=a("gw"),g=a("lB"),f=a("R"),c=a("jk"),e=a("ok");a("gm");var m=a("u");a=a("lQ");var q=l.extend(f,function(){f.call(this);this.qe("UIComponent");this.UR=[];this.Xka=0;this.gFa=500;this.zc=1;this.Dn=m.oZ();this.zK=this.gu=this.TS=!1;this.set("propagateClick",!0)});q.tc={autoRolledOver:!1,autoPressed:!1,contentOpaque:!0,cursor:void 0,inheritedCursor:void 0,inheritedInteractionEnabled:!0,
interactionEnabled:!0,rollOverOpacity:[b.V,"opacity"],rollOverShadow:[b.V,"shadow"],toolTipFollowMouse:!1};h.defaults(q.tc,f.tc);q.prototype.lb=function(){this.yn(q.tc)};q.prototype.nga=function(){this.xpa(!0)};q.prototype.mga=function(){this.xpa(!1)};q.prototype.kga=function(){this.FG(!0)};q.prototype.lga=function(){this.FG(!1)};q.prototype.OM=function(n){this.gu!=n&&(this.gu=n,this.dg())};q.prototype.FG=function(n){this.zK!=n&&(this.zK=n,this.dg())};q.prototype.xpa=function(n){this.TS!=n&&(this.TS=
n,this.dg())};q.prototype.dg=function(){this.gu?this.GG(b.ba):this.zK&&this.TS?this.GG(b.Xb):this.zK?this.GG(b.mb):this.TS?this.GG(b.V):this.GG(b.ve)};q.prototype.trigger=function(){f.prototype.trigger.apply(this,arguments)};q.prototype.Iqa=function(n,r){this.trigger(new e(k.ub,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};q.prototype.Jqa=function(n,r){this.trigger(new e(k.ec,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};q.prototype.Kqa=function(n,r){this.trigger(new e(k.$b,
n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};q.prototype.ZOa=function(n,r,t){this.trigger(new e(k.Jq,n.x,n.y,n.pageX,n.pageY,r.delta,r.rX,t&&t.originalEvent))};q.prototype.Fqa=function(n){this.trigger(new e(k.oa,n.x,n.y,n.pageX,n.pageY))};q.prototype.Gqa=function(n){this.trigger(new e(k.Vl,n.x,n.y,n.pageX,n.pageY))};q.prototype.bPa=function(){this.trigger(new e(k.$c))};q.prototype.aPa=function(){this.trigger(new e(k.ac))};q.prototype.XOa=function(){this.trigger(new e(k.Vz))};q.prototype.YOa=
function(){this.trigger(new e(k.Jo))};q.prototype.WOa=function(n,r,t){this.trigger(new c(k.iw,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};q.prototype.SOa=function(n,r,t){this.trigger(new c(k.C_,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};q.prototype.TOa=function(n,r,t){this.trigger(new c(k.VD,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};q.prototype.UOa=function(n){this.trigger(new c(k.Fza,void 0,n))};q.prototype.VOa=function(n){this.trigger(new c(k.WD,n))};q.prototype.r9=function(n){n.stopImmediatePropagation();
this.WE(["touchend"]);this.lka(n)?this.x7(n):this.doa(n,!0)};q.prototype.doa=function(n,r){var t=this.mF(n);r&&this.LOa(t);this.Iqa(t,n);this.ga&&this.ga.doa(n,r&&this.get("propagateClick"))};q.prototype.q9=function(n){n.preventDefault();n.stopImmediatePropagation();this.lka(n)?this.v7(n):this.coa(n)};q.prototype.coa=function(n){var r=this.mF(n);this.KOa(r);this.Jqa(r,n);this.ga&&this.ga.coa(n)};q.prototype.Via=function(n,r){var t=n.pageX-r.pageX;n=n.pageY-r.pageY;return Math.sqrt(t*t+n*n)};q.prototype.Ey=
function(n,r){this.KJ(["touchend"]);!1!==r&&n.preventDefault();n.stopImmediatePropagation();this.nG?this.w7(n):(this.boa(n,this.kka()),this.$ja());this.nG=null;this.dJ()};q.prototype.boa=function(n,r){var t=this.mF(n);this.Kqa(t,n);this.JOa(r);this.ga&&this.ga.boa(n,r)};q.prototype.LOa=function(n){this.bind(k.ac,this.yqa,this,!0);this.zC=n};q.prototype.KOa=function(n){if(this.zC){n=this.Via(this.zC,n);if(m.kb()){var r=this.Hb();r=.01*q.aBa*Math.min(r.Va(),r.zb())}else r=q.gBa;n>r&&this.sW()}};q.prototype.JOa=
function(n){this.zC&&(this.Fqa(this.zC),n&&this.Gqa(this.zC),this.sW())};q.prototype.sW=function(){this.zC&&(this.unbind(k.ac,this.yqa,this),this.zC=void 0)};q.prototype.yqa=function(){this.sW()};q.prototype.E3=function(n){this.WE(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.x7(n)};q.prototype.x7=function(n){var r=this.P3(n);this.nG=r;this.WOa(r.scale,r.rotation,r.coordinates);this.ga&&this.ga.x7(n)};q.prototype.Dia=function(n){n.preventDefault();n.stopImmediatePropagation();
this.v7(n)};q.prototype.v7=function(n){var r=this.P3(n,this.nG),t=r.rotation-this.nG.rotation,u=r.scale/this.nG.scale;this.nG=r;this.zc*=u;for(this.qk+=t;180<this.qk;)this.qk-=360;for(;-180>this.qk;)this.qk+=360;this.SOa(this.zc,this.qk,r.coordinates);0!=t&&this.UOa(this.qk);1!=u&&this.VOa(this.zc);this.sW();this.ga&&this.ga.v7(n)};q.prototype.Fia=function(n){this.KJ(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.w7(n)};q.prototype.w7=function(n){var r=this.P3(n);
this.TOa(this.zc,this.qk,r.coordinates);this.ga&&this.ga.w7(n)};q.prototype.N5=function(n){this.WE(["mouseup"]);n.stopImmediatePropagation();this.Yna(n,!0);p&&this.dJa(n.ctrlKey)};q.prototype.Yna=function(n,r){var t=this.cB(n);r&&this.FDa(t);this.Iqa(t,n);this.ga&&this.ga.Yna(n,r&&this.get("propagateClick"))};q.prototype.S5=function(n){n.preventDefault();n.stopImmediatePropagation();this.Hb().wD(this);this.Zna(n)};q.prototype.Zna=function(n){var r=this.cB(n);this.EDa(r);this.Jqa(r,n);this.ga&&this.ga.Zna(n)};
q.prototype.DT=function(n){this.KJ(["mouseup"]);n.preventDefault();n.stopImmediatePropagation();this.$na(n,this.kka());this.$ja()};q.prototype.$na=function(n,r){var t=this.cB(n);this.Kqa(t);this.DDa(r);this.ga&&this.ga.$na(n,r)};q.prototype.FDa=function(n){this.bind(k.ac,this.bha,this,!0);this.FA=n};q.prototype.EDa=function(n){this.FA&&this.Via(this.FA,n)>q.WAa&&this.G1()};q.prototype.DDa=function(n){this.FA&&(this.Fqa(this.FA),n&&this.Gqa(this.FA),this.G1())};q.prototype.G1=function(){this.FA&&(this.unbind(k.ac,
this.bha,this),this.FA=void 0)};q.prototype.bha=function(){this.G1()};q.prototype.Zka=function(n){this.bb.Yka&&(n.preventDefault(),n.stopImmediatePropagation(),this.aoa(n))};q.prototype.Jga=function(){return!1};q.prototype.aoa=function(n){var r=this.cB(n),t=this.ZGa(n);this.ga&&!this.Jga(t.delta)&&this.ga.aoa(n);this.ZOa(r,t,n)};q.prototype.cB=function(n){return this.mS(n.pageX,n.pageY)};q.prototype.ZGa=function(n){n=window.event||n.originalEvent||n;var r={};r.delta=Math.max(-1,Math.min(1,n.wheelDelta||
-n.detail));r.rX=n.wheelDelta?.01*n.wheelDelta:r.delta;return r};q.prototype.mF=function(n){var r=this.N3(n);if(void 0===r){var t=void 0!==n.pageX?this.mS(n.pageX,n.pageY):this.mS(n.originalEvent.pageX,n.originalEvent.pageY);t.touches=[t]}else 0==r.length?t=this.fLa:(t={x:0,y:0,pageX:0,pageY:0,ez:0,fz:0,touches:[]},Array.from(r).forEach(function(u){u||=r[0];u=this.mS(u.pageX,u.pageY);t.x+=u.x;t.y+=u.y;t.pageX+=u.pageX;t.pageY+=u.pageY;t.ez+=u.ez;t.fz+=u.fz;t.touches.push(u)}.bind(this)),t.x/=r.length,
t.y/=r.length,t.pageX/=r.length,t.pageY/=r.length,t.ez/=r.length,t.fz/=r.length);return this.fLa=t};q.prototype.lka=function(n){if((n=this.N3(n))&&1<n.length)for(var r=0,t=0;t<n.length;t++)if(this.BIa(n[t].target)&&(r++,1<r))return!0;return!1};q.prototype.BIa=function(n){for(;n;){if(n==this.hc)return!0;n=n.parentNode}return!1};q.prototype.N3=function(n){return n.originalEvent.touches||n.originalEvent.targetTouches||n.originalEvent.changedTouches};q.prototype.mS=function(n,r){var t=this.yc().offset(),
u=this.bb?this.bb.ey:1,v={};v.x=(n-t.left)/u;v.y=(r-t.top)/u;v.pageX=n/u;v.pageY=r/u;v.ez=n;v.fz=r;return v};q.prototype.P3=function(n,r){var t=this.mF(n);return void 0!==n.originalEvent.scale||void 0!==n.originalEvent.rotation?{coordinates:t,scale:n.originalEvent.scale,rotation:n.originalEvent.rotation}:r?(n=this.dja(n),{coordinates:t,scale:r.scale*n/r.touchesDistance,rotation:0,touchesDistance:n}):{coordinates:t,scale:1,rotation:0,touchesDistance:this.dja(n)}};q.prototype.dja=function(n){var r=
this.N3(n);return r&&1<r.length?(n=Math.abs(r[0].pageX-r[1].pageX),r=Math.abs(r[0].pageY-r[1].pageY),Math.sqrt(n*n+r*r)):0};q.prototype.WE=function(n){this.UR=h(this.UR).union(n);n=this.cja(n);for(var r=0;r<n.length;r++){var t=n[r];t.target.bind(t.name,t.handler)}};q.prototype.$ja=function(){this.Xka=(new Date).getTime()};q.prototype.kka=function(){return(new Date).getTime()-this.Xka<=this.gFa};q.prototype.KJ=function(n){this.UR=h(this.UR).difference(n);n=this.cja(n);for(var r=0;r<n.length;r++){var t=
n[r];t.target.unbind(t.name,t.handler)}};q.prototype.cja=function(n){this.sia||(this.sia=this.M3());for(var r=[],t=0;t<n.length;t++)r=r.concat(this.sia[n[t]]);return r};q.prototype.M3=function(){var n=this.yc(),r=d(document),t=d(window);return{touchstart:[{target:n,name:"touchstart",handler:this.eh(this.r9)}],touchmove:[{target:n,name:"touchmove",handler:this.eh(this.q9)}],touchend:[{target:n,name:"touchend",handler:this.eh(this.Ey,!0)},{target:r,name:"touchend",handler:this.eh(this.Ey,!0)},{target:n,
name:"touchcancel",handler:this.eh(this.Ey,!0)},{target:r,name:"touchcancel",handler:this.eh(this.Ey,!0)}],gesturestart:[{target:n,name:"gesturestart",handler:this.eh(this.E3)}],gesturechange:[{target:n,name:"gesturechange",handler:this.eh(this.Dia)}],gestureend:[{target:n,name:"gestureend",handler:this.eh(this.Fia)}],mousedown:[{target:n,name:"mousedown",handler:this.eh(this.N5)}],mousemove:[{target:n,name:"mousemove",handler:this.eh(this.S5)}],mouseup:[{target:n,name:"mouseup",handler:this.eh(this.DT,
!0)},{target:t,name:"mouseup",handler:this.eh(this.DT,!0)}],mousewheel:[{target:n,name:"mousewheel",handler:this.eh(this.Zka)},{target:n,name:"DOMMouseScroll",handler:this.eh(this.Zka)}]}};q.prototype.eh=function(n,r){var t=this;return function(){r&&g.uZ();q.MW+=1;var u=n.apply(t,arguments);--q.MW;return u}};q.prototype.Ta=function(){this.H("autoRolledOver")&&(this.unbind(k.$c,this.nga,this),this.unbind(k.ac,this.mga,this),this.B("autoRolledOver")&&(this.bind(k.$c,this.nga,this),this.bind(k.ac,this.mga,
this)),this.P("autoRolledOver"));this.H("autoPressed")&&(this.unbind(k.ub,this.kga),this.unbind(k.$b,this.lga),this.B("autoPressed")&&(this.bind(k.ub,this.kga),this.bind(k.$b,this.lga)),this.P("autoPressed"));var n=!1;this.H("contentOpaque")&&(n=!0,this.P("contentOpaque"));this.H("inheritedInteractionEnabled")&&(n=!0,this.P("inheritedInteractionEnabled"));this.H("interactionEnabled")&&(n=!0,this.P("interactionEnabled"));if(this.H("backgroundOpacity")||this.H("backgroundColor"))n=!0;f.prototype.Ta.call(this);
if(n){var r=this.Mc();r=0<r.Dk()&&0<r.GA.length;var t=this.B("contentOpaque"),u=this.B("inheritedInteractionEnabled"),v=this.B("interactionEnabled");this.oC(u&&v&&(t||r))}if(n||this.H("cursor")||this.H("inheritedCursor"))this.P("cursor"),this.P("inheritedCursor"),this.DQ?this.wy(this.B("cursor")):this.wy(this.B("inheritedCursor"))};q.prototype.oC=function(n){this.DQ!=n&&((this.DQ=n)?this.WE(q.Ifa):this.KJ(q.Ifa),this.dJ())};q.prototype.dJ=function(){this.jr().style["pointer-events"]=this.xja()};q.prototype.xja=
function(){return this.DQ?"auto":"none"};q.prototype.dJa=function(n){if(n){n=[];for(var r=this;r;)n.push(r),r=r.getParent();console.log(n.map(function(t){return t.wt}))}else console.log(this.wt)};q.RO=function(){return 0<q.MW};q.Ifa=function(){var n=[];n=n.concat(["touchstart","touchmove"]);m.fe()!=m.vi&&(n=n.concat(["mousedown","mousemove","mousewheel"]));return n}();q.MW=0;q.vYa=1E3;q.gBa=10;q.aBa=5;q.WAa=10;var p=a.Ph("debug");return q});
define("d",["require"],function(){return{QP:"absolute",xg:"horizontal",jw:"grid",lh:"vertical"}});define("cv",["require"],function(){return function(a){this.td=a;this.height=this.width=this.y=this.x=0}});define("dx",["require"],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}});
define("cb",["require","my","cv","dx"],function(a){function d(){this.Ic=null;this.Bl=h.sc;this.Zk=h.Ma;this.HC=this.cu=0}var h=a("my"),l=a("cv"),k=a("dx");d.prototype.wxa=function(b){this.cu!=b&&(this.cu=b,this.Je())};d.prototype.fZ=function(b){this.HC!=b&&(this.HC=b,this.Je())};d.prototype.Jxa=function(b){this.Ic=b;this.Je()};d.prototype.jI=function(b){this.Zk!=b&&(this.Zk=b,this.Je())};d.prototype.pI=function(b){this.Bl!=b&&(this.Bl=b,this.Je())};d.prototype.measure=function(){return new k};d.prototype.update=
function(){var b=this.dEa();this.WG(b);this.GMa(b)};d.prototype.WG=function(b){this.CN(b);this.BN(b)};d.prototype.pS=function(){for(var b=this.Gja(),g=[],f=0;f<b.length;f++){var c=b[f];c.get("includeInLayout")&&g.push(c)}return g};d.prototype.Gja=function(){for(var b=this.Ic.Jb(),g=[],f=0;f<b.length;f++){var c=b[f];c.get("visible")&&g.push(c)}return g};d.prototype.dEa=function(){for(var b=this.Gja(),g=[],f=0;f<b.length;f++)g.push(new l(b[f]));return g};d.prototype.GMa=function(b){for(var g=0;g<b.length;g++){var f=
b[g];f.td.kxa(f.x,f.y,f.width,f.height)}};d.prototype.Je=function(){this.Ic&&(this.Ic.Tb(),this.Ic.Fd())};return d});
define("dq",["require","kV","my","cb","dx"],function(a){var d=a("kV");a("my");var h=a("cb"),l=a("dx");a=d.extend(h,function(){h.call(this)});a.prototype.measure=function(){for(var k=new l,b=this.pS(),g=0;g<b.length;g++){var f=b[g],c=f.lu,e=f.zM,m=0;isNaN(c)||(m+=c);isNaN(e)||(m+=e);k.width=Math.max(m+f.vs(),k.width);k.minWidth=Math.max(m+f.ts(),k.minWidth);c=f.Wp;e=f.jJ;m=0;isNaN(c)||(m+=c);isNaN(e)||(m+=e);k.height=Math.max(m+f.us(),k.height);k.minHeight=Math.max(m+f.wv(),k.minHeight)}b=this.Ic.El()+
this.Ic.qs();k.width+=b;k.minWidth+=b;b=this.Ic.rs()+this.Ic.JH();k.height+=b;k.minHeight+=b;return k};a.prototype.WG=function(k){this.CN(k);this.BN(k)};a.prototype.WG=function(k){for(var b=this.Ic.bf(),g=this.Ic.af(),f=0;f<k.length;f++){var c=k[f],e=c.td,m=e.lu;if(isNaN(m)){var q=e.KU;isNaN(q)||(m=Math.round(q*b*.01))}q=e.zM;if(isNaN(q)){var p=e.LU;isNaN(p)||(q=Math.round(p*b*.01))}p=e.Lw;var n=e.mm;if(isNaN(n)){var r=e.Gm;isNaN(r)?isNaN(m)||isNaN(q)||(n=b-m-q):n=Math.round(r*b*.01)}r=e.Wp;if(isNaN(r)){var t=
e.MU;isNaN(t)||(r=Math.round(t*g*.01))}t=e.jJ;if(isNaN(t)){var u=e.JU;isNaN(u)||(t=Math.round(u*g*.01))}u=e.Mw;var v=e.TA;if(isNaN(v)){var w=e.Fm;isNaN(w)?isNaN(r)||isNaN(t)||(v=g-r-t):v=Math.round(w*g*.01)}c.width=isNaN(n)?e.vs():Math.max(e.ts(),Math.min(e.QX(),n));c.height=isNaN(v)?e.us():Math.max(e.wv(),Math.min(e.PX(),v));c.x=isNaN(m)||isNaN(q)?isNaN(m)?isNaN(q)?isNaN(p)?0:.5*b+p-.5*c.width:b-q-c.width:m:Math.round(m+.5*(b-q-m-c.width));c.y=isNaN(r)||isNaN(t)?isNaN(r)?isNaN(t)?isNaN(u)?0:.5*g+
u-.5*c.height:g-t-c.height:r:Math.round(r+.5*(g-t-r-c.height))}};return a});
define("jS",["require","kV","my","cb","dx"],function(a){var d=a("kV"),h=a("my"),l=a("cb"),k=a("dx");a=d.extend(l,function(){l.call(this);this.BK=this.CK=this.DK=this.sB=this.hu=this.iu=this.FK=this.Bx=this.mm=void 0});a.prototype.CVa=function(b){this.mm!=b&&(this.mm=b,this.Je())};a.prototype.PVa=function(b){this.iu!=b&&(this.iu=b,void 0!=this.iu&&(this.Bx=void 0),this.Je())};a.prototype.OVa=function(b){this.hu!=b&&(this.hu=b,void 0!=this.hu&&(this.FK=void 0),this.Je())};a.prototype.XVa=function(b){this.Bx!=
b&&(this.Bx=b,void 0!=this.iu&&(this.iu=void 0),this.Je())};a.prototype.WVa=function(b){this.FK!=b&&(this.FK=b,void 0!=this.hu&&(this.hu=void 0),this.Je())};a.prototype.UVa=function(b){this.sB!=b&&(this.sB=b,this.Je())};a.prototype.TVa=function(b){this.DK!=b&&(this.DK=b,this.Je())};a.prototype.SVa=function(b){this.CK!=b&&(this.CK=b,this.Je())};a.prototype.RVa=function(b){this.BK!=b&&(this.BK=b,this.Je())};a.prototype.measure=function(){for(var b=new k,g=this.pS(),f=0,c=0;c<g.length;c++)g[c].get("includeInLayout")&&
f++;if(!isNaN(this.Bx))for(isNaN(this.sB)||(b.minWidth=this.sB),c=0;c<g.length;c++){var e=g[c].ts();isNaN(e)||(b.minWidth=Math.max(e,b.minWidth))}if(isNaN(this.iu))for(c=0;c<g.length;c++)e=g[c].vs(),isNaN(e)||(b.width=Math.max(e,b.width));else b.width=this.iu;if(isNaN(this.hu))for(c=0;c<g.length;c++)e=g[c].us(),isNaN(e)||(b.height=Math.max(e,b.height));else b.height=this.hu;isNaN(this.Bx)?isNaN(this.mm)?g=Math.ceil(Math.sqrt(f)):(g=this.mm-this.Ic.El()-this.Ic.qs(),g=Math.max(1,Math.floor((g+this.cu)/
(b.width+this.cu)))):g=Math.max(1,Math.floor(100/this.Bx));f=Math.ceil(f/g);b.width=b.width*g+Math.max(0,g-1)*this.cu+this.Ic.El()+this.Ic.qs();b.minWidth=b.minWidth+this.Ic.El()+this.Ic.qs();b.height=b.height*f+Math.max(0,f-1)*this.HC+this.Ic.rs()+this.Ic.JH();b.minHeight=0;return b};a.prototype.WG=function(b){for(var g,f,c=[],e=[],m=0;m<b.length;m++)f=b[m].td,f.get("includeInLayout")?c.push(b[m]):e.push(b[m]);var q=c.length,p=this.Ic.bf(),n=this.cu;if(isNaN(this.iu))if(isNaN(this.Bx)){for(m=b=0;m<
c.length;m++)f=c[m].td,b=Math.max(f.ts(),f.vs(),b);b=Math.min(p,b)}else b=Math.max(1,Math.floor(100/this.Bx)),b=(p-(b-1)*n)/b,m=!1,!isNaN(this.CK)&&this.CK<b&&(b=this.CK,m=!0),!isNaN(this.sB)&&this.sB>b&&(b=this.sB,m=!0),m&&(b=Math.max(1,Math.floor((p+n)/(b+n))),b=(p-(b-1)*n)/b);else b=this.iu;b=Math.max(1,b);var r=Math.max(1,Math.floor(.001+(p+n)/(b+n)));m=r*b;var t=r*(b+n)-n,u=0;if(p>=t)switch(this.Zk){case h.eb:u=p-t;break;case h.ue:u=Math.round(.5*(p-t));break;default:u=0}p=[];t=[];for(var v=
0;v<r;v++)f=Math.round(m/(r-v)),m-=f,t.push(u),u+=f+n,p.push(f);u=this.Ic.af();v=this.HC;if(isNaN(this.hu))if(isNaN(this.FK))for(n=1,m=0;m<c.length;m++)f=c[m].td,n=Math.max(f.wv(),f.us(),n);else n=Math.max(1,100/this.FK),n=(u-(n-1)*v)/n,m=!1,!isNaN(this.BK)&&this.BK<n&&(n=this.BK,m=!0),!isNaN(this.DK)&&this.DK>n&&(n=this.DK,m=!0),m&&(n=Math.max(1,Math.floor((u+v)/(n+v))),n=(u-(n-1)*v)/n);else n=this.hu;m=Math.max(1,Math.ceil(q/r));g=m*n;q=m*(n+v)-v;var w=0;if(u>=q)switch(this.Bl){case h.mc:w=u-q;
break;case h.ae:w=Math.round(.5*(u-q))}q=[];u=[];for(f=0;f<m;f++){var x=Math.round(g/(m-f));g-=x;u.push(w);w+=x+v;q.push(x)}for(m=0;m<c.length;m++)g=c[m],v=m%r,f=Math.floor(m/r),g.x=t[v],g.width=p[v],g.y=u[f],g.height=q[f];for(m=0;m<e.length;m++)g=e[m],g.x=0,g.width=Math.round(b),g.y=0,g.height=Math.round(n)};return a});
define("kT",["require","kV","my","cb","dx"],function(a){var d=a("kV"),h=a("my"),l=a("cb"),k=a("dx");a=d.extend(l,function(){l.call(this)});a.prototype.measure=function(){for(var b=new k,g=this.pS(),f=0;f<g.length;f++){var c=g[f];b.height=Math.max(c.us(),b.height);b.minHeight=Math.max(c.wv(),b.minHeight);b.width+=c.vs();b.minWidth+=c.ts()}g=Math.max(0,g.length-1)*this.cu+this.Ic.El()+this.Ic.qs();b.width+=g;b.minWidth+=g;g=this.Ic.rs()+this.Ic.JH();b.height+=g;b.minHeight+=g;return b};a.prototype.WG=
function(b){this.CN(b);this.BN(b)};a.prototype.CN=function(b){for(var g=0,f=0;f<b.length;f++)b[f].td.get("includeInLayout")&&g++;f=Math.max(0,g-1)*this.cu;var c=this.Ic.bf()-f,e=this.Ic.af();g=c;var m=0,q=[];for(f=0;f<b.length;f++){var p=b[f],n=p.td,r=n.Fm;p.height=isNaN(r)?n.us():Math.max(n.wv(),Math.min(n.PX(),Math.round(e*r*.01)));r=n.Gm;isNaN(r)?(p.width=n.vs(),g-=p.width):n.get("includeInLayout")?(m+=r,q.push(p)):p.width=Math.max(n.ts(),Math.min(n.QX(),Math.round(c*r*.01)))}g-=Math.max(0,g-c*
m*.01);do{b=!1;c=Math.max(0,0<m?g/m:0);e=[];for(f=m=0;f<q.length;f++){p=q[f];n=p.td;r=Math.round(n.Gm*c);var t=n.ts(),u=n.QX();r<t?(p.width=t,g-=p.width,b=!0):r>u?(p.width=u,g-=p.width,b=!0):(m+=n.Gm,e.push(p))}q=e}while(b);for(f=0;f<q.length;f++)p=q[f],n=p.td,c=Math.max(0,0<m?g/m:0),p.width=Math.round(n.Gm*c),g-=p.width,m-=n.Gm};a.prototype.BN=function(b){for(var g=this.cu,f=this.Ic.bf(),c=this.Ic.af(),e=0,m=0,q=0;q<b.length;q++){var p=b[q];p.td.get("includeInLayout")&&(e+=b[q].width,m++)}e+=g*(m-
1);if(f>=e)switch(this.Zk){case h.eb:f-=e;break;case h.ue:f=Math.round(.5*(f-e));break;default:f=0}else f=0;for(q=0;q<b.length;q++)if(p=b[q],p.td.get("includeInLayout")){if(c>=p.height)switch(this.Bl){case h.mc:p.y=c-p.height;break;case h.ae:p.y=Math.round(.5*(c-p.height));break;default:p.y=0}else p.y=0;p.x=f;f+=p.width+g}else p.x=0,p.y=0};return a});
define("cU",["require","kV","my","cb","dx"],function(a){var d=a("kV"),h=a("my"),l=a("cb"),k=a("dx");a=d.extend(l,function(){l.call(this)});a.prototype.measure=function(){for(var b=new k,g=this.pS(),f=0;f<g.length;f++){var c=g[f];b.width=Math.max(c.vs(),b.width);b.minWidth=Math.max(c.ts(),b.minWidth);b.height+=c.us();b.minHeight+=c.wv()}g=Math.max(0,g.length-1)*this.HC+this.Ic.rs()+this.Ic.JH();b.height+=g;b.minHeight+=g;g=this.Ic.El()+this.Ic.qs();b.width+=g;b.minWidth+=g;return b};a.prototype.WG=
function(b){this.CN(b);this.BN(b)};a.prototype.CN=function(b){for(var g=0,f=0;f<b.length;f++)b[f].td.get("includeInLayout")&&g++;f=Math.max(0,g-1)*this.HC;var c=this.Ic.bf(),e=this.Ic.af()-f;g=e;var m=0,q=[];for(f=0;f<b.length;f++){var p=b[f],n=p.td,r=n.Gm;p.width=isNaN(r)?n.vs():Math.max(n.ts(),Math.min(n.QX(),Math.round(c*r*.01)));r=n.Fm;isNaN(r)?(p.height=n.us(),g-=p.height):n.get("includeInLayout")?(m+=r,q.push(p)):p.height=Math.max(n.wv(),Math.min(n.PX(),Math.round(e*r*.01)))}g-=Math.max(0,g-
e*m*.01);do{b=!1;c=Math.max(0,0<m?g/m:0);e=[];for(f=m=0;f<q.length;f++){p=q[f];n=p.td;r=Math.round(n.Fm*c);var t=n.wv(),u=n.PX();r<t?(p.height=t,g-=p.height,b=!0):r>u?(p.height=u,g-=p.height,b=!0):(m+=n.Fm,e.push(p))}q=e}while(b);for(f=0;f<q.length;f++)p=q[f],n=p.td,c=Math.max(0,0<m?g/m:0),p.height=Math.round(n.Fm*c),g-=p.height,m-=n.Fm};a.prototype.BN=function(b){for(var g=this.HC,f=this.Ic.bf(),c=this.Ic.af(),e=0,m=0,q=0;q<b.length;q++){var p=b[q];p.td.get("includeInLayout")&&(e+=p.height,p.width>
f&&(f=p.width),m++)}e+=g*(m-1);if(c>=e)switch(this.Bl){case h.mc:c-=e;break;case h.ae:c=Math.round(.5*(c-e));break;default:c=0}else c=0;for(q=0;q<b.length;q++)if(p=b[q],p.td.get("includeInLayout")){switch(this.Zk){case h.eb:p.x=f-p.width;break;case h.ue:p.x=Math.round(.5*(f-p.width));break;default:p.x=0}p.y=c;c+=p.height+g}else p.x=0,p.y=0};return a});
define("l","require kV dY e R my cH d dq jS kT cU".split(" "),function(a){var d=a("kV"),h=a("dY"),l=a("e"),k=a("R"),b=a("my"),g=a("cH"),f=a("d"),c=a("dq"),e=a("jS"),m=a("kT"),q=a("cU"),p=d.extend(l,function(){l.call(this);this.qe("BaseContainer");this.Fn=null;this.Jd=[];this.Yo=[];this.FJ=g.sda;this.set("contentOpaque",!1)});p.tc={children:[[]],childrenInteractionEnabled:!0,gap:0,horizontalAlign:b.Ma,itemHeight:void 0,itemMaxHeight:void 0,itemMaxWidth:void 0,itemMinHeight:void 0,itemMinWidth:void 0,
itemWidth:void 0,layout:f.QP,verticalAlign:b.sc};h.defaults(p.tc,l.tc);p.prototype.lb=function(){this.yn(p.tc)};p.prototype.set=function(n,r){"children"==n?this.Pg(r):"creationPolicy"==n?this.uVa(r):l.prototype.set.call(this,n,r)};p.prototype.get=function(n,r){return"children"==n?this.Jb():"creationPolicy"==n?this.FJ:l.prototype.get.call(this,n,r)};p.prototype.uVa=function(n){this.FJ!=n&&(this.FJ=n,this.L9())};p.prototype.Pg=function(n){var r=this.Jb();n=n||[];for(var t=h(r).difference(n),u=0;u<t.length;u++)this.removeChild(t[u]);
r=h(n).difference(r);for(u=0;u<r.length;u++)this.Ua(r[u]);for(u=0;u<n.length;u++)this.Xm(n[u],u)};p.prototype.Jb=function(){return this.Jd};p.prototype.Ua=function(n){n.getParent()&&n.getParent().removeChild(n);this.Jd.push(n);n.ga=this;this.dga(n);n.v8(this.jp);this.Yo.push(n);this.L9();n.Oo()};p.prototype.removeChild=function(n){n.getParent()==this&&(n.Im(),n.ga=null,h(this.Yo).contains(n)?this.Yo=h.without(this.Yo,n):(n.yc().detach(),n.Qr(null),this.Tb(),this.Fd()),this.Jd=h.without(this.Jd,n),
n.R7())};p.prototype.Kwa=function(){h(this.Jb()).forEach(function(n){this.removeChild(n)})};p.prototype.Caa=function(n){return h(this.Jd).indexOf(n)};p.prototype.Xm=function(n,r){var t=this.Caa(n);if(0>t)throw"Can't set index. This is not a child of this container";var u=this.Jd.slice();u.splice(t,1);u.splice(r,0,n);if(!h.isEqual(this.Jd,u)&&(this.Jd=u,!h(this.Yo).contains(n))){r=this.Caa(n);n.yc().detach();u=t=null;for(var v=r-1;0<=v&&!t;v--)h(this.Yo).contains(this.Jd[v])||(t=this.Jd[v]);for(v=
r+1;v<this.Jd.length&&!u&&!t;v++)h(this.Yo).contains(this.Jd[v])||(u=this.Jd[v]);t?n.yc().insertAfter(t.yc()):u?n.yc().insertBefore(u.yc()):this.yb().fX(n.jr());this.Fd()}};p.prototype.oC=function(n){l.prototype.oC.call(this,n);this.Yqa()};p.prototype.Yqa=function(){h(this.Jd).forEach(function(n){this.dga(n)},this)};p.prototype.dga=function(n){n.set("inheritedInteractionEnabled",this.B("interactionEnabled")&&this.B("inheritedInteractionEnabled")&&this.B("childrenInteractionEnabled"))};p.prototype.dJ=
function(){l.prototype.dJ.call(this);this.Jd.forEach(function(n){n.dJ()})};p.prototype.pC=function(n){l.prototype.pC.call(this,n);h(this.Jd).forEach(function(r){r.v8(this.jp)},this)};p.prototype.U0=function(n){l.prototype.U0.call(this,n);h(this.Jb()).forEach(function(r){r.ZG()});this.L9()};p.prototype.Qr=function(n){l.prototype.Qr.call(this,n);h(this.Jb()).forEach(function(r){h(this.Yo).contains(r)||r.Qr(n)},this)};p.prototype.L9=function(){(this.FJ==g.sda&&this.yx||this.FJ==g.Uz)&&0<this.Yo.length&&
(h(this.Yo).forEach(function(n){this.yb().fX(n.jr());n.Qr(this.Hb())},this),this.Yo=[],this.Tb(),this.Fd())};p.prototype.wP=function(n){this.Fn!=n&&(this.Fn&&this.Fn.Jxa(null),(this.Fn=n)&&this.Fn.Jxa(this))};p.prototype.Ta=function(){var n=!1,r=this.B("layout");if(this.H("layout")){switch(r){case f.jw:this.wP(new e);break;case f.xg:this.wP(new m);break;case f.lh:this.wP(new q);break;default:this.wP(new c)}this.P("layout");n=!0}var t=this.Fn;if(this.H("horizontalAlign")||n)t.jI(this.B("horizontalAlign")),
this.P("horizontalAlign");if(this.H("verticalAlign")||n)t.pI(this.B("verticalAlign")),this.P("verticalAlign");if(this.H("gap")||n)r==f.jw?(t.wxa(this.B("gap")),t.fZ(this.B("gap"))):r==f.xg?t.wxa(this.B("gap")):r==f.lh&&t.fZ(this.B("gap")),this.P("gap");if(r==f.jw){if(this.H("itemWidth")||n){var u=this.B("itemWidth"),v=k.to(u);void 0!==v?t.XVa(v):t.PVa(u);this.P("itemWidth")}if(this.H("itemHeight")||n)u=this.B("itemHeight"),v=k.to(u),void 0!==v?t.WVa(v):t.OVa(u),this.P("itemHeight");this.H("itemMinWidth")&&
(t.UVa(this.B("itemMinWidth")),this.P("itemMinWidth"));this.H("itemMinHeight")&&(t.TVa(this.B("itemMinHeight")),this.P("itemMinHeight"));this.H("itemMaxWidth")&&(t.SVa(this.B("itemMaxWidth")),this.P("itemMaxWidth"));this.H("itemMaxHeight")&&(t.RVa(this.B("itemMaxHeight")),this.P("itemMaxHeight"))}this.H("childrenInteractionEnabled")&&(this.P("childrenInteractionEnabled"),this.Yqa());this.ic(["cursor"],{cursor:"inheritedCursor"},this.Jd,!0,!1);l.prototype.Ta.call(this);r==f.jw&&t.CVa(this.mm)};p.prototype.ic=
function(n,r,t,u,v){for(var w=0;w<n.length;w++){var x=n[w];if(!u||this.H(x)){for(var y=0;y<t.length;y++)t[y].set(r[x]?r[x]:x,this.B(x));v&&this.P(x)}}};p.prototype.ru=function(){if(this.Fn){var n=this.Fn.measure();this.el=n.width;this.dl=n.height;this.YK=n.minWidth;this.XK=n.minHeight}else l.prototype.ru.call(this)};p.prototype.Ql=function(){this.Fn&&this.Fn.update(this);l.prototype.Ql.call(this)};return p});
define("lD",["require","jquery.mod","kV","oB","gm"],function(a){function d(b,g){this.TE=b;this.uc="#000000";this.sb=.5;this.ea=10;this.PN=this.lK=5;this.kf=g;this.sR=this.N6=this.Wa=0;this.Vfa=this.qb=this.RQ=!1;this.va=!0;this.HE=document.createElement("div");this.HE.setAttribute("tdvlayer","scrollbar");this.vJ=h(this.HE);k.css(this.HE,{position:"absolute","z-index":l.sAa});this.gJ=document.createElement("div");this.b1=h(this.gJ);k.css(this.gJ,{position:"absolute",left:0,top:0});this.vJ.append(this.b1)}
var h=a("jquery.mod");a("kV");var l=a("oB"),k=a("gm");d.prototype.nd=function(){return this.vJ.width()};d.prototype.$d=function(){return this.vJ.height()};d.prototype.setPosition=function(b){this.Wa!=b&&(this.Wa=b,this.Foa(),this.va=!0)};d.prototype.Ek=function(){return this.Wa};d.prototype.setSize=function(b,g){this.N6=b;this.sR=g;this.Foa();this.va=!0};d.prototype.Rf=function(b){this.qb!=b&&(this.qb=b,this.va=!0)};d.prototype.jxa=function(b){this.RQ!=b&&(this.RQ=b,this.va=!0)};d.prototype.setColor=
function(b){this.uc!=b&&(this.uc=b,this.va=!0)};d.prototype.Ti=function(b){this.sb!=b&&(this.sb=b,this.va=!0)};d.prototype.EP=function(b){this.ea!=b&&(this.ea=b,this.va=!0)};d.prototype.uxa=function(b){this.lK!=b&&(this.lK=b,this.va=!0)};d.prototype.Lxa=function(b){this.PN!=b&&(this.PN=b,this.va=!0)};d.prototype.Rg=function(){this.va&&(this.Vfa!=this.qb&&(this.qb?this.kf.append(this.vJ):this.vJ.detach(),this.Vfa=this.qb),this.ca(),this.va=!1)};d.prototype.ca=function(){var b=Math.round(100*this.N6/
this.sR),g=Math.round(100*this.Wa/this.sR);k.css(this.HE,{filter:"alpha(opacity="+Math.round(100*this.sb)+")",opacity:this.sb,display:this.qb?"block":"none"});k.css(this.gJ,{backgroundColor:this.uc,"border-radius":Math.floor(this.ea/2)+"px"});this.TE==d.xg?(k.css(this.HE,{left:this.lK+"px",right:(this.RQ?this.ea:0)+this.lK+"px",height:this.ea+"px",bottom:this.PN+"px"}),k.css(this.gJ,{left:g+"%",width:b+"%",height:this.ea+"px"})):(k.css(this.HE,{top:this.PN+"px",right:this.lK+"px",width:this.ea+"px",
bottom:(this.RQ?this.ea:0)+this.PN+"px"}),k.css(this.gJ,{top:g+"%",width:this.ea+"px",height:b+"%"}))};d.prototype.Foa=function(){var b=this.sR-this.N6;0>this.Wa?this.Wa=0:this.Wa>b&&(this.Wa=b)};d.xg="horizontal";d.lh="vertical";return d});define("jx",["require","kV","lD"],function(a){var d=a("kV"),h=a("lD");return d.extend(h,function(l){h.call(this,h.xg,l)})});define("ei",["require","kV","lD"],function(a){var d=a("kV"),h=a("lD");return d.extend(h,function(l){h.call(this,h.lh,l)})});
define("gP","require exports og cu fV lQ".split(" "),function(a,d,h,l,k,b){return new (function(g){function f(){var c=g.call(this)||this;c.visible=!0;c.Ab=!1;c.wZ=!1;c.visible=!0;c.Ab=!1;c.wZ=!1;c.Jwa=b.getQueryParameter("redirect-when-hidden")||"";c.MUa=b.Ph("reload-when-hidden",!1);document.addEventListener("visibilitychange",c.onChange.bind(c),!1);c.onChange();return c}aa(f,g);f.prototype.WY=function(c){if(this.Ab=c)this.wZ=!1;this.onChange()};f.prototype.Nca=function(c){this.wZ=c;this.onChange()};
f.prototype.onChange=function(){var c=this.Ab?!this.wZ:!document.hidden;this.visible!=c&&((this.visible=c)&&this.sUa(),this.trigger(new l(h.sa)))};f.prototype.sUa=function(){this.Jwa?window.location.href=this.Jwa:this.MUa&&window.location.reload()};return f}(k))});
define("md",["require","exports","lQ"],function(a,d,h){a={};a.SD=h.Ph("debug",!1);a.Iza=h.Ri("hqhls");a.mda=h.Ph("audiocontext",!0);a.mYa=h.Ph("testhash",!1);a.Aza=h.Ph("exitvronblur",!1);a.lza=h.Ph("download",!0);a.GAa=h.Ph("updatewhilehidden",!1);return a});
define("bf",["require","exports","kV","gP","md"],function(a,d,h,l,k){var b=window.requestAnimationFrame.bind(window),g=window.cancelAnimationFrame.bind(window),f=function(){function e(){}e.requestFrame=function(m,q,p){for(var n=0;n<e.tq.length;n++)if(e.tq[n].is(m,q))return;n=e.lY;void 0!==p&&(n+=p);e.tq.push(new c(m,q,n));e.paused||void 0!==e.Cs||(e.Cs=e.lP(e.CX))};e.oRa=function(m){for(var q=0;q<e.tq.length;q++)if(e.tq[q].is(m,void 0)){e.tq.splice(q,1);break}};e.yca=function(m){e.paused!=m&&(e.paused=
m,e.paused?void 0!==e.Cs&&(e.haa(e.Cs),e.Cs=void 0):0<e.tq.length&&(e.Cs=e.lP(e.CX)))};e.cZ=function(m,q){e.lP!=m&&(void 0!==e.Cs&&(e.haa(e.Cs),e.Cs=m(e.CX)),e.lP=m,e.haa=q)};e.Vba=function(){e.cZ(b,g)};e.CX=function(m){e.jta(m);e.Cs=0<e.tq.length?e.lP(e.CX):void 0};e.jta=function(m){m<e.se&&(e.startTime=m-e.lY*e.z_,e.se=m);var q=0;void 0===e.startTime?e.startTime=m:q=Math.round((m-e.startTime)/e.z_);var p=(q-e.lY)*e.z_,n=e.tq;e.tq=[];e.dba=!0;e.lY=q;p=1<p?100>p?p:100:1;e.se=m;for(m=0;m<n.length;m++){var r=
n[m];q<r.Iva?e.tq.push(r):r.call(p)}e.dba=!1};e.se=(new Date).getTime();e.dba=!1;e.lP=b;e.haa=g;e.tq=[];e.Cs=void 0;e.paused=!1;e.z_=1E3/60;e.lY=0;e.startTime=void 0;return e}();k.GAa&&setInterval(function(){l.visible||f.jta(f.se+100)},100);var c=function(){function e(m,q,p){this.Iva=0;this.ko=m;this.context=q;this.Iva=p}e.prototype.is=function(m,q){return this.ko==m&&this.context==q};e.prototype.call=function(m){try{this.ko.call(this.context,m)}catch(q){h.UO("Error in animation frame",q)}};return e}();
return f});define("bD",["require"],function(){return function(a,d,h,l){this.name=a;this.from=d;this.oz=h;this.cUa=l}});
define("nJ",["require","bD"],function(a){function d(f){var c={yaa:function(e,m,q,p){q=0>=q?0:q>=p?1:q/p;.5>q?q=Math.pow(2*q,f):(q=1-Math.pow(1-(2*q-1),f),q+=1);return e+.5*(m-e)*q}};c.uba=k(f);return c}function h(f){var c={yaa:function(e,m,q,p){return e+(m-e)*(1-Math.pow(1-(0>=q?0:q>=p?1:q/p),f))}};c.uba=k(f);return c}function l(f){var c={yaa:function(e,m,q,p){return e+(m-e)*Math.pow(0>=q?0:q>=p?1:q/p,f)}};c.uba=k(f);return c}function k(f){return function(c,e,m){c=Math.abs(e-c);return 1>c/m?0:1/(1-
Math.pow((c-m)/c,1/f))}}function b(f,c,e){this.Qj=null;switch(f){case "quad_in":this.Qj=l(2);break;case "quad_out":this.Qj=h(2);break;case "quad_in_out":this.Qj=d(2);break;case "cubic_in":this.Qj=l(3);break;case "cubic_out":this.Qj=h(3);break;case "cubic_in_out":this.Qj=d(3);break;case "quart_in":this.Qj=l(4);break;case "quart_out":this.Qj=h(4);break;case "quart_in_out":this.Qj=d(4);break;case "quint_in":this.Qj=l(5);break;case "quint_out":this.Qj=h(5);break;case "quint_in_out":this.Qj=d(5);break;
default:this.Qj=l(1)}this.Ot=c.slice();this.Bd=0;this.ob=this.lx(c,e);this.H2={};for(f=0;f<this.Ot.length;f++)this.H2[this.Ot[f].name]=c[f].from}var g=a("bD");b.prototype.Faa=function(f){for(var c=0;c<this.Ot.length;c++)if(this.Ot[c].name==f)return this.Ot[c];return null};b.prototype.$a=function(f){return this.H2[f]};b.prototype.Fe=function(){return this.Bd>=this.ob};b.prototype.Qi=function(){return this.ob};b.prototype.Ek=function(){return this.Bd/this.ob};b.prototype.getTime=function(){return this.Bd};
b.prototype.setTime=function(f){this.Bd=Math.min(Math.max(0,f),this.ob);for(f=0;f<this.Ot.length;f++){var c=this.Ot[f];this.H2[c.name]=this.Qj.yaa(c.from,c.oz,this.Bd,this.ob)}};b.prototype.wb=function(f){this.setTime(this.Bd+f)};b.prototype.lx=function(f,c,e){for(var m=[],q=0;q<this.Ot.length;q++){var p=this.Ot[q],n=e?e:p.cUa;void 0!==n&&0<n&&m.push(this.Qj.uba(p.from,p.oz,n/1E3))}if(0<m.length){f=m[0];for(q=1;q<m.length;q++)f=Math.max(f,m[q]);return 0<c?Math.max(c,f):f}return void 0!==c?Math.max(c,
.001):this.lx(f,c,1E3)};b.Qi=function(){return(new b(void 0,[new g("",void 0,void 0,void 0)])).Qi()};return b});
define("nC","require dY kV og cu my hs fq l jx ei bf nJ bD".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("cu"),b=a("my"),g=a("hs"),f=a("fq"),c=a("l"),e=a("jx"),m=a("ei"),q=a("bf"),p=a("nJ"),n=a("bD"),r=h.extend(c,function(){c.call(this);this.qe("Container");this.fd=this.Ld=this.Lf=this.ng=this.Rb=this.Fb=this.oha=this.nha=0;this.V4=this.a5=this.gl=this.fl=!1;this.iha=0;this.O1=this.N1=void 0;this.Q1=this.P1=0;this.uy=null;this.K6=g.Ida;this.sx=!1;this.tS=null;this.ds=!1;this.NW=null});
r.tc={overflow:g.hE,scrollBarColor:"#000000",scrollBarWidth:10,scrollBarMargin:5,scrollBarHorizontalMargin:void 0,scrollBarVerticalMargin:void 0,scrollBarOpacity:.5,scrollBarVisible:f.$c};d.defaults(r.tc,c.tc);r.prototype.zn=function(){this.tS=new e(this.W3());this.tS.b1.bind("mousedown touchstart",d.bind(this.OHa,this));this.zn=function(){return this.tS};return this.tS};r.prototype.An=function(){this.NW=new m(this.W3());this.NW.b1.bind("mousedown touchstart",d.bind(this.yQa,this));this.An=function(){return this.NW};
return this.NW};r.prototype.scrollIntoView=function(t){var u=t.Ga,v=t.Ia;this.scrollTo(Math.min(u,Math.max(u+t.Va()-this.ng,this.Ld)),Math.min(v,Math.max(v+t.zb()-this.Lf,this.fd)))};r.prototype.scrollTo=function(t,u){var v=this.Ld;t>this.Ld?this.dR()&&(v=Math.min(t,this.Fb-this.ng)):t<this.Ld&&this.cR()&&(v=Math.max(t,0));t=this.fd;u>this.fd?this.bR()&&(t=Math.min(u,this.Rb-this.Lf)):u<this.fd&&this.eR()&&(t=Math.max(u,0));this.cN(v,t)};r.prototype.$wa=function(){if(this.bR()){for(var t=Math.max(0,
this.Rb-this.Lf),u=Math.min(t,this.fd+.5*this.Lf),v=t=Math.min(t,this.fd+this.Lf),w=this.Jb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ia;y+x.zb()>this.fd+this.Lf&&y>=u&&y<t&&y<v&&(v=y)}this.cN(this.Ld,v)}};r.prototype.bR=function(){return this.Hga()&&this.fd+this.Lf<this.Rb};r.prototype.bxa=function(){if(this.eR()){for(var t=Math.max(0,this.fd-this.Lf),u=Math.max(0,this.fd-.5*this.Lf),v=t,w=this.Jb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=
x.Ia;x=y+x.zb();y<this.fd&&x>=t+this.Lf&&x<u+this.Lf&&x>v+this.Lf&&(v=x-this.Lf)}this.cN(this.Ld,v)}};r.prototype.eR=function(){return this.Hga()&&0<this.fd};r.prototype.axa=function(){if(this.dR()){for(var t=Math.max(0,this.Fb-this.ng),u=Math.min(t,this.Ld+.5*this.ng),v=t=Math.min(t,this.Ld+this.ng),w=this.Jb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ga;y+x.Va()>this.Ld+this.ng&&y>=u&&y<t&&y<v&&(v=y)}this.cN(v,this.fd)}};r.prototype.dR=function(){return this.Gga()&&
this.Ld+this.ng<this.Fb};r.prototype.scrollLeft=function(){if(this.cR()){for(var t=Math.max(0,this.Ld-this.ng),u=Math.max(0,this.Ld-.5*this.ng),v=t,w=this.Jb().slice(),x=w.shift();w.length;x=w.shift())if(x.get("visible")){var y=x.Ga;x=y+x.Va();y<this.Ld&&x>=t+this.ng&&x<u+this.ng&&x>v+this.ng&&(v=x-this.ng)}this.cN(v,this.fd)}};r.prototype.cR=function(){return this.Gga()&&0<this.Ld};r.prototype.cN=function(t,u){this.fl=this.Ld!=t;this.gl=this.fd!=u;this.$r();this.uy=new p("cubic_in_out",[new n("hScrollPosition",
this.Ld,t),new n("vScrollPosition",this.fd,u)],500);q.requestFrame(this.K0,this)};r.prototype.Hga=function(){return this.ds&&this.Lf<this.Rb};r.prototype.Gga=function(){return this.sx&&this.ng<this.Fb};r.prototype.lb=function(){this.yn(r.tc)};r.prototype.PDa=function(){this.a5=!0;this.$r()};r.prototype.ODa=function(){this.a5=!1;this.$r()};r.prototype.OHa=function(){this.fl=!0};r.prototype.yQa=function(){this.gl=!0};r.prototype.LDa=function(t){this.fl||this.gl?(this.Hb().bind(l.ec,this.gha,this),this.Hb().bind(l.$b,
this.hha,this),this.Qw=t.pageX,this.Rw=t.pageY,this.$r()):this.jha(t)};r.prototype.gha=function(t){if(this.fl){var u=(t.pageX-this.Qw)*this.Fb/this.zn().nd();this.Ld+=u}else this.gl&&(u=(t.pageY-this.Rw)*this.Rb/this.An().$d(),this.fd+=u);this.Qw=t.pageX;this.Rw=t.pageY;this.kv()};r.prototype.hha=function(){this.Hb().unbind(l.ec,this.gha,this);this.Hb().unbind(l.$b,this.hha,this);this.gl=this.fl=!1;this.$r()};r.prototype.Jga=function(t){return this.ds&&(0<t&&0<this.fd||0>t&&this.fd<this.Rb-this.Lf)?
!0:!1};r.prototype.NDa=function(t){this.ds&&(this.fd-=t.delta*this.Lf*.1,this.kv())};r.prototype.jha=function(t){if(this.sx||this.ds)this.Hb().bind(l.ec,this.kha,this),this.Hb().bind(l.$b,this.lha,this),this.V4=!0,this.Qw=t.pageX,this.Rw=t.pageY,this.$r(),this.hIa()};r.prototype.kha=function(t){var u=t.pageX-this.Qw,v=t.pageY-this.Rw;!this.fl&&!this.gl&&25<u*u+v*v&&(this.fl=this.sx,this.gl=this.ds,this.$r());if(this.fl||this.gl)this.Ld-=u,this.fd-=v,this.Qw=t.pageX,this.Rw=t.pageY,this.kv(),this.yPa()};
r.prototype.lha=function(){this.Hb().unbind(l.ec,this.kha,this);this.Hb().unbind(l.$b,this.lha,this);this.V4=!1;this.$r();var t=Math.max(Math.abs(this.P1/.001),Math.abs(this.Q1/.001));this.uy=new p("linear",[new n("hScrollPosition",this.Ld,this.Ld-.5*this.P1*t),new n("vScrollPosition",this.fd,this.fd-.5*this.Q1*t)],t);q.requestFrame(this.K0,this)};r.prototype.hIa=function(){this.N1=this.Qw;this.O1=this.Rw};r.prototype.yPa=function(){var t=(new Date).getTime(),u=t-this.iha;10<u&&(this.iha=t,this.P1=
(this.Qw-this.N1)/u,this.Q1=(this.Rw-this.O1)/u,this.N1=this.Qw,this.O1=this.Rw)};r.prototype.K0=function(t){this.uy&&!this.uy.Fe()&&(this.fl||this.gl)?(this.uy.wb(t),this.fl&&(this.Ld=this.uy.$a("hScrollPosition"),0>this.Ld||this.Ld>this.Fb-this.ng)&&(this.fl=!1),this.gl&&(this.fd=this.uy.$a("vScrollPosition"),0>this.fd||this.fd>this.Rb-this.Lf)&&(this.gl=!1),this.kv(),q.requestFrame(this.K0,this)):(this.gl=this.fl=!1,this.uy=null,this.$r())};r.prototype.kv=function(t){if(t){if(!this.sx)switch(this.B("horizontalAlign")){case b.eb:this.Ld=
this.Fb-this.ng;break;case b.ue:this.Ld=(this.Fb-this.ng)/2;break;default:this.Ld=0}if(!this.ds)switch(this.B("verticalAlign")){case b.mc:this.fd=this.Rb-this.Lf;break;case b.ae:this.fd=(this.Rb-this.Lf)/2;break;default:this.fd=0}}this.Ld=Math.max(0,Math.min(this.Fb-this.ng,this.Ld));this.fd=Math.max(0,Math.min(this.Rb-this.Lf,this.fd));this.zn().setPosition(this.Ld);this.An().setPosition(this.fd);this.yb().IVa(this.Ld);this.yb().UWa(this.fd);this.Fk();if(this.Qna!=this.Ld||this.Rna!=this.fd)void 0!==
this.Qna&&void 0!==this.Rna&&this.trigger(new k(l.Lo)),this.Qna=this.Ld,this.Rna=this.fd};r.prototype.$r=function(){var t=this.get("scrollBarVisible")==f.ALWAYS?!0:this.Dn?this.fl||this.gl||this.V4:this.fl||this.gl||this.a5;this.zn().Rf(this.sx&&t);this.An().Rf(this.ds&&t);this.Fk()};r.prototype.xb=function(){c.prototype.xb.call(this);this.MDa||(this.MDa=!0,this.Dn?this.bind(l.ub,this.jha,this):(this.bind(l.ub,this.LDa,this),this.bind(l.$c,this.PDa,this),this.bind(l.ac,this.ODa,this),this.bind(l.Jq,
this.NDa,this)))};r.prototype.Ta=function(){this.H("overflow")&&(this.K6=this.B("overflow"),this.P("overflow"),this.Fd());this.H("scrollBarColor")&&(this.zn().setColor(this.B("scrollBarColor")),this.An().setColor(this.B("scrollBarColor")),this.P("scrollBarColor"));this.H("scrollBarWidth")&&(this.zn().EP(this.B("scrollBarWidth")),this.An().EP(this.B("scrollBarWidth")),this.P("scrollBarWidth"));if(this.H("scrollBarMargin")||this.H("scrollBarVerticalMargin")||this.H("scrollBarHorizontalMargin")){var t=
this.B("scrollBarHorizontalMargin","scrollBarMargin"),u=this.B("scrollBarVerticalMargin","scrollBarMargin");this.zn().uxa(t);this.zn().Lxa(u);this.An().uxa(t);this.An().Lxa(u);this.P("scrollBarMargin");this.P("scrollBarVerticalMargin");this.P("scrollBarHorizontalMargin")}this.H("scrollBarOpacity")&&(this.zn().Ti(this.B("scrollBarOpacity")),this.An().Ti(this.B("scrollBarOpacity")),this.P("scrollBarOpacity"));c.prototype.Ta.call(this)};r.prototype.Ql=function(){c.prototype.Ql.call(this);this.BPa();
this.UPa();this.SPa();this.$r();this.Fk()};r.prototype.BPa=function(){for(var t=0,u=0,v=0,w=0,x=this.Jb(),y=0;y<x.length;y++){var A=x[y];A.get("visible")&&(w=Math.min(w,A.Ga),v=Math.min(v,A.Ia),t=Math.max(t,A.Ga+A.Va()),u=Math.max(u,A.Ia+A.zb()))}this.nha=w;this.oha=v;this.Fb=t;this.Rb=u};r.prototype.UPa=function(){this.ng=Math.min(this.bf(),this.Fb);this.Lf=Math.min(this.af(),this.Rb)};r.prototype.SPa=function(){var t=this.Jd.some(function(w){return w.lTa()}),u=0>this.nha||0>this.oha||this.Fb>this.ng||
this.Rb>this.Lf;if(this.K6==g.Lo){this.sx=this.ng<this.Fb;var v=(this.ds=this.Lf<this.Rb)&&this.sx;this.zn().setSize(this.ng,this.Fb);this.zn().jxa(v);this.An().setSize(this.Lf,this.Rb);this.An().jxa(v);this.yb().lI(!u&&!t)}else this.ds=this.sx=!1,this.K6==g.hE?this.yb().lI(!0):this.yb().lI(!u&&!t);this.kv(!0)};r.prototype.Rg=function(){this.An().Rg();this.zn().Rg();c.prototype.Rg.call(this)};return r});define("V",["require"],function(){return{lh:"vertical",xg:"horizontal"}});
define("hd",["require"],function(){return{qv:function(a){return a?a.split(",").map(function(d){return d.trim()}).filter(function(d){return""!=d}).map(function(d){"'"!=d[0]&&'"'!=d[0]&&(d="'"+d+"'");return d}).join(", "):""}}});
define("iB","require jquery.mod dY kV my V e gm hd".split(" "),function(a){function d(m){var q=m.Lm.width(),p=m.Lm.height();"italic"==m.get("fontStyle")&&(q+=1*p/5);return Math.round(q)}var h=a("jquery.mod"),l=a("dY"),k=a("kV"),b=a("my"),g=a("V"),f=a("e");a("gm");var c=a("hd");a=k.extend(f,function(){f.call(this);this.qe("Label");this.Lm=this.YM=null});a.tc={};a.prototype.lb=function(){f.prototype.lb.call(this);this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");
this.h("horizontalAlign",b.Ma);this.h("verticalAlign",b.ae);this.h("direction",g.xg);this.h("text","");this.h("textDecoration");this.h("textShadowBlurRadius",3);this.h("textShadowColor","#000000");this.h("textShadowHorizontalLength",0);this.h("textShadowOpacity",0);this.h("textShadowVerticalLength",0)};a.prototype.xb=function(){f.prototype.xb.call(this);if(!this.Lm){this.YM=document.createElement("span");this.Lm=h(this.YM);this.M8({position:"absolute","text-align":"center",cursor:"inherit","white-space":"nowrap",
transform:"translate3d(0, 0, 0)"});var m=this.yb();m.lI(!1);m.append(this.Lm)}};a.prototype.ru=function(){f.prototype.ru.call(this);var m=this.yb();this.el=d(this)+m.MH()+m.PH();this.dl=this.Lm.height()+m.QH()+m.IH();e(this)};a.prototype.Ta=function(){var m={};if(this.H("direction")||this.H("text")){switch(this.B("direction")){case g.lh:m["line-height"]="100%";this.Lm.html(this.Lm.text(this.B("text")).text().split("").join("<br/>"));break;default:m["line-height"]="normal",this.Lm.text(this.B("text")),
this.Lm.html(this.Lm.html().split(" ").join("&nbsp;"))}this.P("direction");this.P("text");setTimeout(function(){this.Tb();this.Fd()}.bind(this),0)}if(this.H("fontFamily")){var q=this.B("fontFamily");l(q).isString()||(q="");m.fontFamily=c.qv(q);this.P("fontFamily");this.Tb();this.Fd()}this.H("fontSize")&&(q=this.B("fontSize"),l(q).isNumber()?q+="px":l(q).isString()||(q=""),m.fontSize=q,this.P("fontSize"),this.Tb(),this.Fd());this.H("fontColor")&&(q=this.B("fontColor"),l(q).isString()||(q=""),m.color=
q,this.P("fontColor"));if(this.H("fontWeight")){q=this.B("fontWeight");switch(q){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:q="normal"}m.fontWeight=q;this.P("fontWeight");this.Tb();this.Fd()}if(this.H("fontStyle")){q=this.B("fontStyle");switch(q){case "italic":case "normal":break;default:q="normal"}m.fontStyle=q;this.P("fontStyle");this.Tb();this.Fd()}if(this.H("textDecoration")){q=
this.B("textDecoration");switch(q){case "underline":case "overline":case "line-through":case "none":break;default:q="none"}m.textDecoration=q;this.P("textDecoration");this.Tb();this.Fd()}this.H("horizontalAlign")&&(this.Fd(),this.P("horizontalAlign"));this.H("verticalAlign")&&(this.Fd(),this.P("verticalAlign"));q=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(l(q).any(function(n){return this.H(n)},this)){var p={};l(q).each(function(n){p[n]=
this.B(n);this.P(n)},this);m["-moz-text-shadow"]=m["-webkit-text-shadow"]=m["text-shadow"]=[p.textShadowHorizontalLength+"px",p.textShadowVerticalLength+"px",p.textShadowBlurRadius+"px","rgba("+parseInt("0x"+p.textShadowColor.substr(1,2))+", "+parseInt("0x"+p.textShadowColor.substr(3,2))+", "+parseInt("0x"+p.textShadowColor.substr(5,2))+", "+p.textShadowOpacity+")"].join(" ");q=0==p.textShadowVerticalLength&&0==this.B("textShadowHorizontalLength")?135:45*Math.round(4*Math.atan2(p.textShadowHorizontalLength,
-p.textShadowVerticalLength)/Math.PI);m.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*p.textShadowOpacity).toString(16)).slice(-2)+p.textShadowColor.substr(1,6)+",direction="+q+")";this.yb().lI((0<p.textShadowHorizontalLength||0<p.textShadowVerticalLength||0<p.textShadowBlurRadius)&&0<p.textShadowOpacity)}this.M8(m);f.prototype.Ta.call(this)};a.prototype.Ql=function(){var m={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.B("horizontalAlign")){case b.Ma:m.left=
"0";break;case b.eb:this.Rg();m.left=this.bf()-d(this)+"px";break;case b.ue:this.Rg(),m.left=Math.max(0,Math.round(.5*(this.bf()-d(this))))+"px"}switch(this.B("verticalAlign")){case b.sc:m.top="0";break;case b.mc:this.Rg();m.top=this.af()-this.YM.clientHeight+"px";break;case b.ae:this.Rg(),m.top=Math.max(0,Math.round(.5*(this.af()-this.YM.clientHeight)))+"px"}this.M8(m)};a.prototype.M8=function(m){var q=this.YM.style,p;for(p in m)q[p]=m[p]};var e=function(){function m(){r||q()&&(r=setTimeout(function(){r=
null;var t=(new Date).getTime()-5E3,u;for(u in n){var v=n[u];v.timestamp<t&&delete n[u];var w=v.label;if(v.width!=d(w)||v.height!=w.Lm.height())w.Tb(),w.Fd()}m()},500))}function q(){for(var t in n)return!0;return!1}var p=1,n={},r=null;return function(t){t.cla||(t.cla=p++);n[t.cla]={label:t,timestamp:(new Date).getTime(),width:d(t),height:t.Lm.height()};m()}}();return a});
define("lu","require kV dY cH bb og cu gZ dV hs gw nC iB".split(" "),function(a){var d=a("kV"),h=a("dY"),l=a("cH"),k=a("bb"),b=a("og"),g=a("cu"),f=a("gZ"),c=a("dV"),e=a("hs"),m=a("gw"),q=a("nC"),p=a("iB"),n=d.extend(q,function(){this.qe("Button");q.call(this);this.Xh=this.Sa=null;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",l.Uz);this.set("overflow",e.Ida);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor",k.Se)});n.prototype.lb=
function(){q.prototype.lb.call(this);this.h("label");this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowBlurRadius");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowOpacity");this.h("textShadowVerticalLength");this.h("layout","horizontal");this.h("iconWidth");this.h("iconHeight");this.h("iconBeforeLabel");this.h("gap",5);this.h("mode",c.we);this.h("buttonGroup");this.h("paddingLeft",
5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("pressed");this.u("rollOverOpacity",m.V,"opacity");this.u("rollOverIconWidth",m.V,"iconWidth");this.u("rollOverIconHeight",m.V,"iconHeight");this.u("rollOverFontSize",m.V,"fontSize");this.u("rollOverFontColor",m.V,"fontColor");this.u("rollOverFontWeight",m.V,"fontWeight");this.u("rollOverFontStyle",m.V,"fontStyle");this.u("rollOverTextDecoration",m.V,"textDecoration");this.u("rollOverTextShadowBlurRadius",m.V,"textShadowBlurRadius");
this.u("rollOverTextShadowColor",m.V,"textShadowColor");this.u("rollOverTextShadowHorizontalLength",m.V,"textShadowHorizontalLength");this.u("rollOverTextShadowOpacity",m.V,"textShadowOpacity");this.u("rollOverTextShadowVerticalLength",m.V,"textShadowVerticalLength");this.u("rollOverBorderSize",m.V,"borderSize");this.u("rollOverBorderLeftSize",m.V,"borderLeftSize");this.u("rollOverBorderTopSize",m.V,"borderTopSize");this.u("rollOverBorderRightSize",m.V,"borderRightSize");this.u("rollOverBorderBottomSize",
m.V,"borderBottomSize");this.u("rollOverBorderColor",m.V,"borderColor");this.u("rollOverBorderLeftColor",m.V,"borderLeftColor");this.u("rollOverBorderTopColor",m.V,"borderTopColor");this.u("rollOverBorderRightColor",m.V,"borderRightColor");this.u("rollOverBorderBottomColor",m.V,"borderBottomColor");this.u("rollOverShadow",m.V,"shadow");this.u("rollOverShadowHorizontalLength",m.V,"shadowHorizontalLength");this.u("rollOverShadowVerticalLength",m.V,"shadowVerticalLength");this.u("rollOverShadowBlurRadius",
m.V,"shadowBlurRadius");this.u("rollOverShadowSpread",m.V,"shadowSpread");this.u("rollOverShadowOpacity",m.V,"shadowOpacity");this.u("rollOverShadowColor",m.V,"shadowColor");this.u("rollOverBackgroundOpacity",m.V,"backgroundOpacity");this.u("rollOverBackgroundColor",m.V,"backgroundColor");this.u("rollOverBackgroundColorRatios",m.V,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",m.V,"backgroundColorDirection");this.u("pressedLabel",m.mb,"label");this.u("pressedOpacity",m.mb,"opacity");
this.u("pressedIconWidth",m.mb,"iconWidth");this.u("pressedIconHeight",m.mb,"iconHeight");this.u("pressedFontSize",m.mb,"fontSize");this.u("pressedFontColor",m.mb,"fontColor");this.u("pressedFontWeight",m.mb,"fontWeight");this.u("pressedFontStyle",m.mb,"fontStyle");this.u("pressedTextDecoration",m.mb,"textDecoration");this.u("pressedTextShadowBlurRadius",m.mb,"textShadowBlurRadius");this.u("pressedTextShadowColor",m.mb,"textShadowColor");this.u("pressedTextShadowHorizontalLength",m.mb,"textShadowHorizontalLength");
this.u("pressedTextShadowOpacity",m.mb,"textShadowOpacity");this.u("pressedTextShadowVerticalLength",m.mb,"textShadowVerticalLength");this.u("pressedBorderSize",m.mb,"borderSize");this.u("pressedBorderLeftSize",m.mb,"borderLeftSize");this.u("pressedBorderTopSize",m.mb,"borderTopSize");this.u("pressedBorderRightSize",m.mb,"borderRightSize");this.u("pressedBorderBottomSize",m.mb,"borderBottomSize");this.u("pressedBorderColor",m.mb,"borderColor");this.u("pressedBorderLeftColor",m.mb,"borderLeftColor");
this.u("pressedBorderTopColor",m.mb,"borderTopColor");this.u("pressedBorderRightColor",m.mb,"borderRightColor");this.u("pressedBorderBottomColor",m.mb,"borderBottomColor");this.u("pressedShadow",m.mb,"shadow");this.u("pressedShadowHorizontalLength",m.mb,"shadowHorizontalLength");this.u("pressedShadowVerticalLength",m.mb,"shadowVerticalLength");this.u("pressedShadowBlurRadius",m.mb,"shadowBlurRadius");this.u("pressedShadowSpread",m.mb,"shadowSpread");this.u("pressedShadowOpacity",m.mb,"shadowOpacity");
this.u("pressedShadowColor",m.mb,"shadowColor");this.u("pressedBackgroundOpacity",m.mb,"backgroundOpacity");this.u("pressedBackgroundColor",m.mb,"backgroundColor");this.u("pressedBackgroundColorRatios",m.mb,"backgroundColorRatios");this.u("pressedBackgroundColorDirection",m.mb,"backgroundColorDirection");this.u("pressedLabel",m.Xb,"label");this.u("pressedRollOverOpacity",m.Xb,"opacity");this.u("pressedRollOverIconWidth",m.Xb,"iconWidth");this.u("pressedRollOverIconHeight",m.Xb,"iconHeight");this.u("pressedRollOverFontSize",
m.Xb,"fontSize");this.u("pressedRollOverFontColor",m.Xb,"fontColor");this.u("pressedRollOverFontWeight",m.Xb,"fontWeight");this.u("pressedRollOverFontStyle",m.Xb,"fontStyle");this.u("pressedRollOverTextDecoration",m.Xb,"textDecoration");this.u("pressedRollOverTextShadowBlurRadius",m.Xb,"textShadowBlurRadius");this.u("pressedRollOverTextShadowColor",m.Xb,"textShadowColor");this.u("pressedRollOverTextShadowHorizontalLength",m.Xb,"textShadowHorizontalLength");this.u("pressedRollOverTextShadowOpacity",
m.Xb,"textShadowOpacity");this.u("pressedRollOverTextShadowVerticalLength",m.Xb,"textShadowVerticalLength");this.u("pressedRollOverBorderSize",m.Xb,"borderSize");this.u("pressedRollOverBorderLeftSize",m.Xb,"borderLeftSize");this.u("pressedRollOverBorderTopSize",m.Xb,"borderTopSize");this.u("pressedRollOverBorderRightSize",m.Xb,"borderRightSize");this.u("pressedRollOverBorderBottomSize",m.Xb,"borderBottomSize");this.u("pressedRollOverBorderColor",m.Xb,"borderColor");this.u("pressedRollOverBorderLeftColor",
m.Xb,"borderLeftColor");this.u("pressedRollOverBorderTopColor",m.Xb,"borderTopColor");this.u("pressedRollOverBorderRightColor",m.Xb,"borderRightColor");this.u("pressedRollOverBorderBottomColor",m.Xb,"borderBottomColor");this.u("pressedRollOverShadow",m.Xb,"shadow");this.u("pressedRollOverShadowHorizontalLength",m.Xb,"shadowHorizontalLength");this.u("pressedRollOverShadowVerticalLength",m.Xb,"shadowVerticalLength");this.u("pressedRollOverShadowBlurRadius",m.Xb,"shadowBlurRadius");this.u("pressedRollOverShadowSpread",
m.Xb,"shadowSpread");this.u("pressedRollOverShadowOpacity",m.Xb,"shadowOpacity");this.u("pressedRollOverShadowColor",m.Xb,"shadowColor");this.u("pressedRollOverBackgroundOpacity",m.Xb,"backgroundOpacity");this.u("pressedRollOverBackgroundColor",m.Xb,"backgroundColor");this.u("pressedRollOverBackgroundColorRatios",m.Xb,"backgroundColorRatios");this.u("pressedRollOverBackgroundColorDirection",m.Xb,"backgroundColorDirection")};n.prototype.c2=function(){};n.prototype.xb=function(){q.prototype.xb.call(this);
this.Xh||(this.Xh=this.c2(),this.Ua(this.Xh));this.Sa||(this.Sa=new p,this.Ua(this.Sa))};n.prototype.lJ=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new g(b.Xl))):(this.set("pressed",!0),this.trigger(new g(b.Jj)))};n.prototype.Ta=function(){var r=!1;this.H("mode")&&(this.B("mode")==c.we?(this.unbind(b.oa,this.lJ,this,!0),this.set("autoPressed",!0)):(this.bind(b.oa,this.lJ,this,!0),this.set("autoPressed",!1)),this.P("mode"),r=!0);if(r||this.H("pressed"))this.B("mode")==c.Lj?
this.FG(1==this.B("pressed")):r&&this.FG(!1);this.H("label")&&(r=this.B("label"),this.Sa.set("text",r),this.Sa.set("visible",r?!0:!1),this.P("label"));this.ic(n.ofa,n.pfa,[this.Sa],!0,!0);this.H("iconBeforeLabel")&&(0==this.B("iconBeforeLabel")?this.Xm(this.Sa,0):this.Xm(this.Xh,0),this.P("iconBeforeLabel"));this.H("iconWidth")&&(this.Xh.set("width",this.B("iconWidth")),this.P("iconWidth"));this.H("iconHeight")&&(this.Xh.set("height",this.B("iconHeight")),this.P("iconHeight"));this.H("buttonGroup")&&
((r=this.B("buttonGroup"))?f.register(this,r):f.unregister(this),this.P("buttonGroup"));this.ic(["horizontalAlign","verticalAlign"],{},[this.Xh],!0,!1);q.prototype.Ta.call(this)};n.ofa="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");n.pfa={};h(n.ofa).each(function(r){n.pfa[r]=r});return n});
define("jl",["require","nc","lu"],function(a){var d=a("nc"),h=a("lu");return d.define("BaseButton",h,function(){h.call(this)})});define("iU",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("BaseObject",d,function(){d.call(this)})});
define("ej","require kV lw og cu bf nJ bD".split(" "),function(a){var d=a("kV"),h=a("lw");a("og");var l=a("cu"),k=a("bf"),b=a("nJ"),g=a("bD"),f={},c=d.extend(h,function(){h.call(this);this.ob=void 0;this.bo=[];this.A="stopped";this.set("easing","linear");this.set("duration",1E3);this.set("loop",!1);this.set("animationDirection","normal")});c.prototype.play=function(e){e||=f;this.XH(e)||("stopped"==this.A||0>this.bo.indexOf(e)?(this.A="playing",this.bo.push(e),this.ze=0,this.ob=Math.max(this.get("duration",
1E3),1),this.Xf=new b(this.get("easing","linear"),[new g("pos",0,1)],this.ob),this.Xf.setTime(this.ze),this.JG(),this.Xu(),this.kM()):this.A="playing")};c.prototype.reverse=function(e){e||=f;this.QTa(e)||("stopped"==this.A||0>this.bo.indexOf(e)?(this.A="playingReverse",this.bo.push(e),this.ze=this.ob=Math.max(this.get("duration",1E3),0),this.Xf=new b(this.get("easing","linear"),[new g("pos",0,1)],this.ob),this.Xf.setTime(this.ze),this.JG(),this.Xu(),this.kM()):this.A="playingReverse")};c.prototype.stop=
function(){"stopped"!=this.A&&(this.A="stopped",0!==this.ze&&(this.ze=0,this.Xf.setTime(this.ze),this.Xu(),this.kM()))};c.prototype.end=function(){"stopped"!=this.A&&(this.ze=this.ob,this.Xf.setTime(this.ze),this.Xu(),this.kM())};c.prototype.cancel=function(){this.A="stopped";this.ze=0;this.bo=[]};c.prototype.XH=function(e){return"playing"==this.A&&0<=this.bo.indexOf(e)};c.prototype.QTa=function(e){return"playingReverse"==this.A&&0<=this.bo.indexOf(e)};c.prototype.lj=function(e){"stopped"!=this.A&&
(this.ze="playing"==this.A?Math.min(this.ob,this.ze+e):Math.max(0,this.ze-e),this.Xf.setTime(this.ze),this.Xu(),this.kM())};c.prototype.Ek=function(){return this.Xf&&this.Xf.$a("pos")||0};c.prototype.gx=function(e){if(this.bo)for(var m=0;m<this.bo.length;m++)e.call(this,this.bo[m],m)};c.prototype.JG=function(){this.trigger(new l("playingReverse"==this.A?c.vza:c.xza))};c.prototype.Xu=function(){this.trigger(new l(c.XZ))};c.prototype.HG=function(){this.trigger(new l(c.Ej))};c.prototype.IG=function(){this.trigger(new l(c.Qs))};
c.prototype.kM=function(){"playingReverse"==this.A&&0>=this.ze?(this.ze=0,this.IG(),this.bo=[],"stopped"!=this.A&&(this.A="stopped",this.get("loop")&&this.play())):"playing"==this.A&&this.ze>=this.ob?(this.ze=this.ob,this.HG(),this.bo=[],"stopped"!=this.A&&(this.A="stopped","alternate"==this.get("animationDirection")?this.reverse():this.get("loop")&&this.play())):"stopped"!=this.A&&k.requestFrame(this.lj,this)};c.xza="start";c.XZ="frame";c.Ej="end";c.vza="reverseStart";c.Qs="reverseEnd";return c});
define("gt",["require","og","ej"],function(a){var d=a("og"),h=a("ej");return{sFa:function(){this.Sj=this.xe=null;this.bind(d.hd,this.lia,this,!0);this.bind(d.od,this.gia,this,!0);this.bind(d.$c,this.iia,this,!0);this.bind(d.ac,this.hia,this,!0);this.bind(d.G("effect"),this.eia,this,!0);this.bind(d.G("rollOverEffect"),this.jia,this,!0);this.QA=!1},CYa:function(){this.unbind(d.hd,this.lia,this,!0);this.unbind(d.od,this.gia,this,!0);this.unbind(d.$c,this.iia,this,!0);this.unbind(d.ac,this.hia,this,!0);
this.unbind(d.G("effect"),this.eia,this,!0);this.unbind(d.G("rollOverEffect"),this.jia,this,!0)},lia:function(){this.xe&&this.xe.play()},gia:function(){this.xe&&this.xe.stop();this.Sj&&this.Sj.stop();this.QA=!1},iia:function(){this.QA||(this.QA=!0,this.Sj&&(this.xe&&this.xe.get("loop")&&0<this.xe.Ek()?this.xe.reverse():this.xe&&0!=this.xe.Ek()&&1!=this.xe.Ek()||(this.xe&&this.xe.stop(),this.Sj.play())))},hia:function(){this.QA&&(this.QA=!1,this.Sj&&(0<this.Sj.Ek()?this.Sj.reverse():this.xe&&this.xe.get("loop")&&
this.xe.play()))},fia:function(){this.c3()},c3:function(){this.QA&&this.Sj&&(this.xe.stop(),this.Sj.play())},kia:function(){this.QA||(this.Sj.stop(),this.xe&&this.xe.get("loop")&&this.xe.play())},eia:function(){this.xe&&this.xe.unbind(h.Ej,this.fia,this,!0);this.xe&&this.xe.unbind(h.Qs,this.c3,this,!0);(this.xe=this.get("effect"))&&this.xe.bind(h.Ej,this.fia,this,!0);this.xe&&this.xe.bind(h.Qs,this.c3,this,!0)},jia:function(){this.Sj&&this.Sj.unbind(h.Qs,this.kia,this,!0);(this.Sj=this.get("rollOverEffect"))&&
this.Sj.bind(h.Qs,this.kia,this,!0)}}});
define("ij",["require","kV","lw","nc","gt"],function(a){var d=a("kV"),h=a("lw"),l=a("nc");a=a("gt");l=l.define("Model3DObject",h,function(){h.call(this);this.sFa();this.Ih=this.OF=this.w4=this.v4=!1});d.gX(l,[a]);l.prototype.set=function(k,b){h.prototype.set.call(this,k,b);"hideBasedOnDistance"!=k&&"hideWhileUserInteracting"!=k&&"hideWhileMoving"!=k||this.DN()};l.prototype.pca=function(k){this.w4!==k&&(this.w4=k,this.DN())};l.prototype.DP=function(k){this.Ih!==k&&(this.Ih=k,this.DN())};l.prototype.Ov=
function(k){this.OF!==k&&(this.OF=k,this.DN())};l.prototype.oca=function(k){this.v4!==k&&(this.v4=k,this.DN())};l.prototype.DN=function(){this.set("hidden",this.w4||this.v4||this.OF&&this.get("hideWhileMoving")||this.Ih&&this.get("hideWhileUserInteracting"))};return l});define("fR",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("BoxModel3DObject",h,function(){h.call(this)})});
define("lK",["require"],function(){return{NONE:"none",hw:"fill",jh:"fit_inside",Gq:"fit_outside",Go:"fit_to_width",Hj:"fit_to_height",eza:"custom"}});
define("me","require dY jquery.mod kV og hE u my lK e gm kd".split(" "),function(a){function d(r){this.p1=r;this.jd=[];this.Qk=null}var h=a("dY"),l=a("jquery.mod"),k=a("kV"),b=a("og"),g=a("hE"),f=a("u"),c=a("my"),e=a("lK"),m=a("e"),q=a("gm"),p=a("kd");d.wm=document.createElement("a");d.prototype.JDa=function(r){d.wm.href=r;return d.wm.href};d.prototype.load=function(r,t,u){r=this.JDa(r);this.Qk&&!this.Qk.Gl()&&(this.Qk.cancel(),this.jd=h(this.jd).without(this.Qk));(this.Qk=h(this.jd).find(function(x){return x.li()==
r}))?this.jd=h(this.jd).without(this.Qk):(this.Qk=new p(g.Cea),this.Qk.load(r));for(this.jd.splice(0,0,this.Qk);this.jd.length>this.p1;)this.jd.pop().cancel();if(t){var v=this.Qk,w=function(){t.call(u||window,v.sf(),v.nd(),v.$d())};this.Qk.Gl()?w():this.Qk.bind(b.aa,w)}};d.prototype.clear=function(){this.jd.forEach(function(r){r.cancel()});this.Qk=null};a=k.extend(m,function(r){m.call(this);this.qe("Image");this.p1=r||1;this.u$=!1;this.Zk=c.Ma;this.vS=!1;this.Bl=c.sc;this.QW=!1;this.pf=e.NONE;this.e8=
!1;this.$F=this.aG=0;this.I4=this.H6=!1;this.Rb=this.Fb=0;this.Ft=!1;this.Ix=this.$k=this.Ub=this.ES=this.DS=null;this.bind(b.fc,this.eIa,this);this.bind(b.hd,this.fIa,this)});a.prototype.V3=function(){this.Ix=new d(this.p1);this.V3=function(){return this.Ix};return this.Ix};a.prototype.lb=function(){m.prototype.lb.call(this);this.h("horizontalAlign",c.Ma);this.h("verticalAlign",c.sc);this.h("scaleMode",e.NONE)};a.prototype.set=function(r,t){"url"==r&&this.get("url")!=t&&(this.u$=!0,this.ee());m.prototype.set.call(this,
r,t)};a.prototype.jI=function(r){this.Zk!=r&&(this.Zk=r,this.vS=!0,this.ee())};a.prototype.pI=function(r){this.Bl!=r&&(this.Bl=r,this.QW=!0,this.ee())};a.prototype.nz=function(r){this.pf!=r&&(this.pf=r,this.e8=!0,this.ee(),this.Tb())};a.prototype.eIa=function(){this.Ft=!0;this.ee()};a.prototype.fIa=function(){this.Fra()};var n={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"};f.browser()==f.Ik&&f.kb()&&(n.transform="translate3d(0,0,0)");a.prototype.ega=function(r,t,u){this.aG=t?t:0;this.$F=u?u:0;this.Ub&&(this.Ub.remove(),this.Ub=null);if(this.$k=r)this.Ub=l(this.$k),q.css(this.$k,n),this.DS.append(this.Ub);this.H6=this.I4=!0;this.ee();this.Tb();this.Ub&&this.trigger(b.aa)};a.prototype.xb=function(){m.prototype.xb.call(this);this.DS||(this.ES=document.createElement("div"),this.DS=l(this.ES),
q.css(this.ES,{position:"static",overflow:"hidden",cursor:"inherit"}),this.yb().append(this.DS))};a.prototype.ru=function(){this.el=this.aG+this.El()+this.qs();this.dl=this.$F+this.rs()+this.JH();this.Lka=0==this.aG&&0==this.$F?0:this.aG/this.$F;this.XK=this.YK=0};a.prototype.Ta=function(){this.H("scaleMode")&&(this.nz(this.B("scaleMode")),this.P("scaleMode"));this.H("horizontalAlign")&&(this.jI(this.B("horizontalAlign")),this.P("horizontalAlign"));this.H("verticalAlign")&&(this.pI(this.B("verticalAlign")),
this.P("verticalAlign"));this.Wfa()&&(this.Ft=!0);m.prototype.Ta.call(this);this.Fra();if(this.dTa()){var r=!1;if(this.e8||this.H6||this.Ft){var t=this.bf(),u=this.af(),v=this.aG,w=this.$F,x;if(0==v||0==w)var y=x=0;else switch(this.pf){case e.NONE:x=v;y=w;break;case e.hw:x=t;y=u;break;case e.jh:v*u>w*t?(x=t,y=w*t/v):(x=v*u/w,y=u);break;case e.Gq:v*u>w*t?(x=v*u/w,y=u):(x=t,y=w*t/v);break;case e.Go:x=t;y=w*t/v;break;case e.Hj:x=v*u/w,y=u}if(this.Fb!=x||this.Rb!=y)this.Fb=x,this.Rb=y,r=!0;this.H6=this.e8=
!1}if(r||this.Ft||this.I4)this.QW=this.vS=!0,this.$k&&q.css(this.$k,{width:this.Fb+"px",height:this.Rb+"px",visibility:"inherit"}),q.css(this.ES,{width:this.bf()+"px",height:this.af()+"px","border-top-left-radius":this.rS(this.oGa(),this.Ria(),this.Pia())+"px","border-top-right-radius":this.rS(this.pGa(),this.Ria(),this.Qia())+"px","border-bottom-left-radius":this.rS(this.mGa(),this.Oia(),this.Pia())+"px","border-bottom-right-radius":this.rS(this.nGa(),this.Oia(),this.Qia())+"px"}),this.Tb(),this.I4=
this.Ft=!1;if(this.vS&&this.$k){switch(this.Zk){case c.Ma:q.css(this.$k,{"margin-left":0,"margin-right":this.bf()-this.Fb+"px"});break;case c.eb:q.css(this.$k,{"margin-left":this.bf()-this.Fb+"px","margin-right":0});break;case c.ue:q.css(this.$k,{"margin-left":Math.floor(.5*(this.bf()-this.Fb))+"px","margin-right":Math.ceil(.5*(this.bf()-this.Fb))+"px"})}this.vS=!1}if(this.QW&&this.$k){switch(this.Bl){case c.sc:q.css(this.$k,{"margin-top":0,"margin-bottom":this.af()-this.Rb+"px"});break;case c.mc:q.css(this.$k,
{"margin-top":this.af()-this.Rb+"px","margin-bottom":0});break;case c.ae:q.css(this.$k,{"margin-top":Math.floor(.5*(this.af()-this.Rb))+"px","margin-bottom":Math.ceil(.5*(this.af()-this.Rb))+"px"})}this.QW=!1}}};a.prototype.Fra=function(){if(this.u$){var r=this.get("url");r?this.V3().load(r,this.ega,this):(this.V3().clear(),this.ega(null,0,0));this.u$=!1}};a.prototype.rS=function(r,t,u){if(!r)return 0;var v=0;t&&(v=Math.max(v,t));u&&(v=Math.max(v,u));return Math.max(0,r-v)};return a});
define("fC","require kV lK gw lu me".split(" "),function(a){var d=a("kV"),h=a("lK"),l=a("gw"),k=a("lu"),b=a("me");a=d.extend(k,function(){k.call(this)});a.prototype.lb=function(){k.prototype.lb.call(this);this.h("iconURL");this.u("rollOverIconURL",l.V,"iconURL");this.u("pressedIconURL",l.mb,"iconURL");this.u("pressedRollOverIconURL",l.Xb,"iconURL")};a.prototype.c2=function(){var g=new b(3);g.set("scaleMode",h.jh);return g};a.prototype.Ta=function(){if(this.H("iconURL")){var g=this.B("iconURL");this.Xh.set("url",
g);this.Xh.set("visible",g?!0:!1);this.P("iconURL")}k.prototype.Ta.call(this)};return a});define("fB",["require","nc","fC"],function(a){var d=a("nc"),h=a("fC");return d.define("Button",h,function(){h.call(this)})});define("hJ",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("CapPanoramaOverlay",d,function(){d.call(this)})});define("hy",["require","nc","hJ"],function(a){var d=a("nc"),h=a("hJ");return d.define("CeilingCapPanoramaOverlay",h,function(){h.call(this)})});
define("ct","require dY jquery.mod kV og cu e".split(" "),function(a){a("dY");var d=a("jquery.mod"),h=a("kV"),l=a("og"),k=a("cu"),b=a("e");a=h.extend(b,function(){b.call(this);this.qe("Canvas");this.Y2=!0;this.O=null;this.bind(l.fc,this.iDa,this)});a.prototype.iDa=function(){this.aY()};a.prototype.aY=function(){this.Y2=!0;this.Fk()};a.prototype.xb=function(){b.prototype.xb.call(this);this.O||(this.O=d("<canvas/>"),this.O.css({position:"absolute",left:0,top:0,cursor:"inherit"}),this.yb().append(this.O))};
a.prototype.Ta=function(){this.Wfa()&&this.aY();b.prototype.Ta.call(this)};a.prototype.Rg=function(){if(this.Y2){this.Y2=!1;var g=this.O.get(0);g.width=this.bf();g.height=this.af();this.DXa()}b.prototype.Rg.call(this)};a.prototype.rSa=function(){return this.O.get(0).width};a.prototype.qSa=function(){return this.O.get(0).height};a.prototype.pSa=function(){return this.O.get(0).getContext("2d")};a.prototype.DXa=function(){this.trigger(new k(l.sa))};return a});
define("jG","require kV og gw lu ct".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("gw"),k=a("lu"),b=a("ct");a=d.extend(k,function(){k.call(this)});a.prototype.Ql=function(){k.prototype.Ql.call(this)};a.prototype.lb=function(){k.prototype.lb.call(this);this.h("iconColor");this.u("rollOverIconColor",l.V,"iconColor");this.u("pressedIconColor",l.mb,"iconColor");this.u("pressedRollOverIconColor",l.Xb,"iconColor")};a.prototype.c2=function(){var g=new b;g.bind(h.sa,this.Hya,this,!0);return g};a.prototype.Ta=
function(){this.H("iconColor")&&(this.Xh.aY(),this.P("iconColor"));k.prototype.Ta.call(this)};a.prototype.LGa=function(){return this.B("iconColor")};a.prototype.MGa=function(){return this.Xh.pSa()};a.prototype.OGa=function(){return this.Xh.rSa()};a.prototype.NGa=function(){return this.Xh.qSa()};a.prototype.Hya=function(){};return a});
define("fL",["require","kV","jG","my","gw"],function(a){var d=a("kV"),h=a("jG"),l=a("my"),k=a("gw");a=d.extend(h,function(){h.call(this);this.fa({horizontalAlign:l.ue,verticalAlign:l.ae})});a.prototype.lb=function(){h.prototype.lb.call(this);this.h("iconLineWidth");this.u("rollOverIconLineWidth",k.V,"iconLineWidth");this.u("pressedIconLineWidth",k.mb,"iconLineWidth");this.u("pressedRollOverIconLineWidth",k.Xb,"iconLineWidth")};a.prototype.VGa=function(){return this.B("iconLineWidth")};a.prototype.Ta=
function(){this.H("iconLineWidth")&&(this.Xh.aY(),this.P("iconLineWidth"));h.prototype.Ta.call(this)};a.prototype.Hya=function(){var b=this.MGa(),g=this.LGa(),f=this.OGa(),c=this.NGa(),e=this.VGa();b.clearRect(0,0,f,c);b.lineWidth=e||1;b.strokeStyle=g||"#000000";b.beginPath();b.moveTo(0,0);b.lineTo(f,c);b.moveTo(0,c);b.lineTo(f,0);b.closePath();b.stroke()};return a});define("iR",["require","nc","fL"],function(a){var d=a("nc"),h=a("fL");return d.define("CloseButton",h,function(){h.call(this)})});
define("jI",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("CookiesPolicy",d,function(){d.call(this)})});define("lv",["require","kY","nc","nC"],function(a){var d=a("kY"),h=a("nc"),l=a("nC");a=h.define("Container",l,function(){l.call(this)});a.prototype.scrollTo=function(k,b){l.prototype.scrollTo.call(this,k,b)};a.prototype.scrollIntoView=function(k){d.hz(function(){l.prototype.scrollIntoView.call(this,k)}.bind(this))};return a});
define("ld",["require","lw","nc"],function(a){var d=a("lw"),h=a("nc");a=h.define("PanoramaFrame",d,function(){d.call(this);this.ha=null});a.prototype.get=function(l,k){switch(l){case "overlays":return this.X3();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.ha)return this.ha.get(l,k)}return d.prototype.get.call(this,l,k)};a.prototype.X3=function(){var l=d.prototype.get.call(this,"overlays");l||=[];return this.K8(l)};a.prototype.K8=function(l){if(void 0===
this.KG||this.eT!=l){var k=function(g){return h.Ea("PopupPanoramaOverlay",g)},b=function(g){return h.Ea("LensFlarePanoramaOverlay",g)};this.eT=l;this.KG=[].concat(l.filter(function(g){return!(k(g)||b(g))}),l.filter(b),l.filter(k))}return this.KG};a.prototype.eRa=function(l){this.ha=l};a.prototype.Yy=function(){return this.ha};a.prototype.Hl=function(){return!1};return a});define("nP",["require","nc","ld"],function(a){var d=a("nc"),h=a("ld");return d.define("CubicPanoramaFrame",h,function(){h.call(this)})});
define("hW",["require"],function(){return{"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 <a> \u041f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438\u0442\u0435 </a>.",
"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?"},"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 <a>ev\u00e4stek\u00e4yt\u00e4nn\u00f6st\u00e4</a>.","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?"},"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 <a> pravidl\u00e1ch pou\u017e\u00edvania s\u00faborov cookie </a>.","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?"},"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 <a> \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</a>.",
"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?"},"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 <a>Cookie Policy</a>.",
"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?"},"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 <a>Cookie Policy</a>.",
"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?"},"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 <a>Kebijakan Cookie</a>.",
"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?"},"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 <a>Pol\u00edtica de cookies</a>.","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?"},"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 <a>Cookie Policy</a>.","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?"},"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<a> Cookie\u653f\u7b56</a>\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?"},"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 <a>retningslinjer for informasjonskapsler</a>.","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?"},"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 <a>Pol\u00edtica de cookies</a>.",
"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?"},"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 <a>Pravila o kola\u010di\u0107ima</a>.",
"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?"},"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\u3001<a>Cookie\u30dd\u30ea\u30b7\u30fc</a>\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"},"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\u95ee<a>Cookie\u653f\u7b56</a>\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"},"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 <a>Cookiebeleid</a> 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?"},"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 <a>s\u00fctikre vonatkoz\u00f3 ir\u00e1nyelvekbe</a>.","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"},"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 <a> \u0633\u064a\u0627\u0633\u0629 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 </a>.",
"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"},"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 <a>Pol\u00edtica de cookies</a>.","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?"},"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. <a>\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</a>.",
"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?"},"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 <a>retningslinjer for informasjonskapsler</a>.","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?"},"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 <a>Pol\u00edtica de Cookies</a>.","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?"},"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 <a> \u03a0\u03bf\u03bb\u03b9\u03c4\u03b9\u03ba\u03ae cookie </a>.",
"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;"},
"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 <a> Cookiepolitik </a>.","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?"},"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 <a>Zasady dotycz\u0105ce plik\u00f3w cookie</a>.",
"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?"},"fr-fr":{mute:"Couper le son","cardboard-v1":"Si vous n'\u00eates pas s\u00fbr de la version de votre Cardboard, s\u00e9lectionnez le contr\u00f4le de hotspot par d\u00e9faut. Ensuite, vous n'aurez qu'\u00e0 fixer un hotspot du regard et attendre que l'action se d\u00e9clenche.",
"download-tour":"T\u00e9l\u00e9charger la visite pour jouer hors ligne","change-to-drag-and-release":"Changer le mode de contr\u00f4le en glisser-d\u00e9poser",accept:"Accepter",cancel:"Annuler","storage-not-provided-bookmark":"Stockage persistant refus\u00e9. Essayez de mettre cette page Web en signet et de la recharger.","dont-display-again":"Ne plus afficher ces informations","web-server-required":"Cette visite virtuelle ne peut pas \u00eatre lue \u00e0 partir d'un lecteur local. Veuillez la t\u00e9l\u00e9charger sur Internet et r\u00e9essayer.\nSi vous pr\u00e9f\u00e9rez, faites glisser le fichier htm (ou l'int\u00e9gralit\u00e9 du dossier de la visite) sur l'ic\u00f4ne de l'application TourViewer.",
download:"T\u00e9l\u00e9charger","change-to-click-and-move":"Changer le mode de contr\u00f4le pour cliquer et d\u00e9placer",yes:"Oui","delete-downloaded":"Supprimer","use-safari-for-vr":"Nous recommandons Safari pour visionner cette visite en mode VR","exit-fullscreen":"Quitter le mode plein \u00e9cran",no:"Non","download-failed":"\u00c9chec du t\u00e9l\u00e9chargement","giroscope-disabled-http":"Vous acc\u00e9dez \u00e0 cette page Web via http, donc l'acc\u00e8s au mouvement et \u00e0 l'orientation de votre appareil et le mode VR sont d\u00e9sactiv\u00e9s, veuillez y acc\u00e9der via https pour les activer.",
"cookies-notice":"Cette page Web utilise des cookies pour collecter des statistiques d'utilisation. Pour plus d'informations, veuillez consulter la <a>Politique en mati\u00e8re de cookies</a>.","use-cardboard":"Utiliser le Cardboard","launch-default-browser":"Lancer dans le navigateur par d\u00e9faut","rotate-device":"Veuillez faire pivoter votre appareil","exit-vr":"Quitter la r\u00e9alit\u00e9 virtuelle","storage-not-provided-launch-from-desktop":"Veuillez relancer la visite \u00e0 partir de l'ic\u00f4ne du bureau pour t\u00e9l\u00e9charger.",
"disable-measure":"Arr\u00eatez de mesurer",downloading:"T\u00e9l\u00e9chargement","cardboard-v2":"Si vous disposez d'un casque Cardboard v2, qui est \u00e9quip\u00e9 d'un bouton, vous pouvez fixer un hotspot du regard et appuyer sur le bouton pour d\u00e9clencher son action.","enable-video-audio-prompt":"Activer la vid\u00e9o et l'audio?",reject:"Rejeter",downloaded:"Cette visite est t\u00e9l\u00e9charg\u00e9e pour jouer hors ligne.","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":"Si vous disposez d'un casque Gear VR compatible avec cet appareil et que vous avez install\u00e9 Samsung Internet pour VR, vous pouvez \u00e9galement l'utiliser pour visualiser ce contenu en r\u00e9alit\u00e9 virtuelle. Il vous suffit de placer maintenant le t\u00e9l\u00e9phone mobile sur le casque.","enable-video-prompt":"Activer la vid\u00e9o?","giroscope-disabled-safari-request-permission":["L'acc\u00e8s au mouvement et \u00e0 l'orientation de votre appareil et le mode VR sont d\u00e9sactiv\u00e9s pour ce site.",
"Pour voir correctement cette page Web, veuillez cliquer sur Continuer et accepter la demande d'autorisation si vous y \u00eates invit\u00e9."],"storage-not-provided-launch-from-homescreen":"Veuillez relancer la visite \u00e0 partir de l'ic\u00f4ne de l'\u00e9cran d'accueil pour t\u00e9l\u00e9charger.","enter-fullscreen":"Passer en mode plein \u00e9cran","use-cardboard-v2":"Utiliser le Cardboard v2",unmute:"R\u00e9tablir le son","enter-vr":"Entrez le contenu VR","enable-measure":"Commencer \u00e0 mesurer",
"use-cardboard-info":"Vous pouvez utiliser n'importe quel casque Google Cardboard compatible pour visualiser ce contenu en r\u00e9alit\u00e9 virtuelle.","refresh-downloaded":"Rafra\u00eechir","use-default-cardboard":"Utiliser par d\u00e9faut","enable-audio-prompt":"Activer le son?"},"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 <a>Cookie-Richtlinie</a>.","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?"},"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 <a>\u00c7erez Politikas\u0131n\u0131</a> 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?"}}});
define("oe",["require","kV","hW","lQ"],function(a){function d(e){return l[c][e]||l.en[e]||e}var h=a("kV"),l=a("hW"),k=a("lQ"),b;for(b in l)l[b.substr(0,2)]=l[b];l.en["giroscope-disabled-safari-toggle-on"]='<div>Your device\'s motion and orientation access and VR mode are disabled for this site.</div>\n<div>To properly see this webpage, please enable it:</div>\n<ul style="display:inline-block; text-align:left;">\n<li>Access you device\'s settings: "Settings > Safari > Privacy & Security" and toggle on: "Motion & Orientation Access".</li>\n<li>Refresh the browser.</li>\n</ul>';l["zh-hk"]=
l["zh-mo"]=l["zh-tw"];l.no=l.nn;var g=function(){var e=window.navigator,m=["language","browserLanguage","systemLanguage","userLanguage"],q,p,n=[];(q=k.getQueryParameter("language"))&&n.push(q.toLowerCase());var r=e.languages;if(Array.isArray(r))for(q=0;q<r.length;q++)(p=r[q])&&p.length&&(p=p.toLowerCase(),-1==n.indexOf(p)&&n.push(p));for(q=0;q<m.length;q++)(p=e[m[q]])&&p.length&&(p=p.toLowerCase(),-1==n.indexOf(p)&&n.push(p));return n}(),f=Object.keys(l),c=function(){for(var e=0;e<g.length;e++){var m=
g[e];if(0<=f.indexOf(m))return m;m=m.substr(0,2);if(0<=f.indexOf(m))return m}return"en"}();d.log=function(){h.log("translation lang: "+c);h.log("browser lang: "+g.join(", "))};return d});
define("os",["require"],function(){var a={};a.src=a.eZa="data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=";return a});
define("dR",["require","os","u"],function(a){function d(p){var n=document.createElement("video");n.setAttribute("webkit-playsinline","true");n.setAttribute("playsinline","true");n.src=g.src;var r=n.play();if(r){var t=!1;r.then(function(){t=!0;n.pause();p(!1)})["catch"](function(){t||p(!0)})}else n.pause(),p(!1)}function h(p){var n=!1,r=document.createElement("video");r.setAttribute("webkit-playsinline","true");r.setAttribute("playsinline","true");r.src="";(r=r.play())?r["catch"](function(t){n="NotAllowedError"!==
t.name}).then(function(){p(!n)}):p(!0)}function l(p){q=p;e=!0;k()}function k(){for(;m.length;)m.shift().call(window,q)}function b(){c||(c=!0,f.browser()==f.Tl&&11<=f.nP()?l(!0):f.browser()==f.Rh?d(l):h(function(p){p?d(l):l(!1)}))}var g=a("os"),f=a("u"),c=!1,e=!1,m=[],q;return{test:function(p){e||c||b();m.push(p);e&&k()}}});
define("bC",["require","oe","lB","dR"],function(a){function d(g,f){this.OC=g;this.ko=f;this.Np=this.Np.bind(this);this.Op=!1}function h(){this.Np=this.Np.bind(this);this.v$=this.v$.bind(this);this.A="not tested";this.Hfa=[];this.st=[];this.GU=!1;k.wait(this.v$)}var l=a("oe"),k=a("lB"),b=a("dR");h.prototype.wXa=function(){"not tested"==this.A&&(this.A="testing",b.test(function(g){this.A=g?"requires action":"allowed";this.zJa()}.bind(this)))};h.prototype.zJa=function(){"allowed"==this.A?this.Np(!0):
this.GU&&(this.GU=!1,this.st.forEach(function(g){g.request()}))};h.prototype.kda=function(g){"allowed"==this.A?g.call(this,!0):this.Hfa.push(g)};h.prototype.request=function(g){this.Lr(g)};h.prototype.cancel=function(g){this.xA(g)};h.prototype.active=function(){return"allowed"==this.A};h.prototype.uWa=function(){"allowed"==this.A&&(this.A="requires action")};h.prototype.v$=function(){setTimeout(this.gDa.bind(this),300);this.Wq(!0)};h.prototype.gDa=function(){for(;this.st.length;)this.st.pop().cancel()};
h.prototype.Lr=function(g){"testing"==this.A||"not tested"==this.A?(this.C0(g),this.GU=!0):"requires action"==this.A&&this.C0(g).request()};h.prototype.xA=function(g){"testing"==this.A||"not tested"==this.A?this.GU=!1:"requires action"==this.A&&this.C0(g).cancel()};h.prototype.Np=function(g){var f=this.st;this.st=[];f.forEach(function(c){g||c.OC.set("mute",!0);c.cancel()});this.Wq(g)};h.prototype.Wq=function(g){this.A="allowed";this.Hfa.forEach(function(f){f.call(window,g)})};h.prototype.C0=function(g){for(var f=
null,c=0;c<this.st.length&&!f;c++)this.st[c].OC==g&&(f=this.st[c]);f||(f=new d(g,this.Np),this.st.push(f));return f};d.prototype.request=function(){this.Op||(this.Op=!0,"button"==this.OC.get("mediaActivationMode")?this.OC.cH.aVa(this.Np):this.OC.HF.show(l("enable-audio-prompt"),this.Np))};d.prototype.cancel=function(){this.OC.cH.qRa(this.Np);this.OC.HF.hide(this.Np)};d.prototype.Np=function(g){this.ko(!1!==g);this.Op=!1};return new h});
define("fG",["require","og","md","bC","gP"],function(a){var d=a("og"),h=a("md"),l=a("bC"),k=a("gP");if(!h.mda||!1==="AudioContext"in window)return null;var b=new AudioContext;l.kda(function(){"running"!==b.state&&b.resume()});k.bind(d.sa,function(){k.visible&&"interrupted"==b.state&&b.resume()});return b});
define("dX","require fG og u lQ md gP".split(" "),function(a){function d(f){this.di=this.di.bind(this);this.Ar=this.Ar.bind(this);this.We=!1;this.hq=this.jS=1;this.uS=!0;this.kx=this.uE=null;this.R=f;this.R.addEventListener("play",this.di,!0);this.R.addEventListener("playing",this.Ar,!0);this.Fpa();this.EC()}var h=a("fG");a("og");var l=a("u"),k=a("lQ"),b=a("md");a("gP");var g;d.prototype.clear=function(){this.R&&(this.uOa(),this.R.removeEventListener("play",this.di,!0),this.R.removeEventListener("playing",
this.Ar,!0),this.R=null)};d.prototype.Fpa=function(){b.mda&&l.browser()==l.Rh&&h&&!this.uE&&this.ox()&&(g||(g=h.createDelay(),g.delayTime.value=.3,g.connect(h.destination)),this.uE=h.createMediaElementSource(this.R),this.kx=h.createGain(),this.uE.connect(this.kx),this.kx.connect(g))};d.prototype.uOa=function(){this.uE&&(this.uE.disconnect(),this.uE=null);this.kx&&(this.kx.disconnect(),this.kx=null)};d.prototype.GVa=function(f){this.uS!=f&&(this.R.log("AudioController","set hasAudio: "+f),this.uS=
f,this.EC())};d.prototype.tf=function(f){this.We!=f&&(this.R.log("AudioController","set muted: "+f),this.We=f,this.EC())};d.prototype.Sv=function(f){this.hq!=f&&(this.R.log("AudioController","set volume: "+f),this.hq=f,this.EC())};d.prototype.rP=function(f){this.jS!=f&&(this.R.log("AudioController","set gain: "+f),this.jS=Math.max(0,Math.min(1,f)),this.EC())};d.prototype.di=function(){this.EC()};d.prototype.Ar=function(){this.EC()};d.prototype.EC=function(){this.R.log("AudioController","updateVolume paused: "+
this.R.paused+" outputVolume: "+(!this.uS||this.We?0:this.hq*this.jS));if(!this.R.paused){var f=!this.uS||this.We?0:this.hq*this.jS;0<f&&1>f&&this.Fpa();this.kx?(this.kx.gain.value=f,this.R.volume=1):this.R.volume=f;this.R.muted=0==f}};d.prototype.ox=function(){var f=this.R.currentSrc||this.R.children.length&&this.R.children[0].src||"";k.az(f)&&(f=void 0);return f};return d});define("nE",["require"],function(){return{qn:"video",Xya:"audio"}});
define("mJ","require kV og kx hE cu fV u lQ ib gP".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("kx"),k=a("hE"),b=a("cu"),g=a("fV"),f=a("u"),c=a("lQ"),e=a("ib"),m=a("gP"),q=d.extend(g,function(p){g.call(this);this.R=p;this.FB=this.FB.bind(this);this.uu=this.uu.bind(this);this.hl=this.hl.bind(this);this.KB=this.KB.bind(this);this.mj=this.mj.bind(this);this.kl=this.kl.bind(this);this.di=this.di.bind(this);this.Ar=this.Ar.bind(this);this.IN=this.IN.bind(this);this.R.addEventListener("ended",this.hl,
!0);this.R.addEventListener("pause",this.kl,!1);this.R.addEventListener("stalled",this.kl,!1);this.R.addEventListener("waiting",this.kl,!1);this.R.addEventListener("canplay",this.FB,!0);this.R.addEventListener("canplaythrough",this.uu,!1);this.R.addEventListener("loadedmetadata",this.mj,!0);this.R.addEventListener("play",this.di,!1);this.R.addEventListener("playing",this.Ar,!1);this.R.addEventListener("error",this.KB,!1);this.U2=!1;this.A=l.S;this.gG=this.Mh=null;m.bind(h.sa,this.EQa,this)});q.prototype.clear=
function(){this.R&&(this.R.removeEventListener("ended",this.hl,!0),this.R.removeEventListener("pause",this.kl,!1),this.R.removeEventListener("stalled",this.kl,!1),this.R.removeEventListener("waiting",this.kl,!1),this.R.removeEventListener("canplay",this.FB,!0),this.R.removeEventListener("canplaythrough",this.uu,!1),this.R.removeEventListener("loadedmetadata",this.mj,!0),this.R.removeEventListener("play",this.di,!1),this.R.removeEventListener("error",this.KB,!1),this.R=null)};q.prototype.play=function(){this.R.log("PlaybackController",
"play");this.gG=l.X;this.pM()};q.prototype.stop=function(){this.R.log("PlaybackController","stop");this.gG=l.S;this.pM()};q.prototype.getState=function(){return this.Mh||this.A};q.prototype.gD=function(){return this.R.readyState==this.R.HAVE_NOTHING||this.R.readyState==this.R.HAVE_METADATA||0===this.R.currentTime?!1:!0};q.prototype.pM=function(){!this.Mh&&this.gG&&(this.Mh=this.gG,this.gG=null,this.Mh==l.X?this.S8():this.Q8())};q.prototype.EQa=function(){if(m.visible)this.R.log("PlaybackController",
"visibile changed to true, setting state to "+this.A),this.Mh=this.A,this.Mh==l.X?this.S8():this.Q8();else if(!this.R.paused){this.R.log("PlaybackController","paused by visibile changed to false");var p=this.R.pause();p&&p["catch"](this.KB)}};q.prototype.ox=function(){return this.R.currentSrc||this.R.children.length&&this.R.children[0].src||""};q.prototype.S8=function(){var p=this.ox();this.DV(p&&!c.az(p));this.JQ=f.browser()==f.Rh;this.R.paused?(this.R.log("PlaybackController","startPlaying calling play"),
this.R.muted=!0,this.R.log("PlaybackController","this._media.play()"),(p=this.R.play())&&p["catch"](this.KB)):(this.R.log("PlaybackController","startPlaying already playing"),this.di())};q.prototype.Ar=function(){this.R.log("PlaybackController","onPlaying event received. Visible: "+m.visible)};q.prototype.di=function(){this.Mh==l.X?(this.R.log("PlaybackController","onPlay event received when waiting to play"),this.Mh=null,this.A=l.X,this.trigger(new b(q.r_)),this.pM()):this.R.log("PlaybackController",
"onPlay event received. Visible: "+m.visible)};q.prototype.Q8=function(){this.DV(!1);this.JQ=!1;if(this.R.paused)this.R.log("PlaybackController","startPausing already paused"),this.kl();else{this.R.log("PlaybackController","startPausing calling pause");var p=this.R.pause();p&&p["catch"](this.KB)}};q.prototype.kl=function(){this.Mh==l.S?(this.R.log("PlaybackController","onPause event received when waiting to stop"),this.Mh=null,this.A=l.S,this.pM()):m.visible?(this.R.log("PlaybackController","onPause event received without calling to pause"),
(this.A==l.X&&!this.Mh||this.Mh==l.X)&&!this.R.hasAttribute("loop")&&!isNaN(this.R.duration)&&this.R.currentTime==this.R.duration&&0<this.R.duration&&this.hl(),this.IN()):this.R.log("PlaybackController","onPause event received when not visible")};q.prototype.FB=function(){this.R.log("PlaybackController","on can play");this.IN()};q.prototype.uu=function(){this.R.log("PlaybackController","can play through");this.IN();this.DV(!1)};q.prototype.IN=function(){if(this.Ipa()){if(this.JQ&&0==this.R.currentTime){this.R.log("PlaybackController",
"updatePlaying applying ios hack");this.JQ=!1;try{this.R.currentTime=.3}catch(p){}}f.browser()!=f.OD&&this.Boa()}};q.prototype.Ipa=function(){return this.A==l.X&&m.visible&&this.R.paused&&3<=this.R.readyState};q.prototype.Boa=function(p){this.Coa||(p?this.Ipa()&&(this.R.log("PlaybackController","updatePlaying retrying play"),this.Mh=l.X,this.S8()):this.Coa=setTimeout(function(){this.Coa=null;this.Boa(!0)}.bind(this),500))};q.prototype.KB=function(){this.Mh==l.X&&(this.R.log("PlaybackController","onError waiting to play"),
this.Mh=null,this.gG?this.pM():f.browser()==f.Rh?this.trigger(new b(q.WZ)):this.Mh=l.X)};q.prototype.mj=function(){this.R.log("PlaybackController","on loaded metadata");!isNaN(this.R.duration)&&this.R.currentTime==this.R.duration&&0<this.R.duration&&this.hl()};q.prototype.hl=function(){this.R.log("PlaybackController","onEnded");this.JQ=!1;if(this.A==l.X&&!this.Mh||this.Mh==l.S)this.R.log("PlaybackController","onEnded finalizing video"),this.DV(!1),this.Mh=l.S,this.Q8(),this.trigger(new b(q.Ej))};
q.prototype.DV=function(p){this.U2!=p&&(this.R.log("PlaybackController","downloading changed to: "+p),(this.U2=p)?e.mXa(k.Rda):e.lXa(k.Rda))};q.WZ="deactivated";q.Ej="end";q.r_="play";return q});
define("A",["require","kV","og","cu","fV"],function(a){var d=a("kV"),h=a("og");a("cu");var l=a("fV");a=d.extend(l,function(k){l.call(this);this.mj=this.mj.bind(this);this.b6=this.b6.bind(this);this.bi=this.bi.bind(this);this.R=k;this.vk=null;this.ke=[];this.R.addEventListener("loadedmetadata",this.mj,!0);this.R.textTracks.addEventListener("addtrack",this.b6,!1)});a.prototype.set=function(k){k&&this.HBa(k)};a.prototype.clear=function(){this.MLa()};a.prototype.tO=function(){var k=this.vk&&this.vk.track.activeCues;
k&&=Array.prototype.slice.call(k,0);return k||[]};a.prototype.mj=function(){this.Dra()};a.prototype.b6=function(){this.Dra()};a.prototype.bi=function(){this.Xoa(this.vk.track.activeCues)};a.prototype.Xoa=function(k){k||=[];if(0!=this.ke.length||0!=k.length)this.ke=Array.prototype.slice.call(k),this.trigger(h.Kk,this.ke)};a.prototype.HBa=function(k){this.R.log("TextTracksController","add text track src: "+k);this.vk=document.createElement("track");this.vk.kind="subtitles";this.vk.src=k;this.R.appendChild(this.vk)};
a.prototype.MLa=function(){this.vk&&(this.R.log("TextTracksController","remove text track"),this.vk.track.removeEventListener("cuechange",this.bi),this.vk.track.mode="disabled",this.vk.src="",this.R.removeChild(this.vk),this.vk=null,this.Xoa([]))};a.prototype.Dra=function(){for(var k=0;k<this.R.textTracks.length;k++){var b=this.R.textTracks[k];b.removeEventListener("cuechange",this.bi);b.mode=this.vk&&b==this.vk.track?"hidden":"disabled";"hidden"==b.mode&&b.addEventListener("cuechange",this.bi)}};
return a});
define("hL",["require","dY","lQ"],function(a){var d=a("dY"),h=a("lQ");a={is:function(l,k){l=h.parse(l).URa;return d(k).contains(l)},az:function(l,k){return l&&d(k).any(function(b){return 0===l.indexOf(b)})},K_:[".mp4",".m4v",".m4p"],Hza:[".hevc"],Vda:[".mov"],Yea:[".webm"],oea:[".ogv",".ogg"],aAa:[".mpg",".mpeg"],Mza:[".jpg",".jpeg"],HLS:[".m3u8"],mea:[".mpd"],mAa:[".png"],Vya:[".apng"],Gza:[".gif"],aza:[".bmp"],QAa:[".webp"],Yya:[".avif"]};a.Jza=[].concat(a.Mza,a.mAa,a.QAa,a.Gza,a.Yya,a.Vya,a.aza);
a.Uya=[].concat(a.HLS,a.mea);a.qn=[].concat(a.Uya,a.K_,a.Yea,a.oea,a.aAa,a.HLS,a.mea);a.Kza=["data:image/"];return a});
define("en","require kV og cu fV u hL".split(" "),function(a){var d=a("kV");a("og");var h=a("cu"),l=a("fV"),k=a("u"),b=a("hL"),g=d.extend(l,function(f){l.call(this);this.R=f;this.uu=this.uu.bind(this);this.kl=this.kl.bind(this);this.di=this.di.bind(this);this.mj=this.mj.bind(this);this.hl=this.hl.bind(this);this.nU=this.nU.bind(this);this.Me=this.Me.bind(this);this.r5=this.PF=this.xC=void 0;this.m9=0;this.R.addEventListener("ended",this.hl,!0);this.R.addEventListener("pause",this.kl,!1);this.R.addEventListener("canplaythrough",
this.uu,!1);this.R.addEventListener("timeupdate",this.nU,!1);this.R.addEventListener("play",this.di,!1);this.R.addEventListener("playing",this.Ar,!1)});g.prototype.clear=function(){this.R&&(this.R.removeEventListener("ended",this.hl,!0),this.R.removeEventListener("pause",this.kl,!1),this.R.removeEventListener("canplaythrough",this.uu,!1),this.R.removeEventListener("timeupdate",this.nU,!1),this.R.removeEventListener("play",this.di,!1),this.R.removeEventListener("playing",this.Ar,!1),this.R=null,this.xC&&
clearInterval(this.xC))};g.prototype.setTime=function(f){this.m9=0;this.fT=void 0;this.R.log("TimeController","setTime: "+f);k.gaa()&&!b.is(this.ox(),b.HLS)?this.cJ=f||0:this.cJ=void 0;try{this.R.currentTime=f}catch(c){}k.browser()==k.$v||k.browser()==k.OD||k.gd()==k.AI&&0==f||(this.PF=f,this.ara())};g.prototype.getTime=function(){return this.PF||this.R.currentTime||0};g.prototype.Qi=function(){return this.R.duration||0};g.prototype.di=function(){this.z8(!0)};g.prototype.kl=function(){this.z8(!1);
this.fT=void 0};g.prototype.uu=function(){this.R.log("TimeController","on can play through");this.ara()};g.prototype.hl=function(){this.cJ=void 0;this.z8(!1)};g.prototype.mj=function(){this.trigger(new h(g.si))};g.prototype.ara=function(){if(this.R.readyState>=this.R.HAVE_ENOUGH_DATA&&void 0!==this.PF){this.R.log("TimeController","updateCurrentTime when can play through set time to: "+this.PF);try{this.R.currentTime=this.PF}catch(f){}this.PF=void 0}};g.prototype.Me=function(){this.trigger(new h(g.vf))};
g.prototype.nU=function(){if(k.gaa()&&!k.xua()&&!this.R.paused&&this.R.readyState>=this.R.HAVE_ENOUGH_DATA){var f=(new Date).getTime();this.fT||(this.fT=f);this.r5&&500<f-this.r5&&(this.m9++,.4<this.m9/(.001*(f-this.fT))&&k.AWa());this.r5=f}if(void 0!==this.cJ&&this.R.currentTime>this.cJ){this.cJ=void 0;try{this.R.currentTime-=.01}catch(c){}}this.Me()};g.prototype.z8=function(f){!!this.xC!=f&&(this.xC?(clearInterval(this.xC),this.xC=null):this.xC=setInterval(this.Me,16))};g.prototype.ox=function(){return this.R.currentSrc||
this.R.children.length&&this.R.children[0].src||""};g.vf="time update";g.si="duration update";return g});
define("lo","require jquery.mod kV fG u lQ".split(" "),function(a){function d(){}a("jquery.mod");var h=a("kV"),l=a("fG"),k=a("u");a=a("lQ");d.Xra=!1;d.RWa=function(){d.Xra=!0};d.QHa=function(){window.MediaSource=window.MediaSource||window.tYa;return window.MediaSource&&"function"===typeof window.MediaSource.isTypeSupported&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};d.bIa=function(){if(k.browser()==k.Rh){var f=k.iD();if(10<=f&&11>f||11.3<=f)return!0}return!1};
d.RHa=function(){return k.browser()==k.Tl||k.browser()==k.Rh?!0:!1};var b;d.Isa=function(f){try{return b||=document.createElement("audio"),!!b.canPlayType(f).replace(/^no$/,"")}catch(c){}return!1};var g;d.xH=function(f){try{return g||(g=document.createElement("video"),g.setAttribute("webkit-playsinline","true"),g.setAttribute("playsinline","true")),!!g.canPlayType(f).replace(/^no$/,"")}catch(c){}return!1};d.iRa=function(){return k.browser()==k.Rh?15<=k.iD()||l?!0:!1:!0};d.SHa=function(){try{if(document.createElement("canvas").getContext("webgl"))return!0}catch(f){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return!0}catch(f){}return!1};
d.pya=function(f,c,e){if(k.fe()==k.vi)if(!e||30<e){if(3168>=f&&1584>=c)return!0}else{if(4096>=f&&2048>=c)return!0}else if(k.gY())if(!e||30<e){if(4096>=f&&4096>=c||5760>=f&&5760>=c||5760>=f&&2880>=c||8192>=f&&4096>=c)return!0}else{if(5760>=f&&5760>=c||8192>=f&&4096>=c)return!0}else if(k.STa())if(!e||30<e){if(2880>=f&&2880>=c||4096>=f&&2048>=c)return!0}else{if(3840>=f&&3840>=c||4096>=f&&4096>=c||5760>=f&&2880>=c||2880>=f&&5760>=c)return!0}else if(k.kb()){if(3840>=f&&2160>=c)return!0}else if(4096>=f&&
2048>=c)return!0;return!1};d.jRa=function(){return k.gY()&&k.gd()==k.Eq||!k.kb()&&d.Xra&&k.browser()==k.Ik?!0:!1};d.kRa=function(){return k.gY()||k.WTa()||!k.Ef()?!0:!1};d.uXa=function(f,c){return d.pya(f,c,30)};d.log=function(){h.log("webgl: "+d.Js);h.log("html5 audio: "+d.Fua);h.log("html5 video: "+d.Iua)};d.oOa=function(){return["webgl:"+d.Js,"html5audio:"+d.Fua,"html5video:"+d.Iua].join(" ")};d.Hua=d.Isa('audio/ogg; codecs="vorbis"');d.Gua=d.Isa("audio/mpeg");d.Fua=d.Hua||d.Gua;d.$aa=d.xH('video/ogg; codecs="theora"');
d.xH('video/mp4; codecs="avc1.42E01E"');d.aba=d.xH('video/webm; codecs="vp8, vorbis"');d.uTa=d.xH('video/mp4; codecs="hev1"');d.YX=d.xH("video/mp4");d.vTa=d.xH("video/quicktime");d.Jua=d.bIa();d.rua=d.RHa();d.hTa=d.rua||d.YX&&d.QHa();d.Iua=d.$aa||d.YX||d.aba;d.Js=d.SHa();a.Ri("debug")&&a.Ri("capabilities")&&d.log();d.summary=d.oOa();return d});
define("cr",["require","lQ"],function(a){function d(){this.iT=this.u5=null;this.Ct=[];this.rr=!1;this.Cx=void 0}var h=a("lQ");d.prototype.initialize=function(l,k){this.u5=h.Uv(l);this.iT=k;this.ca()};d.prototype.load=function(l,k){var b={};b.call=l;b.context=k||window;this.Ct.push(b);this.Cx||(this.Cx=this.mja());this.ca()};d.prototype.Gl=function(){return void 0!==this.Cx};d.prototype.ca=function(){0<this.Ct.length&&(void 0!==this.Cx?this.WEa():this.u5&&this.PK())};d.prototype.PK=function(){if(!this.rr&&
void 0===this.Cx){this.rr=!0;var l=document.createElement("script");l.type="text/javascript";l.src=this.u5;document.getElementsByTagName("head")[0].appendChild(l);this.Zra()}};d.prototype.Zra=function(){var l=this.mja();if(void 0===l){var k=this;setTimeout(function(){k.Zra()},250)}else this.Cx=l,this.rr=!1,this.ca()};d.prototype.mja=function(){if(this.iT){for(var l=window,k=0;k<this.iT.length&&void 0!==l;k++)l=l[this.iT[k]];return l}};d.prototype.WEa=function(){for(;0<this.Ct.length;){var l=this.Ct.pop();
l.call.call(l.context,this.Cx)}};return{Zea:new d,HLS:new d,initialize:function(l){this.HLS.initialize(l.get(TDV.PlayerSettings.HLS_URL),["Hls"]);this.Zea.initialize(l.get(TDV.PlayerSettings.WEBVR_POLYFILL_URL),["WebVRConfig","FORCE_ENABLE_VR"])}}});
define("dm",["require"],function(){var a={Qva:"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU2LjM2LjEwMAAAAAAAAAAAAAAA//OEAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAEAAABIADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV6urq6urq6urq6urq6urq6urq6urq6urq6v////////////////////////////////8AAAAATGF2YzU2LjQxAAAAAAAAAAAAAAAAJAAAAAAAAAAAASDs90hvAAAAAAAAAAAAAAAAAAAA//MUZAAAAAGkAAAAAAAAA0gAAAAATEFN//MUZAMAAAGkAAAAAAAAA0gAAAAARTMu//MUZAYAAAGkAAAAAAAAA0gAAAAAOTku//MUZAkAAAGkAAAAAAAAA0gAAAAANVVV"};a.src=
a.Qva;return a});
define("du","require kV og cu fV lo lQ md hL cr dm".split(" "),function(a){function d(p,n,r){this.src=p||"";this.bn=n||"";this.startTime=r||0}var h=a("kV"),l=a("og"),k=a("cu"),b=a("fV"),g=a("lo"),f=a("lQ"),c=a("md"),e=a("hL"),m=a("cr"),q=a("dm");a=h.extend(b,function(p,n){b.call(this);this.R=p;this.Om=n;this.A5=!1;this.WV=[];this.Ve=this.Ne=this.HJ=null});a.prototype.set=function(p,n,r){this.R.log("SrcSetter","set: "+p+" subtitles: "+n+" startTime: "+r);p=new d(p,n,r);this.Ne&&this.Ne.isEqual(p)||(!this.Ne&&
this.HJ&&this.HJ.isEqual(p)?this.C9():(this.Ne=p,this.ZIa()))};a.prototype.clear=function(){this.Ve&&(this.Ve.destroy(),this.Ve=null);this.HJ=null;this.LLa();this.Om.clear()};a.prototype.mTa=function(){return!!this.Ne};a.prototype.ZIa=function(){this.A5=!0;this.xoa(this.Ne.src)&&!m.HLS.Gl()?(this.R.log("SrcSetter","hls lib required"),m.HLS.load(this.yka,this)):this.yka()};a.prototype.yka=function(){this.A5&&(this.A5=!1,this.mCa())};a.prototype.mCa=function(){this.clear();this.HMa(!!this.Ne.src&&f.Rua(this.Ne.src));
this.xoa(this.Ne.src)?this.aCa():this.nCa()};a.prototype.aCa=function(){var p=m.HLS.Cx,n=1048576*(navigator.connection?Math.max(navigator.connection.downlink,2):2),r=.66*n;this.Ve=new p({debug:c.SD,startPosition:0===this.Ne.startTime?-1:this.Ne.startTime,levelLoadingTimeOut:6E4,startLevel:-1,maxMaxBufferLength:12,autoStartLoad:!1,abrEwmaDefaultEstimate:n});this.Ve.loadSource(this.Ne.src);this.Ve.attachMedia(this.R);var t=function(){this.Ve.off(p.Events.MANIFEST_PARSED,t);if(navigator.connection){var u=
this.Ve.levels.filter(function(w){return w.bitrate<=n});if(u.length){u.sort(function(w,x){return x.width-w.width});var v=this.Ve.levels.indexOf(u[0]);this.Ve.startLevel=v}u=this.Ve.levels.filter(function(w){return w.bitrate<=r});u.length&&(u.sort(function(w,x){return x.width-w.width}),this.Ve.config.minAutoBitrate=u[0].bitrate-1);u=this.Ve.levels.filter(function(w){return g.uXa(w.width,w.height)});c.Iza&&(u.sort(function(w,x){return x.width-w.width}),v=this.Ve.levels.indexOf(u[0]),this.Ve.startLevel=
v);u.length&&u.length<this.Ve.levels.length&&(u.sort(function(w,x){return x.width-w.width}),this.Ve.autoLevelCapping=this.Ve.levels.indexOf(u[0]));this.R.log("SrcSetter","bandwidth: "+n+" lowBandwidth: "+r);this.R.log("SrcSetter","levels: "+this.Ve.levels);this.R.log("SrcSetter","startLevel: "+this.Ve.levels[this.Ve.startLevel]);this.R.log("SrcSetter","minLevel: "+this.Ve.levels[this.Ve.minAutoLevel])}this.Ve.startLoad(0===this.Ne.startTime?-1:this.Ne.startTime);0!=this.Ne.startTime&&this.Rr(this.Ne.startTime);
this.Ne.bn&&this.Om.set(this.Ne.bn);this.HJ=this.Ne;this.Ne=null;this.C9()}.bind(this);this.Ve.on(p.Events.MANIFEST_PARSED,t);this.Ve.on(p.Events.WXa,function(u,v){v.fatal&&v.type==p.ErrorTypes.aYa&&this.Ve.recoverMediaError()}.bind(this))};a.prototype.nCa=function(){this.Ne.src?this.Tfa(this.Ne.src):this.Tfa(q.Qva,"audio/mpeg");this.Ne.bn&&this.Om.set(this.Ne.bn);this.R.load();0!=this.Ne.startTime&&this.Rr(this.Ne.startTime);this.HJ=this.Ne;this.Ne=null;this.C9()};a.prototype.C9=function(){this.R.log("SrcSetter",
"src ready");this.trigger(new k(l.Rc))};a.prototype.xoa=function(p){return p&&e.is(p,e.HLS)&&!g.rua};a.prototype.HMa=function(p){p&&!this.R.hasAttribute("crossorigin")?this.R.setAttribute("crossorigin","anonymous"):!p&&this.R.hasAttribute("crossorigin")&&this.R.removeAttribute("crossorigin")};a.prototype.Rr=function(p){try{this.R.currentTime=p}catch(n){}};a.prototype.Tfa=function(p,n){var r=document.createElement("source");n||=this.NHa(p);n&&(r.type=n);f.az(p)||(p=f.Py(p,"swbypass=true"));r.src=p;
this.R.appendChild(r);this.WV.push(r)};a.prototype.LLa=function(){for(;this.WV&&this.WV.length;){var p=this.WV.shift();p.src="";this.R.removeChild(p)}};a.prototype.NHa=function(p){switch(f.getExtension(p).toLowerCase()){case ".mp3":return"audio/mpeg";case ".ogg":return"audio/ogg";case ".m4v":case ".mp4":return"video/mp4";case ".webm":return"video/webm";case ".ogv":return"video/ogg";case ".m3u8":return"application/x-mpegURL";case ".mov":return"video/quicktime"}};d.prototype.isEqual=function(p){return this.src==
p.src&&this.bn==p.bn};return a});
define("nz","require kV og cu fV u md e bC lB dX nE mJ A en du".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("u"),g=a("md"),f=a("e"),c=a("bC"),e=a("lB"),m=a("dX"),q=a("nE"),p=a("mJ"),n=a("A"),r=a("en"),t=a("du"),u=0,v=d.extend(k,function(w,x){k.call(this);this.re=w;this.GQa=x;this.mj=this.mj.bind(this);this.Wq=this.Wq.bind(this);this.v6=this.v6.bind(this);this.Fp=this.QE=null;this.HU=void 0;this.bc=this.bb=null;this.Yl="inactive";this.eo=this.Ha=this.Id=this.Zu=this.Om=null;
this.We=!1;this.Gpa(document.createElement(this.re));x&&e.wait(this.Wq)});v.prototype.Gpa=function(w){this.nqa();this.bc=w;for(this.bc.parentNode&&this.bc.parentNode.removeChild(this.bc);this.bc.children.length;)this.bc.removeChild(this.bc.children[0]);this.CNa();this.bc.autoplay=!1;this.bc.autobuffer="autobuffer";this.bc.preload=b.browser()==b.Rh?"metadata":"none";this.bc.setAttribute("preload",b.browser()==b.Rh?"metadata":"none");this.bc.setAttribute("webkit-playsinline","true");this.bc.setAttribute("playsinline",
"true");this.bc.addEventListener("loadedmetadata",this.mj,!0);this.Om=new n(this.bc);this.Om.bind(h.Kk,this.bi,this,!0);this.Zu=new t(this.bc,this.Om);this.Zu.bind(h.Rc,this.gna,this,!0);this.Id=new m(this.bc);this.Ha=new p(this.bc);this.Ha.bind(p.WZ,this.Hla,this,!0);this.Ha.bind(p.Ej,this.hl,this,!0);this.Ha.bind(p.r_,this.di,this,!0);this.eo=new r(this.bc);this.eo.bind(r.vf,this.Me,this,!0);this.eo.bind(r.si,this.zm,this,!0)};v.prototype.CNa=function(){if(g.SD){var w="["+this.re+" "+u++ +"]";this.bc.log=
function(x,y){console.log(w+"["+(new Date).toISOString().split("T")[1]+"] "+x+" "+y)}}else this.bc.log=function(){}};v.prototype.nqa=function(){this.bc&&(this.bc.removeEventListener("loadedmetadata",this.mj,!0),this.Zu&&(this.Zu.unbind(h.Rc,this.gna,this,!0),this.Zu.clear(),this.Zu=null),this.Om&&(this.Om.unbind(h.Kk,this.bi,this,!0),this.Om.clear(),this.Om=null),this.Id&&(this.Id.clear(),this.Id=null),this.Ha&&(this.Ha.unbind(p.WZ,this.Hla,this,!0),this.Ha.unbind(p.Ej,this.hl,this,!0),this.Ha.unbind(p.r_,
this.di,this,!0),this.Ha.clear(),this.Ha=null),this.eo&&(this.eo.unbind(r.vf,this.Me,this,!0),this.eo.unbind(r.si,this.zm,this,!0),this.eo.clear(),this.eo=null),this.bc=null)};v.prototype.clear=function(){this.nqa()};v.prototype.CH=function(w,x,y){if(this.Hl()&&this.gD())try{return w.drawImage(this.bc,0,0,x,y),!0}catch(A){}w.fillRect(0,0,x,y);return!1};v.prototype.play=function(w,x,y){this.bc.log("HTMLMediaPlayer","play src: "+x.src+" subtitlesSrc: "+x.bn+" hasAudio: "+x.$y+" gain: "+x.gain);this.bb=
w;this.QE=null;this.Fp=x.clone();this.HU=y||0;this.UBa()};v.prototype.fY=function(){return"activated"==this.Yl};v.prototype.xZ=function(){return this.GQa};v.prototype.stop=function(){this.bc.log("HTMLMediaPlayer","stop");this.Ha.stop();this.Fp=null};v.prototype.getState=function(){return this.Ha.getState()};v.prototype.gD=function(){return this.Zu.mTa()?!1:this.Ha.gD()};v.prototype.tf=function(w){this.Id.tf(w);this.We=w;this.bb&&"requested"==this.Yl&&(this.We?c.cancel(this.bb):c.request(this.bb))};
v.prototype.Sv=function(w){this.Id.Sv(w)};v.prototype.rP=function(w){this.Id.rP(w)};v.prototype.setLoop=function(w){this.iCa(w)};v.prototype.getCurrentTime=function(){return this.eo.getTime()};v.prototype.setCurrentTime=function(w){return this.eo.setTime(w)};v.prototype.Qi=function(){return this.eo.Qi()};v.prototype.Hl=function(){return this.re==q.qn};v.prototype.getType=function(){return this.re};v.prototype.nd=function(){return this.bc&&this.Hl()&&this.bc.videoWidth||0};v.prototype.$d=function(){return this.bc&&
this.Hl()&&this.bc.videoHeight||0};v.prototype.tO=function(){return this.Om.tO()};v.prototype.UBa=function(){this.bc.log("HTMLMediaPlayer","assert can play");"activated"!=this.Yl&&this.Fp.$y?"inactive"==this.Yl&&(this.bc.log("HTMLMediaPlayer","needs activation"),this.bb&&this.re==q.qn&&this.PHa()?this.jBa():this.bb&&f.RO()?this.Wq():this.bb&&this.TBa()):(this.bc.log("HTMLMediaPlayer","can play activationState: "+this.Yl+" pending media has audio: "+this.Fp.$y),this.FB())};v.prototype.PHa=function(){var w=
this.Iia();return!w||w.currentSrc&&!w.paused||w.muted?!1:!0};v.prototype.Iia=function(){return this.bb.get("settings").get(TDV.PlayerSettings.ACTIVE_VIDEO_ELEMENT)};v.prototype.jBa=function(){this.bc.log("HTMLMediaPlayer","activate with application parameter");this.Gpa(this.Iia());this.Wq()};v.prototype.TBa=function(){this.bc.log("HTMLMediaPlayer","ask for activation");this.Yl="requested";c.kda(this.Wq);this.bb&&!this.We&&c.request(this.bb)};v.prototype.Wq=function(){if("inactive"==this.Yl||"requested"==
this.Yl)this.bc.log("HTMLMediaPlayer","activate received when state: "+this.Yl+" and has media: "+!!this.QE),this.QE?setTimeout(function(){e.wait(this.Wq)}.bind(this),0):(this.Yl="activating",this.Zu.set("","",0))};v.prototype.FB=function(){this.bc.log("HTMLMediaPlayer","media can play. Has pending properties: "+!!this.Fp);this.Fp&&this.Zu.set(this.Fp.src,this.Fp.bn,this.HU)};v.prototype.gna=function(){"activating"==this.Yl?this.qKa():this.Fp&&this.$Ja()};v.prototype.qKa=function(){this.bc.log("HTMLMediaPlayer",
"on src ready activating");this.Ha.play()};v.prototype.di=function(){"activating"==this.Yl&&(this.bc.log("HTMLMediaPlayer","on play activating"),this.Ha.stop(),this.Yl="activated",this.FB())};v.prototype.$Ja=function(){this.bc.log("HTMLMediaPlayer","on pending src ready");this.QE=this.Fp;this.Fp=null;this.bCa(this.QE.$y);this.$Ba(this.QE.gain);this.eo.setTime(this.HU);this.HU=void 0;this.Ha.play()};v.prototype.bCa=function(w){this.Id.GVa(w)};v.prototype.$Ba=function(w){this.Id.rP(w)};v.prototype.iCa=
function(w){w&&!this.bc.hasAttribute("loop")?this.bc.setAttribute("loop",""):!w&&this.bc.hasAttribute("loop")&&this.bc.removeAttribute("loop")};v.prototype.Hla=function(){this.bc.log("HTMLMediaPlayer","on deactivated");c.uWa();e.wait(this.v6);this.bb&&setTimeout(function(){c.request(this.bb)}.bind(this),0)};v.prototype.v6=function(){this.bc.log("HTMLMediaPlayer","on reactivated");this.Ha.play()};v.prototype.bi=function(){this.trigger(h.Kk,this.Om.tO())};v.prototype.mj=function(){this.trigger(new l(v.wza))};
v.prototype.Me=function(){this.trigger(new l(v.vf))};v.prototype.zm=function(){this.trigger(new l(v.si))};v.prototype.hl=function(){this.trigger(new l(v.Ej))};v.vf="time update";v.si="duration update";v.wza="size update";v.Ej="end";return v});define("ds",["require"],function(){return function(a){this.cue=a;this.text=a.text}});
define("mA",["require"],function(){function a(){this.bn=this.src=void 0;this.$y=!1;this.gain=1}a.prototype.clone=function(){var d=new a;d.src=this.src;d.bn=this.bn;d.$y=this.$y;d.gain=this.gain;return d};return a});
define("bR","require kV dY og kx cu fV lo u lQ nz nE".split(" "),function(a){function d(t){this.LQ=t;this.wa=null;this.xB=(new Date).getTime()}var h=a("kV"),l=a("dY"),k=a("og"),b=a("kx"),g=a("cu"),f=a("fV"),c=a("lo"),e=a("u"),m=a("lQ"),q=a("nz"),p=a("nE");d.prototype.iba=function(){return null==this.wa};d.prototype.fY=function(){return this.LQ.fY()};d.prototype.xZ=function(){return this.LQ.xZ()};d.prototype.item=function(){return this.wa};d.prototype.dSa=function(){this.wa.hva();this.wa=null};d.prototype.use=
function(t){this.wa=t;this.wa.fta(this.LQ);this.xB=(new Date).getTime()};var n=h.extend(f,function(){f.call(this);this.Sr=[];for(var t=m.Kta("avs",10),u=m.Kta("avpas",c.iRa()?4:1),v=0;v<t;v++)this.Sr.push(new d(new q(p.qn,v<u)));this.De=[];this.A=b.S});n.prototype.XH=function(){return 0<this.Aja().length};n.prototype.NY=function(t){this.De=[t].concat(l(this.De).without(t));this.X6()};n.prototype.appendItem=function(t){this.De.push(t);this.X6()};n.prototype.iP=function(t){this.De=l(this.De).without(t);
this.X6()};n.prototype.X6=function(){var t=this.pHa();if(n.Aua())for(;this.Sr.length<t.length;)this.Sr.push(new d(new q(p.qn,!1)));this.Aja().forEach(function(u){0>t.indexOf(u.item())&&u.dSa()});this.xc(0<t.length?b.X:b.S);t.forEach(function(u){if(!this.PGa(u)){var v=this.EGa(u.getType(),u.Uba());v||u.Uba()||this.Sr.push(v=new d(new q(p.qn,!1)));v&&v.use(u)}}.bind(this));this.FGa().forEach(function(u){u.LQ.stop()})};n.prototype.pHa=function(){return this.De.map(function(t,u){var v={};v.index=u;v.priority=
t.Yta();v.item=t;return v}).sort(function(t,u){return t.priority-u.priority||t.index-u.index}).map(function(t){return t.item})};n.prototype.xc=function(t){this.A!=t&&(this.A=t,this.trigger(new g(this.A==b.S?k.wf:k.pn)))};n.prototype.EGa=function(t,u){t=this.Sr.filter(function(v){return v.iba()});return t.length?(u?(u=t.filter(function(v){return v.fY()}),u.length||(u=t.filter(function(v){return v.xZ()}))):(u=t.filter(function(v){return!v.xZ()}),u.length||(u=t.filter(function(v){return!v.fY()}))),u.length&&
(t=u),e.browser()==e.Tl?(t.sort(function(v,w){return w.xB-v.xB}),t[Math.min(2,t.length-1)]):t[0]):null};n.prototype.FGa=function(){return this.Sr.filter(function(t){return t.iba()})};n.prototype.Aja=function(){return this.Sr.filter(function(t){return!t.iba()})};n.prototype.PGa=function(t){for(var u=0;u<this.Sr.length;u++)if(this.Sr[u].item()==t)return this.Sr[u];return null};n.S4=null;n.bind=function(){var t=n.Wh();t.bind.apply(t,arguments)};n.unbind=function(){var t=n.Wh();t.unbind.apply(t,arguments)};
var r=0<=[e.QD,e.aw].indexOf(e.gd());n.Aua=function(){return r};n.XH=function(){return n.Wh().XH()};n.appendItem=function(t){n.Wh().appendItem(t)};n.NY=function(t){n.Wh().NY(t)};n.iP=function(t){n.Wh().iP(t)};n.Ht=function(){null===n.S4&&(n.S4=new n);return n.S4};n.Wh=n.Ht;n.Ht();return n});
define("E","require kV cu fV og kx nz ds mA nE bR bf lo".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("og"),b=a("kx"),g=a("nz"),f=a("ds"),c=a("mA"),e=a("nE"),m=a("bR"),q=a("bf"),p=a("lo"),n=d.extend(l,function(r,t,u){l.call(this);this.bb=r;this.v=t;this.Jr=u;this.m=null;this.SM();this.OT=this.OT.bind(this);this.v.bind(k.G("gain"),this.SF,this,!0);this.v.bind(k.G("mp3Url"),this.xp,this,!0);this.v.bind(k.G("oggUrl"),this.xp,this,!0);this.A=b.S;this.al=!1;this.Ww=this.ob=0;this.We=!1;
this.hq=1;this.XJ=!1;this.dF=1;this.md=null;this.Xq=[]});n.prototype.Hb=function(){return this.bb};n.prototype.Gd=function(r){this.A==r||r==b.Cb&&this.A!=b.X||(this.A=r,this.A==b.X?(this.eDa(),m.NY(this)):this.PNa(),this.D9())};n.prototype.PNa=function(){this.XJ||(this.XJ=!0,this.tia=this.v.get("fadeOutTime"),0==this.tia?this.fqa():this.OT(0))};n.prototype.OT=function(r){this.md&&0!=this.dF&&this.XJ&&!this.zIa()?(this.dF=Math.max(0,this.dF-r/this.tia),this.KQ(),q.requestFrame(this.OT)):this.fqa()};
n.prototype.eDa=function(){this.XJ=!1;this.dF=1;this.KQ()};n.prototype.fqa=function(){this.XJ=!1;this.dF=1;this.md&&(m.iP(this),this.A==b.S&&this.y8())};n.prototype.getState=function(){return this.A};n.prototype.Qi=function(){return this.ob};n.prototype.setCurrentTime=function(r){this.Ww=r;this.md&&this.md.play(this.bb,this.m,this.Ww)};n.prototype.getCurrentTime=function(){return this.Ww};n.prototype.Sv=function(r){this.hq=r;this.KQ()};n.prototype.KQ=function(){this.md&&this.md.Sv(this.hq*this.dF)};
n.prototype.tf=function(r){this.We=r;this.md&&this.md.tf(r)};n.prototype.setLoop=function(r){this.al=r;this.md&&this.md.setLoop(r)};n.prototype.Uba=function(){return!this.We};n.prototype.getType=function(){return e.Xya};n.prototype.Yta=function(){return this.Jr};n.prototype.fta=function(r){this.md=r;setTimeout(function(){this.md&&this.md.bind(g.Ej,this.oL,this,!0)}.bind(this),0);this.SM();this.md.bind(g.vf,this.Me,this,!0);this.md.bind(g.si,this.zm,this,!0);this.md.bind(k.Kk,this.bi,this,!0);this.md.tf(this.We);
this.KQ();this.md.setLoop(this.al);this.md.play(this.bb,this.m,this.Ww)};n.prototype.hva=function(){this.Ww=this.md.getCurrentTime();this.md.unbind(g.Ej,this.oL,this,!0);this.md.unbind(g.vf,this.Me,this,!0);this.md.unbind(g.si,this.zm,this,!0);this.md.unbind(k.Kk,this.bi,this,!0);this.md=null};n.prototype.clear=function(){this.Gd(b.S);this.v&&(this.v.unbind(k.G("gain"),this.SF,this,!0),this.v.unbind(k.G("mp3Url"),this.xp,this,!0),this.v.unbind(k.G("oggUrl"),this.xp,this,!0),this.v=null)};n.prototype.xp=
function(){this.aC&&clearTimeout(this.aC);this.aC=setTimeout(function(){this.aC=null;this.md&&(this.m.src=this.ox(this.v),this.md.play(this.bb,this.m,this.Ww))}.bind(this),10)};n.prototype.SF=function(){if(this.md){var r=this.v.get("gain");this.m.gain!=r&&(this.m.gain=r,this.md.rP(this.m.gain))}};n.prototype.SM=function(){this.m=new c;this.m.src=this.ox(this.v);this.m.$y=!0;this.m.gain=this.v.get("gain")};n.prototype.ox=function(r){var t=r.get("mp3Url");return t&&p.Gua?t:(r=r.get("oggUrl"))&&p.Hua?
r:t||r};n.prototype.zm=function(){this.ob=this.md.Qi();this.y9()};n.prototype.Me=function(){this.ob!=this.md.Qi()&&this.zm();this.Ww=this.md.getCurrentTime();this.zN()};n.prototype.bi=function(){this.Xq=this.md.tO().map(function(r){for(var t=null,u=0;u<this.Xq.length&&!t;u++)this.Xq[u].cue==r&&(t=this.Xq[u]);t||=new f(r);return t}.bind(this));this.trigger(new h(k.Kk))};n.prototype.oL=function(){this.Gd(b.S);this.z9()};n.prototype.zIa=function(){return this.md&&this.md.getCurrentTime()&&this.md.getCurrentTime()==
this.md.Qi()};n.prototype.y8=function(){this.Ww=0;this.zN()};n.prototype.zN=function(){this.trigger(new h(n.vf))};n.prototype.y9=function(){this.trigger(new h(n.si))};n.prototype.z9=function(){this.trigger(new h(k.rb))};n.prototype.D9=function(){this.trigger(new h(k.ge))};n.vf="time update";n.si="duration update";return n});
define("iJ","require og hE kx lw cu nc E".split(" "),function(a){var d=a("og"),h=a("hE"),l=a("kx"),k=a("lw"),b=a("cu"),g=a("nc"),f=a("E");a=g.define("Audio",k,function(c){k.call(this);this.Jr=c||h.EAa;this.Po=void 0});a.prototype.WC=function(){if(void 0==this.Po){var c=this.get("audio");c?(this.Po=new f(this.get("application"),c,this.Jr),c=function(){this.Po.setLoop(this.get("loop",!1))},c.call(this),this.bind(d.G("loop"),c,this),c=function(){this.Po.tf(this.get("application").get("mute",!1))},c.call(this),
this.get("application").bind(d.G("mute"),c,this,!0),c=function(){this.set("state",this.Po.getState())},c.call(this),this.Po.bind(d.ge,c,this,!0),this.Po.bind(d.rb,this.yJa,this,!0)):this.Po=null}return this.Po};a.prototype.set=function(c,e){if("state"==c){var m=this.get("state")||l.S,q=this.Po&&this.Po.getState()||l.S;q!=m&&(m==l.S&&q==l.X&&this.trigger(d.pn),this.trigger(new b(d.ge,{oldState:m,state:q})))}k.prototype.set.call(this,c,e)};a.prototype.ws=function(){return[]};a.prototype.yJa=function(){this.trigger(new b(d.rb))};
a.prototype.play=a.prototype.hk=function(){var c=this.WC();c&&c.Gd(l.X)};a.prototype.stop=a.prototype.$n=function(){var c=this.WC();c&&c.Gd(l.S)};a.prototype.pause=a.prototype.Dp=function(){var c=this.WC();c&&c.Gd(l.Cb)};return a});define("iz",["require","nc","iJ"],function(a){var d=a("nc"),h=a("iJ");return d.define("MediaAudio",h,function(l){h.call(this,l)})});
define("oD",["require","hE","nc","iz"],function(a){var d=a("hE"),h=a("nc"),l=a("iz");return h.define("PanoramaAudio",l,function(){l.call(this,d.fAa)})});define("gU",["require","nc","oD"],function(a){var d=a("nc"),h=a("oD");return d.define("DirectionalPanoramaAudio",h,function(){h.call(this)})});define("eZ",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("Model3DCameraMovement",d,function(){d.call(this)})});
define("hP",["require","nc","eZ"],function(a){var d=a("nc"),h=a("eZ");return d.define("DistanceModel3DCameraMovement",h,function(){h.call(this)})});define("H",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("DistancePanoramaCameraMovement",d,function(){d.call(this)})});define("gz",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("DistanceRotationalCameraMovement",d,function(){d.call(this)})});
define("x",["require","exports","og","kV"],function(a,d,h,l){return function(){function k(b,g,f,c,e){this.hp=null;this.X5=b;this.Ue=h.G(this.X5);this.i4=g;this.ya=f||window;this.K4=c;this.fla=e;this.W4=!1}k.prototype.qz=function(){this.X7(null)};k.prototype.X7=function(b){var g=this;l.toArray(this.hp).forEach(function(f){f&&f.unbind(this.Ue,g.Qga,g)}.bind(this));this.hp=b;l.toArray(this.hp).forEach(function(f){f&&f.bind(this.Ue,this.Qga,g,g.K4)}.bind(this));this.yoa()};k.prototype.yoa=function(){this.fla&&
this.fla.X7(this.KGa())};k.prototype.KGa=function(){return null==this.hp?null:Array.isArray(this.hp)?this.hp.map(function(b){return b?b.get(this.X5):null}.bind(this)):this.hp.get(this.X5)};k.prototype.Qga=function(b){if(!this.W4){try{this.W4=!0,this.yoa(),this.i4.call(this.ya,b)}catch(g){l.UO("ChangeWatcher._changeHandler",g)}this.W4=!1}};k.Is=function(b,g,f,c,e){void 0===e&&(e=!1);l.isString(g)&&(g=g.split("."));return 0<g.length?(g=new k(g[0],f,c,e,k.Is(null,g.slice(1),f,c,e)),g.X7(b),g):null};
return k}()});
define("ox",["require","jquery.mod","kV","og","e"],function(a){var d=a("jquery.mod"),h=a("kV"),l=a("og"),k=a("e"),b=h.extend(k,function(){k.call(this);this.qe("DropDownArrow");this.O=null;this.Ft=!0;this.bind(l.fc,this.pFa,this)});b.prototype.lb=function(){k.prototype.lb.call(this);this.h("color","#000000");this.h("direction",b.OZ)};b.prototype.pFa=function(){this.Ft=!0;this.ee()};b.prototype.xb=function(){k.prototype.xb.call(this);this.O||(this.O=d("<canvas/>"),this.O.css({position:"absolute",left:0,
top:0}),this.yb().append(this.O))};b.prototype.Ta=function(){var g=!1;this.H("color")&&(g=!0,this.P("color"));this.H("direction")&&(g=!0,this.P("direction"));this.Ft&&(g=!0,this.Ft=!1);if(g){g=this.bf();var f=this.af(),c=this.B("color"),e=this.B("direction"),m=[.5*g,0,g];e=e==b.OZ?[f,0,0]:[0,f,f];var q=this.O.get(0);q.width=g;q.height=f;q=q.getContext("2d");q.clearRect(0,0,g,f);q.beginPath();q.moveTo(m[0],e[0]);q.lineTo(m[1],e[1]);q.lineTo(m[2],e[2]);q.fillStyle=c;q.fill()}k.prototype.Ta.call(this)};
b.OZ="down";b.UXa="up";return b});
define("hm","require kV cu my bb og d gw nC ox iB".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("my"),k=a("bb"),b=a("og"),g=a("d"),f=a("gw"),c=a("nC"),e=a("ox"),m=a("iB");a=d.extend(c,function(){c.call(this);this.qe("DropDownButton");this.zw=this.Sa=null;this.n5=!0;this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("cursor",k.Se);this.bind(b.oa,this.Z2,this)});a.prototype.lb=function(){c.prototype.lb.call(this);
this.h("arrowColor","#000000");this.h("arrowBeforeLabel");this.h("arrowWidth",9);this.h("arrowHeight",5);this.h("arrowGap",5);this.h("shadow",!1);this.h("layout",g.xg);this.h("verticalAlign",l.ae);this.h("borderRadius",5);this.h("borderColor","#AAAAAA");this.h("borderSize",1);this.h("backgroundColor",["#FAFAFA","#E5E5E5"]);this.h("backgroundColorRatios",[0,1]);this.h("backgroundColorDirection","vertical");this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",
5);this.h("fontFamily");this.h("fontSize");this.h("fontColor","#555555");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.u("rollOverBorderColor",f.V,"borderColor");this.u("rollOverArrowColor",f.V,"arrowColor");this.u("rollOverBackgroundColor",f.V,"backgroundColor");this.u("rollOverBackgroundColorRatios",f.V,"backgroundColorRatios");
this.u("rollOverShadow",f.V,"shadow");this.u("pressedBorderColor",f.mb,"borderColor");this.u("pressedArrowColor",f.mb,"arrowColor");this.u("pressedBackgroundColor",f.mb,"backgroundColor");this.u("pressedBackgroundColorRatios",f.mb,"backgroundColorRatios");this.u("pressedShadow",f.mb,"shadow");this.u("pressedRollOverBorderColor",f.Xb,"borderColor");this.u("pressedRollOverArrowColor",f.Xb,"arrowColor");this.u("pressedRollOverBackgroundColor",f.Xb,"backgroundColor");this.u("pressedRollOverBackgroundColorRatios",
f.Xb,"backgroundColorRatios");this.u("pressedRollOverShadow",f.Xb,"shadow");this.u("pressedBorderColor",f.ba,"borderColor");this.u("pressedArrowColor",f.ba,"arrowColor");this.u("pressedBackgroundColor",f.ba,"backgroundColor");this.u("pressedBackgroundColorRatios",f.ba,"backgroundColorRatios");this.u("pressedShadow",f.ba,"shadow")};a.prototype.set=function(q,p){"label"==q&&this.get("label")!=p&&(this.n5=!0,this.ee());c.prototype.set.call(this,q,p)};a.prototype.xb=function(){c.prototype.xb.call(this);
this.Sa||(this.Sa=new m,this.Sa.set("width","100%"),this.Ua(this.Sa));this.zw||(this.zw=new e,this.zw.set("direction",e.OZ),this.Ua(this.zw))};a.prototype.Z2=function(){this.open();this.trigger(new h(b.OPEN))};a.prototype.open=function(){this.unbind(b.oa,this.Z2,this);this.OM(!0)};a.prototype.close=function(){this.bind(b.oa,this.Z2,this);this.OM(!1)};a.prototype.Ta=function(){if(this.n5){var q=this.get("label");this.Sa.set("text",q);this.n5=!1}this.ic("horizontalAlign fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),
{},[this.Sa],!0,!0);this.H("arrowGap")&&(this.set("gap",this.B("arrowGap")),this.P("arrowGap"));this.H("arrowColor")&&(this.zw.set("color",this.B("arrowColor")),this.P("arrowColor"));this.H("arrowBeforeLabel")&&(1==this.B("arrowBeforeLabel")?this.Xm(this.zw,0):this.Xm(this.Sa,0),this.P("arrowBeforeLabel"));this.H("arrowWidth")&&(this.zw.set("width",this.B("arrowWidth")),this.P("arrowWidth"));this.H("arrowHeight")&&(this.zw.set("height",this.B("arrowHeight")),this.P("arrowHeight"));c.prototype.Ta.call(this)};
return a});define("ha",["require","dY","kV","nC","d"],function(a){var d=a("dY"),h=a("kV"),l=a("nC");a=a("d");var k=h.extend(l,function(){l.call(this)});k.tc={layout:a.lh};d.defaults(k.tc,l.tc);k.prototype.lb=function(){this.yn(k.tc)};return k});
define("lc","require kV cu my bb hs og nC ha iB".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("my"),k=a("bb"),b=a("hs"),g=a("og"),f=a("nC"),c=a("ha"),e=a("iB");a=d.extend(f,function(){f.call(this);this.qe("DropDownPopup");this.Wd=null;this.TQ=!1;this.vb=null;this.KK=[];this.Dy=!0});a.prototype.open=function(m){this.Wd=m;this.TQ=!0;this.Hb().Xm(this,this.Hb().Jb().length-1);this.set("overIndex",-1);this.set("visible",!0);this.bind(g.ub,this.Md,this);this.Hb().bind(g.$b,this.vr,this);this.Hb().bind(g.fc,
this.cc,this)};a.prototype.close=function(){this.Wd=null;this.TQ=!0;this.set("visible",!1);this.vb.set("overflow",b.hE);this.vb.set("contentOpaque",!0);this.unbind(g.ub,this.Md,this);this.Hb().unbind(g.$b,this.vr,this);this.Hb().bind(g.fc,this.cc,this)};a.prototype.xb=function(){f.prototype.xb.call(this);this.vb||(this.vb=new c,this.vb.set("overflow",b.hE),this.vb.bind(g.fc,this.cc,this),this.vb.bind(g.Lo,this.ty,this),this.Ua(this.vb))};a.prototype.cc=function(){this.rra()};a.prototype.Md=function(){this.f8=
!1};a.prototype.ty=function(){this.f8=!0};a.prototype.vr=function(){-1!=this.get("overIndex")||this.f8&&this.Dn||this.trigger(new h(g.RD));this.f8=!1};a.prototype.MJa=function(m){this.set("overIndex",this.U3(m.source))};a.prototype.NJa=function(m){m=this.U3(m.source);this.get("overIndex")==m&&this.set("overIndex",-1)};a.prototype.LJa=function(m){m=this.U3(m.source);this.set("overIndex",m);this.set("selectedIndex",m);this.trigger(new h(g.mn))};a.prototype.U3=function(m){for(var q=0;q<this.KK.length;q++)if(this.KK[q]==
m)return q;return-1};a.prototype.lb=function(){f.prototype.lb.call(this);this.h("visible",!1);this.h("width","100%");this.h("height","100%");this.h("includeInLayout",!1);this.h("items",[]);this.h("selectedIndex",-1);this.h("overIndex",-1);this.h("popUpGap",0);this.h("popUpBackgroundColor");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor");this.h("popUpFontColor");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("popUpShadow",
!0);this.h("popUpShadowBlurRadius");this.h("popUpShadowColor");this.h("popUpShadowHorizontalLength");this.h("popUpShadowOpacity");this.h("popUpShadowSpread");this.h("popUpShadowVerticalLength");this.h("fontFamily");this.h("fontSize");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.h("buttonWidth")};a.prototype.Ta=function(){var m=
!1,q=!1;if(this.H("items")){m=this.B("items")||[];for(var p=this.KK.length;p<m.length;p++){var n=new e;n.fa({width:"100%",paddingLeft:5,paddingRight:5,paddingBottom:2,paddingTop:2,cursor:k.Se});n.bind(g.Vz,this.MJa,this);n.bind(g.Jo,this.NJa,this);n.bind(g.oa,this.LJa,this);this.KK.push(n)}n=this.vb.Jb();for(p=m.length;p<n.length;p++)this.vb.removeChild(n[p]);for(p=n.length;p<m.length;p++)this.vb.Ua(this.KK[p]);for(p=0;p<m.length;p++)n[p].set("text",m[p]);this.P("items");q=m=!0}this.H("selectedIndex")&&
(this.P("selectedIndex"),m=!0);var r="horizontalAlign popUpBackgroundOpacity popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop fontFamily fontSize fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");for(p=0;p<r.length;p++)n=r[p],this.H(n)&&(this.P(n),q=!0);if(q)for(r={fontFamily:this.B("fontFamily"),fontSize:this.B("fontSize"),fontWeight:this.B("fontWeight"),fontStyle:this.B("fontStyle"),
horizontalAlign:this.B("horizontalAlign"),textDecoration:this.B("textDecoration"),textShadowColor:this.B("textShadowColor"),textShadowHorizontalLength:this.B("textShadowHorizontalLength"),textShadowVerticalLength:this.B("textShadowVerticalLength"),textShadowBlurRadius:this.B("textShadowBlurRadius"),textShadowOpacity:this.B("textShadowOpacity"),paddingBottom:this.B("popUpPaddingBottom"),paddingLeft:this.B("popUpPaddingLeft"),paddingRight:this.B("popUpPaddingRight"),paddingTop:this.B("popUpPaddingTop"),
backgroundOpacity:this.B("popUpBackgroundOpacity")},n=this.vb.Jb(),p=0;p<n.length;p++)n[p].fa(r);r="selectedIndex overIndex popUpBackgroundColor rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor".split(" ");for(p=0;p<r.length;p++)n=r[p],this.H(n)&&(this.P(n),m=!0);if(m){m=this.B("popUpBackgroundColor");r=this.B("rollOverPopUpBackgroundColor")||m;q=this.B("selectedPopUpBackgroundColor")||m;var t=this.B("popUpFontColor"),u=this.B("rollOverPopUpFontColor")||
t,v=this.B("selectedPopUpFontColor")||t,w=this.B("selectedIndex"),x=this.B("overIndex");n=this.vb.Jb();for(p=0;p<n.length;p++)p==w?n[p].fa({fontColor:v,backgroundColor:q}):p==x?n[p].fa({fontColor:u,backgroundColor:r}):n[p].fa({fontColor:t,backgroundColor:m})}if(this.TQ||this.H("popUpGap")||this.H("buttonWidth"))this.Wd&&this.vb.set("minWidth",this.Wd.Va()),this.P("popUpGap"),this.rra(),this.TQ=!1;this.ic("popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "),
{popUpShadow:"shadow",popUpShadowBlurRadius:"shadowBlurRadius",popUpShadowColor:"shadowColor",popUpShadowHorizontalLength:"shadowHorizontalLength",popUpShadowOpacity:"shadowOpacity",popUpShadowSpread:"shadowSpread",popUpShadowVerticalLength:"shadowVerticalLength"},[this.vb],!0,!0);this.Xqa();f.prototype.Ta.call(this)};a.prototype.rra=function(){if(this.Wd){var m=this.Hb(),q=this.Wd.RSa(m),p=this.Wd.Va(),n=this.Wd.zb(),r=this.B("popUpGap"),t=this.vb.Fb,u=this.vb.Rb,v=m.zb()-(q.top+n+r)-5,w=q.top-5-
r,x=this.B("horizontalAlign");u<=v?(this.Dy=!0,this.vb.set("top",q.top+n+r),this.vb.set("maxHeight",void 0),this.vb.set("overflow",b.hE)):u<=w?(this.Dy=!1,this.vb.set("top",q.top-u-r),this.vb.set("maxHeight",void 0),this.vb.set("overflow",b.hE)):(v>=w?(this.Dy=!0,this.vb.set("top",q.top+n+r),this.vb.set("maxHeight",v)):(this.Dy=!1,this.vb.set("top",q.top-w+r),this.vb.set("maxHeight",w)),this.vb.set("overflow",b.Lo));n=x==l.ue?q.left+Math.round(.5*(p-t)):x==l.eb?q.left+p-t:q.left;0>n?n=q.left:q.left+
t>m.Va()&&(n=q.left+p-t);this.vb.set("left",n);this.Xqa()}};a.prototype.Xqa=function(){var m=this.B("popUpBorderRadius");this.vb.fa({borderTopRadius:this.Dy?0:m,borderBottomRadius:this.Dy?m:0});for(var q=this.vb.Jb(),p=0;p<q.length;p++){var n=0==p,r=p==q.length-1;q[p].fa({borderTopRadius:!this.Dy&&n?m:0,borderBottomRadius:this.Dy&&r?m:0})}};return a});
define("oq","require kV cu og nC hm lc".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("og"),k=a("nC"),b=a("hm"),g=a("lc");a=d.extend(k,function(){k.call(this);this.qe("DropDown");this.zK=!1;this.Wd=this.oj=null;this.Npa=!0;this.$e=-1;this.ho=!1});a.prototype.lb=function(){k.prototype.lb.call(this);this.h("prompt","");this.h("label","");this.h("items",[]);this.h("selectedIndex",-1);this.h("arrowBeforeLabel");this.h("arrowWidth",9);this.h("arrowHeight",5);this.h("arrowGap",5);this.h("borderRadius",
5);this.h("borderSize",1);this.h("backgroundColorDirection","vertical");this.h("horizontalAlign","left");this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("fontFamily");this.h("fontSize");this.h("fontColor","#555555");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.h("popUpGap",
0);this.h("popUpBorderRadius");this.h("popUpPaddingBottom",2);this.h("popUpPaddingLeft",5);this.h("popUpPaddingRight",5);this.h("popUpPaddingTop",2);this.h("popUpShadow",!0);this.h("popUpShadowBlurRadius");this.h("popUpShadowColor");this.h("popUpShadowHorizontalLength");this.h("popUpShadowOpacity");this.h("popUpShadowSpread");this.h("popUpShadowVerticalLength");this.h("popUpBackgroundColor","#FFFFFF");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor");
this.h("popUpFontColor","#555555");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("borderColor","#AAAAAA");this.h("arrowColor","#000000");this.h("backgroundColor",["#FAFAFA","#E5E5E5"]);this.h("backgroundColorRatios",[0,1]);this.h("shadow",!1);this.h("rollOverBorderColor");this.h("rollOverArrowColor");this.h("rollOverBackgroundColor");this.h("rollOverBackgroundColorRatios");this.h("rollOverShadow");this.h("pressedBorderColor");this.h("pressedArrowColor");this.h("pressedBackgroundColor");
this.h("pressedBackgroundColorRatios");this.h("pressedShadow");this.h("pressedRollOverBorderColor");this.h("pressedRollOverArrowColor");this.h("pressedRollOverBackgroundColor");this.h("pressedRollOverBackgroundColorRatios");this.h("pressedRollOverShadow")};a.prototype.xb=function(){k.prototype.xb.call(this);this.Wd||(this.Wd=new b,this.Wd.bind(l.fc,this.DJa,this),this.Wd.bind(l.OPEN,this.YJa,this),this.Wd.bind(l.RD,this.e6,this),this.Wd.bind(l.od,this.CJa,this),this.Wd.set("width","100%"),this.Wd.set("height",
"100%"),this.Ua(this.Wd));this.oj||(this.oj=new g,this.oj.bind(l.RD,this.e6,this),this.oj.bind(l.mn,this.mKa,this),this.Hb().Ua(this.oj))};a.prototype.DJa=function(){this.Npa=!0;this.ee()};a.prototype.YJa=function(){this.Wd.open();this.oj.set("selectedIndex",this.get("selectedIndex"));this.oj.open(this.Wd)};a.prototype.e6=function(){this.Wd.close();this.oj.close()};a.prototype.CJa=function(){this.Wd.close();this.oj.close()};a.prototype.mKa=function(){this.set("selectedIndex",this.oj.get("selectedIndex"));
this.e6();this.ho=!0};a.prototype.Ta=function(){var f=!1;if(this.H("prompt")||this.H("label"))f=!0,this.P("label"),this.P("prompt");if(this.H("selectedIndex")||this.H("items")){f=!0;var c=this.B("selectedIndex"),e=this.B("items");0<=c&&c>=e.length&&(c=-1);this.set("selectedIndex",c);this.oj.set("items",this.B("items"));this.oj.set("selectedIndex",this.B("selectedIndex"));this.P("items");this.P("selectedIndex");this.ho&&(this.ho=!1,this.trigger(new h(l.sa)))}f&&(f=this.B("label"),f||(c=this.B("selectedIndex"),
f=0>c?this.B("prompt"):this.B("items")[c]),this.Wd.set("label",f));this.Npa&&(this.oj.set("minWidth",this.Wd.Va()),this.oj.set("buttonWidth",this.Wd.Va()));this.ic("fontFamily fontSize fontColor fontWeight fontStyle textDecoration horizontalAlign textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),{},[this.Wd,this.oj],!0,!0);this.ic("popUpBorderRadius popUpGap popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop popUpBackgroundColor popUpBackgroundOpacity rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "),
{},[this.oj],!0,!0);this.ic("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".split(" "),
{},[this.Wd],!0,!0);k.prototype.Ta.call(this)};return a});
define("fu",["require","x","og","nc","oq"],function(a){var d=a("x"),h=a("og"),l=a("nc"),k=a("oq");a=l.define("DropDown",k,function(){k.call(this);this.ld=null;this.ska=[];this.bind(h.sa,this.GJa,this)});a.prototype.set=function(b,g){if("playList"==b){if(this.ld)for(this.ld.unbind("change",this.Cu,this);this.ska.length;)this.ska.shift().qz();(this.ld=g)?(d.Is(this.ld,"items.label",this.AW,this),d.Is(this.ld,"items.media.label",this.AW,this),this.AW(),this.ld.bind("change",this.Cu,this),this.Cu()):
this.AW()}k.prototype.set.call(this,b,g)};a.prototype.AW=function(){this.ld?this.set("items",this.ld.get("items").map(function(b){return b.get("label")||b.get("media")&&b.get("media").get("label")})):this.set("items",[])};a.prototype.Cu=function(){this.set("selectedIndex",this.ld.get("selectedIndex"))};a.prototype.GJa=function(){this.ld&&this.ld.set("selectedIndex",this.get("selectedIndex"))};return a});
define("dh",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("DustPanoramaOverlay",d,function(){d.call(this)});a.prototype.get=function(h,l){"startState"==h&&void 0===l&&(l=this.get("initialState"));return d.prototype.get.call(this,h,l)};return a});
define("bz",["require","nc","ej"],function(a){var d=a("nc"),h=a("ej");a=d.define("Effect",h,function(){h.call(this)});a.prototype.cancel=function(){return h.prototype.cancel.apply(this,arguments)};a.prototype.getPosition=function(){return h.prototype.Ek.apply(this,arguments)};a.prototype.play=function(){return h.prototype.play.apply(this,arguments)};a.prototype.reverse=function(){return h.prototype.reverse.apply(this,arguments)};a.prototype.stop=function(){return h.prototype.stop.apply(this,arguments)};
return a});define("ju",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("ExternalModel3DObject",h,function(){h.call(this)})});
define("bm",["require","kV","ej"],function(a){var d=a("kV"),h=a("ej");a=d.extend(h,function(){h.call(this);this.G0=this.F0=null});a.prototype.JG=function(){h.prototype.JG.call(this);this.F0=[];this.G0=[];this.gx(function(l){this.F0.push(this.get("alphaFrom",l.Dk()));this.G0.push(this.get("alphaTo",l.Dk()))});this.fV()};a.prototype.Xu=function(){h.prototype.Xu.call(this);this.fV()};a.prototype.fV=function(){this.gx(function(l,k){var b=this.F0[k];k=b+(this.G0[k]-b)*this.Ek();!(0<l.Dk()&&l.qb)&&0<k?
(l.Ti(0),l.Rf(!0),l.Ti(k)):0==k?(l.Rf(!1),l.Ti(1)):l.Ti(k)})};a.prototype.HG=function(){this.fV();h.prototype.HG.call(this)};a.prototype.IG=function(){this.fV();h.prototype.IG.call(this)};return a});define("mU",["require","kV","bm"],function(a){var d=a("kV"),h=a("bm");return d.extend(h,function(){h.call(this);this.set("alphaFrom",0);this.set("alphaTo",1)})});define("ng",["require","nc","mU"],function(a){var d=a("nc"),h=a("mU");return d.define("FadeInEffect",h,function(){h.call(this)})});
define("nm",["require","kV","bm"],function(a){var d=a("kV"),h=a("bm");return d.extend(h,function(){h.call(this);this.set("alphaFrom",1);this.set("alphaTo",0)})});define("jo",["require","nc","nm"],function(a){var d=a("nc"),h=a("nm");return d.define("FadeOutEffect",h,function(){h.call(this)})});
define("fJ","require lw og kx nc kY".split(" "),function(a){var d=a("lw"),h=a("og"),l=a("kx"),k=a("nc"),b=a("kY");a=k.define("Model3DCamera",d,function(){d.call(this);this.set("userInteracting",!1);this.set("moving",!1);"distance fov yaw pitch x y z".split(" ").forEach(function(g){this.bind(h.G(g),this.fKa,this,!0)}.bind(this))});a.prototype.kXa=function(){this.jqa={x:this.get("x"),y:this.get("y"),z:this.get("z"),yaw:this.get("yaw"),pitch:this.get("pitch"),distance:this.get("distance"),fov:this.get("fov")}};
a.prototype.sNa=function(g){for(var f in g)this.jqa[f]=g[f]};a.prototype.fKa=function(){this.Ena||(this.Ena=!0,b.hz(function(){this.Ena=!1;this.$Oa()}.bind(this)))};a.prototype.$Oa=function(){this.trigger(h.et)};a.dYa=100;a.prototype.setStoredPosition=function(g){this.sNa(g)};a.prototype.play=function(){this.set("state",l.X)};a.prototype.pause=function(){this.set("state",l.Cb)};a.prototype.stop=function(){this.set("state",l.S)};return a});
define("ko",["require","nc","fJ"],function(a){var d=a("nc"),h=a("fJ");return d.define("FirstPersonModel3DCamera",h,function(){h.call(this);this.set("distance",0)})});
define("cG",["require","lw","og","nc","ej"],function(a){var d=a("lw"),h=a("og"),l=a("nc"),k=a("ej");a=l.define("HotspotPanoramaOverlay",d,function(){d.call(this);this.bind(h.hd,this.ek,this,!0);this.bind(h.od,this.$j,this,!0);this.Uh=[];this.qb=!1});a.prototype.set=function(b,g){switch(b){case "enabledInCardboard":this.set("enabledInVR",g);break;case "effect":case "rollOverEffect":case "areas":this.wLa(),this.Uh=[]}d.prototype.set.call(this,b,g);switch(b){case "enabledInCardboard":this.set("enabledInVR",
g);break;case "effect":case "rollOverEffect":case "areas":this.qBa()}};a.prototype.qBa=function(){this.get("effect")&&this.get("effect").bind(k.Qs,this.Jla,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").bind(k.Qs,this.Vma,this,!0);this.get("areas",[]).forEach(function(b){b.bind(h.$c,this.yla,this,!0);b.bind(h.ac,this.xla,this,!0)}.bind(this))};a.prototype.wLa=function(){this.get("effect")&&this.get("effect").unbind(k.Qs,this.Jla,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").unbind(k.Qs,
this.Vma,this,!0);this.get("areas",[]).forEach(function(b){b.unbind(h.$c,this.yla,this,!0);b.unbind(h.ac,this.xla,this,!0)}.bind(this))};a.prototype.yla=function(b){0>this.Uh.indexOf(b.source)&&(this.Uh.push(b.source),1==this.Uh.length&&this.ZF())};a.prototype.xla=function(b){b=this.Uh.indexOf(b.source);0<=b&&(this.Uh.splice(b,1),0==this.Uh.length&&this.Am())};a.prototype.ZF=function(){var b=this.get("effect"),g=this.get("rollOverEffect");g&&(b&&0<b.Ek()?b.reverse():g.play())};a.prototype.Am=function(){var b=
this.get("rollOverEffect");if(b){var g=this.get("effect");0<b.Ek()?b.reverse():g&&g.get("loop")&&g.play()}};a.prototype.Jla=function(){if(0<this.Uh.length){var b=this.get("rollOverEffect");b&&(this.get("effect").stop(),b.play())}};a.prototype.Vma=function(){if(0==this.Uh.length){this.get("rollOverEffect").stop();var b=this.get("effect");b&&b.get("loop")&&b.play()}};a.prototype.ek=function(){var b=this.get("effect");b&&b.play()};a.prototype.$j=function(){var b=this.get("effect");b&&b.stop();(b=this.get("rollOverEffect"))&&
b.stop()};return a});define("mg",["require","nc","cG"],function(a){var d=a("nc"),h=a("cG");return d.define("FlatHotspotPanoramaOverlay",h,function(){h.call(this)})});define("t",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("HotspotPanoramaOverlayArea",d,function(){d.call(this);this.set("displayTooltipInTouchScreens",!0)})});define("fo",["require","nc","t"],function(a){var d=a("nc"),h=a("t");return d.define("FlatHotspotPanoramaOverlayArea",h,function(){h.call(this)})});
define("hC",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("QuadPanoramaOverlayPlaybackPosition",d,function(h,l,k){d.call(this);void 0!==h&&this.set("vertices",h);this.set("opacity",void 0!==l?l:1);void 0!==k&&this.set("timestamp",k)})});
define("dT",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("FlatPanoramaOverlayPlaybackPosition",d,function(h,l,k,b,g){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==l&&this.set("pitch",l);void 0!==k&&this.set("roll",k);this.set("opacity",void 0!==b?b:1);void 0!==g&&this.set("timestamp",g)})});
define("fU",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaOverlayPlaybackPosition",d,function(h,l,k,b,g,f,c,e,m){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==l&&this.set("pitch",l);void 0!==k&&this.set("rotationX",k);void 0!==b&&this.set("rotationY",b);void 0!==g&&this.set("roll",g);void 0!==f&&this.set("hfov",f);void 0!==c&&this.set("vfov",c);this.set("opacity",void 0!==e?e:1);void 0!==m&&this.set("timestamp",m)})});
define("cx",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaPoint",d,function(h,l){d.call(this);this.set("yaw",h);this.set("pitch",l)})});
define("T",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PopupPanoramaOverlayPlaybackPosition",d,function(h,l,k,b,g,f,c){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==l&&this.set("pitch",l);void 0!==k&&this.set("rotationX",k);void 0!==b&&this.set("rotationY",b);void 0!==g&&this.set("rotationZ",g);void 0!==f&&this.set("hfov",f);void 0!==c&&this.set("timestamp",c)})});
define("jU","require lw hC dT fU cx T".split(" "),function(a){var d=a("lw"),h=a("hC"),l=a("dT"),k=a("fU"),b=a("cx"),g=a("T");return{vSa:function(f){return this.qS(f,this.NFa)},Raa:function(f){return this.qS(f,this.UKa)},OSa:function(f){return this.qS(f,this.aLa)},Saa:function(f){return this.qS(f,this.jLa)},NFa:function(f){return new l(d.prototype.get.call(f,"yaw",0),d.prototype.get.call(f,"pitch",0),d.prototype.get.call(f,"roll",0),d.prototype.get.call(f,"opacity",1),0)},jLa:function(f){var c=d.prototype.get.call(f,
"vertices",[null,null,null,null]);return new h([c[0]||new b(0,0),c[1]||new b(0,0),c[2]||new b(0,0),c[3]||new b(0,0)],d.prototype.get.call(f,"opacity",1),0)},UKa:function(f){function c(e,m){return d.prototype.get.call(f,e,m)}return new k(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("roll",0),c("hfov",void 0===c("vfov")?45:void 0),c("vfov"),c("opacity",1),0)},aLa:function(f){function c(e,m){return d.prototype.get.call(f,e,m)}return new g(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",
0),c("rotationZ",0),c("hfov",45),0)},qS:function(f,c){var e=d.prototype.get.call(f,"playbackPositions")||[];return 0<e.length?e.slice().sort(function(m,q){return m.get("timestamp")-q.get("timestamp")||e.indexOf(m)-e.indexOf(q)}):[c(f)]}}});
define("iO",["require","lw","og","nc","jU"],function(a){var d=a("lw"),h=a("og"),l=a("nc"),k=a("jU");a=l.define("FlatHotspotPanoramaOverlayImageBase",d,function(){d.call(this);this.cd=void 0});a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.cd&&(this.cd=k.vSa(this)),this.cd}return d.prototype.get.call(this,b,g)};a.prototype.set=function(b,g){var f=!1;switch(b){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.cd=void 0,
f=!0}d.prototype.set.call(this,b,g);f&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};return a});define("p",["require","nc","iO"],function(a){var d=a("nc"),h=a("iO");return d.define("FlatHotspotPanoramaOverlayImage",h,function(){h.call(this)})});define("dN",["require","nc","iO"],function(a){var d=a("nc"),h=a("iO");return d.define("FlatHotspotPanoramaOverlayMap",h,function(){h.call(this)})});
define("nW",["require","nc","fJ"],function(a){var d=a("nc"),h=a("fJ");return d.define("FlyOverModel3DCamera",h,function(){h.call(this)})});
define("mu",["require","lw","og","nc","jU"],function(a){var d=a("lw"),h=a("og"),l=a("nc"),k=a("jU");a=l.define("FramePanoramaOverlay",d,function(){d.call(this);this.cd=void 0});a.prototype.set=function(b,g){var f=!1;switch(b){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.cd=void 0,f=!0}d.prototype.set.call(this,b,g);f&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===
this.cd&&(this.cd=k.Raa(this)),this.cd}return d.prototype.get.call(this,b,g)};return a});define("de",["require","dY","kV","nC","d"],function(a){var d=a("dY"),h=a("kV"),l=a("nC");a=a("d");var k=h.extend(l,function(){l.call(this)});k.tc={layout:a.jw};d.defaults(k.tc,l.tc);k.prototype.lb=function(){this.yn(k.tc)};return k});define("jt",["require","nc","de"],function(a){var d=a("nc"),h=a("de");return d.define("GridContainer",h,function(){h.call(this)})});
define("iX","require dY jquery.mod cu fV og hE lQ kd ib kV".split(" "),function(a){function d(){}function h(p){this.LUa=p;this.items=[];this.priority=0}var l=a("dY");a("jquery.mod");var k=a("cu"),b=a("fV"),g=a("og"),f=a("hE"),c=a("lQ"),e=a("kd"),m=a("ib"),q=a("kV").extend(b,function(p){b.call(this);this.url=p;this.Qba=this.priority=0;this.status=q.$_;this.Xv=null});q.prototype.wba=function(p){this.Qba+=p};q.prototype.aI=function(p){this.priority+=p};q.prototype.start=function(){this.status=q.pQ;e.lZ(this.url)?
this.Gx():this.Hn=m.add(this.url,f.BZ,this.fMa.bind(this),this.Iga.bind(this))};q.prototype.fMa=function(){this.Xv=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.Xv.open("GET",this.url);this.Xv.onreadystatechange=function(){3<this.Xv.readyState&&this.Gx()}.bind(this);this.Xv.send()};q.prototype.Iga=function(){this.Xv&&(this.Xv.abort(),this.Xv=null)};q.prototype.stop=function(){this.status==q.pQ&&(this.status=q.$_,this.Iga(),this.Hn&&this.Hn.cancel())};q.prototype.Gx=
function(){this.Xv=null;this.Hn&&(this.Hn.loaded(),this.Hn=null);this.status=q.vAa;this.trigger(new k(g.aa))};q.$_="not loaded";q.pQ="loading";q.vAa="loaded";h.prototype.$Qa=function(p){p.forEach(function(n){0>this.items.indexOf(n)&&(this.items.push(n),n.aI(this.priority),n.wba(1))}.bind(this))};h.prototype.VUa=function(p){var n=this.items;this.items=[];n.forEach(function(r){0>p.indexOf(r)?this.items.push(r):(r.aI(-this.priority),r.wba(-1))}.bind(this))};h.prototype.NUa=function(){this.items.forEach(function(p){p.aI(-this.priority);
p.wba(-1)}.bind(this));this.items=[];this.priority=0};h.prototype.aI=function(p){this.priority+=p;this.items.forEach(function(n){n.aI(p)})};d.Yd=[];d.joa=[];d.WFa=0;d.msa=function(p,n){this.bV(p).$Qa(n.map(function(r){return this.wa(r)}.bind(this)));this.VV();this.ca()};d.ZUa=function(p,n){this.bV(p).VUa(n.map(function(r){return this.wa(r)}.bind(this)));this.VV();this.ca()};d.OUa=function(p){this.bV(p).NUa();this.VV();this.ca()};d.uY=function(p,n){this.bV(p).aI(n);this.VV();this.ca()};d.VV=function(){this.Yd.sort(function(p,
n){return n.priority-p.priority})};d.ca=function(p){if(this.enabled()&&(p||!this.bs))if(p){this.bs&&clearTimeout(this.bs);this.bs=null;p=this.RGa();var n=this.SGa();l(p).difference(n).forEach(function(r){r.stop()});l(n).difference(p).forEach(function(r){r.start()})}else this.bs=setTimeout(function(){this.bs=null;this.ca(!0)}.bind(this),1E3)};d.bs=null;d.RGa=function(){return this.Yd.filter(function(p){return p.status==q.pQ})};d.SGa=function(){for(var p=this.TGa(),n=[],r=0;r<this.Yd.length&&n.length<
p;r++){var t=this.Yd[r];0<t.Qba&&(t.status==q.$_||t.status==q.pQ)&&n.push(t)}return n};d.TGa=function(){return 0<this.WFa?0:5};d.bV=function(p){var n=l(this.joa).find(function(r){return r.LUa==p});n||(n=new h(p),this.joa.push(n));return n};d.wa=function(p){var n=l(this.Yd).find(function(r){return r.url==p});n||(n=new q(p),n.bind(g.aa,this.ca,this),this.Yd.push(n));return n};d.enabled=function(p){if(void 0===p)return d.UEa||d.VEa?!1:void 0!==d.e3?d.e3:d.T;d.T=p};d.T=!0;d.Gca=function(p){d.e3=p.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)};
d.e3=void 0;d.VEa=c.Ph("disable-background-preload",!1);d.UEa=!1;return d});define("ef",["require","kV","lw","nc","iX"],function(a){var d=a("kV"),h=a("lw"),l=a("nc"),k=a("iX");a=l.define("Media",h,function(){h.call(this);this.f$=d.so(this.f$,this)});a.prototype.f$=function(){k.msa(this,this.ws())};a.prototype.ws=function(){return[]};a.prototype.XUa=function(){k.OUa(this)};a.prototype.set=function(b,g){h.prototype.set.call(this,b,g);this.f$()};return a});
define("eO",["require","nc","ef"],function(a){var d=a("nc"),h=a("ef");a=d.define("Panorama",h,function(){h.call(this);this.eT=this.KG=void 0;this.set("minFaceSize",void 0)});a.prototype.get=function(l,k){switch(l){case "overlays":return this.X3();case "frames":return this.gja();case "partial":if(359.9>this.get("hfov"))return!0}return h.prototype.get.call(this,l,k)};a.prototype.set=function(l,k){switch(l){case "cardboardMenu":this.set("vrMenu",k)}h.prototype.set.call(this,l,k)};a.prototype.X3=function(){var l=
h.prototype.get.call(this,"overlays");l||=[];return this.K8(l)};a.prototype.K8=function(l){if(void 0===this.KG||this.eT!=l){var k=function(g){return d.Ea("PopupPanoramaOverlay",g)},b=function(g){return d.Ea("LensFlarePanoramaOverlay",g)};this.eT=l;this.KG=[].concat(l.filter(function(g){return!(k(g)||b(g))}),l.filter(b),l.filter(k))}return this.KG};a.prototype.zua=function(){return 0<this.get("overlays").filter(function(l){return d.Ea("TripodCapPanoramaOverlay",l)}).length};a.prototype.oua=function(){return 0<
this.get("overlays").filter(function(l){return d.Ea("CeilingCapPanoramaOverlay",l)}).length};a.prototype.Pua=function(){if(!this.hba())return!1;var l=this.get("pitch",0),k=this.get("vfov",180);if(179.9<=k)return!0;var b=this.oua()?90:l+.5*k;l=this.zua()?-90:l-.5*k;return 179.9<=b-l?!0:!1};a.prototype.hba=function(){return 359.9<=this.get("hfov")&&!this.get("partial")};a.prototype.Hl=function(){var l=this.gja();return 0<l.length&&l[0].Hl()};a.prototype.MX=function(){return 0};a.prototype.gja=function(){var l=
h.prototype.get.call(this,"frames",[]);l.forEach(function(k){k.eRa(this)}.bind(this));return l};return a});define("mO",["require","nc","eO"],function(a){var d=a("nc"),h=a("eO");a=d.define("HDRPanorama",h,function(){h.call(this)});a.prototype.MX=function(){var l=this.get("frames")||[];return Math.floor((l.length-1)/2)};return a});define("lC",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("HotspotMapOverlayArea",d,function(){d.call(this)})});
define("lG",["require","lw","nc"],function(a){var d=a("lw"),h=a("nc").define("ImageResourceLevel",d,function(){d.call(this)});h.prototype.get=function(l,k){switch(l){case "tags":return(l=d.prototype.get.call(this,l))||(l=[]),Array.isArray(l)||(l=[l]),0>l.indexOf(h.Uq)&&d.prototype.get.call(this,"grayscale")&&(l=l.concat([h.Uq])),l}return d.prototype.get.call(this,l,k)};h.prototype.yua=function(l){return 0<=this.get("tags").indexOf(l)};h.Uq="preload";h.qQ="mobile";h.Hea="ipadpro";h.rQ="mobilevr";h.d0=
"mobilevr2gen";h.e0="ondemand";return h});
define("fN",["require","lG","u","lQ"],function(a){var d=a("lG"),h=a("u"),l=a("lQ");return{pq:function(k){return this.yj(k,"load")},bD:function(k){return this.yj(k,"preload")},SH:function(k){return this.pq(k)!=this.bD(k)},yj:function(k,b){k=k.get("levels")||[];var g=this.fGa(k);g=this.nHa(b,g);k=this.JFa(k,b);(b=this.rja(k,g[0],g[1],this.lHa(b)))||(b=this.rja(k,g[0],g[1],void 0));return b},JFa:function(k,b){"preload"==b?k=this.YJ(k,d.Uq):"load"==b&&(k=this.IFa(k,d.Uq));h.zv()&&(k=this.YJ(k,d.Hea));
h.lba()&&(k=this.YJ(k,d.d0));h.Ef()&&(k=this.YJ(k,d.rQ));h.kb()&&(k=this.YJ(k,d.qQ));return k},fGa:function(k){if(0==k.length)return 1;k.sort(function(b,g){return g.get("width")-b.get("width")});return k[0].get("width")/k[0].get("height")},nHa:function(k,b){if("preload"==k)return[0,0];k=1E4;this.PFa()||(h.Ef()?k=2048:h.zv()?k=2048:h.kb()&&(k=1024));return 1>b?[k*b,k]:[k,k/b]},lHa:function(k){if("load"==k)return!1},PFa:function(){return h.zv()&&l.Ph("recent_ipad_use_max_res",!1)},YJ:function(k,b){var g=
k.filter(function(f){return f.yua(b)});0==g.length&&(g=k);return g},IFa:function(k,b){var g=k.filter(function(f){return!f.yua(b)});0==g.length&&(g=k);return g},rja:function(k,b,g,f){function c(e){return Math.abs(e.get("width")*e.get("height")-b*g)}k=k.filter(function(e){return void 0!==f&&f!=e.get("grayscale",!1)?!1:!0});if(0==k.length)return null;k.sort(function(e,m){return c(e)-c(m)});return k[0]}}});
define("K",["require","lw","nc","fN"],function(a){var d=a("lw"),h=a("nc"),l=a("fN");a=h.define("HotspotMapOverlayImageBase",d,function(){d.call(this)});a.prototype.pq=function(){return this.get("image")?l.pq(this.get("image")):null};a.prototype.bD=function(){return this.get("image")?l.bD(this.get("image")):null};return a});define("kW",["require","kV","cu"],function(a){var d=a("kV"),h=a("cu");return d.extend(h,function(l,k){h.call(this,l);this.Og=k})});
define("cm",["require","kV","lw","og","kW"],function(a){var d=a("kV"),h=a("lw"),l=a("og"),k=a("kW");a=d.extend(h,function(){h.call(this);this.MN=[];this.Mf=void 0;this.A="initial"});a.prototype.xs=function(){return this.MN};a.prototype.CP=function(b){this.MN!=b&&(this.MN=b,this.Gx=this.Mf=void 0)};a.prototype.aWa=function(b){this.Mf!==b&&(this.A="loading",this.Mf=b,this.trigger(new k(l.rc,this.Mf)))};a.prototype.rca=function(){"loaded"!==this.A&&(this.A="loaded",this.trigger(l.aa))};a.prototype.AVa=
function(){"loaded"!==this.A&&(this.A="error",this.trigger(l.Fc))};return a});define("dd",["require","kV","cm"],function(a){var d=a("kV"),h=a("cm");a=d.extend(h,function(l){h.call(this);this.re=l;this.v=void 0});a.prototype.getType=function(){return this.re};a.prototype.nTa=function(l){return void 0!==this.v&&this.v===l.v};a.Rea="map";a.Sea="overlay";return a});
define("jz",["require","kV","dd"],function(a){var d=a("kV"),h=a("dd");a=d.extend(h,function(l,k,b){h.call(this,h.Sea);this.JKa=l;this.Ga=k;this.Ia=b});a.prototype.getX=function(){return this.Ga};a.prototype.getY=function(){return this.Ia};a.Qea="image";a.Oea="fov";return a});
define("lA",["require","kV","jz"],function(a){var d=a("kV"),h=a("jz");a=d.extend(h,function(l,k,b,g,f,c,e,m,q,p,n,r){h.call(this,h.Qea,b,g);this.v=l;this.ed=k;this.Ioa=f;this.su=c;this.tu=e;this.ea=m;this.ua=q;this.pf=p;this.Zk=n;this.Bl=r;this.MN=[k]});a.prototype.li=function(){return this.ed};a.prototype.nd=function(){return this.ea};a.prototype.$d=function(){return this.ua};return a});
define("gQ",["require","nc","K","fN","lA"],function(a){var d=a("nc"),h=a("K"),l=a("fN"),k=a("lA");a=d.define("HotspotMapOverlayImage",h,function(){h.call(this);this.ou=void 0});a.prototype.getItem=function(){return this.zj()};a.prototype.zj=function(){void 0===this.ou&&(this.ou=this.oX());return this.ou};a.prototype.oX=function(b){var g=this.get("image");return g?(g=l.pq(g),new k(this,g.get("url"),this.get("x"),this.get("y"),b,this.get("offsetX"),this.get("offsetY"),this.get("width"),this.get("height"),
this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"))):null};return a});define("N",["require","nc","K"],function(a){var d=a("nc"),h=a("K");return d.define("HotspotMapOverlayMap",h,function(){h.call(this)})});
define("fT",["require","lw","og","nc","jU"],function(a){var d=a("lw"),h=a("og"),l=a("nc"),k=a("jU");a=l.define("HotspotPanoramaOverlayImageBase",d,function(){d.call(this);this.cd=void 0});a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.cd&&(this.cd=k.Raa(this)),this.cd}return d.prototype.get.call(this,b,g)};a.prototype.set=function(b,g){var f=!1;switch(b){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.cd=
void 0,f=!0}d.prototype.set.call(this,b,g);f&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};return a});define("lk",["require","nc","fT"],function(a){var d=a("nc"),h=a("fT");return d.define("HotspotPanoramaOverlayImage",h,function(){h.call(this)})});define("X",["require","nc","fT"],function(a){var d=a("nc"),h=a("fT");return d.define("HotspotPanoramaOverlayMap",h,function(){h.call(this)})});
define("kX",["require"],function(){function a(m){var q={};m=m.split(",");for(var p=0;p<m.length;p++)q[m[p]]=!0;return q}var d=/^<([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,h=/^<\/([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)[^>]*>/,l=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,k=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),b=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"),
g=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"),f=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),c=a("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),e=a("script,style");return function(m,q){function p(w,x,y,A){x=x.toLowerCase();if(b[x])for(;r.last()&&g[r.last()];)n("",r.last());f[x]&&
r.last()==x&&n("",x);(A=k[x]||!!A)||r.push(x);if(q.start){var B=[];y.replace(l,function(z,C,E,F,G){z=E?E:F?F:G?G:c[C]?C:"";B.push({name:C,value:z,vaa:z.replace(/(^|[^\\])"/g,'$1\\"')})});q.start&&q.start(x,B,A)}}function n(w,x){if(x)for(x=x.toLowerCase(),w=r.length-1;0<=w&&r[w]!=x;w--);else w=0;if(0<=w){for(x=r.length-1;x>=w;x--)q.end&&q.end(r[x]);r.length=w}}var r=[],t=m;for(r.last=function(){return this[this.length-1]};m;){var u=!0;if(r.last()&&e[r.last()])m=m.replace(new RegExp("(.*?)</"+r.last()+
"[^>]*>"),function(w,x){x=x.replace(/\x3c!--(.*?)--\x3e/g,"$1").replace(/<!\[CDATA\[(.*?)]]\x3e/g,"$1");q.eO&&q.eO(x);return""}),n("",r.last());else{if(0==m.indexOf("\x3c!--")){var v=m.indexOf("--\x3e");0<=v&&(q.zRa&&q.zRa(m.substring(4,v)),m=m.substring(v+3),u=!1)}else if(0==m.indexOf("</")){if(v=m.match(h))m=m.substring(v[0].length),v[0].replace(h,n),u=!1}else 0==m.indexOf("<")&&(v=m.match(d))&&(m=m.substring(v[0].length),v[0].replace(d,p),u=!1);u&&(v=m.indexOf("<"),u=0>v?m:m.substring(0,v),m=0>
v?"":m.substring(v),q.eO&&q.eO(u))}if(m==t)throw"Parse Error: "+m;t=m}n()}});
define("fh","require jquery.mod dY kV og cu fV u kX".split(" "),function(a){var d=a("jquery.mod");a("dY");var h=a("kV"),l=a("og"),k=a("cu"),b=a("fV"),g=a("u"),f=a("kX"),c=h.extend(b,function(e){b.call(this);this.kf=d(e);this.CM=[];this.Yw=null});c.prototype.CTa=function(e){e&&0<=e.toLowerCase().indexOf("<script")?g.sH()==g.BI?this.lIa(e):this.kIa(e):this.jIa(e)};c.prototype.jIa=function(e){this.kf.empty();e&&this.kf.append(e);this.Hqa()};c.prototype.lIa=function(e){this.kf.empty();var m=this.kf,q=
null,p=[],n=null;new f(e,{start:function(r,t,u){if("script"==r){u=void 0;for(var v=0;v<t.length&&void 0===u;v++){var w=t[v];"src"==w.name&&(u=w.value)}n={parent:m,previousSibling:q,src:u,content:""}}else{var x={};for(v=0;v<t.length;v++)w=t[v],x[w.name]=w.value;t=d("<"+r+"/>");t.attr(x);m.append(t);u?q=t:(m=t,q=null)}},eO:function(r){n?n.content+=r:m.append(r)},end:function(r){"script"==r?(p.push(n),n=null):(q=m,m=m.parent())}});this.CM=p;this.kT()};c.prototype.kIa=function(e){function m(){p++;return q+
p}this.kf.empty();var q="fragment_"+h.KUa(6)+"_",p=0,n=m(),r=[n],t=void 0,u=[],v=null,w="";new f(e,{start:function(A,B,z){if("script"==A){z=void 0;for(A=0;A<B.length&&void 0===z;A++){var C=B[A];"src"==C.name&&(z=C.value)}v={parentClsName:r[r.length-1],previousSiblingClsName:t,src:z,content:""}}else{w+="<"+A;var E=m(),F=!1;for(A=0;A<B.length;A++)C=B[A],"class"==C.name&&(C.vaa+=" "+E,F=!0),w+=" "+C.name+'="'+C.vaa+'"';F||(w+=' class="'+E+'"');z?(w+="/>",t=E):(w+=">",r.push(E),t=void 0)}},eO:function(A){v?
v.content+=A:w+=A},end:function(A){"script"==A?(u.push(v),v=null):(t=r[r.length-1],r.pop())}});this.kf.get(0).innerHTML=w;this.kf.addClass(n);for(e=0;e<u.length;e++){var x=u[e],y=x.parentClsName;delete x.parentClsName;t=x.previousSiblingClsName;delete x.previousSiblingClsName;x.parent=d("."+y);x.previousSibling=t?d("."+t):null}this.kf.removeClass(n);this.CM=u;this.kT()};c.prototype.kT=function(){if(!this.Yw)if(0<this.CM.length){this.Yw=this.CM[0];this.CM.splice(0,1);var e=this.Yw.src;if(e){var m=
this;c.WIa(e,function(){m.Dka()},function(){m.cJa()})}else{var q=this.Yw.parent;e=this.Yw.previousSibling;var p=e?e.next():q.children(":first");e=document.write;document.write=p.length?function(n){p.before(n)}:function(n){q.append(n)};d.globalEval(this.Yw.content);document.write=e;this.Dka()}}else this.Hqa()};c.prototype.cJa=function(){this.Yw=null;this.kT()};c.prototype.Dka=function(){this.Yw=null;this.kT()};c.prototype.Hqa=function(){this.trigger(new k(l.rb))};c.Bka={};c.WIa=function(e,m,q){c.Bka[e]?
m.call(window):d.ajax({url:e,async:!1,dataType:"script",error:q,success:function(){c.Bka[e]=!0;m.call(window)}})};return c});
define("mm",["require","kV","og","cu","fV"],function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV");a=d.extend(k,function(b,g){k.call(this);this.uIa=b;this.T=g;this.Oi=null});a.prototype.bind=function(){var b=k.prototype.bind.apply(this,arguments);this.JN();return b};a.prototype.unbind=function(){var b=k.prototype.unbind.apply(this,arguments);this.JN();return b};a.prototype.start=function(){this.T=!0;this.JN()};a.prototype.stop=function(){this.T=!1;this.JN()};a.prototype.OL=function(){this.trigger(new l(h.ve))};
a.prototype.JN=function(){if(this.T&&this.nua(h.ve)){if(null==this.Oi){var b=this;this.Oi=setTimeout(function(){b.Oi=null;b.OL();b.JN()},this.uIa)}}else null!=this.Oi&&(clearTimeout(this.Oi),this.Oi=null)};return a});
define("kU","require jquery.mod dY kV og hT my e fh hd mm".split(" "),function(a){var d=a("jquery.mod"),h=a("dY"),l=a("kV"),k=a("og"),b=a("hT"),g=a("my"),f=a("e"),c=a("fh"),e=a("hd");a=a("mm");var m=l.extend(f,function(){f.call(this);this.qe("HTML");this.BA=m.vQ;this.Tna=this.Una=0;this.Opa=(new Date).getTime();this.KR=this.$i=null;this.qE=this.qE.bind(this);this.N0=[]});m.prototype.lb=function(){f.prototype.lb.call(this);this.h("content");this.h("horizontalAlign",g.Ma);this.h("verticalAlign",g.ae);
this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");this.h("textAlign");this.h("textDecoration");this.h("textShadowBlurRadius",3);this.h("textShadowColor","#000000");this.h("textShadowHorizontalLength",0);this.h("textShadowOpacity",0);this.h("textShadowVerticalLength",0)};m.prototype.Qr=function(p){this.bb&&b.get(this.bb).QUa(this.qE);f.prototype.Qr.call(this,p);this.bb&&(b.get(this.bb).TQa(this.qE),b.get(this.bb).wH(this.qE))};m.prototype.xb=function(){f.prototype.xb.call(this);
if(!this.KR){this.$i=document.createElement("div");this.KR=d(this.$i);this.N2({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var p=this.yb();p.lI(!1);p.append(this.KR);this.Pja=new c(this.KR);this.Pja.bind(k.rb,this.ZHa,this,!0);this.bind(k.fc,this.Qja,this)}};m.prototype.Ta=function(){var p={},n=!1;this.H("visible")&&(n=!0);this.H("content")&&(n=this.B("content"),this.Pja.CTa(n),this.P("content"),n=!0);if(this.H("width")||this.H("height"))n=!0;this.H("fontFamily")&&
(n=this.B("fontFamily"),h(n).isString()||(n=""),p.fontFamily=e.qv(n),this.P("fontFamily"),n=!0);this.H("fontSize")&&(n=this.B("fontSize"),h(n).isNumber()?n+="px":h(n).isString()||(n=""),p.fontSize=n,this.P("fontSize"),n=!0);this.H("fontColor")&&(n=this.B("fontColor"),h(n).isString()||(n=""),p.color=n,this.P("fontColor"),n=!0);if(this.H("fontWeight")){n=this.B("fontWeight");switch(n){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:n="normal"}p.fontWeight=n;this.P("fontWeight");n=!0}if(this.H("fontStyle")){n=this.B("fontStyle");switch(n){case "italic":case "normal":break;default:n="normal"}p.fontStyle=n;this.P("fontStyle");n=!0}if(this.H("textDecoration")){n=this.B("textDecoration");switch(n){case "underline":case "overline":case "line-through":case "none":break;default:n="none"}p.textDecoration=n;this.P("textDecoration");n=!0}if(this.H("textAlign")){n=this.B("textAlign");switch(n){case "left":case "right":case "center":case "justify":break;
default:n=""}p["text-align"]=n;this.P("textAlign");n=!0}var r=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(h(r).any(function(u){return this.H(u)},this)){var t={};h(r).each(function(u){t[u]=this.B(u);this.P(u)},this);p["-moz-text-shadow"]=p["-webkit-text-shadow"]=p["text-shadow"]=[t.textShadowHorizontalLength+"px",t.textShadowVerticalLength+"px",t.textShadowBlurRadius+"px","rgba("+parseInt("0x"+t.textShadowColor.substr(1,
2))+", "+parseInt("0x"+t.textShadowColor.substr(3,2))+", "+parseInt("0x"+t.textShadowColor.substr(5,2))+", "+t.textShadowOpacity+")"].join(" ");r=0==t.textShadowVerticalLength&&0==this.B("textShadowHorizontalLength")?135:45*Math.round(4*Math.atan2(t.textShadowHorizontalLength,-t.textShadowVerticalLength)/Math.PI);p.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*t.textShadowOpacity).toString(16)).slice(-2)+t.textShadowColor.substr(1,6)+",direction="+r+")"}h(["paddingTop","paddingRight",
"paddingBottom","paddingLeft"]).any(function(u){return this.H(u)},this)&&(n=!0);this.N2(p);f.prototype.Ta.call(this);n&&this.ela()};m.prototype.ela=function(){this.Qja();this.Tb();this.B("visible")&&this.B("content")?this.GM(m.dfa):this.GM(m.vQ)};m.prototype.Ey=function(p,n){for(n=p.target;n&&"A"!=n.tagName&&"BUTTON"!=n.tagName;)n=n.parentElement;n=!n;f.prototype.Ey.call(this,p,n)};m.prototype.ru=function(){f.prototype.ru.call(this);var p=this.yb();this.el=this.$i.clientWidth+p.MH()+p.PH();this.dl=
this.$i.clientHeight+p.QH()+p.IH()};m.prototype.rpa=function(p){this.Z3()!=p&&(this.$i.style.paddingLeft=p+"px",this.Tb())};m.prototype.Z3=function(){return parseInt(this.$i.style.paddingLeft)||0};m.prototype.tpa=function(p){this.b4()!=p&&(this.$i.style.paddingTop=p+"px",this.Tb())};m.prototype.b4=function(){return parseInt(this.$i.style.paddingTop)||0};m.prototype.spa=function(p){this.a4!=p&&(this.$i.style.paddingRight=p+"px",this.Tb())};m.prototype.a4=function(){return parseInt(this.$i.style.paddingRight)||
0};m.prototype.qpa=function(p){this.Y3()!=p&&(this.$i.style.paddingBottom=p+"px",this.Tb())};m.prototype.Y3=function(){return parseInt(this.$i.style.paddingBottom)||0};m.prototype.ZHa=function(){this.N0=Array.prototype.slice.call(this.$i.querySelectorAll("*[style]")).map(function(p){var n={};n.DH=p;n.style=p.getAttribute("style");return n}).filter(function(p){return q.test(p.style)}).map(function(p){for(var n=p.style,r=[];;){var t=q.exec(n);if(t)r.push(function(u){return function(){return u}}(n.substr(0,
t.index+1))),r.push(function(u,v){switch(v){case "vw":return function(w){return Math.round(w*u)+"px"};case "vh":return function(w,x){return Math.round(x*u)+"px"};case "vmin":return function(w,x,y){return Math.round(y*u)+"px"};case "vmax":return function(w,x,y){return Math.round(y*u)+"px"}}}(parseFloat(t[1]),t[3].toLowerCase())),n=n.substr(t.index+t[0].length);else return r.push(function(u){return function(){return u}}(n)),p.functions=r,p}});this.bb&&b.get(this.bb).wH(this.qE)};m.prototype.qE=function(p,
n,r,t){0!=this.N0.length&&(this.N0.forEach(function(u){var v=u.functions.map(function(w){return w(p,n,r,t)}).join("");u.DH.setAttribute("style",v)}),this.ela())};m.prototype.Qja=function(){var p={width:"auto",height:"auto"},n=this.yb();if(!this.o4()){this.el!=this.ea&&this.Tb();var r=this.ea-(n.MH()+n.PH());0<r&&(p.width=r+"px")}this.Jja()||(this.dl!=this.ua&&this.Tb(),n=this.ua-(n.QH()+n.IH()),0<n&&(p.height=n+"px"));this.N2(p)};m.prototype.Dla=function(){var p=this.$i.clientWidth,n=this.$i.clientHeight;
this.Una!=p||this.Tna!=n?(this.Una=p,this.Tna=n,this.Tb(),this.GM(m.dfa)):(p=(new Date).getTime()-this.Opa,p>m.fBa?this.GM(m.VAa):p>m.eBa&&this.GM(m.UAa))};m.prototype.SLa=function(){this.Opa=(new Date).getTime()};m.prototype.GM=function(p){this.BA==m.SXa&&this.SLa();this.BA!=p&&(this.BA!=m.vQ&&m.Tga[this.BA].unbind(k.ve,this.Dla,this),this.BA=p,this.BA!=m.vQ&&m.Tga[this.BA].bind(k.ve,this.Dla,this,!0))};m.prototype.N2=function(p){var n=this.$i.style,r;for(r in p)n[r]=p[r]};var q=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i;
m.vQ="stopped";m.VAa="slow";m.UAa="normal";m.dfa="fast";m.fBa=3E4;m.eBa=5E3;m.Tga={slow:new a(2E3,!0),normal:new a(500,!0),fast:new a(100,!0)};return m});define("jO",["require","kU","nc"],function(a){var d=a("kU");return a("nc").define("HTML",d,function(){d.call(this)})});define("b",["require","dY","kV","nC","d"],function(a){var d=a("dY"),h=a("kV"),l=a("nC");a=a("d");var k=h.extend(l,function(){l.call(this)});k.tc={layout:a.QP};d.defaults(k.tc,l.tc);k.prototype.lb=function(){this.yn(k.tc)};return k});
define("iu",["require","kV","hs","b","kU"],function(a){var d=a("kV"),h=a("hs"),l=a("b"),k=a("kU");a=d.extend(l,function(){l.call(this);this.vx=null;this.set("contentOpaque",!0)});a.prototype.lb=function(){l.prototype.lb.call(this);this.h("overflow",h.Lo);this.h("html")};a.prototype.xb=function(){l.prototype.xb.call(this);null==this.vx&&(this.vx=new k,this.vx.fa({left:0}),this.Ua(this.vx))};a.prototype.Ta=function(){this.H("html")&&(this.vx.set("content",this.B("html")),this.P("html"));this.ic(["paddingLeft",
"paddingTop","paddingRight","paddingBottom"],{},[this.vx],!0,!0);this.ic(["cursor"],{},[this.vx],!0,!1);l.prototype.Ta.call(this);this.vx.set("width",this.o4()?void 0:"100%")};return a});define("bw",["require","iu","nc"],function(a){var d=a("iu");return a("nc").define("HTMLText",d,function(){d.call(this)})});
define("jK","require jquery.mod kV og cu lQ gZ bb lK gw dV me".split(" "),function(a){function d(r,t,u){return function(v){var w="mouse"==t?this.cB(v):this.mF(v);this.jka(w)?r.call(this,v):"release"==u?r.call(this,v):this.XFa(w,v)}}var h=a("jquery.mod"),l=a("kV"),k=a("og"),b=a("cu"),g=a("lQ"),f=a("gZ"),c=a("bb"),e=a("lK"),m=a("gw"),q=a("dV"),p=a("me"),n=g.Ri("debug");a=l.extend(p,function(){this.qe("Button");p.call(this,3);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor",
c.Se);this.set("scaleMode",e.jh);this.I1=document.createElement("canvas");this.I1.width=1;this.I1.height=1;this.J1=this.I1.getContext("2d");this.J1.globalCompositeOperation="copy";this.v3=!1;this.bind(k.ac,this.cIa,this)});a.prototype.lb=function(){p.prototype.lb.call(this);this.h("buttonGroup");this.h("mode",q.we);this.h("pressed");this.h("iconURL");this.h("transparencyActive");this.u("rollOverOpacity",m.V,"opacity");this.u("rollOverIconURL",m.V,"iconURL");this.u("pressedOpacity",m.mb,"opacity");
this.u("pressedIconURL",m.mb,"iconURL");this.u("pressedRollOverOpacity",m.Xb,"opacity");this.u("pressedRollOverIconURL",m.Xb,"iconURL")};a.prototype.E3=d(p.prototype.E3,"touch","capture");a.prototype.Dia=d(p.prototype.bGa,"touch");a.prototype.Fia=d(p.prototype.bGa,"touch","release");a.prototype.r9=d(p.prototype.r9,"touch","capture");a.prototype.q9=d(p.prototype.q9,"touch");a.prototype.Ey=d(p.prototype.Ey,"touch","release");a.prototype.N5=d(p.prototype.N5,"mouse","capture");a.prototype.S5=function(r){var t=
this.cB(r);if(this.jka(t)||this.v3)p.prototype.S5.call(this,r),p.prototype.set.call(this,"cursor",this.Gha);else{this.v3=!0;if(t=this.fja(t))h(t).trigger(this.cha(r)),r.preventDefault(),r.stopImmediatePropagation();"pointer"==this.aja(t)?p.prototype.set.call(this,"cursor",c.Se):p.prototype.set.call(this,"cursor",c.ve);this.v3=!1}};a.prototype.cIa=function(){p.prototype.set.call(this,"cursor",this.Gha)};a.prototype.DT=d(p.prototype.DT,"mouse","release");a.prototype.jka=function(r){if(!this.Ub)return!1;
if(this.get("transparencyActive"))return!0;var t=this.bb?this.bb.ey:1,u=this.Ub.offset(),v=(r.ez-u.left)/t,w=this.Ub.width();r=(r.fz-u.top)/t;t=this.Ub.height();if(0<=v&&0<=r&&v<w&&r<t){if(n)return!0;v=v*this.aG/w;w=r*this.$F/t;this.J1.drawImage(this.Ub.get(0),v,w,1,1,0,0,1,1);if(0<this.J1.getImageData(0,0,1,1).data[3])return!0}return!1};a.prototype.XFa=function(r,t){if(r=this.fja(r))h(r).trigger(this.cha(t)),t.preventDefault(),t.stopImmediatePropagation()};a.prototype.fja=function(r){this.jr().style.pointerEvents=
"none";r=document.elementFromPoint(r.ez,r.fz);setTimeout(function(){this.jr().style.pointerEvents=this.xja()}.bind(this),0);return r};a.prototype.cha=function(r){return h.extend(h.Event(r.type),{originalEvent:r.originalEvent,wheelDelta:r.wheelDelta,detail:r.detail,which:1,clientX:r.clientX,clientY:r.clientY,pageX:r.pageX,pageY:r.pageY,screenX:r.screenX,screenY:r.screenY})};a.prototype.aja=function(r){if(r){var t=r.style.cursor;"inherit"==t&&(t=this.aja(r.parentElement))}else t="default";return t};
a.prototype.lJ=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new b(k.Xl))):(this.set("pressed",!0),this.trigger(new b(k.Jj)))};a.prototype.set=function(r,t){"cursor"===r&&(this.Gha=t);return p.prototype.set.call(this,r,t)};a.prototype.Ta=function(){var r=!1;if(this.H("backgroundOpacityy")||this.H("backgroundColor"))r=!0;if(this.H("iconURL")){var t=this.B("iconURL");this.set("url",t);this.P("iconURL")}t=!1;this.H("mode")&&(this.B("mode")==q.we?(this.unbind(k.oa,this.lJ,this,!0),
this.set("autoPressed",!0)):(this.bind(k.oa,this.lJ,this,!0),this.set("autoPressed",!1)),this.P("mode"),t=!0);if(t||this.H("pressed"))this.B("mode")==q.Lj?this.FG(1==this.B("pressed")):t&&this.FG(!1);this.H("buttonGroup")&&((t=this.B("buttonGroup"))?f.register(this,t):f.unregister(this),this.P("buttonGroup"));p.prototype.Ta.call(this);r&&(r=this.Mc(),0==r.Dk()||0==r.GA.length)&&(r.Ti(.001),r.lxa(["#000000"]))};return a});
define("bk",["require","jK","nc"],function(a){var d=a("jK");return a("nc").define("IconButton",d,function(){d.call(this)})});define("mN",["require","nc","hU"],function(a){var d=a("nc"),h=a("hU");return d.define("IconHotspotMapOverlay",h,function(){h.call(this,!1)})});define("nA",["require","me","nc"],function(a){var d=a("me");a=a("nc").define("Image",d,function(){d.call(this)});a.prototype.set=function(h,l){d.prototype.set.call(this,h,l)};return a});
define("lh",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("InnerModel3DObject",h,function(){h.call(this)})});define("iK",["require","iB","nc"],function(a){var d=a("iB");return a("nc").define("Label",d,function(){d.call(this)})});define("bI",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("LensFlarePanoramaOverlay",d,function(){d.call(this)})});
define("nH",["require","nc","eO"],function(a){var d=a("nc"),h=a("eO");a=d.define("LivePanorama",h,function(){h.call(this)});a.prototype.MX=function(){return this.get("initialFrameIndex",0)};return a});define("ja",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("Light",d,function(){d.call(this)})});
define("cO",["require","kV","dd"],function(a){var d=a("kV"),h=a("dd");a=d.extend(h,function(l,k,b,g,f,c,e){h.call(this,h.Rea);this.v=l;this.ed=k;this.ea=b;this.ua=g;this.pf=f;this.s3=c;this.Mn=e.slice()});a.prototype.xs=function(){for(var l=[this.ed],k=0;k<this.Mn.length;k++)l=l.concat(this.Mn[k].xs());return l};a.prototype.li=function(){return this.ed};a.prototype.nd=function(){return this.ea};a.prototype.$d=function(){return this.ua};return a});
define("mK","require nc lK ef fN cO".split(" "),function(a){var d=a("nc"),h=a("lK"),l=a("ef"),k=a("fN"),b=a("cO");a=d.define("Map",l,function(){l.call(this);this.ou=this.lM=void 0});a.prototype.dVa=function(){this.ou=this.lM=void 0};a.prototype.SH=function(){return!(!this.get("image")||!k.SH(this.get("image")))};a.prototype.bD=function(){return this.get("image")&&k.bD(this.get("image"))};a.prototype.pq=function(){return this.get("image")&&k.pq(this.get("image"))};a.prototype.Xta=function(){void 0==
this.lM&&(this.SH()?this.lM=new b(this,this.bD().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",h.Az),this.get("flipImageHorizontally",!1),[]):this.lM=null);return this.lM};a.prototype.zj=function(){if(void 0==this.ou)if(this.get("image")){var g=Array.prototype.concat.apply([],this.get("overlays",[]).map(function(f){return f.ESa()}));this.ou=new b(this,this.pq().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",h.Az),this.get("flipImageHorizontally",!1),g)}else this.ou=
null;return this.ou};a.prototype.ws=function(){return[].concat(this.oS(this.Xta()),this.oS(this.zj()))};a.prototype.oS=function(g){return g?g.xs():[]};return a});define("kF",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("MapOverlay",d,function(){d.call(this)})});
define("jn","require kV dY og cu fV dV gw".split(" "),function(a){var d=a("kV"),h=a("dY"),l=a("og"),k=a("cu"),b=a("fV"),g=a("dV"),f=a("gw");a=d.extend(b,function(c,e,m){b.call(this);this.fha=c;this.hLa=e;this.vga=m||g.we;this.yi=[];this.wA=[];this.Iw={};this.Iw.mode=this.vga;this.vga==g.Lj&&(this.Iw.pressed=!1);this.fha.bind(l.G(e),this.eoa,this);this.eoa()});a.prototype.eoa=function(){var c=this.fha.get(this.hLa);c||=[];h.isArray(c)||(c=[c]);this.BMa(c)};a.prototype.BMa=function(c){var e=h.difference(this.yi,
c);h(e).each(function(m){m.unbind(l.Jj,this.zga,this,!0);m.unbind(l.Xl,this.Aga,this,!0);m.unbind(l.oa,this.uga,this,!0);m.unbind(l.ub,this.wga,this,!0);m.unbind(l.$b,this.xga,this,!0);m.unbind(l.$c,this.Cga,this,!0);m.unbind(l.ac,this.Bga,this,!0)},this);e=h.difference(c,this.yi);h(e).each(function(m){m.fa(this.Iw);m.bind(l.Jj,this.zga,this,!0);m.bind(l.Xl,this.Aga,this,!0);m.bind(l.oa,this.uga,this,!0);m.bind(l.ub,this.wga,this,!0);m.bind(l.$b,this.xga,this,!0);m.bind(l.$c,this.Cga,this,!0);m.bind(l.ac,
this.Bga,this,!0)},this);this.yi=c;this.wA=this.wA.filter(function(m){return 0<=this.yi.indexOf(m)}.bind(this))};a.prototype.zga=function(){this.trigger(new k(l.Jj))};a.prototype.Aga=function(){this.trigger(new k(l.Xl))};a.prototype.uga=function(){this.trigger(new k(l.oa))};a.prototype.wga=function(){this.trigger(new k(l.ub))};a.prototype.xga=function(){this.trigger(new k(l.$b))};a.prototype.Cga=function(c){this.wA.push(c.source);this.wk()};a.prototype.Bga=function(c){this.wA=this.wA.filter(function(e){return e!=
c.source});this.wk()};a.prototype.set=function(c,e){this.Iw[c]=e;this.yi.forEach(function(m){m.fa(this.Iw)}.bind(this));this.wk()};a.prototype.wk=function(){this.yi.forEach(function(c){c.get("state")==f.mb&&0<=this.wA.indexOf(c)?c.set("state",f.Xb):c.get("state")==f.Xb&&0>this.wA.indexOf(c)&&c.set("state",f.mb)}.bind(this))};return a});
define("ga","require dY kV og cu gw bb b e mU nm".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("cu"),b=a("gw"),g=a("bb"),f=a("b"),c=a("e");a("mU");a("nm");var e=h.extend(f,function(){f.call(this);this.qe("PlaybackBar");this.rl=this.Mf=null;this.Kg=[];this.RU=!1;this.f7=this.WB=void 0;this.W8=!1});e.tc={cursor:g.Se,overflow:"visible",height:20,position:0,duration:100,steps:void 0,selectedStep:void 0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0,
barBackgroundColorRatios:void 0,barBorderColor:void 0,barBorderRadius:void 0,barBorderSize:void 0,barOpacity:void 0,liveDragging:void 0,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:void 0,playheadBackgroundColorRatios:void 0,playheadBorderColor:void 0,playheadBorderRadius:void 0,playheadBorderSize:void 0,playheadOpacity:void 0,playheadWidth:5,playheadHeight:30,playheadShadow:!0,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:void 0,
playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF",stepBackgroundColorDirection:void 0,stepBackgroundColorRatios:void 0,stepBorderColor:void 0,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:!0,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:void 0,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:void 0,selectedStepBackgroundColorRatios:void 0,
selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2,selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:!0,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:void 0,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};d.defaults(e.tc,f.tc);e.prototype.lb=function(){this.yn(e.tc)};e.prototype.xb=function(){f.prototype.xb.call(this);this.Mf&&this.rl||
this.bind(l.fc,this.VKa,this,!0);null==this.Mf&&(this.Mf=new c,this.Mf.fa({left:"0",height:"100%",cursor:g.Se}),this.Ua(this.Mf));null==this.rl&&(this.rl=new c,this.rl.fa({left:"0",cursor:g.Se}),this.rl.bind(l.fc,this.YKa,this,!0),this.rl.bind(l.ub,this.WKa,this,!0),this.Hb().bind(l.ec,this.Kna,this,!0),this.bind(l.oa,this.TKa,this,!0),this.rl.bind(l.$b,this.XKa,this,!0),this.Ua(this.rl));var q=this.get("steps")||0;if(this.Kg.length!=q){for(;this.Kg.length>q;)this.TEa(this.Kg.pop());for(;this.Kg.length<
q;)this.Kg.push(this.KEa());this.ic(e.Afa,e.t0,this.Kg,!1,!0);this.zra();this.k$();this.Xm(this.rl,this.Jb().length-1)}};e.prototype.KEa=function(){var q=new m;q.fa({cursor:g.Se});q.bind(l.oa,this.Ypa,this,!0);q.bind(l.fc,this.Zpa,this,!0);this.Ua(q);return q};e.prototype.TEa=function(q){q.unbind(l.oa,this.Ypa,this,!0);q.unbind(l.fc,this.Zpa,this,!0);this.removeChild(q)};e.prototype.Ta=function(){var q=!1;if(this.H("position")||this.H("duration"))this.P("position"),this.P("duration"),q=!0;this.H("selectedStep")&&
(this.P("selectedStep"),this.zra());this.H("steps")&&(this.P("steps"),this.OO());this.ic(e.m0,e.TI,[this.Mf],!0,!0);this.ic(e.bBa,e.wfa,[this.rl],!0,!0);this.ic(e.Afa,e.t0,this.Kg,!0,!0);f.prototype.Ta.call(this);q&&this.HW()};e.prototype.zra=function(){var q=this.get("selectedStep");this.Kg.forEach(function(p,n){p.BP(n===q)});this.rl.set("visible",void 0===q)};e.prototype.HW=function(){var q=this.Va(),p=this.rl.Va(),n=this.rl.zb(),r=this.lx(),t=this.fp(),u=t*q/r;q=Math.round((this.RU?this.WB:t)*
q/r-.5*p);q=Math.max(0,Math.min(q,this.bf()-p));p=Math.round(.5*this.af()-.5*n);this.rl.fa({left:q,top:p});this.Mf.set("width",Math.round(u))};e.prototype.YKa=function(){this.HW()};e.prototype.WKa=function(q){this.RU=!0;this.f7=q.pageX;this.WB=this.B("position")};e.prototype.Kna=function(q){if(this.RU){var p=q.pageX-this.f7;this.f7=q.pageX;q=this.Va();var n=this.lx();this.WB=Math.max(0,Math.min(n,this.WB+n*p/q));this.HW();this.get("liveDragging")&&(this.set("position",this.WB),this.trigger(new k(l.sa)))}};
e.prototype.XKa=function(q){this.Kna(q);this.RU=!1;this.get("liveDragging")||(this.set("position",this.WB),this.trigger(new k(l.sa)));this.WB=void 0};e.prototype.TKa=function(q){if(!this.W8){var p=this.Va(),n=this.lx();this.set("position",n*q.x/p);this.trigger(new k(l.sa))}};e.prototype.Zpa=function(){this.k$()};e.prototype.VKa=function(){this.k$();this.HW()};e.prototype.k$=function(){for(var q=this.Va(),p=this.zb(),n=this.Ga,r=this.getParent().Va()-(n+q),t=0,u=this.Kg.length;t<u;t++){var v=this.Kg[t],
w=v.Va();v.fa({left:0==t&&0==n?0:t==u-1&&0==r?q-w:Math.round(q*t/(u-1)-.5*w),top:Math.round(.5*p-.5*v.zb())})}};e.prototype.Ypa=function(q){q=this.Kg.indexOf(q.source);var p=this.lx();this.set("position",p*q/(this.Kg.length-1));this.W8=!0;this.trigger(new k(l.sa));setTimeout(function(){this.W8=!1}.bind(this),0)};e.prototype.lx=function(){var q=this.B("duration");return q?q:1};e.prototype.fp=function(){return Math.max(0,Math.min(this.lx(),this.B("position")))};e.TI={barBackgroundColor:"backgroundColor",
barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",barOpacity:"opacity"};e.m0=d(e.TI).keys();e.wfa={playheadBackgroundColor:"backgroundColor",playheadBackgroundColorDirection:"backgroundColorDirection",playheadBackgroundColorRatios:"backgroundColorRatios",playheadBorderColor:"borderColor",playheadBorderRadius:"borderRadius",playheadBorderSize:"borderSize",playheadOpacity:"opacity",
playheadWidth:"width",playheadHeight:"height",playheadShadow:"shadow",playheadShadowBlurRadius:"shadowBlurRadius",playheadShadowColor:"shadowColor",playheadShadowHorizontalLength:"shadowHorizontalLength",playheadShadowOpacity:"shadowOpacity",playheadShadowSpread:"shadowSpread",playheadShadowVerticalLength:"shadowVerticalLength"};e.bBa=d(e.wfa).keys();e.t0={stepBackgroundColor:"backgroundColor",stepBackgroundColorDirection:"backgroundColorDirection",stepBackgroundColorRatios:"backgroundColorRatios",
stepBorderColor:"borderColor",stepBorderRadius:"borderRadius",stepBorderSize:"borderSize",stepOpacity:"opacity",stepWidth:"width",stepHeight:"height",stepShadow:"shadow",stepShadowBlurRadius:"shadowBlurRadius",stepShadowColor:"shadowColor",stepShadowHorizontalLength:"shadowHorizontalLength",stepShadowOpacity:"shadowOpacity",stepShadowSpread:"shadowSpread",stepShadowVerticalLength:"shadowVerticalLength",selectedStepBackgroundColor:"selectedBackgroundColor",selectedStepBackgroundColorDirection:"selectedBackgroundColorDirection",
selectedStepBackgroundColorRatios:"selectedBackgroundColorRatios",selectedStepBorderColor:"selectedBorderColor",selectedStepBorderRadius:"selectedBorderRadius",selectedStepBorderSize:"selectedBorderSize",selectedStepOpacity:"selectedOpacity",selectedStepWidth:"selectedWidth",selectedStepHeight:"selectedHeight",selectedStepShadow:"selectedShadow",selectedStepShadowBlurRadius:"selectedShadowBlurRadius",selectedStepShadowColor:"selectedShadowColor",selectedStepShadowHorizontalLength:"selectedShadowHorizontalLength",
selectedStepShadowOpacity:"selectedShadowOpacity",selectedStepShadowSpread:"selectedShadowSpread",selectedStepShadowVerticalLength:"selectedShadowVerticalLength"};e.Afa=d(e.t0).keys();var m=h.extend(c,function(){c.call(this)});m.prototype.BP=function(q){this.OM(q)};m.prototype.lb=function(){c.prototype.lb.call(this);this.h("backgroundColor");this.h("backgroundColorDirection");this.h("backgroundColorRatios");this.h("borderColor");this.h("borderRadius");this.h("borderSize");this.h("opacity");this.h("width");
this.h("height");this.h("shadow");this.h("shadowBlurRadius");this.h("shadowColor");this.h("shadowHorizontalLength");this.h("shadowOpacity");this.h("shadowSpread");this.h("shadowVerticalLength");this.u("selectedBackgroundColor",b.ba,"backgroundColor");this.u("selectedBackgroundColorDirection",b.ba,"backgroundColorDirection");this.u("selectedBackgroundColorRatios",b.ba,"backgroundColorRatios");this.u("selectedBorderColor",b.ba,"borderColor");this.u("selectedBorderRadius",b.ba,"borderRadius");this.u("selectedBorderSize",
b.ba,"borderSize");this.u("selectedOpacity",b.ba,"opacity");this.u("selectedWidth",b.ba,"width");this.u("selectedHeight",b.ba,"height");this.u("selectedShadow",b.ba,"shadow");this.u("selectedShadowBlurRadius",b.ba,"shadowBlurRadius");this.u("selectedShadowColor",b.ba,"shadowColor");this.u("selectedShadowHorizontalLength",b.ba,"shadowHorizontalLength");this.u("selectedShadowOpacity",b.ba,"shadowOpacity");this.u("selectedShadowSpread",b.ba,"shadowSpread");this.u("selectedShadowVerticalLength",b.ba,
"shadowVerticalLength")};m.prototype.Ta=function(){c.prototype.Ta.call(this)};return e});
define("z",["require","dY","kV","b","e"],function(a){var d=a("dY"),h=a("kV"),l=a("b"),k=a("e"),b=h.extend(l,function(){l.call(this);this.qe("ProgressBar")});b.tc={percent:0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0,barBackgroundColorRatios:void 0,barBorderColor:void 0,barBorderRadius:void 0,barBorderSize:void 0,barOpacity:void 0};d.defaults(b.tc,l.tc);b.prototype.lb=function(){this.yn(b.tc)};b.prototype.xb=function(){l.prototype.xb.call(this);null==
this.Mf&&(this.Mf=new k,this.Mf.fa({left:"0",width:"0%",height:"100%"}),this.Ua(this.Mf))};b.prototype.Ta=function(){this.H("percent")&&(this.Mf.set("width",Math.round(this.B("percent"))+"%"),this.P("percent"));this.ic(b.m0,b.TI,[this.Mf],!0,!0);l.prototype.Ta.call(this)};b.TI={barBackgroundColor:"backgroundColor",barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",
barOpacity:"opacity"};b.m0=d(b.TI).keys();return b});
define("fD",["require","exports","og","fV","u"],function(a,d,h,l,k){return function(b){function g(f,c){var e=b.call(this)||this;e.enabled=!1;e.xY=0;e.yY=0;e.parentElement=null;e.ki=null;e.Hk=null;e.qI=null;e.He=f;e.parentElement=c;return e}aa(g,b);g.prototype.dispose=function(){this.kc(!1);this.parentElement=this.He=null};g.prototype.kc=function(f){this.enabled!=f&&((this.enabled=f)?this.cRa():(this.kaa(),this.stop(),this.$Ua()))};g.prototype.getX=function(){return this.xY};g.prototype.getY=function(){return this.yY};
g.prototype.ewa=function(f){this.AY(f);this.zba=this.xba=f.x;this.Aba=this.yba=f.y;this.DWa()};g.prototype.fwa=function(f){this.zba=f.x;this.Aba=f.y;this.qI?this.vXa():this.ki&&this.Kya()};g.prototype.AY=function(){this.kaa();this.stop()};g.prototype.bwa=function(){this.AY()};g.prototype.Dba=function(){this.vZ=Math.min(this.He.Va(),this.He.zb())/100};g.prototype.start=function(){this.DRa();this.trigger(h.pn);this.Kya()};g.prototype.stop=function(){this.ki&&(this.PRa(),this.trigger(h.wf))};g.prototype.vXa=
function(){var f=this.zba-this.xba,c=this.Aba-this.yba;Math.sqrt(f*f+c*c)>this.vZ*g.jza&&this.kaa()};g.prototype.DWa=function(){this.qI=window.setTimeout(this.gXa.bind(this),g.kza)};g.prototype.kaa=function(){this.qI&&(clearTimeout(this.qI),this.qI=null)};g.prototype.DRa=function(){this.ki=document.createElement("div");this.ki.setAttribute("tdvclass","Button");this.ki.style.position="absolute";this.ki.style.width=this.ki.style.height=Math.round(2*g.qda*this.vZ)+"px";this.ki.style.borderRadius="50%";
this.ki.style.backgroundColor="rgba(255, 255, 255, 0.5)";this.ki.style.transform="translate(-50%, -50%)";this.ki.style.zIndex="1000";this.ki.style.left=this.xba+"px";this.ki.style.top=this.yba+"px";this.parentElement.appendChild(this.ki);this.Hk=document.createElement("div");this.Hk.setAttribute("tdvclass","Button");this.Hk.style.position="absolute";this.Hk.style.width=this.Hk.style.height=Math.round(2*g.oAa*this.vZ)+"px";this.Hk.style.borderRadius="50%";this.Hk.style.backgroundColor="rgba(255, 255, 255, 0.5)";
this.Hk.style.transform="translate(-50%, -50%)";this.Hk.style.zIndex="1000";this.ki.appendChild(this.Hk)};g.prototype.Kya=function(){var f=this.zba-this.xba,c=this.Aba-this.yba;if(0==f&&0==c)this.yY=this.xY=0;else{var e=Math.atan2(-c,f);f=Math.min(Math.sqrt(f*f+c*c)/(this.vZ*g.qda),3);this.xY=Math.cos(e)*f;this.yY=Math.sin(e)*f}this.Hk.style.left=(50+50*this.xY).toFixed(2)+"%";this.Hk.style.top=(50-50*this.yY).toFixed(2)+"%";this.trigger(h.sa)};g.prototype.PRa=function(){var f,c;null===(f=this.Hk.parentNode)||
void 0===f?void 0:f.removeChild(this.Hk);this.Hk=null;null===(c=this.ki.parentNode)||void 0===c?void 0:c.removeChild(this.ki);this.ki=null};g.prototype.gXa=function(){this.qI=null;this.start()};g.prototype.cRa=function(){this.He.bind(h.ub,this.ewa,this,!0);this.He.bind(h.ec,this.fwa,this,!0);this.He.bind(h.$b,this.AY,this,!0);this.He.bind(h.fc,this.Dba,this,!0);this.He.bind(h.iw,this.bwa,this,!0);this.Dba()};g.prototype.$Ua=function(){this.He.unbind(h.ub,this.ewa,this);this.He.unbind(h.ec,this.fwa,
this);this.He.unbind(h.$b,this.AY,this);this.He.unbind(h.fc,this.Dba,this);this.He.unbind(h.iw,this.bwa,this)};g.jza=5;g.kza=300;g.qda=k.kb()?10:6.6;g.oAa=k.kb()?5:3.3;return g}(l)});
define("by","require dY kV og kx cu nc jn ga z fD u dV bb cH gw nC e".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("kx"),b=a("cu"),g=a("nc"),f=a("jn"),c=a("ga"),e=a("z"),m=a("fD"),q=a("u"),p=a("dV"),n=a("bb"),r=a("cH"),t=a("gw"),u=a("nC"),v=a("e"),w=g.define("ViewerArea",u,function(){u.call(this);this.set("childrenInteractionEnabled",!0);this.set("contentOpaque",!0);this.set("creationPolicy",r.Uz);this.set("subtitlesEnabled",!0);this.set("checkToolTipOcclusion",!0);this.set("isKeyboardTarget",
!1);this.HK=this.En=this.gr=this.Od=this.YR=this.Fh=null;this.c7=this.Gr=!1;this.gi=k.S;this.Zl=this.Oj=null;this.Cn=!1;this.W7=[];this.bind(w.wea,this.eKa,this,!0);this.bind(w.vea,this.dKa,this,!0);this.bind(l.ub,this.Fma,this);this.bind(l.ub,this.Fma,this);this.bind(l.$c,this.zKa,this);this.bind(l.ac,this.yKa,this);this.bind(l.hd,this.qU,this,!0);this.bind(l.od,this.wKa,this,!0);this.xE=new f(this,"buttonPause",p.Lj);this.xE.bind(l.oa,this.QB,this);this.xE.set("state",t.ve);this.yE=new f(this,"buttonPlay",
p.Lj);this.yE.bind(l.oa,this.RB,this);this.yE.set("state",t.ve);this.uA=new f(this,"buttonPlayPause",p.Lj);this.uA.bind(l.oa,this.aKa,this);this.uA.set("state",t.ve);this.AE=new f(this,"buttonStop",p.Lj);this.AE.bind(l.oa,this.Zx,this);this.AE.set("state",t.mb);this.UCa=new f(this,"buttonRestart",p.we);this.UCa.bind(l.oa,this.Wx,this);this.YQ=new f(this,"buttonToggleSubtitles",p.Lj);this.YQ.bind(l.Jj,function(){this.set("subtitlesEnabled",!0)},this,!0);this.YQ.bind(l.Xl,function(){this.set("subtitlesEnabled",
!1)},this,!0);this.bind(l.G("subtitlesEnabled"),function(){this.YQ.set("pressed",this.get("subtitlesEnabled"))},this);this.YQ.set("pressed",this.get("subtitlesEnabled"));this.xIa=h.so(this.uQa,this);this.bind(l.Vl,this.vKa,this,!0);this.bind(w.nQ,this.xKa,this,!0)});w.prototype.play=function(){this.RB()};w.prototype.pause=function(){this.QB()};w.prototype.stop=function(){this.Zx()};w.prototype.restart=function(){this.Wx()};w.tc={progressBackgroundColor:void 0,progressBackgroundColorDirection:void 0,
progressBackgroundColorRatios:void 0,progressBackgroundOpacity:void 0,progressBarBackgroundColor:void 0,progressBarBackgroundColorDirection:void 0,progressBarBackgroundColorRatios:void 0,progressBarBorderColor:void 0,progressBarBorderRadius:void 0,progressBarBorderSize:void 0,progressBarOpacity:void 0,progressBorderColor:void 0,progressBorderRadius:void 0,progressBorderSize:void 0,progressBottom:0,progressHeight:20,progressLeft:0,progressOpacity:void 0,progressPercent:0,progressRight:0,progressVisible:!1,
externalPlaybackBar:void 0,externalProgressBar:void 0,playbackBarBackgroundColor:void 0,playbackBarBackgroundColorDirection:void 0,playbackBarBackgroundOpacity:void 0,playbackBarBorderColor:void 0,playbackBarBorderRadius:void 0,playbackBarBorderSize:void 0,playbackBarBottom:10,playbackBarHeight:void 0,playbackBarWidth:void 0,playbackBarLeft:void 0,playbackBarOpacity:void 0,playbackBarRight:void 0,playbackBarLiveDragging:void 0,playbackBarDuration:100,playbackBarPosition:0,playbackBarRollOverDisplay:!1,
plabackBarSteps:void 0,plabackBarSelectedStep:void 0,playbackBarVisible:!1,playbackBarProgressBackgroundColor:void 0,playbackBarProgressBackgroundColorDirection:void 0,playbackBarProgressBackgroundColorRatios:void 0,playbackBarProgressBorderColor:void 0,playbackBarProgressBorderRadius:void 0,playbackBarProgressBorderSize:void 0,playbackBarProgressOpacity:void 0,playbackBarHeadBackgroundColor:void 0,playbackBarHeadBackgroundColorDirection:void 0,playbackBarHeadBackgroundColorRatios:void 0,playbackBarHeadBorderColor:void 0,
playbackBarHeadBorderRadius:void 0,playbackBarHeadBorderSize:void 0,playbackBarHeadOpacity:void 0,playbackBarHeadWidth:void 0,playbackBarHeadHeight:void 0,playbackBarHeadShadow:void 0,playbackBarHeadShadowBlurRadius:void 0,playbackBarHeadShadowColor:void 0,playbackBarHeadShadowHorizontalLength:void 0,playbackBarHeadShadowOpacity:void 0,playbackBarHeadShadowSpread:void 0,playbackBarHeadShadowVerticalLength:void 0,playbackBarStepBackgroundColor:void 0,playbackBarStepBackgroundColorDirection:void 0,
playbackBarStepBackgroundColorRatios:void 0,playbackBarStepBorderColor:void 0,playbackBarStepBorderRadius:void 0,playbackBarStepBorderSize:void 0,playbackBarStepOpacity:void 0,playbackBarStepWidth:void 0,playbackBarStepHeight:void 0,playbackBarStepShadow:void 0,playbackBarStepShadowBlurRadius:void 0,playbackBarStepShadowColor:void 0,playbackBarStepShadowHorizontalLength:void 0,playbackBarStepShadowOpacity:void 0,playbackBarStepShadowSpread:void 0,playbackBarStepShadowVerticalLength:void 0,playbackBarStepSelectedBackgroundColor:void 0,
playbackBarStepSelectedBackgroundColorDirection:void 0,playbackBarStepSelectedBackgroundColorRatios:void 0,playbackBarStepSelectedBorderColor:void 0,playbackBarStepSelectedBorderRadius:void 0,playbackBarStepSelectedBorderSize:void 0,playbackBarStepSelectedOpacity:void 0,playbackBarStepSelectedWidth:void 0,playbackBarStepSelectedHeight:void 0,playbackBarStepSelectedShadow:void 0,playbackBarStepSelectedShadowBlurRadius:void 0,playbackBarStepSelectedShadowColor:void 0,playbackBarStepSelectedShadowHorizontalLength:void 0,
playbackBarStepSelectedShadowOpacity:void 0,playbackBarStepSelectedShadowSpread:void 0,playbackBarStepSelectedShadowVerticalLength:void 0,subtitlesBackgroundColor:"#000000",subtitlesBackgroundOpacity:1,subtitlesBorderColor:void 0,subtitlesBorderSize:0,subtitlesBottom:"10%",subtitlesFontFamily:void 0,subtitlesFontColor:"#ffffff",subtitlesFontSize:"12px",subtitlesFontStyle:void 0,subtitlesFontWeight:void 0,subtitlesGap:10,subtitlesHorizontalAlign:"center",subtitlesOpacity:1,subtitlesPaddingTop:5,subtitlesPaddingBottom:5,
subtitlesPaddingLeft:5,subtitlesPaddingRight:5,subtitlesShadow:!1,subtitlesShadowBlurRadius:void 0,subtitlesShadowHorizontalLength:0,subtitlesShadowVerticalLength:0,subtitlesShadowColor:"#000000",subtitlesShadowOpacity:0,subtitlesTextDecoration:void 0,subtitlesTextShadowBlurRadius:void 0,subtitlesTextShadowColor:"#000000",subtitlesTextShadowHorizontalLength:0,subtitlesTextShadowOpacity:0,subtitlesTextShadowVerticalLength:0,subtitlesTop:void 0,subtitlesVerticalAlign:"bottom",transitionDuration:500,
blendingTransitionDuration:void 0,disolveTransitionDuration:void 0,translationTransitionDuration:void 0,translationTransitionEnabled:!0,toolTipEnabled:!0};d.defaults(w.tc,u.tc);w.prototype.set=function(x,y){"playbackState"==x&&(y=this.gi,this.get(x)!=y&&(this.c7=!0,this.xIa()));switch(x){case "toolTipEnabled":this.set("toolTipDisabled",!1===y);break;case "cardboardPointerDistance":this.set("vrPointerDistance",y);break;case "cardboardPointerColor":this.set("vrPointerColor",y);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor",
y);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",y);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.HN()}u.prototype.set.call(this,x,y)};w.prototype.lb=function(){this.yn(w.tc)};w.prototype.xb=function(){u.prototype.xb.call(this);null==this.En&&(this.En=new v,this.En.set("width","100%"),this.En.set("height","100%"),this.En.set("toolTipDisabled",!0),this.En.set("interactionEnabled",!1),this.En.set("content"),this.Ua(this.En),h.defer(function(){this.En.set("cursor",
n.Vs)}.bind(this)),this.HK=new m(this,this.En.yb().LH()),this.HK.kc(!1));null==this.Fh&&(this.Fh=new e,this.Ua(this.Fh));null==this.Od&&(this.Od=new c,this.Od.bind(l.sa,this.Z6,this,!0),this.Ua(this.Od),this.HN())};w.prototype.ASa=function(){return this.Od};w.prototype.Ql=function(){u.prototype.Ql.call(this);for(var x=[],y=this.W7.length-1;0<=y;y--)x.push(this.W7[y].j);this.En&&x.push(this.En);this.Od&&x.push(this.Od);this.Fh&&x.push(this.Fh);var A=this.Jb();x=x.filter(function(B){return 0<=A.indexOf(B)});
A=A.filter(function(B){return-1==x.indexOf(B)}).concat(x);A.forEach(function(B,z){B&&this.Caa(B)!=z&&this.Xm(B,z)}.bind(this))};w.prototype.Ta=function(){this.H("externalProgressBar")&&((this.YR=this.B("externalProgressBar"))?this.removeChild(this.Fh):this.Ua(this.Fh),this.P("externalProgressBar"),d(w.yfa).each(function(y){this.rC(y)},this));this.ic(w.YAa,w.nfa,[this.Fh],!0,!0);var x=[this.Fh];this.YR&&x.push(this.YR);this.ic(w.yfa,w.zfa,x,!0,!0);this.H("externalPlaybackBar")&&(this.gr&&this.gr.unbind(l.sa,
this.Z6,this,!0),(this.gr=this.B("externalPlaybackBar"))?this.removeChild(this.Od):this.Ua(this.Od),this.HN(),this.gr&&this.gr.bind(l.sa,this.Z6,this,!0),this.P("externalPlaybackBar"),d(w.ufa).each(function(y){this.rC(y)},this));this.ic(w.XAa,w.mfa,[this.Od],!0,!0);x=[this.Od];this.gr&&x.push(this.gr);this.ic(w.ufa,w.vfa,x,!0,!0);u.prototype.Ta.call(this)};w.prototype.uQa=function(){this.c7&&(this.c7=!1,this.xE.set("state",this.gi==k.Cb?t.mb:t.ve),this.yE.set("state",this.gi==k.X||this.gi==k.Cb?t.mb:
t.ve),this.uA.set("state",this.gi==k.X?t.mb:t.ve),this.AE.set("state",this.gi==k.S?t.mb:t.ve))};w.prototype.xc=function(x){this.gi=x;this.set("playbackState",x)};w.prototype.qU=function(){w.ek(this)};w.prototype.wKa=function(){w.$j(this)};w.prototype.QB=function(){this.gi==k.Cb?this.hk():this.Dp()};w.prototype.RB=function(){this.hk()};w.prototype.aKa=function(){this.gi==k.X?this.Dp():this.hk()};w.prototype.Zx=function(){this.$n()};w.prototype.Wx=function(){this.$n();this.hk()};w.prototype.vKa=function(){if(!this.Oj||
!this.Oj.Ksa())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var x=this.Hb().Ei;x&&x.rg()&&x.toggle()}};w.prototype.xKa=function(x){this.W7=x.data.players;this.Fd()};w.prototype.hk=function(){this.Zl&&this.Zl.play()};w.prototype.Dp=function(){this.Zl&&this.Zl.pause()};w.prototype.$n=function(){this.Zl&&this.Zl.stop()};w.prototype.eKa=function(x){this.Yoa(x.data.player)};w.prototype.dKa=function(x){this.Oj==x.data.player&&this.Yoa(null)};w.prototype.Fma=function(){w.zq(this)};w.prototype.zKa=
function(){this.Cn=!0;this.HN()};w.prototype.yKa=function(){this.Cn=!1;this.HN()};w.prototype.HN=function(){this.Od&&this.Od.set("visible",this.get("playbackBarVisible")&&(this.Cn||!this.get("playbackBarRollOverDisplay")||q.oZ()))};w.prototype.Yoa=function(x){this.Oj!=x&&(this.set("playbackBarVisible",!1),this.Oj&&this.Oj.zq(!1),this.Zl&&this.Zl.unbind(l.G("state"),this.z0,this),this.eLa=this.Oj,(this.Oj=x)&&this.Oj.zq(!!this.wF),(this.Zl=this.Oj&&this.Oj.cDa?this.Oj:null)&&this.Zl.bind(l.G("state"),
this.z0,this,!0),this.z0())};w.prototype.zq=function(x){this.wF=x;this.set("isKeyboardTarget",x);this.Oj&&this.Oj.zq(!!this.wF)};w.prototype.MXa=function(){return!this.eLa};w.prototype.z0=function(){this.Zl?this.xc(this.Zl.get("state")):this.xc(k.S)};w.prototype.Z6=function(){var x=(this.gr?this.gr:this.Od).get("position");this.trigger(new b(w.s_,{position:x}))};w.nfa={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"};w.YAa=d(w.nfa).keys();w.zfa={progressPercent:"percent",progressVisible:"visible"};w.yfa=d(w.zfa).keys();w.mfa={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"};
w.XAa=d(w.mfa).keys();w.vfa={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};w.ufa=d(w.vfa).keys();w.nQ="requestByPlayer";w.wea="playerShow";w.vea="playerHide";w.s_="playbackBarPositionChange";w.uB=null;w.zq=function(x){w.uB!=x&&(w.uB&&w.uB.zq(!1),w.uB=x,w.uB&&w.uB.zq(!0))};w.My=[];w.ek=function(x){var y=w.My.indexOf(x);0>y&&w.My.splice(y,1);w.My.push(x);this.zq(x)};w.$j=function(x){var y=w.My.indexOf(x);
0>y&&w.My.splice(y,1);w.uB==x&&w.zq(w.My.length?w.My[w.My.length-1]:null)};return w});
define("cT",["require","kV","lw","cu","by"],function(a){var d=a("kV"),h=a("lw"),l=a("cu"),k=a("by"),b=d.extend(h,function(g){h.call(this);this.cDa=g;this.VM=this.Kx=null});b.Sg="mediaShow";b.Ul="mediaHide";b.prototype.zq=function(){};b.prototype.Ksa=function(){return!1};b.prototype.RM=function(g){this.Kx!=g&&(this.Kx&&this.I9(this.Kx),(this.Kx=g)&&this.g1(this.Kx))};b.prototype.g1=function(g){g.bind(k.nQ,this.Ura,this,!0);g.bind(k.s_,this.eM,this)};b.prototype.I9=function(g){g.unbind(k.nQ,this.Ura,
this);g.unbind(k.s_,this.eM,this)};b.prototype.gI=function(g){this.Kx.trigger(new l(k.nQ,{players:g||[this]}))};b.prototype.Ura=function(g){0>g.data.players.indexOf(this)&&this.NG()};b.prototype.eM=function(){};b.prototype.NG=function(){};b.prototype.$K=function(g){this.trigger(new l(b.Sg,{media:g}));this.VM=this.Kx;this.VM.trigger(new l(k.wea,{player:this}))};b.prototype.ZK=function(g){this.trigger(new l(b.Ul,{media:g}));this.VM&&(this.VM.trigger(new l(k.vea,{player:this})),this.VM=null)};return b});
define("jE",["require"],function(){return{Az:"constrained",Cza:"free_drag",YXa:"free_drag_and_rotation",b0:"sync_with_field_of_view"}});
define("ki",["require","kV","jE","lK"],function(a){function d(){this.va=!0;this.Ia=this.Ga=.5;this.ad=0;this.fb=1;this.pf=l.jh;this.ym=h.Az;this.F5=this.I5=1;this.oe=this.pe=this.$l=this.am=100;this.Jm=d.eA}a("kV");var h=a("jE"),l=a("lK");d.prototype.uua=function(){return this.Jm!==d.eA};d.prototype.tua=function(){return this.Jm&d.jE?!0:!1};d.prototype.vua=function(){return this.Jm&d.kE?!0:!1};d.prototype.wua=function(){return this.Jm&d.iA?!0:!1};d.prototype.sua=function(){return this.Jm&d.dA?!0:
!1};d.prototype.getX=function(){this.Pm();return this.Ga};d.prototype.getY=function(){this.Pm();return this.Ia};d.prototype.rq=function(){this.Pm();return this.fb};d.prototype.GH=function(){this.Pm();return this.ad};d.prototype.setConfiguration=function(k,b,g,f,c){this.pe=k;this.oe=b;this.pf=g;this.I5=f;this.F5=c;this.Ia=this.Ga=.5;this.ad=0;this.fb=f;this.va=!0};d.prototype.setPosition=function(k,b,g,f){this.Ga=k;this.Ia=b;this.ad=g;this.fb=f;this.va=!0};d.prototype.Aq=function(k){this.ym=k;this.va=
!0};d.prototype.setSize=function(k,b){this.am=k;this.$l=b;this.va=!0};d.prototype.Pm=function(){if(this.va){this.va=!1;var k=d.eA;this.fb>this.F5?(this.fb=this.F5,k|=d.ZAa):this.fb<this.I5&&(this.fb=this.I5,k|=d.$Aa);if(this.ym==h.Az){switch(this.pf){case l.NONE:var b=this.pe;var g=this.oe;break;case l.Go:b=this.am;g=this.oe*this.am/this.pe;break;case l.Hj:b=this.pe*this.$l/this.oe;g=this.$l;break;case l.Gq:this.pe*this.$l>this.oe*this.am?(b=this.pe*this.$l/this.oe,g=this.$l):(b=this.am,g=this.oe*
this.am/this.pe);break;default:case l.jh:this.pe*this.$l>this.oe*this.am?(b=this.am,g=this.oe*this.am/this.pe):(b=this.pe*this.$l/this.oe,g=this.$l)}b*=this.fb;g*=this.fb;var f=Math.min(.5*this.am/b,.5);b=Math.max(1-.5*this.am/b,.5);var c=Math.min(.5*this.$l/g,.5);g=Math.max(1-.5*this.$l/g,.5)}else f=0,b=1,c=0,g=1;this.Ga<f?(this.Ga=f,k|=d.jE):this.Ga>b&&(this.Ga=b,k|=d.kE);this.Ia<c?(this.Ia=c,k|=d.iA):this.Ia>g&&(this.Ia=g,k|=d.dA);this.ym!=h.Az&&this.ym!=h.Cza||0==this.ad||(this.ad=0,k|=d.dBa);
this.Jm=k}};d.eA=0;d.jE=1;d.kE=2;d.iA=4;d.dA=8;d.$Aa=16;d.ZAa=32;d.dBa=64;return d});
define("fZ",["require"],function(){function a(){this.SJ=.1;this.CR=this.i2=this.m2=this.l2=this.w2=this.h2=this.u2=this.s2=this.$N=this.U$=this.kA=this.J0=this.YN=this.R$=this.WN=this.P$=0}a.prototype.VY=function(d){this.SJ=d};a.prototype.Exa=function(d,h,l,k,b,g,f,c){this.P$=d;this.R$=h;this.J0=l;this.U$=k;this.WN+=b;this.YN+=g;this.kA+=f;this.$N+=c};a.prototype.Qe=function(){return 0!=this.s2||0!=this.u2||0!=this.h2||0!=this.w2||0!=this.P$||0!=this.R$||0!=this.J0||0!=this.U$||0!=this.WN||0!=this.YN||
0!=this.kA||0!=this.$N};a.prototype.wb=function(d){d=1E3/d;this.l2=this.RR(this.s2/d,this.P$/d+this.WN,this.SJ);this.m2=this.RR(this.u2/d,this.R$/d+this.YN,this.SJ);this.i2=this.RR(this.h2/d,this.J0/d+this.kA,this.SJ);this.CR=this.RR(this.w2/d,this.U$/d+this.$N,this.SJ);this.s2=this.l2*d;this.u2=this.m2*d;this.h2=this.i2*d;this.w2=this.CR*d;this.$N=this.kA=this.YN=this.WN=0};a.prototype.RR=function(d,h,l){return 0==h?this.Xf(d,h,l):h};a.prototype.Xf=function(d,h,l){d=(h-d)*(1-l);.01>Math.abs(d)&&
(d=0);return h-d};return a});
define("ge","require kV og cu fV lK".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV");a("lK");var b=d.extend(k,function(){k.call(this);this.RJ=7;this.ET=this.Z4=!1;this.GT=void 0;this.ad=0;this.fb=1;this.oe=this.pe=100;this.bT=1;this.h7=!0;this.i7=!1;this.QQa=!0;this.T$=!1;this.Xa=null});b.prototype.qP=function(g){this.RJ=g};b.prototype.Gd=function(g,f,c,e){this.ad=g;this.fb=f;this.pe=c;this.oe=e};b.prototype.sWa=function(g){this.h7=g;this.JV(this.h7&&!!this.Xa)};b.prototype.wq=
function(g){this.Xa!=g&&(this.JV(!1),this.D8(!1),this.Dl(),this.Xa=g,this.JV(this.h7&&!!this.Xa),this.D8(this.QQa&&!!this.Xa))};b.prototype.Dl=function(){this.JV(!1);this.D8(!1);this.Xa=null};b.prototype.JV=function(g){this.i7!=g&&((this.i7=g)?this.BCa():this.jPa())};b.prototype.D8=function(g){this.T$!=g&&((this.T$=g)?this.CCa():this.kPa())};b.prototype.BCa=function(){this.Xa.bind(h.ub,this.Md,this,!0);this.Xa.bind(h.ec,this.ij,this,!0);this.Xa.bind(h.$b,this.jj,this,!0)};b.prototype.jPa=function(){this.Xa.unbind(h.ub,
this.Md,this);this.Xa.unbind(h.ec,this.ij,this);this.Xa.unbind(h.$b,this.jj,this)};b.prototype.CCa=function(){this.Xa.bind(h.Jq,this.DB,this,!0);this.Xa.bind(h.WD,this.$A,this,!0)};b.prototype.kPa=function(){this.Xa.unbind(h.Jq,this.DB,this);this.Xa.unbind(h.WD,this.$A,this)};b.prototype.Md=function(g){this.UNa(g)};b.prototype.ij=function(g){this.pra(g)};b.prototype.jj=function(){this.g3()};b.prototype.DB=function(g){this.s$(g)};b.prototype.$A=function(g){this.t$(g)};b.prototype.UNa=function(g){this.Z4=
!0;this.ET=!1;this.GT=g;this.pra(g)};b.prototype.pra=function(g){if(this.Z4){var f=g.pageX-this.GT.pageX,c=g.pageY-this.GT.pageY;this.ET||(Math.sqrt(f*f+c*c)>this.RJ?this.ET=!0:f=c=0);this.ET&&(this.GT=g);g=this.ad*Math.PI/180;this.trigger(new l(b.Bo,{xDelta:-((f*Math.cos(g)+c*Math.sin(g))/this.pe),yDelta:-((c*Math.cos(g)-f*Math.sin(g))/this.oe)}))}};b.prototype.g3=function(){this.Z4=!1};b.prototype.t$=function(g){if(this.bT!=g.scale){this.g3();var f=this.bT;this.bT=g.scale;this.trigger(new l(b.Fo,
{zoomDelta:this.fb*this.bT/f-this.fb}))}};b.prototype.s$=function(g){0!=g.delta&&(this.g3(),this.trigger(new l(b.Fo,{zoomDelta:this.fb*g.rX*.1})))};b.Bo="position change";b.Fo="zoom change";b.jYa="vieport navigation";b.iYa="relative navigation";b.hYa="relative exponential navigation";b.gYa="dragging";return b});define("jm",["require"],function(){return{W_:"rotateClockwise",X_:"rotateCounterClockwise",nt:"zoomIn",ot:"zoomOut",wf:"stop"}});
define("mZ","require kV cu fV lK fZ ge jm og".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("lK"),b=a("fZ"),g=a("ge"),f=a("jm");a("og");var c=d.extend(l,function(e,m){l.call(this);this.j=e;this.da=m;this.pr=this.aV=this.T=!1;this.Ia=this.Ga=.5;this.ad=0;this.fb=1;this.oe=this.pe=100;this.pf=k.Az;this.Yb=new b;this.ib=new g;this.j.Dn?(this.ib.qP(c.u0),this.Yb.VY(c.v0)):(this.ib.qP(0),this.Yb.VY(1));this.ib.bind(g.Bo,this.UJa,this,!0);this.ib.bind(g.Fo,this.Sx,this,!0)});c.prototype.clear=
function(){this.ib.unbind(g.Bo,this.fZa,this,!0);this.ib.unbind(g.Fo,this.Sx,this,!0);this.ib.Dl();this.j=this.da=this.Yb=this.ib=null};c.prototype.Cj=function(e){switch(e){case f.W_:this.Hc(0,0,+c.p0,0,0,0,0,0);break;case f.X_:this.Hc(0,0,-c.p0,0,0,0,0,0);break;case f.nt:this.Hc(0,0,0,+c.UI,0,0,0,0);break;case f.ot:this.Hc(0,0,0,-c.UI,0,0,0,0);break;case f.wf:this.Hc(0,0,0,0,0,0,0,0)}};c.prototype.setPosition=function(e,m,q,p,n,r){this.Ga=e;this.Ia=m;this.ad=q;this.fb=p;this.pe=n;this.oe=r;this.ib.Gd(this.ad,
this.fb,this.pe,this.oe)};c.prototype.Qe=function(){return this.T&&this.Yb.Qe()};c.prototype.wb=function(e){this.Yb.wb(e);this.da.setPosition(this.Ga+this.Yb.l2,this.Ia+this.Yb.m2,this.ad+this.Yb.i2,this.fb+this.Yb.CR);this.Ga=this.da.getX();this.Ia=this.da.getY();this.ad=this.da.GH();this.fb=this.da.rq()};c.prototype.uP=function(e){this.pr=e;this.ib.sWa(!this.pr)};c.prototype.kc=function(e){(this.T=e)?this.ib.wq(this.j.getParent()):this.ib.Dl()};c.prototype.UJa=function(e){this.Hc(0,0,0,0,e.data.xDelta,
e.data.yDelta,0,0)};c.prototype.Sx=function(e){this.Hc(0,0,0,0,0,0,0,e.data.zoomDelta)};c.prototype.Hc=function(e,m,q,p,n,r,t,u){this.Yb.Exa(e,m,q,p,n,r,t,u);this.Hh()};c.prototype.Hh=function(){this.trigger(new h(c.ih))};c.ih="position change request";c.u0=7;c.v0=.2;c.UI=.5;c.p0=30;return c});
define("mr","require kV cu fV nJ bD fZ ge jm og".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("nJ"),b=a("bD"),g=a("fZ"),f=a("ge"),c=a("jm");a("og");var e=d.extend(l,function(m,q){l.call(this);this.j=m;this.da=q;this.T=!1;this.Ia=this.Ga=.5;this.ad=0;this.fb=1;this.oe=this.pe=100;this.W=null;this.b3=!0;this.Oc=null;this.AU=0;this.Xr=this.uk=this.cv=void 0;this.Yb=new g;this.ib=new f;this.j.Dn?(this.ib.qP(e.u0),this.Yb.VY(e.v0)):(this.ib.qP(0),this.Yb.VY(1));this.ib.bind(f.Fo,this.Sx,
this,!0)});e.prototype.bWa=function(m,q){this.pe=m;this.oe=q;this.aH()};e.prototype.Pv=function(m){this.Oc!=m&&(this.Oc=m,this.AU=void 0,this.aH())};e.prototype.Zm=function(m,q){this.Oc==m&&(this.AU=q,this.aH())};e.prototype.aH=function(){if(this.Oc&&void 0!=this.AU){var m=this.Oc.get("x",0)/this.pe;var q=this.Oc.get("y",0)/this.oe;var p=-(this.AU+this.Oc.get("angle",0))}else p=q=m=void 0;this.Xr!=p&&(this.Xr=p,this.Hh());if(this.cv!=m||this.uk!=q)this.cv=m,this.uk=q,this.wIa(),this.Hh()};e.prototype.wIa=
function(){this.b3=!0;this.Hh()};e.prototype.AC=function(){if(this.b3||this.W&&this.W.Fe())if(this.b3=!1,this.W=null,void 0!=this.cv&&void 0!=this.uk&&void 0!=this.Xr){for(var m=this.Xr-this.ad;180<m;)m-=360;for(;-180>m;)m+=360;this.Ga!=this.cv||this.Ia!=this.uk?this.W=new k("quad_in_out",[new b("x",this.Ga,this.cv,1),new b("y",this.Ia,this.uk,1),new b("angleDif",m,m,360)],500):this.Xr!=this.ad&&(this.W=new k("quad_in_out",[new b("x",this.Ga,this.Ga,1),new b("y",this.Ia,this.Ia,1),new b("angleDif",
m,0,360)],500))}};e.prototype.clear=function(){this.ib.unbind(f.Fo,this.Sx,this,!0);this.ib.Dl();this.j=this.da=this.W=this.Yb=this.ib=null};e.prototype.Cj=function(m){switch(m){case c.nt:this.Hc(+e.UI,0);break;case c.ot:this.Hc(-e.UI,0);break;case c.wf:this.Hc(0,0)}};e.prototype.setPosition=function(m,q,p,n,r,t){this.Ga=m;this.Ia=q;this.ad=p;this.fb=n;this.ib.Gd(this.ad,this.fb,r,t)};e.prototype.Qe=function(){return this.T&&(this.W||this.Yb.Qe()||void 0!=this.cv&&this.Ga!=this.cv||void 0!=this.uk&&
this.Ia!=this.uk||void 0!=this.Xr&&this.ad!=this.Xr)?!0:!1};e.prototype.wb=function(m){this.AC();this.W?(this.W.wb(m),this.Ga=this.W.$a("x"),this.Ia=this.W.$a("y"),this.ad=this.Xr-this.W.$a("angleDif")):(void 0!=this.cv&&(this.Ga=this.cv),void 0!=this.uk&&(this.Ia=this.uk),void 0!=this.Xr&&(this.ad=this.Xr));this.Yb.wb(m);this.da.setPosition(this.Ga,this.Ia,this.ad,this.fb+this.Yb.CR);this.Ga=this.da.getX();this.Ia=this.da.getY();this.ad=this.da.GH();this.fb=this.da.rq()};e.prototype.kc=function(m){(this.T=
m)?(this.ib.wq(this.j.getParent()),this.aH()):this.ib.Dl()};e.prototype.Sx=function(m){this.Hc(0,m.data.zoomDelta)};e.prototype.Hc=function(m,q){this.Yb.Exa(0,0,0,m,0,0,0,q);this.Hh()};e.prototype.Hh=function(){this.trigger(new h(e.ih))};e.ih="position change request";e.u0=7;e.v0=.2;e.UI=.5;e.p0=30;return e});
define("ns","require kV cu fV jE lK ki mZ mr og".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("jE"),b=a("lK"),g=a("ki"),f=a("mZ"),c=a("mr"),e=a("og"),m=d.extend(l,function(q){l.call(this);this.j=q;this.j.bind(e.fc,this.cc,this);this.ym=k.Az;this.Oc=null;this.Ia=this.Ga=.5;this.ad=0;this.fb=1;this.Oa=null;this.rV=this.qV=this.hs=this.gs=!1;this.Mm=!0;this.T=!1;this.da=new g;this.da.Aq(this.ym);this.Sb=new f(this.j,this.da);this.Sb.bind(f.ih,this.wp,this,!0);this.ji=new c(this.j,this.da);
this.ji.bind(c.ih,this.wp,this,!0);this.cV()});m.prototype.clear=function(){this.Sb.unbind(f.ih,this.wp,this);this.Sb.clear();this.Sb=null;this.ji.unbind(c.ih,this.wp,this);this.ji.clear();this.Oa=this.da=this.ji=null;this.j.unbind(e.fc,this.cc,this);this.j=null};m.prototype.stop=function(){this.Zd=this.Oa=null;this.T=!1;this.Sb.kc(!1);this.ji.kc(!1);this.Uu(0,0,0)};m.prototype.start=function(q){var p=q.Oa,n=p.get("width",100),r=p.get("height",100),t=p.get("scaleMode",b.jh),u=p.get("minimumZoomFactor",
1),v=p.get("maximumZoomFactor",1),w=p.get("initialZoomFactor",1);this.Oa=p;this.T=!0;this.Zd=q.getItem();this.Uu(0,0,0);this.ji.bWa(n,r);this.da.setConfiguration(n,r,t,u,v);this.da.setPosition(.5,.5,0,w);this.j.vP(this.Zd,this.da.getX(),this.da.getY(),this.da.GH(),this.da.rq());this.cV()};m.prototype.Cj=function(q){this.Sb.Cj(q);this.ji.Cj(q)};m.prototype.Aq=function(q){this.ym!=q&&(this.ym=q,this.da.Aq(q),this.cV())};m.prototype.Pv=function(q){this.Oc!=q&&(this.Oc=q,this.ji.Pv(q),this.cV())};m.prototype.uP=
function(q){this.Sb&&this.Sb.uP(q)};m.prototype.Zm=function(q,p,n,r){this.ji.Zm(q,p,n,r)};m.prototype.Gv=function(q){this.T&&(this.ji.Qe()?(this.ji.wb(q),this.ul(this.ji.Ga,this.ji.Ia,this.ji.ad,this.ji.fb),this.Ka()):this.Sb.Qe()?(this.Sb.wb(q),this.ul(this.Sb.Ga,this.Sb.Ia,this.Sb.ad,this.Sb.fb),this.Ka()):this.Uu(0,0,0))};m.prototype.sd=function(){if(this.Zd){var q=this.j.AO(this.Zd),p=this.j.BO(this.Zd),n=this.j.NX(this.Zd),r=this.j.Mta(this.Zd),t=this.j.zO(this.Zd),u=this.j.yO(this.Zd),v=q-this.Ga,
w=p-this.Ia,x=r-this.fb;this.Ga=q;this.Ia=p;this.ad=n;this.fb=r;this.Uu(v,w,x);this.ji.setPosition(q,p,n,r,t,u);this.Sb.setPosition(q,p,n,r,t,u)}};m.prototype.cV=function(){this.ym==k.b0&&null!=this.Oc&&this.Oc.get("map")==this.Oa?(this.Sb.kc(!1),this.ji.kc(!0)):(this.Sb.kc(!0),this.ji.kc(!1))};m.prototype.wp=function(){this.Ka()};m.prototype.cc=function(){this.da.setSize(this.j.Va(),this.j.zb());this.Ka()};m.prototype.Ka=function(){this.trigger(new h(m.Bb))};m.prototype.ul=function(q,p,n,r){this.j.vP(this.Zd,
q,p,n,r)};m.prototype.Uu=function(q,p,n){q=!1;this.hs!=0>n&&(this.hs=!this.hs,q=!0);this.gs!=0<n&&(this.gs=!this.gs,q=!0);this.qV!=0<this.kA&&(this.qV=!this.qV,q=!0);this.rV!=0>this.kA&&(this.rV=!this.rV,q=!0);this.Mm!=(0==n)&&(this.Mm=!this.Mm,q=!0);q&&this.trigger(new h(m.Fj,{rotatingClockwise:this.qV,rotatingCounterClockwise:this.rV,zoomingIn:this.gs,zoomingOut:this.hs,stopped:this.Mm}))};m.Bb="request frame";m.Fj="movement change";return m});
define("jq","require kV cu fV lK ki".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("lK"),b=a("ki"),g=d.extend(l,function(f,c){l.call(this);this.N=f;this.j=c;this.da=new b;this.og=[];this.la=g.mh;this.ap=this.Yi=this.Sk=null;this.Lg=this.N.get("transitionDuration");this.qg=void 0});g.prototype.Aq=function(f){this.da.Aq(f)};g.prototype.lO=function(f){f.QO()&&this.E1();this.og.push(f);this.eU()};g.prototype.hide=function(){this.E1();this.og.push(null);this.eU()};g.prototype.clear=function(){this.la=
g.mh;this.E1();this.tLa();this.J7();this.j=null};g.prototype.sd=function(f){this.la==g.mh||this.la!=g.rn&&this.la!=g.ww||(this.qg+=f,f=Math.min(1,this.qg/this.Lg),this.la==g.rn?this.j.yq(this.ap,f):this.j.yq(this.GR,1-f),this.qg<this.Lg?this.Ka():this.la==g.rn?this.uFa():this.wFa())};g.prototype.eU=function(){if(this.la==g.mh){for(;0<this.og.length&&this.SBa(this.og[0],this.Yi);)this.og.shift();0<this.og.length&&this.Ro()}};g.prototype.SBa=function(f,c){return f==c||!!f&&!!c&&f.isEqual(c)};g.prototype.Ro=
function(){!this.Yi||this.og[0]&&!this.og[0].QO()||this.Yi.Oa==(this.og[0]&&this.og[0].Oa)||this.trigger(new h(g.Dz,{map:this.Yi.Oa}));"fade_out_fade_in"!=this.N.get("transitionMode","blending")||!this.Yi||this.og[0]&&!this.og[0].QO()?(this.ap=(this.Sk=this.og.shift())&&this.Sk.getItem(),this.Sk?this.hJ():this.Yi&&this.Ew()):this.Ew()};g.prototype.hJ=function(){this.pBa();this.Sk.QO()&&this.nMa();this.qg=0;this.la=g.rn;this.Ka()};g.prototype.uFa=function(){this.J7();this.Yi=this.Sk;this.GR=this.ap;
this.ap=this.Sk=null;this.hx()};g.prototype.Ew=function(){this.qg=0;this.la=g.ww;this.Ka()};g.prototype.wFa=function(){this.J7();this.Yi=null;this.hx()};g.prototype.hx=function(){this.la=g.mh;this.Yi&&this.Yi.QO()&&this.trigger(new h(g.Ez,{map:this.Yi.Oa}));0==this.og.length?this.Yi?this.trigger(new h(g.f_,{level:this.Yi})):this.trigger(new h(g.SZ)):this.Ro()};g.prototype.nMa=function(){var f=this.Sk.Oa;this.Sk.yj();this.da.setConfiguration(f.get("width",100),f.get("height",100),f.get("scaleMode",
k.jh),f.get("minimumZoomFactor",1),f.get("maximumZoomFactor",1));this.da.setPosition(.5,.5,0,f.get("initialZoomFactor",1));this.j.vP(this.ap,this.da.getX(),this.da.getY(),this.da.GH(),this.da.rq())};g.prototype.Ka=function(){this.trigger(new h(g.Bb))};g.prototype.E1=function(){for(;0<this.og.length;){var f=this.og.shift();f&&this.j.Dj(f.getItem())}};g.prototype.pBa=function(){this.Sk&&(this.j.V$(this.ap),this.j.faa(this.ap),this.j.yq(this.ap,0),this.trigger(new h(g.e_,{level:this.Sk})))};g.prototype.J7=
function(){this.Yi&&(this.j.removeItem(this.GR),this.trigger(new h(g.aQ,{level:this.Yi})),this.j.Dj(this.GR),this.GR=this.Yi=null)};g.prototype.tLa=function(){this.Sk&&(this.j.removeItem(this.ap),this.trigger(new h(g.aQ,{level:this.Sk})),this.j.Dj(this.ap),this.ap=this.Sk=null)};g.mh="stopped";g.rn="blending";g.ww="disolving";g.Bb="request frame";g.e_="level added";g.aQ="level removed";g.f_="level fully displayed";g.SZ="all pending maps hidden";g.Ez="map show";g.Dz="map hide";return g});
define("kh",["require","exports","kV","x"],function(a,d,h,l){var k=function(){return function(){}}();return function(){function b(){}b.ma=function(g,f,c,e){this.Kfa(g,f,c,e,!1)};b.NC=function(g,f,c,e){this.Kfa(g,f,c,e,!0)};b.Kfa=function(g,f,c,e,m){function q(){for(var r=[],t=0;t<f.length;t++)try{r.push(g.get(f[t]))}catch(u){r.push(void 0),h.UO("BindingsHandler._addBinding",u)}c.apply(this,r)}f=h.toArray(f);m&&(q=h.so(q));var p=[];f.forEach(function(r){(r=l.Is(g,r,q,this,!m))&&p.push(r)},this);var n=
new k;n.NXa=p;n.host=g;n.qc=f;n.MO=c;this.aaa.push(n);e&&q()};b.ka=function(g,f,c){var e=[];this.aaa.forEach(function(m){m.MO==c&&m.host==g&&h.rTa(m.qc,h.toArray(f))?m.NXa.forEach(function(q){q.qz()}):e.push(m)});this.aaa=e};b.aaa=[];return b}()});
define("kG",["require"],function(){function a(d,h){this.Oa=d;this.Pa=d.get("image");this.re=h;this.X4=void 0}a.prototype.getItem=function(){switch(this.re){case a.lQ:return this.Oa.Xta();default:return this.Oa.zj()}};a.prototype.yj=function(){switch(this.re){case a.lQ:return this.Oa.bD();default:return this.Oa.pq()}};a.prototype.QO=function(){return void 0===this.X4?0==this.getIndex():this.X4};a.prototype.NVa=function(d){this.X4=d};a.prototype.SO=function(){return this.re==a.Nda};a.prototype.isEqual=
function(d){return d&&this.Oa==d.map&&this.re==d.type};a.prototype.getIndex=function(){return this.re==a.lQ||this.Oa.SH()?0:1};a.prototype.Bta=function(){return this.Oa.SH()?2:1};a.lQ="preload";a.Nda="load";return a});
define("iy","require kV kh og cu fV kG u".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("cu"),b=a("fV"),g=a("kG"),f=a("u"),c=d.extend(b,function(e){b.call(this);this.j=e;this.og=[];this.IJ=this.zB=this.Cg=null;this.pB=!1;this.dT=null;this.WT=d.so(this.WT,this)});c.prototype.clear=function(){this.stop();this.j=null};c.prototype.tva=function(e,m){if(this.dT!=e||m)this.stop(),this.Oa=e,this.Oa.dVa(),h.NC(this.Oa,"image.levels.url",this.WT),m=[],e.SH()&&f.kb()&&m.push(new g(e,g.lQ)),m.push(new g(e,
g.Nda)),m=m.filter(function(q){return q.getItem().li()}),m.length&&(this.og=this.og.concat(m),this.eU())};c.prototype.WT=function(){this.reload()};c.prototype.reload=function(){this.tva(this.Oa,!0)};c.prototype.stop=function(){h.ka(this.Oa,"image.levels.url",this.WT);this.dT=this.Oa=null;this.og=[];this.dqa();this.pB&&(this.pB=!1,this.E9(),this.j.Dj(this.Cg.getItem()),this.Cg=null,this.trigger(new k(c.bQ)))};c.prototype.eU=function(){this.pB||this.z5()};c.prototype.z5=function(){0<this.og.length?
(this.Cg=this.og.shift(),this.pB||(this.pB=!0,this.trigger(new k(c.$P,{level:this.Cg,percent:0}))),this.vCa(),this.j.po(this.Cg.getItem()),this.j.mZ(this.Cg.getItem())&&this.f6()):this.pB&&(this.pB=!1,this.trigger(new k(c.bQ)))};c.prototype.f6=function(){this.E9();this.LNa();this.Cg=null;this.z5()};c.prototype.LNa=function(){this.dqa();this.zB=this.Cg;var e=this;this.IJ=setTimeout(function(){e.IJ=null;e.FJa()},500)};c.prototype.FJa=function(){var e=this.zB.Oa;this.zB.NVa(e!=this.dT);this.dT=e;this.trigger(new k(c.g_,
{level:this.zB}));this.zB=null};c.prototype.dqa=function(){null!=this.IJ&&(clearTimeout(this.IJ),this.IJ=null,this.j.Dj(this.zB.getItem()),this.zB=null)};c.prototype.Fla=function(){this.E9();this.Cg=null;this.z5()};c.prototype.Gla=function(e){this.trigger(new k(c.$P,{level:this.Cg,percent:e.Og}))};c.prototype.vCa=function(){var e=this.Cg.getItem();e.bind(l.aa,this.f6,this);e.bind(l.Fc,this.Fla,this);e.bind(l.rc,this.Gla,this)};c.prototype.E9=function(){var e=this.Cg.getItem();e.unbind(l.aa,this.f6,
this);e.unbind(l.Fc,this.Fla,this);e.unbind(l.rc,this.Gla,this)};c.$P="level loading progress";c.g_="level loaded";c.bQ="load stopped";return c});
define("ne",["require"],function(){function a(k){return k&&0==k.indexOf("#")}function d(k){return[parseInt(k.substr(1,2),16),parseInt(k.substr(3,2),16),parseInt(k.substr(5,2),16)]}function h(k,b){return Math.max(Math.abs(k[0]-b[0]),Math.abs(k[1]-b[1]),Math.abs(k[2]-b[2]))}var l={gVa:function(k,b,g){if(a(k)){var f=d(k),c=void 0,e=256;b.forEach(function(m){if(a(m)){var q=d(m);q=h(f,q);q<e&&(c=m,e=q)}});if(c&&e<=g)return c}return k},JX:function(k,b){return h(d(k),d(b))}};l.eP=d;l.ID=function(k){k=d(k);
return k[0]<<16|k[1]<<8|k[2]<<0};l.YYa=a;return l});define("cE",["require"],function(){function a(d,h){this.x=d;this.y=h}a.prototype.rotate=function(d){var h=Math.cos(d);d=Math.sin(d);var l=this.x*d+this.y*h;this.x=this.x*h-this.y*d;this.y=l;return this};a.prototype.translate=function(d,h){this.x+=d;this.y+=h;return this};a.prototype.scale=function(d,h){this.x*=d;this.y*=h;return this};return a});
define("mj",["require","lK","my"],function(a){function d(k,b,g){this.pg=k;this.Rpa=b;this.Ppa=g;this.pf=h.hw;this.Zk=l.ue;this.Bl=l.ae}var h=a("lK"),l=a("my");d.prototype.nz=function(k){this.pf=k};d.prototype.jI=function(k){this.Zk=k};d.prototype.pI=function(k){this.Bl=k};d.prototype.CH=function(k,b,g){var f=this.Rpa,c=this.Ppa,e;switch(this.pf){case h.NONE:var m=e=1;break;case h.jh:e=m=Math.min(b/f,g/c);break;case h.Gq:e=m=Math.max(b/f,g/c);break;case h.Go:e=m=b/f;break;case h.Hj:e=m=g/c;break;default:e=
b/f,m=g/c}var q=Math.min(this.Rpa*e,b);e=Math.min(b/e,f);switch(this.Zk){case l.Ma:f=b=0;break;case l.eb:b-=q;f-=e;break;default:b=.5*(b-q),f=.5*(f-e)}var p=Math.min(this.Ppa*m,g);m=Math.min(g/m,c);switch(this.Bl){case l.sc:c=g=0;break;case l.mc:g-=p;c-=m;break;default:g=.5*(g-p),c=.5*(c-m)}k.drawImage(this.pg,Math.round(f),Math.round(c),Math.round(e+f-Math.round(f)),Math.round(m+c-Math.round(c)),Math.round(b),Math.round(g),Math.round(q+b-Math.round(b)),Math.round(p+g-Math.round(g)))};return d});
define("lR","require og hE cE kd mj".split(" "),function(a){function d(f,c,e,m){this.j=f;this.Oa=c;this.pe=this.Oa.get("width");this.oe=this.Oa.get("height");this.Zd=this.Oa.zj();this.Nja=e;this.Bn=m;this.eB=null;if(this.Bn){if(this.yG=this.Nja.yG,this.ea=this.Bn.get("width"),this.ua=this.Bn.get("height"),this.Ga=this.Bn.get("x",0),this.Ia=this.Bn.get("y",0),this.su=this.Bn.get("offsetX",0),this.tu=this.Bn.get("offsetY",0),this.hb=this.Bn.pq())this.yh=new b(l.ln),this.yh.load(this.hb.get("url")),
this.yh.bind(h.aa,this.mma,this)}else this.yh=null}var h=a("og"),l=a("hE"),k=a("cE"),b=a("kd"),g=a("mj");d.prototype.clear=function(){this.Bn=this.Nja=this.Zd=this.Oa=this.j=null;this.yh&&(this.yh.unbind(h.aa,this.mma,this),this.yh.cancel(),this.yh=null);this.eB=null};d.prototype.Ota=function(f,c){this.Oja=void 0;if(this.eB&&void 0!=f&&void 0!=c){var e=.5*this.j.Va(),m=.5*this.j.zb(),q=this.j.NX(this.Zd)*Math.PI/180,p=this.j.zO(this.Zd),n=this.j.yO(this.Zd),r=this.j.AO(this.Zd),t=this.j.BO(this.Zd);
f=new k(f,c);f.translate(-e,-m);f.rotate(-q);f.scale(1/p,1/n);f.translate(r,t);f.scale(this.pe,this.oe);f.translate(-this.Ga,-this.Ia);this.yG||(f.rotate(q),f.scale(p/this.pe,n/this.oe));f.translate(this.su,this.tu);e=Math.round(f.x);m=Math.round(f.y);0<=e&&e<this.eB.width&&0<=m&&m<this.eB.height&&(e=4*(this.eB.width*m+e),m=this.eB.data,this.Oja=0<m[e+3]?"#"+this.n1(m[e+0])+this.n1(m[e+1])+this.n1(m[e+2]):"transparent")}return this.Oja};d.prototype.mma=function(){var f=new g(this.yh.sf(),this.hb.get("width"),
this.hb.get("height"));f.nz(this.Bn.get("scaleMode"));f.jI(this.Bn.get("horizontalAlign"));f.pI(this.Bn.get("verticalAlign"));var c=document.createElement("canvas");c.width=Math.round(this.ea);c.height=Math.round(this.ua);var e=c.getContext("2d");f.CH(e,c.width,c.height);this.eB=e.getImageData(0,0,c.width,c.height);c.width=c.height=0};d.prototype.n1=function(f){for(f=f.toString(16);2>f.length;)f="0"+f;return f};return d});
define("kB","require dY kV og cu fV ne lR bb nJ bD".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("cu"),b=a("fV"),g=a("ne"),f=a("lR"),c=a("bb"),e=a("nJ"),m=a("bD"),q=h.extend(b,function(p,n,r){b.call(this);this.j=p;this.Oa=n;this.Zb=r;this.wa=this.Zb.getItem();this.Qp=this.Zb.$ta();this.Rp=this.Zb.aua();this.gu=this.Cn=void 0;this.N=this.j.getParent();this.N.bind(l.ec,this.Xe,this);this.N.bind(l.ac,this.AL,this);this.N.bind(l.ub,this.ak,this);this.N.bind(l.$b,this.Jn,this);this.N.bind(l.oa,
this.zr,this);r.bind(l.G("selected"),this.Zma,this);r.bind(l.G("enabled"),this.kj,this);this.mT=new f(this.j,this.Oa,this.Zb,this.Zb.get("map",null));this.oT=new f(this.j,this.Oa,this.Zb,this.Zb.get("rollOverMap",this.Zb.get("map",null)));this.pT=new f(this.j,this.Oa,this.Zb,this.Zb.get("selectedMap",this.Zb.get("rollOverMap",this.Zb.get("map",null))));this.zS=new f(this.j,this.Oa,this.Zb,this.Zb.get("image",null));this.AS=new f(this.j,this.Oa,this.Zb,this.Zb.get("rollOverImage",this.Zb.get("image",
null)));this.BS=new f(this.j,this.Oa,this.Zb,this.Zb.get("selectedImage",this.Zb.get("rollOverImage",this.Zb.get("image",null))));this.Uc=this.Tc=void 0;this.VG=null;this.tt=[];this.Zq=[];this.sJ=[];this.oh={};this.Hka=[];this.bu=!1;this.cs=this.Zb.get("useHandCursor");this.W=null;this.MG=void 0;this.BV=this.oV=this.VS=0;p=this.Zb.get("areas",[]);for(n=0;n<p.length;n++){r=p[n];var t=r.get("mapColor");t&&(t=t.toLowerCase(),void 0===this.oh[t]&&(this.oh[t]=[],this.Hka.push(t)),this.oh[t].push(r))}this.wa&&
(this.j.cX(this.Oa.zj(),this.wa),this.j.yq(this.wa,this.VS));this.Qp&&(this.j.cX(this.Oa.zj(),this.Qp),this.j.yq(this.Qp,this.oV));this.Rp&&(this.j.cX(this.Oa.zj(),this.Rp),this.j.yq(this.Rp,this.BV));this.QM("none");this.Q9();this.ipa(!1);this.jpa(this.Zb.get("selected"))});q.prototype.clear=function(){this.N.unbind(l.ec,this.Xe,this);this.N.unbind(l.ac,this.AL,this);this.N.unbind(l.ub,this.ak,this);this.N.unbind(l.$b,this.Jn,this);this.N.unbind(l.oa,this.zr,this);this.N=null;this.mT&&this.mT.clear();
this.mT=null;this.oT&&this.oT.clear();this.oT=null;this.pT&&this.pT.clear();this.pT=null;this.zS&&this.zS.clear();this.zS=null;this.AS&&this.AS.clear();this.AS=null;this.BS&&this.BS.clear();this.BS=null;this.tt=[];this.Cn=!1;this.Q9();this.Zq=[];this.sJ=[];this.oh={};this.iqa();this.KN();this.Oa=this.j=null;this.Zb.unbind(l.G("selected"),this.Zma,this);this.Rp=this.Qp=this.wa=this.Zb=null};q.prototype.match=function(p){return this.Zb==p};q.prototype.sd=function(p){this.uF(!1);this.W&&(this.W.wb(p),
this.VS=this.W.$a("itemAlpha"),this.oV=this.W.$a("rollOverItemAlpha"),this.BV=this.W.$a("selectedItemAlpha"),this.wa&&this.j.yq(this.wa,this.VS),this.Qp&&this.j.yq(this.Qp,this.oV),this.Rp&&this.j.yq(this.Rp,this.BV),this.W.Fe()?this.W=null:this.Ka())};q.prototype.ak=function(p){this.Tc=p.x-this.N.El();this.Uc=p.y-this.N.rs();this.uF(!0);this.Zq=this.tt.slice()};q.prototype.Xe=function(p){this.Tc=p.x-this.N.El();this.Uc=p.y-this.N.rs();this.uF(!0)};q.prototype.Jn=function(p){this.Tc=p.x-this.N.El();
this.Uc=p.y-this.N.rs();this.uF(!0);this.sJ=d.intersection(this.Zq,this.tt);this.Zq=[]};q.prototype.zr=function(){this.sJ&&(this.x9(this.sJ,"click"),this.sJ=[])};q.prototype.AL=function(){this.Uc=this.Tc=void 0;this.uF(!0);this.Zq=this.tt.slice()};q.prototype.Zma=function(){this.jpa(this.Zb.get("selected"))};q.prototype.kj=function(){this.uF(!0);this.dg();this.Ka()};q.prototype.uF=function(p){this.dka=!0;p?this.UG():this.LIa()||this.fOa()};q.prototype.fOa=function(){this.iqa();var p=this;this.VG=
setTimeout(function(){p.VG=null;p.UG()},200)};q.prototype.LIa=function(){return this.VG?!0:!1};q.prototype.iqa=function(){this.VG&&(clearTimeout(this.VG),this.VG=null)};q.prototype.UG=function(){if(this.dka){this.dka=!1;var p=this.tt,n=this.eGa();this.tt=n;this.N.Dn||(this.x9(d.difference(n,p),"rollOver"),this.ipa(0<n.length),this.x9(d.difference(p,n),"rollOut"),this.KN())}};q.prototype.KN=function(){for(var p="",n=0;n<this.tt.length&&!p;n++){var r=this.tt[n];r.get("toolTip")&&(p=r.get("toolTip"))}this.Lb!=
p&&(this.Lb&&this.j.DUa(this.Lb),(this.Lb=p)&&this.j.JUa(this.Lb))};q.prototype.Q9=function(){var p=this.Cn&&(!1!==this.cs||d(this.tt).any(function(n){return!0===n.get("useHandCursor")}));this.bu!=p&&((this.bu=p)?this.j.MY(c.Se):this.j.dI(c.Se))};q.prototype.eGa=function(){if(!1===this.Zb.get("enabled"))return[];var p=[],n=this.gu?this.pT:this.Cn?this.oT:this.mT;n&&(n=n.Ota(this.Tc,this.Uc))&&(this.oh.any&&(p=p.concat(this.oh.any)),"transparent"==n&&this.oh.transparent&&(p=p.concat(this.oh.transparent)),
"transparent"!=n&&(p=this.oh[n]?p.concat(this.oh[n]):p.concat(this.oh[g.gVa(n,this.Hka,5)]||[]),this.oh.image&&(p=p.concat(this.oh.image))));if(n=this.gu?this.BS:this.Cn?this.AS:this.zS)if(n=n.Ota(this.Tc,this.Uc))this.oh.any&&(p=p.concat(this.oh.any)),"transparent"==n&&this.oh.transparent&&(p=p.concat(this.oh.transparent)),"transparent"!=n&&this.oh.image&&(p=p.concat(this.oh.image));n=[];for(var r=0;r<p.length;r++){var t=p[r];0>n.indexOf(t)&&n.push(t)}return n};q.prototype.x9=function(p,n){if(p)for(var r=
0;r<p.length;r++)p[r].trigger(new k(n))};q.prototype.ipa=function(p){this.Cn!=p&&(this.Cn=p,this.trigger(new k(q.a_)),this.dg(),this.Q9(),this.Ka())};q.prototype.jpa=function(p){this.gu!=p&&(this.gu=p,this.dg(),this.Ka())};q.prototype.dg=function(){!this.Cn&&1==this.Zb.get("rollOverDisplay")||!1===this.Zb.get("enabled")?this.QM("none"):this.gu?this.QM("selected"):this.Cn?this.QM("roll over"):this.QM("visible")};q.prototype.QM=function(p){if(this.MG!=p){this.MG=p;var n;if(d(["selected"]).contains(this.MG)&&
this.Rp){var r=1;p=n=0}else d(["selected","roll over"]).contains(this.MG)&&this.Qp?(n=1,p=r=0):d(["selected","roll over","visible"]).contains(this.MG)?(p=1,r=n=0):p=r=n=0;var t=this.VS,u=this.oV,v=this.BV,w=Math.max(200*Math.abs(p-t),200*Math.abs(n-u),200*Math.abs(r-v));this.W=new e("none"==this.MG?"quad_out":"quad_in",[new m("itemAlpha",t,p),new m("rollOverItemAlpha",u,n),new m("selectedItemAlpha",v,r)],w)}};q.prototype.Ka=function(){this.trigger(new k(q.Bb))};q.Bb="request frame";q.a_="is over update";
return q});define("mx",["require","kV","jz"],function(a){var d=a("kV"),h=a("jz");a=d.extend(h,function(l,k,b,g,f,c,e){h.call(this,h.Oea,l,k);this.mIa=b;this.nIa=g;this.GKa=f;this.HKa=c;this.zc=e;this.MN=[]});a.prototype.dD=function(){return this.zc};return a});
define("bS","require kV og cu fV cE mx".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("cE"),g=a("mx"),f=d.extend(k,function(c,e,m){k.call(this);this.j=c;this.N=this.j.getParent();this.N.bind(h.ub,this.ak,this,!0);this.N.bind(h.ec,this.Xe,this,!0);this.N.bind(h.Jo,this.AL,this,!0);this.Oa=e;this.pe=this.Oa.get("width");this.oe=this.Oa.get("height");this.kLa=Math.sqrt(this.pe*this.pe+this.oe*this.oe)*this.Oa.get("fieldOfViewOverlayRadiusScale",1);this.Zd=this.Oa.zj();this.Oc=
m;this.cG=this.Oc.get("x",0);this.dG=this.Oc.get("y",0);this.zU=this.Oc.get("angle",0);this.wa=this.vEa();this.pr=!1;this.Ca=0;this.Ja=.5*Math.PI;this.Md=!1;this.Uc=this.Tc=void 0;this.j.cX(this.Oa.zj(),this.wa)});f.prototype.Gxa=function(c,e){this.Ca=c+this.zU-90;this.Ja=e;this.Ka()};f.prototype.clear=function(){this.N.unbind(h.ub,this.ak,this);this.N.unbind(h.ec,this.Xe,this);this.N.unbind(h.Jo,this.AL,this);this.N=null;this.j.SUa(this.Oa.zj(),this.wa);this.wa=this.Oc=this.Zd=this.Oa=this.j=null};
f.prototype.sd=function(){this.j.QVa(this.wa,this.Ca,this.Ja)};f.prototype.vEa=function(){return new g(this.cG,this.dG,this.Oa.get("fieldOfViewOverlayInsideColor","#FFFFFF"),this.Oa.get("fieldOfViewOverlayInsideOpacity",0),this.Oa.get("fieldOfViewOverlayOutsideColor","#000000"),this.Oa.get("fieldOfViewOverlayOutsideOpacity",0),this.Oa.get("fieldOfViewOverlayRadiusScale",1))};f.prototype.Ka=function(){this.trigger(new l(f.Bb))};f.prototype.T9=function(){var c=!1;if(void 0!=this.Tc&&void 0!=this.Uc){var e=
.5*this.j.Va(),m=.5*this.j.zb(),q=this.j.NX(this.Zd)*Math.PI/180,p=this.j.zO(this.Zd),n=this.j.yO(this.Zd),r=this.j.AO(this.Zd),t=this.j.BO(this.Zd);c=new b(this.Tc,this.Uc);c.translate(-e,-m);c.rotate(-q);c.scale(1/p,1/n);c.translate(r,t);c.scale(this.pe,this.oe);c.translate(-this.cG,-this.dG);c.rotate(-this.Ca*Math.PI/180);e=Math.round(180*Math.atan2(c.y,c.x)/Math.PI);c=Math.round(Math.sqrt(c.x*c.x+c.y*c.y))<=this.kLa&&Math.abs(e)<.5*this.Ja}this.pr!=c&&(this.pr=c,this.trigger(new l(f.J_,{inFOV:this.pr})))};
f.prototype.xTa=function(){return this.pr};f.prototype.ak=function(c){this.Tc=c.x;this.Uc=c.y;this.Md=!0;this.T9()};f.prototype.Xe=function(c){this.Md||(this.Tc=c.x,this.Uc=c.y,this.T9())};f.prototype.AL=function(){this.Uc=this.Tc=void 0;this.Md=!1;this.T9()};f.Bb="request frame";f.J_="mouse in fov change";return f});
define("nS","require dY kV cu fV hU kB bS".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("cu"),k=a("fV"),b=a("hU"),g=a("kB"),f=a("bS"),c=h.extend(k,function(e){k.call(this);this.j=e;this.UK=[];this.du=[];this.nm=[];this.Cm=this.Oc=null});c.prototype.clear=function(){for(var e=0;e<this.du.length;e++)this.du[e].clear();for(e=0;e<this.nm.length;e++)this.nm[e].clear();this.j=this.UK=this.Oc=this.nm=this.du=null};c.prototype.lO=function(e){e.SO()&&this.BBa(e.Oa)};c.prototype.Zaa=function(e){e.SO()&&
this.ELa(e.Oa)};c.prototype.Pv=function(e){this.Oc!=e&&(this.Oc&&this.L7(this.Oc.get("map")),this.Oc=e,this.Cm=null,this.Oc&&(e=this.Oc.get("map"),this.Y4(e)&&this.Nfa(e)))};c.prototype.Zm=function(e,m,q,p){this.Cm={yaw:m,pitch:q,hfov:p};for(q=0;q<this.nm.length;q++){var n=this.nm[q];if(n.Oc==e){n.Gxa(m,p);break}}};c.prototype.BBa=function(e){this.Y4(e)&&(this.ooa(e),this.L7(e));this.UK.push(e);this.tBa(e);this.Nfa(e)};c.prototype.ELa=function(e){var m=this.UK.indexOf(e);0<=m&&this.UK.splice(m,1);
this.Y4(e)||(this.ooa(e),this.L7(e))};c.prototype.Y4=function(e){return 0<=d(this.UK).indexOf(e)};c.prototype.sd=function(e){for(var m=0;m<this.du.length;m++)this.du[m].sd(e);for(m=0;m<this.nm.length;m++)this.nm[m].sd(e)};c.prototype.tBa=function(e){for(var m=e.get("overlays",[]),q=0;q<m.length;q++){var p=m[q];p instanceof b&&(p=new g(this.j,e,p),p.bind(g.Bb,this.Ka,this,!0),p.bind(g.a_,this.nka,this,!0),this.du.push(p))}};c.prototype.Nfa=function(e){this.Oc&&this.Oc.get("map")==e&&!1!==this.Oc.get("visible")&&
(e=new f(this.j,e,this.Oc),e.bind(f.Bb,this.Ka,this,!0),e.bind(f.J_,this.RT,this,!0),this.nm.push(e),this.Cm&&e.Gxa(this.Cm.yaw,this.Cm.hfov));this.RT()};c.prototype.ooa=function(e){e=e.get("overlays",[]);for(var m=0;m<e.length;m++)for(var q=e[m],p=0;p<this.du.length;p++){var n=this.du[p];if(n.match(q)){n.unbind(g.Bb,this.Ka,this);n.unbind(g.a_,this.nka,this);n.clear();this.du.splice(p,1);break}}};c.prototype.L7=function(e){for(var m=0;m<this.nm.length;m++){var q=this.nm[m];if(q.Oa==e){q.unbind(f.Bb,
this.Ka,this);q.unbind(f.J_,this.RT,this);q.clear();this.nm.splice(m,1);break}}this.RT()};c.prototype.nka=function(){};c.prototype.Ka=function(){this.trigger(new l(c.Bb))};c.prototype.RT=function(){for(var e=!1,m=0;m<this.nm.length;m++)this.nm[m].xTa()&&(e=!0);this.trigger(new l(c.$Z,{inFOV:e}))};c.Bb="request frame";c.$Z="in fov change";return c});
define("I","require kV og cu fV jE cE".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("jE"),g=a("cE"),f=d.extend(k,function(c){k.call(this);this.j=c;this.N=this.j.getParent();this.N.bind(h.ec,this.Xe,this,!0);this.N.bind(h.ub,this.ak,this,!0);this.N.bind(h.$b,this.Jn,this,!0);this.Oa=null;this.Zd=this.oe=this.pe=void 0;this.Oc=null;this.zU=this.dG=this.cG=void 0;this.pr=!1;this.Uc=this.Tc=this.ym=void 0;this.Md=!1;this.Ca=0});f.prototype.clear=function(){this.N.unbind(h.ec,
this.Xe,this);this.N.unbind(h.ub,this.ak,this);this.N.unbind(h.$b,this.Jn,this);this.j=this.Oc=this.Zd=this.Oa=this.N=null};f.prototype.uP=function(c){this.pr=c;this.N9()};f.prototype.lO=function(c){c.SO()&&this.npa(c.Oa)};f.prototype.Zaa=function(c){c.SO()&&this.Oa==c.Oa&&this.npa(null)};f.prototype.npa=function(c){this.Oa!=c&&((this.Oa=c)?(this.pe=this.Oa.get("width"),this.oe=this.Oa.get("height"),this.Zd=this.Oa.zj()):(this.oe=this.pe=void 0,this.Zd=null))};f.prototype.Pv=function(c){this.Oc!=
c&&((this.Oc=c)?(this.cG=this.Oc.get("x",0),this.dG=this.Oc.get("y",0),this.zU=this.Oc.get("angle",0)):this.zU=this.dG=this.cG=void 0)};f.prototype.Zm=function(c,e){this.Oc==c&&(this.Ca=e)};f.prototype.Aq=function(c){this.ym=c};f.prototype.ak=function(c){this.Tc=c.x;this.Uc=c.y;this.Md=!0;this.N9()};f.prototype.Xe=function(c){this.Tc=c.x;this.Uc=c.y;this.Rj&&(c=this.qja(),this.trigger(new l(f.Gj,{yawDelta:c-this.ad})),this.ad=c)};f.prototype.Jn=function(c){this.Tc=c.x;this.Uc=c.y;this.Md=!1;this.N9()};
f.prototype.N9=function(){var c=this.Md&&this.Oc&&this.Oa&&(this.ym==b.b0||this.pr);this.Rj!=c&&(this.Rj=c)&&(this.ad=this.qja())};f.prototype.qja=function(){var c=.5*this.j.Va(),e=.5*this.j.zb(),m=new g(this.Tc,this.Uc);m.translate(-c,-e);if(this.ym==b.b0)return 180*-Math.atan2(m.y,m.x)/Math.PI;c=this.j.NX(this.Zd)*Math.PI/180;e=this.j.zO(this.Zd);var q=this.j.yO(this.Zd),p=this.j.AO(this.Zd),n=this.j.BO(this.Zd);m.rotate(-c);m.scale(1/e,1/q);m.translate(p,n);m.scale(this.pe,this.oe);m.translate(-this.cG,
-this.dG);return 180*Math.atan2(m.y,m.x)/Math.PI};f.Gj="request yaw change";return f});
define("mq",["require","kV","cu","fV","bf"],function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("bf"),b=d.extend(l,function(g){l.call(this);this.T=!0;this.XA=!1;this.j=g});b.prototype.clear=function(){this.T=!1;this.j=null};b.prototype.requestFrame=function(){this.XA||(this.XA=!0,k.requestFrame(this.lj,this))};b.prototype.lj=function(g){this.T&&(this.XA=!1,this.trigger(new h(b.Co,{frameTime:g})),this.trigger(new h(b.Do,{frameTime:g})),this.j.render())};b.Co="frameStart";b.Do="positionSet";return b});
define("do","require kV og cu fV ns jq iy nS I mq".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("ns"),g=a("jq"),f=a("iy"),c=a("nS"),e=a("I"),m=a("mq"),q=d.extend(k,function(p,n){k.call(this);this.N=p;this.j=n;this.j.set("visible",!1);this.FU=null;this.bg=new m(this.j);this.ne=new f(this.j);this.Na=new g(this.N,this.j);this.Ya=new b(this.j);this.Cp=new c(this.j);this.Er=new e(this.j);this.N.bind(h.hd,this.qU,this,!0);this.bg.bind(m.Co,this.Ux,this,!0);this.bg.bind(m.Do,this.Vx,
this,!0);this.ne.bind(f.bQ,this.xL,this);this.ne.bind(f.g_,this.bma,this);this.ne.bind(f.$P,this.cma,this);this.Na.bind(g.Bb,this.Be,this,!0);this.Na.bind(g.e_,this.$la,this,!0);this.Na.bind(g.aQ,this.dma,this,!0);this.Na.bind(g.f_,this.ama,this,!0);this.Na.bind(g.Dz,this.vu,this,!0);this.Na.bind(g.Ez,this.Px,this,!0);this.Na.bind(g.SZ,this.nla,this,!0);this.Ya.bind(b.Bb,this.Be,this,!0);this.Ya.bind(b.Fj,this.tp,this);this.Cp.bind(c.Bb,this.Be,this,!0);this.Cp.bind(c.$Z,this.Qla,this,!0);this.Er.bind(e.Gj,
this.NL,this,!0);this.nia=!1});q.prototype.Aq=function(p){this.Ya.Aq(p);this.Na.Aq(p);this.Er.Aq(p)};q.prototype.clear=function(){this.nia=!0;this.ne.clear();this.bg.clear();this.Ya.clear();this.Na.clear();this.Cp.clear();this.Er.clear();this.N.unbind(h.hd,this.qU,this);this.ne.unbind(f.bQ,this.xL,this);this.ne.unbind(f.g_,this.bma,this);this.ne.unbind(f.$P,this.cma,this);this.bg.unbind(m.Co,this.Ux,this);this.bg.unbind(m.Do,this.Vx,this);this.Na.unbind(g.Bb,this.Be,this);this.Na.unbind(g.e_,this.$la,
this);this.Na.unbind(g.aQ,this.dma,this);this.Na.unbind(g.f_,this.ama,this);this.Na.unbind(g.Dz,this.vu,this);this.Na.unbind(g.Ez,this.Px,this);this.Na.unbind(g.SZ,this.nla,this);this.Ya.unbind(b.zza,this.Be,this);this.Ya.unbind(b.Fj,this.tp,this);this.Cp.unbind(c.Bb,this.Be,this);this.Cp.unbind(c.$Z,this.Qla,this);this.Er.unbind(e.Gj,this.NL,this);this.N=this.j=this.Er=this.Cp=this.Na=this.Ya=this.bg=this.ne=null};q.prototype.qU=function(){this.FU&&(this.Axa(this.FU),this.FU=null)};q.prototype.Axa=
function(p){this.j.set("visible",!0);this.N.yx?this.ne.tva(p):(this.ne.stop(),this.Ya.stop(),this.Na.hide(),this.FU=p)};q.prototype.Kv=function(){this.ne.stop();this.Ya.stop();this.Na.hide()};q.prototype.Cj=function(p){this.Ya.Cj(p)};q.prototype.Pv=function(p){this.nia||(this.Ya.Pv(p),this.Cp.Pv(p),this.Er.Pv(p))};q.prototype.Zm=function(p,n,r,t){this.Ya.Zm(p,n,r,t);this.Cp.Zm(p,n,r,t);this.Er.Zm(p,n,r,t)};q.prototype.cma=function(p){var n=p.data.level;p=(p.data.percent+100*n.getIndex())/n.Bta();
this.trigger(new l(q.Ps,{percent:p}))};q.prototype.bma=function(p){this.j.set("visible",!0);p=p.data.level;this.Ya.stop();this.Na.lO(p)};q.prototype.xL=function(){this.trigger(new l(q.Cz))};q.prototype.Be=function(){this.bg.requestFrame()};q.prototype.Ux=function(p){this.Ya.Gv(p.data.frameTime)};q.prototype.Vx=function(p){p=p.data.frameTime;this.Na.sd(p);this.Ya.sd(p);this.Cp.sd(p)};q.prototype.$la=function(p){p=p.data.level;this.Cp.lO(p);this.Er.lO(p)};q.prototype.dma=function(p){p=p.data.level;
this.Cp.Zaa(p);this.Er.Zaa(p)};q.prototype.ama=function(p){p=p.data.level;p.SO()&&this.Ya.start(p)};q.prototype.nla=function(){this.j.set("visible",!1)};q.prototype.Qla=function(p){p=p.data.inFOV;this.Ya.uP(p);this.Er.uP(p)};q.prototype.Px=function(p){this.trigger(new l(q.Ez,{map:p.data.map}))};q.prototype.vu=function(p){this.trigger(new l(q.Dz,{map:p.data.map}))};q.prototype.tp=function(p){this.trigger(new l(q.Fj,p.data))};q.prototype.NL=function(p){this.trigger(new l(q.Gj,{yawDelta:p.data.yawDelta}))};
q.Fj="movementChange";q.Cz="loadingEnd";q.Ps="loadingProgress";q.Ez="mapShow";q.Dz="mapHide";q.Gj="requestYawChange";return q});define("kq",["require","hE"],function(a){function d(){this.status=d.jQ;this.progress=this.uD=0;this.Oba=[]}a("hE");d.LOADING="loading";d.aa="loaded";d.jQ="not loaded";return d});
define("kS","require dY kV cu og kd kq".split(" "),function(a){function d(){this.qia={};this.Yd=[];this.Jx=[];this.jd={}}var h=a("dY"),l=a("kV");a("cu");var k=a("og"),b=a("kd"),g=a("kq");d.prototype.mZ=function(f){f=f.xs();for(var c=0,e=f.length;c<e;c++)if(this.dK(f[c]).status!=g.aa)return!1;return!0};d.prototype.po=function(f,c){this.Yd.push(f);this.wBa(f,c)};d.prototype.Dj=function(f,c){var e=h(this.Yd).indexOf(f);if(0>e)throw"Unloading item not loaded";this.Yd.splice(e,1);this.BLa(f,c)};d.prototype.sf=
function(f,c){return this.jd[f].sf(c)};d.prototype.wBa=function(f,c){this.Jx.push(f);f=f.xs();for(var e=0,m=f.length;e<m;e++){var q=f[e],p=this.dK(q);p.uD++;p.Oba.push(c);p.status==g.jQ&&(p.status=g.LOADING,this.aJa(q,Math.min.apply(Math,p.Oba)))}this.kra()};d.prototype.BLa=function(f,c){this.Jx=h(this.Jx).without(f);f=f.xs();for(var e=0,m=f.length;e<m;e++){var q=f[e],p=this.dK(q);p.uD--;var n=p.Oba,r=n.indexOf(c);0<=r&&n.splice(r,1);0==p.uD&&p.status!=g.jQ&&(p.status=g.jQ,p.progress=0,this.oPa(q))}};
d.prototype.kra=function(f){f=(void 0==f?this.Jx:this.oja(f)).slice();for(var c=0;c<f.length;c++){for(var e=f[c],m=e.xs(),q=0,p=0,n=m.length,r=0;r<m.length;r++){var t=this.dK(m[r]);q+=t.progress;t.status==g.aa&&p++}e.aWa(q/n);p==n&&(e.rca(),this.Jx=h(this.Jx).without(e))}};d.prototype.dK=function(f){var c=this.qia[f];c||(this.qia[f]=c=new g);return c};d.prototype.oja=function(f){for(var c=[],e=0;e<this.Jx.length;e++){var m=this.Jx[e];h(m.xs()).contains(f)&&c.push(m)}return c};d.prototype.aJa=function(f,
c){c=new b(c);this.jd[f]=c;c.bind(k.aa,this.yL,this,!0);c.bind(k.Fc,this.zL,this,!0);c.load(f)};d.prototype.oPa=function(f){var c=this.jd[f];delete this.jd[f];c.unbind(k.aa,this.yL,this);c.unbind(k.Fc,this.zL,this);c.cancel()};d.prototype.yL=function(f){f=f.source.li();var c=this.dK(f);c.progress=100;c.status=g.aa;this.kra(f)};d.prototype.zL=function(f){f=f.source.li();for(var c=this.oja(f),e=0;e<c.length;e++){var m=c[e];this.Dj(m);m.AVa()}l.log("Error loading: "+f)};return d.instance=new d});
define("hh",["require","jquery.mod","u"],function(a){function d(l,k){this.wa=l;this.ga=k;this.OK=0;this.Or=this.Nr=.5;this.qk=0;this.sb=1;this.Wp=this.lu=this.ua=this.ea=0;this.zc=1;this.NS=this.PS=!0;this.ja=h("<canvas/>");this.O=this.ja.get(0);this.ya=this.O.getContext("2d")}var h=a("jquery.mod");a=a("u");d.prototype.getItem=function(){return this.wa};d.prototype.oO=function(l){return this.wa==l?this:null};d.prototype.wX=function(l){return this.wa==l?[this]:[]};d.prototype.Nh=function(){this.ga&&
this.ga.eaa(this)};d.prototype.ff=function(l){this.ZMa(l)};d.prototype.kpa=function(l){this.OK!=l&&(this.OK=l,this.ga&&this.ga.cY())};d.prototype.ZMa=function(l){this.sb!=l&&(this.sb=l,this.bY())};d.prototype.KV=function(l){this.qk!=l&&(this.qk=l,this.bY())};d.prototype.PM=function(l,k){if(this.ea!=l||this.ua!=k)this.ea=l,this.ua=k,this.ZX()};d.prototype.ul=function(l,k){if(this.lu!=l||this.Wp!=k)this.lu=l,this.Wp=k,this.bY()};d.prototype.bY=function(){this.ga&&this.ga.$X()};d.prototype.ee=function(){this.PS=
!0};d.prototype.Ta=function(){this.PS&&(this.PS=!1,this.Mg())};d.prototype.Mg=function(){};d.prototype.ZX=function(){this.NS=!0;this.bY()};d.prototype.pZ=function(){if(this.NS){this.NS=!1;if(this.O.width!=this.ea||this.O.height!=this.ua)this.O.width=Math.round(this.ea),this.O.height=Math.round(this.ua);this.ya.clearRect(0,0,this.O.width,this.O.height);this.cg()}};d.prototype.cg=function(){};d.prototype.RRa=function(l){if(0<this.sb&&1<=this.ea&&1<=this.ua){l.save();var k=Math.round(this.lu),b=Math.round(this.Wp),
g=Math.round(this.ea*this.Nr),f=Math.round(this.ua*this.Or);l.scale(this.zc,this.zc);l.translate(k+g,b+f);l.rotate(this.qk*Math.PI/180);l.globalAlpha=this.sb;l.drawImage(this.O,-g,-f);l.restore()}};d.prototype.DX=function(){this.O.width=this.O.height=1;this.PS=this.NS=!0};d.Pda=window.devicePixelRatio||1;d.Bj=d.Pda;d.Qza=a.fe()==a.vi?16E6:256E6;return d});
define("mp",["require","dY","kV","hh"],function(a){var d=a("dY"),h=a("kV"),l=a("hh");a=h.extend(l,function(k,b){l.call(this,k,b);this.nc=[];this.aX=null;this.nv=!0});a.prototype.isa=function(k){k=this.X1(k);if(!k)throw"Container renderer can't create child renderer for an item";this.nc.push(k);this.cY();this.$X()};a.prototype.X1=function(){};a.prototype.Mwa=function(k){if(k=this.ms(k))this.nc=d.without(this.nc,k),this.cY(),this.$X()};a.prototype.oO=function(k){for(var b=l.prototype.oO.call(this,k),
g=0;g<this.nc.length&&!b;g++)b=this.nc[g].oO(k);return b};a.prototype.wX=function(k){for(var b=l.prototype.wX.call(this,k),g=0;g<this.nc.length;g++)b=b.concat(this.nc[g].wX(k));return b};a.prototype.ms=function(k){for(var b=null,g=0;g<this.nc.length&&!b;g++)this.nc[g].getItem()==k&&(b=this.nc[g]);for(g=0;g<this.nc.length&&!b;g++)this.nc[g].getItem().nTa(k)&&(b=this.nc[g]);return b};a.prototype.eaa=function(k){this.nc=d.without(this.nc,k);this.nc.push(k);this.cY();this.$X()};a.prototype.cY=function(){this.nv=
!0;this.ee()};a.prototype.$X=function(){this.ZX()};a.prototype.Ta=function(){l.prototype.Ta.call(this);for(var k=0;k<this.nc.length;k++)this.nc[k].Ta()};a.prototype.Mg=function(){if(this.nv){this.nv=!1;for(var k=[],b=0;b<this.nc.length;b++){var g=this.nc[b];k.push({l:g.OK,z:b,r:g})}k.sort(function(f,c){return f.l==c.l?f.z-c.z:f.l-c.l});this.aX=[];for(b=0;b<k.length;b++)this.aX.push(k[b].r);this.ZX()}l.prototype.Mg.call(this)};a.prototype.pZ=function(){for(var k=0;k<this.nc.length;k++)this.nc[k].pZ();
l.prototype.pZ.call(this)};a.prototype.cg=function(){for(var k=0;k<this.aX.length;k++)this.aX[k].RRa(this.ya);l.prototype.cg.call(this)};a.prototype.DX=function(){for(var k=0;k<this.nc.length;k++)this.nc[k].DX();l.prototype.DX.call(this)};return a});define("P",["require","kV","hh"],function(a){var d=a("kV"),h=a("hh");a=d.extend(h,function(l,k){h.call(this,l,k)});a.prototype.XY=function(){};return a});
define("il",["require","kV","P","u"],function(a){var d=a("kV"),h=a("P"),l=a("u");a=d.extend(h,function(k,b){h.call(this,k,b);this.EU=this.ga.getItem().nd();this.DU=this.ga.getItem().$d();this.zc=2;this.TE=0;this.Ja=.5*Math.PI;this.T4=this.U4=!0;this.cl=1;this.OS=!0;this.kpa(1)});a.prototype.XY=function(k,b){this.cl!=b&&(this.cl=b,this.OS=!0,this.ee())};a.prototype.lca=function(k,b){this.Ja!=b&&(this.Ja=b,this.U4=!0,this.ee());this.TE!=k&&(this.TE=k,this.T4=!0,this.ee())};a.prototype.Mg=function(){this.U4&&
(this.U4=!1,this.ZX());if(this.OS||this.T4){this.T4=this.OS=!1;this.zc=Math.max(1,Math.ceil(Math.sqrt(this.EU*this.EU+this.DU*this.DU))/(l.fe()==l.vi?1024:4096));var k=this.cl/this.zc,b=this.wa.getX()*k,g=this.wa.getY()*k,f=Math.max(b,k*this.EU-b);k=Math.max(g,k*this.DU-g);f=2*Math.ceil(Math.sqrt(f*f+k*k));var c=this.TE*Math.PI/180;k=Math.cos(c);c=Math.sin(c);b=b-this.Nr*f-(.5-this.Nr)*f*k+(.5-this.Or)*f*c;g=g-this.Or*f-(.5-this.Or)*f*k-(.5-this.Nr)*f*c;this.OS=!1;this.ul(b,g);this.PM(f,f);this.KV(this.TE)}h.prototype.Mg.call(this)};
a.prototype.cg=function(){var k=this.wa.nIa,b=this.wa.HKa;if(0<b||0<k){var g=this.cl*this.EU,f=this.cl*this.DU;g=Math.ceil(Math.sqrt(g*g+f*f))*this.wa.dD()/this.zc;f=Math.round(.5*this.ea);var c=Math.round(.5*this.ua),e=this.Ja*Math.PI/180,m=.5*-e;e=m+e;0<b&&(this.ya.fillStyle=this.wa.GKa,this.ya.globalAlpha=b,this.ya.rect(0,0,this.ea,this.ua),this.ya.fill(),this.ya.globalCompositeOperation="destination-out",this.ya.fillStyle="#FFFFFF",this.ya.globalAlpha=1,this.ya.beginPath(),this.ya.moveTo(f,c),
this.ya.arc(f,c,g,m,e,!1),this.ya.lineTo(f,c),this.ya.closePath(),this.ya.fill(),this.ya.globalCompositeOperation="source-over");0<k&&(this.ya.fillStyle=this.wa.mIa,this.ya.globalAlpha=k,this.ya.beginPath(),this.ya.moveTo(f,c),this.ya.arc(f,c,g,m,e,!1),this.ya.lineTo(f,c),this.ya.closePath(),this.ya.fill())}h.prototype.cg.call(this)};return a});
define("j","require kV hh P kS mj".split(" "),function(a){var d=a("kV"),h=a("hh"),l=a("P"),k=a("kS"),b=a("mj");a=d.extend(l,function(g,f){l.call(this,g,f);this.kpa(this.wa.Ioa?0:2);this.Ub=k.sf(this.wa.li());this.vV=new b(this.Ub,this.Ub.width,this.Ub.height);this.vV.nz(this.wa.pf);this.vV.pI(this.wa.Bl);this.vV.jI(this.wa.Zk);this.SK=0;this.cl=1;this.D5=!0});a.prototype.XY=function(g,f){if(this.SK!=g||this.cl!=f)this.SK=g,this.cl=f,this.D5=!0,this.ee()};a.prototype.Mg=function(){if(this.D5){this.D5=
!1;var g=this.wa.getX(),f=this.wa.getY(),c=this.wa.nd(),e=this.wa.$d(),m=this.wa.su,q=this.wa.tu;if(this.wa.Ioa)this.KV(0),this.ul((g-m)*this.cl,(f-q)*this.cl),this.PM(c*this.cl,e*this.cl);else{c*=h.Bj;e*=h.Bj;m*=h.Bj;q*=h.Bj;var p=Math.cos(-this.SK*Math.PI/180),n=Math.sin(-this.SK*Math.PI/180);g=g*this.cl-this.Nr*c-(m-this.Nr*c)*p+(q-this.Or*e)*n;f=f*this.cl-this.Or*e-(q-this.Or*e)*p-(m-this.Nr*c)*n;this.KV(-this.SK);this.ul(g,f);this.PM(c,e)}}l.prototype.Mg.call(this)};a.prototype.cg=function(){this.vV.CH(this.ya,
this.O.width,this.O.height);l.prototype.cg.call(this)};return a});
define("hR","require kV lK kS dd jz il j mp".split(" "),function(a){var d=a("kV"),h=a("lK"),l=a("kS"),k=a("dd"),b=a("jz"),g=a("il"),f=a("j"),c=a("mp");a=d.extend(c,function(e,m){c.call(this,e,m,e.Mn);this.Fb=this.wa.nd();this.Rb=this.wa.$d();this.pf=this.wa.pf;this.aS=this.wa.s3;this.xd=this.pd=100;this.M1=!0;this.Ia=this.Ga=.5;this.ad=0;this.fb=1;this.jM=!0;this.Ze=1;this.Ub=l.sf(this.wa.li())});a.prototype.X1=function(e){if(e.getType()!=k.Sea)throw"Invalid item type";switch(e.JKa){case b.Oea:e=
new g(e,this);break;case b.Qea:e=new f(e,this);break;default:e=null}e&&e.XY(this.ad,this.Ze*this.fb);return e};a.prototype.getX=function(){return this.Ga};a.prototype.getY=function(){return this.Ia};a.prototype.GH=function(){return this.ad};a.prototype.rq=function(){return this.fb};a.prototype.Va=function(){return Math.round(this.Fb*this.fb*this.Ze)};a.prototype.zb=function(){return Math.round(this.Rb*this.fb*this.Ze)};a.prototype.xD=function(e,m){if(this.pd!=e||this.xd!=m)this.pd=e,this.xd=m,this.M1=
!0,this.ee()};a.prototype.setPosition=function(e,m,q,p){if(this.Ga!=e||this.Ia!=m||this.ad!=q||this.fb!=p)this.Ga=e,this.Ia=m,this.ad=q,this.fb=p,this.jM=!0,this.ee()};a.prototype.Mg=function(){if(this.M1){this.M1=!1;switch(this.pf){case h.NONE:this.Ze=1;break;case h.Go:this.Ze=this.pd/this.Fb;break;case h.Hj:this.Ze=this.xd/this.Rb;break;case h.Gq:this.Ze=this.Fb*this.xd>this.Rb*this.pd?this.xd/this.Rb:this.pd/this.Fb;break;default:this.Ze=this.Fb*this.xd>this.Rb*this.pd?this.pd/this.Fb:this.xd/
this.Rb}this.jM=!0}if(this.jM){this.jM=!1;var e=this.Va(),m=this.zb(),q=Math.cos(this.ad*Math.PI/180),p=Math.sin(this.ad*Math.PI/180);this.ul(.5*this.pd-this.Nr*e+(this.Nr-this.Ga)*q*e-(this.Or-this.Ia)*p*m,.5*this.xd-this.Or*m+(this.Or-this.Ia)*q*m+(this.Nr-this.Ga)*p*e);this.KV(this.ad);this.PM(e,m);for(e=0;e<this.nc.length;e++)this.nc[e].XY(this.ad,this.Ze*this.fb)}c.prototype.Mg.call(this)};a.prototype.cg=function(){var e=Math.round(this.ea),m=Math.round(this.ua);this.aS?(this.ya.save(),this.ya.translate(e,
0),this.ya.scale(-1,1),this.ya.drawImage(this.Ub,0,0,e,m),this.ya.restore()):this.ya.drawImage(this.Ub,0,0,e,m);c.prototype.cg.call(this)};return a});
define("gE","require dY kV dd mp hR".split(" "),function(a){a("dY");var d=a("kV"),h=a("dd"),l=a("mp"),k=a("hR");a=d.extend(l,function(){l.call(this,null,null);this.z1=!0});a.prototype.yc=function(){return this.ja};a.prototype.render=function(){this.Ta();this.pZ()};a.prototype.HSa=function(){for(var b=1,g=0;g<this.nc.length;g++){var f=this.nc[g];f=f.Va()*f.zb();b<f&&(b=f)}return b};a.prototype.X1=function(b){if(b.getType()!=h.Rea)throw"Invalid item type";b=new k(b,this);b.xD(this.ea,this.ua);b.setPosition(.5,
.5,0,1);return b};a.prototype.setSize=function(b,g){this.PM(b,g);this.z1=!0;this.ee()};a.prototype.Mg=function(){if(this.z1){this.z1=!1;for(var b=0;b<this.nc.length;b++)this.nc[b].xD(this.ea,this.ua)}l.prototype.Mg.call(this)};return a});
define("mY",["require"],function(){var a=Math.PI/180,d=180/Math.PI;return{create:function(){return{x:0,y:0,z:0,w:0}},wta:function(h,l,k){l*=a;h=-h*a;var b=k*a;k=Math.cos(h/2);h=Math.sin(h/2);var g=Math.cos(b/2);b=Math.sin(b/2);var f=Math.cos(l/2);l=Math.sin(l/2);var c={};c.w=k*g*f-h*b*l;c.x=k*g*l+h*b*f;c.y=h*g*f+k*b*l;c.z=k*b*f-h*g*l;return c},Zca:function(h){var l=h.x*h.y+h.z*h.w,k={};if(.499<l)k.Ra=-2*Math.atan2(h.x,h.w),k.Re=-Math.PI/2,k.pitch=0;else if(-.499>l)k.Ra=2*Math.atan2(h.x,h.w),k.Re=
Math.PI/2,k.pitch=0;else{var b=h.x*h.x,g=h.z*h.z;k.Ra=-Math.atan2(2*h.y*h.w-2*h.x*h.z,1-2*h.y*h.y-2*g);k.Re=-Math.asin(2*l);k.pitch=Math.atan2(2*h.x*h.w-2*h.y*h.z,1-2*b-2*g);k.pitch=Math.min(Math.PI/2,Math.max(-Math.PI/2,k.pitch))}k.Ra*=d;k.pitch*=d;k.Re*=-d;return k},Ra:function(h){var l=h.x*h.y+h.z*h.w;return.499<l?-2*Math.atan2(h.x,h.w)*d:-.499>l?2*Math.atan2(h.x,h.w)*d:-Math.atan2(2*h.y*h.w-2*h.x*h.z,1-2*h.y*h.y-2*h.z*h.z)*d}}});
define("nj",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(d,h){this.x=d||0;this.y=h||0};a.Vector2.prototype={constructor:a.Vector2,set:function(d,h){this.x=d;this.y=h;return this},copy:function(d){this.x=d.x;this.y=d.y;return this},subVectors:function(d,h){this.x=d.x-h.x;this.y=d.y-h.y;return this}};a.Vector3=function(d,h,l){this.x=d||0;this.y=h||0;this.z=l||0};a.Vector3.prototype={constructor:a.Vector3,set:function(d,h,l){this.x=d;this.y=h;this.z=
l;return this},copy:function(d){this.x=d.x;this.y=d.y;this.z=d.z;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var d=this.length();0!==d?this.multiplyScalar(1/d):this.z=this.y=this.x=0;return this},multiplyScalar:function(d){this.x*=d;this.y*=d;this.z*=d},applyQuaternion:function(d){var h=this.x,l=this.y,k=this.z,b=d.x,g=d.y,f=d.z;d=d.w;var c=d*h+g*k-f*l,e=d*l+f*h-b*k,m=d*k+b*l-g*h;h=-b*h-g*l-f*k;this.x=c*d+h*-b+e*-f-m*-g;this.y=e*
d+h*-g+m*-b-c*-f;this.z=m*d+h*-f+c*-g-e*-b;return this},dot:function(d){return this.x*d.x+this.y*d.y+this.z*d.z},crossVectors:function(d,h){var l=d.x,k=d.y;d=d.z;var b=h.x,g=h.y;h=h.z;this.x=k*h-d*g;this.y=d*b-l*h;this.z=l*g-k*b;return this}};a.Quaternion=function(d,h,l,k){this.x=d||0;this.y=h||0;this.z=l||0;this.w=void 0!==k?k:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(d,h,l,k){this.x=d;this.y=h;this.z=l;this.w=k;return this},copy:function(d){this.x=d.x;this.y=d.y;this.z=d.z;
this.w=d.w;return this},sxa:function(d,h,l){var k=Math.cos(d/2),b=Math.cos(h/2),g=Math.cos(l/2);d=Math.sin(d/2);h=Math.sin(h/2);l=Math.sin(l/2);this.x=d*b*g+k*h*l;this.y=k*h*g-d*b*l;this.z=k*b*l-d*h*g;this.w=k*b*g+d*h*l;return this},setFromAxisAngle:function(d,h){h/=2;var l=Math.sin(h);this.x=d.x*l;this.y=d.y*l;this.z=d.z*l;this.w=Math.cos(h);return this},multiply:function(d){return this.multiplyQuaternions(this,d)},multiplyQuaternions:function(d,h){var l=d.x,k=d.y,b=d.z;d=d.w;var g=h.x,f=h.y,c=h.z;
h=h.w;this.x=l*h+d*g+k*c-b*f;this.y=k*h+d*f+b*g-l*c;this.z=b*h+d*c+l*f-k*g;this.w=d*h-l*g-k*f-b*c;return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;this.normalize();return this},normalize:function(){var d=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===d?(this.z=this.y=this.x=0,this.w=1):(d=1/d,this.x*=d,this.y*=d,this.z*=d,this.w*=d);return this},slerp:function(d,h){if(0===h)return this;if(1===h)return this.copy(d);var l=this.x,k=this.y,b=this.z,g=this.w,f=g*
d.w+l*d.x+k*d.y+b*d.z;0>f?(this.w=-d.w,this.x=-d.x,this.y=-d.y,this.z=-d.z,f=-f):this.copy(d);if(1<=f)return this.w=g,this.x=l,this.y=k,this.z=b,this;d=Math.acos(f);var c=Math.sqrt(1-f*f);if(.001>Math.abs(c))return this.w=.5*(g+this.w),this.x=.5*(l+this.x),this.y=.5*(k+this.y),this.z=.5*(b+this.z),this;f=Math.sin((1-h)*d)/c;h=Math.sin(h*d)/c;this.w=g*f+this.w*h;this.x=l*f+this.x*h;this.y=k*f+this.y*h;this.z=b*f+this.z*h;return this},setFromUnitVectors:function(){var d,h;return function(l,k){void 0===
d&&(d=new a.Vector3);h=l.dot(k)+1;1E-6>h?(h=0,Math.abs(l.x)>Math.abs(l.z)?d.set(-l.y,l.x,0):d.set(0,-l.z,l.y)):d.crossVectors(l,k);this.x=d.x;this.y=d.y;this.z=d.z;this.w=h;this.normalize();return this}}()};return a});
define("fd",["require","og","cu","fV","nj"],function(a){function d(){e||(e=!0,n=new c.Vector3(0,0,1),r=new c.Quaternion,t=new c.Quaternion(-Math.sqrt(.5),0,0,Math.sqrt(.5)),u=new c.Quaternion,l(),window.addEventListener("orientationchange",l,!1),window.addEventListener("deviceorientation",k,!1),h())}function h(){if(v&&void 0!==q&&void 0!==p){v=!1;var y=c.degToRad*p;u.sxa(c.degToRad*q.beta,c.degToRad*q.alpha,-(c.degToRad*q.gamma));u.multiply(t);u.multiply(r.setFromAxisAngle(n,-y));w||(x++,5<=x&&(w=
!0,m.trigger(new g(b.Rc))));m.trigger(new g(b.sa))}}function l(){p=window.orientation||0;v=!0;h()}function k(y){q=y;v=!0;h()}var b=a("og"),g=a("cu"),f=a("fV"),c=a("nj"),e=!1,m=new f,q,p,n,r,t,u,v,w=!1,x=0;d.prototype.qq=function(){h();return u};d.prototype.bind=function(){m.bind.apply(m,arguments)};d.prototype.unbind=function(){m.unbind.apply(m,arguments)};d.prototype.stop=function(){window.removeEventListener("orientationchange",l,!1);window.removeEventListener("deviceorientation",k,!1)};return d});
define("iA","require og cu fV u nj".split(" "),function(a){function d(p){this.YTa=p;this.naa=new k;this.qX=new k;this.Nba=new k;this.VC=new e.Quaternion;this.Mba=new e.Quaternion;this.esa=new e.Quaternion;this.Zua=!1;this.tX=new e.Vector3;this.sba=new e.Vector3;this.aTa=new e.Quaternion}function h(){this.deviceId="webvr-polyfill:fused";this.Nva=!1;this.Mva=0;this.aO=new e.Vector3;this.UX=new e.Vector3;this.filter=new d(.98);this.EUa=new l(.04);this.VH=q.VH();this.Vm=q.Vm();q.Daa();this.nba=q.GTa();
this.vX=new e.Quaternion;q.Vm()?this.vX.setFromAxisAngle(new e.Vector3(1,0,0),Math.PI/2):this.vX.setFromAxisAngle(new e.Vector3(1,0,0),-Math.PI/2);this.dY=new e.Quaternion;this.vI=new e.Quaternion;this.nwa=new e.Quaternion;this.nwa.setFromAxisAngle(new e.Vector3(0,0,1),-window.orientation*Math.PI/180);this.Ixa();q.Wua()&&this.vX.multiply(this.dY);this.Ds=new e.Quaternion;this.VH=q.VH();this.Vm=q.Vm();this.FTa=66<=q.Daa();this.pD=this.pD.bind(this);this.bP=this.bP.bind(this);this.aP=this.aP.bind(this);
screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change",this.pD):window.addEventListener("orientationchange",this.pD);this.nba?window.addEventListener("deviceorientation",this.bP):window.addEventListener("devicemotion",this.aP)}function l(p){this.FUa=p;this.JY=new e.Quaternion;this.fI=null;this.Wsa=new e.Quaternion;this.dP=new e.Quaternion}function k(p,n){this.set(p,n)}var b=a("og"),g=a("cu"),f=a("fV"),c=a("u"),e=a("nj"),m=new f;d.prototype.SQa=
function(p,n){this.naa.set(p,n)};d.prototype.XQa=function(p,n){this.qX.set(p,n);q.TTa(n-this.Nba.nZ)&&this.eVa();this.Nba.copy(this.qX)};d.prototype.eVa=function(){if(this.Zua){var p=this.bTa(this.qX.sample,this.qX.nZ-this.Nba.nZ);this.aTa.multiply(p);this.VC.copy(this.Mba);this.VC.multiply(p);p=new e.Quaternion;p.copy(this.VC);p.inverse();this.tX.set(0,0,-1);this.tX.applyQuaternion(p);this.tX.normalize();this.sba.copy(this.naa.sample);this.sba.normalize();p=new e.Quaternion;p.setFromUnitVectors(this.tX,
this.sba);p.inverse();var n=new e.Quaternion;n.copy(this.VC);n.multiply(p);this.VC.slerp(n,1-this.YTa);this.Mba.copy(this.VC)}else this.esa=this.RQa(this.naa.sample),this.Mba.copy(this.esa),this.Zua=!0};d.prototype.qq=function(){return this.VC};d.prototype.RQa=function(p){var n=new e.Vector3;n.copy(p);n.normalize();p=new e.Quaternion;p.setFromUnitVectors(new e.Vector3(0,0,-1),n);p.inverse();return p};d.prototype.bTa=function(p,n){var r=new e.Quaternion,t=new e.Vector3;t.copy(p);t.normalize();r.setFromAxisAngle(t,
p.length()*n);return r};h.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&&screen.orientation.removeEventListener("change",this.pD);window.removeEventListener("orientationchange",this.pD);window.removeEventListener("deviceorientation",this.bP);window.removeEventListener("devicemotion",this.aP)};h.prototype.Ek=function(){return null};h.prototype.qq=function(){var p=void 0;if(this.nba&&this.FR){this.Ysa=this.Ysa||function(){var r=(new e.Quaternion).setFromAxisAngle(new e.Vector3(0,
0,-1),0),t=new e.Quaternion;"landscape-secondary"==this.zV?t.setFromAxisAngle(new e.Vector3(0,1,0),Math.PI/-2):t.setFromAxisAngle(new e.Vector3(0,1,0),Math.PI/2);return r.multiply(t)}();this.Xsa=this.Xsa||function(){var r=new e.Quaternion;r.setFromAxisAngle(new e.Vector3(1,0,0),-Math.PI/2);return r}();p=this.FR;var n=new e.Quaternion;n.copy(p);n.multiply(this.Xsa);n.multiply(this.Ds);n.multiply(this.vI);n.multiplyQuaternions(this.Ysa,n);this.lZa&&(n.x=0,n.z=0,n.normalize());this.EY[0]=n.x;this.EY[1]=
n.y;this.EY[2]=n.z;this.EY[3]=n.w;return this.EY}p=this.filter.qq();p=this.EUa.PSa(p,this.UX,this.fI);n=new e.Quaternion;n.copy(this.vX);n.multiply(this.Ds);n.multiply(p);n.multiply(this.vI);return n};h.prototype.resetPose=function(){this.Ds.copy(this.filter.qq());this.Ds.x=0;this.Ds.y=0;this.Ds.z*=-1;this.Ds.normalize();q.Wua()&&this.Ds.multiply(this.dY);this.Ds.multiply(this.nwa)};h.prototype.bP=function(p){this.FR=this.FR||new e.Quaternion;var n=p.alpha,r=p.beta;p=p.gamma;n=(n||0)*Math.PI/180;
r=(r||0)*Math.PI/180;p=(p||0)*Math.PI/180;this.FR.sxa(r,n,-p)};h.prototype.aP=function(p){var n=p.rotationRate;if(n){var r=p.accelerationIncludingGravity;p=p.timeStamp/1E3;this.VH&&(p/=1E3);var t=p-this.fI;t<=q.Tda||t>q.Qda?this.fI=p:(this.aO.set(-r.x,-r.y,-r.z),this.UX.set(n.alpha,n.beta,n.gamma),(this.Vm||this.VH||this.FTa)&&this.UX.multiplyScalar(Math.PI/180),this.filter.SQa(this.aO,p),this.filter.XQa(this.UX,p),this.fI=p,this.Nva||(this.Mva++,5<=this.Mva&&(this.Nva=!0,m.trigger(new g(b.Rc)))),
this.zV!=this.Ata()&&this.pD(),m.trigger(new g(b.sa)))}else this.nba=!0,window.addEventListener("deviceorientation",this.bP),window.removeEventListener("devicemotion",this.aP)};h.prototype.bind=function(){m.bind.apply(m,arguments)};h.prototype.unbind=function(){m.unbind.apply(m,arguments)};h.prototype.pD=function(){this.Ixa();m.trigger(new g(b.sa))};h.prototype.Ixa=function(){this.vI.set(0,0,0,1);this.zV=this.Ata();switch(this.zV){case "landscape-primary":this.vI.setFromAxisAngle(new e.Vector3(0,
0,1),-Math.PI/2);break;case "landscape-secondary":this.vI.setFromAxisAngle(new e.Vector3(0,0,1),Math.PI/2)}this.dY.copy(this.vI);this.dY.inverse()};h.prototype.Ata=function(){var p=screen.orientation&&screen.orientation.type;if(!p)switch(window.orientation){case 0:p="portrait-primary";break;case 90:p="landscape-primary";break;case -90:p="landscape-secondary";break;case 180:p="portrait-secondary"}"landscape-primary"==p&&(4.9<this.aO.z||-4.9>this.aO.z?p=this.zV||p:0<this.aO.x&&(p="landscape-secondary"));
return p};l.prototype.PSa=function(p,n,r){if(!this.fI)return this.JY.copy(p),this.fI=r,p;r=new e.Vector3;r.copy(n);r.normalize();n=n.length();if(n<20*e.degToRad)return this.dP.copy(p),this.JY.copy(p),this.dP;this.Wsa.setFromAxisAngle(r,n*this.FUa);this.dP.copy(this.JY);this.dP.multiply(this.Wsa);this.JY.copy(p);return this.dP};k.prototype.set=function(p,n){this.sample=p;this.nZ=n};k.prototype.copy=function(p){this.set(p.sample,p.nZ)};var q={Tda:.001,Qda:1,TTa:function(p){return isNaN(p)||p<=q.Tda||
p>q.Qda?!1:!0}};q.Vm=function(){var p=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return p}}();q.ZYa=function(){var p=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return p}}();q.VH=function(){var p=-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return p}}();q.Daa=function(){var p=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),n=p?parseInt(p[1],10):null;return function(){return n}}();q.GTa=
function(){var p=!1;if(65===q.Daa()){var n=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(n){n=n[1].split(".");var r=n[3];p=3325===parseInt(n[2],10)&&148>parseInt(r,10)}}else"getVRDisplays"in navigator&&c.browser()==c.Ik&&c.sO()&&c.gd()==c.VP&&(p=!0);return function(){return p}}();q.Wua=function(){return 90==window.orientation||-90==window.orientation};return h});
define("hq","require kV og cu fV mY u fd iA lQ".split(" "),function(a){function d(){function w(){p=!0;m.trigger(new l(h.sa))}function x(){var E;!C||!y&&B?B&&(E=A):E=z;n!=E&&(n&&(n.unbind(h.sa,w),n.stop()),n=E)&&(n.bind(h.sa,w,this,!0),w())}var y=g.fe()==g.vi||e.Ri("debug")&&"deviceorientation"==e.getQueryParameter("sensor"),A=new c,B=!1;A.bind(h.Rc,function(){B=!0;x()},this,!0);var z=new f,C=!1;z.bind(h.Rc,function(){C=!0;x()},this,!0)}a("kV");var h=a("og"),l=a("cu"),k=a("fV"),b=a("mY"),g=a("u"),
f=a("fd"),c=a("iA"),e=a("lQ"),m=new k,q={},p=!1,n,r=[],t=!1,u=!1;q.Sba=function(w){w&&r.push(w);if(!q.disabled)for(;r.length;)r.pop()();else if(g.fe()==g.vi&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(y){"granted"===y&&(u=!0,x())})["catch"](function(){});DeviceMotionEvent.requestPermission().then(function(y){"granted"===y&&(t=!0,x())})["catch"](function(){});var x=function(){if(q.disabled&&t&&u)for(q.disabled=!1,d();r.length;)r.pop()()};
x()}};q.bind=function(w,x){m.bind(h.sa,w,x)};q.unbind=function(w,x){m.unbind(h.sa,w,x)};q.tUa=function(){return p};q.qq=function(){p=!1;if(n){var w=n.qq();w=b.Zca(w);return{yaw:w.Ra,pitch:w.pitch,roll:w.Re}}return{yaw:0,pitch:0,roll:0}};if(g.fe()==g.j0||g.fe()==g.Oda)q.rg=!1,q.disabled=!1;else if(g.fe()==g.xI&&g.browser()==g.Ik&&"https:"!=window.location.protocol&&"localhost"!=window.location.hostname)q.rg=!0,q.disabled=!0;else if(g.fe()==g.vi)if(q.rg=!0,q.disabled=!0,window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission)q.Sba();
else{var v=function(){window.removeEventListener("deviceorientation",v,!1);q.disabled=!1;d()};window.addEventListener("deviceorientation",v,!1)}else q.rg=void 0!=window.DeviceMotionEvent,q.disabled=!1;q.rg&&!q.disabled&&d();return q});define("ml",["require"],function(){return{lYa:"single",FRONT:"front",Ma:"left",BACK:"back",eb:"right",sc:"top",mc:"bottom"}});
define("gG",["require","ml"],function(a){a=a("ml");var d={},h=Math.PI/180,l=new THREE.Matrix4;new THREE.Matrix4;var k=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];d.uf=Math.pow(10,3);d.KZ=.5*d.uf;d.uAa=d.uf;d.Iea=[a.FRONT,a.eb,a.BACK,a.Ma,a.sc,a.mc];d.Ssa=function(b,g){for(var f=d.uf,c=d.KZ,e=b*g,m=this.Ht(),q=[],p=0,n=6*e;p<n;p++)q.push(p);p=[];var r=e;p.push(this.oE(m,b,g,-c,+c,-c,+f,0,-f,0,q.slice(0,r)));n=r;r+=e;p.push(this.oE(m,
b,g,+c,+c,-c,0,+f,-f,0,q.slice(n,r)));n=r;r+=e;p.push(this.oE(m,b,g,+c,+c,+c,-f,0,-f,0,q.slice(n,r)));n=r;r+=e;p.push(this.oE(m,b,g,-c,+c,+c,0,-f,-f,0,q.slice(n,r)));n=r;r+=e;p.push(this.oE(m,b,g,-c,+c,+c,+f,0,0,-f,q.slice(n,r)));p.push(this.oE(m,b,g,-c,-c,-c,+f,0,0,+f,q.slice(r,r+e)));m.mergeVertices();m.computeFaceNormals();m.userData.type="cube";m.userData.Eua=b;m.userData.Oya=g;m.userData.AUa=p;return d.pN(m)};d.yH=function(){var b=this.Ht();this.Sfa(b,-.5,.5,0,1,0,0,0,-1,0,0);b.mergeVertices();
b.computeFaceNormals();b.userData.type="plane";return d.pN(b)};d.Rsa=function(b,g,f,c,e,m,q,p,n,r,t,u){var v=this.Ht();v.vertices.push(new THREE.Vector3(b,g,f));v.vertices.push(new THREE.Vector3(c,e,m));v.vertices.push(new THREE.Vector3(q,p,n));v.vertices.push(new THREE.Vector3(r,t,u));v.faces.push(new THREE.Face3(0,2,1,null,null,0));v.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,0),new THREE.Vector2(1,1)]);v.faces.push(new THREE.Face3(0,3,2,null,null,0));v.faceVertexUvs[0].push([new THREE.Vector2(0,
1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);v.mergeVertices();v.computeFaceNormals();v.userData.type="quad";return d.pN(v)};d.Hxa=function(b,g,f,c,e){b=d.p9(b);var m=b.faceVertexUvs[0][0];m[0].x=g;m[0].y=f+e;m[1].x=g;m[1].y=f;m[2].x=g+c;m[2].y=f;m=b.faceVertexUvs[0][1];m[0].x=g;m[0].y=f+e;m[1].x=g+c;m[1].y=f;m[2].x=g+c;m[2].y=f+e;b.uvsNeedUpdate=!0;return d.pN(b,!0)};d.tv=function(){return d.KZ};d.Paa=function(b,g){return 2*b*Math.tan(.5*g*h)};d.Qaa=function(b,g){return 2*b*Math.tan(.5*g*h)};
d.aD=function(b){return Math.max(Math.min(3.539647*b-6.669366*b*b+4.7454*b*b*b,d.KZ),.1)};d.Ht=function(){var b=new THREE.Geometry;b.userData={};return b};d.dispose=function(b){b&&(b.isBufferGeometry&&b.userData&&b.userData.geometry&&b.userData.geometry.dispose(),b.isGeometry&&b.userData&&b.userData.tH&&b.userData.tH.dispose(),b.dispose())};d.pN=function(b,g){if(b.isBufferGeometry)return b;if(b.isGeometry){if(!b.userData.tH||g)b.userData.tH&&b.userData.tH.dispose(),g=b.toBufferGeometry(),(g.userData=
{}).geometry=b,b.userData.tH=g;return b.userData.tH}return null};d.p9=function(b){return b.isGeometry?b:b.isBufferGeometry&&b.userData&&b.userData.geometry?b.userData.geometry:null};d.oE=function(b,g,f,c,e,m,q,p,n,r,t){for(var u={},v=0,w=0;w<f;w++){u[w]={};for(var x=0;x<g;x++)this.Sfa(b,c+q*x/g+0*w/f,e+0*x/g+n*w/f,m+p*x/g+r*w/f,q/g,0/g,p/g,0/f,n/f,r/f,t[v]),u[w][x]=b.faces.slice(b.faces.length-2,b.faces.length),v+=1}return u};d.SYa=function(b,g,f){g=.5*g/Math.tan(.5*f);l.copy(b);b=k[0];b.x=0;b.y=
0;b.z=0;b.applyMatrix4(l);f=Math.sqrt(b.x*b.x+b.y*b.y+b.z*b.z);var c=g/b.z,e=k[1];e.x=b.x*c;e.y=b.y*c;e.z=g;return f/Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z)};d.FSa=function(b,g,f){b=d.p9(b);l.copy(g.matrixWorldInverse).multiply(f);switch(b.userData.type){case "cube":return d.CHa(b,l,g.projectionMatrix);default:return d.DHa(b)}};d.BSa=function(b,g,f){b=d.p9(b);switch(b.userData.type){case "plane":return d.gHa(b,g,f);case "quad":return d.eja(b,1,g,f)||d.eja(b,0,g,f);default:return null}};d.Sfa=function(b,
g,f,c,e,m,q,p,n,r,t){var u=b.vertices.length;b.vertices.push(new THREE.Vector3(g,f,c));b.vertices.push(new THREE.Vector3(g+p,f+n,c+r));b.vertices.push(new THREE.Vector3(g+e+p,f+m+n,c+q+r));b.vertices.push(new THREE.Vector3(g+e,f+m,c+q));b.faces.push(new THREE.Face3(u,u+1,u+2,null,null,t));b.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);b.faces.push(new THREE.Face3(u,u+2,u+3,null,null,t));b.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,
0),new THREE.Vector2(1,1)])};d.gHa=function(b,g,f){var c=b.faces[0],e=b.faces[1],m=k[0],q=k[1],p=k[2];m.copy(b.vertices[c.a]).applyMatrix4(g);q.copy(b.vertices[e.c]).applyMatrix4(g);p.copy(b.vertices[c.b]).applyMatrix4(g);g=q.x-m.x;e=q.y-m.y;var n=q.z-m.z;q=p.x-m.x;var r=p.y-m.y;p=p.z-m.z;var t=e*p-n*r,u=n*q-g*p,v=g*r-e*q,w=f.direction.x*t+f.direction.y*u+f.direction.z*v;if(0!=w&&(v=-(t*(f.origin.x-m.x)+u*(f.origin.y-m.y)+v*(f.origin.z-m.z))/w,!(0>=v||(t=f.origin.x+f.direction.x*v-m.x,u=f.origin.y+
f.direction.y*v-m.y,m=f.origin.z+f.direction.z*v-m.z,f=(g*t+e*u+n*m)/(g*g+e*e+n*n),m=(q*t+r*u+p*m)/(q*q+r*r+p*p),g=b.faceVertexUvs[0][0][0],e=b.faceVertexUvs[0][1][2],b=b.faceVertexUvs[0][0][1],0>f||1<f||0>m||1<m))))return{Eya:g.x+(e.x-g.x)*f+(b.x-g.x)*m,Mya:g.y+(e.y-g.y)*f+(b.y-g.y)*m,materialIndex:c.materialIndex}};d.eja=function(b,g,f,c){var e=b.faces[g],m=k[0],q=k[1],p=k[2];m.copy(b.vertices[e.a]).applyMatrix4(f);q.copy(b.vertices[e.b]).applyMatrix4(f);p.copy(b.vertices[e.c]).applyMatrix4(f);
f=q.x-m.x;var n=q.y-m.y,r=q.z-m.z;q=p.x-m.x;var t=p.y-m.y;p=p.z-m.z;var u=n*p-r*t,v=r*q-f*p,w=f*t-n*q,x=c.direction.x*u+c.direction.y*v+c.direction.z*w;if(0!=x&&(w=-(u*(c.origin.x-m.x)+v*(c.origin.y-m.y)+w*(c.origin.z-m.z))/x,!(0>=w))){u=c.origin.x+c.direction.x*w-m.x;v=c.origin.y+c.direction.y*w-m.y;c=c.origin.z+c.direction.z*w-m.z;if(0!=(m=t*f-q*n))f=(v*f-u*n)/m,n=(v*q-u*t)/-m;else if(0!=(m=p*f-q*r))f=(v*f-u*n)/m,n=(v*q-u*t)/-m;else if(0!=(m=p*n-t*r))f=(c*n-v*r)/m,n=(c*t-v*p)/-m;else return;if(!(0>
n||1<n||0>f||1<f||1<n+f))return q=b.faceVertexUvs[0][g][0],t=b.faceVertexUvs[0][g][1],b=b.faceVertexUvs[0][g][2],{Eya:q.x+(t.x-q.x)*n+(b.x-q.x)*f,Mya:q.y+(t.y-q.y)*n+(b.y-q.y)*f,materialIndex:e.materialIndex}}};d.CHa=function(b,g,f){var c=Array.prototype.concat.apply([],b.userData.AUa.map(function(e){return d.vja(g,f,e,b.vertices,0,0,b.userData.Eua,b.userData.Oya).map(function(m){return m.materialIndex})}));return d.Fja(c)};d.DHa=function(b){b=b.faces.map(function(g){return g.materialIndex});return d.Fja(b)};
d.Fja=function(b){var g={};b.forEach(function(c){g[c]=!0});b=[];for(var f in g)b.push(f);return b};d.vja=function(b,g,f,c,e,m,q,p){var n=[];if(d.zOa(b,g,c[f[m][e][0].a],c[f[m+p-1][e][0].b],c[f[m+p-1][e+q-1][0].c],c[f[m][e+q-1][1].c]))if(1==q&&1==p)n.push(f[m][e][0]);else for(m=1<p?[m,m+Math.ceil(.5*p),m+p]:[m,m+p],e=1<q?[e,e+Math.ceil(.5*q),e+q]:[e,e+q],q=1;q<m.length;q++){p=m[q-1];for(var r=m[q]-p,t=1;t<e.length;t++){var u=e[t-1];n=n.concat(d.vja(b,g,f,c,u,p,e[t]-u,r))}}return n};d.zOa=function(b,
g,f,c,e,m){var q=[null,null,null,null,null];k[0].copy(f).applyMatrix4(b);k[1].copy(c).applyMatrix4(b);k[2].copy(e).applyMatrix4(b);k[3].copy(m).applyMatrix4(b);f=0;c=4;for(b=0;4>b;b++){e=k[(b+3)%4];m=k[b];var p=k[(b+1)%4];if(0>=m.z)q[f++]=m;else{if(0>=e.z){var n=k[c++],r=e.z/(e.z-m.z);n.x=e.x+(m.x-e.x)*r;n.y=e.y+(m.y-e.y)*r;n.z=-1E-5;q[f++]=n}0>=p.z&&(n=k[c++],r=m.z/(m.z-p.z),n.x=m.x+(p.x-m.x)*r,n.y=m.y+(p.y-m.y)*r,n.z=-1E-5,q[f++]=n)}}if(2<f){for(b=0;b<f;b++)q[b].applyMatrix4(g);b=0;for(g=f-2;b<
g;b++)if(f=q[b],c=q[b+1],e=q[b+2],!(1<f.x&&1<c.x&&1<e.x||-1>f.x&&-1>c.x&&-1>e.x||1<f.y&&1<c.y&&1<e.y||-1>f.y&&-1>c.y&&-1>e.y))return!0}return!1};d.Tsa=function(b,g,f,c,e,m,q,p,n){var r=b*h,t=.5*-r+.5*Math.PI,u=g*h,v=.5*(Math.PI-u)-f*h,w=.5*d.uAa,x=64/Math.PI,y=Math.max(2,Math.ceil(r/c*x));x=Math.max(2,Math.ceil(u/e*x));for(var A=c*y,B=e*x,z=this.Ht(),C=0,E=[],F=0;F<=B;F++){for(var G=[],J=v+F*u/B,R=0;R<=A;R++){var U=-(t+R*r/A);z.vertices.push(new THREE.Vector3(-w*Math.cos(U)*Math.sin(J),+w*Math.cos(J),
+w*Math.sin(U)*Math.sin(J)));G.push(C++)}E.push(G)}for(t=r=0;t<e;t++)for(u=t*x,v=0;v<c;v++){w=v*y;for(F=0;F<x;F++)for(A=q+(1-F/x)*n,B=q+(1-(F+1)/x)*n,R=0;R<y;R++){C=m+R/y*p;G=m+(R+1)/y*p;J=E[u+F][w+R];U=E[u+F+1][w+R+1];var Q=E[u+F][w+R+1];z.faces.push(new THREE.Face3(J,E[u+F+1][w+R],U,null,null,r));z.faceVertexUvs[0].push([new THREE.Vector2(C,A),new THREE.Vector2(C,B),new THREE.Vector2(G,B)]);z.faces.push(new THREE.Face3(J,U,Q,null,null,r));z.faceVertexUvs[0].push([new THREE.Vector2(C,A),new THREE.Vector2(G,
B),new THREE.Vector2(G,A)])}r++}z.mergeVertices();z.computeFaceNormals();z.userData.type="sphere";z.userData.te=b;z.userData.Cq=g;z.userData.pitch=f;z.userData.Eua=c;z.userData.Oya=e;return d.pN(z)};return d});
define("bZ",["require"],function(){return{Jk:"data:image/png;base64, ",Eza:"data:image/png;base64, ",
qAa:"data:image/png;base64, ",
LI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAE4CAMAAADW5D7KAAAAM1BMVEUAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBprCkqAAAAEHRSTlMAQIC/758wECDPYK/fcFCPt8VnWAAABehJREFUeNrt3N2WmzAMRWHABmx+/f5P20672kwSIBYI8MA+110T+sUWQnGSZeQyqZu2C1+xxpiiaPIak7kUNrzFjH2FzPuy8mEupsjxibT6szHbhj35PyZ8jMfrb/oQlXaAKstsiExX3H55DUGQ0t0bqwwBLsXyDpe4ZH3jqsGKj+3ZhoL4ezb2bViX8Y57sVmJFbobLq7artUKxQ3HM6uxgr9dF1F367Xs7bZitX4jhtCjJelQb7cT2w1a/nY9RFV2lHnJ8sq/MhRFa4Tb0t77g406L1qLlmRr9i1akhXWtGhJvPoOLUEGQwchSG7Q0uVqUXpsxo+1awTpUeo/DnMakL51Xp5boiAjRV5S6C0Dm/i45a3IWZvnOr94OsKyEQWFi27rJQ0bUUmrYyMKtGjkJVoOnpcsPPsYdF6z0EHwRYO3eJaWoDu1jB8EQ4j59gGct/R0poIYqpZgBGG5ISpsRAZbkv6BNv49OadzFRp5uoepGk+JV3iipsQLnnosNIKqRRcvqFrsw6m03A+391qcfJhKx1dVNncPjB4kJV7vBZrSh6Pj236XB1y/axPfHA+154/wFDsWraYLZ8aqTwSq3Q6JVD6cHfUvg08/8vjtyyqkEOXF1e5T4cuQRnQfRvpdKnwqVsqnzvI9PmwdQzpRXVs7bPYmpBTNuuXVV6+zSWFpTn5L9Qcek5aV5hCl0H6BIaQWvbnAoN07dMlh2b1vh+ozsjOjdpDKKX8uXSaI5XfuHVbfQmyCWHpHEnSxUtyFivtQF6tIEmt1G18Vz5n588//qI8dpbVJYplj33obue1NklhBddepreQOrPiVHC6Ftfat709pRGZuufPpVbFW/vRdmSWEddwDySqtMrsn1hqtMrsrllyrzO6LJdWS9L/Xw5JpiZ4VLogl0ZI9V10RK15L+Ax6SaxYLenz+jWx4rTEs42LYsVoyedAV8X6rLViZnZZrE9aa+aL18Va1lo1i70w1pLWurn1lbHmtVbO+C+NNae19vOQa2NNa63+7OjiWFNa64/LXR3rXWvD0cLLY71qbTmGeX2sZ61NR1ZvgPVda9vx3jtgPbQ2HoW+BdY/ra3Hxu+B9Vdr8xH7m2BlrjTbz/XeBUslYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhgCbAqc1DGYnA/HevQ367vRgeWICYHS8LlwIqPbcBa+auvYAm0wBJogfU5I1iCDGAJ7ok1WOKNCFZUHFjSOyJYgqoFVlwasIT7EKzI8RZYgtRgxScHS/bIA1Zkih+G5YpD0l0C66AYsMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssJIIWGCBBRZYYIEFFlhggbUnli/yOqvz3oP1kerxLJkbsBYzPr1WD9ZCmpcXa8CKXFdKa+uiWD765cCanBM6sCbTTb5eC9bc33hPA1b8tN6BNRU3/YJgCf5XYE2lPhArP/PR/gvL/qCadSpWr9A/Hnk3HM7EyhWw/C59lpn8q8WZWJXGBezSwZfpYaksbbNHA9/v81ywdQfVQf8/tn1G4wT39GMyKr1dr/Osyqq8jfr9yNaSpXKLeV5bjQ377MLq7F34O932P2Ue28YpFBZb79OPKOwelWtom6916hqVGjzdu2XleVaPQZQPaWVmYWlsgbUZkqgFy1eWSslqU2n2IhvSLBsTWeplQlZ+bnJy2i601fOFpFO2fC071nxCWajb1K1OW/12SKkiPNWrWSt30hV11eSwyJ5OZZv5We9JN6F25t2ri2SX1e+LO+Wt9AvfNKmL8/o+O7qlDxHOqBLtpy/l5OMZcxA/DsuXdXjF6trGRX0U5PJj45K7pMmi/gv70+gtsjuKIwAAAABJRU5ErkJggg==",
zAa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAADcCAMAAADA8VqlAAAAM1BMVEUAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBprCkqAAAAEHRSTlMAQL8QgO/fn89gMHAgUI+vkrzZGQAAB8pJREFUeNrtXduW2yAM5H63zf9/bdukjdYBjI0t4KHz1Obsnp0INJKQjMl//MeM4I7MDaM4mRk6xo1MDB9/Q5BpYeMLlEwKJ98E5aTbMMj4F4bMCG7iByuZEFv8gYVMBx1/Qk6n1zbuYSZzFBq/oclMcDIm8GQecBUzmGgbmpjDPGmDjnkwMgdElt08aYPNcpsnbXDxADKQ0Qgyy2yatIHnHXietIHFGixpALLAzJM2OPZBBMyZNnzb7SUw9IUpCa5kNsybKGQJSjIb6JxpAoDOmCUcEKT5sLgIT8kApASzP8Le23OMdWktReB6rHLTSkXHzeDYQisF3fZmtrJRMk6PfWT5hL/wMmUgvRF2BJMlVFDkcTmmqt/VmxkDglkt/ERPHMYR/dNoHGzcE4epjNodyJkh5d6RE/O9dushsVAdODHda7cY4CVQPYGIFBnRIekOO4jEsKYgSaQ39IHKsK9lH+LGoqQy4LZD3RgIQrOuaDE24vyVHqTT33tONOhMV4J2hBtzIGiPCIIu9gYQpDWCfIjOmDJBCZV88kE/MCBY00HCRnTzBASSKsF1hBv7CwQ9qGU/0DLB7du16YikmmcJgjCPd+M6QYAaEY3ZBYLbCC9ZswQhtA33Ep8czJRTaNr/kBPcmJUJAj6VgVvZq1clmUCPLUWCLlUV9laeRe0KfkvwAIWdylNPN6zmW9JTQbQiDM4cE4TDEGU6d878IcFQkHVmX1ZznqF3WCgQrARjyM7Uj48Dw55nuUJwzZ21euR5FlYiuKWba8mWLxZ38EskBMtlHIcKNWEoN+EpRqhe4Hy1SpCYUlgEmKfFmycp/0HoXWE1088Bag2Pb0JajXVgbn1ijEnz5zbhBYK8FHZCOlVgn1VCm/+beUu5oq/JQP329KyfLLQ6cwRFSfS4gpNkLuSjzSl9QDBkzc3Kw1bqTXd9kqEFcTsOJRB4eCEvgr1C5XOrzMEodYKsGDbsPrMM5rkmOUs8s9x5EOXsRe5HM7iE/92Er8Y6gIOdlucOy+rk26CO0ps0Q5mgLtgpHPQmA3xxgNKUtMNUlDpNwe1Bdi4KU2ys3Y6+SNAUUnB9kHfI4qC2vbPGPu/dheFNVpL8PQ/21PAVOw4lqd7Jo9xSJSYU3N4rDSwQ/KLiCu0pkoWQ0WhP03alg73RBC6PQ0kqyPRa0cg+v+hb4zHLe6UvqMly+pvDvqSy3VMoEKw2l9SVbM/+HK2zN8ZPFasoNcCLJVyoef6YzXgOdNseFxDgek83sSkNez/f2qQQ/o15bL41O0ruayEcm3PVOoyfc0uMgSgKi3wfDONcXzz2xAUI4fOLbEgz8Lvsy63Epkfjgd1UB/RpHnrThPjTPOzeF8ef5qE3HRl/msc8VdQzpB6DfS3NtDrzt3oR8+oMIeKG0mBP84A+2Hl1hhDdrDT4+QwoTZg0n3lB3anjewz/+nv9e/zhXy4fcZNlt5cndBOHN0jhXm4ya7rwLyCv06YLjW5C/eKQyxIAvxxN3PvoTwcCEMk6POsm20XHf4OFshsPjCY+AgSyG0M08dfCmmHQqiy58ZCkC+IutwoY4rkxJEvuemLgX5vRF914gBQCQWhiSY7pxlCbyIsEIQwJVDcGKVxacj/xMiGmG8MG0i1hF5Kh1I0HrDEQ3Km8QnVjqD+XiwRBASimG4Mh9PnAo/Y7csN0YwilsumsbXntPVQ3hjVuKD8gUKZuPGiNoYCDgTGTbUaMWGPw1r2bBPwZ/rpWp08QA2OPcQaXavV60tQqyQ8Z4hlc/eHvdIo7rQs5+kMGvJpzgdPazEf4T+6aeiQAc6W1P7bOwFaqq6DJkbbIOgO2qedaPveh5LgE4XH/uhq5bF1ocBMuCCZ1V8q7dtQIp5ipwrWdlnODfKUeWCe0tQ2dxCUIQmPbCBKHQLAeJK4MeNjqLbf4m/A4p/K4V0rBJmzWIo1KEDZhe4FqotSOYGKtp1z24M7s4AgylnpPkN9skOL3BPW4a8fPlRWhcWSp3wjR2i53fVpuXLUOH/bqnNPO95Ndf4BeD7wJWJ7501y2jTr0G4BZWoJa10E71vUSuobrbILsc+1N+0CvH3ZV8dm1M2MiHmRc04rhenZz6QY/6TrCwEf5iTp7FuwHxRN/ever7hdYwdL59iFdfKynDcPG5F3htHvSQa8qMadXTo9Z5PW0XbhsYdhzko02HHfgF5/pkRHr7ClA8CxDeahLQwkSK6s3Bo0lSJyJL5hi2BtKEO4iwLdi++VtjjVQ7Dv3Tj8UBbJHg1C3UpQ6EERAqGunGNlCMphgLNjp5KobBOg7eWhY4dWFNtmNUzzBwb2Ci4P3HKd52o7q+AHzgbww1/OK3BvgqPTynCHDYydrblURoLR1jwQRA7XkUxwBRt/ek/rpAw0nTNxhs/f4IZS6fFl3JNVygx/WkRVfBJNgRX6HnyNYCFarGy9Z4Qz44WFhrQydAX6ooKrpXU9eAj9k8IZ7rALDvIc0ZXjVF4XsW92GayZcVPc3bK0X4illsX158Z8PsSo2mw9/VhGyXxZIX4i60nALJQ4lveEqSRO3WxxBD6AOVNd5Fj/QjgzBkv/rYZdUROU5GQX9bwGZ+AvN9qmjXMcYDxgeQenxL4u3ssSO+TlevAmuCmDaz/DeZoCji/gLP8t7Xv/jP87hF6zG3Qlg7TIVAAAAAElFTkSuQmCC",
JZ:"data:image/png;base64, ",
rw:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB0CAMAAACBmP1sAAAAmVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZHz8/M8PDzLy8ufn5/u7u4UFBT8/PxmZmbz8/NNTU07Ozuvr6/i4uJwcHDm5uZfX1/o6Oi8vLy9vb2AgIAoKCj29vbT09OsrKzZ2dkoKCiGhoagoKDb29vJycnQ0NDHx8f4+Pj///9ot3XMAAAAMnRSTlOyALYLBLrAvRUiGsMxKS004vxC8WfNyPNP2tLP6rXa+NbBgu3eyeibdvTMWuWojp2P5xSTSb8AAAbBSURBVGje5NfrUuJAEAVg1l0SNTEJAUK4KRdRvLu8/8NtTyeHw5CKEwzln21rt7RK+ep09wyh8+vn62TzT7Ucf9HKpPIb5YBbmrAqRfu85oF3ab5Q+sOhex6TILDr60v5ksL/aoNtZ1IEqMTVcRFG2HZmCZqA4G6OC7CyTdSOSwRYcFEUSr0MUHloKipgYRH22yZEyaCe0d7fhqPdYf0dvq3yWN2mascRsoxowPx9Sc6u0XyVxsJqWHT4dJOigun7GECvv05Q/f7eXZYs1cYmSYrxYF5y62SSBYHHCoLNIukjbV6oQJubDFmK26G+5N3rdM/5RcENFrNeEXYgKqICdZkkNaTJqGJvZkBqfrfbxbclu1Z1KFkdUWHaJEKGca7i3W1mQLUqtWefEw37lsbRjUQF6jRJasiPkYoaEeCFVXvXqJmqoy2iAnWZIG+iOB+briYiAqRlu1RfdaxpGBF1mhil9HVlQq4ziAA7VlmsUadmix9epL9Aa02mBDk3IRcmJEVaVXev3puoqzgk+oVJMgpTszz9IiTB2rLU6ZP87ZzoVybJODWj1ElqRogutkSzmUHTGrRTT/ZkXRESYkM1CBJBx4rqkak3i40FOUVfm4ryj+gtUY6Upr2ysj4kbbF5VM9TdBlHV0Atk51tR1IlOheUI62aIOPlEXnRAn3kSGmSxP58yK9OQLoAJ7qtjBQmOxsP5BdvSX5LBSpHZpRLdxWtmvthyoU3I/ktkahcDsOYQWlax0SG+RQErVIyabDpcaQVE53d6v4wZZukvqALmVSuuytBaZK8CtOH3e5eSL9NSiySdnct3WXQqqk7+6TDxLlsjWbS3a1ZIwbtYGk1Zq7HpG1n7ZHey7spgtJkzLns7JlIjvRO3kytiXYQU0yNufE8DvMs3Z3IBwwEhcmlrYnZtrt9K6hlRumIMVntg8p5GTOoMbFBN+GnienY2Qutk4LqRAeRbWKDxrK0jpjFA15ztQgqqzuXoDguNMMXeXrGNOtfYuHz2cEplkEzuepjBu2wtW9yBTlj+rv+ptmaMaheRtuwakbxg2yQ49XkBeQ4vWZUnUGxRWyumBhnrtceYtaZnn5Iuw+wa46ymlsxw5U8z3ou01dTBj/Brdy4uS8YqJgY59Jsrd91mMGurPUzGtxwcz/DqinjdLZWTVSSuVVculN57sRAxcQlJJ9OvJNMedDHWN3NxZuLZQ5kHz2/kcnqO8aKzdU7N42OzXc5nWiV02TNMFbHQGe8/tTU97FHs0KI6TbZ4CRjg+vNpHxvoSkrNNQbobnJultwrLUndGKe/2BibcX0TjQ5Vjwp1qE0Lw/NcQtTxlo2uNbcFI9/tomjcqLJsQKtGaiYOCznMHEdej9ncqyb7n9g/uvVDloTBoIwDBcPkWI0l0K1pZdSELzU///rOpnk6+u6LmucmL0UCuVh1nTdzHzRvZ3/Gdok5lL/K5iLnglm8v8ZPfua+84+PxM4b597xq/9jG+vv1eW/C7TFezR72zEsqnvbEzuJpvJd5Nmwt2ky+4m3YN3sLLII5Tewbj3dc+/a9pjm5rtedqdGvHeO7Ue24t7/BLvDph8oKcJ70iI9TL7dyQ9Qm7qA+3fBTfPexf0jxPTTyJ/58UMv/NCJlu70Lv95kdbK5PNpYfxMlMPg67UW7sdmzWYhnrr9kSh8cUTdGBrzcxab5jzkENPSoeQTG2u994oNE4OZX7YWasyE3PuHiNleo9RT1DS16RQHt0ZyLGX2tHuw0x7xmvQ8M56z5gyZVKoeuPsbsCkN86niUmhwwwg3hxPZwA3+/EMAYZZB2iwdXuynf1VmZl5NdNZx1D7W2Y6hfkKu6vZVQB1ktmVyKL52vqM7jOEOrkeZ3TpzsoEZRYZQP/H2j6L7MmSCeqTZdBVhPzKB725aegO9MmzZQrt0fdk1LuaXuQ4Q4fMzAzdH3RNp9SpWQHIsglKJkIo6pRMREqWTaF59uMe0YtU9iMjMQuoMi6ViIvALOOSk5gllCwPKm7iIZLlKZOYoASIlFlqXIVlAY4BLTJLkLlZRq3U45DNyqNZrFI2C7Jsgt7MoDVpBs2xYgatnZRBA1WpZO0auYJLWTuyYEbWTVAyhd9kCuVq3cwUWpGQBbOe1kyzk8092UnIukmpqMYGMqKBLGy3P1eysCYGsrCgZH53xna3Mr9Hz/w6iAgZyjb7Hveru8g2d87ttg66SJE1s64qUm2yLddNM848gYjBrDqsu/mqZNWjmXxl5N3uf+IhhkxUZwUny34BiBgwYXF9YeEBxk1YX0BwgLOauKyqFzdZWA+sP5AziIxB81g8AAAAAElFTkSuQmCC",
T_:115,lAa:115,eE:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB0CAMAAACBmP1sAAAAllBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZEAAAAAAAAAAAAAAAAAAAAAAABOTk48PDzz8/Pu7u78/PygoKBmZmbLy8soKCjz8/M7OzsUFBSvr69wcHDo6Oi8vLz4+Pi9vb1fX1/h4eHm5uasrKzZ2dnT09OGhobi4uKAgICBgYHb29vQ0NDKysqampqgoKDIyMj///9mvEG6AAAAMXRSTlO0AMC6Bw4XI+EpHjIsLzTRQvvO82ZP8Mjaz8fp2sGC5+3Wtfh29Jtatd7dqJ2NauWP5Mh4/QAABn9JREFUaN681ulW4zAMBWBPU5hQN2na0J2u7Dt6/5cb20py6+iQnOAp4g+Y5eNKilv15/frR2b/5KOhAk1gsmAHmO3eRVkeHGpKENjlBeqSvwIbagKE52pQfbi6EGygiYBOGwz++mVOSpfVEBMRC4+5K1tDLvc5yydsmNmHaD1rJYnWj9dlTbXWSWJwsO2qasvIoPOs9v46yem0dpPX7TTV7A5YRYc75zwRLTh93zAnK3/aZqku1EtWu5v9SmQwe1+UwHi2j8uazSp3s810YtgBo6a6mkwWYnr9VHD7eLTq+TU/xAWcH02TobaYMiWLAyPq9G5Ctm4/l73v6rAec9gPo5oOM9rF5N2xczTihxPH6xoYRVGN3Tt1Mk2TKmqTKUfJIZN06sTbmxWseqHLsQv7mnGDEbXdLEgX8i13ogC/cVdOze+KqECbTIzShVzYrsY1UEWqqkjV1U831sxOFWiL6Uju69aG3BddhSfLY5d2i3ePNiqG2mT2K1KnRxvyANHjJAv12Ubdcn8FKs2SHOrMLs9s1SqioC7vieiYaofK9io/JUg7yliI7SpPdW3RTLv2SrO+sSDHvK4Qu6ixQRdAhYmYHrkE2aFK9MahZqZypMqP6R4SkN1EPD0lukkT7BHM2v4EkGCBHvVQ7pESZJJuAkiOCvTBoBipMHmYSfpGRCMmIXYMCvROjlTVhjnUH0R0I1L+rL1ronxqRypMr7NZTrRGykD0nmgiuqv8zrph3oemxEznYzNSdBcmYg71XbE/EMOCHohoyrsL04+Z7Yie0dmgYnRvu+sHVd4CpW9FZyGGoqux3V0vqPJiTovHBCnD2/tCtEPQU5OneeSdFWRQd2+Jtl5QVY85/5+msugIQWGeJya6O0PQ0sTS5iJmeFB+XhYICtO+nnxxTCGGBeWJXp9cRgqtTRdtSxvZajqVVa7uk7mMKhOtfSS69Un56/L78lQGXRHlelg1V6G1r0QvTb89H3HNo6j5VP6ne+9eUNjandmgBjKKiSuOouZTaR5Mc+0WwbT3nns475ti9qq/3osaTkWVzU2r5qpqnFt+PwuywYzKQ3kqyaK5j4nZXJhunBu7tTJm81//3kQVm/vFA/VMM86mmD/JiYEuiTbVQFW5QhnRrOlJ+VFOoO7OhckvnddEn2fJqco7NxvC5BV6J3rhmGfJuXbXHy+uKtf2oVghdZac9se2bnFhXiUT3AjhOSU6InowiyvM3ply+mafTfteegHzHDnnRJPkqmYSzc6QEwPtZIbvrarMv7+eU9dM/a94M+hpGIbB6GFFYyvNhQPiAEhIoCEQ4v//Ouic7C39WrI2LviCVAk9HKVpbD/Wz1OZ/5Bn96d58q6smeedMjkTNmvkaWdCy7vC2bf2OTRg2hm/znnLGc95K98y1zz5lsXvCt9PvtmOeeo325jxqhnvJv55cjfhnpCqlSc2rlOebCG9gzVHJndN/3uf3TV3+8ikEuRO7Zsnd2rutxT2LzCraweQWjtQfq5TI6VK+5kaiVowvFs7aoo5WvVtLq8F08kHc79rnWte0rSltRMhr+07avspZozCU/1D3/rJh72dkz0Mfl+xvz7VSF2pT5Z2olfj1zdJvRp2bd6TCs9+zRrStJ4Uu/bIZHHpvXkhU+8t0MGAabtotR6j9PtIlF6qH/KNNJXZJ+rRMyZOPeNTmjBJ1HrjrK5Pb5w0hdlvXWYA1UhmAGzabG1HZh21yDTr+Aj0NEdnOi0znVpomukEjqDB2p5Wl9lVDfRsdhU7mk1pRndfCT2b0TG6Eiarez6LXEpkFhkYgAqTvZvNXCuRh58sWVmYMkEP2aC3BvkAUpgkGqG3Al02Qxek5GnQ7dZME1yBBcjriJxyBQigOBFzoJkTcUjI35i8pf3ymvsxh5q7H4dWkMIUdwjH5aKh79BxUSTMUei+h+LylKUTdXkEKUwiumDiLG2msPXOEpbdTtysTQraExNulukXZTdL1b6bhQ5a6IoOmgZ2X6euHeAJ187WFaQwyxZj+zjTKRS9r8hE8YM6y50kyQJTYokjGokgS0xNFaq5sF8FF7aDCLLAVO7AwG3DmPP72ju/BhTibGaTqFemNpvZ3JNxm8Oo3FzpjedG9Tbq212Ko8i9HdrUTQWTXFHHNXJZ3cfJz5V8Q8dQKb/OjwcJ9sg1cqLBg1bJJOQfLMBFYOPNbBJXA5YjE679SGweEJ5MwlDQ5sY3+a5XYx8CGgsAAAAASUVORK5CYII=",
hAa:115,gAa:115,LAa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB1CAMAAABKxC7JAAAAh1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJBMTEwAAADz8/M8PDzLy8ugoKDu7u5wcHA6Ojr8/PxmZmYUFBTz8/Pi4uKvr6+AgIAnJyfo6Oi8vLzm5ua9vb1fX1/S0tL4+PjZ2dmPj4/JycmsrKyGhoafn58UFBTb29v///9i05URAAAALHRSTlO0AL0KwyYRGDMuHuPUyfxC8WbN29DzT8jaterfzMGC+e3XnOf15Y52W+fOqAzih28AAAcuSURBVGje1JWJcqpAEEUJkrxBZHHfUNEY1/n/73s9wzQ31ACiUq/qXVKpklKPp7uncT7+ff4TZs/6s9IJEzT9j5O/ArlrZk9ddQG1OybkvnT+mEsHzt0xWTCn2dFoYN9lAmhw/X7/sxy6Y7igvsYEEUDg7PQZi86+xASx4Pm+L4S4DDkzQfH9HEtcyD7JBJEV+zmPaKf7aCp/53t03yqy5oL6KlMhWZF4s9MGuHKmy21MWFCh+gyTq9rPDePTggFRkgWcJJGcDWF9H9QXmKaPueJwaXBZMJh75aT7IGFbKrKhQrUlE2XVxPNIquyuE0K4VhR4v4py2aGhKtXWnqirIQ41MVoBWIPNNHVErlBtwcS8fhnkTBN343kJ6HBK2DTQsvfYqPYorT11XbXkYaqJUDSo4lIBda6p07MQqG8rJuo6W6iqBgWxoHH4JbDzq26rVtX1bcEEUoitksx0VQGsir7L1EmiNsWlqG8DE71k5FJJ7kGs5sHX4QqvJWUrBKDNTIOkJaCGJzGSUGwIqJMjfXYJaDOzVyBVKwOWBK8Nlbq6UtC4BurUI6MxSyKtqQFBFwqKc1rDLCEnjHyOaqBjQGuY0KTxARLEZwLoRvhcXZuJkS0jQXyuvgxdAlrJZKTYAPlaXEAPQu2Gcksdu5kHeusAli8F0LPdUsdq5pDeOIblW6YrWr4zVNdicjNp4a3etIQpLYeROqVVTFSWmnmE5bumaWRaylAwoXlW8wPLt0331ClTXTBLmiL+lnJtbZ93WppRdSFqMfOZPaKZXYjOI5pdFgUTmjN9TGDZhelaym8WBROaS5rZjiwxuzsptyzKTAyt0kyh2ZHoAKLMxNB2qwnTBKIlptKMp9DsiMjnZcGizOx95Jqnek233VUjSh0dKtGCiQla8NBavLaxqa4Z3aUWNUyU9iLljjXtz7WIxlaJzmnVC78oroMJupsVZFuug7YZu5U/ODN7wTC5nb6gtZdWaLpuItsncCu3LooLz/xwHqu66U7kE4lct7a4YHI7t1IGlcyBfCae1RtT3IvPj1GnaOeGplYj3S6YCC/dk+CGOnw6VTsrJ8h7mQlRj/qzMQ2Fpx9LmVSclPeYEOWdCya1cyjl1SNk9568c2OfmTxCJzqd0Ozcc0Xrj7cCMfPn2IFHqEtPNDTIny1l5ggbodbzOE5v+0SWkw1uk3VUzYQofcmBN5HTA9N74JmFYeiF4aqEHIcqt2OjJ5hf7KmOysIw6z2jW+hRwnD32zLMb04eeKZSjgomH08pkwee19DTCztcS2SgbxI0afb0iCkKzx6YzZ57Zg4kEvLNn3pPMD9RWzCdBs8f/vq9RNK/tJnbTsMwDEDFijTESlXYG1TqyxBi4v+/D9eLdZTaklct9QtlgbnHcRxf7MPPlBOdNSeYnnOUnVvMWDnRV7HtddjA2eWcuKi6i/yODNPtw9+/LZxP+X4CJXJWosv01uvD3C9HRVRu5eSshJxQjeOsD/NVNJXzcRlH0Z5wTtF+fiTn0wQzq68ieRzSs0LsU51TwonMonJpd8GXcMY6LcbnnFa7aeS+i5MYfyTG212WcXJq5C9LcZnfn9xl3CvdkTs74QTTXj/nrO/sjjyB3MS9ZO8xy7sBmnL63ERT6tBx0ekwAU046xyMvI9ccy0upyZeybetQYcovyXXhNMqwdNzwOlqh76adaxAT+6tXU5NHv9C7VCL1Ujfi8hPM4YxnFkMayT1b6sd0EmNBGj9T8jqrXQRoQ6IayTqsrgWRHxhy5JfjMuVH9tOOMW4Yc3rxzcbFzFt2U5q+1dq+/greUgWHSa1faXT9TDaSelKvWNa+iZiXO3VANq0V4PXis69Wm9gak8Kr1WdeO6OvTc6GHCKF+3ZY3T9PryofS9VpoSKiQehU+MfPeMWoAd6xmC6PjW98Rag9MbZTXQSFxrNALCszgDCfjwB8NFZB8Ksg7DndDaZ6UDJTEdDkNdJd7PMrh4edxxEdHaFZcN5GTO6/1btXbVhIIqiKKhNm5RJ4f//yIixLgtxjY9Ho3GVNMtHeWCY/f1Et5WV23FH5xco3EWuociHC9DXd66ueQu9PnKrO1dPltmvs6HXpiJ/kWcTCf1xh35hpDt0pMOEjtJEKzA3tcgvpHypm/5KWxMxM1ITUWRoIqDaD1Mn2w9kaFwKbY1LUHvj4sEG0/+G1vLsryxqeazMXY2AqJolkVS57aNtb5asjCb03GZt2PPrXZuVezBqBWH71FODBg4NGhLazY5eb+20YMRger5HxfinKeTyFptCaGgnab2dHCOFuNHs6shgP2pEpanK1GB21NaPWtgsMnNlXEHs6+b38Wx+d5CIzGafSj3c1jaLm2fa5qxih+wM7gBLRE6aVGNbOn5ww8tgNqkS+R0esqPJJ66bxpZb9NDK20HiomlssWxf1hu70bS2Bjve0v2mn234zs0miTV//gHyyprZmiIc9wAAAABJRU5ErkJggg==",
NAa:115,qYa:117,PAa:"data:image/png;base64, ",
aA:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}});
define("mH","require jquery.mod kV og cu fV u".split(" "),function(a){var d=a("jquery.mod"),h=a("kV"),l=a("og"),k=a("cu"),b=a("fV");a=a("u");if(a.gd()!=a.zI){var g=function(r){return r.requestFullscreen||r.msRequestFullscreen||r.mozRequestFullScreen||r.webkitRequestFullscreen},f=function(){return document.exitFullscreen||document.msExitFullscreen||document.mozCancelFullScreen||document.webkitExitFullscreen},c=document.createElement("div");if(!(a=!(!g(c)&&!f())))try{a=window.self===window.top}catch(r){a=
!1}if(a){var e=h.extend(b,function(r){b.call(this);this.ja=r;this.Lr=g(r);this.xA=f(r);this.T=this.J3();var t=this;d(document).bind("msfullscreenchange webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){t.e9()});d(window).bind("resize",function(){t.e9()})});e.kca=function(){};e.prototype.rg=function(){return!(!g(this.ja||c)&&!f())};e.prototype.Bk=function(){this.enabled()||this.toggle()};e.prototype.Pf=function(){this.enabled()&&this.toggle()};e.prototype.toggle=function(){this.enabled()?
this.xA.call(document):this.Lr.call(this.ja);this.e9()};e.prototype.enabled=function(){return this.T&&this.J3()};e.prototype.J3=function(){return this.ja===e.fullscreenElement()};e.prototype.e9=function(){var r=this.J3();this.T!=r&&(this.T=r,this.trigger(new k(l.sa)))};e.enabled=function(){return!!e.fullscreenElement()};e.fullscreenElement=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement};e.Pf=function(){e.enabled()&&
f().call(document)}}else{e=h.extend(b,function(r){b.call(this);this.ja=r});var m=!0;e.kca=function(r){m="out_of_frame"==r};e.prototype.rg=function(){return m};e.prototype.Bk=function(){this.toggle()};e.prototype.Pf=function(){};e.prototype.toggle=function(){m&&window.open(window.self.location.href,"_blank")};e.prototype.enabled=function(){return e.enabled()};e.enabled=function(){return!1};e.fullscreenElement=function(){return null};e.Pf=function(){}}}else{e=h.extend(b,function(r){b.call(this);this.ja=
r});e.prototype.rg=function(){return!0};e.prototype.Bk=function(){this.enabled()||this.toggle()};e.prototype.Pf=function(){this.enabled()&&this.toggle()};e.prototype.toggle=function(){if(this.enabled())q("fullscreen"),e.jx=null;else{e.jx&&e.jx.Pf();q("fullscreen");var r=p();r.push("fullscreen");n(r);e.jx=this}this.trigger(new k(l.sa))};e.prototype.enabled=function(){return this==e.jx};e.enabled=function(){return!!e.fullscreenElement()};e.fullscreenElement=function(){return e.jx&&e.jx.ja};e.Pf=function(){e.enabled()&&
e.jx.Pf()};e.kca=function(){};e.jx=null;var q=function(r){for(var t=p(),u=[],v=0;v<t.length;v++)t[v]!=r&&u.push(t[v]);n(u)},p=function(){var r=window.location.hash.substring(1);return r.length?r.split("&"):[]},n=function(r){window.location.hash="#"+(r.length?r.join("&"):"")}}return e});
define("iw","require jquery.mod kV oe u lQ oB bZ mH dl".split(" "),function(a){function d(N,W){this.JQa=N;this.QDa=W;this.a9=[];this.Wi=null;this.UM=!1}var h=a("jquery.mod"),l=a("kV"),k=a("oe"),b=a("u"),g=a("lQ"),f=a("oB"),c=a("bZ"),e=a("mH"),m=a("dl"),q="color:#000; font-family:Arial, Helvetica, sans-serif;",p="",n="border-color:#b2b2b2;",r=n,t="background-color:#009adb; border:none; box-sizing:border-box; color:#fff; cursor:pointer; font-family:Arial, Helvetica, sans-serif; text-align:center;",
u="vertical-align:middle; padding:0;",v='<img style="width:33vmin;" src="'+c.Jk+'"/>',w='<img style="width:24vmin;" src="'+c.Jk+'"/>',x='<img style="width:34vmin;" src="'+c.JZ+'"/>',y='<img style="width:34vmin;" src="'+c.Eza+'"/>',A='<img style="width:24vmin;" src="'+c.qAa+'"/>';b.kb()?(t+=" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;",q+=" font-size:3.6vmin; line-height:4.3vmin;",p+=" margin:5vmin 0;",n+="  margin:5vmin 0;",r+="  margin:3vmin 0;",
u+=" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"):t+=" font-size:19px; padding:17px 34px;";p+=q;d.prototype.b2=function(){this.Wi||(this.Wi=h("<div/>"),this.Wi.css({position:"fixed","z-index":f.Lza,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.Wi.html(this.QDa),h(this.Wi).find("button").on("click",function(N){this.BJa(h(N.currentTarget).attr("id"))}.bind(this)))};d.prototype.p8=function(N,W){var H={},O;for(O in W)H[O]=N.css(O);
this.a9.push({$el:N,css:H});N.css(W)};d.prototype.TLa=function(){for(;this.a9.length;){var N=this.a9.pop();N.$el.css(N.css)}};d.prototype.show=function(N,W,H){N||=function(){};W||=function(){};if(this.UM){var O=this.uR;this.uR=function(){O();N()};var L=this.fR;this.fR=function(){L();W()}}else{this.b2();this.uR=N;this.fR=W;var S=this.BGa();if(void 0===S){this.UM=!0;var V=this;S=e.fullscreenElement()||document.body;S=h(S);!0!==H?S.children().each(function(){V.p8(h(this),{visibility:"hidden"})}):(this.p8(S,
{overflow:"hidden"}),S.children().each(function(){V.p8(h(this),{position:"absolute","z-index":0})}));S.append(this.Wi)}else this.UM=!1,S?this.uR():this.fR()}};d.prototype.hide=function(){this.UM&&(this.UM=!1,this.Wi.detach(),this.TLa())};d.prototype.BGa=function(){var N=m.getItem(this.Zia());if("true"==N)return!0;if("false"==N)return!1};d.prototype.dpa=function(N){m.setItem(this.Zia(),N?"true":"false")};d.prototype.Zia=function(){return this.JQa+"DontDisplay:"+window.location.pathname};d.prototype.BJa=
function(N){var W=h("#tdvvriw_dontdisplay").is(":checked");this.hide();"tdvvriw_continue"==N?(this.uR(),W&&this.dpa(!0)):"tdvvriw_cancel"==N&&(this.fR(),W&&this.dpa(!1))};a=l.extend(d,function(){var N=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+p+'">'+k("use-cardboard-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">'+k("use-cardboard")+
"</button></div>","</div>",'<hr style="'+n+'">',"<div>",'<div style="'+p+'">','<div style="margin-bottom:2vmin;">'+k("samsung-internet-vr-app-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_cancel">'+k("launch-default-browser")+"</button></div>","</div>",y,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+p+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+
k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"ChromeAppInfoWindow",N)});var B=l.extend(d,function(){var N=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+p+'">'+k("use-cardboard-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div>",'<hr style="'+n+'">',"<div>",'<div style="'+p+'">',
'<div style="margin-bottom:2vmin;">'+k("samsung-internet-vr-info")+"</div>","</div>",y,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+p+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"SamsungInternetInfoWindow",N)}),z=l.extend(d,function(){d.call(this,"SamsungInternetForGearVRInfoWindow",
['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',y,'<div style="'+p+'">This content requires access to the WebVR API.<br>To enable WebVR open the "More" menu you\'ll find above this window and then click on the "Labs" item.</div>','<div><button style="'+t+'" id="tdvvriw_cancel">OK</button></div>',"</div>\n</div></div>"].join("\n"))}),C=l.extend(d,function(){var N=
['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">','<div style="'+p+'"></div>','<div style="text-align:center;"><button style="'+t+' box-shadow:0 0 4px rgba(0, 0, 0, 0.5);" id="tdvvriw_continue">'+k("exit-vr")+"</button></div>","</div></div>"].join("\n");d.call(this,"ExternalVRDisplayVRInfoWindow",N)});C.prototype.b2=function(){d.prototype.b2.call(this);!0===g.Ph("vrv")&&
this.Wi.css({background:"none"})};var E=l.extend(d,function(){var N=b.browser()==b.Rh?"https:"!=window.location.protocol?"<div>"+k("giroscope-disabled-http")+"</div>":window.DeviceMotionEvent.requestPermission?k("giroscope-disabled-safari-request-permission").map(function(W){return"<div>"+W+"</div>"}).join("\n"):k("giroscope-disabled-safari-toggle-on"):"<div>"+k("giroscope-disabled-http")+"</div>";N=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',
'<div style="'+p+'">',N,"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+p+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"GiroscopeDisabledInfoWindow",N)}),F=l.extend(d,function(){var N=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',
v,'<div style="'+p+'">'+k("use-cardboard-info")+'</div><div><button style="'+t+'" id="tdvvriw_continue">'+k("use-cardboard")+"</button></div>","</div>",'<hr style="'+n+'">',"<div>",y,'<div style="'+p+'">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).</div>','<div><button style="'+t+'" id="tdvvriw_cancel">Use Carmel web browser</button></div>',"</div>\n</div></div>"].join("\n");d.call(this,"CarmelInstallationPromptVRInfoWindow",
N)}),G=l.extend(d,function(){var N=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+q+' margin:2vmin 0;">'+k("cardboard-v1")+"</div>",'<div><button style="'+t+'" id="tdvvriw_cancel">'+k("use-default-cardboard")+"</button></div>","</div>",'<hr style="'+r+'">',"<div>",'<div style="'+q+' margin-bottom:2vmin;">'+k("cardboard-v2")+"</div>",'<div><button style="'+
t+'" id="tdvvriw_continue">'+k("use-cardboard-v2")+"</button></div>",x,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+p+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"CardboardV2InfoWindow",N)}),J=l.extend(d,function(){var N=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<div style="'+p+'"></div>','<div style="text-align:center;"><button style="'+t+'" id="tdvvriw_continue">'+k("enter-vr")+"</button></div>","</div></div>"].join("\n");d.call(this,"EnterVRInfoWindow",N)}),R=l.extend(d,function(){d.call(this,"PreparingVRInfoWindow",['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">','<div style="'+p+'">Preparing VR...</div>',"</div></div>"].join("\n"))}),
U=l.extend(d,function(){var N=['<div style="position: absolute; top: 7vmin; right:5vmin; ">',w,'</div>\n<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">',A,'<div style="'+p+'">'+k("use-safari-for-vr")+"</div>",'<div style="text-align:center;"><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+
p+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");d.call(this,"UseSafariVRInfoWindow",N)});l=l.extend(d,function(){var N=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+c.Jk+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<img style="width:22vmin" src="'+c.LI+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+k("rotate-device")+"</div>","</div>\n</div>"].join("\n");d.call(this,"RotateVRInfoWindow",N)});var Q={};Q.rAa=new B;Q.kYa=new z;Q.Dda=new C;Q.RXa=new F;Q.VXa=new J;Q.eYa=new R;Q.Wea=new U;Q.LI=new l;Q.Hda=new E;Q.bza=new a;Q.JZ=new G;return Q});
define("cW",["require"],function(){return{Jk:"Cardboard",RAa:"WebVR",SAa:"WebXR"}});
define("he","require lo u hL lQ bf".split(" "),function(a){var d=a("lo"),h=a("u"),l=a("hL"),k=a("lQ");a("bf");var b={UTa:function(e){return this.YH(e)||this.dva(e)?!0:!1},kt:function(){var e=h.GUa();b.kt=function(){return e};return e},dva:function(e){return"string"==typeof e&&l.is(e,l.qn)?!0:!1},UYa:function(e){return this.jba(e)||this.kba(e)?!0:!1},kba:function(e){return"string"==typeof e&&(l.is(e,l.Jza)||l.az(e,l.Kza))?!0:!1},YH:function(e){return!!e&&!!e.tagName&&"VIDEO"==e.tagName},bz:function(e){return"string"==
typeof e&&l.is(e,l.HLS)||this.YH(e)&&l.is(e.currentSrc,l.HLS)?!0:!1},Hl:function(e){return"string"==typeof e&&l.is(e,l.qn)||this.YH(e)&&l.is(e.currentSrc,l.qn)?!0:!1},jba:function(e){return!!e&&!!e.tagName&&"IMG"==e.tagName},Qua:function(e){return!!e&&!!e.tagName&&"CANVAS"==e.tagName},Wta:function(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))},ava:function(e){return 0!==e&&0===(e&e-1)},Tua:function(){return h.browser()==h.Tl},LTa:function(){return h.browser()==h.$v},Vm:function(){return h.fe()==
h.vi}},g=h.fe()==h.xI&&!h.Ef()&&11>h.dRa();b.Pya=function(e){if(c)return!0;if(h.gaa()&&15.1>h.nP())if(15<=h.nP()){if(h.xua())return!0}else if(b.bz(e))return!0;if(b.LTa())return!0;if(b.Vm()){if(h.Uy()==h.TD&&15<=h.iD())return!1;if(b.bz(e)){if(!d.Jua||14<=h.iD()&&14.6>h.iD())return!0}else if(12>h.iD()||e&&e.videoWidth&&e.videoHeight&&262144>=e.videoWidth*e.videoHeight)return!0}return g&&e&&.2>e.currentTime?!0:!1};b.Cua=function(){return b.Tua()||b.Vm()};b.Bua=function(){return b.Vm()&&d.Jua&&11>h.iD()};
var f=!1;b.Oua=function(){f=!1};b.ETa=function(){return f};b.qVa=function(){f=!0};var c=k.Ri("vic");b.CUa=function(){b.Vm()&&(c=!0)};b.Zta=function(e){return{alpha:!0,depth:!0,stencil:!0,antialias:d.kRa()?e||!1:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",failIfMajorPerformanceCaveat:!1,xrCompatible:!b.Tua()}};b.maa=function(e,m){m=b.Zta(m);return e.getContext("webgl",m)||e.getContext("experimental-webgl",m)};b.LRa=function(e){var m=b.Zta(!0);return e.getContext("webgl2",
m)};b.getPixelRatio=function(){if(h.kb()){var e=0,m=0;try{e=window.top.innerWidth,m=window.top.innerHeight}catch(p){if(h.fe()==h.xI&&1<window.devicePixelRatio)return window.devicePixelRatio}var q=window.devicePixelRatio||1;e=[Math.max(document.documentElement.clientWidth,e),Math.max(document.documentElement.clientHeight,m)].sort(function(p,n){return n-p});q=[screen.width*q,screen.height*q].sort(function(p,n){return n-p});q=[q[0]/e[0],q[1]/e[1]].sort()[0];if(Infinity!==q)return q}else if(h.fe()==h.Nza&&
h.browser()==h.Ik)return 1;return window.devicePixelRatio};return b});
define("dJ","require kV jquery.mod dY oe bZ og u e mU nm".split(" "),function(a){function d(){this.qb=!1;this.mN=null;this.ua=this.ea=100;this.F4=this.Xh=void 0;this.G4=100;this.ja=document.createElement("div");this.ja.style.opacity=0;this.ja.style.display="none";this.ja.style.transition="opacity 0.3s";this.ja.addEventListener("transitionend",this.v9.bind(this));this.be=document.createElement("div");this.hxa(!0);this.be.style.position="absolute";this.be.style.left=0;this.be.style.top=0;this.be.style.right=
0;this.be.style.bottom=0;this.ja.appendChild(this.be);this.Ub=document.createElement("img");this.Ub.style.cursor="pointer";this.Ub.style.position="absolute";this.Ub.style.left="50%";this.Ub.style.top="50%";this.Ub.style.transform="translate(-50%, -50%)";this.ja.appendChild(this.Ub);this.k0=k(this.ja)}function h(t,u){this.reason=t;this.ko=u}var l=a("kV"),k=a("jquery.mod");a("dY");a("oe");var b=a("bZ"),g=a("og"),f=a("u"),c=a("e"),e=a("mU"),m=a("nm"),q=l.extend(c,function(){c.call(this);this.qe("UserInteractionWindow");
this.Zb=null;this.Mr=[];var t=new e;t.set("duration",500);t.set("easing","cubic_in");var u=new m;u.set("duration",500);u.set("easing","cubic_out");this.fa({contentOpaque:!0,left:0,top:0,right:0,bottom:0,hideEffect:u,showEffect:t,visible:!1});this.bind(g.fc,this.x$,this,!0);this.bind(g.oa,this.xQa,this,!0)});q.prototype.x$=function(){this.Zb&&this.Zb.setSize(this.bf(),this.af())};q.prototype.xQa=function(){var t=this.Mr.slice();this.Mr=[];this.IW();t.forEach(function(u){u.ko.call(u.context)})};q.prototype.xb=
function(){c.prototype.xb.call(this);this.Zb||(this.Zb=new d,this.Zb.setSize(this.bf(),this.af()),this.Zb.Rf(!0),this.yb().append(this.Zb.yc().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"})),this.IW())};q.prototype.Oo=function(){c.prototype.Oo.call(this);this.getParent().bind(g.fc,this.x$,this,!0);q.vBa(this)};q.prototype.Im=function(){this.getParent().unbind(g.fc,this.x$,this,!0);c.prototype.Im.call(this);q.ALa(this)};q.prototype.aVa=function(t){this.Lr(n,t)};q.prototype.Tba=
function(t){this.Lr(p,t)};q.prototype.Lr=function(t,u){this.Mr.push(new h(t,u));this.Mr.sort(function(v,w){return r[v.reason]-r[w.reason]});this.IW()};q.prototype.qRa=function(t){this.cancel(n,t)};q.prototype.nRa=function(){this.cancel(p,void 0)};q.prototype.cancel=function(t,u){t=this.tHa(t,u);0<=t&&this.KLa(t)};q.prototype.yga=function(){this.IQ(!0)};q.prototype.SQ=function(){this.IQ(!1)};q.prototype.tHa=function(t,u){for(var v=0;v<this.Mr.length;v++){var w=this.Mr[v];if(w.reason==t&&w.ko==u)return v}return-1};
q.prototype.IW=function(){if(this.Zb){var t=this.EHa();if(t){switch(t.reason){case p:this.Zb.qca(d.Jda);break;case n:this.Zb.qca(d.D_)}this.set("visible",!0)}else this.set("visible",!1)}};q.prototype.KLa=function(t){this.Mr.splice(t,1);t==this.Mr.length&&this.IW()};q.prototype.EHa=function(){return 0<this.Mr.length?this.Mr[0]:null};var p="vr",n="play",r={};r[p]=0;r[n]=1;d.prototype.yc=function(){return this.k0};d.prototype.setSize=function(t,u){if(this.ea!==t||this.ua!==u)this.ea=t,this.ua=u,this.JW()};
d.prototype.hxa=function(t){this.be.style.backdropFilter=t?"blur(8px)":"none"};d.prototype.Rf=function(t){this.qb!=t&&(this.qb=t,this.mN&&(clearTimeout(this.mN),this.mN=null),this.qb?(this.ja.style.display="block",this.ja.style.opacity=0,this.mN=setTimeout(function(){this.mN=null;this.ja.style.opacity=1}.bind(this),30)):this.ja.style.opacity=0)};d.prototype.qca=function(t){this.Xh!=t&&(this.Xh=t,this.LPa())};d.prototype.v9=function(){this.qb||(this.ja.style.display="none")};d.prototype.LPa=function(){switch(this.Xh){case d.D_:this.F4=
b.rw;this.G4=b.T_;break;case d.Jda:this.F4=b.LAa,this.G4=b.NAa}this.Ub.src=this.F4;this.JW()};d.prototype.JW=function(){f.kb()?(this.Ub.style.maxWidth=Math.round(.5*this.ea)+"px",this.Ub.style.width="20vmin"):(this.Ub.style.maxWidth=Math.round(.33*this.ea)+"px",this.Ub.style.width=this.G4+"px")};d.D_="play";d.Jda="vr";q.sea=d;q.Sc=[];q.T6=[];q.vBa=function(t){q.Sc.push(t);q.T6.forEach(function(u){q.aka(t,u)});q.T6=[]};q.ALa=function(t){q.Sc.splice(q.Sc.indexOf(t),1)};q.ready=function(){return 0<q.Sc.length};
q.Tba=function(t){q.Sc.length?q.Sc.forEach(function(u){q.aka(u,t)}):q.T6.push(t)};q.aka=function(t,u){t.Tba(function(){q.Sc.forEach(function(v){v!=t&&v.nRa()});u()})};return q});
define("nQ",["require"],function(){var a={kn:{}};a.kn.NONE="none";a.kn.Ma="left";a.kn.eb="right";a.Nj=function(){this.y=this.x=0;this.height=this.width=1};a.Xea=function(){this.eye=a.kn.NONE;this.viewport=new a.Nj;this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.projectionMatrix=new THREE.Matrix4};a.Dza=function(){this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.views=[];this.FX=[]};a.Pza=function(){this.rO=null;this.mo=200;this.Sm=100;this.AX=1};
return a});define("dP",["require"],function(){return{gQ:"gaze",A_:"gaze_click"}});
define("gS","require kV og he fV dJ nQ u iw lQ dP".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("he"),k=a("fV"),b=a("dJ"),g=a("nQ"),f=a("u"),c=a("iw"),e=a("lQ"),m=a("dP");a=d.extend(k,function(){k.call(this);this.Toa=m.gQ;this.Sn=[];this.zd=new g.Dza;this.Gi=new g.Xea;this.Gi.eye=g.kn.Ma;this.Li=new g.Xea;this.Li.eye=g.kn.eb;this.zd.views=[this.Gi,this.Li];this.me=new g.Pza;this.bind(h.sa,this.GB,this,!1)});a.prototype.initialize=function(){};a.prototype.Bk=function(){};a.prototype.Pf=function(){};
a.prototype.OX=function(){return this.me};a.prototype.ss=function(){return this.zd};a.prototype.requestFrame=function(){};a.prototype.isPresenting=function(){};a.prototype.getType=function(){};a.prototype.TX=function(){return this.Toa};a.prototype.cD=function(){};a.prototype.nH=function(q){0>this.Sn.indexOf(q)&&this.Sn.push(q)};a.prototype.PY=function(q){this.Sn.splice(this.Sn.indexOf(q),1);this.cD()==q&&this.Pf()};a.prototype.aZ=function(q){var p=this.Sn.indexOf(q);0>p||p==this.Sn.length-1||(this.Sn.splice(p,
1),this.Sn.splice(this.Sn.length,0,q))};a.prototype.mHa=function(){return 0<this.Sn.length?this.Sn[this.Sn.length-1]:null};a.prototype.g8=function(){var q=this.mHa();null==q&&(q=l.maa(document.createElement("canvas")),this.nH(q));return q};a.prototype.iV=function(q){b.Tba(q)};a.prototype.I8=function(q){f.gd()==f.PD?(this.M7(),c.bza.show(q,function(){this.Ofa()}.bind(this))):f.sO()&&f.gd()==f.AI?c.rAa.show(q):f.gd()==f.TP?c.Wea.show(q):f.gd()==f.UP?c.Wea.show():q()};a.prototype.h8=function(q){var p=
function(n){this.Toa=n;q()}.bind(this);!f.kb()||f.Ef()?p(m.gQ):"1"==e.getQueryParameter("cardboard_version")?p(m.gQ):"2"==e.getQueryParameter("cardboard_version")?p(m.A_):c.JZ.show(function(){p(m.A_)}.bind(this),function(){p(m.gQ)}.bind(this))};a.prototype.GB=function(){f.kb()||(this.isPresenting()?c.Dda.show(this.Pf.bind(this)):c.Dda.hide())};a.prototype.Ofa=function(){this.M7();var q=this.Kja();q.push("vr");this.Yfa(q)};a.prototype.M7=function(){var q=this.Kja().filter(function(p){return"vr"!=p});
this.Yfa(q)};a.prototype.Kja=function(){var q=window.location.hash.substring(1);return q.length?q.split("&"):[]};a.prototype.Yfa=function(q){window.location.hash="#"+(q.length?q.join("&"):"")};return a});
define("s",["require","jquery.mod","mH"],function(a){function d(){m.get(0)==document.body&&g.height(window.innerHeight)}function h(n,r){var t={},u;for(u in r)t[u]=n.css(u);q.push({$el:n,css:t});n.css(r)}function l(n){this.ja=n}var k=a("jquery.mod"),b=a("mH");l.prototype.Bk=function(){this.enabled()||this.toggle()};l.prototype.Pf=function(){this.enabled()&&this.toggle()};l.prototype.toggle=function(){this.enabled()?l.cancel():l.request(this.ja)};l.prototype.enabled=function(){return l.enabled(this.ja)};
var g=k("<div/>").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),f=k("<div/>"),c=null,e=null,m=null,q=[],p=null;l.request=function(n){if(n!==c){l.cancel();c=n;var r=b.fullscreenElement()||document.body;e=k(n);m=k(r);f.insertAfter(e);e.appendTo(g);m.children().each(function(){h(k(this),{visibility:"hidden"})});h(e,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});r==document.body?h(g,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,
padding:0}):h(g,{position:"absolute",left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});g.appendTo(m);d();p=setInterval(d,300)}};l.cancel=function(){if(c){g.detach();e.insertBefore(f);for(f.detach();q.length;){var n=q.pop();n.$el.css(n.css)}m=e=c=null;q=[];clearInterval(p)}};l.enabled=function(n){return c==n};return l});
define("kO","require kV og cu fV oe bZ".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("oe");a=a("bZ");var g=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+a.Jk+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">'].join("\n"),f=g+['<img style="width:22vmin" src="'+a.LI+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+
b("rotate-device")+"</div>"].join("\n")+"</div>\n</div>",c=g+['<img style="width:13vmin; vertical-align:middle;" src="'+a.zAa+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; text-align:left; display:inline-block; vertical-align:middle; margin:5vmin 0 0 2vmin;">Please, swipe up to<br>enter Fullscreen Mode</div>'].join("\n")+"</div>\n</div>";d=d.extend(k,function(){k.call(this);this.ll=this.Bg=this.xn=this.LK=this.MK=this.p5=this.q5=void 0;
this.IS=!1;this.ty=this.g7=this.o5=this.kf=null;this.Cia=[];this.R4=this.Op=!1;this.cc=this.cc.bind(this)});d.prototype.request=function(){this.Op||(this.Op=!0,this.a2(),window.addEventListener("resize",this.cc),document.body.appendChild(this.kf),document.body.appendChild(this.ty),this.mOa=document.documentElement.style.overflow,this.lOa=document.body.style.overflow,document.documentElement.style.overflow="auto",document.body.style.overflow="auto",this.Cr())};d.prototype.cancel=function(){this.Op&&
(this.Op=!1,window.removeEventListener("resize",this.cc),document.body.style.overflow=this.lOa,document.documentElement.style.overflow=this.mOa,document.body.removeChild(this.kf),document.body.removeChild(this.ty),this.hpa(!1))};d.prototype.enabled=function(){return this.IS};d.prototype.a2=function(){this.kf||(this.kf=this.yR({position:"fixed",top:0,left:0,zIndex:9999998},!0),this.kf.id="tdvminuictr",this.g7=this.yR({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,f),this.kf.appendChild(this.g7),
this.o5=this.yR({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,c),this.kf.appendChild(this.o5),this.ty=this.yR({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},!1),this.ty.id="tdvminuiscrl",this.ty.addEventListener("touchend",this.cc))};d.prototype.yR=function(e,m,q){var p=document.createElement("div");this.HM(p,e);void 0!==q&&this.SMa(p,q);m&&this.Cia.push(p);return p};d.prototype.cc=function(){[0,250,1E3,2E3].forEach(function(e){setTimeout(this.w6.bind(this),
e)}.bind(this))};d.prototype.w6=function(){this.xn==window.innerWidth&&this.Bg==window.innerHeight||this.Cr()};d.prototype.Cr=function(){this.xn=window.innerWidth;this.Bg=window.innerHeight;this.ll=this.xn>this.Bg?"landscape":"portrait";if("landscape"==this.ll){this.q5&&this.p5&&this.OIa(this.q5,this.p5)&&(!this.MK&&!this.LK||this.PIa(this.MK,this.LK))&&(this.MK=this.xn,this.LK=this.Bg);this.JIa()&&(this.MK=this.xn,this.LK=this.Bg);this.q5=this.xn;this.p5=this.Bg;var e=this.MK==this.xn&&this.LK==
this.Bg}else e=!1;this.Cia.forEach(function(n){n.style.height=this.Bg+"px";n.style.width=this.xn+"px"}.bind(this));var m=this.Op&&"portrait"==this.ll,q=this.Op&&"landscape"==this.ll&&!e,p=this.Op&&"landscape"==this.ll;this.HM(this.kf,{display:m||q?"block":"none"});this.HM(this.g7,{display:m?"block":"none"});this.HM(this.o5,{display:q?"block":"none"});this.HM(this.ty,{display:p?"block":"none",right:q?0:"99.9%"});this.hpa(e)};d.prototype.hpa=function(e){null!=this.EV&&(clearTimeout(this.EV),this.EV=
null);this.IS!=e&&(this.EV=setTimeout(function(){this.EV=null;(this.IS=e)?this.trigger(new l(h.Dq)):this.trigger(new l(h.rb));this.trigger(new l(h.sa))}.bind(this),e?1E3:0))};d.prototype.JIa=function(){var e=window.innerWidth,m=window.innerHeight,q=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(p){q=Math.min(q,Math.abs(100-100*e*p[1]/(m*p[0])))});return 1>=q?!0:!1};d.prototype.OIa=function(e,
m){return e*window.innerHeight>m*window.innerWidth};d.prototype.PIa=function(e,m){return e*window.innerHeight>=m*window.innerWidth};d.prototype.HM=function(e,m){for(var q in m)e.style[q]=m[q]};d.prototype.SMa=function(e,m){e.innerHTML=m};return new d});
define("ol",["require"],function(){if("wakeLock"in navigator){var a=null;var d={enable:function(){null===a&&navigator.wakeLock.request("screen").then(function(h){a=h})},disable:function(){null!==a&&(a.release(),a=null)}}}else d={enable:function(){},disable:function(){}};return d});
define("ka",["require","jquery.mod","oe","bZ"],function(a){function d(){this.Wi=null;this.T=!1;this.cc=this.cc.bind(this);this.Bg=this.xn=this.ll=void 0}var h=a("jquery.mod"),l=a("oe"),k=a("bZ");d.prototype.Ht=function(){this.Wi||(this.Wi=h("<div/>"),this.Wi.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.Wi.html(['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+
k.Jk+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">','<img style="width:22vmin" src="'+k.LI+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+l("rotate-device")+"</div>","</div>\n</div>"].join("\n")))};d.prototype.show=function(b){this.T||(this.T=!0,this.Ht(),
h(b).append(this.Wi),h(window).on("resize",this.cc),this.Cr())};d.prototype.hide=function(){this.T&&(this.T=!1,h(window).off("resize",this.cc),this.Wi.detach())};d.prototype.cc=function(){[0,250,1E3,2E3].forEach(function(b){setTimeout(this.w6.bind(this),b)}.bind(this))};d.prototype.w6=function(){this.xn==window.innerWidth&&this.Bg==window.innerHeight||this.Cr()};d.prototype.Cr=function(){this.xn=window.innerWidth;this.Bg=window.innerHeight;this.ll=this.xn>this.Bg?"landscape":"portrait";this.Wi.toggle("landscape"!=
this.ll)};return new d});
define("kw","require kV og cu gG lo u hq iw cr cW gS e bf mH s kO ol ka".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("gG"),b=a("lo"),g=a("u"),f=a("hq"),c=a("iw"),e=a("cr"),m=a("cW"),q=a("gS"),p=a("e"),n=a("bf"),r=a("mH"),t=a("s"),u=a("kO"),v=a("ol"),w=a("ka"),x=d.extend(q,function(){q.call(this);this.qj=this.Jg=this.Lh=this.AM=this.mu=this.yk=this.Cd=null;this.re=m.Jk;this.requestFrame=this.requestFrame.bind(this)});x.prototype.initialize=function(B){if(this.xK()){var z=function(E){if(this.Cd=
E.length?E[0]:null)this.Cd.depthNear=.1,this.Cd.depthFar=2*k.uf,this.yk="VRFrameData"in window?new VRFrameData:null,window.addEventListener("vrdisplaypresentchange",this.m7.bind(this),!1),u.bind(h.rb,this.Pf.bind(this));B(!!this.Cd)}.bind(this),C=window.WebVRConfig||(window.WebVRConfig={});C.BUFFER_SCALE=x.uH;C.ALWAYS_APPEND_POLYFILL_DISPLAY=!0;C.LOCK_ORIENTATION=!1;e.Zea.load(function(){navigator.getVRDisplays().then(z)["catch"](function(){z([])})}.bind(this))}else B(!1)};x.prototype.Bk=function(){this.isPresenting()||
this.Jg||this.sC(function(){this.I8(function(){this.h8(function(){this.isPresenting()||this.Jg||(this.Jg=this.g8(),this.F8(),this.Cd.requestPresent([{source:this.Jg.canvas}]).then(function(){this.qj=this.Jg;this.Jg=null;g.gd()!=g.yI&&w.show(r.fullscreenElement());this.rG();this.VN()}.bind(this))["catch"](function(){this.Jg=null;this.lN()}.bind(this)))}.bind(this))}.bind(this))}.bind(this))};x.prototype.Pf=function(){this.isPresenting()&&this.Cd.exitPresent()};x.prototype.requestFrame=function(B){return this.Cd.requestAnimationFrame(function(z){var C=
this.rG();C&&this.LC();B(z);C&&this.Cd.submitFrame()}.bind(this))};x.prototype.isPresenting=function(){return!!this.Cd&&this.Cd.isPresenting};x.prototype.cD=function(){return this.qj};x.prototype.getType=function(){return this.re};x.prototype.m7=function(){this.isPresenting()?n.cZ(this.requestFrame,this.Cd.cancelAnimationFrame.bind(this.Cd)):(n.Vba(),(this.qj||this.Jg)&&this.lN());this.trigger(new l(h.sa))};x.prototype.xK=function(){return f.rg&&b.Js&&g.kb()&&g.Uy()!=g.TD};x.prototype.sC=function(B){f.disabled?
c.Hda.show(function(){f.Sba(function(){this.sC(B)}.bind(this))}):r.enabled()||!p.RO()?(r.Pf(),this.iV(function(){this.sC(B)}.bind(this))):B()};x.prototype.F8=function(){t.request(this.Jg.canvas);g.gd()==g.zI?this.Ofa():v.enable();g.gd()==g.yI&&u.request()};x.prototype.rG=function(){this.Cd.getFrameData(this.yk);if(!this.yk.pose||!this.yk.pose.orientation)return!1;this.mu=this.Cd.getEyeParameters("left");this.AM=this.Cd.getEyeParameters("right");var B=this.Cd.getLayers();return(this.Lh=B&&B.length&&
B[0]||null)?!0:!1};x.prototype.VN=function(){this.me.rO=null;this.me.mo=2*this.mu.renderWidth;this.me.Sm=this.mu.renderHeight;this.me.AX=1};x.prototype.LC=function(){var B=this.yk.pose;this.zd.orientation.fromArray(B&&B.orientation||y);this.zd.position.fromArray(B&&B.position||A);this.O$()};x.prototype.O$=function(){this.Gi.position.fromArray(this.mu.offset);this.Gi.orientation.fromArray(y);this.Gi.projectionMatrix.fromArray(this.yk.leftProjectionMatrix);this.Gi.viewport.x=Math.round(this.me.mo*this.Lh.leftBounds[0]);
this.Gi.viewport.y=Math.round(this.me.Sm*this.Lh.leftBounds[1]);this.Gi.viewport.width=Math.round(this.me.mo*this.Lh.leftBounds[2]);this.Gi.viewport.height=Math.round(this.me.Sm*this.Lh.leftBounds[3]);this.Li.position.fromArray(this.AM.offset);this.Li.orientation.fromArray(y);this.Li.projectionMatrix.fromArray(this.yk.rightProjectionMatrix);this.Li.viewport.x=Math.round(this.me.mo*this.Lh.rightBounds[0]);this.Li.viewport.y=Math.round(this.me.Sm*this.Lh.rightBounds[1]);this.Li.viewport.width=Math.round(this.me.mo*
this.Lh.rightBounds[2]);this.Li.viewport.height=Math.round(this.me.Sm*this.Lh.rightBounds[3])};x.prototype.lN=function(){this.M7();this.qj=this.Jg=null;u.cancel();t.cancel();v.disable();w.hide()};x.uH=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var y=[0,0,0,1],A=[0,0,0];return x});
define("iD","require kV cu og u cW gS gG e bf s".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("og"),k=a("u"),b=a("cW"),g=a("gS"),f=a("gG"),c=a("e"),e=a("bf"),m=a("s");a=d.extend(g,function(){g.call(this);this.qj=this.Jg=this.Lh=this.AM=this.mu=this.yk=this.Cd=null;this.requestFrame=this.requestFrame.bind(this)});a.prototype.initialize=function(t){if(this.xK()){var u=function(v){if(this.Cd=v.length?v[0]:null)this.Cd.depthNear=.1,this.Cd.depthFar=2*f.uf,this.yk="VRFrameData"in window?new VRFrameData:
null,window.addEventListener("vrdisplaypresentchange",this.m7.bind(this),!1),window.addEventListener("vrdisplayactivate",this.Ona.bind(this)),window.addEventListener("vrdisplaydeactivate",this.Pf.bind(this));t(!!this.Cd)}.bind(this);navigator.getVRDisplays().then(u)["catch"](function(){u([])})}else t(!1)};a.prototype.Bk=function(t){this.isPresenting()||this.Jg||this.sC(t,function(){this.I8(function(){this.h8(function(){this.isPresenting()||this.Jg||this.Ona()}.bind(this))}.bind(this))}.bind(this))};
a.prototype.Pf=function(){this.isPresenting()&&this.Cd.exitPresent()};a.prototype.requestFrame=function(t){return this.Cd.requestAnimationFrame(function(u){var v=this.rG();v&&this.LC();t(u);v&&this.Cd.submitFrame()}.bind(this))};a.prototype.isPresenting=function(){return!!this.Cd&&this.Cd.isPresenting};a.prototype.cD=function(){return this.qj};a.prototype.getType=function(){return b.RAa};a.prototype.xK=function(){return"getVRDisplays"in navigator&&!window.WebVRConfig};a.prototype.m7=function(){this.isPresenting()?
(e.cZ(this.requestFrame,this.Cd.cancelAnimationFrame.bind(this.Cd)),this.rG()&&this.LC()):(e.Vba(),(this.qj||this.Jg)&&this.lN());this.trigger(new h(l.sa))};a.prototype.sC=function(t,u){t||c.RO()?u():this.iV(function(){u()})};a.prototype.Ona=function(){this.Jg=this.g8();this.F8();this.Cd.requestPresent([{source:this.Jg.canvas,attributes:{foveationLevel:3}}]).then(function(){this.qj=this.Jg;this.Jg=null;this.rG()&&this.LC()}.bind(this))["catch"](function(){this.Jg=null;this.lN()}.bind(this))};a.prototype.F8=
function(){m.request(this.Jg.canvas)};a.prototype.rG=function(){this.Cd.getFrameData(this.yk);if(!this.yk.pose||!this.yk.pose.orientation)return!1;this.mu=this.Cd.getEyeParameters("left");this.AM=this.Cd.getEyeParameters("right");var t=this.Cd.getLayers();return(this.Lh=t&&t.length&&t[0]||null)?!0:!1};a.prototype.LC=function(){this.VN();var t=this.yk.pose;this.zd.orientation.fromArray(t&&t.orientation||q);this.zd.position.fromArray(t&&t.position||p);this.O$()};a.prototype.VN=function(){this.me.rO=
null;this.me.mo=2*this.mu.renderWidth;this.me.Sm=this.mu.renderHeight;this.me.AX=k.Ef()?2048/this.me.Sm:1};a.prototype.O$=function(){this.Gi.position.fromArray(this.mu.offset);this.Gi.orientation.fromArray(q);this.Gi.projectionMatrix.fromArray(this.yk.leftProjectionMatrix);var t=this.Lh.leftBounds&&4==this.Lh.leftBounds.length?this.Lh.leftBounds:n;this.Gi.viewport.x=Math.round(this.me.mo*t[0]);this.Gi.viewport.y=Math.round(this.me.Sm*t[1]);this.Gi.viewport.width=Math.round(this.me.mo*t[2]);this.Gi.viewport.height=
Math.round(this.me.Sm*t[3]);this.Li.position.fromArray(this.AM.offset);this.Li.orientation.fromArray(q);this.Li.projectionMatrix.fromArray(this.yk.rightProjectionMatrix);t=this.Lh.rightBounds&&4==this.Lh.rightBounds.length?this.Lh.rightBounds:r;this.Li.viewport.x=Math.round(this.me.mo*t[0]);this.Li.viewport.y=Math.round(this.me.Sm*t[1]);this.Li.viewport.width=Math.round(this.me.mo*t[2]);this.Li.viewport.height=Math.round(this.me.Sm*t[3])};a.prototype.lN=function(){this.qj=this.Jg=null;m.cancel()};
var q=[0,0,0,1],p=[0,0,0],n=[0,0,.5,1],r=[.5,0,.5,1];return a});
define("kk","require kV cu og u md cW gS gG e bf s lB gP".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("og"),k=a("u"),b=a("md"),g=a("cW"),f=a("gS"),c=a("gG"),e=a("e"),m=a("bf"),q=a("s"),p=a("lB"),n=a("gP"),r=d.extend(f,function(){f.call(this);this.MC=this.XN=this.Pi=this.qj=null;this.EG="stopped";this.requestFrame=this.requestFrame.bind(this);this.l8=this.l8.bind(this);this.m8=this.m8.bind(this);this.n8=this.n8.bind(this);this.Ly=!1;p.wait(function(){setTimeout(function(){this.Ly=!0}.bind(this),
10)}.bind(this))});r.prototype.initialize=function(v){if(this.xK())this.COa().then(function(w){w?v(!0):v(!1)})["catch"](function(){v(!1)});else v(!1)};r.prototype.Bk=function(){"stopped"==this.EG&&this.sC(function(){this.I8(function(){this.h8(function(){setTimeout(function(){this.dOa()}.bind(this),200)}.bind(this))}.bind(this))}.bind(this))};r.prototype.dOa=function(){"stopped"==this.EG&&(this.EG="starting",this.trigger(new h(l.sa)),m.yca(!0),navigator.xr.requestSession("immersive-vr").then(function(v){this.Pi=
v;this.Pi.addEventListener("end",this.l8);this.Pi.addEventListener("select",this.m8);this.Pi.addEventListener("visibilitychange",this.n8);return this.Pi.requestReferenceSpace("local")}.bind(this)).then(function(v){this.XN=v;this.qj=this.g8();return this.qj.makeXRCompatible()}.bind(this)).then(function(){k.kb()&&q.request(this.qj.canvas);var v=XRWebGLLayer.getNativeFramebufferScaleFactor(this.Pi);v=Math.max(v,1);k.Uua()?v*=1:k.cva()?v*=1:k.Ef()?v*=1.42222:k.kb()&&(v*=r.uH);this.MC=new XRWebGLLayer(this.Pi,
this.qj,{antialias:!1,framebufferScaleFactor:v});this.Pi.updateRenderState({baseLayer:this.MC,depthNear:.1,depthFar:2*c.uf});this.VN();this.EG="started";m.cZ(this.requestFrame,this.Pi.cancelAnimationFrame.bind(this.Pi));m.yca(!1)}.bind(this))["catch"](function(){m.yca(!1);this.Woa();this.trigger(new h(l.sa))}.bind(this)))};r.prototype.Pf=function(){this.isPresenting()&&this.Pi.end()};r.prototype.requestFrame=function(v){return this.Pi.requestAnimationFrame(function(w,x){this.Q$=x;this.LC();v(w)}.bind(this))};
r.prototype.isPresenting=function(){return"stopped"!=this.EG};r.prototype.getType=function(){return g.SAa};r.prototype.cD=function(){return this.qj};r.prototype.xK=function(){return"xr"in navigator};r.prototype.COa=function(){return"isSessionSupported"in navigator.xr?navigator.xr.isSessionSupported("immersive-vr"):"supportsSession"in navigator.xr?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};r.prototype.sC=function(v){k.cva()?v():k.gd()==k.Eq?this.Ly?v():e.RO()?setTimeout(v,10):this.iV(function(){setTimeout(v,
10)}):e.RO()?v():this.iV(function(){v()})};r.prototype.l8=function(){m.Vba();this.Woa();this.trigger(new h(l.sa))};r.prototype.m8=function(){this.trigger(new h(l.mn))};r.prototype.n8=function(){n.Nca(!this.Pi||"visible"!=this.Pi.visibilityState);b.Aza&&"visible"!=this.Pi.visibilityState&&this.Pf()};r.prototype.Woa=function(){this.MC=this.XN=this.Pi=this.qj=null;this.EG="stopped";q.cancel()};r.prototype.VN=function(){this.me.rO=this.MC.framebuffer;this.me.mo=this.MC.framebufferWidth;this.me.Sm=(k.gd()==
k.Eq?2:1)*this.MC.framebufferHeight;this.me.AX=1};r.prototype.LC=function(){var v=this.Q$.getViewerPose(this.XN);if(v){var w=v&&v.transform.orientation||t;this.zd.orientation.set(w.x,w.y,w.z,w.w);w=v&&v.transform.position||u;this.zd.position.set(w.x,w.y,w.z);v=this.Q$.getViewerPose(this.XN.getOffsetReferenceSpace(v.transform));for(var x=0;x<v.views.length;x++){var y=v.views[x];if("left"==y.eye)var A=this.Gi;else if("right"==y.eye)A=this.Li;else continue;w=y.transform.position;A.position.set(w.x,w.y,
w.z);w=y.transform.orientation;A.orientation.set(w.x,w.y,w.z,w.w);A.projectionMatrix.fromArray(y.projectionMatrix);y=this.MC.getViewport(y);A.viewport.x=y.x;A.viewport.y=y.y;A.viewport.width=y.width;A.viewport.height=y.height}var B=[];this.Pi.inputSources.forEach(function(z){if("tracked-pointer"==z.targetRayMode&&z.gamepad){var C=z.gamepad;C.pose||(C.fba=this.Q$.getPose(z.targetRaySpace,this.XN));C.VX||(C.ATa=z.handedness);C.id||(C.BTa=C.mapping+" "+z.handedness);B.push(C)}}.bind(this));this.zd.FX=
B}};r.uH=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var t={x:0,y:0,z:0,w:1},u={x:0,y:0,z:0};return r});
define("bu","require kV og fV lo u hq lQ kw dP cW nQ iD kk gP".split(" "),function(a){function d(y,A){if(y.length){var B=new y[0];B.initialize(function(z){z?A(B):d(y.slice(1),A)})}else A(null)}var h=a("kV"),l=a("og"),k=a("fV"),b=a("lo"),g=a("u"),f=a("hq"),c=a("lQ"),e=a("kw"),m=a("dP"),q=a("cW"),p=a("nQ"),n=a("iD"),r=a("kk"),t=a("gP"),u=!1,v=[],w=new k;w.kn=p.kn;w.AAa=m;w.cA=q;w.rg=function(){return!0};w.ss=function(){return null};w.OX=function(){return null};w.isPresenting=function(){return!1};w.Bk=
function(){u=!0};w.Pf=function(){u=!1};w.RYa=function(){return null};w.nH=function(y){0>v.indexOf(y)&&v.push(y)};w.PY=function(y){y=v.indexOf(y);-1==y||v.splice(y,1)};w.aZ=function(){};w.rWa=function(y){e.uH=y;r.uH=y};w.MSa=function(){return e.uH};w.getType=function(){return null};w.TX=function(){return null};w.log=function(){w.rg()?w.getType()?h.log("VR: "+w.getType()):h.log("VR: not ready"):h.log("VR: not available");h.log("gyroscope: "+f.rg)};var x="cardboard"==c.getQueryParameter("vr_mode")?[e]:
g.Uua()?[r,n]:g.browser()==g.Ik?[r,n,e]:g.gd()==g.bw?[r,n]:[n,r,e];w.initialize=function(y){var A=setTimeout(function(){A=null;y()},250);d(x,function(B){B?(b.RWa(),B.bind(l.sa,function(){w.trigger(l.sa)},w,!0),B.bind(l.mn,function(){w.trigger(l.mn)},w,!0),w.rg=function(){return!0},w.OX=function(){return B.OX()},w.ss=function(){return B.ss()},w.isPresenting=function(){return B.isPresenting()},w.Bk=function(){B.Bk()},w.Pf=function(){B.Pf()},w.cD=function(){return B.cD()},w.nH=function(z){B.nH(z)},w.PY=
function(z){B.PY(z)},w.aZ=function(z){B.aZ(z)},w.getType=function(){return B.getType()},w.TX=function(){return B.TX()},v.forEach(function(z){B.nH(z)}),-1<[g.aw,g.bw].indexOf(g.gd())?function(){function z(){F++;E=setTimeout(C,1E3*F)}function C(){E=null;5<F?window.location.reload():document.hidden||B.isPresenting()||(B.Bk(!0),z())}document.addEventListener("visibilitychange",function(){document.hidden||(E&&(clearTimeout(E),E=null),F=0,z())},!1);if(E){clearTimeout(E);var E=null}var F=0;z()}():u&&B.Bk()):
w.rg=function(){return!1};A&&(clearTimeout(A),A=null,y())})};w.bind(l.sa,function(){t.WY(w.isPresenting())},window,!0);window.addEventListener("vrdisplayblur",function(){t.Nca(!0)},!0);window.addEventListener("vrdisplayfocus",function(){t.Nca(!1)},!0);return w});
define("kb","require dY kV og hE kS hh gE bu bb e".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("hE"),b=a("kS"),g=a("hh"),f=a("gE"),c=a("bu"),e=a("bb"),m=a("e");a=h.extend(m,function(){m.call(this);this.qe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",e.Vs);this.$w=[];this.yC=[];this.Lb="";this.Zg=new f;this.yb().append(this.Zg.yc());this.bind(l.fc,this.cc,this,!0);this.bind(l.hd,this.ek,this,!0);this.bind(l.od,this.$j,this,!0);c.bind(l.sa,this.g$,this,!0);this.gC=this.S7=
!1});a.prototype.po=function(q){b.po(q,k.ln)};a.prototype.mZ=function(q){return b.mZ(q)};a.prototype.Dj=function(q){b.Dj(q,k.ln)};a.prototype.V$=function(q){this.Zg.isa(q)};a.prototype.removeItem=function(q){this.Zg.Mwa(q)};a.prototype.cX=function(q,p){this.Zg.ms(q).isa(p);this.d$()};a.prototype.SUa=function(q,p){(q=this.Zg.ms(q))&&q.Mwa(p)};a.prototype.faa=function(q){this.Zg.oO(q).Nh()};a.prototype.yq=function(q,p){this.Zg.wX(q).forEach(function(n){n.ff(p)})};a.prototype.vP=function(q,p,n,r,t){this.Zg.ms(q).setPosition(p,
n,r,t);this.d$()};a.prototype.d$=function(){var q=this.Zg.HSa();q&&(g.Bj=Math.min(g.Pda,g.Bj*Math.sqrt(g.Qza/q)),this.lra())};a.prototype.QVa=function(q,p,n){this.Zg.oO(q).lca(p,n)};a.prototype.AO=function(q){return this.Zg.ms(q).getX()};a.prototype.BO=function(q){return this.Zg.ms(q).getY()};a.prototype.NX=function(q){return this.Zg.ms(q).GH()};a.prototype.Mta=function(q){return this.Zg.ms(q).rq()};a.prototype.zO=function(q){return this.Zg.ms(q).Va()/g.Bj};a.prototype.yO=function(q){return this.Zg.ms(q).zb()/
g.Bj};a.prototype.render=function(){this.gC&&this.Zg.render()};a.prototype.MY=function(q){this.$w.push(q);this.bra()};a.prototype.dI=function(q){q=d(this.$w).lastIndexOf(q);0<=q&&this.$w.splice(q,1);this.bra()};a.prototype.bra=function(){var q=0<this.$w.length?this.$w[this.$w.length-1]:e.ve;this.getParent().set("cursor",q)};a.prototype.mR=function(){0<this.$w.length&&(this.getParent().set("cursor",e.ve),this.$w=[])};a.prototype.JUa=function(q){this.yC.push(q);this.KN()};a.prototype.DUa=function(q){q=
d(this.yC).lastIndexOf(q);0<=q&&this.yC.splice(q,1);this.KN()};a.prototype.KN=function(){var q=0==this.yC.length?"":this.yC[this.yC.length-1]||"";this.Lb!=q&&(this.Lb=q,this.getParent().set("toolTip",this.Lb))};a.prototype.ADa=function(){this.Lb&&this.getParent().set("toolTip","");this.Lb="";this.yC=[]};a.prototype.Im=function(){this.ADa();this.mR();m.prototype.Im.call(this)};a.prototype.cc=function(){this.lra();this.d$()};a.prototype.lra=function(){this.Zg.yc().css({transform:1!=g.Bj?"scale("+(1/
g.Bj).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.Zg.setSize(this.Va()*g.Bj,this.zb()*g.Bj);this.render()};a.prototype.ek=function(){this.S7=!0;this.g$()};a.prototype.$j=function(){this.S7=!1;this.g$()};a.prototype.g$=function(){var q=this.S7&&!c.isPresenting();this.gC!=q&&((this.gC=q)?this.render():this.Zg.DX())};return a});
define("Q","require kV cu nc jn cT do jm kb og dV gw".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("nc"),k=a("jn"),b=a("cT"),g=a("do"),f=a("jm"),c=a("kb"),e=a("og"),m=a("dV"),q=a("gw"),p=l.define("MapPlayer",b,function(){b.call(this,"map");this.FT=this.C5=this.Kh=!1;this.Cm=this.Oc=this.K=this.j=null;this.Iw={};for(var n in p.pt)this.Iw[n]=this.$Da(n);this.Xd=d.so(this.Mg,this)});p.prototype.stop=function(){this.Hc(f.wf)};p.prototype.rotateClockwise=function(){this.Hc(f.W_)};p.prototype.rotateCounterClockwise=
function(){this.Hc(f.X_)};p.prototype.zoomIn=function(){this.Hc(f.nt)};p.prototype.zoomOut=function(){this.Hc(f.ot)};p.prototype.set=function(n,r){if(this.get(n)!=r){switch(n){case "map":this.C5=!0;this.Xd();break;case "viewerArea":this.Kh=!0;this.Xd();break;case "panoramaMapLocation":this.S6=!0;this.Xd();break;case "movementMode":this.FT=!0,this.Xd()}b.prototype.set.call(this,n,r)}};p.prototype.$Da=function(n){var r=p.pt[n];n=new k(this,n,m.we);n.bind(e.ub,function(){this.Hc(r.movement)},this);r.stopOnRelease&&
n.bind(e.$b,function(){this.Hc(f.wf)},this);return n};p.prototype.aRa=function(n){this.Cm=null;this.set("map",n.get("map"));this.set("panoramaMapLocation",n)};p.prototype.WUa=function(n){this.get("panoramaMapLocation")==n&&(this.set("panoramaMapLocation",null),this.Cm=null)};p.prototype.Zm=function(n,r,t,u){this.K&&this.K.Zm(n,r,t,u);this.Cm={yaw:r,pitch:t,hfov:u}};p.prototype.Mg=function(){this.Kh&&(this.Kh=!1,this.Mt(),this.get("viewerArea")&&this.Jt(),this.RM(this.get("viewerArea")));if(this.K){if(this.C5){this.C5=
!1;var n=this.get("map");n?(this.gI(),this.K.Axa(n)):this.K.Kv();this.S6=this.FT=!0}this.S6&&(this.S6=!1,n=this.get("panoramaMapLocation"),this.K.Pv(n),n&&this.Cm&&this.K.Zm(n,this.Cm.yaw,this.Cm.pitch,this.Cm.hfov));this.FT&&(this.FT=!1,this.K.Aq(this.get("movementMode")))}};p.prototype.NG=function(){this.set("map",null)};p.prototype.Jt=function(){var n=this.get("viewerArea");this.j=new c;this.j.fa({left:0,top:0,bottom:0,right:0});n.Ua(this.j);this.K=new g(n,this.j);this.K.bind(g.Fj,this.tp,this);
this.K.bind(g.Ps,this.ci,this);this.K.bind(g.Cz,this.VF,this);this.K.bind(g.Ez,this.Px,this);this.K.bind(g.Dz,this.vu,this);this.K.bind(g.Gj,this.NL,this,!0)};p.prototype.Mt=function(){this.j&&(this.K.unbind(g.Fj,this.tp,this),this.K.unbind(g.Ps,this.ci,this),this.K.unbind(g.Cz,this.VF,this),this.K.unbind(g.Ez,this.Px,this),this.K.unbind(g.Dz,this.vu,this),this.K.unbind(g.Gj,this.NL,this),this.K.clear(),this.j.getParent().removeChild(this.j),this.j=null)};p.prototype.Px=function(n){this.$K(n.data.map)};
p.prototype.vu=function(n){this.ZK(n.data.map)};p.prototype.tp=function(n){for(var r in p.pt)this.Iw[r].set("state",n.data[p.pt[r].pressedOn]?q.mb:q.ve);this.trigger(new h(e.Wda,n.data))};p.prototype.NL=function(n){this.trigger(new h(p.Gj,{yawDelta:n.data.yawDelta}))};p.prototype.ci=function(n){this.j.getParent().fa({progressPercent:n.data.percent,progressVisible:!0})};p.prototype.VF=function(){this.j.getParent().set("progressVisible",!1)};p.prototype.Hc=function(n){this.K&&this.K.Cj(n)};p.pt={buttonRotateClockwise:{movement:f.W_,
pressedOn:"rotatingClockwise",stopOnRelease:!0},buttonRotateCounterClockwise:{movement:f.X_,pressedOn:"rotatingCounterClockwise",stopOnRelease:!0},buttonZoomIn:{movement:f.nt,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:f.ot,pressedOn:"zoomingOut",stopOnRelease:!0}};p.Gj="requestYawChange";return p});
define("hS",["require","lw","og","cu","nc"],function(a){var d=a("lw"),h=a("og"),l=a("cu");a=a("nc").define("PlayListItem",d,function(){d.call(this);this.A="stopped"});a.prototype.get=function(k,b){return"state"==k?this.A:d.prototype.get.call(this,k,b)};a.prototype.start=function(){this.zXa()};a.prototype.zXa=function(){"stopped"==this.A&&(this.A="starting",this.trigger(new l(h.pn)))};a.prototype.Qy=function(){this.Cya()};a.prototype.Cya=function(){"starting"==this.A&&(this.A="playing",this.trigger(new l(h.Dq)))};
a.prototype.stop=function(){this.uI()};a.prototype.uI=function(){if("playing"==this.A||"starting"==this.A)this.A="stopping",this.trigger(new l(h.wf))};a.prototype.end=function(){this.Dya()};a.prototype.Dya=function(){"stopping"==this.A&&(this.A="stopped",this.trigger(new l(h.rb)))};return a});
define("oF",["require","nc","cT","hS"],function(a){var d=a("nc"),h=a("cT"),l=a("hS");a=d.define("MapPlayListItem",l,function(){l.call(this)});a.prototype.start=function(){l.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Sg,this.Px,this),k.set("map",this.get("media")))};a.prototype.stop=function(){var k=this.get("player");k&&k.get("map")==this.get("media")&&k.set("map",null);l.prototype.stop.call(this)};a.prototype.Px=function(){this.get("player").unbind(h.Sg,this.Px,this);this.get("player").bind(h.Ul,
this.vu,this);this.Qy();this.get("player").get("map")!=this.get("media")&&this.vu()};a.prototype.vu=function(){this.get("player").unbind(h.Ul,this.vu,this);this.stop();this.end()};return a});
define("fM",["require","og","nc","ju"],function(a){var d=a("og"),h=a("nc"),l=a("ju"),k=h.define("MeasureModel3DObject",l,function(){l.call(this);this.bind(d.G("mode"),function(){this.trigger(k.rza)},this,!0);this.bind(d.G("distance"),function(){this.trigger(k.oza)},this,!0)});k.rza="modeChange";k.oza="distanceChange";return k});define("D",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("MeasureModel3DObjectPoint",d,function(){d.call(this)})});
define("dW",["require","nc","fJ"],function(a){var d=a("nc"),h=a("fJ");return d.define("OrbitModel3DCamera",h,function(){h.call(this)})});
define("fs",["require","kx","nc","ef","dW"],function(a){function d(p,n){Array.isArray(n)?p.fromArray(n):p.copy(n);return p}function h(p,n){Array.isArray(n)?p.fromArray(n):p.copy(n);return p}function l(p,n){if(Array.isArray(n))return p.toArray(n);n.x=p.x;n.y=p.y;n.z=p.z;return n}var k=a("kx"),b=a("nc"),g=a("ef"),f=a("dW");a=b.define("Model3D",g,function(){g.call(this);this.set("camera",new f);this.set("geometryQuery",void 0);this.set("objectQuery",void 0)});a.prototype.pause=function(){this.get("state")==
k.X&&this.set("state",k.Cb)};a.prototype.play=function(){this.set("state",k.X)};a.prototype.stop=function(){this.set("state",k.S)};a.prototype.worldPositionToLocal=function(p,n){h(c,p);d(m,n);m.invert();c.applyMatrix4(m);return l(c,p)};a.prototype.getMatrixWorld=function(p){var n=this.get("objectQuery");return n&&n.Qta(p)};a.prototype.worldDirectionToLocal=function(p,n){h(c,p);d(q,n);m.extractRotation(q);m.invert();c.applyMatrix4(m);return l(c,p)};a.prototype.testIntersection=function(p,n){var r=
this.get("geometryQuery");if(r)return h(c,p),h(e,n),r.oya(c,e)};a.prototype.getDistanceToFloor=function(p){var n=this.get("geometryQuery");if(n)return h(c,p),n.oSa(c)};a.prototype.pick=function(p,n){var r=this.get("picker");if(r)return r.HY(p,n)};a.prototype.getScreenPosition=function(p,n){var r=this.get("projectionQuery");if(r)return r.Uaa(h(c,p),n)};var c=new THREE.Vector3,e=new THREE.Vector3,m=new THREE.Matrix4,q=new THREE.Matrix4;a.prototype.ws=function(){return[]};return a});
define("bd",["require","lw","kx","og","nc"],function(a){var d=a("lw"),h=a("kx"),l=a("og");a=a("nc").define("Model3DAnimation",d,function(){d.call(this);this.bind(l.G("state"),function(){this.trigger(l.ge)},this,!0)});a.prototype.pause=function(){this.get("state")==h.X&&this.set("state",h.Cb)};a.prototype.play=function(){this.set("currentDirection","forward");this.set("state",h.X)};a.prototype.reverse=function(){this.set("currentDirection","backward");this.set("state",h.X)};a.prototype.stop=function(){this.set("currentTime",
0);this.set("state",h.S)};return a});
define("gB",["require","lw","kx","nc","og"],function(a){var d=a("lw"),h=a("kx"),l=a("nc"),k=a("og");a=l.define("Model3DCameraSequence",d,function(){d.call(this);this.set("state",h.S);this.bind(k.G("state"),function(){this.trigger(k.ge)},this,!0)});a.prototype.play=a.prototype.play=function(){this.set("state",h.X)};a.prototype.pause=a.prototype.pause=function(){this.get("state")==h.X&&this.set("state",h.Cb)};a.prototype.stop=a.prototype.stop=function(){this.set("state",h.S)};return a});
define("ie","require kV og cu jn cT kx dV gw".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("jn"),b=a("cT"),g=a("kx"),f=a("dV"),c=a("gw");a=d.extend(b,function(){b.call(this,!0);this.Gr=!1;this.LG=!0;this.A=g.S;this.uA=new k(this,"buttonPlayPause",f.Lj);this.uA.bind(h.Jj,this.bKa,this,!0);this.uA.bind(h.Xl,this.cKa,this,!0);this.xE=new k(this,"buttonPause",f.we);this.xE.bind(h.oa,this.QB,this,!0);this.yE=new k(this,"buttonPlay",f.we);this.yE.bind(h.oa,this.RB,this,!0);this.AE=new k(this,
"buttonStop",f.we);this.AE.bind(h.oa,this.Zx,this,!0);this.VCa=new k(this,"buttonRestart",f.we);this.VCa.bind(h.oa,this.Wx,this,!0);this.eka=d.so(this.YPa,this);this.eka()});a.prototype.set=function(e,m){"state"!=e&&b.prototype.set.call(this,e,m)};a.prototype.get=function(e,m){switch(e){case "state":return this.A}return b.prototype.get.call(this,e,m)};a.prototype.YPa=function(){this.LG&&(this.LG=!1,this.xE.set("state",this.A==g.Cb?c.mb:c.ve),this.yE.set("state",this.A==g.X||this.A==g.Cb?c.mb:c.ve),
this.uA.set("pressed",this.A==g.X),this.AE.set("state",this.A==g.S?c.mb:c.ve))};a.prototype.yy=function(e){this.Gr!=e&&((this.Gr=e)||this.xc(g.S))};a.prototype.xc=function(e){var m=this.A;this.A=e;b.prototype.set.call(this,"state",e);m!=this.A&&(this.LG=!0,this.eka(),this.trigger(new l(h.ge,{oldState:m,state:this.A})))};a.prototype.QB=function(){this.Gr&&(this.A==g.Cb?this.hk():this.Dp())};a.prototype.RB=function(){this.Gr&&this.hk()};a.prototype.bKa=function(){this.Gr&&this.hk()};a.prototype.cKa=
function(){this.Gr&&this.Dp()};a.prototype.Zx=function(){this.Gr&&this.$n()};a.prototype.Wx=function(){this.Gr&&(this.$n(),this.hk())};a.prototype.hk=function(){};a.prototype.Dp=function(){};a.prototype.$n=function(){};return a});
define("ez",["require","kV","bf","cu","fV"],function(a){var d=a("kV"),h=a("bf"),l=a("cu"),k=a("fV"),b=d.extend(k,function(g,f){k.call(this);this.N=g;this.j=f;this.Ep=null;this.la=b.mh;this.Dg=this.th=null;this.qg=this.Lg=void 0});b.prototype.display=function(g){this.Ep=null;if(this.Dg!=g||this.la!=b.mh)this.Ep=g,this.zma()};b.prototype.hide=function(){this.Ep="none";this.zma()};b.prototype.clear=function(){this.la=b.mh;this.Ep=null;this.uLa();this.koa();this.j=null};b.prototype.fh=function(g){this.la==
b.mh||this.la!=b.rn&&this.la!=b.ww&&this.la!=b.hA||(this.qg+=g,g=Math.min(1,this.qg/this.Lg),this.la==b.rn?this.th.set("opacity",g):this.la==b.hA?(this.th.set("opacity",Math.min(1,2*g)),this.Dg.set("opacity",Math.min(1,2*(1-g)))):this.Dg.set("opacity",1-g),this.qg<this.Lg?this.Ka():this.hx())};b.prototype.CO=function(){return this.Dg&&this.j.CO(this.Dg)||void 0};b.prototype.zma=function(){this.Ep&&this.la==b.mh&&this.Ro()};b.prototype.Ro=function(){this.Dg&&this.trigger(new l(b.Fz,{model:this.Dg}));
"fade_out_fade_in"==this.N.get("transitionMode","blending")&&this.Dg?this.Ew():(this.th="none"==this.Ep?null:this.Ep,this.Ep=null,this.th?this.Dg?this.d1():this.hJ():this.Dg&&this.Ew())};b.prototype.hJ=function(){this.Lfa();this.j.vca(this.th,!1);this.qg=0;this.Lg=this.N.get("transitionDuration");this.la=b.rn;this.Ka()};b.prototype.d1=function(){this.Lfa();this.j.vca(this.th,!1);this.j.vca(this.Dg,!0);this.qg=0;this.Lg=2*this.N.get("transitionDuration");this.la=b.hA;this.Ka()};b.prototype.Ew=function(){this.th=
null;this.qg=0;this.Lg=this.N.get("transitionDuration");this.la=b.ww;this.Ka()};b.prototype.hx=function(){this.Ep!=this.Dg&&this.koa();this.Dg=this.th;this.th=null;this.la=b.mh;this.Dg?this.trigger(new l(b.Gz,{model:this.Dg})):this.Ep||this.trigger(new l(b.yda));this.Ep&&this.Ro()};b.prototype.Ka=function(){h.requestFrame(this.fh,this)};b.prototype.Lfa=function(){this.th&&(this.th.set("opacity",.01),this.th.set("zIndex",1),this.Dg&&this.Dg.set("zIndex",0),this.th.set("currentTime",0),this.j.ksa(this.th),
this.trigger(new l(b.h_,{model:this.th})))};b.prototype.koa=function(){this.Dg&&(this.j.Rba(this.Dg),this.trigger(new l(b.cQ,{model:this.Dg})),this.Dg=null)};b.prototype.uLa=function(){this.th&&(this.j.Rba(this.th),this.trigger(new l(b.cQ,{model:this.th})),this.th=null)};b.mh="stopped";b.rn="blending";b.hA="double blending";b.ww="disolving";b.Bb="request frame";b.h_="model added";b.cQ="model removed";b.Gz="model show";b.Fz="model hide";b.yda="all pending models hidden";return b});
define("cI",["require","kV","fV","og"],function(a){var d=a("kV"),h=a("fV"),l=a("og");a=d.extend(h,function(k,b){h.call(this);this.N=k;this.j=b;this.Ah=null});a.prototype.clear=function(){this.stop();this.j=null};a.prototype.load=function(k){k!=this.Ah&&(this.stop(),this.j.kTa(k)?(this.Nqa(k),this.xW(k)):(this.Ah=k,this.Ah.set("opacity",0),this.zCa(),this.j.ksa(this.Ah)))};a.prototype.stop=function(){this.Ah&&(this.G9(),this.j.Rba(this.Ah),this.Ah=null)};a.prototype.ML=function(){this.Nqa(this.Ah)};
a.prototype.kd=function(){this.G9();var k=this.Ah;this.Ah=null;this.N.set("progressVisible",!1);this.xW(k)};a.prototype.Af=function(){this.G9();this.Ah=null;this.N.set("progressVisible",!1)};a.prototype.ci=function(k){this.N.fa({progressPercent:k.data.percent,progressVisible:!0})};a.prototype.zCa=function(){this.Ah.bind(l.KI,this.ML,this,!0);this.Ah.bind(l.aa,this.kd,this,!0);this.Ah.bind(l.rc,this.ci,this,!0);this.Ah.bind(l.Fc,this.Af,this,!0)};a.prototype.G9=function(){this.Ah.unbind(l.KI,this.ML,
this,!0);this.Ah.unbind(l.aa,this.kd,this,!0);this.Ah.unbind(l.rc,this.ci,this,!0);this.Ah.unbind(l.Fc,this.Af,this,!0)};a.prototype.Nqa=function(k){this.trigger(l.KI,{model:k})};a.prototype.xW=function(k){this.trigger(l.aa,{model:k})};a.uza=l.KI;a.Ada=l.aa;return a});
define("gL","require kV og cu fV kx".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("kx"),g=d.extend(k,function(){k.call(this);this.Y=null;this.A=b.S});g.prototype.start=function(f){this.Y=f;this.Y.bind(h.G("camera"),this.d6,this,!0);this.Y.bind(h.G("state"),this.A6,this,!0);this.Y.bind(h.G("currentTime"),this.mU,this,!0);this.Y.bind(h.G("duration"),this.mU,this,!0);this.A6();this.d6()};g.prototype.end=function(){this.stop();this.ta&&(this.ta.unbind(h.G("state"),this.nL,this,
!0),this.ta=null);this.Y&&(this.Y.unbind(h.G("camera"),this.d6,this,!0),this.Y.unbind(h.G("state"),this.A6,this,!0),this.Y.unbind(h.G("currentTime"),this.mU,this,!0),this.Y.unbind(h.G("duration"),this.mU,this,!0),this.Y=null)};g.prototype.clear=function(){this.end()};g.prototype.play=function(){this.Y&&this.Y.set("state",b.X)};g.prototype.pause=function(){this.Y&&this.Y.set("state",b.Cb)};g.prototype.stop=function(){this.Y&&this.Y.set("state",b.S)};g.prototype.setTime=function(f){this.Y&&this.Y.set("currentTime",
f)};g.prototype.getTime=function(){return this.Y&&this.Y.get("currentTime")||void 0};g.prototype.A6=function(){var f=this.Y.get("state");this.A!=f&&(this.A=f,this.ta&&this.ta.set("state",f),this.trigger(new l(g.Cc,{state:this.A})))};g.prototype.mU=function(){this.trigger(new l(g.Ui,{model:this.Y,time:this.Y.get("currentTime"),duration:this.Y.get("duration")}));this.nL()};g.prototype.d6=function(){this.ta&&this.ta.unbind(h.G("state"),this.nL,this,!0);(this.ta=this.Y.get("camera"))&&this.ta.bind(h.G("state"),
this.nL,this,!0);this.nL()};g.prototype.nL=function(){0===this.Y.get("duration")&&this.Y.set("state",this.ta?this.ta.get("state"):b.S)};g.Cc="playback state change";g.Ui="time change";return g});
define("dM","require kV kx cu fV ez cI gL".split(" "),function(a){var d=a("kV"),h=a("kx"),l=a("cu"),k=a("fV"),b=a("ez"),g=a("cI"),f=a("gL"),c=d.extend(k,function(e,m){k.call(this);this.N=e;this.j=m;this.j.set("visible",!1);this.ne=new g(this.N,this.j);this.Na=new b(this.N,this.j);this.Ha=new f(this.j);this.ne.bind(g.uza,this.TJa,this,!0);this.ne.bind(g.Ada,this.xu,this,!0);this.Na.bind(b.Fz,this.Qx,this,!0);this.Na.bind(b.Gz,this.il,this,!0);this.Na.bind(b.h_,this.oma,this,!0);this.Na.bind(b.cQ,this.rma,
this,!0);this.Na.bind(b.yda,this.uJa,this,!0);this.Ha.bind(f.Cc,this.Ke,this,!0);this.Ha.bind(f.Ui,this.yp,this,!0)});c.prototype.clear=function(){this.ne.clear();this.Na.clear();this.Ha.clear();this.ne.unbind(g.Ada,this.xu,this);this.Na.unbind(b.Fz,this.Qx,this);this.Na.unbind(b.Gz,this.il,this);this.Na.unbind(b.h_,this.oma,this);this.Na.unbind(b.cQ,this.rma,this);this.Ha.unbind(f.Cc,this.Ke,this);this.Ha.unbind(f.Ui,this.yp,this);this.N=this.j=this.Ha=this.Na=this.ne=null};c.prototype.eWa=function(e){this.j.set("visible",
!0);this.ne.load(e)};c.prototype.Kv=function(){this.Na.hide();this.Ha.end()};c.prototype.play=function(){this.Ha.play()};c.prototype.stop=function(){this.Ha.stop()};c.prototype.pause=function(){this.Ha.pause()};c.prototype.setTime=function(e){this.Ha.setTime(e)};c.prototype.getTime=function(){return this.Ha.getTime()};c.prototype.CO=function(){return this.Na.CO()};c.prototype.TJa=function(e){this.Na.display(e.data.model)};c.prototype.xu=function(){};c.prototype.oma=function(e){this.Ha.start(e.data.model)};
c.prototype.rma=function(){};c.prototype.il=function(e){e=e.data.model;e.get("autoplay")&&e.get("state")!=h.X&&e.set("state",h.X);this.trigger(new l(c.Gz,{model:e}))};c.prototype.Qx=function(e){this.trigger(new l(c.Fz,{model:e.data.model}))};c.prototype.uJa=function(){this.j.set("visible",!1)};c.prototype.yp=function(e){this.trigger(new l(c.i_,e.data))};c.prototype.Ke=function(e){this.trigger(new l(c.Cc,{state:e.data.state}))};c.Gz="modelShow";c.Fz="modelHide";c.XXa="modelEnd";c.i_="videoTimeChange";
c.Cc="playbackStateChange";return c});define("jL",["require","jquery.mod","u"],function(a){function d(){this.ja=h("<div/>");this.ja.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.ja.hide()}var h=a("jquery.mod"),l=a("u");d.prototype.yc=function(){return this.ja};d.prototype.trigger=function(){l.browser()!=l.Rh&&this.ja.fadeIn(100).fadeOut(100)};return d});
define("lE",["require","exports"],function(){return function(){function a(d,h){this.U=d;this.tag=h||"Entity";this.id=this.tag+"_"+a.iUa++;this.Rm={};this.kP={};this.Sca=0}a.prototype.getComponent=function(d){return this.Rm[d.id]};a.prototype.L=function(d,h){void 0===h&&(h=!1);var l=this.Rm[d.id];l?this.U.sRa(this,d):h&&(l=this.I(d));return l};a.prototype.I=function(d){if(d.id in this.Rm)return this.Rm[d.id];d.hY&&this.Sca++;var h=this.Rm[d.id]=new d;this.U.WQa(this,d);return h};a.prototype.na=function(d){var h;
void 0===h&&(h=!1);d.id in this.Rm&&(d.hY&&this.Sca--,h?this.Rm[d.id].clear():this.kP[d.id]=this.Rm[d.id],delete this.Rm[d.id],this.U.Pwa(this,d,h))};a.prototype.vRa=function(){for(var d in this.kP)this.kP[d].clear(),delete this.kP[d]};a.prototype.PUa=function(){for(var d in this.Rm){var h=this.Rm[d].constructor;h.hY||(this.kP[d]=this.Rm[d],delete this.Rm[d],this.U.Pwa(this,h,!1))}};a.iUa=0;return a}()});define("bX",["require"],function(){function a(){this.id=a.Y5++;this.D=[]}a.Y5=0;return a});
define("kr",["require"],function(){function a(d,h){this.id=a.Y5++;this.name=h;this.D=d.D;this.fg=d.D.slice();this.Za=[];this.Wm=[]}a.prototype.tRa=function(){!this.fg.length||(this.fg=[]);!this.Za.length||(this.Za=[]);!this.Wm.length||(this.Wm=[])};a.Y5=0;return a});
define("bo",["require","bX","kr"],function(a){function d(){this.qTa={};this.J={};this.tD={};this.EH={};this.rv={};this.sD={};this.iO={};this.rD={}}function h(f){return"string"==typeof f?f:f.id}function l(f,c){0>f.indexOf(c)&&f.push(c);return f}function k(f,c){c=f.indexOf(c);0<=c&&f.splice(c,1);return f}var b=a("bX"),g=a("kr");d.prototype.xa=function(f){this.iO[f.id]={};this.iO[f.not]={}};d.prototype.HRa=function(f,c){f=this.rHa(f);c=new g(f,c);this.tD[f.id].push(c);return c};d.prototype.rHa=function(f){var c=
this.sHa(f);if(c=this.qTa[c])return c;c=new b;this.J[c.id]=c;f=f.map(h);this.rD[c.id]={};for(var e=0;e<f.length;e++){var m=f[e];this.rD[c.id][m]=!0;this.iO[m][c.id]=!0}this.sD[c.id]={};this.tD[c.id]=[];return c};d.prototype.sHa=function(f){f=f.map(h);f.sort();return f.join("-")};d.prototype.oUa=function(f){this.EH[f.id]={};this.rv[f.id]={}};d.prototype.pUa=function(f){delete this.EH[f.id];delete this.rv[f.id]};d.prototype.lUa=function(f,c){var e=c.id,m=c.not;c=f.id;this.EH[c][e]=!0;for(var q in this.rv[c])if(m in
this.rD[q]){delete this.sD[q][c];delete this.rv[c][q];k(this.J[q].D,f);for(var p=this.tD[q],n=0,r=p.length;n<r;n++){var t=p[n];l(t.Wm,f);k(t.fg,f);k(t.Za,f)}}for(q in this.iO[e])if(!(c in this.sD[q])){e=!0;for(var u in this.rD[q])if(m="!"!=u[0],(m?u:u.slice(1))in this.EH[c]!=m){e=!1;break}if(e)for(this.sD[q][c]=!0,this.rv[c][q]=!0,l(this.J[q].D,f),p=this.tD[q],n=0,r=p.length;n<r;n++)t=p[n],l(t.fg,f),k(t.Wm,f),k(t.Za,f)}};d.prototype.nUa=function(f,c){var e=c.id,m="!"+e;c=f.id;delete this.EH[c][e];
for(var q in this.rv[c])if(e in this.rD[q]){delete this.sD[q][c];delete this.rv[c][q];k(this.J[q].D,f);for(var p=this.tD[q],n=0,r=p.length;n<r;n++){var t=p[n];l(t.Wm,f);k(t.fg,f);k(t.Za,f)}}for(q in this.iO[m])if(!(c in this.sD[q])){e=!0;for(var u in this.rD[q])if(m="!"!=u[0],(m?u:u.slice(1))in this.EH[c]!=m){e=!1;break}if(e)for(this.sD[q][c]=!0,this.rv[c][q]=!0,this.J[q].D.push(f),p=this.tD[q],n=0,r=p.length;n<r;n++)t=p[n],l(t.fg,f),k(t.Wm,f),k(t.Za,f)}};d.prototype.mUa=function(f,c){c=c.id;var e=
f.id,m;for(m in this.rv[e])if(c in this.rD[m]){e=this.tD[m];for(var q=0,p=e.length;q<p;q++)l(e[q].Za,f)}};return d});
define("kN",["require","bf","lE","bo"],function(a){function d(b){this.jc=b;this.T=!0;this.Xg={};this.JJ=[];this.KDa={};this.hN=[];this.dC=new k;this.WR=[];this.jy=!1;this.Aia=void 0}var h=a("bf"),l=a("lE"),k=a("bo");d.prototype.jca=function(b){this.Aia=b};d.prototype.xa=function(b){this.KDa[b.id]=b;this.dC.xa(b);return this};d.prototype.Vd=function(b,g){var f=new b(this,g);f.order=this.hN.length;this.hN.push(f);for(var c in b.J)f[c]=this.dC.HRa(b.J[c],g+"."+c);this.hN.sort(function(e,m){return e.priority-
m.priority||e.order-m.order});return this};d.prototype.ud=function(b){b=new l(this,b);this.Xg[b.id]=b;this.dC.oUa(b);this.gb();return b};d.prototype.Cf=function(b){b.id in this.Xg&&(delete this.Xg[b.id],this.JJ.push(b),b.PUa(),this.gb())};d.prototype.WQa=function(b,g){this.dC.lUa(b,g);this.gb()};d.prototype.Pwa=function(b,g,f){this.dC.nUa(b,g);f||this.WR.push(b);this.gb()};d.prototype.sRa=function(b,g){this.dC.mUa(b,g);this.gb()};d.prototype.kc=function(b){this.T=b;this.gb()};d.prototype.gb=function(){this.T&&
!this.jy&&(this.jy=!0,h.requestFrame(this.update,this,this.Aia))};d.prototype.update=function(b){this.jy=!1;for(var g=(new Date).getTime(),f=0;f<this.hN.length;f++){var c=this.hN[f];c.Ed(b,g);for(var e in c.constructor.J)c[e].tRa()}for(f=0;f<this.WR.length;f++)this.WR[f].vRa();this.WR.length=0;for(f=this.JJ.length-1;0<=f;f--)0==this.JJ[f].Sca&&(this.dC.pUa(this.JJ[f]),this.JJ.splice(f,1))};return d});
define("ee",["require","exports"],function(){return function(){function a(){}a.prototype.clear=function(){};a.Wb=function(d){this.id=d+"Component";this.not="!"+this.id};a.Qc=function(d){this.Wb(d+"SystemState");this.hY=!0};a.hY=!1;return a}()});
define("fp",["require","exports","ee"],function(a,d,h){var l;(function(k){var b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.bias=0;e.eta=500;e.intensity=1;e.scale=100;e.eva=25;e.Hva=0;e.caa=4;e.output=null;return e}aa(c,f);return c}(h);k.MD=b;b.Wb("AmbientOcclusionEffect");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qc=null;return e}aa(c,f);return c}(h);k.Animation=b;b.Wb("Animation");b=function(f){function c(){var e=null!==f&&f.apply(this,
arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Ks=b;b.Qc("Animation");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.xta=!1;e.dya=!1;e.IP=2;return e}aa(c,f);return c}(h);k.vz=b;b.Wb("AntialiasEffect");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.D=[];e.renderOrder=null;e.La=null;return e}aa(c,f);return c}(h);k.Sl=b;b.Wb("Area");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.D=[];return e}aa(c,f);
return c}(h);k.Zv=b;b.Qc("Area");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.hX=[];return e}aa(c,f);return c}(h);k.wz=b;b.Qc("AreaPoint");b=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.zz=b;b.Wb("Beacon");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.position=null;return e}aa(c,f);return c}(h);k.cw=b;b.Qc("Beacon");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.La=
null;return e}aa(c,f);return c}(h);k.Fq=b;b.Wb("BeaconTracker");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.position=null;return e}aa(c,f);return c}(h);k.Ms=b;b.Qc("BeaconTracker");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.eg=null;e.Zwa=null;e.cz=!0;e.qc=null;e.enabled=!0;e.AH=!0;return e}aa(c,f);return c}(h);var g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.source=null;e.HP=null;e.opacity=1;e.isSprite=!1;
e.hidden=!1;e.depthTest=!0;return e}aa(c,f);return c}(h);k.Sh=g;g.Wb("CanvasMaterial");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.dw=g;g.Qc("CanvasMaterial");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.color="#000000";e.opacity=.5;return e}aa(c,f);return c}(h);k.YP=g;g.Wb("ColorEffect");g=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.ZP=g;g.Wb("Data");
g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.La=null;e.direction=null;e.min=null;return e}aa(c,f);return c}(h);k.yo=g;g.Wb("Draggable");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.raa=null;return e}aa(c,f);return c}(h);k.ew=g;g.Qc("Draggable");g=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.fw=g;g.Wb("Dragging");g=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,
f);return c}(b);k.Rz=g;g.Wb("FirstPersonControls");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Ss=g;g.Qc("FirstPersonControls");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.distance=0;e.NO=!1;e.x=0;e.y=0;e.z=0;return e}aa(c,f);return c}(h);k.Ts=g;g.Wb("FloorTransform");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Hq=g;
g.Qc("FloorTransform");g=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(b);k.Sz=g;g.Wb("FlyOverControls");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Us=g;g.Qc("FlyOverControls");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.geometry=null;return e}aa(c,f);return c}(h);k.Geometry=g;g.Wb("Geometry");g=function(f){function c(){var e=null!==f&&f.apply(this,
arguments)||this;e.group=null;return e}aa(c,f);return c}(h);k.Group=g;g.Wb("Group");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.group=null;return e}aa(c,f);return c}(h);k.XD=g;g.Qc("Group");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qc=null;e.Kua=null;e.La=null;e.$H=null;e.priority=void 0;e.isSprite=!1;return e}aa(c,f);return c}(h);k.Ws=g;g.Wb("ImageMaterial");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=
null;return e}aa(c,f);return c}(h);k.kw=g;g.Qc("ImageMaterial");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Vwa=7;e.intensity=1;return e}aa(c,f);return c}(h);k.HI=g;g.Wb("MotionBlurEffect");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qc=null;e.target=null;e.Ud=null;return e}aa(c,f);return c}(h);k.Light=g;g.Wb("Light");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.cZa=null;return e}aa(c,f);return c}(h);k.Xs=
g;g.Qc("Light");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.line=null;e.renderOrder=0;return e}aa(c,f);return c}(h);k.Line=g;g.Wb("Line");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.line=null;return e}aa(c,f);return c}(h);k.mw=g;g.Qc("Line");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.color="#ffffff";e.opacity=1;e.width=1;e.depthTest=!0;return e}aa(c,f);return c}(h);k.Vi=g;g.Wb("LineMaterial");g=function(f){function c(){var e=
null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.lw=g;g.Qc("LineMaterial");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Mb=null;return e}aa(c,f);return c}(h);k.nw=g;g.Wb("LineToTransform");g=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.ow=g;g.Qc("LineToTransform");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.material=null;return e}aa(c,f);return c}(h);
k.Material=g;g.Wb("Material");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.X$=0;e.envMapIntensity=1;e.opacity=1;e.La=null;return e}aa(c,f);return c}(h);k.Kq=g;g.Wb("MaterialTransform");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.pw=g;g.Qc("MaterialTransform");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.name=null;return e}aa(c,f);return c}(h);k.Zs=g;g.Wb("MaterialVariant");
g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Ko=g;g.Qc("MaterialVariant");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qo=null;e.renderOrder=0;return e}aa(c,f);return c}(h);k.Mesh=g;g.Wb("Mesh");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qo=null;return e}aa(c,f);return c}(h);k.Lq=g;g.Qc("Mesh");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||
this;e.qc=null;e.Jva=null;e.Gwa=null;e.$H=null;e.La=null;e.Waa=null;return e}aa(c,f);return c}(h);k.yg=g;g.Wb("Model");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.$s=g;g.Qc("Model");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Aya=!0;e.Bya=!0;return e}aa(c,f);return c}(h);k.bt=g;g.Wb("NotSelectable");g=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);
k.Wz=g;g.Qc("NotSelectable");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Zc=null;return e}aa(c,f);return c}(h);k.Object3D=g;g.Wb("Object3D");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.id=null;e.container=null;return e}aa(c,f);return c}(h);k.dE=g;g.Wb("Object3DId");g=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.ct=g;g.Qc("Object3DId");b=function(f){function c(){return null!==
f&&f.apply(this,arguments)||this}aa(c,f);return c}(b);k.Xz=b;b.Wb("OrbitControls");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.dt=b;b.Qc("OrbitControls");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.width=100;e.height=100;return e}aa(c,f);return c}(h);k.OrthographicCamera=b;b.Wb("OrthographicCamera");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.camera=null;e.width=
void 0;e.height=void 0;return e}aa(c,f);return c}(h);k.qw=b;b.Qc("OrthographicCamera");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Mb=null;e.attach=!1;e.id=null;return e}aa(c,f);return c}(h);k.Db=b;b.Wb("Parent");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.parent=null;e.td=null;e.id=void 0;e.attach=!1;return e}aa(c,f);return c}(h);k.Mq=b;b.Qc("Parent");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.width=100;
e.height=100;e.fov=75;e.near=.01;e.far=100;e.usa=!1;e.vsa=0;return e}aa(c,f);return c}(h);k.PerspectiveCamera=b;b.Wb("PerspectiveCamera");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.camera=null;e.scene=null;e.boundingBox=null;e.daa=null;e.Fba=!1;e.width=void 0;e.height=void 0;e.fov=void 0;e.near=void 0;e.far=void 0;return e}aa(c,f);return c}(h);k.Nq=b;b.Qc("PerspectiveCamera");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Qf=1;e.hg=1;e.Qh=
1;e.scale=1;e.mD=void 0;e.oD=void 0;return e}aa(c,f);return c}(h);k.Mk=b;b.Wb("PixelScaleTransform");b=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.Yz=b;b.Qc("PixelScaleTransform");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.renderOrder=null;return e}aa(c,f);return c}(h);k.Plane=b;b.Wb("Plane");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.ft=b;
b.Qc("Plane");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.enabled=!0;return e}aa(c,f);return c}(h);k.zg=b;b.Wb("Pointer");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.Mb=null;e.rotate=!0;e.La=null;return e}aa(c,f);return c}(h);k.Kj=b;b.Wb("PointerOverTransform");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Oq=b;b.Qc("PointerOverTransform");b=function(f){function c(){var e=
null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.gt=b;b.Qc("PointerDragging");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.ht=b;b.Qc("PointerSelection");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.DH=null;e.canvas=null;e.antialias=!0;e.shadowMap=!1;e.renderer=null;e.oP=[];return e}aa(c,f);return c}(h);k.kh=b;b.Wb("Renderer");b=function(f){function c(){var e=
null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Qq=b;b.Qc("Renderer");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.opacity=1;e.locked=!1;e.enabled=!0;e.scene=null;e.je=null;e.backgroundColor=null;e.Y$=null;e.wsa=null;e.ita=null;e.uaa=null;e.outputEncoding=null;e.La=null;return e}aa(c,f);return c}(h);k.Scene=b;b.Wb("Scene");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.scene=null;e.manager=null;return e}
aa(c,f);return c}(h);k.Sq=b;b.Qc("Scene");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.La=null;e.tI=!1;e.pv=!0;e.Jv=!1;e.cn=!1;return e}aa(c,f);return c}(h);k.Hd=b;b.Wb("Selectable");b=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.Zz=b;b.Qc("Selectable");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.color="#ffffff";e.opacity=1;e.depthTest=!0;e.doubleSided=!1;return e}aa(c,f);return c}(h);k.Kc=
b;b.Wb("SolidMaterial");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.jt=b;b.Qc("SolidMaterial");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.radius=1;e.widthSegments=32;e.heightSegments=16;e.renderOrder=0;return e}aa(c,f);return c}(h);k.Sphere=b;b.Wb("Sphere");b=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.$z=b;b.Qc("Sphere");b=function(f){function c(){var e=
null!==f&&f.apply(this,arguments)||this;e.oH=.5;e.pH=.5;e.height=100;e.width=100;e.scale=1;e.dXa=null;e.renderOrder=0;return e}aa(c,f);return c}(h);k.Sprite=b;b.Wb("Sprite");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.Tq=b;b.Qc("Sprite");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.positionX=0;e.positionY=0;e.positionZ=0;e.df=0;e.Ge=0;e.ef=0;e.vg="XYZ";e.scale=1;e.Qf=1;e.hg=1;e.Qh=1;e.translationX=
0;e.translationY=0;e.Sf=0;e.easing=0;e.La=null;return e}aa(c,f);return c}(h);k.Ba=b;b.Wb("Transform");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.positionX=0;e.positionY=0;e.positionZ=0;e.df=0;e.Ge=0;e.ef=0;e.vg="XYZ";e.scale=1;e.Qf=1;e.hg=1;e.Qh=1;e.translationX=0;e.translationY=0;e.Sf=0;return e}aa(c,f);return c}(h);k.Hf=b;b.Qc("Transform");b=function(f){function c(){return null!==f&&f.apply(this,arguments)||this}aa(c,f);return c}(h);k.bA=b;b.Qc("TransformEasing");
b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qc=null;e.Qya=null;e.La=null;return e}aa(c,f);return c}(h);k.tw=b;b.Wb("VideoMaterial");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.manager=null;return e}aa(c,f);return c}(h);k.uw=b;b.Qc("VideoMaterial");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.je=null;e.width=null;e.height=null;return e}aa(c,f);return c}(h);k.Nj=b;b.Wb("Viewport");b=function(f){function c(){var e=
null!==f&&f.apply(this,arguments)||this;e.je=null;e.qc=null;return e}aa(c,f);return c}(h);k.vw=b;b.Wb("ViewportPlaneGeometry");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.geometry=null;e.Sxa=void 0;e.Pxa=void 0;e.Dua=void 0;e.verticalAlign=void 0;e.Wwa=void 0;e.zIndex=void 0;return e}aa(c,f);return c}(h);k.lt=b;b.Qc("ViewportPlaneGeometry");b=function(f){function c(){var e=null!==f&&f.apply(this,arguments)||this;e.qwa=1;e.Mua=.5;e.color="#000000";e.opacity=.5;return e}
aa(c,f);return c}(h);k.iE=b;b.Wb("VignetteEffect")})(l||={});return l});define("lf",["require"],function(){function a(d,h){this.U=d;this.name=h;this.priority=0}a.prototype.Ed=function(){};return a});
define("ca",["require","og","kx"],function(a){function d(k,b,g,f,c){this.m=k;this.bd=b;this.Tf=g;this.Pj=f;this.Da=c;this.NV()}var h=a("og"),l=a("kx");d.prototype.getAnimations=function(){return this.Tf};d.prototype.wO=function(){return this.Pj};d.prototype.frame=function(k){this.A==l.X&&(this.Rr(this.nh.time+k/1E3),this.Da())};d.prototype.dispose=function(){this.oW();this.yw=this.lA=this.nh=this.Da=this.Pj=this.Tf=this.bd=this.m=null};d.prototype.NV=function(){this.nh=new THREE.AnimationMixer(this.bd);
this.ob=0;this.Gb=!1;this.lA=[];this.yw=[];for(var k=0;k<this.Tf.length;k++){var b=this.Tf[k],g="alternate"==b.get("animationDirection"),f=this.ob;this.ob+=this.Pj[k].duration*(g?2:1);this.yw.push({start:f,end:this.ob});f=this.nh.clipAction(this.Pj[k]);g?f.setLoop(THREE.LoopPingPong,2):f.setLoop(THREE.LoopOnce,1);this.lA.push(f);b.set("state",l.S);b.set("currentTime",0);b.set("duration",this.Pj[k].duration)}this.A=l.S;this.Nk=void 0;this.m.bind(h.G("state"),this.nf,this,!0);this.m.bind(h.G("currentTime"),
this.HB,this,!0);this.m.bind(h.G("animationDirection"),this.Ila,this,!0);this.m.set("duration",this.ob);this.Rr(0);this.m.get("autoplay")&&this.m.set("state",l.X)};d.prototype.oW=function(){this.m.unbind(h.G("state"),this.nf,this,!0);this.m.unbind(h.G("currentTime"),this.HB,this,!0);this.m.unbind(h.G("animationDirection"),this.Ila,this,!0);this.m.set("state",l.S);for(var k=0;k<this.Tf.length;k++)this.lA[k].stop(),this.nh.uncacheClip(this.Pj[k]),this.Tf[k].set("state",l.S),this.Tf[k].set("currentTime",
0);this.m.set("duration",void 0);this.m.set("currentTime",void 0)};d.prototype.Ila=function(){this.oW();this.NV()};d.prototype.nf=function(){var k=this.m.get("state");this.A!=k&&(this.A==l.S?k==l.Cb?this.m.set("state",l.S):k==l.X&&(this.A=l.X,this.Gb=!1,this.Rr(0),this.Da()):this.A==l.X?k==l.S?(this.A=l.S,this.Gb&&"last"==this.m.get("finalFrame")?this.Rr(this.ob):this.Rr(0)):k==l.Cb&&(this.A=l.Cb):this.A==l.Cb&&(k==l.X?(this.A=l.X,this.Da()):k==l.S&&(this.A=l.S,this.Rr(0))),void 0!==this.Nk&&this.Tf[this.Nk].set("state",
this.A),this.m.set("state",this.A))};d.prototype.HB=function(){var k=this.m.get("currentTime");this.nh.time!=k&&(this.A!=l.S&&this.Rr(k),this.m.set("currentTime",this.nh.time))};d.prototype.Rr=function(k){if(this.nh.time!=k||void 0===this.Nk)if(k>this.ob)this.m.get("loop")?this.m.set("currentTime",k%this.ob):(this.Gb=!0,this.m.trigger(h.rb),this.m.set("state",l.S));else{for(var b=this.Nk||0;k>this.yw[b].end;)b++;for(;k<this.yw[b].start;)b--;if(this.Nk!==b){for(var g=this.Nk||0;g<b;g++){var f=this.Tf[g],
c=this.lA[g],e=this.yw[g];"last"==f.get("finalFrame")&&"normal"==f.get("animationDirection")?(c.reset(),c.startAt(e.start),f.set("currentTime",f.get("duration")),c.clampWhenFinished=!0,c.play()):(f.set("currentTime",0),c.stop(),c.clampWhenFinished=!1);f.set("state",l.S)}f=this.Tf[b];c=this.lA[b];e=this.yw[b];c.reset();c.startAt(e.start);c.clampWhenFinished="last"==f.get("finalFrame")&&"normal"==f.get("animationDirection");c.play();for(g=this.Nk||0;g>b;g--)f=this.Tf[g],c=this.lA[g],f.set("currentTime",
0),c.stop();this.Nk=b}else c=this.lA[this.Nk],k<this.nh.time&&(c.reset(),c.startAt(this.yw[this.Nk].start)),c.paused=!1;this.nh.update(k-this.nh.time);f=this.Tf[this.Nk];f.set("state",this.A);k=this.nh.time-this.yw[this.Nk].start;f=f.get("duration");b=k>f;this.Tf[this.Nk].set("currentTime",b?2*f-k:k);this.Tf[this.Nk].set("currentDirection",b?"backward":"forward");this.m.set("currentTime",this.nh.time);this.Da()}};return d});
define("nY",["require","og","kx"],function(a){function d(k,b,g,f,c){this.m=k;this.bd=b;this.Tf=g;this.Pj=f;this.Da=c;this.n6=this.n6.bind(this);this.j6=this.j6.bind(this);this.NV()}var h=a("og"),l=a("kx");d.prototype.dispose=function(){this.oW();this.Da=this.Pj=this.Tf=this.bd=this.m=null};d.prototype.getAnimations=function(){return this.Tf};d.prototype.wO=function(){return this.Pj};d.prototype.frame=function(k){0<this.rt.length&&(this.nh.update(k/1E3),this.rt.forEach(function(b){this.bga(b)}.bind(this)),
this.Da())};d.prototype.NV=function(){this.nh=new THREE.AnimationMixer(this.bd);this.nh.addEventListener("loop",this.n6);this.nh.addEventListener("finished",this.j6);this.Yq=new Map;this.GQ=new Map;this.rt=[];for(var k=0;k<this.Tf.length;k++){var b=this.Tf[k],g=this.Pj[k];this.GQ.set(b,g);var f=this.nh.clipAction(g);this.Yq.set(b,f);b.set("duration",g.duration);b.set("currentTime",b.get("currentTime")||0);b.set("currentDirection","forward");b.bind(h.G("state"),this.wla,this,!0);b.bind(h.G("animationDirection"),
this.tla,this,!0);b.bind(h.G("currentTime"),this.sla,this,!0);b.bind(h.G("currentDirection"),this.rla,this,!0);b.bind(h.G("loop"),this.vla,this,!0);b.bind(h.G("finalFrame"),this.ula,this,!0);this.TG(b)}this.Da()};d.prototype.oW=function(){for(var k=0;k<this.Tf.length;k++){var b=this.Tf[k];b.unbind(h.G("state"),this.wla,this,!0);b.unbind(h.G("animationDirection"),this.tla,this,!0);b.unbind(h.G("currentTime"),this.sla,this,!0);b.unbind(h.G("currentDirection"),this.rla,this,!0);b.unbind(h.G("loop"),
this.vla,this,!0);b.unbind(h.G("finalFrame"),this.ula,this,!0);this.Yq.get(b).stop();this.Yq["delete"](b);this.nh.uncacheClip(this.GQ.get(b));this.GQ["delete"](b);this.Tf[k].set("state",l.S);this.Tf[k].set("currentTime",0)}this.nh=this.GQ=this.Yq=null};d.prototype.n6=function(k){this.Yq.forEach(function(b,g){k.action==b&&g.get("loop")&&g.trigger(h.Pq)})};d.prototype.j6=function(k){this.Yq.forEach(function(b,g){k.action==b&&(this.bga(g),g.set("state",l.S),"alternate"==g.get("animationDirection")&&
g.set("currentDirection","forward"==g.get("currentDirection")?"backward":"forward"),g.trigger(h.rb))}.bind(this))};d.prototype.tla=function(k){this.TG(k.source)};d.prototype.vla=function(k){this.TG(k.source)};d.prototype.ula=function(k){this.TG(k.source)};d.prototype.rla=function(k){var b=k.source,g=this.Yq.get(b),f=g.time,c=b.get("duration");b.get("loop")||0==f||f==c||g.reset();this.TG(k.source)};d.prototype.sla=function(k){this.TG(k.source)};d.prototype.bga=function(k){this.$fa=!0;var b=this.Yq.get(k),
g="alternate"==k.get("animationDirection");g=0<b._loopCount&&1==b._loopCount%2&&g;k.set("currentDirection",g?"backward":"forward");b=b.time;var f=k.get("duration");g?k.set("currentTime",f-b):k.set("currentTime",b);this.$fa=!1};d.prototype.TG=function(k){if(!this.$fa){var b=this.Yq.get(k),g="alternate"==k.get("animationDirection"),f="backward"==k.get("currentDirection")&&g,c=k.get("loop"),e="last"==k.get("finalFrame"),m=k.get("currentTime");k=k.get("duration");c?(b.loop=g?THREE.LoopPingPong:THREE.LoopRepeat,
b.repetitions=Infinity,b.clampWhenFinished=!1):f?(b.loop=THREE.LoopPingPong,b.repetitions=2,b.clampWhenFinished=!1):(b.loop=THREE.LoopOnce,b.repetitions=1,b.clampWhenFinished=e||g);g=g&&-1==b._loopCount?f?k+k-m:m:g&&1==b._loopCount%2?k-m:m;b.time!=g&&(b.time=g,b.paused&&b.enabled&&0==g&&b.stop());this.Da()}};d.prototype.wla=function(k){this.qPa(k.source)};d.prototype.qPa=function(k){var b=this.Yq.get(k),g=k.get("state");var f=0<=this.rt.indexOf(k)?l.X:b.paused&&b.enabled&&b.time<k.get("duration")?
l.Cb:l.S;f!=g&&(f==l.X?g==l.Cb?(this.rt.splice(this.rt.indexOf(k),1),b.paused=!0):g==l.S&&(this.rt.splice(this.rt.indexOf(k),1),!b.paused&&b.enabled&&b.stop()):f==l.Cb?g==l.X?(this.rt.push(k),b.paused=!1):g==l.S&&b.stop():f==l.S&&(g==l.X?(this.rt.push(k),b.paused&&b.enabled&&"alternate"==k.get("animationDirection")&&"backward"==k.get("currentDirection")?b.paused=!1:(b.reset(),b.play(),b.fadeIn(.1))):g==l.Cb&&(g=l.S)),k.set("state",g),this.Da())};return d});
define("three.mod",["require","exports"],function(){return window.THREE});
define("ci",["require","exports","fp","three.mod"],function(a,d,h,l){return function(){function k(){}k.dc=function(b){return b?b.constructor==l.Object3D?b:(b=b.getComponent(h.Object3D))?b.Zc:null:null};k.getWorldPosition=function(b,g){g=g||new l.Vector3;b=this.dc(b);if(!b)return null;g.setFromMatrixPosition(b.matrixWorld);return g};k.YY=function(b,g){(b=b.getComponent(h.Object3D))&&null!==b.Zc&&(b=b.Zc,b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!1,b.matrix.identity(),b.matrix.multiply(this.qY.makeTranslation(g.translationX,
g.translationY,g.Sf)),b.matrix.multiply(this.qY.makeRotationFromEuler(this.TRa.set(g.df*this.fE,g.Ge*this.fE,g.ef*this.fE,g.vg))),b.matrix.multiply(this.qY.makeTranslation(g.positionX,g.positionY,g.positionZ)),b.matrix.multiply(this.qY.makeScale(g.scale*g.Qf,g.scale*g.hg,g.scale*g.Qh)),b.updateMatrixWorld(!0))};k.wO=function(b){if(!b)return null;b=b.getComponent(h.yg);return(null===b||void 0===b?void 0:b.Waa).animations};k.Aaa=function(b){return b.getComponent(h.OrthographicCamera)||b.getComponent(h.PerspectiveCamera)};
k.Um=function(b){return this.NH(this.dc(b))};k.NH=function(b){for(;b&&!b.isScene;)b=b.parent;return b};k.wWa=function(b,g){b.userData.camera=g};k.zWa=function(b,g,f){b.userData.width=g;b.userData.height=f};k.xWa=function(b,g){b.userData.encoding!==g&&(b.userData.encoding=g,this.hda(b))};k.yWa=function(b,g){b.userData.yta!==g&&(b.userData.yta=g,this.hda(b))};k.Zy=function(b){return b.userData.camera};k.Taa=function(b){return b.userData.width};k.DO=function(b){return b.userData.height};k.SX=function(b){return b.userData.encoding};
k.dZ=function(b,g){b.userData.background!==g&&(b.userData.background=g,this.hda(b))};k.hda=function(b){if(b&&b.userData){var g=b.userData.background,f=b.userData.encoding,c=b.userData.yta;g&&g.isColor?b.background=f==l.sRGBEncoding&&c?g.clone().convertSRGBToLinear():g:(g&&g.isTexture&&(g.encoding=f==l.sRGBEncoding?l.sRGBEncoding:l.LinearEncoding),b.background=g)}};k.UQa=function(b,g){var f=b.userData.Pca||(b.userData.Pca=[]);0<=f.indexOf(g)||(f.push(g),b.add(g),this.dda(b))};k.Lwa=function(b,g){var f=
b.userData.Pca;if(f){var c=f.indexOf(g);0>c||(f.splice(c,1),b.remove(g))}};k.dda=function(b){var g=b.userData.Pca;if(g){var f=.99*-b.far;g.forEach(function(c){c.position.z=f})}};k.VQa=function(b,g){var f=b.userData.Oca||(b.userData.Oca=[]);0<=f.indexOf(g)||(f.push(g),b.add(g),this.Fya(b))};k.RUa=function(b,g){var f=b.userData.Oca;if(f){var c=f.indexOf(g);0>c||(f.splice(c,1),b.remove(g))}};k.Fya=function(b){var g=b.userData.Oca;if(g){var f=.99*b.far;g.forEach(function(c){c.scale.x=c.scale.y=c.scale.z=
f})}};k.OH=function(b){if((b=this.dc(b))&&b.parent){var g=this.NH(b);if(g){var f=this.Zy(g);if(f)return b.matrixWorld.decompose(this.objectPosition,this.jUa,this.XO),this.objectPosition.applyMatrix4(f.matrixWorldInverse),this.XO.setFromMatrixScale(b.parent.matrixWorld),2*Math.abs(this.objectPosition.z)*Math.tan(f.fov*this.fE/2)/(this.DO(g)*Math.max(this.XO.x,this.XO.y,this.XO.z))}}};k.XC=function(b,g){if(b.userData.id===g)return b;var f=null;if(b.children)for(var c=0;c<b.children.length&&!f;c++)f=
this.XC(b.children[c],g);if(!f&&b.skeleton)for(c=0;c<b.skeleton.bones.length&&!f;c++)f=this.XC(b.skeleton.bones[c],g);return f};k.Fta=function(){this.saa||(this.saa=new l.WebGLRenderer);return this.saa};k.qY=new l.Matrix4;k.TRa=new l.Euler;k.objectPosition=new l.Vector3;k.jUa=new l.Quaternion;k.XO=new l.Vector3;k.fE=Math.PI/180;k.saa=null;return k}()});
define("B","require kh kx fp bd ca nY ci".split(" "),function(a){function d(m){this.o=m;this.Pj=this.bd=null;this.HQ={};this.QR=new Map;this.wr=this.Ok=this.m=null;this.Of=!1;this.lL=this.lL.bind(this);this.update()}function h(m,q){if(m==q||!(null!=m&&0!=m.length||null!=q&&0!=q.length))return!0;if(null==m||null==q||m.length!=q.length)return!1;for(var p=0;p<m.length;p++)if(m[p]!=q[p])return!1;return!0}var l=a("kh"),k=a("kx"),b=a("fp"),g=a("bd"),f=a("ca"),c=a("nY"),e=a("ci");d.prototype.update=function(){var m=
this.o.getComponent(b.Animation);this.vl(m&&m.qc)};d.prototype.frame=function(m,q){this.aH();this.Of&&(this.Of=!1,this.Ok&&this.Ok.frame(m,q),this.wr&&this.wr.frame(m,q))};d.prototype.dispose=function(){this.vl(null)};d.prototype.vl=function(m){this.m!=m&&(this.m&&(l.ka(this.m,["animations.autoplay"],this.lL),this.QLa()),(this.m=m)&&l.NC(this.m,["animations.autoplay"],this.lL),this.lL())};d.prototype.lL=function(){this.$qa()};d.prototype.aH=function(){if(!this.bd){var m=e.dc(this.o),q=e.wO(this.o);
if(this.bd!=m||this.Pj!=q)this.bd=m,this.Pj=q,this.HQ={},this.Pj.forEach(function(p){p.name&&(this.HQ[p.name]=p)}.bind(this)),this.$qa()}};d.prototype.$qa=function(){var m=this.m&&this.m.get("animations")||[],q=this.Pj||[],p=q.slice(),n=[],r=[],t=[],u=[];m.length&&q.length&&m.forEach(function(v){var w=v.get("index"),x=v.get("name"),y;void 0!==w&&w<q.length?y=q[w]:void 0!==x&&x in this.HQ&&(y=this.HQ[x]);0<=p.indexOf(y)&&(p.splice(p.indexOf(y),1),v.get("autoplay")?(n.push(y),r.push(v)):(t.push(y),
u.push(v)))}.bind(this));this.m&&0==r.length&&0<p.length&&(r=p.map(function(v){if(this.QR.has(v))return this.QR.get(v);var w=new g;this.QR.set(v,w);return w}.bind(this)),n=p);h(this.Ok&&this.Ok.getAnimations()||[],r)&&h(this.Ok&&this.Ok.wO()||[],n)||(this.Ok&&(this.Ok.dispose(),this.Ok=null),0<r.length&&(this.Ok=new f(this.m,this.bd,r,n,this.Da.bind(this))));h(this.wr&&this.wr.getAnimations()||[],u)&&h(this.wr&&this.wr.wO()||[],t)||(this.wr&&(this.wr.dispose(),this.wr=null),0<u.length&&(this.wr=new c(this.m,
this.bd,u,t,this.Da.bind(this))))};d.prototype.QLa=function(){(this.m&&this.m.get("animations")||[]).forEach(function(m){m.set("state",k.S);m.set("currentTime",0)});this.QR.clear()};d.prototype.Da=function(){this.Of||(this.Of=!0,this.o.U.gb())};d.Nb=function(m){m.I(b.Ks).manager=new d(m)};d.ab=function(m){var q=m.getComponent(b.Ks);q.manager.dispose();q.manager=null;m.na(b.Ks)};d.update=function(m){m.getComponent(b.Ks).manager.update()};d.frame=function(m,q,p){m.getComponent(b.Ks).manager.frame(q,
p)};return d});
define("mF",["require","kV","lf","fp","B"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("B");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(b,g){this.osa.D.length&&this.osa.D.slice().forEach(k.Nb);this.animations.Za.length&&this.animations.Za.slice().forEach(function(f){k.update(f,b,g)});this.animations.D.length&&this.animations.D.slice().forEach(function(f){k.frame(f,b,g)});this.psa.D.length&&this.psa.D.slice().forEach(k.ab)};a.J={};a.J.osa=[l.Animation,l.Ks.not];
a.J.psa=[l.Animation.not,l.Ks];a.J.animations=[l.Animation,l.Ks];return a});
define("eP",["require"],function(){function a(v,w,x,y,A){for(var B,z=0,C=w,E=x-y;C<x;C+=y)z+=(v[E]-v[C])*(v[C+1]+v[E+1]),E=C;if(A===0<z)for(A=w;A<x;A+=y)B=r(A,v[A],v[A+1],B);else for(A=x-y;A>=w;A-=y)B=r(A,v[A],v[A+1],B);B&&c(B,B.next)&&(t(B),B=B.next);return B}function d(v,w){if(!v)return v;w||=v;do{var x=!1;if(v.eya||!c(v,v.next)&&0!==f(v.prev,v,v.next))v=v.next;else{t(v);v=w=v.prev;if(v===v.next)break;x=!0}}while(x||v!==w);return w}function h(v,w,x,y,A,B,z){if(v){if(!z&&B){var C=v,E=C;do 0===E.z&&
(E.z=b(E.x,E.y,y,A,B)),E.vq=E.prev,E=E.Ml=E.next;while(E!==C);E.vq.Ml=null;E.vq=null;C=E;var F,G,J,R,U=1;do{E=C;var Q=C=null;for(G=0;E;){G++;var N=E;for(F=J=0;F<U&&(J++,N=N.Ml,N);F++);for(R=U;0<J||0<R&&N;)0!==J&&(0===R||!N||E.z<=N.z)?(F=E,E=E.Ml,J--):(F=N,N=N.Ml,R--),Q?Q.Ml=F:C=F,F.vq=Q,Q=F;E=N}Q.Ml=null;U*=2}while(1<G)}for(C=v;v.prev!==v.next;){E=v.prev;N=v.next;if(B)Q=l(v,y,A,B);else a:{var W=v;Q=W.prev;R=W.next;if(0<=f(Q,W,R))Q=!1;else{G=Q.x;J=W.x;U=R.x;F=Q.y;W=W.y;var H=R.y,O=G<J?G<U?G:U:J<U?
J:U,L=F<W?F<H?F:H:W<H?W:H,S=G>J?G>U?G:U:J>U?J:U,V=F>W?F>H?F:H:W>H?W:H;for(R=R.next;R!==Q;){if(R.x>=O&&R.x<=S&&R.y>=L&&R.y<=V&&g(G,F,J,W,U,H,R.x,R.y)&&0<=f(R.prev,R,R.next)){Q=!1;break a}R=R.next}Q=!0}}if(Q)w.push(E.tg/x|0),w.push(v.tg/x|0),w.push(N.tg/x|0),t(v),C=v=N.next;else if(v=N,v===C){if(z)if(1===z){v=d(v);z=w;C=x;E=v;do N=E.prev,Q=E.next.next,!c(N,Q)&&e(N,E,E.next,Q)&&p(N,Q)&&p(Q,N)&&(z.push(N.tg/C|0),z.push(E.tg/C|0),z.push(Q.tg/C|0),t(E),t(E.next),E=v=Q),E=E.next;while(E!==v);v=d(E);h(v,
w,x,y,A,B,2)}else{if(2===z)a:{z=v;do{for(C=z.next.next;C!==z.prev;){if(E=z.tg!==C.tg){E=z;N=C;if(Q=E.next.tg!==N.tg&&E.prev.tg!==N.tg){b:{Q=E;do{if(Q.tg!==E.tg&&Q.next.tg!==E.tg&&Q.tg!==N.tg&&Q.next.tg!==N.tg&&e(Q,Q.next,E,N)){Q=!0;break b}Q=Q.next}while(Q!==E);Q=!1}Q=!Q}if(Q){if(Q=p(E,N)&&p(N,E)){Q=E;G=!1;J=(E.x+N.x)/2;U=(E.y+N.y)/2;do Q.y>U!==Q.next.y>U&&Q.next.y!==Q.y&&J<(Q.next.x-Q.x)*(U-Q.y)/(Q.next.y-Q.y)+Q.x&&(G=!G),Q=Q.next;while(Q!==E);Q=G}Q=Q&&(f(E.prev,E,N.prev)||f(E,N.prev,N))||c(E,N)&&
0<f(E.prev,E,E.next)&&0<f(N.prev,N,N.next)}E=Q}if(E){v=n(z,C);z=d(z,z.next);v=d(v,v.next);h(z,w,x,y,A,B,0);h(v,w,x,y,A,B,0);break a}C=C.next}z=z.next}while(z!==v)}}else h(d(v),w,x,y,A,B,1);break}}}}function l(v,w,x,y){var A=v.prev,B=v.next;if(0<=f(A,v,B))return!1;var z=A.x,C=v.x,E=B.x,F=A.y,G=v.y,J=B.y,R=z<C?z<E?z:E:C<E?C:E,U=F<G?F<J?F:J:G<J?G:J,Q=z>C?z>E?z:E:C>E?C:E,N=F>G?F>J?F:J:G>J?G:J,W=b(R,U,w,x,y);w=b(Q,N,w,x,y);x=v.vq;for(v=v.Ml;x&&x.z>=W&&v&&v.z<=w;){if(x.x>=R&&x.x<=Q&&x.y>=U&&x.y<=N&&x!==
A&&x!==B&&g(z,F,C,G,E,J,x.x,x.y)&&0<=f(x.prev,x,x.next))return!1;x=x.vq;if(v.x>=R&&v.x<=Q&&v.y>=U&&v.y<=N&&v!==A&&v!==B&&g(z,F,C,G,E,J,v.x,v.y)&&0<=f(v.prev,v,v.next))return!1;v=v.Ml}for(;x&&x.z>=W;){if(x.x>=R&&x.x<=Q&&x.y>=U&&x.y<=N&&x!==A&&x!==B&&g(z,F,C,G,E,J,x.x,x.y)&&0<=f(x.prev,x,x.next))return!1;x=x.vq}for(;v&&v.z<=w;){if(v.x>=R&&v.x<=Q&&v.y>=U&&v.y<=N&&v!==A&&v!==B&&g(z,F,C,G,E,J,v.x,v.y)&&0<=f(v.prev,v,v.next))return!1;v=v.Ml}return!0}function k(v,w){return v.x-w.x}function b(v,w,x,y,A){v=
(v-x)*A|0;w=(w-y)*A|0;v=(v|v<<8)&16711935;v=(v|v<<4)&252645135;v=(v|v<<2)&858993459;w=(w|w<<8)&16711935;w=(w|w<<4)&252645135;w=(w|w<<2)&858993459;return(v|v<<1)&1431655765|((w|w<<1)&1431655765)<<1}function g(v,w,x,y,A,B,z,C){return(A-z)*(w-C)>=(v-z)*(B-C)&&(v-z)*(y-C)>=(x-z)*(w-C)&&(x-z)*(B-C)>=(A-z)*(y-C)}function f(v,w,x){return(w.y-v.y)*(x.x-w.x)-(w.x-v.x)*(x.y-w.y)}function c(v,w){return v.x===w.x&&v.y===w.y}function e(v,w,x,y){var A=q(f(v,w,x)),B=q(f(v,w,y)),z=q(f(x,y,v)),C=q(f(x,y,w));return A!==
B&&z!==C||0===A&&m(v,x,w)||0===B&&m(v,y,w)||0===z&&m(x,v,y)||0===C&&m(x,w,y)?!0:!1}function m(v,w,x){return w.x<=Math.max(v.x,x.x)&&w.x>=Math.min(v.x,x.x)&&w.y<=Math.max(v.y,x.y)&&w.y>=Math.min(v.y,x.y)}function q(v){return 0<v?1:0>v?-1:0}function p(v,w){return 0>f(v.prev,v,v.next)?0<=f(v,w,v.next)&&0<=f(v,v.prev,w):0>f(v,w,v.prev)||0>f(v,v.next,w)}function n(v,w){var x=new u(v.tg,v.x,v.y),y=new u(w.tg,w.x,w.y),A=v.next,B=w.prev;v.next=w;w.prev=v;x.next=A;A.prev=x;y.next=x;x.prev=y;B.next=y;y.prev=
B;return y}function r(v,w,x,y){v=new u(v,w,x);y?(v.next=y.next,v.prev=y,y.next.prev=v,y.next=v):(v.prev=v,v.next=v);return v}function t(v){v.next.prev=v.prev;v.prev.next=v.next;v.vq&&(v.vq.Ml=v.Ml);v.Ml&&(v.Ml.vq=v.vq)}function u(v,w,x){this.tg=v;this.x=w;this.y=x;this.next=this.prev=null;this.z=0;this.Ml=this.vq=null;this.eya=!1}return function(v,w,x){x=x||2;var y=w&&w.length,A=y?w[0]*x:v.length,B=a(v,0,A,x,!0),z=[];if(!B||B.next===B.prev)return z;var C;if(y){var E=B;var F=x;B=[];var G;y=0;for(G=
w.length;y<G;y++){var J=w[y]*F;var R=y<G-1?w[y+1]*F:v.length;J=a(v,J,R,F,!1);J===J.next&&(J.eya=!0);R=B;var U=R.push,Q=J,N=J;do{if(Q.x<N.x||Q.x===N.x&&Q.y<N.y)N=Q;Q=Q.next}while(Q!==J);U.call(R,N)}B.sort(k);for(y=0;y<B.length;y++){F=void 0;w=B[y];b:{G=E;J=w.x;R=w.y;U=-Infinity;do{if(R<=G.y&&R>=G.next.y&&G.next.y!==G.y&&(Q=G.x+(R-G.y)*(G.next.x-G.x)/(G.next.y-G.y),Q<=J&&Q>U&&(U=Q,F=G.x<G.next.x?G:G.next,Q===J)))break b;G=G.next}while(G!==E);if(F){N=F;var W=F.x,H=F.y,O=Infinity;G=F;do{if(J>=G.x&&G.x>=
W&&J!==G.x&&g(R<H?J:U,R,W,H,R<H?U:J,R,G.x,G.y)){Q=Math.abs(R-G.y)/(J-G.x);var L;if((L=p(G,w))&&!(L=Q<O)&&(L=Q===O)&&!(L=G.x>F.x)&&(L=G.x===F.x)){L=F;var S=G;L=0>f(L.prev,L,S.prev)&&0>f(S.next,L,L.next)}L&&(F=G,O=Q)}G=G.next}while(G!==N)}else F=null}F&&(w=n(F,w),d(w,w.next),E=d(F,F.next))}B=E}if(v.length>80*x){var V=C=v[0];var Z=y=v[1];for(E=x;E<A;E+=x)w=v[E],F=v[E+1],w<V&&(V=w),F<Z&&(Z=F),w>C&&(C=w),F>y&&(y=F);C=Math.max(C-V,y-Z);C=0!==C?32767/C:0}h(B,z,x,V,Z,C,0);return z}});
define("n","require kV og eP lf fp ci".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("eP"),k=a("lf"),b=a("fp"),g=a("ci");a=d.extend(k,function(){k.apply(this,arguments);this.hf=this.hf.bind(this);this.Gf=this.Gf.bind(this);this.vd=this.vd.bind(this);this.qZ=this.qZ.bind(this)});a.prototype.Ed=function(){this.rsa.D.length&&this.rsa.D.slice().forEach(this.hf);this.qsa.Za.length&&this.CXa(this.qsa.Za.slice());this.areas.Za.length&&this.areas.Za.slice().forEach(this.Gf);this.ssa.D.length&&this.ssa.D.slice().forEach(this.vd);
this.tsa.D.length&&this.tsa.D.slice().forEach(this.vd)};a.prototype.hf=function(G){G.I(b.Zv);this.Gf(G)};a.prototype.Gf=function(G){this.EXa(G);this.Iya(G)};a.prototype.CXa=function(G){var J=[];G.forEach(function(R){R.getComponent(b.wz).hX.forEach(function(U){-1===J.indexOf(U)&&J.push(U)})});J.forEach(this.qZ)};a.prototype.EXa=function(G){this.GXa(G);this.qZ(G)};a.prototype.GXa=function(G){var J=G.getComponent(b.Sl),R=J&&J.D||[],U=(J=G.getComponent(b.Zv))&&J.D||[];U.forEach(function(Q){if(-1===R.indexOf(Q)){var N=
Q.getComponent(b.wz).hX.filter(function(W){return W!==W});0==N.length?Q.na(b.wz):Q.L(b.wz).hX=N}});R.forEach(function(Q){-1===U.indexOf(Q)&&Q.L(b.wz,!0).hX.push(G)})};var f=new THREE.Matrix4,c=[];a.prototype.qZ=function(G){var J=G.getComponent(b.Sl);for(J=J&&J.D||[];c.length<J.length;)c.push(new THREE.Vector3);var R=J.map(function(H,O){return H.getComponent(b.Object3D).Zc.getWorldPosition(c[O])});R=R.filter(function(H,O){return 1E-4<H.distanceTo(R[(O+1)%R.length])});J=this.VSa(R);if(0===J.length)this.Rha(G),
this.Eqa(G);else{this.RMa(G,3*J.length);this.HXa(G,c,J);f.copy(G.getComponent(b.Object3D).Zc.matrixWorld).invert();c.forEach(function(H){H.applyMatrix4(f)});G=G.getComponent(b.Geometry);for(var U=G.geometry.attributes.position.array,Q=0,N=0;Q<J.length;){var W=c[J[Q++]];U[N++]=W.x;U[N++]=W.y;U[N++]=W.z;W=c[J[Q++]];U[N++]=W.x;U[N++]=W.y;U[N++]=W.z;W=c[J[Q++]];U[N++]=W.x;U[N++]=W.y;U[N++]=W.z}G.geometry.attributes.position.needsUpdate=!0}};var e=new THREE.Plane,m=new THREE.Vector3,q=new THREE.Vector3,
p=new THREE.Vector3,n=new THREE.Line3,r=new THREE.Vector3,t=new THREE.Vector3,u=new THREE.Vector3,v=new THREE.Vector3,w=new THREE.Vector3,x=5*Math.PI/180;a.prototype.VSa=function(G){if(3>G.length)return[];var J=G[0];for(var R=Number.NEGATIVE_INFINITY,U=1;U<G.length;++U){var Q=J.distanceToSquared(G[U]);if(!(Q<=R)){R=Q;var N=G[U]}}if(0>=R)return[];n.set(J,N);R=Number.NEGATIVE_INFINITY;for(U=0;U<G.length;++U)if(Q=n.closestPointToPoint(G[U],!0,r).distanceToSquared(G[U]),!(Q<=R)){R=Q;var W=G[U]}if(0>=
R)return[];e.setFromCoplanarPoints(J,N,W);for(U=0;U<G.length;++U)if(R=G[U],R!==J&&R!==N&&R!==W){t.copy(J).sub(R).normalize();u.copy(N).sub(R).normalize();v.copy(W).sub(R).normalize();R=t.dot(u);Q=t.dot(v);var H=u.dot(v);R<Q&&R<H?w.copy(t).cross(u):Q<H?w.copy(t).cross(v):w.copy(u).cross(v);w.normalize();R=Math.abs(Math.acos(w.dot(e.normal)));R>.5*Math.PI&&(R=Math.PI-R);if(R>x)return[]}q.copy(G[1]).sub(G[0]).normalize();p.copy(e.normal).cross(q).normalize();J=[];for(U=0;U<G.length;++U)e.projectPoint(G[U],
m),J.push(m.dot(q),m.dot(p));return l(J,null,2)};var y=new THREE.Vector3,A=new THREE.Vector3,B=new THREE.Vector3,z=new THREE.Vector3,C=new THREE.Vector3,E=new THREE.Vector3,F=new THREE.Vector3;a.prototype.HXa=function(G,J,R){var U=0;y.set(0,0,0);for(var Q=0;Q<R.length;){B.copy(J[R[Q++]]);z.copy(J[R[Q++]]);C.copy(J[R[Q++]]);A.copy(B).add(z).add(C).divideScalar(3);var N=.5*F.subVectors(C,B).cross(E.subVectors(z,B)).length();A.multiplyScalar(N);y.add(A);U+=N}y.divideScalar(U);J=G.L(b.Ba,!0);J.positionX=
y.x;J.positionY=y.y;J.positionZ=y.z;g.YY(G,J);this.Eqa(G,U)};a.prototype.Eqa=function(G,J){(G=(G=G.L(b.Sl))&&G.La)&&G.trigger(h.sa,{area:J})};a.prototype.Iya=function(G){var J=G.getComponent(b.Object3D);if(J=J&&J.Zc){var R=G.getComponent(b.Material).material;R&&J.material!=R&&(J.material=R,J.needsUpdate=!0);J.renderOrder=G.getComponent(b.Sl).renderOrder}};a.prototype.Rha=function(G){var J=G.getComponent(b.Geometry);J&&(J.geometry&&J.geometry.dispose(),G.na(b.Geometry),G.getComponent(b.Object3D).Zc.geometry=
null);if(J=G.getComponent(b.Object3D))J.Zc&&J.Zc.parent&&J.Zc.parent.remove(J.Zc),G.na(b.Object3D)};a.prototype.RMa=function(G,J){var R=G.getComponent(b.Geometry);R&&R.geometry&&R.geometry.attributes.position.array.length===3*J||(R=G.L(b.Geometry,!0),R.geometry&&R.geometry.dispose(),R.geometry=this.ZDa(J),J=G.getComponent(b.Object3D),J||(J=G.I(b.Object3D),J.Zc=new THREE.Mesh,this.Iya(G)),J.Zc.geometry=R.geometry)};a.prototype.ZDa=function(G){var J=new THREE.BufferGeometry,R=J.setAttribute,U=THREE.Float32BufferAttribute;
G*=3;for(var Q=[],N=0;N<G;N++)Q.push(0);R.call(J,"position",new U(Q,3));return J};a.prototype.vd=function(G){this.Rha(G);G.na(b.Zv);G.na(b.Object3D)};a.J={};a.J.rsa=[b.Material,b.Sl,b.Zv.not];a.J.qsa=[b.Object3D,b.Ba,b.wz];a.J.areas=[b.Sl,b.Material,b.Zv];a.J.ssa=[b.Sl.not,b.Zv];a.J.tsa=[b.Material.not,b.Zv];return a});
define("mz","require kV og lf fp ci".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("lf"),k=a("fp"),b=a("ci");a=d.extend(l,function(){l.apply(this,arguments);this.Jca=this.Jca.bind(this);this.kZ=this.kZ.bind(this);this.Ica=this.Ica.bind(this);this.jZ=this.jZ.bind(this);this.jX=new Map;this.Vva=new Map;this.iX=new Map;this.Wva=new Map});a.prototype.Ed=function(){this.xsa.D.length&&this.xsa.D.slice().forEach(this.Jca);this.ysa.D.length&&this.ysa.D.slice().forEach(this.kZ);this.zsa.D.length&&this.zsa.D.slice().forEach(this.kZ);
this.Asa.D.length&&this.Asa.D.slice().forEach(this.Ica);this.Bsa.D.length&&this.Bsa.D.slice().forEach(this.jZ);this.Csa.D.length&&this.Csa.D.slice().forEach(this.jZ);this.frame()};a.J={};a.J.xsa=[k.Object3D,k.Fq,k.Ms.not];a.J.fRa=[k.Object3D,k.Fq,k.Ms];a.J.ysa=[k.Object3D.not,k.Ms];a.J.zsa=[k.Fq.not,k.Ms];a.J.Asa=[k.Object3D,k.zz,k.cw.not];a.J.Bsa=[k.Object3D.not,k.cw];a.J.Csa=[k.zz.not,k.cw];a.prototype.frame=function(){0!=this.fRa.D.length&&this.iX.forEach(function(g,f){var c=this.jX.get(f)||[];
c.forEach(function(e){var m=e.getComponent(k.Object3D).Zc;e.getComponent(k.cw).position.set(0,0,0).applyMatrix4(m.matrixWorld)});g.forEach(function(e){var m=e.getComponent(k.Object3D).Zc;e.getComponent(k.Ms).position.set(0,0,0).applyMatrix4(m.matrixWorld)});g.forEach(function(e){var m=e.getComponent(k.Ms).position;e=e.getComponent(k.Fq).La;var q=c.map(function(p){return{entity:p,distance:m.distanceTo(p.getComponent(k.cw).position)}});q.sort(function(p,n){return p.distance-n.distance});e.trigger(h.sa,
{beacons:q})})}.bind(this))};a.prototype.Jca=function(g){g.I(k.Ms).position=new THREE.Vector3;this.Wva.set(g,b.dc(g));var f=this.iX.get(g.U);f||this.iX.set(g.U,f=[]);0>f.indexOf(g)&&f.push(g)};a.prototype.kZ=function(g){var f=this.iX.get(g.U),c=f.indexOf(g);0<=c&&f.splice(c,1);this.Wva["delete"](g);g.na(k.Ms)};a.prototype.Ica=function(g){g.I(k.cw).position=new THREE.Vector3;this.Vva.set(g,b.dc(g));var f=this.jX.get(g.U);f||this.jX.set(g.U,f=[]);0>f.indexOf(g)&&f.push(g)};a.prototype.jZ=function(g){var f=
this.jX.get(g.U),c=f.indexOf(g);0<=c&&f.splice(c,1);this.Vva["delete"](g);g.na(k.cw)};return a});define("ky",["require","exports"],function(){return function(){function a(){}a.Fl=function(d,h,l){return this.PC(d,h,l)};a.Bq=function(d,h,l){return this.PC(d,l,h)};a.PC=function(d,h,l){return 2*Math.atan(l*Math.tan(d*this.fE*.5)/h)*this.FAa};a.FAa=180/Math.PI;a.fE=Math.PI/180;return a}()});
define("hD","require kV lf fp ky ci".split(" "),function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("ky"),b=a("ci");a=d.extend(h,function(){h.apply(this,arguments);this.Kca=this.Kca.bind(this);this.Lca=this.Lca.bind(this);this.rZ=this.rZ.bind(this);this.sZ=this.sZ.bind(this);this.Uca=this.Uca.bind(this);this.Vca=this.Vca.bind(this)});a.prototype.Ed=function(){this.owa.D.length&&this.owa.D.slice().forEach(this.Kca);this.rwa.D.length&&this.rwa.D.slice().forEach(this.Lca);this.qD.Za.length&&this.qD.Za.slice().forEach(this.rZ);
this.Bs.Za.length&&this.Bs.Za.slice().forEach(this.sZ);this.pwa.D.length&&this.pwa.D.slice().forEach(this.Uca);this.swa.D.length&&this.swa.D.slice().forEach(this.Vca)};a.prototype.Kca=function(q){var p=q.L(l.OrthographicCamera),n=q.I(l.qw);q.I(l.Object3D).Zc=n.camera=p.camera=new THREE.OrthographicCamera;this.rZ(q)};a.prototype.Lca=function(q){var p=q.L(l.PerspectiveCamera),n=q.I(l.Nq);q.I(l.Object3D).Zc=n.camera=p.camera=new THREE.PerspectiveCamera;this.sZ(q)};a.prototype.rZ=function(q){var p=q.getComponent(l.OrthographicCamera);
q=q.getComponent(l.qw);q.width=p.width;q.height=p.height;q=q.camera;q.left=-.5*p.width;q.right=.5*p.width;q.top=.5*p.height;q.bottom=-.5*p.height;q.updateProjectionMatrix()};a.prototype.sZ=function(q){var p=q.getComponent(l.PerspectiveCamera);q=q.getComponent(l.Nq);q.width=p.width;q.height=p.height;q.fov=p.fov;q.near=p.near;q.far=p.far;q=q.camera;q.aspect=p.width/p.height;q.fov=p.width>p.height?k.Fl(p.fov,p.width,p.height):p.fov;q.near=p.near;q.far=p.far;b.dda(q);q.updateProjectionMatrix()};a.prototype.Uca=
function(q){var p=q.getComponent(l.qw);p.camera.parent&&p.camera.parent.remove(p.camera);p.camera=null;q.na(l.qw);q.na(l.Object3D)};a.prototype.Vca=function(q){var p=q.getComponent(l.Nq);p.camera.parent&&p.camera.parent.remove(p.camera);p.camera=null;q.na(l.Nq);q.na(l.Object3D)};a.J={};a.J.owa=[l.OrthographicCamera,l.qw.not];a.J.pwa=[l.OrthographicCamera.not,l.qw];a.J.rwa=[l.PerspectiveCamera,l.Nq.not];a.J.swa=[l.PerspectiveCamera.not,l.Nq];a.J.qD=[l.OrthographicCamera,l.qw];a.J.Bs=[l.PerspectiveCamera,
l.Nq];a.ND=d.extend(h,function(){h.apply(this,arguments);this.Gba=this.Gba.bind(this)});a.ND.prototype.Ed=function(){this.Bs.D.length&&this.Bs.D.slice().forEach(this.Gba)};a.ND.prototype.Gba=function(q){var p=q.getComponent(l.PerspectiveCamera);if(p.usa){var n=q.getComponent(l.Nq),r=n.scene||b.Um(q),t=n.camera;if(r&&t){var u=Number.POSITIVE_INFINITY,v=Number.NEGATIVE_INFINITY;n.boundingBox?n.Fba=!0:(n.boundingBox=this.L1(r),n.Fba=!1);r=n.boundingBox;r=[[r.min.x,r.max.x],[r.min.y,r.max.y],[r.min.z,
r.max.z]];for(var w=0;2>w;w++)for(var x=0;2>x;x++)for(var y=0;2>y;y++)m.set(r[0][w],r[1][x],r[2][y]).applyMatrix4(t.matrixWorldInverse),-m.z>v&&(v=-m.z),-m.z<u&&(u=-m.z);r=Math.max(p.vsa||0,0);w=.5*(u+v);u+=(u-w)*r;v+=(v-w)*r;v=Infinity==v||isNaN(v)?2E3:v;u=0<u?u:20<v?.1:.01;if(Math.abs(p.near-u)>f||Math.abs(p.far-v)>f)t.far=n.far=p.far=v,t.near=n.near=p.near=u,b.dda(t),b.Fya(t),t.updateProjectionMatrix();n.daa||(n.daa=setTimeout(function(){n.boundingBox=null;n.daa=null;n.Fba&&q.U&&q.U.gb()},g))}}};
a.ND.prototype.L1=function(q){c.makeEmpty();q.traverse(function(p){if(p.geometry&&!p.isSprite){p.updateWorldMatrix(!1,!1);var n=p.geometry;null===n.boundingBox&&n.computeBoundingBox();e.copy(n.boundingBox);e.applyMatrix4(p.matrixWorld);c.union(e)}});return c};var g=500,f=1E-4,c=new THREE.Box3,e=new THREE.Box3,m=new THREE.Vector3;a.ND.J={};a.ND.J.Bs=[l.PerspectiveCamera,l.Nq];return a});
define("bl",["require","exports"],function(){var a={Mj:38,ri:40,eb:39,Ma:37,Dea:32,gn:65,tQ:90,mt:87,it:83,Ns:68,Q:81,E:69,xda:27,qa:{}};a.qa.Mj="ArrowUp";a.qa.ri="ArrowDown";a.qa.eb="ArrowRight";a.qa.Ma="ArrowLeft";a.qa.gn="KeyA";a.qa.tQ="KeyZ";a.qa.mt="KeyW";a.qa.it="KeyS";a.qa.Ns="KeyD";a.qa.Q="KeyQ";a.qa.E="KeyE";a.qa.xda="Escape";a.qa.Dea="Space";return a});
define("kJ",["require"],function(){return{zYa:function(){},AYa:function(){},RS:function(){return this.Pe&&this.Pe.bva()||this.m&&!this.m.get("keyboardEnabled")?!0:!1},zx:function(){return this.Pe&&this.Pe.bva()||this.m&&!this.m.get("mouseEnabled")?!0:!1},Wla:function(){this.xF()||this.Xt||this.Nra()},Vla:function(){this.xF()||this.Xt||this.Mra()},bU:function(){this.hka()||this.Nra()},aU:function(){this.hka()||this.Mra()},Nra:function(){this.Pe&&this.Pe.rz();this.m&&this.m.set("userInteracting",!0)},
Mra:function(){this.Pe&&this.Pe.ida();this.m&&this.m.set("userInteracting",!1)}}});
define("f",["require","exports","ci","three.mod"],function(a,d,h,l){return function(){function k(b){this.matrixWorld=new l.Matrix4;this.Bba=!1;this.timeout=null;this.Mb=b}k.prototype.Aca=function(b){if(this.rI!=b||"moving"!=this.propertyName)this.rI&&this.rI.set(this.propertyName,!1),this.rI=b,this.propertyName="moving",this.rI&&this.rI.set(this.propertyName,this.Bba)};k.prototype.fda=function(){var b=h.dc(this.Mb),g=!!b&&!b.matrixWorld.equals(this.matrixWorld);g&&this.matrixWorld.copy(b.matrixWorld);
this.Ov(g);this.timeout&&(clearTimeout(this.timeout),this.timeout=null);g&&(this.timeout=setTimeout(function(){this.timeout=null;this.Ov(!1)}.bind(this),k.$za))};k.prototype.ab=function(){this.Ov(!1);this.timeout&&clearTimeout(this.timeout)};k.prototype.Ov=function(b){this.Bba!=b&&(this.Bba=b,this.rI.set(this.propertyName,b))};k.$za=100;return k}()});
define("nx",["require"],function(){function a(h){this.m=h;this.Dx=!0}function d(h,l,k){if(isNaN(h))throw"invalid value";void 0!==l&&h<l&&(h=l);void 0!==k&&h>k&&(h=k);return h}a.prototype.ZVa=function(){this.Dx=!1};a.prototype.lca=function(h){this.m.set("fov",this.Dx?d(h,this.m.get("minFov",.1),this.m.get("maxFov",180)):h)};a.prototype.an=function(h){var l=this.m,k=l.set;if(this.Dx){var b=this.m.get("minYaw"),g=this.m.get("maxYaw");if(void 0!==b)if(180<h)h=180;else{for(;-180>=h;)h+=360;h<b&&(h=b)}if(void 0!==
g)if(-180>h)h=-180;else{for(;180<h;)h-=360;h>g&&(h=g)}}for(;-180>h;)h+=360;for(;180<=h;)h-=360;k.call(l,"yaw",h)};a.prototype.Qv=function(h){this.m.set("pitch",this.Dx?d(h,this.m.get("minPitch",-90),this.m.get("maxPitch",90)):h)};a.prototype.setX=function(h){this.m.set("x",this.Dx?d(h,this.m.get("minX"),this.m.get("maxX")):h)};a.prototype.setY=function(h){this.m.set("y",this.Dx?d(h,this.m.get("minY"),this.m.get("maxY")):h)};a.prototype.setZ=function(h){this.m.set("z",this.Dx?d(h,this.m.get("minZ"),
this.m.get("maxZ")):h)};a.prototype.yD=function(h){this.m.set("distance",this.Dx?d(h,this.m.get("minDistance"),this.m.get("maxDistance")):h)};a.prototype.oi=function(h){this.m.set("easing",h)};return a});
define("dF","require og kx nc fp nx nJ bD".split(" "),function(a){function d(e,m,q){this.o=e;this.m=m;this.Qa=q;this.za=new g(this.m);this.za.ZVa();this.hC=0;this.fk=this.xm=void 0;this.Em=!1;this.GV(0);this.p3=this.$R=this.o3=this.ZR=this.A=void 0;this.xc(l.S);this.Qa.bind(h.G("state"),this.nf,this,!0);this.Qa.bind(h.G("movementIndex"),this.OB,this,!0)}var h=a("og"),l=a("kx"),k=a("nc"),b=a("fp"),g=a("nx"),f=a("nJ"),c=a("bD");d.prototype.rz=function(){this.Qa.get("mandatory")||(this.pR(),this.Qa.get("restartMovementOnUserInteraction")?
this.A==l.X&&(this.fN(),this.xc(l.Cb,!0)):this.A==l.X&&this.xc(l.S))};d.prototype.ida=function(){this.A==l.Cb&&this.Em&&this.Qa.get("restartMovementOnUserInteraction")&&this.T8()};d.prototype.frame=function(e){this.A==l.X&&(this.W.wb(e),this.HPa(),this.za.setX(this.W.$a("x")),this.za.setY(this.W.$a("y")),this.za.setZ(this.W.$a("z")),this.za.an(this.W.$a("yaw")),this.za.Qv(this.W.$a("pitch")),this.za.yD(this.W.$a("distance")),this.za.lca(this.W.$a("fov")),this.za.oi(0),e=this.Qa.get("movements")[this.xm],
e.set("position",this.W.Ek()),e.trigger(h.Qz),this.W.Fe()&&(e.trigger(h.rb),this.GV((this.xm+1)%this.Qa.get("movements").length,!0),0==this.xm&&(this.hC++,this.Qa.trigger(h.Pq),this.hC==this.Qa.get("repeat")&&(this.noa(),this.xc(l.S),this.Qa.trigger(h.rb)))))};d.prototype.HPa=function(){var e=void 0!==this.ZR&&void 0!==this.o3,m=void 0!==this.$R&&void 0!==this.p3;if(e||m){var q=this.o.getComponent(b.Db).Mb;if(q){var p=this.W.getTime(),n=this.W.Qi();q=q.L(b.YP,!0);e=e&&p<this.ZR?1-p/this.ZR:0;m=m&&
n-p<this.$R?1-(n-p)/this.$R:0;0<m||0<e?m>e?(q.color=this.p3,q.opacity=m):(q.color=this.o3,q.opacity=e):(q.color="#000000",q.opacity=0)}}};d.prototype.noa=function(){var e=this.o.getComponent(b.Db);(e=e&&e.Mb)&&e.na(b.YP)};d.prototype.dispose=function(){this.pR();this.Qa.unbind(h.G("state"),this.nf,this,!0);this.Qa.unbind(h.G("movementIndex"),this.OB,this,!0);this.xc(l.S)};d.prototype.nf=function(){var e=this.Qa.get("state");this.A!=e&&(e==l.Cb&&this.A==l.S?this.Qa.set("state",l.S):this.xc(e))};d.prototype.xc=
function(e,m){this.A!=e&&(this.A=e,this.A==l.X?(this.pR(),this.Em=!1,this.Sw(),this.nR()):this.A==l.Cb?(this.Em=!!m,this.fN()):this.A==l.S&&(this.Em=!1,this.pR(),this.hC=0,e=this.W.getTime(),m=this.W.Qi(),0<e&&e<m&&this.noa(),this.GV(0)));this.Qa.set("state",this.A)};d.prototype.OB=function(){this.GV(this.Qa.get("movementIndex"))};d.prototype.GV=function(e,m){if(this.xm!==e||m)this.xm=e,this.Sw(),this.Qa.set("movementIndex",this.xm),this.Qa.get("movements")[this.xm].set("position",0)};d.prototype.T8=
function(){this.kV=setTimeout(function(){this.kV=null;this.xc(l.X)}.bind(this),this.Qa.get("restartMovementDelay"))};d.prototype.pR=function(){this.kV&&(clearTimeout(this.kV),this.kV=null)};d.prototype.Sw=function(){var e=this.Qa.get("movements")[this.xm],m=this.m.get("x",this.m.get("initialX",0)),q=this.m.get("y",this.m.get("initialY",0)),p=this.m.get("z",this.m.get("initialZ",0)),n=this.nk(this.m.get("yaw",this.m.get("initialYaw",0)),-180,180),r=this.m.get("pitch",this.m.get("initialPitch",0)),
t=this.m.get("distance",0),u=this.m.get("fov",this.m.get("initialFov"));if(k.Ea("TargetModel3DCameraMovement",e)){var v=e.get("targetX",m);var w=e.get("targetY",q);var x=e.get("targetZ",p);var y=e.get("targetYaw",n);var A=e.get("targetPitch",r);var B=e.get("targetFov",u);var z=e.get("targetDistance",t);switch(this.m3(e)){case "left":y=this.nk(y,n-360,n);break;case "right":y=this.nk(y,n,n+360);break;case "longest":y=this.nk(y,n-180,n+180);y=y==n?n+360:y>=n?this.nk(y,n-360,n):this.nk(y,n,n+360);break;
default:y=this.nk(y,n-180,n+180)}}else k.Ea("DistanceModel3DCameraMovement",e)&&(v=m+e.get("xDelta",0),w=q+e.get("yDelta",0),x=p+e.get("zDelta",0),y=n+e.get("yawDelta",0),A=r+e.get("pitchDelta",0),B=u+e.get("fovDelta",0),z=t+e.get("distanceDelta",0));this.W=new f(e.get("easing"),[new c("x",m,v,e.get("xSpeed")),new c("y",q,w,e.get("ySpeed")),new c("z",p,x,e.get("zSpeed")),new c("yaw",n,y,e.get("yawSpeed")),new c("pitch",r,A,e.get("pitchSpeed")),new c("fov",u,B,e.get("fovSpeed")),new c("distance",t,
z,e.get("distanceSpeed"))],e.get("duration"));this.ZR=e.get("fadeFromDuration");this.o3=e.get("fadeFromColor");this.$R=e.get("fadeToDuration");this.p3=e.get("fadeToColor")};d.prototype.nR=function(){this.fk=void 0};d.prototype.fN=function(){if(this.W){this.fk=void 0;var e=this.W&&this.W.Faa("yaw");e&&(e.oz>e.from?this.fk="right":e.oz<e.from&&(this.fk="left"))}};d.prototype.m3=function(e){e=e.get("yawPath");"longest"==e&&this.fk&&(e=this.fk);this.fk=void 0;return e};d.prototype.nk=function(e,m,q){for(;e<
m;)e+=q-m;for(;e>q;)e-=q-m;return e};return d});
define("jQ","require kh og kx dF ci".split(" "),function(a){function d(f,c){this.o=f;this.m=c;this.Yx=this.Yx.bind(this);this.nf=this.nf.bind(this);this.xh=this.cj=null;this.Pr=[];this.ig=null;this.Ih=!1;this.Gt=new Map;h.ma(this.m,["initialSequence","idleSequence","sequences.movements"],this.Yx,!0);h.ma(this.m,["state"],this.nf,!0);this.Mp=!1}var h=a("kh"),l=a("og"),k=a("kx"),b=a("dF"),g=a("ci");d.prototype.bva=function(){return!!this.ig&&this.ig.get("mandatory")};d.prototype.rz=function(){this.Ih=
!0;this.tk();this.ig&&this.Gt.get(this.ig).rz()};d.prototype.ida=function(){this.Ih=!1;this.ig&&this.Gt.get(this.ig).ida();!this.xh||this.ig&&this.ig!=this.xh||this.Sp()};d.prototype.Sp=function(){this.Ih||this.gB||!this.xh||this.ig||!this.m.get("timeToIdle")||(this.gB=setTimeout(function(){this.gB=null;this.pL()}.bind(this),this.m.get("timeToIdle")))};d.prototype.tk=function(){this.gB&&(clearTimeout(this.gB),this.gB=null)};d.prototype.pL=function(){this.xh&&this.xh.set("state",k.X)};d.prototype.frame=
function(f){if(!this.Mp){var c=g.Um(this.o),e=0;c&&c.traverse(function(m){(m.isMesh||m.isSprite)&&e++});if(0<e)this.Mp=!0,this.YF();else return}this.ig&&this.Gt.get(this.ig).frame(f);(f=this.ig&&this.ig.get("state")==k.X)&&this.o.U.gb();return f};d.prototype.YF=function(){this.cj?this.cj.set("state",k.X):this.Sp()};d.prototype.dispose=function(){h.ka(this.m,["initialSequence","idleSequence","sequences.movements"],this.Yx);h.ka(this.m,["state"],this.nf);this.tk();this.xh&&this.UE(this.xh);this.cj&&
this.UE(this.cj);this.Pr.forEach(this.UE.bind(this));this.Pr=null};d.prototype.nf=function(){this.ig?this.ig.set("state",this.m.get("state")):this.m.get("state")==k.X?(this.Sp(),this.gB||this.m.set("state",k.S)):this.tk()};d.prototype.Yx=function(){var f=this.c8(this.m.get("initialSequence"));this.cj!=f&&(this.cj&&this.UE(this.cj),(this.cj=f)&&this.d2(this.cj));f=this.c8(this.m.get("idleSequence"));this.xh!=f&&(this.xh&&this.UE(this.xh),(this.xh=f)&&this.d2(this.xh));var c=(this.m.get("sequences")||
[]).filter(this.c8.bind(this));this.Pr.forEach(function(m){0>c.indexOf(m)&&this.UE(m)}.bind(this));var e=this.Pr;this.Pr=c;this.Pr.forEach(function(m){0>e.indexOf(m)&&this.d2(m)}.bind(this));this.ig||!this.xh||this.gB||this.Sp()};d.prototype.c8=function(f){var c=f&&f.get("movements");return c&&0!=c.length?f:null};d.prototype.cna=function(f){f=f.source;var c=f.get("state");c==k.X?(this.tk(),c=this.ig,this.ig=f,c&&c!=this.ig&&c.set("state",k.S),this.m.set("state",k.X),this.o.U.gb()):c==k.Cb?f==this.ig&&
this.m.set("state",k.Cb):c==k.S&&f==this.ig&&(this.m.set("state",k.S),this.ig=null,f!=this.xh&&this.Sp())};d.prototype.d2=function(f){if(this.Gt.has(f))this.Gt.get(f);else{f.set("state",k.S);f.bind(l.G("state"),this.cna,this,!0);var c=new b(this.o,this.m,f);this.Gt.set(f,c)}};d.prototype.UE=function(f){this.Gt.has(f)&&(f.set("state",k.S),f.unbind(l.G("state"),this.cna,this,!0),this.Gt.get(f).dispose(),this.Gt["delete"](f))};return d});
define("or",["require"],function(){return{k5:function(a){this.ZS=this.ZS.bind(this);this.$S=this.$S.bind(this);this.yJ=this.Ni=!1;this.zf={};for(var d=0;d<a.length;d++)this.zf[a[d]]=!1;this.IK=0;this.aT=!1;this.JK(!0)},l5:function(){this.JK(!1)},JK:function(a){this.aT!=a&&(this.aT&&(document.removeEventListener("keyup",this.$S),document.removeEventListener("keydown",this.ZS)),this.aT=a)&&(document.addEventListener("keyup",this.$S),document.addEventListener("keydown",this.ZS))},hka:function(){return 0<
this.IK},$S:function(a){if(!this.RS||!this.RS()){var d=!1;this.Ni!=a.shiftKey&&(this.Ni=a.shiftKey,d=!0);this.yJ!=a.ctrlKey&&(this.yJ=a.ctrlKey,d=!0);!0===this.zf[a.code]&&(this.zf[a.code]=!1,d=!0,this.MB&&this.MB(a.code),this.IK--,0==this.IK&&this.Vla&&this.Vla());d&&this.wL&&this.wL()}},ZS:function(a){if(!this.RS||!this.RS()){var d=!1;this.Ni!=a.shiftKey&&(this.Ni=a.shiftKey,d=!0);this.yJ!=a.ctrlKey&&(this.yJ=a.ctrlKey,d=!0);!1===this.zf[a.code]&&(d=this.zf[a.code]=!0,this.Ula&&this.Ula(a.code),
this.IK++,1==this.IK&&this.Wla&&this.Wla());d&&this.wL&&this.wL()}},HYa:function(){return this.Ni},DYa:function(){return this.yJ}}});
define("jp",["require","exports","bb"],function(a,d,h){a=function(){function k(){this.De=[]}k.prototype.wq=function(b){this.nxa(b);this.Xa=b;this.z2=null};k.prototype.vVa=function(b){this.nxa(b?b.eg:null);this.Xa=null;this.z2=b};k.prototype.FWa=function(b,g){this.Xa&&this.Xa.set("cursor",b);this.z2&&this.z2.hca(b,g)};k.prototype.nxa=function(b){this.ce&&(this.ce.UUa(this),this.ce=void 0);b&&(this.ce=l.get(b),this.ce.ZQa(this))};k.prototype.dispose=function(){this.wq(null);this.De=[]};k.prototype.push=
function(b){this.De.push(b);this.ce&&this.ce.update()};k.prototype.pop=function(b){for(var g=this.De.length-1;0<=g;g--)if(this.De[g]==b){this.De.splice(g,1);this.ce&&this.ce.update();break}};k.prototype.has=function(b){return 0<=this.De.indexOf(b)};k.prototype.top=function(){if(this.De.length)return this.De[this.De.length-1]};k.prototype.all=function(){return this.De};return k}();var l=function(){function k(b){this.Ic=b;this.Sc=[]}k.prototype.ZQa=function(b){this.Sc.push(b);this.update()};k.prototype.UUa=
function(b){this.Sc.splice(this.Sc.indexOf(b),1);this.update();0==this.Sc.length&&k.clear(this.Ic)};k.prototype.update=function(){var b=this.MBa();var g=this.j4(h.aA)?h.aA:this.j4(h.Th)?h.Th:this.j4(h.Se)?h.Se:this.Wp()||h.ve;this.Sc.forEach(function(f){f.FWa(g,b)})};k.prototype.j4=function(b){for(var g=this.Sc.length-1;0<=g;g--)if(this.Sc[g].has(b))return!0;return!1};k.prototype.MBa=function(){var b=[];this.Sc.forEach(function(g){g.all().forEach(function(f){0>b.indexOf(f)&&b.push(f)})});return b};
k.prototype.Wp=function(){for(var b,g=this.Sc.length-1;0<=g&&void 0===b;g--)b=this.Sc[g].top();return b};k.get=function(b){var g=this.Oa.get(b);g||this.Oa.set(b,g=new k(b));return g};k.clear=function(b){this.Oa["delete"](b)};k.Oa=new Map;return k}();return a});
define("iZ",["require","exports","og","fV"],function(a,d,h,l){return function(k){function b(g){var f=k.call(this)||this;if(g instanceof HTMLElement)f.wY=g;else if("function"===typeof g.yc)f.wY=g.yc().get(0);else if(g.length&&g.get)f.wY=g.get(0);else throw Error("invalid element");f.CY=f.CY.bind(f);document.addEventListener("pointerlockchange",f.CY.bind(f),!1);return f}aa(b,k);b.prototype.dispose=function(){document.removeEventListener("pointerlockchange",this.CY)};b.prototype.lock=function(){if(!this.oo())return this.wY.requestPointerLock()};
b.prototype.unlock=function(){this.oo()&&document.exitPointerLock()};b.prototype.oo=function(){return document.pointerLockElement===this.wY};b.prototype.CY=function(){this.trigger(h.sa)};b.oo=function(){return null!==document.pointerLockElement};return b}(l)});
define("hF",["require","og","jp","iZ"],function(a){function d(g,f){var c=f.x-g.x;g=f.y-g.y;return Math.sqrt(c*c+g*g)}var h=a("og"),l=a("jp"),k=a("iZ"),b=180/Math.PI;return{Q5:function(){this.XU=this.he=null;this.KS=new l},R5:function(){this.FV(null);this.KS.dispose()},Ska:function(g){this.ao(g);this.zx&&this.zx()||(this.vr||(this.vr=!0,this.Xt||this.bU&&this.bU()),this.BT=!g.originalEvent||!g.originalEvent.buttons||0===(g.originalEvent.buttons&2),this.XU=g,this.ak&&this.ak(g.x,g.y),this.$T&&this.$T(g.x,
g.y))},xF:function(){return this.vr},EYa:function(){return this.Xt},FYa:function(){return this.BT},Uka:function(g){this.ao(g);this.Xe&&this.Xe(g.x,g.y);if(this.vr||this.KF.oo()){var f=void 0!==g.movementX?g.movementX:g.x-this.XU.x,c=void 0!==g.movementY?g.movementY:g.y-this.XU.y;this.KF.oo()&&(f*=-1,c*=-1);this.XU=g;this.ZT&&this.ZT(f,c,g.x,g.y)}},P5:function(g){this.vr&&(g&&this.ao(g),this.BT=this.vr=!1,this.Jn&&this.Jn(this.Tc,this.Uc),this.NB&&this.NB(),this.Xt||this.aU&&this.aU())},Oka:function(g){this.ao(g);
this.zr&&this.zr(g.x,g.y)},Pka:function(g){this.ao(g);this.WF&&this.WF(g.x,g.y)},Vka:function(g){this.ao(g);this.zx&&this.zx()||(g=g.rX/10,this.cU&&this.cU(g))},Rka:function(g){this.zx&&this.zx()||2>g.touches.length||(this.Xt||(this.Xt=!0,this.jJa(g.touches),this.vr||this.bU&&this.bU()),this.Ola&&this.Ola())},Qka:function(g){this.zx&&this.zx()||2>g.touches.length||!this.Xt||(this.Wka(g.touches),this.Nla&&this.Nla(this.NOa,this.OOa,this.t9,this.POa),this.Mla&&this.Mla(this.O4,this.P4,this.tN,this.uN,
1,this.t9,this.uK,this.s9,this.N4,this.sN))},O5:function(){this.Xt&&(this.Xt=!1,this.k6&&this.k6());this.vr||this.aU&&this.aU()},jJa:function(g){this.N4=this.P4=this.O4=this.uK=this.t9=this.uN=this.tN=this.s9=this.sN=void 0;this.rN=g;this.Wka(g)},Wka:function(g){d(g[0],this.rN[0])+d(g[1],this.rN[1])>d(g[0],this.rN[1])+d(g[1],this.rN[0])&&(g=[g[1],g[0]]);var f=g[0];var c=g[1];f=Math.atan2(-(c.y-f.y),c.x-f.x)*b;c=d(g[0],g[1]);var e=(g[0].x+g[1].x)/2,m=(g[0].y+g[1].y)/2;this.t9=void 0!==this.uK?c/this.uK:
1;this.POa=void 0!==this.sN?f-this.sN:0;this.sN=f;this.s9=c;this.NOa=void 0!==this.tN?e-this.tN:0;this.OOa=void 0!==this.uN?m-this.uN:0;this.tN=e;this.uN=m;void 0!==this.O4||(this.O4=this.tN);void 0!==this.P4||(this.P4=this.uN);void 0!==this.N4||(this.N4=this.sN);void 0!==this.uK||(this.uK=this.s9);this.rN=g},Tka:function(){},yFa:function(){this.P5();this.O5()},gK:function(){return this.he?this.he.Va():100},bB:function(){return this.he?this.he.zb():100},Zt:function(){return this.he?Math.max(this.he.Va(),
this.he.zb()):100},FV:function(g){this.he!=g&&(this.he&&(this.he.unbind(h.ub,this.Ska,this,!0),this.he.unbind(h.ec,this.Uka,this,!0),this.he.unbind(h.$b,this.P5,this,!0),this.he.unbind(h.oa,this.Oka,this,!0),this.he.unbind(h.Vl,this.Pka,this,!0),this.he.unbind(h.Jq,this.Vka,this,!0),this.he.unbind(h.C_,this.Qka,this,!0),this.he.unbind(h.iw,this.Rka,this,!0),this.he.unbind(h.VD,this.O5,this,!0),this.KF.unbind(h.sa,this.Tka,this,!0),this.KF.dispose(),this.KF=null),this.he=g,this.KS.wq(this.he),this.he&&
(this.he.bind(h.ub,this.Ska,this,!0),this.he.bind(h.ec,this.Uka,this,!0),this.he.bind(h.$b,this.P5,this,!0),this.he.bind(h.oa,this.Oka,this,!0),this.he.bind(h.Vl,this.Pka,this,!0),this.he.bind(h.Jq,this.Vka,this,!0),this.he.bind(h.C_,this.Qka,this,!0),this.he.bind(h.iw,this.Rka,this,!0),this.he.bind(h.VD,this.O5,this,!0),this.KF=new k(this.he),this.KF.bind(h.sa,this.Tka,this,!0)))},CT:function(g){g.x=-1+2*g.x/this.gK();g.y=1-2*g.y/this.bB();return g},ao:function(g){this.Tc=g.x;this.Uc=g.y;this.LF=
g.pageX;this.MF=g.pageY},bC:function(g){this.KS.push(g)},TU:function(g){this.KS.pop(g)}}});
define("jX",["require","og"],function(a){var d=a("og");return{ZLa:function(){this.yV=!1;this.Vn=null;this.tB=this.AF=0;this.kC=!1;this.Noa(!0)},$La:function(){this.Noa(!1);this.ypa(null)},Noa:function(h){this.yV!=h&&((this.yV=h)||this.xV())},ypa:function(h){this.Vn!=h&&(this.xV(),this.Vn&&(this.Vn.unbind(d.pn,this.Ooa,this,!0),this.Vn.unbind(d.wf,this.xV,this,!0),this.Vn.unbind(d.sa,this.Moa,this,!0),this.tB=this.AF=0),this.Vn=h)&&(this.Vn.bind(d.pn,this.Ooa,this,!0),this.Vn.bind(d.wf,this.xV,this,
!0),this.Vn.bind(d.sa,this.Moa,this,!0))},Ooa:function(){!this.kC&&this.yV&&(this.kC=!0,this.Yma&&this.Yma())},Moa:function(){this.kC&&(this.AF=this.Vn.getX(),this.tB=this.Vn.getY(),this.Wma&&this.Wma())},xV:function(){this.kC&&(this.kC=!1,this.tB=this.AF=0,this.Xma&&this.Xma())},GYa:function(){return this.kC}}});
define("dE","require kV og bl ci fp kJ f nx jQ or hF jX bb nJ bD".split(" "),function(a){function d(L){this.OJ=!1;this.S2=0;this.Xha=!1;this.Yha=L}function h(L){this.o=L;this.pp=new e(L);this.k5(y);this.Q5();this.ZLa();this.OG=.025;this.Xj=.25;this.yT=this.zT=this.AT=0;this.za=this.Pe=null;this.aR=this.uW=!1;this.bC(t.Tz);this.BF={};[b.qa.Mj,b.qa.ri,b.qa.Ma,b.qa.eb].forEach(function(S){this.BF[S]=new d(0)}.bind(this));[b.qa.gn,b.qa.it,b.qa.Ns,b.qa.mt,b.qa.Q,b.qa.E].forEach(function(S){this.BF[S]=
new d(300)}.bind(this));this.update()}var l=a("kV"),k=a("og"),b=a("bl"),g=a("ci"),f=a("fp"),c=a("kJ"),e=a("f"),m=a("nx"),q=a("jQ"),p=a("or"),n=a("hF"),r=a("jX"),t=a("bb"),u=a("nJ"),v=a("bD");l.gX(h,[c,p,n,r,Screen]);h.prototype.update=function(){var L=this.o.getComponent(f.Rz);this.vl(L&&L.qc);this.pp.Aca(L&&L.qc);var S=(!L.AH||-1==O.indexOf(this.o.U))&&L.enabled;this.FV(L&&(S?L.eg:null));this.JK(!!L&&S&&L.cz);this.ypa(!!L&&S&&L.Zwa);S||this.NB();S&&L.cz||(this.um=this.tm=this.Vj=this.ej=this.Wj=
0)};h.prototype.frame=function(L,S){var V=!1;!V&&this.Pe&&(V=this.Pe.frame(L,S));!V&&this.uh&&(V=this.QBa(L));V||this.KPa(L);this.qQa();this.wPa();this.pp.fda();this.kC&&this.o.U.gb()};var w=1E3/3600*8/1.7;h.prototype.KPa=function(L){L/=1E3;var S=this.Ni?.2:1,V=(Infinity==this.Bg||void 0===this.Bg?1:this.Bg)*w;V*=this.m.get("translationSpeed")*S;var Z=this.m.get("rotationSpeed")*S;S=this.yT;var ca=this.zT,D=this.AT;this.yT=this.zT=this.AT=0;var K=(S*S+ca*ca)/x;K=1<K?1/Math.sqrt(K):1;S*=K;ca*=K;var P=
C*Math.atan2(this.AF,this.tB);K=Math.sqrt(this.AF*this.AF+this.tB*this.tB);var T=this.m.get("fov")/Math.max(this.bB(),this.gK())*2;S=-S*T*Z;ca=ca*T*Z;D=25*-D*V;T=this.fK(b.qa.gn,b.qa.Ns)*V;var I=this.fK(b.qa.mt,b.qa.it)*V,M=this.fK(b.qa.Q,b.qa.E)*V,X=this.fK(b.qa.ri,b.qa.Mj)*Z*30,Y=this.fK(b.qa.Ma,b.qa.eb)*Z*30;Z*=P*K*.25;V*=-K*this.tB;(K=this.o.getComponent(f.Ba))&&(S||ca||D||T||M||I||X||Y||Z||V)&&(E.makeRotationFromEuler(J.set(0,K.Ge*z,0,K.vg)),Q.set(T*L,M*L,(I+V+D)*L).applyMatrix4(E),R.set(this.m.get("x"),
this.m.get("y"),this.m.get("z")),this.cHa(R,Q,U),this.za.setX(U.x),this.za.setY(U.y),this.za.setZ(U.z),this.za.an(this.m.get("yaw")+S+(Y+Z)*L),this.za.Qv(this.m.get("pitch")+ca+X*L),this.za.oi(this.Xj),this.o.U.gb())};h.prototype.fK=function(L,S){L=this.BF[L].getState();if(L===d.QZ)return-3;if(L===d.ri)return-1.5;S=this.BF[S].getState();return S===d.QZ?3:S===d.ri?1.5:0};h.prototype.cHa=function(L,S,V){V.copy(L).add(S);if(!V.equals(L)){var Z=this.NJ(V);if(this.m.get("keepHeight")){this.Bg=this.NJ(L);
var ca=this.Bg+S.y;Infinity==Z&&(Z=ca);var D=this.m.get("maxStepHeight");void 0===D&&(D=Infinity!==this.Bg?.25*this.Bg:0);if(Z<ca-D){V.copy(L);return}V.y+=ca-Z}else ca=Z;N.copy(S).normalize().multiplyScalar(.1*this.Bg);V.add(N);this.m.get("collisionDetection")&&this.cka(L,V)?V.copy(L):(this.Bg=ca,V.sub(N))}};h.prototype.Ula=function(L){this.o.U.gb();this.BF[L].qUa()};h.prototype.MB=function(L){this.BF[L].rUa()};h.prototype.$T=function(){this.bC(t.Th)};h.prototype.WF=function(L,S){if("translate"==
this.m.get("doubleClickAction")){var V=g.Um(this.o),Z=g.dc(this.o);if(Z&&V&&(this.CT(H.set(L,S)),L=this.wK(H,Z),0!=L.length&&(V=L[0],V.face&&V.face.normal))){Z=R.set(this.m.get("x"),this.m.get("y"),this.m.get("z"));L=U.copy(V.point);S=this.NJ(R);if(Math.abs(Math.acos(V.face.normal.dot(W)))<.25*Math.PI)L.y+=S;else{Q.copy(L).sub(Z);V=Q.length();Z=2*S;if(V<Z)return;L.sub(Q.multiplyScalar(Z/V));U.y+=S-this.NJ(U)}this.cka(R,U)||Math.abs(S-this.NJ(U))>.05*S||(this.uh=new u("cubic_in_out",[new v("x",R.x,
U.x),new v("y",R.y,U.y),new v("z",R.z,U.z)],1500),this.o.U.gb())}}};h.prototype.QBa=function(L){if(!this.uh)return!1;this.uh.wb(L);this.za.setX(this.uh.$a("x"));this.za.setY(this.uh.$a("y"));this.za.setZ(this.uh.$a("z"));this.za.oi(0);this.uh.Fe()&&(this.uh=null);this.o.U.gb();return!0};var x=2500;h.prototype.ZT=function(L,S){this.yT+=L;this.zT+=S;this.o.U.gb()};h.prototype.NB=function(){this.TU(t.Th);this.o.U.gb()};h.prototype.cU=function(L){this.AT+=L;this.o.U.gb()};h.prototype.Yma=function(){this.yFa();
this.bC(t.Th)};h.prototype.Wma=function(){this.o.U.gb()};h.prototype.Xma=function(){this.TU(t.Th)};h.prototype.vl=function(L){this.m!=L&&(this.m&&(this.Pe&&(this.Pe.dispose(),this.Pe=null),this.za=null,A.forEach(function(S){this.m.unbind(k.G(S),this.C6,this,!0)}.bind(this)),B.forEach(function(S){this.m.unbind(k.G(S),this.Ox,this,!0)}.bind(this)),this.m.set("userInteracting",!1)),this.m=L)&&(this.za=new m(this.m),this.vK(),A.forEach(function(S){this.m.bind(k.G(S),this.C6,this,!0)}.bind(this)),this.C6(),
B.forEach(function(S){this.m.bind(k.G(S),this.Ox,this,!0)}.bind(this)),this.Ox(),this.Pe=new q(this.o,this.m),this.m.set("userInteracting",!1))};h.prototype.vK=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")))};h.prototype.C6=function(){this.uW||(this.uW=!0,this.o.U.gb())};h.prototype.qQa=
function(){if(this.uW&&this.o&&this.m){this.uW=!1;var L=this.o.L(f.Ba,!0);L.translationX=this.m.get("x");L.translationY=this.m.get("y");L.Sf=this.m.get("z");L.Ge=-this.m.get("yaw");L.df=this.m.get("pitch");L.ef=0;L.vg="YXZ";L.positionX=0;L.positionY=0;L.positionZ=0;L.easing=this.m.get("easing")}};h.prototype.Ox=function(){this.aR||(this.aR=!0,this.o.U.gb())};h.prototype.wPa=function(){this.aR&&this.o&&this.m&&(this.aR=!1,this.o.L(f.PerspectiveCamera,!0).fov=this.m.get("fov"))};h.prototype.NJ=function(L){G.far=
Infinity;G.ray.origin.copy(L);G.ray.direction.copy(F);L=G.intersectObjects(this.kr(),!1);return 0===L.length?Infinity:L[0].distance};h.prototype.cka=function(L,S){G.far=L.distanceTo(S);G.ray.origin.copy(L);G.ray.direction.copy(S).sub(L).normalize();return 0<G.intersectObjects(this.kr(),!1).length};h.prototype.wK=function(L,S){G.far=S.far;G.setFromCamera(L,S);return G.intersectObjects(this.kr(),!1)};h.prototype.LS=function(L,S){G.ray.origin.copy(L);G.ray.direction.copy(S).sub(L).normalize();return G.intersectObjects(this.kr(),
!1)};h.prototype.kr=function(){var L=this.o&&g.Um(this.o);if(!L)return[];var S=[];L.traverse(function(V){V.isSprite||V.isLine||V.material&&!V.material.visible||S.push(V)});return S};var y=[b.qa.Mj,b.qa.ri,b.qa.Ma,b.qa.eb,b.qa.gn,b.qa.it,b.qa.Ns,b.qa.mt,b.qa.Q,b.qa.E],A="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),B=["minFov","maxFov","fov"],z=Math.PI/180,C=180/Math.PI,E=new THREE.Matrix4,F=new THREE.Vector3(0,-1,0),G=new THREE.Raycaster,
J=new THREE.Euler,R=new THREE.Vector3,U=new THREE.Vector3,Q=new THREE.Vector3,N=new THREE.Vector3,W=new THREE.Vector3(0,1,0),H=new THREE.Vector2;h.prototype.dispose=function(){this.vl(null);this.l5();this.R5();this.$La();this.pp.ab()};h.Nb=function(L){L.I(f.Ss).manager=new h(L)};h.ab=function(L){var S=L.getComponent(f.Ss);S.manager.dispose();S.manager=null;L.na(f.Ss)};h.update=function(L){L.getComponent(f.Ss).manager.update()};h.frame=function(L,S,V){L.getComponent(f.Ss).manager.frame(S,V)};var O=
[];h.pP=function(L){O=[];L.forEach(function(S){0>O.indexOf(S.U)&&O.push(S.U)})};d.prototype.qUa=function(){this.OJ||(this.OJ=!0,this.Xha=Date.now()-this.S2<this.Yha,this.S2=Date.now())};d.prototype.rUa=function(){this.OJ&&(this.OJ=!1)};d.prototype.getState=function(){return this.OJ||Date.now()-this.S2<this.Yha?this.Xha?d.QZ:d.ri:d.Mj};d.Mj=0;d.ri=1;d.QZ=2;return h});
define("bV","require kV og bl ky ci fp kJ f nx jQ or hF bb nJ bD".split(" "),function(a){function d(I){this.o=I;this.k5(Q);this.Q5();this.pp=new m(I);this.Nc=w;this.Hp=this.Di=null;this.OG=.025;this.Xj=.25;this.Gh=void 0;this.wC=1;this.Wj=this.ej=this.Vj=this.um=this.tm=0;this.kk=[];this.mB=this.nB=this.oB=this.kB=this.jB=this.ex=this.Ci=this.St=this.Tt=this.Vt=this.Ut=this.Rt=void 0;this.L4=1E3;this.nK=void 0;this.oF=0;this.za=this.Pe=null;this.bC(t.Tz);this.update()}function h(I,M){I=M-I;180<I?
I-=360:-180>I&&(I+=360);return I}function l(){return(new Date).getTime()}var k=a("kV"),b=a("og"),g=a("bl");a("ky");var f=a("ci"),c=a("fp"),e=a("kJ"),m=a("f"),q=a("nx"),p=a("jQ"),n=a("or"),r=a("hF"),t=a("bb"),u=a("nJ"),v=a("bD");k.gX(d,[e,n,r]);d.prototype.update=function(){var I=this.o.getComponent(c.Sz);this.vl(I&&I.qc);this.pp.Aca(I&&I.qc);var M=(!I.AH||-1==T.indexOf(this.o.U))&&I.enabled;this.FV(I&&(M?I.eg:null));this.JK(!!I&&M&&I.cz);M||this.NB();M&&I.cz||(this.um=this.tm=this.Vj=this.ej=this.Wj=
0)};d.prototype.frame=function(I,M){this.Pe&&this.Pe.frame(I,M)&&this.Pp();this.uh&&(this.uh.wb(I),this.za.setX(this.uh.$a("x")),this.za.setY(this.uh.$a("y")),this.za.setZ(this.uh.$a("z")),this.za.yD(this.uh.$a("distance")),this.za.oi(0),this.uh.Fe()&&(this.uh=null));this.kg&&(this.kg=Math.max(0,this.kg-I/this.L4),this.za.setX(this.m.get("x")+this.mB*this.kg),this.za.setY(this.m.get("y")+this.nB*this.kg),this.za.setZ(this.m.get("z")+this.oB*this.kg),this.za.an(this.m.get("yaw")+this.kB*this.kg),this.za.Qv(this.m.get("pitch")+
this.jB*this.kg),this.za.oi(0),this.o.U.gb(),0==this.kg&&this.rM());if(this.um||this.tm||this.Vj||this.ej||this.Wj)M=I/1E3,this.U5(this.Vj*M,this.ej*M,this.Wj*M,this.um*M,this.tm*M);if(this.Nc==w&&void 0!==this.uk&&!this.ej&&this.m.get("keepHeight")&&void 0!==this.nK&&Math.abs(this.uk-this.m.get("y"))>S){this.oF=Math.max(this.oF-I,0);M=this.m.get("y");var X=this.uk-M;this.za.setY(M+Math.min(I*this.nK,Math.abs(X))*(0<X?1:-1));this.o.U.gb()}this.Nc!=w||!this.Hp||this.kg||this.uh||(this.DA(),this.o.U.gb());
this.pp.fda()};d.prototype.wL=function(){this.U9()};d.prototype.U9=function(){var I=0!=this.Wj||0!=this.ej||0!=this.Vj;this.um=this.tm=this.Wj=this.ej=this.Vj=0;var M=this.zf[g.qa.gn]?1:this.zf[g.qa.Ns]?-1:0,X=this.zf[g.qa.mt]?1:this.zf[g.qa.it]?-1:0,Y=this.zf[g.qa.Q]?1:this.zf[g.qa.E]?-1:0,ba=this.zf[g.qa.Mj]?1:this.zf[g.qa.ri]?-1:0,da=this.zf[g.qa.Ma]?1:this.zf[g.qa.eb]?-1:0;if(ba||da||M||X||Y){var ea=this.Ni?.2:1;M&&(this.Vj=-M*ea*this.m.get("translationSpeed"));Y&&(this.ej=-Y*ea*this.m.get("translationSpeed"));
X&&(this.Wj=-X*ea*this.m.get("translationSpeed"));da&&(this.um=-da*ea*100*this.m.get("rotationSpeed"));ba&&(this.tm=ba*ea*100*this.m.get("rotationSpeed"));this.DA();this.o.U.gb();this.G7();this.xFa();M=0!=this.Wj||0!=this.ej||0!=this.Vj;!I&&M&&this.rM()}};d.prototype.$T=function(){this.Rj=!0;this.Nc==C||this.Nc==E||l()<this.Gia+500||(this.bC(t.Th),this.Nc=w)};d.prototype.ZT=function(I,M,X,Y){if(this.Rj&&!(this.Nc==C||this.Nc==E||l()<this.Gia+500)){var ba=(I*I+M*M)/2500;ba=1<ba?1/Math.sqrt(ba):1;I*=
ba;M*=ba;ba=this.YGa();this.Nc!=ba?(this.Nc=ba,this.Nc==x?this.NNa(X,Y):this.Nc==y?this.Upa():this.Nc==A?this.$Na():this.Nc==z&&this.YNa()):this.Nc!=w&&(this.Nc==x?this.EPa(I,M,X,Y):this.Nc==y?this.fQa(I,M):this.Nc==A?this.hQa(I,M):this.Nc==z&&this.eQa(I,M))}};d.prototype.NB=function(){this.TU(t.Th);this.Rj=!1;this.Nc!=w&&(this.Nc=w,this.Di=null,this.Spa(),this.G7(),this.Xja(),this.o.U.gb())};d.prototype.cU=function(I){this.Nc!=B?(this.Nc=B,this.VNa()):this.RPa(I);this.T5&&clearTimeout(this.T5);this.T5=
setTimeout(function(){this.T5=null;this.Nc==B&&(this.Nc=w,this.Pp())}.bind(this),1E3)};d.prototype.Mla=function(I,M,X,Y,ba,da,ea,ia,fa,ha){this.Nc!=C&&this.Nc!=E?(I=.05<Math.abs(da-ba),X=5<h(fa,ha),M=Math.abs(Y-M)>.02*this.bB(),fa=10>Math.min(Math.abs(fa),180-Math.abs(fa),Math.abs(ha),180-Math.abs(ha)),ea=.2>ea/this.Zt(),(I||M)&&(fa||ea)?(this.Nc=E,this.ZNa()):!X&&!I||fa&&ea||(this.Nc=C,this.aOa())):this.Nc==C?this.iQa(ba,da,fa,ha):this.Nc==E&&this.gQa(M,Y,ba,da)};d.prototype.k6=function(){this.Di=
null;this.Nc==C&&this.Spa();this.Nc=w;this.Gia=l();this.G7();this.Xja();this.o.U.gb()};d.prototype.WF=function(I,M){if("zoom"==this.m.get("doubleClickAction")){var X=f.Um(this.o),Y=f.dc(this.o);Y&&X&&(D.set(I,M),this.CT(D),I=this.wK(D,Y),0!=I.length&&(this.Pp(),this.DA(),I=I[0].point,F.setFromMatrixPosition(Y.matrixWorld),this.uh=new u("quad_in_out",[new v("x",F.x,.5*(I.x+F.x)),new v("y",F.y,.5*(I.y+F.y)),new v("z",F.z,.5*(I.z+F.z)),new v("distance",0,0)],500)))}};d.prototype.YGa=function(){return this.BT?
this.Ni?y:x:this.xF()?this.Ni?z:A:w};d.prototype.NNa=function(I,M){this.uG();this.DA();this.XBa(I,M);this.m.get("keepHeight")&&this.iW();this.o.U.gb()};d.prototype.EPa=function(I,M,X,Y){var ba=f.dc(this.o);ba&&(F.setFromMatrixPosition(ba.matrixWorld),this.Di?(G.set(X,Y,0),this.CT(G),G.unproject(ba),I=this.Di.x-F.x,M=this.Di.z-F.z,-2<Math.atan2(this.Di.y-F.y,Math.sqrt(M*M+I*I))*L?(R.copy(this.Di).applyMatrix4(ba.matrixWorldInverse),U.copy(G).applyMatrix4(ba.matrixWorldInverse),I=R.z/U.z,J.copy(U).multiplyScalar(I).applyMatrix4(ba.matrixWorld).sub(this.Di),
0!=J.y&&this.Pp()):(I=(this.Di.y-F.y)/(G.y-F.y),J.copy(G).sub(F).multiplyScalar(I).add(F).sub(this.Di)),J.multiplyScalar(-1)):(V.makeRotationFromEuler(K.set(0,-this.m.get("yaw")*O,0,"YXZ")),Z.set(-I*this.m.get("translationSpeed")/this.Zt(),0,-M*this.m.get("translationSpeed")/this.Zt()).applyMatrix4(V),J.copy(Z).multiplyScalar(10*this.wC)),this.za.setX(F.x+J.x),this.za.setY(F.y+J.y),this.za.setZ(F.z+J.z),this.YG(J.x,J.y,J.z,0,0),this.za.oi(this.Xj))};d.prototype.Upa=function(){this.uG();this.Di=null;
this.X0();this.Pp();this.o.U.gb()};d.prototype.fQa=function(I,M){var X;X||=1;I=360*I/this.gK()*this.m.get("rotationSpeed");M=180*-M/this.bB()*this.m.get("rotationSpeed");this.za.an(this.m.get("yaw")+I);this.za.Qv(this.m.get("pitch")+M);this.za.yD(this.W6/X);this.YG(0,0,0,I,M);this.za.oi(this.Xj);this.o.U.gb()};d.prototype.$Na=function(){this.Upa()};d.prototype.hQa=function(I,M){var X=f.dc(this.o),Y=this.m.get("distance")||this.Gh||1;M=M*Y*2*Math.tan(X.fov*O/2)/this.bB();0!=M&&this.Pp();this.za.setY(this.m.get("y")+
M);I=360*I/this.gK()*this.m.get("rotationSpeed");this.za.an(this.m.get("yaw")+I);this.YG(0,M,0,I,0);this.za.oi(this.Xj)};d.prototype.YNa=function(){this.uG();this.DA();this.Pp();this.o.U.gb()};d.prototype.eQa=function(I,M){I=360*-I/this.gK()*this.m.get("rotationSpeed");M=180*M/this.bB()*this.m.get("rotationSpeed");this.za.an(this.m.get("yaw")+I);this.za.Qv(this.m.get("pitch")+M);this.YG(0,0,0,I,M);this.za.oi(this.Xj);this.o.U.gb()};d.prototype.VNa=function(){this.Pp();this.uG();this.Di=null;this.DA();
this.m.get("keepHeight")&&this.iW();this.o.U.gb()};d.prototype.RPa=function(I){this.QMa(Z);Z.multiplyScalar(-I*this.m.get("translationSpeed")*(this.wC||1));this.Gh&&this.gga(this.Gh+Z.y);this.za.setX(this.m.get("x")+Z.x);this.za.setY(this.m.get("y")+Z.y);this.za.setZ(this.m.get("z")+Z.z);this.za.oi(this.OG)};d.prototype.aOa=function(){this.uG();this.Di=null;this.X0();this.Pp();this.o.U.gb();this.Ir=void 0};d.prototype.iQa=function(I,M,X,Y){void 0!==this.Ir||(this.Ir=X);X=h(this.Ir,Y);this.Ir=Y;this.za.an(this.m.get("yaw")+
X);this.za.yD(this.W6*I/M);this.YG(0,0,0,X,0);this.za.oi(this.Xj);this.o.U.gb()};d.prototype.ZNa=function(){this.uG();this.Di=null;this.X0();this.Pp();this.o.U.gb();this.YU=void 0};d.prototype.gQa=function(I,M,X,Y){void 0!==this.YU||(this.YU=I);I=180*-(M-this.YU)/this.bB();this.YU=M;this.za.Qv(this.m.get("pitch")+I);this.za.yD(this.W6*X/Y);this.YG(0,0,0,0,I);this.za.oi(this.Xj);this.o.U.gb()};d.prototype.XBa=function(I,M){var X=f.Um(this.o),Y=f.dc(this.o);this.Di=null;Y&&X&&(D.set(I,M),this.CT(D),
I=this.wK(D,Y),I.length&&(this.Di=I[0].point))};d.prototype.X0=function(){this.Hp=null;var I=f.Um(this.o),M=f.dc(this.o);M&&I&&(D.set(0,0),I=this.wK(D,M),I.length&&(this.Hp=I[0].point),this.Hp||(this.Hp=(new THREE.Vector3).setFromMatrixPosition(M.matrixWorld)),this.m.set("distance",F.setFromMatrixPosition(M.matrixWorld).distanceTo(this.Hp)),this.W6=this.m.get("distance"),this.m.set("x",this.Hp.x),this.m.set("y",this.Hp.y),this.m.set("z",this.Hp.z),this.m.set("easing",0))};d.prototype.DA=function(){this.Hp&&
(this.Hp=null,F.setFromMatrixPosition(f.dc(this.o).matrixWorld),this.m.set("distance",0),this.m.set("x",F.x),this.m.set("y",F.y),this.m.set("z",F.z),this.m.set("easing",0))};var w="none",x="dragging",y="rotating",A="rotating yaw dragging y",B="moving front",z="rotating around camera",C="rotating yaw gesture",E="rotating pitch gesture",F=new THREE.Vector3,G=new THREE.Vector3,J=new THREE.Vector3,R=new THREE.Vector3,U=new THREE.Vector3;d.prototype.vl=function(I){this.m!=I&&(this.m&&(this.Pe&&(this.Pe.dispose(),
this.Pe=null),this.za=null,N.forEach(function(M){this.m.unbind(b.G(M),this.nra,this,!1)}.bind(this)),W.forEach(function(M){this.m.unbind(b.G(M),this.mv,this,!1)}.bind(this)),H.forEach(function(M){this.m.unbind(b.G(M),this.Zp,this,!1)}.bind(this)),this.m.set("userInteracting",!1)),this.m=I)&&(this.za=new q(this.m),this.vK(),N.forEach(function(M){this.m.bind(b.G(M),this.nra,this,!1)}.bind(this)),W.forEach(function(M){this.m.bind(b.G(M),this.mv,this,!1)}.bind(this)),H.forEach(function(M){this.m.bind(b.G(M),
this.Zp,this,!1)}.bind(this)),this.mv(),this.Zp(),this.Pe=new p(this.o,this.m),this.m.set("userInteracting",!1))};d.prototype.vK=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")))};d.prototype.mv=function(){if(this.o&&this.m){var I=this.o.L(c.Ba,!0);I.translationX=this.m.get("x");
var M=this.m.get("y")-I.translationY;Math.abs(M)>S&&(I.translationY=this.m.get("y"),this.Nc!=w||this.Vj||this.ej||this.Wj||this.um||this.tm||this.uh||this.kg||this.Pp());I.Sf=this.m.get("z");I.Ge=-this.m.get("yaw");I.df=this.m.get("pitch");I.ef=0;I.vg="YXZ";I.positionX=0;I.positionY=0;I.positionZ=this.m.get("distance");I.easing=this.m.get("easing");(void 0!==this.m.get("minHeight")||this.m.get("keepHeight"))&&this.Bra()}};d.prototype.Zp=function(){this.o&&this.m&&(this.o.L(c.PerspectiveCamera,!0).fov=
this.m.get("fov"))};d.prototype.U5=function(I,M,X,Y,ba){var da=this.o.getComponent(c.Ba);da&&(V.makeRotationFromEuler(K.set(0,da.Ge*O,0,da.vg)),Z.set(I,M,X).applyMatrix4(V).multiplyScalar(this.wC),void 0!==this.Gh&&(this.Gh+=Z.y,this.rM()),this.za.setX(this.m.get("x")+Z.x),this.za.setY(this.m.get("y")+Z.y),this.za.setZ(this.m.get("z")+Z.z),this.za.an(this.m.get("yaw")+Y),this.za.Qv(this.m.get("pitch")+ba),this.za.oi(this.Xj))};d.prototype.QMa=function(I){var M=this.o.getComponent(c.Ba);M&&(V.makeRotationFromEuler(K.set(M.df*
O,M.Ge*O,M.ef*O,M.vg)),I.set(0,0,1).applyMatrix4(V))};d.prototype.uG=function(){this.ex=l();this.Ci=1;this.St=this.Tt=this.Vt=this.Ut=this.Rt=0;this.kg=this.mB=this.nB=this.oB=this.kB=this.jB=void 0};d.prototype.YG=function(I,M,X,Y,ba){var da=l();this.Ci=da-this.ex;this.ex=da;this.St=I;this.Tt=M;this.Vt=X;this.Ut=Y;this.Rt=ba};d.prototype.Spa=function(){this.Ci&&(this.mB=this.St/this.Ci,this.nB=this.Tt/this.Ci,this.oB=this.Vt/this.Ci,this.kB=this.Ut/this.Ci,this.jB=this.Rt/this.Ci,this.kg=1)};d.prototype.nra=
function(){void 0!==this.m.get("minHeight")&&(void 0===this.Gh&&this.iW(),void 0!==this.Gh&&this.Gh<this.m.get("minHeight")&&(this.Gh=this.m.get("minHeight")),this.Bra())};d.prototype.Pp=function(){this.Gh=this.uk=void 0;this.sM&&(clearTimeout(this.sM),this.sM=null)};d.prototype.Xja=function(){this.oF=2E3;this.nK=void 0;this.o.U.gb()};d.prototype.xFa=function(){this.oF=0;this.nK=Infinity;this.o.U.gb()};d.prototype.G7=function(){this.Di||void 0!==this.Gh||this.sM||(this.sM=setTimeout(function(){this.sM=
null;this.iW()}.bind(this),0))};d.prototype.iW=function(){var I=this.ija();void 0!==I?this.gga(I):this.rM()};d.prototype.gga=function(I){var M=this.m.get("minHeight")||I;this.Gh=Math.max(I,M);this.rM();this.uk=this.m.get("y")+this.Gh-I};d.prototype.rM=function(){if(this.Gh)this.wC=Math.min(10,Math.max(this.Gh||0,.1));else{this.fp(Z);this.GGa(ca);var I=this.LS(Z,ca);this.wC=I.length?Z.distanceTo(I[0].point):Z.y-(this.m.get("minY")||0)}this.wC=Math.max(Math.abs(this.wC||0),.1)};d.prototype.Bra=function(){this.Cra||
void 0===this.Gh||(this.Cra=setTimeout(function(){this.Cra=null;var I=this.ija();void 0!==I&&void 0!==this.Gh&&(I=this.Gh-I,this.nK=0==this.oF?Infinity:Math.abs(I/this.oF),this.uk=this.m.get("y")+I,0!==I&&this.o.U.gb())}.bind(this),0))};d.prototype.ija=function(){if(this.m)return this.fp(Z),this.iHa(Z.x,Z.y,Z.z)};d.prototype.iHa=function(I,M,X){var Y=this.LS(Z.set(I,M,X),ca.set(0,-1,0));if(0<Y.length)return Y[0].distance;Y=this.LS(Z.set(I,M+1E3,X),ca.set(0,-1,0));if(0<Y.length)return Y[Y.length-1].distance-
1E3};d.prototype.LS=function(I,M){P.ray.origin.copy(I);P.ray.direction.copy(M);return P.intersectObjects(this.kr(),!1)};d.prototype.wK=function(I,M){P.setFromCamera(I,M);return P.intersectObjects(this.kr(),!1)};d.prototype.kr=function(){var I=this.o&&f.Um(this.o);if(!I)return[];var M=[];I.traverse(function(X){X.isSprite||X.isLine||M.push(X)});return M};d.prototype.fp=function(I){I.set(0,0,0);this.m&&(I.applyMatrix4(V.makeTranslation(0,0,this.m.get("distance"))),I.applyMatrix4(V.makeRotationFromEuler(K.set(this.m.get("pitch")*
O,-this.m.get("yaw")*O,0*O,"YXZ"))),I.applyMatrix4(V.makeTranslation(this.m.get("x"),this.m.get("y"),this.m.get("z"))))};d.prototype.GGa=function(I){this.m?(V.makeRotationFromEuler(K.set(this.m.get("pitch")*O,-this.m.get("yaw")*O,0,"YXZ")),I.set(0,0,-1).applyMatrix4(V)):I.set(0,0,-1)};var Q=[g.qa.Mj,g.qa.ri,g.qa.Ma,g.qa.eb,g.qa.gn,g.qa.it,g.qa.Ns,g.qa.mt,g.qa.Q,g.qa.E],N=["minHeight"],W="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),
H=["minFov","maxFov","fov"],O=Math.PI/180,L=180/Math.PI,S=1E-6,V=new THREE.Matrix4,Z=new THREE.Vector3(0,0,0),ca=new THREE.Vector3(0,0,0),D=new THREE.Vector2(0,0),K=new THREE.Euler,P=new THREE.Raycaster;d.prototype.dispose=function(){this.DA();this.vl(null);this.l5();this.R5();this.pp.ab()};d.Nb=function(I){I.I(c.Us).manager=new d(I)};d.ab=function(I){var M=I.getComponent(c.Us);M.manager.dispose();M.manager=null;I.na(c.Us)};d.update=function(I){I.getComponent(c.Us).manager.update()};d.frame=function(I,
M,X){I.getComponent(c.Us).manager.frame(M,X)};var T=[];d.pP=function(I){T=[];I.forEach(function(M){0>T.indexOf(M.U)&&T.push(M.U)})};return d});
define("hx","require kV og bl fp kJ f nx jQ or hF bb".split(" "),function(a){function d(A){this.o=A;this.k5(v);this.Q5();this.pp=new f(A);this.qk=new THREE.Matrix4;this.OG=.05;this.Xj=.25;this.Vj=this.ej=this.Wj=this.um=this.tm=0;this.mB=this.nB=this.oB=this.kB=this.jB=this.ex=this.Ci=this.St=this.Tt=this.Vt=this.Ut=this.Rt=void 0;this.L4=1E3;this.Eoa=720;this.Cqa=4;this.tka=720;this.m5=2;this.za=this.Pe=null;this.bC(p.Tz);this.update()}var h=a("kV"),l=a("og"),k=a("bl"),b=a("fp"),g=a("kJ"),f=a("f"),
c=a("nx"),e=a("jQ"),m=a("or"),q=a("hF"),p=a("bb");h.gX(d,[g,m,q]);d.prototype.update=function(){var A=this.o.getComponent(b.Xz);this.vl(A&&A.qc);this.pp.Aca(A&&A.qc);var B=(!A.AH||-1==y.indexOf(this.o.U))&&A.enabled;this.FV(A&&(B?A.eg:null));this.JK(!!A&&B&&A.cz);B||this.NB();B&&A.cz||(this.um=this.tm=this.Vj=this.ej=this.Wj=0)};d.prototype.frame=function(A,B){this.Pe&&this.Pe.frame(A,B);this.kg&&(this.kg=Math.max(0,this.kg-A/this.L4),this.za.setX(this.m.get("x")+this.mB*this.kg),this.za.setY(this.m.get("y")+
this.nB*this.kg),this.za.setZ(this.m.get("z")+this.oB*this.kg),this.za.an(this.m.get("yaw")+this.kB*this.kg),this.za.Qv(this.m.get("pitch")+this.jB*this.kg),this.o.U.gb());if(this.um||this.tm||this.Vj||this.ej||this.Wj)A/=1E3,this.U5(this.Vj*A,this.ej*A,this.Wj*A,this.um*A,this.tm*A);this.pp.fda()};d.prototype.wL=function(){this.U9()};d.prototype.U9=function(){this.um=this.tm=this.Wj=this.ej=this.Vj=0;var A=this.zf[k.qa.gn]?1:this.zf[k.qa.Ns]?-1:0,B=this.zf[k.qa.mt]?1:this.zf[k.qa.it]?-1:0,z=this.zf[k.qa.Q]?
1:this.zf[k.qa.E]?-1:0,C=this.zf[k.qa.Mj]?1:this.zf[k.qa.ri]?-1:0,E=this.zf[k.qa.Ma]?1:this.zf[k.qa.eb]?-1:0;if(A||B||z||C||E){var F=this.Ni?.2:1;A&&(this.Vj=-A*F*this.m5*this.m.get("translationSpeed"));z&&(this.ej=-z*F*this.m5*this.m.get("translationSpeed"));B&&(this.Wj=-B*F*this.m5*this.m.get("translationSpeed"));E&&(this.um=E*F*this.tka*this.m.get("rotationSpeed"));C&&(this.tm=-C*F*this.tka*this.m.get("rotationSpeed"));this.o.U.gb()}};d.prototype.$T=function(){this.bC(p.Th);this.Rj=!0;this.ex=
(new Date).getTime();this.Ci=1;this.St=this.Tt=this.Vt=this.Ut=this.Rt=0;this.kg=this.mB=this.nB=this.oB=this.kB=this.jB=void 0;this.o.U.gb()};d.prototype.ZT=function(A,B){if(this.Rj){var z=(A*A+B*B)/2500;z=1<z?1/Math.sqrt(z):1;A*=z;B*=z;z=(new Date).getTime();this.Ci=z-this.ex;this.ex=z;this.St=this.Tt=this.Vt=this.Ut=this.Rt=0;z=this.BT;this.Ni&&(z=!z);z?(this.Ut=+A*this.m.get("rotationSpeed")*this.Eoa/this.Zt(),this.Rt=-B*this.m.get("rotationSpeed")*this.Eoa/this.Zt(),this.Doa(this.Ut,this.Rt)):
(this.$ia(A*this.Cqa/this.Zt(),B*this.Cqa/this.Zt(),r),this.St=r.x,this.Tt=r.y,this.Vt=r.z,this.w9(this.St,this.Tt,this.Vt));this.za.oi(this.Xj)}};d.prototype.$ia=function(A,B,z){var C=this.o.getComponent(b.Ba);z.set(-A*this.m.get("translationSpeed"),+B*this.m.get("translationSpeed"),0*this.m.get("translationSpeed"));z.applyMatrix4(u.makeRotationFromEuler(t.set(C.df*n,C.Ge*n,C.ef*n,C.vg)));z.multiplyScalar(this.m.get("distance"))};d.prototype.NB=function(){this.TU(p.Th);this.Rj&&(this.Rj=!1,this.Ci&&
(this.mB=this.St/this.Ci,this.nB=this.Tt/this.Ci,this.oB=this.Vt/this.Ci,this.kB=this.Ut/this.Ci,this.jB=this.Rt/this.Ci,this.kg=1,this.za.oi(this.Xj)),this.ex=void 0)};d.prototype.cU=function(A){this.za.yD(this.m.get("distance")-A*this.m.get("distance")*this.m.get("translationSpeed"));this.za.oi(this.OG)};d.prototype.Ola=function(){this.Yja=this.m.get("distance");this.Rj=!1};d.prototype.Nla=function(A,B,z){this.$ia(A/this.Zt(),B/this.Zt(),r);this.w9(r.x,r.y,r.z);this.za.yD(this.Yja/z);this.za.oi(this.Xj)};
d.prototype.k6=function(){this.Yja=this.m.get("distance")};d.prototype.U5=function(A,B,z,C,E){var F=this.o.getComponent(b.Ba);F&&(u.makeRotationFromEuler(t.set(0,F.Ge*n,0,F.vg)),r.set(A,B,z).applyMatrix4(u).multiplyScalar(this.m.get("distance")),this.w9(r.x,r.y,r.z),this.Doa(C,E),this.za.oi(this.Xj))};d.prototype.w9=function(A,B,z){this.za.setX(this.m.get("x")+A);this.za.setY(this.m.get("y")+B);this.za.setZ(this.m.get("z")+z)};d.prototype.Doa=function(A,B){this.za.an(this.m.get("yaw")+A);this.za.Qv(this.m.get("pitch")+
B)};d.prototype.vl=function(A){this.m!=A&&(this.m&&(this.Pe&&(this.Pe.dispose(),this.Pe=null),this.za=null,w.forEach(function(B){this.m.unbind(l.G(B),this.mv,this,!1)}.bind(this)),x.forEach(function(B){this.m.unbind(l.G(B),this.Zp,this,!1)}.bind(this)),this.m.set("userInteracting",!1)),this.m=A)&&(this.m.set("userInteracting",!1),this.za=new c(this.m),this.vK(),w.forEach(function(B){this.m.bind(l.G(B),this.mv,this,!1)}.bind(this)),x.forEach(function(B){this.m.bind(l.G(B),this.Zp,this,!1)}.bind(this)),
this.mv(),this.Zp(),this.Pe=new e(this.o,this.m))};d.prototype.vK=function(){this.m&&(this.m.set("fov",this.m.get("initialFov")),this.m.set("x",this.m.get("initialX")),this.m.set("y",this.m.get("initialY")),this.m.set("z",this.m.get("initialZ")),this.m.set("yaw",this.m.get("initialYaw")),this.m.set("pitch",this.m.get("initialPitch")),this.m.set("distance",this.m.get("initialDistance")),this.m.set("easing",this.Xj))};d.prototype.mv=function(){if(this.o&&this.m){var A=this.o.L(b.Ba,!0);A.translationX=
this.m.get("x");A.translationY=this.m.get("y");A.Sf=this.m.get("z");A.Ge=-this.m.get("yaw");A.df=this.m.get("pitch");A.ef=0;A.vg="YXZ";A.positionX=0;A.positionY=0;A.positionZ=this.m.get("distance");A.easing=this.m.get("easing")}};d.prototype.Zp=function(){this.o&&this.m&&(this.o.L(b.PerspectiveCamera,!0).fov=this.m.get("fov"))};var n=Math.PI/180,r=new THREE.Vector3(0,1,0),t=new THREE.Euler,u=new THREE.Matrix4,v=[k.qa.Mj,k.qa.ri,k.qa.Ma,k.qa.eb,k.qa.gn,k.qa.it,k.qa.Ns,k.qa.mt,k.qa.Q,k.qa.E],w="easing minYaw maxYaw yaw minPitch maxPitch pitch minDistance maxDistance distance minX maxX x minY maxY y minZ maxZ z".split(" "),
x=["minFov","maxFov","fov"];d.prototype.dispose=function(){this.vl(null);this.l5();this.R5();this.pp.ab()};d.Nb=function(A){A.I(b.dt).manager=new d(A)};d.ab=function(A){var B=A.getComponent(b.dt);B.manager.dispose();B.manager=null;A.na(b.dt)};d.update=function(A){A.getComponent(b.dt).manager.update()};d.frame=function(A,B,z){A.getComponent(b.dt).manager.frame(B,z)};var y=[];d.pP=function(A){y=[];A.forEach(function(B){0>y.indexOf(B.U)&&y.push(B.U)})};return d});
define("gM","require kV lf fp dE bV hx".split(" "),function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("dE"),b=a("bV"),g=a("hx");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(f,c){this.sta.D.length&&this.sta.D.slice().forEach(b.Nb);this.qO.Za.length&&this.qO.Za.slice().forEach(b.update);this.qO.D.length&&this.qO.D.slice().forEach(function(e){b.frame(e,f,c)});this.tta.D.length&&this.tta.D.slice().forEach(b.ab);this.nta.D.length&&this.nta.D.slice().forEach(k.Nb);this.pO.Za.length&&
this.pO.Za.slice().forEach(k.update);this.pO.D.length&&this.pO.D.slice().forEach(function(e){k.frame(e,f,c)});this.ota.D.length&&this.ota.D.slice().forEach(k.ab);this.kwa.D.length&&this.kwa.D.slice().forEach(g.Nb);this.cP.Za.length&&this.cP.Za.slice().forEach(g.update);this.cP.D.length&&this.cP.D.slice().forEach(function(e){g.frame(e,f,c)});this.lwa.D.length&&this.lwa.D.slice().forEach(g.ab);if(this.mO.fg.length||this.mO.Wm.length)k.pP(this.mO.D),this.pO.D.slice().forEach(k.update),b.pP(this.mO.D),
this.qO.D.slice().forEach(b.update),g.pP(this.mO.D),this.cP.D.slice().forEach(g.update)};a.J={};a.J.mO=[l.fw];a.J.nta=[l.Rz,l.Ss.not];a.J.pO=[l.Rz,l.Ss];a.J.ota=[l.Rz.not,l.Ss];a.J.sta=[l.Sz,l.Us.not];a.J.qO=[l.Sz,l.Us];a.J.tta=[l.Sz.not,l.Us];a.J.kwa=[l.Xz,l.dt.not];a.J.cP=[l.Xz,l.dt];a.J.lwa=[l.Xz.not,l.dt];return a});
define("it",["require","fp"],function(a){function d(l){this.o=l;this.Qpa=this.ia=null;this.ua=this.ea=void 0;this.update()}var h=a("fp");d.prototype.update=function(){var l=this.o.getComponent(h.Sh),k=l.source&&l.source.width||0,b=l.source&&l.source.height||0;!this.ia||!!this.ia.$Ya==l.isSprite&&this.ea==k&&this.ua==b||(this.ia.map.dispose(),this.ia.dispose(),this.ia=null);this.ea=k;this.ua=b;this.ia||(l.isSprite?(this.ia=new THREE.SpriteMaterial,this.ia.sizeAttenuation=!1):this.ia=new THREE.MeshBasicMaterial,
this.ia.map=new THREE.Texture,this.ia.transparent=!0,this.o.I(h.Material).material=this.ia);this.ia.map.image!=l.source&&(this.ia.map.image=l.source,this.ia.map.needsUpdate=!0);this.Qpa!=l.HP&&(this.Qpa=l.HP,this.ia.map.needsUpdate=!0);this.ia.opacity=l.opacity||0;this.ia.depthTest=!!l.depthTest;this.ia.visible=0<this.ia.opacity&&!l.hidden;this.ia.needsUpdate=!0;this.o.U.gb()};d.prototype.dispose=function(){this.ia&&(this.ia.map.dispose(),this.ia.map=null,this.ia.dispose(),this.ia=null,this.o.na(h.Material));
this.o=null};d.Nb=function(l){l.I(h.dw).manager=new d(l)};d.ab=function(l){var k=l.getComponent(h.dw);k.manager.dispose();k.manager=null;l.na(h.dw)};d.update=function(l){l.getComponent(h.dw).manager.update()};return d});
define("hV",["require","kV","lf","fp","it"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("it");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Jl.D.length&&this.Jl.D.slice().forEach(k.Nb);this.materials.Za.length&&this.materials.Za.slice().forEach(k.update);this.Kl.D.length&&this.Kl.D.slice().forEach(k.ab)};a.J={};a.J.Jl=[l.Sh,l.dw.not];a.J.materials=[l.Sh,l.dw];a.J.Kl=[l.Sh.not,l.dw];return a});
define("dS",["require","og","fp","ci","bb"],function(a){function d(x){this.hi=x;this.ce=this.Eg=null;this.QJ=!1;this.update()}var h=a("og"),l=a("fp"),k=a("ci"),b=a("bb");d.prototype.update=function(){var x=this.hi.getComponent(l.zg);this.JM(x&&x.enabled?x.waa:null);this.IM(x&&x.enabled?x.oaa:null)};d.prototype.frame=function(){this.Bf()};d.prototype.JM=function(x){this.Eg!=x&&(this.Eg&&this.Eg.unbind(h.ec,this.Xe,this,!0),(this.Eg=x)&&this.Eg.bind(h.ec,this.Xe,this,!0))};d.prototype.IM=function(x){this.ce!=
x&&(this.ce&&this.QJ&&this.ce.pop(b.Th),(this.ce=x)&&this.QJ&&this.ce.push(b.Th))};d.prototype.Xe=function(){var x=v.get(this.hi.U);x&&0!=x.length&&this.hi.U.gb()};d.prototype.Bf=function(){var x=v.get(this.hi.U),y=x&&x.length||0;this.epa(0<y);if(0!=y&&(y=this.lS())){var A=this.hi.getComponent(l.zg);if(A)for(g.copy(A.origin).applyMatrix4(y.matrixWorld),f.copy(A.origin).add(A.direction).applyMatrix4(y.matrixWorld).sub(g).normalize(),y=0;y<x.length;y++){A=x[y];var B=A.getComponent(l.yo),z=A.getComponent(l.ew),
C=w.get(A);C&&B&&z&&(z.bta||(z.bta=(new THREE.Vector3).setFromMatrixPosition(C.matrixWorld)),c.copy(z.bta),e.copy(B.direction),this.aHa(c,e,g,f,m),z.raa||(z.raa=(new THREE.Vector3).copy(m).sub(c)),m.sub(z.raa),B.min&&0>q.copy(m).sub(B.min).dot(B.direction)&&m.copy(B.min),m.applyMatrix4(p.copy(C.parent.matrixWorld).invert()),A=A.L(l.Ba),n.multiply(p.makeTranslation(A.translationX,A.translationY,A.Sf).invert()),n.multiply(p.makeRotationFromEuler(r.set(A.df*u,A.Ge*u,A.ef*u,A.vg)).invert()),m.applyMatrix4(p),
A.positionX=m.x,A.positionY=m.y,A.positionZ=m.z)}}};d.prototype.epa=function(x){this.QJ!=x&&(this.QJ=x,this.ce&&(this.QJ?this.ce.push(b.Th):this.ce.pop(b.Th)))};d.prototype.aHa=function(x,y,A,B,z){t.copy(x).sub(A);A=y.dot(B);var C=B.dot(B),E=y.dot(y);B=t.dot(B);var F=t.dot(y);z.copy(x);x=A*A-C*E;0!=x&&z.addScaledVector(y,(C*F-B*A)/x)};d.prototype.lS=function(){var x=k.dc(this.hi);return x&&x.isCamera?x:(x=k.NH(x))&&k.Zy(x)};var g=new THREE.Vector3,f=new THREE.Vector3,c=new THREE.Vector3,e=new THREE.Vector3,
m=new THREE.Vector3,q=new THREE.Vector3,p=new THREE.Matrix4,n=new THREE.Matrix4,r=new THREE.Euler,t=new THREE.Vector3,u=Math.PI/180;d.prototype.dispose=function(){this.epa(!1);this.JM(null);this.IM(null);this.o=null};d.Mca=function(x){x.I(l.gt).manager=new d(x)};d.Wca=function(x){var y=x.getComponent(l.gt);y.manager.dispose();y.manager=null;x.na(l.gt)};d.gda=function(x){x.getComponent(l.gt).manager.update()};d.frame=function(x){x.getComponent(l.gt).manager.frame()};var v=new Map,w=new Map;d.MWa=function(x){x.I(l.ew);
x.I(l.fw);d.Gya(x)};d.Gya=function(x){var y=k.dc(x);w.set(x,y);var A=v.get(x.U);A||v.set(x.U,A=[]);y&&(y=A,0>y.indexOf(x)&&y.push(x))};d.kya=function(x){var y=v.get(x.U),A=y.indexOf(x);0<=A&&y.splice(A,1);w["delete"](x);x.na(l.ew);x.na(l.fw)};return d});
define("kD",["require","kV","lf","fp","dS"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("dS");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.gP.D.length&&this.gP.D.slice().forEach(k.Mca);this.Ev.Za.length&&this.Ev.Za.slice().forEach(k.gda);this.Ev.D.length&&this.Ev.D.slice().forEach(k.frame);this.hP.D.length&&this.hP.D.slice().forEach(k.Wca);this.ata.D.length&&this.ata.D.slice().forEach(k.MWa);this.$sa.D.length&&this.$sa.D.slice().forEach(k.Gya);this.cta.D.length&&
this.cta.D.slice().forEach(k.kya);this.dta.D.length&&this.dta.D.slice().forEach(k.kya)};a.J={};a.J.gP=[l.zg,l.gt.not];a.J.Ev=[l.zg,l.gt];a.J.hP=[l.zg.not,l.gt];a.J.ata=[l.Object3D,l.yo,l.ew.not];a.J.$sa=[l.Object3D,l.yo,l.ew];a.J.cta=[l.Object3D.not,l.ew];a.J.dta=[l.yo.not,l.ew];return a});
define("ku",["require","fp","ci"],function(a){function d(w){this.o=w;this.l7=!1}var h=a("fp"),l=a("ci");d.prototype.update=function(){this.l7=!1};d.prototype.frame=function(){this.Bf()};d.prototype.Bf=function(){if(!this.l7&&(this.Fa=this.Fa||l.Um(this.o))){var w=l.dc(this.o),x=w&&w.parent;if(x&&x.matrixWorld){var y=[];this.Fa.traverse(function(C){C.isSprite||C.isLine||C==w||y.push(C)});var A=this.o.L(h.Ts);m.set(A.x,A.y,A.z).applyMatrix4(x.matrixWorld);e.ray.origin.set(m.x,m.y,m.z);e.ray.direction.set(0,
-1,0);var B=e.intersectObjects(y,!1);if(0!=B.length){var z=B[0];g.copy(x.matrixWorld).invert();B=this.o.L(h.Ba,!0);f.setFromMatrixPosition(x.matrixWorld);k.copy(z.object.matrixWorld);c.setFromMatrixPosition(k);b.copy(k).invert();!A.NO&&z.face&&z.face.normal?n.copy(z.face.normal).applyMatrix4(k).sub(c).add(f):n.copy(f).add(r);n.applyMatrix4(g).normalize();u.setFromUnitVectors(p,n);t.setFromQuaternion(u,B.vg);B.df=t.x*v;B.Ge=t.y*v;B.ef=t.z*v;m.copy(z.point).applyMatrix4(g);B.translationX=m.x;B.translationY=
m.y;B.Sf=m.z;q.setFromMatrixScale(g);x=Math.max(q.x,q.y,q.z);B.positionX=0;B.positionY=0;B.positionZ=x*A.distance;this.l7=!0}}}};d.prototype.dispose=function(){};var k=new THREE.Matrix4,b=new THREE.Matrix4,g=new THREE.Matrix4,f=new THREE.Vector3,c=new THREE.Vector3,e=new THREE.Raycaster,m=new THREE.Vector3,q=new THREE.Vector3;new THREE.Matrix4;new THREE.Matrix4;var p=new THREE.Vector3(0,0,1),n=new THREE.Vector3,r=new THREE.Vector3(0,1,0),t=new THREE.Euler,u=new THREE.Quaternion,v=180/Math.PI;d.Nb=
function(w){w.I(h.Hq).manager=new d(w)};d.ab=function(w){var x=w.getComponent(h.Hq);x.manager.dispose();x.manager=null;w.na(h.Hq)};d.frame=function(w){w.getComponent(h.Hq).manager.frame()};d.update=function(w){w.getComponent(h.Hq).manager.update()};return d});
define("ht",["require","kV","lf","fp","ku"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("ku");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.pta.D.length&&this.pta.D.slice().forEach(k.Nb);this.xX.Za.length&&this.xX.D.slice().forEach(k.update);this.xX.D.length&&this.xX.D.slice().forEach(k.frame);this.qta.D.length&&this.qta.D.slice().forEach(k.ab);this.rta.D.length&&this.rta.D.slice().forEach(k.ab)};a.J={};a.J.pta=[l.Object3D,l.Ts,l.Hq.not];a.J.xX=[l.Object3D,
l.Ts,l.Hq];a.J.qta=[l.Object3D.not,l.Hq];a.J.rta=[l.Ts.not,l.Hq];return a});define("fX",["require","fp"],function(a){var d=a("fp");return{Nb:function(h){var l=h.I(d.XD),k=h.I(d.Object3D);h.I(d.Ba);h=h.L(d.Group);k.Zc=l.group=h.group=new THREE.Group},ab:function(h){h.getComponent(d.XD).group=null;h.na(d.XD);h.na(d.Object3D)}}});
define("la",["require","kV","lf","fp","fX"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("fX");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.kua.D.length&&this.kua.D.slice().forEach(k.Nb);this.lua.D.length&&this.lua.D.slice().forEach(k.ab)};a.J={};a.J.kua=[l.Group,l.XD.not];a.J.lua=[l.Group.not,l.XD];return a});
define("be","require kV og kx cu fV bf".split(" "),function(a){function d(m,q,p,n){this.bba=m;this.src=m.src;this.RY=q;this.hO=p;this.BX=n;this.frameWidth=this.bba.width/this.hO;this.frameHeight=this.bba.height/this.RY}var h=a("kV"),l=a("og"),k=a("kx");a("cu");var b=a("fV"),g=a("bf");a=h.extend(b,function(m,q,p,n,r,t,u){b.call(this);this.om=r;this.Yg=new d(m,q,p,r);this.toa=t;this.mca(n);this.q3=u;this.O=document.createElement("canvas");this.O.width=this.Yg.frameWidth;this.O.height=this.Yg.frameHeight;
this.ya=this.O.getContext("2d");this.ya.globalCompositeOperation="copy";this.A=k.S;this.gV=this.hm=0;this.g2=void 0;this.wh=f.request(this.Yg);this.wh.bind(l.sa,this.aj,this,!0);this.aj()});a.prototype.mca=function(m){if(this.ze!==m){var q=this.qN;this.ze=m;this.qN=this.ze*this.Yg.BX;this.r3=this.qN-.1*this.ze;void 0!==q&&(this.hm=this.hm/q*this.qN)}};a.prototype.qxa=function(m){this.q3!==m&&(this.q3=m,this.aj())};a.prototype.Gd=function(m){if(this.A!=m){if(m==k.Cb){if(this.A!=k.X)return}else m==
k.X?this.A==k.S&&(this.hm=this.gV=0,this.aj()):m!=k.S||0==this.hm&&0!=this.gV||(this.hm=this.r3,this.aj());this.A=m;g.requestFrame(this.lj,this);this.trigger(l.ge)}};a.prototype.getState=function(){return this.A};a.prototype.lj=function(m){this.A==k.X&&(this.hm=Math.min(this.hm+m,this.wh.wh.length*this.ze),this.hm>=this.qN&&(this.gV++,this.toa&&this.gV==this.toa?(this.Gd(k.S),this.hm=this.r3,this.trigger(l.rb)):(this.hm%=this.qN,this.trigger(l.Pq))),this.aj(),this.A==k.X&&g.requestFrame(this.lj,this))};
a.prototype.clear=function(){this.Gd(k.S);this.O.width=this.O.height=0;this.O=null;f.release(this.Yg);this.Yg=null};a.prototype.gg=function(){return this.O};a.prototype.aj=function(){var m=this.q3&&this.hm>=this.r3?0:Math.floor(this.hm/this.ze);this.g2!=m&&m<this.wh.wh.length&&(this.g2=m,this.ya.drawImage(this.wh.get(this.g2),0,0),this.trigger(l.sa))};d.prototype.isEqual=function(m){return this.src==m.src&&this.RY==m.RY&&(this.hO=m.hO)&&(this.frameWidth=m.frameWidth)&&(this.frameHeight=m.frameHeight)&&
(this.BX=m.BX)};var f={gj:[],cBa:2E3,request:function(m){m=this.Wh(m);m.uD++;this.eqa(m);return m.frames},release:function(m){m=this.Wh(m);m.uD--;0==m.uD&&this.MNa(m)},Wh:function(m){for(var q=0;q<this.gj.length;q++)if(this.gj[q].cSa.isEqual(m))return this.gj[q];q={};q.cSa=m;q.frames=new c(m);q.uD=0;this.gj.push(q);return q},MNa:function(m){this.eqa(m);m.qaa=setTimeout(function(){f.SEa(m)},f.cBa)},eqa:function(m){m.qaa&&(clearTimeout(m.qaa),m.qaa=null)},SEa:function(m){this.gj.splice(this.gj.indexOf(m),
1);m.frames.clear()}},c=h.extend(b,function(m){b.call(this);this.Yg=m;this.wh=[];e.add(this)});c.prototype.clear=function(){e.remove(this);this.wh.forEach(function(m){m.width=0;m.height=0});this.wh=null};c.prototype.get=function(m){return this.wh[m]};c.prototype.WRa=function(){var m=this.wh.length%this.Yg.hO,q=Math.floor(this.wh.length/this.Yg.hO)%this.Yg.RY,p=document.createElement("canvas");p.width=this.Yg.frameWidth;p.height=this.Yg.frameHeight;var n=p.getContext("2d");n.globalCompositeOperation=
"copy";n.drawImage(this.Yg.bba,m*this.Yg.frameWidth,q*this.Yg.frameHeight,this.Yg.frameWidth,this.Yg.frameHeight,0,0,this.Yg.frameWidth,this.Yg.frameHeight);c.OFa(p);this.wh.push(p);this.trigger(l.sa)};c.OFa=function(){var m=document.createElement("canvas");m.width=1;m.height=1;var q=m.getContext("2d");return function(p){q.drawImage(p,0,0,1,1,0,0,1,1)}}();var e={gj:[],n9:null,add:function(m){this.gj.push(m);this.Loa()},remove:function(m){this.gj=this.gj.filter(function(q){return q!=m})},Loa:function(){this.n9||
(this.n9=setTimeout(function(){this.n9=null;this.OL()}.bind(this),40))},OL:function(){if(0!=this.gj.length){for(var m=(new Date).getTime()+10;(new Date).getTime()<m;){var q=this.gj.filter(function(p){return 0==p.wh.length});q=0<q.length?q[0]:this.gj[0];q.WRa();if(q.wh.length==q.Yg.BX&&(this.gj.splice(this.gj.indexOf(q),1),0==this.gj.length))return}this.Loa()}}};return a});
define("ob",["require","og","kx"],function(a){function d(k,b){this.wd=k;this.oc=b;this.qb=!1;this.B0();this.E0();this.LB()}var h=a("og"),l=a("kx");d.prototype.clear=function(){this.H7();this.N7();this.wd.set("state",l.S);this.oc=this.wd=null};d.prototype.Rf=function(k){this.qb!=k&&(this.qb=k,this.Zr())};d.prototype.LB=function(){this.oc.Gd(this.wd.get("state"))};d.prototype.tL=function(){this.Zr()};d.prototype.vL=function(){this.oc.mca(this.wd.get("frameDuration"))};d.prototype.uL=function(){this.oc.qxa("first"==
this.wd.get("finalFrame"))};d.prototype.rL=function(){this.wd.trigger(h.Pq)};d.prototype.qL=function(){this.wd.trigger(h.rb)};d.prototype.sL=function(){this.wd.set("state",this.oc.getState())};d.prototype.Zr=function(){this.wd.get("autoplay")&&this.oc.Gd(this.qb?l.X:l.S)};d.prototype.B0=function(){this.wd.bind(h.G("state"),this.LB,this,!0);this.wd.bind(h.G("autoplay"),this.tL,this,!0);this.wd.bind(h.G("frameDuration"),this.vL,this,!0);this.wd.bind(h.G("finalFrame"),this.uL,this,!0)};d.prototype.H7=
function(){this.wd.unbind(h.G("state"),this.LB,this,!0);this.wd.unbind(h.G("autoplay"),this.tL,this,!0);this.wd.unbind(h.G("frameDuration"),this.vL,this,!0);this.wd.unbind(h.G("finalFrame"),this.uL,this,!0)};d.prototype.E0=function(){this.oc.bind(h.Pq,this.rL,this,!0);this.oc.bind(h.rb,this.qL,this,!0);this.oc.bind(h.ge,this.sL,this,!0)};d.prototype.N7=function(){this.oc.unbind(h.Pq,this.rL,this,!0);this.oc.unbind(h.rb,this.qL,this,!0);this.oc.unbind(h.ge,this.sL,this,!0)};return d});
define("eu",["require","og","nc","be","ob"],function(a){function d(g,f,c,e){this.le=g;this.Ub=f;this.tb=c;this.Da=e.bind(this);l.Ea("AnimatedImageResource",this.le)?(this.oc=new k(this.Ub,this.le.get("rowCount",1),this.le.get("colCount",1),this.le.get("frameDuration"),this.le.get("frameCount",this.le.get("rowCount",1)*this.le.get("colCount",1)),this.le.get("repeat"),"first"==this.le.get("finalFrame")),this.tb.image=this.oc.gg(),this.oc.bind(h.sa,this.sK,this,!0),this.un=new b(this.le,this.oc)):this.tb.image=
this.Ub;this.tb.needsUpdate=!0;this.Da()}var h=a("og"),l=a("nc"),k=a("be"),b=a("ob");d.prototype.Rf=function(g){this.un&&this.un.Rf(g)};d.prototype.dispose=function(){this.un&&(this.un.clear(),this.un=null);this.oc&&(this.oc.unbind(h.sa,this.sK,this,!0),this.oc.clear(),this.oc=null);this.tb=this.Ub=this.le=null};d.prototype.sK=function(){this.tb.needsUpdate=!0;this.Da()};return d});
define("ey",["require"],function(){var a={},d=null;a.Dta=function(){if(!d){var h=document.createElement("canvas");h.width=128;h.height=128;h.getContext("2d").clearRect(0,0,h.width,h.height);d=h}return d};return a});
define("je",["require","ky","my","lK"],function(a){var d=a("ky"),h=a("my"),l=a("lK"),k=180/Math.PI,b=Math.PI/180;return{KX:function(g,f,c,e,m,q,p){f||=g*e/c;m||=l.hw;var n={};switch(m){case l.hw:n.width=g;n.height=f;break;case l.NONE:n.width=c;n.height=e;break;case l.jh:n.width=Math.min(f*c/e,g);n.height=Math.min(g*e/c,f);break;case l.Gq:n.width=Math.max(f*c/e,g);n.height=Math.max(g*e/c,f);break;case l.Go:n.width=g;n.height=g*e/c;break;case l.Hj:n.width=f*c/e,n.height=f}n.width>g?(n.Vv=g/n.width,
n.MP=q==h.Ma?0:q==h.eb?1-n.Vv:.5*(1-n.Vv),n.width=g):(n.MP=0,n.Vv=1);n.height>f?(n.Wv=f/n.height,n.PP=p==h.sc?1-n.Wv:p==h.mc?0:.5*(1-n.Wv),n.height=f):(n.PP=0,n.Wv=1);return n},Oaa:function(g,f,c,e,m,q,p,n){f||=d.Fl(g,c,e);m||=l.hw;q||=4096/360;var r={};switch(m){case l.hw:r.te=g;r.Cq=f;break;case l.NONE:r.te=2*Math.atan2(.5*c,45*q)*k;r.Cq=d.Fl(r.te,c,e);break;case l.jh:r.te=Math.min(d.Bq(f,c,e),g);r.Cq=Math.min(d.Fl(g,c,e),f);break;case l.Gq:r.te=Math.max(d.Bq(f,c,e),g);r.Cq=Math.max(d.Fl(g,c,e),
f);break;case l.Go:r.te=g;r.Cq=d.Fl(g,c,e);break;case l.Hj:r.te=d.Bq(f,c,e),r.Cq=f}r.te>g?(r.Vv=Math.tan(.5*g*b)*c/Math.tan(.5*r.te*b)/c,r.MP=p==h.Ma?0:p==h.eb?1-r.Vv:.5*(1-r.Vv),r.te=g):(r.MP=0,r.Vv=1);r.Cq>f?(r.Wv=Math.tan(.5*f*b)*e/Math.tan(.5*r.Cq*b)/e,r.PP=n==h.sc?1-r.Wv:n==h.mc?0:.5*(1-r.Wv),r.Cq=f):(r.PP=0,r.Wv=1);return r}}});
define("jB","require kh og cu nc cm kS eu ey fp nJ bD je".split(" "),function(a){function d(v){this.o=v;this.mC=this.mC.bind(this);this.Da=this.Da.bind(this);this.tj=this.tj.bind(this);v=v.getComponent(m.Ws);this.zh=v.$H;this.de=v.La;this.m=v.qc;this.le=v.Kua;this.MIa=v.isSprite;this.Of=!1;this.km=this.hb=null;this.fr=0;this.F2=this.sb=this.XE=this.T=void 0;h.ma(this.m,r,this.mC,!1);h.ma(this.le,t,this.mC,!1);h.ma(this.m,u,this.tj,!1);this.mC()}var h=a("kh"),l=a("og"),k=a("cu"),b=a("nc"),g=a("cm"),
f=a("kS"),c=a("eu"),e=a("ey"),m=a("fp"),q=a("nJ"),p=a("bD"),n=a("je"),r=["height","scaleMode","width"],t=["levels.url","levels.width","levels.height"],u=["depthTest","enabled","encoding","hidden","opacity"];d.prototype.frame=function(v){this.km&&(this.km.wb(v),this.fr=this.km.$a("alpha"),this.b$(),this.km.Fe()&&(this.km=null),this.o.U.gb());this.Of&&(this.Of=!1)};d.prototype.mC=function(){var v=this.le&&this.le.get("levels")||[];v=v.filter(function(F){return!!F.get("url")});var w=1,x=1;b.Ea("AnimatedImageResource",
this.le)&&(w=this.le.get("rowCount"),x=this.le.get("colCount"));var y=null;if(0<v.length){v.sort(function(F,G){return G.get("width")-F.get("width")});y=this.m.get("width");var A=this.m.get("height"),B=this.m.get("scaleMode","fill"),z=v[0].get("width")/x,C=v[0].get("height")/w,E=n.KX(y,A,z,C,B);y=v.reduce(function(F,G){return!F||F.get("width")>G.get("width")&&G.get("width")/x>=E.width&&G.get("height")/w>=E.height?G:F})}this.KM(y)};d.prototype.KM=function(v){this.hb!=v&&(this.hb&&(this.bFa(),this.K2(),
this.IR(),this.bp(),this.Of=!1),this.hb=v)&&(this.Xo(),this.JA(),this.DJ(),this.Of=!1,this.Da())};d.prototype.DJ=function(){this.rd||(this.rd=new g,this.rd.CP([this.hb.get("url")]),this.rd.bind(l.aa,this.kd,this,!0),this.rd.bind(l.rc,this.fma,this,!0),this.rd.bind(l.Fc,this.Af,this,!0),this.Jr=this.o.getComponent(m.Ws).priority,f.po(this.rd,this.Jr))};d.prototype.bp=function(){this.rd&&(this.rd.unbind(l.aa,this.kd,this,!0),this.rd.unbind(l.rc,this.fma,this,!0),this.rd.unbind(l.Fc,this.Af,this,!0),
f.Dj(this.rd,this.Jr),this.rd=null)};d.prototype.kd=function(){this.LEa();this.A9(new k(l.aa))};d.prototype.fma=function(v){this.A9(new k(l.rc,{percent:v.Og}))};d.prototype.Af=function(){this.A9(new k(l.Fc))};d.prototype.A9=function(v){this.zh&&this.zh.trigger(v)};d.prototype.Da=function(){this.Of||(this.Of=!0,this.o.U.gb())};d.prototype.Xo=function(){this.tb=new THREE.Texture;this.tb.image=e.Dta();this.tb.generateMipmaps=!0;this.tb.minFilter=THREE.LinearMipMapLinearFilter};d.prototype.IR=function(){this.tb&&
(this.tb.dispose(),this.tb=null)};d.prototype.JA=function(){this.MIa&&(this.ia=new THREE.SpriteMaterial({map:this.tb}),this.ia.sizeAttenuation=!1,this.ia.transparent=!0,this.ia.visible=0,this.ia.opacity=0,this.ia.needsUpdate=!0,this.o.I(m.Material).material=this.ia);this.tj(!0)};d.prototype.tj=function(v){var w=this.m.get("enabled")&&!this.m.get("hidden")&&!!this.co,x=this.T!==w;if(x||v){this.T=w;w=this.fr;var y=this.T?1:0;this.km=w!==y?new q("linear",[new p("alpha",w,y,void 0)],200*Math.abs(w-y)):
null;this.b$()}w=this.m.get("encoding");if(this.XE!==w||v)this.XE=w,this.oQa();w=this.m.get("depthTest");if(this.F2!==w||v)this.F2=w,this.PPa();w=this.m.get("opacity");if(this.sb!==w||v)this.sb=w,this.b$();x&&this.de&&this.de.trigger(this.T?l.hd:l.od)};d.prototype.oQa=function(){if(this.ia&&(this.ia.map||this.ia.emissiveMap)){var v="srgb"==this.XE?THREE.sRGBEncoding:THREE.LinearEncoding;this.ia.map&&(this.ia.map.encoding=v);this.ia.emissiveMap&&(this.ia.emissiveMap.encoding=v);this.ia.needsUpdate=
!0}this.Da()};d.prototype.PPa=function(){this.ia&&(this.ia.depthTest=this.F2);this.Da()};d.prototype.b$=function(){this.ia&&(this.ia.opacity=this.sb*this.fr,this.ia.visible=0<this.ia.opacity,this.ia.isShaderMaterial&&this.ia.uniforms.opacity&&(this.ia.uniforms.opacity.value=this.sb*this.fr));this.co&&this.co.Rf(0<this.sb);this.Da()};d.prototype.K2=function(){this.ia&&(this.ia.dispose(),this.ia=null,this.o.na(m.Material))};d.prototype.LEa=function(){this.co=new c(this.le,f.sf(this.hb.get("url")),this.tb,
this.Da);this.tj(!0)};d.prototype.bFa=function(){this.co&&(this.co.dispose(),this.co=null)};d.prototype.dispose=function(){this.KM(null);h.ka(this.m,r,this.mC);h.ka(this.le,t,this.mC);h.ka(this.m,u,this.tj);this.o=this.zh=this.le=this.m=null};d.Nb=function(v){v.I(m.kw).manager=new d(v)};d.ab=function(v){var w=v.getComponent(m.kw);w.manager.dispose();w.manager=null;v.na(m.kw)};d.frame=function(v,w){v.getComponent(m.kw).manager.frame(w)};return d});
define("mf",["require","kV","lf","fp","jB"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("jB");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(b,g){this.Jl.D.length&&this.Jl.D.slice().forEach(k.Nb);this.Kl.D.length&&this.Kl.D.slice().forEach(k.ab);this.materials.D.length&&this.materials.D.slice().forEach(function(f){k.frame(f,b,g)})};a.J={};a.J.Jl=[l.Ws,l.kw.not];a.J.materials=[l.Ws,l.kw];a.J.Kl=[l.Ws.not,l.kw];return a});
define("J",["require","ne","fp"],function(a){function d(k){this.o=k;this.ia=null;this.update()}var h=a("ne"),l=a("fp");d.prototype.update=function(){this.ia||(this.ia=new THREE.LineBasicMaterial,this.ia.transparent=!0,this.o.I(l.Material).material=this.ia);var k=this.o.getComponent(l.Vi);this.ia.color=new THREE.Color(h.ID(k.color||"#ffffff"));this.ia.lineWidth=k.width||1;this.ia.opacity=k.opacity||0;this.ia.depthTest=!!k.depthTest;this.ia.visible=0<this.ia.opacity;this.ia.needsUpdate=!0};d.prototype.dispose=
function(){this.ia&&(this.ia.dispose(),this.ia=null,this.o.na(l.Material));this.o=null};d.Nb=function(k){k.I(l.lw).manager=new d(k)};d.ab=function(k){var b=k.getComponent(l.lw);b.manager.dispose();b.manager=null;k.na(l.lw)};d.update=function(k){k.getComponent(l.lw).manager.update()};return d});
define("ix",["require","kV","lf","fp","J"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("J");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Jl.D.length&&this.Jl.D.slice().forEach(k.Nb);this.materials.Za.length&&this.materials.Za.slice().forEach(k.update);this.Kl.D.length&&this.Kl.D.slice().forEach(k.ab)};a.J={};a.J.Jl=[l.Vi,l.lw.not];a.J.materials=[l.Vi,l.lw];a.J.Kl=[l.Vi.not,l.lw];return a});
define("F","require og fp ci nc ne a".split(" "),function(a){function d(p){this.o=p;this.Of=!1;this.m=this.o.getComponent(l.Light).qc;q.forEach(function(n){this.m.bind(h.G(n),this.PV,this,!1)}.bind(this));this.PV()}var h=a("og"),l=a("fp"),k=a("ci"),b=a("nc"),g=a("ne"),f=a("a");d.prototype.update=function(){this.PV()};var c=Math.PI/180;d.prototype.PV=function(){var p=this.o.L(l.Light);if(b.Ea("AmbientLight",p.qc)){p.Ud&&p.Ud.isAmbientLight||(this.o.L(l.Object3D,!0).Zc=p.Ud=new THREE.AmbientLight);
var n=p.target}else if(b.Ea("OrbitLight",p.qc)){p.Ud&&p.Ud.isDirectionalLight||(this.o.L(l.Object3D,!0).Zc=p.Ud=new THREE.DirectionalLight);n=f.ps(p.qc.get("yaw")*c,p.qc.get("pitch")*c).kI(10);p.Ud.position.set(n.x,n.y,n.z);"fixed_to_target"==p.qc.get("mode","fixed_to_target")?(p.Ud.target=k.dc(p.target),n=p.target):(p.Ud.target=new THREE.Object3D,n=p.target.getComponent(l.Db).Mb.getComponent(l.Scene).je);p.Ud.castShadow=0<p.qc.get("intensity")&&p.qc.get("castShadow");var r=p.Ud.castShadow?p.qc.get("shadowMapSize"):
16;r!=p.Ud.shadow.mapSize.width&&(p.Ud.shadow.dispose(),p.Ud.shadow=p.Ud.shadow.clone(),p.Ud.shadow.mapSize.width=p.Ud.shadow.mapSize.height=r);p.Ud.shadow.radius=p.qc.get("shadowRadius");p.Ud.shadow.bias=p.qc.get("shadowBias");this.Ara()}p.Ud.color=new THREE.Color(g.ID(p.qc.get("color")));p.Ud.intensity=p.qc.get("intensity");p.Ud.visible=0<p.Ud.intensity;p=this.o.getComponent(l.Db);p&&p.Mb==n||(p=this.o.L(l.Db,!0),p.Mb=n)};var e=new THREE.Box3,m=new THREE.Vector3;d.prototype.frame=function(){this.Ara()};
d.prototype.Ara=function(){var p=this.o&&this.o.getComponent(l.Light);if(p&&p.Ud&&p.Ud.castShadow){for(var n=p.Ud.shadow.camera,r=this.L1(k.dc(p.target),e),t=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,v=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY,x=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,A=0;2>A;A++)for(var B=0;2>B;B++)for(var z=0;2>z;z++)m.set(0==A?r.min.x:r.max.x,0==B?r.min.y:r.max.y,0==z?r.min.z:r.max.z).applyMatrix4(n.matrixWorldInverse),m.x<t&&(t=m.x),m.x>u&&(u=m.x),
m.y>v&&(v=m.y),m.y<w&&(w=m.y),-m.z>y&&(y=-m.z),-m.z<x&&(x=-m.z);p=p.qc.get("shadowTolerance")||0;r=.5*(x+y);x+=(x-r)*p;y+=(y-r)*p;r=.5*(t+u);t+=(t-r)*p;u+=(u-r)*p;r=.5*(v+w);v+=(v-r)*p;w+=(w-r)*p;if(n.left!=t||n.right!=u||n.top!=v||n.bottom!=w||n.near!=x||n.far!=y)p=this.o.L(l.Light),p.Ud.shadow.camera.left=t,p.Ud.shadow.camera.top=v,p.Ud.shadow.camera.right=u,p.Ud.shadow.camera.bottom=w,p.Ud.shadow.camera.near=x,p.Ud.shadow.camera.far=y,p.Ud.shadow.camera.updateProjectionMatrix(),p.Ud.shadow.needsUpdate=
!0}};d.prototype.L1=function(p,n){n.makeEmpty();var r=new THREE.Box3;p.traverse(function(t){if(t.geometry&&!t.isSprite){t.updateWorldMatrix(!1,!1);var u=t.geometry;null===u.boundingBox&&u.computeBoundingBox();r.copy(u.boundingBox);r.applyMatrix4(t.matrixWorld);n.union(r)}});return n};d.prototype.dispose=function(){this.m&&(q.forEach(function(p){this.m.unbind(h.G(p),this.PV,this,!1)}.bind(this)),this.m=null);this.o&&(this.o.na(l.Db),this.o.na(l.Object3D),this.o=null)};var q="castShadow color intensity mode pitch yaw shadowBias shadowRadius shadowMapSize shadowTolerance".split(" ");
d.Nb=function(p){p.I(l.Xs).manager=new d(p)};d.ab=function(p){var n=p.getComponent(l.Xs);n.manager.dispose();n.manager=null;p.na(l.Xs)};d.update=function(p){p.getComponent(l.Xs).manager.update()};d.frame=function(p){p.getComponent(l.Xs).manager.frame()};return d});
define("oi",["require","kV","lf","fp","F"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("F");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.iva.D.length&&this.iva.D.slice().forEach(k.Nb);this.nY.Za.length&&this.nY.Za.slice().forEach(k.update);this.nY.D.length&&this.nY.D.slice().forEach(k.frame);this.jva.D.length&&this.jva.D.slice().forEach(k.ab)};a.J={};a.J.iva=[l.Light,l.Xs.not];a.J.nY=[l.Light,l.Xs];a.J.jva=[l.Light.not,l.Xs];return a});
define("nR",["require","kV","lf","fp"],function(a){var d=a("kV"),h=a("lf"),l=a("fp");a=d.extend(h,function(){h.apply(this,arguments);this.hf=this.hf.bind(this);this.Gf=this.Gf.bind(this);this.vd=this.vd.bind(this)});a.prototype.Ed=function(){this.pva.D.length&&this.pva.D.slice().forEach(this.hf);this.lines.Za.length&&this.lines.Za.slice().forEach(this.Gf);this.qva.D.length&&this.qva.D.slice().forEach(this.vd);this.rva.D.length&&this.rva.D.slice().forEach(this.vd);this.sva.D.length&&this.sva.D.slice().forEach(this.vd)};
a.prototype.hf=function(k){k.I(l.Object3D).Zc=new THREE.LineSegments;k.I(l.mw);k.I(l.Ba);if(!k.getComponent(l.Geometry)){var b=(new THREE.BufferGeometry).setFromPoints([new THREE.Vector3(0,0,0),new THREE.Vector3(0,0,1)]);b.userData.Sua=!0;k.I(l.Geometry).geometry=b}this.Gf(k)};a.prototype.Gf=function(k){var b=k.getComponent(l.Material).material,g=k.getComponent(l.Object3D).Zc;g.material!=b&&(g.material=b,g.needsUpdate=!0);b=k.getComponent(l.Geometry).geometry;g.geometry!=b&&(g.geometry&&b.userData.Sua&&
g.geometry.dispose(),g.geometry=b,g.needsUpdate=!0);k=k.getComponent(l.Line).renderOrder||0;g.renderOrder!=k&&(g.renderOrder=k,g.needsUpdate=!0)};a.prototype.vd=function(k){k.na(l.mw);k.na(l.Geometry);var b=k.getComponent(l.Object3D);b&&(b=b.Zc,b.geometry&&b.geometry.userData.Sua&&b.geometry.dispose(),b.geometry=null,b.material=null,k.na(l.Object3D))};a.J={};a.J.pva=[l.Line,l.Material,l.mw.not];a.J.lines=[l.Line,l.Geometry,l.Material,l.mw];a.J.qva=[l.Line.not,l.mw];a.J.rva=[l.Material.not,l.mw];a.J.sva=
[l.Geometry.not,l.mw];return a});
define("fA",["require","kV","lf","fp","ci"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("ci");a=d.extend(h,function(){h.apply(this,arguments);this.hf=this.hf.bind(this);this.vd=this.vd.bind(this);this.TC=this.TC.bind(this)});a.prototype.Ed=function(){this.lva.D.length&&this.lva.D.slice().forEach(this.hf);this.kva.D.length&&this.kva.D.slice().forEach(this.TC);this.mva.D.length&&this.mva.D.slice().forEach(this.vd);this.nva.D.length&&this.nva.D.slice().forEach(this.vd);this.ova.D.length&&this.ova.D.slice().forEach(this.vd)};
a.prototype.hf=function(q){q.I(l.ow)};a.prototype.vd=function(q){q.na(l.ow)};var b=new THREE.Matrix4,g=new THREE.Quaternion,f=new THREE.Vector3,c=new THREE.Vector3(0,0,1),e=new THREE.Euler,m=180/Math.PI;a.prototype.TC=function(q){var p=q.getComponent(l.Ba);if(p){var n=k.dc(q.getComponent(l.nw).Mb),r=k.dc(q);r&&r.parent&&n&&n.parent&&(b.copy(r.parent.matrixWorld).invert(),f.setFromMatrixPosition(n.matrixWorld).applyMatrix4(b),n=f.length(),g.setFromUnitVectors(c,f.normalize()),e.setFromQuaternion(g,
p.vg),e.x*=m,e.y*=m,e.z*=m,p.scale!=n||p.df!=e.x||p.Ge!=e.y||p.ef!=e.z)&&(p=q.L(l.Ba),p.scale=n,p.df=e.x,p.Ge=e.y,p.ef=e.z,k.YY(q,p),q.U.gb())}};a.J={};a.J.lva=[l.Object3D,l.nw,l.ow.not];a.J.kva=[l.Object3D,l.nw,l.ow,l.Ba];a.J.mva=[l.Object3D.not,l.ow];a.J.nva=[l.nw.not,l.ow];a.J.ova=[l.Ba.not,l.ow];return a});
define("bG","require kV og lf fp ci".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("lf"),k=a("fp"),b=a("ci");a=d.extend(l,function(){l.apply(this,arguments);this.hf=this.hf.bind(this);this.vd=this.vd.bind(this);this.Gf=this.Gf.bind(this)});a.prototype.Ed=function(){this.vva.D.length&&this.vva.D.slice().forEach(this.hf);this.uva.Za.length&&this.uva.Za.slice().forEach(this.Gf);this.wva.D.length&&this.wva.D.slice().forEach(this.vd);this.xva.D.length&&this.xva.D.slice().forEach(this.vd)};a.prototype.hf=
function(g){g.I(k.pw);this.Gf(g)};a.prototype.Gf=function(g){var f=g.getComponent(k.Kq);g=b.dc(g);this.oCa(g,f);this.y7(g);this.Sd(g,f)};a.prototype.vd=function(g){g.na(k.pw);var f=b.dc(g);f&&(this.BDa(f),this.y7(f),g.na(k.pw))};a.prototype.oCa=function(g,f){g.userData.jwa=f.opacity;g.userData.envMapIntensity=f.envMapIntensity;g.userData.eba=f.X$};a.prototype.BDa=function(g){g.userData.jwa=void 0;g.userData.envMapIntensity=void 0;g.userData.eba=void 0};a.prototype.y7=function(g){var f=this.Sia(g),
c=this.rGa(g),e=this.qGa(g);if(g.material){if(void 0===f&&void 0===c)this.lV(g);else{var m=g.userData.Cv||g.material;if(void 0!==m.opacity){var q=m.opacity*(void 0===f?1:f);g.material.opacity!==q&&(this.pia(g),g.material.opacity=q,g.material.transparent=1>q?!0:m.transparent,g.material.visible=0<q,g.material.needsUpdate=!0)}void 0!==m.envMapIntensity&&(m=m.envMapIntensity*(void 0===c?1:c),g.material.envMapIntensity!==m&&(this.pia(g),g.material.envMapIntensity=m,g.material.needsUpdate=!0))}var p=this.cGa(e);
(null==g.material.map?[]:Array.isArray(g.material.map)?g.material.map:[g.material.map]).forEach(function(n){n.anisotropy!==p&&(n.anisotropy=p,n.needsUpdate=!0)})}g.children&&g.children.forEach(function(n){n.userData.zTa=f;n.userData.yTa=c;n.userData.eba=e;this.y7(n)}.bind(this))};a.prototype.cGa=function(g){return 1+Math.round((g||0)*(b.Fta().capabilities.getMaxAnisotropy()-1))};a.prototype.pia=function(g){void 0===g.userData.Cv&&(g.userData.Cv=g.material,g.material=g.material.clone())};a.prototype.lV=
function(g){void 0!==g.userData.Cv&&(g.material=g.userData.Cv,delete g.userData.Cv)};a.prototype.Sia=function(g){var f=g.userData.jwa;g=g.userData.zTa;if(void 0!==g||void 0!==f)if(f=(void 0!==g?g:1)*(void 0!==f?f:1),1!==f)return f};a.prototype.rGa=function(g){var f=g.userData.envMapIntensity;g=g.userData.yTa;if(void 0!==g||void 0!==f)if(f=(void 0!==g?g:1)*(void 0!==f?f:1),1!==f)return f};a.prototype.qGa=function(g){var f=g.userData.X$;if(void 0!==f)return f;g=g.userData.eba;if(void 0!==g)return g};
a.prototype.Sd=function(g,f){var c=this.Sia(g);void 0!==c&&(c=0<c,g.userData.LXa!==c&&(g.userData.LXa=c,f.La&&f.La.trigger(c?h.hd:h.od)))};a.J={};a.J.vva=[k.Kq,k.Object3D,k.pw.not];a.J.uva=[k.Kq,k.Object3D,k.pw];a.J.wva=[k.Kq.not,k.pw];a.J.xva=[k.Object3D.not,k.pw];return a});
define("nZ",["require","og","fp","ci"],function(a){function d(l){this.o=l;this.Ora=this.lr=this.bd=null;this.dH=-1}a("og");var h=a("fp");a("ci");d.prototype.frame=function(){if(!this.lr&&(this.lr=this.o.getComponent(h.yg).Waa)){var l=this.lr.userData&&this.lr.userData.gltfExtensions&&this.lr.userData.gltfExtensions.KHR_materials_variants;this.Ora=l&&l.variants||[];this.update()}};d.prototype.update=function(){var l=this.o.getComponent(h.Zs).name,k=this.Ora.findIndex(function(g){return g.name==l}),
b=this.lr.scene;this.bd!=b?(this.bd&&this.zoa(this.bd),this.bd=b,this.dH=k,this.bd&&this.Epa(this.bd,this.dH)):this.dH!=k&&(this.dH=k,this.bd&&this.Epa(this.bd,this.dH));this.o.U.gb()};d.prototype.zoa=function(l){this.hga(l,-1)};d.prototype.Epa=function(l,k){this.bJa(l,k,function(){this.bd==l&&this.dH==k&&this.hga(l,k)}.bind(this))};d.prototype.bJa=function(l,k,b){var g=[];l.traverse(function(f){var c=f.isMesh&&f.userData.gltfExtensions&&f.userData.gltfExtensions.KHR_materials_variants;if(c=c&&c.mappings)f.userData.Cv||
(f.userData.Cv=f.material),f.userData.sz||(f.userData.sz={}),(c=c.find(function(e){return-1!=e.variants.indexOf(k)}))&&g.push(this.lr.parser.getDependency("material",c.material).then(function(e){f.userData.sz[k]||(f.userData.sz[k]=e)}))}.bind(this));Promise.all(g).then(function(){b(l,k)})};d.prototype.hga=function(l,k){l.traverse(function(b){if(b.userData.sz){var g=b.userData.sz[k];g?(b.material=g,this.lr.parser.assignFinalMaterial(b)):b.material=b.userData.Cv}}.bind(this));this.o.U.gb()};d.prototype.dispose=
function(){this.bd&&(this.zoa(this.bd),this.bd=null)};d.Nb=function(l){l.I(h.Ko).manager=new d(l)};d.ab=function(l){var k=l.getComponent(h.Ko);k.manager.dispose();k.manager=null;l.na(h.Ko)};d.update=function(l){l.getComponent(h.Ko).manager.update()};d.frame=function(l){l.getComponent(h.Ko).manager.frame()};return d});
define("hi",["require","kV","lf","fp","nZ"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("nZ");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.zva.D.length&&this.zva.D.slice().forEach(k.Nb);this.pY.D.length&&this.pY.D.slice().forEach(k.frame);this.pY.Za.length&&this.pY.Za.slice().forEach(k.update);this.Ava.D.length&&this.Ava.D.slice().forEach(k.ab);this.Bva.D.length&&this.Bva.D.slice().forEach(k.ab);this.Cva.D.length&&this.Cva.D.slice().forEach(k.ab)};a.J={};
a.J.zva=[l.Zs,l.yg,l.Object3D,l.Ko.not];a.J.pY=[l.Zs,l.yg,l.Object3D,l.Ko];a.J.Ava=[l.Zs.not,l.Ko];a.J.Bva=[l.Object3D.not,l.Ko];a.J.Cva=[l.yg.not,l.Ko];return a});
define("hw",["require","fp"],function(a){var d=a("fp");return{Nb:function(h){var l=h.I(d.Lq);h.I(d.Ba);var k=h.L(d.Mesh);h.I(d.Object3D).Zc=l.qo=k.qo=new THREE.Mesh(h.getComponent(d.Geometry).geometry,h.getComponent(d.Material).material);k.qo.renderOrder=k.renderOrder},update:function(h){var l=h.L(d.Lq);l.qo.geometry=h.getComponent(d.Geometry).geometry;l.qo.material=h.getComponent(d.Material).material;l.qo.renderOrder=h.getComponent(d.Mesh).renderOrder},ab:function(h){h.getComponent(d.Lq).qo=null;
h.na(d.Lq);h.na(d.Object3D)}}});
define("ff",["require","kV","lf","fp","hw"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("hw");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Gva.D.length&&this.Gva.D.slice().forEach(k.Nb);this.Fva.Za.length&&this.Fva.Za.slice().forEach(k.update);this.rY.D.length&&this.rY.D.slice().forEach(k.ab);this.dUa.D.length&&this.rY.D.slice().forEach(k.ab);this.eUa.D.length&&this.rY.D.slice().forEach(k.ab)};a.J={};a.J.Gva=[l.Mesh,l.Geometry,l.Material,l.Lq.not];a.J.Fva=
[l.Mesh,l.Geometry,l.Material,l.Lq];a.J.rY=[l.Mesh.not,l.Lq];a.J.dUa=[l.Geometry.not,l.Lq];a.J.eUa=[l.Material.not,l.Lq];return a});
define("oy",["require","kV","og","fV"],function(a){function d(b){this.Psa=b;this.Og=0;this.finished=!1}var h=a("kV"),l=a("og"),k=a("fV");a=h.extend(k,function(b){k.call(this);this.rm=new Map;this.ZE=b||this});a.prototype.BVa=function(b){if(this.ZE=b)this.uj(),this.Y9()};a.prototype.Osa=function(){this.rm.forEach(function(b,g){this.dV(g)}.bind(this));this.rm=new Map};a.prototype.Gl=function(){var b=0;this.rm.forEach(function(g){g.finished&&b++});return b==this.rm.size};a.prototype.dispose=function(){this.Osa();
this.ZE=this.rm=null};a.prototype.bO=function(b,g){if(!this.rm.has(b))return this.rm.set(b,new d(g||1)),this.zBa(b),b};a.prototype.OY=function(b){this.rm.has(b)&&(this.rm["delete"](b),this.dV(b))};a.prototype.RC=function(b){var g=new k;return this.bO(g,b)};a.prototype.kd=function(b){b=b.source;var g=this.rm.get(b);g&&(this.dV(b),g.Og=100,g.finished=!0,this.uj(),this.Y9())};a.prototype.ci=function(b){this.rm.get(b.source).Og=b.data.percent;this.uj()};a.prototype.Af=function(b){b=b.source;this.dV(b);
b=this.rm.get(b);b.finished=!0;b.Og=100;this.ZE.trigger(l.Fc);this.uj();this.Y9()};a.prototype.uj=function(){var b=0,g=0;this.rm.forEach(function(f){g+=f.Psa;b+=f.Og*f.Psa});this.ZE.trigger(l.rc,{percent:b/g})};a.prototype.Y9=function(){this.Gl()&&this.ZE.trigger(l.aa)};a.prototype.zBa=function(b){b.bind(l.aa,this.kd,this,!0);b.bind(l.rc,this.ci,this,!0);b.bind(l.Fc,this.Af,this,!0)};a.prototype.dV=function(b){b.unbind(l.aa,this.kd,this,!0);b.unbind(l.rc,this.ci,this,!0);b.unbind(l.Fc,this.Af,this,
!0)};return a});
define("kK",["require","og","ne","fp","ci"],function(a){function d(f){this.o=f;this.m=this.o.getComponent(k.yg).qc;this.ye=null;this.bS=void 0;g.forEach(function(c){this.m.bind(h.G(c),this.Le,this,!0)}.bind(this));this.update()}var h=a("og"),l=a("ne"),k=a("fp"),b=a("ci"),g=["floorColor","floorHeight","floorOpacity","floorRadius"];d.prototype.update=function(){var f=this.m.get("floorColor");this.bS!=f&&(!f&&this.ye&&(this.Pha(this.ye),this.ye=null),this.bS=f)&&(this.ye||(this.ye=this.mEa()),this.YMa(this.ye,
this.bS));f=this.m.get("floorOpacity");this.ye&&this.ye.material.opacity!=f&&(this.ye.material.opacity=f);f=this.m.get("floorHeight");this.ye&&this.ye.position.y!=f&&(this.ye.position.y=f);f=this.m.get("floorRadius");this.ye&&this.ye.scale.x!=f&&(this.ye.scale.x=this.ye.scale.y=this.ye.scale.z=f)};d.prototype.frame=function(){if(this.ye&&!this.ye.parent){for(var f=b.dc(this.o);f&&!f.isScene;)f=f.parent;f&&f.add(this.ye)}};d.prototype.dispose=function(){g.forEach(function(f){this.m.unbind(h.G(f),this.Le,
this,!0)}.bind(this));this.ye&&(this.Pha(this.ye),this.ye=null)};d.prototype.Le=function(){this.o.U.gb();this.update()};d.prototype.mEa=function(){var f=new THREE.CircleGeometry(1,128);f=new THREE.Mesh(f);f.receiveShadow=!0;f.position.y=0;f.rotation.x=.5*-Math.PI;f.needsUpdate=!0;return f};d.prototype.YMa=function(f,c){var e=f.material;e&&(!e.isShadowMaterial&&"transparent"==c||!e.VYa&&"transparent"!=c)&&(e.dispose(),e=null);"transparent"==c?e||=new THREE.ShadowMaterial:(e||(e=new THREE.MeshStandardMaterial,
e.defines.USE_UV="",e.onBeforeCompile=function(m){var q=m.fragmentShader.lastIndexOf("}");m.fragmentShader=m.fragmentShader.substring(0,q)+"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"+m.fragmentShader.substring(q,m.fragmentShader.length)},e.roughness=1,e.metalness=0,e.envMapIntensity=0,e.transparent=!0),e.color=new THREE.Color(l.ID(c)));e.needsUpdate=!0;f.material=e};d.prototype.Pha=
function(f){f.parent&&f.parent.remove(f);f.material&&f.material.dispose();f.material=null;f.geometry&&f.geometry.dispose();f.geometry=null};return d});
define("lV",["require","og","fp"],function(a){function d(k){this.o=k;this.jq=k.U;this.m=this.o.getComponent(l.yg).qc;this.m.bind(h.G("lights"),this.X9,this,!1);this.Aa=null;this.nu=[];this.v5=new Map;this.update()}var h=a("og"),l=a("fp");d.prototype.update=function(){var k=this.o.getComponent(l.Object3D);k=k&&k.Zc;this.Aa!=k&&(this.Aa=k,this.X9())};d.prototype.X9=function(){var k=this.Aa?this.m.get("lights",[]).length?this.m.get("lights"):[]:[];this.lpa(k)};d.prototype.dispose=function(){this.Aa=
null;this.m.unbind(h.G("lights"),this.X9,this,!1);this.lpa([])};d.prototype.lpa=function(k){this.nu!=k&&(this.nu.forEach(function(b){0>k.indexOf(b)&&this.DLa(b)}.bind(this)),k.forEach(function(b){0>this.nu.indexOf(b)&&this.yBa(b)}.bind(this)),this.nu=k)};d.prototype.yBa=function(k){var b=this.jq.ud("Light"),g=b.I(l.Light);g.qc=k;g.target=this.o;this.v5.set(k,b)};d.prototype.DLa=function(k){var b=this.v5.get(k);this.v5["delete"](k);this.jq.Cf(b)};return d});
define("lS",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("Model3DResourceLevel",d,function(){d.call(this)});a.qQ="mobile";a.prototype.get=function(h,l){switch(h){case "levels":l=[this];break;case "url":for(var k=d.prototype.get.call(this,h),b=this.get("levels"),g=0;b&&g<b.length&&void 0===k;g++){var f=b[g];f!=this&&(k=f.get(h))}return void 0!==k?k:l}return d.prototype.get.call(this,h,l)};return a});
define("mG",["require"],function(){function a(b){this.Y=b}var d=new THREE.Raycaster,h=new THREE.Vector3,l=new THREE.Vector3(0,-1,0),k=new THREE.Vector3(0,1,0);a.prototype.oya=function(b,g){d.ray.origin.copy(b);h.copy(g).sub(b);var f=h.length();h.normalize();d.ray.direction.copy(h);return 0<d.intersectObjects(this.kr(),!1).filter(function(c){if(c.distance>=.98*f||!c.object.visible)return!1;c=Array.isArray(c.object.material)&&c.face?c.object.material[c.face.materialIndex]:c.object.material;return!c||
c.visible}).length};a.prototype.oSa=function(b){d.ray.origin.copy(b);d.ray.direction.copy(l);b=this.kr();var g=d.intersectObjects(b,!1);if(0<g.length)return g[0].distance;d.ray.direction.copy(k);g=d.intersectObjects(b,!1);if(0<g.length)return-g[0].distance};a.prototype.kr=function(){var b=[];this.Y.traverse(function(g){g.isSprite||g.isLine||b.push(g)});return b};return a});
define("ba",["require","ci"],function(a){function d(l,k){this.pa=l;this.MHa=k}var h=a("ci");d.prototype.Qta=function(l){return(l=this.dc(l))&&l.matrixWorld};d.prototype.dc=function(l){return l?h.XC(this.MHa,l):h.dc(this.pa)};return d});
define("ea",["require","ci"],function(a){function d(c,e,m){this.pa=c;this.nJa=e;this.aGa=m}var h=a("ci"),l=new THREE.Vector3,k=new THREE.Vector3,b=new THREE.Vector3,g=new THREE.Frustum,f=new THREE.Matrix4;d.prototype.Uaa=function(c,e){e=this.nJa.Qta(e);if(!e)return null;k.copy(c).applyMatrix4(e);var m=(c=h.dc(this.pa))&&h.NH(c);c=m&&h.Zy(m);if(!c)return null;f.identity().multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);g.setFromProjectionMatrix(f);if(!g.containsPoint(k))return null;e=(m&&
h.Taa(m))/2;m=(m&&h.DO(m))/2;l.copy(k).project(c);e=l.x*e+e;m=-(l.y*m)+m;b.setFromMatrixPosition(c.matrixWorld);c=this.aGa.oya(b,k);return{x:Math.round(e),y:Math.round(m),visible:!c}};return d});
define("dB",["require","kV","og","fV","ib"],function(a){var d=a("kV"),h=a("og"),l=a("fV"),k=a("ib");a=d.extend(l,function(b,g){l.call(this);this.ed=b;this.Jr=g;this.Lr=new Request(b);this.tga=this.Lp=null;this.bN=this.bN.bind(this);this.xA=this.xA.bind(this)});a.prototype.start=function(){this.yB||(this.yA=!1,this.yB=k.add(this.ed,this.Jr,this.bN,this.xA))};a.prototype.bN=function(){0==this.ed.indexOf("filesystem:")?this.EFa():this.FFa()};a.prototype.EFa=function(){var b=new XMLHttpRequest;b.open("GET",
this.ed,!0);b.responseType="arraybuffer";b.onload=function(){this.ima(b.response);b.onload=b.onerror=null}.bind(this);b.onerror=function(){this.ema();b.onload=b.onerror=null};b.send()};a.prototype.FFa=function(){fetch(this.Lr).then(function(b){if(this.yA)return b.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!b.ok)return Promise.resolve(b);var g=b.headers.get("content-length")||b.headers.get("x-content-length"),f=void 0,c=0;null!==g&&(f=parseInt(g,10));this.Lp=
b.body.getReader();var e=!1,m=function(n){this.yA?n.close():e=!0}.bind(this),q=function(n){return this.Lp.read().then(function(r){var t=r.value;t&&(c+=t.byteLength,n.enqueue(t));r.done&&(f=c,p(n));this.trigger(h.rc,{totalBytes:f,bytesLoaded:c,percent:c<f?100*c/f:100})}.bind(this))["catch"](function(r){console.log("Error reading response",r);n.error(r)}.bind(this))}.bind(this),p=function(n){e&&(n.close(),e=!1,this.Lp=null)}.bind(this);return new Response(new ReadableStream({start:function(n){return m(n)},
pull:function(n){return q(n)},cancel:function(){p()}}))}.bind(this)).then(function(b){return b.arrayBuffer()}.bind(this)).then(function(b){this.ima(b)}.bind(this))["catch"](function(){this.ema()}.bind(this))};a.prototype.cancel=function(){this.yB&&(this.yB.cancel(),this.yB=null)};a.prototype.xA=function(){this.yA=!0;this.Lp&&this.Lp.cancel()};a.prototype.ima=function(b){this.tga=b;this.yB&&(this.yB.loaded(),this.yB=null);this.trigger(h.aa)};a.prototype.ema=function(){this.cancel();this.trigger(h.Fc)};
a.prototype.getData=function(){return this.tga};return a});
define("es","require og hE lS mG ba ea ci fp dB u md lQ".split(" "),function(a){function d(r,t,u,v){this.o=r;this.jg=t;this.s6=this.s6.bind(this);this.t6=this.t6.bind(this);r=this.o.getComponent(e.yg);this.m=r.qc;this.pj=v;this.Ae=u;this.de=this.pj.RC(1);this.Ae.bO(this.de,1);this.Aa=this.lr=null;this.ed=this.IHa(r.Jva);this.nF=new THREE.GLTFLoader;this.CF=new THREE.KTX2Loader;this.CF.setTranscoderPath(THREE.Zya);this.CF.detectSupport(c.Fta());this.nF.setKTX2Loader(this.CF);this.nF.setMeshoptDecoder(THREE.MeshoptDecoder);
this.cp=new m(this.ed,l.ZD);this.sBa();this.cp.start()}var h=a("og"),l=a("hE"),k=a("lS"),b=a("mG"),g=a("ba"),f=a("ea"),c=a("ci"),e=a("fp"),m=a("dB"),q=a("u"),p=a("md"),n=a("lQ");d.prototype.IHa=function(r){var t=r.get("levels");if(!u&&q.kb())var u=(u=t.find(function(v){return-1<v.get("tags").indexOf(k.qQ)}))&&u.get("url");u||t.length&&(u=t[0].get("url"));u||=r.get("url");return u};d.prototype.update=function(){};d.prototype.kd=function(){this.nF.parse(this.cp.getData(),n.getDirectory(this.ed),this.s6,
this.t6)};d.prototype.ci=function(r){this.de.trigger(h.rc,r.data)};d.prototype.Af=function(r){p.SD&&r&&r.message&&console.error(r.message);this.de.trigger(h.Fc)};d.prototype.t6=function(r){p.SD&&r&&r.message&&console.error(r.message);this.de.trigger(h.Fc)};d.prototype.s6=function(r){this.nF&&(r.scene.traverse(function(t){t.isMesh&&(t.material.depthWrite=!t.material.transparent)}),this.Aa=r.scene,this.cCa(this.Aa),this.jg.I(e.Object3D).Zc=this.Aa,this.o.L(e.yg,!0).Waa=r,this.oBa(),this.m.set("geometryQuery",
new b(this.Aa)),this.m.set("objectQuery",new g(this.o,this.Aa)),this.m.set("projectionQuery",new f(this.o,this.m.get("objectQuery"),this.m.get("geometryQuery"))),this.xW())};d.prototype.oBa=function(){var r=this.o.getComponent(e.yg);this.o.I(e.Animation).qc=r.qc};d.prototype.xW=function(){this.m.set("isLoaded",!0);this.de.trigger(h.aa)};d.prototype.cCa=function(r){void 0===r.userData.id&&(r.userData.id="root");for(var t=[r];t.length;){var u=t.shift();r=[];u.children&&(r=r.concat(u.children));u.isSkinnedMesh&&
(r=r.concat(u.skeleton.bones));r.forEach(function(v,w){void 0===v.userData.id&&(v.userData.id=u.userData.id+"/"+w);t.push(v)})}};d.prototype.sBa=function(){this.cp.bind(h.aa,this.kd,this,!0);this.cp.bind(h.rc,this.ci,this,!0);this.cp.bind(h.Fc,this.Af,this,!0)};d.prototype.xLa=function(){this.cp.unbind(h.aa,this.kd,this,!0);this.cp.unbind(h.rc,this.ci,this,!0);this.cp.unbind(h.Fc,this.Af,this,!0)};d.prototype.dispose=function(){this.cp&&(this.xLa(),this.cp.cancel(),this.cp=null);this.nF&&(this.nF=
null);this.Aa&&(this.Aa.traverse(function(r){function t(w){w&&0>u.indexOf(w)&&u.push(w)}var u=[];t(r.material);t(r.userData.Cv);if(r.userData.sz)for(var v in r.userData.sz)t(r.userData.sz[v]);u.forEach(function(w){w.dispose();Object.keys(w).forEach(function(x){(x=w[x])&&"object"===typeof x&&"minFilter"in x&&x.dispose()})});r.geometry&&r.geometry.userData.Dsa&&r.geometry.disposeBoundsTree();r.geometry&&r.geometry.dispose()}),this.Aa=null,this.jg.na(e.Object3D));this.CF&&(this.CF.dispose(),this.CF=
null);this.de&&(this.Ae.OY(this.de),this.pj.OY(this.de),this.Ae=this.de=null);this.m&&(this.m.set("geometryQuery",null),this.m.set("objectQuery",null),this.m.set("isLoaded",!1),this.m=null)};return d});
define("jC","require kh lw og fV fp ci".split(" "),function(a){function d(t,u,v){this.pa=t;this.VE=u;this.C=v;this.Ye=this.Ye.bind(this);this.jl=this.jl.bind(this);this.Nf=1;this.T=!1;this.Zfa=new Map;this.Xg=[];this.Ug=this.pa.U.ud("DraggingPositionContainer");this.Ug.I(b.Group);this.Ug.I(b.Ba);this.Xg.push(this.Ug);this.Ec=null;this.nA=[this.bsa=this.U1("x"),this.csa=this.U1("y"),this.dsa=this.U1("z")];this.nA.forEach(function(w){this.xy(w,function(x){x.opacity=.5;x.depthTest=!1});w.I(b.Db).Mb=
this.Ug}.bind(this));h.ma(this.C,n,this.Ye,!0);h.ma(this.C,r,this.jl,!0)}var h=a("kh");a("lw");var l=a("og"),k=a("fV"),b=a("fp"),g=a("ci");d.prototype.dispose=function(){h.ka(this.C,n,this.Ye);h.ka(this.C,r,this.jl);var t=this.pa.U;this.Xg.forEach(function(u){t.Cf(u)});this.C=this.pa=this.nA=this.o=this.Xg=null};d.prototype.frame=function(){if(this.T)if(this.MM(g.OH(this.Ug)||1),this.Ec){var t=this.VE.getComponent(b.Ba);this.C.set("x",t.positionX);this.C.set("y",t.positionY);this.C.set("z",t.positionZ)}else this.zPa()};
var f=new THREE.Vector3,c=new THREE.Vector3,e=new THREE.Euler,m=new THREE.Quaternion,q=new THREE.Matrix4,p=180/Math.PI;d.prototype.U1=function(t){var u=this.pa.U.ud("DraggingArrow");this.Xg.push(u);u.I(b.Group);var v=u.L(b.Ba,!0);"x"===t?v.ef=-90:"z"==t&&(u.L(b.Ba,!0).df=90);t=this.pa.U.ud("DraggingArrowCylinder");this.Xg.push(t);t.I(b.Mesh).renderOrder=1;t.I(b.Geometry).geometry=new THREE.CylinderGeometry(.05,.05,.85,16,1,!0);t.I(b.Kc);t.I(b.Db).Mb=u;t.L(b.Ba,!0).positionY=-.075;v=this.pa.U.ud("DraggingArrowCone");
this.Xg.push(v);v.I(b.Mesh).renderOrder=1;v.I(b.Geometry).geometry=new THREE.ConeGeometry(.05,.15,16,1,!0);v.I(b.Kc);v.I(b.Db).Mb=u;v.L(b.Ba,!0).positionY=.425;this.Zfa.set(u,[t,v]);return u};d.prototype.MM=function(t){this.Nf!=t&&(this.Nf=t,this.Ye())};d.prototype.Ye=function(){var t=this.C.get("draggableArrowLength")*this.Nf;this.xy(this.bsa,function(v){v.color=this.C.get("draggableXControlsColor")}.bind(this));var u=this.bsa.L(b.Ba,!0);u.scale=t;u.translationX=t/2;this.xy(this.csa,function(v){v.color=
this.C.get("draggableYControlsColor")}.bind(this));u=this.csa.L(b.Ba,!0);u.scale=t;u.translationY=t/2;this.xy(this.dsa,function(v){v.color=this.C.get("draggableZControlsColor")}.bind(this));u=this.dsa.L(b.Ba,!0);u.scale=t;u.Sf=t/2};d.prototype.zPa=function(){var t=g.dc(this.VE);t&&(q.copy(t.matrixWorld).invert().decompose(f,m,c),t=this.Ug.getComponent(b.Ba),e.setFromQuaternion(m,t.vg),e.x*=p,e.y*=p,e.z*=p,t.df!=e.x||t.Ge!=e.y||t.ef!=e.z)&&(t=this.Ug.L(b.Ba),t.df=e.x,t.Ge=e.y,t.ef=e.z)};d.prototype.jl=
function(){var t=this.C.get("positionDraggable");this.T!=t&&((this.T=t)?(this.Ug.I(b.Db).Mb=this.VE,this.nA.forEach(function(u){u=u.I(b.Hd);u.Jv=!0;u.pv=!0;u.La=new k;u.La.bind(l.$c,this.ZF,this,!0);u.La.bind(l.ac,this.Am,this,!0);u.La.bind(l.ub,this.ak,this,!0);u.La.bind(l.$b,this.Jn,this,!0)}.bind(this))):(this.Ug.na(b.Db),this.nA.forEach(function(u){u.na(b.Hd)})))};d.prototype.ZF=function(t){(t=this.Vk(t))&&t!=this.Ec&&this.xy(t,function(u){u.opacity=1})};d.prototype.Am=function(t){(t=this.Vk(t))&&
t!=this.Ec&&this.xy(t,function(u){u.opacity=.5})};d.prototype.ak=function(t){t=this.Vk(t);this.zy(t)};d.prototype.Jn=function(t){t=this.Vk(t);t==this.Ec&&(this.zy(null),-1!=this.nA.indexOf(t)&&this.C.trigger(l.et))};d.prototype.xy=function(t,u){this.Zfa.get(t).forEach(function(v){u(v.L(b.Kc))}.bind(this))};d.prototype.Vk=function(t){t=this.nA.map(function(u){return u.getComponent(b.Hd).La}).indexOf(t.source);return-1==t?null:this.nA[t]};d.prototype.zy=function(t){this.Ec&&(this.xy(this.Ec,function(v){v.opacity=
.5}),this.VE.na(b.yo));if(this.Ec=t){this.xy(this.Ec,function(v){v.opacity=1});t=g.getWorldPosition(this.VE);var u=g.getWorldPosition(this.Ec);this.VE.I(b.yo).direction=u.sub(t)}};var n=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],r=["positionDraggable"];return d});
define("m","require kh og fV fp ci".split(" "),function(a){function d(n,r,t){this.pa=n;this.o=r;this.C=t;this.bk=this.bk.bind(this);this.Ye=this.Ye.bind(this);this.jl=this.jl.bind(this);this.Ec=null;this.T=!1;this.$U=[1,1,1,1,1,1];this.Xg=[];this.Wf=[this.iH=this.Wo(),this.hH=this.Wo(),this.kH=this.Wo(),this.jH=this.Wo(),this.mH=this.Wo(),this.lH=this.Wo()];this.Wf.forEach(function(u){u=u.L(b.Kc);u.opacity=.5;u.depthTest=!1}.bind(this));h.ma(this.C,m,this.Ye,!0);h.ma(this.C,q,this.bk,!0);h.ma(this.C,
p,this.jl,!0)}var h=a("kh"),l=a("og"),k=a("fV"),b=a("fp"),g=a("ci");d.prototype.frame=function(){if(this.T&&(this.aNa(this.Wf.map(function(E){return g.OH(E)||1})),this.Ec)){var n=g.dc(this.o),r=g.dc(this.iF(this.Ec));if(n&&r){c.copy(n.matrixWorld).invert();f.setFromMatrixPosition(r.matrixWorld).applyMatrix4(c);n=this.C.get("x");r=this.C.get("y");var t=this.C.get("z"),u=this.C.get("width"),v=this.C.get("height"),w=this.C.get("depth"),x=0,y=0,A=0,B=0,z=0,C=0;switch(this.Ec){case this.iH:B=f.x-.5*u;
x=.5*B;break;case this.hH:B=-f.x-.5*u;x=.5*-B;break;case this.kH:z=f.y-.5*v;y=.5*z;break;case this.jH:z=-f.y-.5*v;y=.5*-z;break;case this.mH:C=f.z-.5*w;A=.5*C;break;case this.lH:C=-f.z-.5*w,A=.5*-C}this.C.set("x",n+x);this.C.set("width",u+B);this.C.set("y",r+y);this.C.set("height",v+z);this.C.set("z",t+A);this.C.set("depth",w+C)}}};var f=new THREE.Vector3,c=new THREE.Matrix4;d.prototype.Wo=function(){var n=this.pa.U.ud("DraggingSphere");this.Xg.push(n);n.I(b.Mesh).renderOrder=2;n.I(b.Geometry).geometry=
new THREE.SphereGeometry;n.I(b.Kc);return n};d.prototype.Ye=function(){this.iH.L(b.Kc).color=this.C.get("draggableXControlsColor");this.hH.L(b.Kc).color=this.C.get("draggableXControlsColor");this.kH.L(b.Kc).color=this.C.get("draggableYControlsColor");this.jH.L(b.Kc).color=this.C.get("draggableYControlsColor");this.mH.L(b.Kc).color=this.C.get("draggableZControlsColor");this.lH.L(b.Kc).color=this.C.get("draggableZControlsColor");var n=this.C.get("draggableSphereRadius");this.Wf.forEach(function(r,t){r.L(b.Ba,
!0).scale=n*this.$U[t]}.bind(this))};d.prototype.bk=function(){this.iH.L(b.Ba,!0).positionX=this.C.get("width")/2;this.hH.L(b.Ba,!0).positionX=-this.C.get("width")/2;this.kH.L(b.Ba,!0).positionY=this.C.get("height")/2;this.jH.L(b.Ba,!0).positionY=-this.C.get("height")/2;this.mH.L(b.Ba,!0).positionZ=this.C.get("depth")/2;this.lH.L(b.Ba,!0).positionZ=-this.C.get("depth")/2};d.prototype.jl=function(){var n=this.C.get("sizeDraggable");this.T!=n&&(this.T=n,this.Wf.forEach(function(r){n?(r.I(b.Db).Mb=this.o,
this.Wf.forEach(function(t){t=t.I(b.Hd);t.Jv=!0;t.pv=!0;t.La=new k;t.La.bind(l.$c,this.QF,this,!0);t.La.bind(l.ac,this.i6,this,!0);t.La.bind(l.ub,this.g6,this,!0);t.La.bind(l.$b,this.h6,this,!0)}.bind(this))):(r.na(b.Db),this.Wf.forEach(function(t){t.na(b.Hd)}.bind(this)))}.bind(this)))};d.prototype.aNa=function(n){for(var r=!1,t=0;t<this.$U.length&&!r;t++)r=this.$U[t]!=n[t];r&&(this.$U=n,this.Ye())};d.prototype.QF=function(n){(n=this.Vk(n))&&n!=this.Ec&&(n.L(b.Kc).opacity=1)};d.prototype.i6=function(n){(n=
this.Vk(n))&&n!=this.Ec&&(n.L(b.Kc).opacity=.5)};d.prototype.Vk=function(n){n=this.Wf.map(function(r){return r.getComponent(b.Hd).La}).indexOf(n.source);return-1==n?null:this.Wf[n]};d.prototype.g6=function(n){n=this.Vk(n);this.zy(n)};d.prototype.h6=function(n){n=this.Vk(n);n==this.Ec&&(this.zy(null),this.bk(),(n=-1!=this.Wf.indexOf(n))&&this.C.trigger(l.et),n&&this.C.trigger(l.Bea))};d.prototype.zy=function(n){this.Ec&&(this.Ec.L(b.Kc).opacity=.5,this.iF(this.Ec).na(b.yo));if(this.Ec=n)this.Ec.L(b.Kc).opacity=
1,n=this.iF(this.Ec).I(b.yo),n.direction=this.CGa(this.Ec),n.min=this.DGa(this.Ec)};d.prototype.CGa=function(n){var r=g.getWorldPosition(this.o);return g.getWorldPosition(n).sub(r)};d.prototype.iF=function(n){return-1!=this.Wf.indexOf(n)?n:null};d.prototype.DGa=function(n){var r=this.dHa(n);if(r){r=g.getWorldPosition(r);var t=g.getWorldPosition(n).sub(r);switch(n){case this.iH:case this.hH:var u=this.C.get("minWidth");break;case this.kH:case this.jH:u=this.C.get("minHeight");break;case this.mH:case this.lH:u=
this.C.get("minDepth")}return r.add(t.setLength(u||e))}};d.prototype.dHa=function(n){switch(n){case this.iH:return this.hH;case this.hH:return this.iH;case this.kH:return this.jH;case this.jH:return this.kH;case this.mH:return this.lH;case this.lH:return this.mH}return null};d.prototype.dispose=function(){h.ka(this.C,m,this.Ye);h.ka(this.C,q,this.bk);h.ka(this.C,p,this.jl);var n=this.pa.U;this.Xg.forEach(function(r){n.Cf(r)});this.C=this.pa=this.Wf=this.o=this.Xg=null};var e=1E-6,m=["draggableSphereRadius",
"draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],q="depth height x y z width".split(" "),p=["sizeDraggable"];return d});
define("cn","require kh lw og fp jC m".split(" "),function(a){function d(e,m,q){this.pa=e;this.C=q;this.bk=this.bk.bind(this);this.Ye=this.Ye.bind(this);this.o=this.XDa();e=this.o.I(k.Db);e.Mb=this.pa;e.id=this.C.get("parentId");this.br=this.V1();this.br.I(k.Db).Mb=this.o;this.WJ=this.kEa();this.WJ.I(k.Db).Mb=this.o;this.Xg=[this.o,this.br,this.WJ];this.OA=new b(this.pa,this.o,this.C);this.X2=new g(this.pa,this.o,this.C);e=this.o.I(k.Hd);e.pv=!0;e.Jv=!0;e.La=this.C;h.ma(this.C,f,this.Ye,!0);h.ma(this.C,
c,this.bk,!0);this.C.trigger(l.hd)}var h=a("kh");a("lw");var l=a("og"),k=a("fp"),b=a("jC"),g=a("m");d.prototype.frame=function(){this.OA.frame();this.X2.frame()};d.prototype.XDa=function(){var e=this.pa.U.ud("Box");e.I(k.Group);return e};d.prototype.V1=function(){var e=this.pa.U.ud("BoxBorder");e.I(k.Line);e.I(k.Geometry).geometry=this.YDa();e.I(k.Vi);return e};d.prototype.kEa=function(){var e=this.pa.U.ud("BoxFace");e.I(k.Mesh);e.I(k.Geometry).geometry=new THREE.BoxGeometry(1,1,1);e.I(k.Kc);return e};
d.prototype.YDa=function(){var e=[new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(-.5,-.5,-.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(.5,.5,-.5),new THREE.Vector3(.5,.5,-.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(-.5,-.5,
-.5),new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(-.5,-.5,-.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(.5,.5,-.5)];return(new THREE.BufferGeometry).setFromPoints(e)};d.prototype.Ye=function(){var e=this.br.L(k.Vi);e.color=this.C.get("lineColor");e.opacity=this.C.get("lineOpacity");e.width=this.C.get("lineWidth");e.depthTest=this.C.get("depthTest");e=this.WJ.L(k.Kc);e.color=
this.C.get("faceColor");e.opacity=this.C.get("faceOpacity");e.depthTest=this.C.get("depthTest");e=this.o.L(k.Hd,!0);e.cn=this.C.get("useHandCursor");e.tI=this.C.get("transparentAreaActive")};d.prototype.bk=function(){var e=this.o.L(k.Ba,!0);e.positionX=this.C.get("x");e.positionY=this.C.get("y");e.positionZ=this.C.get("z");e=this.br.L(k.Ba,!0);var m=this.WJ.L(k.Ba,!0);m.Qf=e.Qf=this.C.get("width");m.hg=e.hg=this.C.get("height");m.Qh=e.Qh=this.C.get("depth")};d.prototype.dispose=function(){this.X2.dispose();
this.X2=null;this.OA.dispose();this.OA=null;h.ka(this.C,f,this.Ye);h.ka(this.C,c,this.bk);var e=this.pa.U;this.Xg.forEach(function(m){e.Cf(m)});this.pa=this.WJ=this.br=this.o=this.Xg=null;this.C.trigger(l.od);this.C=null};var f=["transparentAreaActive","useHandCursor"],c="depth height x y z width".split(" ");return d});
define("Y",["require"],function(){var a={jn:function(){this.cXa=this.Rxa=this.bXa=this.Vxa=this.Uxa=this.Txa=0;this.FP=!1;this.Fs=new THREE.CubeTexture;this.qXa=this.iya=this.pXa=this.jya=this.targetY=this.targetX=0;this.KP=!1;this.Gs=new THREE.CubeTexture;this.vg="XYZ";this.position=1},QYa:function(){return new a.jn},create:function(l){var k=new THREE.ShaderMaterial;k.uniforms={sCube:{value:l.Fs},sPos:{value:new THREE.Vector3},sRot:{value:new THREE.Matrix4},sEnabled:{value:!1},tCube:{value:l.Gs},
tPos:{value:new THREE.Vector3},tRot:{value:new THREE.Matrix4},tEnabled:{value:!1},blendingCoef:{value:0}};k.fragmentShader="uniform samplerCube sCube;\nuniform vec3 sPos;\nuniform mat4 sRot;\nuniform bool sEnabled;\nuniform samplerCube tCube;\nuniform vec3 tPos;\nuniform mat4 tRot;\nuniform bool tEnabled;\nuniform float blendingCoef;\nvarying vec3 vWorldPosition;\nvoid main() {\n    vec4 sFragColor;\n    vec4 tFragColor;\n    if (sEnabled) \n    {\n        vec4 sCubePosition4 = sRot * vec4((vWorldPosition - sPos), 1);\n        vec3 sCubePosition = sCubePosition4.xyz / sCubePosition4.w;\n\t    sFragColor = textureCube(sCube, sCubePosition);\n    }\n    if (tEnabled)\n    {\n        vec4 tCubePosition4 = tRot * vec4((vWorldPosition - tPos), 1);\n        vec3 tCubePosition = tCubePosition4.xyz / tCubePosition4.w;\n\t    tFragColor = textureCube(tCube, tCubePosition);\n    }\n    if (sEnabled && tEnabled)\n    {\n        gl_FragColor = mix(sFragColor, tFragColor, blendingCoef);     \n    }\n    else if (sEnabled)\n    {        \n        gl_FragColor = vec4(sFragColor.rgb, sFragColor.a * (1.0 - blendingCoef));\n    }\n    else if (tEnabled)\n    {\n        gl_FragColor = vec4(tFragColor.rgb, tFragColor.a * blendingCoef);\n    }\n    #include <encodings_fragment>\n}";
k.vertexShader="varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;\n   gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}";k.side=THREE.DoubleSide;k.depthWrite=!0;k.transparent=!0;k.needsUpdate=!0;this.update(k,l);return k},update:function(l,k){l.uniforms.sCube.value=k.Fs;l.uniforms.sPos.value.set(k.Txa,k.Uxa,k.Vxa);l.uniforms.sRot.value.makeRotationFromEuler(d.set(k.bXa*h,k.Rxa*h,k.cXa*h,k.vg));l.uniforms.sEnabled.value=
k.FP;l.uniforms.tCube.value=k.Gs;l.uniforms.tPos.value.set(k.targetX,k.targetY,k.jya);l.uniforms.tRot.value.makeRotationFromEuler(d.set(k.pXa*h,k.iya*h,k.qXa*h,k.vg));l.uniforms.tEnabled.value=k.KP;l.uniforms.blendingCoef.value=k.position;l.needsUpdate=!0;return l}},d=new THREE.Euler,h=Math.PI/180;return a});
define("ly",["require","kh","Y","fp","ci"],function(a){function d(c,e,m){this.pa=c;this.jg=e;this.C=m;this.yu=this.yu.bind(this);this.o=this.pa.U.ud("ProjectedMaterial");this.bd=this.ia=this.Vb=null}var h=a("kh"),l=a("Y"),k=a("fp"),b=a("ci");d.prototype.frame=function(){!this.bd&&b.dc(this.jg)&&this.zNa()};d.prototype.zNa=function(){this.Vb=new l.jn;this.ia=l.create(this.Vb);this.ia.polygonOffset=!0;this.ia.polygonOffsetUnits=1;this.ia.polygonOffsetFactor=-10;this.ia.needsUpdate=!0;this.bd=this.AEa();
this.o.I(k.Object3D).Zc=this.bd;var c=this.o.I(k.Db);c.Mb=this.pa;c.id=this.C.get("parentId");c.attach=!0;h.ma(this.C,f,this.yu,!0)};d.prototype.AEa=function(){var c=b.dc(this.jg),e=new Map;c.traverse(function(p){if(p.material&&p.userData){var n={};p.material&&(n.material=p.material,p.material=this.ia);p.userData&&(n.userData=p.userData,p.userData={});e.set(p,n)}}.bind(this));c=c.clone();e.forEach(function(p,n){p.material&&(n.material=p.material);p.userData&&(n.userData=p.userData)});var m=b.Um(this.jg),
q=m&&b.Zy(m);this.WM=new THREE.Mesh(new THREE.BoxGeometry(2,2,2),this.ia);this.XE=m&&b.SX(m);b.VQa(q,this.WM);return c};d.prototype.yu=function(){this.Vb.texture||(this.Vb.texture=new THREE.CubeTexture);this.Vb.texture.image!=this.C.get("faces")&&(this.Vb.texture.image=this.C.get("faces"),this.Vb.texture.encoding=THREE.sRGBEncoding,this.Vb.texture.needsUpdate=!0);this.C.get("sourceFaces")?(this.Vb.Fs.image!=this.C.get("sourceFaces")&&(this.Vb.Fs&&this.Vb.Fs.dispose(),this.Vb.Fs=new THREE.CubeTexture,
this.Vb.Fs.image=this.C.get("sourceFaces"),this.Vb.Fs.encoding=this.XE,this.Vb.Fs.needsUpdate=!0),this.Vb.Txa=this.C.get("sourceX"),this.Vb.Uxa=this.C.get("sourceY"),this.Vb.Vxa=this.C.get("sourceZ"),this.Vb.Rxa=this.C.get("sourceYaw"),this.Vb.FP=!0):this.Vb.FP=!1;this.C.get("targetFaces")?(this.Vb.Gs.image!=this.C.get("targetFaces")&&(this.Vb.Gs&&this.Vb.Gs.dispose(),this.Vb.Gs=new THREE.CubeTexture,this.Vb.Gs.image=this.C.get("targetFaces"),this.Vb.Gs.encoding=this.XE,this.Vb.Gs.needsUpdate=!0),
this.Vb.targetX=this.C.get("targetX"),this.Vb.targetY=this.C.get("targetY"),this.Vb.jya=this.C.get("targetZ"),this.Vb.iya=this.C.get("targetYaw"),this.Vb.KP=!0):this.Vb.KP=!1;this.Vb.position=this.C.get("position");b.dc(this.jg).visible=this.Vb.FP&&this.Vb.KP||this.Vb.FP&&0>=this.Vb.position||this.Vb.KP&&1<=this.Vb.position?!1:!0;l.update(this.ia,this.Vb);this.o.U.gb()};var g=new THREE.MeshBasicMaterial;d.prototype.dispose=function(){b.dc(this.jg).visible=!0;this.bd&&this.bd.traverse(function(c){c.material==
this.ia&&(c.material=g)}.bind(this));this.WM&&(b.RUa(this.WM.parent,this.WM),this.WM=null);this.ia&&(this.Vb.Fs.dispose(),this.Vb.Gs.dispose(),this.Vb.texture.dispose(),this.Vb=null,this.ia.dispose(),this.ia=null);h.ka(this.C,f,this.yu);this.o&&this.o.U.Cf(this.o);this.C=this.o=this.pa=null};var f="sourceX sourceY sourceZ sourceYaw sourceFaces targetX targetY targetZ targetYaw targetFaces position".split(" ");return d});
define("cC","require kh og fV fp ci".split(" "),function(a){function d(w,x,y){this.pa=w;this.o=x;this.C=y;this.XF=this.XF.bind(this);this.Ye=this.Ye.bind(this);this.jl=this.jl.bind(this);this.Ec=null;this.T=!1;this.Nf=1;this.Ug=this.pa.U.ud("DraggingSize2DContainer");this.Ug.I(b.Group);this.Ug.I(b.Ba);this.Wf=[this.B5=this.Wo(),this.t5=this.Wo(),this.b8=this.Wo(),this.F7=this.Wo()];this.Wf.forEach(function(A){A.I(b.Ba);A=A.L(b.Kc);A.color="#ffffff";A.opacity=.5;A.depthTest=!1}.bind(this));this.br=
this.V1();this.Xg=[this.Ug,this.br].concat(this.Wf);[this.br].concat(this.Wf).forEach(function(A){A.I(b.Db).Mb=this.Ug}.bind(this));h.ma(this.C,u,this.XF,!0);h.ma(this.C,t,this.Ye,!0);h.ma(this.C,v,this.jl,!0)}var h=a("kh"),l=a("og"),k=a("fV"),b=a("fp"),g=a("ci"),f=new THREE.Matrix4,c=new THREE.Vector3,e=new THREE.Vector3,m=new THREE.Quaternion,q=new THREE.Vector3,p=new THREE.Vector3,n=new THREE.Euler,r=180/Math.PI;d.prototype.frame=function(){if(this.T){var w=g.dc(this.Ug),x=w&&g.NH(w),y=x&&g.Zy(x);
if(y){if(this.Ec){var A=g.Taa(x);x=g.DO(x);g.getWorldPosition(this.o,p).project(y);p.x=(p.x+1)*A*.5;p.y=(1-p.y)*x*.5;g.getWorldPosition(this.Ec,q).project(y);q.x=(q.x+1)*A*.5;q.y=(1-q.y)*x*.5;A=this.C.get("anchorX");x=this.C.get("anchorY");var B,z,C=p.x-q.x,E=q.y-p.y,F=-C,G=-E;this.t5===this.Ec&&(0<A||1>x)?C>E?B=C/A:z=E/(1-x):this.F7===this.Ec&&(1>A||1>x)?F>E?B=F/(1-A):z=E/(1-x):this.B5===this.Ec&&(0<A||0<x)?C>G?B=C/A:z=G/x:this.b8===this.Ec&&(1>A||0<x)&&(F>G?B=F/(1-A):z=G/x);void 0!==z&&void 0===
B?B=z*this.aga:void 0!==B&&void 0===z&&(z=B/this.aga);void 0!==B&&void 0!==z&&(this.C.set("width",this.ea=B),this.C.set("height",this.ua=z))}B=this.Ug.getComponent(b.Ba);f.copy(w.parent.matrixWorld).invert().multiply(y.matrixWorld).decompose(c,m,e);n.setFromQuaternion(m,B.vg);n.x*=r;n.y*=r;n.z*=r;if(B.df!=n.x||B.Ge!=n.y||B.ef!=n.z)B=this.Ug.L(b.Ba),B.df=n.x,B.Ge=n.y,B.ef=n.z;this.MM(g.OH(this.Ug)||1)}}};d.prototype.tPa=function(w,x){null!=this.K9&&clearTimeout(this.K9);this.K9=setTimeout(function(){this.K9=
null;if(this.ea!==w||this.ua!==x)this.ea=w,this.ua=x,this.aga=this.ea/this.ua}.bind(this),100)};d.prototype.Wo=function(){var w=this.pa.U.ud("DraggingSphere");w.I(b.Mesh).renderOrder=2;w.I(b.Geometry).geometry=new THREE.SphereGeometry;w.I(b.Kc);return w};d.prototype.V1=function(){var w=this.pa.U.ud("BoxBorder");w.I(b.Line);w.I(b.Geometry).geometry=this.JEa();var x=w.I(b.Vi);x.color="#0000ff";x.depthTest=!1;x.width=1;return w};d.prototype.JEa=function(){var w=[new THREE.Vector3(-.5,-.5,0),new THREE.Vector3(.5,
-.5,0),new THREE.Vector3(.5,-.5,0),new THREE.Vector3(.5,.5,0),new THREE.Vector3(.5,.5,0),new THREE.Vector3(-.5,.5,0),new THREE.Vector3(-.5,.5,0),new THREE.Vector3(-.5,-.5,0)];return(new THREE.BufferGeometry).setFromPoints(w)};d.prototype.Ye=function(){var w=this.br.L(b.Vi);w.color=this.C.get("draggableLineColor");w.opacity=this.C.get("draggableLineOpacity");w.width=this.C.get("draggableLineWidth");this.Wf.forEach(function(x){x.L(b.Kc).color=this.C.get("draggableSphereColor");x.L(b.Ba).scale=this.C.get("draggableSphereRadius")*
this.Nf}.bind(this))};d.prototype.MM=function(w){this.Nf!=w&&(this.Nf=w,this.XF(),this.Ye())};d.prototype.XF=function(){var w=this.C.get("anchorX"),x=this.C.get("anchorY"),y=this.C.get("width"),A=this.C.get("height"),B=this.B5.L(b.Ba,!0);B.positionX=-w*y*this.Nf;B.positionY=x*A*this.Nf;B=this.b8.L(b.Ba,!0);B.positionX=(1-w)*y*this.Nf;B.positionY=x*A*this.Nf;B=this.t5.L(b.Ba,!0);B.positionX=-w*y*this.Nf;B.positionY=(x-1)*A*this.Nf;B=this.F7.L(b.Ba,!0);B.positionX=(1-w)*y*this.Nf;B.positionY=(x-1)*
A*this.Nf;B=this.br.L(b.Ba,!0);B.positionX=(.5-w)*y*this.Nf;B.positionY=(x-.5)*A*this.Nf;B.Qf=y*this.Nf;B.hg=A*this.Nf;this.tPa(y,A)};d.prototype.jl=function(){var w=this.C.get("sizeDraggable");this.T!=w&&((this.T=w)?(this.Ug.I(b.Db).Mb=this.o,this.Wf.forEach(function(x){x=x.I(b.Hd);x.Jv=!0;x.pv=!0;x.La=new k;x.La.bind(l.$c,this.QF,this,!0);x.La.bind(l.ac,this.i6,this,!0);x.La.bind(l.ub,this.g6,this,!0);x.La.bind(l.$b,this.h6,this,!0)}.bind(this))):(this.Ug.na(b.Db),this.Wf.forEach(function(x){x.na(b.Hd)}.bind(this))))};
d.prototype.QF=function(w){(w=this.Vk(w))&&w!=this.Ec&&(w.L(b.Kc).opacity=1)};d.prototype.i6=function(w){(w=this.Vk(w))&&w!=this.Ec&&(w.L(b.Kc).opacity=.5)};d.prototype.g6=function(w){w=this.Vk(w);this.zy(w)};d.prototype.h6=function(w){(w=this.Vk(w))&&w==this.Ec&&(this.zy(null),this.XF(),(w=-1!=this.Wf.indexOf(w))&&this.C.trigger(l.et),w&&this.C.trigger(l.Bea))};d.prototype.Vk=function(w){w=this.Wf.map(function(x){return x.getComponent(b.Hd).La}).indexOf(w.source);if(-1==w)return null;w=this.Wf[w];
return this.GIa(w)?w:null};d.prototype.GIa=function(w){var x=this.C.get("anchorX"),y=this.C.get("anchorY");return this.t5===w&&(0<x||0<y)||this.F7===w&&(1>x||0<y)||this.B5===w&&(0<x||1>y)||this.b8===w&&(1>x||1>y)?!0:!1};d.prototype.zy=function(w){this.Ec&&(this.Ec.L(b.Kc).opacity=.5,this.iF(this.Ec).na(b.yo));if(this.Ec=w){this.Ec.L(b.Kc).opacity=1;var x=this.iF(this.Ec).I(b.yo),y=g.getWorldPosition(this.o);w=g.getWorldPosition(w);w=(new THREE.Vector3).copy(w).sub(y);var A=Math.min(w.length(),10*
this.Nf);y=(new THREE.Vector3).copy(y).add(c.copy(w).setLength(A));x.direction=w;x.min=y}};d.prototype.iF=function(w){return-1!=this.Wf.indexOf(w)?w:null};d.prototype.dispose=function(){h.ka(this.C,u,this.XF);h.ka(this.C,t,this.Ye);h.ka(this.C,v,this.jl);var w=this.pa.U;this.Xg.forEach(function(x){w.Cf(x)});this.C=this.pa=this.Wf=this.o=this.Xg=null};var t=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],u="anchorX anchorY height x y z width".split(" "),
v=["sizeDraggable"];return d});
define("hK","require kh hE fp jC cC ci".split(" "),function(a){function d(v,w,x,y,A){this.pa=v;this.Ae=x;this.pj=y;this.C=A;this.bk=this.bk.bind(this);this.DL=this.DL.bind(this);this.Ye=this.Ye.bind(this);this.dU=this.dU.bind(this);this.zh=this.Ae.RC(1);this.C.get("preload")&&this.pj.bO(this.zh);this.o=this.pa.U.ud("SpriteContainer");this.o.I(k.Group);v=this.o.I(k.Db);v.Mb=this.pa;v.id=this.C.get("parentId");this.xN=this.pa.U.ud("TranslationSpriteContainer");this.xN.I(k.Group);this.xN.I(k.Db).Mb=
this.o;this.Tr=this.pa.U.ud("Sprite");this.Tr.I(k.Db).Mb=this.xN;v=this.Tr.I(k.Ws);v.qc=this.C;v.Kua=this.C.get("image");v.La=this.C;v.$H=this.zh;v.isSprite=!0;v.priority=this.C.get("preload")?l.ZD:l.Tza;this.Tr.I(k.Sprite).renderOrder=2;this.Tr.I(k.Hd).La=this.C;this.Tr.I(k.zz);this.Tr.I(k.ZP).object=this.C;this.w5=!1;this.Nf=1;this.Fx=this.o.U.ud("TranslationLine");this.Fx.I(k.Line).renderOrder=1;this.Fx.I(k.Vi);this.OA=new b(this.pa,this.o,this.C);this.W2=new g(this.pa,this.xN,this.C);h.ma(this.C,
n,this.bk,!0);h.ma(this.C,t,this.DL,!0);h.ma(this.C,u,this.Ye,!0);h.ma(this.C,r,this.dU,!0)}var h=a("kh"),l=a("hE"),k=a("fp"),b=a("jC"),g=a("cC"),f=a("ci");d.prototype.frame=function(){this.OA.frame();this.W2.frame();this.MM(f.OH(this.o)||1)};d.prototype.bk=function(){this.o.I(k.Db).id!=this.C.get("parentId")&&(this.o.L(k.Db).id=this.C.get("parentId"));var v=this.o.L(k.Ba,!0);v.positionX=this.C.get("x");v.positionY=this.C.get("y");v.positionZ=this.C.get("z")};d.prototype.MM=function(v){this.Nf!=v&&
(this.Nf=v,this.DL())};d.prototype.DL=function(){var v=this.xN.L(k.Ba,!0),w=this.C.get("translationLength");m.set(this.C.get("translationX"),this.C.get("translationY"),this.C.get("translationZ"));void 0!==w&&m.setLength(w*this.Nf);v.translationX=m.x;v.translationY=m.y;v.Sf=m.z;w=this.Fx.L(k.Ba,!0);m.set(v.translationX,v.translationY,v.Sf);w.scale=m.length();c.setFromUnitVectors(q,m.normalize());e.setFromQuaternion(c,w.vg);e.x*=p;e.y*=p;e.z*=p;w.df=e.x;w.Ge=e.y;w.ef=e.z;this.jra()};var c=new THREE.Quaternion,
e=new THREE.Euler,m=new THREE.Vector3,q=new THREE.Vector3(0,0,1),p=180/Math.PI;d.prototype.Ye=function(){var v=this.Tr.L(k.Hd,!0);v.cn=this.C.get("useHandCursor");v.tI=this.C.get("transparentAreaActive");v.pv=this.C.get("clickEnabled");v.Jv=this.C.get("rollOverEnabled");v=this.Fx.L(k.Vi);v.color=this.C.get("translationLineColor");v.depthTest=this.C.get("depthTest");v.opacity=this.C.get("translationLineOpacity");v.width=this.C.get("translationLineWidth");this.jra()};d.prototype.dU=function(){var v=
this.Tr.L(k.Sprite,!0);v.oH=this.C.get("anchorX");v.pH=this.C.get("anchorY");v.width=this.C.get("width");v.height=this.C.get("height");v.scale=this.C.get("scale")};d.prototype.jra=function(){var v=this.C.get("translationLineVisible")&&0<this.C.get("translationLineOpacity")&&(0!=this.C.get("translationX")||0!=this.C.get("translationY")||0!=this.C.get("translationZ"));this.w5!=v&&((this.w5=v)?this.Fx.I(k.Db).Mb=this.o:this.Fx.na(k.Db))};d.prototype.dispose=function(){this.OA.dispose();this.OA=null;
this.W2.dispose();this.W2=null;h.ka(this.C,n,this.bk);h.ka(this.C,t,this.DL);h.ka(this.C,u,this.Ye);h.ka(this.C,r,this.dU);this.Ae.OY(this.zh);this.pj.OY(this.cLa);this.cLa=this.Ae=null;var v=this.pa.U;this.pa=null;v.Cf(this.Tr);this.Tr=null;v.Cf(this.Fx);this.Fx=null;v.Cf(this.o);this.C=this.o=null};var n=["parentId","x","y","z"],r=["anchorX","anchorY","width","height","scale"],t=["translationX","translationY","translationZ","translationLength"],u="clickEnabled depthTest rollOverEnabled transparentAreaActive translationLineColor translationLineOpacity translationLineVisible translationLineWidth useHandCursor".split(" ");
return d});define("fI",["require","nc","cn","ly","hK"],function(a){var d=a("nc"),h=a("cn"),l=a("ly"),k=a("hK");return{create:function(b,g,f,c,e){return d.Ea("SpriteModel3DObject",e)?new k(b,g,f,c,e):d.Ea("BoxModel3DObject",e)?new h(b,g,e):d.Ea("ProjectedMaterialModel3DObject",e)?new l(b,g,e):null}}});
define("kA",["require","kh","fp","fI"],function(a){function d(b,g,f,c){this.o=b;this.jg=g;this.Ae=f;this.pj=c;this.PB=this.PB.bind(this);this.jq=b.U;this.m=this.o.getComponent(l.yg).qc;this.Aa=(b=this.o.getComponent(l.Object3D))&&b.Zc;this.$f=[];this.JT=new Map;h.ma(this.m,["objects.enabled"],this.PB,!0)}var h=a("kh"),l=a("fp"),k=a("fI");d.prototype.update=function(){var b=this.o.getComponent(l.Object3D);b=b&&b.Zc;if(this.Aa!==b){var g=this.Aa;this.Aa=b;this.FW(!!g)}};d.prototype.frame=function(){this.JT.forEach(function(b){b&&
b.frame&&b.frame()})};d.prototype.dispose=function(){this.Aa=null;h.ka(this.m,["objects.enabled"],this.PB);this.LM([])};d.prototype.PB=function(){this.FW()};d.prototype.FW=function(b){var g=this.m.get("objects").filter(function(f){return f.get("enabled")});this.LM(g,b)};d.prototype.LM=function(b,g){if(this.$f!=b||g)this.$f.forEach(function(f){(g||0>b.indexOf(f))&&this.GLa(f)}.bind(this)),b.forEach(function(f){(g||0>this.$f.indexOf(f))&&this.DBa(f)}.bind(this)),this.$f=b};d.prototype.DBa=function(b){this.JT.set(b,
k.create(this.o,this.jg,this.Ae,this.pj,b))};d.prototype.GLa=function(b){var g=this.JT.get(b);g&&g.dispose();this.JT["delete"](b)};return d});
define("jP",["require","og","fp"],function(a){function d(g,f){this.o=g;this.jg=f;this.hj=this.Aa=this.m=null;this.rU=new Map;this.vl(this.o.getComponent(l.yg).qc);this.update()}var h=a("og"),l=a("fp");d.prototype.update=function(){var g=this.jg.getComponent(l.Object3D);g=g&&g.Zc;this.Aa!=g&&(this.Aa=g,this.oA())};d.prototype.vl=function(g){this.m&&k.forEach(function(f){this.m.unbind(h.G(f),this.oA,this,!1)}.bind(this));if(this.m=g)k.forEach(function(f){this.m.bind(h.G(f),this.oA,this,!1)}.bind(this)),
this.oA()};d.prototype.oA=function(){this.ppa(this.m.get("model"));if(this.Aa){var g=this.m.get("castShadow"),f=this.m.get("receiveShadow"),c=this.m.get("bakedTextures");this.Aa.traverse(function(e){e.isMesh&&(c?this.RDa(e):this.lV(e),void 0!==g&&(e.castShadow=g),void 0!==f&&(e.receiveShadow=f))}.bind(this));this.o.U.gb()}};d.prototype.RDa=function(g){!g.material||g.material.isMeshBasicMaterial||this.rU.get(g)||(this.rU.set(g,g.material),g.material=(new THREE.MeshBasicMaterial).copy(g.material))};
d.prototype.lV=function(g){var f=g.material,c=this.rU.get(g);f&&c&&(this.rU["delete"](g),g.material=c)};d.prototype.ppa=function(g){this.hj!=g&&(this.hj&&b.forEach(function(f){this.hj.unbind(h.G(f),this.W0,this,!1)}.bind(this)),this.hj=g)&&(b.forEach(function(f){this.hj.bind(h.G(f),this.W0,this,!1)}.bind(this)),this.W0())};d.prototype.W0=function(){var g=this.jg.L(l.Ba,!0);g.positionX=this.hj.get("positionX");g.positionY=this.hj.get("positionY");g.positionZ=this.hj.get("positionZ");g.df=this.hj.get("rotationX");
g.Ge=this.hj.get("rotationY");g.ef=this.hj.get("rotationZ");g.scale=this.hj.get("scale");g.translationX=this.hj.get("translationX");g.translationY=this.hj.get("translationY");g.Sf=this.hj.get("translationZ")};d.prototype.dispose=function(){this.Aa&&(this.Aa.traverse(function(g){g.isMesh&&this.lV(g)}.bind(this)),this.Aa=null);this.ppa(null);this.vl(null)};var k=["bakedTextures","castShadow","model","receiveShadow"],b="positionX positionY positionZ rotationX rotationY rotationZ scale translationX translationY translationZ".split(" ");
return d});
define("bN","require og cu oy fp kK lV es kA jP".split(" "),function(a){function d(q){this.o=q;this.o.I(b.Group);this.jg=this.o.U.ud("GLTF");this.jg.I(b.Db).Mb=this.o;q=this.o.getComponent(b.yg);this.pj=new k(q.Gwa);this.Ae=new k(q.$H);this.de=q.La;this.Ix=new c(this.o,this.jg,this.Ae,this.pj);this.$f=new e(this.o,this.jg,this.Ae,this.pj);this.nu=new f(this.o);this.ye=new g(this.o);this.m=new m(this.o,this.jg)}var h=a("og"),l=a("cu"),k=a("oy"),b=a("fp"),g=a("kK"),f=a("lV"),c=a("es"),e=a("kA"),m=a("jP");
d.prototype.update=function(){this.Ix.update();this.$f.update();this.m.update();this.nu.update();this.ye.update()};d.prototype.frame=function(){this.$f.frame();this.ye.frame();this.de.trigger(new l(h.Qz))};d.prototype.dispose=function(){this.ye&&(this.ye.dispose(),this.ye=null);this.Ix&&(this.Ix.dispose(),this.Ix=null);this.$f&&(this.$f.dispose(),this.$f=null);this.nu&&(this.nu.dispose(),this.nu=null);this.m&&(this.m.dispose(),this.m=null);this.Ae&&(this.Ae.dispose(),this.Ae=null);this.jg&&(this.jg.U.Cf(this.jg),
this.jg=null);this.de=null};d.Nb=function(q){q.I(b.$s).manager=new d(q)};d.ab=function(q){var p=q.getComponent(b.$s);p.manager.dispose();p.manager=null;q.na(b.$s)};d.update=function(q){q.getComponent(b.$s).manager.update()};d.frame=function(q){q.getComponent(b.$s).manager.frame()};return d});
define("kC",["require","kV","lf","fp","bN"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("bN");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Kva.D.length&&this.Kva.D.slice().forEach(k.Nb);this.tY.Za.length&&this.tY.Za.slice().forEach(k.update);this.tY.D.length&&this.tY.D.slice().forEach(k.frame);this.Lva.D.length&&this.Lva.D.slice().forEach(k.ab)};a.J={};a.J.Kva=[l.yg,l.$s.not];a.J.tY=[l.yg,l.$s];a.J.Lva=[l.yg.not,l.$s];return a});
define("ce",["require","fp","ci"],function(a){function d(k){this.o=k;this.bd=null}var h=a("fp"),l=a("ci");d.prototype.frame=function(){if(!this.bd){var k=this.o.getComponent(h.dE),b=l.dc(k.container);if(this.bd=b&&k.id&&l.XC(b,k.id)||null)this.o.I(h.Object3D).Zc=this.bd,this.o.U.gb()}};d.prototype.update=function(){this.bd&&(this.o.na(h.Object3D),this.bd=null)};d.prototype.dispose=function(){this.bd&&(this.o.na(h.Object3D),this.bd=null)};d.Nb=function(k){k.I(h.ct).manager=new d(k)};d.ab=function(k){var b=
k.getComponent(h.ct);b.manager.dispose();b.manager=null;k.na(h.ct)};d.frame=function(k){k.getComponent(h.ct).manager.frame()};d.update=function(k){k.getComponent(h.ct).manager.update()};return d});
define("gN",["require","kV","lf","fp","ce"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("ce");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Yva.D.length&&this.Yva.D.slice().forEach(k.Nb);this.zY.Za.length&&this.zY.Za.slice().forEach(k.update);this.zY.D.length&&this.zY.D.slice().forEach(k.frame);this.Zva.D.length&&this.Zva.D.slice().forEach(k.ab)};a.J={};a.J.Yva=[l.dE,l.ct.not];a.J.zY=[l.dE,l.ct];a.J.Zva=[l.dE.not,l.ct];return a});
define("nq",["require","fp"],function(a){function d(l){this.o=l;this.ZA=new THREE.PlaneGeometry;this.sT=this.o.I(h.Object3D).Zc=new THREE.Mesh(this.ZA);this.update()}var h=a("fp");d.prototype.update=function(){var l=this.o.getComponent(h.Material).material;l&&this.sT.material!=l&&(this.sT.material=l,this.sT.needsUpdate=!0);this.sT.renderOrder=this.o.getComponent(h.Plane).renderOrder};d.prototype.dispose=function(){this.ZA.dispose();this.ZA=null};d.Nb=function(l){l.I(h.ft).manager=new d(l)};d.ab=function(l){var k=
l.getComponent(h.ft);k.manager.dispose();k.manager=null;l.na(h.ft);l.na(h.Object3D)};d.update=function(l){l.getComponent(h.ft).manager.update()};return d});
define("gI",["require","kV","lf","fp","nq"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("nq");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.fP.D.length&&this.fP.D.slice().forEach(k.Nb);this.planes.Za.length&&this.planes.Za.slice().forEach(k.update);this.zwa.D.length&&this.zwa.D.slice().forEach(k.ab);this.Awa.D.length&&this.Awa.D.slice().forEach(k.ab)};a.J={};a.J.fP=[l.Material,l.Plane,l.ft.not];a.J.planes=[l.Plane,l.Material,l.ft];a.J.zwa=[l.Plane.not,l.ft];
a.J.Awa=[l.Material.not,l.ft];return a});
define("hv",["require","fp","ci"],function(a){var d=a("fp"),h=a("ci");return{Nb:function(l){var k=l.getComponent(d.Db),b=h.dc(k.Mb);if(b){var g=l.I(d.Mq);g.parent=b;k.id&&(b=b&&h.XC(b,k.id));g.id=k.id;g.td=h.dc(l);g.attach=k.attach;b&&g.td&&(g.attach?b.attach(g.td):b.add(g.td))}},update:function(l){var k=l.getComponent(d.Db),b=l.getComponent(d.Mq),g=h.dc(k.Mb),f=h.dc(l);if(b.parent!=g||b.td!=f||k.id!=b.id||k.attach!=b.attach||f&&g&&!f.parent)b=l.L(d.Mq),b.td&&b.td.parent&&(k.Mb.L(d.Object3D),b.td.parent.remove(b.td)),
b.parent=g,k.id&&(g=g&&h.XC(g,k.id)),b.id=k.id,b.td=f,b.attach=k.attach,g&&b.td&&(b.attach?g.attach(b.td):g.add(b.td))},ab:function(l){var k=l.getComponent(d.Mq);k.td&&k.td.parent&&k.td.parent.remove(k.td);k.parent=null;k.td=null;k.id=void 0;l.na(d.Mq)}}});
define("mo",["require","kV","lf","fp","hv"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("hv");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.ZO.D.length&&this.ZO.D.slice().forEach(k.Nb);this.sq.D.length&&this.sq.D.slice().forEach(k.update);this.sq.Za.length&&this.sq.Za.slice().forEach(k.update);this.sq.fg.length&&this.sq.fg.slice().forEach(k.update);this.Lsa.D.length&&this.Lsa.D.slice().forEach(k.ab);this.Msa.D.length&&this.Msa.D.slice().forEach(k.ab)};a.J=
{};a.J.ZO=[l.Object3D,l.Db,l.Mq.not];a.J.sq=[l.Object3D,l.Db,l.Mq];a.J.Lsa=[l.Object3D.not,l.Db,l.Mq];a.J.Msa=[l.Db.not,l.Mq];return a});
define("cY",["require","kV","lf","fp","ci"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("ci");a=d.extend(h,function(){h.apply(this,arguments);this.hf=this.hf.bind(this);this.vd=this.vd.bind(this);this.TC=this.TC.bind(this)});a.prototype.Ed=function(){this.vwa.D.length&&this.vwa.D.slice().forEach(this.hf);this.uwa.D.length&&this.uwa.D.slice().forEach(this.TC);this.wwa.D.length&&this.wwa.D.slice().forEach(this.vd);this.xwa.D.length&&this.xwa.D.slice().forEach(this.vd)};a.prototype.hf=function(f){f.I(l.Yz)};
a.prototype.vd=function(f){f.na(l.Yz)};var b=new THREE.Matrix4,g=new THREE.Vector3;a.prototype.TC=function(f){var c=f.getComponent(l.Mk),e=f.getComponent(l.Ba);if(e){var m=f.getComponent(l.Object3D).Zc;if(m&&m.parent){var q=1E-7;f.getComponent(l.Hf)&&(q=k.OH(f)||q);b.copy(m.parent.matrixWorld).invert();g.setFromMatrixScale(b);m=c.scale*Math.max(g.x,g.y,g.z);void 0!==c.mD&&(m=Math.min(c.mD*q,m));void 0!==c.oD&&(m=Math.max(c.oD*q,m));if(e.scale!=m||e.Qf!=c.Qf||e.hg!=c.hg||e.Qh!=c.Qh)e=f.L(l.Ba),e.scale=
m,e.Qf=c.Qf,e.hg=c.hg,e.Qh=c.Qh}}};a.J={};a.J.vwa=[l.Object3D,l.Mk,l.Yz.not];a.J.uwa=[l.Object3D,l.Mk,l.Yz];a.J.wwa=[l.Object3D.not,l.Yz];a.J.xwa=[l.Mk.not,l.Yz];return a});
define("dH",["require","og","fp","ci"],function(a){function d(t){this.o=t;this.by=null;this.iL=new THREE.Vector3;this.Wa=new THREE.Vector3;this.M4=this.Vc=this.u9=!1;this.update()}var h=a("og"),l=a("fp"),k=a("ci");d.prototype.update=function(){this.I6=this.o.getComponent(l.Kj).Mb};d.prototype.frame=function(){this.sra();this.mv()};d.prototype.sra=function(){var t=this.I6&&this.I6.getComponent(l.Hd);t=t&&t.La;this.by!=t&&(this.by&&(this.by.unbind(h.ec,this.Xe,this,!0),this.by.unbind(h.ac,this.Am,this,
!0)),this.by=t)&&(this.by.bind(h.ec,this.Xe,this,!0),this.by.bind(h.ac,this.Am,this,!0))};d.prototype.Xe=function(t){if("mesh"!=t.data.type)this.Am();else{var u=this.Vc;this.Vc=!0;var v=k.dc(this.o);if((v=v&&v.parent)&&v.matrixWorld){var w=this.o.getComponent(l.Kj);w&&(g.setFromMatrixPosition(v.matrixWorld),f.copy(v.matrixWorld).invert(),c.fromArray(t.data.objectMatrixWorld),b.setFromMatrixPosition(c),e.copy(c).invert(),w.rotate?t.data.normal?this.iL.copy(t.data.normal).applyMatrix4(c).sub(b).add(g):
this.iL.copy(t.data.cameraPosition):this.iL.copy(p),this.iL.applyMatrix4(f).normalize(),this.Wa.copy(t.data.position).applyMatrix4(f),this.u9=!0,this.o.U.gb(),u||(t=this.o.getComponent(l.Kj).La)&&t.trigger(h.$c))}}};var b=new THREE.Vector3,g=new THREE.Vector3,f=new THREE.Matrix4,c=new THREE.Matrix4,e=new THREE.Matrix4;d.prototype.Am=function(){if(this.Vc){this.Vc=!1;this.o.U.gb();var t=this.o.getComponent(l.Kj).La;t&&t.trigger(h.ac)}};d.prototype.mv=function(){if(this.u9||this.Vc){this.u9=!1;var t=
this.o.L(l.Ba,!0);t.positionX=0;t.positionY=0;t.positionZ=0;m.setFromUnitVectors(q,this.iL);n.setFromQuaternion(m,t.vg);t.df=n.x*r;t.Ge=n.y*r;t.ef=n.z*r;t.translationX=this.Wa.x;t.translationY=this.Wa.y;t.Sf=this.Wa.z;t.easing=this.M4?.4:0;this.M4||(k.YY(this.o,t),this.M4=!0)}};var m=new THREE.Quaternion,q=new THREE.Vector3(0,0,1),p=new THREE.Vector3(0,1,0),n=new THREE.Euler,r=180/Math.PI;d.prototype.dispose=function(){this.I6=null;this.sra()};d.Nb=function(t){t.I(l.Oq).manager=new d(t)};d.ab=function(t){var u=
t.getComponent(l.Oq);u.manager.dispose();u.manager=null;t.na(l.Oq)};d.frame=function(t){t.getComponent(l.Oq).manager.frame()};d.update=function(t){t.getComponent(l.Oq).manager.update()};return d});
define("id",["require","kV","lf","fp","dH"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("dH");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Bwa.D.length&&this.Bwa.D.slice().forEach(k.Nb);this.IY.Za.length&&this.IY.D.slice().forEach(k.update);this.IY.D.length&&this.IY.D.slice().forEach(k.frame);this.Cwa.D.length&&this.Cwa.D.slice().forEach(k.ab);this.Dwa.D.length&&this.Dwa.D.slice().forEach(k.ab)};a.J={};a.J.Bwa=[l.Object3D,l.Kj,l.Oq.not];a.J.IY=[l.Object3D,
l.Kj,l.Oq];a.J.Cwa=[l.Object3D.not,l.Oq];a.J.Dwa=[l.Kj.not,l.Oq];return a});define("fP",["require","he"],function(a){return a("he")});
define("eC",["require","fp","nJ","bD"],function(a){function d(b){this.o=b;this.enabled=!1;this.km=null;this.fr=0;this.passes=[];this.mi=this.ni=!1;this.Ie=null;this.ua=this.ea=100}var h=a("fp"),l=a("nJ"),k=a("bD");d.prototype.dispose=function(){this.Ie&&(this.Ie.saoRenderTarget.dispose(),this.Ie.blurIntermediateRenderTarget.dispose(),this.Ie.beautyRenderTarget.dispose(),this.Ie.normalRenderTarget.dispose(),this.Ie.depthRenderTarget.dispose(),this.Ie.depthMaterial.dispose(),this.Ie.normalMaterial.dispose(),
this.Ie.saoMaterial.dispose(),this.Ie.vBlurMaterial.dispose(),this.Ie.hBlurMaterial.dispose(),this.Ie.materialCopy.dispose(),this.Ie.depthCopy.dispose(),this.Ie=null)};d.prototype.update=function(b,g,f,c,e){var m=this.o.getComponent(h.MD),q=!!m;if(this.ni=this.enabled!=q)(this.enabled=q)?(!this.Ie&&b&&g&&(this.Ie=new THREE.SAOPass(b,g,!1,!0)),this.km=new l("linear",[new k("alpha",0,1,void 0)],m.eta),this.fr=0,this.passes=[this.Ie],this.mi=!0):(this.passes=[],this.mi=!1);this.enabled&&(this.km&&(this.km.wb(e),
this.fr=this.km.$a("alpha"),1==this.fr&&(this.km=null),this.o.U.gb()),null!==m.output&&(this.Ie.params.output=m.output),this.Ie.params.saoBias=m.bias/m.scale,this.Ie.params.saoIntensity=this.fr*m.intensity,this.Ie.params.saoScale=m.scale,this.Ie.params.saoKernelRadius=m.eva,this.Ie.params.saoMinResolution=m.Hva/1E3,this.Ie.params.saoBlur=0<m.caa,this.Ie.params.saoBlurRadius=m.caa,this.Ie.params.saoBlurStdDev=8,this.Ie.params.saoBlurDepthCutoff=.01,(this.ea!=f||this.ua!=c)&&this.Ie.setSize(this.ea=
f,this.ua=c))};return d});
define("q",["require","fp"],function(a){function d(l){this.o=l;this.enabled=!1;this.passes=[];this.mi=this.ni=!1;this.Vq=null}var h=a("fp");d.prototype.dispose=function(){this.Vq&&(this.Vq.material.dispose(),this.Vq=null)};d.prototype.update=function(l,k,b,g){l=this.o.getComponent(h.vz);l=!!l&&l.xta;if(this.ni=this.enabled!=l)(this.enabled=l)?(this.Vq||(this.Vq=new THREE.ShaderPass(THREE.FXAAShader),this.Vq.needsSwap=!0),this.passes=[this.Vq],this.mi=!0):(this.passes=[],this.mi=!1);!this.enabled||
this.ea==b&&this.ua==g||(this.ea=b,this.ua=g,this.Vq.material.uniforms.resolution.value.x=1/this.ea,this.Vq.material.uniforms.resolution.value.y=1/this.ua,this.Vq.setSize(b,g))};return d});
define("nV",["require","ne","fp"],function(a){function d(b){this.o=b;this.enabled=!1;this.passes=[];this.mi=this.ni=!1;this.Et=null;this.sb=this.uc=void 0}var h=a("ne"),l=a("fp");d.prototype.dispose=function(){this.Et&&(this.Et.material.dispose(),this.Et=null)};d.prototype.update=function(){var b=this.o.getComponent(l.YP),g=!!b;if(this.ni=this.enabled!=g)(this.enabled=g)?(this.Et||(this.Et=new THREE.ShaderPass(k),this.Et.needsSwap=!0),this.passes=[this.Et],this.mi=!0):(this.passes=[],this.mi=!1);
this.enabled&&(this.sb!==b.opacity&&(this.sb=b.opacity,this.Et.uniforms.opacity.value=this.sb),this.uc!==b.color&&(this.uc=b.color,this.Et.uniforms.color.value=new THREE.Color(h.ID(this.uc))))};var k={uniforms:{tDiffuse:{value:null},opacity:{value:.5},color:{value:new THREE.Color(0)}},vertexShader:"varying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform float opacity;\nuniform vec3 color;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n    vec4 texel = texture2D(tDiffuse, vUv);\n    float composedAlpha = opacity + texel.a * (1.0 - opacity);\n    if (composedAlpha > 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 d});
define("fK",["require","fp"],function(a){function d(l){this.o=l;this.enabled=!1;this.km=null;this.fr=0;this.passes=[];this.mi=this.ni=!1;this.Hi=null;this.p7=new THREE.Matrix4;this.r7=new THREE.Matrix4;this.o7=new THREE.Vector3}var h=a("fp");d.prototype.dispose=function(){this.Hi&&(this.Hi.dispose(),this.Hi=null)};d.prototype.update=function(l,k){var b=this.o.getComponent(h.HI),g=!!b;if(this.ni=this.enabled!=g)(this.enabled=g)?(!this.Hi&&l&&k&&(this.Hi=new THREE.MotionBlurPass,this.Hi.needsSwap=!0,
this.p7.copy(k.matrixWorldInverse),this.r7.copy(k.projectionMatrix),this.o7.copy(k.position)),this.passes=[this.Hi],this.mi=!0):(this.passes=[],this.mi=!1);this.enabled&&(this.Hi.uniforms.inverseProjectionMatrix.value.copy(k.projectionMatrix).invert(),this.Hi.uniforms.near.value=k.near,this.Hi.uniforms.far.value=k.far,this.Hi.uniforms.depthLimit.value=.99,this.Hi.uniforms.clipToWorldMatrix.value.copy(k.matrixWorld).multiply(this.Hi.uniforms.inverseProjectionMatrix.value),this.Hi.uniforms.previousWorldToClipMatrix.value.copy(this.r7).multiply(this.p7),
this.Hi.uniforms.cameraMove.value.copy(k.position).sub(this.o7),this.Hi.uniforms.velocityFactor.value=b.intensity,this.Hi.uniforms.samples.value=b.Vwa);this.p7.copy(k.matrixWorldInverse);this.r7.copy(k.projectionMatrix);this.o7.copy(k.position)};return d});
define("ew",["require","ne","fp"],function(a){function d(l){this.o=l;this.enabled=!0;this.passes=[];this.Cba=this.mi=this.ni=!1;this.ZV=void 0;this.rh=this.ag=this.sk=null}a("ne");var h=a("fp");d.prototype.dispose=function(){this.sk&&(this.sk.dispose(),this.sk=null);this.ag&&(this.ag=null);this.rh&&(this.rh.material.dispose(),this.rh=null)};d.prototype.update=function(l,k,b,g,f,c){f=this.o.getComponent(h.vz);c=!!f&&f.dya&&c;if(this.ni=this.ZV!==c)(this.ZV=c)?(this.sk||(this.sk=new THREE.SSAARenderPass(l,
k),this.sk.sampleLevel=f.IP,this.sk.needsSwap=!0,this.sk.clear=!0,this.sk.clearColor=65793,this.sk.clearAlpha=0),this.rh||(this.rh=new THREE.ShaderPass(THREE.CopyShader),this.rh.needsSwap=!0),this.passes=[this.sk,this.rh],this.Cba=this.mi=!0):(this.ag||(this.ag=new THREE.RenderPass,this.ag.clear=!0,this.ag.clearColor=65793,this.ag.clearAlpha=0),this.passes=[this.ag],this.Cba=this.mi=!1);this.ZV?(this.sk.scene=l,this.sk.camera=k,this.sk.sampleLevel=f.IP,this.rh.uniforms.opacity.value=Math.pow(2,Math.round(5<
f.IP?5:f.IP)),this.sk.setSize(b,g)):(this.ag.scene=l,this.ag.camera=k,this.ag.setSize(b,g))};return d});
define("mW",["require","ne","fp"],function(a){function d(b){this.o=b;this.enabled=!1;this.passes=[];this.mi=this.ni=!1;this.gq=null;this.uc=void 0}var h=a("ne"),l=a("fp");d.prototype.dispose=function(){this.gq&&(this.gq.material.dispose(),this.gq=null)};d.prototype.update=function(){var b=this.o.getComponent(l.iE),g=!!b;if(this.ni=this.enabled!=g)(this.enabled=g)?(this.gq||(this.gq=new THREE.ShaderPass(k),this.gq.needsSwap=!0),this.passes=[this.gq],this.mi=!0):(this.passes=[],this.mi=!1);this.enabled&&
(this.gq.uniforms.innerRadius.value=b.Mua,this.gq.uniforms.outerRadius.value=b.qwa,this.gq.uniforms.opacity.value=b.opacity,this.uc!==b.color&&(this.uc=b.color,this.gq.uniforms.color.value=new THREE.Color(h.ID(this.uc))))};var k={uniforms:{tDiffuse:{value:null},innerRadius:{value:.5},outerRadius:{value:.5},opacity:{value:.5},color:{value:new THREE.Color(0)}},vertexShader:"varying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",
fragmentShader:"uniform float innerRadius;\nuniform float outerRadius;\nuniform float opacity;\nuniform vec3 color;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n    vec4 texel = texture2D(tDiffuse, vUv);\n    vec2 uv = vUv - vec2(0.5, 0.5);\n    float radius = sqrt(dot(uv, uv)) * 1.4142135623730951;\n    float coef = clamp((radius - innerRadius) / (outerRadius - innerRadius), 0.0, 1.0);\n    float alpha = opacity * coef;\n    float composedAlpha = alpha + texel.a * (1.0 - alpha);\n    if (composedAlpha > 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 d});
define("gA","require eC q nV fK ew mW ci".split(" "),function(a){function d(e){this.Wc=e;this.Fa=this.ta=this.yf=null;this.ua=this.ea=void 0;this.rh=this.ir=this.j=this.tG=null;this.TR=[new g(e),new h(e),new b(e),new f(e),new l(e),new k(e)];this.IT=!1}var h=a("eC"),l=a("q"),k=a("nV"),b=a("fK"),g=a("ew"),f=a("mW"),c=a("ci");d.prototype.dispose=function(){this.j&&(this.j.domElement.style.backgroundColor=void 0);for(;this.TR.length;)this.TR.pop().dispose();this.Oha();this.ir&&(this.ir.material.dispose(),this.ir=
null);this.rh&&(this.rh.material.dispose(),this.rh=null)};d.prototype.setSize=function(e,m){if(this.ea!=e||this.ua!=m)this.ea=e,this.ua=m,this.yf&&this.yf.setSize(this.ea,this.ua),this.j&&this.j.setSize(this.ea,this.ua)};d.prototype.mI=function(e){this.Fa=e};d.prototype.Lv=function(e){this.ta=e};d.prototype.setRenderTarget=function(e){this.tG!=e&&(this.tG=e,this.yf&&(this.yf.reset(e||void 0),this.yf.renderToScreen=!e))};d.prototype.tWa=function(e){this.j!=e&&(this.j=e,this.j.setSize(this.ea,this.ua),
this.Oha())};d.prototype.render=function(e){this.BNa();this.GPa(e);this.j.domElement.style.backgroundColor=this.IT?"#000000":void 0;this.yf.render()};d.prototype.BNa=function(){this.yf||(this.yf=new THREE.EffectComposer(this.j,this.tG||void 0),this.yf.renderToScreen=!this.tG,this.yf.setSize(this.ea,this.ua))};d.prototype.GPa=function(e){var m=!1,q=!1;this.IT=!1;this.TR.forEach(function(n){n.update(this.Fa,this.ta,this.ea,this.ua,e,this.yf.renderToScreen);m||=n.ni;q||=n.mi;this.IT||(this.IT=n.Cba)}.bind(this));
q=q&&this.j.outputEncoding==THREE.sRGBEncoding&&this.yf.renderToScreen;c.yWa(this.Fa,q);q&&!this.ir?(this.ir=new THREE.ShaderPass(THREE.GammaCorrectionShader),m=this.ir.needsSwap=!0):this.ir&&(this.ir.enabled=q);this.yf.renderToScreen||this.rh?this.rh&&(this.rh.enabled=!this.yf.renderToScreen):(this.rh=new THREE.ShaderPass(THREE.CopyShader),m=this.rh.needsSwap=!0);if(m){var p=[];this.TR.forEach(function(n){p=p.concat(n.passes)});this.ir&&p.push(this.ir);for(this.rh&&p.push(this.rh);0<this.yf.passes.length;)this.yf.removePass(this.yf.passes[this.yf.passes.length-
1]);p.forEach(function(n){this.yf.addPass(n)}.bind(this))}};d.prototype.Oha=function(){this.yf&&(this.yf.renderTarget1!=this.tG&&this.yf.renderTarget1.dispose(),this.yf.renderTarget2!=this.tG&&this.yf.renderTarget2.dispose(),this.yf=null)};return d});
define("cV","require og u fp ci gA".split(" "),function(a){function d(f){this.TY=f;this.opacity=0;this.height=this.width=void 0;this.renderTarget=null;this.Fa=void 0;this.Koa=!1;this.Joa=!0;this.ta=void 0;this.fC=!1;this.sU=void 0;this.pc=new g(f);this.update()}var h=a("og"),l=a("u"),k=a("fp"),b=a("ci"),g=a("gA");d.prototype.update=function(){var f=this.TY.getComponent(k.Scene);this.opacity=f&&f.opacity||0;this.Koa=f?f.locked:!1;this.Joa=f?f.enabled:!0;var c=f&&f.scene;this.Fa!=c&&(this.Fa=c,this.fC=
!0,this.pc.mI(this.Fa));var e=(c=(c=f&&f.je)&&(c.getComponent(k.OrthographicCamera)||c.getComponent(k.PerspectiveCamera)))&&c.width,m=c&&c.height;if(this.width!=e||this.height!=m)this.width=e,this.height=m,this.fC=!0,this.pc.setSize(this.width,this.height);f=f&&"srgb"==f.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.sU!=f&&(this.sU=f,this.fC=!0,b.xWa(this.Fa,f));f=c&&c.camera;this.ta!=f&&(this.ta=f,this.fC=!0,this.pc.Lv(this.ta));this.Fa&&(b.wWa(this.Fa,this.ta),b.zWa(this.Fa,this.width,
this.height));return this};d.prototype.render=function(f,c,e){(c||this.fC||!this.Koa)&&this.Joa&&(window.stats&&window.stats.begin(),c?(f.setRenderTarget(null),this.fC=!0):(this.renderTarget||(this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:f.capabilities.isWebGL2?l.kb()?2:8:0}),this.renderTarget.depthTexture=new THREE.DepthTexture),f.setRenderTarget(this.renderTarget),
this.renderTarget.texture.encoding=this.sU,this.fC=!1),f.outputEncoding=this.sU,this.pc.setRenderTarget(c?null:this.renderTarget),this.pc.tWa(f),this.pc.render(e),(f=this.TY.getComponent(k.Scene))&&f.La&&f.La.trigger(h.Qz),window.stats&&window.stats.end())};d.prototype.isVisible=function(){return this.Fa&&this.ta&&0<this.opacity};d.prototype.dispose=function(){this.ta=this.Fa=this.TY=null;this.pc&&(this.pc.dispose(),this.pc=null);this.renderTarget&&(this.renderTarget.dispose(),this.renderTarget=null)};
return d});
define("fv",["require","md","fp","fP","cV"],function(a){function d(f){this.o=f;this.Ru=[];this.xNa();this.vNa()}var h=a("md"),l=a("fp"),k=a("fP"),b=a("cV");d.prototype.frame=function(f){var c=this.o.getComponent(l.kh),e=c.oP.map(this.vHa.bind(this));this.Ru.filter(function(p){return 0>e.indexOf(p)}).forEach(function(p){p.dispose()});this.Ru=e;var m=this.Ru.filter(function(p){return p.isVisible()});if(0<m.length){this.j.shadowMap.enabled=c.shadowMap;var q=1==m.length&&1<=m[0].opacity;m.forEach(function(p){p.render(this.j,q,
f)}.bind(this));q||this.OLa(m.slice(0,2))}};d.prototype.vHa=function(f){for(var c=0;c<this.Ru.length;c++)if(this.Ru[c].TY==f)return this.Ru[c].update();return new b(f)};d.prototype.OLa=function(f){this.em.material.uniforms.t1.value=f[0].renderTarget.texture;this.em.material.uniforms.o1.value=f[0].opacity;1<f.length?(this.em.material.uniforms.useT2.value=1,this.em.material.uniforms.t2.value=f[1].renderTarget.texture,this.em.material.uniforms.o2.value=f[1].opacity):this.em.material.uniforms.useT2.value=
0;this.j.setSize(f[0].width,f[0].height);this.j.setRenderTarget(null);this.j.setClearColor(0,0);this.j.clear();this.j.render(this.MQ,this.rga)};d.prototype.dispose=function(){for(;this.Ru.length;)this.Ru.shift().dispose();this.Ru=null;this.vOa();this.xOa()};var g=[];d.prototype.xNa=function(){var f=this.o.L(l.kh);if(0<g.length)var c=g.pop();else{c=document.createElement("canvas");var e=k.LRa(c);e||=k.maa(c,!0);c=new THREE.WebGLRenderer({alpha:!0,canvas:c,context:e});c.setPixelRatio(k.getPixelRatio());
c.autoClear=!1;c.debug.checkShaderErrors=h.SD;c.shadowMap.type=THREE.PCFShadowMap}f.renderer=this.j=c;f.canvas=this.j.domElement;f.DH.append(f.canvas)};d.prototype.xOa=function(){this.j.domElement.parentNode.removeChild(this.j.domElement);var f=this.j;f.setSize(1,1);g.push(f);this.j=null};d.prototype.vNa=function(){this.MQ=new THREE.Scene;this.rga=new THREE.OrthographicCamera(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-10,10);this.em=new THREE.Mesh(new THREE.PlaneGeometry(window.innerWidth,
window.innerHeight),this.WDa());this.MQ.add(this.em)};d.prototype.vOa=function(){this.MQ.remove(this.em);this.em.geometry.dispose();this.em.geometry=null;this.em.material.dispose();this.MQ=this.rga=this.em=this.em.material=null};d.prototype.WDa=function(){var f=new THREE.ShaderMaterial({uniforms:{t1:{value:null},t2:{value:null},o1:{value:1},o2:{value:1},useT2:{value:1}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",
fragmentShader:"uniform sampler2D t1;\nuniform sampler2D t2;\nuniform float o1;\nuniform float o2;\nuniform int useT2;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texel1 = texture2D(t1, vUv);\n   texel1.a = texel1.a * o1;\n   if (useT2 == 1) {\n\t  vec4 texel2 = texture2D(t2, vUv);\n     texel2.a = texel2.a * o2;\n     gl_FragColor = mix(texel1, texel2, texel2.a);\n   } else {\n     gl_FragColor = texel1;\n   }\n  #include <encodings_fragment>\n}"});f.transparent=!0;return f};d.Nb=function(f){f.I(l.Qq).manager=
new d(f)};d.ab=function(f){var c=f.getComponent(l.Qq);c.manager.dispose();c.manager=null;f.na(l.Qq)};d.update=function(f){f.getComponent(l.Qq).manager.update()};d.frame=function(f,c,e){f.getComponent(l.Qq).manager.frame(c,e)};return d});
define("lb",["require","kV","lf","fp","fv"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("fv");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(b,g){this.Rwa.D.length&&this.Rwa.D.slice().forEach(k.Nb);this.QY.D.length&&this.QY.D.slice().forEach(function(f){k.frame(f,b,g)});this.Swa.D.length&&this.Swa.D.slice().forEach(k.ab)};a.J={};a.J.Rwa=[l.kh,l.Qq.not];a.J.Swa=[l.kh.not,l.Qq];a.J.QY=[l.kh,l.Qq];return a});
define("jy","require kV og fV dd ci hE kS".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("fV"),k=a("dd"),b=a("ci"),g=a("hE"),f=a("kS");a=d.extend(l,function(e,m){l.call(this);this.ed=e;this.Fa=m;this.wa=new k;this.wa.CP([this.ed]);this.wa.bind(h.aa,this.kd,this,!1);this.wa.bind(h.Fc,this.Af,this,!1);this.Xc=null;this.sb=0;f.po(this.wa,g.ZD)});a.prototype.Ti=function(e){this.sb!==e&&(this.sb=e,this.Xc&&(this.Xc.material.opacity=this.sb,this.Xc.material.visible=0<this.sb,this.Xc.material.needsUpdate=
!0))};a.prototype.Gl=function(){return!!this.Xc};a.prototype.kd=function(){this.IEa();this.trigger(h.aa)};a.prototype.Af=function(){this.trigger(h.Fc)};a.prototype.IEa=function(){var e=new THREE.Texture;e.image=f.sf(this.ed);e.generateMipmaps=!0;e.minFilter=THREE.LinearMipMapLinearFilter;e.needsUpdate=!0;e=new THREE.SpriteMaterial({map:e});e.sizeAttenuation=!1;e.transparent=!0;e.visible=0<this.sb;e.opacity=this.sb;this.Xc=new THREE.Sprite(e);this.Xc.renderOrder=-1E3};a.prototype.update=function(){if(this.Xc){var e=
b.Zy(this.Fa);this.Xc.parent!=e&&(this.Xc.parent&&b.Lwa(this.Xc.parent,this.Xc),e&&b.UQa(e,this.Xc));if(e){var m=b.DO(this.Fa),q=this.Xc.material.map.image.width,p=this.Xc.material.map.image.height;e=m/(2*Math.tan(e.fov*c/2));m=Math.max(m/e,b.Taa(this.Fa)/(e*q/p));this.Xc.scale.y!=m&&(this.Xc.scale.y=m,this.Xc.scale.x=m*q/p)}q=b.SX(this.Fa);this.Xc.material.map.encoding!=q&&(this.Xc.material.map.encoding=q,this.Xc.material.needsUpdate=!0)}};a.prototype.dispose=function(){this.Xc&&(this.Xc.parent&&
b.Lwa(this.Xc.parent,this.Xc),this.Xc.material.map.dispose(),this.Xc.material.dispose(),this.Xc=null);this.wa&&f.Dj(this.wa,g.ZD)};var c=Math.PI/180;return a});
define("jf","require og fp jy nJ bD".split(" "),function(a){function d(f,c){this.o=f;this.zh=c;this.vt=void 0;this.ai=this.cm=this.W=this.Fa=null;this.update()}var h=a("og"),l=a("fp"),k=a("jy"),b=a("nJ"),g=a("bD");d.prototype.frame=function(f){this.W&&this.AC(f);this.cm&&this.cm.update();this.ai&&this.ai.update()};d.prototype.update=function(){var f=this.o.getComponent(l.Scene);this.Fa=f.scene;if(!this.Fa){if(!f.scene)return;this.Fa=f.scene}f=f.Y$||null;this.vt===f||this.W||(this.MJ(this.ai),this.ai=
null,(this.vt=f)?this.ai=this.VDa(this.vt):(this.Sw(),this.zh.trigger(h.aa)))};d.prototype.AC=function(f){this.W.wb(f);this.cm&&this.cm.Ti(Math.min(1,Math.max(0,this.W.$a("alpha"))));this.ai&&this.ai.Ti(Math.min(1,Math.max(0,this.W.$a("nextAlpha"))));this.W.Fe()&&(this.W=null,this.cm&&(this.MJ(this.cm),this.cm=null),this.cm=this.ai,this.ai=null,this.update());this.o.U.gb()};d.prototype.y6=function(){this.ai.unbind(h.aa,this.y6,this,!0);this.ai.unbind(h.Fc,this.z6,this,!0);this.Sw();this.zh.trigger(h.aa)};
d.prototype.z6=function(){this.MJ(this.ai);this.ai=null;this.Sw();this.zh.trigger(h.aa)};d.prototype.Sw=function(){this.ai&&this.cm?this.W=new b("linear",[new g("nextAlpha",0,2,void 0),new g("alpha",2,0,void 0)],600):this.ai?this.W=new b("linear",[new g("nextAlpha",0,1,void 0)],300):this.cm&&(this.W=new b("linear",[new g("alpha",1,0,void 0)],300));this.o.U.gb()};d.prototype.VDa=function(f){f=new k(f,this.Fa);this.uCa(f);f.Ti(0);return f};d.prototype.MJ=function(f){f&&(this.hPa(f),f.dispose())};d.prototype.uCa=
function(f){f.bind(h.aa,this.y6,this,!0);f.bind(h.Fc,this.z6,this,!0)};d.prototype.hPa=function(f){f.unbind(h.aa,this.y6,this,!0);f.unbind(h.Fc,this.z6,this,!0)};d.prototype.dispose=function(){this.cm&&(this.MJ(this.cm),this.cm=null);this.ai&&(this.MJ(this.ai),this.ai=null)};return d});
define("le","require og hE ne oy fp ci kd".split(" "),function(a){function d(e,m){this.o=e;this.wV=this.AG=this.zG=this.Dw=this.pA=this.vt=this.RA=void 0;this.ta=this.j=this.Fa=null;this.zh=m;this.Ae=new b(this.zh);this.jd=[new c(l.ZD),new c(l.ZD)];this.jd.forEach(function(q){q.bind(h.aa,this.kd,this,!0);q.bind(h.Fc,this.Af,this,!0)}.bind(this));this.Bpa([]);this.update()}var h=a("og"),l=a("hE"),k=a("ne"),b=a("oy"),g=a("fp"),f=a("ci"),c=a("kd");d.prototype.frame=function(){!this.j&&this.Fa&&(this.j=
d.SSa(this.Fa))&&(this.ca(),this.Z9())};d.prototype.update=function(){var e=this.o.getComponent(g.Scene),m=!1,q=!1,p=e.ita||null;this.RA!==p&&(this.RA=p,q=!0);p=e.Y$||null;this.vt!==p&&(this.vt=p,q=!0);p=e.wsa||null;this.pA!==p&&(this.pA=p,q=!0);q&&(this.Gra(),this.Z9(),m=!0);this.Dw!==e.backgroundColor&&(this.Dw=e.backgroundColor,m=!0);this.Fa!==e.scene&&(this.Fa=e.scene,m=!0);m&&this.ca()};d.prototype.Gra=function(){this.Bpa(this.JHa())};d.prototype.JHa=function(){var e=[];this.RA&&-1==e.indexOf(this.RA)&&
e.push(this.RA);!this.vt&&this.pA&&-1==e.indexOf(this.pA)&&e.push(this.pA);if(this.Fa&&this.Fa.background&&this.Fa.background.image&&this.Fa.background.image.src){var m=this.Fa.background.image.src;-1==e.indexOf(m)&&e.push(m)}return e};d.prototype.Bpa=function(e){var m=[],q=[];this.jd.forEach(function(p){var n=p.li();0>e.indexOf(n)?(p.cancel(),m.push(p)):q.push(n)});e.forEach(function(p){0>q.indexOf(p)&&m.shift().load(p)})};d.prototype.Z9=function(){var e=0;this.Ae.Osa();this.jd.forEach(function(m){m.li()&&
!m.Gl()&&(this.Ae.bO(m),e++)}.bind(this));0==e&&this.zh&&this.zh.trigger(h.aa)};d.prototype.dispose=function(){this.jd.forEach(function(e){e.cancel();e.unbind(h.aa,this.kd,this,!0);e.unbind(h.Fc,this.Af,this,!0)}.bind(this));this.o&&(this.HR(),this.Pt(),this.o=null)};d.prototype.kd=function(){this.ca();this.Z9()};d.prototype.ca=function(){if(this.Fa&&this.j){if(this.RA){var e=this.nja(this.RA);e?this.YBa(e):this.HR()}else this.HR();this.vt?this.Pt():this.pA?(e=this.nja(this.pA))?this.cga(e):this.Pt():
this.Dw?this.cga(void 0,this.Dw):this.Pt();this.Gra();this.o.U.gb()}};d.prototype.nja=function(e){for(var m=0;m<this.jd.length;m++)if(this.jd[m].Gl()&&this.jd[m].li()==e)return this.jd[m];return null};d.prototype.Xo=function(e,m){return 6>Math.round(e.nd()/e.$d())?this.jEa(e,m):this.eEa(e,m)};d.prototype.jEa=function(e,m){var q=new THREE.Texture;q.image=e.sf();q.encoding=f.SX(this.Fa);q.mapping=THREE.EquirectangularReflectionMapping;q.needsUpdate=!0;return m?(e=new THREE.PMREMGenerator(this.j),q=
e.fromEquirectangular(q).texture,e.dispose(),q):q};d.prototype.cga=function(e,m){if(this.Fa){if(e){var q=e&&e.li()||void 0;if(q==this.AG)return;this.Pt();f.dZ(this.Fa,this.Xo(e,!1));this.AG=q;this.zG=void 0}m&&m!=this.zG&&(this.Pt(),f.dZ(this.Fa,"transparent"==m?null:new THREE.Color(k.ID(m))),this.zG=m,this.AG=void 0)}};d.prototype.Pt=function(){this.Fa&&(this.zG||this.AG)&&(this.AG&&(this.Fa.background.dispose(),f.dZ(this.Fa,null),this.AG=void 0),this.zG&&(f.dZ(this.Fa,null),this.zG=void 0))};d.prototype.YBa=
function(e){if(this.Fa){var m=e&&e.li()||void 0;m!=this.wV&&(this.HR(),this.Fa.environment=this.Xo(e,!0),this.wV=m)}};d.prototype.HR=function(){this.Fa&&this.wV&&(this.Fa.environment.dispose(),this.Fa.environment=null,this.wV=void 0)};d.prototype.eEa=function(e,m){for(var q=Array(6),p=e.nd()/6,n=e.$d(),r=0;6>r;r++){var t=document.createElement("canvas");t.width=p;t.height=n;t.getContext("2d").drawImage(e.sf(),r*p,0,p,n,0,0,p,n);q[r]=t}e=new THREE.CubeTexture;e.images=[q[1],q[3],q[4],q[5],q[0],q[2]];
e.encoding=f.SX(this.Fa);e.needsUpdate=!0;return m?(m=new THREE.PMREMGenerator(this.j),q=m.fromCubemap(e).texture,m.dispose(),q):e};d.prototype.Af=function(){this.o.getComponent(g.Scene).scene.environment=null;this.o.U.gb()};d.T7=[];d.Bca=function(e){d.T7=e||[]};d.SSa=function(e){for(var m=0;m<d.T7.length;m++){var q=d.T7[m].getComponent(g.kh);if(q&&0<q.oP.filter(function(p){return p.getComponent(g.Scene).scene==e}).length)return q.renderer}return null};return d});
define("ho",["require","fp","oy","jf","le"],function(a){function d(g){this.o=g;this.zh=null;var f=this.o.L(h.Scene),c=this.o.L(h.Sq);this.o.I(h.Object3D).Zc=c.scene=f.scene=new THREE.Scene;this.Ae=new l;this.UJ=new b(g,this.Ae.RC());this.be=new k(g,this.Ae.RC())}var h=a("fp"),l=a("oy"),k=a("jf"),b=a("le");d.prototype.frame=function(g){this.UJ.frame(g);this.be.frame(g)};d.prototype.update=function(){this.UJ.update();this.be.update();this.OPa()};d.prototype.OPa=function(){var g=this.o.getComponent(h.Scene);
this.zh!=g.uaa&&(this.zh=g.uaa,this.Ae.BVa(this.zh))};d.prototype.dispose=function(){this.Ae&&(this.Ae.dispose(),this.Ae=null);this.be&&(this.be.dispose(),this.be=null);this.UJ&&(this.UJ.dispose(),this.UJ=null);this.o&&(this.o=null)};d.Nb=function(g){g.I(h.Sq).manager=new d(g)};d.ab=function(g){var f=g.getComponent(h.Sq);f.manager.dispose();f.manager=null;g.na(h.Sq);g.na(h.Object3D)};d.frame=function(g,f){g.getComponent(h.Sq).manager.frame(f)};d.update=function(g){g.getComponent(h.Sq).manager.update()};
d.Bca=function(g){b.Bca(g)};return d});
define("eJ",["require","kV","lf","fp","ho"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("ho");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(b){this.Xwa.D.length&&this.Xwa.D.slice().forEach(k.Nb);this.scenes.Za.length&&this.scenes.Za.slice().forEach(k.update);this.scenes.D.length&&this.scenes.D.slice().forEach(function(g){k.frame(g,b)});k.Bca(this.QY.D.slice());this.Ywa.D.length&&this.Ywa.D.slice().forEach(k.ab)};a.J={};a.J.Xwa=[l.Scene,l.Sq.not];a.J.scenes=[l.Scene,
l.Sq];a.J.Ywa=[l.Scene.not,l.Sq];a.J.QY=[l.kh,l.Qq];return a});
define("er",["require","u"],function(a){function d(f){this.pg=f;"CANVAS"==f.tagName?(this.O=f,this.zc=1):(this.O=document.createElement("canvas"),this.zc=k.fe()==k.vi?.5:1,this.O.width=Math.round(f.width*this.zc),this.O.height=Math.round(f.height*this.zc));this.ya=this.O.getContext("2d");this.ya.globalCompositeOperation="copy";this.O!=f&&this.ya.drawImage(f,0,0,f.width,f.height,0,0,this.O.width,this.O.height)}function h(f,c,e){0>f?f=e==THREE.RepeatWrapping?c+f%c:e==THREE.MirroredRepeatWrapping?0==
Math.floor(Math.abs(f/c))%2?Math.abs(f%c):c-1+f%c:0:f>=c&&(f=e==THREE.RepeatWrapping?f%c:e==THREE.MirroredRepeatWrapping?1==Math.floor(f/c)%2?c-1-f%c:f%c:c-1);return f}function l(f,c,e){try{if(f instanceof CanvasRenderingContext2D)return f.getImageData(c,e,1,1).data;if(f.tagName&&"CANVAS"==f.tagName)return f.FIa?[0,0,0,0]:f.getContext("2d").getImageData(c,e,1,1).data;b.drawImage(f,c,e,1,1,0,0,1,1);return b.getImageData(0,0,1,1).data}catch(m){return[0,0,0,0]}}var k=a("u");d.prototype.transparent=function(f,
c){return d.transparent(this.ya,Math.round(f*this.zc),Math.round(c*this.zc))};d.prototype.Tv=function(f,c){return d.Tv(this.ya,Math.round(f*this.zc),Math.round(c*this.zc))};d.prototype.info=function(f,c){return d.info(this.ya,Math.round(f*this.zc),Math.round(c*this.zc))};d.prototype.dispose=function(){this.O!=this.pg&&(this.O.width=this.O.height=0);this.pg=this.O=this.ya=null};d.xXa=function(f,c,e){if(!f.image||!f.image.width||!f.image.height)return!0;c=h(Math.round(c*f.image.width),f.image.width,
f.wrapS);e=h(Math.round((1-e)*f.image.height),f.image.height,f.wrapT);return!d.transparent(f.image,c,e)};d.transparent=function(f,c,e){return!d.Tv(f,c,e)};d.Tv=function(f,c,e){return!f.tagName||f.tagName&&"VIDEO"==f.tagName?!0:0<l(f,c,e)[3]};d.info=function(f,c,e){f=l(f,c,e);c=f[3];return{Tv:0<c,opacity:c,color:"#"+g[f[0]]+g[f[1]]+g[f[2]]}};a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d");b.globalCompositeOperation="copy";var g=function(){for(var f=Array(256),c=0;16>
c;c++)f[c]="0"+c.toString(16);for(;256>c;c++)f[c]=c.toString(16);return f}();return d});
define("nK","require og er fp ci bb".split(" "),function(a){function d(z){this.hi=z;this.BG=this.ix=this.ce=this.Eg=null;this.hL=void 0;this.bu=!1;this.hi.getComponent(c.zg).twa=this;this.update()}function h(z,C,E,F){this.Mb=z;this.Zc=C;this.point=E;this.normal=F}function l(z){return{x:z.x,y:z.y,z:z.z}}function k(z,C){0>z.indexOf(C)&&z.push(C)}function b(z,C){C=z.indexOf(C);0<=C&&z.splice(C,1)}var g=a("og"),f=a("er"),c=a("fp"),e=a("ci"),m=a("bb");d.prototype.update=function(){var z=this.hi.getComponent(c.zg);
this.JM(z&&z.enabled?z.waa:null);this.IM(z&&z.enabled?z.oaa:null)};d.prototype.frame=function(){this.xDa();this.Su(n)};d.prototype.JM=function(z){this.Eg!=z&&(this.Eg&&(this.Eg.unbind(g.ec,this.Xe,this,!0),this.Eg.unbind(g.oa,this.zr,this,!0),this.Eg.unbind(g.Vl,this.WF,this,!0),this.Eg.unbind(g.ub,this.ak,this,!0),this.Eg.unbind(g.$b,this.Jn,this,!0)),this.Eg=z)&&(this.Eg.bind(g.ec,this.Xe,this,!0),this.Eg.bind(g.oa,this.zr,this,!0),this.Eg.bind(g.Vl,this.WF,this,!0),this.Eg.bind(g.ub,this.ak,this,
!0),this.Eg.bind(g.$b,this.Jn,this,!0))};d.prototype.IM=function(z){this.ce!=z&&(this.ce&&this.bu&&this.ce.pop(m.Se),(this.ce=z)&&this.bu&&this.ce.push(m.Se))};d.prototype.Xe=function(z){this.ao(z);this.xF&&-1==w.indexOf(this.hi.U)?this.Su(n):this.Su(p)};d.prototype.zr=function(z){this.ao(z);(z=this.H3())&&this.yW(g.oa,z)};d.prototype.WF=function(z){this.ao(z);(z=this.H3())&&this.yW(g.Vl,z)};d.prototype.ak=function(z){this.xF=!0;this.ao(z);if(z=this.H3())this.i3=z.Mb,this.l3=z.Mb.getComponent(c.Hd).La,
this.yW(g.ub,z)};d.prototype.Jn=function(z){this.xF=!1;this.ao(z);if(this.i3)var C=(z=this.i3.getComponent(c.Hd))&&z.La;!C&&this.l3&&(C=this.l3);this.l3=this.i3=null;C&&C.trigger(g.$b,this.Mia())};d.prototype.ao=function(z){this.Tc=z.x;this.Uc=z.y;this.LF=z.pageX;this.MF=z.pageY};d.prototype.Su=function(z){var C=(new Date).getTime()+z;this.hL&&C>=this.hL||(this.hL=C,clearTimeout(this.BG),this.BG=setTimeout(function(){this.BG=null;this.hL=void 0;this.kKa()}.bind(this),z))};d.prototype.kKa=function(){var z=
this.uHa();this.fpa(z&&z.Mb);z&&this.yW(g.ec,z)};d.prototype.HY=function(z,C,E){var F=this.Tc,G=this.Uc,J=this.LF,R=this.MF;this.MF=this.LF=this.Uc=this.Tc=void 0;z=this.K3(z,[],C,E);var U;0<z.length&&(U=this.zja(z[0]));this.Tc=F;this.Uc=G;this.LF=J;this.MF=R;return U};d.prototype.uHa=function(){var z=y.get(this.hi.U);if(!z||0==z.length)return[];var C=B.get(this.hi.U),E=this.hi.getComponent(c.zg);if(!E)return[];z=this.K3(z,C,E.origin,E.direction);return 0<z.length?z[0]:null};d.prototype.H3=function(){var z=
x.get(this.hi.U);if(!z||0==z.length)return null;var C=A.get(this.hi.U),E=this.hi.getComponent(c.zg);if(!E)return null;z=this.K3(z,C,E.origin,E.direction);return 0<z.length?z[0]:null};d.prototype.fpa=function(z){this.ix!=z&&(this.ix&&this.Lqa(this.ix,g.ac),(this.ix=z)&&this.Lqa(this.ix,g.$c),z=this.ix&&this.ix.getComponent(c.Hd),z=!!z&&z.cn,this.bu!=z&&(this.bu=z,this.ce&&(this.bu?this.ce.push(m.Se):this.ce.pop(m.Se))))};d.prototype.K3=function(z,C,E,F){var G=[],J=[];z&&z.forEach(function(ca){var D=
e.dc(ca);D&&(G.push(ca),J.push(D))});var R=[],U=[];C&&C.forEach(function(ca){var D=e.dc(ca);D&&(R.push(ca),U.push(D))});z=this.tIa(J,E,F);C=[];E=[];for(F=0;F<z.length&&1>E.length;F++){for(var Q=z[F],N=Q.point,W=Q.object,H=Q.face&&Q.face.normal,O=[],L=W,S=!1;L&&!S&&!(S=-1!=U.indexOf(L));){for(var V=0;V<J.length;V++)L==J[V]&&O.push(V);L=L.parent}if(!S&&0!=O.length)for(L=0;L<O.length;L++)if(V=O[L],V=G[V],!(0<=C.indexOf(V))&&(S=V.getComponent(c.Hd))){var Z=Array.isArray(W.material)&&Q.face?W.material[Q.face.materialIndex]:
W.material;if(!Z||Z.visible)if(S.tI||!Z||!Z.map||f.xXa(Z.map,Q.uv.x,Q.uv.y))W.isSkinnedMesh&&(W=this.MFa(W.skeleton.bones,N)),C.push(V),E.push(new h(V,W,N,H))}}return E};d.prototype.tIa=function(z,C,E){var F=e.dc(this.hi);if(!F)return[];t.camera=this.lS();t.ray.origin.copy(C).applyMatrix4(F.matrixWorld);t.ray.direction.copy(C).add(E).applyMatrix4(F.matrixWorld).sub(t.ray.origin).normalize();var G=[];z.forEach(function(J){J.traverse(function(R){R.isSkinnedMesh||!R.geometry||R.geometry.userData.Dsa||
(R.geometry.computeBoundsTree(),R.geometry.userData.Dsa=!0);R.isSkinnedMesh&&!R.userData.$$&&(R.userData.$$=R.geometry.boundingBox,R.geometry.boundingBox=u,R.userData.Fsa=R.geometry.boundingSphere,R.geometry.boundingSphere=v,G.push(R))})});t.firstHitOnly=!0;z=t.intersectObjects(z,!0);G.forEach(function(J){J.geometry.boundingBox=J.userData.$$;delete J.userData.$$;J.geometry.boundingSphere=J.userData.Fsa;delete J.userData.Fsa});z=z.filter(function(J){return J.object.isLine?!1:!0});z.sort(function(J,
R){var U=-J.object.renderOrder,Q=-R.object.renderOrder;U==Q&&(U=J.object.material&&!J.object.material.depthTest?0:1,Q=R.object.material&&!R.object.material.depthTest?0:1);U==Q&&(U=J.distance,Q=R.distance);return U-Q});return z};d.prototype.yW=function(z,C){var E=this.zja(C);C.Mb.getComponent(c.Hd).La.trigger(z,E)};d.prototype.Mia=function(){var z={};void 0!==this.Tc&&void 0!==this.Uc&&(z.x=this.Tc,z.y=this.Uc);void 0!==this.LF&&void 0!==this.MF&&(z.pageX=this.LF,z.pageY=this.MF);return z};d.prototype.zja=
function(z){var C=this.Mia(),E=z.Zc,F=z.point;z=z.normal;C.position=l(F);var G=this.lS();C.cameraPosition=l(G?r.setFromMatrixPosition(G.matrixWorld):r.set(0,0,0));G=E;for(var J=C;;){J.object=G.userData.id;J.name=G.name;J.type=G.isMesh?"mesh":G.isBone?"bone":"other";J.localPosition=l(G.worldToLocal(r.copy(F)));J.localScale=G.worldToLocal(r.set(1,1,1).normalize()).length();J.objectMatrixWorld=E.matrixWorld.toArray();z&&(J.normal=l(q(E,z,G,r)));if(!G.parent||!G.parent.userData.id)break;G=G.parent;J=
J.parent={}}return C};var q=function(){var z=new THREE.Vector3,C=new THREE.Matrix4;return function(E,F,G,J){J.copy(F);if(E==G)return J;J.applyMatrix4(E.matrixWorld);J.sub(z.setFromMatrixPosition(E.matrixWorld));J.add(z.setFromMatrixPosition(G.matrixWorld));J.applyMatrix4(C.copy(G.matrixWorld).invert()).normalize();return J}}();d.prototype.lS=function(){if(this.aK.camera)return this.aK.camera;var z=e.dc(this.hi);z&&z.isCamera?this.aK.camera=z:(z=e.NH(z),this.aK.camera=z&&e.Zy(z));return this.aK.camera};
d.prototype.xDa=function(){this.aK={}};d.prototype.Lqa=function(z,C){(z=(z=z.getComponent(c.Hd))&&z.La)&&z.trigger(C)};d.prototype.MFa=function(z,C){var E=null,F=Infinity;for(z=z.slice();z.length;){var G=z.shift(),J=C.distanceTo(G.getWorldPosition(r));J<F&&(E=G,F=J);z.unshift.apply(z,G.children)}return E};d.prototype.dispose=function(){this.BG&&(clearTimeout(this.BG),this.BG=null,this.hL=void 0);this.JM(null);this.IM(null);this.fpa(null)};var p=16,n=400,r=new THREE.Vector3(0,1,0),t=new THREE.Raycaster,
u=new THREE.Box3;u.min.x=u.min.y=u.min.z=-Infinity;u.max.x=u.max.y=u.max.z=Infinity;var v=new THREE.Sphere;v.center.x=v.center.y=v.center.z=0;v.radius=Infinity;d.Mca=function(z){z.I(c.ht).manager=new d(z)};d.Wca=function(z){var C=z.getComponent(c.ht);C.manager.dispose();C.manager=null;z.na(c.ht)};d.frame=function(z){z.getComponent(c.ht).manager.frame()};d.gda=function(z){z.getComponent(c.ht).manager.update()};d.QWa=function(z){z.I(c.Zz);d.Lya(z)};d.Lya=function(z){var C=e.dc(z),E=z.getComponent(c.Hd),
F=x.get(z.U);F||x.set(z.U,F=[]);C&&E.pv?k(F,z):b(F,z);(F=y.get(z.U))||y.set(z.U,F=[]);C&&E.Jv?k(F,z):b(F,z)};d.nya=function(z){b(x.get(z.U),z);b(y.get(z.U),z);z.na(c.Zz)};d.OWa=function(z){z.I(c.Wz);d.Jya(z)};d.Jya=function(z){var C=e.dc(z),E=z.getComponent(c.bt),F=A.get(z.U);F||A.set(z.U,F=[]);C&&E.Aya?k(F,z):b(F,z);(F=B.get(z.U))||B.set(z.U,F=[]);C&&E.Bya?k(F,z):b(F,z)};d.mya=function(z){b(B.get(z.U),z);b(A.get(z.U),z);z.na(c.Wz)};var w=[];d.qWa=function(z){w=[];z.forEach(function(C){0>w.indexOf(C.U)&&
w.push(C.U)})};var x=new Map,y=new Map,A=new Map,B=new Map;return d});
define("mV",["require","kV","lf","fp","nK"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("nK");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.gP.D.length&&this.gP.D.slice().forEach(k.Mca);this.Ev.Za.length&&this.Ev.Za.slice().forEach(k.gda);this.Ev.D.length&&this.Ev.D.slice().forEach(k.frame);this.hP.D.length&&this.hP.D.slice().forEach(k.Wca);this.dxa.D.length&&this.dxa.D.slice().forEach(k.QWa);this.cxa.D.length&&this.cxa.D.slice().forEach(k.Lya);this.exa.D.length&&
this.exa.D.slice().forEach(k.nya);this.fxa.D.length&&this.fxa.D.slice().forEach(k.nya);this.Sva.D.length&&this.Sva.D.slice().forEach(k.OWa);this.Rva.D.length&&this.Rva.D.slice().forEach(k.Jya);this.Tva.D.length&&this.Tva.D.slice().forEach(k.mya);this.Uva.D.length&&this.Uva.D.slice().forEach(k.mya);(this.Iba.fg.length||this.Iba.Wm.length)&&k.qWa(this.Iba.D)};a.J={};a.J.Iba=[l.Kj];a.J.gP=[l.zg,l.ht.not];a.J.Ev=[l.zg,l.ht];a.J.hP=[l.zg.not,l.ht];a.J.dxa=[l.Object3D,l.Hd,l.Zz.not];a.J.cxa=[l.Object3D,
l.Hd,l.Zz];a.J.exa=[l.Object3D.not,l.Zz];a.J.fxa=[l.Hd.not,l.Zz];a.J.Sva=[l.Object3D,l.bt,l.Wz.not];a.J.Rva=[l.Object3D,l.bt,l.Wz];a.J.Tva=[l.Object3D.not,l.Wz];a.J.Uva=[l.bt.not,l.Wz];return a});
define("iV",["require","ne","fp"],function(a){function d(k){this.o=k;this.ia=null;this.update()}var h=a("ne"),l=a("fp");d.prototype.update=function(){this.ia||(this.ia=new THREE.MeshBasicMaterial,this.ia.transparent=!0,this.o.I(l.Material).material=this.ia);var k=this.o.getComponent(l.Kc);this.ia.color=new THREE.Color(h.ID(k.color||"#ffffff"));this.ia.opacity=k.opacity||0;this.ia.depthTest=!!k.depthTest;this.ia.side=k.doubleSided?THREE.DoubleSide:THREE.FrontSide;this.ia.visible=0<this.ia.opacity;
this.ia.needsUpdate=!0};d.prototype.dispose=function(){this.ia&&(this.ia.dispose(),this.ia=null,this.o.na(l.Material));this.o=null};d.Nb=function(k){k.I(l.jt).manager=new d(k)};d.ab=function(k){var b=k.getComponent(l.jt);b.manager.dispose();b.manager=null;k.na(l.jt)};d.update=function(k){k.getComponent(l.jt).manager.update()};return d});
define("hZ",["require","kV","lf","fp","iV"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("iV");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Jl.D.length&&this.Jl.D.slice().forEach(k.Nb);this.materials.Za.length&&this.materials.Za.slice().forEach(k.update);this.Kl.D.length&&this.Kl.D.slice().forEach(k.ab)};a.J={};a.J.Jl=[l.Kc,l.jt.not];a.J.materials=[l.Kc,l.jt];a.J.Kl=[l.Kc.not,l.jt];return a});
define("kH",["require","kV","lf","fp"],function(a){var d=a("kV"),h=a("lf"),l=a("fp");a=d.extend(h,function(){h.apply(this,arguments);this.hf=this.hf.bind(this);this.Gf=this.Gf.bind(this);this.vd=this.vd.bind(this)});a.prototype.Ed=function(){this.Xxa.D.length&&this.Xxa.D.slice().forEach(this.hf);this.Wxa.Za.length&&this.Wxa.Za.slice().forEach(this.Gf);this.Yxa.D.length&&this.Yxa.D.slice().forEach(this.vd);this.Zxa.D.length&&this.Zxa.D.slice().forEach(this.vd)};a.prototype.hf=function(k){k.I(l.Object3D).Zc=
new THREE.Mesh(new THREE.SphereGeometry);k.I(l.$z);this.Gf(k)};a.prototype.Gf=function(k){var b=k.getComponent(l.Material).material,g=k.getComponent(l.Object3D).Zc;g.material!=b&&(g.material=b,g.needsUpdate=!0);k=k.getComponent(l.Sphere);b=g.geometry;if(b.radius!=k.radius||b.widthSegments!=k.widthSegments||b.heightSegments!=k.heightSegments)b.dispose(),b=new THREE.SphereGeometry(k.radius,k.widthSegments,k.heightSegments),g.geometry=b,g.needsUpdate=!0;k=k.renderOrder||0;g.renderOrder!=k&&(g.renderOrder=
k,g.needsUpdate=!0)};a.prototype.vd=function(k){var b=k.getComponent(l.Object3D);(b=b&&b.Zc)&&b.geometry&&(b.geometry.dispose(),b.geometry=null);b&&b.material&&(b.material=null);k.na(l.$z);k.na(l.Object3D)};a.J={};a.J.Xxa=[l.Sphere,l.Material,l.$z.not];a.J.Wxa=[l.Sphere,l.Material,l.$z];a.J.Yxa=[l.Sphere.not,l.$z];a.J.Zxa=[l.Material.not,l.$z];return a});
define("lz",["require","kh","fp","ci"],function(a){function d(g){this.o=g;this.Fa=null;this.s1=90;this.u1=100;this.ea=this.ua=void 0;this.zc=1;this.Xc=this.o.L(h.Sprite).dXa=this.o.L(h.Object3D,!0).Zc=new THREE.Sprite;this.Xc.material.opacity=0;this.tj();this.update();this.frame()}a("kh");var h=a("fp"),l=a("ci");d.prototype.update=function(){var g=this.o.getComponent(h.Sprite);this.ua=g.height;this.ea=g.width;this.Xc.center.x=g.oH;this.Xc.center.y=1-g.pH;this.zc=g.scale;this.Al();this.Xc.needsUpdate=
!0};d.prototype.frame=function(){this.Fa||(this.Fa=l.Um(this.o));this.Zp();this.tj();this.Al()};d.prototype.Zp=function(){if(this.Fa){var g=l.Zy(this.Fa);if(g&&g.isPerspectiveCamera){var f=l.DO(this.Fa);if(this.s1!=g.fov||this.u1!=f)this.s1=g.fov,this.u1=f,this.Al(),this.Xc.needsUpdate=!0}}};d.prototype.tj=function(){var g=this.Fa?this.o.getComponent(h.Material).material:null;g&&this.Xc.material!=g&&(this.Xc.material=g,this.Xc.needsUpdate=!0);this.Xc.renderOrder=this.o.getComponent(h.Sprite).renderOrder};
d.prototype.Al=function(){var g=this.ua/(this.u1/(2*Math.tan(this.s1*b/2))),f=this.zc;this.Xc.parent&&(this.Xc.parent.getWorldScale(k),f/=Math.max(k.x,k.y,k.z));g*=f;f=g*this.ea/this.ua;var c=this.o.getComponent(h.Ba)||this.o.I(h.Ba);if(c.Qf!=f||c.hg!=g||1!=c.Qh)c=this.o.L(h.Ba,!0),c.Qf=f,c.hg=g,c.Qh=1};var k=new THREE.Vector3,b=Math.PI/180;d.prototype.dispose=function(){};d.Nb=function(g){g.I(h.Tq).manager=new d(g)};d.ab=function(g){var f=g.getComponent(h.Tq);f.manager.dispose();f.manager=null;g.na(h.Tq);
g.na(h.Object3D)};d.update=function(g){g.getComponent(h.Tq).manager.update()};d.frame=function(g){g.getComponent(h.Tq).manager.frame()};return d});
define("eq",["require","kV","lf","fp","lz"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("lz");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.aya.D.length&&this.aya.D.slice().forEach(k.Nb);this.hZ.Za.length&&this.hZ.D.slice().forEach(k.update);this.hZ.D.length&&this.hZ.D.slice().forEach(k.frame);this.bya.D.length&&this.bya.D.slice().forEach(k.ab);this.cya.D.length&&this.cya.D.slice().forEach(k.ab)};a.J={};a.J.aya=[l.Material,l.Sprite,l.Tq.not];a.J.hZ=[l.Sprite,
l.Material,l.Tq];a.J.bya=[l.Sprite.not,l.Tq];a.J.cya=[l.Material.not,l.Tq];return a});
define("jZ","require kV og cu lf fp ci".split(" "),function(a){function d(m,q,p){for(;m<q-180;)m+=360;for(;m>q+180;)m-=360;return h(m,q,p)}function h(m,q,p){if(!p)return q;m=(q-m)*(1-p);1E-5>Math.abs(m)&&(m=0);return q-m}var l=a("kV"),k=a("og"),b=a("cu"),g=a("lf"),f=a("fp"),c=a("ci");a=l.extend(g,function(){g.apply(this,arguments);this.hf=this.hf.bind(this);this.Gf=this.Gf.bind(this);this.vd=this.vd.bind(this)});a.prototype.Ed=function(m,q){this.ZO.D.length&&this.ZO.D.slice().forEach(this.hf);this.sq.fg.length&&
this.sq.fg.slice().forEach(function(p){this.Gf(p,m,q)}.bind(this));this.sq.Za.length&&this.sq.Za.slice().forEach(function(p){this.Gf(p,m,q)}.bind(this));this.$va.D.length&&this.$va.D.slice().forEach(function(p){this.Gf(p,m,q)}.bind(this));this.gta.D.length&&this.gta.D.slice().forEach(this.vd);this.hta.D.length&&this.hta.D.slice().forEach(this.vd)};a.prototype.hf=function(m){var q=m.getComponent(f.Ba),p=m.I(f.Hf);p.positionX=q.positionX;p.positionY=q.positionY;p.positionZ=q.positionZ;p.df=q.df;p.Ge=
q.Ge;p.ef=q.ef;p.vg=q.vg;p.scale=q.scale;p.Qf=q.Qf;p.hg=q.hg;p.Qh=q.Qh;p.translationX=q.translationX;p.translationY=q.translationY;p.Sf=q.Sf;this.updateMatrixWorld(m)};a.prototype.Gf=function(m){var q=m.getComponent(f.Ba),p=m.getComponent(f.Hf),n=q.easing||0;n?m.getComponent(f.bA)||m.I(f.bA):m.na(f.bA);var r=null;q.positionX!==p.positionX&&(r||=m.L(f.Hf),r.positionX=h(r.positionX,q.positionX,n));q.positionY!==p.positionY&&(r||=m.L(f.Hf),r.positionY=h(r.positionY,q.positionY,n));q.positionZ!==p.positionZ&&
(r||=m.L(f.Hf),r.positionZ=h(r.positionZ,q.positionZ,n));q.df!==p.df&&(r||=m.L(f.Hf),r.df=d(r.df,q.df,n));q.Ge!==p.Ge&&(r||=m.L(f.Hf),r.Ge=d(r.Ge,q.Ge,n));q.ef!==p.ef&&(r||=m.L(f.Hf),r.ef=d(r.ef,q.ef,n));q.scale!==p.scale&&(r||=m.L(f.Hf),r.scale=q.scale);q.Qf!==p.Qf&&(r||=m.L(f.Hf),r.Qf=q.Qf);q.hg!==p.hg&&(r||=m.L(f.Hf),r.hg=q.hg);q.Qh!==p.Qh&&(r||=m.L(f.Hf),r.Qh=q.Qh);q.translationX!==p.translationX&&(r||=m.L(f.Hf),r.translationX=h(r.translationX,q.translationX,n));q.translationY!==p.translationY&&
(r||=m.L(f.Hf),r.translationY=h(r.translationY,q.translationY,n));q.Sf!==p.Sf&&(r||=m.L(f.Hf),r.Sf=h(r.Sf,q.Sf,n));r?this.updateMatrixWorld(m):m.na(f.bA)};var e=new THREE.Vector3;a.prototype.updateMatrixWorld=function(m){c.YY(m,m.getComponent(f.Hf));var q=m.getComponent(f.Ba).La;q&&(c.getWorldPosition(m,e),m={position:{}},m.position.x=e.x,m.position.y=e.y,m.position.z=e.z,q.trigger(new b(k.et,m)))};a.prototype.vd=function(m){m.na(f.Hf);m.na(f.bA)};a.J={};a.J.sq=[f.Object3D,f.Ba,f.Hf];a.J.ZO=[f.Object3D,
f.Ba,f.Hf.not];a.J.$va=[f.Object3D,f.Ba,f.Hf,f.bA];a.J.gta=[f.Object3D.not,f.Ba,f.Hf];a.J.hta=[f.Ba.not,f.Hf];return a});
define("gD",["require"],function(){function a(h,l,k){this.ed=h;this.vqa=l;this.PA=k||d}var d=function(){var h=document.createElement("canvas");h.width=h.height=256;h.getContext("2d").clearRect(0,0,h.width,h.height);return h}();a.prototype.isEmpty=function(){return this.PA==d};a.prototype.isEqual=function(h,l){return this.ed==h.ed&&Math.abs(this.vqa-h.vqa)<(l||0)&&this.PA==h.PA};return a});
define("cX",["require","lo","u","hL"],function(a){function d(c){return k.pya(c.get("width"),c.get("height"),c.get("framerate"))}function h(c,e){if(!e)return!0;var m=c.get("url");c=c.get("type")||"";switch(e){case "webm":return g.is(m,g.Yea)||l(c,"webm");case "h265":return g.is(m,g.Hza)||(g.is(m,g.K_)||g.is(m,g.Vda)||!m)&&(l(c,"hev1")||l(c,"h265")||l(c,"heic"))?!0:!1;case "mp4":return g.is(m,g.K_)||l(c,"mp4");case "hls":return g.is(m,g.HLS)||l(c,"x-mpegurl");case "ogv":return g.is(m,g.oea)||l(c,"ogg");
case "mov":return g.is(m,g.Vda)||l(c,"quicktime");default:return!1}}function l(c,e){return 0<=(c||"").toLowerCase().indexOf(e)}var k=a("lo"),b=a("u"),g=a("hL"),f={$Sa:function(c){return f.select(c.get("levels"))},YSa:function(c){return f.select(c.get("levels"))},select:function(c){c||=[];c=c.slice();var e=[];k.hTa&&e.push({type:"hls",Hs:!1});k.uTa&&e.push({type:"h265",Hs:!0});k.aba&&e.push({type:"webm",Hs:!0});k.YX&&e.push({type:"mp4",Hs:!0});k.vTa&&e.push({type:"mov",Hs:!0});k.$aa&&e.push({type:"ogv",
Hs:!0});e.push({type:"mp4",Hs:!0});e.push({type:"webm",Hs:!0});e.push({type:"mp4",Hs:!1});e.push({type:"webm",Hs:!1});for(var m=1E3*(b.kb()?800:5E3),q=0;q<e.length;q++){var p=c;e[q].Hs&&(p=p.filter(d));p=p.filter(function(n){if(h(n,e[q].type))return!0});"hls"!=e[q].type&&p.sort(function(n,r){return Math.abs(m-n.get("bitrate"))-Math.abs(m-r.get("bitrate"))});if(p.length)return p[0]}return null}};return f});
define("nD","require kV cu fV og kx hE nc u lQ nz ds gD mA nE bR cX".split(" "),function(a){function d(x){e.browser()==e.Tl&&(x=m.Py(x,"playbacksession="+(new Date).getTime()));return x}var h=a("kV"),l=a("cu"),k=a("fV"),b=a("og"),g=a("kx"),f=a("hE"),c=a("nc"),e=a("u"),m=a("lQ"),q=a("nz"),p=a("ds"),n=a("gD"),r=a("mA"),t=a("nE"),u=a("bR"),v=a("cX"),w=h.extend(k,function(x,y){k.call(this);this.bb=x;this.v=y;this.hb=w.yj(this.v);this.m=null;this.SM();this.v.bind(b.G("subtitlesURL"),this.xp,this,!0);this.v.bind(b.G("gain"),
this.SF,this,!0);this.hb.bind(b.G("subtitlesURL"),this.xp,this,!0);this.hb.bind(b.G("url"),this.xp,this,!0);this.hb.bind(b.G("gain"),this.SF,this,!0);this.A=g.S;this.If=this.ob=0;this.We=!1;this.hq=1;this.al=!1;this.O=this.Qb=null;this.CE=!1;this.hR=void 0;this.Zga=!1;this.Xq=[]});w.prototype.Hb=function(){return this.bb};w.prototype.Gd=function(x){this.A==x||x==g.Cb&&this.A!=g.X||(this.Zga&&x==g.X&&this.A==g.S&&this.B1(),this.A=x,this.A==g.X?(this.Qb&&this.Qb.play(this.bb,this.m,this.If),u.NY(this)):
(u.Aua()?this.Qb&&this.Qb.stop():u.iP(this),this.A==g.S&&this.y8()),this.D9())};w.prototype.getState=function(){return this.A};w.prototype.Qi=function(){return this.ob};w.prototype.setCurrentTime=function(x){this.If=x;this.Qb&&(this.Qb.gD()&&this.PR(),this.Qb.play(this.bb,this.m,this.If))};w.prototype.getCurrentTime=function(){return this.If};w.prototype.Sv=function(x){this.hq=x;this.Qb&&this.Qb.Sv(x)};w.prototype.tf=function(x){this.We=x;this.Qb&&this.Qb.tf(x)};w.prototype.setLoop=function(x){this.al=
x;this.Qb&&this.Qb.setLoop(x)};w.prototype.rVa=function(){this.Zga=!0};w.prototype.CH=function(x,y,A){this.Qb&&this.Qb.gD()?this.Qb.CH(x,y,A):this.CE?x.drawImage(this.O,0,0,y,A):x.fillRect(0,0,y,A)};w.prototype.IX=function(){if(this.Qb&&this.Qb.gD()){var x=this.Qb.getCurrentTime(),y=this.Qb.bc;if(this.QS())return new n(this.m.src,this.hR,this.O);this.B1();return new n(this.m.src,x,y)}return this.CE?new n(this.m.src,this.If,this.O):new n(this.m.src,this.If,null)};w.prototype.Uba=function(){return!this.We&&
this.v.get("hasAudio")};w.prototype.getType=function(){return t.qn};w.prototype.Yta=function(){return f.qn};w.prototype.fta=function(x){this.Qb=x;setTimeout(function(){this.Qb&&this.Qb.bind(q.Ej,this.oL,this,!0)}.bind(this),0);this.SM();this.Qb.bind(q.vf,this.Me,this,!0);this.Qb.bind(q.si,this.zm,this,!0);this.Qb.bind(b.Kk,this.bi,this,!0);this.Qb.tf(this.We);this.Qb.Sv(this.hq);this.Qb.setLoop(this.al);this.Qb.play(this.bb,this.m,this.If)};w.prototype.hva=function(){this.Qb.gD()&&this.PR();this.If=
this.Qb.getCurrentTime();this.Qb.unbind(q.Ej,this.oL,this,!0);this.Qb.unbind(q.vf,this.Me,this,!0);this.Qb.unbind(q.si,this.zm,this,!0);this.Qb.unbind(b.Kk,this.bi,this,!0);this.A==g.S&&(this.Qb.stop(),this.Qb.setCurrentTime(0));this.Qb=null};w.prototype.clear=function(){u.iP(this);this.B1();this.v&&(this.v.unbind(b.G("subtitlesURL"),this.xp,this,!0),this.v.unbind(b.G("gain"),this.SF,this,!0),this.v=null);this.hb&&(this.hb.unbind(b.G("subtitlesURL"),this.xp,this,!0),this.hb.unbind(b.G("url"),this.xp,
this,!0),this.hb=null)};w.prototype.xp=function(){this.aC&&clearTimeout(this.aC);this.aC=setTimeout(function(){this.aC=null;this.Qb&&(this.m.bn=this.v.get("subtitlesURL")||this.hb.get("subtitlesURL"),this.m.src=d(this.hb.get("url")),this.Qb.play(this.bb,this.m,this.If))}.bind(this),10)};w.prototype.SF=function(){this.Qb&&(this.m.gain=this.v.get("gain",1)*this.hb.get("gain",1),this.Qb.rP(this.m.gain))};w.prototype.SM=function(){this.m=new r;this.m.src=d(this.hb.get("url"));this.m.bn=this.v.get("subtitlesURL")||
this.hb.get("subtitlesURL");this.m.$y=this.v.get("hasAudio",!0)&&this.hb.get("hasAudio",!0);this.m.gain=this.v.get("gain",1)*this.hb.get("gain",1)};w.prototype.PR=function(){this.O||(this.O=document.createElement("canvas"));if(!this.QS()){this.O.width=this.Qb.nd();this.O.height=this.Qb.$d();this.hR=this.Qb.getCurrentTime();var x=this.O.getContext("2d");x.clearRect(0,0,this.O.width,this.O.height);this.CE=this.Qb.CH(x,this.O.width,this.O.height)}};w.prototype.QS=function(){var x=this.Qb.getCurrentTime();
this.ob&&(x=Math.min(x,this.ob));return this.CE&&.15>=Math.abs(x-this.hR)};w.prototype.B1=function(){this.CE&&(this.hR=void 0,this.CE=!1,e.browser()!=e.Tl&&(this.O.width=0,this.O.height=0,this.O=null))};w.prototype.zm=function(){this.ob=this.Qb.Qi();this.y9()};w.prototype.Me=function(){this.ob!=this.Qb.Qi()&&this.zm();this.If=this.Qb.getCurrentTime();e.fe()==e.vi&&0<this.If&&this.If>this.ob-.15&&!this.QS()&&!this.al?this.PR():e.browser()==e.Ik&&0<this.If&&this.If>this.ob-.05&&!this.QS()&&this.al&&
this.PR();this.zN()};w.prototype.bi=function(){this.Xq=this.Qb.tO().map(function(x){for(var y=null,A=0;A<this.Xq.length&&!y;A++)this.Xq[A].cue==x&&(y=this.Xq[A]);y||=new p(x);return y}.bind(this));this.trigger(new l(b.Kk))};w.prototype.oL=function(){this.Gd(g.S);this.z9()};w.prototype.y8=function(){this.If=0;this.zN()};w.prototype.zN=function(){this.trigger(new l(w.vf))};w.prototype.y9=function(){this.trigger(new l(w.si))};w.prototype.z9=function(){this.trigger(new l(b.rb))};w.prototype.D9=function(){this.trigger(new l(b.ge))};
w.vf="time update";w.si="duration update";w.yj=function(x){if(c.Ea("Video360Resource",x))return v.YSa(x);if(c.Ea("VideoResource",x))return v.$Sa(x);throw"invalid video resource object: "+x;};return w});
define("gc",["require","og","kx","cu","nD"],function(a){function d(g,f,c,e){this.Z=g;this.m=f;this.de=c;this.Da=e;this.jc=g.Hb();this.If=this.m.get("currentTime");this.A=this.m.get("state");this.al=this.m.get("loop");this.QU=this.jc.get("mute");this.HT=this.m.get("mute");this.A=this.m.get("autoplay")?l.X:l.Cb;this.D0();this.m.set("state",this.A);this.Z.tf(this.QU||this.HT);this.Z.setLoop(this.al);this.Z.setCurrentTime(this.If);this.Z.Gd(this.A)}var h=a("og"),l=a("kx"),k=a("cu"),b=a("nD");d.prototype.dispose=
function(){this.K7()};d.prototype.Pma=function(){var g=this.m.get("currentTime",0);this.If!=g&&this.Z.setCurrentTime(this.If=g)};d.prototype.Tma=function(){var g=this.m.get("state",l.S);this.A!=g&&this.Z.Gd(this.A=g)};d.prototype.Rma=function(){var g=this.m.get("mute",!1);this.HT!=g&&this.Z.tf(this.QU||(this.HT=g))};d.prototype.Qma=function(){var g=this.m.get("loop",!1);this.al!=g&&this.Z.setLoop(this.al=g)};d.prototype.KL=function(){var g=this.jc.get("mute",!1);this.QU!=g&&this.Z.tf((this.QU=g)||
this.HT)};d.prototype.SL=function(){this.m.set("currentTime",this.If=this.Z.getCurrentTime())};d.prototype.QL=function(){this.m.set("duration",this.Z.Qi())};d.prototype.RL=function(){this.m.set("state",this.A=this.Z.getState());this.Da()};d.prototype.TL=function(){this.de.trigger(new k(h.rb))};d.prototype.D0=function(){this.jc.bind(h.G("mute"),this.KL,this,!0);this.Z.bind(b.vf,this.SL,this,!0);this.Z.bind(b.si,this.QL,this,!0);this.Z.bind(h.ge,this.RL,this,!0);this.Z.bind(h.rb,this.TL,this,!0);this.m.bind(h.G("currentTime"),
this.Pma,this,!0);this.m.bind(h.G("state"),this.Tma,this,!0);this.m.bind(h.G("mute"),this.Rma,this,!0);this.m.bind(h.G("loop"),this.Qma,this,!0)};d.prototype.K7=function(){this.jc.unbind(h.G("mute"),this.KL,this,!0);this.Z.unbind(b.vf,this.SL,this,!0);this.Z.unbind(b.si,this.QL,this,!0);this.Z.unbind(h.ge,this.RL,this,!0);this.Z.unbind(h.rb,this.TL,this,!0);this.m.unbind(h.G("currentTime"),this.Pma,this,!0);this.m.unbind(h.G("state"),this.Tma,this,!0);this.m.unbind(h.G("mute"),this.Rma,this,!0);this.m.unbind(h.G("loop"),
this.Qma,this,!0)};return d});
define("v","require og kx hE cm kS ey fP".split(" "),function(a){function d(e,m,q,p){this.Xo();this.Z=e;this.m=m;this.hb=q;this.Da=p;this.mG=this.hb.get("posterURL");this.DQa=this.hb.get("url");this.ea=this.hb.get("width");this.ua=this.hb.get("height");this.zd=null;this.h9=this.k9=void 0;this.Aka();this.hb.bind(h.G("posterURL"),this.Nma,this,!0);this.Da();this.ya=this.O=null}var h=a("og"),l=a("kx"),k=a("hE"),b=a("cm"),g=a("kS"),f=a("ey"),c=a("fP");d.prototype.update=function(){var e=this.Z.IX();e.isEmpty()&&
(e=null);if(e&&(!this.zd||this.zd&&!this.zd.isEqual(e))){this.zd=e;e=this.zd.PA;var m=c.YH(e);m&&(e.width=e.videoWidth||this.ea,e.height=e.videoHeight||this.ua);!this.O&&c.Pya(this.DQa)&&(this.O=document.createElement("canvas"),this.O.width=this.ea,this.O.height=this.ua,this.ya=this.O.getContext("2d"));this.O&&m&&(this.ya.drawImage(e,0,0,this.O.width,this.O.height),e=this.O);this.Apa(e)}else!this.zd&&this.Ju&&this.tb.image!=this.Ju&&this.Apa(this.Ju);(this.tb.needsUpdate||this.Z.getState()==l.X)&&
this.Da()};d.prototype.Nma=function(){this.hNa(this.hb.get("posterURL"))};d.prototype.hNa=function(e){this.mG!=e&&(this.Sqa(),this.mG=e,this.Aka())};d.prototype.Aka=function(){this.mG&&(this.Ju=null,this.lG=new b,this.lG.CP([this.mG]),this.lG.bind(h.aa,this.Mma,this,!0),g.po(this.lG,this.m.get("loadPriority",k.ln)))};d.prototype.Sqa=function(){this.mG&&(this.lG.unbind(h.aa,this.Mma,this,!0),g.Dj(this.lG,this.m.get("loadPriority",k.ln)),this.Ju=this.lG=null)};d.prototype.Mma=function(){this.Ju=g.sf(this.mG);
if(this.Ju.width!=this.ea||this.Ju.height!=this.ua){var e=document.createElement("canvas"),m=e.getContext("2d");e.width=this.ea;e.height=this.ua;m.drawImage(this.Ju,0,0,this.ea,this.ua);this.Ju=e}this.Da()};d.prototype.Apa=function(e){this.tb&&this.k9==e.width&&this.h9==e.height?this.tb.image=e:this.Xo(e);this.tb.needsUpdate=!0};d.prototype.Xo=function(e){this.IR();this.tb=new THREE.Texture;this.tb.image=e||f.Dta();this.k9=this.tb.image.width;this.h9=this.tb.image.height;this.tb.generateMipmaps=!1;
this.tb.minFilter=THREE.LinearFilter;this.tb.magFilter=THREE.LinearFilter;this.tb.format=THREE.RGBAFormat};d.prototype.IR=function(){this.tb&&(this.h9=this.k9=void 0,this.tb.dispose(),this.tb=null)};d.prototype.dispose=function(){this.Sqa();this.hb.unbind(h.G("posterURL"),this.Nma,this,!0);this.ya=this.hb=null;this.O&&(this.O=this.O.width=this.O.height=0);this.IR();this.Da=this.Jh=this.Z=null};return d});
define("kn",["require","fP"],function(a){var d=a("fP");return{gza:function(){this.blending=0;this.ZH=void 0;this.Oxa=this.threshold=0},OAa:function(){this.bz=!1;this.height=this.width=100},create:function(h,l,k){var b=h.bz&&d.Cua(),g=h.bz&&d.Bua(),f=void 0,c=!b,e={uniforms:{},transparent:!0};e.uniforms.text1={type:"sampler2D",value:null};e.uniforms.opacity={type:"float",value:1};e.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(b?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");
if(g||l.blending||l.ZH){b=[];var m=[];b=b.concat(["uniform sampler2D text1;","uniform float opacity;","varying vec2 vUV;"]);m=m.concat(["   vec4 color = texture2D(text1, vUV);","   float alpha = color.a * opacity;"]);l.blending&&(f=.5*Math.min(h.width,h.height)*l.blending,e.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(f/h.width,f/h.height)},b=b.concat(["uniform vec2 blendingLimit;"]),m=m.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(",")));
l.ZH&&(e.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(l.ZH.substr(1,2),16)/255,parseInt(l.ZH.substr(3,2),16)/255,parseInt(l.ZH.substr(5,2),16)/255)},e.uniforms.chromaThreshold={type:"f",value:l.threshold},e.uniforms.chromaSmoothing={type:"f",value:l.Oxa},b=b.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),m=m.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("{")));
m=m.concat(["\tgl_FragColor = vec4(color"+(g?".bgr":".rgb")+", alpha);"]);f=THREE.RGBAFormat;e.fragmentShader=[].concat(b,["void main() {"],m,["}"]).join("\n")}else e.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}";h=new THREE.ShaderMaterial(e);h.transparent=!0;h.depthWrite=!0;h.side=THREE.FrontSide;h.depthTest=!0;h.needsUpdate=
!0;h.userData.uya=c;h.userData.vya=f;this.KD(h,k);return h},KD:function(h,l){h.uniforms.text1.value!==l&&(void 0!==h.userData.uya&&(l.flipY=h.userData.uya),void 0!==h.userData.vya&&(l.format=h.userData.vya),h.uniforms.text1.value=l)}}});
define("jR",["require","nD","og"],function(a){function d(l,k){this.Jc=l;this.Z=k;this.A0=[];this.f1();this.bi()}a("nD");var h=a("og");d.prototype.clear=function(){this.uDa();this.H9();this.Z=this.Jc=null};d.prototype.f1=function(){this.Z.bind(h.Kk,this.bi,this,!0)};d.prototype.H9=function(){this.Z.unbind(h.Kk,this.bi,this,!0)};d.prototype.bi=function(){this.Jc.set("activeSubtitles",this.A0=this.Z.Xq)};d.prototype.uDa=function(){this.Jc.get("activeSubtitles")==this.A0&&this.Jc.set("activeSubtitles",
this.A0=[])};return d});
define("gJ","require kh og kx gc v kn fP fp jR nD".split(" "),function(a){function d(p){this.o=p;this.ST=this.ST.bind(this);p=p.getComponent(e.tw);this.de=p.La;this.m=p.qc;this.TW=p.Qya;this.jc=this.o.U.jc;this.Da=this.Da.bind(this);this.Of=!1;this.hb=null;h.ma(this.TW,["levels.url","levels.width","levels.height"],this.ST,!0)}var h=a("kh"),l=a("og"),k=a("kx"),b=a("gc"),g=a("v"),f=a("kn"),c=a("fP"),e=a("fp"),m=a("jR"),q=a("nD");d.prototype.update=function(){this.Of&&(this.Of=!1,this.co.update(),f.KD(this.ia,
this.co.tb))};d.prototype.ST=function(){this.KM(q.yj(this.TW))};d.prototype.KM=function(p){p=p&&p.get("url")?p:null;this.hb!=p&&(this.hb&&(this.Sra.dispose(),this.Sra=null,this.m.unbind(l.G("opacity"),this.Sma,this,!0),this.K2(),this.co.dispose(),this.co=null,this.dFa(),this.Of=!1),this.hb=p)&&(this.OEa(),this.Sra=new b(this.Z,this.m,this.de,this.Da),this.co=new g(this.Z,this.m,this.hb,this.Da),this.JA(),this.m.bind(l.G("opacity"),this.Sma,this,!0),this.opa(this.sb=this.m.get("opacity",1)),this.Of=
!1,this.Da())};d.prototype.Da=function(){this.Of||(this.Of=!0,this.o.U.gb())};d.prototype.OEa=function(){this.Z=new q(this.o.U.jc,this.TW);this.av=new m(this.m,this.Z)};d.prototype.dFa=function(){this.Z.Gd(k.S);this.Z.clear();this.Z=null;this.av.clear();this.av=null};d.prototype.JA=function(){var p=new f.OAa;p.bz=c.bz(this.hb.get("url"));p.width=this.hb.get("width");p.height=this.hb.get("height");var n=new f.gza;n.blending=this.m.get("blending",0);n.ZH=this.m.get("chromaColor");n.threshold=this.m.get("chromaThreshold",
0);n.Oxa=this.m.get("chromaSmoothing",0);this.ia=f.create(p,n,this.co.tb);this.o.I(e.Material).material=this.ia};d.prototype.K2=function(){this.ia.dispose();this.ia=null;this.o.na(e.Material)};d.prototype.dispose=function(){this.KM(null);this.m.set("state",k.S);this.o=this.de=this.m=this.jc=null;h.ka(this.TW,["levels.url","levels.width","levels.height"],this.ST)};d.prototype.Sma=function(){var p=this.m.get("opacity");this.sb!=p&&(this.opa(this.sb=p),this.Da())};d.prototype.opa=function(p){this.ia.opacity=
p;this.ia.isShaderMaterial&&this.ia.uniforms.opacity&&(this.ia.uniforms.opacity.value=p)};d.Nb=function(p){p.I(e.uw).manager=new d(p)};d.ab=function(p){var n=p.getComponent(e.uw);n.manager.dispose();n.manager=null;p.na(e.uw)};d.update=function(p){p.getComponent(e.uw).manager.update()};return d});
define("em",["require","kV","lf","fp","gJ"],function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("gJ");a=d.extend(h,function(){h.apply(this,arguments)});a.prototype.Ed=function(){this.Jl.D.length&&this.Jl.D.slice().forEach(k.Nb);this.Kl.D.length&&this.Kl.D.slice().forEach(k.ab);this.materials.D.length&&this.materials.D.slice().forEach(k.update)};a.J={};a.J.Jl=[l.tw,l.uw.not];a.J.materials=[l.tw,l.uw];a.J.Kl=[l.tw.not,l.uw];return a});
define("nX",["require","kV","lf","ci","fp"],function(a){var d=a("kV"),h=a("lf"),l=a("ci"),k=a("fp");a=d.extend(h,function(){h.apply(this,arguments);this.B8=this.B8.bind(this);this.bH=this.bH.bind(this)});a.prototype.Ed=function(){this.jda.fg.length&&this.jda.fg.slice().forEach(this.B8);this.qD.Za.length&&this.qD.Za.slice().forEach(this.bH);this.Bs.Za.length&&this.Bs.Za.slice().forEach(this.bH);this.qD.fg.length&&this.qD.fg.slice().forEach(this.bH);this.Bs.fg.length&&this.Bs.fg.slice().forEach(this.bH)};
a.prototype.B8=function(b){var g=b.getComponent(k.Nj),f=l.Aaa(g.je),c=f&&f.width||100;f=f&&f.height||100;if(g.width!=c||g.height!=f)g=b.L(k.Nj),g.width=c,g.height=f};a.prototype.bH=function(b){var g=l.Aaa(b);this.jda.D.forEach(function(f){if(f.getComponent(k.Nj).je==b){var c=f.getComponent(k.Nj);if(c.width!=g.width||c.height!=g.height)c=f.L(k.Nj),c.width=g.width,c.height=g.height}})};a.J={};a.J.jda=[k.Nj];a.J.qD=[k.OrthographicCamera];a.J.Bs=[k.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,d,h,l,k,b,g,f,c,e,m,q,p,n,r){var t=a.getAttribute("position").array,u=a.getAttribute("normal").array,v=
a.getAttribute("uv").array,w=a.getIndex().array;t[9]=t[0]=d;t[10]=t[1]=h;t[11]=t[2]=l;v[6]=v[0]=k;v[7]=v[1]=b;t[3]=t[0]+m;t[4]=t[1]+q;t[5]=t[2]+p;v[2]=v[0];v[3]=v[1]+n;t[12]=t[6]=t[3]+g;t[13]=t[7]=t[4]+f;t[14]=t[8]=t[5]+c;v[8]=v[4]=v[2]+e;v[9]=v[5]=v[3];t[15]=t[12]-m;t[16]=t[13]-q;t[17]=t[14]-p;v[10]=v[8];v[11]=v[9]-n;d=f*p-c*q;c=c*m-g*p;g=g*q-f*m;f=1/Math.sqrt(d*d+c*c+g*g);u[0]=u[3]=u[6]=u[9]=u[12]=u[15]=d*f;u[1]=u[4]=u[7]=u[10]=u[13]=u[16]=c*f;u[2]=u[5]=u[8]=u[11]=u[14]=u[17]=g*f;w[0]=0;w[1]=2;
w[2]=1;w[3]=3;w[4]=5;w[5]=4;a.getAttribute("position").needsUpdate=!0;a.getAttribute("normal").needsUpdate=!0;a.getAttribute("uv").needsUpdate=!0;a.clearGroups();a.addGroup(0,6,r);a.computeBoundingBox();a.computeBoundingSphere();return a}}});
define("nL",["require","og","kY"],function(a){function d(k,b,g){this.hp=k;this.m=b;this.i4=g;this.tV=this.tV.bind(this);this.rE=void 0;this.m.forEach(function(f){this.hp.bind(h.G(f),this.GB,this,!0)}.bind(this));this.tV()}var h=a("og"),l=a("kY");d.prototype.stop=function(){this.m.forEach(function(k){this.hp.unbind(h.G(k),this.GB,this,!0)}.bind(this));this.rE&&(l.cancel(this.rE),this.rE=void 0)};d.prototype.GB=function(){this.rE||(this.rE=l.hz(this.tV))};d.prototype.tV=function(){this.rE=void 0;var k=
this.hp;this.i4.apply(window,this.m.map(function(b){return k.get(b)}))};return d});
define("fi","require kV lf fp dQ nL ci my lK".split(" "),function(a){var d=a("kV"),h=a("lf"),l=a("fp"),k=a("dQ"),b=a("nL"),g=a("ci"),f=a("my"),c=a("lK"),e=d.extend(h,function(){h.apply(this,arguments);this.A8=this.A8.bind(this);this.e$=this.e$.bind(this);this.d9=this.d9.bind(this)});e.prototype.Ed=function(){this.fP.D.length&&this.fP.D.slice().forEach(this.A8);this.planes.Za.length&&this.planes.Za.slice().forEach(this.e$);this.ywa.D.length&&this.ywa.D.slice().forEach(this.d9)};e.prototype.A8=function(m){var q=
m.getComponent(l.vw),p=m.I(l.Nj);p.je=q.je;var n=g.Aaa(q.je);n&&(p.width=n.width,p.height=n.height);p=m.I(l.lt);p.geometry=k.create();p.Hwa=new b(q.qc,"width height horizontalAlign verticalAlign scaleMode zIndex".split(" "),function(r,t,u,v,w,x){var y=m.L(l.lt);y.Sxa=r;y.Pxa=t;y.Dua=u;y.verticalAlign=v;y.Wwa=w;y.zIndex=x});m.I(l.Geometry).geometry=p.geometry};e.prototype.d9=function(m){var q=m.getComponent(l.lt);q.geometry.dispose();q.geometry=null;q.Hwa.stop();q.Hwa=null;m.na(l.Geometry);m.na(l.Nj);
m.na(l.lt)};e.prototype.e$=function(m){var q=m.getComponent(l.lt),p=m.getComponent(l.Nj),n=p.width,r=p.height,t=q.Sxa,u=q.Pxa;switch(q.Wwa){case c.NONE:p=t;var v=u;break;case c.Go:p=n;v=u*n/t;break;case c.Hj:v=r;p=t*r/u;break;case c.Gq:t*r>u*n?(v=r,p=t*r/u):(p=n,v=u*n/t);break;default:t*r>u*n?(p=n,v=u*n/t):(v=r,p=t*r/u)}switch(q.Dua){case f.Ma:n=.5*-n;break;case f.eb:n=.5*n-p;break;default:n=.5*-p}switch(q.verticalAlign){case f.sc:r=.5*r-v;break;case f.mc:r=.5*-r;break;default:r=.5*-v}t=q.zIndex-
e.Rza;k.set(q.geometry,n,r,0,0,0,p,0,0,1,0,v,0,1,0);m.L(l.Ba,!0).positionZ=t;m.U.gb()};e.Rza=100;e.J={};e.J.fP=[l.vw,l.lt.not];e.J.planes=[l.vw,l.lt,l.Nj];e.J.ywa=[l.vw.not,l.lt];return e});
define("im","require mF n mz hD gM hV kD ht la mf ix oi nR fA bG hi ff kC gN gI mo cY id lb eJ mV hZ kH eq jZ em nX fi".split(" "),function(a){var d=a("mF"),h=a("n"),l=a("mz"),k=a("hD"),b=a("gM"),g=a("hV"),f=a("kD"),c=a("ht"),e=a("la"),m=a("mf"),q=a("ix"),p=a("oi"),n=a("nR"),r=a("fA"),t=a("bG"),u=a("hi"),v=a("ff"),w=a("kC"),x=a("gN"),y=a("gI"),A=a("mo"),B=a("cY"),z=a("id"),C=a("lb"),E=a("eJ"),F=a("mV"),G=a("hZ"),J=a("kH"),R=a("eq"),U=a("jZ"),Q=a("em"),N=a("nX");a=a("fi");var W={};W.Animation=d;W.Sl=
h;W.zz=l;W.Camera=k;W.fza=b;W.Sh=g;W.fw=f;W.Ts=c;W.Group=e;W.Ws=m;W.Vi=q;W.Light=p;W.Line=n;W.nw=r;W.Kq=t;W.Zs=u;W.Mesh=v;W.yg=w;W.eAa=x;W.Db=A;W.Plane=y;W.Mk=B;W.Kj=z;W.kh=C;W.Scene=E;W.Selection=F;W.Kc=G;W.Sphere=J;W.Sprite=R;W.Ba=U;W.tw=Q;W.Nj=N;W.vw=a;return W});
define("nn",["require","u"],function(a){var d=a("u");return{xya:function(h,l){l||="screenshot.jpg";a:{try{var k=h.toDataURL("image/jpeg");break a}catch(c){}k=void 0}if(!k)return!1;var b=k;h=document.createElement("a");if("string"===typeof h.download)document.body.appendChild(h),h.download=l,h.href=b,h.click(),document.body.removeChild(h);else if(d.browser()==d.$v){h=window.navigator;k=h.msSaveOrOpenBlob;b=atob(b.split(",")[1]);for(var g=[],f=0;f<b.length;f++)g.push(b.charCodeAt(f));b=new Blob([new Uint8Array(g)],
{type:"image/jpeg"});k.call(h,b,l)}else window.location.replace(b);return!0}}});
define("fW","require kV og e bZ jL kN fp im nn".split(" "),function(a){function d(n){return n.map(function(r){return String.fromCharCode(r)}).join("")}var h=a("kV"),l=a("og"),k=a("e"),b=a("bZ"),g=a("jL"),f=a("kN"),c=a("fp"),e=a("im"),m=a("nn");a=h.extend(k,function(n,r){k.call(this);this.jc=n;this.MQa=r;this.jq=(new f(n)).xa(c.MD).xa(c.Animation).xa(c.Ks).xa(c.vz).xa(c.Sl).xa(c.Zv).xa(c.wz).xa(c.zz).xa(c.cw).xa(c.Fq).xa(c.Ms).xa(c.Sh).xa(c.dw).xa(c.YP).xa(c.yo).xa(c.ew).xa(c.fw).xa(c.Rz).xa(c.Ss).xa(c.Sz).xa(c.Us).xa(c.Ts).xa(c.Hq).xa(c.Geometry).xa(c.Group).xa(c.XD).xa(c.Ws).xa(c.kw).xa(c.Light).xa(c.Xs).xa(c.Line).xa(c.Vi).xa(c.lw).xa(c.nw).xa(c.ow).xa(c.mw).xa(c.Material).xa(c.Kq).xa(c.pw).xa(c.Zs).xa(c.Ko).xa(c.Mesh).xa(c.Lq).xa(c.yg).xa(c.$s).xa(c.bt).xa(c.Wz).xa(c.Object3D).xa(c.dE).xa(c.ct).xa(c.Xz).xa(c.dt).xa(c.OrthographicCamera).xa(c.qw).xa(c.PerspectiveCamera).xa(c.Nq).xa(c.Db).xa(c.Mq).xa(c.Mk).xa(c.Yz).xa(c.Plane).xa(c.ft).xa(c.zg).xa(c.gt).xa(c.Kj).xa(c.Oq).xa(c.ht).xa(c.Kc).xa(c.jt).xa(c.Ba).xa(c.bA).xa(c.Hf).xa(c.kh).xa(c.Qq).xa(c.Scene).xa(c.Sq).xa(c.Hd).xa(c.Zz).xa(c.Sphere).xa(c.$z).xa(c.Sprite).xa(c.Tq).xa(c.Kc).xa(c.jt).xa(c.tw).xa(c.uw).xa(c.Nj).xa(c.vw).xa(c.lt).xa(c.iE).Vd(e.Camera,"Camera").Vd(e.Nj,
"Viewport").Vd(e.Ws,"ImageMaterial").Vd(e.Sh,"CanvasMaterial").Vd(e.Vi,"LineMaterial").Vd(e.Kc,"SolidMaterial").Vd(e.tw,"VideoMaterial").Vd(e.Kq,"MaterialTransform").Vd(e.Zs,"MaterialVariant").Vd(e.vw,"ViewportPlaneGeometry").Vd(e.Group,"Group").Vd(e.Line,"Line").Vd(e.Mesh,"Mesh").Vd(e.Plane,"Plane").Vd(e.Sphere,"Sphere").Vd(e.Sprite,"Sprite").Vd(e.yg,"Model").Vd(e.Light,"Light").Vd(e.Scene,"Scene").Vd(e.Db,"Parent").Vd(e.eAa,"ObjectId").Vd(e.Animation,"Animation").Vd(e.Ts,"FloorTransform").Vd(e.fza,
"CameraControls").Vd(e.fw,"Dragging").Vd(e.Selection,"Selection").Vd(e.Kj,"PointerOverTransform").Vd(e.Mk,"PixelScaleTransform").Vd(e.Ba,"Transform").Vd(e.Sl,"Area").Vd(e.nw,"LineToTransform").Vd(e.Camera.ND,"CameraAutoNearFar").Vd(e.zz,"Beacon").Vd(e.kh,"Renderer");this.j=this.jq.ud("Renderer");this.jC=[];this.tC=!1;this.ZJ=new g;this.yb().append(this.ZJ.yc());this.bind(l.hd,this.ek,this,!0);this.bind(l.od,this.$j,this,!0)});a.prototype.ud=function(n){return this.jq.ud(n)};a.prototype.Cf=function(n){this.jq.Cf(n)};
a.prototype.lsa=function(n){!(0<=this.jC.indexOf(n))&&(this.jC.push(n),n=this.j.L(c.kh))&&(n.oP=this.jC.slice())};a.prototype.YUa=function(n){n=this.jC.indexOf(n);!(0>n)&&(this.jC.splice(n,1),n=this.j.L(c.kh))&&(n.oP=this.jC.slice())};a.prototype.jca=function(n){this.jq.jca(n)};a.prototype.BWa=function(){if(1!=this.tC){this.tC=!0;var n=this.j.L(c.kh);n&&(n.shadowMap=this.tC)}};a.prototype.kc=function(n){this.jq.kc(n)};a.prototype.vD=function(){this.ZJ.trigger();this.jq.update();return m.xya(this.j.getComponent(c.kh).canvas)};
a.prototype.iaa=function(){this.jq.update();return this.j.getComponent(c.kh).canvas.toDataURL("image/png")};a.prototype.ek=function(){this.ENa()};a.prototype.$j=function(){this.yOa()};a.prototype.ENa=function(){var n=this.j.getComponent(c.kh);if(!n&&(n=this.j.I(c.kh),n.DH=document.createElement("div"),this.yb().fX(n.DH),n.oP=this.jC.slice(),n.antialias=!0,n.shadowMap=this.tC,this.jc.get(q)&&this.MQa)){this.UN=document.createElement("div");for(var r in p)this.UN.style[r]=p[r];this.yb().fX(this.UN)}};
a.prototype.yOa=function(){var n=this.j.getComponent(c.kh);n&&(this.yb().Nwa(n.DH),this.UN&&this.yb().Nwa(this.UN),this.UN=null,this.j.na(c.kh))};var q=d([119,97,116,101,114,109,97,114,107]),p={};p[d([104,101,105,103,104,116])]=d([49,48,48,37]);p[d([119,105,100,116,104])]=d([49,48,48,37]);p[d([112,111,115,105,116,105,111,110])]=d([97,98,115,111,108,117,116,101]);p[d([116,111,112])]=0;p[d([108,101,102,116])]=0;p[d([98,97,99,107,103,114,111,117,110,100,73,109,97,103,101])]=d([117,114,108,40,34])+b.PAa+
d([34,41]);p[d([98,97,99,107,103,114,111,117,110,100,80,111,115,105,116,105,111,110])]=d([99,101,110,116,101,114]);p[d([98,97,99,107,103,114,111,117,110,100,83,105,122,101])]=d([99,111,110,116,97,105,110]);p[d([112,111,105,110,116,101,114,69,118,101,110,116,115])]=d([110,111,110,101]);p[d([98,97,99,107,103,114,111,117,110,100,82,101,112,101,97,116])]=d([110,111,45,114,101,112,101,97,116]);p[d([111,112,97,99,105,116,121])]=.5;return a});
define("nk",["require","exports","kh"],function(a,d,h){return function(){function l(){this.$O=this.$O.bind(this);this.LY=this.object=null;this.elements=[];this.nO=new Map;this.Fwa=this.Wm=this.fg=this.filter=null}l.prototype.Nxa=function(k,b){this.dispose();this.object=k;this.LY=b;h.ma(this.object,[this.LY],this.$O,!0)};l.prototype.$O=function(k){k=k||[];this.filter&&(k=k.filter(this.filter));var b=this.elements,g=this.elements=k;b.forEach(function(f,c){var e=g.indexOf(f);if(-1==e){var m=this.nO.get(f);
this.nO["delete"](f);this.Wm&&this.Wm(f,m)}else e!=c&&(m=this.nO.get(f),this.Fwa&&(c=this.Fwa(f,e,m,c),c!=m&&this.nO.set(f,c)))}.bind(this));g.forEach(function(f,c){-1==b.indexOf(f)&&this.fg&&(c=this.fg(f,c),this.nO.set(f,c))}.bind(this))};l.prototype.dispose=function(){this.object&&(h.ka(this.object,[this.LY],this.$O),this.$O([]),this.LY=this.object=null)};return l}()});
define("eB",["require","kh","og","nc","fp"],function(a){function d(c,e,m){this.j=c;this.Y=e;this.zi=m;this.N=this.j.N;this.ta=null;this.Le=this.Le.bind(this);this.j.bind(l.fc,this.cc,this,!0);this.Y.bind(l.G("camera"),this.LT,this,!0);this.N.bind(l.G("isKeyboardTarget"),this.l6,this,!0);this.LT();this.l6();this.cc()}var h=a("kh"),l=a("og"),k=a("nc"),b=a("fp");d.prototype.kc=function(c){for(var e in f){var m=this.zi.L(f[e]);m&&(m.enabled=c)}};d.prototype.dispose=function(){this.ta&&(this.C8(!1),h.ka(this.ta,
g,this.Le),this.ta=null);this.Y.unbind(l.G("camera"),this.LT,this,!0);this.Y=null;this.N.unbind(l.G("isKeyboardTarget"),this.l6,this,!0);this.N=null;this.j.unbind(l.fc,this.cc,this,!0);this.zi=this.j=null};d.prototype.LT=function(){var c,e;for(e in f){var m=f[e];this.Y.get("camera")&&k.Ea(e,this.Y.get("camera"))?c=this.zi.L(m,!0):this.zi.na(m)}c&&(c.qc=this.Y.get("camera"),c.eg=this.j.getParent(),c.Zwa=this.N.HK,c.cz=this.N.get("isKeyboardTarget"))};d.prototype.l6=function(){var c=this.Y.get("camera"),
e,m;for(m in f){var q=f[m];c&&k.Ea(m,c)&&(e=this.zi.L(q,!0))}e&&(e.cz=this.N.get("isKeyboardTarget"));this.ta!=c&&(this.ta&&(this.C8(!1),h.ka(this.ta,g,this.Le)),(this.ta=c)&&h.ma(this.ta,g,this.Le,!0))};d.prototype.Le=function(){var c=this.zi.L(b.PerspectiveCamera,!0);c.usa=this.ta.get("autoNearFar");c.vsa=this.ta.get("autoNearFarTolerance");c.near=this.ta.get("near");c.far=this.ta.get("far");this.C8(this.ta.get("userInteracting"))};d.prototype.cc=function(){var c=this.zi.L(b.PerspectiveCamera,!0);
c.width=this.j.bf();c.height=this.j.af()};d.prototype.C8=function(c){this.Ih!=c&&(this.Ih=c,this.ta&&this.ta.trigger(this.Ih?l.Vea:l.Uea))};var g=["autoNearFar","autoNearFarTolerance","near","far","userInteracting"],f={OrbitModel3DCamera:b.Xz,FirstPersonModel3DCamera:b.Rz,FlyOverModel3DCamera:b.Sz};return d});
define("hz",["require","kh","og","fp"],function(a){function d(e,m,q,p){this.C=e;this.Y=m;this.pa=q;this.j=p;this.kj=this.kj.bind(this);this.Bu=this.Bu.bind(this);this.ei=this.ei.bind(this);this.Cr=this.Cr.bind(this);this.ie=this.ie.bind(this);this.T=!1;this.o=null;this.qb=!1;h.ma(this.C,["enabled"],this.kj,!0)}var h=a("kh"),l=a("og"),k=a("fp");d.prototype.dispose=function(){this.Rk();h.ka(this.C,["enabled"],this.kj)};d.prototype.kj=function(){this.C.get("enabled")?this.Wt():this.Rk()};d.prototype.Wt=
function(){this.T||(this.T=!0,this.o=this.pa.U.ud("Sphere"),this.o.I(k.Db).Mb=this.pa,this.o.I(k.Sphere),this.o.I(k.Kc),this.o.I(k.Hd).La=this.C,this.o.I(k.Ba),this.o.I(k.Mk),h.ma(this.C,b,this.Bu,!0),h.ma(this.C,g,this.ei,!0),h.ma(this.C,f,this.Cr,!0),h.ma(this.C,c,this.ie,!0))};d.prototype.Rk=function(){this.T&&(this.T=!1,h.ka(this.C,b,this.Bu),h.ka(this.C,g,this.ei),h.ka(this.C,f,this.Cr),h.ka(this.C,c,this.ie),this.o.U.Cf(this.o),this.o=null,this.Km(!1))};d.prototype.Bu=function(){this.o.L(k.Db).id=
this.C.get("parentId")};d.prototype.ei=function(){var e=this.o.L(k.Ba);e.positionX=this.C.get("x");e.positionY=this.C.get("y");e.positionZ=this.C.get("z")};d.prototype.Cr=function(){var e=this.o.L(k.Mk);e.Qf=e.hg=e.Qh=1;e.scale=this.C.get("radius");e.mD=this.C.get("maxRadius");e.oD=this.C.get("minRadius")};d.prototype.ie=function(){var e=this.o.L(k.Hd);e.cn=this.C.get("useHandCursor");e.tI=this.C.get("transparentAreaActive");e=this.o.L(k.Kc);e.color=this.C.get("color");e.opacity=this.C.get("hidden")?
0:this.C.get("opacity");e.depthTest=this.C.get("depthTest");this.Km(0<e.opacity)};d.prototype.Km=function(e){this.qb!=e&&((this.qb=e)?this.C.trigger(l.hd):this.C.trigger(l.od))};var b=["parentId"],g=["x","y","z"],f=["radius","maxRadius","minRadius"],c="color depthTest hidden opacity transparentAreaActive useHandCursor".split(" ");return d});
define("lt",["require"],function(){function a(d){this.uc=this.mr(d.get("surfaceReticleColor"));this.Tu=this.mr(d.get("surfaceReticleSelectionColor"));this.sb=d.get("surfaceReticleOpacity");this.eMa=d.get("surfaceReticleSelectionOpacity");this.ph=this.jf=128;this.EKa=.456;this.FKa=.088;this.iIa=.18;this.O=document.createElement("canvas");this.O.width=this.jf;this.O.height=this.ph;this.ya=this.O.getContext("2d");this.ya.fillStyle="red";this.ya.imageSmoothingEnabled=!0;this.ya.fillRect(0,0,this.jf,this.ph);
this.Vc=this.Dt=!1;this.DF=this.tU=void 0;this.mA=0}a.prototype.I3=function(){return this.pk(NaN*this.Tu[0]+NaN*this.uc[0],NaN*this.Tu[1]+NaN*this.uc[1])};a.prototype.mr=function(d){d=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(d);return[parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16)]};a.prototype.pk=function(d,h){return"rgba("+d.join(",")+", "+h+")"};a.prototype.setPosition=function(d){this.Wa!=d&&(this.Wa=d,this.va=!0)};a.prototype.nd=function(){return this.jf};a.prototype.$d=function(){return this.ph};
a.prototype.gg=function(){return this.O};a.prototype.update=function(){if(!this.va)return!1;this.va=!1;this.ya.clearRect(0,0,this.jf,this.ph);var d=[this.Tu[0]*this.Wa+(1-this.Wa)*this.uc[0],this.Tu[1]*this.Wa+(1-this.Wa)*this.uc[1],this.Tu[2]*this.Wa+(1-this.Wa)*this.uc[2]],h=this.eMa*this.Wa+(1-this.Wa)*this.sb;this.ya.strokeStyle=this.pk(d,h);this.ya.fillStyle=this.pk(d,h*this.Wa);this.ya.beginPath();this.ya.lineWidth=this.jf*this.FKa;this.ya.arc(.5*this.jf,.5*this.jf,this.jf*this.EKa,0,2*Math.PI,
!1);this.ya.stroke();this.ya.beginPath();this.ya.arc(.5*this.jf,.5*this.jf,this.jf*this.iIa,0,2*Math.PI,!1);this.ya.fill();return!0};return a});define("gX",["require","lt"],function(a){return a("lt")});
define("hl","require kh og gX u fp".split(" "),function(a){function d(e,m,q,p){this.C=e;this.Y=m;this.pa=q;this.j=p;this.N=this.j.N;this.kj=this.kj.bind(this);this.wu=this.wu.bind(this);this.ei=this.ei.bind(this);this.ie=this.ie.bind(this);this.K5=this.pa.getComponent(b.yg).$H;this.K5.bind(l.aa,this.xu,this,!1);this.L5=this.Mka=!1;this.Wr=new k(this.N);this.Wr.setPosition(0);this.Wr.update();this.o=null;h.ma(this.C,["enabled"],this.kj,!0)}var h=a("kh"),l=a("og"),k=a("gX");a("u");var b=a("fp");d.prototype.kj=
function(){this.C.get("enabled")?this.Wt():this.Rk()};d.prototype.Wt=function(){if(!this.o){this.o=this.pa.U.ud("Reticle");var e=this.o.I(b.Db);e.Mb=this.pa;e.id=this.C.get("parentId");this.o.I(b.Plane).renderOrder=2;this.o.I(b.Sh).source=this.Wr.gg();this.o.I(b.zz);e=this.o.I(b.ZP);e.nXa=this.C;e.object=this.C;h.ma(this.Y,c,this.wu,!0);h.ma(this.C,g,this.ei,!0);h.ma(this.C,f,this.ie,!0)}};d.prototype.Rk=function(){this.o&&(this.pa.U.Cf(this.o),this.o=null,h.ka(this.Y,c,this.wu),h.ka(this.C,g,this.ei),
h.ka(this.C,f,this.ie))};d.prototype.wu=function(){var e=this.o.L(b.Mk,!0);e.Qf=e.hg=2;e.scale=this.Y.get("surfaceReticleRadius");e.mD=this.Y.get("surfaceReticleMaxRadius");e.oD=this.Y.get("surfaceReticleMinRadius");this.ora()};d.prototype.ei=function(){var e=this.o.L(b.Ts,!0);e.x=this.C.get("x");e.y=this.C.get("y");e.z=this.C.get("z");e.distance=this.C.get("distance");e.NO=this.C.get("horizontal")};d.prototype.ie=function(){var e=this.o.L(b.Hd,!0);e.cn=this.C.get("useHandCursor");e.tI=this.C.get("transparentAreaActive");
e.La=this.C;e=this.o.L(b.Sh);e.opacity=this.C.get("opacity");e.hidden=this.C.get("hidden");e.depthTest=this.C.get("depthTest")};d.prototype.xu=function(){this.Mka=!0;this.ora()};d.prototype.ora=function(){var e=this.Mka&&.5<this.Y.get("opacity");this.L5!=e&&(this.L5=e)&&this.o&&this.o.L(b.Ts)};d.prototype.dispose=function(){this.Rk();h.ka(this.C,["enabled"],this.kj);this.K5.unbind(l.aa,this.xu,this,!1);this.K5=null};var g=["distance","horizontal","x","y","z"],f=["depthTest","hidden","opacity","transparentAreaActive",
"useHandCursor"],c=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return d});
define("gq",["require","exports","kh","og"],function(a,d,h,l){return function(){function k(b,g){this.renderer=b;this.model=g;this.He=this.renderer.N;this.BY=this.BY.bind(this);this.YO=[];this.pz="";this.As=null;this.Nb()}k.prototype.dispose=function(){this.ab()};k.prototype.Nb=function(){h.ma(this.model,"objects",this.BY,!0);this.model.bind(l.$c,this.dwa,this,!0);this.model.bind(l.ac,this.cwa,this,!0)};k.prototype.ab=function(){this.model.unbind(l.$c,this.dwa,this);this.model.unbind(l.ac,this.cwa,
this);h.ka(this.model,"objects",this.BY);this.Fxa([]);this.As&&this.DY(this.As)};k.prototype.BY=function(){this.Fxa(this.model.get("objects"))};k.prototype.Fxa=function(b){this.YO!=b&&(this.YO.forEach(function(g){g.unbind(l.$c,this.hwa,this);g.unbind(l.ac,this.gwa,this)}.bind(this)),this.As&&0<=this.YO.indexOf(this.As)&&0>b.indexOf(this.As)&&this.DY(this.As),this.YO=b,this.YO.forEach(function(g){g.bind(l.$c,this.hwa,this,!0);g.bind(l.ac,this.gwa,this,!0)}.bind(this)))};k.prototype.hwa=function(b){b=
b.source;this.iwa(b,b.get("toolTip"))};k.prototype.gwa=function(b){this.DY(b.source)};k.prototype.dwa=function(){this.iwa(this.model,this.model.get("toolTip"))};k.prototype.cwa=function(){this.DY(this.model)};k.prototype.DY=function(b){this.As==b&&(this.As=null,this.Kxa(""))};k.prototype.iwa=function(b,g){this.As!=b&&(this.As=b,this.Kxa(g||""))};k.prototype.Kxa=function(b){this.pz!=b&&(this.pz=b,this.He.set("toolTip",this.pz))};return k}()});
define("ih","require kh og fV gX u fp".split(" "),function(a){function d(e,m,q){this.Y=e;this.pa=m;this.j=q;this.N=this.j.N;this.wu=this.wu.bind(this);this.Vc=void 0;this.Y.bind(l.G("surfaceSelectionEnabled"),this.f3,this,!0);this.f3()}var h=a("kh"),l=a("og"),k=a("fV"),b=a("gX"),g=a("u"),f=a("fp");d.prototype.f3=function(){var e=this.Y.get("surfaceSelectionEnabled")&&!g.kb();!!this.o!=e&&(e?this.Wt():this.Rk())};d.prototype.Wt=function(){if(!this.o){this.o=this.pa.U.ud("PointerReticle");this.o.I(f.Plane).renderOrder=
2;this.o.I(f.Kj).Mb=this.pa;this.o.I(f.bt);this.o.I(f.Db).Mb=this.pa;var e=this.o.I(f.Fq);e.La=new k;e.La.bind(l.sa,this.mL,this,!0);h.ma(this.Y,c,this.wu,!0);this.Wr=new b(this.N);this.Wr.setPosition(0);this.Wr.update();e=this.o.I(f.Sh);e.source=this.Wr.gg();e.depthTest=!1;e=this.pa.L(f.Hd);e.La.bind(l.oa,this.zr,this,!0);e.La.bind(l.ec,this.Xe,this,!0);e.La.bind(l.ac,this.Am,this,!0);this.de=null;this.qC(!1)}};d.prototype.Rk=function(){if(this.o){this.de&&(this.de.trigger(l.ac),this.de=null);var e=
this.pa.L(f.Hd);e.La.unbind(l.oa,this.zr,this,!0);e.La.unbind(l.ec,this.Xe,this,!0);e.La.unbind(l.ac,this.Am,this,!0);this.o.getComponent(f.Fq).La.unbind(l.sa,this.mL,this,!0);this.pa.U.Cf(this.o);this.Wr=this.o=null;h.ka(this.Y,c,this.wu)}};d.prototype.wu=function(){var e=this.o.L(f.Mk,!0);e.Qf=e.hg=2;e.scale=this.Y.get("surfaceReticleRadius");e.mD=this.Y.get("surfaceReticleMaxRadius");e.oD=this.Y.get("surfaceReticleMinRadius")};d.prototype.mL=function(e){e=this.$Ga(e);var m=this.kGa(e);0==m&&(e=
null);this.mMa(e);this.CMa(m)};d.prototype.zr=function(){this.de&&this.de.trigger(l.oa)};d.prototype.Xe=function(){this.qC(!0)};d.prototype.Am=function(){this.qC(!1)};d.prototype.qC=function(e){this.Vc!==e&&(this.Vc=e,this.o.L(f.Sh).opacity=this.Vc?1:0)};d.prototype.mMa=function(e){e=this.Nia(e);this.de!=e&&(this.de&&this.de.trigger(l.ac),(this.de=e)&&this.de.trigger(l.$c))};d.prototype.$Ga=function(e){e=e.data.beacons;if(!e)return null;for(var m=0;m<e.length;m++)if(this.Nia(e[m]))return e[m];return null};
d.prototype.kGa=function(e){if(!e)return 0;var m=this.o.getComponent(f.Ba);return m?Math.max(0,1-e.distance/(this.Y.get("surfaceSelectionCoef")*m.scale*m.Qf)):0};d.prototype.Nia=function(e){return(e=(e=e&&e.entity)&&e.getComponent(f.ZP))&&e.nXa||null};d.prototype.CMa=function(e){this.Wr.setPosition(e);this.Wr.update()&&(this.o.L(f.Sh).HP=(new Date).getTime())};d.prototype.dispose=function(){this.Rk();this.Y.unbind(l.G("surfaceSelectionEnabled"),this.f3,this,!0)};var c=["surfaceReticleRadius","surfaceReticleMaxRadius",
"surfaceReticleMinRadius"];return d});
define("cB",["require","kh","fp"],function(a){function d(f,c,e,m){this.C=f;this.Y=c;this.pa=e;this.j=m;this.yu=this.yu.bind(this);this.lU=this.lU.bind(this);this.XT=this.XT.bind(this);this.o=this.pa.U.ud("InnerObject");h.ma(this.C,k,this.yu,!0);h.ma(this.C,b,this.lU,!0);h.ma(this.C,g,this.XT,!0)}var h=a("kh"),l=a("fp");d.prototype.lU=function(){var f=this.o.L(l.Hd,!0);f.cn=this.C.get("useHandCursor");f.tI=this.C.get("transparentAreaActive");f.La=this.C;f.pv=this.C.get("clickEnabled");f.Jv=this.C.get("rollOverEnabled")};
d.prototype.XT=function(){var f=this.o.L(l.Kq,!0);f.opacity=this.C.get("enabled")&&!this.C.get("hidden")?this.C.get("opacity"):0;f.La=this.C};d.prototype.yu=function(){var f=this.o.L(l.dE,!0);f.id=this.C.get("objectId");f.container=this.pa};d.prototype.dispose=function(){this.pa.U.Cf(this.o);this.o=null;h.ka(this.C,k,this.yu);h.ka(this.C,b,this.lU);h.ka(this.C,g,this.XT)};var k=["objectId"],b=["clickEnabled","rollOverEnabled","transparentAreaActive","useHandCursor"],g=["hidden","enabled","opacity"];
return d});
define("kI",["require","kh","og","fV","fp"],function(a){function d(f,c,e){this.Y=f;this.pa=c;this.zi=e;this.T=!1;this.Rx=this.Rx.bind(this);h.ma(this.Y,g,this.Rx,!0)}var h=a("kh"),l=a("og"),k=a("fV"),b=a("fp");d.prototype.Rx=function(){var f=!!this.Y.get("maxNearestObjectsVisible");this.T!=f&&(this.T&&this.Rk(),(this.T=f)&&this.Wt())};d.prototype.Wt=function(){var f=this.zi.I(b.Fq);f.La=new k;f.La.bind(l.sa,this.mL,this,!0);this.pa.U.gb()};d.prototype.Rk=function(){this.zi.getComponent(b.Fq).La.unbind(l.sa,this.mL,
this,!0);this.zi.na(b.Fq);this.Y.get("objects").forEach(function(f){f.get("hideBasedOnDistance")&&f.pca(!1)})};d.prototype.mL=function(f){var c=0,e=this.Y.get("maxNearestObjectsVisible");f.data.beacons.forEach(function(m){if(m=this.jGa(m))m.get("hideBasedOnDistance")?(m.pca(c>=e),c++):m.pca(!1)}.bind(this))};d.prototype.jGa=function(f){f=(f=f.entity.getComponent(b.ZP))&&f.object;f.get&&void 0!==f.get("hideBasedOnDistance")||(f=null);return f};d.prototype.dispose=function(){h.ka(this.Y,g,this.Rx);
this.T&&(this.T=!1,this.Rk())};var g=["maxNearestObjectsVisible"];return d});
define("iF",["require","og","nc"],function(a){function d(k,b){this.cL=k.cL;this.Y=b;this.$f=[];this.cL.bind(h.G("spritesEnabled"),this.fna,this,!0);this.Y.bind(h.G("objects"),this.PB,this,!0);this.ca()}var h=a("og"),l=a("nc");d.prototype.dispose=function(){this.cL.unbind(h.G("spritesEnabled"),this.fna,this,!0);this.Y.unbind(h.G("objects"),this.PB,this,!0);this.$f.forEach(function(k){k.oca(!1)});this.$f=null};d.prototype.fna=function(){this.ca()};d.prototype.PB=function(){this.ca()};d.prototype.ca=
function(){var k=[];!1===this.cL.get("spritesEnabled")&&k.push("SpriteModel3DObject");var b=this.Y.get("objects");this.$f.forEach(function(g){-1==b.indexOf(g)&&g.oca(!1)});this.$f=b;this.$f.forEach(function(g){var f=k.some(function(c){return l.Ea(c,g)});g.oca(f)})};return d});
define("bq",["require","kh"],function(a){function d(b){this.Y=b;this.$f=this.ta=null;this.Rx=this.Rx.bind(this);this.Ox=this.Ox.bind(this);h.ma(this.Y,l,this.Rx,!0)}var h=a("kh");d.prototype.dispose=function(){this.LM([])};d.prototype.Rx=function(){this.q8(this.Y.get("camera"));this.LM([].concat(this.Y.get("objects"),this.Y.get("postprocessing")))};d.prototype.q8=function(b){this.ta!=b&&(this.ta&&h.ka(this.ta,k,this.Ox),(this.ta=b)&&h.ma(this.ta,k,this.Ox,!0))};d.prototype.Ox=function(){this.qra()};
d.prototype.LM=function(b){this.$f!=b&&(b||=[],this.$f&&this.$f.forEach(function(g){-1==b.indexOf(g)&&(g.DP&&g.DP(!1),g.Ov&&g.Ov(!1))}.bind(this)),this.$f=b,this.qra())};d.prototype.qra=function(){if(this.$f&&this.ta){var b=this.ta.get("userInteracting"),g=this.ta.get("moving");this.$f.forEach(function(f){f.DP&&f.DP(b);f.Ov&&f.Ov(g)}.bind(this))}};var l=["camera","objects","postprocessing"],k=["userInteracting","moving"];return d});
define("cA","require exports kh og bl fV u kV iZ".split(" "),function(a,d,h,l,k,b,g,f,c){return function(e){function m(q,p,n,r,t){var u=e.call(this)||this;u.vba=[];u.hsa=0;u.gsa=0;u.renderer=q;u.Js=p;u.model=n;u.dz=r;u.je=t;u.kq=u.kq.bind(u);u.kX=u.kX.bind(u);u.paa=f.so(u.paa,u);u.sY=u.sY.bind(u);u.kY=u.kY.bind(u);u.jY=u.jY.bind(u);u.He=u.renderer.N;u.eg=u.renderer.getParent();u.enabled=!0;u.type=m.GI;u.Nb();return u}aa(m,e);m.prototype.getType=function(){return this.type};m.prototype.kc=function(q){this.enabled=
q};m.prototype.dispose=function(){this.ab()};m.prototype.Nb=function(){this.eg.bind(l.ec,this.kq,this,!0);this.eg.bind(l.oa,this.fsa,this,!0);h.NC(this.model,["camera.lockMouse"],this.kX,!0);h.NC(this.model,["objects"],this.sY,!0);this.Gk=new c(this.eg.yc());this.Gk.bind(l.sa,this.Ova,this,!0);document.addEventListener("keyup",this.kY);document.addEventListener("keydown",this.jY);this.Es(m.GI)};m.prototype.ab=function(){this.eg.unbind(l.ec,this.kq,this);this.eg.unbind(l.oa,this.fsa,this);h.ka(this.model,
["camera.lockMouse"],this.kX);h.ka(this.model,["objects"],this.sY);this.Cxa([]);this.Gk.unbind(l.sa,this.Ova,this);this.Gk.oo()&&this.Gk.unlock();this.He.HK.kc(!1);this.Gk.dispose();document.removeEventListener("keyup",this.kY);document.removeEventListener("keydown",this.jY)};m.prototype.kX=function(){this.TO=!g.kb()&&this.model.get("camera").get("lockMouse");!this.TO&&this.Gk.oo()&&this.Gk.unlock();this.He.HK.kc(g.kb()||!this.TO)};m.prototype.kq=function(){this.Gk.oo()||this.Es(m.GI)};m.prototype.jY=
function(q){-1!=m.Uza.indexOf(q.code)&&(this.type==m.GI&&this.Es(m.B_),this.TO&&!this.Gk.oo()&&this.Gk.lock())};m.prototype.kY=function(q){q.code==k.qa.Dea&&this.eg.trigger(l.oa)};m.prototype.fsa=function(){this.gsa=(new Date).getTime();this.TO&&!this.Gk.oo()?this.Gk.lock():this.paa()};m.prototype.yRa=function(){this.TO&&this.Gk.oo()&&this.Gk.unlock()};m.prototype.Ova=function(){this.Gk.oo()?this.Es(m.B_):this.Es(m.GI)};m.prototype.sY=function(){this.Cxa(this.model.get("objects",[]))};m.prototype.Cxa=
function(q){var p=this;this.vba.forEach(function(n){n.unbind(l.oa,p.Xva,p)});this.vba=q;this.vba.forEach(function(n){n.bind(l.oa,p.Xva,p,!0)})};m.prototype.Xva=function(q){q.source.get("useHandCursor")&&(this.hsa=(new Date).getTime())};m.prototype.paa=function(){100<Math.abs(this.gsa-this.hsa)&&this.yRa()};m.prototype.Es=function(q){this.type!==q&&(this.type=q,this.trigger(l.sa))};m.GI="mouse";m.B_="gaze";m.Uza=[k.qa.Mj,k.qa.ri,k.qa.Ma,k.qa.eb,k.qa.gn,k.qa.Ns,k.qa.mt,k.qa.it,k.qa.E,k.qa.Q];return m}(b)});
define("lr",["require","exports"],function(){return function(){function a(d){this.uc=this.mr(d.get("vrPointerColor"));this.Tu=this.mr(d.get("vrPointerSelectionColor"));this.ev=this.pk([0,0,0],0);this.QV=this.pk([0,0,0],.125);this.eFa=this.pk(this.uc,1);this.fFa=this.pk(this.Tu,1);this.qDa=this.pk(this.Tu,1);this.pDa=this.pk(this.uc,.5);this.nDa=this.pk(this.uc,1);this.oDa=this.pk(this.Tu,1);this.ph=this.jf=64;this.L0=4E3;this.Wha=.1;this.Pk=.16;this.Xn=.04;this.Uga=this.kR=.68-this.Xn;this.jR=1-this.Xn;
this.O=document.createElement("canvas");this.O.width=this.jf;this.O.height=this.ph;this.ya=this.O.getContext("2d");this.Vc=this.Dt=!1;this.DF=this.tU=void 0;this.mA=0}a.prototype.mr=function(d){return(d=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(d))?[parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16)]:[0,0,0]};a.prototype.pk=function(d,h){return"rgba("+d.join(",")+", "+h+")"};a.prototype.wca=function(d,h){this.Vc=d;this.tU=h};a.prototype.UY=function(d){this.Dt=d};a.prototype.nd=function(){return this.jf};
a.prototype.$d=function(){return this.ph};a.prototype.gg=function(){return this.O};a.prototype.update=function(d){return this.Dt?this.iFa(d):this.Vc?this.nFa():this.mFa()};a.prototype.dispose=function(){this.ya=null;this.O.width=this.O.height=1};a.prototype.FE=function(){var d;null===(d=this.ya)||void 0===d?void 0:d.clearRect(0,0,this.jf,this.ph)};a.prototype.mFa=function(){if(this.DF==a.Mda)return!1;this.FE();this.bia(this.eFa);this.DF=a.Mda;return!0};a.prototype.nFa=function(){if(void 0===this.tU){if(this.DF==
a.V)return!1;this.FE();this.bia(this.fFa)}else this.IKa(this.tU);this.DF=a.V;return!0};a.prototype.iFa=function(d){for(this.mA+=d;this.mA>this.L0;)this.mA-=this.L0;this.kDa(this.mA/this.L0);this.DF=a.XP;return!0};a.prototype.bia=function(d){this.aj(this.Wha+this.Xn,0,this.ev,this.QV,0,2*Math.PI);this.aj(this.Wha,0,this.ev,d,0,2*Math.PI)};a.prototype.oFa=function(d){this.aj(this.kR-.5*(this.Pk+this.Xn),this.Pk+this.Xn,this.QV,this.ev,0,2*Math.PI);this.aj(this.kR-.5*this.Pk,this.Pk,this.pDa,this.ev,
0,2*Math.PI);this.aj(this.kR-.5*this.Pk,this.Pk,this.qDa,this.ev,.5*Math.PI,(.5+2*d)*Math.PI)};a.prototype.jFa=function(d,h){this.aj(this.Uga-.5*(this.Pk+this.Xn),this.Pk+this.Xn,this.QV,this.ev,0,2*Math.PI);this.aj(this.Uga-.5*this.Pk,this.Pk,this.nDa,this.ev,0,2*Math.PI);d=(.5+2*d)*Math.PI;for(h=(.5+2*h)*Math.PI;h<d;)h+=2*Math.PI;var l=d-this.Xn/(2*this.jR*Math.PI),k=h+this.Xn/(2*this.jR*Math.PI);Math.abs(k-l+2*Math.PI)<2*this.Xn&&(l=0,k=h);this.aj(this.jR-.5*(this.Pk+this.Xn),this.Pk+this.Xn,this.QV,
this.ev,l,k);this.aj(this.jR-.5*this.Pk,this.Pk,this.oDa,this.ev,d,h)};a.prototype.aj=function(d,h,l,k,b,g){var f=Math.round(.5*this.jf),c=Math.round(.5*this.ph),e=Math.min(f,c);d=Math.round(d*e);var m=this.ya;m&&(m.imageSmoothingEnabled=!0,m.lineWidth=h*e,m.strokeStyle=l,m.fillStyle=k,m.beginPath(),m.arc(f,c,d,b,g,!1),m.stroke(),m.fill())};a.prototype.kDa=function(d){this.FE();if(.25>d){var h=d/.25;d=.5*h}else.5>d?(h=(d-.25)/.25,d=.5+h,h=1+.5*h):.75>d?(h=(d-.5)/.25,d=.5+.5*h,h=.5+h):(d=h=(d-.75)/
.25,h=.5+.5*h);this.jFa(d,h)};a.prototype.IKa=function(d){this.FE();this.oFa(d)};a.Mda="initial";a.XP="changing";a.V="over";return a}()});
define("eL","require exports three.mod kh og lr jp fp bb bf".split(" "),function(a,d,h,l,k,b,g,f,c,e){var m=new h.Vector3(0,0,0),q=new h.Vector3(0,0,-1);a=function(){function n(r,t,u,v,w){this.renderer=r;this.Js=t;this.model=u;this.dz=v;this.je=w;this.OP=this.OP.bind(this);this.Hv=this.Hv.bind(this);this.ov=this.ov.bind(this);this.He=this.renderer.N;this.eg=this.renderer.getParent();this.Nb()}n.prototype.kc=function(r){var t=this.je.L(f.zg);t&&(t.enabled=r)};n.prototype.dispose=function(){this.ab()};
n.prototype.Nb=function(){this.iI=new b(this.He);this.eSa=new p(this.eg,this.iI);this.yv=new g;this.yv.vVa(this.eSa);var r=this.je.I(f.zg);r.origin=m;r.direction=q;r.waa=this.eg;r.oaa=this.yv;this.He.set("toolTipCentered",!0);this.LWa();this.PWa();this.yv.push(c.aA);e.requestFrame(this.OP)};n.prototype.ab=function(){this.yv.pop(c.aA);this.rXa();this.sXa();this.He.set("toolTipCentered",!1);this.He.set("toolTipCenteredOffsetY",void 0);this.je.na(f.zg);this.yv.dispose();e.oRa(this.OP)};n.prototype.PWa=
function(){this.uo=this.dz.U.ud("GazeReticle");this.uo.I(f.Db).Mb=this.je;this.uo.I(f.Plane).renderOrder=2;var r=this.uo.I(f.Sh);r.source=this.iI.gg();r.depthTest=!1;this.uo.I(f.Ba).Sf=-1;this.renderer.bind(k.fc,this.Hv,this,!0);this.Hv()};n.prototype.sXa=function(){this.uo&&(this.uo.U.Cf(this.uo),this.uo=null)};n.prototype.IXa=function(){if(this.uo){var r=this.uo.L(f.Mk,!0);r.Qf=r.hg=2;var t=Math.min(this.He.Va(),this.He.zb())/100;r.oD=r.mD=Math.round(5*t);this.He.set("toolTipCenteredOffsetY",2*
t)}};n.prototype.OP=function(r){this.uo&&this.iI.update(r)&&(this.uo.L(f.Sh).HP=(new Date).getTime());e.requestFrame(this.OP)};n.prototype.Hv=function(){this.IXa()};n.prototype.LWa=function(){l.NC(this.model,"camera",this.ov,!0)};n.prototype.rXa=function(){l.ka(this.model,"camera",this.ov);this.oxa(!0)};n.prototype.ov=function(){this.oxa(!1)};n.prototype.oxa=function(r){var t=this.je.L(f.Rz);t&&(t.AH=r);(t=this.je.L(f.Sz))&&(t.AH=r);(t=this.je.L(f.Xz))&&(t.AH=r)};return n}();var p=function(){function n(r,
t){this.eg=r;this.iI=t}n.prototype.hca=function(r,t){-1<t.indexOf(c.Se)?this.iI.wca(!0):this.iI.wca(!1)};return n}();return a});
define("nO","require exports three.mod kh og jp ky fp".split(" "),function(a,d,h,l,k,b,g,f){var c=new h.Vector3(0,0,0),e=Math.PI/180,m=new h.Vector3;return function(){function q(p,n,r,t,u){this.renderer=p;this.Js=n;this.model=r;this.dz=t;this.je=u;this.zX=this.zX.bind(this);this.Hv=this.Hv.bind(this);this.kq=this.kq.bind(this);this.He=this.renderer.N;this.eg=this.renderer.getParent();this.enabled=!0;this.Nb()}q.prototype.kc=function(p){this.enabled=p;var n=this.je.L(f.zg);n&&(n.enabled=p)};q.prototype.dispose=
function(){this.ab()};q.prototype.Nb=function(){var p=this.je.I(f.zg);p.origin=c;p.direction=new h.Vector3;p.waa=this.eg;this.yv=new b;this.yv.wq(this.eg);p.oaa=this.yv;p.enabled=this.enabled;l.ma(this.model,["camera.fov"],this.zX,!0);this.renderer.bind(k.fc,this.Hv,this,!0);this.eg.gRa(k.ub,this.kq,this);this.eg.bind(k.ec,this.kq,this,!0);this.model.set("picker",this)};q.prototype.ab=function(){l.ka(this.model,["camera.fov"],this.zX);this.renderer.unbind(k.fc,this.Hv,this);this.eg.unbind(k.ub,this.kq,
this);this.eg.unbind(k.ec,this.kq,this);this.je.na(f.zg);this.yv.dispose();this.model.set("picker",void 0)};q.prototype.Hv=function(){this.eda()};q.prototype.zX=function(){this.eda()};q.prototype.kq=function(p){this.fUa=p.x;this.gUa=p.y;this.eda()};q.prototype.eda=function(){var p=this.je.L(f.zg);this.Sta(this.fUa,this.gUa,p.direction)};q.prototype.Sta=function(p,n,r){var t;r=r||new h.Vector3;var u=(null===(t=this.model.get("camera"))||void 0===t?void 0:t.get("fov"))||90;t=this.He.Va();var v=this.He.zb();
r.set(p-t/2,v/2-n,-t/(2*Math.tan((t>v?u:g.Bq(u,t,v))*e/2))).normalize();return r};q.prototype.HY=function(p,n){var r=this.je.getComponent(f.zg);if(r&&r.twa)return r.twa.HY([this.dz],c,this.Sta(p,n,m))};return q}()});
define("lZ","require exports kh og cA eL nO".split(" "),function(a,d,h,l,k,b,g){return function(){function f(c,e,m,q,p){this.renderer=c;this.Js=e;this.model=m;this.dz=q;this.je=p;this.enabled=!0;this.ov=this.ov.bind(this);this.Nb()}f.prototype.kc=function(c){var e;this.enabled=c;null===(e=this.zH)||void 0===e?void 0:e.kc(this.enabled)};f.prototype.dispose=function(){this.ab()};f.prototype.Nb=function(){h.ma(this.model,"camera",this.ov,!0)};f.prototype.ab=function(){h.ka(this.model,"camera",this.ov);
this.Es("none");this.lya()};f.prototype.ov=function(){"FirstPersonModel3DCamera"==this.model.get("camera").get("class")?this.NWa():(this.lya(),this.Es("mouse"))};f.prototype.NWa=function(){this.FH||(this.FH=new k(this.renderer,this.Js,this.model,this.dz,this.je),this.FH.bind(l.sa,this.awa,this,!0),this.awa())};f.prototype.lya=function(){var c;this.FH&&(null===(c=this.FH)||void 0===c?void 0:c.dispose(),this.FH=void 0)};f.prototype.awa=function(){var c;switch(null===(c=this.FH)||void 0===c?void 0:c.getType()){case k.B_:this.Es("gaze");
break;default:this.Es("mouse")}};f.prototype.Es=function(c){var e;if(this.type!==c){this.zH&&this.zH.dispose();this.type=c;switch(this.type){case "mouse":this.zH=new g(this.renderer,this.Js,this.model,this.dz,this.je);break;case "gaze":this.zH=new b(this.renderer,this.Js,this.model,this.dz,this.je);break;default:this.zH=void 0}null===(e=this.zH)||void 0===e?void 0:e.kc(this.enabled)}};return f}()});
define("kg",["require","kh","fp"],function(a){function d(b,g){this.pc=b;this.Wc=g;this.T=!1;this.Le=this.Le.bind(this);h.ma(this.pc,k,this.Le,!0)}var h=a("kh"),l=a("fp");d.prototype.Le=function(){var b=this.pc.get("enabled")&&!this.pc.get("disabled");this.T!=b&&(this.T&&this.Wc.na(l.MD),(this.T=b)&&this.Wc.I(l.MD));this.T&&(b=this.Wc.L(l.MD),b.eta=this.pc.get("easingDuration"),b.bias=this.pc.get("bias"),b.intensity=this.pc.get("intensity"),b.scale=this.pc.get("scale"),b.eva=this.pc.get("kernelRadius"),
b.Hva=this.pc.get("minResolution"),b.caa=this.pc.get("blurRadius"),b.output="ao"==this.pc.get("output")?THREE.SAOPass.OUTPUT.SAO:THREE.SAOPass.OUTPUT.Default)};d.prototype.dispose=function(){this.Wc.na(l.MD);this.Wc=null;h.ka(this.pc,k,this.Le)};var k="disabled enabled bias easingDuration intensity scale kernelRadius minResolution blurRadius output".split(" ");return d});
define("C",["require","kh","fp"],function(a){function d(b,g){this.pc=b;this.Wc=g;this.T=!1;this.Le=this.Le.bind(this);h.ma(this.pc,k,this.Le,!0)}var h=a("kh"),l=a("fp");d.prototype.Le=function(){var b=this.pc.get("enabled")&&!this.pc.get("disabled");this.T!=b&&(this.T&&this.Wc.na(l.vz),(this.T=b)&&this.Wc.I(l.vz));this.T&&(b=this.Wc.L(l.vz),b.xta="fxaa"==this.pc.get("mode"),b.dya="ssaa"==this.pc.get("mode"),b.IP=this.pc.get("ssaaSampleLevel"))};d.prototype.dispose=function(){this.Wc.na(l.vz);this.Wc=
null;h.ka(this.pc,k,this.Le)};var k=["disabled","enabled","mode","ssaaSampleLevel"];return d});
define("kp",["require","kh","fp"],function(a){function d(b,g){this.pc=b;this.Wc=g;this.T=!1;this.Le=this.Le.bind(this);h.ma(this.pc,k,this.Le,!0)}var h=a("kh"),l=a("fp");d.prototype.Le=function(){var b=this.pc.get("enabled")&&!this.pc.get("disabled");this.T!=b&&(this.T&&this.Wc.na(l.HI),(this.T=b)&&this.Wc.I(l.HI));this.T&&(b=this.Wc.L(l.HI),b.Vwa=this.pc.get("samples"),b.intensity=this.pc.get("intensity"))};d.prototype.dispose=function(){this.Wc.na(l.HI);this.Wc=null;h.ka(this.pc,k,this.Le)};var k=
["disabled","enabled","samples","intensity"];return d});
define("gv",["require","kh","fp"],function(a){function d(b,g){this.pc=b;this.Wc=g;this.Le=this.Le.bind(this);h.ma(this.pc,k,this.Le,!0)}var h=a("kh"),l=a("fp");d.prototype.Le=function(){var b=this.pc.get("enabled")&&!this.pc.get("disabled");this.T!=b&&(this.T&&this.Wc.na(l.iE),(this.T=b)&&this.Wc.I(l.iE));this.T&&(b=this.Wc.L(l.iE),b.Mua=this.pc.get("innerRadius"),b.qwa=this.pc.get("outerRadius"),b.color=this.pc.get("color"),b.opacity=this.pc.get("opacity"))};d.prototype.dispose=function(){this.Wc.na(l.iE);
this.Wc=null;h.ka(this.pc,k,this.Le)};var k="enabled disabled opacity color innerRadius outerRadius".split(" ");return d});
define("fr","require kV kh og fV fp".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("fV"),b=a("fp");a=d.extend(k,function(f,c){k.call(this);this.qd=f;this.pa=c;this.ie=this.ie.bind(this);this.o=null;this.xk=0;this.qb=!1;this.hM=[];this.qd.bind(l.G("areaOpacity"),this.wma,this);this.XG()});a.prototype.$Y=function(f){this.hM.forEach(function(c){c.unbind(l.hd,this.Sd,this,!0);c.unbind(l.od,this.Sd,this,!0)}.bind(this));this.hM=f;this.hM.forEach(function(c){c.bind(l.hd,this.Sd,this,!0);
c.bind(l.od,this.Sd,this,!0)}.bind(this));this.Uqa();this.Sd()};a.prototype.dispose=function(){this.qd.unbind(l.G("areaOpacity"),this.wma,this);this.dv()};a.prototype.isVisible=function(){return this.qb};a.prototype.wma=function(){this.XG();this.io()};a.prototype.XG=function(){0<this.qd.get("areaOpacity")?this.Ay():this.dv()};a.prototype.Ay=function(){if(!this.o){this.o=this.pa.U.ud("MeasureArea");var f=new k;f.bind(l.sa,this.Nx,this,!0);this.o.I(b.Sl).La=f;this.o.I(b.Kc);this.o.I(b.Db).Mb=this.pa;
h.ma(this.qd,g,this.ie,!0);this.Uqa()}};a.prototype.dv=function(){this.o&&(this.o.getComponent(b.Sl).La.unbind(l.sa,this.Nx,this,!0),h.ka(this.qd,g,this.ie),this.o.U.Cf(this.o),this.o=null)};a.prototype.Km=function(f){this.qb!=f&&((this.qb=f)?(this.Wn(1),this.trigger(l.hd)):(this.Wn(0),this.trigger(l.od)))};a.prototype.Sd=function(){this.Km(this.hM.every(function(f){return f.isVisible()}))};a.prototype.Nx=function(f){this.qd.set("area",f.data.area)};a.prototype.ie=function(){if(this.o){var f=this.o.L(b.Kc);
f.color=this.qd.get("areaColor");f.depthTest=this.qd.get("depthTest");f.doubleSided=!0;this.io()}};a.prototype.Wn=function(f){this.xk!=f&&(this.xk=f,this.io())};a.prototype.io=function(){this.o&&(this.o.L(b.Kc).opacity=this.qd.get("areaOpacity")*Math.max(1E-4,this.xk))};a.prototype.Uqa=function(){this.o&&(this.o.L(b.Sl).D=this.hM.map(function(f){return f.o}))};var g=["areaColor","areaOpacity","depthTest"];return a});
define("bO",["require","hd"],function(a){function d(b,g,f){k.style.fontFamily=l.qv(g.fontFamily);k.style.fontSize=g.fontSize;k.style.fontWeight=g.fontWeight;k.style.fontStyle=g.fontStyle;k.innerHTML=b;document.body.appendChild(k);var c=new h(Math.ceil(k.clientWidth),Math.ceil(k.clientHeight));document.body.removeChild(k);f&&(f.font=g.fontSize+" "+l.qv(g.fontFamily),b=f.measureText(b).width,c.height*=b/c.width,c.width=b);return c}function h(b,g){this.width=b;this.height=g}var l=a("hd"),k=document.createElement("div");
k.style.display="inline-block";k.style.margin=0;k.style.padding=0;k.style.whiteSpace="nowrap";d.c0=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};return d});
define("fe",["require","bO","hd"],function(a){function d(){this.t3=this.mr("#ffffff");this.Dw=this.mr("#000000");this.ph=this.jf=0;this.O=document.createElement("canvas");this.ya=this.O.getContext("2d");this.ya.imageSmoothingQuality="high";this.Vr=new l.c0;this.u3=this.eF=void 0;this.H0=this.I0=.5;this.fq=void 0;this.SG=d.H_;this.hv=void 0;this.oI(0)}function h(b){return 100<b?b.toFixed(0):10<b?b.toFixed(1):b.toFixed(2)}var l=a("bO"),k=a("hd");d.Kda="imperial area";d.Lda="imperial length";d.Sda="metric area";
d.H_="metric length";d.prototype.dispose=function(){this.O.width=this.O.height=0;this.O=null};d.prototype.DVa=function(b){this.t3!=b&&(this.t3=b,this.va=!0)};d.prototype.kVa=function(b){this.Dw!=b&&(this.Dw=b,this.va=!0)};d.prototype.EVa=function(b){this.u3!=b&&(this.u3=b,this.va=!0)};d.prototype.FVa=function(b){this.eF!=b&&(this.eF=b,this.va=!0)};d.prototype.Xba=function(){.5!=this.Vr.oH&&(this.H0=.5,this.va=!0)};d.prototype.Yba=function(b){this.Vr.pH!=b&&(this.I0=b,this.va=!0)};d.prototype.oI=function(b){this.fq!=
b&&(this.fq=b,this.V9())};d.prototype.JWa=function(b){this.SG!=b&&(this.SG=b,this.V9())};d.prototype.KWa=function(b){this.hv!=b&&(this.hv=b,this.V9())};d.prototype.V9=function(){if(void 0===this.hv)this.Sa=h(this.fq);else if(this.SG==d.H_){var b=this.fq*this.hv;this.Sa=1<=b?h(b)+"m":h(100*b)+"cm"}else this.SG==d.Sda?(b=this.fq*this.hv*this.hv,this.Sa=.1<=b?h(b)+"m\u00b2":h(1E4*b)+"cm\u00b2"):this.SG==d.Lda?(b=this.fq*this.hv*1.0936,this.Sa=1760<b?h(b/1760)+"mi":100<=b?h(b)+"yd":1<=3*b?h(3*b)+"ft":
h(36*b)+"in"):this.SG==d.Kda&&(b=this.fq*this.hv*1.0936*this.hv*1.0936,this.Sa=1<=b?h(b)+"yd\u00b2":1<=9*b?h(9*b)+"ft\u00b2":h(1296*b)+"in\u00b2");this.va=!0};d.prototype.mr=function(b){b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(b);return[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]};d.prototype.pk=function(b,g){return"rgba("+b.join(",")+", "+g+")"};d.prototype.nd=function(){return this.jf};d.prototype.$d=function(){return this.ph};d.prototype.gg=function(){return this.O};d.prototype.update=
function(){if(!this.va)return!1;this.va=!1;this.Vr.fontFamily=this.u3||"Arial";this.Vr.fontSize=this.eF?"string"==typeof this.eF?this.eF:this.eF+"px":"30px";var b=l(this.Sa,this.Vr),g=this.mr(this.t3),f=this.mr(this.Dw),c=b.width;b=b.height;var e=.5*b,m=.3*b,q=e+c+.5*b,p=m+b+.2*b,n=.5*p;this.O.width=this.O.height=this.jf=this.ph=Math.max(128,Math.pow(2,Math.ceil(Math.log(Math.max(q,p))/Math.LN2)));var r=this.jf*this.H0-q*this.H0,t=this.ph*this.I0-p*this.I0;this.FE();this.ya.save();this.ya.translate(r,
t);this.ya.fillStyle=this.pk(f,1);this.ya.beginPath();this.ya.moveTo(0,n);this.ya.quadraticCurveTo(0,0,n,0);this.ya.lineTo(q-n,0);this.ya.quadraticCurveTo(q,0,q,n);this.ya.quadraticCurveTo(q,p,q-n,p);this.ya.lineTo(n,p);this.ya.quadraticCurveTo(0,p,0,p-n);this.ya.closePath();this.ya.fill();this.ya.fillStyle=this.pk(g,1);this.ya.font=this.Vr.fontSize+" '"+this.Vr.fontFamily+"'";this.ya.font=this.Vr.fontSize+(isNaN(this.Vr.fontSize)?"":"px")+" "+k.qv(this.Vr.fontFamily);this.ya.textBaseline="middle";
this.ya.textAlign="center";this.ya.fillText(this.Sa,Math.round(e+.5*c),Math.round(m+.5*b));this.ya.restore();return!0};d.prototype.FE=function(){this.ya.clearRect(0,0,this.jf,this.ph)};return d});
define("fm","require kV kh og fV fp fe ej".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("fV"),b=a("fp"),g=a("fe"),f=a("ej");a=d.extend(k,function(e,m,q){k.call(this);this.M5=e;this.qd=m;this.pa=q;this.ie=this.ie.bind(this);this.Yn=this.o=null;this.xk=0;this.qb=!1;this.jW=this.Tg=this.ky=this.Ex=null;this.fq=void 0;this.Bh=new g;this.M5.bind(l.G("worldUnitToMeters"),this.E6,this,!0);this.qd.bind(l.G("units"),this.o6,this,!0);this.Ay()});a.prototype.zxa=function(e){this.IV(e,null,null)};
a.prototype.pWa=function(e){this.IV(null,e,null)};a.prototype.jVa=function(e){this.IV(null,null,e)};a.prototype.IV=function(e,m,q){if(this.ky!=m||this.Ex!=e||this.Tg!=q)[this.Ex,this.ky,this.Tg].forEach(function(p){p&&p.unbind(l.hd,this.Sd,this,!0);p&&p.unbind(l.od,this.Sd,this,!0)}.bind(this)),this.dv(),this.Ex=e,this.ky=m,this.Tg=q,this.Ay(),this.ie(),this.cg(!0),[this.Ex,this.ky,this.Tg].forEach(function(p){p&&p.bind(l.hd,this.Sd,this,!0);p&&p.bind(l.od,this.Sd,this,!0)}.bind(this)),this.Ex?(this.o.L(b.Db).Mb=
this.Ex.o,this.o.L(b.Ba).Sf=.5,e=this.o.L(b.Sprite),e.oH=.5,e.pH=.5,this.Bh.Xba(),this.Bh.Yba(.5)):this.ky?(this.o.L(b.Db).Mb=this.ky.o,this.o.L(b.Ba).Sf=0,e=this.o.L(b.Sprite),e.oH=.5,e.pH=1.1,this.Bh.Xba(),this.Bh.Yba(1)):this.Tg?(this.o.L(b.Db).Mb=this.Tg.o,this.o.L(b.Ba).Sf=0,e=this.o.L(b.Sprite),e.oH=.5,e.pH=.5,this.Bh.Xba(),this.Bh.Yba(.5)):this.o.L(b.Db).Mb=null,this.Sd(),this.o6(),this.E6()};a.yAa="partialDistance";a.Fea="distance";a.xAa="area";a.prototype.setStyle=function(e){this.jW!=e&&
(this.jW=e,this.ie())};a.prototype.oI=function(e){void 0!==e&&this.fq!==e&&(this.fq=e,this.Bh.oI(e),this.cg(),this.Sd())};a.prototype.dispose=function(){this.M5.unbind(l.G("worldUnitToMeters"),this.E6,this,!0);this.qd.unbind(l.G("units"),this.o6,this,!0);this.IV(null,null);this.Bh.dispose();this.Bh=null;this.dv()};a.prototype.E6=function(){this.Bh.KWa(this.M5.get("worldUnitToMeters"));this.cg()};a.prototype.o6=function(){var e=this.qd.get("units"),m=!!this.Tg;this.Bh.JWa("imperial"==e?m?g.Kda:g.Lda:
m?g.Sda:g.H_);this.cg()};a.prototype.Ay=function(){if(!this.o){this.o=this.pa.U.ud("MeasureLabel");this.o.I(b.Sprite).renderOrder=2;this.o.I(b.bt);var e=this.o.I(b.Sh);e.source=this.Bh.gg();e.isSprite=!0;h.ma(this.qd,c,this.ie,!0);this.o.I(b.Ba);this.o.I(b.Db)}};a.prototype.dv=function(){this.o&&(h.ka(this.qd,c,this.ie),this.o.U.Cf(this.o),this.o=null)};a.prototype.isVisible=function(){return this.qb};a.prototype.Km=function(e){this.qb!=e&&((this.qb=e)?(this.wNa(),this.trigger(l.hd)):(this.wOa(),
this.Wn(0),this.trigger(l.od)))};a.prototype.Sd=function(){this.Km(0<this.fq&&(this.Ex&&this.Ex.isVisible()||this.ky&&this.ky.isVisible()||this.Tg&&this.Tg.isVisible()))};a.prototype.wNa=function(){this.Yn||(this.Yn=new f,this.Yn.set("duration",300),this.Yn.bind(f.XZ,this.ena,this,!0),this.Yn.bind(f.Ej,this.dna,this,!0),this.Yn.play())};a.prototype.wOa=function(){this.Yn&&(this.Yn.unbind(f.XZ,this.ena,this,!0),this.Yn.unbind(f.Ej,this.dna,this,!0),this.Yn.stop(),this.Yn=null)};a.prototype.ena=function(){this.Wn(2*
this.Yn.Ek()-1)};a.prototype.dna=function(){this.Wn(1)};a.prototype.ie=function(){this.o.L(b.Sh).depthTest=this.lF("depthTest");this.Bh.DVa(this.lF("labelFontColor"));this.Bh.kVa(this.lF("labelBackgroundColor"));this.Bh.EVa(this.lF("labelFontFamily"));this.Bh.FVa(this.lF("labelFontSize"));this.io();this.cg()};a.prototype.lF=function(e){var m;this.jW&&(m=this.qd.get(this.jW+e[0].toUpperCase()+e.substr(1)));void 0===m&&(m=this.qd.get(e));return m};a.prototype.cg=function(e){if(this.Bh.update()||e){e=
this.o.L(b.Sh);var m=this.o.L(b.Sprite);e.HP=(new Date).getTime();m.width=this.Bh.nd();m.height=this.Bh.$d()}};a.prototype.Wn=function(e){this.xk!=e&&(this.xk=e,this.io())};a.prototype.io=function(){this.o.L(b.Sh).opacity=this.lF("labelOpacity")*Math.max(1E-4,this.xk)};var c="depthTest areaLabelBackgroundColor areaLabelFontColor areaLabelFontFamily areaLabelOpacity areaLabelFontSize distanceLabelBackgroundColor distanceLabelFontColor distanceLabelFontFamily distanceLabelOpacity distanceLabelFontSize labelBackgroundColor labelFontColor labelFontFamily labelOpacity labelFontSize partialDistanceLabelBackgroundColor partialDistanceLabelFontColor partialDistanceLabelFontFamily partialDistanceLabelOpacity partialDistanceLabelFontSize".split(" ");
return a});
define("dz","require kV kh og fV fp".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("fV"),b=a("fp");a=d.extend(k,function(f,c){k.call(this);this.qd=f;this.pa=c;this.xl=this.wl=null;this.ie=this.ie.bind(this);this.o=null;this.xk=0;this.qb=!1;this.Ay()});a.prototype.$Y=function(f,c){if(this.wl!=f||this.xl!=c)this.wl&&this.wl.unbind(l.hd,this.Sd,this,!0),this.wl&&this.wl.unbind(l.od,this.Sd,this,!0),this.xl&&this.xl.unbind(l.hd,this.Sd,this,!0),this.xl&&this.xl.unbind(l.od,this.Sd,this,
!0),this.wl=f,this.xl=c,this.wl&&this.wl.bind(l.hd,this.Sd,this,!0),this.wl&&this.wl.bind(l.od,this.Sd,this,!0),this.xl&&this.xl.bind(l.hd,this.Sd,this,!0),this.xl&&this.xl.bind(l.od,this.Sd,this,!0),this.o.L(b.Db,!0).Mb=this.wl&&this.wl.o,this.o.L(b.nw,!0).Mb=this.xl&&this.xl.o,this.Sd()};a.prototype.dispose=function(){this.$Y(null,null);this.dv()};a.prototype.Ay=function(){this.o||(this.o=this.pa.U.ud("MeasureLine"),this.o.I(b.Line),this.o.I(b.Vi),this.o.I(b.Ba),h.ma(this.qd,g,this.ie,!0))};a.prototype.dv=
function(){this.o&&(h.ka(this.qd,g,this.ie),this.o.U.Cf(this.o),this.o=null)};a.prototype.isVisible=function(){return this.qb};a.prototype.Km=function(f){this.qb!=f&&((this.qb=f)?(this.Wn(1),this.trigger(l.hd)):(this.Wn(0),this.trigger(l.od)))};a.prototype.Sd=function(){this.Km(this.wl&&this.wl.isVisible()&&this.xl&&this.xl.isVisible())};a.prototype.ie=function(){var f=this.o.L(b.Vi);f.color=this.qd.get("lineColor");f.depthTest=this.qd.get("depthTest");f.width=this.qd.get("lineWidth");f.depthTest=
this.qd.get("depthTest");this.io()};a.prototype.Wn=function(f){this.xk!=f&&(this.xk=f,this.io())};a.prototype.io=function(){this.o.L(b.Vi).opacity=this.qd.get("lineOpacity")*Math.max(1E-4,this.xk)};var g=["depthTest","lineColor","lineOpacity","lineWidth"];return a});
define("nF","require kV kh og fV fp".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("fV"),b=a("fp");a=d.extend(k,function(e,m,q,p){k.call(this);this.qd=e;this.Y=m;this.pa=q;this.Ip=p;this.Bu=this.Bu.bind(this);this.ie=this.ie.bind(this);this.ei=this.ei.bind(this);this.o=null;this.Rj=this.BM=this.Vc=this.Cw=!1;this.xk=0;this.qb=!1;this.Ay();h.ma(this.qd,g,this.Bu,!0);h.ma(this.qd,c,this.ie,!0);h.NC(this.Ip,f,this.ei,!0);this.bind(l.et,this.Lma,this,!0);this.bind(l.$c,this.ZF,this,!0);
this.bind(l.ac,this.Am,this,!0);this.ei();this.WX()&&this.Km(!0)});a.prototype.dispose=function(){h.ka(this.qd,g,this.Bu);h.ka(this.qd,c,this.ie);h.ka(this.Ip,f,this.ei);this.unbind(l.et,this.Lma,this,!0);this.unbind(l.$c,this.ZF,this,!0);this.unbind(l.ac,this.Am,this,!0);this.dv()};a.prototype.gxa=function(e){this.Cw!==e&&((this.Cw=e)?(e=this.o.I(b.Kj),e.Mb=this.pa,e.rotate=!1,e.La=new k,this.Km(!0),e.La.bind(l.$c,this.QF,this,!0)):((e=this.o.getComponent(b.Kj))&&e.La.unbind(l.$c,this.QF,this,!0),
this.o.na(b.Kj),e=this.Y.worldPositionToLocal([this.x,this.y,this.z],this.Y.getMatrixWorld()),this.mxa(e[0],e[1],e[2])),this.Jy(),this.j$())};a.prototype.pxa=function(e){void 0===e&&(e=!1);this.Rj!==e&&((this.Rj=e)?this.o.I(b.fw):this.o.na(b.fw))};a.prototype.vWa=function(e){this.BM!==e&&(this.BM=e,this.j$(),this.Vc=!1,this.Jy())};a.prototype.mxa=function(e,m,q){this.Ip.set("x",e);this.Ip.set("y",m);this.Ip.set("z",q);this.Km(this.WX())};a.prototype.Ay=function(){this.o=this.pa.U.ud("MeasurePoint");
this.o.I(b.Sphere);this.o.I(b.Kc);this.o.I(b.Hd).La=this;this.o.I(b.bt);this.o.I(b.Ba).La=this;this.o.I(b.Mk);this.o.I(b.Db).Mb=this.pa;this.j$();this.io();this.Jy()};a.prototype.dv=function(){this.o.U.Cf(this.o);this.o=null};a.prototype.isVisible=function(){return this.qb};a.prototype.Km=function(e){this.qb!=e&&((this.qb=e)?(this.Wn(1),this.trigger(l.hd)):(this.Wn(0),this.trigger(l.od)))};a.prototype.j$=function(){var e=this.o.L(b.Hd);e.cn=this.BM;e.Jv=this.BM;e.pv=!this.Cw;e=this.o.L(b.bt,!0);e.Bya=
!this.BM||this.Cw;e.Aya=this.Cw};a.prototype.QF=function(){this.Km(!0)};a.prototype.ZF=function(){this.Vc=!0;this.Jy()};a.prototype.Am=function(){this.Vc=!1;this.Jy()};a.prototype.Bu=function(){this.o.L(b.Db).id=this.qd.get("parentId")};a.prototype.ie=function(){if(this.o){var e=this.o.L(b.Mk);e.Qf=e.hg=e.Qh=1;e.mD=this.qd.get("pointMaxRadius");e.oD=this.qd.get("pointMinRadius");e.scale=this.qd.get("pointRadius")||1;this.o.L(b.Kc).depthTest=this.qd.get("depthTest");this.Jy()}};a.prototype.Jy=function(){if(this.o){var e=
this.Cw?"pointDragColor":this.Vc?"pointOverColor":"pointColor";this.o.L(b.Kc).color=this.qd.get(e)}};a.prototype.Wn=function(e){this.xk!=e&&(this.xk=e,this.io())};a.prototype.io=function(){this.o.L(b.Kc).opacity=Math.max(1E-4,this.xk)};a.prototype.Lma=function(e){this.x=e.data.position.x;this.y=e.data.position.y;this.z=e.data.position.z};a.prototype.ei=function(){if(this.WX()&&this.o){var e=this.o.L(b.Ba,!0);e.positionX=e.positionY=e.positionZ=0;e.df=e.Ge=e.ef=0;e.translationX=this.Ip.get("x");e.translationY=
this.Ip.get("y");e.Sf=this.Ip.get("z")}};a.prototype.WX=function(){var e=this.Ip.get("x"),m=this.Ip.get("y"),q=this.Ip.get("z");return void 0!==e&&void 0!==m||void 0!==q};a.prototype.distanceTo=function(e){var m=this.x-e.x,q=this.y-e.y;e=this.z-e.z;return Math.sqrt(m*m+q*q+e*e)};var g=["parentId"],f=["x","y","z"],c="depthTest mode pointDragColor pointColor pointOverColor pointMaxRadius pointMinRadius pointRadius".split(" ");return a});
define("ek","require kh og bl fr fm dz nF u fp".split(" "),function(a){function d(t,u,v,w){this.C=t;this.Y=u;this.pa=v;this.j=w;this.N=this.j.N;this.kj=this.kj.bind(this);this.gU=this.gU.bind(this);this.YT=this.YT.bind(this);this.oU=this.oU.bind(this);this.TF=this.TF.bind(this);this.Nx=this.Nx.bind(this);this.MB=this.MB.bind(this);this.ii=new Map;this.gM=new Map;this.lp=[];this.vB=[];this.fG=new Map;this.$g=[];this.Ii=null;this.re=this.Nc=void 0;this.T=!1;h.ma(this.C,["enabled"],this.kj,!0)}var h=
a("kh"),l=a("og"),k=a("bl"),b=a("fr"),g=a("fm"),f=a("dz"),c=a("nF"),e=a("u");a("fp");d.prototype.dispose=function(){this.Rk();h.ka(this.C,["enabled"],this.kj);this.re=this.Nc=this.Ii=this.$g=this.vB=this.lp=this.gM=this.ii=null};d.prototype.kj=function(){this.C.get("enabled")?this.Wt():this.Rk()};d.prototype.Wt=function(){this.T||(this.T=!0,this.SDa(),this.xha(this.C),document.addEventListener("keyup",this.MB),h.ma(this.C,m,this.gU,!0),h.ma(this.C,p,this.oU,!0),h.ma(this.C,q,this.YT,!0),h.ma(this.C,
n,this.TF,!0),h.ma(this.C,r,this.Nx,!0),this.Y.bind(l.oa,this.pma,this,!0),this.Y.bind(l.Vl,this.qma,this,!0))};d.prototype.Rk=function(){this.T&&(this.T=!1,this.vpa([]),this.Vha(this.C),this.YEa(),document.removeEventListener("keyup",this.MB),h.ka(this.C,m,this.gU),h.ka(this.C,p,this.oU),h.ka(this.C,q,this.YT),h.ka(this.C,n,this.TF),h.ka(this.C,r,this.Nx),this.Y.unbind(l.oa,this.pma,this,!0),this.Y.unbind(l.Vl,this.qma,this,!0))};d.prototype.gU=function(){this.vpa(this.C.get("points"))};d.prototype.YT=
function(){var t=this.C.get("mode");if(t!=this.Nc){switch(this.Nc){case "create":1>this.$g.length||this.Ii&&2>this.$g.length?t="create":this.JLa(this.Ii);break;case "edit":"create"==t?"single"===this.C.get("type")&&0<this.$g.length?t="edit":this.EQ():this.Vu(null);break;case "view":"create"===t&&("single"===this.C.get("type")&&0<this.$g.length?t="view":this.EQ());break;default:"create"==t&&("single"===this.C.get("type")&&0<this.$g.length&&this.m4(this.au(-1))?t="edit":this.Vu(this.au(-1),!1))}this.Nc=
t;this.C.set("mode",this.Nc);this.tra()}};d.prototype.oU=function(){var t=this.C.get("type");t!==this.re&&(this.re=t,"single"===this.re&&1<this.$g.length&&this.C.set("points",this.KYa.slice(0,1)))};d.prototype.TF=function(){this.hra();this.zW()};d.prototype.Nx=function(){var t=this.T3(this.Tg);t&&t.oI(this.C.get("area"))};d.prototype.MB=function(t){t.which==k.xda&&this.N.get("isKeyboardTarget")&&("create"==this.C.get("mode")?this.C.set("mode","edit"):"edit"==this.Nc&&this.Vu(null))};d.prototype.EQ=
function(){this.GBa();this.Vu(this.au(-1),!1)};d.prototype.GBa=function(){var t=this.N.get("application").mq("MeasureModel3DObjectPoint");if(!e.kb()){var u=this.au(-1);u&&this.m4(u)&&(t.set("x",u.get("x")),t.set("y",u.get("y")),t.set("z",u.get("z")))}this.C.set("points",this.$g.concat([t]))};d.prototype.au=function(t){var u=[this.C].concat(this.$g);return 0>t&&0<u.length-t?u[u.length+t]:0<=t&&t<u.length?u[t]:null};d.prototype.JLa=function(t){this.C.set("points",this.$g.filter(function(u){return u!=
t}))};d.prototype.m4=function(t){return!!t&&this.ii.get(t).WX()};d.prototype.pma=function(t){if("create"==this.C.get("mode")){if(this.Ii){var u=this.Ii;this.Vu(null);this.ZBa(u,t)}"single"==this.re&&0<this.$g.length?this.C.set("mode","edit"):this.EQ()}else"edit"==this.C.get("mode")&&this.Vu(null)};d.prototype.qma=function(){"create"==this.C.get("mode")&&e.kb()&&this.C.set("mode","edit")};d.prototype.Hma=function(){"create"==this.C.get("mode")&&this.C.set("mode","edit")};d.prototype.Gma=function(t){if("create"==
this.C.get("mode")){var u=this.au(-2);t=this.gM.get(t.source);u==t?this.C.set("mode","edit"):(u=this.Ii,this.Vu(null),u.set("x",t.get("x")),u.set("y",t.get("y")),u.set("z",t.get("z")),u=this.au(0),t==u?this.C.set("mode","edit"):this.EQ())}};d.prototype.Ima=function(t){"edit"==this.C.get("mode")&&this.Vu(this.gM.get(t.source),!0)};d.prototype.Jma=function(){"edit"==this.C.get("mode")&&this.Vu(null)};d.prototype.Kma=function(){this.zW()};d.prototype.zW=function(){for(var t=[],u=this.au(0),v=this.d4(),
w=0;w<v.length;w++){var x=v[w];u=this.ii.get(u);var y=this.ii.get(x);y=u.distanceTo(y);(u=this.T3(this.lp[w]))&&u.oI(y);t.push(y);u=x}t=t.reduce(function(A,B){return A+B},0);(u=this.T3(this.ii.get(v[v.length-1])))&&u.oI(t);this.C.set("distance",isNaN(t)?void 0:t)};d.prototype.ZBa=function(t,u){if(u=u&&u.data.position)u=this.Y.worldPositionToLocal(u,this.Y.getMatrixWorld()),this.ii.get(t).mxa(u.x,u.y,u.z)};d.prototype.Vu=function(t,u){u||=!1;if(this.Ii!==t){if(this.Ii){var v=this.ii.get(this.Ii);v.pxa(!1);
v.gxa(!1)}if(this.Ii=t)v=this.ii.get(this.Ii),v.pxa(u),v.gxa(u||!e.kb());this.ira();this.tra()}};d.prototype.vpa=function(t){this.$g!=t&&(this.$g.forEach(function(u){-1==t.indexOf(u)&&this.Vha(u)}.bind(this)),this.$g=t,this.Ii&&this.$g.indexOf(this.Ii)&&(this.Ii=null),this.$g.forEach(function(u){this.xha(u)}.bind(this)),this.ira(),this.hra(),this.sPa(),this.zW())};d.prototype.d4=function(){return this.$g.filter(function(t){return this.m4(t)||this.ii.get(t).Cw}.bind(this))};d.prototype.ira=function(){for(;this.$g.length<
this.lp.length;)this.aFa();for(;this.$g.length>this.lp.length;)this.xEa();for(var t=!0,u=0;u<this.$g.length;u++){var v=this.au(u),w=this.au(u+1);v==this.Ii&&(t=!1);var x=t?w:v;this.lp[u].$Y(this.ii.get(t?v:w),this.ii.get(x))}};d.prototype.hra=function(){this.mPa();var t=this.d4(),u=1==t.length;this.C.get("displayPartialDistanceLabel")&&!u&&this.lp.forEach(function(v){var w=this.jT(v);w.zxa(v);w.setStyle(g.yAa)}.bind(this));this.C.get("displayDistanceLabel")&&(u?(t=this.jT(this.lp[0]),t.zxa(this.lp[0]),
t.setStyle(g.Fea)):1<t.length&&(u=this.ii.get(t[t.length-1]),t=this.jT(u),t.pWa(u),t.setStyle(g.Fea)));this.C.get("displayAreaLabel")&&this.Tg&&(t=this.jT(this.Tg),t.jVa(this.Tg),t.setStyle(g.xAa));this.cFa();this.zW();this.Nx()};d.prototype.tra=function(){var t=!this.Ii&&"view"!=this.Nc;this.ii.forEach(function(u){u.vWa(t)})};d.prototype.sPa=function(){this.Tg&&this.Tg.$Y([this.C].concat(this.d4()).map(function(t){return this.ii.get(t)}.bind(this)))};d.prototype.xha=function(t){var u=this.ii.get(t);
u||(u=new c(this.C,this.Y,this.pa,t),this.ii.set(t,u),this.gM.set(u,t),u.bind(l.Vl,this.Hma,this,!0),u.bind(l.oa,this.Gma,this,!0),u.bind(l.ub,this.Ima,this,!0),u.bind(l.$b,this.Jma,this,!0),u.bind(l.et,this.Kma,this,!1))};d.prototype.Vha=function(t){var u=this.ii.get(t);u&&(u.unbind(l.et,this.Kma,this,!1),u.unbind(l.Vl,this.Hma,this,!0),u.unbind(l.oa,this.Gma,this,!0),u.unbind(l.ub,this.Ima,this,!0),u.unbind(l.$b,this.Jma,this,!0),u.dispose(),this.ii["delete"](t),this.gM["delete"](u))};d.prototype.xEa=
function(){var t=new f(this.C,this.pa);this.lp.push(t)};d.prototype.aFa=function(){0!=this.lp.length&&this.lp.pop().dispose()};d.prototype.wEa=function(){var t=new g(this.Y,this.C,this.pa);this.vB.push(t);return t};d.prototype.mPa=function(){this.fG.clear()};d.prototype.jT=function(t){var u=this.vB.length>this.fG.size?this.vB[this.fG.size]:this.wEa();this.fG.set(t,u);return u};d.prototype.T3=function(t){return this.fG.get(t)};d.prototype.cFa=function(){for(;this.vB.length>this.fG.size;)this.$Ea()};
d.prototype.$Ea=function(){0!=this.vB.length&&this.vB.pop().dispose()};d.prototype.SDa=function(){this.Tg||(this.Tg=new b(this.C,this.pa))};d.prototype.YEa=function(){this.Tg&&(this.Tg.dispose(),this.Tg=null)};var m=["points"],q=["mode"],p=["type"],n=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],r=["area"];return d});
define("jj","require lw og nc oy fp ci nk eB hz hl gq ih cB kI iF bq lZ kg C kp gv ek".split(" "),function(a){function d(C,E,F){this.j=C;this.Dd=E;this.Y=F;this.N=this.j.N;this.pj=new k;this.pj.bind(h.aa,this.ML,this,!0);this.Ae=new k(this.Y);this.Wc=this.Dd.ud("Scene");C=this.Wc.I(b.Scene);C.uaa=this.Ae.bO(this.pj.RC(.1));C.La=this.Y;this.pa=this.Dd.ud("Model");E=this.pa.I(b.yg);E.La=this.Y;E.Gwa=this.pj.RC();E.$H=this.Ae.RC();E.Jva=this.Y.get("model");E.qc=this.Y;E=this.pa.I(b.Hd);E.La=this.Y;E.pv=
!0;E.Jv=!0;this.pa.I(b.Db).Mb=this.Wc;C.je=this.zi=this.Dd.ud("PerspectiveCamera");this.zi.I(b.Db).Mb=this.Wc;this.Fga=new c(this.j,this.Y,this.zi);this.Lna=new v(this.j,this.Dd,this.Y,this.pa,this.zi);z.forEach(function(G){this.Y.bind(h.G(G),this.p6,this,!0)}.bind(this));this.Y.bind(h.G("variant"),this.D6,this,!0);this.jL=new f;this.jL.filter=function(G){return l.Ea("SurfaceReticleModel3DObject",G)||l.Ea("InnerModel3DObject",G)||l.Ea("MeasureModel3DObject",G)||l.Ea("SphereModel3DObject",G)?!0:!1};
this.jL.fg=function(G){return l.Ea("SurfaceReticleModel3DObject",G)?new m(G,this.Y,this.pa,this.j):l.Ea("InnerModel3DObject",G)?new n(G,this.Y,this.pa,this.j):l.Ea("MeasureModel3DObject",G)?new B(G,this.Y,this.pa,this.j):l.Ea("SphereModel3DObject",G)?new e(G,this.Y,this.pa,this.j):null}.bind(this);this.jL.Wm=function(G,J){J.dispose()}.bind(this);this.jL.Nxa(this.Y,"objects");this.UU=new f;this.UU.filter=function(G){return l.Ea("AmbientOcclusionModel3DPostprocessing",G)||l.Ea("AntialiasModel3DPostprocessing",
G)||l.Ea("MotionBlurModel3DPostprocessing",G)||l.Ea("VignetteModel3DPostprocessing",G)};this.UU.fg=function(G){return l.Ea("AmbientOcclusionModel3DPostprocessing",G)?new w(G,this.Wc):l.Ea("AntialiasModel3DPostprocessing",G)?new x(G,this.Wc):l.Ea("MotionBlurModel3DPostprocessing",G)?new y(G,this.Wc):l.Ea("VignetteModel3DPostprocessing",G)?new A(G,this.Wc):null}.bind(this);this.UU.Wm=function(G,J){J.dispose()}.bind(this);this.UU.Nxa(this.Y,"postprocessing");this.Dd.lsa(this.Wc);this.lJa=new r(this.Y,
this.pa,this.zi);this.wQa=new u(this.Y);this.JNa=new t(this.j,this.Y);this.qOa=new p(this.Y,this.pa,this.j);this.IOa=new q(this.j,this.Y);this.p6();this.D6()}a("lw");var h=a("og"),l=a("nc"),k=a("oy"),b=a("fp"),g=a("ci"),f=a("nk"),c=a("eB"),e=a("hz"),m=a("hl"),q=a("gq"),p=a("ih"),n=a("cB"),r=a("kI"),t=a("iF"),u=a("bq"),v=a("lZ"),w=a("kg"),x=a("C"),y=a("kp"),A=a("gv"),B=a("ek");d.prototype.AD=function(C){this.Wc.L(b.Scene).locked=C};d.prototype.kc=function(C){this.Wc.L(b.Scene).enabled=C;this.Lna.kc(C);
this.Fga.kc(C)};d.prototype.dispose=function(){z.forEach(function(C){this.Y.unbind(h.G(C),this.p6,this,!0)}.bind(this));this.Y.unbind(h.G("camera"),this.LT,this,!0);this.Y.unbind(h.G("variant"),this.D6,this,!0);this.Fga.dispose();this.jL.dispose();this.Lna.dispose();this.qOa.dispose();this.lJa.dispose();this.JNa.dispose();this.wQa.dispose();this.IOa.dispose();this.Ae.dispose();this.pj.unbind(h.aa,this.ML,this,!0);this.pj.dispose();this.Dd.YUa(this.Wc);this.Dd.Cf(this.Wc);this.Dd.Cf(this.pa);this.Dd.Cf(this.zi)};
d.prototype.KSa=function(){return this.pa?g.OH(this.pa):void 0};d.prototype.D6=function(){var C=this.Y.get("variant");C?this.pa.L(b.Zs,!0).name=C:this.pa.na(b.Zs)};d.prototype.p6=function(){var C=this.Wc.L(b.Scene);C.opacity=this.Y.get("opacity");C.ita=this.Y.get("environmentURL");C.Y$=this.Y.get("backgroundImageURL");C.wsa=this.Y.get("backgroundPanoramaURL");C.backgroundColor=this.Y.get("backgroundColor");C.outputEncoding=this.Y.get("encoding");C=this.Y.get("environmentIntensity");var E=this.Y.get("anisotropicFilteringLevel");
if(1!=C||0!=E){var F=this.Wc.L(b.Kq,!0);F.envMapIntensity=C;F.X$=E}else this.Wc.na(b.Kq)};d.prototype.ML=function(){this.Y.trigger(h.KI)};var z="anisotropicFilteringLevel environmentURL backgroundImageURL backgroundPanoramaURL backgroundColor opacity encoding environmentIntensity".split(" ");return d});
define("kQ","require kV fW jj bb d nC".split(" "),function(a){var d=a("kV"),h=a("fW"),l=a("jj"),k=a("bb"),b=a("d"),g=a("nC");a=d.extend(g,function(f,c,e){g.call(this);this.jc=f;this.N=c;this.cL=e;this.qe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",k.Vs);this.set("layout",b.QP);this.Dd=null;this.JF=[];this.IF=new Map});a.prototype.xb=function(){g.prototype.xb.call(this);null==this.Dd&&(this.Dd=new h(this.jc,!0),this.Dd.fa({left:0,top:0,right:0,bottom:0,cursor:k.Vs,toolTipDisabled:!0}),
this.Dd.BWa(),this.Ua(this.Dd),this.JF.forEach(this.Cpa.bind(this)))};a.prototype.kTa=function(f){return 0<=this.JF.indexOf(f)};a.prototype.ksa=function(f){0<=this.JF.indexOf(f)||(this.JF.push(f),this.Dd&&this.Cpa(f))};a.prototype.Rba=function(f){var c=this.JF.indexOf(f);0>c||(this.JF.splice(c,1),this.Dd&&this.oqa(f))};a.prototype.vca=function(f,c){(f=this.IF.get(f))&&f.AD(c)};a.prototype.Bxa=function(f,c){(f=this.IF.get(f))&&f.kc(c)};a.prototype.CO=function(f){return(f=this.IF.get(f))?f.KSa():void 0};
a.prototype.vD=function(){return this.Dd&&this.Dd.vD()};a.prototype.iaa=function(){return this.Dd&&this.Dd.iaa()};a.prototype.Cpa=function(f){this.oqa(f);this.IF.set(f,new l(this,this.Dd,f))};a.prototype.oqa=function(f){var c=this.IF.get(f);c&&(this.IF["delete"](f),c.dispose())};return a});
define("bF","require kV og nc jn ie dM kQ dV".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("nc"),k=a("jn"),b=a("ie"),g=a("dM"),f=a("kQ"),c=a("dV");a=l.define("Model3DPlayer",b,function(){b.call(this,"model");this.$o=this.wT=this.Kh=!1;this.K=this.j=null;this.ob=this.Bd=0;this.Xd=d.so(this.Mg,this);this.l1=new k(this,"buttonToggleSprites",c.Lj);this.l1.bind(h.Jj,function(){this.set("spritesEnabled",!0)},this);this.l1.bind(h.Xl,function(){this.set("spritesEnabled",!1)},this);this.l1.set("pressed",
this.get("spritesEnabled"))});a.prototype.play=function(){this.RB()};a.prototype.pause=function(){this.QB()};a.prototype.stop=function(){this.Zx()};a.prototype.restart=function(){this.Wx()};a.prototype.getModelPixelScale=function(){return this.XGa()};a.prototype.captureToDataURL=function(){return this.j&&this.j.iaa()};a.prototype.saveScreenshot=function(){return this.j&&this.j.vD()};a.prototype.set=function(e,m){if(this.get(e)!=m){switch(e){case "model":this.wT=!0;this.set("requesterPlayer",null);
this.Xd();break;case "viewerArea":this.Kh=!0;this.Xd();break;case "displayPlaybackBar":this.$o=!0,this.Xd()}b.prototype.set.call(this,e,m)}};a.prototype.get=function(e,m){switch(e){case "currentTime":return this.K&&this.K.getTime()||0}return b.prototype.get.call(this,e,m)};a.prototype.Mg=function(){this.Kh&&(this.Kh=!1,this.Mt(),this.get("viewerArea")&&this.Jt(),this.RM(this.get("viewerArea")),this.wT=!0);var e=!1;if(this.j&&(this.wT||this.cW)){var m=this.get("model");if(m&&!this.j.Hb()){this.Xd();
return}this.wT=!1;this.ob=this.Bd=0;e=!0;m?(this.gI(this.get("requesterPlayer")?[this.get("requesterPlayer"),this]:[this]),this.K.eWa(m)):this.K.Kv()}this.$o&&(this.$o=!1,e=!0);e&&this.lv()};a.prototype.NG=function(){this.set("model",null)};a.prototype.Jt=function(){var e=this.get("application"),m=this.get("viewerArea");this.j=new f(e,m,this);this.j.fa({left:0,top:0,bottom:0,right:0});m.Ua(this.j);this.K=new g(m,this.j);this.K.bind(g.Gz,this.il,this);this.K.bind(g.Fz,this.Qx,this);this.K.bind(g.i_,
this.tma,this,!0);this.K.bind(g.Cc,this.Ke,this);this.yy(!0)};a.prototype.Mt=function(){this.j&&(this.K.unbind(g.Gz,this.il,this),this.K.unbind(g.Fz,this.Qx,this),this.K.unbind(g.i_,this.tma,this,!0),this.K.unbind(g.Cc,this.Ke,this),this.K.clear(),this.j.getParent().removeChild(this.j),this.j=null,this.yy(!1))};a.prototype.Ke=function(e){this.xc(e.data.state)};a.prototype.il=function(e){var m=this.get("viewerArea");this.Od=m&&m.Od;this.$K(e.data.model);this.lv()};a.prototype.Qx=function(e){this.Od=
null;this.ZK(e.data.model)};a.prototype.tma=function(e){this.Bd=e.data.time;this.ob=e.data.duration;this.lv()};a.prototype.eM=function(e){this.lC(e.data.position)};a.prototype.hk=function(){this.K&&this.K.play()};a.prototype.$n=function(){this.K&&this.K.stop()};a.prototype.Dp=function(){this.K&&this.K.pause()};a.prototype.lC=function(e){this.K&&this.K.setTime(e)};a.prototype.XGa=function(){return this.K&&this.K.CO()};a.prototype.lv=function(){if(this.j){var e=this.j.getParent();0<this.ob&&this.get("displayPlaybackBar")?
e.fa({playbackBarPosition:this.Bd,playbackBarDuration:this.ob,playbackBarVisible:!0}):e.set("playbackBarVisible",!1)}};return a});
define("ow","require og kx nc cT hS".split(" "),function(a){var d=a("og"),h=a("kx"),l=a("nc"),k=a("cT"),b=a("hS");a=l.define("Model3DPlayListItem",b,function(){b.call(this)});a.prototype.start=function(){b.prototype.start.call(this);var g=this.get("player");g&&(g.bind(k.Sg,this.il,this),g.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.il():g.set("model",this.get("media")))};a.prototype.stop=function(){var g=this.get("player");g&&(g.unbind(k.Sg,this.il,this),g.get("model")==
this.get("media")&&g.set("model",null));b.prototype.stop.call(this)};a.prototype.il=function(g){g&&g.data.media!=this.get("media")||(this.get("player").unbind(k.Sg,this.il,this),this.get("player").bind(k.Ul,this.Qx,this),this.FQa())};a.prototype.FQa=function(){var g=this.get("media").get("camera").get("sequences",[]).find(function(f){return f.get("mandatory")&&f.get("state")==h.X});g?g.bind(d.rb,this.hna,this,!0):this.Qy()};a.prototype.hna=function(g){g.source.unbind(d.rb,this.hna,this,!0);this.Qy()};
a.prototype.Qx=function(g){g.data.media==this.get("media")&&(this.get("player").unbind(k.Ul,this.Qx,this),this.stop(),this.end())};return a});
define("jw",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("Model3DResource",d,function(){d.call(this)});a.prototype.get=function(h,l){switch(h){case "levels":l=[this];break;case "url":for(var k=d.prototype.get.call(this,h),b=this.get("levels"),g=0;b&&g<b.length&&void 0===k;g++){var f=b[g];f!=this&&(k=f.get(h))}return void 0!==k?k:l}return d.prototype.get.call(this,h,l)};return a});define("ig",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("Menu",d,function(){d.call(this)})});
define("o",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("MenuItem",d,function(){d.call(this)})});define("dA",["require","nc","eU"],function(a){var d=a("nc"),h=a("eU");return d.define("MotionBlurModel3DPostprocessing",h,function(){h.call(this)})});define("kf",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("MovementPhotoCamera",d,function(){d.call(this)})});
define("cz",["require"],function(){var a={Bz:"drag_acceleration",Os:"drag_rotation"};a.Uda=a.Bz;a.Kea=a.Os;return a});define("ot",["require","kV","cu"],function(a){var d=a("kV"),h=a("cu");return d.extend(h,function(l){h.call(this,l);this.cI=this.wI=this.Dv=this.Yv=0})});define("mX",["require","kV","cu"],function(a){var d=a("kV"),h=a("cu");return d.extend(h,function(l){h.call(this,l);this.Yaa=this.tTa=0})});
define("fc","require kV dY og cu fV cz ot mX".split(" "),function(a){function d(p,n){return p*n}function h(p,n){var r=0<n?1:-1;return r*(Math.pow(p,r*n)-1)/(p-1)}function l(p,n){return Math.min(Math.max(p/n,-1),1)}var k=a("kV");a("dY");var b=a("og"),g=a("cu"),f=a("fV"),c=a("cz"),e=a("ot"),m=a("mX"),q=k.extend(f,function(){f.call(this);this.Jka=this.Kka=1800;this.iJa=this.MOa=0;this.AK=!1;this.Un=void 0;this.CB=c.Uda;this.Bqa=c.Kea;this.RJ=0;this.sV=void 0;this.Ih=!1;this.vE=null;this.dB=3;this.Ja=
90;this.V2=this.vC=this.zc=1;this.Od=this.Xa=null;this.dM=!1});q.prototype.Lv=function(p){this.Kka=p.get("manualRotationSpeed");this.Jka=p.get("manualRotationSpeed");this.dB=p.get("manualZoomSpeed");this.V2=p.get("draggingFactor")};q.prototype.kz=function(p){this.CB=p;this.i$()};q.prototype.ED=function(p){this.Bqa=p;this.i$()};q.prototype.zD=function(p){this.Ja=p;this.vC=this.Ja/90};q.prototype.wq=function(p){this.Dl();if(p){this.Xa=p;if(this.Od=p.ASa&&p.Od)this.Od.bind(b.ub,this.Hna,this,!0),this.Od.bind(b.$b,
this.Ina,this,!0);this.Xa.bind(b.ub,this.Md,this,!0);this.Xa.bind(b.ec,this.ij,this,!0);this.Xa.bind(b.$b,this.jj,this,!0);this.Xa.bind(b.Jq,this.DB,this,!0);!1!==this.Xa.Hb().get("settings").get(TDV.PlayerSettings.kAa)&&this.Xa.bind(b.WD,this.$A,this,!0);this.Xa.bind(b.iw,this.Hia,this,!0);this.Xa.bind(b.VD,this.Eia,this,!0);this.i$()}};q.prototype.Dl=function(){null!=this.Xa&&(this.Od&&(this.Od.unbind(b.ub,this.Hna,this),this.Od.unbind(b.$b,this.Ina,this),this.Od=null),this.Xa.unbind(b.ub,this.Md,
this),this.Xa.unbind(b.ec,this.ij,this),this.Xa.unbind(b.$b,this.jj,this),this.Xa.unbind(b.Jq,this.DB,this),this.Xa.unbind(b.WD,this.$A,this),this.Xa.unbind(b.iw,this.Hia,this),this.Xa.unbind(b.VD,this.Eia,this),this.Xa=null,this.VR())};q.prototype.i$=function(){this.Xa&&(this.Xa.Dn?(this.sV=this.Bqa,this.RJ=this.MOa):(this.sV=this.CB,this.RJ=this.iJa))};q.prototype.Hna=function(){this.dM=!0};q.prototype.Ina=function(){this.dM=!1};q.prototype.Md=function(p){this.dM||(this.bOa(p),this.U8())};q.prototype.ij=
function(p){this.dM||this.$G(p)};q.prototype.jj=function(){this.dM||(this.h3(),this.VR())};q.prototype.DB=function(p){this.s$(p);this.U8(500)};q.prototype.Hia=function(){this.U8()};q.prototype.$A=function(p){this.t$(p)};q.prototype.Eia=function(){this.VR()};q.prototype.bOa=function(p){this.AK=!0;this.Un=p;this.$G(p)};q.prototype.$G=function(p){if(this.AK)switch(this.sV){case c.Bz:this.kQa(p);break;case c.Os:this.jQa(p)}};q.prototype.kQa=function(p){var n=this.yra,r=p.x-this.Un.x;r=+d(h(10,l(3>Math.abs(r)?
0:r,this.Xa.Va())),this.Kka*this.vC);p=p.y-this.Un.y;n.call(this,r,-d(h(10,l(3>Math.abs(p)?0:p,this.Xa.zb())),this.Jka*this.vC))};q.prototype.jQa=function(p){this.h$(-d(l(p.x-this.Un.x,this.Xa.Va()),this.Ja*this.V2),+d(l(p.y-this.Un.y,this.Xa.Va()),this.Ja*this.V2));this.Un=p};q.prototype.h3=function(){if(this.AK)switch(this.AK=!1,this.sV){case c.Bz:this.yra(0,0)}};q.prototype.yra=function(p,n){var r=new e(q.Rs);r.Yv=p;r.Dv=n;this.trigger(r)};q.prototype.h$=function(p,n){var r=new e(q.Rs);r.wI=p;
r.cI=n;this.trigger(r)};q.prototype.t$=function(p){if(this.zc!=p.scale){this.h3();var n=this.zc;this.zc=p.scale;p=new m(q.Fo);p.Yaa=this.Ja*n/this.zc-this.Ja;this.trigger(p)}};q.prototype.s$=function(p){if(0!=p.delta){this.h3();var n=new m(q.Fo);n.Yaa=this.Ja*-p.delta*this.dB/100;this.trigger(n)}};q.prototype.U8=function(p){var n=null!=this.vE;this.bqa();if(p&&(n||!this.Ih)){var r=this;this.vE=setTimeout(function(){r.vE=null;r.VR()},p)}this.Ih||(this.Ih=!0,this.trigger(new g(q.ui)))};q.prototype.VR=
function(){this.bqa();this.Ih&&(this.Ih=!1,this.trigger(new g(q.ti)))};q.prototype.bqa=function(){null!=this.vE&&(clearTimeout(this.vE),this.vE=null)};q.Rs="rotation change";q.Fo="zoom change";q.ui="user interaction start";q.ti="user interaction end";return q});
define("dp",["require","u"],function(a){function d(){this.OG=l.kb()?.066:.1;this.kJa=.5;this.ONa=l.kb()?.066:.1;this.PQa=.1;this.aW=this.gW=!1;this.reset()}function h(k,b,g){k=(b-k)*(1-g);.01>Math.abs(k)&&(k=0);return b-k}var l=a("u");d.prototype.reset=function(){this.Dha=this.j2=this.NE=this.Xw=this.GJ=this.p2=this.n2=this.v2=this.pF=this.dB=this.nV=this.pV=this.Gp=this.cM=this.fs=this.ZN=0};d.prototype.Cca=function(k,b,g,f,c,e,m,q,p){return this.ZN!=k||(this.cM=b)||this.pV!=g||0!=f||0!=c||this.aW!=
m||this.bla!=q||this.gW!=p?(this.ZN=k,this.cM=b,this.pV=g,this.fs+=f,this.Gp+=c,this.nV+=e,this.aW=m,this.bla=q,this.gW=p,!0):!1};d.prototype.WWa=function(k,b){return this.dB!=k||0!=b?(this.dB=k,this.pF+=b,!0):!1};d.prototype.Qe=function(){return 0!=this.v2||0!=this.n2||0!=this.p2||0!=this.GJ||0!=this.ZN||0!=this.cM||0!=this.pV||0!=this.dB||0!=this.fs||0!=this.Gp||0!=this.pF};d.prototype.wb=function(k){k=1E3/k;var b=this.v2/k,g=this.ZN/k+this.fs;this.fs=0;var f=this.n2/k,c=this.cM/k+this.Gp;this.Gp=
0;var e=this.p2/k,m=this.pV/k+this.nV;this.nV=0;var q=this.dB+this.pF*k;this.pF=0;var p=0==g&&0==c&&0==m,n=0==b&&0==f&&0==e;this.aW&&n&&!p||this.gW&&p&&!n||this.bla&&!p&&!n?(p=p?this.OG:n?this.ONa:this.kJa,this.Xw=h(b,g,p),this.NE=h(f,c,p),this.j2=h(e,m,p)):(this.Xw=g,this.NE=c,this.j2=m);b=0==this.GJ;g=0==q;this.GJ=this.aW&&b&&!g||this.gW&&g&&!b?h(this.GJ,q,this.PQa):q;this.v2=this.Xw*k;this.n2=this.NE*k;this.p2=this.j2*k;this.Dha=this.GJ/k};return d});
define("cS","require jquery.mod kV e fc dp bf og".split(" "),function(a){var d=a("jquery.mod"),h=a("kV"),l=a("e"),k=a("fc"),b=a("dp"),g=a("bf"),f=a("og");a=h.extend(l,function(){l.call(this);this.qe("Renderer");this.O=d("<canvas></canvas>");this.O.css({position:"absolute",left:0,top:0});this.yb().append(this.O);this.wx=null;this.Ca=this.tF=this.rF=this.sF=0;this.jk=!1;this.ZKa=150;this.rK=0;this.qm=null;this.bind(f.fc,this.cc,this,!0);this.ib=new k;this.ib.gZa(720);this.ib.qP(0);this.ib.kz("drag_rotation");
this.ib.zD(360);this.ib.bind(k.Rs,this.lKa,this);this.Yb=new b});a.prototype.MVa=function(c,e,m){this.wx=c;this.sF=e;this.rF=m;this.tF=Math.floor(this.wx.length*this.Ca/360);this.Y7();this.ib.wq(this);this.Ka()};a.prototype.uRa=function(){this.wx=null;this.tk();this.Y7();this.ib.Dl()};a.prototype.play=function(){this.jk=!0;this.Ka()};a.prototype.lKa=function(c){this.tk();this.Yb.Cca(c.Yv,c.Dv,0,c.wI,c.cI,0,!1,!0);this.Ka()};a.prototype.pL=function(){this.play()};a.prototype.lj=function(c){this.wx&&
(this.Yb.Qe()?(this.jk=!1,this.Yb.wb(c),this.Ufa(this.Yb.Xw),this.Ka()):this.jk?(this.Ufa(this.ZKa*c/1E3),this.Ka()):this.vF()||this.Sp())};a.prototype.an=function(c){for(this.Ca=c;0>this.Ca;)this.Ca+=360;for(;360<=this.Ca;)this.Ca-=360;this.MPa()};a.prototype.MPa=function(){if(this.wx){var c=Math.floor(this.wx.length*this.Ca/360);this.tF!=c&&(this.tF=c,this.ioa())}};a.prototype.Ufa=function(c){this.an(this.Ca+c)};a.prototype.cc=function(){this.Y7()};a.prototype.Y7=function(){var c=this.O.get(0);
if(0==this.sF||0==this.rF)c.width=0,c.height=0;else{var e=this.bf(),m=this.af();m*this.sF>e*this.rF?(c.width=e,c.height=this.rF*e/this.sF):(c.height=m,c.width=this.sF*m/this.rF);this.O.css({left:Math.round(.5*(e-c.width))+"px",top:Math.round(.5*(m-c.height))+"px"});this.ioa()}};a.prototype.ioa=function(){if(this.wx){var c=this.O.get(0);c.getContext("2d").drawImage(this.wx[this.tF],0,0,this.sF,this.rF,0,0,c.width,c.height)}};a.prototype.vF=function(){return this.qm?!0:!1};a.prototype.Sp=function(){this.tk();
if(0<this.rK){var c=this;this.qm=setTimeout(function(){c.qm=null;c.pL()},this.rK)}};a.prototype.tk=function(){this.qm&&(clearTimeout(this.qm),this.qm=null)};a.prototype.Ka=function(){g.requestFrame(this.lj,this)};return a});
define("lT","require og hE cu nc fN z cS nC kd".split(" "),function(a){var d=a("og"),h=a("hE"),l=a("cu"),k=a("nc"),b=a("fN"),g=a("z"),f=a("cS"),c=a("nC"),e=a("kd");a=k.define("Object3D",c,function(){c.call(this);this.jd=this.vm=this.Fh=this.j=null;this.bind(d.hd,this.ek,this);this.bind(d.od,this.$j,this)});a.prototype.xb=function(){c.prototype.xb.call(this);this.j||(this.j=new f,this.j.fa({left:0,top:0,right:0,bottom:0}),this.Ua(this.j));this.Fh||(this.Fh=new g,this.Fh.fa({left:0,bottom:0,right:0,
height:20,visible:!1}),this.Ua(this.Fh))};a.prototype.ek=function(){this.PK()};a.prototype.$j=function(){this.$n()};a.prototype.PK=function(){this.Fh.set("percent",0);this.Fh.set("visible",!0);this.j.an(this.get("yaw"));var m=this.get("frames",[]);this.vm=[];this.jd=[];for(var q=0;q<m.length;q++){var p=b.pq(m[q]);this.vm.push(p);p=new e(h.ln);p.bind(d.aa,this.yL,this);p.bind(d.Fc,this.zL,this);this.jd.push(p)}for(q=0;q<m.length;q++)this.jd[q].load(this.vm[q].get("url"))};a.prototype.yL=function(){var m=
this.jd.filter(function(q){return q.Gl()});this.Fh.set("percent",100*m.length/this.jd.length);m.length==this.jd.length&&this.kd()};a.prototype.zL=function(){};a.prototype.kd=function(){this.Fh.set("visible",!1);var m=this.vm[0].get("width",this.jd[0].nd()),q=this.vm[0].get("height",this.jd[0].$d()),p=this.jd.map(function(n){return n.sf()});this.j.MVa(p,m,q);this.trigger(new l(d.aa))};a.prototype.$n=function(){this.jd&&(this.Fh.set("visible",!1),this.j.uRa(),this.jd=this.jd.forEach(function(m){m.unbind(d.aa,
this.yL,this);m.unbind(d.Fc,this.zL,this);m.cancel()}),this.vm=this.jd=null)};return a});define("ii",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("OrbitLight",d,function(){d.call(this)})});define("gs",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("RotationalCameraPosition",d,function(h,l,k){d.call(this);void 0!==h&&this.set("yaw",h);void 0!==l&&this.set("pitch",l);void 0!==k&&this.set("hfov",k)})});
define("lX",["require","gs","nc"],function(a){var d=a("gs");return a("nc").define("PanoramaCameraPosition",d,function(){d.apply(this,arguments)})});define("gY",["require","lw","nc","lX","gs"],function(a){var d=a("lw"),h=a("nc"),l=a("lX"),k=a("gs"),b=h.define("RotationalCamera",d,function(){d.call(this);this.set("initialPosition",new k)});return h.define("PanoramaCamera",b,function(){b.call(this);this.set("initialPosition",new l)})});
define("lL",["require","gs","nc"],function(a){var d=a("gs");return a("nc").define("RotationalCameraDisplayPosition",d,function(){d.apply(this,arguments)})});define("kv",["require","lL","nc"],function(a){var d=a("lL");return a("nc").define("PanoramaCameraDisplayPosition",d,function(){d.apply(this,arguments)})});define("eM",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaCameraMovement",d,function(){d.call(this)})});
define("eG",["require","lw","cu","nc","og"],function(a){var d=a("lw"),h=a("cu"),l=a("nc"),k=a("og");a=l.define("RotationalCameraSequence",d,function(){d.call(this)});a.prototype.play=a.prototype.play=function(){this.trigger(new h(k.rw))};a.prototype.pause=a.prototype.pause=function(){this.trigger(new h(k.eE))};return a});define("bK",["require","nc","eG"],function(a){var d=a("nc"),h=a("eG");return d.define("PanoramaCameraSequence",h,function(){h.call(this)})});
define("if",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaMapLocation",d,function(){d.call(this)})});define("bi",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaModel3DLocation",d,function(){d.call(this)})});define("ou",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaOverlay",d,function(){d.call(this)})});
define("mM",["require","kx","gU","a"],function(a){function d(b){this.j=b;this.Qo=[];this.n4=!1;this.cb=this.Ca=0}var h=a("kx"),l=a("gU"),k=a("a");d.prototype.clear=function(){this.stop();this.Qo=this.j=null};d.prototype.end=function(b){var g=[],f=[],c=this.sja(b);this.Qo.forEach(function(e){0>c.indexOf(e)?g.push(e):f.push(e)});g.forEach(function(e){e.WC().Gd(h.S)});this.Qo=f;this.n4=!1};d.prototype.start=function(b){this.end(b);this.Qo=this.sja(b);this.n4=0<this.Qo.filter(function(g){return g instanceof
l}).length;this.Wqa();this.CV(h.X,!0)};d.prototype.play=function(){this.CV(h.X)};d.prototype.pause=function(){this.CV(h.Cb)};d.prototype.stop=function(){this.CV(h.S)};d.prototype.sd=function(){this.Ca=this.j.Yc();this.cb=this.j.Pc();this.Wqa()};d.prototype.Wqa=function(){if(this.n4){var b=Math.PI/180,g=this.Ca*b,f=this.cb*b,c=new k(Math.sin(g)*Math.cos(f),Math.sin(f),Math.cos(g)*Math.cos(f));this.Qo.forEach(function(e){if(e instanceof l){var m=e.get("yaw",g)*b,q=e.get("pitch",f)*b,p=e.get("maximumAngle",
360)*b;m=new k(Math.sin(m)*Math.cos(q),Math.sin(q),Math.cos(m)*Math.cos(q));p=Math.min(1,Math.max(0,1-Math.acos(c.SC(m))/p));e.WC().Sv(p)}}.bind(this))}};d.prototype.sja=function(b){return b?b.get("audios",[]):[]};d.prototype.CV=function(b,g){(g?this.Qo.slice().reverse():this.Qo).forEach(function(f){if(f.get("autoplay",!1)){f=f.WC();var c=f.getState();b==h.X&&c!=h.X?f.Gd(h.X):b==h.Cb&&c==h.X?f.Gd(h.Cb):b==h.S&&c!=h.S&&f.Gd(h.S)}})};return d});
define("fb",["require"],function(){function a(c){c%=l;0>c&&(c+=l);return g[c*k|0]}function d(c){c%=l;0>c&&(c+=l);return b[c*k|0]}function h(){this.identity()}h.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.tz=this.hh=this.gh=0};h.prototype.clone=function(){var c=new h;c.m11=this.m11;c.m12=this.m12;c.m13=this.m13;c.m21=this.m21;c.m22=this.m22;c.m23=this.m23;c.m31=this.m31;c.m32=this.m32;c.m33=this.m33;c.gh=this.gh;c.hh=
this.hh;c.tz=this.tz;return c};h.prototype.concat=function(c){var e=this.m11,m=this.m12,q=this.m13,p=this.m21,n=this.m22,r=this.m23,t=this.m31,u=this.m32,v=this.m33,w=this.gh,x=this.hh,y=this.tz;this.m11=e*c.m11+m*c.m21+q*c.m31;this.m12=e*c.m12+m*c.m22+q*c.m32;this.m13=e*c.m13+m*c.m23+q*c.m33;this.m21=p*c.m11+n*c.m21+r*c.m31;this.m22=p*c.m12+n*c.m22+r*c.m32;this.m23=p*c.m13+n*c.m23+r*c.m33;this.m31=t*c.m11+u*c.m21+v*c.m31;this.m32=t*c.m12+u*c.m22+v*c.m32;this.m33=t*c.m13+u*c.m23+v*c.m33;this.gh=w*
c.m11+x*c.m21+y*c.m31+c.gh;this.hh=w*c.m12+x*c.m22+y*c.m32+c.hh;this.tz=w*c.m13+x*c.m23+y*c.m33+c.tz};h.prototype.translate=function(c,e,m){this.gh+=c;this.hh+=e;this.tz+=m};h.prototype.scale=function(c,e,m){this.m11*=c;this.m12*=e;this.m13*=m;this.m21*=c;this.m22*=e;this.m23*=m;this.m31*=c;this.m32*=e;this.m33*=m;this.gh*=c;this.hh*=e;this.tz*=m};h.prototype.rotateX=function(c){var e=a(c);c=d(c);var m=this.m12*e+this.m13*c,q=this.m22*c-this.m23*e,p=this.m22*e+this.m23*c,n=this.m32*c-this.m33*e,r=
this.m32*e+this.m33*c,t=this.hh*c-this.tz*e,u=this.hh*e+this.tz*c;this.m12=this.m12*c-this.m13*e;this.m13=m;this.m22=q;this.m23=p;this.m32=n;this.m33=r;this.hh=t;this.tz=u};h.prototype.rotateY=function(c){var e=a(c);c=d(c);var m=-this.m11*e+this.m13*c,q=this.m21*c+this.m23*e,p=-this.m21*e+this.m23*c,n=this.m31*c+this.m33*e,r=-this.m31*e+this.m33*c,t=this.gh*c+this.tz*e,u=-this.gh*e+this.tz*c;this.m11=this.m11*c+this.m13*e;this.m13=m;this.m21=q;this.m23=p;this.m31=n;this.m33=r;this.gh=t;this.tz=u};
h.prototype.rotateZ=function(c){var e=a(c);c=d(c);var m=this.m11*e+this.m12*c,q=this.m21*c-this.m22*e,p=this.m21*e+this.m22*c,n=this.m31*c-this.m32*e,r=this.m31*e+this.m32*c,t=this.gh*c-this.hh*e,u=this.gh*e+this.hh*c;this.m11=this.m11*c-this.m12*e;this.m12=m;this.m21=q;this.m22=p;this.m31=n;this.m32=r;this.gh=t;this.hh=u};h.prototype.rotate=function(c,e,m){this.rotateX(c);this.rotateY(e);this.rotateZ(m)};h.prototype.invert=function(){var c=this.mSa();if(0==c)return!1;var e=this.clone();this.m11=
(e.m22*e.m33-e.m23*e.m32)/c;this.m12=(e.m13*e.m32-e.m12*e.m33)/c;this.m13=(e.m12*e.m23-e.m13*e.m22)/c;this.m21=(e.m23*e.m31-e.m21*e.m33)/c;this.m22=(e.m11*e.m33-e.m13*e.m31)/c;this.m23=(e.m13*e.m21-e.m11*e.m23)/c;this.m31=(e.m21*e.m32-e.m22*e.m31)/c;this.m32=(e.m12*e.m31-e.m11*e.m32)/c;this.m33=(e.m11*e.m22-e.m12*e.m21)/c;this.gh=-(e.gh*this.m11+e.hh*this.m21+e.tz*this.m31);this.hh=-(e.gh*this.m12+e.hh*this.m22+e.tz*this.m32);this.tz=-(e.gh*this.m13+e.hh*this.m23+e.tz*this.m33);return!0};h.prototype.mSa=
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)};h.prototype.qH=function(c){var e=c.x*this.m12+c.y*this.m22+c.z*this.m32+this.hh,m=c.x*this.m13+c.y*this.m23+c.z*this.m33+this.tz;c.x=c.x*this.m11+c.y*this.m21+c.z*this.m31+this.gh;c.y=e;c.z=m};for(var l=2*Math.PI,k=18E4/l,b=new Float32Array(180001),g=new Float32Array(180001),f=0;18E4>f;f++)b[f]=Math.cos(f/k),g[f]=Math.sin(f/k);b[18E4]=b[0];
g[18E4]=g[0];return h});define("dv",["require"],function(){return{Ls:0,Ma:1,eb:2}});
define("bW",["require","nc","lo"],function(a){var d=a("nc"),h=a("lo"),l={get:function(k){return k.hBa||(k.hBa=this.KFa(k))},KFa:function(k){if(d.Ea("CubicPanoramaFrame",k))return k.get("stereoCube")?l.sw:k.get("cube")?l.Ys:l.Lk;if(d.Ea("SphericPanoramaFrame",k)){var b=k.get("stereoSphere"),g=k.get("sphere"),f=k.get("hfov");k=k.get("vfov");var c=359.9<f&&179.9<k,e=h.jRa();if(!b||c&&!e&&g)return l.Io;g=b.get("levels");b=Math.max.apply(Math,g.map(function(m){return m.get("width")}));g=Math.max.apply(Math,
g.map(function(m){return m.get("height")}));return 2==Math.round(g/k/(b/f))?l.Mo:l.Rq}},sw:"stereoCube_12_1",Ys:"monoCube_6_1",Lk:"monoCube_1_1",Io:"monoSphere_1_1",Mo:"stereoSphere_1_2",Rq:"stereoSphere_2_1"};return l});
define("mP","require nc lG dv ml bW je lo u hL lQ lK kd nD".split(" "),function(a){function d(H,O,L){return H.split(O).join(L).split(encodeURI(O)).join(L)}function h(H,O){return 0<=H.indexOf(O)||0<=H.indexOf(encodeURI(O))}function l(){var H=z.zv()&&C.Ph("recent_ipad_use_max_res",!1);l=function(){return H};return H}function k(H){if(0==H.length)return 1;H.sort(function(O,L){return L.get("width")-O.get("width")});return H[0].get("width")/H[0].get("height")}function b(H,O){var L=1E4;l()||(z.Ef()?L=2048:
z.zv()?L=1280:z.kb()&&(L=1024));switch(H){case A.Ys:return[6*L,L];case A.Lk:return[L,L];case A.sw:return[12*L,L]}switch(H){case A.Mo:O*=2;break;case A.Rq:O*=.5}return 2<O?[4*L,4*L/O]:[2*L*O,2*L]}function g(H){if(l())return[void 0,void 0];switch(H){case A.Ys:if(z.Ef()||z.kb())return[18432,1536];break;case A.Mo:if(z.Ef())return[5352,5352];if(z.kb())return[6086,6086];break;case A.Io:if(z.Ef())return[7168,3584];if(z.kb()&&z.zv())return[8192,4096]}return[void 0,void 0]}function f(H,O){var L=g(O);return H.filter(function(S){return v.Ea("TiledImageResourceLevel",
S)?!0:void 0!==L[0]&&S.get("width")>L[0]||void 0!==L[1]&&S.get("height")>L[1]?!1:!0})}function c(){return z.zv()?[w.Hea]:z.lba()?z.gd()==z.aw||z.gd()==z.QD?[w.rQ,w.d0]:[w.d0,w.rQ]:z.Ef()?[w.rQ]:z.kb()?[w.qQ]:[]}function e(H){H.sort(function(O,L){return O.get("width")-L.get("width")});return H}function m(H,O){function L(S){return Math.abs(S.get("width")*S.get("height")-O[0]*O[1])}H.sort(function(S,V){return L(S)-L(V)});return H.length&&H[0]||null}function q(H,O,L){H=H.filter(function(S){return 0>S.get("tags").indexOf(O)});
return H.length?H:void 0!==L?L:[]}function p(H,O,L){H=H.filter(function(S){return 0<=S.get("tags").indexOf(O)});return H.length?H:void 0!==L?L:[]}function n(H,O,L){switch(L){case A.sw:case A.Ys:case A.Lk:return H;case A.Io:case A.Rq:return H*O.get("hfov",180)/90;case A.Mo:return H*O.get("hfov",180)*2/90}}function r(H,O){switch(O){case A.sw:return H.get("stereoCube").get("levels");case A.Ys:return H.get("cube").get("levels");case A.Lk:return H.get("front").get("levels");case A.Io:return H.get("sphere").get("levels");
case A.Mo:case A.Rq:return H.get("stereoSphere").get("levels")}}function t(H,O){var L=r(H,O),S=H.get("minFaceSize");if(S){var V=n(S,H,O);H=L.filter(function(Z){return Z.get("height")>=V});0<H.length&&(L=H)}return L}function u(H){for(var O=[],L=0;L<H.length;L++){var S=H[L];0>O.indexOf(S)&&O.push(S)}return O}var v=a("nc"),w=a("lG"),x=a("dv"),y=a("ml"),A=a("bW"),B=a("je");a("lo");var z=a("u");a("hL");var C=a("lQ"),E=a("lK"),F=a("kd"),G=a("nD"),J={Rta:function(H){H=H.get("frames");if(0==H.length)return 1;
var O=H[0];H=A.get(O)==A.Io&&O.Hl()?(H=G.yj(O.get("sphere")))?[H]:[]:A.get(O)!=A.Mo&&A.get(O)!=A.Rq||!O.Hl()?J.Kaa(O,!1):(H=G.yj(O.get("stereoSphere")))?[H]:[];return Math.max.apply(Math,H.map(function(L){return J.LSa(O,L)}).concat([1]))},LSa:function(H,O){O=J.Gaa(H,O,y.FRONT);O=O.get("width");var L=H.Yy().get("hfov",360);switch(A.get(H)){case A.sw:return O/1080;case A.Ys:return O/540;case A.Lk:return O/90;case A.Io:return O/L;case A.Mo:return O/L;case A.Rq:return O/(2*L)}},cba:function(H,O){H=J.Tm(H,
O);return 6>=H.length&&H.every(function(L){return F.lZ(L)})},Kba:function(H,O){return J.Tm(H,O).every(function(L){return F.lZ(L)})},Tm:function(H,O,L){if(!H)return[];L||=!1;if(v.Ea("Panorama",H))return L=H.get("flipImageHorizontally",!1),u([].concat(Array.prototype.concat.apply([],H.get("frames").map(function(I){return J.Tm(I,O,L)})),Array.prototype.concat.apply([],H.get("overlays").map(function(I){return J.Tm(I,O,L)}))));if(v.Ea("PanoramaFrame",H)){var S=Array.prototype.concat.apply([],H.get("overlays").map(function(I){return J.Tm(I,
O,L)}));if(A.get(H)==A.Io&&H.Hl())return J.Tm(G.yj(H.get("sphere")),O).concat(S);if((A.get(H)==A.Mo||A.get(H)==A.Rq)&&H.Hl())return J.Tm(G.yj(H.get("stereoSphere")),O).concat(S);var V=J.Kaa(H,O)[0];L=H.get("flipImageHorizontally",!1);if(A.get(H)==A.Lk){var Z=[y.FRONT,y.Ma,y.BACK,y.eb,y.sc,y.mc];return Array.prototype.concat.apply([],Z.map(function(I){return(I=J.Gaa(H,V,I))?J.Tm(I,O,L):[]})).concat(S)}return J.Tm(V,O,L).concat(S)}if(v.Ea("Video360ResourceLevel",H))return(S=H.get("posterURL"))?[S]:
[];if(v.Ea("HotspotPanoramaOverlay",H))return H.get("projected")?Array.prototype.concat.apply([],H.get("items").map(function(I){return J.Tm(I,O,L)})):[];if(v.Ea("FlatHotspotPanoramaOverlayImage",H)||v.Ea("HotspotPanoramaOverlayImage",H))return S=H.get("image").get("levels"),V=S[0],J.Tm(V,O,L),Array.prototype.concat.apply([],S.map(function(I){return J.Tm(I,O,L)}));if(v.Ea("TiledImageResourceLevel",H)){var ca=[];S=Math.round(H.get("width")/H.get("height"));if(1==S)var D=A.Lk;else if(12==S)D=A.bYa;else if(6==
S)D=A.Ys;else return[];var K=12==S?[x.eb,x.Ma]:[x.Ls];Z=[y.eb,y.Ma,y.sc,y.mc,y.FRONT,y.BACK];var P=H.get("colCount",S)/S,T=H.get("rowCount",1);K.forEach(function(I){Z.forEach(function(M){for(var X=0;X<T;X++)for(var Y=0;Y<P;Y++)ca.push(J.cua(H,D,I,M,L,T,X,Y))})});return ca}return v.Ea("ImageResourceLevel",H)?[H.get("url")]:[]},Kaa:function(H,O){var L=A.get(H),S=this.xGa(H);if(S)return O&&!this.fka(S)&&(H=this.yja(H),H!=S)?[H,S]:[S];S=p(t(H,L),w.e0);if(0<S.length)return e(S);S=this.jHa(H);return O&&
!this.fka(S)&&(H=this.yja(H),H!=S)?[H,S]:[S]},OTa:function(H){return 0<=H.get("tags").indexOf(w.e0)},Gaa:function(H,O,L){if(A.get(H)!=A.Lk)return O;switch(L){case y.FRONT:var S=H.get("front");break;case y.Ma:S=H.get("left");break;case y.BACK:S=H.get("back");break;case y.eb:S=H.get("right");break;case y.sc:S=H.get("top");break;case y.mc:S=H.get("bottom")}H=S&&S.get("levels")||[];if(0==H.length)return null;H=H.filter(function(V){return V.get("width")==O.get("width")&&V.get("height")==O.get("height")&&
V.get("grayscale",!1)==O.get("grayscale",!1)&&V.get("colCount",1)==O.get("colCount",1)&&V.get("rowCount",1)==O.get("rowCount",1)});return H[0]},cua:function(H,O,L,S,V,Z,ca,D){H=H.get("url");var K=0;h(H,"{eye}")?H=d(H,"{eye}",W[L]):K+=6*(V?Q:U)[L];h(H,"{face}")?H=d(H,"{face}",N[S]):O!=A.Lk&&(K+=R[S]);H=d(H,"{row}",ca);return H=d(H,"{column}",D+K*Z)},NSa:function(H,O){return J.hK(J.aB(H.get("image")),90,90,E.jh,O)},lSa:function(H,O){return J.hK(J.aB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),
O)},zSa:function(H,O){return J.hK(J.aB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),O)},ZSa:function(H,O){return J.hK(J.aB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),O)},Gta:function(H,O){return J.hK(J.aB(H.get("image")),H.get("hfov"),H.get("vfov"),H.get("scaleMode"),O)},aB:function(H){return H&&H.get("levels")||[]},hK:function(H,O,L,S,V){if(!H||!H.length)return null;H=q(H,w.Uq,H);for(var Z=c(),ca=0;ca<Z.length;ca++)H=p(H,Z[ca],H);Z=1E4;l()||(z.Ef()?Z=2048:z.zv()?
Z=1280:z.kb()&&(Z=1024));ca=e(H)[H.length-1];O=B.Oaa(O,L,ca.get("width"),ca.get("height"),S,V);return m(H,[O.te*Z/90,O.Cq*Z/90])},uSa:function(H){var O=J.aB(H.get("image"));if(!O||!O.length)return null;O=q(O,w.Uq,O);for(var L=c(),S=0;S<L.length;S++)O=p(O,L[S],O);L=e(O)[O.length-1];H=B.KX(H.get("width"),H.get("height"),L.get("width"),L.get("height"),H.get("scaleMode"));return m(O,[H.width,H.height])},QSa:function(H){var O=J.aB(H.get("image"));if(!O||!O.length)return null;O=q(O,w.Uq,O);for(var L=c(),
S=0;S<L.length;S++)O=p(O,L[S],O);L=1E4;l()||(z.Ef()?L=2048:z.zv()?L=1280:z.kb()&&(L=1024));var V=S=20;(H=H.get("vertices"))&&4==H.length&&(S=H[0].get("yaw"),V=H[1].get("yaw"),V<S&&(V+=360),S=V-S,V=H[0].get("pitch"),H=H[3].get("pitch"),V-=H);return m(O,[S*L/90,V*L/90])},yja:function(H){var O=A.get(H);H=t(H,O);H=f(H,O);H=p(H,w.Uq,H);O=c();for(var L=0;L<O.length;L++)H=p(H,O[L],H);return m(H,[0,0])},jHa:function(H){var O=A.get(H);H=t(H,O);H=f(H,O);H=q(H,w.Uq,H);for(var L=c(),S=0;S<L.length;S++)H=p(H,
L[S],H);O=b(O,k(H));return m(H,O)},xGa:function(H){var O=c();if(0==O.length)return null;var L=A.get(H),S=t(H,L);S=f(S,L);S=q(S,w.Uq,S);H=[];for(var V=0;V<O.length&&0==H.length;V++)H=p(S,O[V]);if(0==H.length)return null;O=b(L,k(H));return m(H,O)},fka:function(H){return 0<=H.get("tags").indexOf(w.e0)?!1:z.gd()==z.yz?!0:F.lZ(H.get("url"))}},R=function(){var H={};H[y.eb]=0;H[y.Ma]=1;H[y.sc]=2;H[y.mc]=3;H[y.FRONT]=4;H[y.BACK]=5;return H}(),U=function(){var H={};H[x.eb]=0;H[x.Ma]=1;H[x.Ls]=0;return H}(),
Q=function(){var H={};H[x.eb]=1;H[x.Ma]=0;H[x.Ls]=0;return H}(),N=function(){var H={};H[y.eb]="r";H[y.Ma]="l";H[y.sc]="u";H[y.mc]="d";H[y.FRONT]="f";H[y.BACK]="b";return H}(),W=function(){var H={};H[x.Ma]="l";H[x.eb]="r";H[x.Ls]="b";return H}();return J});
define("ia","require dY og ky fb a mP".split(" "),function(a){function d(p){this.j=p;this.va=!1;this.Jm=d.eA;this.w3=this.Vja=!1;this.pi(null);this.j.bind(l.fc,this.cc,this,!0);this.cc()}var h=a("dY"),l=a("og"),k=a("ky"),b=a("fb"),g=a("a"),f=a("mP");d.prototype.uua=function(){return this.Jm!==d.eA};d.prototype.tua=function(){return this.Jm&d.jE?!0:!1};d.prototype.vua=function(){return this.Jm&d.kE?!0:!1};d.prototype.wua=function(){return this.Jm&d.iA?!0:!1};d.prototype.sua=function(){return this.Jm&
d.dA?!0:!1};d.prototype.WY=function(p){this.Vja=p};d.prototype.Yc=function(){this.Pm();return this.Ca};d.prototype.Pc=function(){this.Pm();return this.cb};d.prototype.Df=function(){this.Pm();return this.dd};d.prototype.vv=function(){this.Pm();return this.Ja};d.prototype.pi=function(p){p?(this.Q6=p.get("hfov",360),this.BU=p.get("vfov",180),this.ZL=p.get("pitch",0),this.SB=p.get("partial",!1),this.p4=p.zua(),this.l4=p.oua(),this.u4=Math.min(p.get("hfovMax",170),170),this.oK=p.get("hfovMin"),this.E5=
f.Rta(p)):(this.Q6=360,this.BU=180,this.ZL=0,this.l4=this.p4=this.SB=!1,this.u4=120,this.E5=this.oK=1);this.Ca=0;this.cb=this.ZL;this.dd=0;this.va=!0};d.prototype.setPosition=function(p,n,r,t,u){this.Ca=p;this.cb=n;this.dd=r;this.Ja=t;this.w3=u;this.va=!0};d.prototype.cc=function(){var p=this.j.Va(),n=this.j.zb();if(this.ea!=p||this.ua!=n)this.ea=p,this.ua=n,this.va=!0};d.prototype.Pm=function(){if(this.va){this.va=!1;var p=this.Ca*m,n=this.cb*m,r=this.Ja*m,t=(this.w3?k.Bq(this.u4,this.ea,this.ua):
this.u4)*m;a:{var u=this.oK;if(h(u).isString()&&(u=u.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=u.length){u=parseFloat(u[1]);break a}u=void 0}u=void 0!==u?2*Math.atan2(this.ea*this.j.getPixelRatio()*.5,45*this.E5*u/100):this.oK?(this.w3?k.Bq(this.oK,this.ea,this.ua):this.oK)*m:2*Math.atan2(this.ea*this.j.getPixelRatio()*.5,45*this.E5);u=Math.min(t,u);if(this.Vja){var v=360;var w=180;var x=0}else if(this.p4||this.l4){v=this.l4?90:this.ZL+.5*this.BU;var y=this.p4?-90:this.ZL-.5*this.BU;w=v-y;x=.5*(v+
y);v=this.Q6}else v=this.Q6,x=this.ZL,w=this.BU;v*=m;w*=m;x*=m;for(y=this.ea/this.ua;p<-c;)p+=2*c;for(;p>c;)p-=2*c;r=Math.max(Math.min(r,t),u);t=d.eA;n>e?t|=d.iA:n<-e&&(t|=d.dA);n=Math.max(Math.min(n,.5*c),.5*-c);var A=2*Math.atan(Math.tan(.5*r)/y);if(A>=w)r=2*Math.atan(Math.tan(.5*w)*y),n=x,t=t|d.iA|d.dA;else{var B=Math.min(.5*w+x,.5*c);w=Math.max(.5*-w+x,.5*-c);x=!this.SB&&B>=.495*c?.5*c:B-.5*A;w=!this.SB&&w<=.495*-c?.5*-c:w+.5*A;n>x?(n=x,t|=d.iA):n<w&&(n=w,t|=d.dA)}this.SB&&(w=Math.tan(.5*r),y=
w/y,y=new g(-w,0<n?y:-y,1),w=new b,w.rotateX(-n),y.apply(w),y=2*y.Yc(),0>y&&(y+=2*c),w=.5*v-.5*y,A=.5*-v+.5*y,y>v?(p=0,r=Math.max(u,r*v/y),t=t|d.jE|d.kE):p>w?(p=w,t|=d.kE):p<A&&(p=A,t|=d.jE));this.Ca=p*q;this.cb=n*q;this.Ja=r*q;this.Jm=t}};var c=Math.PI,e=.5*Math.PI,m=Math.PI/180,q=180/Math.PI;d.eA=0;d.jE=1;d.kE=2;d.iA=4;d.dA=8;return d});
define("bc",["require","kV","og","fV","ot"],function(a){var d=a("kV"),h=a("og"),l=a("fV"),k=a("ot"),b=d.extend(l,function(){l.call(this);this.AK=!1;this.Un=void 0;this.Ja=90;this.n3=.1;this.ta=this.Xa=null});b.prototype.Lv=function(g){this.ta&&this.ta.unbind(h.G("hoverFactor"),this.O9,this);if(this.ta=g)this.ta.bind(h.G("hoverFactor"),this.O9,this),this.O9()};b.prototype.O9=function(){this.n3=this.ta.get("hoverFactor")};b.prototype.zD=function(g){this.Ja=g};b.prototype.wq=function(g){this.Dl();g&&
(this.Xa=g,this.Un=void 0,this.Xa.bind(h.ec,this.ij,this,!0))};b.prototype.Dl=function(){null!=this.Xa&&(this.Xa.unbind(h.ec,this.ij,this),this.Xa=null)};b.prototype.ij=function(g){this.$G(g)};b.prototype.$G=function(g){this.Un&&this.h$.call(this,+(Math.min(Math.max((g.x-this.Un.x)/this.Xa.Va(),-1),1)*this.Ja*this.n3),-(Math.min(Math.max((g.y-this.Un.y)/this.Xa.Va(),-1),1)*this.Ja*this.n3));this.Un=g};b.prototype.h$=function(g,f){if(0!=g||0!=f){var c=new k(b.Rs);c.wI=g;c.cI=f;this.trigger(c)}};b.Rs=
"rotation change";return b});
define("gR","require dY kV cu fV dp bc".split(" "),function(a){a("dY");var d=a("kV"),h=a("cu"),l=a("fV"),k=a("dp"),b=a("bc"),g=d.extend(l,function(f,c,e){l.call(this);this.j=f;this.wc=this.j.wc;this.da=c;this.Dc=e;this.my=this.CQ=this.T=!1;this.Yb=new k;this.Oi=null;this.dd=this.cb=this.Ca=0;this.Ja=90;this.ib=new b;this.ib.bind(b.Rs,this.BL,this,!0)});g.prototype.clear=function(){this.ib.unbind(b.Rs,this.BL,this,!0);this.ib.Dl();this.ib=null;this.EA();this.j=this.wc=this.Dc=this.da=this.Yb=null};
g.prototype.Lv=function(f){this.Yb.reset();this.ib.Lv(f)};g.prototype.setPosition=function(f,c,e,m){if(this.Ca!=f||this.cb!=c||this.dd!=e||this.Ja!=m)this.Ca=f,this.cb=c,this.dd=e,this.Ja=m,this.ib.zD(this.Ja),this.o8(!1),this.dN()};g.prototype.Qe=function(){return this.CQ&&this.my?!0:!1};g.prototype.wb=function(f){this.Ly=!1;this.Yb.wb(f);this.my=!1;f=this.Ca+this.Yb.Xw;var c=this.cb+this.Yb.NE;this.Dc.vo(this.Ja);this.da.setPosition(f,c,this.dd,this.Dc.sg(),this.Dc.sv());this.Ca=this.da.Yc();this.cb=
this.da.Pc();this.dd=this.da.Df();this.Ja=this.da.vv()};g.prototype.oq=function(){return this.Ca};g.prototype.nq=function(){return this.cb};g.prototype.Wy=function(){return this.dd};g.prototype.$C=function(){return this.Ja};g.prototype.kc=function(f){this.T!=f&&((this.T=f)?this.dN():(this.EA(),this.o8(!1)))};g.prototype.BL=function(f){this.Hc(f.Yv,f.Dv,0,0,f.wI,f.cI,0,0,!1,!1,!0,!0)};g.prototype.Hc=function(f,c,e,m,q,p,n,r,t,u,v,w){var x=this.Yb.Cca(f,c,e,q,p,n,u,v,w)||x;x&&this.Hh()};g.prototype.Hh=
function(){this.my=!0;this.trigger(new h(g.ih))};g.prototype.dN=function(){this.EA();this.Oi=setTimeout(this.OL.bind(this),30)};g.prototype.EA=function(){this.Oi&&(clearTimeout(this.Oi),this.Oi=null)};g.prototype.OL=function(){this.o8(this.T)};g.prototype.o8=function(f){this.CQ!=f&&((this.CQ=f)?(this.Yb.reset(),this.ib.wq(this.j.getParent()),this.Hh()):this.ib.Dl())};g.ih="position change request";return g});
define("hj","require kV og cu fV u hq".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV");a("u");var b=a("hq");a=d.extend(k,function(){k.call(this);this.Qra=this.T=!1;this.dd=this.cb=this.Ca=0;this.jV=!1;this.Gp=this.fs=0});a.prototype.kc=function(g){if(this.T!=g)if(this.T=g){b.bind(this.GB,this,!0);g=b.qq();var f=g.pitch;this.fs=this.Ca-g.yaw;this.Gp=this.cb-f;this.ho()}else b.unbind(this.GB,this,!0)};a.prototype.setPosition=function(g,f,c){this.Ca!=g&&(this.fs=this.iC(this.fs+(g-
this.iC(this.Ca,g)),0),this.Ca=g);this.cb!=f&&(this.Gp+=f-this.cb,this.cb=f);this.dd=c};a.prototype.oq=function(){return this.Ca};a.prototype.nq=function(){return this.cb};a.prototype.Wy=function(){return this.dd};a.prototype.Qe=function(){return b.tUa()};a.prototype.wb=function(g){var f=b.qq(),c=f.roll;g=20*g/1E3;var e=f.pitch+(this.Qra?this.Gp:0);this.Ca=this.Xf(this.Ca,this.iC(this.iC(f.yaw,this.Ca)+this.fs,this.Ca),g);this.cb=this.Xf(this.cb,e,g);this.dd=this.Xf(this.dd,c,g)};a.prototype.SWa=
function(g){this.Qra=g};a.prototype.Xf=function(g,f,c){g=(f-g)*(1-c);.01>Math.abs(g)&&(g=0);return f-g};a.prototype.iC=function(g,f){for(;g+180<f;)g+=360;for(;g-180>f;)g-=360;return g};a.prototype.GB=function(){this.T&&this.ho()};a.prototype.ho=function(){this.trigger(new l(h.sa))};return a});define("ec",["require"],function(){return{aE:"left",bE:"right",$D:"down",cE:"up",Aea:"rotate10x",$ea:"zoom2x",X:"playing",nt:"zoomIn",ot:"zoomOut",wf:"stop"}});
define("fg","require kV bl cu fV ec".split(" "),function(a){var d=a("kV"),h=a("bl"),l=a("cu"),k=a("fV"),b=a("ec"),g=d.extend(k,function(c){k.call(this);this.j=c;this.T=!1;this.Yh={};this.$M=null;this.Ni=this.ZM=!1;this.XS=this.XS.bind(this);this.ku=this.ku.bind(this);this.wc=this.j.wc;document.addEventListener("keydown",this.XS);document.addEventListener("keyup",this.ku)});g.prototype.clear=function(){this.T=!1;this.wc=this.j=null;document.removeEventListener("keydown",this.XS);document.removeEventListener("keyup",
this.ku)};g.prototype.kc=function(c){this.T!=c&&(this.T=c)&&this.BW()};var f=[h.Mj,h.ri,h.Ma,h.eb,h.gn,h.tQ];g.prototype.XS=function(c){var e=c.which,m=!1;!this.Yh[e]&&0<=f.indexOf(e)&&(this.$M||this.ZM||(this.$M=setTimeout(this.pKa.bind(this),100)),m=this.Yh[e]=!0);this.Ni!=c.shiftKey&&(this.Ni=c.shiftKey,m=!0);m&&this.BW()};g.prototype.pKa=function(){this.ZM=!0;this.BW()};g.prototype.ku=function(c){var e=c.which,m=!1;if(e in this.Yh){delete this.Yh[e];m=!1;for(e in this.Yh)this.Yh[e]&&(m=!0);m||
(this.$M&&clearTimeout(this.$M),this.$M=null,this.ZM=!1);m=!0}this.Ni!=c.shiftKey&&(this.Ni=c.shiftKey,m=!0);m&&this.BW()};g.prototype.BW=function(){if(this.T){var c=this.wc.get("arrowKeysAction");if("none"!=c){c="rotate"==c;var e=[];this.Yh[h.gn]?e.push(b.nt):this.Yh[h.tQ]&&e.push(b.ot);this.ZM&&(this.Yh[h.gn]||this.Yh[h.tQ])&&e.push(b.$ea);this.Yh[h.Ma]?e.push(b.aE):this.Yh[h.eb]&&e.push(b.bE);if(c||this.Ni)this.Yh[h.Mj]?e.push(b.cE):this.Yh[h.ri]&&e.push(b.$D);this.ZM&&(this.Yh[h.Ma]||this.Yh[h.eb]||
this.Yh[h.Mj]||this.Yh[h.ri])&&e.push(b.Aea);0==e.length&&e.push(b.wf);this.trigger(new l(g.j_,{Pva:e}))}}};g.j_="movementsChange";return g});
define("mn",["require"],function(){function a(){this.jA=!0;this.reset()}function d(h,l,k){h=(l-h)*(1-k);.01>Math.abs(h)&&(h=0);return l-h}a.prototype.reset=function(){this.jA&&(this.jA=!1,this.lW=this.mW=this.bv=this.Nm=this.OE=this.RE=this.PE=this.Zw=void 0)};a.prototype.moveTo=function(h,l,k,b,g){this.Nm=h;this.bv=l;this.mW=k;this.lW=b;this.K4=g;this.jA=!0};a.prototype.setPosition=function(h,l,k,b){this.Zw=h;this.PE=l;this.RE=k;this.OE=b};a.prototype.oq=function(){return this.Zw};a.prototype.nq=
function(){return this.PE};a.prototype.Wy=function(){return this.RE};a.prototype.$C=function(){return this.OE};a.prototype.Qe=function(){return this.jA};a.prototype.wb=function(){if(this.jA)if(this.K4)this.Zw=this.Nm,this.PE=this.bv,this.RE=this.mW,this.OE=this.lW,this.jA=!1;else{for(var h=this.Zw,l=this.Nm-180,k=this.Nm+180;h<l;)h+=k-l;for(;h>k;)h-=k-l;this.Zw=h;this.Zw=d(this.Zw,this.Nm,.5);this.PE=d(this.PE,this.bv,.5);this.RE=d(this.RE,this.mW,.5);this.OE=d(this.OE,this.lW,.5);this.Zw==this.Nm&&
this.PE==this.bv&&this.RE==this.mW&&this.OE==this.lW&&(this.jA=!1)}};return a});
define("cq",["require","mY","lQ","bu"],function(a){function d(){this.T=!1;this.dd=this.cb=this.Ca=0;this.cT=void 0}var h=a("mY"),l=a("lQ"),k=a("bu");d.prototype.kc=function(f){this.T!=f&&(this.T=f,this.cT=void 0)};d.prototype.setPosition=function(f,c,e){this.Ca=f;this.cb=c;this.dd=e};d.prototype.oq=function(){return this.Ca};d.prototype.nq=function(){return this.cb};d.prototype.Wy=function(){return this.dd};d.prototype.Qe=function(){return!0};d.prototype.wb=function(){var f=h.Zca(k.ss().orientation);
this.Ca+=void 0===this.cT?0:f.Ra-this.cT;this.cT=f.Ra;this.cb=f.pitch;this.dd=f.Re;this.cb=void 0===g?f.pitch:g;this.dd=void 0===b?f.Re:b};var b=l.Ri("debug")?l.LX("force_vr_roll"):void 0,g=l.Ri("debug")?l.LX("force_vr_pitch"):void 0;return d});
define("g","require dY kV og cu fV cz hj fg dp fc mn cq ec bu bb".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("cu"),b=a("fV"),g=a("cz"),f=a("hj"),c=a("fg"),e=a("dp"),m=a("fc"),q=a("mn"),p=a("cq"),n=a("ec"),r=a("bu"),t=a("bb"),u=h.extend(b,function(v,w,x){b.call(this);this.j=v;this.wc=this.j.wc;this.da=w;this.Dc=x;this.my=this.qx=this.kK=this.aV=this.T=!1;this.Yb=new e;this.Tp=new q;this.dd=this.cb=this.Ca=0;this.Ja=90;this.vC=1;this.sh=void 0;this.$0=this.fJ=5;this.Ly=!1;this.ib=
new m;this.ib.bind(m.Rs,this.BL,this,!0);this.ib.bind(m.Fo,this.Sx,this,!0);this.ib.bind(m.ui,this.Ap,this,!0);this.ib.bind(m.ti,this.zp,this,!0);this.Xk=new f;this.Xk.bind(l.sa,this.Pla,this);this.px=!1;this.sm=new c(this.j);this.sm.bind(c.j_,this.Zla,this,!0);this.es=new p;r.bind(l.sa,this.Ln,this,!0);this.Ln()});u.prototype.clear=function(){this.ib.unbind(m.Rs,this.BL,this,!0);this.ib.unbind(m.Fo,this.Sx,this,!0);this.ib.unbind(m.ui,this.Ap,this,!0);this.ib.unbind(m.ti,this.zp,this,!0);this.ib.Dl();
this.ib=null;this.Xk.unbind(l.sa,this.Pla,this);this.Xk=null;this.sm.unbind(c.j_,this.Zla,this,!0);this.sm.clear();this.sm=null;r.unbind(l.sa,this.Ln,this,!0);this.Dc=this.da=this.Yb=null;this.mR();this.j=this.wc=null};u.prototype.Lv=function(v){this.Yb.reset();this.Tp.reset();this.ib.Lv(v);this.fJ=v.get("automaticRotationSpeed");this.$0=v.get("automaticZoomSpeed")};u.prototype.Cj=function(v){function w(z){return d(v).contains(z)}d.isArray(v)||(v=[v]);var x=0,y=0,A=0,B=!1;w(n.wf)||(w(n.aE)?x=-this.fJ:
w(n.bE)&&(x=+this.fJ),w(n.$D)?y=-this.fJ:w(n.cE)&&(y=+this.fJ),w(n.nt)?A=-this.$0:w(n.ot)&&(A=+this.$0),w(n.X)&&(B=!0),w(n.$ea)&&(A*=2),w(n.Aea)&&(x*=10,y*=10),x*=this.vC,y*=this.vC);this.Hc(x,y,0,A,0,0,0,0,B,!0,!0,!0)};u.prototype.setPosition=function(v,w,x,y){this.Ca=v;this.cb=w;this.dd=x;this.Ja=y;this.vC=this.Ja/90;this.Xk.setPosition(this.Ca,this.cb,this.dd);this.es.setPosition(this.Ca,this.cb,this.dd);this.ib.zD(this.Ja);this.Tp.setPosition(this.Ca,this.cb,this.dd,this.Ja)};u.prototype.moveTo=
function(v,w,x,y,A){this.Tp.moveTo(v,w,x,this.Dc.vta(y),A);this.aV=!1;this.Yb.reset();this.Hh()};u.prototype.Dca=function(v,w,x){this.Hc(0,0,0,0,v,w,x,0,!1,!1,!1)};u.prototype.Qe=function(){return this.T&&(this.my||this.uZ())?!0:!1};u.prototype.xRa=function(){this.my=this.Ly=!1};u.prototype.uZ=function(){return this.T?this.Ly?!0:this.es.T?this.es.Qe()||this.Yb.Qe():this.Xk.T?this.px?!0:this.Xk.Qe()||this.Yb.Qe():this.Yb.Qe()||this.Tp.Qe():!1};u.prototype.wb=function(v){this.Ly=!1;this.Yb.wb(v);this.my=
!1;var w=this.Ja;if(this.es.T){this.es.wb(v);v=this.es.oq()+this.Yb.Xw;var x=this.es.nq();var y=this.es.Wy()}else this.Tp.Qe()?(this.Tp.wb(v),v=this.Tp.oq(),x=this.Tp.nq(),y=this.Tp.Wy(),w=this.Tp.$C()):(this.Xk.T?(this.px=!1,this.Xk.wb(v),v=this.Xk.oq()+this.Yb.Xw,x=this.Xk.nq(),this.kK&&(x+=this.Yb.NE),y=this.Xk.Wy()):(v=this.Ca+this.Yb.Xw,x=this.cb+this.Yb.NE,y=0),w+=this.Yb.Dha);this.Dc.vo(w);this.da.setPosition(v,x,y,this.Dc.sg(),this.Dc.sv());this.Ca=this.da.Yc();this.cb=this.da.Pc();this.dd=
this.da.Df();this.Ja=this.da.vv();if(this.aV&&this.da.uua()){w=this.Yb.ZN;if(this.da.tua()||this.da.vua())w=-w;v=this.Yb.cM;if(this.da.wua()||this.da.sua())v=-v;this.Hc(w,v,0,0,0,0,0,0,!0,!1,!1,!0)}};u.prototype.oq=function(){return this.Ca};u.prototype.nq=function(){return this.cb};u.prototype.Wy=function(){return this.dd};u.prototype.$C=function(){return this.Ja};u.prototype.kc=function(v){this.T!=v&&((this.T=v)?(this.wy(this.ib.CB==g.Os?t.Tz:void 0),this.ib.wq(this.j.getParent()),this.Hh()):(this.mR(),
this.ib.Dl()),this.a$())};u.prototype.sP=function(v){this.qx!=v&&(this.qx=v,this.a$(),this.px=!0)};u.prototype.jz=function(v){this.sm.kc(v)};u.prototype.a$=function(){this.Xk.kc(this.T&&this.qx&&!r.isPresenting());this.es.kc(this.T&&r.isPresenting())};u.prototype.Pla=function(){this.Hh()};u.prototype.tP=function(v){this.kK=v;this.Xk.SWa(this.kK)};u.prototype.kz=function(v){this.ib.kz(v);this.wy(this.ib.CB==g.Os?t.Tz:void 0)};u.prototype.ED=function(v){this.ib.ED(v)};u.prototype.Ln=function(){this.a$();
this.Hh()};u.prototype.BL=function(v){var w=!this.es.T&&(!this.Xk.T||this.kK);if(this.ib.CB==g.Bz){var x=void 0;if(0!=v.Yv||0!=v.Dv){var y=25<Math.sqrt(v.Dv*v.Dv+v.Yv*v.Yv),A=180*Math.atan2(v.Dv,v.Yv)/Math.PI;-22.5<=A&&22.5>A?x=y?t.Yda:t.Xda:22.5<=A&&67.5>A?x=y?t.$da:t.gea:67.5<=A&&112.5>A?x=y?t.Zda:t.fea:112.5<=A&&157.5>A?x=y?t.aea:t.hea:157.5<=A||-157.5>A?x=y?t.eea:t.lea:-157.5<=A&&-112.5>A?x=y?t.dea:t.kea:-112.5<=A&&-67.5>A?x=y?t.bea:t.iea:-67.5<=A&&-22.5>A&&(x=y?t.cea:t.jea)}this.wy(x);this.Hc(v.Yv,
v.Dv,0,0,v.wI,v.cI,0,0,!1,!1,!1,w)}else this.Hc(v.Yv,v.Dv,0,0,v.wI,v.cI,0,0,!1,!1,w,w)};u.prototype.Sx=function(v){this.Hc(0,0,0,v.tTa,0,0,0,v.Yaa,!1,!0,!1,!0)};u.prototype.Hc=function(v,w,x,y,A,B,z,C,E,F,G,J){var R=!1;this.wc.get("rotationEnabled")&&(R=this.Yb.Cca(v,w,x,A,B,z,F,G,J)||R);this.wc.get("zoomEnabled")&&(R=this.Yb.WWa(y,C)||R);R&&(this.Tp.reset(),this.aV=E,this.Hh())};u.prototype.Hh=function(){this.my=!0;this.trigger(new k(u.ih))};u.prototype.Ap=function(){this.Ly=!0;this.trigger(new k(u.ui));
this.ib.CB==g.Os&&this.wy(t.Th)};u.prototype.zp=function(){this.trigger(new k(u.ti));this.ib.CB==g.Os&&this.wy(t.Tz)};u.prototype.Zla=function(v){this.Cj(v.data.Pva);0>v.data.Pva.indexOf(n.wf)&&this.j.Hb().trigger(new k(l.gE,{GP:v}))};u.prototype.wy=function(v){this.sh!=v&&this.T&&(this.sh&&this.j.dI(this.sh),(this.sh=v)&&this.j.MY(this.sh))};u.prototype.mR=function(){this.sh&&(this.j.dI(this.sh),this.sh=void 0)};u.ih="position change request";u.ui="user interaction start";u.ti="user interaction end";
return u});define("mv",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("TargetRotationalCameraMovement",d,function(){d.call(this)})});
define("O","require kV og kx cu fV nc gz mv nJ bD".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("kx"),k=a("cu"),b=a("fV"),g=a("nc");a("gz");a("mv");var f=a("nJ"),c=a("bD"),e=d.extend(b,function(m,q,p){b.call(this);this.j=m;this.da=q;this.Dc=p;this.vG=this.Qa=null;this.pl=this.Em=!1;this.fk=void 0;this.NF=[];this.hC=0;this.W=null;this.cb=this.Ca=0;this.Ja=90});e.prototype.clear=function(){this.end();this.da=this.j=null};e.prototype.start=function(m){this.lNa(m);this.QKa();this.pl=!1;this.nR();
this.Em=!1;this.Hh();this.sj()};e.prototype.end=function(){null!=this.Qa&&(this.aha(),this.Em=this.pl=!1,this.W=null,this.sj())};e.prototype.yUa=function(){this.Qa&&this.Qa.get("restartMovementOnUserInteraction")?this.Em||(this.fN(),this.Y8(),this.W=null,this.Em=!0,this.sj()):(this.W=null,this.pause())};e.prototype.BUa=function(){this.Em&&(this.Em=!1,this.rka()||this.T8())};e.prototype.lNa=function(m){this.aha();this.Qa=m;this.Qa.bind(h.rw,this.ana,this,!0);this.Qa.bind(h.eE,this.$ma,this,!0);this.Qa.bind(h.G("movementIndex"),
this.OB,this,!0);this.NF=this.Qa.get("movements",[])};e.prototype.aha=function(){this.Y8();null!=this.Qa&&(this.Qa.unbind(h.rw,this.ana,this),this.Qa.unbind(h.eE,this.$ma,this),this.Qa.unbind(h.G("movementIndex"),this.OB,this),this.Qa.set("movementIndex",-1),this.Qa=null,this.NF=[])};e.prototype.Aj=function(){return this.Qa?this.pl?l.Cb:l.X:l.S};e.prototype.setPosition=function(m,q,p,n){this.Ca=m;this.cb=q;this.Ja=n};e.prototype.Qe=function(){return!this.Qa||!this.W||this.pl||this.Em||this.rka()?
!1:!0};e.prototype.wb=function(m){if(this.Qe()){this.W.wb(m);m=this.W.$a("hfov");if(this.Dc.Yua()){var q=this.W.Faa("hfov");q.from=this.Dc.nX(q.from);q.oz=this.Dc.nX(q.oz);m=this.Dc.nX(m)}this.da.setPosition(this.W.$a("yaw"),this.W.$a("pitch"),0,m,this.Dc.sv());this.Ca=this.da.Yc();this.cb=this.da.Pc();this.Ja=this.da.vv();this.W.Fe()&&this.VJa()}};e.prototype.oq=function(){return this.Ca};e.prototype.nq=function(){return this.cb};e.prototype.$C=function(){return this.Ja};e.prototype.play=function(){this.pl&&
(this.pl=!1,this.W||this.OB(),this.nR(),this.Hh(),this.sj())};e.prototype.pause=function(){this.pl||(this.pl=!0,this.fN(),this.sj())};e.prototype.ana=function(){this.play()};e.prototype.$ma=function(){this.pause()};e.prototype.QKa=function(){this.hC=0;var m=this.Qa.get("movementIndex",-1);-1==m&&(m=0);this.OU(m)};e.prototype.SKa=function(){this.hC++;var m=this.Qa.get("repeat",1);0<this.NF.length&&(0==m||this.hC<m)?this.OU(0):(this.Qa.trigger(new k(h.rb)),this.end(),this.dPa())};e.prototype.RKa=function(){this.OU(this.Qa.get("movementIndex",
0)+1)};e.prototype.OU=function(m){m<this.NF.length?this.Qa.get("movementIndex")!=m?this.Qa.set("movementIndex",m):this.OB():(this.Qa.trigger(new k(h.Pq)),this.SKa())};e.prototype.OB=function(){var m=this.Qa.get("movementIndex");this.W=0<=m?this.Sw(this.NF[m]):null};e.prototype.VJa=function(){this.NF[this.Qa.get("movementIndex")].trigger(new k(h.rb));this.RKa()};e.prototype.rka=function(){return null!=this.vG};e.prototype.T8=function(){this.Y8();var m=this,q=this.Qa.get("restartMovementDelay")||0;
this.vG=setTimeout(function(){m.vG=null;m.jKa()},q);this.sj()};e.prototype.Y8=function(){this.vG&&(clearTimeout(this.vG),this.vG=null)};e.prototype.jKa=function(){this.OU(this.Qa.get("movementIndex"));this.Hh();this.sj()};e.prototype.Sw=function(m){var q,p=this.nk(this.Ca,-180,180),n=this.cb,r=this.Ja;if(g.Ea("TargetRotationalCameraMovement",m)){var t=m.get("targetYaw",p);var u=m.get("targetPitch",n);(q=m.get("targetHfov"))?(this.Dc.yxa(q),q=this.Dc.sg()):q=r;this.da.setPosition(t,u,0,q,this.Dc.sv());
if(this.da.SB)t=this.da.Yc();else switch(this.m3(m)){case "left":t=this.nk(t,p-360,p);break;case "right":t=this.nk(t,p,p+360);break;case "longest":t=this.nk(t,p-180,p+180);t=t>=p?this.nk(t,p-360,p):this.nk(t,p,p+360);break;default:t=this.nk(t,p-180,p+180)}}else g.Ea("DistanceRotationalCameraMovement",m)&&(t=p+m.get("yawDelta",0),this.da.SB&&(t=Math.min(Math.max(-180,t),180)),u=n+m.get("pitchDelta",0),q=r+m.get("hfovDelta",0),this.da.setPosition(t,u,0,q,this.Dc.sv()),this.da.SB&&(t=this.da.Yc()));
u=this.da.Pc();q=this.da.vv();return new f(m.get("easing"),[new c("yaw",p,t,m.get("yawSpeed")),new c("pitch",n,u,m.get("pitchSpeed")),new c("hfov",r,q,m.get("hfovSpeed"))],m.get("duration"))};e.prototype.nR=function(){this.fk=void 0};e.prototype.fN=function(){if(this.W){this.fk=void 0;var m=this.W&&this.W.Faa("yaw");m&&(m.oz>m.from?this.fk="right":m.oz<m.from&&(this.fk="left"))}};e.prototype.m3=function(m){m=m.get("path");"longest"==m&&this.fk&&(m=this.fk);this.fk=void 0;return m};e.prototype.nk=
function(m,q,p){for(;m<q;)m+=p-q;for(;m>p;)m-=p-q;return m};e.prototype.Hh=function(){this.trigger(new k(e.ih))};e.prototype.dPa=function(){this.trigger(new k(e.w_))};e.prototype.sj=function(){this.trigger(new k(e.Cc))};e.ih="position change request";e.w_="sequence end";e.Cc="playback state change";return e});
define("br","require dY kV og cu fV ia gR g O ec bu kx".split(" "),function(a){a("dY");var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("ia"),g=a("gR"),f=a("g"),c=a("O"),e=a("ec"),m=a("bu"),q=a("kx"),p=d.extend(k,function(n,r){k.call(this);this.j=n;this.j.bind(h.fc,this.cc,this);m.bind(h.sa,this.Ln,this,!0);this.Dc=r;this.a8=!1;this.Ja=this.dd=this.cb=this.Ca=void 0;this.hs=this.gs=this.dL=this.gL=this.fL=this.eL=!1;this.Mm=!0;this.pF=this.Gp=0;this.T=!1;this.qm=null;this.rK=5E3;this.cj=this.xh=null;
this.Pr=[];this.gi=this.Bw=q.S;this.da=new b(n);this.Sb=new f(this.j,this.da,this.Dc);this.Sb.bind(f.ih,this.wp,this,!0);this.Sb.bind(f.ui,this.Ap,this,!0);this.Sb.bind(f.ti,this.zp,this,!0);this.pm=new g(this.j,this.da,this.Dc);this.pm.bind(g.ih,this.wp,this,!0);this.Oe=new c(this.j,this.da,this.Dc);this.Oe.bind(c.ih,this.wp,this,!0);this.Oe.bind(c.w_,this.Xx,this,!0);this.Oe.bind(c.Cc,this.bna,this,!0)});p.prototype.clear=function(){this.tk();this.Sb.unbind(f.ih,this.wp,this);this.Sb.unbind(f.ui,
this.Ap,this,!0);this.Sb.unbind(f.ti,this.zp,this,!0);this.Sb.clear();this.Sb=null;this.pm.unbind(g.ih,this.wp,this,!0);this.pm.clear();this.pm=null;this.Oe.unbind(c.ih,this.wp,this);this.Oe.unbind(c.w_,this.Xx,this);this.Oe.unbind(c.Cc,this.bna,this);this.Oe.clear();this.da=this.Oe=null;this.j.unbind(h.fc,this.cc,this);m.unbind(h.sa,this.Ln,this,!0);this.j=null;this.ta&&(this.ta.unbind(h.G("sequences"),this.Yx,this,!0),this.ta=null);this.LV([])};p.prototype.end=function(){this.Bw=q.S;this.tk();this.Sb.kc(!1);
this.pm.kc(!1);this.Oe.end();this.T=!1;this.Uu(0,0,0);this.cj=this.xh=null;this.ta&&(this.ta.unbind(h.G("sequences"),this.Yx,this,!0),this.ta=null);this.LV([]);this.CC()};p.prototype.start=function(n,r){this.Bw=q.X;this.T=!0;this.Uu(0,0,0);this.NM(n);this.q8(r);this.hoa();this.bW(this.cj);this.pm.kc(!0);this.CC()};p.prototype.Aj=function(){return this.gi};p.prototype.play=function(n){this.Bw=q.X;this.Oe.Aj()==q.Cb?this.Oe.play():this.Oe.Aj()==q.S&&(!n&&this.cj?this.bW(this.cj):this.vF()||this.Sp());
this.CC()};p.prototype.resume=function(){this.Bw==q.Cb&&(this.Sb.xRa(),this.play(!0))};p.prototype.pause=function(){this.Sb.Cj(e.wf);this.Bw==q.X&&(this.Bw=q.Cb,this.Oe.Aj()==q.X?(this.Oe.pause(),this.CC()):this.vF()&&this.tk())};p.prototype.stop=function(){this.Bw=q.S;this.Oe.Aj()!=q.S&&this.Oe.end();this.Sb.Cj(e.wf);this.CC();this.vF()&&this.tk()};p.prototype.moveTo=function(n,r,t,u,v){this.Sb.moveTo(n,r,t,u,v)};p.prototype.LV=function(n){this.Pr.forEach(function(r){r.unbind(h.rw,this.Uoa,this,
!0)}.bind(this));this.Pr=n;this.Pr.forEach(function(r){r.bind(h.rw,this.Uoa,this,!0)}.bind(this))};p.prototype.Ln=function(){this.da.WY(m.isPresenting())};p.prototype.Cj=function(n){this.Sb.Cj(n)};p.prototype.Dca=function(n,r,t){this.Sb.Dca(n,r,t)};p.prototype.sP=function(n){this.qx!=n&&(this.qx=n,this.Sb.sP(this.qx),this.Ka())};p.prototype.tP=function(n){this.Sb.tP(n)};p.prototype.kz=function(n){this.Sb.kz(n)};p.prototype.ED=function(n){this.Sb.ED(n)};p.prototype.jz=function(n){this.Sb.jz(n)};p.prototype.Gv=
function(n){this.T&&(this.Sb.Qe()||m.isPresenting()||this.qx&&(this.Sb.T||!this.Sb.kK)?(this.Sb.uZ()&&this.Oe.yUa(),this.Sb.wb(n),this.ul(this.Sb.oq(),this.Sb.nq(),this.Sb.Wy(),this.Sb.$C()),this.Ka()):this.Oe.Em?(this.Oe.BUa(),this.Ka()):this.Oe.Qe()?(this.Oe.wb(n),this.ul(this.Oe.oq(),this.Oe.nq(),0,this.Oe.$C()),this.Ka()):this.pm.Qe()?(this.pm.wb(n),this.ul(this.pm.oq(),this.pm.nq(),0,this.pm.$C()),this.Ka()):this.a8?(this.a8=!1,this.Dc.vo(this.j.sg()),this.da.setPosition(this.j.Yc(),this.j.Pc(),
this.j.Df(),this.Dc.sg(),this.Dc.sv()),this.ul(this.da.Yc(),this.da.Pc(),this.da.Df(),this.da.vv()),this.Ka()):(this.Uu(0,0,0),this.Bw==q.X&&this.Oe.Aj()!=q.X&&(this.vF()||this.Sp())))};p.prototype.sd=function(){this.ZPa();this.hoa()};p.prototype.ZPa=function(){var n=this.j.Yc()-this.Ca||0,r=this.j.Pc()-this.cb||0;this.j.Df();this.Uu(n,r,this.j.sg()-this.Ja||0)};p.prototype.hoa=function(){this.Ca=this.j.Yc();this.cb=this.j.Pc();this.dd=this.j.Df();this.Ja=this.j.sg();this.Sb.setPosition(this.Ca,this.cb,
this.dd,this.Ja);this.Oe.setPosition(this.Ca,this.cb,this.dd,this.Ja);this.pm.setPosition(this.Ca,this.cb,this.dd,this.Ja)};p.prototype.NM=function(n){this.da.pi(n)};p.prototype.q8=function(n){this.ta=n;this.rK=n.get("timeToIdle",5E3);this.xh=n.get("idleSequence");this.cj=n.get("initialSequence");this.Sb.Lv(n);this.pm.Lv(n);n.bind(h.G("sequences"),this.Yx,this,!0);this.LV(n.get("sequences",[]))};p.prototype.Yx=function(){this.LV(this.ta.get("sequences",[]))};p.prototype.Uoa=function(n){this.bW(n.source)};
p.prototype.wp=function(){this.tk();this.Ka()};p.prototype.Ap=function(){this.trigger(new l(p.ui))};p.prototype.zp=function(){this.trigger(new l(p.ti))};p.prototype.bW=function(n){n?(this.Sb.kc(!n.get("mandatory",!1)),this.Oe.start(n)):this.Xx()};p.prototype.Xx=function(){this.Sb.kc(!0);this.Sp()};p.prototype.bna=function(){this.CC()};p.prototype.cc=function(){this.a8=!0;this.Ka()};p.prototype.vF=function(){return null!=this.qm};p.prototype.Sp=function(){this.tk();var n=this;this.qm=setTimeout(function(){n.qm=
null;n.pL()},this.rK)};p.prototype.tk=function(){this.qm&&(clearTimeout(this.qm),this.qm=null)};p.prototype.pL=function(){this.bW(this.xh)};p.prototype.Ka=function(){this.trigger(new l(p.Bb))};p.prototype.ul=function(n,r,t,u){this.j.setPosition(n,r,t,u)};p.prototype.Uu=function(n,r,t){var u=!1,v=.001>Math.abs(n)&&.001>Math.abs(r)&&.001>Math.abs(t);v||this.qx?(u=1!=this.Mm,this.hs=this.gs=this.dL=this.gL=this.fL=this.eL=!1,this.Mm=!0):(this.eL!=-.001>n&&(this.eL=!this.eL,u=!0),this.fL!=.001<n&&(this.fL=
!this.fL,u=!0),this.dL!=-.001>r&&(this.dL=!this.dL,u=!0),this.gL!=.001<r&&(this.gL=!this.gL,u=!0),this.gs!=-.001>t&&(this.gs=!this.gs,u=!0),this.hs!=.001<t&&(this.hs=!this.hs,u=!0),this.Mm!=v&&(this.Mm=!this.Mm,u=!0));v||this.trigger(new l(p.Bo,{yaw:this.Ca,pitch:this.cb,roll:this.dd,hfov:this.Ja}));u&&((this.T||this.Mm)&&this.trigger(new l(p.Fj,{movingLeft:this.eL,movingRight:this.fL,movingUp:this.gL,movingDown:this.dL,zoomingIn:this.gs,zoomingOut:this.hs,stopped:this.Mm})),this.CC())};p.prototype.CC=
function(){if(this.T){var n=this.Oe.Aj();this.Mm||(n=q.X)}else n=q.S;this.gi!=n&&(this.gi=n,this.trigger(new l(p.Cc,{state:this.gi})))};p.Bb="request frame";p.Fj="movement change";p.Bo="position change";p.Cc="playback state change";p.ui="user interaction start";p.ti="user interaction end";return p});
define("gy","require og ia u hq lQ bu mY".split(" "),function(a){function d(e,m,q){this.j=e;this.Dc=m;this.Fy=q;this.da=new h(e);q.Qg&&this.da.pi(q.Qg);this.Qu=new h(e);this.wB=this.qr=void 0;this.Ca=this.j.Yc();this.cb=this.j.Pc();this.dd=this.j.Df();this.Ja=this.Fy.Qg?this.j.sg():d.rda;this.aqa=0;this.ha=null;this.zka=!0}a("og");var h=a("ia");a("u");var l=a("hq"),k=a("lQ"),b=a("bu"),g=a("mY");d.prototype.pi=function(e){this.ha!=e&&(this.hy=!0,this.ha=e)};d.prototype.Rv=function(e,m){this.Ca=e;this.cb=
m};d.prototype.QC=function(e){this.Dc.yxa(e);return this.Dc.sg()};d.prototype.vo=function(e){this.Ja=e};d.prototype.xP=function(e){this.zka=e};d.prototype.DD=function(e){this.aqa=e};d.prototype.Gv=function(){this.Dc.Yua()&&(this.Ja=this.Dc.nX(this.Ja));if(this.Fy.Ab()){var e=b.ss().orientation;e=g.Zca(e);this.Ca+=void 0===this.qr?0:e.Ra-this.qr;this.qr=e.Ra;this.cb=e.pitch;this.dd=e.Re;this.cb=void 0===c?e.pitch:c;this.dd=void 0===f?e.Re:f}else if(this.Fy.mua()){e=l.qq();var m=this.iC(e.yaw,this.Ca);
this.Ca+=void 0===this.qr?0:m-this.qr;this.cb+=void 0===this.wB?0:e.pitch-this.wB;this.dd=e.roll;this.qr=e.yaw;this.wB=e.pitch}else e=this.iC(this.j.Yc(),this.Ca),m=this.j.Pc(),this.Ca+=void 0===this.qr?0:e-this.qr,this.cb+=void 0===this.wB?0:m-this.wB,this.dd=this.j.Df();this.hy&&this.da.pi(this.ha);this.da.WY(b.isPresenting());this.da.setPosition(this.Ca,this.cb,this.dd,this.Ja,this.Dc.sv());this.hy&&(this.hy=!1,this.Fy&&this.Fy.Qg&&(e=this.j.cf(this.Fy.Qg)))&&(e.set("deltaYaw",this.j.Yc()-this.da.Yc()),
e.set("deltaPitch",this.j.Pc()-this.da.Pc()),e.set("deltaRoll",this.j.Df()-this.da.Df()));this.Ca=this.da.Yc();this.cb=this.da.Pc();this.dd=this.da.Df();this.Fy.Ab()||this.Fy.mua()||(this.qr=this.Ca,this.wB=this.cb);this.Ja=this.zka?this.da.vv():this.Ja;this.j.setPosition(this.Ca,this.cb,this.dd,this.Ja);this.j.DD(this.aqa)};d.prototype.SY=function(e,m){this.Qu.pi(e);this.Qu.setPosition(0,0,0,m,this.Dc.sv());return this.Qu.vv()};d.prototype.fVa=function(e,m){this.Qu.pi(e);this.Qu.setPosition(m.Ra,
m.pitch,m.Re,m.te,this.Dc.sv());m.Ra=this.Qu.Yc();m.pitch=this.Qu.Pc();m.Re=this.Qu.Df();m.te=this.Qu.vv()};d.prototype.iC=function(e,m){for(;e+180<m;)e+=360;for(;e-180>m;)e-=360;return e};d.prototype.Vsa=function(){return d.rda};d.rda=TDV.yea.hza;var f=k.Ri("debug")?k.LX("force_vr_roll"):void 0,c=k.Ri("debug")?k.LX("force_vr_pitch"):void 0;return d});
define("oC",["require","gs","lL","u","bu"],function(a){function d(g,f,c,e,m){this.j=g;this.Ll=f;g=this.j.N;this.LP=g.get("transitionMode","blending");f=g.get("transitionDuration",500);this.$Ha(c,e)&&(this.LP=d.fQ,f=1500);this.rH=g.get("blendingTransitionDuration",f);this.aSa=g.get("firstTransitionDuration",f);this.Zsa=g.get("disolveTransitionDuration",f);this.yya=g.get("translationTransitionDuration",1E3);g.get("translationTransitionSpeed");this.zya=g.get("translationTransitionEnabled",!0);this.mwa=
g.get("originTransitionDuration",3E3);this.yZ=1E3;this.Qg=c;this.$Wa=!c||c.hba();this.aXa=!c||c.Pua();this.Bc=e;this.gya=!e||e.hba();this.Tca=!e||e.Pua();this.oXa=!!e&&this.d5(e);f=(this.FD=m)&&m.get("initialPosition")||new h;this.ug=new h;this.ug.set("yaw",f.get("yaw",0));this.ug.set("pitch",f.get("pitch"));this.ug.set("hfov",f.get("hfov"));this.rf=new l;this.rf.set("yaw",this.ug.get("yaw"));this.rf.set("pitch",this.ug.get("pitch"));this.rf.set("hfov",this.ug.get("hfov"));this.rf.set("stereographicFactor",
0);this.lo=[];if(!c){this.lo=m&&m.get("displayMovements")||[];for(f=this.lo.length-1;0<=f;f--)this.rf.set("yaw",this.rf.get("yaw",this.lo[f].get("targetYaw"))),this.rf.set("pitch",this.rf.get("pitch",this.lo[f].get("targetPitch"))),this.rf.set("hfov",this.rf.get("hfov",this.lo[f].get("targethfov"))),this.rf.set("stereographicFactor",this.rf.get("stereographicFactor",this.lo[f].get("stereographicFactor")));m=m&&m.get("displayOriginPosition")||this.ug;this.rf.set("yaw",m.get("yaw"));this.rf.set("pitch",
m.get("pitch"));this.rf.set("hfov",m.get("hfov"));this.rf.set("stereographicFactor",m.get("stereographicFactor"))}this.sI=this.LP==d.hn&&this.zya&&this.gya&&this.FHa(c,e)||null;var q=this.LP==d.hn&&this.Bc&&this.gya&&this.Ll&&this.Bc.get("modelLocations")||[];m=this.LP==d.hn&&this.Qg&&this.$Wa&&this.Ll&&this.Qg.get("modelLocations")||[];var p=[];m.forEach(function(r){q.forEach(function(t){r.get("model")==t.get("model")&&p.push([r,t])})});var n=this.Ll&&this.Ll.get("model");this.lc=this.Ac=null;1<
p.length&&this.Ll&&(f=p.find(function(r){return r[0].get("model")==n}))&&(p=[f]);(f=p.length?p[0]:null)&&(n&&f[0].get("model")==n||f[0].get("forceModelLoading")||f[1].get("forceModelLoading"))?(this.Ac=f[0],this.lc=f[1]):(this.Ac=m.find(function(r){return r.get("preferred")}),this.Ac||this.lc||(this.lc=q.find(function(r){return r.get("preferred")})),[].concat(m,q).forEach(function(r){r.set("preferred",!1)}),this.Ac||this.lc||(this.Ac=m.find(function(r){return r.get("model")==n})),this.Ac||this.lc||
(this.lc=q.find(function(r){return r.get("model")==n})),this.Ac||this.lc||(this.Ac=m.find(function(r){return r.get("forceModelLoading")})),this.Ac||this.lc||(this.lc=q.find(function(r){return r.get("forceModelLoading")})));(this.lc||this.Ac)&&g.get("translationTransitionSpeed")&&(this.lc||this.Ac).get("model").get("worldUnitToMeters")&&(this.yya=g.get("translationTransitionSpeed")/(this.lc||this.Ac).get("model").get("worldUnitToMeters"));this.Fv=null;this.Qxa=k.fe()==k.vi?512:1536;this.hya=k.fe()==
k.vi?512:1024;g=this.Ab();this.mode=!g&&this.Ac&&this.lc&&this.sI?d.i0:!g&&this.Ac&&this.lc&&this.zya?d.Mea:this.sI?d.Lea:g||this.Qg||!this.lc?g||this.Bc||!this.Ac?c?e?"blending"==this.LP?d.hn:d.fQ:d.Fda:d.Eda:d.Nea:d.h0;this.mode!=d.hn||this.aXa&&this.Tca||!(0<this.rf.get("stereographicFactor",0)||0<this.lo.filter(function(r){return 0<r.get("targetStereographicFactor",0)}).length)||(this.mode=d.fQ);this.dn=null}var h=a("gs"),l=a("lL"),k=a("u"),b=a("bu");d.prototype.mua=function(){return this.j.wc.get("gyroscopeEnabled")};
d.prototype.Ab=function(){return b.isPresenting()};d.prototype.FHa=function(g,f){if(!g||!f)return null;g=(g.get("adjacentPanoramas")||[]).filter(function(c){return c.get("enabled")&&c.lRa()&&c.get("panorama")==f});return 0==g.length?null:g[0]};d.prototype.$Ha=function(g,f){return this.Ab()&&k.fe()==k.vi&&(this.d5(g)||this.d5(f))};d.prototype.d5=function(g){return!!g&&g.Hl()};d.fQ="fade_out_fade_in";d.Eda="fade_in";d.Fda="fade_out";d.hn="blending";d.Lea="translation";d.h0="translation_from_model";
d.i0="translation_through_model";d.Mea="translation_to_from_model";d.Nea="translation_to_model";return d});define("eD",["require"],function(){function a(d,h,l,k){this.K=d;this.Ob=h;this.j=l;this.F=k}a.prototype.Ng=function(){return!1};a.prototype.fh=function(){};a.prototype.kD=function(){return!1};return a});
define("lx",["require","kV","eD","nJ","bD"],function(a){var d=a("kV"),h=a("eD"),l=a("nJ"),k=a("bD");a=d.extend(h,function(b,g,f,c){h.call(this,b,g,f,c);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(b){if(!this.Gb){if(!this.W){var g=this.j.cf(this.F.Bc);g.Nh();g.set("alpha",.01);this.W=new l("linear",[new k("alpha",0,1,void 0)],this.F.rH)}this.W.wb(b);b=this.W.$a("alpha");g=this.j.cf(this.F.Bc);g.set("alpha",b);this.W.Fe()&&(this.Gb=!0)}};return a});
define("dG",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("ProjectedMaterialModel3DObject",h,function(){h.call(this)})});define("lH",["require","kV","eD"],function(a){var d=a("kV"),h=a("eD");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g);this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(){this.Gb||(this.Ji(),this.Gb=!0)};a.prototype.Ji=function(){};return a});
define("cK",["require","kV","dG","lH"],function(a){var d=a("kV"),h=a("dG"),l=a("lH"),k=d.extend(l,function(b,g,f,c,e){l.call(this,b,g,f,c);this.Eh=e||3});k.prototype.Ji=function(){var b=this.F.Ac,g=this.F.lc,f=this.F.Fv=new h;this.Eh&1&&(f.set("sourceX",b.get("x")),f.set("sourceY",b.get("y")),f.set("sourceZ",b.get("z")),f.set("sourceYaw",b.get("yaw")),f.set("sourceFaces",this.Kga(this.F.Qg,this.F.Qxa)));this.Eh&2&&(f.set("targetX",g.get("x")),f.set("targetY",g.get("y")),f.set("targetZ",g.get("z")),
f.set("targetYaw",g.get("yaw")),f.set("targetFaces",this.Kga(this.F.Bc,this.F.hya)));b=(b||g).get("model");b.set("objects",b.get("objects").concat([this.F.Fv]))};k.prototype.Kga=function(b,g){b=this.j.cf(b);var f=b.get("alpha");b.set("alpha",1);g=this.j.dO(g);b.set("alpha",f);return g};k.Gea=d.extend(k,function(b,g,f,c){k.call(this,b,g,f,c,1)});k.Tea=d.extend(k,function(b,g,f,c){k.call(this,b,g,f,c,2)});return k});
define("ln",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.F.Ll.j.Bxa(this.F.lc.get("model"),!1)};return a});define("kt",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.F.Ll.j.Bxa(this.F.Ac.get("model"),!0)};return a});
define("li",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.F.Bc&&!this.j.cf(this.F.Bc)&&(this.ah=this.j.create(this.F.Bc),this.ah.set("alpha",0),this.j.add(this.ah))};return a});
define("oz",["require","kV","og","cT","eD"],function(a){var d=a("kV"),h=a("og"),l=a("cT"),k=a("eD");a=d.extend(k,function(b,g,f,c){k.call(this,b,g,f,c);this.Y=(this.F.Ac||this.F.lc).get("model");this.Mp=!1;this.Y?(this.Mx=this.F.Ll,this.Mx.get("model")==this.Y&&this.Y.get("isLoaded")?(this.xu(),this.il(),this.Mp=!0):(this.Mx.set("model",this.Y),this.Y.bind(h.aa,this.xu,this,!0),this.Mx.set("requesterPlayer",this.j.wc),this.Mx.bind(l.Sg,this.il,this,!0))):this.Mp=!0});a.prototype.Ng=function(){return this.Mp};
a.prototype.kD=function(){return!0};a.prototype.xu=function(){this.Y.unbind(h.aa,this.xu,this)};a.prototype.il=function(){this.Mx.unbind(l.Sg,this.il,this,!0);this.Mp=!0};return a});
define("hr",["require","kV","lH","bC"],function(a){var d=a("kV"),h=a("lH"),l=a("bC");a=d.extend(h,function(k,b,g,f){h.call(this,k,b,g,f)});a.prototype.Ji=function(){if(this.F.oXa){var k=this.F.Bc.get("frames")[0];k=k.get("sphere")||k.get("stereoSphere");var b=k.get("levels")||[];(!0===k.get("hasAudio")||0<b.length&&!0===b[0].get("hasAudio"))&&l.request(this.j.Hb())}};return a});
define("eW",["require","kV","eD","nJ","bD"],function(a){var d=a("kV"),h=a("eD"),l=a("nJ"),k=a("bD");a=d.extend(h,function(b,g,f,c){h.call(this,b,g,f,c);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(b){if(!this.Gb){if(!this.W){var g=this.F.lc&&this.F.lc.get("targetFaces")?.01*this.F.rH:this.F.lc?.5*this.F.rH:this.j.N.MXa()&&!this.F.Qg?this.F.aSa:this.F.rH;this.W=new l("linear",[new k("alpha",.001,1,void 0)],g)}this.W.wb(b);b=this.W.$a("alpha");this.j.cf(this.F.Bc).set("alpha",
b);this.W&&this.W.Fe()&&(this.Gb=!0)}};return a});
define("iG",["require","kV","fV","he"],function(a){var d=a("kV"),h=a("fV"),l=a("he");a=d.extend(h,function(){h.call(this);this.ga=this.Aa=null;this.Jd=[];this.HS=this.Of=!1;this.kL=null;this.Zj=[this];this.z$={};this.cr={};this.mK=!1;this.z7={};this.A7={};this.No(["blendingActive","globalBlendingActive"]);this.nBa();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",
!1);this.set("index",0)});a.prototype.nBa=function(){var k="alpha deltaYaw deltaPitch deltaRoll translationX translationY translationZ".split(" ");Array.isArray(k)||(k=[k]);k.forEach(function(b){this.z7[b]=!0}.bind(this))};a.prototype.No=function(k){Array.isArray(k)||(k=[k]);k.forEach(function(b){this.A7[b]=!0}.bind(this))};a.prototype.set=function(k,b){this.z$[k]!==b&&(this.A7[k]&&this.Jd.forEach(function(g){g.set(k,b)}),this.VBa(k,b),this.FM(k))};a.prototype.get=function(k){return this.z$[k]};a.prototype.FM=
function(k){this.cr[k]||(this.cr[k]=!0,this.mK||(this.mK=!0,this.Da()),this.z7[k]&&this.Jd.forEach(function(b){b.FM(k)}))};a.prototype.vDa=function(){this.mK&&(this.mK=!1,this.cr={})};a.prototype.M=function(){if(this.mK)for(var k=0;k<arguments.length;k++)if(this.cr[arguments[k]])return!0;return!1};a.prototype.VBa=function(k,b){this.z$[k]=b};a.prototype.Jb=function(){return this.Jd};a.prototype.Pg=function(k){var b=k||[],g=this.Jd.slice();k=b.length!=g.length;for(var f=0;f<b.length&&!k;f++)k=b[f]!=
g[f];k&&(k=g.filter(function(c){return-1==b.indexOf(c)}),f=b.filter(function(c){return-1==g.indexOf(c)}),this.Jd=b,k.forEach(function(c){c.HV(null)}),f.forEach(function(c){c.remove();c.HV(this)}.bind(this)),this.Da())};a.prototype.HV=function(k){this.ga!=k&&(this.ga&&this.Im(),(this.ga=k)&&this.Oo(),this.x8(this.ga&&this.ga.Aa))};a.prototype.Oo=function(){for(var k in this.ga.z7)this.FM(k);for(k in this.ga.A7)this.set(k,this.ga.get(k))};a.prototype.Im=function(){};a.prototype.x8=function(k){this.Aa!=
k&&(k||this.Pb(),(this.Aa=k)&&this.Kb(),this.Jd.forEach(function(b){b.x8(this.Aa)}.bind(this)))};a.prototype.Kb=function(){this.KBa()};a.prototype.Pb=function(){this.yLa()};a.prototype.KBa=function(){this.Zj.forEach(function(k){this.Aa.kL.add(k,this)}.bind(this))};a.prototype.yLa=function(){this.Zj.forEach(function(k){this.Aa.kL.remove(k,this)}.bind(this))};a.prototype.Nh=function(){this.ga&&this.ga.eaa(this)};a.prototype.eaa=function(k){var b=this.Jd.indexOf(k);if(-1==b)throw"Child not found";b!=
this.Jd.length-1&&(this.Jd.splice(b,1),this.Jd.push(k),this.Da())};a.prototype.VRa=function(k){var b=this.Jd.indexOf(k);if(-1==b)throw"Child not found";this.Jd.splice(b,1);k.HV(null);this.Da()};a.prototype.appendChild=function(k){k.remove();this.Jd.push(k);k.HV(this);this.Da()};a.prototype.remove=function(){this.ga&&this.ga.VRa(this)};a.prototype.$m=function(){};a.prototype.Da=function(){this.Of||(this.Of=!0,this.ga&&this.ga.Da(this))};a.prototype.CDa=function(){this.Of=!1};a.prototype.V7=function(){this.HS||
(this.HS=!0,this.ga&&this.ga.V7())};a.prototype.zDa=function(){this.HS=!1};a.prototype.ca=function(){this.Zqa();this.M("translationX","translationY","translationZ")&&(this.set("composedTranslationX",this.get("translationX")+(this.ga?this.ga.get("composedTranslationX"):0)),this.set("composedTranslationY",this.get("translationY")+(this.ga?this.ga.get("composedTranslationY"):0)),this.set("composedTranslationZ",this.get("translationZ")+(this.ga?this.ga.get("composedTranslationZ"):0)));this.M("deltaYaw",
"deltaPitch","deltaRoll")&&(this.set("composedDeltaYaw",this.get("deltaYaw")+(this.ga?this.ga.get("composedDeltaYaw"):0)),this.set("composedDeltaPitch",this.get("deltaPitch")+(this.ga?this.ga.get("composedDeltaPitch"):0)),this.set("composedDeltaRoll",this.get("deltaRoll")+(this.ga?this.ga.get("composedDeltaRoll"):0)),l.Oua())};a.prototype.Zqa=function(){this.M("alpha")&&this.set("composedAlpha",this.get("alpha")*(this.ga?this.ga.get("composedAlpha"):1))};return a});
define("nd",["require","kS","he","u"],function(a){var d=a("kS"),h=a("he"),l=a("u"),k={J5:void 0,dWa:function(b){this.J5=b},G2:void 0,xVa:function(b){this.G2=b},createTexture:function(){var b=new THREE.Texture;b.image=k.KH();b.userData={};b.userData.wya={};return b},wRa:function(b){b.image!=this.KH()&&(b.image=this.KH(),b.needsUpdate=!0)},KD:function(b,g){g=this.fSa(g);b.generateMipmaps=this.dDa(g);if(b.generateMipmaps)b.minFilter=THREE.LinearMipMapLinearFilter,b.anisotropy=Math.min(this.dGa(g),l.hua().Dva),
h.ava(g.width)&&h.ava(g.height)?b.image=g:(b.ur||(b.ur=document.createElement("canvas"),b.ur.nW=!0),b.image=b.ur,b.ur.Pa=g,b.image.width=h.Wta(g.width),b.image.height=h.Wta(g.height),b.image.getContext("2d").drawImage(g,0,0,b.image.width,b.image.height));else if(b.minFilter=THREE.LinearFilter,h.YH(g)&&h.Pya(g)){b.ip||(b.ip=document.createElement("canvas"),b.sIa=b.ip.getContext("2d"),b.ip.nW=!0);var f=g.videoWidth;h.Vm()&&(f=Math.min(4096,f));var c=f*g.videoHeight/g.videoWidth;if(b.ip.width!=f||b.ip.height!=
c)b.ip.width=f,b.ip.height=c;g.readyState>=g.HAVE_CURRENT_DATA&&b.sIa.drawImage(g,0,0,f,c);b.image=b.ip}else b.image=g;b.ur&&b.image!=b.ur&&(k.sX(b.ur),delete b.ur);b.needsUpdate=!0;(b=k.Vaa(b))&&b.isShaderMaterial&&(b.needsUpdate=!0);h.Oua()},fSa:function(b){b?h.kba(b)?b=d.sf(b,!1):h.dva(b)?b=this.KH():!h.YH(b)||b.readyState>=b.HAVE_CURRENT_DATA&&0<b.videoWidth&&0<b.videoHeight||(b=this.KH()):b=this.KH();return b},IRa:function(b,g,f,c,e){var m=document.createElement("canvas");m.width=h.kt();m.height=
h.kt();m.nW=!0;var q=m.getContext("2d");if(!q)return null;q.drawImage(b,g,f,c,e,0,0,h.kt(),h.kt());this.yX(m);return m},sX:function(b){h.Qua(b)&&b.nW&&(delete b.nW,b.width=0,b.height=0)},dispose:function(b){b.ip&&b.ip!=b.image&&this.sX(b.ip);b.image&&this.sX(b.image);b.dispose()},tZ:function(b,g,f){g?(b.mqa=!0,b.lqa=f||1):(delete b.mqa,delete b.lqa)},dGa:function(b){return b&&b.lqa||1},GWa:function(b,g){b.userData.wya.material=g},Vaa:function(b){return b.userData.wya.material},hRa:function(b){return h.jba(b)},
decode:function(b){h.kba(b)&&(b=d.sf(b,!1));h.jba(b)&&this.yX(b)},yX:function(b){var g=document.createElement("canvas");g.width=1;g.height=1;var f=g.getContext("2d");k.yX=function(c){f.drawImage(c,0,0,1,1,0,0,1,1)};return k.yX(b)},C2:null,KH:function(){if(!this.C2){var b=document.createElement("canvas");b.width=128;b.height=128;b.FIa=!0;b.getContext("2d").clearRect(0,0,b.width,b.height);this.C2=b}return this.C2},dDa:function(b){if(h.UTa(b))return!1;if(h.Qua(b))return!!b.mqa;if(l.kb()){if(void 0!==
this.J5)return this.J5}else if(void 0!==this.G2)return this.G2;return!1}};return k});
define("cp",["require","he","nd"],function(a){function d(b){this.NP=(b=h.bz(b))&&h.Cua();this.PO=b&&h.Bua();this.Ry=0;this.js=void 0;this.fO=this.gO=0;this.premultipliedAlpha=!1;this.side=void 0;this.params={}}var h=a("he"),l=a("nd"),k={Maa:function(b){return b.map||b.uniforms&&b.uniforms.texture&&b.uniforms.texture.value},Ty:function(b,g){b||=l.createTexture();g||=new k.jn;b=g.cVa()?this.FRa(b,g):this.laa(b);g.side&&(b.side=g.side);for(var f in g.params)b[f]=g.params[f];return b},laa:function(b){var g=
new THREE.MeshBasicMaterial;g.map=b;this.oA(g);return g},FRa:function(b,g){var f={uniforms:{},transparent:!0};f.uniforms.texture={type:"sampler2D",value:b};b.flipY=!g.NP;f.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(g.NP?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(g.PO||g.Ry||g.js||g.premultipliedAlpha){var c=[],e=[];c=c.concat(["uniform sampler2D texture;","uniform float opacity;","varying vec2 vUV;"]);
f.uniforms.opacity={type:"float",value:1};e=e.concat(["   vec4 color = texture2D(texture, vUV);","   float alpha = color.a * opacity;"]);g.premultipliedAlpha&&(e=e.concat(["   if (color.a > 0.0)","       color.rgb /= color.a;"]));if(g.Ry){var m=b.image.width||b.image.videoWidth,q=b.image.height||b.image.videoHeight,p=.5*Math.min(m,q)*g.Ry;f.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(p/m,p/q)};c=c.concat(["uniform vec2 blendingLimit;"]);e=e.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(","))}g.js&&
(f.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(g.js.substr(1,2),16)/255,parseInt(g.js.substr(3,2),16)/255,parseInt(g.js.substr(5,2),16)/255)},f.uniforms.chromaThreshold={type:"f",value:g.gO},f.uniforms.chromaSmoothing={type:"f",value:g.fO},c=c.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),e=e.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("{")));
e=e.concat(["\tgl_FragColor = vec4(color"+(g.PO?".bgr":".rgb")+", alpha);"]);b.format=THREE.RGBAFormat;f.fragmentShader=[].concat(c,["void main() {"],e,["}"]).join("\n")}else f.fragmentShader="uniform sampler2D texture;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(texture, vUV);\n}";b=new THREE.ShaderMaterial(f);this.oA(b);return b},dispose:function(b){Array.isArray(b)||(b=[b]);b.forEach(function(g){var f=k.Maa(g);f&&l.dispose(f);g.dispose()})},oA:function(b){b.side=THREE.FrontSide;
b.transparent=!0;b.depthTest=!1;b.needsUpdate=!0;b.userData={};b.userData.yva={};l.GWa(k.Maa(b),b)},tca:function(b,g){b.userData.yva.qo=g},Pta:function(b){return b.userData.yva.qo}};d.prototype.cVa=function(){return this.NP||this.PO||this.Ry||this.js||this.premultipliedAlpha};d.prototype.isEqual=function(b){return this.NP===b.NP&&this.PO===b.PO&&this.Ry===b.Ry&&this.js===b.js&&this.gO===b.gO&&this.fO===b.fO&&this.premultipliedAlpha===b.premultipliedAlpha&&this.side===b.side};k.jn=d;return k});
define("eg",["require","gG","cp"],function(a){function d(b){return Array.isArray(b)?b:b?[b]:[]}var h=a("gG"),l=a("cp"),k={create:function(b,g){var f=new THREE.Mesh(b,g);f.overdraw=!1;f.matrixAutoUpdate=!1;f.userData.Bv={};f.userData.Bv.attributes={};d(g).forEach(function(c){l.tca(c,f)});return f},Qsa:function(b){var g=new THREE.Group;k.forEach(b,function(f){g.add(f)});return g},cWa:function(b,g){d(g).forEach(function(f){l.tca(f,null)});l.dispose(b.material);b.material=g;d(g).forEach(function(f){l.tca(f,
b)})},Xy:function(b){return d(b.material)},GSa:function(b,g){if(b.layers.mask&g.layers.mask){var f=k.Xy(b);return h.FSa(b.geometry,g,b.matrixWorld).map(function(c){return f[c]})}return[]},nca:function(b,g){b.geometry=g},CSa:function(b,g){var f=[];k.wj(b,function(c){var e=k.Xy(c);g.forEach(function(m){var q=h.BSa(c.geometry,c.matrixWorld,m);if(q){var p=l.Maa(e[q.materialIndex]);m=p.image;m==p.ur&&(m=p.ur.Pa);p=Math.round(q.Eya*m.width-.5);p=0>p?0:p>m.width-1?m.width-1:p;q=Math.round((1-q.Mya)*m.height-
.5);q=0>q?0:q>m.height-1?m.height-1:q;f.push({x:p,y:q,source:m})}})});return f},mI:function(b,g){k.forEach(b,function(f){g?g.add(f):f.parent&&f.parent.remove(f)})},uz:"panoramaId",LD:"panoramaFrameId",AZ:"panoramaOverlayId",zZ:"levelIndex",setAttribute:function(b,g,f){k.wj(b,function(c){c.userData.Bv.attributes[g]=f})},getAttribute:function(b,g){return b.userData.Bv.attributes[g]},lta:function(b,g,f){for(var c=[],e=0,m=b.length;e<m;e++){var q=b[e];q.userData.Bv.attributes[g]!==f&&c.push(q)}return c},
uX:function(b,g,f){for(var c=[],e=0,m=b.length;e<m;e++){var q=b[e];q.userData.Bv.attributes[g]===f&&c.push(q)}return c},jua:function(b,g){for(var f={},c=0,e=b.length;c<e;c++){var m=b[c],q=m.userData.Bv.attributes[g];void 0!==q&&(f[q]||(f[q]=[])).push(m)}return f},HX:function(b){b=b.userData.Bv.alpha;return void 0===b?1:b},ff:function(b,g){k.wj(b,function(f){f.userData.Bv.alpha=g;k.Xy(f).forEach(function(c){c.opacity=g;"ShaderMaterial"==c.type&&c.uniforms&&c.uniforms.opacity&&(c.uniforms.opacity.value=
g)})})},lq:function(b,g){k.wj(b,function(f){f.matrix.copy(g);f.matrixWorldNeedsUpdate=!0})},gua:function(b){return b.renderOrder},gZ:function(b,g){k.forEach(b,function(f){f.renderOrder=g})},dispose:function(b){k.wj(b,function(g){g.geometry&&(h.dispose(g.geometry),g.geometry=void 0);g.material&&(l.dispose(g.material),g.material=void 0)})},Ck:function(b){var g=[];k.wj(b,function(f){g.push(f)});return g},forEach:function(b,g){Array.isArray(b)?b.forEach(g):b&&b.isObject3D&&(b.isMesh||"Group"==b.type)&&
g(b)},wj:function(b,g){if(Array.isArray(b))for(var f=0,c=b.length;f<c;f++)k.wj(b[f],g);else if(b&&b.children)for(f=0,c=b.children.length;f<c;f++)k.wj(b.children[f],g);b&&b.isObject3D&&b.isMesh&&g(b)}};return k});
define("U",["require","eg"],function(a){var d=a("eg");return{Ck:function(h){var l=[];h.children&&h.children.forEach(function(k){d.wj(k,function(b){b.userData&&b.userData.Bv&&l.push(b)})});return l},gca:function(h,l){h.userData.cameras=l},Baa:function(h){return h.userData.cameras||[]},YC:function(h){return h.userData.cameras&&0<h.userData.cameras.length&&h.userData.cameras[0]||null}}});
define("on","require kV og fV eg U".split(" "),function(a){function d(q,p){return q.reduce(function(n,r){return n?!0:!!(p.layers.mask&r.layers.mask)},!1)}function h(q){q=b(q).loaded;return void 0===q?!1:q}function l(q){q=b(q).active;return void 0===q?!0:q}function k(q){q=b(q).blending;return void 0===q?!1:q}function b(q){return q.userData.kUa||(q.userData.kUa={})}var g=a("kV"),f=a("og"),c=a("fV"),e=a("eg"),m=a("U");a=g.extend(c,function(){c.call(this);this.A=void 0;this.G5=!1});a.prototype.update=
function(q){var p=q.Ab&&this.A&&!this.A.Ab;this.A=q.clone();this.G5||(p?this.WHa():this.QPa())};a.prototype.QPa=function(){var q=!1,p=m.Baa(this.A.wg),n=m.Ck(this.A.wg);e.uX(n,e.LD,void 0).forEach(function(w){var x=d(p,w)&&0<e.HX(w)&&l(w);w.visible!=x&&(w.visible=x,q=!0)});n=e.lta(n,e.LD,void 0);n=e.jua(n,e.uz);for(var r in n){var t=n[r],u=p.map(function(){return!1});t.sort(function(w,x){return e.gua(x)-e.gua(w)});var v=t.some(k);t.forEach(function(w){var x=d(p,w)&&0<e.HX(w)&&l(w)&&(!v||h(w));if(x){x=
!0;for(var y=v||h(w)&&.999<e.HX(w),A=0;A<p.length;A++)w.layers.mask&p[A].layers.mask&&!u[A]&&(x=!1,y&&(u[A]=!0));x=!x}w.visible!=x&&(w.visible=x,q=!0)})}q&&this.trigger(f.sa)};a.prototype.WHa=function(){this.G5=!0;m.Ck(this.A.wg).forEach(function(q){q.visible=!1});setTimeout(function(){this.G5=!1;this.update(this.A)}.bind(this),300);this.trigger(f.sa)};a.rca=function(q,p){b(q).loaded=p};a.setActive=function(q,p){b(q).active=p};a.ixa=function(q,p){e.wj(q,function(n){b(n).blending=p})};return a});
define("jY","require kV og hE fV on cp eg U u".split(" "),function(a){function d(v){return(v=v.userData.xo)&&!(!v.tba&&!v.qba)}function h(v){return v.userData.xo||(v.userData.xo={})}function l(v){return h(v).HD}function k(v){return h(v).enabled||!1}function b(v){return!l(v).pba()}var g=a("kV"),f=a("og");a("hE");var c=a("fV"),e=a("on"),m=a("cp"),q=a("eg"),p=a("U"),n=a("u"),r=g.extend(c,function(){c.call(this);this.FF=[];this.Hx=[];this.nE=[];this.A=void 0;this.bs=null;this.Ky=this.Ky.bind(this)});
r.prototype.update=function(v){this.A=v.clone();this.pPa()?this.Ky():this.mra()};r.prototype.mra=function(){this.bs||(this.bs=setTimeout(this.Ky,1E3))};var t=Math.PI/180;r.prototype.pPa=function(){var v=0<this.A.Pl?1E3:this.A.cO/Math.tan(Math.min(.5*this.A.Oh,89.99)*t);n.kb()||(v*=1.5);var w=p.Baa(this.A.wg),x=p.Ck(this.A.wg).filter(d),y=x.filter(k);var A=q.lta(y,q.LD,void 0);A=q.jua(A,q.LD);A.none=q.uX(y,q.LD,void 0);y=[];for(var B in A)for(var z=A[B],C=0,E=z.length;C<E;C++){var F=z[C];(h(F).tba||
r.iQ)==r.Iq&&y.push(F)}for(var G=0,J=w.length;G<J;G++){var R=w[G];for(B in A){z=A[B];var U=null,Q=Number.NEGATIVE_INFINITY,N=null,W=Number.POSITIVE_INFINITY;C=0;for(E=z.length;C<E;C++)if(F=z[C],F.layers.mask&R.layers.mask&&(h(F).tba||r.iQ)==r.iQ){var H=90*h(F).zUa;H<v&&H>Q?(U=F,Q=H):H>=v&&H<W&&(N=F,W=H)}this.A.Ab&&N&&U?Q>.75*v?y.push(U):y.push(N):(N&&0>y.indexOf(N)&&y.push(N),U&&0>y.indexOf(U)&&y.push(U))}}v=[];for(w=0;w<y.length;w++)B=y[w],0>v.indexOf(B)&&v.push(B);y=v;a:{v=this.nE;w=y;for(B=0;B<
v.length;B++)if(0>w.indexOf(v[B])){v=!1;break a}for(B=0;B<w.length;B++)if(0>v.indexOf(w[B])){v=!1;break a}v=!0}v=!v;this.nE=y;C=0;for(E=x.length;C<E;C++)F=x[C],k(F)&&e.setActive(F,0<=this.nE.indexOf(F));return v};r.prototype.Ky=function(){this.bs=null;for(var v=[],w=[],x=[],y=(new Date).getTime()-u,A=p.Baa(this.A.wg),B=p.Ck(this.A.wg),z=0,C=B.length;z<C;z++){var E=B[z],F=E.userData.xo;if(F){var G=q.Xy(E);if(F.enabled){var J=[];if(0<=this.nE.indexOf(E)){if(0<this.A.Pl||(h(E).qba||r.G_)==r.Ho)J=G;else for(var R=
0,U=A.length;R<U;R++){var Q=q.GSa(E,A[R]);if(0==R)J=Q;else for(var N=0,W=Q.length;N<W;N++){var H=Q[N];0>J.indexOf(H)&&J.push(H)}}N=0;for(W=J.length;N<W;N++)H=J[N],(H.userData.xo||(H.userData.xo={})).fva=y}this.V0(E,J);N=0;for(W=F.uq.length;N<W;N++)v.push(F.uq[N]);N=0;for(W=F.Iv.length;N<W;N++)w.push(F.Iv[N])}else for(F.Iv||this.V0(E,[]),N=0,W=F.Iv.length;N<W;N++)H=F.Iv[N],0>F.uq.indexOf(H)&&w.push(H);N=0;for(W=G.length;N<W;N++)x.push(G[N])}}z=[];N=0;for(W=this.Hx.length;N<W;N++)H=this.Hx[N],0>x.indexOf(H)?
H.userData.xo.HD.unload():b(H)?this.u8(H,!1):z.push(H);this.Hx=z;N=Math.max(r.Eva(),Math.round(1.25*w.length))-v.length;if(this.Hx.length>N)for(this.Hx.sort(function(O,L){return h(O).fva-h(L).fva}),z=this.Hx.splice(0,this.Hx.length-N),N=0,W=z.length;N<W;N++)H=z[N],H.userData.xo.HD.unload(),this.u8(H,!1);w=[];z=0;for(C=this.nE.length;z<C;z++)E=this.nE[z],F=E.userData.xo,0<F.uq.length&&w.push(E);x=Number.POSITIVE_INFINITY;z=0;for(C=w.length;z<C;z++)E=w[z],F=E.userData.xo,N=F.priority,N=void 0!==N?N:
Number.POSITIVE_INFINITY,N<x&&(x=N);v=[];z=0;for(C=w.length;z<C;z++)if(E=w[z],F=E.userData.xo,N=F.priority,N=void 0!==N?N:Number.POSITIVE_INFINITY,N==x)for(Q=F.uq,N=0,W=Q.length;N<W;N++)H=Q[N],v.push(H);N=0;for(W=this.FF.length;N<W;N++)H=this.FF[N],0>v.indexOf(H)&&(H=H.userData.xo.HD,H.unbind(f.aa,this.i9,this,!0),H.unbind(f.Fc,this.j9,this,!0),H.pRa());z=this.FF;this.FF=v;C=this.FF.slice();N=0;for(W=C.length;N<W;N++)H=C[N],0>z.indexOf(H)&&(H=H.userData.xo.HD,H.bind(f.aa,this.i9,this,!0),H.bind(f.Fc,
this.j9,this,!0),H.load())};r.prototype.i9=function(v){this.tqa(v.source);this.trigger(f.aa)};r.prototype.j9=function(v){this.tqa(v.source)};r.prototype.tqa=function(v){v.unbind(f.aa,this.i9,this,!0);v.unbind(f.Fc,this.j9,this,!0);var w=v.material(),x=this.FF,y=x.indexOf(w);0<=y&&x.splice(y,1);this.Hx.push(w);this.u8(w,!0);v=v.qo();0<=h(v).uq.indexOf(w)&&this.V0(v,h(v).Iv);this.mra()};r.prototype.V0=function(v,w){var x=h(v).Iv;x=x?x.length:void 0;var y=h(v).uq;y=y?y.length:void 0;h(v).Iv=w;h(v).uq=
w.filter(b);e.rca(v,0==h(v).uq.length&&(h(v).qba||r.G_)==r.Ho);w=(w=h(v).Iv)?w.length:void 0;var A=h(v).uq;A=A?A.length:void 0;y===A&&x===w||v.dispatchEvent({type:f.rc,Og:w?100-100*A/w:100});y!==A&&0===A&&v.dispatchEvent({type:f.aa})};r.prototype.u8=function(v,w){if(w!=v.visible){var x=m.Pta(v),y=q.getAttribute(x,q.uz),A=q.getAttribute(x,q.zZ);if(void 0===y||void 0===A)v.visible=w;else{var B=p.Ck(this.A.wg).filter(d);y=q.uX(B,q.uz,y);A=q.uX(y,q.zZ,A);var z=q.Xy(x).indexOf(v);v=A.map(function(C){return q.Xy(C)[z]});
for(x=0;x<v.length&&w;x++)w=w&&l(v[x]).pba();for(x=0;x<v.length;x++)v[x].visible=w}}};r.Eva=function(){var v=n.kb()?128:384;r.Eva=function(){return v};return v};r.kc=function(v,w){q.wj(v,function(x){h(x).enabled=w})};r.enabled=k;r.ZY=function(v,w){q.wj(v,function(x){h(x).zUa=w})};r.Ho="all";r.G_="in view";r.Mv=function(v,w){q.wj(v,function(x){h(x).qba=w})};r.Iq="always";r.iQ="on demand";r.Nv=function(v,w){q.wj(v,function(x){h(x).tba=w})};r.AP=function(v,w){q.wj(v,function(x){h(x).priority=w})};r.BD=
function(v,w){q.wj(v,function(x){h(x).dZa=w;q.Xy(x).forEach(function(y){l(y).$Va(w)})})};r.bZa=function(v){return 100-100*h(v).uq.length/h(v).Iv.length};r.aZa=function(v){return 0==h(v).uq.length};r.nI=function(v,w){(h(v).HD=w)&&(v.visible=w.pba())};r.HD=l;var u=(new Date).getTime();return r});
define("h","require kV iG eg U jY on".split(" "),function(a){var d=a("kV"),h=a("iG"),l=a("eg"),k=a("U"),b=a("jY"),g=a("on");a=d.extend(h,function(){h.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null)});a.prototype.vn=function(){return[]};a.prototype.Pb=function(){l.dispose(this.get("meshGroup"));l.mI(this.get("meshGroup"),null);this.set("meshGroup",null);h.prototype.Pb.call(this)};a.prototype.ca=function(f){h.prototype.ca.call(this,
f);this.set("camera",k.YC(f.wg));this.set("webglScene",f.wg);this.get("meshGroup")||(this.set("meshGroup",l.Qsa(this.vn())),this.get("meshGroup").userData.vUa=this);this.M("webglScene","meshGroup")&&l.mI(this.get("meshGroup"),this.get("webglScene"));this.zl();this.aq(f);this.FC();this.M("loadingActive","meshGroup")&&b.kc(this.get("meshGroup"),this.get("loadingActive"));this.M("blendingActive","meshGroup")&&g.ixa(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.zl=function(){this.M("composedAlpha",
"meshGroup")&&this.Aw()};a.prototype.Aw=function(){l.ff(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.aq=function(){throw"Must be overridden in descendants.";};a.prototype.FC=function(){if(this.M("index","meshGroup")){var f=this.get("meshGroup");f&&f.children.forEach(function(c,e,m){l.gZ(c,this.get("index")+e/m.length)}.bind(this))}};return a});
define("fn",["require","kV","gG","h","eg"],function(a){var d=a("kV"),h=a("gG"),l=a("h"),k=a("eg"),b=new THREE.Matrix4,g=Math.PI/180;a=d.extend(l,function(){l.call(this);this.set("tag","Frame");this.dh=new THREE.Matrix4;this.yd=new THREE.Matrix4;this.tl=new THREE.Matrix4;this.$h=new THREE.Matrix4});a.prototype.ca=function(f){l.prototype.ca.call(this,f)};a.prototype.aq=function(f){var c=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.dh.makeTranslation(.5*-this.get("composedTranslationX")*
h.uf,.5*this.get("composedTranslationY")*h.uf,.5*this.get("composedTranslationZ")*h.uf),c=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.yd.makeRotationY(-f.Ra*g),this.yd.multiply(b.makeRotationX(-this.get("composedDeltaPitch")*g)),this.yd.multiply(b.makeRotationY(this.get("composedDeltaYaw")*g)),this.yd.multiply(b.makeRotationY(f.Ra*g)),c=!0);this.M("flipHorizontally")&&(f=this.get("flipHorizontally")?-1:1,this.tl.makeScale(f,1,1),c=!0);if(c||this.M("meshGroup"))this.$h.copy(this.dh),
this.$h.multiply(this.yd),this.$h.multiply(this.tl),k.lq(this.get("meshGroup"),this.$h)};return a});
define("y",["require"],function(){function a(){this.qF=d++;this.TK="_map_"+this.qF+"_key";this.YS={};this.kp=[];this.length=0}var d=0;a.prototype.set=a.prototype.add=function(h,l){0>this.kp.indexOf(h)&&this.kp.push(h);if("object"===typeof h&&null!==h){var k=h[this.TK];if(!k){k=this.TK;for(var b=[],g=0;8>g;g++)b.push(Math.floor(16*Math.random()).toString(16));k=h[k]=b.join("")}}else k=h;this.YS[k]=l;this.length=this.kp.length};a.prototype.get=function(h){return this.YS["object"===typeof h&&null!==
h?h[this.TK]:h]};a.prototype.jTa=function(h){return 0<=this.kp.indexOf(h)};a.prototype.remove=function(h){var l=this.kp.indexOf(h);0>l||(this.kp.splice(l,1),"object"===typeof h&&null!==h?(l=h[this.TK],delete h[this.TK]):l=h,delete this.YS[l],this.length=this.kp.length)};a.prototype.forEach=function(h){this.kp.slice().forEach(function(l){h(l,this.get(l))}.bind(this))};a.prototype.dispose=function(){for(;this.kp.length;)this.remove(this.kp.pop());this.kp=this.YS=null};return a});
define("nB",["require","kV","fV","y"],function(a){function d(){this.UC=[]}var h=a("kV"),l=a("fV"),k=a("y");a=h.extend(l,function(b){l.call(this);this.Ue=b;this.Sc=[];this.eu=new k;this.TN=[];this.a3=[];this.RF=this.RF.bind(this)});a.prototype.gf=function(b){this.Sc.forEach(function(g){if(g.removeEventListener)g.removeEventListener(this.Ue,this.RF);else if(g.unbind)g.unbind(this.Ue,this.RF,this,!0);else throw"invalid instance type";}.bind(this));this.Sc=b.slice();this.Sc.forEach(function(g){if(g.addEventListener)g.addEventListener(this.Ue,
this.RF);else if(g.bind)g.bind(this.Ue,this.RF,this,!0);else throw"invalid instance type";this.eu.jTa(g)||this.eu.set(g,new d)}.bind(this));this.M9()};a.prototype.dispose=function(){this.gf([]);this.Sc=null;this.eu.dispose();this.a3=this.TN=this.eu=null};a.prototype.Rl=function(b){this.TN.push(b);this.M9();return this};a.prototype.ro=function(b){this.a3.push(b);return this};a.prototype.ns=function(b){this.Sc.forEach(function(g){b(g,this.eu.get(g).UC)}.bind(this))};a.prototype.Il=function(b){b=this.eu.get(b).UC;
return 0==b.length?null:b[b.length-1]};a.prototype.RF=function(b){var g=b.target||b.source;if(g=this.eu&&this.eu.get(g))g.UC.push(b),this.a3.forEach(function(f){f(b,this)}.bind(this)),this.M9()};a.prototype.M9=function(){if(0!=this.Sc.length){for(var b=0;b<this.Sc.length;b++)if(0==this.eu.get(this.Sc[b]).UC.length)return;this.TN.length&&(b=this.TN.slice(),this.TN=[],b.forEach(function(g){g(this)}.bind(this)))}};return a});
define("cQ","require kV og hE fV cp nd".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("hE"),k=a("fV"),b=a("cp"),g=a("nd"),f=d.extend(k,function(){k.call(this);this.re=void 0;this.tb=g.createTexture();this.A=f.NI;this.QK=l.ln});f.prototype.type=function(){return this.re};f.prototype.texture=function(){return this.tb};f.prototype.material=function(){return this.tb&&g.Vaa(this.tb)};f.prototype.qo=function(){var c=this.tb&&g.Vaa(this.tb);return c&&b.Pta(c)};f.prototype.$Va=function(c){this.QK=c};
f.prototype.load=function(){this.A==f.NI&&(this.A=f.oQ,this.e1())};f.prototype.pRa=function(){this.aUa()&&(this.A==f.oQ?this.hW():this.eN(),this.A=f.NI)};f.prototype.unload=function(){this.A!=f.NI&&(this.A==f.oQ?this.hW():this.A==f.Z_?this.eN():this.Iy(),this.A=f.NI)};f.prototype.e1=function(){};f.prototype.hW=function(){};f.prototype.c1=function(){};f.prototype.eN=function(){};f.prototype.Iy=function(){g.wRa(this.texture)};f.prototype.aUa=function(){return this.A==f.oQ||this.A==f.Z_};f.prototype.pba=
function(){return this.A==f.Y_||this.A==f.Eea};f.prototype.dispose=function(){g.dispose(this.tb);this.tb=null};f.prototype.UF=function(c){this.A=c?f.Z_:f.Eea;c?this.c1():this.trigger(h.Fc)};f.prototype.lla=function(){this.A=f.Y_;this.trigger(h.aa)};f.NI="initial";f.oQ="loading";f.Z_="adding";f.Eea="error loading";f.Y_="added";f.HAa="custom";f.IAa="image tile";f.nYa="image animation";f.oYa="video 360";return f});
define("eS","require kV og cm kS nd cQ".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cm"),k=a("kS"),b=a("nd"),g=a("cQ");a=d.extend(g,function(f){g.call(this);this.re=g.HAa;this.ed=f;this.ed||(this.A=g.Y_);this.pg=this.rd=null;this.M0=this.NN=void 0});a.prototype.Ol=function(f){this.pg=f;b.KD(this.tb,this.pg);this.pg&&void 0!==this.NN&&b.tZ(this.pg,this.NN,this.M0)};a.prototype.tZ=function(f,c){this.NN!==f&&(this.NN=f,this.M0=c,this.pg&&b.tZ(this.pg,this.NN,this.M0))};a.prototype.sf=function(){return k.sf(this.ed)};
a.prototype.update=function(){b.KD(this.tb,this.pg)};a.prototype.e1=function(){this.ed?this.DJ():this.UF(!0)};a.prototype.hW=function(){this.bp()};a.prototype.c1=function(){this.lla()};a.prototype.Iy=function(){this.bp()};a.prototype.dispose=function(){this.bp();g.prototype.dispose.call(this)};a.prototype.kd=function(){this.UF(!0)};a.prototype.Af=function(){this.UF(!1)};a.prototype.DJ=function(){this.rd||(this.rd=new l,this.rd.CP([this.ed]),this.rd.bind(h.aa,this.kd,this,!0),this.rd.bind(h.Fc,this.Af,
this,!0),k.po(this.rd,this.QK))};a.prototype.bp=function(){this.rd&&(this.rd.unbind(h.aa,this.kd,this,!0),this.rd.unbind(h.Fc,this.Af,this,!0),k.Dj(this.rd,this.QK),this.rd=null)};return a});
define("dy","require kV og fV nd bf".split(" "),function(a){function d(){e||(e=!0,f.requestFrame(h,null))}function h(){for(e=!1;c.length;){var q=c.shift();q.add();if(q.hUa())break}c.length&&d()}var l=a("kV"),k=a("og"),b=a("fV"),g=a("nd"),f=a("bf"),c=[],e=!1,m=l.extend(b,function(q,p){b.call(this);this.texture=q;this.source=p});m.prototype.hUa=function(){return!this.source.Gfa&&g.hRa(this.source)};m.prototype.decode=function(){this.source.Gfa||(g.decode(this.source),this.source.Gfa=!0)};m.prototype.add=
function(){g.KD(this.texture,this.source);this.trigger(k.aa)};m.prototype.remove=function(){var q=c.indexOf(this);0<=q&&c.splice(q,1);g.KD(this.texture,null)};return{add:function(q,p){q=new m(q,p);c.push(q);d();return q}}});
define("ms","require kV og cm kS dy cQ".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cm"),k=a("kS"),b=a("dy"),g=a("cQ");a=d.extend(g,function(f){g.call(this);this.re=g.IAa;this.ed=f;this.pg=this.pG=this.rd=null});a.prototype.sf=function(){return this.pg};a.prototype.e1=function(){this.DJ()};a.prototype.hW=function(){this.bp()};a.prototype.c1=function(){this.FEa()};a.prototype.eN=function(){this.bp();this.L2()};a.prototype.Iy=function(){this.bp();this.L2()};a.prototype.dispose=function(){this.bp();
this.L2();g.prototype.dispose.call(this)};a.prototype.kd=function(){this.pg=k.sf(this.ed);this.UF(!0)};a.prototype.Af=function(){this.UF(!1)};a.prototype.mla=function(){this.lla()};a.prototype.DJ=function(){this.rd||(this.rd=new l,this.rd.CP([this.ed]),this.rd.bind(h.aa,this.kd,this,!0),this.rd.bind(h.Fc,this.Af,this,!0),k.po(this.rd,this.QK))};a.prototype.bp=function(){this.rd&&(this.rd.unbind(h.aa,this.kd,this,!0),this.rd.unbind(h.Fc,this.Af,this,!0),k.Dj(this.rd,this.QK),this.rd=null)};a.prototype.FEa=
function(){this.pG=b.add(this.tb,this.pg);this.pG.bind(h.aa,this.mla,this,!0)};a.prototype.L2=function(){this.pG&&(this.pG.unbind(h.aa,this.mla,this,!0),this.pG.remove(),this.pG=null)};return a});
define("oo",["require","kV","kS","nd","ms"],function(a){var d=a("kV"),h=a("kS"),l=a("nd"),k=a("ms");a=d.extend(k,function(b,g,f,c,e){k.call(this,b.get("url"));this.Ga=g;this.Ia=f;this.ea=c;this.ua=e;this.QIa=0!=this.Ga||0!=this.Ia||this.ea!=b.get("width")||this.ua!=b.get("height")});a.prototype.kd=function(){this.QIa?(this.MEa(),this.bp(),this.UF(!!this.pg)):k.prototype.kd.call(this)};a.prototype.eN=function(){k.prototype.eN.call(this);this.M2()};a.prototype.Iy=function(){k.prototype.Iy.call(this);
this.M2()};k.prototype.dispose=function(){k.prototype.dispose.call(this);this.M2()};a.prototype.MEa=function(){var b=h.sf(this.ed);this.pg=l.IRa(b,this.Ga,this.Ia,this.ea,this.ua)};a.prototype.M2=function(){this.pg&&(l.sX(this.pg),this.pg=null)};return a});
define("fk","require nc dv ml he eS ms oo gG cp eg bW mP jY u".split(" "),function(a){var d=a("nc"),h=a("dv"),l=a("ml"),k=a("he"),b=a("eS"),g=a("ms"),f=a("oo"),c=a("gG"),e=a("cp"),m=a("eg"),q=a("bW"),p=a("mP"),n=a("jY"),r=a("u"),t={ERa:function(u,v){var w=q.get(u);switch(w){case q.sw:case q.Ys:case q.Lk:return this.qEa(w,u,v);case q.Io:case q.Mo:case q.Rq:return this.sEa(w,u,v)}},KRa:function(u,v){var w=new g(v.get("posterURL"));return this.Aha(u,v,w)},JRa:function(u,v){var w=new b;return this.Aha(u,
v,w)},Aha:function(u,v,w){var x=u.get("hfov"),y=u.get("vfov"),A=u.get("pitch"),B=v.get("width");v=v.get("url");u=q.get(u);var z=u==q.Rq?2:1,C=u==q.Mo?2:1;u=2<z+C?[h.Ma,h.eb]:[h.Ls];var E=Math.round(B/z),F=e.Ty(w.texture(),new e.jn(v));n.nI(F,w);F.visible=!0;return u.map(function(G,J){J=c.Tsa(x,y,A,1,1,J%z/z,(C-1-Math.floor(J/z))/C,1/z,1/C);J=m.create(J,[F]);J.layers.set(G);n.ZY(J,E/x);return J}.bind(this))},GRa:function(u){var v=[l.eb,l.Ma,l.sc,l.mc,l.FRONT,l.BACK].map(function(){var x=new b;x.Ol(t.AHa(u));
var y=e.Ty(x.texture());n.nI(y,x);y.visible=!0;return y}),w=c.Ssa(1,1);v=m.create(w,v);n.ZY(v,256/90);v.layers.set(h.Ls);return v},J8:{},AHa:function(u){if(!t.J8[u]){var v=document.createElement("canvas");v.width=v.height=256;var w=v.getContext("2d");w.fillStyle=u;w.fillRect(0,0,v.width,v.height);t.J8[u]=v}return t.J8[u]},qEa:function(u,v,w){var x=u==q.sw?[h.eb,h.Ma]:[h.Ls],y=v.get("flipImageHorizontally");y&&(x=x.reverse());var A=u==q.Lk?1:6*x.length,B=w.get("width")/A,z=w.get("height");if(d.Ea("TiledImageResourceLevel",
w)){var C=w.get("colCount",A)/A;var E=w.get("rowCount",1)}else this.woa(u,w)?(C=Math.ceil(B/k.kt()),E=Math.ceil(z/k.kt())):E=C=1;var F=[l.eb,l.Ma,l.sc,l.mc,l.FRONT,l.BACK];return x.map(function(G,J){var R=Array(6);F.forEach(function(N,W){var H=p.Gaa(v,w,N);if(d.Ea("TiledImageResourceLevel",w))R[c.Iea.indexOf(N)]=this.lEa(H,u,G,N,y,C,E);else{W=u==q.Lk?0:Math.round((J*F.length+W)*B);var O=1<C||1<E||u!=q.Lk?256<B?1:.5:0;R[c.Iea.indexOf(N)]=this.uha(H,C,E,W,0,B,z,O)}}.bind(this));var U=Array.prototype.concat.apply([],
R),Q=c.Ssa(C,E);U=m.create(Q,U);U.layers.set(G);n.ZY(U,B/90);return U}.bind(this))},sEa:function(u,v,w){var x=u==q.Io?[h.Ls]:[h.Ma,h.eb];v.get("flipImageHorizontally")&&(x=x.reverse());var y=w.get("width"),A=w.get("height"),B=v.get("hfov"),z=v.get("vfov"),C=v.get("pitch"),E=Math.round(y/B/(A/z)),F=Math.round(y/E),G=Math.round(A/Math.round(A/z/(y/B))),J=(u=this.woa(u,w))?Math.ceil(F/k.kt()):1,R=u?Math.ceil(G/k.kt()):1;return x.map(function(U,Q){Q=this.uha(w,J,R,Q%E*F,Math.floor(Q/E)*G,F,G);var N=c.Tsa(B,
z,C,J,R,0,0,1,1);Q=m.create(N,Q);Q.layers.set(U);n.ZY(Q,F/B);return Q}.bind(this))},woa:function(u,v){switch(u){case q.sw:case q.Ys:case q.Mo:case q.Rq:return!0;case q.Lk:return!1;case q.Io:return r.hua().maxTextureSize<Math.max(v.get("width"),v.get("height"))?!0:k.Vm()||r.kb()?!1:r.gd()==r.yz?!0:!1}},uha:function(u,v,w,x,y,A,B,z){z||=0;for(var C=[],E=0;E<w;E++)for(var F=y+z+(B-2*z)*E/w,G=y+z+(B-2*z)*(E+1)/w,J=0;J<v;J++){var R=x+z+(A-2*z)*J/v,U=x+z+(A-2*z)*(J+1)/v;R=u?new f(u,R,F,U-R,G-F):new b;U=
e.laa(R.texture());n.nI(U,R);C.push(U)}return C},lEa:function(u,v,w,x,y,A,B){for(var z=[],C=0;C<B;C++)for(var E=0;E<A;E++){var F=u?new g(p.cua(u,v,w,x,y,B,C,E)):new b;var G=e.laa(F.texture());n.nI(G,F);G.visible=!1;z.push(G)}return z}};return t});
define("dc","require kV og fn nB fk jY".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("fn"),k=a("nB"),b=a("fk"),g=a("jY");a=d.extend(l,function(f){l.call(this);this.uc=f;this.set("tag","SolidFrame");this.Hg=null});a.prototype.Kb=function(){this.Hg=(new k(h.aa)).Rl(this.kd.bind(this));l.prototype.Kb.call(this)};a.prototype.Pb=function(){this.Hg.dispose();l.prototype.Pb.call(this)};a.prototype.vn=function(){var f=[b.GRa(this.uc)];g.Nv(f,g.Iq);g.Mv(f,g.Ho);this.Hg.gf(f);return f};a.prototype.kd=
function(){this.trigger(h.Rc);this.trigger(h.aa)};return a});
define("lm","require kV eD dc nJ bD".split(" "),function(a){var d=a("kV"),h=a("eD"),l=a("dc"),k=a("nJ"),b=a("bD");a=d.extend(h,function(g,f,c,e){h.call(this,g,f,c,e);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(g){if(!this.Gb){this.F.dn||(this.F.dn=new l("#000000"),this.F.dn.set("alpha",1),this.j.add(this.F.dn));if(!this.W){this.F.dn.Nh();var f=2*this.F.rH;this.W=new k("linear",[new b("alpha",2,0,void 0)],f);this.F.dn.Nh()}this.W.wb(g);this.F.dn.set("alpha",
Math.min(.99,this.W.$a("alpha")));this.j.cf(this.F.Bc).set("alpha",1);this.W&&this.W.Fe()&&(this.Gb=!0)}};return a});
define("bH",["require","kV","eD","nJ","bD"],function(a){var d=a("kV"),h=a("eD"),l=a("nJ"),k=a("bD");a=d.extend(h,function(b,g,f,c){h.call(this,b,g,f,c);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(b){if(!this.Gb){if(!this.W){var g=this.F.Ac?.01*this.F.rH:this.F.Zsa;this.W=new l("linear",[new k("alpha",1,0,void 0)],g)}this.W.wb(b);b=this.W.$a("alpha");this.j.cf(this.F.Qg).set("alpha",b);this.W.Fe()&&(this.Gb=!0)}};return a});
define("nh","require kV eD dc nJ bD".split(" "),function(a){var d=a("kV"),h=a("eD"),l=a("dc"),k=a("nJ"),b=a("bD");a=d.extend(h,function(g,f,c,e){h.call(this,g,f,c,e);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(g){if(!this.Gb){this.F.dn||(this.F.dn=new l("#000000"),this.F.dn.set("alpha",0),this.j.add(this.F.dn));if(!this.W){this.F.dn.Nh();var f=2*this.F.Zsa;this.W=new k("linear",[new b("alpha",0,2,void 0)],f)}this.W.wb(g);g=Math.min(1,this.W.$a("alpha"));
this.F.dn.set("alpha",g);1==g&&this.j.cf(this.F.Qg).set("alpha",0);this.W.Fe()&&(this.Gb=!0)}};return a});
define("cf",["require","kV","eD","nJ","bD"],function(a){function d(g,f,c){for(;g<f;)g+=c-f;for(;g>c;)g-=c-f;return g}var h=a("kV"),l=a("eD"),k=a("nJ"),b=a("bD");a=h.extend(l,function(g,f,c,e){l.call(this,g,f,c,e);this.W=null;this.Gb=!1;this.xm=0});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(g){this.Gb||(this.W||(this.W=this.xm<this.F.lo.length?this.CEa(this.xm):this.hEa()),this.W.wb(g),this.Ob.Rv(this.W.$a("yaw"),this.W.$a("pitch")),this.Ob.vo(this.W.$a("hfov")),this.Ob.DD(this.W.$a("stereographicFactor")),
this.W.Fe()&&(this.W=null,this.xm++,this.xm>this.F.lo.length&&(this.Ob.xP(!0),this.Gb=!0)))};a.prototype.hEa=function(){var g=d(this.j.Yc(),-180,180),f=this.j.Pc();this.j.Df();var c=this.j.sg(),e=this.j.A.Pl,m=this.F.ug.get("hfov");m={Ra:this.F.ug.get("yaw"),pitch:this.F.ug.get("pitch",f),Re:this.j.Df(),te:m?this.Ob.QC(m):c,Pl:0};this.Ob.fVa(this.F.Bc,m);m.Ra=d(m.Ra,g-180,g+180);var q=.5<Math.abs(c-m.te),p=Math.abs(e-m.Pl),n=.01<p;q=this.F.Ab()?1:Math.max(q?this.F.yZ:1,n?this.F.mwa*p:1);return new k(n?
"linear":"cubic_in_out",[new b("yaw",g,m.Ra,void 0),new b("pitch",f,m.pitch,void 0),new b("hfov",c,m.te,void 0),new b("stereographicFactor",e,m.Pl,void 0)],q)};a.prototype.CEa=function(g){var f=this.F.lo[g],c=d(this.j.Yc(),-180,180),e=this.j.Pc();this.j.Df();var m=this.j.sg(),q=this.j.A.Pl,p=f.get("targetStereographicFactor",q),n=f.get("targetHfov");if(n)n=this.Ob.QC(n);else{for(n=!1;g<this.F.lo.length&&!n;g++)n=void 0!==this.F.lo[g].get("targetHfov");n?n=m:(n=this.Ob.QC(this.F.ug.get("hfov",this.Ob.Vsa())),
n=m+(n-m)*(q-p))}g=f.get("targetYaw",c);var r=f.get("targetPitch",e);this.j.Df();switch(f.get("path")){case "left":g=d(g,c-360,c);break;case "right":g=d(g,c,c+360);break;case "longest":g=d(g,-360,360);g=g>=c?d(g,c,c+360):d(g,c-360,c);break;default:g=d(g,c-180,c+180)}return new k(f.get("easing"),[new b("yaw",c,g,f.get("yawSpeed")),new b("pitch",e,r,f.get("pitchSpeed")),new b("hfov",m,n,f.get("hfovSpeed")),new b("stereographicFactor",q,p,f.get("stereographicFactorSpeed"))],f.get("duration"))};return a});
define("fF",["require","kV","eD","nJ","bD"],function(a){var d=a("kV"),h=a("eD"),l=a("nJ"),k=a("bD");a=d.extend(h,function(b,g,f,c){h.call(this,b,g,f,c);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(b){if(!this.Gb){if(!this.W){var g=this.j.Pc(),f=this.j.sg(),c=this.j.A.Pl,e=this.F.rf.get("stereographicFactor",0),m=Math.abs(c-e),q=0<e?this.F.rf.get("pitch",g):g,p=this.F.rf.get("hfov");p=p?this.Ob.QC(p):f;0==e&&(p=Math.min(f,this.Ob.SY(this.F.Bc,p)));this.Ob.xP(!1);
m=this.F.Ab()?1:Math.max(.5<Math.abs(f-p)?this.F.yZ:1,.01<m?this.F.mwa:1);this.W=new l("cubic_in_out",[new k("hfov",f,p,void 0),new k("pitch",g,q,void 0),new k("stereographicFactor",c,e,void 0)],m)}this.W.wb(b);this.Ob.vo(this.W.$a("hfov"));this.Ob.DD(this.W.$a("stereographicFactor"));this.Ob.Rv(this.j.Yc(),this.W.$a("pitch"));this.W.Fe()&&(this.Ob.pi(this.F.Bc),this.Ob.Rv(this.F.rf.get("yaw"),this.F.rf.get("pitch",this.j.Pc())),this.Gb=!0)}};return a});
define("eo",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){var l=this.j.cf(this.F.Qg);this.j.remove(l)};return a});define("gx",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){var l=(this.F.Ac||this.F.lc).get("model");l.set("objects",l.get("objects").filter(function(k){return k!=this.F.Fv}.bind(this)));this.F.Fv=null};return a});
define("r",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.Ob.pi(this.F.Bc);this.Ob.Rv(this.F.ug.get("yaw"),this.F.ug.get("pitch",this.j.Pc()));var l=this.F.ug.get("hfov");l&&(l=this.Ob.QC(l),this.Ob.vo(l))};return a});
define("di",["require","kV","ky","lH"],function(a){var d=a("kV");a("ky");var h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.Ob.pi(this.F.Bc);if(this.F.FD.get("keepInitialPositionOnTranslation")){var l=this.F.ug.get("yaw");var k=this.F.ug.get("pitch")}else k=this.F.lc.get("model").get("camera"),l=k.get("yaw")-this.F.lc.get("yaw"),k=this.F.FD.get("enterPointingToHorizon")?0:k.get("pitch");this.Ob.Rv(l,k);if(l=this.F.ug.get("hfov"))l=this.Ob.QC(l),this.Ob.vo(l)};
return a});define("oA",["require","kV","ky","lH"],function(a){var d=a("kV");a("ky");var h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.Ob.pi(this.F.Bc);if(this.F.FD.get("keepInitialPositionOnTranslation")){var l=this.F.ug.get("yaw");var k=this.F.ug.get("pitch")}else k=this.F.lc.get("model").get("camera"),l=k.get("yaw")-this.F.lc.get("yaw"),k=k.get("pitch");this.Ob.Rv(l,k)};return a});
define("kz",["require","kV","og","eD"],function(a){var d=a("kV"),h=a("og"),l=a("eD");a=d.extend(l,function(k,b,g,f){l.call(this,k,b,g,f);this.Y=null;this.Gb=!1});a.prototype.RJa=function(){this.Gb=!0};a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(){if(!this.Y&&(this.Y=this.F.Ac.get("model"),this.F.Ll.get("model")==this.Y)){var k=this.Y.get("camera");k.set("easing",0);k.set("x",this.F.Ac.get("x"));k.set("y",this.F.Ac.get("y"));k.set("z",this.F.Ac.get("z"));k.set("yaw",this.j.Yc()+
this.F.Ac.get("yaw"));k.set("pitch",this.j.Pc());k.set("fov",this.j.Va()>this.j.zb()?this.j.uO():this.j.vO());this.Y.bind(h.Qz,this.RJa,this,!0)}};return a});define("hB",["require","kV","lH","oC"],function(a){var d=a("kV"),h=a("lH"),l=a("oC");a=d.extend(h,function(k,b,g,f){h.call(this,k,b,g,f)});a.prototype.Ji=function(){this.F.Bc&&(this.F.mode==l.h0||this.F.mode==l.i0?this.F.Bc.set("minFaceSize",1024):this.F.Bc.set("minFaceSize",void 0))};return a});
define("gV",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.Ob.pi(this.F.Bc);var l=this.F.Tca?this.F.rf.get("stereographicFactor",0):0;this.Ob.DD(l);this.Ob.Rv(this.F.rf.get("yaw"),this.F.rf.get("pitch",this.j.Pc()));(l=this.F.rf.get("hfov"))||this.F.Qg||(l=this.Ob.Vsa());l&&(l=this.Ob.QC(l),this.Ob.vo(l),this.Ob.xP(!this.F.Tca))};return a});
define("fY",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.Ob.pi(this.F.Bc);var l=this.Ob.SY(this.F.Bc,this.j.sg());this.Ob.vo(l);this.Ob.Rv(this.j.Yc()+this.F.sI.Eta(),this.j.Pc())};a.prototype.kD=function(){return!0};return a});
define("nT",["require","kV","eD","nJ","bD"],function(a){var d=a("kV"),h=a("eD"),l=a("nJ"),k=a("bD");a=d.extend(h,function(b,g,f,c){h.call(this,b,g,f,c);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(b){if(!this.Gb){if(!this.W){var g=this.j.sg(),f=this.Ob.SY(this.F.Bc,g),c=!this.F.Ab()&&.01<Math.abs(g-f)?this.F.yZ:1;this.W=new l("cubic_in_out",[new k("hfov",g,f,void 0)],c)}this.W.wb(b);this.Ob.vo(this.W.$a("hfov"));this.W.Fe()&&(this.Ob.xP(!0),this.Gb=!0)}};
return a});
define("fw",["require","kV","eD","nJ","bD"],function(a){var d=a("kV"),h=a("eD"),l=a("nJ"),k=a("bD");a=d.extend(h,function(b,g,f,c){h.call(this,b,g,f,c);this.W=null;this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(b){if(!this.Gb){if(!this.W){var g=this.j.sg(),f=Math.min(this.Ob.SY(this.F.Bc,g),g),c=!this.F.Ab()&&.01<Math.abs(g-f)?this.F.yZ:1;this.W=new l("cubic_in_out",[new k("hfov",g,f,void 0)],c);this.Ob.xP(!1)}this.W.wb(b);this.Ob.vo(this.W.$a("hfov"));this.W.Fe()&&(this.Ob.pi(this.F.Bc),
this.Ob.Rv(this.j.Yc()+this.F.sI.Eta(),this.j.Pc()),this.Gb=!0)}};a.prototype.kD=function(){return!0};return a});define("dI",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){this.F.Ac&&this.F.Ll.get("model")==this.F.Ac.get("model")&&this.j.wc.gI([this.F.Ll])};return a});
define("lM",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ji=function(){var l=[this.j.wc];this.F.lc&&l.push(this.F.Ll);this.j.wc.gI(l)};return a});
define("bv",["require","kV","eD","u"],function(a){var d=a("kV"),h=a("eD"),l=a("u");a=d.extend(h,function(k,b,g,f){h.call(this,k,b,g,f);this.A="not initialized";this.Wa=0});a.prototype.Ng=function(){return"ended"==this.A};a.prototype.fh=function(k){this.Ng()||("not initialized"==this.A&&this.Q4(),"initialized"==this.A&&(this.Up.get("ready")||this.Up.cba())&&this.bN(),"started"==this.A&&this.ca(k),1<=this.Wa&&this.TJ())};a.prototype.Q4=function(){this.Jna=this.F.yya;this.iJ=.25;this.DCa=.75;this.qLa=
.25;this.Dqa=this.GHa();this.y0=.5*this.Jna;this.lPa=this.Jna-2*this.y0;this.BB=1/(this.y0+this.lPa);this.BQ=this.BB/this.y0;this.Yu=0;this.Up=this.j.cf(this.F.Bc);this.L8=this.j.cf(this.F.Qg);this.YE=this.F.sI.sSa();this.A="initialized"};a.prototype.GHa=function(){var k=this.F.sI.get("distance");return k?Math.min(.99,k/this.F.Qg.get("distanceToFloor")):.75};a.prototype.bN=function(){this.j.Dxa(!this.F.Ab()&&l.browser()!=l.Tl);this.Up.Nh();this.A="started"};a.prototype.ca=function(k){this.Up.get("ready")||
this.Wa<this.qLa?this.Wa>=1-.5*this.Yu*this.Yu/this.BQ?this.Yu=Math.sqrt(2*(1-this.Wa)*this.BQ):this.Yu<this.BB&&(this.Yu=Math.min(this.Yu+this.BQ*k,this.BB)):this.Yu=Math.max(this.Yu-this.BQ*k,0);this.Wa=Math.min(Math.max(0,this.Wa+this.Yu*k),1);this.Up.get("ready")||(this.iJ=Math.max(this.iJ,this.Wa));this.FW(this.Wa,Math.max(0,Math.min(1,(this.Wa-this.iJ)/(this.DCa-this.iJ))))};a.prototype.TJ=function(){this.Up.set("alpha",1);this.j.Dxa(!1);this.A="ended"};a.prototype.FW=function(k,b){var g=(k-
1)*this.Dqa;this.Up.set("translationX",g*this.YE.x);this.Up.set("translationY",g*this.YE.y);this.Up.set("translationZ",g*this.YE.z);this.Up.get("ready");k*=this.Dqa;this.L8.set("translationX",k*this.YE.x);this.L8.set("translationY",k*this.YE.y);this.L8.set("translationZ",k*this.YE.z);this.Up.set("alpha",Math.max(.01,Math.min(.99,b)))};a.prototype.kD=function(){return this.Wa<this.iJ};return a});
define("fa",["require","nc","eZ"],function(a){var d=a("nc"),h=a("eZ");return d.define("TargetModel3DCameraMovement",h,function(){h.call(this)})});
define("gp","require kV og gB fa eD".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("gB"),k=a("fa"),b=a("eD");a=d.extend(b,function(f,c,e,m){b.call(this,f,c,e,m);this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(){var f=this.F.Ac.get("model");if(this.F.Ll.get("model")!=f)this.Xx();else if(!this.Qa){f=f.get("camera");var c=f.jqa;c||={x:f.get("initialX",f.get("x")),y:f.get("initialY",f.get("y")),z:f.get("initialZ",f.get("z")),yaw:f.get("initialYaw",f.get("yaw")),pitch:f.get("initialPitch",
f.get("pitch")),fov:f.get("initialFov",f.get("fov")),distance:f.get("initialDistance",f.get("distance"))};this.Ad=new k;this.Ad.set("targetX",c.x);this.Ad.set("targetY",c.y);this.Ad.set("targetZ",c.z);this.Ad.set("targetYaw",c.yaw);this.Ad.set("targetPitch",c.pitch);this.Ad.set("targetFov",c.fov);this.Ad.set("targetDistance",c.distance);this.Ad.set("duration",1E3);this.Ad.set("easing","quad_in_out");this.Ad.bind(h.Qz,this.q6,this,!0);this.Qa=new l;this.Qa.set("movements",[this.Ad]);this.Qa.set("mandatory",
!0);this.Qa.bind(h.rb,this.Xx,this,!0);f.set("sequences",f.get("sequences").concat([this.Qa]));this.Qa.play();this.TM();this.c9=(new THREE.Vector3).set(c.x,c.y,c.z);this.XM=(new THREE.Vector3).set(this.F.Ac.get("x"),this.F.Ac.get("y"),this.F.Ac.get("z"))}};var g=new THREE.Vector3;a.prototype.q6=function(){var f=this.F.Ac.get("model").get("camera");f=g.set(f.get("x"),f.get("y"),f.get("z")).distanceTo(this.XM)/this.XM.distanceTo(this.c9);var c=Math.max(.01,Math.min(.99,(f-0)/.33));this.j.bZ(0<f&&1>
f);this.F.Fv.set("position",c)};a.prototype.Xx=function(){var f=this.F.Ac.get("model").get("camera");f.set("sequences",f.get("sequences").filter(function(c){return c!=this.Qa}.bind(this)));this.Gb=!0;this.yM()};a.prototype.TM=function(){var f=this.F.Ac.get("model");this.nM=f.get("postprocessing");this.oM=f.get("surfaceSelectionEnabled");f.set("postprocessing",!1);f.set("surfaceSelectionEnabled",!1)};a.prototype.yM=function(){var f=this.F.Ac.get("model"),c=this.nM,e=this.oM;setTimeout(function(){f.set("postprocessing",
c);f.set("surfaceSelectionEnabled",e)},30)};return a});
define("hQ","require kV og nc gB fa dG eD".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("nc"),k=a("gB"),b=a("fa"),g=a("dG"),f=a("eD");a=d.extend(f,function(q,p,n,r){f.call(this,q,p,n,r);this.Gb=!1;this.ECa=0;this.FCa=1;this.YL=[];this.bL=[];this.YL.push(this.Dpa.bind(this))});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(){if(this.F.Ll.get("model")!=this.F.lc.get("model"))this.sma();else{var q=this.YL;for(this.YL=[];0<q.length;)q.shift()()}};a.prototype.SJa=function(){var q=
this.bL;for(this.bL=[];0<q.length;)q.shift()()};a.prototype.eOa=function(){this.yNa();this.TM();this.bL.push(this.XHa.bind(this));this.bL.push(this.vra.bind(this))};a.prototype.yNa=function(){var q=this.F.lc.get("model").get("camera");q.set("easing",0);q.set("x",this.F.Ac.get("x"));q.set("y",this.F.Ac.get("y"));q.set("z",this.F.Ac.get("z"));q.set("yaw",this.j.Yc()+this.F.Ac.get("yaw"));q.set("pitch",this.j.Pc());q.set("fov",this.j.Va()>this.j.zb()?this.j.uO():this.j.vO());this.Ad=new b;this.Ad.set("targetX",
this.F.lc.get("x"));this.Ad.set("targetY",this.F.lc.get("y"));this.Ad.set("targetZ",this.F.lc.get("z"));if(this.F.FD.get("keepInitialPositionOnTranslation")){var p=this.F.ug.get("yaw")+this.F.lc.get("yaw"),n=this.F.ug.get("pitch"),r=this.F.ug.get("hfov");this.Ad.set("targetYaw",p);void 0!==n&&this.Ad.set("targetPitch",n);void 0!==r&&this.Ad.set("targetFov",r)}this.Ad.set("duration",1500);this.Ad.set("easing","cubic_in_out");this.Ad.bind(h.Qz,this.SJa,this,!0);this.Qa=new k;this.Qa.set("movements",
[this.Ad]);this.Qa.set("mandatory",!0);this.Qa.bind(h.rb,this.sma,this,!0);q.set("sequences",q.get("sequences").concat([this.Qa]));this.Qa.play()};a.prototype.Dpa=function(){if(this.j.cf(this.F.Bc).get("ready")){var q=this.F.Ac,p=this.F.lc,n=q.get("model"),r=n.get("objects").find(function(u){return l.Ea("ProjectedMaterialModel3DObject",u)}),t=!r;r||=new g;this.F.Fv=r;r.set("sourceX",q.get("x"));r.set("sourceY",q.get("y"));r.set("sourceZ",q.get("z"));r.set("sourceYaw",q.get("yaw"));r.set("targetX",
p.get("x"));r.set("targetY",p.get("y"));r.set("targetZ",p.get("z"));r.set("targetYaw",p.get("yaw"));q=this.j.cf(this.F.Qg);p=this.j.cf(this.F.Bc);q.set("alpha",1);p.set("alpha",.01);r.set("sourceFaces",this.j.dO(this.F.Qxa,r.get("sourceFaces")));q.set("alpha",.01);p.set("alpha",1);r.set("targetFaces",this.j.dO(this.F.hya,r.get("targetFaces")));q.set("alpha",1);p.set("alpha",.01);r.set("position",0);t&&n.set("objects",n.get("objects").concat([this.F.Fv]));this.eOa()}else this.YL.push(this.Dpa.bind(this))};
a.prototype.XHa=function(){this.j.cf(this.F.Qg).set("alpha",0);this.Kha()};a.prototype.Kha=function(){(this.Mna=void 0===this.Mna?10:this.Mna-1)?this.YL.push(this.Kha.bind(this)):this.j.bZ(!0)};a.prototype.tFa=function(){this.j.bZ(!1)};var c=new THREE.Vector3,e=new THREE.Vector3,m=new THREE.Vector3;a.prototype.HHa=function(){var q=this.F.Ac;c.set(q.get("x"),q.get("y"),q.get("z"));var p=this.F.lc;e.set(p.get("x"),p.get("y"),p.get("z"));q=q.get("model").get("camera");m.set(q.get("x"),q.get("y"),q.get("z"));
return m.distanceTo(c)/e.distanceTo(c)};a.prototype.vra=function(){var q=this.HHa();q=Math.max(0,Math.min(1,(q-this.ECa)/this.FCa));this.F.Fv.set("position",q);1>q&&this.bL.push(this.vra.bind(this))};a.prototype.sma=function(){var q=this.F.Ac.get("model").get("camera");q.set("sequences",q.get("sequences").filter(function(p){return p!=this.Qa}.bind(this)));this.tFa();this.yM();this.Gb=!0};a.prototype.TM=function(){var q=this.F.Ac.get("model");this.nM=q.get("postprocessing");this.oM=q.get("surfaceSelectionEnabled");
q.set("postprocessing",!1);q.set("surfaceSelectionEnabled",!1)};a.prototype.yM=function(){var q=this.F.Ac.get("model"),p=this.nM,n=this.oM;setTimeout(function(){q.set("postprocessing",p);q.set("surfaceSelectionEnabled",n)},30)};return a});
define("kR","require kV og gB fa eD ky".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("gB"),k=a("fa"),b=a("eD"),g=a("ky");a=d.extend(b,function(c,e,m,q){b.call(this,c,e,m,q);this.Gb=!1});a.prototype.Ng=function(){return this.Gb};a.prototype.fh=function(){if(!this.Qa){var c=this.F.lc.get("model").get("camera");c.kXa();var e=Math.abs(c.get("pitch")-this.j.Pc()),m=30<e;this.Ad=new k;this.Ad.set("targetX",this.F.lc.get("x"));this.Ad.set("targetY",this.F.lc.get("y"));this.Ad.set("targetZ",this.F.lc.get("z"));
this.Ad.set("targetDistance",0);this.Ad.set("targetFov",this.UHa(this.j.sg()));this.Ad.set("targetYaw",this.j.Yc()+this.F.lc.get("yaw"));m?this.Ad.set("targetPitch",c.get("pitch")):this.Ad.set("targetPitch",this.j.Pc());this.Ad.set("duration",1500);this.Ad.set("easing","cubic_in_out");this.Ad.bind(h.Qz,this.q6,this,!0);var q=[this.Ad];m&&(m=new k,m.set("targetPitch",this.j.Pc()),m.set("duration",e/90*1E3),m.set("easing","quad_in_out"),q.push(m));this.Qa=new l;this.Qa.set("movements",q);this.Qa.set("mandatory",
!0);this.Qa.bind(h.rb,this.Xx,this,!0);c.set("sequences",c.get("sequences").concat([this.Qa]));this.Qa.play();this.TM();this.XM=(new THREE.Vector3).set(c.get("x"),c.get("y"),c.get("z"));this.c9=(new THREE.Vector3).set(this.F.lc.get("x"),this.F.lc.get("y"),this.F.lc.get("z"))}};a.prototype.UHa=function(c){return this.j.Va()<this.j.zb()?g.Fl(c,this.j.Va(),this.j.zb()):c};var f=new THREE.Vector3;a.prototype.q6=function(){var c=this.F.lc.get("model").get("camera");c=f.set(c.get("x"),c.get("y"),c.get("z")).distanceTo(this.XM)/
this.XM.distanceTo(this.c9);var e=Math.max(.01,Math.min(.99,(c-.66)/(1-.66)));this.j.bZ(0<c&&1>c);this.F.Fv.set("position",e)};a.prototype.Xx=function(){var c=this.F.lc.get("model").get("camera");c.set("sequences",c.get("sequences").filter(function(e){return e!=this.Qa}.bind(this)));this.Gb=!0;this.yM()};a.prototype.TM=function(){var c=this.F.lc.get("model");this.nM=c.get("postprocessing");this.oM=c.get("surfaceSelectionEnabled");c.set("postprocessing",!1);c.set("surfaceSelectionEnabled",!1)};a.prototype.yM=
function(){var c=this.F.lc.get("model"),e=this.nM,m=this.oM;setTimeout(function(){c.set("postprocessing",e);c.set("surfaceSelectionEnabled",m)},30)};return a});define("iC",["require","kV","lH"],function(a){var d=a("kV"),h=a("lH");a=d.extend(h,function(l,k,b,g,f){h.call(this,l,k,b,g);this.bDa=f});a.prototype.Ji=function(){this.bDa.call(this.K)};return a});
define("fS",["require","kV","eD"],function(a){var d=a("kV"),h=a("eD");a=d.extend(h,function(l,k,b,g){h.call(this,l,k,b,g)});a.prototype.Ng=function(){var l=this.j.Hb(),k=l&&l.cH;l=l&&l.HF;return!!k&&!k.get("visible")&&!!l&&!l.get("visible")};return a});
define("M",["require","kV","eD"],function(a){var d=a("kV"),h=a("eD"),l=d.extend(h,function(k,b,g,f){h.call(this,k,b,g,f);this.Pu=null});l.prototype.Ng=function(){this.Pu||(this.Pu=this.F.Bc&&this.j.cf(this.F.Bc));return this.Pu&&this.Pu.get("ready")};l.prototype.kD=function(){return!0};l.nea=d.extend(l,function(k,b,g,f){l.call(this,k,b,g,f)});l.nea.prototype.kD=function(){return!1};l.rea=d.extend(l,function(k,b,g,f){l.call(this,k,b,g,f)});l.rea.prototype.Ng=function(){this.Pu||(this.Pu=this.F.Bc&&
this.j.cf(this.F.Bc));return this.Pu&&(this.Pu.get("ready")||this.Pu.Kba())};return l});
define("nl",["require","kV","bl","cu","fV"],function(a){var d=a("kV"),h=a("bl"),l=a("cu"),k=a("fV"),b=d.extend(k,function(g){k.call(this);this.j=g;this.T=!1;this.ku=this.ku.bind(this);this.wc=this.j.wc});b.prototype.clear=function(){this.wc=this.j=null};b.prototype.kc=function(g){this.T!=g&&(this.T&&document.removeEventListener("keyup",this.ku),(this.T=g)&&document.addEventListener("keyup",this.ku))};b.prototype.ku=function(g){"translate"==this.wc.get("arrowKeysAction")&&(g.which!=h.ri||g.shiftKey?
g.which!=h.Mj||g.shiftKey||this.trigger(new l(b.l_)):this.trigger(new l(b.k_)))};b.l_="moveForward";b.k_="moveBackward";return b});
define("op","require cu fV gy oC lx cK ln kt li oz hr eW lm bH nh cf fF eo gx r di oA kz hB gV fY nT fw dI lM bv gp hQ kR iC fS M nl kV".split(" "),function(a){var d=a("cu"),h=a("fV"),l=a("gy"),k=a("oC"),b=a("lx"),g=a("cK"),f=a("ln"),c=a("kt"),e=a("li"),m=a("oz"),q=a("hr"),p=a("eW"),n=a("lm"),r=a("bH"),t=a("nh"),u=a("cf"),v=a("fF"),w=a("eo"),x=a("gx"),y=a("r"),A=a("di"),B=a("oA"),z=a("kz"),C=a("hB"),E=a("gV"),F=a("fY"),G=a("nT"),J=a("fw"),R=a("dI"),U=a("lM"),Q=a("bv"),N=a("gp"),W=a("hQ"),H=a("kR"),
O=a("iC"),L=a("fS"),S=a("M");a("nl");var V=a("kV").extend(h,function(Z,ca,D){h.call(this);this.N=Z;this.j=ca;this.Dc=D;this.Ob=this.Mx=null;this.Nha=this.dr=this.bM=this.Gu=void 0;this.F=null;this.Kg=[]});V.prototype.uca=function(Z){this.Mx=Z};V.prototype.clear=function(){this.P7(this.dr);this.F&&this.P7(this.F.Bc);this.bM=this.Gu=void 0;this.da=this.Dc=this.j=this.N=this.F=null};V.prototype.start=function(Z,ca){!this.F&&Z==this.dr||this.F&&Z==this.F.Bc?this.bM=this.Gu=void 0:(this.Gu=Z,this.bM=ca,
0==this.Kg.length&&this.eW())};V.prototype.hide=function(){this.Gu=null;!this.F&&this.dr&&this.eW()};V.prototype.nSa=function(){return this.F&&this.F.Bc};V.prototype.eW=function(){this.F=new k(this.j,this.Mx,this.dr,this.Gu,this.bM);this.Ob=new l(this.j,this.Dc,this.F);this.bM=this.Gu=void 0;this.ra(C);this.ra(e);switch(this.F.mode){case k.Fda:this.Eb(this.gv);this.ra(r);this.Eb(this.fv);this.ra(w);this.Eb(this.Xp);break;case k.Eda:this.ra(U);this.Eb(this.Hy);this.ra(S);this.ra(q);this.ra(E);this.Eb(this.Yr);
this.ra(p);this.ra(L);this.ra(u);this.Eb(this.Gy);break;case k.fQ:this.F.Ab()?(this.ra(U),this.Eb(this.Hy),this.Eb(this.gv),this.ra(t),this.Eb(this.fv),this.ra(w),this.Eb(this.Xp),this.ra(S),this.ra(y),this.Eb(this.Yr),this.Eb(this.Gy),this.ra(n)):(this.ra(U),this.Eb(this.Hy),this.Eb(this.gv),this.ra(r),this.Eb(this.fv),this.ra(w),this.Eb(this.Xp),this.ra(S),this.ra(q),this.ra(E),this.Eb(this.Yr),this.ra(p),this.ra(L),this.ra(u),this.Eb(this.Gy));break;case k.Lea:this.ra(U);this.Eb(this.Hy);this.Eb(this.gv);
this.Eb(this.fv);this.F.Ab()?(this.ra(F),this.Eb(this.Yr),this.ra(Q),this.ra(w),this.Eb(this.Xp)):(this.ra(J),this.Eb(this.Yr),this.ra(Q),this.ra(w),this.Eb(this.Xp),this.ra(G),this.ra(q),this.ra(L));this.Eb(this.Gy);break;case k.hn:this.ra(U);this.Eb(this.Hy);this.ra(S);this.F.Ab()?(this.Eb(this.gv),this.Eb(this.fv),this.ra(y),this.Eb(this.Yr),this.ra(b),this.ra(w),this.Eb(this.Xp)):(this.Eb(this.gv),this.Eb(this.fv),this.ra(v),this.Eb(this.Yr),this.ra(b),this.ra(w),this.Eb(this.Xp),this.ra(q),this.ra(L),
this.ra(u));this.Eb(this.Gy);break;case k.h0:this.ra(U);this.Eb(this.Hy);this.ra(m);this.ra(S);this.ra(g.Tea);this.ra(A);this.ra(H);this.Eb(this.Yr);this.ra(p);this.ra(x);this.ra(f);this.ra(q);this.ra(L);this.Eb(this.Gy);break;case k.Nea:this.ra(m);this.ra(g.Gea);this.ra(c);this.ra(z);this.Eb(this.gv);this.ra(r);this.Eb(this.fv);this.ra(w);this.Eb(this.Xp);this.ra(N);this.ra(x);this.ra(R);break;case k.i0:this.Eb(this.Hy);this.ra(m);this.ra(c);this.Eb(this.gv);this.Eb(this.fv);this.ra(S.rea);this.ra(W);
this.ra(w);this.Eb(this.Xp);this.ra(S.nea);this.ra(B);this.Eb(this.Yr);this.ra(p);this.ra(x);this.ra(f);this.ra(q);this.ra(L);this.Eb(this.Gy);break;case k.Mea:this.Eb(this.Hy),this.ra(m),this.ra(g.Gea),this.ra(c),this.ra(z),this.ra(S),this.Eb(this.gv),this.ra(r),this.Eb(this.fv),this.ra(w),this.Eb(this.Xp),this.ra(N),this.ra(x),this.ra(g.Tea),this.ra(A),this.ra(H),this.Eb(this.Yr),this.ra(p),this.ra(x),this.ra(f),this.Eb(this.Gy)}this.Eb(this.fPa);this.Ka()};V.prototype.v9=function(){this.dr=this.F.Bc;
this.Nha=this.F.FD;this.F=this.Ob=null;void 0===this.Gu?this.dr?this.QOa(this.dr,this.Nha):this.ROa():this.eW()};window.ARa=!0;window.BRa=!0;document.addEventListener("keydown",function(Z){67==Z.which&&(window.ARa=window.BRa=!0)});V.prototype.Gv=function(Z){for(;this.Kg.length;){var ca=this.Kg[0];if(void 0!==this.Gu&&this.Gu!==this.dr&&ca.kD()){this.P7(this.F.Bc);this.Kg=[];this.eW();break}else if(ca.fh(Z),this.Ka(),this.Ob.Gv(Z),ca.Ng())this.Kg.shift(),0==this.Kg.length&&this.v9();else break}};document.addEventListener("keydown",
function(){(new Date).getTime()});document.addEventListener("keyup",function(){(new Date).getTime()});V.prototype.sd=function(){};V.prototype.ra=function(Z){this.Kg.push(new Z(this,this.Ob,this.j,this.F))};V.prototype.Eb=function(Z){this.Kg.push(new O(this,this.Ob,this.j,this.F,Z))};V.prototype.P7=function(Z){Z&&(Z=this.j.cf(Z))&&(this.j.remove(Z),this.Xp())};V.prototype.Hy=function(){this.trigger(new d(V.v_,{panorama:this.F.Bc}))};V.prototype.Xp=function(){this.trigger(new d(V.m_,{panorama:this.F?
this.F.Qg:this.dr,nextPanorama:this.F?this.F.Bc:null}))};V.prototype.gv=function(){this.trigger(new d(V.Iz,{panorama:this.F.Qg}))};V.prototype.fv=function(){this.trigger(new d(V.Hz,{panorama:this.F.Qg,nextPanorama:this.F.Bc}))};V.prototype.Gy=function(){this.trigger(new d(V.Jz,{panorama:this.F.Bc,camera:this.F.FD}))};V.prototype.fPa=function(){this.trigger(new d(V.Eo))};V.prototype.Yr=function(){this.trigger(new d(V.Kz,{panorama:this.F.Bc,camera:this.F.FD}))};V.prototype.QOa=function(Z,ca){this.trigger(new d(V.TZ,
{panorama:Z,camera:ca}))};V.prototype.ROa=function(){this.trigger(new d(V.UZ))};V.prototype.Ka=function(){this.trigger(new d(V.Bb))};V.Bb="request frame";V.v_="request load";V.m_="panorama removed";V.TZ="all pending panoramas displayed";V.UZ="all pending panoramas hidden";V.Hz="panorama end";V.Kz="panorama start";V.Jz="panorama show";V.Iz="panorama hide";V.Eo="transition end";return V});
define("kM",["require","kV","cu","fV"],function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=d.extend(l,function(b){l.call(this);this.j=b});k.prototype.clear=function(){this.end();this.j=null};k.prototype.TH=function(b){for(var g=this.nS(b),f=b.MX(),c=0;c<g;c++)this.j.cf(this.O3(b,c)).set("alpha",c==f?1:0)};k.prototype.getTime=function(){return 0};k.prototype.start=function(){};k.prototype.end=function(){};k.prototype.play=function(){};k.prototype.pause=function(){};k.prototype.bI=function(){};k.prototype.hI=
function(){};k.prototype.iZ=function(){};k.prototype.stop=function(){};k.prototype.CD=function(){};k.prototype.iz=function(){};k.prototype.rz=function(){};k.prototype.sd=function(){};k.prototype.Aj=function(){};k.prototype.nS=function(b){return b.get("frames").length};k.prototype.O3=function(b,g){return b.get("frames")[g]};k.prototype.Ka=function(){this.trigger(new h(k.Bb))};k.prototype.Yp=function(b,g,f,c,e,m){this.trigger(new h(k.Ui,{time:b,duration:g,transitionPosition:f,transitionLength:c,steps:e,
selectedStep:m}))};k.prototype.sj=function(){this.trigger(new h(k.Cc,{state:this.Aj()}))};k.Bb="request frame";k.pza="frame display";k.qza="frame hide";k.Ui="time change";k.Cc="playback state change";return k});
define("bp","require jquery.mod dY kV og hE cu kM eR fb lQ bu kd".split(" "),function(a){a("jquery.mod");var d=a("dY"),h=a("kV"),l=a("og"),k=a("hE");a("cu");var b=a("kM"),g=a("eR"),f=a("fb");a("lQ");var c=a("bu"),e=a("kd"),m=h.extend(b,function(q){b.call(this,q);this.fS=null;this.y3=this.YA=0;this.ha=this.AB=null;this.bK=void 0;this.j7=!1;this.Ja=360;this.Rra=180;this.cb=.5;this.In=.2;this.pu=.45;this.Eka=5E3;this.Ika=1;this.tT=[[.5,.25],[.5,.375],[.25,.5],[.375,.5],[.5,.5],[.625,.5],[.75,.5],[.5,
.625],[.5,.75]];this.gJa=[.05,.1,.05,.1,.4,.1,.05,.1,.05]});m.prototype.TH=function(q){b.prototype.TH.call(this,q);this.NM(q)};m.prototype.start=function(q){this.NM(q);this.Ka()};m.prototype.end=function(){this.NM(null)};m.prototype.NM=function(q){this.ha!=q&&(this.ha&&(this.iPa(),this.ha=null,this.nPa()),this.ha=q)&&(this.ACa(),this.Ja=q.get("hfov",360),this.Rra=q.get("vfov",180),this.cb=q.get("pitch",0),this.q7=this.$B=void 0,this.$Ia(q),this.Wa=.5)};m.prototype.rz=function(){this.j7=!1};m.prototype.CD=
function(q){this.Wa=q/m.XI;this.Ka();this.j7=!0};m.prototype.iz=function(q){this.CD(q)};m.prototype.Yp=function(){var q=this.nS(this.ha),p=this.Wa*(q-1),n=Math.max(0,Math.min(q-2,Math.floor(p))),r=void 0;.01>p-n?r=n:.99<p-n&&(r=n+1);b.prototype.Yp.call(this,this.Wa*m.XI,m.XI,this.Wa*m.XI,m.XI,q,r)};m.prototype.sd=function(q){if(this.ha){var p=this.j.Yc(),n=this.j.Pc(),r=this.j.Df(),t=0;if(void 0!==this.$B&&void 0!==this.q7&&void 0!==this.Vna){var u=p-this.$B,v=n-this.q7,w=r-this.Vna;t=1E3*Math.sqrt(u*
u+v*v+w*w)/q}this.$B=p;this.q7=n;this.Vna=r;u=this.nS(this.ha);var x=this.Wa*(u-1);v=Math.max(0,Math.min(u-2,Math.floor(x)));w=v+1;x=1-(x-v);for(var y=1-x,A=[],B=0;B<u;B++)A.push(0);A[w]=y;A[v]=1>y?1:0;for(B=0;B<u;B++)this.j.cf(this.O3(this.ha,B)).set("alpha",A[B]);this.Yp();if(this.fS&&(t<=this.Ika||c.isPresenting())&&!this.j7){B=Math.PI/180;t=180/Math.PI;A=this.j.Va();var z=this.j.zb(),C=new f;C.rotateZ(-r*B);C.rotateX(-n*B);C.rotateY(-p*B);p=[];for(B=0;B<this.tT.length;B++)n=new g(this.tT[B][0]*
A,this.tT[B][1]*z,0),r=this.j.unproject(n).eua(),r.apply(C),n=r.Yc()*t,r=r.Pc()*t,p.push(Math.round((90-r)*this.y3/180)*this.YA+Math.round((n+180)*this.YA/360));n=[];for(B=0;B<u;B++){r=this.fS[B];for(A=t=0;A<this.tT.length;A++)t+=this.gJa[A]*r[p[A]];n.push(t)}B=n[v];p=n[w];v=x*n[v]+y*n[w];q=Math.min(1/u,q/this.Eka);u=this.Wa;w=Math.max.apply(Math,n);x=Math.min.apply(Math,n);v<this.In&&v<w?u=p>v?u+q:u-q:v>this.pu&&v>x&&(u=B<v?u-q:u+q);u=Math.min(1,Math.max(0,u));this.Wa!=u&&(this.Wa=u,this.Ka())}}};
m.prototype.$Ia=function(q){var p=d(q.get("frames",[])).map(function(n){return n.get("thumbnailUrl")});this.AB=d(p).map(function(n){var r=null;n&&(r=new e(k.ln),r.bind(l.aa,this.jma,this),r.bind(l.Fc,this.kma,this));return r},this);d(this.AB).each(function(n,r){n&&n.load(p[r])})};m.prototype.nPa=function(){this.Iha();this.fS=null};m.prototype.OJa=function(){this.YA=150;this.AB.map(function(q){q&&(this.YA=Math.min(360*q.nd()/this.Ja,this.YA))},this);this.y3=Math.round(this.YA/2);this.fS=this.AB.map(function(q){return this.yEa(q,
this.YA,this.y3,this.Ja,this.Rra,this.cb)},this);this.Iha()};m.prototype.yEa=function(q,p,n,r,t,u){var v=document.createElement("canvas");v.width=p;v.height=n;var w=v.getContext("2d");w.fillStyle="#000000";w.fillRect(0,0,p,n);q&&(q=q.sf(),r=Math.round(p*r/360),w.drawImage(q,.5*(p-r),Math.round(n*(90-(u+.5*t))/180),r,Math.round(n*t/180)));p=[];v=w.getImageData(0,0,v.width,v.height);for(n=w=0;w<v.height;w++)for(t=0;t<v.width;t++,n+=4)p.push((.299*v.data[n]+.587*v.data[n+1]+.114*v.data[n+2])/255);return p};
m.prototype.Iha=function(){d(this.AB).each(function(q){q&&(q.unbind(l.aa,this.jma,this),q.unbind(l.Fc,this.kma,this),q.cancel())},this);this.AB=null};m.prototype.jma=function(){0==d(this.AB).filter(function(q){return q&&!q.Gl()}).length&&this.OJa()};m.prototype.kma=function(){};m.prototype.ACa=function(){this.ha.bind(l.G("minimumLuminance"),this.zu,this);this.ha.bind(l.G("maximumLuminance"),this.zu,this);this.ha.bind(l.G("luminanceChangeTime"),this.zu,this);this.ha.bind(l.G("maxLuminanceChangeSpeed"),
this.zu,this);this.zu()};m.prototype.iPa=function(){this.ha.unbind(l.G("minimumLuminance"),this.zu,this);this.ha.unbind(l.G("maximumLuminance"),this.zu,this);this.ha.unbind(l.G("luminanceChangeTime"),this.zu,this);this.ha.unbind(l.G("maxLuminanceChangeSpeed"),this.zu,this)};m.prototype.zu=function(){this.In=this.ha.get("minimumLuminance");this.pu=this.ha.get("maximumLuminance");void 0==this.In&&void 0==this.pu?(this.In=.2,this.pu=.45):void 0==this.In?this.In=Math.min(.2,this.pu):void 0==this.In?this.pu=
Math.max(.45,this.In):this.In=Math.min(this.In,this.pu);this.pu=Math.min(1,Math.max(0,this.pu));this.In=Math.min(1,Math.max(0,this.In));this.Eka=Math.max(100,this.ha.get("luminanceChangeTime",5E3));this.Ika=this.ha.get("maxLuminanceChangeSpeed",1);this.Ka()};m.XI=1E3;return m});
define("mR",["require","kV","x","kx","kM"],function(a){var d=a("kV"),h=a("x"),l=a("kx"),k=a("kM");a=d.extend(k,function(b){k.call(this,b);this.dS=this.eS=null;this.bj=this.vh=5E3;this.Bd=void 0;this.ob=this.vh;this.om=1;this.ha=null;this.qB=!1});a.prototype.start=function(b){this.ha=b;this.qB=!1;this.SS=!0;this.eS=h.Is(this.ha,"frameDisplayTime",this.P9,this);this.dS=h.Is(this.ha,"frameTransitionTime",this.P9,this);this.om=this.nS(this.ha);this.Bd=this.ha.MX()*(this.vh+this.bj);this.P9(!0);this.Yp();
this.Ka();this.sj()};a.prototype.P9=function(b){var g=Math.max(100,this.ha.get("frameDisplayTime",5E3)),f=Math.max(100,this.ha.get("frameTransitionTime",5E3));if(this.vh!=g||this.bj!=f||b){b=this.hF();var c=this.zGa();this.vh=g;this.bj=f;1<this.om?(this.Bd=b*(this.vh+this.bj)+c*this.vh+c*this.bj,this.ob=this.om*(this.vh+this.bj)):(this.Bd=c*this.vh,this.ob=this.vh)}};a.prototype.hF=function(){return 1<this.om?Math.floor(this.Bd/(this.vh+this.bj)):0};a.prototype.AGa=function(){return 1<this.om?(this.hF()+
1)%this.om:0};a.prototype.zGa=function(){return 1<this.om?Math.max(0,Math.min(1,this.Bd-this.hF()*(this.vh+this.bj))):this.Bd/this.vh};a.prototype.Yia=function(){return 1<this.om?Math.max(0,Math.min(1,(this.Bd-(this.hF()*(this.vh+this.bj)+this.vh))/this.bj)):0};a.prototype.gOa=function(b){var g=Math.floor(b/this.bj);return g*(this.vh+this.bj)+this.vh+(b-g*this.bj)};a.prototype.uqa=function(b){var g=Math.floor(b/(this.vh+this.bj));return g*this.bj+Math.max(0,b-g*(this.vh+this.bj)-this.vh)};a.prototype.play=
function(){this.qB&&(this.qB=!1,this.SS&&this.Ka(),this.sj())};a.prototype.pause=function(){this.qB=!0;this.sj()};a.prototype.bI=function(){this.pause()};a.prototype.hI=function(){this.play()};a.prototype.end=function(){this.SS=!1;this.ha=null;this.eS&&(this.eS.qz(),this.eS=null);this.dS&&(this.dS.qz(),this.dS=null);this.sj()};a.prototype.CD=function(b){this.Bd=b;this.Ka()};a.prototype.iz=function(b){this.Bd=this.gOa(b);this.Ka();this.pause()};a.prototype.sd=function(b){if(this.SS){this.qB||(this.Bd+=
b);this.Bd%=this.ob;b=this.hF();var g=this.AGa(),f=this.Yia(),c=g>b?f:1;f=g>b?1:1-f;for(var e=0;e<this.om;e++){var m=e==b?f:e==g?c:0;var q=this.j.cf(this.O3(this.ha,e));q.get("alpha")!=m&&(0<m&&1>m&&q.Nh(),q.set("alpha",m))}this.Yp();this.qB||this.Ka()}};a.prototype.Aj=function(){return this.SS?this.qB?l.Cb:l.X:l.S};a.prototype.sj=function(){k.prototype.sj.call(this,this.Aj())};a.prototype.Yp=function(){k.prototype.Yp.call(this,this.Bd,this.ob,this.uqa(this.Bd),this.uqa(this.ob),this.om+1,0===this.Yia()?
this.hF():void 0)};return a});define("bJ",["require","kV","kM"],function(a){var d=a("kV"),h=a("kM");return d.extend(h,function(l){h.call(this,l)})});
define("lY",["require","kV","og","kx","kM"],function(a){var d=a("kV"),h=a("og"),l=a("kx"),k=a("kM");a=d.extend(k,function(b){k.call(this,b);this.We=!1});a.prototype.TH=function(){};a.prototype.start=function(b){this.end();this.ha=b;this.ha.set("mute",this.We);this.ha.get("autoplay")&&this.ha.set("state",l.X);this.qt()};a.prototype.getTime=function(){return this.ha?this.ha.get("currentTime"):0};a.prototype.Aj=function(){return this.ha?this.ha.get("state"):l.S};a.prototype.play=function(){this.ha&&
this.ha.set("state",l.X)};a.prototype.pause=function(){this.ha&&this.ha.set("state",l.Cb)};a.prototype.iZ=function(){this.ha&&this.ha.set("state",l.Cb)};a.prototype.stop=function(){this.ha&&this.ha.set("state",l.S)};a.prototype.end=function(){this.ha&&(this.Ou(),this.ha=null)};a.prototype.CD=function(b){this.ha&&this.ha.set("state",l.X);this.ha&&this.ha.set("currentTime",b)};a.prototype.tf=function(b){this.We=b;this.ha&&this.ha.set("mute",this.We)};a.prototype.qt=function(){this.ha.bind(h.G("currentTime"),
this.Me,this,!0);this.ha.bind(h.G("duration"),this.zm,this,!0);this.ha.bind(h.G("state"),this.nf,this,!0);this.ha.get("state")!=l.S&&this.sj()};a.prototype.Ou=function(){this.ha.unbind(h.G("currentTime"),this.Me,this,!0);this.ha.unbind(h.G("duration"),this.zm,this,!0);this.ha.unbind(h.G("state"),this.nf,this,!0)};a.prototype.nf=function(){this.sj()};a.prototype.Me=function(){this.Yp()};a.prototype.zm=function(){this.Yp()};a.prototype.Yp=function(){this.ha&&k.prototype.Yp.call(this,this.ha.get("currentTime"),
this.ha.get("duration"))};return a});
define("w","require kV kx cu fV nc kM bp mR bJ lY".split(" "),function(a){var d=a("kV");a("kx");var h=a("cu"),l=a("fV"),k=a("nc"),b=a("kM"),g=a("bp"),f=a("mR"),c=a("bJ"),e=a("lY"),m=d.extend(l,function(q){l.call(this);this.j=q;this.x5=this.xR(f);this.r4=this.xR(g);this.SW=this.xR(e);this.P8=this.xR(c);this.Kd=null});m.prototype.clear=function(){this.lR(this.x5);this.x5=null;this.lR(this.r4);this.r4=null;this.lR(this.SW);this.SW=null;this.lR(this.P8);this.j=this.Kd=this.P8=null};m.prototype.xR=function(q){q=
new q(this.j);q.bind(b.Bb,this.Be,this,!0);q.bind(b.Ui,this.yp,this,!0);q.bind(b.Cc,this.Ke,this,!0);return q};m.prototype.lR=function(q){q.unbind(b.Bb,this.Be,this);q.unbind(b.Ui,this.yp,this);q.unbind(b.Cc,this.Ke,this);q.clear()};m.prototype.b5=function(q,p){return k.Ea(p,q)};m.prototype.Uia=function(q){return this.b5(q,"HDRPanorama")?this.r4:this.b5(q,"LivePanorama")?this.x5:this.b5(q,"VideoPanorama")?this.SW:this.P8};m.prototype.TH=function(q){(this.Kd=this.Uia(q))&&this.Kd.TH(q)};m.prototype.start=
function(q){this.Be();(this.Kd=this.Uia(q))&&this.Kd.start(q)};m.prototype.Aj=function(){if(this.Kd)return this.Kd.Aj()};m.prototype.getTime=function(){return this.Kd?this.Kd.getTime():0};m.prototype.play=function(){this.Kd&&this.Kd.play()};m.prototype.pause=function(){this.Kd&&this.Kd.pause()};m.prototype.bI=function(){this.Kd&&this.Kd.bI()};m.prototype.hI=function(){this.Kd&&this.Kd.hI()};m.prototype.iZ=function(){this.Kd&&this.Kd.iZ()};m.prototype.stop=function(){this.Kd&&this.Kd.stop();this.trigger(new h(m.Ui,
{duration:0,time:0,steps:void 0,selectedStep:void 0}))};m.prototype.end=function(){this.Kd&&(this.Kd.end(),this.Kd=null)};m.prototype.CD=function(q){this.Kd&&this.Kd.CD(q)};m.prototype.iz=function(q){this.Kd&&this.Kd.iz(q)};m.prototype.rz=function(){this.Kd&&this.Kd.rz()};m.prototype.sd=function(q){this.Kd&&this.Kd.sd(q)};m.prototype.tf=function(q){this.SW.tf(q)};m.prototype.Be=function(){this.trigger(new h(m.Bb))};m.prototype.yp=function(q){this.trigger(new h(m.Ui,q.data))};m.prototype.Ke=function(q){this.trigger(new h(m.Cc,
q.data))};m.Bb="request frame";m.pza="frame display";m.qza="frame hide";m.Ui="time change";m.Cc="playback state change";return m});
define("ma",["require","kV","og","fV","kW"],function(a){var d=a("kV"),h=a("og"),l=a("fV"),k=a("kW");a=d.extend(l,function(b){l.call(this);this.j=b;this.ah=this.ha=null});a.prototype.start=function(b){this.ha=b;this.ah=this.j.cf(this.ha);this.ah.bind(h.aa,this.kd,this,!0);this.ah.bind(h.rc,this.Du,this,!0);this.ah.get("ready")?this.trigger(h.Rc,{panorama:this.ha}):this.ah.bind(h.Rc,this.YF,this,!0);this.ah.set("loadingActive",!0)};a.prototype.stop=function(){this.ha=null;this.ah&&(this.ah.unbind(h.Rc,
this.YF,this),this.ah.unbind(h.aa,this.kd,this),this.ah.unbind(h.rc,this.Du,this),this.ah.set("loadingActive",!1),this.ah=null,this.trigger(h.wf))};a.prototype.clear=function(){this.stop()};a.prototype.YF=function(){this.ah.unbind(h.Rc,this.YF,this);this.trigger(h.Rc,{panorama:this.ha})};a.prototype.kd=function(){this.ah.unbind(h.Rc,this.YF,this);this.ah.unbind(h.aa,this.kd,this);this.ah.unbind(h.rc,this.Du,this);this.ah=null;this.trigger(h.aa,{panorama:this.ha});this.ha=null;this.trigger(h.wf)};
a.prototype.Du=function(b){this.trigger(new k(h.rc,b.Og))};return a});
define("jA","require kV og cu fV Q".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("Q"),g=d.extend(k,function(f){k.call(this);this.j=f;this.mp=this.ha=this.Zh=null;this.cb=this.Ca=0;this.Ja=.5*Math.PI});g.prototype.clear=function(){this.stop();this.poa();this.Zh=this.j=null};g.prototype.sca=function(f){this.Zh!=f&&(this.poa(),this.oR(),this.Zh=f,this.Pfa(),this.CBa())};g.prototype.CBa=function(){this.Zh&&this.Zh.bind(h.G("map"),this.lma,this,!1)};g.prototype.poa=function(){this.Zh&&
this.Zh.unbind(h.G("map"),this.lma,this,!1)};g.prototype.stop=function(){this.oR();this.ha=null};g.prototype.sd=function(){this.Ca=this.j.Yc();this.cb=this.j.Pc();this.Ja=this.j.sg();this.Zh&&this.mp&&this.Zh.Zm(this.mp,this.Ca,this.cb,this.Ja)};g.prototype.lma=function(){this.ha&&(this.oR(),(this.mp=this.Soa(this.ha,this.Zh.get("map",null),!1))&&this.Mpa())};g.prototype.display=function(f){this.ha!=f&&(this.oR(),this.ha=f,this.Pfa())};g.prototype.hide=function(f){this.ha==f&&this.stop()};g.prototype.oR=
function(){this.mp&&(this.VHa(),this.mp=null)};g.prototype.Pfa=function(){this.Zh&&this.ha&&(this.mp=this.Soa(this.ha,this.Zh.get("map",null),!0))&&this.Mpa()};g.prototype.Soa=function(f,c,e){f=f.get("mapLocations",[]);for(var m=0;m<f.length;m++){var q=f[m];if(q.get("map")==c)return q}return e&&0<f.length?f[0]:null};g.prototype.Mpa=function(){this.Zh.aRa(this.mp);this.Zh.bind(b.Gj,this.voa,this,!0);this.Zh.Zm(this.mp,this.Ca,this.cb,this.Ja)};g.prototype.VHa=function(){this.Zh&&(this.Zh.WUa(this.mp),
this.Zh.unbind(b.Gj,this.voa,this))};g.prototype.voa=function(f){this.trigger(new l(g.Gj,{yawDelta:f.data.yawDelta}))};g.Gj="request yaw change";return g});
define("gT","require og kY fV bf lQ bu".split(" "),function(a){function d(B){this.rR=B;this.Tk=null;this.m1={};for(B=0;B<this.rR.buttons.length;B++)this.m1[this.rR.buttons[B]]=!1;this.j1=0;this.ly=null;this.cC=[new THREE.Quaternion,new THREE.Quaternion];this.mk=this.cC[0];this.Eh=[new THREE.Vector3,new THREE.Vector3];this.Wa=this.Eh[0];this.oG=new THREE.Vector3;this.ZB=new THREE.Quaternion;this.Rga=0}function h(B,z,C){this.wTa=B;this.buttons=z;this.HUa=C}function l(){if(!A&&x!=m.se){x=m.se;var B,
z=p.isPresenting()&&p.ss();if(B=z&&z.FX&&z.FX.length?z.FX:navigator.getGamepads&&navigator.getGamepads()){for(z=0;z<u.length;z++)u[z].txa(null);for(z=0;z<B.length;z++){var C=B[z];if(C&&(C.pose||C.fba)){var E=C.id||C.BTa,F=E+(C.VX?"-"+C.VX:""),G=w[F];if(!G){a:{for(var J=0;J<n.length;J++){var R=n[J];if(0==E.indexOf(r[R].wTa)){E=R;break a}}E=void 0}E&&u.push(G=w[F]=new d(r[E]))}G&&w[F].txa(C)}}(B=v)&&!v.mba()&&(v=null);for(z=0;z<u.length;z++)if(G=u[z],G.mba()&&G.pressed()){v=G;break}if(!v)for(z=0;z<
u.length;z++)if(G=u[z],G.mba()){if("right"==G.h4){v=G;break}v||=G}B!=v&&c.hz(k)}}}function k(){t.trigger(f.sa)}function b(){l()}function g(){p.isPresenting()?(y&&(clearInterval(y),y=null),l(),y=setInterval(b,500)):y&&(clearInterval(y),y=null)}var f=a("og"),c=a("kY"),e=a("fV"),m=a("bf"),q=a("lQ"),p=a("bu"),n="oculus go;oculus touch;xr-standard;gear vr;daydream;vive;vive focus;microsoft;unknown".split(";"),r={};r["oculus go"]=new h("Oculus Go",["trackpad","trigger"],"trigger");r["oculus touch"]=new h("Oculus Touch",
"thumbstick trigger grip abutton bbutton surface".split(" "),"trigger");r["xr-standard"]=new h("xr-standard","trigger grip unknow_button_0 thumbstick abutton bbutton unknow_button".split(" "),"trigger");r["gear vr"]=new h("Gear VR",["trackpad","trigger"],"trigger");r.daydream=new h("Daydream Controller",["trackpad","menu","system"],"trackpad");r.vive=new h("OpenVR",["trackpad","trigger","grip","menu","system"],"trigger");r["vive focus"]=new h("HTC Vive Focus",["trackpad","trigger","grip"],"trigger");
r.microsoft=new h("Spatial Controller (Spatial Interaction Source)",["thumbstick","trigger","grip","menu","thumbpad"],"trigger");r.unknown=new h("",[],void 0);d.prototype.txa=function(B){if(this.Tk=B){this.h4=this.Tk.VX||this.Tk.ATa;this.Tk.pose?(this.ly=this.Tk.pose,this.ly.orientation&&(this.mk=this.cC[0]==this.mk?this.cC[1]:this.cC[0],this.mk.fromArray(this.ly.orientation)),this.ly.position?(this.Wa=this.Eh[0]==this.Wa?this.Eh[1]:this.Eh[0],this.Wa.fromArray(this.ly.position)):this.Wa=null):this.Tk.fba&&
(this.ly=this.Tk.fba.transform,this.mk=this.cC[0]==this.mk?this.cC[1]:this.cC[0],this.mk.copy(this.ly.orientation),this.Wa=this.Eh[0]==this.Wa?this.Eh[1]:this.Eh[0],this.Wa.copy(this.ly.position));B=0;for(var z=Math.min(this.Tk.buttons.length,this.Tk.buttons.length);B<z;B++)this.m1[this.rR.buttons[B]]=this.Tk.buttons[B].pressed;for(B=this.j1=0;B<this.Tk.buttons.length;B++)this.Tk.buttons[B].pressed&&this.j1++;(B=!!this.oG!=!!this.Wa||this.Wa&&this.oG.x!=this.Wa.x&&this.oG.y!=this.Wa.y&&this.oG.z!=
this.Wa.z)&&(this.Wa?this.oG.copy(this.Wa):this.oG.set(0,0,0,0));(z=!!this.ZB!=!!this.mk||this.mk&&(this.ZB.x!=this.mk.x||this.ZB.y!=this.mk.y||this.ZB.z!=this.mk.z||this.ZB.w!=this.mk.w))&&(this.mk?this.ZB.copy(this.mk):this.ZB.set(0,0,0));if(B||z)this.Rga=m.se}};d.prototype.mba=function(){return!!this.Tk};d.prototype.JTa=function(){return 500<m.se-this.Rga};d.prototype.VX=function(){return this.h4};d.prototype.quaternion=function(){return this.mk};d.prototype.position=function(){return this.Wa};
d.prototype.pressed=function(B){B||=this.rR.HUa;return B?this.m1[B]:0<this.j1};var t=new e;t.all=function(){l();return u};t.oY=function(){l();return v};t.Ma="left";t.eb="right";var u=[],v=null,w={},x=void 0,y=null,A=q.Ph("disable-controller",!1);p.bind(f.sa,g);g();return t});
define("db",["require","eR","a"],function(a){function d(k,b){this.Ff=k||new h(0,0,0);this.Si=b||new h(1,0,0)}var h=a("eR"),l=a("a");d.prototype.clone=function(){return new d(this.Ff.clone(),this.Si.clone())};d.prototype.apply=function(k){k.qH(this.Ff);k.qH(this.Si)};d.prototype.eua=function(){return l.Vy(this.Ff,this.Si)};return d});
define("hM",["require","db","eR"],function(a){function d(k,b,g){this.ea=k||100;this.ua=b||100;this.Ja=g||Math.PI;this.u7=void 0;this.cr=!0}var h=a("db"),l=a("eR");d.prototype.zD=function(k){this.Ja!=k&&(this.Ja=k,this.cr=!0)};d.prototype.vv=function(){return this.Ja};d.prototype.EP=function(k){this.ea!=k&&(this.ea=k,this.cr=!0)};d.prototype.nd=function(){return this.ea};d.prototype.vxa=function(k){this.ua!=k&&(this.ua=k,this.cr=!0)};d.prototype.$d=function(){return this.ua};d.prototype.project=function(k){if(0!=
k.z){this.wra();var b=1/k.z,g=this.u7*b;k.x=.5*this.ea-k.x*g;k.y=.5*this.ua-k.y*g;k.z=b}};d.prototype.unproject=function(k){this.wra();return new h(new l(0,0,0),new l(.5*this.ea-k.x,.5*this.ua-k.y,this.u7))};d.prototype.wra=function(){this.cr&&(this.u7=.5*this.ea/Math.tan(.5*this.Ja),this.cr=!1)};return d});
define("om",["require"],function(){function a(){this.Re=this.pitch=this.Ra=0;this.Oh=this.te=90;this.cO=this.lX=this.height=this.width=100;this.Bj=1;this.jD=this.Ab=!1;this.Pl=0;this.EX=this.bX=this.vY=!1;this.hD=this.jP=!0;this.camera=this.kO=this.jO=this.wg=null;this.enabled=!1;this.se=0;this.JP=void 0}a.prototype.clone=function(){var d=new a;d.Ra=this.Ra;d.pitch=this.pitch;d.Re=this.Re;d.te=this.te;d.Oh=this.Oh;d.width=this.width;d.height=this.height;d.lX=this.lX;d.cO=this.cO;d.Bj=this.Bj;d.Ab=
this.Ab;d.jD=this.jD;d.Pl=this.Pl;d.vY=this.vY;d.EX=this.EX;d.bX=this.bX;d.jP=this.jP;d.hD=this.hD;d.wg=this.wg;d.jO=this.jO;d.kO=this.kO;d.camera=this.camera;d.enabled=this.enabled;d.se=this.se;d.JP=this.JP;return d};return a});
define("dt","require jquery.mod dY og my bf hd".split(" "),function(a){function d(q){this.Rca=q;this.element=document.createElement("div");this.Xca=document.createElement("span");this.element.appendChild(this.Xca);this.Xca.innerHTML=q.text.split("<br>").join("\n").split("\n").map(l).join("<br>");this.mX=!1}function h(q){this.N=q;this.EN=b.throttle(this.EN.bind(this),100);this.FN=b.throttle(this.FN.bind(this),100);this.ja=document.createElement("div");this.ja.style.position="absolute";this.ja.style.left=
0;this.ja.style.top=0;this.ja.style.right=0;this.ja.style.bottom=0;this.ja.style.zIndex=1;this.ja.style.cursor="inherit";this.ja.style.display="none";this.k0=k(this.ja);this.nl=document.createElement("div");this.nl.style.position="absolute";this.nl.style.left=0;this.nl.style.right=0;this.nl.style.zIndex=1;this.nl.style.cursor="inherit";this.ja.appendChild(this.nl);this.By=null;this.PG=[];this.Ch=[];this.P6={};this.eH=f.mc;this.N.bind(g.G("subtitlesEnabled"),this.XG,this);h.tea.forEach(function(p){this.N.bind(g.G(p),
this.EN,this)}.bind(this));h.uea.forEach(function(p){this.N.bind(g.G(p),this.FN,this)}.bind(this));this.XG();this.EN();this.FN()}function l(q){m.innerHTML=q;return m.innerText}var k=a("jquery.mod"),b=a("dY"),g=a("og"),f=a("my"),c=a("bf"),e=a("hd");h.prototype.clear=function(){this.Hca(null);this.N&&(this.N.unbind(g.G("subtitlesEnabled"),this.XG,this),h.tea.forEach(function(q){this.N.unbind(g.G(q),this.EN,this)}.bind(this)),h.uea.forEach(function(q){this.N.unbind(g.G(q),this.FN,this)}.bind(this)),
this.N=null)};h.prototype.yc=function(){return this.k0};h.prototype.Hca=function(q){this.By!=q&&(this.By&&this.By.unbind(g.G("activeSubtitles"),this.a6,this,!0),(this.By=q)&&this.By.bind(g.G("activeSubtitles"),this.a6,this,!0),this.a6())};h.prototype.a6=function(){this.tNa(this.By&&this.By.get("activeSubtitles")||[])};h.prototype.XG=function(){this.T=this.N.get("subtitlesEnabled");this.l$()};h.prototype.EN=function(){this.eH=this.eK("subtitlesVerticalAlign",[f.sc,f.ae,f.mc],f.mc);this.nl.style["text-align"]=
this.eK("subtitlesHorizontalAlign",[f.Ma,f.eb,f.ue],f.ue);this.nl.style.bottom=this.eH==f.mc?this.Uj("subtitlesBottom",0):"";this.nl.style.top=this.eH==f.sc?this.Uj("subtitlesTop",0):this.eH==f.ae?"50%":"";this.nl.style.transform=this.eH==f.ae?"translate(0, -50%)":"";this.l$()};h.prototype.FN=function(){var q={};q["background-color"]=this.e4("subtitlesBackgroundColor","subtitlesBackgroundOpacity");q.border=[this.Uj("subtitlesBorderSize"),"solid",this.Wh("subtitlesBorderColor")].join(" ");q["box-shadow"]=
this.Wh("subtitlesShadow",!1)?[this.Uj("subtitlesShadowHorizontalLength"),this.Uj("subtitlesShadowVerticalLength"),this.Uj("subtitlesShadowBlurRadius"),this.e4("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";q.display="inline-block";q["font-family"]=e.qv(this.Wh("subtitlesFontFamily"));q["font-size"]=this.Uj("subtitlesFontSize");q.color=this.Wh("subtitlesFontColor");q["font-weight"]=this.eK("subtitlesFontWeight","bold bolder lighter 100 200 300 400 500 600 700 800 900 normal".split(" "),
"normal");q["font-style"]=this.eK("subtitlesFontStyle",["italic","normal"],"normal");q["margin-bottom"]=this.Uj("subtitlesGap");q.opacity=this.Wh("subtitlesOpacity");q["padding-top"]=this.Uj("subtitlesPaddingTop");q["padding-bottom"]=this.Uj("subtitlesPaddingBottom");q["padding-left"]=this.Uj("subtitlesPaddingLeft");q["padding-right"]=this.Uj("subtitlesPaddingRight");q.position="relative";q["text-align"]=this.eK("subtitlesHorizontalAlign",["left","right","center"],"center");q["text-decoration"]=this.Wh("subtitlesTextDecoration",
["underline","overline","line-through","none"],"none");q["text-shadow"]=[this.Uj("subtitlesTextShadowHorizontalLength"),this.Uj("subtitlesTextShadowVerticalLength"),this.Uj("subtitlesTextShadowBlurRadius"),this.e4("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.P6=q;this.kCa()};h.prototype.tNa=function(q){this.PG=q;this.l$()};h.prototype.l$=function(){for(var q=this.T?this.PG:[],p=this.Ch.length-1;0<=p;p--){var n=this.Ch[p];if(0<=q.indexOf(n.Rca))break;this.nl.removeChild(n.element)}for(var r=
[],t=!1;0<=p;p--)n=this.Ch[p],!n.mX&&0>q.indexOf(n.Rca)&&(n.mX=!0,n.element.style.visibility="hidden",t=!0),r.splice(0,0,n);t&&c.requestFrame(this.eha,this);this.Ch=r;var u=this.Ch.filter(function(v){return!v.mX}).map(function(v){return v.Rca});q.filter(function(v){return 0>u.indexOf(v)}).forEach(function(v){v=new d(v);this.fga(v);this.eH==f.mc&&0<this.Ch.length?this.nl.insertBefore(v.element,this.Ch[this.Ch.length-1].element):this.nl.appendChild(v.element);this.Ch.push(v)}.bind(this));this.ja.style.display=
0<this.Ch.length?"block":"none"};h.prototype.eha=function(q){var p=!1;q=Math.round(200*q/1E3);for(var n=0;n<this.Ch.length;n++){var r=this.Ch[n];if(r.mX)if(p=!0,q>=r.element.clientHeight)q-=r.element.clientHeight,this.nl.removeChild(r.element),this.Ch.splice(n,1),n--;else{r.element.style.height=r.element.clientHeight-q+"px";break}}p&&c.requestFrame(this.eha,this)};h.prototype.kCa=function(){this.Ch.forEach(this.fga.bind(this))};h.prototype.fga=function(q){for(var p in this.P6)q.Xca.style[p]=this.P6[p]};
h.prototype.Wh=function(q,p){return this.N.get(q,p)};h.prototype.Uj=function(q,p){q=this.N.get(q,p);isNaN(q)||(q=Math.round(q)+"px");return q};h.prototype.eK=function(q,p,n){q=this.N.get(q);return 0>p.indexOf(q)?n:q};h.prototype.e4=function(q,p,n,r){q=this.N.get(q,n);p=this.N.get(p,r);return"rgba("+parseInt("0x"+q.substr(1,2))+", "+parseInt("0x"+q.substr(3,2))+", "+parseInt("0x"+q.substr(5,2))+", "+p+")"};h.tea=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];
h.uea="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".split(" ");
var m=document.createElement("div");return h});define("eA",["require","kV","og","dt"],function(a){var d=a("kV"),h=a("og"),l=a("dt");a=d.extend(l,function(k,b){l.call(this,k);this.wc=b;this.wc.bind(h.G("panorama"),this.r6,this);this.r6()});a.prototype.clear=function(){this.wc&&(this.wc.unbind(h.G("panorama"),this.r6,this),this.wc=null);l.prototype.clear.call(this)};a.prototype.r6=function(){this.Hca(this.wc.get("panorama"))};return a});
define("oc",["require"],function(){function a(h,l){this.j=h;this.sG=l;this.ag=new THREE.CustomRenderPass(l);this.ag.renderToScreen=!1;this.uV=new THREE.SavePass;this.uV.enabled=!0;this.Fw=new THREE.ShaderPass(THREE.BlendShader,"tDiffuse1");this.Fw.uniforms.tDiffuse2.value=this.uV.renderTarget.texture;this.Fw.uniforms.mixRatio.value=.8;this.Fw.renderToScreen=!0;this.Fw.enabled=!0;this.rna=new THREE.ShaderPass(THREE.CopyShader);this.rna.renderToScreen=!0;this.fm=new THREE.EffectComposer(h);this.fm.addPass(this.ag);
this.fm.addPass(this.Fw);this.fm.addPass(this.uV);this.fm.addPass(this.rna);this.Ow=this.Pw=void 0}var d=new THREE.Vector2;a.prototype.destroy=function(){this.fm=this.Fw=this.uV=this.ag=this.sG=this.j=null};a.prototype.start=function(){this.Fw.uniforms.mixRatio.value=0;this.z3=3};a.prototype.render=function(h,l){this.j.getSize(d);if(this.Pw!==d.width||this.Ow!==d.height)this.Pw=d.width,this.Ow=d.height,this.fm.setSize(this.Pw,this.Ow);this.ag.scene=h;this.ag.camera=l;0<this.z3&&(this.z3--,0===this.z3&&
(this.Fw.uniforms.mixRatio.value=.65));this.fm.render()};return a});
define("iY",["require"],function(){function a(h,l){this.j=h;this.sG=l;this.fm=new THREE.EffectComposer(h);this.ag=new THREE.CustomRenderPass(l);this.ag.renderToScreen=!1;this.fm.addPass(this.ag);this.iS=new THREE.ShaderPass(THREE.FXAAShader);this.fm.addPass(this.iS);this.Ow=this.Pw=void 0}var d=new THREE.Vector2;a.prototype.destroy=function(){this.fm=this.iS=this.ag=this.sG=this.j=null};a.prototype.render=function(h,l){this.j.getSize(d);if(this.Pw!==d.width||this.Ow!==d.height)this.Pw=d.width,this.Ow=
d.height,this.fm.setSize(this.Pw,this.Ow),this.iS.material.uniforms.resolution.value.x=1/this.Pw,this.iS.material.uniforms.resolution.value.y=1/this.Ow;this.ag.scene=h;this.ag.camera=l;this.fm.render()};return a});
define("kE",["require","oc","iY"],function(a){function d(k,b){this.j=k;this.sG=b;this.xT=new h(k,b);this.D3=new l(k,b);this.SR=d.NONE}var h=a("oc"),l=a("iY");d.Gda="fxaa";d.I_="motionBlur";d.NONE="none";d.prototype.destroy=function(){this.xT.destroy();this.xT=null;this.D3.destroy();this.sG=this.j=this.D3=null};d.prototype.ica=function(k){this.SR!=k&&(this.SR=k,this.SR==d.I_&&this.xT.start())};d.prototype.render=function(k,b){switch(this.SR){case d.Gda:this.D3.render(k,b);break;case d.I_:this.xT.render(k,
b);break;default:this.sG(this.j,k,b,null,!1)}};return d});
define("bh","require bu u dv U he".split(" "),function(a){var d=a("bu");a("u");var h=a("dv"),l=a("U"),k=a("he"),b=180/Math.PI;return{bAa:function(g,f){var c,e;this.setSize=function(m,q){if(c!=m||e!=q)c=m,e=q,g.setSize(m,q)};this.nd=function(){return c};this.$d=function(){return e};this.start=function(m){l.gca(m,[f]);c&&e&&g.setSize(c,e);g.setPixelRatio(k.getPixelRatio())};this.stop=function(){};this.fov=function(){return f.fov};this.cda=function(){};this.camera=function(){return f};this.render=function(m,
q,p){g.setRenderTarget(q);p&&g.clear();g.render(m,f)}},MAa:function(g,f){var c,e,m,q,p=new THREE.Vector2,n=new THREE.PerspectiveCamera;n.layers.enable(h.Ma);var r=new THREE.PerspectiveCamera;r.layers.enable(h.eb);this.start=function(t){g.getSize(p);c=g.getPixelRatio();e=p.width;m=p.height;q=g.getContext().getParameter(g.getContext().FRAMEBUFFER_BINDING);var u=d.OX();u.rO&&g.getContext().bindFramebuffer(g.getContext().FRAMEBUFFER,u.rO);g.setClearColor(0,1);g.setDrawingBufferSize(u.mo,u.Sm,u.AX);l.gca(t,
[n,r])};this.stop=function(){g.getContext().bindFramebuffer(g.getContext().FRAMEBUFFER,q);g.setClearColor(0,0);g.setDrawingBufferSize(e,m,c)};this.setSize=function(t,u){e=t;m=u};this.nd=function(){return e};this.$d=function(){return m};this.fov=function(){return r.fov};this.camera=function(){return r};this.cda=function(){f.updateProjectionMatrix();f.updateMatrixWorld();d.ss().views.forEach(function(t){var u=t.eye==d.kn.Ma?n:t.eye==d.kn.eb?r:null;u&&(f.matrixWorld.decompose(u.position,u.quaternion,
u.scale),u.applyQuaternion(t.orientation),u.translateOnAxis(t.position,1),u.projectionMatrix.copy(t.projectionMatrix),u.fov=2*Math.atan(1/u.projectionMatrix.elements[5])*b)})};this.render=function(t,u,v){var w=t.rba;w&&(t.updateMatrixWorld(),t.rba=!1);u?(g.setRenderTarget(u),u.scissorTest=!0):(g.setRenderTarget(null),g.setScissorTest(!0));(g.autoClear||v)&&g.clear();d.ss().views.forEach(function(x){var y=x.eye==d.kn.Ma?n:x.eye==d.kn.eb?r:null;y&&(u?(u.viewport.set(x.viewport.x,x.viewport.y,x.viewport.width,
x.viewport.height),u.scissor.set(x.viewport.x,x.viewport.y,x.viewport.width,x.viewport.height)):(g.setViewport(x.viewport.x,x.viewport.y,x.viewport.width,x.viewport.height),g.setScissor(x.viewport.x,x.viewport.y,x.viewport.width,x.viewport.height)),g.render(t,y))});g.getSize(p);u?(u.viewport.set(0,0,p.width,p.height),u.scissor.set(0,0,p.width,p.height),u.scissorTest=!1,g.setRenderTarget(null)):(g.setViewport(0,0,p.width,p.height),g.setScissorTest(!1));w&&(t.rba=!0)}},BAa:function(g,f){var c,e,m=1,
q=new THREE.WebGLCubeRenderTarget(1024),p=new THREE.CubeCamera(.1,1E4,q);p.layers.enable(h.Ls);p.layers.enable(h.Ma);q=new THREE.ShaderMaterial;q.uniforms={tCube:{value:p.renderTarget.texture},tFlip:{value:1},opacity:{value:1}};q.fragmentShader="uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n";q.vertexShader=
"varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}\n";q.side=THREE.BackSide;q.depthWrite=!1;q.transparent=!0;q.depthTest=!1;q.needsUpdate=!0;var n=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),q);n.overdraw=!1;n.matrixAutoUpdate=!1;n.renderOrder=1E3;var r=new THREE.Matrix4;this.DD=function(u){m=u};this.setSize=function(u,v){c==
u&&e==v||g.setSize(c=u,e=v)};this.nd=function(){return c};this.$d=function(){return e};this.start=function(u){u.add(n);u.add(p);u.traverse(function(v){v.layers.test(p.layers)&&(v.userData.oba=v.layers.mask,v.layers.mask=p.layers.mask)});p.visible=!0;n.visible=!0;l.gca(u,[f]);g.setClearColor(16777215,1);g.setPixelRatio(k.getPixelRatio());c&&e&&g.setSize(c,e)};this.stop=function(u){g.setClearColor(0,0);u.traverse(function(v){void 0!==v.userData.oba&&(v.layers.mask=v.userData.oba,delete v.userData.oba)});
p.visible=!1;n.visible=!1;u.remove(n);u.remove(p)};this.fov=function(){return f.fov};this.cda=function(){0<m&&(n.matrix.copy(f.matrixWorld),n.matrix.multiply(r.makeTranslation(0,0,5*-m)),n.matrixWorldNeedsUpdate=!0)};this.camera=function(){return f};var t=0;this.render=function(u,v,w){0<m&&(t++,k.ETa()&&0!=t%10||(k.qVa(),n.visible=!1,p.update(g,u),n.visible=!0));g.setRenderTarget(v);w&&g.clear();g.render(u,f)}}}});
define("ev","require jquery.mod md ky mY dv kE bh gG he bu".split(" "),function(a){function d(){this.ja=h("<div/>");this.ja.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.ta=new THREE.PerspectiveCamera(90,16/9,.1,2*e.uf);this.ta.layers.enable(g.Ma);this.BR=new THREE.PerspectiveCamera;this.Fa=new THREE.Scene;this.Bha=new THREE.Scene;this.Cha=new THREE.Scene;this.Fa.add(this.ta);this.Kt=this.Vw=this.j=null;this.xB=0;this.Iu=this.Uf=this.O8=this.I$=null;this.dla=
this.f2=!1}var h=a("jquery.mod"),l=a("md"),k=a("ky"),b=a("mY"),g=a("dv"),f=a("kE"),c=a("bh"),e=a("gG"),m=a("he"),q=a("bu");d.prototype.Um=function(){return this.Fa};d.prototype.YC=function(){return this.BR};d.prototype.hSa=function(){return this.Uf.fov(this.ta)};d.prototype.getPixelRatio=function(){return this.j.getPixelRatio()};d.prototype.yc=function(){return this.ja};d.prototype.kSa=function(){return this.j?this.j.domElement.width:this.ja.width()};d.prototype.jSa=function(){return this.j?this.j.domElement.height:
this.ja.height()};d.prototype.gg=function(){return this.j.domElement};d.prototype.update=function(u){this.cQa(u);this.FPa(u);this.Zp(u);this.$Pa(u)};var p=[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)],n=[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)];d.prototype.dO=function(u){var v=this.Uf,
w=this.Uf.nd(),x=this.Uf.$d();v.stop();this.j.setPixelRatio(1);this.j.setSize(u,u);var y=new THREE.PerspectiveCamera(90,1,this.ta.near,this.ta.far);y.layers=this.ta.layers;y.visible=!0;this.Fa.add(y);for(var A=[],B=0;6>B;B++){var z=document.createElement("canvas");z.width=z.height=u;var C=z.getContext("2d");y.up.copy(p[B]);y.lookAt(n[B]);y.updateProjectionMatrix();y.updateMatrixWorld();this.j.clear();this.j.render(this.Fa,y);C.save();C.scale(-1,1);C.drawImage(this.j.domElement,0,0,-u,u);C.restore();
A.push(z)}this.Fa.remove(y);this.Uf=v;this.Uf.start(this.Fa);this.Uf.setSize(w,x);this.vM();return A};d.prototype.render=function(){this.vM()};d.prototype.cQa=function(u){u.enabled&&(this.xB=(new Date).getTime(),this.j||this.DNa(u),u.Ab&&q.getType()==q.cA.Jk&&(this.dla=!0),q.aZ(this.j.getContext()));if(this.f2=u.enabled&&!u.Ab)this.Vw.setSize(u.width,u.height),this.Kt.setSize(u.width,u.height)};d.prototype.DNa=function(u){if(!this.j&&u.enabled){for(;r.length>=t;)r.sort(function(x,y){return x.xB-y.xB}),
r[0].tDa();r.push(this);var v=this.yc().get(0);this.Vw=new THREE.CSS3DRenderer;this.Vw.domElement.style.position="absolute";this.Vw.domElement.style.zIndex=0;v.appendChild(this.Vw.domElement);var w={precision:"mediump",alpha:!0};1==r.length&&u.Ab?(u=q.cD(),w.context=u,w.canvas=u.canvas):(w.canvas=document.createElement("canvas"),w.context=m.maa(w.canvas,u.bX));this.j=new THREE.WebGLRenderer(w);this.j.debug.checkShaderErrors=l.SD;this.j.domElement.style.position="absolute";this.j.domElement.style.zIndex=
1;this.j.domElement.style.pointerEvents="none";this.j.setClearColor(0,0);v.appendChild(this.j.domElement);this.Kt=new THREE.CSS3DRenderer;this.Kt.domElement.style.position="absolute";this.Kt.domElement.style.zIndex=2;this.Kt.domElement.style.pointerEvents="none";v.appendChild(this.Kt.domElement);this.Iu=new f(this.j,function(x,y,A,B,z){this.dla&&this.j.resetState();this.Uf.render(y,B,z)}.bind(this));this.O8=new c.bAa(this.j,this.ta);this.$pa=new c.BAa(this.j,this.ta);this.I$=new c.MAa(this.j,this.ta);
q.nH(this.j.getContext())}};d.prototype.tDa=function(){if(this.j){r.splice(r.indexOf(this),1);this.Uf=this.O8=this.I$=null;this.Iu.destroy();this.Iu=null;q.PY(this.j.getContext());var u=this.yc().get(0);u.removeChild(this.Kt.domElement);this.Kt=null;u.removeChild(this.j.domElement);this.j.dispose();this.j=null;u.removeChild(this.Vw.domElement);this.Vw=null}};d.prototype.Zp=function(u){this.ta.quaternion.copy(b.wta(u.Ra,u.pitch,u.Re));this.ta.fov=k.Fl(u.te,u.width,u.height);this.ta.aspect=u.width/
u.height;this.ta.updateProjectionMatrix();this.ta.updateMatrixWorld();this.Uf&&this.Uf.cda();this.Uf&&this.BR.copy(this.Uf.camera());this.BR.updateProjectionMatrix();this.BR.updateMatrixWorld();!0===this.Fa.rba&&this.Fa.updateMatrixWorld()};d.prototype.FPa=function(u){var v=u.Ab?this.I$:0<u.Pl?this.$pa:this.O8;this.Uf!=v&&(this.Uf&&this.Uf.stop(this.Fa),(this.Uf=v)&&this.Uf.start(this.Fa));this.Uf&&(this.Uf.setSize(u.width,u.height),this.Uf==this.$pa&&this.Uf.DD(u.Pl))};d.prototype.$Pa=function(u){this.Iu&&
(u.vY?this.Iu.ica(f.I_):u.EX&&!u.Ab?this.Iu.ica(f.Gda):this.Iu.ica(f.NONE))};d.prototype.vM=function(){this.Iu&&this.Iu.render(this.Fa,this.ta);this.f2&&(this.Vw.render(this.Bha,this.ta),this.Kt.render(this.Cha,this.ta))};var r=[],t=10;return d});
define("c","require kV iG eS cp eg U jY on".split(" "),function(a){var d=a("kV"),h=a("iG"),l=a("eS"),k=a("cp"),b=a("eg"),g=a("U"),f=a("jY"),c=a("on");a=d.extend(h,function(){h.call(this);this.set("tag","ComposedWebGLObject");this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null);this.set("textureSource",null);this.set("materialConfig",this.Vb=new k.jn);this.It&&this.It();this.KA&&this.KA();this.Uw&&this.Uw();this.wn&&this.wn()});a.prototype.Kb=function(){h.prototype.Kb.call(this);
this.On&&this.On();this.VK&&this.VK();this.iG&&this.iG()};a.prototype.Pb=function(){this.GF&&this.GF();this.jG&&this.jG();this.Qn&&this.Qn();b.dispose(this.get("meshGroup"));b.mI(this.get("meshGroup"),null);this.set("meshGroup",null);h.prototype.Pb.call(this)};a.prototype.ca=function(e){this.Bf&&this.Bf(e);h.prototype.ca.call(this,e);this.set("camera",g.YC(e.wg));this.set("webglScene",e.wg);this.get("meshGroup")||(this.set("meshGroup",b.Qsa(this.vn())),this.get("meshGroup").userData.vUa=this);this.M("webglScene",
"meshGroup")&&b.mI(this.get("meshGroup"),this.get("webglScene"));this.zl();this.tj&&this.tj(e);this.pQa();this.jv&&this.jv(e);this.cq&&this.cq(e);this.FC();this.M("loadingActive","meshGroup")&&f.kc(this.get("meshGroup"),this.get("loadingActive"));this.M("blendingActive","meshGroup")&&c.ixa(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.zl=function(){this.M("composedAlpha","meshGroup")&&this.Aw()};a.prototype.Aw=function(){b.ff(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.pQa=
function(){if(this.M("textureSource")||this.M("materialConfig")&&!this.Vb.isEqual(this.get("materialConfig"))){var e=this.gF();e&&(b.cWa(e,this.BJ()),this.Aw())}};a.prototype.FC=function(){if(this.M("index","meshGroup")){var e=this.get("meshGroup");e&&e.children.forEach(function(m,q,p){b.gZ(m,this.get("index")+q/p.length)}.bind(this))}};a.prototype.BJ=function(){var e=this.get("textureSource")||new l;this.Vb=this.get("materialConfig");var m=k.Ty(e.texture(),this.Vb);f.nI(m,e);return[m]};a.prototype.sha=
function(){var e=new l,m=k.Ty(e.texture());f.nI(m,e);return[m]};a.prototype.Yt=function(e){return b.CSa(this.get("meshGroup"),e)};return a});
define("nw","require hE gG eg je jY ky mY my".split(" "),function(a){var d=a("hE"),h=a("gG"),l=a("eg"),k=a("je"),b=a("jY"),g=a("ky"),f=a("mY"),c=a("my"),e=new THREE.Matrix4,m=Math.PI/180;return{It:function(){this.set("distance",void 0);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",void 0);this.set("vfov",null);this.set("scaleMode",
null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.set("attachToCamera",!1);this.Fg=this.Tw();this.dh=new THREE.Matrix4;this.yd=new THREE.Matrix4;this.Pn=new THREE.Matrix4;this.jm=new THREE.Matrix4;this.Mi=new THREE.Matrix4;this.Z0=new THREE.Matrix4;this.jga=new THREE.Quaternion;this.mha=new THREE.Matrix4;this.kJ=new THREE.Matrix4;this.xJ=new THREE.Matrix4;this.Hw=new THREE.Matrix4;this.qh=new THREE.Matrix4},jv:function(q){this.aq(q);this.o$()},o$:function(){if(this.M("hfov",
"vfov","contentWidth","contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var q=k.Oaa(this.get("hfov"),this.get("vfov"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("panoramaPixelsPerDegree"),this.get("horizontalAlign"),this.get("verticalAlign"));q=h.Hxa(this.Fg[1],q.MP,q.PP,q.Vv,q.Wv);this.Fg[1]!=q&&(this.Fg[1]=q,(q=this.gF())&&l.nca(q,this.Fg[1]))}},gF:function(){var q=this.get("meshGroup");return q?l.Ck(q)[1]:null},vn:function(){return[0,
1].map(function(q){var p=0==q?this.sha():this.BJ();q=l.create(this.Fg[q],p);b.Mv(q,b.Ho);b.Nv(q,b.Iq);b.BD(q,d.JI);b.AP(q,1);return q}.bind(this))},Tw:function(){return[h.yH(),h.yH()]},aq:function(q){var p=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.dh.makeTranslation(.5*-this.get("composedTranslationX")*h.uf,.5*this.get("composedTranslationY")*h.uf,.5*this.get("composedTranslationZ")*h.uf),p=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.yd.makeRotationY(-q.Ra*m),this.yd.multiply(e.makeRotationX(-this.get("composedDeltaPitch")*m)),this.yd.multiply(e.makeRotationY(this.get("composedDeltaYaw")*m)),this.yd.multiply(e.makeRotationY(q.Ra*m)),p=!0);this.M("yaw","pitch")&&(this.Pn.makeRotationY(-this.get("yaw")*m),this.Pn.multiply(e.makeRotationX(this.get("pitch")*m)),p=!0);if(this.M("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX",
"composedTranslationY","composedTranslationZ")){var n=0==this.ga.get("composedTranslationX")&&0==this.ga.get("composedTranslationY")&&0==this.ga.get("composedTranslationZ")&&void 0!==this.get("distance")?h.aD(this.get("distance")):h.tv();this.jm.makeTranslation(0,0,-n);var r=this.get("contentWidth"),t=this.get("contentHeight"),u=this.get("hfov"),v=this.get("vfov")||g.Fl(u,r,t),w=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),A=this.get("panoramaPixelsPerDegree");
p=this.get("horizontalAlign")||c.ue;var B=this.get("verticalAlign")||c.ae;r=k.Oaa(u,v,r,t,y,A,p,B);u=w*h.Paa(n,u);v=x*h.Qaa(n,v);this.kJ.makeScale(u,v,1);w*=h.Paa(n,r.te);n=x*h.Qaa(n,r.Cq);this.xJ.makeScale(w,n,1);this.mha.makeTranslation(p==c.Ma?.5*-(u-w):p==c.eb?.5*(u-w):0,B==c.sc?.5*(v-n):B==c.mc?.5*-(v-n):0,0);p=!0}this.M("rotationX","rotationY","rotationZ","roll")&&(this.Mi.makeRotationZ(this.get("roll")*m),this.Mi.multiply(e.makeRotationY(this.get("rotationY")*m)),this.Mi.multiply(e.makeRotationX(this.get("rotationX")*
m)),this.Mi.multiply(e.makeRotationZ(this.get("rotationZ")*m)),p=!0);this.set("cameraYaw",q.Ra);this.set("cameraPitch",q.pitch);this.set("cameraRoll",q.Re);this.get("attachToCamera")&&this.M("cameraYaw","cameraPitch","cameraRoll")?(this.jga.copy(f.wta(q.Ra,q.pitch,q.Re)),this.Z0.makeRotationFromQuaternion(this.jga),p=!0):this.M("attachToCamera")&&(this.Z0.identity(),p=!0);if(p||this.M("meshGroup"))this.qh.copy(this.dh),this.qh.multiply(this.yd),this.qh.multiply(this.Z0),this.qh.multiply(this.Pn),
this.qh.multiply(this.jm),this.qh.multiply(this.Mi),this.Hw.copy(this.qh),this.Hw.multiply(this.kJ),this.qh.multiply(this.mha),this.qh.multiply(this.xJ),q=l.Ck(this.get("meshGroup")),l.lq(q[0],this.Hw),l.lq(q[1],this.qh)}}});define("jc",["require","kV","c","nw"],function(a){var d=a("kV"),h=a("c");a=a("nw");return d.extend(h,a,function(){h.call(this);this.set("tag","Plane")})});
define("hp","require kV kh og nc jc ms nB mP er kW".split(" "),function(a){function d(n,r,t,u,v,w){for(n=(n-r)/w;t+180<u;)u-=360;for(;t-180>u;)u+=360;t=(t-u)/w;return t=-.1>n||.1<n?h(v,t,Math.abs(1/(1500*n))):h(v,t,.08)}function h(n,r,t){n=(r-n)*(1-t);1E-5>Math.abs(n)&&(n=0);return r-n}var l=a("kV"),k=a("kh"),b=a("og"),g=a("nc"),f=a("jc"),c=a("ms"),e=a("nB"),m=a("mP"),q=a("er"),p=a("kW");a=l.extend(f,function(n){f.call(this);this.v=n;this.Zj.push(this.v);this.Kf=this.Kf.bind(this);this.re=g.Ea("CeilingCapPanoramaOverlay",
this.v)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch","tripod"==this.re?-90:90);this.Vc=!1;this.$B=this.s7=this.Ir=void 0;this.bLa="tripod"==this.re?1:-1;this.Xi=this.lk=this.Hg=null});a.prototype.Kb=function(){f.prototype.Kb.call(this);this.Hg=(new e(b.aa)).Rl(this.rp.bind(this));this.lk=(new e(b.rc)).ro(this.JB.bind(this));k.ma(this.v,"angle distance hfov image.levels.url inertia rotate".split(" "),this.Kf,!0)};a.prototype.Pb=function(){this.Xi&&this.Xi.dispose();this.Xi=null;this.Hg.dispose();
this.lk.dispose();k.ka(this.v,"angle distance hfov image.levels.url inertia rotate".split(" "),this.Kf);f.prototype.Pb.call(this)};a.prototype.Kf=function(){this.set("angle",this.v.get("angle"));this.set("distance",this.v.get("distance"));this.set("hfov",this.v.get("hfov"));var n=m.lSa(this.v,this.get("panoramaPixelsPerDegree"));this.set("imageURL",n&&n.get("url"));this.set("imageWidth",n&&n.get("width"));this.set("imageHeight",n&&n.get("height"));this.set("inertia",this.v.get("inertia"));this.set("rotate",
this.v.get("rotate"))};a.prototype.vn=function(){var n=f.prototype.vn.call(this);this.Hg.gf(n);this.lk.gf(n);return n};a.prototype.ca=function(n){this.S9();this.$G(n);f.prototype.ca.call(this,n)};a.prototype.S9=function(){this.M("imageURL")&&this.get("imageURL")&&(this.set("textureSource",new c(this.get("imageURL"))),this.set("contentWidth",this.get("imageWidth")),this.set("contentHeight",this.get("imageHeight")))};a.prototype.rp=function(){this.Xi&&this.Xi.dispose();this.Xi=new q(this.get("textureSource").sf());
this.trigger(b.Rc);this.trigger(b.aa)};a.prototype.JB=function(n,r){var t=0;r.ns(function(u){(u=r.Il(u))&&(t+=u.Og)});this.trigger(new p(b.rc,t/r.Sc.length))};a.prototype.$G=function(n){this.set("rendererYaw",n.Ra);if(this.M("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.M("rendererYaw")){var r=this.get("angle"),t=this.get("rotate"),u=this.get("inertia"),v=this.bLa*n.Ra;t&&(r+=v);var w=0,x=r-v;void 0!==this.Ir&&(u&&(t?(w=d(v,this.$B,r,this.Ir,this.s7,n.se),r=this.Ir+
w*n.se):(w=d(v,this.$B,x,this.Sna,this.s7,n.se),x=this.Sna+w*n.se,r=x+v)),this.Ir!=r&&this.Da());this.Sna=x;this.Ir=r;this.s7=w;this.$B=v;this.set("rotationZ",-r)}};a.prototype.$m=function(n){if(n.Ue==b.Wl){var r=!n.Ak()&&this.Vp(n);r&&(n.Ny(this.v),this.v.get("useHandCursor")&&n.Oy(this.v),n.zk(this.get("distance")));this.Vc!=r&&(this.Vc=r,this.v.trigger(this.Vc?b.$c:b.ac),n.zs()&&this.v.trigger(this.Vc?b.Vz:b.Jo))}else n.Ue==b.Ij&&!n.Ak()&&this.Vp(n)&&(1<this.v.HH(b.oa,!0).length&&n.xq(this.v),
n.zk(this.get("distance")),this.v.trigger(b.oa))};a.prototype.Vp=function(n){return this.Yt(n.Kp).some(function(r){return this.Xi&&this.Xi.Tv(r.x,r.y)}.bind(this))};return a});
define("jH","require kV og kx iG bu".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("kx"),k=a("iG"),b=a("bu");a=d.extend(k,function(){k.call(this);this.dh=new THREE.Matrix4;this.Lra=!1;this.$h=new THREE.Matrix4;this.Yf=null;this.tl=new THREE.Matrix4;this.uM=this.fM=0;this.bJ=.75;this.LJ=.5;this.sr=4;this.H5=0;this.tr=-2;this.np=3;this.qT=0;this.UA=7;this.$L=this.iy=1;this.aL=.15;this.VA=this.TB=0;this.JS=this.SU=l.S;this.fW=this.$V=1E3});var g=Math.PI/180,f=new THREE.Matrix4;a.prototype.bm=function(){};
a.prototype.Kb=function(){k.prototype.Kb.call(this);this.trigger(h.Rc);this.trigger(h.aa)};a.prototype.Pb=function(){this.C1()};a.prototype.ck=function(){this.bm();this.wM()};a.prototype.dk=function(){this.Da()};a.prototype.wM=function(){this.Yf&&(this.C1(),this.vha())};a.prototype.zR=function(){};a.prototype.vha=function(){this.RLa();this.Yf=new THREE.Group;for(var c=this.JS==l.X,e=this.TB,m=this.VA;0<m+e;){var q=Math.random()*(m+e)<=m;q?m--:e--;var p=this.zR();p.matrixAutoUpdate=!1;p.overdraw=!1;
p.material.opacity=0;p.userData={YRa:q,eI:new THREE.Matrix4,nsa:new THREE.Matrix4,Wba:new THREE.Matrix4,y:void 0,Tya:void 0,Hba:c};this.Yf.add(p);c&&this.Z7(p,this.tr,this.np);this.PLa(p)}this.fM=c?this.Yf.children.length:0;this.K$.add(this.Yf);this.iga()};a.prototype.C1=function(){if(this.Yf){this.Yf.parent&&this.Yf.parent.remove(this.Yf);for(var c=0,e=this.Yf&&this.Yf.children.length;c<e;c++)this.Yf.children[c].material.dispose();this.Yf=null;this.uM=0}};a.prototype.RLa=function(){this.tl=(new THREE.Matrix4).makeScale(this.iy,
this.iy,this.iy)};a.prototype.Z7=function(c,e,m){e+=Math.random()*(m-e);if(c.userData.YRa){m=this.UA;var q=360*Math.random()*g;c.userData.eI.makeTranslation(m*Math.cos(q),e,m*Math.sin(q))}else m=2*Math.random()*Math.PI,q=this.H5+(this.sr-this.H5)*Math.sqrt(Math.random()),c.userData.eI.makeTranslation(q*Math.cos(m),e,q*Math.sin(m));c.userData.eI.multiply(this.tl);c.userData.y=e};a.prototype.PLa=function(c){var e=this.aL+Math.random()*(this.BB-this.aL);do var m=Math.random()*this.qT;while(80<m&&100>
m);var q=360*Math.random(),p=Math.sin(q*g)*Math.sin(m*g)*e,n=-Math.cos(m*g)*e;e*=Math.cos(q*g)*Math.sin(m*g);c.userData.Tya=n*this.iy;c.userData.nsa.makeTranslation(p,n,e);c.userData.Wba.makeRotationY(q*g);c.userData.Wba.multiply(f.makeRotationX(-m*g))};a.prototype.ca=function(c){k.prototype.ca.call(this,c);this.xPa(c);this.K$=c.wg;this.K$!=(this.Yf&&this.Yf.parent)?(this.C1(),this.K$&&this.vha()):this.M("index")&&this.iga();this.VPa(c)};a.prototype.xPa=function(c){c=c.Ab&&b.getType()==b.cA.Jk;c!=
this.Uja&&(this.Uja=c)&&setTimeout(function(){this.Yf&&this.wM()}.bind(this),0)};a.prototype.VPa=function(c){if(this.Yf){this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Lra=0!=this.get("composedTranslationX")||0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"),this.dh.makeTranslation(-this.get("composedTranslationX")*this.sr,this.get("composedTranslationY")*this.sr,this.get("composedTranslationZ")*this.sr));var e=this.SU==l.X,m=this.Yf.children,
q=m.length,p=e?Math.round(q*c.se/this.$V):0;if(0<this.fM+p){this.uM=e?0:Math.min(this.fM,this.uM+Math.round(q*c.se/this.fW));c=this.get("composedAlpha");for(e=0;e<q;e++){var n=m[e];if(!n.userData.Hba)if(0<p)p--,n.userData.Hba=!0,this.fM++,this.Z7(n,this.np,this.np+(this.np-this.tr));else continue;n.userData.eI.multiply(n.userData.nsa);n.userData.y+=n.userData.Tya;if(n.userData.y<this.tr||n.userData.y>this.np){if(0<this.uM){this.uM--;n.userData.Hba=!1;this.fM--;n.material.opacity=0;continue}var r=
n.userData.y<this.tr?this.np:this.tr;this.Z7(n,r,r)}r=c;n.userData.y<this.tr+this.LJ?r*=(n.userData.y-this.tr)/this.LJ:n.userData.y>this.np-this.bJ&&(r*=(this.np-n.userData.y)/this.bJ);n.material.opacity=r*this.$L;this.Lra?(n.matrix.copy(this.dh),n.matrix.multiply(n.userData.eI)):n.matrix.copy(n.userData.eI);n.matrix.multiply(n.userData.Wba);n.matrixWorldNeedsUpdate=!0}this.Da()}}};a.prototype.iga=function(){if(this.Yf)for(var c=this.get("index"),e=0;e<this.Yf.children.length;e++)this.Yf.children[e].renderOrder=
c};return a});
define("ir","require kV kh kx jH ne u".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("kx"),k=a("jH"),b=a("ne"),g=a("u");a=d.extend(k,function(c){k.call(this);this.v=c;this.ck=this.ck.bind(this);this.dk=this.dk.bind(this);this.bm()});a.prototype.Kb=function(){k.prototype.Kb.call(this);this.v.set("state",this.v.get("startState"));h.ma(this.v,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.ck,
!0);h.ma(this.v,["state"],this.dk,!0)};a.prototype.Pb=function(){h.ka(this.v,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.ck);h.ka(this.v,["state"],this.dk);this.v.set("state",l.S);k.prototype.Pb.call(this)};a.prototype.ck=function(){this.bm();this.wM()};a.prototype.dk=function(){this.SU=this.v.get("state");this.Da()};a.prototype.bm=function(){k.prototype.bm.call(this);var c=g.kb()||g.browser()==
g.xz?2500:g.Ef()?4E3:5E3;this.aL=this.BB=.2*this.v.get("speed",.2);this.sr=14.5*this.v.get("distance",.5)+.5;this.$L=1*this.v.get("opacity",.1);this.iy=.036;this.TB=this.v.get("intensity",.1)*c;this.uc=b.eP(this.v.get("color","#ffffff"));this.VA=0;this.UA=15;this.JS=this.v.get("initialState");this.$V=this.v.get("startDuration");this.fW=this.v.get("stopDuration");this.bJ=.75;this.LJ=.5;this.tr=-2;this.np=4;this.qT=180;this.cia()};a.prototype.zR=function(){return new THREE.Sprite(this.JA())};a.prototype.JA=
function(){var c=new THREE.SpriteMaterial;c.map=this.Xo();c.side=THREE.FrontSide;c.transparent=!0;c.depthTest=!1;c.needsUpdate=!0;return c};a.prototype.Xo=function(){if(this.tb)return this.tb;var c=document.createElement("canvas");c.width=c.height=f;this.tb=new THREE.Texture;this.tb.image=c;this.tb.needsUpdate=!0;this.cia();return this.tb};a.prototype.cia=function(){if(this.tb){var c=this.tb.image,e=c.getContext("2d"),m=e.createRadialGradient(.5*c.width,.5*c.height,.2*c.height,.5*c.width,.5*c.height,
.5*c.height);m.addColorStop(0,"rgba("+this.uc[0]+", "+this.uc[1]+", "+this.uc[2]+", 1)");m.addColorStop(1,"rgba("+this.uc[0]+", "+this.uc[1]+", "+this.uc[2]+", 0)");e.fillStyle=m;e.clearRect(0,0,c.width,c.height);e.fillRect(0,0,c.width,c.height);this.tb.needsUpdate=!0}};var f=32;return a});
define("lg","require kV hE gG eg je jY my".split(" "),function(a){a("kV");var d=a("hE"),h=a("gG"),l=a("eg"),k=a("je"),b=a("jY"),g=a("my"),f=new THREE.Matrix4,c=Math.PI/180;return{It:function(){this.set("distance",void 0);this.set("width",100);this.set("height",100);this.set("offsetX",void 0);this.set("offsetY",void 0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("rotationZ",0);this.set("contentWidth",100);this.set("contentHeight",100);this.set("scale",1);this.set("scaleMode",
null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.Fg=this.Tw();this.dh=new THREE.Matrix4;this.yd=new THREE.Matrix4;this.Pn=new THREE.Matrix4;this.jm=new THREE.Matrix4;this.BE=new THREE.Matrix4;this.CG=new THREE.Matrix4;this.sga=new THREE.Matrix4;this.Mi=new THREE.Matrix4;this.pha=new THREE.Matrix4;this.kJ=new THREE.Matrix4;this.xJ=new THREE.Matrix4;this.Hw=new THREE.Matrix4;this.qh=new THREE.Matrix4;this.DE=new THREE.Matrix4;this.zA=new THREE.Vector3},jv:function(e){this.aq(e);
this.o$()},o$:function(){if(this.M("width","height","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign")){var e=k.KX(this.get("width"),this.get("height"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"));e=h.Hxa(this.Fg[1],e.MP,e.PP,e.Vv,e.Wv);this.Fg[1]!=e&&(this.Fg[1]=e,(e=this.gF())&&l.nca(e,this.Fg[1]))}},gF:function(){var e=this.get("meshGroup");return e?l.Ck(e)[1]:null},vn:function(){return[0,
1].map(function(e){var m=0==e?this.sha():this.BJ();e=l.create(this.Fg[e],m);b.Mv(e,b.Ho);b.Nv(e,b.Iq);b.BD(e,d.JI);b.AP(e,1);return e}.bind(this))},Tw:function(){return[h.yH(),h.yH()]},aq:function(e){var m=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.dh.makeTranslation(.5*-this.get("composedTranslationX")*h.uf,.5*this.get("composedTranslationY")*h.uf,.5*this.get("composedTranslationZ")*h.uf),m=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.yd.makeRotationY(-e.Ra*c),this.yd.multiply(f.makeRotationX(-this.get("composedDeltaPitch")*c)),this.yd.multiply(f.makeRotationY(this.get("composedDeltaYaw")*c)),this.yd.multiply(f.makeRotationY(e.Ra*c)),m=!0);this.M("yaw","pitch")&&(this.Pn.makeRotationY(-this.get("yaw")*c),this.Pn.multiply(f.makeRotationX(this.get("pitch")*c)),m=!0);if(this.M("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var q=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&
0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",q?h.aD(this.get("distance")):h.tv())}this.M("z")&&(this.jm.makeTranslation(0,0,-this.get("z")),m=!0);m&&(this.DE.copy(this.dh),this.DE.multiply(this.yd),this.DE.multiply(this.Pn),this.DE.multiply(this.jm));q=!1;this.set("rendererYaw",e.Ra);this.set("rendererPitch",e.pitch);this.set("rendererRoll",e.Re);this.set("rendererCameraFOV",e.Oh);this.set("rendererWidth",e.width);this.set("rendererHeight",e.height);e.Oh&&this.M("z",
"rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(e.Oh*c*.5)*this.get("z")*2);if(e.Oh&&(m||this.M("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR"))){if(e.Ab)this.BE.copy(this.DE),this.CG.identity();else{q=e.camera;this.BE.copy(q.matrixWorld);this.zA.setFromMatrixPosition(q.matrixWorld);this.zA.applyMatrix4(this.DE);this.zA.applyMatrix4(q.matrixWorldInverse);var p=-10,n=-10;0>this.zA.z&&(this.zA.applyMatrix4(q.projectionMatrix),
p=.5*this.zA.x,n=.5*this.zA.y);var r=this.get("rendererHeightZ");this.CG.makeTranslation(p*r*q.aspect,n*r,0)}q=!0}this.M("roll")&&(this.Mi.makeRotationZ(this.get("roll")*c),q=!0);if(e.Oh&&(m||this.M("rendererHeight","inVR","rendererHeightZ","width","height","contentWidth","contentHeight","scale","scaleMode","horizontalAlign","verticalAlign","flipHorizontally","offsetX","offsetY"))){m=e.Ab?1024:e.height;q=this.get("scale")*this.get("rendererHeightZ")/m*(e.Ab?2:1);var t=this.get("width");n=this.get("height");
var u=this.get("offsetX");r=this.get("offsetY");var v=this.get("contentWidth"),w=this.get("contentHeight");p=(this.get("flipHorizontally")?-1:1)*q;var x=this.get("scaleMode");e=this.get("horizontalAlign")||g.ue;m=this.get("verticalAlign")||g.ae;x=k.KX(t,n,v,w,x,e,m);v=p*t;w=q*n;this.kJ.makeScale(v,w,1);t=p*(.5*t-u);n=q*(r-.5*n);this.sga.makeTranslation(t,n,0);p*=x.width;q*=x.height;this.xJ.makeScale(p,q,1);this.pha.makeTranslation((e==g.Ma?.5*-(v-p):e==g.eb?.5*(v-p):0)+t,(m==g.sc?.5*(w-q):m==g.mc?
.5*-(w-q):0)+n,0);q=!0}q&&(this.qh.copy(this.BE),this.qh.multiply(this.jm),this.qh.multiply(this.CG),this.qh.multiply(this.Mi),this.Hw.copy(this.qh),this.Hw.multiply(this.sga),this.Hw.multiply(this.kJ),this.qh.multiply(this.pha),this.qh.multiply(this.xJ),e=l.Ck(this.get("meshGroup")),l.lq(e[0],this.Hw),l.lq(e[1],this.qh))}}});
define("fQ",["require","og","kx"],function(a){function d(k,b){this.wd=k;this.oc=b;this.qb=!1;this.B0();this.E0();this.LB()}var h=a("og"),l=a("kx");d.prototype.clear=function(){this.H7();this.N7();this.wd.set("state",l.S);this.oc=this.wd=null};d.prototype.Rf=function(k){this.qb!=k&&(this.qb=k,this.Zr())};d.prototype.LB=function(){this.oc.Gd(this.wd.get("state"))};d.prototype.tL=function(){this.Zr()};d.prototype.vL=function(){this.oc.mca(this.wd.get("frameDuration"))};d.prototype.uL=function(){this.oc.qxa("first"==
this.wd.get("finalFrame"))};d.prototype.rL=function(){this.wd.trigger(h.Pq)};d.prototype.qL=function(){this.wd.trigger(h.rb)};d.prototype.sL=function(){this.wd.set("state",this.oc.getState())};d.prototype.Zr=function(){this.wd.get("autoplay")&&this.oc.Gd(this.qb?l.X:l.S)};d.prototype.B0=function(){this.wd.bind(h.G("state"),this.LB,this,!0);this.wd.bind(h.G("autoplay"),this.tL,this,!0);this.wd.bind(h.G("frameDuration"),this.vL,this,!0);this.wd.bind(h.G("finalFrame"),this.uL,this,!0)};d.prototype.H7=
function(){this.wd.unbind(h.G("state"),this.LB,this,!0);this.wd.unbind(h.G("autoplay"),this.tL,this,!0);this.wd.unbind(h.G("frameDuration"),this.vL,this,!0);this.wd.unbind(h.G("finalFrame"),this.uL,this,!0)};d.prototype.E0=function(){this.oc.bind(h.Pq,this.rL,this,!0);this.oc.bind(h.rb,this.qL,this,!0);this.oc.bind(h.ge,this.sL,this,!0)};d.prototype.N7=function(){this.oc.unbind(h.Pq,this.rL,this,!0);this.oc.unbind(h.rb,this.qL,this,!0);this.oc.unbind(h.ge,this.sL,this,!0)};return d});
define("gH","require kh og kx hE nc cp eg fQ eS jY er be".split(" "),function(a){var d=a("kh"),h=a("og"),l=a("kx"),k=a("hE"),b=a("nc"),g=a("cp"),f=a("eg"),c=a("fQ"),e=a("eS"),m=a("jY"),q=a("er"),p=a("be");return{KA:function(){this.set("visible",!1);this.set("inView",!1);this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("premultipliedAlpha",!1);this.set("projected",!1);this.set("image",null);this.set("level",null);this.set("levelURL",
null);this.set("state",null);this.set("visibleOnStop",!0);this.set("side",void 0);this.QT=this.QT.bind(this);this.TT=this.TT.bind(this);this.Xi=this.Pa=this.un=this.oc=null},tj:function(){this.S9();this.AN();this.bQa()},S9:function(){if(this.M("level")){var n=this.get("level");this.set("levelURL",n&&n.get("url"))}this.M("image","level","levelURL","projected")&&(this.Yga(),this.Pa=this.get("image"),this.hb=this.get("level"),this.set("textureSource",new e(this.Pa&&this.hb.get("url"))),this.set("premultipliedAlpha",
this.Pa&&this.hb.get("premultipliedAlpha")),this.IBa(),this.Pa?(this.uBa(),this.xBa()):(this.trigger(h.Rc),this.trigger(h.aa)))},AN:function(){if(this.M("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var n=new g.jn;n.Ry=this.get("blending");n.js=this.get("chromaColor");n.gO=this.get("chromaThreshold");n.fO=this.get("chromaSmoothing");n.premultipliedAlpha=this.get("premultipliedAlpha");n.side=this.get("side");this.set("materialConfig",n)}},bQa:function(){if(this.M("meshGroup",
"projected","visible")){var n=this.get("projected")&&this.get("visible")?k.S_:k.JI;f.Ck(this.get("meshGroup")).forEach(function(r){m.BD(r,n)}.bind(this))}},zl:function(){this.M("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha")&&(this.get("visibleOnStop")||this.get("state")!=l.S));this.M("composedAlpha","meshGroup","inView")&&f.ff(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.un&&this.un.Rf(this.get("inView"))},
QT:function(){this.Pa&&b.Ea("AnimatedImageResource",this.Pa)?this.set("visibleOnStop",this.Pa.get("visibleOnStop")):this.set("visibleOnStop",!0)},TT:function(){this.set("levelURL",this.hb.get("url"))},GF:function(){this.Yga()},Yga:function(){this.un&&(this.un.clear(),this.un=null);this.oc&&(this.oc.unbind(h.sa,this.sK,this,!0),this.oc.unbind(h.ge,this.Rja,this,!0),this.oc.clear(),this.oc=null);this.Xi&&(this.Xi.dispose(),this.Xi=null);this.get("textureSource")&&(this.Q7(),this.set("textureSource",
null));this.Pa&&(this.zLa(),this.Pa=null);this.hb&&(this.CLa(),this.hb=null)},uBa:function(){d.ma(this.Pa,["visibleOnStop"],this.QT,!0)},zLa:function(){d.ka(this.Pa,["visibleOnStop"],this.QT)},xBa:function(){d.ma(this.hb,["url"],this.TT,!0)},CLa:function(){d.ka(this.hb,["url"],this.TT)},tK:function(){this.Q7();var n=this.get("image");if(b.Ea("AnimatedImageResource",n)){this.oc=new p(this.get("textureSource").sf(),n.get("rowCount",1),n.get("colCount",1),n.get("frameDuration"),n.get("frameCount",n.get("rowCount",
1)*n.get("colCount",1)),n.get("repeat"),"first"==n.get("finalFrame"));var r=this.oc.gg();this.oc.bind(h.ge,this.Rja,this,!0);this.oc.bind(h.sa,this.sK,this,!0);this.un=new c(n,this.oc);this.set("visibleOnStop",n.get("visibleOnStop"));this.set("state",this.oc.getState())}else r=this.get("textureSource").sf(),this.Xi=new q(r),this.set("visibleOnStop",!0),this.set("state",null);this.zl();this.set("contentWidth",r.width);this.set("contentHeight",r.height);this.get("textureSource").Ol(r);this.trigger(h.Rc);
this.trigger(h.aa)},Sja:function(){this.Q7();this.trigger(h.Rc);this.trigger(h.aa)},Rja:function(){this.set("state",this.oc.getState())},sK:function(){this.get("textureSource").update();this.Da()},IBa:function(){var n=this.get("textureSource");n.bind(h.aa,this.tK,this,!0);n.bind(h.Fc,this.Sja,this,!0)},Q7:function(){var n=this.get("textureSource");n.unbind(h.aa,this.tK,this,!0);n.unbind(h.Fc,this.Sja,this,!0)},R3:function(n){return this.Xi&&this.Xi.pg==n.source?this.Xi.info(n.x,n.y):q.info(n.source,
n.x,n.y)}}});
define("od","require kh og nc ne y".split(" "),function(a){function d(c){c=c.get("mapColor");return"image"==c||"transparent"==c||"any"==c}function h(c){c=c.get("mapColor");return"image"!=c&&"transparent"!=c&&"any"!=c}var l=a("kh"),k=a("og"),b=a("nc"),g=a("ne"),f=new (a("y"));return{Uw:function(){this.set("beamEnabled",!1);this.PT=this.PT.bind(this);this.wS=null;this.Uh=[];this.Zq=[];this.ux=null},JVa:function(c){this.ux!=c&&(this.I7(),this.ux=c,this.Jfa())},cq:function(c){this.qy=c.Ra;this.py=c.pitch},
I7:function(){this.ux&&l.ka(this.ux,["areas"],this.PT)},Jfa:function(){this.ux&&l.ma(this.ux,["areas"],this.PT,!0)},iG:function(){this.I7();this.Jfa()},jG:function(){this.$oa([]);this.I7()},PT:function(){var c=this.ux.get("areas",[]);b.Ea("HotspotPanoramaOverlayImage",this.v)||b.Ea("FlatHotspotPanoramaOverlayImage",this.v)||b.Ea("QuadHotspotPanoramaOverlayImage",this.v)?this.wS=c.filter(d):this.wS=c.filter(h);this.wS.forEach(function(e){f.set(e,0)})},$m:function(c){if(c.Ue==k.Wl){var e=this.F3(c);
if(0<e.length){c.Ny(e);this.cs(e)&&c.Oy(e);c.zk(this.get("distance"));var m=this.Lb(e,c.lD());m&&c.eX(m,this.Cy(c.lD()))}this.$oa(e,c.zs(),c.lD())}else if(c.Ue==k.Ij){if(e=this.F3(c),0<e.length){var q=!1;e.forEach(function(p){p.trigger(k.oa);!q&&1<p.HH(k.oa,!0).length&&(q=!0)});c.zk(this.get("distance"));q&&c.xq(e)}}else c.Ue==k.U_?(e=this.F3(c),0<e.length&&(q=!1,e.forEach(function(p){var n={};c.zs()&&(n=c.nj.Tta());p.trigger(k.ub,n);!q&&1<p.HH(k.ub,!0).length&&(q=!0)}),this.Zq=e,c.zk(this.get("distance")),
q&&c.xq(e))):c.Ue==k.V_&&this.Zq.length&&(this.Zq.forEach(function(p){var n={};c.zs()&&(n=c.nj.Tta());p.trigger(k.$b,n)}),this.Zq=[])},F3:function(c){if(!this.get("beamEnabled")||0==this.get("alpha")||c.Ak())return[];var e=this.Yt(c.Kp);return 0==e.length?[]:this.wS.filter(function(m){var q=m.get("mapColor");return"any"==q?!0:"image"==q?e.some(function(p){return this.R3(p).Tv}.bind(this)):"transparent"==q?e.every(function(p){return!this.R3(p).Tv}.bind(this)):q&&"#"==q[0]?e.some(function(p){return 10>
g.JX(this.R3(p).color,q)}.bind(this)):!1}.bind(this))},$oa:function(c,e,m){this.Uh.forEach(function(p){if(0>c.indexOf(p)){var n=f.get(p)-1;f.set(p,n);0==n&&(p.trigger(k.ac,{center:m}),e&&p.trigger(k.Jo))}});var q=this.Uh;this.Uh=c;this.Uh.forEach(function(p){if(0>q.indexOf(p)){var n=(f.get(p)||0)+1;f.set(p,n);1==n&&(p.trigger(k.$c,{center:m}),e&&p.trigger(k.Vz))}})},Lb:function(c,e){for(var m="",q=c.length-1;0<=q&&""==m;q--){var p=c[q];if(!e||p.get("displayTooltipInTouchScreens")&&!1!==this.Aa.N.get("displayTooltipInTouchScreens"))m=
p.get("toolTip","")}return m},Cy:function(c){if(c){c=this.get("yaw")-this.qy;var e=this.get("pitch")-this.py;return Math.sqrt(c*c+e*e)}return 0},cs:function(c){for(var e=this.ux.get("useHandCursor"),m=c.length-1;0<=m&&void 0===e;m--)e=c[m].get("useHandCursor");return!!e}}});
define("nb",["require","u","cx"],function(a){function d(){this.Eh=void 0;this.tF=this.VB=0;this.va=!0;this.qR=this.o9=this.B3=void 0;this.qb=!1}var h=a("u"),l=a("cx"),k=Math.PI/180,b=h.browser()==h.Rh?[-.5,0]:[0,0];d.prototype.mz=function(g){this.Eh!=g&&(this.Eh=g,this.va=!0)};d.prototype.lz=function(g){if(g<this.VB+b[0]||g>this.VB+b[1])this.VB=g,this.va=!0};d.prototype.get=function(g,f){void 0!==f||(f=!0);this.va&&(this.ca(),this.va=!1);var c=this.B3.get(g)||0;g=(this.o9.get(g)||0)-c;f&&(180<g?g-=
360:-180>g&&(g+=360));return c+g*this.qR};d.prototype.Naa=function(){this.va&&(this.ca(),this.va=!1);for(var g=this.B3.get("vertices"),f=this.o9.get("vertices"),c=[],e=0;e<g.length;e++){var m=g[e].get("yaw")||0,q=(f[e].get("yaw")||0)-m;180<q?q-=360:-180>q&&(q+=360);var p=g[e].get("pitch")||0,n=(f[e].get("pitch")||0)-p;c.push(new l(m+q*this.qR,p+n*this.qR))}g=this.NK&&this.NK.length==c.length;for(e=0;e<c.length&&g;e++)g=this.NK[e].get("yaw")==c[e].get("yaw")||this.NK[e].get("pitch")==c[e].get("pitch");
return g?this.NK:this.NK=c};d.prototype.Dk=function(){return this.get("opacity",!1)};d.prototype.dD=function(){var g=this.get("hfov")||this.get("vfov"),f=this.Eh[0].get("hfov")||this.Eh[0].get("vfov");return Math.tan(.5*g*k)/Math.tan(.5*f*k)};d.prototype.ca=function(){for(var g=this.tF,f,c=this.Eh.length-1,e,m;;){f=Math.min(g+1,c);e=this.Dja(g);m=this.Dja(f);if(e<=this.VB&&this.VB<=m)break;if(e>this.VB){if(0==g){f=g;break}--g}else{if(g==c){f=g;break}g+=1}}this.B3=this.Eh[g];this.o9=this.Eh[f];g=m-
e;this.qR=0<g?(this.VB-e)/g:0};d.prototype.Dja=function(g){return this.Eh[g].get("timestamp")};return d});
define("cd",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),this.Nd,!0)},Qn:function(){d.ka(this.v,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),
this.Nd)},Nd:function(){this.set("horizontalAlign",this.v.get("horizontalAlign"));this.set("verticalAlign",this.v.get("verticalAlign"));this.set("scale",this.v.get("scale"));this.set("scaleMode",this.v.get("scaleMode"));this.set("width",this.v.get("width"));this.set("height",this.v.get("height"));this.set("offsetX",this.v.get("offsetX",.5*this.v.get("width")));this.set("offsetY",this.v.get("offsetY",.5*this.v.get("height")));this.set("distance",this.v.get("distance"));this.set("playbackPositions",
this.v.get("playbackPositions"))},Bf:function(){this.M("playbackPositions","currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("yaw",this.jb.get("yaw")),this.set("pitch",this.jb.get("pitch")),this.set("roll",this.jb.get("roll")),this.set("alpha",this.jb.Dk()))}}});
define("jr","require kV kh og eg c lg gH od cd mP".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("eg"),b=a("c"),g=a("lg"),f=a("gH"),c=a("od"),e=a("cd"),m=a("mP"),q=0;a=d.extend(b,g,e,f,c,function(p){b.call(this);this.set("tag","FlatHotspotImage");this.set("id","flat_hs_image_"+q++);this.v=p;this.Zj.push(this.v);this.Kf=this.Kf.bind(this)});a.prototype.Kb=function(){b.prototype.Kb.call(this);h.ma(this.v,["image.levels"],this.Kf,!0)};a.prototype.Pb=function(){h.ka(this.v,["image.levels"],
this.Kf);b.prototype.Pb.call(this)};a.prototype.Kf=function(){this.set("image",this.v.get("image"));this.set("level",m.uSa(this.v))};a.prototype.ca=function(p){this.BC();b.prototype.ca.call(this,p);this.M("inView")&&this.v.trigger(this.get("inView")?l.hd:l.od)};a.prototype.BC=function(){if(this.M("meshGroup","panoramaId","id")){var p=this.get("meshGroup");p&&p.children.forEach(function(n){k.setAttribute(n,k.uz,this.get("panoramaId"));k.setAttribute(n,k.AZ,this.get("id"))}.bind(this))}};return a});
define("lO","require kV kh og iG nB u nJ bD kW".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("iG"),b=a("nB");a("u");var g=a("nJ"),f=a("bD"),c=a("kW");a=d.extend(k,function(e){k.call(this);this.v=e;this.Zj.push(this.v);this.iU=this.iU.bind(this);this.hU=this.hU.bind(this);this.jU=this.jU.bind(this);this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Hotspot");this.set("over",!1);this.set("centerOver",!1);this.set("enabled",!0);this.set("visible",!1);this.set("alpha",
0);this.set("inVR",!1);this.set("overlaysEnabled",!0);this.set("enabledInVR",!0);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("centerOverDisplay",!1);this.set("rollOverDisplay",!1);this.set("loadingActive",!1);this.Q0=this.R0=this.Rn=this.Pd=this.mf=null;this.Uh=[];this.P0=[];this.Cl=null});a.prototype.Kb=function(){this.mf=(new b(l.aa)).Rl(this.EB.bind(this));this.Pd=(new b(l.rc)).ro(this.IB.bind(this));this.Rn=(new b(l.Rc)).Rl(this.EJa.bind(this));this.R0=(new b(l.$c)).ro(this.xJa.bind(this));
this.Q0=(new b(l.ac)).ro(this.wJa.bind(this));k.prototype.Kb.call(this);h.ma(this.v,["items","rollOverItems","maps","rollOverMaps"],this.iU,!0);h.ma(this.v,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.jU,!0);h.ma(this.v,["areas"],this.hU,!0)};a.prototype.Pb=function(){this.UG([],this.Uh);this.J9([],this.P0);this.mf.dispose();this.Pd.dispose();this.Rn.dispose();this.R0.dispose();
this.Q0.dispose();h.ka(this.v,["items","rollOverItems","maps","rollOverMaps"],this.iU);h.ka(this.v,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.jU);h.ka(this.v,["areas"],this.hU);this.get("visible")&&this.v.trigger(l.od);k.prototype.Pb.call(this)};a.prototype.iU=function(){this.set("items",this.Aa.xv(this.v.get("items",[])));this.set("rollOverItems",this.Aa.xv(this.v.get("rollOverItems",
[])));this.set("maps",this.Aa.xv(this.v.get("maps",[])));this.set("rollOverMaps",this.Aa.xv(this.v.get("rollOverMaps",[])));var e=[].concat(this.get("maps"),this.get("items"),this.get("rollOverMaps"),this.get("rollOverItems"));e.forEach(function(m){m.JVa(this.v)}.bind(this));this.get("items").forEach(function(m){m.set("projected",this.v.get("projected"))}.bind(this));this.Pg(e);this.mf.gf(e);this.Pd.gf(e);this.Rn.gf(e)};a.prototype.jU=function(){this.set("fadeInDuration",this.v.get("fadeInDuration"));
this.set("fadeOutDuration",this.v.get("fadeOutDuration"));this.set("enabled",this.v.get("enabled",!0));this.set("enabledInVR",this.v.get("enabledInVR"));this.set("enabledInStandard",this.v.get("enabledInStandard",!0));this.set("enabledInSurfaceSelection",this.v.get("enabledInSurfaceSelection",!0));this.set("centerOverDisplay",this.v.get("centerOverDisplay"));this.set("rollOverDisplay",this.v.get("rollOverDisplay",!1));this.set("interactionEnabled",this.v.get("interactionEnabled",!0))};a.prototype.hU=
function(){var e=this.v.get("areas");this.R0.gf(e);this.Q0.gf(e)};a.prototype.ca=function(e){this.zl(e);k.prototype.ca.call(this,e);this.Sd(e)};a.prototype.Sd=function(e){this.set("inVR",e.Ab);this.set("surfaceSelection",e.JP);this.set("hotspotsEnabled",e.hD);if(this.M("items","rollOverItems","maps","rollOverMaps","over","centerOver","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","surfaceSelection","enabledInSurfaceSelection","enabled","interactionEnabled","rollOverDisplay","centerOverDisplay")||
this.ga&&this.ga.M("composedAlpha")){var m=e=!1,q=this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))&&(!this.get("surfaceSelection")||this.get("enabledInSurfaceSelection"))&&this.ga&&0<this.ga.get("composedAlpha"),p=this.get("interactionEnabled");q&&(e=this.get("centerOver")&&!this.get("inVR"),m=this.get("over")||e,e=!this.get("rollOverDisplay")&&!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")||
e&&!1!==this.get("centerOverDisplay")&&this.get("rollOverDisplay"));this.get("rollOverItems").forEach(function(v){v.set("visible",m);v.set("beamEnabled",q&&m&&p)});var n=0==this.get("rollOverItems").length;this.get("items").forEach(function(v){v.set("visible",n||!m);v.set("beamEnabled",q&&(n||!m)&&p)});this.get("rollOverMaps").forEach(function(v){v.set("visible",!1);v.set("beamEnabled",q&&m&&p)});var r=0==this.get("rollOverMaps").length;this.get("maps").forEach(function(v){v.set("visible",!1);v.set("beamEnabled",
q&&(r||!m)&&p)});this.set("visible",e)}if(this.M("visible")){e=this.get("alpha");var t=this.get("visible")?1:0,u=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(e-t);this.Cl=new g("linear",[new f("alpha",e,t)],Math.max(u,1));this.Da();this.get("visible")?this.v.trigger(l.hd):this.v.trigger(l.od)}};a.prototype.zl=function(e){this.Cl&&(this.Cl.Fe()?this.Cl=null:(this.Cl.wb(e.se),this.set("alpha",this.Cl.$a("alpha"))),this.Da())};a.prototype.EB=function(){this.uj();
this.trigger(l.aa)};a.prototype.EJa=function(){this.uj();this.trigger(l.Rc)};a.prototype.IB=function(){this.uj()};a.prototype.uj=function(){var e=0;this.Pd.ns(function(m){var q=0,p;this.mf.Il(m)?q=100:(p=this.Pd.Il(m))&&(q=p.Og);e+=q}.bind(this));this.trigger(new c(l.rc,e/this.Pd.Sc.length))};a.prototype.xJa=function(e){e.data.center?this.J9([e.source],[]):this.UG([e.source],[])};a.prototype.wJa=function(e){e.data.center?this.J9([],[e.source]):this.UG([],[e.source])};a.prototype.UG=function(e,m){this.Vqa(this.Uh,
e,m);this.set("over",0<this.Uh.length)};a.prototype.J9=function(e,m){this.Vqa(this.P0,e,m);this.set("centerOver",0<this.P0.length)};a.prototype.Vqa=function(e,m,q){m||=[];q||=[];q.forEach(function(p){p=e.indexOf(p);0<=p&&e.splice(p,1)});m.forEach(function(p){0>e.indexOf(p)&&e.push(p)})};return a});
define("cy",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Nd,!0)},Qn:function(){d.ka(this.v,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Nd)},Nd:function(){this.set("horizontalAlign",
this.v.get("horizontalAlign"));this.set("verticalAlign",this.v.get("verticalAlign"));this.set("scaleMode",this.v.get("scaleMode"));this.set("distance",this.v.get("distance"));this.set("scale",this.v.get("scale"));this.set("playbackPositions",this.v.get("playbackPositions"))},Bf:function(){this.M("playbackPositions","currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("yaw",this.jb.get("yaw")),this.set("pitch",this.jb.get("pitch")),this.set("roll",
this.jb.get("roll")),this.set("rotationX",this.jb.get("rotationX")),this.set("rotationY",this.jb.get("rotationY")),this.set("hfov",this.jb.get("hfov")),this.set("vfov",this.jb.get("vfov")),this.set("alpha",this.jb.Dk()))}}});
define("eK","require kV kh og eg c nw gH od cy mP".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("eg"),b=a("c"),g=a("nw"),f=a("gH"),c=a("od"),e=a("cy"),m=a("mP"),q=0;a=d.extend(b,g,f,c,e,function(p){b.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+q++);this.set("side",THREE.DoubleSide);this.v=p;this.Zj.push(this.v);this.Kf=this.Kf.bind(this)});a.prototype.Kb=function(){b.prototype.Kb.call(this);h.ma(this.v,["image.levels"],this.Kf,!0)};a.prototype.Pb=function(){h.ka(this.v,
["image.levels"],this.Kf);b.prototype.Pb.call(this)};a.prototype.Kf=function(){this.set("image",this.v.get("image"));this.set("level",m.zSa(this.v,this.get("panoramaPixelsPerDegree")))};a.prototype.ca=function(p){this.BC();b.prototype.ca.call(this,p);this.M("inView")&&this.v.trigger(this.get("inView")?l.hd:l.od)};a.prototype.BC=function(){if(this.M("meshGroup","panoramaId","id")){var p=this.get("meshGroup");p&&p.children.forEach(function(n){k.setAttribute(n,k.uz,this.get("panoramaId"));k.setAttribute(n,
k.AZ,this.get("id"))}.bind(this))}};return a});
define("bt",["require","eR","a"],function(a){function d(k,b,g){this.Ff=k||new h(0,0,0);this.Si=b||new h(1,0,0);this.gz=g||new h(0,1,0)}var h=a("eR"),l=a("a");d.prototype.clone=function(){return new d(this.Ff.clone(),this.Si.clone(),this.gz.clone())};d.prototype.apply=function(k){k.qH(this.Ff);k.qH(this.Si);k.qH(this.gz)};d.prototype.intersection=function(k,b){var g=l.Vy(k.Ff,k.Si),f=l.Vy(this.Ff,k.Ff),c=l.Vy(this.Ff,this.Si);c.pX(l.Vy(this.Ff,this.gz));g=g.SC(c);if(!(0==g||b&&0>g))return b=-c.SC(f)/
g,new h(k.Ff.x+(k.Si.x-k.Ff.x)*b,k.Ff.y+(k.Si.y-k.Ff.y)*b,k.Ff.z+(k.Si.z-k.Ff.z)*b)};d.prototype.KY=function(k,b){var g=l.Vy(this.Ff,this.Si),f=l.Vy(this.Ff,this.gz);k=l.Vy(this.Ff,k);var c=g.Laa(),e=f.Laa();return b?new h(k.SC(g)/(c*c),k.SC(f)/(e*e),0):new h(k.SC(g)/c,k.SC(f)/e,0)};return d});
define("dw","require ky hM db eR bt fb lK".split(" "),function(a){var d=a("ky"),h=a("hM"),l=a("db"),k=a("eR"),b=a("bt"),g=a("fb"),f=a("lK"),c=Math.PI/180,e=180/Math.PI,m=new g,q=new h,p=new b,n=new k;return{get:function(r,t,u,v,w,x,y,A){r*=c;t*=c;t=new k(Math.sin(-r)*Math.cos(t),Math.sin(t),Math.cos(-r)*Math.cos(t));m.identity();m.rotateY(u*c);m.rotateZ(w*c);m.rotateX(v*c);t.apply(m);return 0<t.z?(q.EP(y),q.vxa(A),q.zD(x*c),q.project(t),t):null},KXa:function(r,t,u){m.identity();m.rotateX(-u.Pc()*
c);m.rotateZ(-u.Df()*c);m.rotateY(-u.Yc()*c);n.set(r,t,0);r=u.unproject(n).eua();r.apply(m);return{Ra:r.Yc()*e,pitch:r.Pc()*e}},kZa:function(r,t,u,v,w,x,y,A,B,z,C,E,F,G){G||=f.hw;F||=d.Fl(E,z,C);E||=d.Bq(F,z,C);var J=.5*z/Math.tan(.5*E*c),R=J*Math.tan(.5*E*c)*2,U=J*Math.tan(.5*F*c)*2;p.Ff.set(.5*+R,.5*+U,0);p.Si.set(.5*-R,.5*+U,0);p.gz.set(.5*+R,.5*-U,0);m.identity();m.rotateZ(-B*c);m.rotateX(-y*c);m.rotateY(A*c);m.translate(0,0,J);m.rotateZ(-x*c);m.rotateX(-w*c);m.rotateY(-v*c);m.rotateY(u.Yc()*
c);m.rotateZ(u.Df()*c);m.rotateX(u.Pc()*c);p.apply(m);n.set(r,t,0);w=p.intersection(u.unproject(n));v={x:void 0,y:void 0,xScaled:void 0,yScaled:void 0};w&&0<w.z&&(w=p.KY(w),v.xScaled=v.x=w.x/R,v.yScaled=v.y=w.y/U);if(G!=f.hw){switch(G){case f.jh:var Q=Math.min(d.Bq(F,z,C),E);var N=Math.min(d.Fl(E,z,C),F);break;case f.Gq:Q=Math.max(d.Bq(F,z,C),E);N=Math.max(d.Fl(E,z,C),F);break;case f.Go:Q=E;N=d.Fl(E,z,C);break;case f.Hj:Q=d.Bq(F,z,C),N=F}if(Q!=E||N!=F)R=J*Math.tan(.5*Q*c)*2,U=J*Math.tan(.5*N*c)*2,
p.Ff.set(.5*+R,.5*+U,0),p.Si.set(.5*-R,.5*+U,0),p.gz.set(.5*+R,.5*-U,0),p.apply(m),n.set(r,t,0),(w=p.intersection(u.unproject(n)))&&0<w.z&&(w=p.KY(w),v.xScaled=w.x/R,v.yScaled=w.y/U)}return v},PYa:function(r,t,u,v,w,x,y){y=.5*w/Math.tan(.5*y*c);p.Ff.set(.5*+w,.5*+x,y);p.Si.set(.5*-w,.5*+x,y);p.gz.set(.5*+w,.5*-x,y);m.identity();m.rotateZ(-v*c);m.rotateX(-u*c);m.rotateY(-t*c);m.rotateY(r.Yc()*c);m.rotateZ(r.Df()*c);m.rotateX(r.Pc()*c);p.apply(m);r=new l(new k(0,0,0),new k(0,0,1));return(r=p.intersection(r))&&
0<r.z?(r=p.KY(r),{x:r.x/w,y:r.y/x}):null}}});
define("dO",["require","hE","gG","eg","jY"],function(a){var d=a("hE"),h=a("gG"),l=a("eg"),k=a("jY"),b=Math.PI/180;return{It:function(){this.set("distance",void 0);this.set("width",100);this.set("height",100);this.set("offsetX",void 0);this.set("offsetY",void 0);this.set("centerX",0);this.set("centerY",0);this.set("roll",0);this.Fg=this.Tw();this.ZA=h.yH();this.jm=new THREE.Matrix4;this.BE=new THREE.Matrix4;this.CG=new THREE.Matrix4;this.kla=new THREE.Matrix4;this.Mi=new THREE.Matrix4;this.tl=new THREE.Matrix4;
this.$h=new THREE.Matrix4},jv:function(g){this.aq(g)},gF:function(){var g=this.get("meshGroup");return g?l.Ck(g)[0]:null},vn:function(){return[0].map(function(g){var f=this.BJ();g=l.create(this.Fg[g],f);k.Mv(g,k.Ho);k.Nv(g,k.Iq);k.BD(g,d.JI);k.AP(g,1);return g}.bind(this))},Tw:function(){return[h.yH()]},aq:function(g){var f=!1,c=!1;this.set("rendererYaw",g.Ra);this.set("rendererPitch",g.pitch);this.set("rendererRoll",g.Re);this.set("rendererCameraFOV",g.Oh);this.set("rendererWidth",g.width);this.set("rendererHeight",
g.height);this.set("inVR",g.Ab);if(this.M("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var e=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",e?h.aD(this.get("distance")):h.tv())}this.M("z")&&(this.jm.makeTranslation(0,0,-this.get("z")),c=!0);g.Oh&&this.M("z","rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(g.Oh*b*.5)*this.get("z")*2);g.camera&&this.M("rendererYaw",
"rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR","centerX","centerY")&&(this.BE.copy(g.camera.matrixWorld),f=this.get("rendererHeightZ"),e=f*g.camera.aspect,e=(this.get("centerX")-.5*g.width)*e/g.width*.5,f=(.5*g.height-this.get("centerY"))*f/g.height*.5,this.CG.makeTranslation(e,f,0),f=!0);this.M("roll")&&(this.Mi.makeRotationZ(this.get("roll")*b),f=!0);g.Oh&&(c||this.M("rendererHeight","inVR","rendererHeightZ","width","height","flipHorizontally"))&&
(c=g.Ab?512/g.height:1,g=(this.get("flipHorizontally")?-1:1)*this.get("width")*c,c*=this.get("height"),this.tl.makeScale(g,c,1),f=!0);this.M("width","height","offsetX","offsetY")&&(g=.5-this.get("offsetX")/this.get("width"),c=this.get("offsetY")/this.get("height")-.5,this.kla.makeTranslation(g,c,0),f=!0);f&&(this.$h.copy(this.BE),this.$h.multiply(this.jm),this.$h.multiply(this.CG),this.$h.multiply(this.Mi),this.$h.multiply(this.tl),this.$h.multiply(this.kla),l.lq(this.get("meshGroup"),this.$h))}}});
define("jv",["require","kV","c","dO"],function(a){var d=a("kV"),h=a("c");a=a("dO");return d.extend(h,a,function(){h.call(this);this.set("tag","Sprite")})});
define("gu",["require","ne"],function(a){function d(l,k,b,g,f,c){this.Zn=k;this.O=document.createElement("canvas");this.O.width=this.Zn;this.O.height=this.Zn;switch(l){case d.CI:this.kFa(b,g,f,c);break;case d.hQ:this.lFa(b,g,f,c)}}var h=a("ne");d.prototype.nd=function(){return this.Zn};d.prototype.$d=function(){return this.Zn};d.prototype.gg=function(){return this.O};d.prototype.kFa=function(l,k,b,g){var f=.5*this.Zn,c=.5*this.Zn,e=.5*this.Zn,m=this.O.getContext("2d");k=h.eP(k);for(var q=m.createRadialGradient(f,
c,0,f,c,e),p=0;p<b.length;p++)q.addColorStop(g[p],"rgba("+k[0]+","+k[1]+","+k[2]+","+b[p]+")");m.fillStyle=q;m.globalAlpha=l;m.beginPath();m.arc(f,c,e,0,2*Math.PI,!0);m.closePath();m.fill()};d.prototype.lFa=function(l,k,b,g){var f=.5*this.Zn,c=.5*this.Zn,e=.5*this.Zn,m=this.O.getContext("2d");m.clearRect(0,0,this.Zn,this.Zn);var q=h.eP(k),p=m.createRadialGradient(f,c,0,f,c,e);for(k=0;k<b.length;k++)p.addColorStop(g[k],"rgba("+q[0]+","+q[1]+","+q[2]+","+b[k]+")");m.fillStyle=p;m.globalAlpha=l;m.beginPath();
for(k=0;6>k;k++)b=45*Math.PI/180+2*Math.PI*k/6,l=f+Math.cos(b)*e,b=c+Math.sin(b)*e,0==k?m.moveTo(l,b):m.lineTo(l,b);m.closePath();m.fill()};d.CI="circle";d.hQ="hexagon";return d});
define("mQ","require kV kh og dw iG dc jv gu eS".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("dw"),b=a("iG"),g=a("dc"),f=a("jv"),c=a("gu"),e=a("eS");a=d.extend(b,function(q){b.call(this);this.v=q;this.Zj.push(this.v);this.Kf=this.Kf.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.S0=this.TDa();this.qf=this.NEa();this.Pg(this.S0.concat([this.qf]))});a.prototype.Kb=function(){b.prototype.Kb.call(this);this.trigger(l.Rc);this.trigger(l.aa);h.ma(this.v,["yaw",
"pitch","bleaching","bleachingDistance"],this.Kf,!0)};a.prototype.Pb=function(){h.ka(this.v,["yaw","pitch","bleaching","bleachingDistance"],this.Kf);b.prototype.Pb.call(this)};a.prototype.Kf=function(){this.set("yaw",this.v.get("yaw"));this.set("pitch",this.v.get("pitch"));this.set("bleaching",this.v.get("bleaching"));this.set("bleachingDistance",this.v.get("bleachingDistance"))};a.prototype.ca=function(q){b.prototype.ca.call(this,q);this.set("rendererYaw",q.Ra);this.set("rendererPitch",q.pitch);
this.set("rendererRoll",q.Re);this.set("rendererCameraFOV",q.Oh);this.set("rendererWidth",q.width);this.set("rendererHeight",q.height);this.set("inVR",q.Ab);if(this.M("composedTranslationX","composedTranslationY","composedTranslationZ")){var p=this.get("composedTranslationX"),n=this.get("composedTranslationY"),r=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-10*Math.sqrt(p*p+n*n+r*r)))}if(this.M("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth",
"rendererHeight","inVR","yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var t=q.Ra+this.get("composedDeltaYaw"),u=q.pitch+this.get("composedDeltaPitch"),v=q.Re+this.get("composedDeltaRoll");p=this.get("translationAlpha");r=n=0;if(!q.Ab&&(t=k.get(this.get("yaw"),this.get("pitch"),t,u,v,q.Oh,q.width,q.height))){var w=.5*q.width;var x=.5*q.height;var y=t.x;var A=t.y;w=2*(w-y);x=2*(x-A);r=Math.sqrt(w*w+x*x);t=Math.min(q.width,q.height);n=Math.max(0,Math.min(.7,
1-r/Math.sqrt(q.width*q.width,q.height*q.height)))*p;q=this.get("bleaching");r=1-Math.max(0,Math.min(1,r/(t*this.get("bleachingDistance"))));r=q*r*p}for(q=0;q<this.S0.length;q++)p=this.S0[q],p.set("alpha",n),0<n&&(p.set("centerX",y+w*m[q].position),p.set("centerY",A+x*m[q].position));this.qf.set("alpha",r)}};a.prototype.TDa=function(){return m.map(function(q){var p=(new c(q.form,q.GD,q.opacity,q.color,q.eD,q.fD)).gg(),n=new e;n.Ol(p);p=new f;p.set("textureSource",n);p.set("width",q.size);p.set("height",
q.size);p.set("offsetX",.5*q.size);p.set("offsetY",.5*q.size);p.set("alpha",0);return p})};a.prototype.NEa=function(){return new g("#ffffff")};var m=[{form:c.hQ,position:.1,size:52,GD:128,opacity:.8,color:"#FCFCFC",eD:[1,.5],fD:[0,.866]},{form:c.hQ,position:.2,size:52,GD:128,opacity:.6,color:"#C8FCC8",eD:[1,.5],fD:[0,.866]},{form:c.CI,position:.36,size:112,GD:128,opacity:.5,color:"#C8C8FC",eD:[1,.9,.6,0],fD:[0,.2,.4,1]},{form:c.CI,position:.47,size:32,GD:128,opacity:.3,color:"#96C8AF",eD:[1,1,0],
fD:[0,.9,1]},{form:c.CI,position:.65,size:52,GD:128,opacity:.7,color:"#FCFCFC",eD:[.7,.7,.2,0],fD:[0,.1,.4,1]},{form:c.hQ,position:.88,size:128,GD:128,opacity:.4,color:"#AF96C8",eD:[1,.5],fD:[0,.866]},{form:c.CI,position:1,size:33,GD:128,opacity:.8,color:"#C89696",eD:[.8,.8,.6,0],fD:[0,.2,.4,1]}];return a});
define("cZ",["require","bO","hd"],function(a){function d(b,g){this.vb=b;this.yna=5;this.Yd=g.map(function(f){return new h(b,f)});this.yF=this.zF=this.ph=this.jf=0;this.W9();this.O=document.createElement("canvas");this.O.width=this.jf;this.O.height=this.ph;this.ya=this.O.getContext("2d");this.va=!0;this.$e=this.sna=-1}function h(b,g){this.nD=b;this.item=g;this.label=g.get("label");this.fontFamily=this.nD.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.nD.get("backgroundColor",
"#000000");this.Twa=this.nD.get("rollOverBackgroundColor",this.backgroundColor);this.hVa=this.nD.get("selectedBackgroundColor",this.Twa);this.uta=this.nD.get("fontColor","#000000");this.Uwa=this.nD.get("rollOverFontColor",g.uta);this.iVa=this.nD.get("selectedFontColor",g.Uwa);this.rya=this.qya=this.sya=this.tya=this.height=this.width=this.left=this.top=0;this.status=!1;this.gba=!0}var l=a("bO"),k=a("hd");h.prototype.JXa=function(){var b=new l.c0;b.fontFamily=this.fontFamily;b.fontSize=this.fontSize;
b=l(this.label,b);this.tya=b.width;this.sya=b.height};h.prototype.EWa=function(b){this.status!=b&&(this.status=b,this.gba=!0)};h.prototype.QRa=function(b){if(this.gba){this.gba=!1;switch(this.status){case "normal":var g=this.backgroundColor;var f=this.uta;break;case "over":g=this.Twa;f=this.Uwa;break;case "selected":g=this.hVa,f=this.iVa}b.clearRect(this.left,this.top,this.width,this.height);b.fillStyle=g;b.fillRect(this.left,this.top,this.width,this.height);b.fillStyle=f;b.font=this.fontSize+" '"+
this.fontFamily+"'";b.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+k.qv(this.fontFamily);b.textBaseline="middle";b.textAlign="center";b.fillText(this.label,Math.round(this.qya),Math.round(this.rya));return!0}return!1};d.prototype.nd=function(){return this.jf};d.prototype.$d=function(){return this.ph};d.prototype.gg=function(){return this.O};d.prototype.W9=function(){var b=0,g=0;this.Yd.forEach(function(m){m.JXa();b=Math.max(m.tya,b);g=Math.max(m.sya,g)});this.zF=b+2*this.yna;this.yF=g+2*
this.yna;var f=0,c=0,e=0;this.WK=20;20<this.Yd.length&&(this.WK=Math.ceil(this.Yd.length/Math.ceil(this.Yd.length/20)));this.Yd.forEach(function(m){e>=this.WK&&(e=0,c+=this.zF,f=0);m.left=c;m.top=f;m.qya=c+.5*this.zF;m.rya=f+.5*this.yF;m.width=this.zF;m.height=this.yF;e+=1;f+=this.yF}.bind(this));this.jf=Math.ceil(this.Yd.length/this.WK)*this.zF;this.ph=Math.min(this.WK,this.Yd.length)*this.yF};d.prototype.update=function(){for(var b=!1,g=0;g<this.Yd.length;g++)this.Yd[g].EWa(this.sna==g?"over":this.$e==
g?"selected":"normal"),b=this.Yd[g].QRa(this.ya)||b;return b};d.prototype.Jta=function(b,g){var f=-1;0<=b&&b<this.jf&&0<=g&&g<this.ph&&(f=Math.floor(b/this.zF)*this.WK+Math.floor(g/this.yF),f>=this.Yd.length&&(f=-1));return f};d.prototype.xca=function(b){this.sna=b};d.prototype.Fca=function(b){this.$e=b};d.prototype.clear=function(){this.Yd=this.O=this.ya=this.vb=null};return d});
define("bx","require kV kh og jc cZ eS nJ bD bu".split(" "),function(a){function d(n,r,t){n=(r-n)*(1-t);1E-5>Math.abs(n)&&(n=0);return r-n}var h=a("kV"),l=a("kh"),k=a("og"),b=a("jc"),g=a("cZ"),f=a("eS"),c=a("nJ"),e=a("bD"),m=a("bu");a=h.extend(b,function(n){b.call(this);this.vb=n;this.sp=this.sp.bind(this);this.Nn=this.O=null;this.bv=this.Nm=this.t7=this.Lu=void 0;this.Nga=20;this.Vf=null;this.sb=this.vb.get("opacity",.5);this.VL=this.vb.get("rollOverOpacity",this.sb);this.fJa=1;this.hJa=.66;this.set("tag",
"MenuButton");this.set("visible",!1);this.set("over",!1);this.set("centerDistance",void 0)});a.prototype.Kb=function(){b.prototype.Kb.call(this);l.ma(this.vb,["label"],this.sp,!0)};a.prototype.Pb=function(){l.ka(this.vb,["label"],this.sp);b.prototype.Pb.call(this)};a.prototype.sp=function(){this.O=null};a.prototype.ca=function(n){this.$p(n);this.cg(n);this.AC(n);this.Bf(n);this.Sd(n);b.prototype.ca.call(this,n)};a.prototype.$p=function(n){n.Ab&&!this.Nn&&m.getType()==m.cA.Jk&&this.Pg([this.Nn=new b])};
a.prototype.cg=function(){this.get("visible")&&(this.O||(this.get("textureSource")||this.set("textureSource",new f),this.O=new g(this.vb,[this.vb]),this.get("textureSource").Ol(this.O.gg()),this.set("contentWidth",this.O.nd()),this.set("contentHeight",this.O.$d()),this.set("hfov",2*Math.atan2(.5*this.O.nd(),300)*p),this.set("distance",this.vb.get("distance"))),this.O.update()&&(this.get("textureSource").update(),this.Da()),this.M("over")&&this.O.xca(this.get("over")?0:-1))};a.prototype.AC=function(n){this.M("visible")&&
(this.Vf=new c("linear",[new e("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,void 0)],300));this.Vf&&(this.Vf.Fe()?this.Vf=null:this.Vf.wb(n.se))};a.prototype.Bf=function(n){if(this.get("visible")||this.Vf){this.Nm=n.Ra;this.bv=Math.min(90,Math.max(-90,this.Nga+this.Nga-n.pitch));if(this.M("visible")&&this.get("visible"))this.set("yaw",n.Ra),this.set("pitch",n.pitch);else{for(;this.Nm+180<this.Lu;)this.Lu-=360;for(;this.Nm-180>this.Lu;)this.Lu+=360;var r=(this.Nm-this.Lu)/n.se,t=(this.bv-
this.t7)/n.se,u=Math.atan2(t,r);t=Math.sqrt(t*t+r*r);t=Math.min(t,10*q);r=Math.cos(u)*t;u=Math.sin(u)*t;this.set("yaw",d(this.get("yaw"),this.Nm+r,.02));this.set("pitch",d(this.get("pitch"),this.bv+u,.02))}this.Lu=this.Nm;this.t7=this.bv;u=this.get("yaw")-n.Ra;n=this.get("pitch")-n.pitch;this.set("centerDistance",Math.sqrt(u*u+n*n))}};a.prototype.Sd=function(){if(!this.get("visible")&&!this.Vf)this.set("alpha",0);else if(this.M("over","centerDistance")||this.Vf){var n=this.get("over")?this.VL:this.sb,
r=this.hJa,t=this.get("centerDistance")/this.get("hfov");1>t&&(r+=(1-t)*(this.fJa-r),n+=(1-t)*(this.VL-n));this.Vf&&(n*=this.Vf.$a("displayCoef"),r*=this.Vf.$a("displayCoef"));this.set("alpha",n);this.set("scale",r)}};a.prototype.$m=function(n){if(n.Ue==k.Wl){var r=!1;this.get("visible")&&!n.Ak()&&(r=0<this.Yt(n.Kp).length);r&&(n.Ny(this.vb),n.Oy(this.vb),n.zk(this.get("distance")));this.get("over")!=r&&(this.get("over")&&this.vb.trigger(k.ac),this.set("over",r),this.get("over")&&this.vb.trigger(k.$c))}else n.Ue==
k.Ij&&this.get("visible")&&!n.Ak()&&0<this.Yt(n.Kp).length&&(n.xq(this.vb),this.vb.trigger(k.oa),this.trigger(k.oa))};var q=Math.PI/180,p=180/Math.PI;return a});
define("jh","require kV kh og jc cZ eS nJ bD bu".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("jc"),b=a("cZ"),g=a("eS"),f=a("nJ"),c=a("bD"),e=a("bu");a=d.extend(k,function(q,p){k.call(this);this.vb=q;this.Lx=p;this.sp=this.sp.bind(this);this.O=null;this.t7=this.Lu=void 0;this.Vf=null;this.sb=this.vb.get("opacity",.5);this.VL=this.vb.get("rollOverOpacity",this.sb);this.set("textureSource",new g);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.Mha=
!1});a.prototype.Kb=function(){k.prototype.Kb.call(this);h.ma(this.vb,["label"],this.sp,!0);this.Lx.forEach(function(q){h.ma(q,["label"],this.sp,!0)}.bind(this))};a.prototype.Pb=function(){h.ka(this.vb,["label"],this.sp);this.Lx.forEach(function(q){h.ka(q,["label"],this.sp)}.bind(this));k.prototype.Pb.call(this)};a.prototype.sp=function(){this.O=null};a.prototype.ca=function(q){this.$p(q);this.cg(q);this.AC(q);this.Bf(q);k.prototype.ca.call(this,q)};a.prototype.bEa=function(){this.O||(this.O=new b(this.vb,
this.Lx),this.get("textureSource").Ol(this.O.gg()),this.set("contentWidth",this.O.nd()),this.set("contentHeight",this.O.$d()),this.set("hfov",2*Math.atan2(.5*this.O.nd(),300)*m),this.set("distance",this.vb.get("distance")))};a.prototype.cg=function(){this.O||this.bEa();this.M("selectedIndex")&&this.O.xca(this.get("selectedIndex"));this.M("overIndex")&&this.O.xca(this.get("overIndex"));this.O.update()&&(this.get("textureSource").update(),this.Da())};a.prototype.$p=function(q){q.Ab&&!this.Nn&&e.getType()==
e.cA.Jk&&this.Pg([this.Nn=new k])};a.prototype.AC=function(q){this.Vf||this.Mha||(this.Vf=new f("linear",[new c("alpha",0,1,void 0),new c("scale",0,1,void 0),new c("yaw",q.Ra,this.get("yaw"),void 0),new c("pitch",q.pitch,this.get("pitch"),void 0)],300));this.Vf&&(this.Vf.Fe()?(this.Mha=!0,this.Vf=null):this.Vf.wb(q.se))};a.prototype.Bf=function(){if(this.Vf){var q=0>this.get("overIndex")?this.sb:this.VL;this.set("alpha",q*this.Vf.$a("alpha"));this.set("scale",this.Vf.$a("scale"));this.set("yaw",this.Vf.$a("yaw"));
this.set("pitch",this.Vf.$a("pitch"))}else this.M("overIndex")&&(q=0>this.get("overIndex")?this.sb:this.VL,this.set("alpha",q))};a.prototype.$m=function(q){if(q.Ue==l.Wl){var p=-1;if(!q.Ak()){var n=this.Yt(q.Kp).filter(function(r){return r.source==this.O.gg()}.bind(this));0<n.length&&(p=this.O.Jta(n[0].x,n[0].y))}0<=p&&(q.Ny(this.Lx[p]),q.Oy(this.Lx[p]),q.zk(this.get("distance")));0<=this.get("overIndex")!=0<=p&&(0<p?this.trigger(l.$c):this.trigger(l.ac));this.get("overIndex")!=p&&(0<=this.get("overIndex")&&
this.Lx[this.get("overIndex")].trigger(l.ac),this.set("overIndex",p),0<=this.get("overIndex")&&this.Lx[this.get("overIndex")].trigger(l.$c))}else q.Ue!=l.Ij||q.Ak()||(n=this.Yt(q.Kp).filter(function(r){return r.source==this.O.gg()}.bind(this)),0<n.length&&(p=this.O.Jta(n[0].x,n[0].y),0<=p&&(n=this.Lx[p],this.set("selectedIndex",p),q.xq(n),q.zk(this.get("distance")),n.trigger(l.oa),this.trigger(l.oa,{item:n}))))};var m=180/Math.PI;return a});
define("ic",["require","kV","og","iG","jh"],function(a){var d=a("kV"),h=a("og"),l=a("iG"),k=a("jh");a=d.extend(l,function(f){l.call(this);this.vb=f;this.gy=[];this.bG=null;this.set("tag","MenuPanels");this.set("visible",!1)});a.prototype.ca=function(f){this.M("visible")&&this.get("visible")&&(this.set("yaw",f.Ra),this.set("pitch",f.pitch),this.Rfa(this.vb));l.prototype.ca.call(this,f)};a.prototype.Rfa=function(f){f=new k(this.vb,f.get("children",[]));var c=this.get("yaw");this.Jb().forEach(function(e){c+=
e.get("hfov")+g});f.set("yaw",c);f.set("pitch",this.get("pitch"));this.EBa(f);this.appendChild(f)};a.prototype.roa=function(f){this.Jb().slice(f).forEach(function(c){this.HLa(c);c.remove()}.bind(this));this.gy=this.gy.filter(function(c){return 0<=this.Jb().indexOf(c)}.bind(this))};a.prototype.EBa=function(f){f.bind(h.$c,this.Bna,this,!0);f.bind(h.ac,this.Ana,this,!0);f.bind(h.oa,this.zna,this,!0)};a.prototype.HLa=function(f){f.unbind(h.$c,this.Bna,this,!0);f.unbind(h.ac,this.Ana,this,!0);f.unbind(h.oa,
this.zna,this,!0)};a.prototype.Bna=function(f){0>this.gy.indexOf(f.source)&&(this.gy.push(f.source),1==this.gy.length&&this.$ga())};a.prototype.Ana=function(f){f=this.gy.indexOf(f.source);0<=f&&(this.gy.splice(f,1),0==this.gy.length&&this.$Ma())};a.prototype.zna=function(f){var c=f.source;f=f.data.item;f.get("children",[]).length?(this.roa(this.Jb().indexOf(c)+1),this.Rfa(f)):this.dha()};a.prototype.dha=function(){this.set("visible",!1);this.roa(0);this.$ga();this.trigger(h.RD)};a.prototype.$ga=function(){this.bG&&
(clearTimeout(this.bG),this.bG=null)};a.prototype.$Ma=function(){this.bG||(this.bG=setTimeout(function(){this.bG=null;this.dha()}.bind(this),b))};var b=3E3,g=1;return a});
define("fO","require kV og iG bx ic".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("iG"),k=a("bx"),b=a("ic");a=d.extend(l,function(g){l.call(this);this.v=g;this.Zj.push(this.v);this.set("tag","Menu");this.set("visible",!1);this.Wd=new k(this.v);this.Wd.bind(h.oa,this.JCa,this,!1);this.Ch=new b(this.v);this.Ch.bind(h.RD,this.KKa,this,!1);this.Pg([this.Wd,this.Ch])});a.prototype.Kb=function(){l.prototype.Kb.call(this);this.trigger(h.Rc);this.trigger(h.aa)};a.prototype.ca=function(g){this.set("visible",
g.Ab);this.M("visible")&&(this.Wd.set("visible",this.get("visible")),this.Ch.set("visible",!1));l.prototype.ca.call(this,g)};a.prototype.JCa=function(){this.Wd.set("visible",!1);this.Ch.set("visible",!0)};a.prototype.KKa=function(){this.Wd.set("visible",this.get("visible"))};return a});
define("kL","require kV og jc eS nB kW".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("jc"),k=a("eS"),b=a("nB"),g=a("kW");a=d.extend(l,function(){l.call(this);this.set("tag","CustomPlane");this.set("source",null);this.set("sourceUpdated",!1);this.Pd=this.Hg=null});a.prototype.Kb=function(){this.Hg=(new b(h.aa)).Rl(this.rp.bind(this));this.Pd=(new b(h.aa)).ro(this.Du.bind(this));l.prototype.Kb.call(this)};a.prototype.Pb=function(){this.Hg.dispose();this.Pd.dispose();l.prototype.Pb.call(this)};
a.prototype.ca=function(f){if(this.M("source","sourceUpdated","useMipmapping","anisotropy")){var c=this.get("textureSource");c||this.set("textureSource",c=new k);this.M("source")&&c.Ol(this.get("source"));this.M("sourceUpdated")&&(c.update(),this.set("sourceUpdated",!1));this.M("useMipmapping")&&c.tZ(this.get("useMipmapping"),this.get("anisotropy"))}l.prototype.ca.call(this,f);this.M("meshGroup")&&(f=(f=this.get("meshGroup"))&&f.children||[],f.length&&(this.Hg.gf(f),this.Pd.gf(f)))};a.prototype.rp=
function(){this.trigger(h.Rc);this.trigger(h.aa)};a.prototype.Du=function(f,c){var e=0;c.ns(function(m){(m=c.Il(m))&&(e+=m.Og)});this.trigger(new g(h.rc,e/c.Sc.length))};return a});
define("gO","require kV kh og gG iG kL lt db bt".split(" "),function(a){function d(n,r,t){this.FY=n;this.FY.bind(k.G("distanceToFloor"),this.ca,this,!1);this.vj=r;this.vj.bind(k.G("yaw"),this.ca,this,!1);this.vj.bind(k.G("distance"),this.ca,this,!1);this.vj.bind(k.G("enabled"),this.ca,this,!1);this.vj.bind(k.G("enabledInSurfaceSelection"),this.ca,this,!1);this.Wa=null;this.Nl=new f;this.Nl.set("hfov",20);this.Nl.set("vfov",20);this.Nl.set("pitch",-90);this.Nl.set("useMipmapping",!0);this.Nl.set("anisotropy",
16);this.Nl.set("source",t.gg());this.Nl.set("contentWidth",t.nd());this.Nl.set("contentHeight",t.$d());this.ca()}var h=a("kV"),l=a("kh"),k=a("og"),b=a("gG"),g=a("iG"),f=a("kL"),c=a("lt"),e=a("db"),m=a("bt");a=h.extend(g,function(n){g.call(this);this.NT=this.NT.bind(this);this.yr=this.yr.bind(this);this.KT=this.KT.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",!1);this.set("enabled",!1);this.ha=n;this.FQ=[];this.$J=new m;this.rj=new e;this.Qd=new f;this.Qd.set("useMipmapping",
!0);this.Qd.set("anisotropy",16);this.Qd.set("hfov",20);this.Qd.set("vfov",20);this.Qd.set("pitch",-90);this.set("reticleCoef",1);this.Pg([this.Qd])});a.prototype.Kb=function(){this.zEa();g.prototype.Kb.call(this);l.ma(this.ha,["distanceToFloor"],this.NT,!0);l.ma(this.ha,["adjacentPanoramas"],this.yr,!0);l.ma(this.Aa.wc,["adjacentPanoramaPositionsEnabled"],this.KT,!0);this.trigger(k.Rc);this.trigger(k.aa)};a.prototype.Pb=function(){g.prototype.Pb.call(this);l.ka(this.ha,["distanceToFloor"],this.NT);
l.ka(this.ha,["adjacentPanoramas"],this.yr);l.ka(this.Aa.wc,["adjacentPanoramaPositionsEnabled"],this.KT);this.Zoa([])};a.prototype.NT=function(){var n=this.ha.get("distanceToFloor");this.Qd.set("distance",n);n=b.aD(n);var r=b.Paa(n,90),t=b.Qaa(n,90);this.$J.Ff.set(.5*-r,-n,.5*-t);this.$J.Si.set(.5*r,-n,.5*-t);this.$J.gz.set(.5*-r,-n,.5*t);this.Aoa=n/b.tv()};a.prototype.yr=function(){this.Zoa(this.ha.get("adjacentPanoramas",[]))};a.prototype.KT=function(){this.yr()};a.prototype.Zoa=function(n){this.FQ.forEach(function(r){r.clear()});
this.FQ=n.map(function(r){return new d(this.ha,r,this.k7)}.bind(this));n=[];this.Aa.wc.get("adjacentPanoramaPositionsEnabled")&&(n=n.concat(this.FQ.map(function(r){return r.Nl})));n=n.concat([this.Qd]);this.Pg(n)};a.prototype.ca=function(n){g.prototype.ca.call(this,n);this.set("enabled",n.JP);this.r$();this.Ky(n)};a.prototype.r$=function(){this.M("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.Qd.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")?0:1),this.Zqa())};a.prototype.zEa=function(){this.wG=new c(this.Aa.N);this.wG.setPosition(this.get("reticleCoef"));this.Qd.set("source",this.wG.gg());this.Qd.set("contentWidth",this.wG.nd());this.Qd.set("contentHeight",
this.wG.$d());this.k7=new c(this.Aa.N);this.k7.setPosition(0);this.k7.update(1)};a.prototype.Ky=function(n){this.M("reticleCoef")&&this.wG.setPosition(this.get("reticleCoef"));this.Qd.set("sourceUpdated",this.wG.update(n.se))};a.prototype.$m=function(n){if(!this.get("enabled")||0==n.Kp.length||n.Ak()||n.uUa())this.set("reticleVisible",!1);else{var r=n.Kp[0];this.rj.Ff.set(r.origin.x,r.origin.y,r.origin.z);this.rj.Si.set(r.origin.x+r.direction.x,r.origin.y+r.direction.y,r.origin.z+r.direction.z);if(r=
this.$J.intersection(this.rj,!0)){var t=this.$J.KY(r,!0),u=2*(.5-t.x);t=2*(.5-t.y);var v=q*Math.atan2(-u,t),w=-90+q*Math.atan2(Math.sqrt(u*u+t*t),1);if(-75>w||-1<w)this.set("reticleVisible",!1);else{var x={x:u*this.Aoa,y:-t*this.Aoa};n.zs()||n.Xua()?n.Ue==k.Wl&&(this.set("reticleVisible",!0),this.Qd.set("alpha",Math.min(1,(w- -75)/5)),this.Qd.set("translationX",x.x),this.Qd.set("translationZ",x.y)):this.set("reticleVisible",!1);var y=.5*this.Aa.wc.get("surfaceSelectionHorizontalAngle"),A=.5*this.Aa.wc.get("surfaceSelectionVerticalAngle");
t=this.FQ.map(function(B){var z=B.ySa(v),C=B.XSa(w),E=B.JX(x);return{vj:B.vj,NO:z,vertical:C,distance:E}}).filter(function(B){return B.NO<y&&B.vertical<A});0==t.length?this.set("reticleCoef",0):(t.sort(function(B,z){return B.distance-z.distance}),u=t[0].vj,this.set("reticleCoef",Math.max(0,Math.min(1,(1-t[0].NO/y)*(1-t[0].vertical/A)))),r=this.ha.get("distanceToFloor")*Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z)/-r.y,n.Xua()&&n.YQa([u]),n.zk(r),n.Ue==k.Ij?(n.xq([u]),this.get("blendingActive")||u.trigger(k.mn)):
(n.Ny([u]),n.zs()&&n.Oy([u]),(r=this.Aa.N.get("displayTooltipInSurfaceSelection")&&u.get("panorama")&&u.get("panorama").get("label"))&&n.eX(r,0)))}}else this.set("reticleVisible",!1)}};d.prototype.clear=function(){this.FY.unbind(k.G("distanceToFloor"),this.ca,this,!1);this.FY=null;this.vj.unbind(k.G("yaw"),this.ca,this,!1);this.vj.unbind(k.G("distance"),this.ca,this,!1);this.vj.unbind(k.G("enabled"),this.ca,this,!1);this.vj.unbind(k.G("enabledInSurfaceSelection"),this.ca,this,!1);this.vj=null};d.prototype.ySa=
function(n){if(!this.Wa)return Infinity;n=Math.abs(this.Wa.Ra-n);return 180<n?360-n:n};d.prototype.XSa=function(n){return this.Wa?Math.abs(this.Wa.pitch-n):Infinity};d.prototype.JX=function(n){if(!this.QG)return Infinity;var r=n.x-this.QG.x;n=n.y-this.QG.y;return Math.sqrt(r*r+n*n)};d.prototype.ca=function(){var n=this.vj.get("yaw"),r=this.vj.get("distance"),t=this.vj.get("enabled")&&this.vj.get("enabledInSurfaceSelection");if(void 0!==n&&void 0!==r&&t){t=this.FY.get("distanceToFloor");var u=-90+
Math.atan2(r,t)*q;this.Nl.set("alpha",-1>u?1:0);this.Wa={Ra:n,pitch:u};u=b.aD(t)/b.tv();this.QG={x:-Math.sin(n*p)*r/t*u,y:-Math.cos(n*p)*r/t*u};this.Nl.set("translationX",this.QG.x);this.Nl.set("translationZ",this.QG.y);this.Nl.set("distance",t)}else this.QG=this.Wa=null,this.Nl.set("alpha",0)};var q=180/Math.PI,p=Math.PI/180;return a});
define("W","require kV kh og kW iG jc gO nB mP iX bu".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("kW"),b=a("iG"),g=a("jc"),f=a("gO"),c=a("nB"),e=a("mP"),m=a("iX"),q=a("bu"),p=0;a=d.extend(b,function(t){b.call(this);this.v=t;this.Zj.push(this.v);this.HB=this.HB.bind(this);this.Jf=this.Jf.bind(this);this.yr=this.yr.bind(this);this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",!1);this.set("blendingActive",!0);this.set("currentTime",
0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",!0);this.set("backgroundPreloadEnabled",!0);this.set("surfaceSelectionEnabled",!1);this.set("id","panorama_"+p++);this.set("ready",!1);this.WU=[];this.Rn=this.Pd=this.mf=null;this.wh=new n;this.Xna=new r;this.pOa=new f(this.v);this.Mn=new r;this.Pg([this.wh,this.Xna,this.pOa,this.Mn])});a.prototype.Kb=function(){this.mf=(new c(l.aa)).Rl(this.rp.bind(this));this.Pd=(new c(l.rc)).ro(this.JB.bind(this));this.Rn=(new c(l.Rc)).Rl(this.HJa.bind(this));
b.prototype.Kb.call(this);this.get("blendingActive")&&this.Aa.set("globalBlendingActive",this.Aa.get("globalBlendingActive")+1);h.ma(this.v,["currentTime"],this.HB,!0);h.ma(this.v,["frames","overlays","vrMenu","flipImageHorizontally"],this.Jf,!0);h.ma(this.v,["adjacentPanoramas"],this.yr,!0)};a.prototype.Pb=function(){this.mf.dispose();this.Pd.dispose();this.Rn.dispose();this.get("blendingActive")&&this.Aa.set("globalBlendingActive",this.Aa.get("globalBlendingActive")-1);b.prototype.Pb.call(this);
h.ka(this.v,["currentTime"],this.HB);h.ka(this.v,["frames","overlays","vrMenu","flipImageHorizontally"],this.Jf);h.ka(this.v,["adjacentPanoramas"],this.yr);this.X8()};a.prototype.Jf=function(){function t(B,z,C){B=y.indexOf(B);return 0>B?C:w[B].get(z,C)}function u(B){return t(B,"projected",!1)}var v=this.Aa.xv(this.v.get("frames"));v.forEach(function(B){B.set("panoramaId",this.get("id"));B.set("flipHorizontally",this.v.get("flipImageHorizontally"))}.bind(this));var w=this.v.get("overlays"),x=this.Aa.xv(w),
y=x.slice(),A=x.filter(u).filter(function(B){return t(B,"enabled",!0)});this.v.get("vrMenu")&&x.push(this.Aa.xv(this.v.get("vrMenu")));x.forEach(function(B){B.set("panoramaId",this.get("id"))}.bind(this));this.mf.gf(v.concat(x));this.Pd.gf(v.concat(x));this.Rn.gf(v.concat(A));this.Xna.Pg(x.filter(u));this.wh.Pg(v);this.Mn.Pg(x.filter(function(B){return!u(B)}));this.set("panoramaPixelsPerDegree",e.Rta(this.v));this.gra()};a.prototype.HB=function(){this.set("currentTime",this.v.get("currentTime",0))};
a.prototype.yr=function(){this.set("adjacentPanoramas",this.v.get("adjacentPanoramas",[]))};a.prototype.rp=function(){this.uj();this.trigger(l.aa)};a.prototype.HJa=function(){this.uj();this.set("ready",!0);this.trigger(l.Rc)};a.prototype.JB=function(){this.uj()};a.prototype.uj=function(){var t=0;this.Pd.ns(function(u){var v=0,w;this.mf.Il(u)?v=100:(w=this.Pd.Il(u))&&(v=w.Og);t+=v}.bind(this));this.trigger(new k(l.rc,t/this.Pd.Sc.length))};a.prototype.ca=function(t){t.Ab&&!this.Nn&&q.getType()==q.cA.Jk&&
this.Pg([this.Nn=new g].concat(this.Jb()));var u=this.get("blendingActive");this.set("blendingActive",1>this.get("alpha"));u!=this.get("blendingActive")&&this.Aa.set("globalBlendingActive",this.Aa.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",!1!==this.Aa.jc.get("backgroundPreloadEnabled"));this.set("preloadEnabled",t.jP);this.M("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")?
this.WNa():this.X8());this.M("index")&&this.gra();b.prototype.ca.call(this,t)};a.prototype.cba=function(){return e.cba(this.v,this.get("preloadEnabled"))};a.prototype.Kba=function(){return e.Kba(this.v,this.get("preloadEnabled"))};a.prototype.WNa=function(){this.X8();this.WU=this.get("adjacentPanoramas").map(function(t){t=t.get("panorama");return[t,e.Tm(t,this.get("preloadEnabled"))]}.bind(this));this.WU.forEach(function(t){m.msa(t[0],t[1]);m.uY(t[0],1)})};a.prototype.X8=function(){this.WU.forEach(function(t){m.uY(t[0],
-1);m.ZUa(t[0],t[1])});this.WU=[]};a.prototype.gra=function(){var t=this.get("index");this.wh.Jb().forEach(function(u,v,w){u.set("panoramaIndex",t);u.set("frameIndex",v);u.set("frameCount",w.length)})};var n=d.extend(b,function(){b.call(this);this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});n.prototype.ca=function(t){this.Jb().forEach(function(u,v,w){u.set("frontFrame",w[w.length-1])});b.prototype.ca.call(this,
t)};var r=d.extend(b,function(){b.call(this);this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});return a});
define("iT",["require","kV","fn","eg"],function(a){var d=a("kV"),h=a("fn"),l=a("eg"),k=0;a=d.extend(h,function(){h.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+k++)});a.prototype.ca=function(b){h.prototype.ca.call(this,b);this.BC()};a.prototype.FC=function(){if(this.M("panoramaIndex","frameIndex","frameCount","meshGroup")){var b=this.get("meshGroup");if(b){var g=this.get("panoramaIndex"),f=this.get("frameIndex"),
c=this.get("frameCount"),e=b.children.length;b.children.forEach(function(m,q){l.gZ(m,g+(q+f/c)/e)}.bind(this))}}};a.prototype.BC=function(){if(this.M("meshGroup","panoramaId","id")){var b=this.get("meshGroup");b&&b.children.forEach(function(g,f){l.setAttribute(g,l.uz,this.get("panoramaId"));l.setAttribute(g,l.zZ,f);l.setAttribute(g,l.LD,this.get("id"))}.bind(this))}};return a});
define("nr","require kV kh og hE iG iT nB mP fk jY kW".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("hE"),b=a("iG"),g=a("iT"),f=a("nB"),c=a("mP"),e=a("fk"),m=a("jY"),q=a("kW");a=d.extend(g,function(n){g.call(this);this.set("tag","ImagePanoramaFrame");this.Nna=!0;this.v=n;this.Zj.push(this.v);this.lk=this.Hg=this.Rn=null;this.y5=[];this.Jf=this.Jf.bind(this);this.No(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.Pg([this.Mn=new p])});a.prototype.Kb=function(){this.Rn=
new f(l.aa);this.Hg=new f(l.aa);this.lk=new f(l.rc);g.prototype.Kb.call(this);h.ma(this.v,["overlays"],this.Jf,!0)};a.prototype.Pb=function(){this.Rn.dispose();this.Hg.dispose();this.lk.dispose();h.ka(this.v,["overlays"],this.Jf);g.prototype.Pb.call(this)};a.prototype.Jf=function(){this.Mn.Pg(this.Aa.xv(this.v.get("overlays")));this.Tqa()};a.prototype.Tqa=function(){this.Hg.gf([].concat(this.y5,this.Mn.Jb()));this.lk.gf([].concat(this.y5,this.Mn.Jb()))};a.prototype.vn=function(){var n=[],r=[],t=[];
c.Kaa(this.v,this.Nna).forEach(function(u,v){var w=e.ERa(this.v,u);c.OTa(u)?(0==v&&(n=n.concat(w),r=r.concat(w)),m.Nv(w,0==v?m.Iq:m.iQ),m.Mv(w,0==v?m.Ho:m.G_)):(0==v&&(n=n.concat(w)),r=r.concat(w),m.Nv(w,m.Iq),m.Mv(w,m.Ho));m.BD(w,0==v?k.S_:k.ln);m.AP(w,v);t=t.concat(w)}.bind(this));this.Rn.gf(n);this.y5=r;this.Tqa();this.Hg.Rl(this.rp.bind(this));this.Rn.Rl(this.gKa.bind(this));this.lk.ro(this.JB.bind(this));this.trigger(new q(l.rc,0));return t};a.prototype.gKa=function(){this.trigger(l.Rc)};a.prototype.rp=
function(){this.trigger(l.aa)};a.prototype.ca=function(n){this.Nna=n.jP;this.TPa();g.prototype.ca.call(this,n)};a.prototype.TPa=function(){var n=this.get("frontFrame");if(this.M("frontFrame")||n&&n.M("alpha"))n=n&&n!=this?1-n.get("alpha"):1,this.Mn.set("alpha",n)};a.prototype.JB=function(){var n=0;this.lk.ns(function(r){var t=0,u;this.Hg.Il(r)?t=100:(u=this.lk.Il(r))&&(t=u.Og);n+=t}.bind(this));this.trigger(new q(l.rc,n/this.lk.Sc.length))};var p=d.extend(b,function(){b.call(this);this.No(["loadingActive",
"panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("tag","Group")});return a});
define("gl","require kV og jc ms nB kW".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("jc"),k=a("ms"),b=a("nB"),g=a("kW");a=d.extend(l,function(){l.call(this);this.set("tag","ImagePlane");this.set("url",null);this.Pd=this.mf=null});a.prototype.Kb=function(){this.mf=(new b(h.aa)).Rl(this.rp.bind(this));this.Pd=(new b(h.rc)).ro(this.Du.bind(this));l.prototype.Kb.call(this)};a.prototype.Pb=function(){this.mf.dispose();this.Pd.dispose();l.prototype.Pb.call(this)};a.prototype.ca=function(f){if(this.M("url")){var c=
this.get("url");c=c?new k(c):null;this.set("textureSource",c)}l.prototype.ca.call(this,f);this.M("meshGroup")&&(f=(f=this.get("meshGroup"))&&f.children||[],f.length&&(this.mf.gf(f),this.Pd.gf(f)))};a.prototype.rp=function(){this.trigger(h.Rc);this.trigger(h.aa)};a.prototype.Du=function(f,c){var e=0;c.ns(function(m){(m=c.Il(m))&&(e+=m.Og)});this.trigger(new g(h.rc,e/c.Sc.length))};return a});
define("lW","require dY og cu kx nD".split(" "),function(a){function d(c,e){this.Jc=c;this.Z=e;this.jk=!1;this.Ai=[];this.gm=this.ME=void 0;this.ke=[];this.f1();this.Z1();this.dW();this.nf()}function h(c,e,m){this.time=c;this.cue=e;this.action=m}var l=a("dY"),k=a("og"),b=a("cu"),g=a("kx"),f=a("nD");d.prototype.clear=function(){this.qJ();this.Ai=[];this.H9();this.Z=this.Jc=null};d.prototype.f1=function(){this.Z.bind(f.vf,this.Me,this,!0);this.Z.bind(k.ge,this.nf,this,!0);this.Z.bind(k.rb,this.ay,this,
!0)};d.prototype.H9=function(){this.Z.unbind(f.vf,this.Me,this,!0);this.Z.unbind(k.ge,this.nf,this,!0);this.Z.unbind(k.rb,this.ay,this,!0)};d.prototype.nf=function(){var c=this.Z.getState()!=g.S;this.jk!=c&&((this.jk=c)?this.dW():this.qJ())};d.prototype.ay=function(){this.IC()};d.prototype.Me=function(){this.IC()};d.prototype.dW=function(){this.gm=this.ME=0};d.prototype.IC=function(){if(this.Z&&this.jk){var c=this.ke.slice(),e=this.Z.getCurrentTime(),m=e-this.ME;0>m&&(this.ke=[],this.gm=0);m=0<=m&&
2>m;this.ME=e;var q;for(q=this.gm;q<this.Ai.length&&!(this.Ai[q].time>e);q++);for(;this.gm<q;this.gm++)e=this.Ai[this.gm],"start"==e.action?(this.ke=l(this.ke).union([e.cue]),m&&e.cue.trigger(new b(k.Dq))):(this.ke=l(this.ke).difference([e.cue]),m&&e.cue.trigger(new b(k.rb)));c.length==this.ke.length&&l(c).intersection(this.ke).length==this.ke.length||this.yN()}};d.prototype.qJ=function(){0<this.ke.length&&(this.ke=[],this.yN())};d.prototype.yN=function(){this.Jc.trigger(new b(k.Kk,{activeCues:this.ke.slice()}))};
d.prototype.Z1=function(){this.Ai=[];var c=this.Jc.get("cues",[]);l(c).each(function(e){this.Ai.push(new h(e.get("startTime",0),e,"start"));this.Ai.push(new h(e.get("endTime",Number.POSITIVE_INFINITY),e,"end"))},this);this.Ai.sort(function(e,m){return e.time==m.time?e.action==m.start?0:"start"==e.action?-1:1:e.time-m.time})};return d});
define("ls",["require","og","kx","cu","nD"],function(a){function d(g,f,c){this.jc=g;this.Jc=f;this.Z=c;this.Z.setCurrentTime(this.If=this.Jc.get("currentTime",0));this.Z.tf(this.We=this.jc.get("mute",!1));this.Z.Gd(this.A=this.Jc.get("state",l.S));this.Z.setLoop(this.al=this.Jc.get("loop"));this.ob=this.Z.Qi();this.FBa();this.LBa();this.qt()}var h=a("og"),l=a("kx"),k=a("cu"),b=a("nD");d.prototype.clear=function(){this.ILa();this.NLa();this.Ou();this.Z.Gd(l.S);this.Jc.set("state",l.S);this.Jc.set("currentTime",
0);this.Jc.set("duration",void 0)};d.prototype.nna=function(){var g=this.Jc.get("state",l.S);this.A!=g&&this.Z.Gd(this.A=g)};d.prototype.lna=function(){var g=this.Jc.get("currentTime",0);this.If!=g&&this.Z.setCurrentTime(this.If=g)};d.prototype.KL=function(){var g=this.jc.get("mute",0);this.We!=g&&this.Z.tf(this.We=g)};d.prototype.mna=function(){var g=this.Jc.get("loop");this.al!=g&&this.Z.setLoop(this.al=g)};d.prototype.SL=function(){this.Jc.set("currentTime",this.If=this.Z.getCurrentTime())};d.prototype.QL=
function(){this.Jc.set("duration",this.ob=this.Z.Qi())};d.prototype.RL=function(){this.Jc.set("state",this.A=this.Z.getState())};d.prototype.TL=function(){this.Jc.trigger(new k(h.rb))};d.prototype.FBa=function(){this.jc.bind(h.G("mute"),this.KL,this,!0)};d.prototype.ILa=function(){this.jc.unbind(h.G("mute"),this.KL,this,!0)};d.prototype.LBa=function(){this.Jc.bind(h.G("state"),this.nna,this,!0);this.Jc.bind(h.G("currentTime"),this.lna,this,!0);this.Jc.bind(h.G("loop"),this.mna,this,!0)};d.prototype.NLa=
function(){this.Jc.unbind(h.G("state"),this.nna,this,!0);this.Jc.unbind(h.G("currentTime"),this.lna,this,!0);this.Jc.unbind(h.G("loop"),this.mna,this,!0)};d.prototype.qt=function(){this.Z.bind(b.vf,this.SL,this,!0);this.Z.bind(b.si,this.QL,this,!0);this.Z.bind(h.ge,this.RL,this,!0);this.Z.bind(h.rb,this.TL,this,!0)};d.prototype.Ou=function(){this.Z.unbind(b.vf,this.SL,this,!0);this.Z.unbind(b.si,this.QL,this,!0);this.Z.unbind(h.ge,this.RL,this,!0);this.Z.unbind(h.rb,this.TL,this,!0)};return d});
define("dD","require kV og hE kx gl iT nB fk lW ls bW eg jY u jR nD kW bZ nJ bD".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("hE"),k=a("kx"),b=a("gl"),g=a("iT"),f=a("nB"),c=a("fk"),e=a("lW"),m=a("ls"),q=a("bW"),p=a("eg"),n=a("jY"),r=a("u"),t=a("jR"),u=a("nD"),v=a("kW"),w=a("bZ"),x=a("nJ"),y=a("bD");a=d.extend(g,function(E){g.call(this);this.v=E;this.Zj.push(this.v);this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",
void 0);this.set("atStart",void 0);q.get(this.v)==q.Io?this.F$=this.v.get("sphere"):this.F$=this.v.get("stereoSphere");this.jk=!1;this.hb=u.yj(this.F$);this.Y6=this.Lha=!1;this.fH=[];this.XB=[];this.Dm=this.ik=this.lk=this.Hg=this.Jh=this.Z=null;this.pl=!1;this.wka=this.wB=this.qr=0});a.prototype.Kb=function(){this.Hg=(new f(h.aa)).Rl(this.rp.bind(this));this.lk=(new f(h.rc)).ro(this.JB.bind(this));this.Z=new u(this.Aa.jc,this.F$);this.Zo=new e(this.v.Yy(),this.Z);this.Ha=new m(this.Aa.jc,this.v.Yy(),
this.Z);this.av=new t(this.v.Yy(),this.Z);this.qt();this.EEa();this.Lha=this.Aa.wc.get("displayPlayOverlay");this.Y6="play_pause"==this.Aa.wc.get("clickAction");var E=this.Aa.cf(this.v.Yy());E.appendChild(this.ik);E.appendChild(this.Dm);g.prototype.Kb.call(this)};a.prototype.Pb=function(){this.Hg.dispose();this.lk.dispose();this.Ou();this.Zo.clear();this.Zo=null;this.Ha.clear();this.Ha=null;this.av.clear();this.av=null;this.Z.clear();this.Jh=this.Z=null;this.Uha();g.prototype.Pb.call(this)};a.prototype.EEa=
function(){this.Uha();this.ik=this.wha(w.rw,w.T_,w.lAa);this.Dm=this.wha(w.eE,w.hAa,w.gAa)};a.prototype.wha=function(E,F,G){var J=new b;J.set("url",E);J.set("contentWidth",F);J.set("contentHeight",G);J.set("hfov",10);J.set("yaw",0);J.set("pitch",0);J.set("alpha",0);return J};a.prototype.Uha=function(){this.ik&&(this.ik.remove(),this.ik=null);this.Dm&&(this.Dm.remove(),this.Dm=null)};a.prototype.vn=function(){this.fH=c.JRa(this.v,this.hb);this.CQa=n.HD(p.Xy(this.fH[0])[0]);this.fH.forEach(function(F){n.Nv(F,
n.Iq);n.Mv(F,n.Ho)});this.hb.get("posterURL")?(this.XB=c.KRa(this.v,this.hb),this.XB.forEach(function(F){n.Nv(F,n.Iq);n.Mv(F,n.Ho);n.BD(F,l.S_)})):this.XB=[];var E=[].concat(this.fH,this.XB);this.Hg.gf(E);this.lk.gf(E);this.trigger(new v(h.rc,0));return E};a.prototype.ca=function(E){this.WPa(E);var F=this.Z.IX();this.set("frameEmpty",F.isEmpty());this.set("atStart",!(1<this.get("currentTime")));g.prototype.ca.call(this,E);this.Jh&&this.Jh.isEqual(F)?this.Z.getState()==k.X&&this.Da():(this.Jh=F,this.CQa.Ol(this.Jh.PA),
this.Da())};a.prototype.zl=function(){this.M("composedAlpha","meshGroup","frameEmpty","atStart")&&(this.XB.length&&this.get("frameEmpty")&&this.get("atStart")?(this.XB.forEach(function(E){p.ff(E,this.get("composedAlpha"))}.bind(this)),this.fH.forEach(function(E){p.ff(E,0)}.bind(this))):(this.XB.forEach(function(E){p.ff(E,0)}.bind(this)),this.fH.forEach(function(E){p.ff(E,this.get("composedAlpha"))}.bind(this))))};a.prototype.rp=function(){this.trigger(h.Rc);this.trigger(h.aa)};a.prototype.JB=function(E,
F){var G=0;F.ns(function(J){(J=F.Il(J))&&(G+=J.Og)});this.trigger(new v(h.rc,G/F.Sc.length))};a.prototype.nf=function(){this.Da()};a.prototype.Me=function(){this.Da()};a.prototype.$m=function(E){if(E.Ue==h.Ij&&!E.Ak()&&this.Y6&&(E.xq(this.v),E=Date.now(),!(500>E-this.wka))){this.wka=E;E=this.v.Yy();var F=E.get("state");F==k.X?E.set("state",k.Cb):F==k.Cb&&E.set("state",k.X)}};a.prototype.WPa=function(E){if(this.Y6){if(this.pl!=(this.Z.getState()==k.Cb))if(this.pl=!this.pl,this.Lha){var F=this.ik.get("alpha"),
G=this.pl?1:0;this.Hu=new x("linear",[new y("playAlpha",F,G),new y("playScale",E.Ab?1.5:1,E.Ab?1.5:1),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],Math.abs(G-F)*A);this.ik.Nh()}else this.Hu=new x("linear",this.pl?[new y("playAlpha",0,0),new y("playScale",1,1),new y("pauseAlpha",0,2),new y("pauseScale",.5,1.5)]:[new y("playAlpha",0,2),new y("playScale",.5,1.5),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],B),this.ik.Nh(),this.Dm.Nh();this.Hu&&(this.Hu.wb(E.se),F=this.Hu.$a("playAlpha"),this.ik.set("alpha",
1>F?F:2-F),this.ik.set("scale",this.Hu.$a("playScale")),F=this.Hu.$a("pauseAlpha"),this.Dm.set("alpha",1>F?F:2-F),this.Dm.set("scale",this.Hu.$a("pauseScale")),this.Da(),this.Hu.Fe()&&(this.Hu=null));0<this.ik.get("alpha")&&(this.get("globalBlendingActive")&&this.ik.set("alpha",0),this.ik.set("yaw",E.Ra),this.ik.set("pitch",E.pitch),this.ik.set("hfov",this.wja(E)));0<this.Dm.get("alpha")&&(this.get("globalBlendingActive")&&this.Dm.set("alpha",0),this.Dm.set("yaw",E.Ra),this.Dm.set("pitch",E.pitch),
this.Dm.set("hfov",this.wja(E)))}};var A=300,B=600;a.prototype.wja=function(E){return E.Ab?15:2*Math.atan((r.kb()?Math.min(E.width,E.height)/100*20:w.T_)*Math.tan(E.te*z*.5)/E.width)*C};var z=Math.PI/180,C=180/Math.PI;a.prototype.qt=function(){this.Z.bind(u.vf,this.Me,this,!0);this.Z.bind(h.ge,this.nf,this,!0)};a.prototype.Ou=function(){this.Z.unbind(u.vf,this.Me,this,!0);this.Z.unbind(h.ge,this.nf,this,!0)};return a});
define("bB","require kV kh og kx he iG dc kL gl ls nb nB mP er ky R kW nJ bD nD".split(" "),function(a){function d(C,E){for(C-=E;180<C;)C-=360;for(;-180>C;)C+=360;return C+E}var h=a("kV"),l=a("kh"),k=a("og"),b=a("kx");a("he");var g=a("iG"),f=a("dc"),c=a("kL"),e=a("gl"),m=a("ls"),q=a("nb"),p=a("nB"),n=a("mP"),r=a("er"),t=a("ky"),u=a("R"),v=a("kW"),w=a("nJ"),x=a("bD"),y=a("nD"),A=Math.PI/180;a=h.extend(g,function(C){g.call(this);this.v=C;this.Zj.push(this.v);this.Jf=this.Jf.bind(this);this.kU=this.kU.bind(this);
this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",!1);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("loadingActive",!1);this.set("frameEmpty",!0);this.set("state",b.S);this.set("itemVisible","none");this.set("visible",!1);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",!1);this.set("gazeOver",!1);this.set("video",null);this.set("image",null);this.be=this.pb=this.Pa=this.Pd=this.mf=null;this.jb=
new q;this.ut=this.Ax=this.Cl=this.Jh=this.Z=null});a.prototype.Kb=function(){this.mf=(new p(k.aa)).Rl(this.EB.bind(this));this.Pd=(new p(k.rc)).ro(this.IB.bind(this));g.prototype.Kb.call(this);this.UDa();this.appendChild(this.be);l.ma(this.v,B,this.Jf,!0);l.NC(this.v,z,this.kU,!0)};var B="playbackPositions popupDistance popupMaxHeight popupMaxWidth image.levels.url video state".split(" "),z=["visible"];a.prototype.Pb=function(){this.mf.dispose();this.Pd.dispose();l.ka(this.v,B,this.Jf);l.ka(this.v,
z,this.kU);this.MA();this.bx();this.Pt();g.prototype.Pb.call(this)};a.prototype.Jf=function(){var C=n.NSa(this.v,this.get("panoramaPixelsPerDegree"));this.set("imageURL",C&&C.get("url"));this.set("imageWidth",C&&C.get("width"));this.set("imageHeight",C&&C.get("height"));this.set("video",this.v.get("video"));this.set("state",this.v.get("state"));this.set("popupDistance",this.v.get("popupDistance"));this.set("popupMaxWidth",this.v.get("popupMaxWidth"));this.set("popupMaxHeight",this.v.get("popupMaxHeight"));
this.set("playbackPositions",this.v.get("playbackPositions"))};a.prototype.kU=function(){this.set("visible",this.v.get("visible"))};a.prototype.ca=function(C){this.qy=C.Ra;this.py=C.pitch;this.$p(C);this.XPa();this.LN(C);this.Sd(C);this.NPa(C);this.uPa(C);g.prototype.ca.call(this,C)};a.prototype.XPa=function(){this.M("playbackPositions","currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("sourceYaw",this.jb.get("yaw")),this.set("sourcePitch",this.jb.get("pitch")),
this.set("sourceRotationX",this.jb.get("rotationX")),this.set("sourceRotationY",this.jb.get("rotationY")),this.set("sourceRotationZ",this.jb.get("rotationZ")),this.set("sourceHFOV",this.jb.get("hfov")))};a.prototype.$p=function(){if(this.M("video","imageURL")){var C=[this.be];this.M("imageURL")&&(this.CJ(),this.Pa&&C.push(this.Pa),this.FM("itemVisible"));this.M("video")&&(this.EJ(),this.pb&&C.push(this.pb),this.FM("itemVisible"));this.mf.gf(C);this.Pd.gf(C);this.Pg(C)}};a.prototype.LN=function(){if(this.Z){var C=
this.Z.IX();this.set("frameEmpty",!!C&&C.isEmpty());!this.Jh||C&&!this.Jh.isEqual(C)?(this.Jh=C,this.pb.set("source",this.Jh.PA),this.pb.set("sourceUpdated",!0),this.Da()):this.Z.getState()==b.X&&this.Da()}else this.set("frameEmpty",!1)};a.prototype.Sd=function(C){this.set("inVR",C.Ab);this.set("hotspotsEnabled",C.hD);this.set("rendererYaw",C.Ra);this.set("rendererPitch",C.pitch);this.set("rendererRoll",C.Re);this.set("rendererWidth",C.lX);this.set("rendererHeight",C.cO);this.set("rendererHFOV",C.te);
if(this.M("visible")){var E=this.get("visiblePosition"),F=this.get("visible")?1:0,G=Math.max(1,this.v.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(F-E)),J=this.v.get(this.get("visible")?"showEasing":"hideEasing");E!=F&&(this.Cl=new w(J,[new x("position",E,F)],G));this.get("visible")||this.Z&&this.Z.Gd(b.S)}this.Cl&&(this.Cl.Fe()?(this.Cl=null,this.get("visible")?(this.v.trigger(k.MI),this.v.get("autoplay")&&this.Z&&this.Z.Gd(b.X)):setTimeout(function(){this.v&&this.v.trigger(k.FI)}.bind(this),
0)):this.Cl.wb(C.se),this.Cl&&(this.set("visiblePosition",this.Cl.$a("position")),this.Da()));E=!1;if(E=C.Ab?this.M("visible","itemVisible"):this.M("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV"))this.set("targetImageScale",this.Cja(this.Pa,C)),this.set("targetVideoScale",this.Cja(this.pb,C)),this.set("targetYaw",d(this.get("rendererYaw"),this.get("sourceYaw"))),this.set("targetPitch",this.get("rendererPitch")),
this.set("targetRotationZ",d(C.Ab?0:this.get("rendererRoll"),this.get("sourceRotationZ")));if(E||this.M("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){F=this.get("visiblePosition");var R=this.get("targetYaw")*F+this.get("sourceYaw")*(1-F),U=this.get("targetPitch")*F+this.get("sourcePitch")*(1-F),Q=this.get("sourceRotationX")*(1-F),N=this.get("sourceRotationY")*(1-F),W=this.get("targetRotationZ")*F+this.get("sourceRotationZ")*(1-F);C=Math.min(1,2*F);
var H=this.get("popupDistance"),O=this.get("sourceHFOV");E=this.get("targetImageScale")*F+(1-F);F=this.get("targetVideoScale")*F+(1-F);this.set("alpha",C);this.Pa&&this.Pa.set("scale",E);this.pb&&this.pb.set("scale",F);[].concat(this.pb?[this.pb]:[],this.Pa?[this.Pa]:[]).forEach(function(L){L.set("yaw",R);L.set("pitch",U);L.set("rotationX",Q);L.set("rotationY",N);L.set("rotationZ",W);L.set("distance",H);L.set("hfov",O)})}};a.prototype.NPa=function(C){if(this.M("frameEmpty","state","imageURL","video")){var E=
"none";!this.pb||this.Pa&&(this.get("frameEmpty")||this.get("state")==b.S)?this.Pa&&(E="image"):E="video";this.set("itemVisible",E)}if(this.M("itemVisible")){"video"!=this.get("itemVisible")&&this.Z&&this.Z.Gd(b.S);E=this.Pa?this.Pa.get("alpha"):0;var F=this.pb?this.pb.get("alpha"):0,G="image"==this.get("itemVisible")?1:0,J="video"==this.get("itemVisible")?1:0,R="video"==this.get("itemVisible")?1:200*Math.max(Math.abs(G-E),Math.abs(J-F));this.Ax=new w("linear",[new x("imageAlpha",E,G),new x("videoAlpha",
F,J)],R)}this.Ax&&(this.Ax.Fe()?this.Ax=null:this.Ax.wb(C.se),this.Ax&&(this.Pa&&this.Pa.set("alpha",this.Ax.$a("imageAlpha")),this.pb&&this.pb.set("alpha",this.Ax.$a("videoAlpha")),this.Da()))};a.prototype.uPa=function(C){this.M("gazeOver","inVR","visible")&&(this.Xga(),this.get("inVR")&&this.v.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("visible")&&this.TNa());C.Ab&&this.v.get("darkenBackground")&&this.v.get("lookAwayToHide")?(this.M("visible")&&this.get("visible")&&(this.be.set("alpha",
.8),this.ut=null),this.M("gazeOver")&&(this.ut=new w(this.get("gazeOver")?"linear":"quad_in",[new x("alpha",this.be.get("alpha"),this.get("gazeOver")?.8:0)],this.get("gazeOver")?300:this.v.get("lookAwayToHideTime")))):(this.ut=null,this.be.set("alpha",C.Ab&&this.v.get("darkenBackground")?.8:0));this.ut&&(this.ut.Fe()?this.ut=null:this.ut.wb(C.se),this.ut&&(this.be.set("alpha",this.ut.$a("alpha")),this.Da()))};a.prototype.TNa=function(){this.Xga();this.lT=setTimeout(function(){this.lT=null;this.v.set("visible",
!1)}.bind(this),this.v.get("lookAwayToHideTime"))};a.prototype.Xga=function(){this.lT&&(clearTimeout(this.lT),this.lT=null)};a.prototype.Cja=function(C,E){if(!C)return 1;var F=this.get("popupMaxWidth","100%"),G=u.to(F),J=C.get("contentWidth"),R=C.get("contentHeight"),U=this.get("popupMaxHeight","100%"),Q=u.to(U);if(this.get("inVR")){var N=C=.5*this.get("rendererWidth"),W=Math.min(E.Oh,80);E=t.PC(W,C,N);var H=this.get("sourceHFOV");F=Math.min(Math.tan(E*(void 0!==G?G/100:F/C)*.5*A)/Math.tan(.5*H*A),
Math.tan(W*(void 0!==Q?Q/100:U/N)*.5*A)/Math.tan(.5*t.PC(H,J,R)*A))}else C=this.get("rendererWidth"),N=this.get("rendererHeight"),F=J*Math.min((void 0!==G?C*G/100:F)/J,(void 0!==Q?N*Q/100:U)/R),E=this.get("rendererHFOV"),H=this.get("sourceHFOV"),F=Math.tan(.5*E*A)*F/C/Math.tan(.5*H*A);return F};a.prototype.CJ=function(){this.MA();this.get("imageURL")&&(this.Pa=new e,this.Pa.set("url",this.get("imageURL")),this.Pa.set("contentWidth",this.get("imageWidth")),this.Pa.set("contentHeight",this.get("imageHeight")),
this.Pa.set("alpha",0))};a.prototype.MA=function(){this.Pa&&(this.Pa.remove(),this.Pa=null)};a.prototype.EJ=function(){this.bx();if(this.get("video")){this.pb=new c;var C=y.yj(this.get("video"));this.pb.set("contentWidth",C.get("width"));this.pb.set("contentHeight",C.get("height"));this.pb.set("alpha",0);this.Z=new y(this.Aa.jc,this.get("video"));this.Ha=new m(this.Aa.jc,this.v,this.Z);this.qt()}};a.prototype.bx=function(){this.pb&&(this.Ou(),this.Ha.clear(),this.Ha=null,this.Z.clear(),this.Jh=this.Z=
null,this.pb.remove(),this.pb=null)};a.prototype.UDa=function(){this.Pt();this.be=new f("#000000")};a.prototype.Pt=function(){this.be&&(this.be.remove(),this.be=null)};a.prototype.EB=function(){this.trigger(k.Rc);this.trigger(k.aa)};a.prototype.IB=function(C,E){var F=0;E.ns(function(G){var J=0,R;this.mf.Il(G)?J=100:(R=this.Pd.Il(G))&&(J=R.Og);F+=J}.bind(this));this.trigger(new v(k.rc,F/E.Sc.length))};a.prototype.nf=function(){this.Da()};a.prototype.Me=function(){this.Da()};a.prototype.ay=function(){this.v.trigger(k.rb)};
a.prototype.qt=function(){this.Z.bind(y.vf,this.Me,this,!0);this.Z.bind(k.ge,this.nf,this,!0);this.Z.bind(k.rb,this.ay,this,!0)};a.prototype.Ou=function(){this.Z.unbind(y.vf,this.Me,this,!0);this.Z.unbind(k.ge,this.nf,this,!0);this.Z.unbind(k.rb,this.ay,this,!0)};a.prototype.$m=function(C){C.Ue==k.Wl?(!C.Ak()&&this.get("visible")?(C.xq(this.v),this.set("over",this.Vp(C)),this.set("gazeOver",this.AOa(C))):this.set("over",!1),this.get("over")&&(C.Ny(this.v),C.zs()&&C.Oy(this.v),C.zk(this.get("popupDistance"))),
this.M("over")&&(this.v.trigger(this.get("over")?k.$c:k.ac),C.zs()&&this.v.trigger(this.get("over")?k.Vz:k.Jo))):C.Ue==k.Ij&&!C.Ak()&&this.get("visible")&&(C.xq(this.v),C.zk(this.get("popupDistance")),this.Vp(C)?C.HTa()||this.v.trigger(k.oa):this.v.set("visible",!1))};a.prototype.Vp=function(C){return this.rqa(C.Kp)};a.prototype.AOa=function(C){C=C.cK;return!!C&&this.rqa([C])};a.prototype.rqa=function(C){if(this.get("visible")){C=("video"==this.get("itemVisible")?this.pb:this.Pa).Yt(C);for(var E=
0;E<C.length;E++){var F=C[E];if(r.Tv(F.source,F.x,F.y))return!0}}return!1};return a});
define("cM",["require","kV","iG"],function(a){var d=a("kV"),h=a("iG");a=d.extend(h,function(){h.call(this);this.Uw&&this.Uw();this.wn&&this.wn()});a.prototype.Kb=function(){h.prototype.Kb.call(this);this.On&&this.On();this.iG&&this.iG()};a.prototype.Pb=function(){this.Qn&&this.Qn();this.jG&&this.jG();h.prototype.Pb.call(this)};a.prototype.ca=function(l){this.Bf&&this.Bf(l);h.prototype.ca.call(this,l);this.cq&&this.cq(l)};return a});
define("js",["require","og"],function(a){var d=a("og");return{Uw:function(){this.set("beamEnabled",!1);this.Vc=!1;this.py=this.qy=void 0},cq:function(h){this.qy=h.Ra;this.py=h.pitch},$m:function(h){if(h.Ue==d.Wl){var l=!h.Ak()&&this.Vp(h);if(l){h.Ny(this.v);this.v.get("useHandCursor")&&h.Oy(this.v);h.zk(this.get("distance"));var k=this.Lb(h.lD());k&&h.eX(k,this.Cy(h.lD()))}this.Vc!=l&&(this.Vc=l,this.v.trigger(this.Vc?d.$c:d.ac),h.zs()&&this.v.trigger(this.Vc?d.Vz:d.Jo))}else h.Ue==d.Ij&&!h.Ak()&&
this.Vp(h)&&(1<this.v.HH(d.oa,!0).length&&h.xq(this.v),h.zk(this.get("distance")),this.v.trigger(d.oa))},Vp:function(h){return this.get("beamEnabled")&&0<this.c4().Yt(h.Kp).length?!0:!1},Lb:function(h){return!h||this.v.get("displayTooltipInTouchScreens")&&!1!==this.Aa.N.get("displayTooltipInTouchScreens")?this.v.get("toolTip",""):""},Cy:function(h){if(h){h=this.get("yaw")-this.qy;var l=this.get("pitch")-this.py;return Math.sqrt(h*h+l*l)}return 0}}});
define("bQ","require kV kh og cM nB mP js".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("cM"),b=a("nB"),g=a("mP");a=a("js");d=d.extend(k,a,function(f){k.call(this);this.v=f;this.iB=this.x3=this.B4=null;this.Zj.push(this.v);this.Jf=this.Jf.bind(this);this.No(["loadingActive","panoramaPixelsPerDegree"]);this.set("tag","FrameHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("inScreenshot",!1);this.set("overlaysEnabled",!0);this.set("interactionEnabled",!0);this.set("contentInteractive",
!1);this.set("transparent",!1);this.set("centerOverDisplay",!1);this.set("loadingActive",!1);this.set("visible",!1);this.set("loaded",!1);this.set("inView",!1);this.set("frameHidden",!0);this.zd=this.nr=this.Pd=this.mf=null});d.prototype.Kb=function(){this.mf=(new b(l.aa)).Rl(this.EB.bind(this));this.Pd=(new b(l.rc)).ro(this.IB.bind(this));this.cEa();k.prototype.Kb.call(this);h.ma(this.v,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),
this.Jf,!0)};d.prototype.Pb=function(){this.mf.dispose();this.Pd.dispose();h.ka(this.v,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),this.Jf);this.Qha();this.Sha();k.prototype.Pb.call(this)};d.prototype.Jf=function(){this.set("url",this.v.get("url"));this.zd.set("url",this.get("url"));this.set("image",this.v.get("image"));this.Pa.set("image",this.get("image"));this.Pa.set("level",this.get("image")&&g.Gta(this.v,this.get("panoramaPixelsPerDegree")));
this.set("enabled",this.v.get("enabled"));this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration",this.v.get("fadeOutDuration"));this.set("interactionEnabled",this.v.get("interactionEnabled"));this.set("contentInteractive",this.v.get("contentInteractive"));this.set("transparent",this.v.get("transparent"));this.Da()};d.prototype.ca=function(f){this.set("loaded",!!this.zd&&this.zd.get("frameLoaded"));this.set("inVR",f.Ab);this.set("inScreenshot",f.jD);this.set("hotspotsEnabled",
f.hD);k.prototype.ca.call(this,f);this.Sd(f)};d.prototype.cEa=function(){this.CJ();this.oEa();this.nEa();var f=[this.Pa,this.nr,this.zd];this.mf.gf(f);this.Pd.gf(f);this.Pg(f)};d.prototype.Sd=function(){this.set("globalBlendingActiveCopy",this.get("globalBlendingActive"));if(this.M("globalBlendingActive","globalBlendingActiveCopy","url","inVR","hotspotsEnabled","enabled","interactionEnabled","contentInteractive","composedTranslationX","composedTranslationY","composedTranslationZ")){var f=!(0!=this.get("composedTranslationX")||
0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"))&&0==this.get("globalBlendingActive")&&this.get("hotspotsEnabled")&&this.get("enabled")&&!this.get("inVR")&&!!this.get("url");this.set("visible",f);this.set("beamEnabled",f&&this.get("interactionEnabled"));this.zd.set("contentInteractive",f&&this.get("interactionEnabled")&&this.get("contentInteractive"))}this.set("frameHidden",!this.zd.get("geometryVisible"));this.M("visible","loaded","frameHidden","transparent","inScreenshot")&&
(this.get("visible")||this.set("loaded",!1),this.Pa.set("alpha",!this.get("visible")||!this.get("frameHidden")&&this.get("loaded")?0:1),this.Pa.set("alpha",1),this.nr.set("alpha",!this.get("visible")||this.get("frameHidden")||!this.get("loaded")||this.get("transparent")||this.get("inScreenshot")?0:1),this.zd.set("alpha",this.get("visible")?1:0),this.zd.set("transparent",this.get("transparent")),this.set("inView",this.get("visible")&&(this.get("loaded")||this.get("image"))),this.Da());this.M("inView")&&
this.v.trigger(this.get("inView")?l.hd:l.od)};d.prototype.CJ=function(){this.MA();this.Pa=new this.iB;this.Pa.set("image",this.get("image"));this.Pa.set("level",this.get("image")&&g.Gta(this.v,this.get("panoramaPixelsPerDegree")));this.Pa.set("visible",!0);this.Pa.set("alpha",0);this.set("imagePlane",this.Pa)};d.prototype.MA=function(){this.Pa&&(this.Pa.remove(),this.Pa=null,this.set("imagePlane",null))};d.prototype.nEa=function(){this.Qha();this.zd=new this.x3;this.zd.bind(l.aa,this.Bia,this,!0);
this.zd.set("url",this.get("url"));this.zd.set("visible",!0);this.zd.set("alpha",1);this.set("framePlane",this.zd)};d.prototype.Qha=function(){this.zd&&(this.zd.unbind(l.aa,this.Bia,this,!0),this.zd.remove(),this.zd=null,this.set("framePlane",null))};d.prototype.oEa=function(){this.Sha();this.nr=new this.B4;this.nr.set("visible",!0);this.nr.set("alpha",1);this.set("holePlane",this.nr)};d.prototype.Sha=function(){this.nr&&(this.nr.remove(),this.nr=null,this.set("holePlane",null))};d.prototype.c4=function(){return this.nr};
d.prototype.Bia=function(){this.Da()};d.prototype.EB=function(){this.trigger(l.Rc);this.trigger(l.aa)};d.prototype.IB=function(f,c){var e=0;c.ns(function(m){(m=c.Il(m))&&(e+=m.Og)});this.trigger(new ProgressEvent(l.rc,e/c.Sc.length))};return d});
define("fy",["require","kV","iG"],function(a){var d=a("kV"),h=a("iG");a=d.extend(h,function(){h.call(this);this.set("tag","ComposedCSSObject");this.set("transparent",!1);this.set("cssScene",null);this.set("cssSceneOver",null);this.set("cssObject",this.W1());this.It&&this.It();this.KA&&this.KA();this.Uw&&this.Uw();this.wn&&this.wn()});a.prototype.W1=function(){var l=new THREE.CSS3DObject;l.matrixAutoUpdate=!1;return l};a.prototype.Kb=function(){h.prototype.Kb.call(this);this.On&&this.On();this.VK&&
this.VK();this.iG&&this.iG()};a.prototype.Pb=function(){this.GF&&this.GF();this.jG&&this.jG();this.Qn&&this.Qn();var l=this.get("cssObject");l&&l.parent&&l.parent.remove(l);this.set("cssScene",null);h.prototype.Pb.call(this)};a.prototype.ca=function(l){this.Bf&&this.Bf(l);h.prototype.ca.call(this,l);this.set("cssScene",l.jO);this.set("cssSceneOver",l.kO);if(this.M("transparent")){var k=this.get("cssObject");k&&k.parent&&k.parent.remove(k)}this.M("cssScene","cssSceneOver","transparent")&&(k=this.get("transparent")?
l.kO:l.jO)&&k.add(this.get("cssObject"));this.zl();this.tj&&this.tj(l);this.jv&&this.jv(l);this.FC()};a.prototype.zl=function(){this.M("composedAlpha","meshGroup")&&this.Aw()};a.prototype.Aw=function(){this.get("cssObject").element.style.display=0<this.get("composedAlpha")?"block":"none"};a.prototype.FC=function(){this.M("index")&&(this.get("cssObject").containerElement.style.zIndex=this.get("index"))};return a});
define("eb",["require","gG","a"],function(a){var d=a("gG"),h=a("a"),l=new THREE.Matrix4,k=Math.PI/180;return{It:function(){this.set("vertices",void 0);this.dh=new THREE.Matrix4;this.yd=new THREE.Matrix4;this.Pn=new THREE.Matrix4;this.jm=new THREE.Matrix4;this.qp=new THREE.Matrix4},W1:function(){var b=new THREE.CSS3DQuad;b.matrixAutoUpdate=!1;return b},jv:function(b){var g=!1;if(this.M("vertices","contentWidth","contentHeight")){var f=this.get("vertices");g=h.ps(f[0].get("yaw")*k,f[0].get("pitch")*
k).normalize();var c=h.ps(f[1].get("yaw")*k,f[1].get("pitch")*k).normalize(),e=h.ps(f[2].get("yaw")*k,f[2].get("pitch")*k).normalize();f=h.ps(f[3].get("yaw")*k,f[3].get("pitch")*k).normalize();var m=this.get("cssObject");m.vertices[0].set(g.x,g.y,-g.z);m.vertices[1].set(c.x,c.y,-c.z);m.vertices[2].set(e.x,e.y,-e.z);m.vertices[3].set(f.x,f.y,-f.z);m.contentWidth=this.get("contentWidth");m.contentHeight=this.get("contentHeight");g=!0}c=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&
(this.dh.makeTranslation(.5*-this.get("composedTranslationX")*d.uf,.5*this.get("composedTranslationY")*d.uf,.5*this.get("composedTranslationZ")*d.uf),c=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.yd.makeRotationY(-b.Ra*k),this.yd.multiply(l.makeRotationX(-this.get("composedDeltaPitch")*k)),this.yd.multiply(l.makeRotationY(this.get("composedDeltaYaw")*k)),this.yd.multiply(l.makeRotationY(b.Ra*k)),c=!0);if(c||this.M("meshGroup"))this.qp.copy(this.dh),this.qp.multiply(this.yd),
this.get("cssObject").matrix.copy(this.qp),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.Ra);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.Re);this.set("cameraHfov",b.te);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(c||g||this.M("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.M("geometryVisible")&&
this.V7())}}});
define("dK","require hE gG eg jY a".split(" "),function(a){var d=a("hE"),h=a("gG"),l=a("eg"),k=a("jY"),b=a("a"),g=new THREE.Matrix4,f=Math.PI/180;return{It:function(){this.set("distance",void 0);this.set("vertices",void 0);this.Fg=null;this.dh=new THREE.Matrix4;this.yd=new THREE.Matrix4;this.tl=new THREE.Matrix4;this.$h=new THREE.Matrix4},jv:function(c){this.sQa(c);this.aq(c)},gF:function(){var c=this.get("meshGroup");return c?l.Ck(c)[0]:null},vn:function(){this.Fg||(this.Fg=this.Tw());return[0].map(function(c){var e=
this.BJ();c=l.create(this.Fg[c],e);k.Mv(c,k.Ho);k.Nv(c,k.Iq);k.BD(c,d.JI);k.AP(c,1);return c}.bind(this))},sQa:function(){if(this.M("vertices")){var c=this.get("meshGroup");if(c)return this.Fg&&this.Fg.forEach(function(e){h.dispose(e)}),this.Fg=this.Tw(),l.Ck(c).map(function(e,m){l.nca(e,this.Fg[m])}.bind(this))}},Tw:function(){function c(w){return 0==w||isNaN(w)||!isFinite(w)}var e=this.get("vertices")||[];if(4!=e.length)return[h.Rsa(-1,1,1,1,1,1,1,-1,1,-1,-1,1)];var m=b.ps(e[0].get("yaw")*f,e[0].get("pitch")*
f).normalize(),q=b.ps(e[1].get("yaw")*f,e[1].get("pitch")*f).normalize(),p=b.ps(e[2].get("yaw")*f,e[2].get("pitch")*f).normalize();e=b.ps(e[3].get("yaw")*f,e[3].get("pitch")*f).normalize();var n=m.clone().pX(p),r=e.clone().pX(q),t=n.clone().pX(r).normalize();r=(2*m.y*t.x/m.x-2*t.y)/(-p.y+m.y*p.x/m.x);c(r)&&(r=(2*m.z*t.x/m.x-2*t.z)/(-p.z+m.z*p.x/m.x));c(r)&&(r=(2*m.z*t.y/m.y-2*t.z)/(-p.z+m.z*p.y/m.y));var u=(2*t.x-p.x*r)/m.x;c(u)&&(u=(2*t.y-p.y*r)/m.y);c(u)&&(u=(2*t.z-p.z*r)/m.z);n=(2*q.y*t.x/q.x-
2*t.y)/(-e.y+q.y*e.x/q.x);c(n)&&(n=(2*q.z*t.x/q.x-2*t.z)/(-e.z+q.z*e.x/q.x));c(n)&&(n=(2*q.z*t.y/q.y-2*t.z)/(-e.z+q.z*e.y/q.y));var v=(2*t.x-e.x*n)/q.x;c(v)&&(v=(2*t.y-e.y*n)/q.y);c(v)&&(v=(2*t.z-e.z*n)/q.z);m=m.kI(u);q=q.kI(v);p=p.kI(r);e=e.kI(n);return[h.Rsa(m.x,m.y,-m.z,q.x,q.y,-q.z,p.x,p.y,-p.z,e.x,e.y,-e.z)]},aq:function(c){var e=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.dh.makeTranslation(.5*-this.get("composedTranslationX")*h.uf,.5*this.get("composedTranslationY")*
h.uf,.5*this.get("composedTranslationZ")*h.uf),e=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.yd.makeRotationY(-c.Ra*f),this.yd.multiply(g.makeRotationX(-this.get("composedDeltaPitch")*f)),this.yd.multiply(g.makeRotationY(this.get("composedDeltaYaw")*f)),this.yd.multiply(g.makeRotationY(c.Ra*f)),e=!0);this.M("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&(c=0==this.ga.get("composedTranslationX")&&0==this.ga.get("composedTranslationY")&&
0==this.ga.get("composedTranslationZ")&&void 0!==this.get("distance")?h.aD(this.get("distance")):h.tv(),this.tl.makeScale(c,c,c),e=!0);if(e||this.M("meshGroup"))this.$h.copy(this.dh),this.$h.multiply(this.yd),this.$h.multiply(this.tl),c=l.Ck(this.get("meshGroup")),l.lq(c[0],this.$h)}}});
define("cl",["require","og"],function(a){var d=a("og");return{KA:function(){this.set("visible",!1);this.set("inView",!1);this.set("url",!1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("contentInteractive",!1);this.set("frameLoaded",!0);this.vc=this.Td=null;this.xS=void 0;this.YW=this.YW.bind(this);this.ZW=this.ZW.bind(this);this.$W=this.$W.bind(this);this.hB=this.hB.bind(this);this.H4=this.H4.bind(this)},tj:function(){this.M("cssObject")&&(this.pEa(),this.get("cssObject").element.appendChild(this.Td));
this.M("url")&&this.TMa(this.get("url"));this.M("contentWidth","contentHeight")&&(this.Td.style.width=this.get("contentWidth")+2+"px",this.Td.style.height=this.get("contentHeight")+2+"px");this.M("contentInteractive")&&(this.Td.style.pointerEvents=this.get("contentInteractive")?"auto":"none")},zl:function(){this.M("composedAlpha")&&(0<this.get("composedAlpha")?this.vc&&!this.vc.parentNode&&(this.fra(),this.Td.appendChild(this.vc)):this.vc&&this.vc.parentNode&&this.Td.removeChild(this.vc))},VK:function(){this.trigger(d.Rc);
this.get("frameLoaded")&&this.trigger(d.aa)},GF:function(){this.yDa()},ZW:function(h){h.preventDefault();h.stopImmediatePropagation()},YW:function(){this.Aa.jc.wD(null)},$W:function(h){h.preventDefault();h.stopImmediatePropagation()},hB:function(){this.set("frameLoaded",!0);this.trigger(d.aa)},H4:function(){this.yS=null;this.hB()},pEa:function(){this.vc||(this.Td=document.createElement("div"),this.Td.style.position="absolute",this.Td.style.left=this.Td.style.top="-1px",this.get("cssObject").isCSS3DObject&&
(this.Td.style.transform="translate(-50%, -50%)"),this.Td.style.overflow="hidden",this.Td.style["-webkit-overflow-scrolling"]="touch",this.Td.addEventListener("mouseenter",this.YW,!0),this.Td.addEventListener("mousemove",this.ZW,!0),this.Td.addEventListener("mousewheel",this.$W,!0),this.vc=document.createElement("iframe"),this.vc.setAttribute("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),this.vc.setAttribute("frameborder",
"0"),this.vc.setAttribute("scrolling","auto"),this.vc.style.width="100%",this.vc.style.height="100%",this.vc.addEventListener("load",this.hB,!0),0<this.get("composedAlpha")&&this.Td.appendChild(this.vc))},yDa:function(){this.vc&&(this.vc.src="",this.O7(),this.Nw(),this.vc.parentNode&&this.vc.parentNode.removeChild(this.vc),this.vc=null);this.Td&&(this.Td.parentNode&&this.Td.parentNode.removeChild(this.Td),this.Td.removeEventListener("mouseenter",this.YW,!0),this.Td.removeEventListener("mousemove",
this.ZW,!0),this.Td.removeEventListener("mousewheel",this.$W,!0),this.Td=null)},TMa:function(h){this.xS!==h&&(this.xS=h,this.set("frameLoaded",!1),this.fra())},fra:function(){this.xS?(this.XMa(),this.ABa(),this.vc.src=this.xS):(this.Nw(),this.O7(),this.vc.src="",this.hB())},XMa:function(){this.Nw();this.yS=setTimeout(this.H4,3E3)},Nw:function(){this.yS&&(clearTimeout(this.yS),this.yS=null)},ABa:function(){this.O7();this.vc.addEventListener("load",this.hB,!0)},O7:function(){this.vc.removeEventListener("load",
this.hB,!0)}}});define("kc",["require","eg","og"],function(a){var d=a("eg"),h=a("og");return{KA:function(){this.get("materialConfig").params.blending=THREE.NoBlending},VK:function(){this.trigger(h.Rc);this.trigger(h.aa)},zl:function(){this.M("meshGroup","composedAlpha")&&d.ff(this.get("meshGroup"),0<this.get("composedAlpha")?.001:0)}}});
define("mh",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,["playbackPositions","width","height"],this.Nd,!0)},Qn:function(){d.ka(this.v,["playbackPositions","width","height"],this.Nd)},Nd:function(){this.set("playbackPositions",this.v.get("playbackPositions"));this.set("contentWidth",this.v.get("width"));this.set("contentHeight",this.v.get("height"))},Bf:function(){this.M("playbackPositions",
"currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("vertices",this.jb.Naa()));this.M("framePlane","holePlane","imagePlane","vertices")&&this.Jb().forEach(function(l){l.set("vertices",this.get("vertices"));l.set("contentWidth",this.get("contentWidth"));l.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("ji","require kV bQ fy c eb dK cl gH kc mh".split(" "),function(a){var d=a("kV"),h=a("bQ"),l=a("fy"),k=a("c"),b=a("eb"),g=a("dK"),f=a("cl"),c=a("gH"),e=a("kc");a=a("mh");var m=d.extend(k,g,c,function(){k.call(this);this.set("tag","QuadFrameHotspotImage")}),q=d.extend(l,b,f,function(){l.call(this);this.set("tag","QuadFrameHotspotFrame")}),p=d.extend(k,g,e,function(){k.call(this);this.set("tag","QuadFrameHotspotHole")});return d.extend(h,a,function(n){h.call(this,n);this.iB=m;this.x3=q;this.B4=
p})});
define("jb",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,["vertices","distance","playbackPositions"],this.Nd,!0)},Qn:function(){d.ka(this.v,["vertices","distance","playbackPositions"],this.Nd)},Nd:function(){this.set("distance",this.v.get("distance"));this.set("vertices",this.v.get("vertices"));this.set("playbackPositions",this.v.get("playbackPositions"))},Bf:function(){this.M("playbackPositions",
"currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("vertices",this.jb.Naa()),this.set("alpha",this.jb.Dk()))}}});
define("iL","require kV kh og eg c dK gH od jb mP".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("eg"),b=a("c"),g=a("dK"),f=a("gH"),c=a("od"),e=a("jb"),m=a("mP"),q=0;a=d.extend(b,g,e,f,c,function(p){b.call(this);this.set("tag","QuadHotspotImage");this.set("id","quad_hs_image_"+q++);this.set("side",THREE.DoubleSide);this.v=p;this.Zj.push(this.v);this.Kf=this.Kf.bind(this)});a.prototype.Kb=function(){b.prototype.Kb.call(this);h.ma(this.v,["image.levels"],this.Kf,!0)};a.prototype.Pb=function(){h.ka(this.v,
["image.levels"],this.Kf);b.prototype.Pb.call(this)};a.prototype.Kf=function(){this.set("image",this.v.get("image"));this.set("level",m.QSa(this.v))};a.prototype.ca=function(p){this.BC();b.prototype.ca.call(this,p);this.M("inView")&&this.v.trigger(this.get("inView")?l.hd:l.od)};a.prototype.BC=function(){if(this.M("meshGroup","panoramaId","id")){var p=this.get("meshGroup");p&&p.children.forEach(function(n){k.setAttribute(n,k.uz,this.get("panoramaId"));k.setAttribute(n,k.AZ,this.get("id"))}.bind(this))}};
return a});
define("iE",["require","og","kx"],function(a){function d(b,g){this.jc=b;this.Jc=g;this.qb=!1;this.yU=!0;this.a1=this.R6=!1;this.D0();this.c6()}var h=a("og"),l=a("kx");d.prototype.clear=function(){this.xma();this.K7()};d.prototype.Rf=function(b){this.qb!=b&&(this.qb=b,this.Zr())};d.prototype.lWa=function(b){this.yU!=b&&((this.yU=b)&&this.xma(),this.Zr())};d.prototype.Zr=function(){if(!this.qb||this.yU)this.Jc.set("state",l.S);else if(this.Jc.get("autoplay")||this.a1)this.a1=!1,this.Jc.set("state",l.X)};
d.prototype.c6=function(){if(!this.R6){var b=this.Jc.get("video").get("autoplayTime");void 0!==b&&this.Jc.get("video").get("autoplayTimeLimit")<(new Date).getTime()&&(b=void 0);this.Jc.set("currentTime",b);this.a1=void 0!==b}};d.prototype.xma=function(){this.R6||(this.R6=!0,this.Jc.get("state")==l.X?(this.Jc.get("video").set("autoplayTimeLimit",(new Date).getTime()+k),this.Jc.get("video").set("autoplayTime",this.Jc.get("currentTime",0))):this.Jc.get("video").set("autoplayTime",void 0))};d.prototype.D0=
function(){this.Jc.get("video").bind(h.G("autoplayTime"),this.c6,this,!0)};d.prototype.K7=function(){this.Jc.get("video").unbind(h.G("autoplayTime"),this.c6,this,!0)};var k=1E3;return d});
define("et",["require","og","er"],function(a){var d=a("og"),h=a("er");return{Uw:function(){this.set("beamEnabled",!1);this.Vc=!1;this.py=this.qy=void 0},cq:function(l){this.qy=l.Ra;this.py=l.pitch},$m:function(l){if(l.Ue==d.Wl){var k=!l.Ak()&&this.Vp(l)&&!this.get("blendingActive");if(k){l.Ny(this.v);this.v.get("useHandCursor")&&l.Oy(this.v);l.zk(this.get("distance"));var b=this.Lb(l.lD());b&&l.eX(b,this.Cy(l.lD()))}this.Vc!=k&&(this.Vc=k,this.v.trigger(this.Vc?d.$c:d.ac),l.zs()&&this.v.trigger(this.Vc?
d.Vz:d.Jo))}else l.Ue==d.Ij&&!l.Ak()&&this.Vp(l)&&(1<this.v.HH(d.oa,!0).length&&l.xq(this.v),l.zk(this.get("distance")),this.v.trigger(d.oa))},Vp:function(l){if(this.get("beamEnabled")){l=this.c4().Yt(l.Kp);for(var k=0;k<l.length;k++){var b=l[k];if(h.Tv(b.source,b.x,b.y))return!0}}return!1},Lb:function(l){return!l||this.v.get("displayTooltipInTouchScreens")&&!1!==this.Aa.N.get("displayTooltipInTouchScreens")?this.v.get("toolTip",""):""},Cy:function(l){if(l){l=this.get("yaw")-this.qy;var k=this.get("pitch")-
this.py;return Math.sqrt(l*l+k*k)}return 0}}});
define("eN","require kV kh og kx nD cM iE nB mP et kW nJ bD".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("kx"),b=a("nD"),g=a("cM"),f=a("iE"),c=a("nB"),e=a("mP"),m=a("et"),q=a("kW"),p=a("nJ"),n=a("bD");a=d.extend(g,m,function(r){g.call(this);this.v=r;this.G$=this.iB=null;this.Zj.push(this.v);this.Jf=this.Jf.bind(this);this.No(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("overlaysEnabled",
!0);this.set("enabledInVR",!0);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("centerOverDisplay",!1);this.set("loadingActive",!1);this.set("frameEmpty",!0);this.set("state",k.S);this.set("itemVisible","none");this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.pb=this.Pa=this.Pd=this.mf=null;this.H$=!1;this.er=[]});a.prototype.Kb=function(){this.mf=(new c(l.aa)).Rl(this.EB.bind(this));this.Pd=(new c(l.rc)).ro(this.IB.bind(this));
this.Ok=new f(this.Aa.jc,this.v);g.prototype.Kb.call(this);h.ma(this.v,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),this.Jf,!0)};a.prototype.Pb=function(){this.Ok.clear();this.mf.dispose();this.Pd.dispose();h.ka(this.v,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),
this.Jf);this.MA();this.bx();g.prototype.Pb.call(this)};a.prototype.Jf=function(){this.set("image",this.v.get("image"));this.set("imageLevel",e.ZSa(this.v,this.get("panoramaPixelsPerDegree")));this.set("video",this.v.get("video"));this.set("videoLevel",b.yj(this.get("video")));this.set("enabled",this.v.get("enabled"));this.set("enabledInStandard",this.v.get("enabledInStandard"));this.set("enabledInVR",this.v.get("enabledInVR"));this.set("fadeInDuration",this.v.get("fadeInDuration"));this.set("fadeOutDuration",
this.v.get("fadeOutDuration"));this.set("interactionEnabled",this.v.get("interactionEnabled"));this.set("state",this.v.get("state"));this.set("videoVisibleOnStop",this.v.get("videoVisibleOnStop"));this.set("blending",this.v.get("blending"));this.set("chromaColor",this.v.get("chromaColor"));this.set("chromaThreshold",this.v.get("chromaThreshold"));this.set("chromaSmoothing",this.v.get("chromaSmoothing"))};a.prototype.ca=function(r){this.set("inVR",r.Ab);this.set("hotspotsEnabled",r.hD);this.$p();this.AN();
g.prototype.ca.call(this,r);this.Zr();this.LN(r);this.Sd(r)};a.prototype.$p=function(){if(this.M("video","videoLevel","image","imageLevel")){var r=[];this.M("image","imageLevel")&&(this.CJ(),this.Pa&&r.push(this.Pa));this.M("video","videoLevel")&&(this.EJ(),this.pb&&r.push(this.pb));this.Pg(r);this.mf.gf(r);this.Pd.gf(r)}};a.prototype.AN=function(){this.M("video","videoLevel","image","imageLevel","blending","chromaColor","chromaThreshold","chromaSmoothing")&&this.Jb().forEach(function(r){r.set("blending",
this.get("blending"));r.set("chromaColor",this.get("chromaColor"));r.set("chromaThreshold",this.get("chromaThreshold"));r.set("chromaSmoothing",this.get("chromaSmoothing"))}.bind(this))};a.prototype.Zr=function(){this.M("video","composedAlpha","enabledInVR","enabledInStandard","enabled","inVR")&&this.Ok.Rf(0<this.get("composedAlpha")&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.M("blendingActive")&&
this.Ok.lWa(this.get("blendingActive"))};a.prototype.LN=function(){this.set("frameEmpty",!this.pb||this.pb.get("frameEmpty"))};a.prototype.Sd=function(r){var t=this.get("itemVisible");if(this.M("frameEmpty","state","image","video","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","enabled","interactionEnabled")){var u="none";this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))&&(this.pb&&(!this.Pa||
!this.get("frameEmpty")&&(this.get("state")!=k.S||this.H$&&this.get("videoVisibleOnStop")))?u="video":this.Pa&&(u="image"),this.get("state")!=k.S&&(this.H$=!0));this.set("itemVisible",u);this.set("beamEnabled","none"!=u&&this.get("interactionEnabled"))}if(this.M("itemVisible")){u="none"!=this.get("itemVisible");var v="none"!=t;if(u&&v&&!this.get("chromaColor")&&0==this.er.length)this.Pa&&this.Pa.set("alpha","image"==this.get("itemVisible")?1:0),this.pb&&this.pb.set("alpha","video"==this.get("itemVisible")?
1:0);else{t=u==v?100:u?this.get("fadeInDuration"):this.get("fadeOutDuration");u!=v&&this.v.trigger(u?l.hd:l.od);v=this.Pa?this.Pa.get("alpha"):0;var w=this.pb?this.pb.get("alpha"):0;u=[{video:w,image:v}];"video"==this.get("itemVisible")?(u.push({video:1,image:v,time:t*(1-w)}),u.push({video:1,image:0,time:50*(v-0)})):"image"==this.get("itemVisible")?(u.push({video:w,image:1,time:t*(1-v)}),u.push({video:0,image:1,time:50*(w-0)})):u.push({video:0,image:0,time:Math.max(w,v,1/t)*t});this.er=[];for(t=1;t<
u.length;t++)0<u[t].time&&this.er.push(new p("linear",[new n("imageAlpha",u[t-1].image,u[t].image),new n("videoAlpha",u[t-1].video,u[t].video)],u[t].time))}}0<this.er.length&&(this.er[0].Fe()?this.er.shift():this.er[0].wb(r.se),0<this.er.length&&(this.Pa&&this.Pa.set("alpha",this.er[0].$a("imageAlpha")),this.pb&&this.pb.set("alpha",this.er[0].$a("videoAlpha")),this.Da()))};a.prototype.CJ=function(){this.MA();this.get("image")&&this.get("imageLevel")&&(this.Pa=new this.iB,this.Pa.set("image",this.get("image")),
this.Pa.set("level",this.get("imageLevel")),this.Pa.set("visible",!0),this.Pa.set("alpha",0),this.Pa.set("side",THREE.DoubleSide))};a.prototype.MA=function(){this.Pa&&(this.Pa.remove(),this.Pa=null)};a.prototype.EJ=function(){this.bx();this.get("video")&&this.get("videoLevel")&&(this.pb=new this.G$,this.pb.set("scriptObject",this.v),this.pb.set("video",this.get("video")),this.pb.set("level",this.get("videoLevel")),this.pb.set("visible",!0),this.pb.set("alpha",0),this.pb.set("side",THREE.DoubleSide))};
a.prototype.bx=function(){this.pb&&(this.pb.remove(),this.pb=null)};a.prototype.EB=function(){this.trigger(l.Rc);this.trigger(l.aa)};a.prototype.IB=function(r,t){var u=0;t.ns(function(v){(v=t.Il(v))&&(u+=v.Og)});this.trigger(new q(l.rc,u/t.Sc.length))};a.prototype.c4=function(){return"video"==this.get("itemVisible")?this.pb:this.Pa};return a});
define("gr","require og kx cp eg he lW ls eS jR nD".split(" "),function(a){var d=a("og"),h=a("kx"),l=a("cp"),k=a("eg");a("he");var b=a("lW"),g=a("ls"),f=a("eS"),c=a("jR"),e=a("nD");return{KA:function(){this.set("visible",!1);this.set("inView",!1);this.set("frameEmpty",!0);this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",null);this.set("video",null);this.set("level",null);this.set("loop",!1);this.set("side",void 0);
this.hb=this.pb=null;this.H$=!1;this.qW=this.Jh=this.av=this.Ha=this.Zo=this.Z=null},GF:function(){this.bx()},tj:function(m){this.tQa();this.AN();this.LN(m)},tQa:function(){this.M("scriptObject","video","level")&&(this.bx(),this.pb=this.get("video"),this.hb=this.get("level"),this.v=this.get("scriptObject"),this.EJ())},AN:function(){if(this.M("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.pb){var m=new l.jn(this.pb.li());m.Ry=this.get("blending");m.js=this.get("chromaColor");
m.gO=this.get("chromaThreshold");m.fO=this.get("chromaSmoothing");m.side=this.get("side");this.set("materialConfig",m)}},zl:function(){this.M("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha"));this.M("composedAlpha","meshGroup","inView")&&k.ff(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},LN:function(){var m=this.Z&&this.Z.IX(),q=!!m&&m.isEmpty();q&&!this.get("frameEmpty")&&this.Z.getState()==h.X&&this.v.get("loop")&&
(m=this.Jh,q=!1);this.set("frameEmpty",q);!this.Jh||m&&!this.Jh.isEqual(m)?(this.Jh=m,this.qW.Ol(this.Jh.PA),this.qW.update(),this.Da()):this.Z.getState()==h.X&&this.Da()},EJ:function(){this.pb&&this.hb&&this.v&&(this.set("textureSource",this.qW=new f),this.set("contentWidth",this.hb.get("width")),this.set("contentHeight",this.hb.get("height")),this.set("alpha",0),this.Z=new e(this.Aa.jc,this.pb),this.Z.rVa(),this.Zo=new b(this.v,this.Z),this.Ha=new g(this.Aa.jc,this.v,this.Z),this.av=new c(this.Aa.wc.get("panorama"),
this.Z),this.qt(),this.trigger(d.Rc),this.trigger(d.aa))},bx:function(){this.Z&&(this.set("textureSource",this.qW=null),this.Ou(),this.Ha.clear(),this.Ha=null,this.Zo.clear(),this.Zo=null,this.av.clear(),this.av=null,this.Z.clear(),this.Jh=this.Z=null,this.set("frameEmpty",!0),this.hb=this.pb=null)},qt:function(){this.Z.bind(e.vf,this.Me,this,!0);this.Z.bind(d.ge,this.nf,this,!0)},Ou:function(){this.Z.unbind(e.vf,this.Me,this,!0);this.Z.unbind(d.ge,this.nf,this,!0)},nf:function(){this.Da()},Me:function(){this.Da()}}});
define("nI",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,["playbackPositions","distance"],this.Nd,!0)},Qn:function(){d.ka(this.v,["playbackPositions","distance"],this.Nd)},Nd:function(){this.set("distance",this.v.get("distance"));this.set("playbackPositions",this.v.get("playbackPositions"))},Bf:function(){this.M("playbackPositions","currentTime")&&
(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("vertices",this.jb.Naa()),this.set("alpha",this.jb.Dk()));this.M("video","image","vertices","distance")&&this.Jb().forEach(function(l){l.set("vertices",this.get("vertices"));l.set("distance",this.get("distance"))}.bind(this))}}});
define("jN","require kV eN c dK gH gr nI".split(" "),function(a){var d=a("kV"),h=a("eN"),l=a("c"),k=a("dK"),b=a("gH"),g=a("gr");a=a("nI");var f=d.extend(l,k,b,function(){l.call(this);this.set("tag","QuadVideoHotspotImage")}),c=d.extend(l,k,g,function(){l.call(this);this.set("tag","QuadVideoHotspotVideo")});return d.extend(h,a,function(e){h.call(this,e);this.iB=f;this.G$=c})});
define("ks","require kV kh kx jH ne u".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("kx"),k=a("jH"),b=a("ne"),g=a("u");a=d.extend(k,function(f){k.call(this);this.v=f;this.ck=this.ck.bind(this);this.dk=this.dk.bind(this);this.bm()});a.prototype.Kb=function(){k.prototype.Kb.call(this);this.v.set("state",this.v.get("startState"));h.ma(this.v,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.ck,!0);h.ma(this.v,["state"],this.dk,
!0)};a.prototype.Pb=function(){h.ka(this.v,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.ck);h.ka(this.v,["state"],this.dk);this.v.set("state",l.S);k.prototype.Pb.call(this)};a.prototype.ck=function(){this.bm();this.wM()};a.prototype.dk=function(){this.SU=this.v.get("state");this.Da()};a.prototype.bm=function(){k.prototype.bm.call(this);if(g.Ef()){this.UA=this.sr=4;this.TB=2400;this.VA=1200;var f=1.5;var c=1.6}else this.sr=2,
this.UA=4,this.TB=4800,this.VA=2400,c=f=1;var e=this.v.get("intensity",.5);this.uc=b.eP(this.v.get("color","#ffffff"));this.$L=.24*this.v.get("opacity",.25)+.01;this.$L*=2;this.iy=(e*(.37-.17)+.17)*f;f=(this.v.get("speed",.5)*(.09-.02)+.02)/this.iy*c;this.aL=.9*f;this.BB=1.1*f;this.TB=Math.round(this.v.get("particleCount",this.TB)*e);this.VA=Math.round(this.v.get("farPlaneParticleCount",this.VA)*e);this.qT=0;this.np=2;this.tr=-2;this.H5=0;this.bJ=.75;this.LJ=.5;this.JS=this.v.get("initialState");
this.$V=this.v.get("startDuration");this.fW=this.v.get("stopDuration");this.sr=this.v.get("maxDistance",this.sr);this.UA=this.v.get("farPlaneDistance",this.UA);this.Jy()};a.prototype.zR=function(){var f=new THREE.MeshBasicMaterial;f.color=new THREE.Color(this.uc[0]/255,this.uc[1]/255,this.uc[2]/255);f.side=THREE.FrontSide;f.transparent=!0;f.depthTest=!1;f.needsUpdate=!0;this.ZA||(this.ZA=new THREE.BoxGeometry(.01,.2,.01));return new THREE.Mesh(this.ZA,f)};a.prototype.Jy=function(){var f=this.Yf&&
this.Yf.children||[],c=new THREE.Color(this.uc[0]/255,this.uc[1]/255,this.uc[2]/255);f.forEach(function(e){e.material.color=c;e.material.needsUpdate=!0})};return a});
define("gd","require kV y og cu iG".split(" "),function(a){var d=a("kV"),h=a("y"),l=a("og"),k=a("cu"),b=a("iG"),g=d.extend(b,function(f,c,e,m){b.call(this);this.jc=f;this.N=c;this.wc=e;this.j=m;this.kL=new h;this.x8(this);this.set("tag","Root");this.set("globalBlendingActive",0)});g.prototype.cf=function(f){return this.kL.get(f)};g.prototype.all=function(){for(var f=[],c=[this];0<c.length;){var e=c.pop();f.push(e);for(var m=e.Jd.length-1;0<=m;m--)c.push(e.Jd[m])}return f};g.prototype.update=function(f){var c=
this.all(),e=c.length,m;for(m=0;m<e;m++)c[m].CDa();for(m=0;m<e;m++)c[m].set("index",m);for(m=0;m<e;m++)c[m].Aa&&c[m].ca(f);for(m=0;m<e;m++)c[m].vDa();if(this.HS){for(m=0;m<e;m++)c[m].zDa();this.update(f)}};g.prototype.Da=function(){this.Of||this.trigger(new k(l.sa));b.prototype.Da.call(this)};g.prototype.xv=function(f){return Array.isArray(f)?f.map(this.xv.bind(this)):this.kL.get(f)||g.XRa.create(f)};return g});
define("fH","require kV kh kx jH u".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("kx"),k=a("jH"),b=a("u");a=d.extend(k,function(f){k.call(this);this.v=f;this.ck=this.ck.bind(this);this.dk=this.dk.bind(this);this.bm()});a.prototype.Kb=function(){k.prototype.Kb.call(this);this.v.set("state",this.v.get("startState"));h.ma(this.v,["intensity","speed"],this.ck,!0);h.ma(this.v,["state"],this.dk,!0)};a.prototype.Pb=function(){h.ka(this.v,["intensity","speed"],this.ck);h.ka(this.v,["state"],this.dk);
this.v.set("state",l.S);k.prototype.Pb.call(this)};a.prototype.ck=function(){this.bm();this.wM()};a.prototype.dk=function(){this.SU=this.v.get("state");this.Da()};a.prototype.bm=function(){k.prototype.bm.call(this);var f=this.v.get("intensity"),c=this.v.get("speed");if(b.kb()||b.browser()==b.xz){var e=1E3;var m=350;var q=1800;var p=400;var n=.8;var r=1.2}else b.Ef()?(e=1500,m=500,q=2500,p=500,n=.8,r=1.2):(e=3E3,m=1E3,q=5E3,p=1E3,n=.6,r=1);this.JS=this.v.get("initialState");this.$V=this.v.get("startDuration");
this.fW=this.v.get("stopDuration");this.bJ=.75;this.LJ=.5;this.sr=4;this.tr=-2;this.np=3;this.qT=35;this.UA=7;this.iy=(n+f*(r-n))/g;this.aL=this.BB=.15+1.35*c;this.TB=m+f*(e-m);this.VA=p+f*(q-p)};a.prototype.zR=function(){return new THREE.Sprite(this.JA())};a.prototype.JA=function(){var f=new THREE.SpriteMaterial;f.map=this.Xo();f.side=THREE.FrontSide;f.transparent=!0;f.depthTest=!1;f.needsUpdate=!0;return f};a.prototype.Xo=function(){if(this.tb)return this.tb;var f=document.createElement("canvas");
f.width=f.height=g;var c=f.getContext("2d"),e=c.createRadialGradient(.5*f.width,.5*f.height,.2*f.height,.5*f.width,.5*f.height,.5*f.height);e.addColorStop(0,"rgba(255, 255, 255, 0.8)");e.addColorStop(1,"rgba(255, 255, 255, 0)");c.fillStyle=e;c.fillRect(0,0,f.width,f.height);this.tb=new THREE.Texture;this.tb.image=f;this.tb.needsUpdate=!0;return this.tb};var g=32;return a});
define("cN",["require","gG","u"],function(a){var d=a("gG"),h=a("u"),l=new THREE.Matrix4,k=Math.PI/180;return{It:function(){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("hfov",void 0);this.set("vfov",null);this.dh=new THREE.Matrix4;this.yd=new THREE.Matrix4;this.Pn=new THREE.Matrix4;this.jm=new THREE.Matrix4;this.Mi=new THREE.Matrix4;this.tl=new THREE.Matrix4;this.qp=new THREE.Matrix4},
W1:function(){var b=h.fe()==h.vi||h.browser()==h.xz?new THREE.CSS3DRectangle:new THREE.CSS3DObject;b.matrixAutoUpdate=!1;return b},jv:function(b){if(this.M("contentWidth","contentHeight")){var g=this.get("cssObject");g.contentWidth=this.get("contentWidth");g.contentHeight=this.get("contentHeight");g.updateVertices()}g=!1;this.M("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.dh.makeTranslation(.5*-this.get("composedTranslationX")*d.uf,.5*this.get("composedTranslationY")*
d.uf,.5*this.get("composedTranslationZ")*d.uf),g=!0);this.M("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.yd.makeRotationY(-b.Ra*k),this.yd.multiply(l.makeRotationX(-this.get("composedDeltaPitch")*k)),this.yd.multiply(l.makeRotationY(this.get("composedDeltaYaw")*k)),this.yd.multiply(l.makeRotationY(b.Ra*k)),g=!0);this.M("yaw","pitch")&&(this.Pn.makeRotationY(-this.get("yaw")*k),this.Pn.multiply(l.makeRotationX(this.get("pitch")*k)),g=!0);if(this.M("flipHorizontally","hfov","vfov",
"composedTranslationX","composedTranslationY","composedTranslationZ")){g=this.get("contentWidth");var f=this.get("contentHeight"),c=this.get("hfov"),e=this.get("vfov");this.jm.makeTranslation(0,0,-(g/(2*Math.tan(c*k*.5))));var m=(this.get("flipHorizontally")?-1:1)*this.get("scale"),q=this.get("scale");e&&(q*=g*Math.tan(e*k*.5)/(f*Math.tan(c*k*.5)));this.tl.makeScale(m,q,1);g=!0}this.M("rotationX","rotationY","rotationZ","roll")&&(this.Mi.makeRotationZ(this.get("roll")*k),this.Mi.multiply(l.makeRotationY(this.get("rotationY")*
k)),this.Mi.multiply(l.makeRotationX(this.get("rotationX")*k)),this.Mi.multiply(l.makeRotationZ(this.get("rotationZ")*k)),g=!0);if(g||this.M("meshGroup"))this.qp.copy(this.dh),this.qp.multiply(this.yd),this.qp.multiply(this.Pn),this.qp.multiply(this.jm),this.qp.multiply(this.Mi),this.qp.multiply(this.tl),this.get("cssObject").matrix.copy(this.qp),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.Ra);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.Re);this.set("cameraHfov",
b.te);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(g||this.M("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.M("geometryVisible")&&this.V7())}}});
define("lN",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,["playbackPositions","width","height"],this.Nd,!0)},Qn:function(){d.ka(this.v,["playbackPositions","width","height"],this.Nd)},Nd:function(){this.set("playbackPositions",this.v.get("playbackPositions"));this.set("contentWidth",this.v.get("width"));this.set("contentHeight",this.v.get("height"))},Bf:function(){this.M("playbackPositions",
"currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("yaw",this.jb.get("yaw")),this.set("pitch",this.jb.get("pitch")),this.set("roll",this.jb.get("roll")),this.set("rotationX",this.jb.get("rotationX")),this.set("rotationY",this.jb.get("rotationY")),this.set("hfov",this.jb.get("hfov")),this.set("vfov",this.jb.get("vfov")));this.M("framePlane","holePlane","imagePlane","yaw","pitch","roll","rotationX","rotationY","hfov","vfov","contentWidth","contentHeight")&&
this.Jb().forEach(function(l){l.set("yaw",this.get("yaw"));l.set("pitch",this.get("pitch"));l.set("roll",this.get("roll"));l.set("rotationX",this.get("rotationX"));l.set("rotationY",this.get("rotationY"));l.set("hfov",this.get("hfov"));l.set("vfov",this.get("vfov"));l.set("contentWidth",this.get("contentWidth"));l.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("mk","require kV bQ fy c cN nw cl gH kc lN".split(" "),function(a){var d=a("kV"),h=a("bQ"),l=a("fy"),k=a("c"),b=a("cN"),g=a("nw"),f=a("cl"),c=a("gH"),e=a("kc");a=a("lN");var m=d.extend(k,g,c,function(){k.call(this);this.set("tag","RectangleFrameHotspotImage")}),q=d.extend(l,b,f,function(){l.call(this);this.set("tag","RectangleFrameHotspotFrame")}),p=d.extend(k,g,e,function(){k.call(this);this.set("tag","RectangleFrameHotspotHole")});return d.extend(h,a,function(n){h.call(this,n);this.iB=m;
this.x3=q;this.B4=p})});
define("ny",["require","kh","nb"],function(a){var d=a("kh"),h=a("nb");return{wn:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Nd=this.Nd.bind(this);this.jb=new h},On:function(){d.ma(this.v,["playbackPositions","distance","scaleMode"],this.Nd,!0)},Qn:function(){d.ka(this.v,["playbackPositions","distance","scaleMode"],this.Nd)},Nd:function(){this.set("scaleMode",this.v.get("scaleMode"));this.set("distance",this.v.get("distance"));this.set("playbackPositions",
this.v.get("playbackPositions"))},Bf:function(){this.M("playbackPositions","currentTime")&&(this.jb.mz(this.get("playbackPositions")),this.jb.lz(this.get("currentTime")),this.set("yaw",this.jb.get("yaw")),this.set("pitch",this.jb.get("pitch")),this.set("roll",this.jb.get("roll")),this.set("rotationX",this.jb.get("rotationX")),this.set("rotationY",this.jb.get("rotationY")),this.set("hfov",this.jb.get("hfov")),this.set("vfov",this.jb.get("vfov")),this.set("alpha",this.jb.Dk()));this.M("video","image",
"yaw","pitch","roll","rotationX","rotationY","hfov","vfov","distance","scaleMode","image","video")&&this.Jb().forEach(function(l){l.set("yaw",this.get("yaw"));l.set("pitch",this.get("pitch"));l.set("roll",this.get("roll"));l.set("rotationX",this.get("rotationX"));l.set("rotationY",this.get("rotationY"));l.set("hfov",this.get("hfov"));l.set("vfov",this.get("vfov"));l.set("scaleMode",this.get("scaleMode"));l.set("distance",this.get("distance"))}.bind(this))}}});
define("oj","require kV eN c nw gH gr ny".split(" "),function(a){var d=a("kV"),h=a("eN"),l=a("c"),k=a("nw"),b=a("gH"),g=a("gr");a=a("ny");var f=d.extend(l,k,b,function(){l.call(this);this.set("tag","RectangleVideoHotspotImage")}),c=d.extend(l,k,g,function(){l.call(this);this.set("tag","RectangleVideoHotspotVideo")});return d.extend(h,a,function(e){h.call(this,e);this.iB=f;this.G$=c})});
define("dL","require nc iG hp ir jr lO eK mQ fO W nr dD bB ji iL jN ks gd fH mk oj bW".split(" "),function(a){function d(z,C){Array.isArray(C)||(C=[C]);for(var E=0;E<C.length;E++)if(h.Ea(C[E],z))return!0;return!1}var h=a("nc"),l=a("iG"),k=a("hp"),b=a("ir"),g=a("jr"),f=a("lO"),c=a("eK"),e=a("mQ"),m=a("fO"),q=a("W"),p=a("nr"),n=a("dD"),r=a("bB"),t=a("ji"),u=a("iL"),v=a("jN"),w=a("ks"),x=a("gd"),y=a("fH"),A=a("mk"),B=a("oj");a("bW");a={};x.XRa=a;a.create=function(z){if(z instanceof l)return z;if(d(z,
["HDRPanorama","LivePanorama","Panorama","VideoPanorama"]))return new q(z);if(d(z,["CubicPanoramaFrame","SphericPanoramaFrame"]))return d(z,"SphericPanoramaFrame")&&z.Hl()?new n(z):new p(z);if(d(z,["DustPanoramaOverlay"]))return new b(z);if(d(z,"HotspotPanoramaOverlay"))return new f(z);if(d(z,["HotspotPanoramaOverlayImage","HotspotPanoramaOverlayMap"]))return new c(z);if(d(z,"Menu"))return new m(z);if(d(z,["CeilingCapPanoramaOverlay","TripodCapPanoramaOverlay"]))return new k(z);if(d(z,["FlatHotspotPanoramaOverlayImage",
"FlatHotspotPanoramaOverlayMap"]))return new g(z);if(d(z,["LensFlarePanoramaOverlay"]))return new e(z);if(d(z,["RainPanoramaOverlay"]))return new w(z);if(d(z,["SnowPanoramaOverlay"]))return new y(z);if(d(z,["PopupPanoramaOverlay"]))return new r(z);if(d(z,["QuadFramePanoramaOverlay"]))return new t(z);if(d(z,["QuadHotspotPanoramaOverlayImage","QuadHotspotPanoramaOverlayMap"]))return new u(z);if(d(z,["QuadVideoPanoramaOverlay"]))return new v(z);if(d(z,["FramePanoramaOverlay"]))return new A(z);if(d(z,
["VideoPanoramaOverlay"]))return new B(z);throw"Invalid script object";};return a});
define("cg",["require"],function(){var a={Uta:function(d,h,l,k,b,g){return a.iSa(d,h/k*2-1,2*-(l/b)+1,g)},iSa:function(d,h,l,k){k||=new THREE.Ray;k.origin.setFromMatrixPosition(d.matrixWorld);k.direction.set(h,l,.5).unproject(d).sub(k.origin).normalize();return k},xSa:function(d,h){h||=new THREE.Ray;h.origin.set(0,0,0);h.direction.set(0,0,-1).applyQuaternion(d.quaternion);return h},wSa:function(d,h){h||=new THREE.Ray;h.origin.set(0,0,0).applyMatrix4(d);h.direction.set(0,0,-1).applyMatrix4(d).sub(h.origin).normalize();
return h}};return a});
define("mb","require kV eg jc lr eS bu".split(" "),function(a){var d=a("kV"),h=a("eg"),l=a("jc"),k=a("lr"),b=a("eS"),g=a("bu");a=d.extend(l,function(){l.call(this);this.O=null;this.set("tag","Reticle");this.set("changing",!1);this.set("over",!1);this.set("overProgress",void 0);this.set("visible",!0);this.set("attachToCamera",!0);this.Nn=null});a.prototype.ca=function(f){this.$p(f);this.cg(f);this.Bf(f);l.prototype.ca.call(this,f)};a.prototype.$p=function(f){f.Ab&&!this.Nn&&g.getType()==g.cA.Jk&&this.Pg([this.Nn=
new l])};a.prototype.cg=function(f){this.O||(this.set("textureSource",new b),this.O=new k(this.Aa.N),this.get("textureSource").Ol(this.O.gg()),this.set("contentWidth",this.O.nd()),this.set("contentHeight",this.O.$d()),this.set("hfov",6),this.set("distance",this.Aa.N.get("vrPointerDistance")));this.M("changing")&&this.O.UY(this.get("changing"));this.M("over","overProgress")&&this.O.wca(this.get("over"),this.get("overProgress"));this.O.update(f.se)&&this.get("textureSource").update();this.get("changing")&&
this.Da()};a.prototype.Bf=function(){this.Nh()};a.prototype.zl=function(){this.M("composedAlpha","meshGroup","visible")&&this.Aw()};a.prototype.Aw=function(){h.ff(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a});
define("bj","require jquery.mod dY og u oB hd".split(" "),function(a){function d(c){this.bb=c;this.zqa=this.bb.Dn;this.bb.bind(k.ec,this.Xe,this);this.ja=h("<span></span>");this.ja.css({"pointer-events":"none",position:"absolute","z-index":b.DAa,"text-align":"center",display:"none"});this.be=h("<span></span>");this.be.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.ja.append(this.be);this.pW=h("<span></span>");this.pW.css({position:"relative"});this.ja.append(this.pW);this.Oi=this.MS=
this.Ag=null;this.Fu=this.Eu=void 0;this.fu=!1;this.Aqa=void 0}var h=a("jquery.mod"),l=a("dY"),k=a("og");a("u");var b=a("oB"),g=a("hd"),f={toolTip:void 0,toolTipBackgroundColor:"#F6F6F6",toolTipBackgroundOpacity:1,toolTipBorderColor:"#767676",toolTipBorderRadius:3,toolTipBorderSize:1,toolTipCentered:!1,toolTipCenteredOffsetY:void 0,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};d.prototype.yc=function(){return this.ja};d.prototype.wD=function(c){if(!this.zqa){for(;c&&
c.get("toolTipDisabled");)c=c.getParent();this.hide();this.Ag&&l(l(f).keys()).each(function(e){this.Ag.unbind(k.G(e),this.u6,this)},this);if(this.Ag=c)l(l(f).keys()).each(function(e){this.Ag.bind(k.G(e),this.u6,this)},this),this.u6()}};d.prototype.YWa=function(c,e){this.Ag=c;this.Aqa=e;this.US()||(this.fu?this.Lpa():this.dN())};d.prototype.Jpa=function(c,e,m){this.fu&&this.Ag.trigger(k.Jea);this.rPa(c);this.pW.html(this.BHa(e));this.Pga=m;this.Bf();this.Ag.trigger(k.CAa);this.fu=!0;this.ja.css("display",
"inline");(m||c.get("checkToolTipOcclusion"))&&this.KNa(c)};d.prototype.Bf=function(){var c=this.fp(),e=c.x;c=c.y;var m=this.ja.outerWidth(),q=this.ja.outerHeight();if(this.Pga){e-=.5*this.ja.width();var p=this.Ag.get("toolTipCenteredOffsetY");c=void 0===p?c-.5*this.ja.height():0<p?c+p:c-(this.ja.height()-p)}e=Math.max(Math.min(e,this.bb.Va()-m-3),3);c=Math.max(Math.min(c,this.bb.zb()-q-3),3);this.ja.css("left",e+"px");this.ja.css("top",c+"px")};d.prototype.fp=function(){var c={};if(this.Pga){var e=
this.Ag.yc().offset();c.x=e.left+.5*this.Ag.Va();c.y=e.top+.5*this.Ag.zb()}else c.x=this.Eu,c.y=this.Fu+25;return c};d.prototype.hide=function(){this.EA();this.cqa();this.fu&&(this.ja.css("display","none"),this.Ag.trigger(k.Jea),this.fu=!1)};d.prototype.u6=function(){this.Ag.get("toolTip")?this.US()||(this.fu?this.Kpa():this.dN()):this.US()?this.EA():this.fu&&this.hide()};d.prototype.Xe=function(c){this.Eu=c.pageX;this.Fu=c.pageY;this.fu&&this.Ag.get("toolTipFollowMouse")&&this.Bf()};d.prototype.Kpa=
function(){this.Jpa(this.Ag,this.Ag.get("toolTip"),this.Ag.get("toolTipCentered"))};d.prototype.Lpa=function(){this.Jpa(this.Ag,this.Aqa,!0)};d.prototype.US=function(){return null!=this.Oi};d.prototype.dN=function(){var c=this.Ag&&this.Ag.get("toolTipDisplayTime");if(void 0===c||null===c)c=f.toolTipDisplayTime;this.EA();this.Oi=setTimeout(function(){this.Oi=null;this.zqa?this.Lpa():this.Kpa()}.bind(this),c)};d.prototype.EA=function(){this.US()&&(clearTimeout(this.Oi),this.Oi=null)};d.prototype.KNa=
function(c){var e=this.fp();this.cqa();var m=function(){this.ja.css("display",this.fu&&!this.CIa(c,e.x,e.y)?"inline":"none")}.bind(this);this.MS=setInterval(m,300);m()};d.prototype.cqa=function(){this.MS&&(clearInterval(this.MS),this.MS=null)};d.prototype.rPa=function(c){function e(n){var r=c.get(n);return void 0===r?f[n]:r}var m={};m.opacity=e("toolTipOpacity");m.filter=m["-ms-filter"]="alpha(opacity="+Math.round(100*e("toolTipOpacity"))+")";m.paddingTop=e("toolTipPaddingTop")+"px";m.paddingBottom=
e("toolTipPaddingBottom")+"px";m.paddingLeft=e("toolTipPaddingLeft")+"px";m.paddingRight=e("toolTipPaddingRight")+"px";m["text-align"]=e("toolTipHorizontalAlign");this.ja.css(m);m={};m.opacity=e("toolTipBackgroundOpacity");m.filter=m["-ms-filter"]="alpha(opacity="+Math.round(100*e("toolTipBackgroundOpacity"))+")";m["background-color"]=e("toolTipBackgroundColor");m.border=[e("toolTipBorderSize")+"px","solid",e("toolTipBorderColor")].join(" ");var q=e("toolTipShadowColor");m["-moz-box-shadow"]=m["-webkit-box-shadow"]=
m["box-shadow"]=[e("toolTipShadowHorizontalLength")+"px",e("toolTipShadowVerticalLength")+"px",e("toolTipShadowBlurRadius")+"px",e("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+q.substr(1,2))+", "+parseInt("0x"+q.substr(3,2))+", "+parseInt("0x"+q.substr(5,2))+", "+e("toolTipShadowOpacity")+")"].join(" ");m["-moz-border-radius"]=m["-webkit-border-radius"]=m.borderRadius=e("toolTipBorderRadius")+"px";this.be.css(m);m={};m["font-family"]=g.qv(e("toolTipFontFamily"));q=e("toolTipFontSize");l(q).isNumber()?
q+="px":l(q).isString()||(q="");m["font-size"]=q;m["font-weight"]=e("toolTipFontWeight");m["font-style"]=e("toolTipFontStyle");m.color=e("toolTipFontColor");q=e("toolTipTextShadowColor");m["-moz-text-shadow"]=m["-webkit-text-shadow"]=m["text-shadow"]=[e("toolTipTextShadowHorizontalLength")+"px",e("toolTipTextShadowVerticalLength")+"px",e("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+q.substr(1,2))+", "+parseInt("0x"+q.substr(3,2))+", "+parseInt("0x"+q.substr(5,2))+", "+e("toolTipTextShadowOpacity")+
")"].join(" ");var p=0==e("toolTipTextShadowVerticalLength")&&0==e("toolTipTextShadowHorizontalLength")?135:45*Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-e("toolTipTextShadowVerticalLength"))/Math.PI);m.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+function(n){for(n=n.toString(16);2>n.length;)n="0"+n;return n}(255*e("toolTipTextShadowOpacity"))+q.substr(1,6)+",direction="+p+")";this.pW.css(m)};d.prototype.CIa=function(c,e,m){e=document.elementsFromPoint(e,m);c=c.yc()[0];
m=this.bb.yc()[0];for(var q=0;q<e.length;q++){var p=e[q];if(c==p||c.contains(p))break;if(!this.ja[0].contains(p)&&m.contains(p)){var n=window.getComputedStyle(p);if("none"!=n.display&&"hidden"!=n.visibility&&.29<("CANVAS"==p.tagName?1:this.IDa(n.backgroundColor))*n.opacity)return!0}}return!1};d.prototype.IDa=function(c){if(!c)return 0;c=c.toLowerCase();var e=c.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return e?parseFloat(e[1]):c.match(/transparent/)?0:1};d.prototype.BHa=function(c){c=
(c||"").split("\n");for(var e=0;e<c.length;e++)c[e]=this.zFa(c[e]);return c.map(function(m){return"<div>"+m+"</div>"})};d.prototype.zFa=function(c){d.Bfa.nodeValue=c;return d.xfa.innerHTML};d.iza=f;d.xfa=document.createElement("pre");d.Bfa=document.createTextNode("");d.xfa.appendChild(d.Bfa);return d});
define("cJ",["require","bj","bO","hd"],function(a){function d(b,g){this.N=b;this.yl=g;this.ANa()}var h=a("bj"),l=a("bO"),k=a("hd");d.prototype.gg=function(){return this.O};d.prototype.nd=function(){return this.O.width};d.prototype.$d=function(){return this.O.height};d.prototype.ANa=function(){this.O=document.createElement("canvas");var b=this.yl.split("\n"),g=this.Gg("toolTipBackgroundColor"),f=this.Gg("toolTipBackgroundOpacity"),c=this.Gg("toolTipBorderRadius"),e=this.Gg("toolTipBorderColor"),m=
this.Gg("toolTipBorderSize");this.Gg("toolTipDisplayTime");var q=this.Gg("toolTipFontFamily"),p=this.Gg("toolTipFontSize"),n=this.Gg("toolTipFontColor"),r=this.Gg("toolTipFontWeight"),t=this.Gg("toolTipFontStyle"),u=this.Gg("toolTipPaddingBottom"),v=this.Gg("toolTipPaddingLeft"),w=this.Gg("toolTipPaddingTop"),x=this.Gg("toolTipPaddingRight"),y=this.Gg("toolTipOpacity"),A=this.Gg("toolTipTextShadowBlurRadius"),B=this.Gg("toolTipTextShadowColor"),z=this.Gg("toolTipTextShadowHorizontalLength"),C=this.Gg("toolTipTextShadowVerticalLength"),
E=this.Gg("toolTipTextShadowOpacity"),F=new l.c0;F.fontFamily=q;F.fontSize=p+(isNaN(p)?"":"px");F.fontWeight=r;F.fontStyle=t;var G=b.map(function(H){return l(H,F,Q)}),J=0,R=0;G.forEach(function(H){J=Math.max(H.width,J);R+=H.height});var U=1<b.length?R/b.length*.25:0;R+=(b.length-1)*U;x=m+v+J+x+m;u=m+w+R+u+m;this.O=document.createElement("canvas");var Q=this.O.getContext("2d");this.O.width=x;this.O.height=u;Q.globalAlpha=y;Q.strokeStyle=e;Q.fillStyle="transparent"===g?"rgba(0,0,0,0)":this.Qfa(f,g);
Q.lineWidth=m;Q.beginPath();Q.moveTo(c,0);Q.lineTo(x-c,0);Q.quadraticCurveTo(x,0,x,c);Q.lineTo(x,u-c);Q.quadraticCurveTo(x,u,x-c,u);Q.lineTo(c,u);Q.quadraticCurveTo(0,u,0,u-c);Q.lineTo(0,c);Q.quadraticCurveTo(0,0,c,0);Q.closePath();Q.fill();0<m&&Q.stroke();Q.fillStyle=n;Q.font=r+" "+("normal"!=t?t+" ":"")+p+(isNaN(p)?"":"px")+" "+k.qv(q);Q.shadowColor=this.Qfa(E,B);Q.shadowOffsetX=z;Q.shadowOffsetY=C;Q.shadowBlur=A;Q.textBaseline="middle";Q.textAlign="center";var N=m+v+.5*J,W=m+w;b.forEach(function(H,
O){Q.fillText(H,Math.round(N),Math.round(W+.5*G[O].height));W+=G[O].height+U})};d.prototype.Gg=function(b){var g=this.N.get(b);return void 0===g?h.iza[b]:g};d.prototype.Qfa=function(b,g){return"rgba("+parseInt("0x"+g.substr(1,2))+", "+parseInt("0x"+g.substr(3,2))+", "+parseInt("0x"+g.substr(5,2))+", "+b+")"};return d});
define("oa","require kV gG jc cJ eS bu".split(" "),function(a){var d=a("kV"),h=a("gG"),l=a("jc"),k=a("cJ"),b=a("eS"),g=a("bu");a=d.extend(l,function(){l.call(this);this.O=null;this.set("tag","ToolTip");this.set("text","");this.jo=new THREE.Vector3(0,0,-h.tv());this.Nn=null});a.prototype.ca=function(m){this.$p(m);this.cg(m);l.prototype.ca.call(this,m)};a.prototype.$p=function(m){m.Ab&&!this.Nn&&g.getType()==g.cA.Jk&&this.Pg([this.Nn=new l])};a.prototype.cg=function(m){if(!this.O||this.M("text")){this.get("textureSource")||
this.set("textureSource",new b);this.O=new k(this.Aa.N,this.get("text"));this.get("textureSource").Ol(this.O.gg());this.set("contentWidth",this.O.nd());this.set("contentHeight",this.O.$d());this.set("hfov",2*Math.atan2(.5*this.O.nd(),600)*f);this.set("distance",this.Aa.N.get("vrPointerDistance"));var q=this.get("matrix");q?(this.jo.applyMatrix4(q),0==this.jo.x&&0==this.jo.z||this.set("yaw",f*Math.atan2(this.jo.x,-this.jo.z)),0==this.jo.y&&0==this.jo.z||this.set("pitch",f*Math.atan2(this.jo.y,Math.sqrt(this.jo.z*
this.jo.z+this.jo.x*this.jo.x))+c)):(this.set("yaw",m.Ra),this.set("pitch",m.pitch+e))}};var f=180/Math.PI,c=2,e=5;return a});
define("nv",["require","cg","U"],function(a){function d(k,b){this.re=k;this.j=b;this.cK=null}var h=a("cg"),l=a("U");d.prototype.update=function(){};d.prototype.clear=function(){};d.prototype.getType=function(){return this.re};d.prototype.hja=function(){var k=this.A.wg&&l.YC(this.A.wg);return this.cK=k?h.xSa(k,this.cK):null};d.sQ="gaze";d.Pea="gaze_click";d.QI="laser";d.RI="mouse";d.SI="touch";return d});
define("eX",["require","nv"],function(a){function d(k,b,g,f){this.nj=k;this.Kp=b;this.cK=g;this.Ue=f;this.Lga=[];this.ml=[];this.LW=[];this.y4=[];this.Lb="";this.Cy=Number.MAX_VALUE}function h(k){return void 0===k?[]:Array.isArray(k)?k:[k]}var l=a("nv");d.prototype.zs=function(){return this.nj.getType()==l.RI};d.prototype.Xua=function(){return this.nj.getType()==l.QI};d.prototype.lD=function(){return this.nj.getType()==l.SI};d.prototype.HTa=function(){return this.nj.getType()==l.sQ};d.prototype.Oy=
function(k){this.LW=this.LW.concat(h(k))};d.prototype.cn=function(){return 0<this.LW.length};d.prototype.YQa=function(k){this.y4=this.y4.concat(h(k))};d.prototype.MRa=function(){return 0==this.LW.length&&0<this.y4.length};d.prototype.Ny=function(k){this.ml=this.ml.concat(h(k))};d.prototype.uUa=function(){return 0<this.ml.length};d.prototype.zk=function(k){k&&(void 0===this.JR||this.JR>k)&&(this.JR=k)};d.prototype.eX=function(k,b){if(""==this.Lb||this.Cy>b)this.Lb=k,this.Cy=b};d.prototype.pz=function(){return this.Lb};
d.prototype.xq=function(k){this.Lga=h(k)};d.prototype.Ak=function(){return 0<this.Lga.length};return d});
define("cD","require kV og cg U mb oa eX nv bu".split(" "),function(a){var d=a("kV"),h=a("og");a("cg");a("U");var l=a("mb"),k=a("oa"),b=a("eX"),g=a("nv"),f=a("bu");a=d.extend(g,function(c,e){g.call(this,g.sQ,c);this.rj=this.A=null;this.ml=[];this.Vc=this.Dt=!1;this.pK=null;this.Lja=void 0;this.EM=null;this.tna=void 0;this.Qd=new l;this.j.add(this.Qd);this.fo="";this.Lb=new k;this.Lb.set("alpha",0);this.j.add(this.Lb);this.j8=e?this.j.N.get("vrPointerSelectionTime"):void 0;this.Mja=this.j.N.get("vrGazePointerHideTime");
this.tW=this.tW.bind(this);document.body.addEventListener("touchend",this.tW);f.bind(h.mn,this.Yra,this,!0);this.R9();this.p$()});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.tW);f.unbind(h.mn,this.Yra,this,!0);this.Z8();this.j.remove(this.Qd);this.Qd=null;this.j.remove(this.Lb);this.Lb=null};a.prototype.update=function(c){this.A=c;this.FMa(c.jaa);this.wk()};a.prototype.tW=function(){this.rJ()};a.prototype.Yra=function(){this.rJ()};a.prototype.rJ=function(){var c=
this.Tj(h.Ij);this.rk(c);this.qC(!1);this.B9()};a.prototype.B9=function(){this.j.Hb().trigger(h.gE,{GP:h.Ij})};a.prototype.wk=function(){var c=this.Tj(h.Wl);this.rk(c);this.Wu(c.pz());a:{var e=this.ml;for(var m=c.ml,q=0;q<e.length;q++)if(0>m.indexOf(e[q])){e=!1;break a}for(q=0;q<m.length;q++)if(0>e.indexOf(m[q])){e=!1;break a}e=!0}e||(this.qC(!1),this.ml=c.ml,this.ml.length&&this.qC(!0,c.cn()))};a.prototype.FMa=function(c){this.Dt!=c&&(this.Dt=c,this.Qd.set("changing",this.Dt),this.R9(),this.p$())};
a.prototype.qC=function(c,e){this.Vc!=c&&(this.Vc=c,this.Qd.set("over",this.Vc&&e),this.R9(),this.p$())};a.prototype.Wu=function(c){this.fo!=c&&(this.fo=c,this.Lb.set("text",this.fo),this.Lb.set("alpha",this.fo?1:0),this.fo&&this.Lb.Nh())};a.prototype.rk=function(c){this.j.RX().sort(function(e,m){return m.get("index")-e.get("index")}).forEach(function(e){e.$m(c)}.bind(this))};a.prototype.Tj=function(c){this.rj=this.hja();return new b(this,this.rj?[this.rj]:[],this.rj,c)};a.prototype.p$=function(){!this.Vc||
this.Dt||void 0===this.j8?this.Z8():this.Vc&&!this.EM&&this.cOa()};a.prototype.R9=function(){this.Vc||this.Dt||void 0===this.Mja?(this.Qd.set("alpha",1),this.gqa()):1!=this.Qd.get("alpha")||this.pK||this.QNa()};a.prototype.Z8=function(){this.EM&&(clearInterval(this.EM),this.EM=null)};a.prototype.cOa=function(){this.Qd.set("overProgress",0);this.tna=(new Date).getTime();this.EM=setInterval(this.nKa.bind(this),100)};a.prototype.nKa=function(){var c=(new Date).getTime()-this.tna;c>=this.j8?(this.Z8(),
this.rJ()):this.Qd.set("overProgress",c/this.j8)};a.prototype.gqa=function(){this.pK&&(clearInterval(this.pK),this.pK=null)};a.prototype.QNa=function(){this.Lja=(new Date).getTime();this.pK=setInterval(this.KJa.bind(this),10)};a.prototype.KJa=function(){var c=this.Mja-((new Date).getTime()-this.Lja);this.Qd.set("alpha",Math.max(.01,Math.min(1,c/500)));0>=c&&this.gqa()};return a});
define("kl","require kV gG cp eg eS h ne".split(" "),function(a){var d=a("kV"),h=a("gG"),l=a("cp"),k=a("eg"),b=a("eS"),g=a("h"),f=a("ne"),c=new THREE.Matrix4,e=Math.PI/180;a=d.extend(g,function(){g.call(this);this.set("tag","Laser");this.set("matrix",null);this.set("over",!1);this.set("pressed",!1);this.set("intersectionDistance",0);this.set("visible",!1);this.set("attachToCamera",!1);this.set("dotVisible",!0);this.C7=this.qM=this.Kr=this.B7=null;new THREE.Matrix4;this.D7=new THREE.Matrix4;this.D7.multiply(c.makeRotationX(-90*
e));this.D7.multiply(c.makeTranslation(0,.5*m,0));this.OR=this.NR=this.MR=this.Qt=this.Q2=null;new THREE.Matrix4;this.R2=new THREE.Matrix4;this.zJ=this.LR=this.P2=null;new THREE.Matrix4;this.IA=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.IA[0].multiply(c.makeRotationX(-90*e));this.IA[0].multiply(c.makeTranslation(0,.5*-p,0));this.IA[1].multiply(c.makeRotationX(-90*e));this.IA[1].multiply(c.makeTranslation(0,.5*-p,.5*-q));this.IA[2].multiply(c.makeRotationX(-90*e));this.IA[2].multiply(c.makeTranslation(0,
.5*-p,-q))});a.prototype.ca=function(n){g.prototype.ca.call(this,n);this.r$();this.Ky()};a.prototype.r$=function(){this.M("visible")&&(this.get("meshGroup").visible=this.get("visible"));this.M("dotVisible")&&k.ff([this.NR,this.LR],this.get("dotVisible")?1:0)};a.prototype.Ky=function(){this.M("over","pressed")&&(this.dra(),this.xra())};var m=.35,q=.012,p=.1;a.prototype.vn=function(){this.LR=k.create(new THREE.SphereGeometry(2.3,32,32),this.fEa());this.NR=k.create(new THREE.SphereGeometry(2,32,32),
this.gEa());this.C7=k.create(new THREE.CylinderGeometry(.003,.003,m,8),this.GEa());this.JE=[];this.JE.push(k.create(new THREE.CylinderGeometry(q,q,p,32),this.Y1()));this.JE.push(k.create(new THREE.BoxGeometry(2*q,p,q),this.Y1()));this.JE.push(k.create(new THREE.CylinderGeometry(q,q,p,32),this.Y1()));return[this.LR,this.NR,this.C7].concat(this.JE)};a.prototype.fEa=function(){if(null==this.P2){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),t=new b;t.Ol(n);this.P2=
l.Ty(t.texture(),new l.jn);r.fillStyle="rgba(0, 0, 0, 0.75)";r.clearRect(0,0,n.width,n.height);r.fillRect(0,0,n.width,n.height)}return this.P2};a.prototype.gEa=function(){null==this.Q2&&(this.Qt=document.createElement("canvas"),this.Qt.width=this.Qt.height=256,this.MR=this.Qt.getContext("2d"),this.OR=new b,this.OR.Ol(this.Qt),this.Q2=l.Ty(this.OR.texture(),new l.jn),this.dra());return this.Q2};a.prototype.dra=function(){this.MR.fillStyle=this.I3();this.MR.clearRect(0,0,this.Qt.width,this.Qt.height);
this.MR.fillRect(0,0,this.Qt.width,this.Qt.height);this.OR.update()};a.prototype.GEa=function(){null==this.B7&&(this.Kr=document.createElement("canvas"),this.Kr.width=this.Kr.height=256,this.qM=this.Kr.getContext("2d"),this.E7=new b,this.E7.Ol(this.Kr),this.B7=l.Ty(this.E7.texture(),new l.jn),this.xra());return[this.B7]};a.prototype.xra=function(){var n=f.eP(this.I3()).join(", "),r=this.qM.createLinearGradient(0,0,0,this.Kr.height);r.addColorStop(0,"rgba("+n+", 0)");r.addColorStop(.5,"rgba("+n+", 1)");
r.addColorStop(1,"rgba("+n+", 1)");this.qM.fillStyle=r;this.qM.clearRect(0,0,this.Kr.width,this.Kr.height);this.qM.fillRect(0,0,this.Kr.width,this.Kr.height);this.E7.update()};a.prototype.Y1=function(){if(null==this.zJ){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),t=new b;t.Ol(n);this.zJ=l.Ty(t.texture(),new l.jn);r.fillStyle="rgba(64, 64, 64, 1)";r.clearRect(0,0,n.width,n.height);r.fillRect(0,0,n.width,n.height)}return[this.zJ,this.zJ,this.zJ]};a.prototype.aq=
function(){var n=!1,r=!1,t=!1;if(this.M("intersectionDistance")){r=(r=this.get("intersectionDistance"))?h.aD(r):h.tv();var u=r/h.tv();this.R2.makeTranslation(0,0,-r);this.R2.multiply(c.makeScale(u,u,u));r=!0}this.M("matrix")&&(t=r=n=!0);r&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.R2),k.lq(this.NR,c),k.lq(this.LR,c));n&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.D7),k.lq(this.C7,c));if(t)for(r=this.get("matrix"),n=0;n<this.JE.length;n++)c.identity(),
r&&c.multiply(r),c.multiply(this.IA[n]),k.lq(this.JE[n],c)};a.prototype.FC=function(){if(this.M("index","meshGroup")){var n=this.get("meshGroup");n&&n.children.forEach(function(r){k.gZ(r,this.get("index"))}.bind(this))}};a.prototype.I3=function(){return this.get("pressed")?this.Aa.N.get("vrPointerSelectionColor"):this.get("over")?this.Aa.N.get("vrPointerOverColor"):this.Aa.N.get("vrPointerColor")};return a});
define("ed","require kV og cg kl mb oa eX nv gT bu mY".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cg"),k=a("kl"),b=a("mb"),g=a("oa"),f=a("eX"),c=a("nv"),e=a("gT"),m=a("bu"),q=a("mY"),p=new THREE.Matrix4,n=Math.PI/180;a=d.extend(c,function(r){c.call(this,c.QI,r);this.rj=this.A=null;this.ml=[];this.fj=new k;this.j.add(this.fj);this.Qd=new b;this.j.add(this.Qd);this.kk=!1;this.fo="";this.Lb=null;this.Uk=new THREE.Matrix4});a.prototype.clear=function(){this.j.remove(this.fj);this.j.remove(this.Qd);
this.Qd=this.fj=null;this.Lb&&this.j.remove(this.Lb);this.Lb=null};a.prototype.update=function(r){this.A=r;this.Qd.set("changing",r.jaa);this.Qd.set("visible",r.jaa);var t=e.oY();if(t&&!t.JTa()){var u=t.quaternion(),v=t.position(),w=m.ss().position,x=q.Ra(m.ss().orientation);this.Uk.identity();v?(this.Uk.multiply(p.makeRotationY((x-r.Ra)*n)),this.Uk.multiply(p.makeTranslation(-w.x,-w.y,-w.z)),this.Uk.multiply(p.makeTranslation(v.x,v.y,v.z)),this.Uk.multiply(p.makeRotationFromQuaternion(u))):(this.Uk.multiply(p.makeRotationY(-r.Ra*
n)),t.h4==e.Ma?this.Uk.multiply(p.makeTranslation(-.2,-.4,0)):this.Uk.multiply(p.makeTranslation(.2,-.4,0)),this.Uk.multiply(p.makeRotationY(x*n)),this.Uk.multiply(p.makeRotationFromQuaternion(u)),this.Uk.multiply(p.makeTranslation(0,0,-.3)));this.fj.set("matrix",null);this.fj.set("matrix",this.Uk);this.fj.set("pressed",t.pressed());this.fj.set("visible",!0)}else this.fj.set("visible",!1);this.wk();r=!!t&&t.pressed();this.kk!=r&&(this.kk&&this.rJ(),this.kk=r);this.fj.Nh();this.Qd.Nh()};a.prototype.rJ=
function(){var r=this.Tj(h.Ij);this.rk(r);this.fj.set("over",!0);this.fj.set("dotVisible",!0);this.fj.set("intersectionDistance",r.JR);e.oY();this.B9()};a.prototype.B9=function(){this.j.Hb().trigger(h.gE,{GP:h.Ij})};a.prototype.wk=function(){var r=this.Tj(h.Wl);this.rk(r);this.Wu(r.pz());a:{var t=this.ml;for(var u=r.ml,v=0;v<t.length;v++)if(0>u.indexOf(t[v])){t=!1;break a}for(v=0;v<u.length;v++)if(0>t.indexOf(u[v])){t=!1;break a}t=!0}t||!r.cn()&&!this.fj.get("over")||(this.ml=r.ml,e.oY());this.fj.set("over",
r.cn());this.fj.set("intersectionDistance",r.JR);this.fj.set("dotVisible",!r.MRa())};a.prototype.Wu=function(r){this.fo!=r&&(this.fo&&this.j.remove(this.Lb),this.fo=r)&&(this.Lb=new g(this.fo),this.Lb.set("text",this.fo),this.Lb.set("matrix",null),this.Lb.set("matrix",this.Uk),this.j.add(this.Lb))};a.prototype.rk=function(r){this.j.RX().sort(function(t,u){return u.get("index")-t.get("index")}).forEach(function(t){t.$m(r)}.bind(this))};a.prototype.Tj=function(r){this.rj=l.wSa(this.Uk,this.rj);return new f(this,
[this.rj],this.hja(),r)};return a});
define("iH","require kV og cg U eX nv bb".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cg"),k=a("U"),b=a("eX"),g=a("nv"),f=a("bb");a=d.extend(g,function(c){g.call(this,g.RI,c);this.j.N.bind(h.ec,this.ij,this,!0);this.j.N.bind(h.Jo,this.Nka,this,!0);this.j.N.bind(h.ac,this.VLa,this,!0);this.j.N.bind(h.ub,this.Md,this,!0);this.j.N.bind(h.$b,this.jj,this,!0);this.Fu=this.Eu=this.Ku=this.Hm=this.Uc=this.Tc=void 0;this.rj=this.A=null;this.cs=!1;this.Lb=""});a.prototype.clear=function(){this.j.N.unbind(h.ec,
this.ij,this,!0);this.j.N.unbind(h.Jo,this.Nka,this,!0);this.j.N.unbind(h.ub,this.Md,this,!0);this.j.N.unbind(h.$b,this.jj,this,!0);this.cs&&(this.j.dI(f.Se),this.cs=!1);this.Wu("")};a.prototype.update=function(c){this.A=c;this.c$()};a.prototype.Tta=function(){return{x:this.Tc,y:this.Uc,pageX:this.Eu,pageY:this.Fu}};a.prototype.ij=function(c){this.Tc=c.x;this.Uc=c.y;this.Eu=c.pageX;this.Fu=c.pageY;this.GW()};a.prototype.Nka=function(){this.Fu=this.Eu=this.Uc=this.Tc=void 0;this.GW()};a.prototype.VLa=
function(){this.Fu=this.Eu=this.Uc=this.Tc=void 0;this.GW()};a.prototype.Md=function(c){this.Tc=this.Hm=c.x;this.Uc=this.Ku=c.y;this.Eu=c.pageX;this.Fu=c.pageY;this.rk(this.Tj(h.U_))};a.prototype.jj=function(c){this.Tc=c.x;this.Uc=c.y;this.Eu=c.pageX;this.Fu=c.pageY;this.rk(this.Tj(h.V_));this.c5(this.Hm,this.Ku,this.Tc,this.Uc)&&this.rk(this.Tj(h.Ij))};a.prototype.c$=function(){this.bq||(this.bq=setTimeout(function(){this.bq=null;this.wk()}.bind(this),300))};a.prototype.GW=function(){this.bq&&(clearTimeout(this.bq),
this.bq=null);this.wk()};a.prototype.wk=function(){var c=this.Tj(h.Wl);this.rk(c);this.Wu(c.pz());this.cs!=c.cn()&&(this.cs&&this.j.dI(f.Se),(this.cs=c.cn())&&this.j.MY(f.Se))};a.prototype.Wu=function(c){this.Lb!=c&&(this.Lb=c,this.j.N.set("toolTip",this.Lb))};a.prototype.rk=function(c){this.j.RX().sort(function(e,m){return m.get("index")-e.get("index")}).forEach(function(e){e.$m(c)}.bind(this))};a.prototype.Tj=function(c){return new b(this,this.sS(),null,c)};a.prototype.sS=function(){if(void 0!==
this.Tc&&void 0!==this.Uc&&this.A.wg){var c=k.YC(this.A.wg);if(c)return this.rj=l.Uta(c,this.Tc,this.Uc,this.A.width,this.A.height,this.rj),[this.rj]}return[]};a.prototype.c5=function(c,e,m,q){c=m-c;e=q-e;return 5>=Math.sqrt(c*c+e*e)};return a});
define("gj","require kV og cg U eX nv".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cg"),k=a("U"),b=a("eX"),g=a("nv");a=d.extend(g,function(c){g.call(this,g.SI,c);this.N=this.j.N;this.N.bind(h.ub,this.Md,this,!0);this.N.bind(h.$b,this.jj,this,!0);this.N.bind(h.G("touchOverAreaScale"),this.B6,this,!0);this.Ku=this.Hm=this.Uc=this.Tc=void 0;this.Oga=this.A=null;this.B6();this.$Ka=Array(f.length);this.Lb="";this.wk=this.wk.bind(this)});a.prototype.clear=function(){this.N.unbind(h.ub,this.Md,this,
!0);this.N.unbind(h.$b,this.jj,this,!0);this.N.unbind(h.G("touchOverAreaScale"),this.B6,this,!0);this.Wu("")};a.prototype.update=function(c){this.A=c;this.c$()};a.prototype.Md=function(c){this.Tc=this.Hm=c.x;this.Uc=this.Ku=c.y;this.rk(this.Tj(h.U_))};a.prototype.jj=function(c){this.Tc=c.x;this.Uc=c.y;this.rk(this.Tj(h.V_));this.c5(this.Hm,this.Ku,this.Tc,this.Uc)&&this.rk(this.Tj(h.Ij))};a.prototype.c$=function(){this.bq||(this.bq=setTimeout(this.wk,300))};a.prototype.GW=function(){this.bq&&(clearTimeout(this.bq),
this.bq=null);this.wk()};a.prototype.wk=function(){this.bq=null;var c=this.Tj(h.Wl);this.rk(c);this.Wu(c.pz())};a.prototype.Wu=function(c){if(this.Lb!=c&&(this.Lb=c,c=this.j.N,c.set("toolTip",this.Lb),!c.get("toolTipDisabled"))){var e=c.Hb().Lb;this.Lb?e.YWa(c,this.Lb):e.hide()}};a.prototype.rk=function(c){this.j.RX().sort(function(e,m){return m.get("index")-e.get("index")}).forEach(function(e){e.$m(c)}.bind(this))};a.prototype.Tj=function(c){var e=c==h.Wl?this.sS(.5*this.A.width,.5*this.A.height,
this.Mga,this.Oga):this.sS(this.Tc,this.Uc,f,this.$Ka);return new b(this,e,null,c)};a.prototype.sS=function(c,e,m,q){var p=this.A.wg&&k.YC(this.A.wg);if(p){var n=this.A.width,r=this.A.height,t=Math.min(n,r)/100;m.forEach(function(u,v){q[v]=l.Uta(p,c+u[0]*t,e+u[1]*t,n,r,q[v])});return q}return[]};a.prototype.c5=function(c,e,m,q){c=m-c;e=q-e;return Math.sqrt(c*c+e*e)<=4*Math.round(1*Math.min(window.screen.width,window.screen.height)/100)};a.prototype.B6=function(){this.Mga=this.tGa(this.N.get("touchOverAreaScale"));
this.Oga=Array(this.Mga.length)};a.prototype.tGa=function(c){var e=[],m=Math.min(50,Math.ceil(5*c)),q=Math.min(50,Math.ceil(30*c));c=Math.min(50,Math.ceil(15*c));for(var p=-m;p<=m;p++)for(var n=-m;n<=m;n++){var r=Math.sqrt(n*n+p*p);r<=m&&e.push([n,p,r])}for(n=-q;n<-m;n++)e.push([n,0,Math.sqrt(n*n)]);for(n=m+1;n<=q;n++)e.push([n,0,Math.sqrt(n*n)]);for(p=-c;p<-m;p++)e.push([0,p,Math.sqrt(p*p)]);for(p=m+1;p<=c;p++)e.push([0,p,Math.sqrt(p*p)]);e.sort(function(t,u){return t[2]-u[2]});return e.map(function(t){return[t[0],
t[1]]})};var f=function(){for(var c=[],e=0;5>e;e++)for(var m=-2+4*e/4,q=0;5>q;q++){var p=-2+4*q/4,n=Math.sqrt(p*p+m*m);2>=n&&c.push([p,m,n])}c.sort(function(r,t){return r[2]-t[2]});return c.map(function(r){return[r[0],r[1]]})}();return a});
define("gW","require cD ed iH nv gj".split(" "),function(a){var d=a("cD"),h=a("ed"),l=a("iH"),k=a("nv"),b=a("gj");return{create:function(g,f){switch(g){case k.sQ:return new d(f,!0);case k.Pea:return new d(f,!1);case k.QI:return new h(f);case k.RI:return new l(f);case k.SI:return new b(f)}}}});
define("oE",["require","bb"],function(a){function d(l){this.Ic=l;this.De=[]}var h=a("bb");d.prototype.push=function(l){this.De.push(l);this.ca()};d.prototype.pop=function(l){for(var k=this.De.length-1;0<=k;k--)if(this.De[k]==l){this.De.splice(k,1);this.ca();break}};d.prototype.clear=function(){0<this.De.length&&(this.Ic.set("cursor",h.ve),this.De=[])};d.prototype.ca=function(){var l=0<=this.De.indexOf(h.Th)?h.Th:0<=this.De.indexOf(h.Se)?h.Se:0<this.De.length?this.De[this.De.length-1]:h.ve;this.Ic.set("cursor",
l)};return d});
define("lF","require kV kh og cu e bb u gT hM jL om eA ev dL gd gW nv oE on jY ky bu bf nn".split(" "),function(a){var d=a("kV"),h=a("kh"),l=a("og"),k=a("cu"),b=a("e"),g=a("bb"),f=a("u"),c=a("gT"),e=a("hM"),m=a("jL"),q=a("om"),p=a("eA"),n=a("ev"),r=a("dL"),t=a("gd"),u=a("gW"),v=a("nv"),w=a("oE"),x=a("on"),y=a("jY"),A=a("ky"),B=a("bu"),z=a("bf"),C=a("nn"),E=Math.PI/180,F=d.extend(b,function(G,J,R){b.call(this);this.qe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",g.Vs);this.set("layout",
"absolute");this.jc=G;this.N=J;this.wc=R;this.ce=new w(J);this.nj=null;this.A=new q;this.Aa=new t(this.jc,this.N,this.wc,this);this.Aa.bind(l.sa,this.requestFrame,this,!0);this.sl=new n;this.A.wg=this.sl.Um();this.A.jO=this.sl.Bha;this.A.kO=this.sl.Cha;this.A.camera=this.sl.YC();this.vka=(new Date).getTime();this.yb().append(this.sl.yc());this.ZJ=new m;this.yb().append(this.ZJ.yc());this.PG=new p(J,R);this.yb().append(this.PG.yc());this.sqa=new y;this.sqa.bind(l.aa,this.sKa,this,!0);this.jla=new x;
this.jla.bind(l.sa,this.XJa,this,!0);this.hS=new e(this.A.width,this.A.height,this.A.te*E);this.bind(l.fc,this.cc,this,!0);this.bind(l.hd,this.ek,this,!0);this.bind(l.od,this.$j,this,!0);B.bind(l.sa,this.Ln,this,!0);c.bind(l.sa,this.JJa,this,!0);h.ma(this.wc,["fxaaEnabled","aaEnabled","hotspotsEnabled","preloadEnabled"],function(){this.A.hD=this.wc.get("hotspotsEnabled");this.A.jP=this.wc.get("preloadEnabled");this.A.EX=this.wc.get("fxaaEnabled");this.A.bX=this.wc.get("aaEnabled");this.requestFrame()}.bind(this),
!0);h.ma(this.wc,["surfaceSelectionEnabled"],this.m$.bind(this));this.m$();this.Ln();h.ma(this.jc,["defaultVRPointer"],this.cq.bind(this));this.cq()});F.prototype.create=function(G){return r.create(G)};F.prototype.add=function(G){this.Aa.appendChild(G)};F.prototype.remove=function(G){(G=this.Aa.cf(G))&&G.remove()};F.prototype.cf=function(G){return this.Aa.cf(G)};F.prototype.RX=function(){return this.Aa.all()};F.prototype.Dxa=function(G){this.A.vY=G};F.prototype.MY=function(G){this.ce.push(G)};F.prototype.dI=
function(G){this.ce.pop(G)};F.prototype.UY=function(G){this.A.jaa=G;this.requestFrame()};F.prototype.vD=function(){this.ZJ.trigger();this.A.jD=!0;this.eV();var G=C.xya(this.sl.gg());this.A.jD=!1;this.eV();return G};F.prototype.dO=function(G){this.A.jD=!0;this.eV();G=this.sl.dO(G);this.A.jD=!1;return G};F.prototype.getPixelRatio=function(){return this.sl.getPixelRatio()};F.prototype.cq=function(){var G=this.A.Ab?c.oY()&&"laser"==this.jc.get("defaultVRPointer")?v.QI:B.TX()==B.AAa.A_?v.Pea:v.sQ:f.kb()?
v.SI:v.RI;this.nj&&this.nj.getType()==G||(this.nj&&this.nj.clear(),this.nj=u.create(G,this),this.m$(),this.nj.update(this.A))};F.prototype.m$=function(){this.A.JP=this.wc.get("surfaceSelectionEnabled")&&0<=[v.RI,v.QI,v.SI].indexOf(this.nj&&this.nj.getType())};F.prototype.Im=function(){this.ce.clear();b.prototype.Im.call(this)};F.prototype.cc=function(){var G=this.Va(),J=this.zb();if(this.A.width!=G||this.A.height!=J)G&&J?(this.A.width=G,this.A.height=J,this.hS.EP(this.A.width),this.hS.vxa(this.A.height),
this.requestFrame()):d.log("Invalid size values: "+G+" "+J)};F.prototype.ek=function(){this.A.enabled=!0;this.requestFrame()};F.prototype.$j=function(){this.A.enabled=!1};F.prototype.Ln=function(){this.A.Ab=B.isPresenting();this.cq();this.requestFrame()};F.prototype.JJa=function(){this.cq();this.requestFrame()};F.prototype.sKa=function(){this.requestFrame()};F.prototype.XJa=function(){this.requestFrame()};F.prototype.bZ=function(G){this.U7!=G&&((this.U7=G)||this.requestFrame())};F.prototype.DD=function(G){this.A.Pl!=
G&&(this.A.Pl=G,this.requestFrame())};F.prototype.setPosition=function(G,J,R,U){if(this.A.Ra!=G||this.A.pitch!=J||this.A.Re!=R||this.A.te!=U)isNaN(G)||isNaN(J)||isNaN(R)||!U?d.log("Invalid position values: "+G+" "+J+" "+R+" "+U):(this.A.Ra=G,this.A.pitch=J,this.A.Re=R,this.A.te=U,this.hS.zD(this.A.te*E),this.requestFrame())};F.prototype.Yc=function(){return this.A.Ra};F.prototype.Pc=function(){return this.A.pitch};F.prototype.Df=function(){return this.A.Re};F.prototype.sg=function(){return this.A.te};
F.prototype.uO=function(){return this.A.Ab?this.A.Oh:A.Bq(this.A.Oh,this.A.width,this.A.height)};F.prototype.vO=function(){return this.A.Oh};F.prototype.unproject=function(G){return this.hS.unproject(G)};F.prototype.requestFrame=function(){z.requestFrame(this.lj,this)};F.prototype.lj=function(){if(z.dba){var G=(new Date).getTime(),J=Math.max(1,Math.min(G-this.vka,33));this.vka=G;this.trigger(new k(F.u_,{frameTime:J}));this.A.enabled&&(this.A.se=J,this.eV())}else this.requestFrame()};F.prototype.eV=
function(){this.sl.update(this.A);this.A.lX=this.sl.kSa();this.A.cO=this.sl.jSa();this.A.Oh=this.sl.hSa();this.A.Bj=this.sl.getPixelRatio();this.Aa.update(this.A);this.sqa.update(this.A);this.jla.update(this.A);this.nj.update(this.A);this.U7||this.sl.render()};F.u_="render start";F.iZa=function(){return!0};return F});
define("fx",["require","kV","cu","fV","lF"],function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("lF"),b=d.extend(l,function(g){l.call(this);this.j=g;this.j.bind(k.u_,this.Uma,this,!0)});b.prototype.clear=function(){this.j.unbind(k.u_,this.Uma,this,!0);this.j=null};b.prototype.requestFrame=function(){this.j.requestFrame()};b.prototype.Uma=function(g){g=g.data.frameTime;this.trigger(new h(b.Co,{frameTime:g}));this.trigger(new h(b.Do,{frameTime:g}))};b.Co="frameStart";b.Do="positionSet";return b});
define("dk",["require","u","ky"],function(a){function d(){this.ua=this.ea=0;this.Ja=90;this.ll="landscape";this.G6=!1;this.yK=h.kb()}var h=a("u"),l=a("ky");d.prototype.yxa=function(k){this.Ja=this.vta(k)};d.prototype.vta=function(k){return this.yK&&"portrait"==this.ll?l.PC(k,this.ua,this.ea):k};d.prototype.DSa=function(k){return this.yK&&"portrait"==this.ll?l.Fl(k,this.ea,this.ua):k};d.prototype.vo=function(k){this.Ja=this.yK&&this.G6?l.PC(k,this.ua,this.ea):k};d.prototype.Yua=function(){return this.yK&&
this.G6};d.prototype.sv=function(){return this.yK&&"portrait"==this.ll};d.prototype.sg=function(){return this.Ja};d.prototype.nX=function(k){return l.PC(k,this.ua,this.ea)};d.prototype.setSize=function(k,b){this.ea=k;this.ua=b;k=this.eHa();this.G6=this.ll!=k;this.ll=k};d.prototype.eHa=function(){return 0===this.ea||0===this.ua?"landscape":this.ea<this.ua?"portrait":"landscape"};return d});
define("io","require dY kV og cu fV nl".split(" "),function(a){a("dY");var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("nl");a=d.extend(k,function(f){k.call(this);this.j=f;this.sm=new b(f);this.sm.bind(b.l_,this.Yla,this,!0);this.sm.bind(b.k_,this.Xla,this,!0)});a.prototype.clear=function(){this.sm.unbind(b.l_,this.Yla,this,!0);this.sm.unbind(b.k_,this.Xla,this,!0);this.sm.clear();this.sm=null};a.prototype.jz=function(f){this.sm.kc(f)};a.prototype.pi=function(f){this.ha=f};a.prototype.end=function(){this.ha=
null};a.prototype.Yla=function(f){this.Qqa(f);(f=this.Roa(this.j.Yc(),this.lja()))&&f.trigger(h.mn)};a.prototype.Xla=function(f){this.Qqa(f);(f=this.Roa(this.j.Yc()-180,this.lja()))&&f.trigger(h.mn)};a.prototype.Qqa=function(f){this.j.Hb().trigger(new l(h.gE,{GP:f}))};a.prototype.lja=function(){return this.j.wc.get("keyboardTranslateSelectionAngle")};a.prototype.Roa=function(f,c){var e,m;if(!this.ha)return null;void 0!==e||(e=-90);void 0!==m||(m=360);var q=f-.5*c,p=f+.5*c,n=Math.max(-90,e-.5*m),r=
Math.max(90,e+.5*m);c=this.ha.get("adjacentPanoramas",[]).slice();c=c.filter(function(t){if(!t.get("enabled"))return!1;t=this.fp(t);if(!t)return!1;var u=t.Ra;for(var v=f-180,w=f+180;u<v;)u+=w-v;for(;u>w;)u-=w-v;t=t.pitch;return q<=u&&u<=p&&n<=t&&t<=r}.bind(this));if(0==c.length)return null;c.sort(function(t,u){t=this.fp(t);u=this.fp(u);return(f-t.Ra)*(f-t.Ra)+(e-t.pitch)*(e-t.pitch)-((f-u.Ra)*(f-u.Ra)+(e-u.pitch)*(e-u.pitch))}.bind(this));return c[0]};a.prototype.fp=function(f){var c=f.get("yaw");
f=f.get("distance");if(void 0===c||void 0===f)return null;var e=this.ha.get("distanceToFloor");return{Ra:c,pitch:-90+Math.atan2(f,e)*g}};var g=180/Math.PI;return a});
define("lq","require kV og cu fV mM br op w ma jA fx dk io dw".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("mM"),g=a("br"),f=a("op"),c=a("w"),e=a("ma"),m=a("jA"),q=a("fx"),p=a("dk"),n=a("io"),r=a("dw"),t=d.extend(k,function(u,v){k.call(this);this.N=u;this.j=v;this.j.set("visible",!1);this.Dc=new p;this.bg=new q(this.j);this.ne=new e(this.j);this.Ib=new f(this.N,this.j,this.Dc);this.Ya=new g(this.j,this.Dc);this.lf=new c(this.j);this.qu=new m(this.j);this.Id=new b(this.j);
this.wW=new n(this.j);this.bg.bind(q.Co,this.Ux,this,!0);this.bg.bind(q.Do,this.Vx,this,!0);this.ne.bind(h.Rc,this.gma,this,!0);this.ne.bind(h.wf,this.xL,this,!0);this.ne.bind(h.rc,this.ci,this,!0);this.Ib.bind(f.Bb,this.Be,this,!0);this.Ib.bind(f.v_,this.hma,this,!0);this.Ib.bind(f.m_,this.yma,this,!0);this.Ib.bind(f.TZ,this.ola,this,!0);this.Ib.bind(f.UZ,this.pla,this,!0);this.Ib.bind(f.Kz,this.FL,this,!0);this.Ib.bind(f.Iz,this.Tx,this,!0);this.Ib.bind(f.Jz,this.Au,this,!0);this.Ib.bind(f.Hz,this.EL,
this,!0);this.Ib.bind(f.Eo,this.$x,this,!0);this.Ya.bind(g.Bb,this.Be,this,!0);this.Ya.bind(g.Fj,this.tp,this);this.Ya.bind(g.Bo,this.ei,this);this.Ya.bind(g.Cc,this.Ke,this,!0);this.Ya.bind(g.ui,this.Ap,this,!0);this.Ya.bind(g.ti,this.zp,this,!0);this.lf.bind(c.Bb,this.Be,this,!0);this.lf.bind(c.Ui,this.yp,this,!0);this.lf.bind(c.Cc,this.Ke,this,!0);this.qu.bind(m.Gj,this.nma,this,!0)});t.prototype.clear=function(){this.ne.clear();this.bg.clear();this.Ya.clear();this.Ib.clear();this.lf.clear();this.qu.clear();
this.Id.clear();this.ne.unbind(h.Rc,this.gma,this);this.ne.unbind(h.wf,this.xL,this);this.ne.unbind(h.rc,this.ci,this);this.bg.unbind(q.Co,this.Ux,this);this.bg.unbind(q.Do,this.Vx,this);this.Ib.unbind(f.Bb,this.Be,this);this.Ib.unbind(f.v_,this.hma,this);this.Ib.unbind(f.m_,this.yma,this);this.Ib.unbind(f.TZ,this.ola,this);this.Ib.unbind(f.UZ,this.pla,this);this.Ib.unbind(f.Kz,this.FL,this);this.Ib.unbind(f.Iz,this.Tx,this);this.Ib.unbind(f.Jz,this.Au,this);this.Ib.unbind(f.Hz,this.EL,this);this.Ib.unbind(f.Eo,
this.$x,this);this.Ya.unbind(g.zza,this.Be,this);this.Ya.unbind(g.Fj,this.tp,this);this.Ya.unbind(g.Bo,this.ei,this);this.Ya.unbind(g.Cc,this.Ke,this,!0);this.Ya.unbind(g.ui,this.Ap,this);this.Ya.unbind(g.ti,this.zp,this);this.lf.unbind(c.Bb,this.Be,this);this.lf.unbind(c.Ui,this.yp,this);this.lf.unbind(c.Cc,this.Ke,this);this.qu.unbind(m.Gj,this.nma,this);this.N=this.j=this.wW=this.Id=this.qu=this.lf=this.Ib=this.Ya=this.bg=this.ne=null};t.prototype.sca=function(u){this.qu.sca(u)};t.prototype.uca=
function(u){this.Ib.uca(u)};t.prototype.pi=function(u,v,w){this.j.set("visible",!0);this.lf.iZ();u.set("currentTime",w);this.Ib.start(u,v)};t.prototype.Yy=function(){return this.ne.ha||this.Ib.nSa()||this.Ib.dr};t.prototype.Kv=function(){this.ne.stop();this.lf.end();this.Ya.end();this.Ib.hide();this.qu.stop();this.Id.end();this.wW.end()};t.prototype.hI=function(){this.Ya.resume();this.lf.hI()};t.prototype.bI=function(){this.Ya.pause();this.lf.bI()};t.prototype.play=function(){this.Ya.play();this.Id.play();
this.lf.play()};t.prototype.pause=function(){this.Ya.pause();this.Id.pause();this.lf.pause()};t.prototype.stop=function(){this.Ya.stop();this.Id.stop();this.lf.stop()};t.prototype.jz=function(u){this.Ya.jz(u);this.wW.jz(u)};t.prototype.getTime=function(){return this.lf.getTime()};t.prototype.moveTo=function(u,v,w,x,y){this.Ya.moveTo(u,v,w,x,y)};t.prototype.Yc=function(){return this.j?this.j.Yc():void 0};t.prototype.Pc=function(){return this.j?this.j.Pc():void 0};t.prototype.Df=function(){return this.j?
this.j.Df():void 0};t.prototype.sg=function(){return this.j?this.Dc.DSa(this.j.sg()):void 0};t.prototype.uO=function(){return this.j?this.j.uO():void 0};t.prototype.vO=function(){return this.j?this.j.vO():void 0};t.prototype.Ke=function(){var u=this.lf.Aj()||this.Ya.Aj();this.trigger(new l(t.Cc,{state:u}))};t.prototype.Cj=function(u){this.Ya.Cj(u)};t.prototype.sP=function(u){this.Ya.sP(u)};t.prototype.kz=function(u){this.Ya.kz(u)};t.prototype.tP=function(u){this.Ya.tP(u)};t.prototype.tf=function(u){this.lf.tf(u)};
t.prototype.ED=function(u){this.Ya.ED(u)};t.prototype.Uaa=function(u,v){return(u=r.get(u,v,this.j.Yc(),this.j.Pc(),this.j.Df(),this.j.sg(),this.j.Va(),this.j.zb()))?{x:u.x,y:u.y}:null};t.prototype.ISa=function(u,v){return(u=r.KXa(u,v,this.j))?{yaw:u.Ra,pitch:u.pitch}:null};t.prototype.vD=function(){this.j.vD()};t.prototype.hma=function(u){this.ne.start(u.data.panorama)};t.prototype.ci=function(u){this.j.UY(!0);this.trigger(new l(t.Ps,{percent:u.Og}))};t.prototype.gma=function(u){this.lf.end();this.wW.pi(u.data.panorama)};
t.prototype.xL=function(){this.j.UY(!1);this.trigger(new l(t.Cz))};t.prototype.Be=function(){this.bg.requestFrame()};t.prototype.Ux=function(u){u=u.data.frameTime;this.Dc.setSize(this.j.Va(),this.j.zb());this.Ib.Gv(u);this.Ya.Gv(u)};t.prototype.Vx=function(u){u=u.data.frameTime;this.Ib.sd(u);this.Ya.sd(u);this.lf.sd(u);this.qu.sd(u);this.Id.sd(u)};t.prototype.FL=function(u){this.qu.display(u.data.panorama);this.lf.TH(u.data.panorama);this.trigger(new l(t.Kz,{panorama:u.data.panorama}))};t.prototype.yma=
function(u){this.qu.hide(u.data.panorama)};t.prototype.ola=function(u){this.lf.start(u.data.panorama);this.Id.start(u.data.panorama)};t.prototype.pla=function(){this.lf.end();this.j.set("visible",!1)};t.prototype.EL=function(u){this.Ya.end();this.Id.end(u.data.nextPanorama);this.trigger(new l(t.Hz,{panorama:u.data.panorama}))};t.prototype.Au=function(u){this.Ya.start(u.data.panorama,u.data.camera);this.trigger(new l(t.Jz,{panorama:u.data.panorama}))};t.prototype.Tx=function(u){this.trigger(new l(t.Iz,
{panorama:u.data.panorama}))};t.prototype.nma=function(u){this.Ya.Dca(u.data.yawDelta,0)};t.prototype.tp=function(u){this.trigger(new l(t.Fj,u.data))};t.prototype.ei=function(u){this.trigger(new l(t.Bo,u.data))};t.prototype.$x=function(u){this.trigger(new l(t.Eo,u.data))};t.prototype.Ap=function(){this.lf.rz();this.trigger(new l(t.ui))};t.prototype.zp=function(){this.trigger(new l(t.ti))};t.prototype.rxa=function(u){this.lf.CD(u)};t.prototype.iz=function(u){this.lf.iz(u)};t.prototype.yp=function(u){this.trigger(new l(t.Ui,
u.data))};t.Ps="loadingProgress";t.Cz="loadingEnd";t.Fj="movementChange";t.Bo="positionChange";t.Kz="panoramaStart";t.Hz="panoramaEnd";t.Jz="panoramaShow";t.Iz="panoramaHide";t.Cc="playbackStateChange";t.ui="userInteractionStart";t.ti="userInteractionEnd";t.Ui="timeChange";t.Eo="transitionEnd";return t});
define("nM","require kV og cu kx cz nc jn ie gY lq ec lF hq iw bu dV gw".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("kx"),b=a("cz"),g=a("nc"),f=a("jn"),c=a("ie"),e=a("gY"),m=a("lq"),q=a("ec"),p=a("lF"),n=a("hq"),r=a("iw"),t=a("bu"),u=a("dV"),v=a("gw"),w=g.define("PanoramaPlayer",c,function(){c.call(this,"panorama");c.prototype.set.call(this,"rotationEnabled",!0);c.prototype.set.call(this,"zoomEnabled",!0);c.prototype.set.call(this,"surfaceSelectionEnabled",!1);c.prototype.set.call(this,
"surfaceSelectionHorizontalAngle",90);c.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);c.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",!1);c.prototype.set.call(this,"fxaaEnabled",!1);c.prototype.set.call(this,"aaEnabled",!1);this.b9=this.E4=this.px=this.vT=this.nT=this.q1=this.hy=this.Kh=this.O0=!1;this.f4=!0;this.$o=this.wF=this.vR=!1;this.gS=this.A3=this.Bd=this.ob=0;this.b7=this.d7=void 0;this.V5=!0;this.gi=k.S;this.K=this.j=null;this.ala={};for(var x in w.pt)this.ala[x]=
this.BEa(x);this.VQ=new f(this,"buttonToggleGyroscope",u.Lj);this.VQ.bind(h.Jj,function(){this.set("gyroscopeEnabled",!0)},this);this.VQ.bind(h.Xl,function(){this.set("gyroscopeEnabled",!1)},this);this.VQ.set("pressed",this.get("gyroscopeEnabled")&&n.rg);this.ICa=new f(this,"buttonCardboardView",u.we);this.ICa.bind(h.oa,function(){this.set("viewMode",w.xw)},this,!0);this.YCa=new f(this,"buttonVRView",u.we);this.YCa.bind(h.oa,function(){this.set("viewMode",w.xw)},this,!0);t.bind(h.sa,function(){this.Pqa("viewMode");
this.trigger(w.yza)},this,!0);this.WQ=new f(this,"buttonToggleHotspots",u.Lj);this.WQ.bind(h.Jj,function(){this.set("hotspotsEnabled",!0)},this);this.WQ.bind(h.Xl,function(){this.set("hotspotsEnabled",!1)},this);this.WQ.set("pressed",this.get("hotspotsEnabled"));this.ZQ=new f(this,"buttonToggleSurfaceSelection",u.Lj);this.ZQ.bind(h.Jj,function(){this.set("surfaceSelectionEnabled",!0)},this);this.ZQ.bind(h.Xl,function(){this.set("surfaceSelectionEnabled",!1)},this);this.ZQ.set("pressed",this.get("surfaceSelectionEnabled"));
this.WCa=new f(this,"buttonScreenshot",u.we);this.WCa.bind(h.oa,this.Hoa,this,!0);this.Xd=d.so(this.Mg,this)});w.nza="cameraPositionChange";w.Ps="loadingProgress";w.tza="preloadMediaShow";w.yza="viewModeChange";w.prototype.moveLeft=function(){this.Hc(q.aE)};w.prototype.moveRight=function(){this.Hc(q.bE)};w.prototype.moveUp=function(){this.Hc(q.cE)};w.prototype.moveDown=function(){this.Hc(q.$D)};w.prototype.playLeft=function(){this.Hc([q.aE,q.X])};w.prototype.playRight=function(){this.Hc([q.bE,q.X])};
w.prototype.playUp=function(){this.Hc([q.cE,q.X])};w.prototype.playDown=function(){this.Hc([q.$D,q.X])};w.prototype.play=function(){this.hk()};w.prototype.pause=function(){this.Dp()};w.prototype.stop=function(){this.Zx()};w.prototype.seek=function(x){this.lC(x)};w.prototype.setFramePlaybackPosition=function(x){this.OMa(x)};w.prototype.setFrameTransitionPosition=function(x){this.PMa(x)};w.prototype.restart=function(){this.Wx()};w.prototype.zoomIn=function(){this.Hc(q.nt)};w.prototype.zoomOut=function(){this.Hc(q.ot)};
w.prototype.resumeCamera=function(){this.ULa()};w.prototype.pauseCamera=function(){this.NKa()};w.prototype.moveTo=function(x,y,A,B){this.$ka(x,y,A,B,!1)};w.prototype.setPosition=function(x,y,A,B){this.$ka(x,y,A,B,!0)};w.prototype.getScreenPosition=function(x,y){return this.wHa(x,y)};w.prototype.getPanoramaPosition=function(x,y){return this.fHa(x,y)};w.prototype.saveScreenshot=function(){return this.Hoa()};w.prototype.get=function(x,y){switch(x){case "currentTime":return this.K&&this.K.getTime()||
0;case "viewMode":return t.isPresenting()?w.xw:w.w0;case "video":x="panorama";break;case "rendererPanorama":return this.K&&this.K.Yy()}if(!y)switch(x){case "mouseControlMode":y=b.Uda;break;case "touchControlMode":y=b.Kea}return c.prototype.get.call(this,x,y)};w.prototype.set=function(x,y){if(this.get(x)!=y){switch(x){case "application":this.O0=!0;this.Xd();break;case "startTime":this.hy=!0;this.Xd();break;case "video":case "panorama":x="panorama";this.hy=!0;this.Xd();break;case "camera":this.q1=!0;
this.Xd();break;case "viewerArea":this.Kh=!0;this.Xd();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.$o=!0;this.Xd();break;case "mapPlayer":this.nT=!0;this.Xd();break;case "model3DPlayer":this.vT=!0;this.Xd();break;case "gyroscopeEnabled":this.px=!0;this.Xd();break;case "gyroscopeVerticalDraggingEnabled":this.f4=!0;this.Xd();break;case "viewMode":"vr"==y&&(y=w.xw);y!=w.xw||t.isPresenting()?
y!=w.xw&&t.isPresenting()&&t.Pf():t.Bk();y=t.isPresenting()?w.xw:w.w0;break;case "hotspotsEnabled":this.E4=!0;this.Xd();break;case "mouseControlMode":case "touchControlMode":this.vR=!0;this.Xd();break;case "surfaceSelectionEnabled":this.b9=!0,this.Xd()}c.prototype.set.call(this,x,y)}};w.prototype.zq=function(x){this.wF=x;this.K&&this.K.jz(this.wF)};w.prototype.Ksa=function(){return"inherit"!=this.get("doubleClickAction")};w.prototype.g1=function(x){c.prototype.g1.call(this,x);x.bind(h.Vl,this.Tra,
this,!0)};w.prototype.I9=function(x){c.prototype.I9.call(this,x);x.unbind(h.Vl,this.Tra,this,!0)};w.prototype.Tra=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var x=this.get("application").Ei;x&&x.rg()&&x.toggle()}};w.prototype.BEa=function(x){var y=w.pt[x];x=new f(this,x,u.we);x.bind(h.ub,function(){this.Hc(y.movement)},this);y.stopOnRelease&&x.bind(h.$b,function(){this.Hc(q.wf)},this);return x};w.prototype.Mg=function(){if(this.Kh||this.O0)this.Kh=this.O0=!1,this.vR=
this.px=this.vT=this.nT=!0,this.Mt(),this.get("viewerArea")&&this.get("application")&&this.Jt(),this.RM(this.get("viewerArea"));var x=!1;if(this.j){this.nT&&(this.nT=!1,this.K.sca(this.get("mapPlayer")));this.vT&&(this.vT=!1,this.K.uca(this.get("model3DPlayer")));this.vR&&(this.vR=!1,this.K.kz(this.get("mouseControlMode")),this.K.ED(this.get("touchControlMode")));if(this.hy||this.q1)this.gS=this.A3=this.ob=this.Bd=0,this.b7=this.d7=void 0,x=!0,this.q1=this.hy=!1,this.get("panorama")?this.K.pi(this.get("panorama"),
this.get("camera",new e),this.get("startTime")):(this.K.Kv(),this.V5=!0,this.gi=k.S,this.xc(k.S));this.f4&&(this.f4=!1,this.K.tP(this.get("gyroscopeVerticalDraggingEnabled",!0)));if(this.px){this.px=!1;var y=this.get("gyroscopeEnabled")&&n.rg;y&&n.disabled&&(y=!1,r.Hda.show(function(){n.Sba(function(){this.set("gyroscopeEnabled",!0)}.bind(this))}.bind(this)));this.set("gyroscopeEnabled",y);this.K.sP(y);this.VQ.set("pressed",y)}this.E4&&(this.E4=!1,this.WQ.set("pressed",this.get("hotspotsEnabled")));
this.$o&&(this.$o=!1,x=!0);this.b9&&(this.b9=!1,this.ZQ.set("pressed",this.get("surfaceSelectionEnabled")));x&&this.lv()}};w.prototype.NG=function(){this.set("panorama",null)};w.prototype.Jt=function(){var x=this.get("viewerArea"),y=this.get("application");this.j=new p(y,x,this);this.j.fa({left:0,top:0,bottom:0,right:0});x.Ua(this.j);this.K=new m(x,this.j);this.K.bind(m.Fj,this.tp,this);this.K.bind(m.Bo,this.Cla,this);this.K.bind(m.Ps,this.ci,this);this.K.bind(m.Cz,this.VF,this);this.K.bind(m.Jz,
this.Au,this,!0);this.K.bind(m.Iz,this.Tx,this,!0);this.K.bind(m.Kz,this.FL,this,!0);this.K.bind(m.Hz,this.EL,this,!0);this.K.bind(m.Cc,this.Ke,this);this.K.bind(m.ui,this.Ap,this);this.K.bind(m.ti,this.zp,this);this.K.bind(m.Ui,this.yp,this);this.K.bind(m.Eo,this.$x,this,!0);this.get("application").bind(h.G("mute"),this.CL,this);this.get("application").get("mute",!1)&&this.K.tf(!0);this.K&&this.K.jz(this.wF);t.bind(h.sa,this.Ln,this,!0);this.T1();this.yy(!0)};w.prototype.Mt=function(){this.j&&(this.K.unbind(m.Fj,
this.tp,this),this.K.unbind(m.Bo,this.Cla,this),this.K.unbind(m.Ps,this.ci,this),this.K.unbind(m.Cz,this.VF,this),this.K.unbind(m.Jz,this.Au,this,!0),this.K.unbind(m.Iz,this.Tx,this,!0),this.K.unbind(m.Kz,this.FL,this,!0),this.K.unbind(m.Hz,this.EL,this,!0),this.K.unbind(m.Cc,this.Ke,this),this.K.unbind(m.ui,this.Ap,this),this.K.unbind(m.ti,this.zp,this),this.K.unbind(m.Ui,this.yp,this),this.K.unbind(m.Eo,this.$x,this),this.K.clear(),this.K=null,this.get("application").unbind(h.G("mute"),this.CL,
this),this.j.getParent().removeChild(this.j),this.j=null,t.unbind(h.sa,this.Ln,this,!0),this.yy(!1))};w.prototype.CL=function(){this.j&&this.K.tf(this.get("application").get("mute",!1))};w.prototype.Ke=function(x){this.gi=x.data.state;this.dg()};w.prototype.dg=function(){this.xc(this.V5||t.isPresenting()?this.gi:k.X)};w.prototype.Ap=function(){this.trigger(new l(h.Vea))};w.prototype.zp=function(){this.trigger(new l(h.Uea))};w.prototype.FL=function(x){this.trigger(new l(w.tza,{panorama:x.data.panorama}))};
w.prototype.EL=function(){};w.prototype.Au=function(x){this.T1();this.$K(x.data.panorama)};w.prototype.Tx=function(x){this.ZK(x.data.panorama)};w.prototype.tp=function(x){for(var y in w.pt)this.ala[y].set("state",x.data[w.pt[y].pressedOn]?v.mb:v.ve);this.V5=x.data.stopped;this.dg();this.trigger(new l(h.Wda,x.data))};w.prototype.Cla=function(x){this.T1();this.trigger(new l(w.nza,x.data))};w.prototype.T1=function(){this.K&&(this.set("yaw",this.K.Yc()),this.set("pitch",this.K.Pc()),this.set("roll",this.K.Df()),
this.set("hfov",this.K.sg()),this.set("actualHFOV",this.K.uO()),this.set("actualVFOV",this.K.vO()))};w.prototype.ci=function(x){this.j.getParent().fa({progressPercent:x.data.percent,progressVisible:!0});this.trigger(new l(w.Ps,x.data))};w.prototype.VF=function(){this.j.getParent().set("progressVisible",!1)};w.prototype.$x=function(){this.trigger(h.g0)};w.prototype.Ln=function(){this.set("viewMode",t.isPresenting()?w.xw:w.w0);this.dg()};w.prototype.$ka=function(x,y,A,B,z){this.K&&this.K.moveTo(x,y,
A,B,z)};w.prototype.Hc=function(x){this.K&&this.K.Cj(x)};w.prototype.hk=function(){this.K.play()};w.prototype.$n=function(){this.K.stop()};w.prototype.Dp=function(){this.K.pause()};w.prototype.lC=function(x){this.K&&(this.Xia()?this.K.iz(x):this.K.rxa(x))};w.prototype.OMa=function(x){this.K&&this.K.rxa(x)};w.prototype.PMa=function(x){this.K&&this.K.iz(x)};w.prototype.NKa=function(){this.K&&this.K.bI()};w.prototype.ULa=function(){this.K&&this.K.hI()};w.prototype.wHa=function(x,y){if(this.K)return this.K.Uaa(x,
y)};w.prototype.fHa=function(x,y){if(this.K)return this.K.ISa(x,y)};w.prototype.Hoa=function(){this.K&&this.K.vD()};w.prototype.eM=function(x){this.lC(x.data.position)};w.prototype.yp=function(x){this.Bd=x.data.time;this.ob=x.data.duration;this.A3=x.data.transitionPosition;this.gS=x.data.transitionLength;this.d7=x.data.steps;this.b7=x.data.selectedStep;this.lv()};w.prototype.lv=function(){var x=this.j.getParent(),y=!1;if(this.yGa()){var A=this.Xia(),B=this.hHa();A?0<this.gS&&(x.fa({playbackBarPosition:this.A3,
playbackBarDuration:this.gS,playbackBarSteps:this.d7,playbackBarSelectedStep:this.b7,playbackBarLiveDragging:B}),y=!0):0<this.ob&&(x.fa({playbackBarPosition:this.Bd,playbackBarDuration:this.ob,playbackBarSteps:void 0,playbackBarSelectedStep:void 0,playbackBarLiveDragging:B}),y=!0)}x.set("playbackBarVisible",y)};w.prototype.yGa=function(){var x=this.get("panorama");return x?g.Ea("HDRPanorama",x)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!1)):g.Ea("LivePanorama",x)?this.get("livePanoramaDisplayPlaybackBar",
this.get("displayPlaybackBar",!1)):g.Ea("VideoPanorama",x)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!0)):!1:!1};w.prototype.Xia=function(){var x=this.get("panorama");return x?g.Ea("HDRPanorama",x)?this.get("hdrPanoramaDisplayPlaybackBarSteps",!0):g.Ea("LivePanorama",x)?this.get("livePanoramaDisplayPlaybackBarSteps",!0):!1:!1};w.prototype.hHa=function(){var x=this.get("panorama");return!x||g.Ea("VideoPanorama",x)?!1:!0};w.xw="cardboard";w.w0="standard";w.pt={buttonMoveLeft:{movement:q.aE,
pressedOn:"movingLeft",stopOnRelease:!0},buttonMoveRight:{movement:q.bE,pressedOn:"movingRight",stopOnRelease:!0},buttonMoveUp:{movement:q.cE,pressedOn:"movingUp",stopOnRelease:!0},buttonMoveDown:{movement:q.$D,pressedOn:"movingDown",stopOnRelease:!0},buttonPlayLeft:{movement:[q.aE,q.X],pressedOn:"movingLeft",stopOnRelease:!1},buttonPlayRight:{movement:[q.bE,q.X],pressedOn:"movingRight",stopOnRelease:!1},buttonPlayUp:{movement:[q.cE,q.X],pressedOn:"movingUp",stopOnRelease:!1},buttonPlayDown:{movement:[q.$D,
q.X],pressedOn:"movingDown",stopOnRelease:!1},buttonZoomIn:{movement:q.nt,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:q.ot,pressedOn:"zoomingOut",stopOnRelease:!0}};return w});
define("cw",["require","nc","cT","hS"],function(a){var d=a("nc"),h=a("cT"),l=a("hS");a=d.define("PanoramaPlayListItem",l,function(){l.call(this)});a.prototype.start=function(){l.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Sg,this.Au,this),k.set("panorama",this.get("media")),k.set("camera",this.get("camera")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Sg,this.Au,this),k.get("panorama")==this.get("media")&&k.set("panorama",null));l.prototype.stop.call(this)};
a.prototype.Au=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Sg,this.Au,this),this.get("player").bind(h.Ul,this.Tx,this),this.Qy())};a.prototype.Tx=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Ul,this.Tx,this),this.stop(),this.end())};return a});define("kZ",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PanoramaSnapshot",d,function(){d.call(this)})});
define("mI",["require","kV","cm"],function(a){var d=a("kV"),h=a("cm");a=d.extend(h,function(l,k,b,g){h.call(this);this.ed=l;this.ea=k;this.ua=b;this.s3=g});a.prototype.xs=function(){return[this.ed]};a.prototype.li=function(){return this.ed};a.prototype.nd=function(){return this.ea};a.prototype.$d=function(){return this.ua};return a});
define("of",["require","nc","ef","fN","mI"],function(a){var d=a("nc"),h=a("ef"),l=a("fN"),k=a("mI");a=d.define("Photo",h,function(){h.call(this);this.wa=void 0});a.prototype.zj=function(){if(void 0==this.wa){var b=this.get("image");this.wa=b?new k(l.pq(b).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally",!1)):null}return this.wa};a.prototype.ws=function(){var b=this.oS(this.zj());this.get("audios",[]).forEach(function(g){b=b.concat(g.ws())}.bind(this));return b};a.prototype.oS=
function(b){return b?b.xs():[]};return a});define("jd",["require","ef","nc"],function(a){var d=a("ef");a=a("nc").define("PhotoAlbum",d,function(){d.call(this);this.set("loop",!1)});a.prototype.ws=function(){var h=[],l=this.get("playList");l&&l.get("items",[]).forEach(function(k){(k=k.get("media"))&&(h=h.concat(k.ws()))});this.get("audios",[]).forEach(function(k){h=h.concat(k.ws())});return h};return a});
define("gn",["require","hE","nc","iz"],function(a){var d=a("hE"),h=a("nc"),l=a("iz");return h.define("PhotoAlbumAudio",l,function(){l.call(this,d.iAa)})});
define("cR",["require","kx"],function(a){function d(l,k){this.j=l;this.Qo=k;this.tE=[];this.$q=[];this.hq=1}var h=a("kx");d.prototype.clear=function(){for(var l=0;l<this.tE.length;l++)this.tE[l].Gd(h.S);this.RBa();this.$q=this.tE=null};d.prototype.stop=function(){for(var l=0;l<this.$q.length;l++)this.$q[l].Gd(h.S)};d.prototype.play=function(){for(var l=0;l<this.$q.length;l++){var k=this.$q[l];k.getState()!=h.X&&k.Gd(h.X)}};d.prototype.pause=function(){for(var l=0;l<this.$q.length;l++){var k=this.$q[l];
k.getState()==h.X&&k.Gd(h.Cb)}};d.prototype.start=function(){this.stop();for(var l=0;l<this.Qo.length;l++){var k=this.Qo[l],b=k.WC();b&&(this.tE.push(b),k.get("autoplay",!1)&&this.$q.push(b))}for(l=0;l<this.$q.length;l++)this.$q[l].Gd(h.X)};d.prototype.sd=function(){};d.prototype.RBa=function(){for(var l=0;l<this.tE.length;l++)this.tE[l].Sv(1)};return d});
define("hO",["require","kV","cR"],function(a){var d=a("kV"),h=a("cR");return d.extend(h,function(l,k){h.call(this,l,k.get("audios",[]));this.NU=k})});define("hb",["require","kV","cR"],function(a){var d=a("kV"),h=a("cR");return d.extend(h,function(l,k){h.call(this,l,k.get("audios",[]));this.Te=k})});
define("iN",["require","hO","hb"],function(a){function d(k){this.j=k;this.wi=[];this.fi=[]}var h=a("hO"),l=a("hb");d.prototype.clear=function(){this.fya();this.fi=this.wi=null};d.prototype.fya=function(){for(var k=0;k<this.wi.length;k++)this.wi[k].clear();for(k=0;k<this.fi.length;k++)this.fi[k].clear();this.wi=[];this.fi=[]};d.prototype.pause=function(){for(var k=0;k<this.wi.length;k++)this.wi[k].pause();for(k=0;k<this.fi.length;k++)this.fi[k].pause()};d.prototype.play=function(){for(var k=0;k<this.wi.length;k++)this.wi[k].play();
for(k=0;k<this.fi.length;k++)this.fi[k].play()};d.prototype.stop=function(){for(var k=0;k<this.wi.length;k++)this.wi[k].stop();for(k=0;k<this.fi.length;k++)this.fi[k].clear();this.fi=[]};d.prototype.fXa=function(k){k=new h(this.j,k);this.fi.push(k);k.start()};d.prototype.jXa=function(k){for(var b=0;b<this.fi.length;b++)if(this.fi[b].NU==k){this.fi[b].clear();this.fi.splice(b,1);break}};d.prototype.Qca=function(k){k=new l(this.j,k);this.wi.push(k);k.start()};d.prototype.hXa=function(k){for(var b=0;b<
this.wi.length;b++)if(this.wi[b].Te==k){this.wi[b].clear();this.wi.splice(b,1);break}};d.prototype.sd=function(k){for(var b=0;b<this.wi.length;b++)this.wi[b].sd(k);for(b=0;b<this.fi.length;b++)this.fi[b].sd(k)};return d});
define("k",["require","kV","lK"],function(a){function d(){this.va=!0;this.Ia=this.Ga=.5;this.fb=1;this.pf=h.jh;this.$l=this.am=100}a("kV");var h=a("lK");d.prototype.getX=function(){this.Pm();return this.Ga};d.prototype.getY=function(){this.Pm();return this.Ia};d.prototype.rq=function(){this.Pm();return this.fb};d.prototype.setConfiguration=function(l,k,b){this.pf=b;this.Ia=this.Ga=.5;this.fb=1;this.va=!0};d.prototype.setPosition=function(l,k,b){this.Ga=l;this.Ia=k;this.fb=b;this.va=!0};d.prototype.setSize=
function(l,k){this.am=l;this.$l=k;this.va=!0};d.prototype.Pm=function(){if(this.va){this.va=!1;1>this.fb&&(this.fb=1);var l=Math.min(.5/this.fb,.5),k=Math.max(1-.5/this.fb,.5);this.Ga<l?this.Ga=l:this.Ga>k&&(this.Ga=k);l=Math.min(.5/this.fb,.5);k=Math.max(1-.5/this.fb,.5);this.Ia<l?this.Ia=l:this.Ia>k&&(this.Ia=k)}};return d});
define("bA",["require"],function(){function a(d,h){this.j=d;this.da=h;this.Ia=this.Ga=.5;this.fb=1;this.jV=!1}a.prototype.start=function(){this.Ia=this.Ga=.5;this.fb=1;this.jV=!0};a.prototype.clear=function(){this.da=this.j=null};a.prototype.setPosition=function(d,h,l){this.Ga=d;this.Ia=h;this.fb=l};a.prototype.Qe=function(){return this.jV};a.prototype.wb=function(){this.jV=!1};return a});
define("hu",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PhotoCameraPosition",d,function(h,l,k){d.call(this);void 0!=h&&this.set("x",h);void 0!=l&&this.set("y",l);void 0!=k&&this.set("zoomFactor",k)})});
define("i","require kV bA hu nJ bD".split(" "),function(a){var d=a("kV"),h=a("bA"),l=a("hu"),k=a("nJ"),b=a("bD");a=d.extend(h,function(g,f){h.call(this,g,f);this.W=null});a.prototype.start=function(g){var f=g.get("initialPosition",new l(.5,.5,1)),c=g.get("targetPosition",new l(.5,.5,1)),e=g.get("duration",1E3);0==e?(this.Ga=f.get("x"),this.Ia=f.get("y"),this.fb=f.get("zoomFactor")):this.W=new k(g.get("easing","linear"),[new b("x",f.get("x",.5),c.get("x",.5)),new b("y",f.get("y",.5),c.get("y",.5)),
new b("zoom",f.get("zoomFactor",1),c.get("zoomFactor",1))],e);this.wb(0)};a.prototype.clear=function(){this.W=null;h.prototype.clear.call(this)};a.prototype.Qe=function(){return null!=this.W};a.prototype.wb=function(g){this.W&&(this.W.wb(g),this.da.setPosition(this.W.$a("x"),this.W.$a("y"),this.W.$a("zoom")),this.Ga=this.da.getX(),this.Ia=this.da.getY(),this.fb=this.da.rq(),this.W.Fe()&&(this.W=null))};return a});
define("cF","require kV cu fV nc kx lK k bA i og".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("nc"),b=a("kx"),g=a("lK"),f=a("k"),c=a("bA"),e=a("i"),m=a("og"),q=d.extend(l,function(p,n){l.call(this);this.j=p;this.Rd=n;this.j.bind(m.fc,this.cc,this);this.A=b.S;this.ql=this.NU=this.ta=this.wa=null;this.da=new f});q.prototype.clear=function(){this.end();this.da=null;this.j.unbind(m.fc,this.cc,this);this.j=null};q.prototype.end=function(p){if(this.wa==p||"undefined"==typeof p)this.Jha(),
this.ta=this.NU=this.wa=null};q.prototype.start=function(p){if(this.wa!=p){this.end(this.wa);var n=p.get("media"),r=p.get("camera"),t=n.get("width",100),u=n.get("height",100),v=r?r.get("scaleMode",g.jh):g.jh;this.wa=p;this.ta=r;this.NU=n;n.zj();this.T=!0;this.da.setConfiguration(t,u,v);this.DEa(r);this.Ka()}};q.prototype.stop=function(){this.A!=b.S&&(this.A=b.S,this.ql&&(this.ql.start(this.ta),this.Ka()))};q.prototype.play=function(){if(this.A==b.S||this.A==b.Cb)this.A=b.X,this.Ka()};q.prototype.pause=
function(){this.A==b.X&&(this.A=b.Cb)};q.prototype.Gv=function(p){this.ql&&this.ql.Qe()&&(this.A==b.X&&(this.ql.wb(p),this.Ka()),this.ul(this.ql.Ga,this.ql.Ia,this.ql.fb))};q.prototype.DEa=function(p){this.Jha();k.Ea("MovementPhotoCamera",p)?this.ql=new e(this.j,this.da):this.ql=new c(this.j,this.da);this.ql.start(p)};q.prototype.Jha=function(){this.ql&&(this.ql.clear(),this.ql=null)};q.prototype.cc=function(){this.da.setSize(this.j.Va(),this.j.zb());this.Ka()};q.prototype.Ka=function(){this.trigger(new h(q.Bb))};
q.prototype.ul=function(p,n,r){this.Rd.setPosition(this.wa,p,n,r)};q.Bb="request frame";return q});
define("hI","require dY kV cu fV og hE lK".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("cu"),k=a("fV"),b=a("og");a("hE");var g=a("lK"),f=h.extend(k,function(e,m){k.call(this);this.aN=[];this.N=e;this.j=m});f.prototype.preload=function(e){this.nx(e).preload();return this};f.prototype.ff=function(e,m){this.nx(e).ff(m);return this};f.prototype.Ym=function(e,m){this.nx(e).Ym(m);return this};f.prototype.setPosition=function(e,m,q,p){this.nx(e).setPosition(m,q,p);return this};f.prototype.Nh=function(e){this.nx(e).Nh()};
f.prototype.stop=function(){this.dia(function(e){e.clear()});this.aN=[]};f.prototype.clear=function(){this.stop();this.j=this.N=this.aN=null};f.prototype.sd=function(){this.dia(function(e){e.update()})};f.prototype.nx=function(e){var m=this.LFa(e);m||(m=new c(e,this.j),m.bind(c.zea,this.VIa,this),m.bind(c.xea,this.UIa,this),this.aN.push(m));return m};f.prototype.dia=function(e){d(this.aN).each(e,this)};f.prototype.LFa=function(e){return d(this.aN).find(function(m){return m.getItem()==e})};f.prototype.VIa=
function(){this.Ka()};f.prototype.UIa=function(e){this.trigger(new l(f.q_,{item:e.source.getItem()}))};f.prototype.Ka=function(){this.trigger(new l(f.Bb))};f.Bb="request frame";f.q_="photo preload end";var c=h.extend(k,function(e,m){k.call(this);this.wa=e;this.j=m;this.pf=(m=e.get("camera"))?m.get("scaleMode",g.jh):g.jh;this.Ki=e.get("media").zj();this.Ki.bind(b.aa,this.kd,this);this.Ki.bind(b.Fc,this.Af,this);this.la=c.aJ;this.Ia=this.Ga=.5;this.fb=1;this.tn=0;this.wE=!1;this.mg=0;this.va=!1});c.prototype.getItem=
function(){return this.wa};c.prototype.preload=function(){this.la==c.aJ?this.VU():this.Mqa()};c.prototype.ff=function(e){this.tn!=e&&(this.tn=e,this.Je())};c.prototype.Ym=function(e){this.mg!=e&&(this.mg=e,this.Je())};c.prototype.setPosition=function(e,m,q){if(this.Ga!=e||this.Ia!=m||this.fb!=q)this.Ga=e,this.Ia=m,this.fb=q,this.Je()};c.prototype.Nh=function(){this.wE||(this.wE=!0,this.Je())};c.prototype.clear=function(){this.la==c.xQ&&this.tM();this.la!=c.YI&&this.la!=c.$I&&this.la!=c.ZI||this.Iy();
this.Ki.unbind(b.aa,this.kd);this.Ki.unbind(b.Fc,this.Af);this.Ki=null};c.prototype.update=function(){this.va&&(this.va=!1,-1<this.mg&&1>this.mg&&0<this.tn?(this.la==c.aJ&&this.PK(),this.la==c.YI&&this.kBa(),this.la==c.xQ&&(this.wE&&(this.j.faa(this.Ki),this.wE=!1),this.j.yq(this.Ki,this.tn),this.j.VVa(this.Ki,this.mg),this.j.vP(this.Ki,this.Ga,this.Ia,this.fb))):(this.la==c.xQ&&this.tM(),this.la!=c.YI&&this.la!=c.ZI||this.Iy()))};c.prototype.Je=function(){this.va||(this.va=!0,this.Da())};c.prototype.Da=
function(){this.trigger(new l(c.zea))};c.prototype.VU=function(){this.la=c.$I;this.j.po(this.Ki);this.j.Vua(this.Ki)&&this.kd()};c.prototype.PK=function(){this.la=c.ZI;this.j.po(this.Ki);this.j.Vua(this.Ki)&&this.kd()};c.prototype.kBa=function(){this.la=c.xQ;this.j.V$(this.Ki);this.j.YVa(this.Ki,this.pf)};c.prototype.tM=function(){this.la=c.YI;this.j.removeItem(this.Ki)};c.prototype.Iy=function(){this.la=c.aJ;this.j.Dj(this.Ki)};c.prototype.kd=function(){if(this.la==c.$I||this.la==c.ZI){var e=this.la==
c.$I;this.la=c.YI;this.Je();e&&this.Mqa()}};c.prototype.Af=function(){if(this.la==c.$I||this.la==c.ZI)this.la=c.aJ};c.prototype.Mqa=function(){this.trigger(new l(c.xea))};c.zea="requestUpdate";c.xea="preloadEnd";c.aJ="unloaded";c.$I="preloading";c.ZI="loading";c.YI="loaded";c.xQ="added";return f});define("mL",["require"],function(){return{hn:"blending",Lo:"scroll"}});
define("bY","require dY kV cu fV og hI mL".split(" "),function(a){function d(e,m,q){this.Qm=e;this.item=m;this.transitionDuration=q;this.index=e&&m?h(e.get("playList").get("items")).indexOf(this.item):0;this.loaded=!1}var h=a("dY"),l=a("kV"),k=a("cu"),b=a("fV");a("og");var g=a("hI"),f=a("mL");d.prototype.isEqual=function(e){return e&&e.Qm==this.Qm&&e.item==this.item};var c=l.extend(b,function(e,m,q){b.call(this);this.N=e;this.j=m;this.Rd=q;this.Rd.bind(g.q_,this.Gna,this);this.vN=f.hn;this.la=c.lE;
this.xf=new d(null,null,0);this.Lt=this.gk=this.Wg=null;this.wN=void 0;this.vy=0});c.prototype.IWa=function(e){this.vN=e};c.prototype.Eca=function(e){this.vy=e};c.prototype.ada=function(e,m,q){this.gk=null;e=new d(e,m,q);e.isEqual(this.la==c.lE?this.xf:this.Wg)||(this.gk=e,this.Ama())};c.prototype.clear=function(){this.la!=c.AQ&&this.la!=c.yQ||this.trigger(new k(c.gw,{album:this.Wg.Qm,item:this.Wg.item}));this.la=c.lE;this.j=this.N=this.Lt=this.xf=this.Wg=this.gk=null;this.Rd.unbind(g.q_,this.Gna,
this);this.Rd=null};c.prototype.sd=function(e){this.la!=c.lE&&(this.wN+=e,e=this.Wg.transitionDuration,e=this.wN>=e?1:this.wN/e,this.la==c.yQ?this.IPa(e):this.la==c.zQ?this.JPa(e):this.vN==f.hn?this.vPa(e):this.mQa(e),1>e?this.Ka():this.hx())};c.prototype.IPa=function(e){this.Rd.ff(this.Wg.item,e).Ym(this.Wg.item,0)};c.prototype.JPa=function(e){this.Rd.ff(this.xf.item,1-e).Ym(this.xf.item,0)};c.prototype.vPa=function(e){this.Rd.ff(this.Wg.item,Math.min(1,2*e)).Ym(this.Wg.item,0);this.Rd.ff(this.xf.item,
Math.min(1,2*(1-e))).Ym(this.xf.item,0)};c.prototype.mQa=function(e){var m=this.xf.Qm!=this.Wg.Qm||this.xf.index<this.Wg.index;this.Rd.Ym(this.Wg.item,(m?1-e:e-1)*(1+this.vy)).ff(this.Wg.item,1);this.Rd.Ym(this.xf.item,(m?-e:e)*(1+this.vy)).ff(this.xf.item,1)};c.prototype.Ama=function(){this.gk&&this.la==c.lE&&(this.gk.item&&!this.gk.loaded?this.Rd.preload(this.gk.item):this.Ro())};c.prototype.Gna=function(e){this.gk&&this.gk.item==e.data.item&&(this.gk.loaded=!0,this.Ama())};c.prototype.Ro=function(){this.Lt&&
this.Lt!=this.gk.Qm&&(this.trigger(new k(c.zo,{album:this.Lt})),this.Lt=null);this.trigger(new k(c.x_));"fade_out_fade_in"==this.N.get("transitionMode")&&null!=this.gk.item&&null!=this.xf.item?(this.la=c.zQ,this.Wg=new d(this.xf.Qm,null,this.xf.transitionDuration)):(this.Wg=this.gk,this.gk=null,this.xf.item)?this.Wg.item?this.la=c.AQ:this.xf.item&&(this.la=c.zQ):this.la=c.yQ;if(this.la==c.AQ||this.la==c.yQ)this.Rd.Nh(this.Wg.item),this.trigger(new k(c.Lz,{album:this.Wg.Qm,item:this.Wg.item}));this.wN=
0;this.Ka()};c.prototype.hx=function(){this.la!=c.AQ&&this.la!=c.zQ||this.trigger(new k(c.gw,{album:this.xf.Qm,item:this.xf.item}));this.xf=this.Wg;this.Lt!=this.xf.Qm&&(this.Lt=this.xf.Qm,this.trigger(new k(c.Ao,{album:this.Lt})));this.la=c.lE;null==this.gk?(this.xf.item&&this.trigger(new k(c.Mz,{album:this.xf.Qm,item:this.xf.item})),this.trigger(new k(c.Eo,{album:this.xf.Qm,item:this.xf.item}))):this.Ro()};c.prototype.Ka=function(){this.trigger(new k(c.Bb))};c.lE="stopped";c.AQ="blending";c.zQ=
"fading_out";c.yQ="fading_in";c.Bb="request frame";c.x_="transition begin";c.Eo="transition end";c.Lz="photo added";c.gw="photo removed";c.Mz="photo displayed";c.Ao="photo album show";c.zo="photo album hide";return c});
define("ft","require dY kV cu fV og nc lK hu k bA i nJ bD".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("cu"),k=a("fV"),b=a("og"),g=a("nc"),f=a("lK"),c=a("hu"),e=a("k");a("bA");a("i");var m=a("nJ"),q=a("bD"),p=h.extend(k,function(n,r,t){k.call(this);this.N=n;this.j=r;this.Rd=t;this.Tn=this.Gn=this.wa=this.Te=this.Xa=null;this.Hm=void 0;this.YV=0;this.kk=!1;this.mg=0;this.uT=this.Tn?-1:0;this.rT=this.Gn?1:0;this.W=null;this.Lg=400;this.vy=0;this.da=new e});p.prototype.clear=function(){this.Rd=
this.j=this.N=this.Lt=null};p.prototype.yVa=function(n,r){this.Te=n;this.wa=r;n=n&&n.get("playList")&&n.get("playList").get("items")||[];r=d(n).indexOf(r);this.Gn=0<r?n[r-1]:null;this.Tn=r<n.length-1?n[r+1]:null;this.mg=0;this.uT=this.Tn?-1:0;this.rT=this.Gn?1:0;this.VU()};p.prototype.enable=function(){if(this.Xa=this.j.getParent())this.Xa.bind(b.ub,this.Md,this,!0),this.Xa.bind(b.ec,this.ij,this,!0),this.Xa.bind(b.$b,this.jj,this,!0),this.VU()};p.prototype.disable=function(){this.Xa&&(this.Xa.unbind(b.ub,
this.Md,this),this.Xa.unbind(b.ec,this.ij,this),this.Xa.unbind(b.$b,this.jj,this),this.Xa=null)};p.prototype.HWa=function(n){this.Lg=n};p.prototype.Eca=function(n){this.vy=n};p.prototype.VU=function(){this.Xa&&(this.Gn&&this.Rd.preload(this.Gn),this.Tn&&this.Rd.preload(this.Tn))};p.prototype.ila=function(){return(new Date).getTime()};p.prototype.Md=function(n){this.kk||(this.Hm=n.x,this.YV=0,this.n7=this.ila(),this.kk=!0,this.W=null,this.trigger(new l(p.YZ)),this.Gn&&(n=this.jja(this.Gn),this.Rd.setPosition(this.Gn,
n.x,n.y,n.zoom)),this.Tn&&(n=this.jja(this.Tn),this.Rd.setPosition(this.Tn,n.x,n.y,n.zoom)))};p.prototype.ij=function(n){if(this.kk){var r=n.x-this.Hm,t=r/this.Xa.Va(),u=this.ila()-this.n7;this.YV=r/u;this.n7+=u;this.Hm=n.x;this.mg=Math.max(this.uT,Math.min(this.rT,this.mg+t));this.Ka()}};p.prototype.jj=function(){if(this.kk){this.kk=!1;if(1<this.YV){var n="quad_out";var r=this.rT}else-1>this.YV?(n="quad_out",r=this.uT):(n="quad_in_out",r=-.5>this.mg?this.uT:.5<this.mg?this.rT:0);this.W=new m(n,[new q("offset",
this.mg,r,1E3/this.Lg)],0);this.Ka()}};p.prototype.sd=function(n){if(this.kk||this.W)this.W&&(this.W.wb(n),this.mg=this.W.$a("offset"),this.W.Fe()?(this.W=null,this.rFa()):this.Ka()),this.wa&&this.Rd.Ym(this.wa,this.mg*(1+this.vy)).ff(this.wa,1),this.Gn&&this.Rd.Ym(this.Gn,(this.mg-1)*(1+this.vy)).ff(this.Gn,1),this.Tn&&this.Rd.Ym(this.Tn,(this.mg+1)*(1+this.vy)).ff(this.Tn,1)};p.prototype.rFa=function(){this.trigger(new l(p.ZZ,{album:this.Te,item:0>this.mg?this.Tn:0<this.mg?this.Gn:this.wa}))};p.prototype.Ka=
function(){this.trigger(new l(p.Bb))};p.prototype.jja=function(n){var r=n&&n.get("camera"),t=n&&n.get("media");n=t&&t.get("width",100)||100;t=t&&t.get("height",100)||100;var u=r?r.get("scaleMode",f.jh):f.jh,v={};g.Ea("MovementPhotoCamera",r)?(r=r.get("initialPosition",new c(.5,.5,1)),v.x=r.get("x",.5),v.y=r.get("y",.5),v.zoom=r.get("zoomFactor",.5)):(v.x=.5,v.y=.5,v.zoom=1);this.da.setConfiguration(n,t,u);this.da.setSize(this.j.Va(),this.j.zb());this.da.setPosition(v.x,v.y,v.zoom);v.x=this.da.getX();
v.y=this.da.getY();v.zoom=this.da.rq();return v};p.Bb="request frame";p.YZ="interaction begin";p.ZZ="interaction end";return p});
define("iQ","require kV cu fV og hI mL bY ft".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV");a("og");a("hI");var k=a("mL"),b=a("bY"),g=a("ft"),f=d.extend(l,function(c,e,m){l.call(this);this.N=c;this.j=e;this.Rd=m;this.vN=k.hn;this.Lg=1E3;this.Ib=new b(this.N,this.j,this.Rd);this.Ib.bind(b.Bb,this.Be,this,!0);this.Ib.bind(b.x_,this.zla,this,!0);this.Ib.bind(b.Eo,this.Ala,this,!0);this.Ib.bind(b.Lz,this.GL,this,!0);this.Ib.bind(b.gw,this.JL,this,!0);this.Ib.bind(b.Mz,this.IL,this,!0);this.Ib.bind(b.zo,
this.vp,this,!0);this.Ib.bind(b.Ao,this.Kn,this,!0);this.bl=new g(this.N,this.j,this.Rd);this.bl.bind(g.Bb,this.Be,this,!0);this.bl.bind(g.YZ,this.Fka,this,!0);this.bl.bind(g.ZZ,this.Gka,this,!0)});f.prototype.eZ=function(c,e){this.vN=c;this.Lg=e;this.Ib.IWa(c);this.bl.HWa(e);this.Ib.Eca(.05);this.bl.Eca(.05)};f.prototype.display=function(c,e){this.Ib.ada(c,e,this.Lg)};f.prototype.hide=function(){this.Ib.ada(null,null,this.Lg)};f.prototype.clear=function(){this.Ib.unbind(b.Bb,this.Be,this);this.Ib.unbind(b.x_,
this.zla,this);this.Ib.unbind(b.Eo,this.Ala,this);this.Ib.unbind(b.Lz,this.GL,this);this.Ib.unbind(b.gw,this.JL,this);this.Ib.unbind(b.Mz,this.IL,this);this.Ib.unbind(b.zo,this.vp,this);this.Ib.unbind(b.Ao,this.Kn,this);this.Ib.clear();this.Ib=null;this.bl.bind(g.Bb,this.Be,this,!0);this.bl.bind(g.YZ,this.Fka,this,!0);this.bl.bind(g.ZZ,this.Gka,this,!0);this.bl.clear();this.Rd=this.j=this.N=this.bl=null};f.prototype.sd=function(c){this.Ib.sd(c);this.bl.sd(c)};f.prototype.Be=function(){this.Ka()};
f.prototype.GL=function(c){this.trigger(new h(f.Lz,c.data))};f.prototype.JL=function(c){this.trigger(new h(f.gw,c.data))};f.prototype.IL=function(c){this.trigger(new h(f.Mz,c.data));this.bl.yVa(c.data.album,c.data.item)};f.prototype.vp=function(c){this.trigger(new h(f.zo,c.data))};f.prototype.Kn=function(c){this.trigger(new h(f.Ao,c.data))};f.prototype.zla=function(){this.bl.disable()};f.prototype.Ala=function(c){this.vN==k.Lo&&c.data.item&&this.bl.enable();c.data.album||this.trigger(new h(f.VZ))};
f.prototype.Fka=function(){this.trigger(new h(f.Bda))};f.prototype.Gka=function(c){this.Ib.ada(c.data.album,c.data.item,0);this.trigger(new h(f.Cda,c.data))};f.prototype.Ka=function(){this.trigger(new h(f.Bb))};f.Bb="request frame";f.Lz="photo added";f.gw="photo removed";f.Mz="photo displayed";f.Ao="photo album show";f.zo="photo album hide";f.Bda="manual interaction begin";f.Cda="manual interaction end";f.VZ="all pending photo albums hidden";return f});
define("ik","require dY kV x cu fV kx".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("x"),k=a("cu"),b=a("fV"),g=a("kx"),f=h.extend(b,function(){b.call(this);this.Te=null;this.A=g.S;this.i8=null});f.prototype.clear=function(){this.taa()};f.prototype.Qca=function(c){this.taa();this.Te=c;this.A=g.X;this.i8=l.Is(this.Te,"playList.selectedIndex",this.nC,this);0==this.Te.get("playList").get("selectedIndex")?this.nC():this.Te.get("playList").set("selectedIndex",0)};f.prototype.taa=function(){this.Te&&
(this.A=g.S,this.i8.qz(),this.Te=this.i8=null)};f.prototype.stop=function(){this.A!=g.S&&(this.A=g.S,this.Te.get("playList").set("selectedIndex",0))};f.prototype.play=function(){this.A==g.S?(this.Te.get("playList").set("selectedIndex",0),this.A=g.X,this.nC()):this.A==g.Cb&&(this.A=g.X)};f.prototype.pause=function(){this.A==g.X&&(this.A=g.Cb)};f.prototype.next=function(){var c=this.Te.get("playList"),e=c.get("selectedIndex"),m=c.get("items").length;(e<m-1||this.Te.get("loop"))&&c.set("selectedIndex",
(e+1)%m)};f.prototype.Lba=function(){var c=this.Te.get("playList"),e=c.get("selectedIndex"),m=c.get("items").length;(0<e||this.Te.get("loop"))&&c.set("selectedIndex",(e-1+m)%m)};f.prototype.iY=function(c){this.kNa(c)};f.prototype.XTa=function(c){if(this.Te){var e=d(this.Te.get("playList").get("items")).last();c!=e||this.Te.get("loop")?this.next():(this.A=g.S,this.trigger(new k(f.RZ,{album:this.Te})))}};f.prototype.nC=function(){var c=this.yHa();0<=c&&(this.A!=g.X&&0!=c?this.trigger(new k(f.t_)):this.trigger(new k(f.c_,
{album:this.Te,item:this.Te.get("playList").get("items")[c]})))};f.prototype.yHa=function(){return this.Te?this.Te.get("playList").get("selectedIndex"):-1};f.prototype.kNa=function(c){if(this.Te){var e=this.Te.get("playList");c=d(e.get("items")).indexOf(c);e.set("selectedIndex",c)}};f.t_="play request";f.c_="item request";f.RZ="album end";return f});
define("cL","require dY kV og cu fV kx gP".split(" "),function(a){a("dY");var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("kx"),g=a("gP"),f=d.extend(k,function(c){k.call(this);this.N=c;this.nN=this.wa=null;this.eC=void 0;this.WS=!1;this.A=b.S;g.bind(h.sa,this.qna,this,!0)});f.prototype.iY=function(c){this.I2();if(this.wa=c)c=this.wa.get("media").get("duration",0),this.eC=0==c?void 0:Math.max(0,c-this.N.get("transitionDuration")),this.WS=!1,this.A==b.X&&this.d3()};f.prototype.clear=function(){g.unbind(h.sa,
this.qna,this,!0);this.iY(null)};f.prototype.stop=function(){this.A!=b.S&&(this.I2(),this.xc(b.S))};f.prototype.play=function(){if(this.A==b.S){if(this.xc(b.X),this.wa){this.WS=!1;var c=this.wa.get("media").get("duration",0);this.eC=0==c?void 0:c;this.d3()}}else this.A==b.Cb&&(this.xc(b.X),this.wa&&this.d3())};f.prototype.pause=function(){this.A==b.X&&(this.xc(b.Cb),this.Dna())};f.prototype.d3=function(){this.WS||(this.WS=!0,this.trigger(new l(f.d_,{item:this.wa})));this.oia()};f.prototype.qna=function(){g.visible?
this.oia():g.visible||this.Dna()};f.prototype.oia=function(){if(void 0!==this.eC){var c=this;this.rW=(new Date).getTime()+this.eC;this.nN=setTimeout(function(){c.nN=null;c.EOa()},this.eC)}else this.rW=void 0};f.prototype.I2=function(){this.nN&&(clearTimeout(this.nN),this.nN=null)};f.prototype.Dna=function(){void 0!==this.rW&&(this.I2(),this.eC=Math.max(1,this.rW-(new Date).getTime()),this.rW=void 0)};f.prototype.EOa=function(){var c=this.wa;this.wa=null;this.eC=void 0;this.trigger(new l(f.b_,{item:c}))};
f.prototype.xc=function(c){this.A!=c&&(this.A=c,this.trigger(new l(f.Cc,{state:this.A})))};f.Cc="playback state change";f.d_="item start";f.b_="item end";return f});
define("na","require kV cu fV bf u".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("fV"),k=a("bf"),b=a("u"),g=d.extend(l,function(f){l.call(this);this.T=!0;this.XA=!1;this.j=f;this.om=b.browser()==b.xz&&b.fe()==b.j0?3:1;this.ze=this.bK=0});g.prototype.clear=function(){this.T=!1;this.j=null;this.ze=this.bK=0};g.prototype.requestFrame=function(){this.XA||(this.XA=!0,k.requestFrame(this.lj,this))};g.prototype.lj=function(f){this.T&&(this.bK++,this.ze+=f,this.bK==this.om?(this.bK=0,this.XA=!1,f=this.ze,
this.ze=0,this.trigger(new h(g.Co,{frameTime:f})),this.trigger(new h(g.Do,{frameTime:f})),this.j.render()):k.requestFrame(this.lj,this))};g.Co="frameStart";g.Do="positionSet";return g});
define("go","require kV og cu fV iN cF iQ ik cL hI na".split(" "),function(a){var d=a("kV");a("og");var h=a("cu"),l=a("fV"),k=a("iN"),b=a("cF"),g=a("iQ"),f=a("ik"),c=a("cL"),e=a("hI"),m=a("na"),q=d.extend(l,function(p,n){l.call(this);this.N=p;this.j=n;this.j.set("visible",!1);this.Dh=new f(this.j);this.Ha=new c(this.N);this.Rd=new e(this.N,this.j);this.Na=new g(this.N,this.j,this.Rd);this.Ya=new b(this.j,this.Rd);this.bg=new m(this.j);this.Id=new k(this.j);this.Rd.bind(e.Bb,this.Be,this,!0);this.Dh.bind(f.c_,
this.Sla,this,!0);this.Dh.bind(f.t_,this.Ema,this,!0);this.Dh.bind(f.RZ,this.HL,this,!0);this.Ha.bind(c.d_,this.Tla,this);this.Ha.bind(c.b_,this.Rla,this);this.Ha.bind(c.Cc,this.Ke,this,!0);this.Na.bind(g.Bb,this.Be,this,!0);this.Na.bind(g.Lz,this.GL,this,!0);this.Na.bind(g.gw,this.JL,this,!0);this.Na.bind(g.Mz,this.IL,this,!0);this.Na.bind(g.zo,this.vp,this,!0);this.Na.bind(g.Ao,this.Kn,this,!0);this.Na.bind(g.Bda,this.PJa,this,!0);this.Na.bind(g.Cda,this.QJa,this,!0);this.Na.bind(g.VZ,this.qla,
this,!0);this.Ya.bind(b.Bb,this.Be,this,!0);this.bg.bind(m.Co,this.Ux,this,!0);this.bg.bind(m.Do,this.Vx,this,!0)});q.prototype.clear=function(){this.Dh.clear();this.Ha.clear();this.Na.clear();this.Ya.clear();this.bg.clear();this.Id.clear();this.Rd.clear();this.Rd.unbind(e.Bb,this.Be,this);this.Dh.unbind(f.c_,this.Sla,this);this.Dh.unbind(f.RZ,this.HL,this);this.Dh.unbind(f.t_,this.Ema,this);this.Ha.unbind(c.d_,this.Tla,this);this.Ha.unbind(c.b_,this.Rla,this);this.Ha.unbind(c.Cc,this.Ke,this);this.Na.unbind(g.Bb,
this.Be,this);this.Na.unbind(g.Lz,this.GL,this);this.Na.unbind(g.gw,this.JL,this);this.Na.unbind(g.Mz,this.IL,this);this.Na.unbind(g.zo,this.vp,this);this.Na.unbind(g.Ao,this.Kn,this);this.Na.unbind(g.VZ,this.qla,this);this.Ya.unbind(b.Bb,this.Be,this);this.bg.unbind(m.Co,this.Ux,this);this.bg.unbind(m.Do,this.Vx,this);this.N=this.j=this.Rd=this.Id=this.bg=this.Ya=this.Na=this.Ha=this.Dh=null};q.prototype.eZ=function(p,n){this.Na.eZ(p,n)};q.prototype.mWa=function(p){this.j.set("visible",!0);this.Dh.Qca(p)};
q.prototype.Kv=function(){this.Dh.taa();this.Ha.stop();this.Na.hide();this.Ya.end();this.Id.fya()};q.prototype.next=function(){this.Dh.next()};q.prototype.Lba=function(){this.Dh.Lba()};q.prototype.stop=function(){this.Ha.stop();this.Id.stop();this.Dh.stop();this.Ya.stop()};q.prototype.play=function(){this.Ha.play();this.Id.play();this.Dh.play();this.Ya.play()};q.prototype.pause=function(){this.Ha.pause();this.Id.pause();this.Dh.pause();this.Ya.pause()};q.prototype.PJa=function(){this.Ha.pause();this.Id.pause();
this.Dh.pause();this.Ya.pause()};q.prototype.QJa=function(){this.Ha.play();this.Id.play();this.Dh.play();this.Ya.play()};q.prototype.Sla=function(p){this.Na.display(p.data.album,p.data.item)};q.prototype.Ema=function(){this.play()};q.prototype.Be=function(){this.bg.requestFrame()};q.prototype.Ux=function(p){this.Ya.Gv(p.data.frameTime)};q.prototype.Vx=function(p){p=p.data.frameTime;this.Na.sd(p);this.Rd.sd(p);this.Id.sd(p)};q.prototype.GL=function(p){this.Ya.start(p.data.item)};q.prototype.JL=function(p){var n=
p.data.album;p=p.data.item;var r=p.get("media");this.Ya.end(p);this.Id.jXa(r);this.trigger(new h(q.p_,{photoAlbum:n,item:p}))};q.prototype.IL=function(p){var n=p.data.album;p=p.data.item;p.get("media");this.Dh.iY(p);this.Ha.iY(p);this.trigger(new h(q.o_,{photoAlbum:n,item:p}))};q.prototype.Tla=function(p){p=p.data.item.get("media");this.Id.fXa(p)};q.prototype.Rla=function(p){this.Dh.XTa(p.data.item)};q.prototype.HL=function(p){this.Ha.stop();this.Id.stop();this.trigger(new h(q.n_,{photoAlbum:p.data.album}))};
q.prototype.Kn=function(p){p=p.data.album;this.Id.Qca(p);this.Ha.play();this.Ya.play();this.trigger(new h(q.Ao,{photoAlbum:p}))};q.prototype.vp=function(p){p=p.data.album;this.Id.hXa(p);this.trigger(new h(q.zo,{photoAlbum:p}))};q.prototype.qla=function(){this.j.set("visible",!1)};q.prototype.Ke=function(p){this.trigger(new h(q.Cc,{state:p.data.state}))};q.Ao="photoAlbumShow";q.n_="photoAlbumEnd";q.zo="photoAlbumHide";q.o_="photoBegin";q.p_="photoEnd";q.Cc="playbackStateChange";return q});
define("hn","require jquery.mod dY lK kS lo u".split(" "),function(a){function d(f,c){this.wa=f;this.ga=c;this.Fb=f.nd();this.Rb=f.$d();this.aS=f.s3;this.S$=this.OK=0;this.tn=1;this.mg=0;this.va=!0;this.a2();this.xd=this.pd=100;this.Ia=this.Ga=.5;this.fb=1;this.jM=!0;this.Ze=1;this.mia={};this.Tja={};this.Kra=g.browser()!=g.Rh}var h=a("jquery.mod"),l=a("dY"),k=a("lK"),b=a("kS");a("lo");var g=a("u");d.prototype.a2=function(){this.uQ=h("<div></div>");var f={position:"absolute",left:"0",top:"0",width:this.pd+
"px",height:this.xd+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};f["-moz-transform-origin"]=f["-webkit-transform-origin"]=f["transform-origin"]="0 0 0";f["-ms-transform-origin"]="0 0";this.uQ.css(f);this.l0=h(b.sf(this.wa.li(),!0));f={display:"block",position:"absolute",left:"0",top:"0",width:this.Fb+"px",height:this.Rb+"px"};f["-moz-transform-origin"]=f["-webkit-transform-origin"]=f["transform-origin"]="0 0 0";f["-ms-transform-origin"]="0 0";this.l0.css(f);this.uQ.append(this.l0)};
d.prototype.yc=function(){return this.uQ};d.prototype.getItem=function(){return this.wa};d.prototype.getX=function(){return this.Ga};d.prototype.getY=function(){return this.Ia};d.prototype.rq=function(){return this.fb};d.prototype.Va=function(){return Math.round(this.Fb*this.fb*this.Ze)};d.prototype.zb=function(){return Math.round(this.Rb*this.fb*this.Ze)};d.prototype.ff=function(f){this.tn!=f&&(this.tn=f,this.va=!0)};d.prototype.HX=function(){return this.tn};d.prototype.nz=function(f){this.pf!=f&&
(this.pf=f,this.va=!0)};d.prototype.xD=function(f,c){if(this.pd!=f||this.xd!=c)this.pd=f,this.xd=c,this.va=!0};d.prototype.setPosition=function(f,c,e){if(this.Ga!=f||this.Ia!=c||this.fb!=e)this.Ga=f,this.Ia=c,this.fb=e,this.va=!0};d.prototype.Ym=function(f){this.mg!=f&&(this.mg=f,this.va=!0)};d.prototype.zVa=function(f){this.S$!=f&&(this.S$=f,this.va=!0)};d.prototype.render=function(){if(this.va){this.va=!1;switch(this.pf){case k.NONE:this.Ze=1;break;case k.Go:this.Ze=this.pd/this.Fb;break;case k.Hj:this.Ze=
this.xd/this.Rb;break;case k.Gq:this.Ze=this.Fb*this.xd>this.Rb*this.pd?this.xd/this.Rb:this.pd/this.Fb;break;default:this.Ze=this.Fb*this.xd>this.Rb*this.pd?this.pd/this.Fb:this.xd/this.Rb}var f=this.fb*this.Ze,c=.5*this.pd-this.Ga*this.Fb*f,e=.5*this.xd-this.Ia*this.Rb*f,m=this.pd*this.mg,q=function(n,r){return Math.round(n*Math.pow(10,r))*Math.pow(10,-r)},p={};p.width=q(this.pd,0)+"px";p.height=q(this.xd,0)+"px";p.transform=this.Kra?"translate3d("+q(m,2)+"px, 0px, 0px)":"translate("+q(m,2)+"px, 0px)";
p["-moz-transform"]=p["-webkit-transform"]=p["-ms-transform"]=p.transform;p["z-index"]=this.S$;0==this.tn?p.display="none":(p.display="block",1==this.tn?(p.filter=p["-ms-filter"]="",p.opacity=""):(p.filter=p["-ms-filter"]="alpha(opacity="+Math.round(100*this.tn)+")",p.opacity=this.tn));m=[];this.Kra?(m.push("translate3d("+q(c,2)+"px, "+q(e,2)+"px, 0px)"),m.push("scale3d("+f+", "+f+", "+f+")"),this.aS&&(m.push("translate3d("+this.Fb+"px, 0, 0)"),m.push("scale3d(-1, 1, 1)"))):(m.push("translate("+q(c,
2)+"px, "+q(e,2)+"px)"),m.push("scale("+f+", "+f+")"),this.aS&&(m.push("translate("+this.Fb+"px, 0)"),m.push("scale(-1, 1)")));f={};f["-moz-transform"]=f["-webkit-transform"]=f["-ms-transform"]=f.transform=m.join(" ");l.isEqual(this.mia,p)||(this.mia=p,this.uQ.css(p));l.isEqual(this.Tja,f)||(this.Tja=f,this.l0.css(f))}};return d});
define("hH","require jquery.mod dY kV og hE kS hn bb e".split(" "),function(a){var d=a("jquery.mod"),h=a("dY"),l=a("kV"),k=a("og"),b=a("hE"),g=a("kS"),f=a("hn"),c=a("bb"),e=a("e");a=l.extend(e,function(){e.call(this);this.qe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",c.Vs);this.bind(k.fc,this.cc,this,!0);this.bind(k.hd,this.ek,this,!0);this.bind(k.od,this.$j,this,!0);this.gC=!1;this.nc=[];this.SV=this.nv=!1;this.V6=d("<div/>");this.V6.css({position:"absolute",left:0,top:0,right:0,
bottom:0,overflow:"hidden","-webkit-transform":"translateZ(0)"});this.yb().append(this.V6)});a.prototype.po=function(m){g.po(m,b.ln)};a.prototype.Dj=function(m){g.Dj(m,b.ln)};a.prototype.Vua=function(m){return g.mZ(m)};a.prototype.V$=function(m){m=new f(m,this);m.xD(this.Va(),this.zb());m.setPosition(.5,.5,0,1);this.V6.append(m.yc());this.nc.push(m);this.nv=!0};a.prototype.removeItem=function(m){if(m=this.ep(m))this.nc=h.without(this.nc,m),m.yc().detach(),this.nv=!0};a.prototype.faa=function(m){if(m=
this.ep(m))this.nc=h.without(this.nc,m),this.nc.push(m),this.nv=!0};a.prototype.YVa=function(m,q){this.ep(m).nz(q)};a.prototype.yq=function(m,q){this.ep(m).ff(q)};a.prototype.VVa=function(m,q){this.ep(m).Ym(q)};a.prototype.vP=function(m,q,p,n){this.ep(m).setPosition(q,p,n)};a.prototype.AO=function(m){return this.ep(m).getX()};a.prototype.BO=function(m){return this.ep(m).getY()};a.prototype.Mta=function(m){return this.ep(m).rq()};a.prototype.zO=function(m){return this.ep(m).Va()};a.prototype.yO=function(m){return this.ep(m).zb()};
a.prototype.render=function(){if(this.gC){this.dQa();this.INa();for(var m=0;m<this.nc.length;m++)this.nc[m].render()}};a.prototype.dQa=function(){if(this.SV){this.SV=!1;for(var m=this.Va(),q=this.zb(),p=0;p<this.nc.length;p++)this.nc[p].xD(m,q)}};a.prototype.INa=function(){if(this.nv){this.nv=!1;for(var m=[],q=0;q<this.nc.length;q++){var p=this.nc[q],n={};n.mY=p.OK;n.index=q;n.renderer=p;m.push(n)}m.sort(function(r,t){return r.mY==t.mY?r.index-t.index:r.mY-t.mY});for(q=0;q<m.length;q++)m[q].renderer.zVa(q+
1)}};a.prototype.ep=function(m){if(this.yYa==m)return this.xYa;for(var q=null,p=0;p<this.nc.length&&!q;p++)this.nc[p].getItem()==m&&(q=this.nc[p]);return q};a.prototype.cc=function(){this.SV=!0;this.render()};a.prototype.ek=function(){this.gC=!0;this.render()};a.prototype.$j=function(){this.gC=!1};return a});
define("jM","require kV cu nc jn ie go mL hH dV og".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("nc"),k=a("jn"),b=a("ie"),g=a("go"),f=a("mL"),c=a("hH"),e=a("dV"),m=a("og");a=l.define("PhotoAlbumPlayer",b,function(){b.call(this,"photoAlbum");this.vW=this.U6=this.Kh=!1;this.K=this.j=null;this.QCa=new k(this,"buttonNext",e.we);this.QCa.bind(m.oa,this.vma,this);this.RCa=new k(this,"buttonPrevious",e.we);this.RCa.bind(m.oa,this.Oma,this);this.Xd=d.so(this.Mg,this)});a.prototype.next=function(){this.vma()};
a.prototype.pause=function(){this.QB()};a.prototype.play=function(){this.RB()};a.prototype.previous=function(){this.Oma()};a.prototype.stop=function(){this.Zx()};a.prototype.restart=function(){this.Wx()};a.prototype.set=function(q,p){if(this.get(q)!=p){switch(q){case "photoAlbum":this.U6=!0;this.Xd();break;case "viewerArea":this.Kh=!0;this.Xd();break;case "touchTransition":case "mouseTransition":case "touchTransitionDuration":case "mouseTransitionDuration":case "transitionDuration":this.vW=!0,this.Xd()}b.prototype.set.call(this,
q,p)}};a.prototype.Mg=function(){this.Kh&&(this.Kh=!1,this.vW=!0,this.Mt(),this.get("viewerArea")&&this.Jt(),this.RM(this.get("viewerArea")));this.j&&this.U6&&(this.U6=!1,this.get("photoAlbum")?(this.gI(),this.K.mWa(this.get("photoAlbum"))):this.K.Kv());this.vW&&(this.vW=!1,this.Era())};a.prototype.NG=function(){this.set("photoAlbum",null)};a.prototype.Jt=function(){var q=this.get("viewerArea");this.j=new c;this.j.fa({left:0,top:0,bottom:0,right:0});q.Ua(this.j);this.K=new g(q,this.j);this.Era();
this.K.bind(g.Ao,this.Kn,this);this.K.bind(g.zo,this.vp,this);this.K.bind(g.n_,this.HL,this);this.K.bind(g.o_,this.Cma,this);this.K.bind(g.p_,this.Dma,this);this.K.bind(g.Cc,this.Ke,this);this.yy(!0)};a.prototype.Mt=function(){this.j&&(this.K.unbind(g.Ao,this.Kn,this),this.K.unbind(g.zo,this.vp,this),this.K.unbind(g.n_,this.HL,this),this.K.unbind(g.o_,this.Cma,this),this.K.unbind(g.p_,this.Dma,this),this.K.unbind(g.Cc,this.Ke,this),this.K.clear(),this.j.getParent().removeChild(this.j),this.j=null,
this.yy(!1))};a.prototype.Era=function(){var q=this.get("viewerArea");q&&this.K&&(q.Dn?this.K.eZ(this.get("touchTransition",f.hn),this.get("touchTransitionDuration",q.get("transitionDuration",1E3))):this.K.eZ(this.get("mouseTransition",f.hn),this.get("mouseTransitionDuration",q.get("transitionDuration",1E3))))};a.prototype.Ke=function(q){this.xc(q.data.state)};a.prototype.Kn=function(q){this.$K(q.data.photoAlbum)};a.prototype.vp=function(q){this.ZK(q.data.photoAlbum)};a.prototype.HL=function(q){q.data.photoAlbum.trigger(new h(m.rb))};
a.prototype.Cma=function(q){q.data.item.Qy()};a.prototype.Dma=function(q){q.data.item.end()};a.prototype.ci=function(q){this.j.getParent().fa({progressPercent:q.data.percent,progressVisible:!0})};a.prototype.VF=function(){this.j.getParent().set("progressVisible",!1)};a.prototype.vma=function(){this.K&&this.get("photoAlbum")&&this.K.next()};a.prototype.Oma=function(){this.K&&this.get("photoAlbum")&&this.K.Lba()};a.prototype.hk=function(){this.K&&this.get("photoAlbum")&&this.K.play()};a.prototype.$n=
function(){this.K&&this.get("photoAlbum")&&this.K.stop()};a.prototype.Dp=function(){this.K&&this.get("photoAlbum")&&this.K.pause()};return a});
define("gF",["require","nc","cT","hS"],function(a){var d=a("nc"),h=a("cT"),l=a("hS");a=d.define("PhotoAlbumPlayListItem",l,function(){l.call(this)});a.prototype.start=function(){l.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Sg,this.Kn,this),k.set("photoAlbum",this.get("media")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Sg,this.Kn,this),k.get("photoAlbum")==this.get("media")&&k.set("photoAlbum",null));l.prototype.stop.call(this)};a.prototype.uI=function(){var k=
this.get("media");if(k){var b=k.get("playList");b&&(k=b.get("selectedIndex"),b=b.get("items"),0<=k&&b&&b[k].uI())}l.prototype.uI.call(this)};a.prototype.Kn=function(){this.get("player").unbind(h.Sg,this.Kn,this);this.get("player").bind(h.Ul,this.vp,this);this.Qy()};a.prototype.vp=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Ul,this.vp,this),this.stop(),this.end())};return a});
define("lj",["require","hE","nc","iz"],function(a){var d=a("hE"),h=a("nc"),l=a("iz");return h.define("PhotoAudio",l,function(){l.call(this,d.jAa)})});define("mT",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PhotoCamera",d,function(){d.call(this)})});
define("eE","require dY lw cu nc iX og".split(" "),function(a){var d=a("dY"),h=a("lw"),l=a("cu"),k=a("nc"),b=a("iX"),g=a("og");a=k.define("PlayList",h,function(){h.call(this);this.$e=-1;this.Yd=[];this.mM=this.Yj=this.Ce=void 0});a.prototype.set=function(f,c){"selectedIndex"==f?this.jNa(c):"items"==f?this.VMa(c):h.prototype.set.call(this,f,c)};a.prototype.get=function(f,c){return"selectedIndex"==f?this.$e:"items"==f?this.Yd:h.prototype.get.call(this,f,c)};a.prototype.dispose=function(){this.Ce&&(this.Ce.unbind(g.Dq,
this.LL,this),this.Ce.unbind(g.wf,this.Br,this),this.Ce.unbind(g.rb,this.Br,this),this.Ce=null)};a.prototype.VMa=function(f){f=f||[];if(!d.isEqual(this.Yd,f)){var c=this.$e;this.Yd=f;f=this.Goa(this.$e);this.trigger(new l(g.XP,{nextSelectedIndex:f}));this.$e=f;this.upa(this.nx(this.$e));this.ura();this.trigger(new l(g.sa,{previousSelectedIndex:c}));h.prototype.set.call(this,"items",this.Yd);h.prototype.set.call(this,"selectedIndex",this.$e)}};a.prototype.jNa=function(f){f=this.Goa(f);if(this.$e!=
f){var c=this.$e;this.trigger(new l(g.XP,{nextSelectedIndex:f}));this.$e=f;this.upa(this.nx(this.$e));this.ura();this.trigger(new l(g.sa,{previousSelectedIndex:c}));h.prototype.set.call(this,"selectedIndex",this.$e)}};a.prototype.Goa=function(f){return Math.max(-1,Math.min(this.Yd.length-1,f))};a.prototype.nx=function(f){return 0<=f?this.Yd[f]:null};a.prototype.upa=function(f){this.Ce==f&&void 0===this.Yj||this.Yj===f||(void 0===this.Yj?(this.Yj=f,this.Ce?this.Yj&&this.Ce.get("player")==this.Yj.get("player")?
(this.Ce.uI(),this.Br()):this.IIa(this.Ce,this.Yj)?(f=this.Ce,f.uI(),this.Br(),f.Dya()):(this.pka(this.Ce,this.Yj)&&this.Ce.get("media").get("modelLocations",[]).forEach(function(c){var e=!(c.get("model")!=this.Yj.get("media")||!c.get("forceModelLoading"));c.set("preferred",e)}.bind(this)),this.Ce.stop()):this.Br()):this.Yj=f)};a.prototype.IIa=function(f,c){return this.oka(c,f)};a.prototype.pka=function(f,c){return this.oka(f,c)};a.prototype.oka=function(f,c){return c&&k.Ea("Model3DPlayListItem",
c)&&f&&k.Ea("PanoramaPlayListItem",f)&&f.get("player")&&f.get("player").get("model3DPlayer")==c.get("player")&&f.get("media").get("modelLocations",[]).find(function(e){return e.get("model")==c.get("media")&&(c.get("media").get("isLoaded")||e.get("forceModelLoading"))})};a.prototype.Br=function(){this.Ce&&(this.Ce.unbind(g.Dq,this.LL,this),this.Ce.unbind(g.wf,this.Br,this),this.Ce.unbind(g.rb,this.Br,this));this.Yj?(this.pka(this.Ce,this.Yj)&&this.Ce.get("player").bind(g.g0,this.$x,this,!0),this.Ce=
this.Yj,this.Yj=void 0,this.Ce.bind(g.Dq,this.LL,this),this.Ce.bind(g.wf,this.Br,this),this.Ce.start()):(this.Yj=this.Ce=void 0,this.set("selectedIndex",-1))};a.prototype.$x=function(f){f.source.unbind(g.g0,this.$x,this);this.LL();this.Ce.Cya()};a.prototype.LL=function(){this.Ce.unbind(g.Dq,this.LL,this);this.Ce.unbind(g.wf,this.Br,this);this.Ce.bind(g.rb,this.Br,this)};a.prototype.ura=function(){this.mM&&b.uY(this.mM.get("media"),-1);(this.mM=this.Yd&&0<=this.$e?this.Yd[(this.$e+1)%this.Yd.length]:
null)&&b.uY(this.mM.get("media"),1)};return a});define("jW",["require","nc","eE"],function(a){var d=a("nc"),h=a("eE");return d.define("PhotoPlayList",h,function(){h.call(this)})});define("km",["require","nc","hS"],function(a){var d=a("nc"),h=a("hS");return d.define("PhotoPlayListItem",h,function(){h.call(this)})});define("ep",["require","ga","nc"],function(a){var d=a("ga");return a("nc").define("PlaybackBar",d,function(){d.call(this)})});
define("mE",["require"],function(){function a(l){try{for(var k=(h.VO<<12)+h.WO&65535,b="",g=0,f=l.length;g<f;){var c=d.indexOf(l.charAt(g++))<<12|d.indexOf(l.charAt(g++))<<6|d.indexOf(l.charAt(g++))<<0;c=c-k+65536&65535;b+=String.fromCharCode(c)}return b}catch(e){if("{%"==l.substr(0,2))return""}}var d="";[[65,26],[97,26],[48,10]].forEach(function(l){for(var k=0;k<l[1];k++)d+=String.fromCharCode(l[0]+k)});d+="+/";var h={ORa:"true"};h.VO=parseInt("0")||
0;h.WO=parseInt("1805")||1;h.iXa="true";h.name=a("AdAAdRAdjAd2AeAAeBAduActAddAd5AduAeGAdyAd/");h.Rya=a("");return h});define("hY",["require"],function(){return{Ma:"left",eb:"right",sc:"top",mc:"bottom"}});
define("dj",["require","kV","ej","V","hY"],function(a){var d=a("kV"),h=a("ej");a("V");a("hY");a=d.extend(h,function(){h.call(this)});a.prototype.iK=function(){return 0};a.prototype.jK=function(){return 0};a.prototype.JG=function(){h.prototype.JG.call(this);this.gx(function(l){l.Rf(!0)})};a.prototype.Xu=function(){h.prototype.Xu.call(this);this.gx(function(l){l.yP(this.iK(l,this.Ek()));l.zP(this.jK(l,this.Ek()))})};a.prototype.HG=function(){this.gx(function(l){l.yP(this.iK(l,1));l.zP(this.jK(l,1))});
h.prototype.HG.call(this)};a.prototype.IG=function(){this.gx(function(l){l.yP(this.iK(l,0));l.zP(this.jK(l,0))});h.prototype.IG.call(this)};return a});
define("mS",["require","kV","dj","hY"],function(a){var d=a("kV"),h=a("dj"),l=a("hY");a=d.extend(h,function(){h.call(this)});a.prototype.iK=function(k,b){switch(this.get("from")){case l.sc:case l.mc:return 0;case l.Ma:var g=k.Ga;k=k.Va();return isNaN(k)||isNaN(g)?1E4:(-g-k)*(1-b);default:g=k.getParent();if(!g)return 0;var f=g.bf();g=k.Ga;return isNaN(g)||isNaN(f)?1E4:(f-g)*(1-b)}};a.prototype.jK=function(k,b){switch(this.get("from")){case l.sc:var g=k.Ia;k=k.zb();return isNaN(k)||isNaN(g)?1E4:(-g-
k)*(1-b);case l.mc:g=k.getParent();if(!g)return 0;var f=g.af();g=k.Ia;return isNaN(g)||isNaN(f)?1E4:(f-g)*(1-b);default:return 0}};a.prototype.IG=function(){this.gx(function(k){k.yP(0);k.zP(0);k.Rf(!1)})};return a});
define("hk",["require","kV","dj","V","hY"],function(a){var d=a("kV"),h=a("dj");a("V");var l=a("hY");a=d.extend(h,function(){h.call(this)});a.prototype.iK=function(k,b){switch(this.get("to")){case l.sc:case l.mc:return 0;case l.Ma:var g=k.Ga;k=k.Va();return isNaN(k)||isNaN(g)?1E4:(-g-k)*b;default:g=k.getParent();if(!g)return 0;var f=g.bf();g=k.Ga;return isNaN(g)||isNaN(f)?1E4:(f-g)*b}};a.prototype.jK=function(k,b){switch(this.get("to")){case l.sc:var g=k.Ia;k=k.zb();return isNaN(k)||isNaN(g)?1E4:(-g-
k)*b;case l.mc:g=k.getParent();if(!g)return 0;var f=g.af();g=k.Ia;return isNaN(g)||isNaN(f)?1E4:(f-g)*b;default:return 0}};a.prototype.HG=function(){this.gx(function(k){k.yP(0);k.zP(0);k.Rf(!1)})};return a});
define("G","require jquery.mod kV og oe u fC my cH d nC mS hk jO".split(" "),function(a){function d(v){try{return window.localStorage.getItem(v)}catch(w){}}var h=a("jquery.mod"),l=a("kV"),k=a("og"),b=a("oe"),g=a("u"),f=a("fC"),c=a("my"),e=a("cH"),m=a("d"),q=a("nC"),p=a("mS"),n=a("hk"),r=a("jO");a=l.extend(q,function(v){q.call(this);this.jc=v;this.xi=this.qA=this.Jw=this.yl=null;v=new p;v.set("duration",500);v.set("from","bottom");v=new n;v.set("duration",500);v.set("to","bottom");this.fa({creationPolicy:e.Uz,
verticalAlign:c.ae,horizontalAlign:c.ue,visible:!1,showEffect:this.LYa,hideEffect:this.MYa});this.g9="";v=this.oHa();!0===v?setTimeout(function(){this.trigger(k.UD)}.bind(this),0):void 0===v&&(this.jc.bind(k.G("cookiesPolicy"),this.qha,this),setTimeout(function(){this.qha()}.bind(this),0))});a.prototype.xb=function(){q.prototype.xb.call(this);this.fa({backgroundColor:"#1a1a1a",width:"100%",left:0,bottom:0});null==this.yl&&(this.yl=new r,this.yl.fa({content:this.g9,fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Open Sans, Arial, sans-serif",width:"100%"}),this.Ua(this.yl));null==this.Jw&&(this.Jw=new q,this.Ua(this.Jw),this.Jw.fa({creationPolicy:e.Uz,verticalAlign:c.ae,layout:m.xg}));null==this.qA&&(this.qA=new f,this.qA.fa({backgroundColor:"#2aabe2",fontColor:"#ffffff",fontFamily:"Open Sans, Arial, sans-serif",label:b("accept").toUpperCase(),verticalAlign:"middle"}),this.Jw.Ua(this.qA),this.qA.bind(k.oa,this.HCa,this,!0));null==this.zE&&(this.zE=new f,this.zE.fa({backgroundColor:"#1a1a1a",fontColor:"#808080",
fontFamily:"Open Sans, Arial, sans-serif",label:b("reject").toUpperCase(),textDecoration:"underline",verticalAlign:"middle"}),this.Jw.Ua(this.zE),this.zE.bind(k.oa,this.TCa,this,!0))};a.prototype.Qr=function(){q.prototype.Qr.apply(this,arguments);var v=this.Hb();v&&(v.bind(k.fc,this.Al,this,!0),this.Al())};a.prototype.Al=function(){var v=this.Hb();if(v){var w=g.kb(),x=v.zb()>v.Va(),y=Math.min(v.Va(),v.zb())/100;v=function(A){return Math.round(A*y)};this.fa({gap:w?v(4.63):20,paddingLeft:w?v(4.63):
20,paddingRight:w?v(4.63):20,paddingTop:w?v(4.63):14,paddingBottom:w?v(4.63):14,layout:w&&x?m.lh:m.xg});this.yl&&this.yl.fa({fontSize:w?v(3.15):14,textAlign:w&&x?"center":"left"});this.Jw&&this.Jw.fa({gap:w?0:13});this.qA&&this.qA.fa({borderRadius:w?v(4.63):15,fontSize:w?v(3.15):14,height:w?v(9.26):30,paddingLeft:w?v(6):20,paddingRight:w?v(6):20});this.zE&&this.zE.fa({borderRadius:w?v(4.63):15,fontSize:w?v(3.15):14,height:w?v(9.26):30,paddingLeft:w?v(6):20,paddingRight:w?v(6):20});this.Fd()}};a.prototype.qha=
function(){var v=l.toArray(this.jc.get("cookiesPolicy"));this.iM!=v&&(this.iM=v,this.bMa())};a.prototype.bMa=function(){if(0==this.iM.length)this.w8(null);else{var v=this.iM[0];0==l.toArray(v.get("geographicArea")).length?this.w8(v):this.HGa(function(w){for(var x=null,y=0;y<this.iM.length&&!x;y++){var A=this.iM[y],B=l.toArray(A.get("geographicArea"));if(0==B.length)x=A;else for(var z=0;z<B.length&&!x;z++)0<=w.indexOf(B[z])&&(x=A)}this.w8(x)}.bind(this))}};a.prototype.w8=function(v){this.kG!==v&&(this.kG&&
this.kG.unbind(k.G("url"),this.n$,this),(this.kG=v)?(this.kG.bind(k.G("url"),this.n$,this),this.n$(),this.set("visible",!0)):(this.trigger(k.UD),this.set("visible",!1)))};a.prototype.n$=function(){var v=h(document.createElement("div")).html(b("cookies-notice"));v.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.kG.get("url"),target:"_blank"});this.g9=v.html();this.yl&&this.yl.set("content",this.g9)};a.prototype.HCa=function(){this.wpa(!0);this.set("visible",
!1);this.trigger(k.UD)};a.prototype.TCa=function(){this.wpa(!1);this.set("visible",!1)};var t="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".split(" ");a.prototype.HGa=function(v){this.vGa(function(w){var x=[w];t.indexOf(w)&&x.push("EU");v(x)})};a.prototype.vGa=function(v){var w=d("tdvp_country_code");w?v(w):this.via||(this.via=!0,h.get("https://geoloc.3dvista.com",function(x){this.via=!1;x=x.country.toUpperCase();try{window.localStorage.setItem("tdvp_country_code",
x)}catch(y){}v(x)}.bind(this)))};var u="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.oHa=function(){var v=d(u);if("yes"==v)return!0;if("no"==v)return!1};a.prototype.wpa=function(v){try{window.localStorage.setItem(u,v?"yes":"no")}catch(w){}};return a});
define("lI",["require"],function(){function a(w){var x=w instanceof Request||w instanceof Response?w.url:w;x&&=x.split("#")[0];x&&=x.split("?")[0];return x&&-1==x.indexOf("://")?("undefined"!==typeof window?Promise.resolve(window.location.href):self.clients.matchAll({type:"window"}).then(function(y){if(y.length)return y[0].url})).then(function(y){return(new window.URL(x,y)).toString()}):Promise.resolve(x)}function d(w,x){return new Promise(function(y,A){(void 0===x?k():Promise.resolve(x)).then(function(B){(window.webkitRequestFileSystem||
window.requestFileSystem)(B?window.PERSISTENT:window.TEMPORARY,w,function(z){y(z)},function(z){console.log("Error getting file system access",z);A("error getting file system")})},function(B){console.log("error getting file system access",B);A("error getting file system")})})}function h(w,x){return w&&w.queryUsageAndQuota?new Promise(function(y,A){w.queryUsageAndQuota(function(B,z){console.log("UsedBytes:",B,"grantedBytes:",z,"freeBytesRequired:",x);var C=B+x;z>=C?y(C):w==navigator.webkitPersistentStorage||
w==navigator.persistentStorage?(console.log("requestQuota:",C),w.requestQuota(C,function(){console.log("Granted bytes:",C);y(C)},function(E){console.log("Not granted bytes:",C,E);A("not enough free space granted")})):(console.log("Not enough temporary free space."),A("not enough free space granted"))},function(B){console.log("Query quota error:",B);B&&B.message&&(B=B.message);A("not enough free space granted: "+B)})}):Promise.reject("unknown free space")}function l(){return(navigator.storage&&navigator.storage.persist?
navigator.storage.persist():Promise.resolve(!1)).then(function(w){console.log("Persistence granted:",w);return w?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function k(){return navigator.storage&&navigator.storage.persisted?navigator.storage.persisted():Promise.resolve(!1)}function b(){return v?Promise.resolve(v):Promise.reject("files uninitialized, no space was requested")}function g(w){w.length&&"/"==w[0]&&(w=w.substr(1));
return w.split("/").filter(function(x){return""!=x})}function f(w){return new Promise(function(x,y){w.remove(function(){x()},function(A){y("can't remove entry"+(A&&A.message?": "+A.message:"")+".")})})}function c(w){return e(w).then(function(x){return Promise.all(x.map(function(y){return y.isDirectory?c(y):f(y)}))}).then(function(){return f(w).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function e(w){return new Promise(function(x,y){w.createReader().readEntries(function(A){x(A)},
function(){y("can't list directory")})})}function m(w,x,y){return new Promise(function(A,B){w.getDirectory(x,y,function(z){A(z)},function(){B("can't get directory entry: "+x)})})}function q(w,x){return new Promise(function(y,A){m(w,x,{create:!1}).then(function(B){y(B)})["catch"](function(){m(w,x,{create:!0}).then(function(B){y(B)})["catch"](function(B){console.log("Can't create directory entry: "+x,B);A("can't create directory entry: "+x)})})})}function p(w,x){return 0==x.length?w:q(w,x[0]).then(function(y){return p(y,
x.slice(1))})}function n(w,x){return 0==x.length?w:m(w,x[0]).then(function(y){return n(y,x.slice(1))})}function r(w,x,y){return new Promise(function(A,B){w.getFile(x,y,function(z){A(z)},function(){B("can't get file entry: "+x)})})}function t(w){return new Promise(function(x,y){w.createWriter(function(A){x(A)},function(){y("can't create File for writing")})})}function u(w){var x=w.lastIndexOf(".");switch((0>x?"":w.substr(x)).toLowerCase()){case ".bmp":return"image/bmp";case ".eot":return"application/vnd.ms-fontobject";
case ".gif":return"image/gif";case ".glb":return"model/gltf-binary";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=null;return{GY:function(){return k()},toURL:function(w,x){return a(w).then(function(y){y=
new window.URL(y);var A=x?"persistent":"temporary",B=y.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+y.origin+"/"+A+B})},bVa:function(w){return l().then(function(x){return h(x,w)}).then(function(x){return d(x)}).then(function(x){v=x})},TUa:function(w){w=g(w);var x=w[w.length-1],y=w.slice(0,-1);return b().then(function(A){return n(A.root,y)}).then(function(A){return r(A,x,{create:!0})},function(){return Promise.resolve(null)}).then(function(A){return A&&f(A)})},Owa:function(w,
x){var y=g(w);return d(1024,x).then(function(A){return n(A.root,y)}).then(function(A){return c(A)},function(){return Promise.resolve()})},Sya:function(w,x,y){var A=g(w),B=A[A.length-1],z=A.slice(0,-1);return b().then(function(C){return p(C.root,z)}).then(function(C){return r(C,B,{create:!1}).then(function(E){return Promise.resolve(E)},function(){return r(C,B,{create:!0})})}).then(function(C){return t(C)}).then(function(C){C.seek(C.length);return new Promise(function(E,F){C.onwriteend=function(){E()};
C.onerror=function(G){console.log("Error writing file:",w,G);F("error writing file: "+w)};C.write(new Blob([x],{type:y||u(B)}))})})}}});
define("cs",["require","lI","lQ","u"],function(a){function d(c,e){this.Lr=c;this.yA=!1;this.Lp=null;this.Du=e||function(){}}function h(c){return 1048576<=c.JD}var l=a("lI"),k=a("lQ"),b=a("u").Ef()?3:5;a={File:function(c,e){this.url=c;this.JD=e;this.mP=this.vH=0}};var g=a.Files=function(c,e,m,q){this.Ega=this.sCa=c;this.Fr=e.slice();this.uia=[];var p=0;this.Fr.sort(function(n,r){return n.JD-r.JD});this.Fr.forEach(function(n){p+=n.JD});this.xqa=p;this.NA=[];this.$Q=void 0;this.hr=[];this.v1=!1;this.Mf=
m||function(){};this.TJ=q||function(){}};g.prototype.ls=function(){return this.rDa().then(function(){return this.sDa()}.bind(this))};g.prototype.rDa=function(){return self.caches["delete"](this.Ega)};g.prototype.sDa=function(){var c=(new window.URL(this.sCa)).pathname;return l.Owa(c,!1).then(function(){return l.Owa(c,!0)})};g.prototype.requestStorage=function(){return l.bVa(Math.round(1.1*this.xqa+10485760)).then(function(){return l.GY()})};g.prototype.download=function(){this.v1=!1;this.$Q=0;this.ls().then(function(){this.PJ()}.bind(this))["catch"](function(c){console.log("error cleaning storage",
c);l.GY().then(function(e){this.TJ(!1,e)}.bind(this))}.bind(this))};g.prototype.cancelDownload=function(){this.v1=!0;this.hr.forEach(function(c){c.cancel()});this.ls()};g.prototype.PJ=function(){if(!(this.v1||this.hr.length>=b))if(0<this.Fr.length){if(1==b)var c=.5<Math.random()?this.Fr.shift():this.Fr.pop();else if(0==this.NA.filter(h).length)c=this.Fr.pop();else{if(h(this.Fr[0]))return;c=this.Fr.shift()}this.NA.push(c);var e=k.Py(c.url,"nc="+(new Date).getTime()),m=new d(e,function(p){c.vH=p.vH;
this.uj()}.bind(this));this.hr.push(m);m.fetch().then(function(p){return this.iOa(c.url,p)}.bind(this)).then(function(){this.aia(c,m,!0)}.bind(this))["catch"](function(p){console.log("download error",c.url,c.JD,c.vH,p);this.aia(c,m,!1)}.bind(this));this.PJ()}else if(0==this.hr.length){var q=5>=this.uia.length;l.GY().then(function(p){this.TJ(q,p)}.bind(this))}};g.prototype.aia=function(c,e,m){m?(this.NA.splice(this.NA.indexOf(c),1),this.hr.splice(this.hr.indexOf(e),1),this.$Q+=c.JD,this.uj(),this.PJ()):
(c.vH=0,c.mP+=1,this.uj(),20<=c.mP?(console.log("Error downloading file: "+c.url+" after "+c.mP+" retries."),this.ika(c.url)?(this.uia.push(c),this.hr.splice(this.hr.indexOf(e),1),this.PJ()):(this.cancelDownload(),l.GY().then(function(q){this.TJ(!1,q)}.bind(this)))):(console.log("Error downloading file: "+c.url+" attempt "+c.mP+" of 20. Will retry in 2000ms."),setTimeout(function(){this.NA.splice(this.NA.indexOf(c),1);this.hr.splice(this.hr.indexOf(e),1);h(c)?this.Fr.push(c):this.Fr.splice(0,0,c);
this.PJ()}.bind(this),2E3)))};g.prototype.iOa=function(c,e){return this.kOa(c,e).then(function(){if(this.vQa(c))return this.jOa(c,e)}.bind(this))};g.prototype.jOa=function(c,e){e=e.clone();return 200!=e.status?Promise.reject("response status: "+e.status):self.caches.open(this.Ega).then(function(m){return m.put(c,e)})};g.prototype.kOa=function(c,e){e=e.clone();if(200!=e.status)return Promise.reject("response status: "+e.status);var m=(new window.URL(c)).pathname;return m.lastIndexOf("/")==m.length-
1?Promise.resolve():new Promise(function(q,p){function n(){x.read().then(function(y){var A=y.value,B=[];if(A){for(;10485760<=A.length+w;){var z=A.slice(0,10485760-w);v.push(z);B.push(r(v));v=[];w=0;A=A.slice(z.length,A.length)}0<A.length&&(v.push(A),w+=A.length)}var C=y.done;w&&C&&B.push(r(v));t(B).then(function(){C?q():n()})["catch"](u)})["catch"](u)}function r(y){if(0==y.length)return new Uint8Array(0);var A=0;y.forEach(function(E){A+=E.length});for(var B=new Uint8Array(A),z=0,C=0;C<y.length;z+=
y[C].length,C++)B.set(y[C],z);return B}function t(y){if(0==y.length)return Promise.resolve();var A=y.shift();return l.Sya(m,A).then(function(){t(y)})}function u(y){console.log("Error writing response to file system:",y);l.TUa(m).then(function(){p("Error reading response body")})}var v=[],w=0,x=e.body.getReader();n()})};var f=".bmp .gif .glb .jpeg .jpg .m3u8 .m4a .m4v .mp3 .mp4 .ogg .ogv .otf .png .svg .tif .tiff .ts .tts .webm .woff .woff2".split(" ");g.prototype.ika=function(c){c=(new window.URL(c)).pathname;
var e="."+c.split(".").pop().toLowerCase();return 0<=f.indexOf(e)&&0>c.indexOf("loading/")};g.prototype.vQa=function(c){var e=(new window.URL(c)).pathname;return 0<=e.indexOf("files/")||0<=e.indexOf("pdfjs/")?!0:this.ika(c)?!1:!0};g.prototype.uj=function(){var c=this.$Q;this.NA.forEach(function(e){c+=e.vH});this.Mf(100*c/this.xqa)};d.prototype.fetch=function(){return fetch(this.Lr).then(function(c){if(this.yA)return c.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");
if(!c.ok)return Promise.resolve(c);var e=c.headers.get("content-length"),m=void 0,q=0;null!==e&&(m=parseInt(e,10));this.Lp=c.body.getReader();var p=!1,n=function(u){this.yA?u.close():p=!0}.bind(this),r=function(u){return this.Lp.read().then(function(v){var w=v.value;w&&(q+=w.byteLength,u.enqueue(w));v.done&&(m=q,t(u));this.Du({JD:m,vH:q})}.bind(this))["catch"](function(v){console.log("Error reading response",v);u.error(v)}.bind(this))}.bind(this),t=function(u){p&&(u.close(),p=!1,this.Lp=null)}.bind(this);
return new Response(new ReadableStream({start:function(u){return n(u)},pull:function(u){return r(u)},cancel:function(){t()}}))}.bind(this))};d.prototype.cancel=function(){this.yA=!0;this.Lp&&this.Lp.cancel()};a.ls=function(c){return(new g(c,[])).ls()};return a});
define("eH","require kV jquery.mod og fV u cs lI md lQ kW dl".split(" "),function(a){function d(u){n=u}var h=a("kV"),l=a("jquery.mod"),k=a("og"),b=a("fV"),g=a("u"),f=a("cs"),c=a("lI"),e=a("md"),m=a("lQ"),q=a("kW"),p=a("dl"),n=null;window.addEventListener("beforeinstallprompt",d);var r=h.extend(b,function(u){b.call(this);this.jc=u;this.A="initial";this.k8=this.OV=this.dj=null;this.Mp=!1;this.WA=null;this.PW=void 0;this.LA=n;this.gT=r.gva();this.s5=m.Ri("vr");this.LA||this.gT||(window.removeEventListener("beforeinstallprompt",
d),window.addEventListener("beforeinstallprompt",this.AJa.bind(this)));this.gT||window.addEventListener("appinstalled",this.OBa.bind(this))});r.prototype.Gca=function(u){this.OV=u;this.dm=m.Uv(this.OV.get(TDV.PlayerSettings.BASE_DIR_URL)||m.getDirectory(this.OV.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));"/"!=this.dm[this.dm.length-1]&&(this.dm+="/");this.dj=new t(this.dm);this.PW=this.goa=u.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.YHa=m.parse(m.getDirectory(window.location.href)).pathname;
this.GFa=m.Py(m.Uv("files.json",this.dm),this.goa);u=TDV.nb.fua();this.k8=m.Py(this.OV.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+u.MAJOR+"."+u.MINOR);this.dj=new t(this.dm);this.dj.bind(k.aa,this.BOa,this,!0);this.dj.load()};r.prototype.UH=function(){return this.dj.state==t.DI};r.prototype.Hsa=function(){return"can_install"==this.A&&!this.s5};r.prototype.Jsa=function(){return this.UH()&&this.PW!=this.dj.version&&!this.s5};r.prototype.Gsa=function(){return this.dj.state!=t.tda&&!this.s5};r.prototype.Nua=
function(){"can_install"==this.A&&(this.LA?(this.LA.userChoice.then(function(u){"accepted"!=u.outcome&&this.xc("unavailable")}.bind(this)),this.LA.prompt().then(function(){this.LA=null}.bind(this))):this.T2())};r.prototype.cancel=function(){"downloading"==this.A&&(this.WA&&(this.WA.cancelDownload(),this.WA=null),this.dj.ls(),this.xc("unavailable"))};r.prototype.ls=function(){f.ls(this.dm);this.dj.ls()};r.prototype.BOa=function(){!0!==this.jc.get("downloadEnabled")?this.xc("unavailable"):!0!==e.lza?
this.xc("unavailable"):g.browser()!=g.Ik||g.gd()==g.yz||g.gd()==g.PD?this.xc("unavailable"):this.k8?"serviceWorker"in navigator?this.UH()&&!this.Jsa()?this.xc("unavailable"):navigator.onLine?this.rLa():this.xc("unavailable"):this.xc("unavailable"):this.xc("unavailable")};r.prototype.xc=function(u){this.A!=u&&(this.A=u,u=0<=["can_install","unavailable"].indexOf(this.A),this.Mp!=u&&(this.Mp=u)&&this.trigger(k.Rc))};r.prototype.rLa=function(){this.xc("registering_sw");navigator.serviceWorker.register(this.k8,
{scope:this.YHa}).then(function(){this.Voa(!0)}.bind(this))["catch"](function(){this.Voa(!1)}.bind(this))};r.prototype.Voa=function(u){u?g.Ef()?this.xc("can_install"):this.gT&&this.dj.state==t.PZ?(this.xc("can_install"),this.T2()):this.LA?this.xc("can_install"):(this.xc("sw_registered"),setTimeout(function(){"sw_registered"==this.A&&this.xc("can_install")}.bind(this),3E3)):this.xc("unavailable")};r.prototype.AJa=function(u){this.LA=u;"sw_registered"==this.A&&this.xc("can_install")};r.prototype.OBa=
function(){"sw_registered"==this.A&&this.xc("can_install");this.T2()};r.prototype.T2=function(){this.xc("downloading");this.trigger(k.Dq);this.Oqa(0);this.XIa()};r.prototype.XIa=function(){var u=m.Py(this.GFa,"nc="+(new Date).getTime());l.getJSON(u,function(v){if("downloading"==this.A){var w=[],x;for(x in v){var y=v[x].tags;if(y){Array.isArray(y)||(y=[y]);for(var A=0;A<y.length;A++)0>w.indexOf(y[A])&&w.push(y[A])}}var B=[];0<=w.indexOf("mobilevr2gen")&&g.lba()?B.push("mobilevr2gen"):0<=w.indexOf("mobilevr")&&
g.Ef()?B.push("mobilevr"):0<=w.indexOf("mobile")&&g.kb()?B.push("mobile"):0<=w.indexOf("desktop")&&!g.kb()&&B.push("desktop");w=[];for(x in v){if(y=v[x].tags){var z=!1;if(Array.isArray(y)){A=0;for(var C=y.length;A<C&&!z;A++)z=0<=B.indexOf(y[A])}else z=0<=B.indexOf(y);if(!z)continue}y=m.Uv(x,this.dm);w.push(new f.File(y,v[x].size))}var E=(new window.URL(window.location.pathname,window.location.href)).toString();0==w.filter(function(F){return F.url==E}).length&&w.push(new f.File(E,1024));this.WA=new f.Files(this.dm,
w,this.Oqa.bind(this),this.$ha.bind(this));this.WA.requestStorage().then(function(F){this.dj.storage=F?t.OI:t.a0;this.dj.state=t.PZ;this.dj.version=this.PW;this.dj.save();this.WA.download()}.bind(this))["catch"](function(){this.$ha(!1,void 0)}.bind(this))}}.bind(this))};r.prototype.Oqa=function(u){this.trigger(new q(k.rc,u))};r.prototype.$ha=function(u,v){this.WA=null;this.xc("unavailable");u&&(this.dj.state=t.DI,this.dj.save());u?this.trigger(k.rb,{success:!0}):v?this.trigger(k.rb,{success:!1,error:r.vda}):
g.Ef()?this.trigger(k.rb,{success:!1,error:r.uda}):this.gT?this.trigger(k.rb,{success:!1,error:r.vda}):this.trigger(k.rb,{success:!1,error:r.wda})};r.gva=function(){return m.Ph("installed",!1)};r.IUa=function(u,v){var w=new r.E_(u);w.bind(k.aa,function(){var x=!1;w.state==r.E_.DI&&(x=r.gva()?!0:!navigator.onLine);x?c.toURL(u,w.storage==r.E_.OI).then(function(y){v(y)}):v(u)},this,!0);w.load()};r.wda="launchFromHomeScreen";r.uda="addToBookmark";r.vda="errorDownloading";var t=h.extend(b,function(u){b.call(this);
this.dm=u;this.j5="installation_state_"+u;this.MKa=m.parse(this.dm).pathname+"installation_state.json";this.state=this.storage=this.version=void 0;this.cpa()});t.prototype.load=function(){if(this.YIa()&&this.state==t.DI)this.qqa(this.storage==t.OI).then(function(){this.trigger(k.aa)}.bind(this))["catch"](function(){this.qqa(this.storage!=t.OI).then(function(){this.storage=this.storage==t.a0?t.OI:t.a0;this.d8();this.trigger(k.aa)}.bind(this))["catch"](function(){this.state=t.PZ;this.d8();this.trigger(k.aa)}.bind(this))}.bind(this));
else this.trigger(k.aa)};t.prototype.save=function(){this.d8();this.state==t.DI&&this.YLa()};t.prototype.YIa=function(){var u=p.getItem(this.j5);if(!u)return!1;this.ZFa(u);return!0};t.prototype.d8=function(){p.setItem(this.j5,this.wqa())};t.prototype.qqa=function(u){return new Promise(function(v,w){c.toURL(this.dm+"installation_state.json",u).then(function(x){l.ajax({type:"GET",url:x,success:function(){v()},error:function(){w()}})}.bind(this))}.bind(this))};t.prototype.YLa=function(){c.Sya(this.MKa,
this.wqa(),"text/json")};t.prototype.wqa=function(){var u={};u.version=this.version;u.storage=this.storage;u.state=this.state;return JSON.stringify(u)};t.prototype.ZFa=function(u){this.YFa(JSON.parse(u))};t.prototype.YFa=function(u){this.version=u.version;this.storage=u.storage;this.state=u.state};t.prototype.ls=function(){p.removeItem(this.j5);this.cpa()};t.prototype.cpa=function(){this.version="";this.storage=t.wAa;this.state=t.tda};t.wAa="unkonwn";t.a0="temporary";t.OI="persistent";t.tda="not started";
t.PZ="started";t.DI="completed";r.E_=t;return r});
define("kj","require kV og oe u eH fC fL my d nC e iB".split(" "),function(a){function d(r){var t=new f;t.fa({label:r,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:e.ae});return t}var h=a("kV"),l=a("og"),k=a("oe"),b=a("u"),g=a("eH"),f=a("fC"),c=a("fL"),e=a("my"),m=a("d"),q=a("nC"),p=a("e"),n=a("iB");a=h.extend(q,function(r,t){q.call(this);this.jc=r;this.Zf=t;this.Zf.bind(l.Rc,
this.rIa,this,!0);this.Zf.bind(l.Dq,this.oIa,this,!0);this.Zf.bind(l.rc,this.qIa,this,!0);this.Zf.bind(l.rb,this.pIa,this,!0);this.la="hidden";this.SN=void 0;this.e7=!1;this.Mf=void 0;this.xi=this.Bt=this.rA=this.vA=this.sA=this.XV=this.Sa=null;this.JBa();this.fa({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:e.ae,layout:m.xg});this.dg()});a.prototype.rIa=function(){this.Zf.Hsa()||this.Zf.UH()&&this.Zf.Gsa()?(this.la="ready",this.e7&&this.Vpa()):
this.la="hidden";this.dg()};a.prototype.oIa=function(){this.la="installing";this.dg()};a.prototype.qIa=function(r){this.Mf=r.Og;this.dg()};a.prototype.pIa=function(r){this.la=r.data.success?"installed":"failed";this.ria=r.data.error;this.dg()};a.prototype.Xe=function(){this.hOa()};a.prototype.fU=function(){this.e7||(this.e7=!0,"ready"==this.la&&this.Vpa())};a.prototype.Vpa=function(){this.SN=setTimeout(function(){this.SN=null;this.AKa()}.bind(this),5E3);this.dg()};a.prototype.hOa=function(){this.soa();
this.SN&&clearTimeout(this.SN);this.SN=null};a.prototype.AKa=function(){this.soa();"ready"==this.la&&(this.la="hidden",this.dg())};a.prototype.JBa=function(){this.bind(l.ec,this.Xe,this);this.jc.bind(l.ec,this.fU,this);this.jc.bind(l.ub,this.fU,this)};a.prototype.soa=function(){this.unbind(l.ec,this.Xe,this);this.jc.unbind(l.ec,this.fU,this);this.jc.unbind(l.ub,this.fU,this)};a.prototype.xb=function(){q.prototype.xb.call(this);null==this.Sa&&(this.Sa=new n,this.Sa.fa({fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Arial, sans-serif",fontSize:14,text:k("download-tour")}),this.Ua(this.Sa));null==this.sA&&(this.sA=d(k("download")),this.Ua(this.sA),this.sA.bind(l.oa,this.MCa,this,!0));null==this.vA&&(this.vA=d(k("refresh-downloaded")),this.Ua(this.vA),this.vA.bind(l.oa,this.SCa,this,!0));null==this.rA&&(this.rA=d(k("delete-downloaded")),this.Ua(this.rA),this.rA.bind(l.oa,this.LCa,this,!0));null==this.XV&&(this.XV=new p,this.XV.fa({width:"100%"}),this.Ua(this.XV));null==this.Bt&&(this.Bt=new c,this.Bt.fa({backgroundColor:"#ffffff",
borderRadius:2,iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31}),this.Ua(this.Bt),this.Bt.bind(l.oa,this.KCa,this,!0));null==this.xi&&(this.xi=d(k("cancel")),this.Ua(this.xi),this.xi.bind(l.oa,this.SQ,this,!0));b.kb()&&this.Al();this.dg()};a.prototype.Oo=function(){q.prototype.Oo.call(this);b.kb()&&this.getParent().bind(l.fc,this.Al,this,!0)};a.prototype.Im=function(){b.kb()&&this.getParent().unbind(l.fc,this.Al,this,!0);q.prototype.Im.call(this)};a.prototype.Al=
function(){var r=this.getParent();if(r){var t=Math.min(r.Va(),r.zb())/100,u=function(v){return Math.round(v*t)};this.fa({gap:u(3.9),height:u(11.9),paddingLeft:u(6),paddingRight:u(6)});this.Sa&&this.Sa.fa({fontSize:u(3)});[this.sA,this.xi,this.vA,this.rA].forEach(function(v){v&&v.fa({borderRadius:u(.4),fontSize:u(3),paddingLeft:u(3),paddingRight:u(3),height:u(6.7)})});this.Bt&&this.Bt.fa({borderRadius:u(.4),iconLineWidth:u(.22),iconWidth:u(3.7),iconHeight:u(3.7),height:u(6.7),width:u(6.7)})}};a.prototype.dg=
function(){switch(this.la){case "ready":var r=this.Zf.UH()?k("downloaded"):k("download-tour");break;case "installing":r=k("downloading");void 0!==this.Mf&&(r+="..."+this.Mf.toFixed(1)+"%");break;case "installed":r=k("downloaded");break;case "failed":r=this.ria==g.wda?b.kb()?k("storage-not-provided-launch-from-homescreen"):k("storage-not-provided-launch-from-desktop"):this.ria==g.uda?k("storage-not-provided-bookmark"):k("download-failed")}this.Sa&&this.Sa.set("text",r);this.sA&&this.sA.set("visible",
"ready"==this.la&&!this.Zf.UH()&&this.Zf.Hsa());this.rA&&this.rA.set("visible","ready"==this.la&&this.Zf.UH()&&this.Zf.Gsa());this.vA&&this.vA.set("visible","ready"==this.la&&this.Zf.Jsa());this.xi&&this.xi.set("visible","installing"==this.la);this.Bt&&this.Bt.set("visible","installing"!=this.la);this.set("visible","hidden"!=this.la)};a.prototype.MCa=function(){this.Zf.Nua()};a.prototype.SCa=function(){this.Zf.Nua()};a.prototype.LCa=function(){this.Zf.ls();this.la="hidden";this.dg()};a.prototype.SQ=
function(){this.Zf.cancel();this.la="hidden";this.dg()};a.prototype.KCa=function(){"installing"==this.la&&this.Zf.cancel();this.la="hidden";this.dg()};return a});
define("ll","require kV dY og oe u my d nC mU nm fC iB iu".split(" "),function(a){function d(t,u){this.text=t;this.ko=u}var h=a("kV"),l=a("dY"),k=a("og"),b=a("oe"),g=a("u"),f=a("my"),c=a("d"),e=a("nC"),m=a("mU"),q=a("nm"),p=a("fC"),n=a("iB"),r=a("iu");a=h.extend(e,function(){e.call(this);this.op=[];this.xi=this.tA=this.Sa=this.fB=this.DG=this.iq=null;var t=new m;t.set("duration",500);t.set("easing","cubic_in");var u=new q;u.set("duration",500);u.set("easing","cubic_out");this.fa({backgroundColor:"#000000",
backgroundOpacity:.6,horizontalAlign:f.ue,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:u,showEffect:t,visible:!1})});a.prototype.xb=function(){e.prototype.xb.call(this);null==this.iq&&(this.iq=new e,this.iq.fa({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:f.ue,verticalAlign:f.ae,layout:c.lh,shadow:!0,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:.2}),this.Ua(this.iq));null==this.Sa&&(this.Sa=new n,this.Sa.fa({fontColor:"#808080",fontWeight:"300",
fontFamily:"Tahoma, Geneva, sans-serif"}),this.iq.Ua(this.Sa));null==this.fB&&(this.fB=new r,this.fB.fa({width:"80%"}),this.iq.Ua(this.fB));null==this.DG&&(this.DG=new e,this.DG.fa({backgroundColor:"#b3b3b3"}),this.iq.Ua(this.DG));null==this.yi&&(this.yi=new e,this.yi.fa({horizontalAlign:f.ue,verticalAlign:f.ae,layout:c.xg}),this.iq.Ua(this.yi));null==this.tA&&(this.tA=new p,this.tA.fa({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:f.ue,verticalAlign:f.ae,
label:b("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"}),this.tA.bind(k.oa,this.yga,this,!0),this.yi.Ua(this.tA));null==this.xi&&(this.xi=new p,this.xi.fa({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:f.ue,verticalAlign:f.ae,label:b("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"}),this.xi.bind(k.oa,this.SQ,this,!0),this.yi.Ua(this.xi))};a.prototype.Oo=function(){e.prototype.Oo.call(this);
this.getParent().bind(k.fc,this.Al,this,!0)};a.prototype.Im=function(){this.getParent().unbind(k.fc,this.Al,this,!0);e.prototype.Im.call(this)};a.prototype.Al=function(){var t=this.getParent();if(t){var u=t.Va();t=t.zb();if(g.kb()){var v=Math.min(u,t);u=function(w){return Math.round(w*v/100)}}else u=function(w){return Math.round(4*w)};this.iq&&this.iq.fa({borderRadius:u(1),width:u(80),height:u(40),gap:u(4),shadowBlurRadius:u(1),shadowSpread:u(1)});this.DG&&this.DG.fa({width:u(60),minHeight:2,height:u(.25)});
this.yi&&this.yi.fa({gap:u(5)});this.xi&&this.xi.fa({borderRadius:u(1),width:u(20),height:u(10),fontSize:u(4.25)});this.tA&&this.tA.fa({borderRadius:u(1),width:u(20),height:u(10),fontSize:u(4.5)});this.Sa&&this.Sa.fa({fontSize:u(5)});this.EW()}};a.prototype.show=function(t,u){this.Al();var v=this.pja(u);0<=v&&this.qoa(v);this.iLa(new d(t,u));this.wE()};a.prototype.hide=function(t){t=this.pja(t);0<=t&&this.qoa(t)};a.prototype.wE=function(){var t=this.getParent();t&&t.Xm(this,t.Jb().length-1)};a.prototype.yga=
function(){this.IQ(!0)};a.prototype.SQ=function(){this.IQ(!1)};a.prototype.pja=function(t){for(var u=0;u<this.op.length;u++)if(this.op[u].ko==t)return u;return-1};a.prototype.EW=function(){if(this.iq){var t=this.Eja();t?(20>t.text.length?(this.fB.set("visible",!1),this.Sa.set("text",t.text),this.Sa.set("visible",!0)):(this.Sa.set("visible",!1),this.fB.set("html",this.IGa(t.text)),this.fB.set("visible",!0)),this.xi.set("visible",t.ko?!0:!1),this.set("visible",!0)):this.set("visible",!1)}};a.prototype.IGa=
function(t){return"<div style=\"color:#808080; font-weight:300; font-family:'Tahoma', 'Geneva', sans-serif; font-size: "+this.Sa.get("fontSize")+'px; text-align:center;" >'+t+"</div>"};a.prototype.IQ=function(t){var u=this.Eja();u&&(u=this.WGa(u.text),this.FLa(u),l(u).each(function(v){v.ko&&v.ko.call(this,t)},this))};a.prototype.iLa=function(t){this.op.push(t);this.EW()};a.prototype.WGa=function(t){return l(this.op).filter(function(u){return u.text==t})};a.prototype.FLa=function(t){this.op=l(this.op).filter(function(u){return!l(t).contains(u)});
this.EW()};a.prototype.qoa=function(t){this.op.splice(t,1);t==this.op.length&&this.EW()};a.prototype.Eja=function(){return 0<this.op.length?this.op[this.op.length-1]:null};return a});
define("iM","require kV og cu fV u mH".split(" "),function(a){function d(F){return F.map(function(G){return String.fromCharCode(G)}).join("")}var h=a("kV"),l=a("og"),k=a("cu"),b=a("fV"),g=a("u"),f=a("mH"),c=[];a=d([99,111,110,116,101,120,116,109,101,110,117]);var e=d([109,111,117,115,101,100,111,119,110]),m=d([109,111,117,115,101,117,112]),q=d([109,111,117,115,101,108,101,97,118,101]),p=d([109,111,117,115,101,101,110,116,101,114]);d([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(F){if(!g.kb()){var G=
g.fe()==g.Oda?200:0;setTimeout(function(){(void 0===n||void 0===r||void 0===t||void 0===u||10>Math.abs(t-n)+Math.abs(u-r))&&c.forEach(function(J){J(F)});n=r=t=u=void 0},G)}F.preventDefault();F.stopImmediatePropagation()},!0);var n,r,t,u;document.addEventListener("mousedown",function(F){t=n=F.screenX;u=r=F.screenY},!0);document.addEventListener("mousemove",function(F){t=F.screenX;u=F.screenY},!0);var v=1;h=h.extend(b,function(F,G){b.call(this);this.bb=F;this.QGa=G;this.MT=this.MT.bind(this);this.Md=
this.Md.bind(this);this.i5=!1;this.f5=this.f5.bind(this);this.g5=this.g5.bind(this);this.e5=this.e5.bind(this);this.h5=this.h5.bind(this);this.ja=document.createElement("div");this.ja.style.setProperty("z-index",v,E[C]);for(var J in E[w])this.ja.style.setProperty(J,E[w][J],E[C]);c.push(this.MT)});h.prototype.clear=function(){this.TIa()&&this.x4();this.ja=null;c.splice(c.indexOf(this.MT),1)};h.prototype.MT=function(F){var G=this.QGa();if(0!=G.length){this.ja.replaceChildren();this.i5=!1;var J=0;G.forEach(function(R){var U=
document.createElement("div");if(R){U.textContent=R;for(var Q in E[y])U.style.setProperty(Q,E[y][Q],E[C]);var N=J;J++;U.addEventListener(p,function(W){this.f5(W,N)}.bind(this));U.addEventListener(q,function(W){this.g5(W,N)}.bind(this));U.addEventListener(e,function(W){this.e5(W,N)}.bind(this));U.addEventListener(m,function(W){this.h5(W,N)}.bind(this))}else for(Q in E[A])U.style.setProperty(Q,E[A][Q],E[C]);for(Q in E[x])U.style.setProperty(Q,E[x][Q],E[C]);this.ja.appendChild(U)}.bind(this));(f.fullscreenElement()||
document.body).appendChild(this.ja);this.ja.style.setProperty("display","block",E[C]);G=F.pageX;F=F.pageY;G+this.ja.clientWidth>document.body.clientWidth-5&&(G=document.body.clientWidth-this.ja.clientWidth-5);F+this.ja.clientHeight>document.body.clientHeight-5&&(F=document.body.clientHeight-this.ja.clientHeight-5);this.ja.style.setProperty("left",G+"px",E[C]);this.ja.style.setProperty("top",F+"px",E[C]);this.bb.bind(l.ub,this.Md,this);document.addEventListener("mousedown",this.Md);this.OQa=setInterval(this.NQa.bind(this),
200)}};h.prototype.TIa=function(){return!!this.ja&&!!this.ja.parentNode};h.prototype.x4=function(){clearInterval(this.OQa);this.ja.parentNode.removeChild(this.ja);document.removeEventListener("mousedown",this.Md);this.bb.unbind(l.ub,this.Md,this);this.ja.style.setProperty("display","none",E[C])};h.prototype.NQa=function(){this.ja.contains(document.elementFromPoint(this.ja.offsetLeft+.5*this.ja.clientWidth,this.ja.offsetTop+.5*this.ja.clientHeight))||this.ja.style.setProperty("z-index",v*=10,E[C])};
h.prototype.Md=function(){this.x4()};h.prototype.e5=function(F){this.i5=!0;F.preventDefault();F.stopImmediatePropagation()};h.prototype.h5=function(F,G){this.i5&&(this.x4(),F.preventDefault(),F.stopImmediatePropagation(),this.trigger(new k(l.mn,{index:G})))};h.prototype.f5=function(F){for(var G in E[B])F.currentTarget.style.setProperty(G,E[B][G],E[C])};h.prototype.g5=function(F){for(var G in E[z])F.currentTarget.style.setProperty(G,E[z][G],E[C])};var w="0",x="1",y="2",A="3",B="4",z="5",C="6",E=function(F){return JSON.parse(F.map(function(G){return String.fromCharCode(G)}).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 h});
define("lU",["require","lQ","bb","bZ"],function(a){function d(b){this.bb=b;this.Ur={};this.Ur[l.Vza]="move";this.Ur[l.Wza]="ew-resize";this.Ur[l.Yza]="ns-resize";this.Ur[l.Xza]="nesw-resize";this.Ur[l.Zza]="nwse-resize";this.Ur[l.Se]="pointer";this.Ur[l.Vs]="inherit";this.Ur[l.ve]="default";this.Vg={};this.Vg[l.Tz]="grab.cur";this.Vg[l.Th]="grabbing.cur";this.Vg[l.fea]="N.cur";this.Vg[l.gea]="NE.cur";this.Vg[l.Xda]="E.cur";this.Vg[l.jea]="SE.cur";this.Vg[l.iea]="S.cur";this.Vg[l.kea]="SW.cur";this.Vg[l.lea]=
"W.cur";this.Vg[l.hea]="NW.cur";this.Vg[l.Zda]="FN.cur";this.Vg[l.$da]="FNE.cur";this.Vg[l.Yda]="FE.cur";this.Vg[l.cea]="FSE.cur";this.Vg[l.bea]="FS.cur";this.Vg[l.dea]="FSW.cur";this.Vg[l.eea]="FW.cur";this.Vg[l.aea]="FNW.cur";this.T0={};this.T0[l.aA]=k.aA;this.Dga={}}var h=a("lQ"),l=a("bb"),k=a("bZ");d.prototype.zta=function(b){return this.NIa(b)?this.Bja(b):this.DIa(b)?this.wGa(b):this.yIa(b)?this.gGa(b):this.Bja(l.ve)};d.prototype.ZCa=function(b){if(!(b in this.Dga)){var g=new Image;g.src=this.Wia(b);
this.Dga[b]=g}};d.prototype.NIa=function(b){return b in this.Ur};d.prototype.Bja=function(b){return this.Ur[b]};d.prototype.DIa=function(b){return this.Vg[b]};d.prototype.wGa=function(b){this.ZCa(b);return"url("+this.Wia(b)+"), default"};d.prototype.Wia=function(b){return h.Uv(this.bb.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.Vg[b]};d.prototype.yIa=function(b){return b in this.T0};d.prototype.gGa=function(b){return"url("+this.T0[b]+"), auto"};return d});
define("co",["require","dY"],function(a){function d(){this.Mu={};this.Jp=[];this.AJ=0}var h=a("dY");d.prototype.push=function(l,k){void 0==this.Mu[k]?(this.Mu[k]=[l],this.Jp.push(k),this.Jp.sort(function(b,g){return b-g}),this.AJ++):(k=this.Mu[k],h(k).contains(l)||(k.push(l),this.AJ++))};d.prototype.Bta=function(){return this.AJ};d.prototype.isEmpty=function(){return 0==this.Jp.length};d.prototype.Ewa=function(){if(!this.isEmpty()){var l=this.Jp[0],k=this.Mu[l].pop();0==this.Mu[l].length&&(delete this.Mu[l],
this.Jp=this.Jp.slice(1));this.AJ--;return k}};d.prototype.Jba=function(){if(!this.isEmpty()){var l=this.Jp[this.Jp.length-1],k=this.Mu[l].pop();0==this.Mu[l].length&&(delete this.Mu[l],this.Jp=this.Jp.slice(0,this.Jp.length-1));this.AJ--;return k}};return d});
define("is","require dY kV gm co bf kY".split(" "),function(a){function d(){this.jy=!1;this.Fna=void 0;this.T=!0;this.pU=this.pU.bind(this);this.iR=new l;this.ZU=new l;this.TV=new l;this.hT=new l;this.O2=new l;k.requestFrame(this.lj,this)}a("dY");a("kV");var h=a("gm"),l=a("co"),k=a("bf"),b=a("kY");d.prototype.clear=function(){this.T=!1};d.prototype.OO=function(g){this.iR.push(g,this.jF(g));this.Su()};d.prototype.ee=function(g){this.ZU.push(g,this.jF(g));this.Su()};d.prototype.Tb=function(g){this.TV.push(g,
this.jF(g));this.Su()};d.prototype.Fd=function(g){this.hT.push(g,this.jF(g));this.Su()};d.prototype.Fk=function(g){this.O2.push(g,this.jF(g));this.Su()};d.prototype.ca=function(){this.APa();this.nQa();this.CPa()};d.prototype.APa=function(){do{for(;!this.iR.isEmpty();)this.iR.Jba().xb();this.ZU.isEmpty()||this.ZU.Jba().Ta()}while(!this.ZU.isEmpty()||!this.iR.isEmpty())};d.prototype.nQa=function(){for(;!this.TV.isEmpty()||!this.hT.isEmpty();)this.JW(),this.W9()};d.prototype.JW=function(){for(;!this.TV.isEmpty();){var g=
this.TV.Jba();if(g.FXa()){var f=g.getParent();f?(f.Tb(),f.Fd()):g.kxa(0,0,g.vs(),g.us())}}};d.prototype.W9=function(){for(;!this.hT.isEmpty();)this.hT.Ewa().Ql()};d.prototype.CPa=function(){for(;!this.O2.isEmpty();)this.O2.Ewa().Rg();h.process()};d.prototype.Su=function(){this.jy||(this.jy=!0,this.Fna=(new Date).getTime()+500,b.hz(this.pU))};d.prototype.pU=function(){this.jy=!1;this.T&&this.ca()};d.prototype.jF=function(g){return(g=g.getParent())?this.jF(g)+1:0};d.prototype.lj=function(){this.jy&&
(new Date).getTime()>=this.Fna&&this.pU();k.requestFrame(this.lj,this)};return d});
define("hf","require jquery.mod dY kV og nC iM lU bj is mH u".split(" "),function(a){var d=a("jquery.mod"),h=a("dY"),l=a("kV"),k=a("og"),b=a("nC"),g=a("iM"),f=a("lU"),c=a("bj"),e=a("is"),m=a("mH"),q=a("u");a=l.extend(b,function(p,n){this.pE=new e;b.call(this);this.Qr(this);this.qe("Application");this.kf=d(p);this.y$=n;this.kf.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.$u=d(document.createElement("div"));this.$u.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.kf.append(this.$u);this.$u.append(this.yc());this.kqa=this.$u.get(0);this.xd=this.pd=void 0;this.vIa=10;this.lDa=500;this.xM=null;this.A2=new f(this);this.Lb=new c(this);this.ja.append(this.Lb.yc());this.tR=new g(this,this.Tia.bind(this));this.tR.bind(k.mn,this.eh(this.Ela),this,!0);this.Yka=!0;this.set("contentOpaque",
!0);this.HA=null;this.uJ=[];this.WE(["globalmousemove"]);this.tCa();this.VW=this.WW=0;this.ey=1;try{this.WW=window.top.innerWidth,this.VW=window.top.innerHeight,this.q4=!0}catch(r){this.q4=!1}this.Hra();this.Ei=new m(p);this.Ei.bind(k.sa,function(){this.C3(this.Ei.enabled())},this)});a.prototype.start=function(){this.Wpa||(this.Wpa=!0,this.trigger(k.pn))};a.prototype.Hra=function(){this.q4&&!m.enabled()&&(this.WW=window.top.innerWidth,this.VW=window.top.innerHeight)};a.prototype.clear=function(){this.wD(null);
this.hqa();this.vFa();this.pE.clear();this.kf&&(this.yc().remove(),this.$u.remove(),this.kf=null);this.A2=null;this.Ei.bda();this.Ei=null;this.tR&&(this.tR.clear(),this.tR=null)};a.prototype.fWa=function(p){this.Yka=p};a.prototype.C3=function(p){p?this.bpa():this.wDa()};a.prototype.ru=function(){this.YK=this.el=this.$u.width();this.XK=this.dl=this.$u.height()};a.prototype.wD=function(p){if(this.HA!=p){null!=this.HA&&this.HA.YOa();this.HA=p;for(var n=[];null!=p;)n=[p].concat(n),p=p.getParent();p=this.uJ.length-
1;for(var r=!0;0<=p&&r;p--)h(n).contains(this.uJ[p])?r=!1:this.uJ.pop().aPa();for(p=0;p<n.length;p++)h(this.uJ).contains(n[p])||n[p].bPa();this.uJ=n;null!=this.HA&&this.HA.XOa();this.Lb.wD(this.HA)}};a.prototype.LHa=function(p){var n=this.mF(p);this.mka(p,n.x,n.y)?p.preventDefault():this.wD(null)};a.prototype.Hja=function(p){var n=this.cB(p);this.mka(p,n.x,n.y)?p.preventDefault():this.wD(null)};a.prototype.Tia=function(){return[]};a.prototype.Ela=function(){};a.prototype.mka=function(p,n,r){return this.EIa(p.target)&&
0<=n&&0<=r&&n<this.ea&&r<this.ua};a.prototype.EIa=function(p){if(!this.kf)return!1;for(var n=this.kf.get(0);p;){if(p===n)return!0;p=p.parentElement}return!1};a.prototype.tCa=function(){this.WE(["globalresize"]);this.w1=setInterval(h.bind(function(){this.Sga()},this),this.lDa)};a.prototype.vFa=function(){this.KJ(["globalresize"]);this.w1&&(clearInterval(this.w1),this.w1=null)};a.prototype.Sga=function(){this.Ei.enabled()?this.bpa():this.Hra();var p=this.kqa.clientWidth,n=this.kqa.clientHeight;if(this.pd!=
p||this.xd!=n)this.pd=p,this.xd=n,this.XNa()};a.prototype.bpa=function(){if(this.q4&&(q.fe()==q.xI&&q.browser()==q.Ik||q.fe()==q.vi)){var p=m.fullscreenElement();var n=p.clientWidth;p=p.clientHeight;var r=(n>p?n:p)/(this.WW>this.VW?this.WW:this.VW),t=Math.round(n/r),u=Math.round(p/r);this.ey=r;n={left:Math.round(.5*(n-t))+"px",top:Math.round(.5*(p-u))+"px",right:"auto",bottom:"auto",width:t+"px",height:u+"px",transform:"scale("+[r,r].join(", ")+")",position:"absolute"}}else n={position:"absolute",
left:0,top:0,right:"auto",bottom:"auto",width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"},this.ey=1;this.$u.css(n)};a.prototype.wDa=function(){this.$u.css({position:"abolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",transform:""});this.ey=1};a.prototype.XNa=function(){this.hqa();var p=this;this.xM=setTimeout(function(){p.xM=null;p.Tb()},this.vIa)};a.prototype.hqa=function(){this.xM&&(this.xM=null,clearTimeout(this.xM))};a.prototype.KHa=function(){this.Sga()};
a.prototype.M3=function(){return h(b.prototype.M3.call(this)).defaults({globaltouchmove:[{target:d(document),name:"touchmove",handler:this.eh(this.LHa)}],globalmousemove:[{target:d(document),name:"mousemove",handler:this.eh(this.Hja)},{target:d(window),name:"mouseout",handler:this.eh(this.Hja)}],globalresize:[{target:d(window),name:"resize",handler:this.eh(this.KHa)}]})};return a});
define("gk","require jquery.mod oB bZ mH og fV oe u".split(" "),function(a){function d(){n=TDV.nb.qq();var v=p||n;q!=v&&(q=v,m.trigger(g.sa));v=!!p&&n!=p&&e.kb();r!=v&&(t||(t=h("<div/>"),t.css({position:"fixed","z-index":l.Bza,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),t.html(['<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<img style="width:22vmin" src="'+k.LI+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+c("rotate-device")+"</div>","</div>\n</div>"].join("\n")),u=t.find("img")),r&&t.detach(),(r=v)&&(b.enabled()?h(b.fullscreenElement()):h("body")).append(t));r&&u.css("transform",q==m.nAa?"translate(-11%, 0) rotate(-90deg)":"none")}var h=a("jquery.mod"),l=a("oB"),k=a("bZ"),b=a("mH"),g=a("og"),f=a("fV"),c=a("oe"),
e=a("u"),m=new f;m.ZXa=TDV.nb.L_;m.nAa=TDV.nb.M_;m.AD=function(v){p!=v&&(p=v,d())};m.Nta=function(){return p};m.get=function(){return q};var q=void 0,p=void 0,n=void 0,r=!1,t=null,u=null;window.addEventListener("resize",function(){d();setTimeout(d,500)},!0);try{window.screen.orientation.addEventListener("change",d)}catch(v){window.addEventListener("orientationchange",d,!1)}d();return m});
define("in","require kV dY og cu cz nc mE oe jn G kj ll dJ lF nd lo u hq eH cr iX lQ bu dV hf nC cU mH bC gk lB dl".split(" "),function(a){var d=a("kV"),h=a("dY"),l=a("og"),k=a("cu"),b=a("cz"),g=a("nc"),f=a("mE"),c=a("oe"),e=a("jn"),m=a("G"),q=a("kj"),p=a("ll"),n=a("dJ");a("lF");var r=a("nd"),t=a("lo"),u=a("u"),v=a("hq"),w=a("eH"),x=a("cr"),y=a("iX"),A=a("lQ"),B=a("bu"),z=a("dV"),C=a("hf"),E=a("nC"),F=a("cU"),G=a("mH"),J=a("bC"),R=a("gk"),U=a("lB"),Q=a("dl"),N=g.define("Player",C,function(){C.apply(this,
arguments);this.Zf=new w(this);this.Zha=new q(this,this.Zf);this.ar=new E;this.ar.fa({backgroundOpacity:0,visible:!0,width:"100%",height:"100%"});this.HF=new p;this.cH=new n;this.wR=new m(this);var O=new F;O.fZ(0);this.wP(O);this.Rf(!0);this.bind(l.G("settings"),this.oKa,this,!0);this.PW=TDV.nb.fua();R.bind(l.sa,this.ZJa,this,!0);J.wXa();this.PCa=new e(this,"buttonMute",z.we);this.PCa.bind(l.oa,this.uma,this,!0);this.XCa=new e(this,"buttonUnmute",z.we);this.XCa.bind(l.oa,this.ina,this,!0);this.XQ=
new e(this,"buttonToggleMute",z.Lj);this.XQ.bind(l.Jj,this.uma,this,!0);this.XQ.bind(l.Xl,this.ina,this,!0);this.bind(l.G("mute"),this.WJa,this);this.XQ.set("pressed",this.get("mute"));this.NCa=new e(this,"buttonEnterFullscreen",z.we);this.NCa.bind(l.oa,this.Kla,this,!0);this.OCa=new e(this,"buttonExitFullscreen",z.we);this.OCa.bind(l.oa,this.Lla,this,!0);this.UQ=new e(this,"buttonToggleFullscreen",z.Lj);this.UQ.bind(l.Jj,this.Kla,this,!0);this.UQ.bind(l.Xl,this.Lla,this,!0);this.UQ.set("pressed",
this.get("fullscreenEnabled"));this.bind(l.G("fullscreenEnabled"),this.IJa,this,!0);this.set("fullscreenEnabled",this.Ei.enabled());this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(l.pn,this.rKa,this,!0);[l.ub,l.$b,l.Jq,l.iw,l.VD].forEach(function(L){this.bind(L,function(S){this.trigger(new k(l.gE,{GP:S}))},this,!0)}.bind(this));["keydown","keyup"].forEach(function(L){document.addEventListener(L,function(S){this.trigger(new k(l.gE,{GP:S}))}.bind(this))}.bind(this));B.bind(l.sa,function(){B.isPresenting()?
R.AD():R.AD(C.prototype.get.call(this,"lockedOrientation"))},this);this.Ei.bind(l.sa,function(){var L=R.Nta();R.AD();R.AD(L)},this)});N.sza="orientationChange";N.prototype.logCapabilities=function(){this.eJa()};N.prototype.activateAudio=function(O){this.iBa(O)};N.prototype.C3=function(O){C.prototype.C3.apply(this,arguments);this.set("fullscreenEnabled",O)};N.prototype.lb=function(){C.prototype.lb.call(this);this.h("mute",!1);this.h("fullscreenEnabled",!1)};N.prototype.xb=function(){C.prototype.xb.call(this);
this.Zha.getParent()!=this&&this.Ua(this.Zha);this.ar.getParent()!=this&&(this.Ua(this.ar),this.ar.Ua(this.wR),this.ar.Ua(this.HF),this.ar.Ua(this.cH))};N.prototype.XLa=function(O){var L=[];this.HF&&L.push(this.HF);this.cH&&L.push(this.cH);this.wR&&L.push(this.wR);for(var S=!0,V=0;V<=L.length&&S;V++)S=O.indexOf(L[V]),S=O.length-(L.length-V)==S;return S?O:O.filter(function(Z){return 0>L.indexOf(Z)}).concat(L)};N.prototype.Ta=function(){this.foa||(this.foa=h.difference(this.qHa(),"backgroundOpacity visible includeInLayout state left right top bottom centerX centerY width height minWidth minHeight maxWidth maxHeight actualWidth actualHeight paddingLeft paddingTop paddingRight paddingBottom".split(" ")));
this.ic(this.foa,{},[this.ar],!0,!0);C.prototype.Ta.call(this);!0===this.JYa&&this.IYa()};N.prototype.set=function(O,L){switch(O){case "children":this.ar.set(O,this.XLa(L));return;case "creationPolicy":this.ar.set(O,L);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrAvailable":L=this.get(O);break;case "fullscreenEnabled":L=this.Ei.rg()&&L;break;case "fullscreenFallback":G.kca(L);
break;case "lockedOrientation":u.Ef()&&(L=void 0);R.AD(L);break;case "installAvailable":L=this.Zf.ready();break;case "mouseWheelEnabled":this.fWa(A.Ph("mousewheelenabled",L));break;case "backgroundPreloadEnabled":this.lMa(L);break;case "vrPolyfillScale":B.rWa(L);break;case "desktopMipmappingEnabled":r.xVa(L);break;case "mobileMipmappingEnabled":r.dWa(L)}C.prototype.set.call(this,O,L)};N.prototype.get=function(O,L){switch(O){case "children":case "creationPolicy":return this.ar.get(O,L);case "touchEnabled":return this.Dn;
case "touchDevice":return u.$ca();case "isMobile":return u.kb();case "orientation":return R.get();case "lockedOrientation":return R.Nta();case "gyroscopeAvailable":return v.rg;case "cardboardAvailable":case "vrAvailable":return B.rg();case "fullscreenAvailable":return this.Ei.rg();case "vrPolyfillScale":return B.MSa();case "installAvailable":return this.Zf.ready();case "surfaceSelectionAvailable":return!0;case "pageScale":return this.ey;case H:return this.y$?C.prototype.get.apply(this,arguments):
!0;default:return C.prototype.get.apply(this,arguments)}};N.prototype.uma=function(){this.set("mute",!0)};N.prototype.ina=function(){this.set("mute",!1)};N.prototype.WJa=function(){this.XQ.set("pressed",this.get("mute"))};N.prototype.Kla=function(){this.set("fullscreenEnabled",!0)};N.prototype.Lla=function(){this.set("fullscreenEnabled",!1)};N.prototype.IJa=function(){this.get("fullscreenEnabled")?this.Ei.Bk():this.Ei.Pf();this.UQ.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",
this.Ei.enabled())};N.prototype.oKa=function(){var O=this.get("settings");O&&(x.initialize(O),y.Gca(O),THREE.Zya=O.get(TDV.PlayerSettings.nda),this.Zf.Gca(O))};N.prototype.lMa=function(O){y.enabled(O)};N.prototype.Tia=function(){var O=[];this.IE=[];(this.get("menu")||[]).forEach(function(V){var Z=V.get("label");O.push(V.get("label"));Z&&this.IE.push(function(){V.trigger("click")})}.bind(this));var L=this.get("defaultMenu",[]);if(0<=L.indexOf("rotation")){var S=this.xj("PanoramaPlayer");S.length&&
(O.push(S[0].get("mouseControlMode")==b.Bz?c("change-to-drag-and-release"):c("change-to-click-and-move")),this.IE.push(this.HOa.bind(this)))}0<=L.indexOf("fullscreen")&&this.Ei.rg()&&(O.push(this.Ei.enabled()?c("exit-fullscreen"):c("enter-fullscreen")),this.IE.push(this.FOa.bind(this)));0<=L.indexOf("mute")&&(O.push(this.get("mute")?c("unmute"):c("mute")),this.IE.push(this.GOa.bind(this)));L=[].concat(f.name?[f.name]:[],"false"!=f.ORa?f.VO?["v:"+f.VO+"."+f.WO]:["v:"+f.WO]:[]).join(" ");""!=L&&(0<
O.length&&O.push(""),O.push(L),this.IE.push(this.DKa.bind(this)));return O};N.prototype.Ela=function(O){this.IE[O.data.index]()};N.prototype.HOa=function(){var O=this.xj("PanoramaPlayer"),L=O[0].get("mouseControlMode")==b.Bz?b.Os:b.Bz;O.forEach(function(S){Q.setItem(W,L);S.set("mouseControlMode",L)})};N.prototype.rKa=function(){Q.getItem(W)==b.Os&&this.xj("PanoramaPlayer").forEach(function(O){O.set("mouseControlMode",b.Os)});A.Ri("mute")&&this.set("mute",A.Ph("mute",this.get("mute")));A.Ri("vr")&&
B.Bk()};N.prototype.FOa=function(){this.Ei.toggle()};N.prototype.GOa=function(){this.set("mute",!this.get("mute"))};N.prototype.DKa=function(){f.Rya&&window.open(f.Rya,"_blank")};N.prototype.ZJa=function(){this.trigger(N.sza)};N.prototype.eJa=function(){d.SRa(!0);d.log("UA: "+navigator.userAgent);d.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+")");u.log();t.log();c.log();B.log()};N.prototype.iBa=function(O){J.active()?U.wait(O):(J.kda(O),J.request(this))};var W="tdvp_"+window.location.pathname+"_rotation_mode",H=[119,97,116,101,114,109,97,114,107].map(function(O){return String.fromCharCode(O)}).join("");return N});define("ck",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("PlayerMenuItem",d,function(){d.call(this)})});
define("S","require kV lw og kx nc jU".split(" "),function(a){a("kV");var d=a("lw"),h=a("og"),l=a("kx"),k=a("nc"),b=a("jU");a=k.define("PopupPanoramaOverlay",d,function(){d.call(this);this.set("state",l.S);this.bind(h.G("state"),function(){this.trigger(h.ge)},this,!0);this.cd=void 0});a.prototype.show=function(){this.set("visible",!0)};a.prototype.hide=function(){this.set("visible",!1)};a.prototype.play=function(){this.set("state",l.X)};a.prototype.pause=function(){this.set("state",l.eE)};a.prototype.stop=
function(){this.set("state",l.S)};a.prototype.hide=a.prototype.hide;a.prototype.pause=a.prototype.pause;a.prototype.play=a.prototype.play;a.prototype.show=a.prototype.show;a.prototype.stop=a.prototype.stop;a.prototype.get=function(g,f){switch(g){case "playbackPositions":return void 0===this.cd&&(this.cd=b.OSa(this)),this.cd}return d.prototype.get.call(this,g,f)};a.prototype.set=function(g,f){var c=!1;switch(g){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.cd=
void 0,c=!0}d.prototype.set.call(this,g,f);c&&"playbackPositions"!=g&&this.trigger(h.G("playbackPositions"))};return a});define("oh",["require","z","nc"],function(a){var d=a("z");return a("nc").define("ProgressBar",d,function(){d.call(this)})});
define("gg",["require","lw","og","nc","jU"],function(a){var d=a("lw"),h=a("og"),l=a("nc"),k=a("jU");a=l.define("QuadFramePanoramaOverlay",d,function(){d.call(this);this.cd=void 0});a.prototype.set=function(b,g){var f=!1;switch(b){case "vertices":case "playbackPositions":this.cd=void 0,f=!0}d.prototype.set.call(this,b,g);f&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.cd&&(this.cd=k.Saa(this)),
this.cd}return d.prototype.get.call(this,b,g)};return a});define("bE",["require","nc","cG"],function(a){var d=a("nc"),h=a("cG");return d.define("QuadHotspotPanoramaOverlay",h,function(){h.call(this)})});define("iv",["require","nc","t"],function(a){var d=a("nc"),h=a("t");return d.define("QuadHotspotPanoramaOverlayArea",h,function(){h.apply(this,arguments)})});
define("Z",["require","lw","og","nc","jU"],function(a){var d=a("lw"),h=a("og"),l=a("nc"),k=a("jU");a=l.define("QuadHotspotPanoramaOverlayImageBase",d,function(){d.call(this);this.cd=void 0});a.prototype.get=function(b,g){switch(b){case "playbackPositions":return void 0===this.cd&&(this.cd=k.Saa(this)),this.cd}return d.prototype.get.call(this,b,g)};a.prototype.set=function(b,g){var f=!1;switch(b){case "opacity":case "distance":case "vertices":case "playbackPositions":this.cd=void 0,f=!0}d.prototype.set.call(this,
b,g);f&&"playbackPositions"!=b&&this.trigger(h.G("playbackPositions"))};return a});define("fj",["require","nc","Z"],function(a){var d=a("nc"),h=a("Z");return d.define("QuadHotspotPanoramaOverlayImage",h,function(){h.call(this)})});define("jV",["require","nc","Z"],function(a){var d=a("nc"),h=a("Z");return d.define("QuadHotspotPanoramaOverlayMap",h,function(){h.call(this)})});
define("eI","require lw og kx cu nc jU".split(" "),function(a){var d=a("lw"),h=a("og"),l=a("kx"),k=a("cu"),b=a("nc"),g=a("jU");a=b.define("QuadVideoPanoramaOverlay",d,function(){d.call(this);this.cd=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",l.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",l.Cb)};a.prototype.stop=a.prototype.stop=function(){this.set("state",l.S)};a.prototype.set=function(f,c){var e=!1;switch(f){case "state":var m=this.get("state")||
l.S;m==l.S&&c==l.X&&this.trigger(h.pn);m!=c&&this.trigger(new k(h.ge,{oldState:m,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.cd=void 0,e=!0}d.prototype.set.call(this,f,c);e&&"playbackPositions"!=f&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(f,c){switch(f){case "playbackPositions":return void 0===this.cd&&(this.cd=g.Saa(this)),this.cd}return d.prototype.get.call(this,f,
c)};return a});define("mi",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("RainPanoramaOverlay",d,function(){d.call(this)});a.prototype.get=function(h,l){"startState"==h&&void 0===l&&(l=this.get("initialState"));return d.prototype.get.call(this,h,l)};return a});define("eY",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("RotationalCameraMovement",d,function(){d.call(this)})});
define("ch",["require","mS","nc"],function(a){var d=a("mS");return a("nc").define("SlideInEffect",d,function(){d.call(this)})});define("hX",["require","hk","nc"],function(a){var d=a("hk");return a("nc").define("SlideOutEffect",d,function(){d.call(this)})});
define("np",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("SnowPanoramaOverlay",d,function(){d.call(this)});a.prototype.get=function(h,l){"startState"==h&&void 0===l&&(l=this.get("initialState"));return d.prototype.get.call(this,h,l)};return a});
define("lJ",["require","nc","ld"],function(a){var d=a("nc"),h=a("ld");a=d.define("SphericPanoramaFrame",h,function(){h.call(this)});a.prototype.Hl=function(){var l=this.get("sphere");return l&&d.Ea("Video360Resource",l)?!0:(l=this.get("stereoSphere"))&&d.Ea("Video360Resource",l)?!0:!1};return a});define("fl",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("SphereModel3DObject",h,function(){h.call(this)})});
define("nN",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("SpriteModel3DObject",h,function(){h.call(this)})});define("bs",["require","nc","ij"],function(a){var d=a("nc"),h=a("ij");return d.define("SurfaceReticleModel3DObject",h,function(){h.call(this);this.set("transparentAreaActive",!0)})});
define("da","require dY kV x nC my V iB".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("x"),k=a("nC"),b=a("my"),g=a("V"),f=a("iB"),c=h.extend(k,function(e){k.call(this);this.qe("Tab");this.M6=e;this.yl="";this.f9=!1;this.uka=this.Sa=null;this.C$=this.B$=!1;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0)});c.prototype.lb=function(){k.prototype.lb.call(this);this.h("horizontalAlign",b.ue);this.h("verticalAlign",b.ae);this.h("fontFamily");this.h("fontSize");this.h("fontColor");
this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowBlurRadius");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowOpacity");this.h("textShadowVerticalLength")};c.prototype.Mxa=function(e){this.B$!=e&&(this.B$=e,this.C$=!0,this.ee())};c.prototype.xb=function(){k.prototype.xb.call(this);null==this.Sa&&(this.Sa=new f,this.Sa.set("horizontalAlign","center"),this.Ua(this.Sa))};c.prototype.Oo=function(){k.prototype.Oo.call(this);this.uka=l.Is(this.M6,
"label",this.TF,this);this.zpa(this.M6.get("label"))};c.prototype.R7=function(){k.prototype.R7.call(this);this.uka.qz()};c.prototype.TF=function(){var e=this.M6.get("label");this.zpa(e?e:"")};c.prototype.zpa=function(e){this.yl!=e&&(this.yl=e,this.f9=!0,this.ee())};c.prototype.Ta=function(){this.f9&&(this.f9=!1,this.Sa.set("text",this.yl));this.C$&&(this.C$=!1,this.Sa.set("direction",this.B$?g.lh:g.xg));this.ic(c.rfa,c.mE,[this.Sa],!0,!0);k.prototype.Ta.call(this)};c.rfa="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");
c.mE={};d(c.rfa).each(function(e){c.mE[e]=e});return c});define("eQ",["require"],function(){return{II:"normal",YD:"inverse",pda:"center"}});
define("cP","require dY kV bg bb og nC my d hs da eQ hY".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("bg"),k=a("bb"),b=a("og"),g=a("nC"),f=a("my"),c=a("d"),e=a("hs"),m=a("da"),q=a("eQ"),p=a("hY");a=h.extend(g,function(){g.call(this);this.qe("TabPanel");this.$e=-1;this.nC=!1;this.jN=[];this.kW=!1;this.Dr=[];this.O6=!1;this.iN=[];this.Ig=this.bh=null;this.pC(!1)});a.prototype.lb=function(){g.prototype.lb.call(this);this.h("pages",[]);this.h("selectedIndex",-1);this.h("tabsSize",25);this.h("tabsPosition",
p.sc);this.h("tabsGap",0);this.h("tabsPadding",10);this.h("tabsAlign",q.II);this.h("tabsBackgroundOpacity",.6);this.h("tabsBackgroundColor",["#FFFFFF","#CCCCCC"]);this.h("tabsBackgroundColorRatios",[0,.5]);this.h("tabsRollOverBackgroundOpacity",1);this.h("tabsRollOverBackgroundColor",["#FFFFFF","#CCCCCC"]);this.h("tabsRollOverBackgroundColorRatios",[0,.5]);this.h("backgroundColor","#FFFFFF");this.h("selectedTabBackgroundOpacity",1);this.h("selectedTabBackgroundColor");this.h("selectedTabBackgroundColorRatios");
this.h("borderRadius",6);this.h("pagePaddingLeft",4);this.h("pagePaddingTop",4);this.h("pagePaddingRight",4);this.h("pagePaddingBottom",4);this.h("borderColor","#AAAAAA");this.h("borderSize",1);this.h("selectedTabFontSize");this.h("selectedTabFontColor");this.h("selectedTabFontWeight");this.h("selectedTabFontStyle");this.h("selectedTabTextDecoration");this.h("selectedTabTextShadowBlurRadius");this.h("selectedTabTextShadowColor");this.h("selectedTabTextShadowHorizontalLength");this.h("selectedTabTextShadowOpacity");
this.h("selectedTabTextShadowVerticalLength");this.h("tabsFontFamily");this.h("tabsFontSize");this.h("tabsFontColor");this.h("tabsFontWeight");this.h("tabsFontStyle");this.h("tabsTextDecoration");this.h("tabsTextShadowBlurRadius");this.h("tabsTextShadowColor");this.h("tabsTextShadowHorizontalLength");this.h("tabsTextShadowOpacity");this.h("tabsTextShadowVerticalLength");this.h("tabsRollOverFontSize");this.h("tabsRollOverFontColor");this.h("tabsRollOverFontWeight");this.h("tabsRollOverFontStyle");
this.h("tabsRollOverTextDecoration");this.h("tabsRollOverTextShadowBlurRadius");this.h("tabsRollOverTextShadowColor");this.h("tabsRollOverTextShadowHorizontalLength");this.h("tabsRollOverTextShadowOpacity");this.h("tabsRollOverTextShadowVerticalLength")};a.prototype.xb=function(){g.prototype.xb.call(this);null==this.Ig&&(this.Ig=new g,this.Ig.pC(!1),this.Ua(this.Ig));null==this.bh&&(this.bh=new g,this.bh.pC(!1),this.Ua(this.bh))};a.prototype.set=function(n,r){"pages"==n?this.kWa(r||[]):"selectedIndex"==
n?this.Fca(r):"layout"==n&&(r=c.OXa);g.prototype.set.call(this,n,r)};a.prototype.get=function(n,r){return"pages"==n?this.Dr:"selectedIndex"==n?this.$e:g.prototype.get.call(this,n,r)};a.prototype.Fca=function(n){this.$e!=n&&(this.$e=n,this.$e=Math.min(Math.max(this.$e,-1),this.Dr.length),this.nC=!0,this.ee(),this.trigger(b.sa))};a.prototype.kWa=function(n){d.isEqual(this.Dr,n)||(this.Dr=n,this.O6=!0,this.ee())};a.prototype.tOa=function(n){this.jN=d(this.jN).union([n.source]);this.kW=!0;this.ee()};
a.prototype.sOa=function(n){this.jN=d(this.jN).difference([n.source]);this.kW=!0;this.ee()};a.prototype.rOa=function(n){this.Fca(d(this.iN).indexOf(n.source))};a.prototype.Ta=function(){var n=!1,r=!1,t=!1,u=!1,v=!1,w=this.B("tabsPosition"),x=this.B("tabsAlign");this.O6&&(this.iN=[],this.bh.Kwa(),this.Ig.Kwa(),d(this.Dr).forEach(function(z){var C=new m(z);C.pC(!0);C.bind(b.$c,d.bind(this.tOa,this));C.bind(b.ac,d.bind(this.sOa,this));C.bind(b.ub,d.bind(this.rOa,this));this.iN.push(C);this.bh.Ua(C);
z.fa({top:void 0,left:void 0,right:void 0,bottom:void 0,width:"100%",height:"100%"});this.Ig.Ua(z)},this),this.$e=Math.min(Math.max(this.$e,0),this.Dr.length-1),this.O6=!1,r=n=v=!0);this.H("tabsPosition")&&(this.P("tabsPosition"),u=r=n=!0);this.nC&&(this.nC=!1,t=r=v=!0);this.kW&&(this.kW=!1,t=!0);this.H("overflow")&&this.bh.fa({contentOpaque:this.B("overflow")==e.Lo,overflow:this.B("overflow")});d(["tabsAlign","tabsGap","tabsSize"]).forEach(function(z){this.H(z)&&(this.P(z),n=!0)},this);d("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".split(" ")).forEach(function(z){this.H(z)&&
(this.P(z),u=r=!0)},this);d("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".split(" ")).forEach(function(z){this.H(z)&&
(this.P(z),r=!0)},this);d(["pagePaddingLeft","pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(z){this.H(z)&&(this.P(z),u=!0)},this);this.H("backgroundColorDirection")&&this.P("backgroundColorDirection");if(n){switch(w){case p.Ma:this.bh.fa({left:0,right:void 0});break;case p.eb:this.bh.fa({left:void 0,right:0});break;case p.sc:this.bh.fa({bottom:void 0,top:0});break;case p.mc:this.bh.fa({bottom:0,top:void 0})}switch(w){case p.Ma:case p.eb:this.bh.fa({layout:c.lh,top:0,bottom:0,
height:void 0,width:this.B("tabsSize")});switch(x){case q.YD:this.bh.set("verticalAlign",f.mc);break;case q.pda:this.bh.set("verticalAlign",f.ae);break;default:this.bh.set("verticalAlign",f.sc)}break;case p.sc:case p.mc:switch(this.bh.fa({layout:c.xg,left:0,right:0,height:this.B("tabsSize"),width:void 0}),x){case q.YD:this.bh.set("horizontalAlign",f.eb);break;case q.pda:this.bh.set("horizontalAlign",f.ue);break;default:this.bh.set("horizontalAlign",f.Ma)}}this.bh.set("gap",this.B("tabsGap"))}if(r)for(var y=
0;y<this.Dr.length;y++){var A=this.iN[y];w==p.mc||w==p.sc?(A.fa({layout:c.xg,width:void 0,paddingLeft:this.B("tabsPadding"),paddingTop:0,paddingRight:this.B("tabsPadding"),paddingBottom:0,height:"100%",backgroundColorDirection:l.f0}),A.Mxa(!1)):(A.fa({layout:c.lh,width:"100%",paddingLeft:0,paddingTop:this.B("tabsPadding"),paddingRight:0,paddingBottom:this.B("tabsPadding"),height:void 0,backgroundColorDirection:l.F_}),A.Mxa(!0));w==p.mc||w==p.eb?A.set("borderTopLeftRadius",0):A.set("borderTopLeftRadius",
this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));w==p.mc||w==p.Ma?A.set("borderTopRightRadius",0):A.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==p.sc||w==p.eb?A.set("borderBottomLeftRadius",0):A.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==p.sc||w==p.Ma?A.set("borderBottomRightRadius",0):A.set("borderBottomRightRadius",
this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));w==p.eb&&A.set("borderSize",this.B("borderRightSize","borderSize"));w==p.Ma&&A.set("borderSize",this.B("borderLeftSize","borderSize"));w==p.sc&&A.set("borderSize",this.B("borderTopSize","borderSize"));w==p.mc&&A.set("borderSize",this.B("borderBottomSize","borderSize"));switch(w){case p.Ma:var B=this.B("borderLeftColor","borderColor");break;case p.eb:B=this.B("borderRightColor","borderColor");break;case p.mc:B=
this.B("borderBottomColor","borderColor");break;default:case p.sc:B=this.B("borderTopColor","borderColor")}A.set("borderColor",B);A.fa({fontFamily:this.B("tabsFontFamily"),shadow:this.B("shadow"),shadowHorizontalLength:this.B("shadowHorizontalLength"),shadowVerticalLength:this.B("shadowVerticalLength"),shadowBlurRadius:this.B("shadowBlurRadius"),shadowSpread:this.B("shadowSpread"),shadowColor:this.B("shadowColor")})}if(r||t)for(y=0;y<this.Dr.length;y++)A=this.iN[y],t=y==this.$e,B=d(this.jN).contains(A),
t?(B=this.B("selectedTabBackgroundColor","tabsBackgroundColor"),d(B).isUndefined()&&(B=this.B("backgroundColor"),B=d(B).isArray()&&0<B.length?w==p.Ma||w==p.sc?B[0]:B[B.length-1]:B),A.fa({backgroundOpacity:this.B("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:B,backgroundColorRatios:this.B("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:k.ve,fontSize:this.B("selectedTabFontSize","tabsFontSize"),fontColor:this.B("selectedTabFontColor",
"tabsFontColor"),fontWeight:this.B("selectedTabFontWeight","tabsFontWeight"),fontStyle:this.B("selectedTabFontStyle","tabsFontStyle"),textDecoration:this.B("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.B("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.B("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("selectedTabTextShadowBlurRadius",
"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("selectedTabTextShadowOpacity","tabsTextShadowOpacity")})):B?A.fa({backgroundOpacity:this.B("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.B("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:k.Se,fontSize:this.B("tabsRollOverFontSize","tabsFontSize"),fontColor:this.B("tabsRollOverFontColor","tabsFontColor"),
fontWeight:this.B("tabsRollOverFontWeight","tabsFontWeight"),fontStyle:this.B("tabsRollOverFontStyle","tabsFontStyle"),textDecoration:this.B("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.B("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.B("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsRollOverTextShadowBlurRadius",
"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsRollOverTextShadowOpacity","tabsTextShadowOpacity")}):A.fa({backgroundOpacity:this.B("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsBackgroundColor"),backgroundColorRatios:this.B("tabsBackgroundColorRatios"),fontSize:this.B("tabsFontSize"),fontColor:this.B("tabsFontColor"),fontWeight:this.B("tabsFontWeight"),fontStyle:this.B("tabsFontStyle"),textDecoration:this.B("tabsTextDecoration"),textShadowColor:this.B("tabsTextShadowColor"),
textShadowHorizontalLength:this.B("tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsTextShadowOpacity")}),A.fa({borderLeftSize:w==p.eb&&t?0:void 0,borderRightSize:w==p.Ma&&t?0:void 0,borderBottomSize:w==p.sc&&t?0:void 0,borderTopSize:w==p.mc&&t?0:void 0});if(u){y=this.B("tabsSize");switch(w){case p.Ma:this.Ig.fa({left:y-(this.B("borderLeftSize","borderSize")||0),right:0,
top:0,bottom:0});break;case p.eb:this.Ig.fa({left:0,right:y-(this.B("borderRightSize","borderSize")||0),top:0,bottom:0});break;case p.sc:this.Ig.fa({left:0,right:0,top:y-(this.B("borderTopSize","borderSize")||0),bottom:0});break;case p.mc:this.Ig.fa({left:0,right:0,top:0,bottom:y-(this.B("borderBottomSize","borderSize")||0)})}w==p.sc&&x==q.II||w==p.Ma&&x==q.II?this.Ig.set("borderTopLeftRadius",0):this.Ig.set("borderTopLeftRadius",this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));
w==p.sc&&x==q.YD||w==p.eb&&x==q.II?this.Ig.set("borderTopRightRadius",0):this.Ig.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==p.mc&&x==q.II||w==p.Ma&&x==q.YD?this.Ig.set("borderBottomLeftRadius",0):this.Ig.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==p.mc&&x==q.YD||w==p.eb&&x==q.YD?this.Ig.set("borderBottomRightRadius",0):this.Ig.set("borderBottomRightRadius",
this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));this.Ig.fa({paddingLeft:this.B("pagePaddingLeft"),paddingTop:this.B("pagePaddingTop"),paddingRight:this.B("pagePaddingRight"),paddingBottom:this.B("pagePaddingBottom"),borderLeftSize:this.B("borderLeftSize","borderSize"),borderTopSize:this.B("borderTopSize","borderSize"),borderRightSize:this.B("borderRightSize","borderSize"),borderBottomSize:this.B("borderBottomSize","borderSize"),borderLeftColor:this.B("borderLeftColor",
"borderColor"),borderTopColor:this.B("borderTopColor","borderColor"),borderRightColor:this.B("borderRightColor","borderColor"),borderBottomColor:this.B("borderBottomColor","borderColor"),shadow:this.B("shadow"),shadowHorizontalLength:this.B("shadowHorizontalLength"),shadowVerticalLength:this.B("shadowVerticalLength"),shadowBlurRadius:this.B("shadowBlurRadius"),shadowSpread:this.B("shadowSpread"),shadowColor:this.B("shadowColor"),backgroundOpacity:this.B("backgroundOpacity"),backgroundColor:this.B("backgroundColor"),
backgroundColorRatios:this.B("backgroundColorRatios")});w==p.sc||w==p.mc?this.Ig.set("backgroundColorDirection",l.f0):this.Ig.set("backgroundColorDirection",l.F_)}if(v)for(y=0;y<this.Dr.length;y++)this.Dr[y].set("visible",y==this.$e);g.prototype.Ta.call(this)};return a});define("nt",["require","cP","nc"],function(a){var d=a("cP");return a("nc").define("TabPanel",d,function(){d.call(this)})});
define("fE",["require","kV","nC"],function(a){var d=a("kV"),h=a("nC");a=d.extend(h,function(){h.call(this);this.qe("Page");this.set("label","")});a.prototype.lb=function(){h.prototype.lb.call(this);this.h("visible")};return a});define("gC",["require","fE","nc"],function(a){var d=a("fE");return a("nc").define("TabPanelPage",d,function(){d.call(this)})});define("gh",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("TargetPanoramaCameraMovement",d,function(){d.call(this)})});
define("df",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("TargetRotationalCameraDisplayMovement",d,function(){d.call(this)})});define("hA",["require","lG","nc"],function(a){var d=a("lG");return a("nc").define("TiledImageResourceLevel",d,function(){d.call(this)})});define("mt",["require","nc","hJ"],function(a){var d=a("nc"),h=a("hJ");return d.define("TripodCapPanoramaOverlay",h,function(){h.call(this)})});
define("hN","require kV x og my cH bb d hY lK gw nC me iB dY".split(" "),function(a){var d=a("kV"),h=a("x"),l=a("og"),k=a("my"),b=a("cH"),g=a("bb"),f=a("d"),c=a("hY"),e=a("lK"),m=a("gw"),q=a("nC"),p=a("me"),n=a("iB"),r=a("dY"),t=d.extend(q,function(){q.call(this);this.Sa=this.Ee=null;this.AA=[];this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.Uz);this.set("cursor",g.Se)});t.prototype.lb=function(){q.prototype.lb.call(this);
this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.D2);this.h("sourceProperties");this.h("labelFunction",this.B2);this.h("labelFontFamily");this.h("labelFontColor");this.h("labelFontSize");this.h("labelFontStyle");this.h("labelFontWeight");this.h("labelGap");this.h("labelHorizontalAlign");this.h("labelMaxWidth");this.h("labelPosition");this.h("labelTextDecoration");this.h("labelTextShadowColor");this.h("labelTextShadowHorizontalLength");this.h("labelTextShadowVerticalLength");
this.h("labelTextShadowBlurRadius");this.h("labelTextShadowOpacity");this.h("thumbnailBorderRadius");this.h("thumbnailOpacity");this.h("thumbnailBorderSize");this.h("thumbnailBorderColor");this.h("thumbnailWidth");this.h("thumbnailHeight");this.h("thumbnailMaxWidth");this.h("thumbnailMaxHeight");this.h("thumbnailShadow");this.h("thumbnailShadowHorizontalLength");this.h("thumbnailShadowVerticalLength");this.h("thumbnailShadowBlurRadius");this.h("thumbnailShadowSpread");this.h("thumbnailShadowColor");
this.h("thumbnailShadowOpacity");this.u("rollOverBackgroundOpacity",m.V,"backgroundOpacity");this.u("rollOverBackgroundColor",m.V,"backgroundColor");this.u("rollOverBackgroundColorRatios",m.V,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",m.V,"backgroundColorDirection");this.u("rollOverBorderRadius",m.V,"borderRadius");this.u("rollOverBorderTopRadius",m.V,"borderTopRadius");this.u("rollOverBorderBottomRadius",m.V,"borderBottomRadius");this.u("rollOverBorderLeftRadius",m.V,"borderLeftRadius");
this.u("rollOverBorderRightRadius",m.V,"borderRightRadius");this.u("rollOverBorderTopLeftRadius",m.V,"borderTopLeftRadius");this.u("rollOverBorderTopRightRadius",m.V,"borderTopRightRadius");this.u("rollOverBorderBottomLeftRadius",m.V,"borderBottomLeftRadius");this.u("rollOverBorderBottomRightRadius",m.V,"borderBottomRightRadius");this.u("rollOverBorderSize",m.V,"borderSize");this.u("rollOverBorderLeftSize",m.V,"borderLeftSize");this.u("rollOverBorderTopSize",m.V,"borderTopSize");this.u("rollOverBorderRightSize",
m.V,"borderRightSize");this.u("rollOverBorderBottomSize",m.V,"borderBottomSize");this.u("rollOverBorderColor",m.V,"borderColor");this.u("rollOverBorderLeftColor",m.V,"borderLeftColor");this.u("rollOverBorderTopColor",m.V,"borderTopColor");this.u("rollOverBorderRightColor",m.V,"borderRightColor");this.u("rollOverBorderBottomColor",m.V,"borderBottomColor");this.u("rollOverLabelFontColor",m.V,"labelFontColor");this.u("rollOverLabelFontSize",m.V,"labelFontSize");this.u("rollOverLabelFontStyle",m.V,"labelFontStyle");
this.u("rollOverLabelFontWeight",m.V,"labelFontWeight");this.u("rollOverLabelTextDecoration",m.V,"labelTextDecoration");this.u("rollOverLabelTextShadowColor",m.V,"labelTextShadowColor");this.u("rollOverLabelTextShadowHorizontalLength",m.V,"labelTextShadowHorizontalLength");this.u("rollOverLabelTextShadowVerticalLength",m.V,"labelTextShadowVerticalLength");this.u("rollOverLabelTextShadowBlurRadius",m.V,"labelTextShadowBlurRadius");this.u("rollOverLabelTextShadowOpacity",m.V,"labelTextShadowOpacity");
this.u("rollOverOpacity",m.V,"opacity");this.u("rollOverPaddingLeft",m.V,"paddingLeft");this.u("rollOverPaddingTop",m.V,"paddingTop");this.u("rollOverPaddingRight",m.V,"paddingRight");this.u("rollOverPaddingBottom",m.V,"paddingBottom");this.u("rollOverShadow",m.V,"shadow");this.u("rollOverThumbnailOpacity",m.V,"thumbnailOpacity");this.u("rollOverThumbnailBorderSize",m.V,"thumbnailBorderSize");this.u("rollOverThumbnailBorderColor",m.V,"thumbnailBorderColor");this.u("rollOverThumbnailShadow",m.V,"thumbnailShadow");
this.u("rollOverThumbnailShadowHorizontalLength",m.V,"thumbnailShadowHorizontalLength");this.u("rollOverThumbnailShadowVerticalLength",m.V,"thumbnailShadowVerticalLength");this.u("rollOverThumbnailShadowBlurRadius",m.V,"thumbnailShadowBlurRadius");this.u("rollOverThumbnailShadowSpread",m.V,"thumbnailShadowSpread");this.u("rollOverThumbnailShadowColor",m.V,"thumbnailShadowColor");this.u("rollOverThumbnailShadowOpacity",m.V,"thumbnailShadowOpacity");this.u("selectedBackgroundOpacity",m.ba,"backgroundOpacity");
this.u("selectedBackgroundColor",m.ba,"backgroundColor");this.u("selectedBackgroundColorRatios",m.ba,"backgroundColorRatios");this.u("selectedBackgroundColorDirection",m.ba,"backgroundColorDirection");this.u("selectedBorderRadius",m.ba,"borderRadius");this.u("selectedBorderTopRadius",m.ba,"borderTopRadius");this.u("selectedBorderBottomRadius",m.ba,"borderBottomRadius");this.u("selectedBorderLeftRadius",m.ba,"borderLeftRadius");this.u("selectedBorderRightRadius",m.ba,"borderRightRadius");this.u("selectedBorderTopLeftRadius",
m.ba,"borderTopLeftRadius");this.u("selectedBorderTopRightRadius",m.ba,"borderTopRightRadius");this.u("selectedBorderBottomLeftRadius",m.ba,"borderBottomLeftRadius");this.u("selectedBorderBottomRightRadius",m.ba,"borderBottomRightRadius");this.u("selectedBorderSize",m.ba,"borderSize");this.u("selectedBorderLeftSize",m.ba,"borderLeftSize");this.u("selectedBorderTopSize",m.ba,"borderTopSize");this.u("selectedBorderRightSize",m.ba,"borderRightSize");this.u("selectedBorderBottomSize",m.ba,"borderBottomSize");
this.u("selectedBorderColor",m.ba,"borderColor");this.u("selectedBorderLeftColor",m.ba,"borderLeftColor");this.u("selectedBorderTopColor",m.ba,"borderTopColor");this.u("selectedBorderRightColor",m.ba,"borderRightColor");this.u("selectedBorderBottomColor",m.ba,"borderBottomColor");this.u("selectedLabelFontColor",m.ba,"labelFontColor");this.u("selectedLabelFontSize",m.ba,"labelFontSize");this.u("selectedLabelFontStyle",m.ba,"labelFontStyle");this.u("selectedLabelFontWeight",m.ba,"labelFontWeight");
this.u("selectedLabelTextDecoration",m.ba,"labelTextDecoration");this.u("selectedLabelTextShadowColor",m.ba,"labelTextShadowColor");this.u("selectedLabelTextShadowHorizontalLength",m.ba,"labelTextShadowHorizontalLength");this.u("selectedLabelTextShadowVerticalLength",m.ba,"labelTextShadowVerticalLength");this.u("selectedLabelTextShadowBlurRadius",m.ba,"labelTextShadowBlurRadius");this.u("selectedLabelTextShadowOpacity",m.ba,"labelTextShadowOpacity");this.u("selectedOpacity",m.ba,"opacity");this.u("selectedPaddingLeft",
m.ba,"paddingLeft");this.u("selectedPaddingTop",m.ba,"paddingTop");this.u("selectedPaddingRight",m.ba,"paddingRight");this.u("selectedPaddingBottom",m.ba,"paddingBottom");this.u("selectedShadow",m.ba,"shadow");this.u("selectedThumbnailOpacity",m.ba,"thumbnailOpacity");this.u("selectedThumbnailBorderSize",m.ba,"thumbnailBorderSize");this.u("selectedThumbnailBorderColor",m.ba,"thumbnailBorderColor");this.u("selectedThumbnailShadow",m.ba,"thumbnailShadow");this.u("selectedThumbnailShadowHorizontalLength",
m.ba,"thumbnailShadowHorizontalLength");this.u("selectedThumbnailShadowVerticalLength",m.ba,"thumbnailShadowVerticalLength");this.u("selectedThumbnailShadowBlurRadius",m.ba,"thumbnailShadowBlurRadius");this.u("selectedThumbnailShadowSpread",m.ba,"thumbnailShadowSpread");this.u("selectedThumbnailShadowColor",m.ba,"thumbnailShadowColor");this.u("selectedThumbnailShadowOpacity",m.ba,"thumbnailShadowOpacity")};t.prototype.BP=function(u){this.OM(u)};t.prototype.xb=function(){q.prototype.xb.call(this);
this.Ee||(this.Ee=new p,this.Ua(this.Ee),this.Ee.set("horizontalAlign",k.ue),this.Ee.set("verticalAlign",k.ae),this.Ee.bind(l.aa,this.l9,this));this.Sa||(this.Sa=new n,this.Ua(this.Sa))};t.prototype.D2=function(u){if(r(u).isString())return u;if(u&&u.Yca)return u.Yca};t.prototype.B2=function(u){if(u&&u.label)return u.label};t.prototype.Ta=function(){if(this.H("sourceProperties")||this.H("item")){for(;this.AA.length;)this.AA.pop().qz();var u=this.B("sourceProperties"),v=this.B("item");u&&v&&u.forEach(function(x){this.AA.push(h.Is(v,
x,this.x6,this,!0))}.bind(this))}if(this.H("sourceProperties")||this.H("item")||this.H("tooltipFunction"))v=this.B("item"),u=this.B("tooltipFunction")(v),this.set("toolTip",u);if(this.H("sourceProperties")||this.H("item")||this.H("thumbnailUrlFunction"))v=this.B("item"),(u=this.B("thumbnailUrlFunction")(v))?this.Ee.get("url")!=u&&this.Ee.fa({url:u,visible:!0,opacity:.5}):this.Ee.fa({url:void 0,visible:!1}),this.P("thumbnailUrlFunction");if(this.H("sourceProperties")||this.H("item")||this.H("labelFunction"))v=
this.B("item"),u=this.B("labelFunction")(v),this.Sa.fa({text:u,visible:u?!0:!1}),this.P("labelFunction");this.P("item");this.P("sourceProperties");if(this.H("labelPosition")||this.H("listLayout")||this.H("thumbnailWidth")||this.H("thumbnailHeight")){var w=this;u=function(x,y){x=w.B(x);return void 0!==x?x:y};switch(this.B("labelPosition")){case c.Ma:case c.eb:this.set("layout",f.xg);this.Sa.set("width","100%");this.Ee.fa({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",
e.Hj)});break;default:this.set("layout",f.lh),this.Sa.set("width","100%"),this.Ee.fa({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth","100%"),scaleMode:u("thumbnailScaleMode",e.Hj)})}switch(this.B("labelPosition")){case c.Ma:case c.sc:this.Xm(this.Sa,0);break;default:this.Xm(this.Sa,1)}this.P("labelPosition")}this.ic(t.q0,t.qfa,[this],!0,!0);this.ic(t.s0,t.tfa,[this.Ee],!0,!0);this.ic(t.r0,t.sfa,[this.Sa],!0,!0);q.prototype.Ta.call(this)};t.prototype.x6=function(){this.rC("item")};t.prototype.oC=
function(u){q.prototype.oC.call(this,u)};t.prototype.l9=function(){this.Ee.set("opacity",1)};t.qfa={labelGap:"gap"};t.q0=r(t.qfa).keys();t.sfa={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelHorizontalAlign:"horizontalAlign",labelMaxWidth:"maxWidth",labelTextDecoration:"textDecoration",labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength",
labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity"};t.r0=r(t.sfa).keys();t.tfa={thumbnailMaxWidth:"maxWidth",thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread",
thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};t.s0=r(t.tfa).keys();return t});
define("bP","require kV cu my og cH d hs hY nC hN dY".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("my"),k=a("og");a("cH");var b=a("d"),g=a("hs"),f=a("hY"),c=a("nC"),e=a("hN");a=a("dY");var m=d.extend(c,function(){c.call(this);this.set("contentOpaque",!0)});m.prototype.lb=function(){c.prototype.lb.call(this);this.h("layout",b.jw);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",g.Lo);this.h("itemHorizontalAlign",l.ue);this.h("itemLabelFontFamily");this.h("itemLabelPosition",f.mc);
this.h("itemLabelFunction");this.h("itemLabelMaxWidth");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",l.ue);this.h("itemSourceProperties");this.h("itemThumbnailBorderRadius");this.h("itemThumbnailScaleMode");this.h("itemThumbnailWidth");this.h("itemThumbnailHeight");this.h("itemThumbnailMaxWidth");this.h("itemThumbnailMaxHeight");this.h("itemThumbnailUrlFunction");this.h("itemTooltipFunction");this.h("itemVerticalAlign",l.ae);this.h("itemBackgroundOpacity");this.h("itemBackgroundColor");
this.h("itemBackgroundColorRatios");this.h("itemBackgroundColorDirection");this.h("itemBorderRadius");this.h("itemBorderTopRadius");this.h("itemBorderBottomRadius");this.h("itemBorderLeftRadius");this.h("itemBorderRightRadius");this.h("itemBorderTopLeftRadius");this.h("itemBorderTopRightRadius");this.h("itemBorderBottomLeftRadius");this.h("itemBorderBottomRightRadius");this.h("itemBorderSize");this.h("itemBorderLeftSize");this.h("itemBorderTopSize");this.h("itemBorderRightSize");this.h("itemBorderBottomSize");
this.h("itemBorderColor");this.h("itemBorderLeftColor");this.h("itemBorderTopColor");this.h("itemBorderRightColor");this.h("itemBorderBottomColor");this.h("itemLabelFontColor");this.h("itemLabelFontSize");this.h("itemLabelFontStyle");this.h("itemLabelFontWeight");this.h("itemLabelMaxWidth");this.h("itemLabelTextDecoration");this.h("itemLabelTextShadowColor");this.h("itemLabelTextShadowHorizontalLength");this.h("itemLabelTextShadowVerticalLength");this.h("itemLabelTextShadowBlurRadius");this.h("itemLabelTextShadowOpacity");
this.h("itemOpacity");this.h("itemPaddingLeft");this.h("itemPaddingTop");this.h("itemPaddingRight");this.h("itemPaddingBottom");this.h("itemShadow");this.h("itemThumbnailOpacity");this.h("itemThumbnailBorderSize");this.h("itemThumbnailBorderColor");this.h("itemThumbnailShadow");this.h("itemThumbnailShadowHorizontalLength");this.h("itemThumbnailShadowVerticalLength");this.h("itemThumbnailShadowBlurRadius");this.h("itemThumbnailShadowSpread");this.h("itemThumbnailShadowColor");this.h("itemThumbnailShadowOpacity");
this.h("rollOverItemBackgroundOpacity");this.h("rollOverItemBackgroundColor");this.h("rollOverItemBackgroundColorRatios");this.h("rollOverItemBackgroundColorDirection");this.h("rollOverItemBorderRadius");this.h("rollOverItemBorderTopRadius");this.h("rollOverItemBorderBottomRadius");this.h("rollOverItemBorderLeftRadius");this.h("rollOverItemBorderRightRadius");this.h("rollOverItemBorderTopLeftRadius");this.h("rollOverItemBorderTopRightRadius");this.h("rollOverItemBorderBottomLeftRadius");this.h("rollOverItemBorderBottomRightRadius");
this.h("rollOverItemBorderSize");this.h("rollOverItemBorderLeftSize");this.h("rollOverItemBorderTopSize");this.h("rollOverItemBorderRightSize");this.h("rollOverItemBorderBottomSize");this.h("rollOverItemBorderColor");this.h("rollOverItemBorderLeftColor");this.h("rollOverItemBorderTopColor");this.h("rollOverItemBorderRightColor");this.h("rollOverItemBorderBottomColor");this.h("rollOverItemLabelFontSize");this.h("rollOverItemLabelFontStyle");this.h("rollOverItemLabelFontWeight");this.h("rollOverItemLabelTextDecoration");
this.h("rollOverItemLabelTextShadowColor");this.h("rollOverItemLabelTextShadowHorizontalLength");this.h("rollOverItemLabelTextShadowVerticalLength");this.h("rollOverItemLabelTextShadowBlurRadius");this.h("rollOverItemLabelTextShadowOpacity");this.h("rollOverItemOpacity");this.h("rollOverItemPaddingLeft");this.h("rollOverItemPaddingTop");this.h("rollOverItemPaddingRight");this.h("rollOverItemPaddingBottom");this.h("rollOverItemShadow");this.h("rollOverItemThumbnailOpacity");this.h("rollOverItemThumbnailBorderSize");
this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection");
this.h("selectedItemBorderRadius");this.h("selectedItemBorderTopRadius");this.h("selectedItemBorderBottomRadius");this.h("selectedItemBorderLeftRadius");this.h("selectedItemBorderRightRadius");this.h("selectedItemBorderTopLeftRadius");this.h("selectedItemBorderTopRightRadius");this.h("selectedItemBorderBottomLeftRadius");this.h("selectedItemBorderBottomRightRadius");this.h("selectedItemBorderSize");this.h("selectedItemBorderLeftSize");this.h("selectedItemBorderTopSize");this.h("selectedItemBorderRightSize");
this.h("selectedItemBorderBottomSize");this.h("selectedItemBorderColor");this.h("selectedItemBorderLeftColor");this.h("selectedItemBorderTopColor");this.h("selectedItemBorderRightColor");this.h("selectedItemBorderBottomColor");this.h("selectedItemLabelFontSize");this.h("selectedItemLabelFontStyle");this.h("selectedItemLabelFontWeight");this.h("selectedItemLabelTextDecoration");this.h("selectedItemLabelTextShadowColor");this.h("selectedItemLabelTextShadowHorizontalLength");this.h("selectedItemLabelTextShadowVerticalLength");
this.h("selectedItemLabelTextShadowBlurRadius");this.h("selectedItemLabelTextShadowOpacity");this.h("selectedItemOpacity");this.h("selectedItemPaddingLeft");this.h("selectedItemPaddingTop");this.h("selectedItemPaddingRight");this.h("selectedItemPaddingBottom");this.h("selectedItemShadow");this.h("selectedItemThumbnailOpacity");this.h("selectedItemThumbnailBorderSize");this.h("selectedItemThumbnailBorderColor");this.h("selectedItemThumbnailShadow");this.h("selectedItemThumbnailShadowHorizontalLength");
this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};m.prototype.EK=function(q){this.ho=!0;this.set("selectedIndex",this.S3(q.source))};m.prototype.S3=function(q){for(var p=this.Jb(),n=0;n<p.length;n++)if(p[n]==q)return n;return-1};m.prototype.Ta=function(){this.H("layout")&&this.B("layout")!=b.jw&&this.set("layout",b.jw);
var q=!1;if(this.H("items")){q=!0;var p=this.B("items")||[],n=this.Jb();if(n.length<p.length){for(var r=n.length;r<p.length;r++)n=new e,n.bind(k.oa,this.EK,this),this.ic(m.VI,m.fA,[n],!1,!1),this.ic(m.WI,m.gA,[n],!1,!1),this.Ua(n);n=this.Jb()}if(n.length>p.length){for(r=p.length;r<n.length;r++){var t=n[r];t.unbind(k.oa,this.EK,this);this.removeChild(t)}n=this.Jb()}for(r=0;r<p.length;r++)n[r].set("item",p[r]);this.P("items")}if(this.H("selectedIndex")||q){p=this.Jb();q=Math.min(p.length-1,Math.max(-1,
this.B("selectedIndex")));this.set("selectedIndex",q);for(r=0;r<p.length;r++)p[r].BP(r==q);this.P("selectedIndex");this.ho&&(this.ho=!1,this.trigger(new h(k.sa)))}this.ic(m.VI,m.fA,this.Jb(),!0,!1);this.ic(m.WI,m.gA,this.Jb(),!0,!0);c.prototype.Ta.call(this)};m.fA={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};m.gA=
{itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelMaxWidth:"labelMaxWidth",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode",itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",
itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroundOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",
itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize",itemBorderColor:"borderColor",itemBorderLeftColor:"borderLeftColor",itemBorderTopColor:"borderTopColor",
itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius",
itemLabelTextShadowOpacity:"labelTextShadowOpacity",itemOpacity:"opacity",itemPaddingLeft:"paddingLeft",itemPaddingTop:"paddingTop",itemPaddingRight:"paddingRight",itemPaddingBottom:"paddingBottom",itemShadow:"shadow",itemThumbnailOpacity:"thumbnailOpacity",itemThumbnailBorderSize:"thumbnailBorderSize",itemThumbnailBorderColor:"thumbnailBorderColor",itemThumbnailShadow:"thumbnailShadow",itemThumbnailShadowHorizontalLength:"thumbnailShadowHorizontalLength",itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",
itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroundOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",rollOverItemBorderRadius:"rollOverBorderRadius",
rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",rollOverItemBorderSize:"rollOverBorderSize",
rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",rollOverItemLabelFontColor:"rollOverLabelFontColor",
rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",
rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",
rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",selectedItemBackgroundOpacity:"selectedBackgroundOpacity",
selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",
selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",selectedItemBorderColor:"selectedBorderColor",
selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",
selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",
selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",
selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime",toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize",
toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",toolTipShadowOpacity:"toolTipShadowOpacity",toolTipShadowSpread:"toolTipShadowSpread",
toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};m.VI=a(m.fA).keys();m.WI=a(m.gA).keys();return m});
define("jJ","require og bP nc jn dV bM".split(" "),function(a){var d=a("og"),h=a("bP"),l=a("nc"),k=a("jn"),b=a("dV"),g=a("bM");a=l.define("ThumbnailGrid",h,function(){h.call(this);this.ld=null;this.set("itemMode","normal");this.gp=!1;this.mJ=new k(this,"buttonScrollDown",b.we);this.mJ.bind(d.oa,this.$wa,this);this.nJ=new k(this,"buttonScrollLeft",b.we);this.nJ.bind(d.oa,this.scrollLeft,this);this.oJ=new k(this,"buttonScrollRight",b.we);this.oJ.bind(d.oa,this.axa,this);this.pJ=new k(this,"buttonScrollUp",
b.we);this.pJ.bind(d.oa,this.bxa,this);this.bind(d.sa,this.tKa,this)});a.prototype.Ql=function(){h.prototype.Ql.call(this);this.DC()};a.prototype.kv=function(){h.prototype.kv.call(this);this.DC()};a.prototype.DC=function(){this.mJ.set("visible",!this.gp||this.bR());this.pJ.set("visible",!this.gp||this.eR());this.nJ.set("visible",!this.gp||this.cR());this.oJ.set("visible",!this.gp||this.dR())};a.prototype.set=function(f,c){if("itemMode"==f)switch(c){case "thumbnail-only":this.set("itemLabelFunction",
this.ju);this.set("itemThumbnailUrlFunction",this.GK);this.set("itemTooltipFunction",this.rB);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.rB);this.set("itemThumbnailUrlFunction",this.ju);this.set("itemTooltipFunction",this.ju);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.rB),this.set("itemThumbnailUrlFunction",this.GK),
this.set("itemTooltipFunction",this.ju),this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==f?(this.ld&&this.ld.unbind("change",this.Cu,this),(this.ld=c)?(this.set("items",this.ld.get("items")),this.set("selectedIndex",this.ld.get("selectedIndex")),this.ld.bind("change",this.Cu,this,!0)):this.set("items",[])):"hideScrollButtons"==f?(this.gp=c,this.DC()):h.prototype.set.call(this,f,c)};a.prototype.get=function(f,c){switch(f){case "playList":return this.ld;
default:return h.prototype.get.call(this,f,c)}};a.prototype.Cu=function(){this.set("items",this.ld.get("items"));this.set("selectedIndex",this.ld.get("selectedIndex"))};a.prototype.tKa=function(){this.ld&&this.ld.set("selectedIndex",this.get("selectedIndex"))};a.prototype.ju=function(){};a.prototype.rB=function(f){return f.get("label")||f.get("media").get("label")};a.prototype.GK=function(f){f=f.get("media");var c=f.get("thumbnailUrl");f.get("flipImageHorizontally")&&(c=g.jsa(c));return c};return a});
define("ke","require kV x og my cH bb d hY lK gw nC me iB dY".split(" "),function(a){var d=a("kV"),h=a("x"),l=a("og"),k=a("my"),b=a("cH"),g=a("bb"),f=a("d"),c=a("hY"),e=a("lK"),m=a("gw"),q=a("nC"),p=a("me"),n=a("iB"),r=a("dY"),t=d.extend(q,function(){q.call(this);this.Sa=this.Ee=null;this.AA=[];this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.Uz);this.set("cursor",g.Se)});t.prototype.lb=function(){q.prototype.lb.call(this);
this.h("listLayout");this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.D2);this.h("sourceProperties");this.h("labelFunction",this.B2);this.h("labelFontFamily");this.h("labelFontColor");this.h("labelFontSize");this.h("labelFontStyle");this.h("labelFontWeight");this.h("labelGap");this.h("labelHorizontalAlign");this.h("labelPosition");this.h("labelTextDecoration");this.h("labelTextShadowColor");this.h("labelTextShadowHorizontalLength");this.h("labelTextShadowVerticalLength");
this.h("labelTextShadowBlurRadius");this.h("labelTextShadowOpacity");this.h("thumbnailBorderRadius");this.h("thumbnailOpacity");this.h("thumbnailBorderSize");this.h("thumbnailBorderColor");this.h("thumbnailWidth");this.h("thumbnailHeight");this.h("thumbnailMaxWidth");this.h("thumbnailMaxHeight");this.h("thumbnailShadow");this.h("thumbnailShadowHorizontalLength");this.h("thumbnailShadowVerticalLength");this.h("thumbnailShadowBlurRadius");this.h("thumbnailShadowSpread");this.h("thumbnailShadowColor");
this.h("thumbnailShadowOpacity");this.u("rollOverBackgroundOpacity",m.V,"backgroundOpacity");this.u("rollOverBackgroundColor",m.V,"backgroundColor");this.u("rollOverBackgroundColorRatios",m.V,"backgroundColorRatios");this.u("rollOverBackgroundColorDirection",m.V,"backgroundColorDirection");this.u("rollOverBorderRadius",m.V,"borderRadius");this.u("rollOverBorderTopRadius",m.V,"borderTopRadius");this.u("rollOverBorderBottomRadius",m.V,"borderBottomRadius");this.u("rollOverBorderLeftRadius",m.V,"borderLeftRadius");
this.u("rollOverBorderRightRadius",m.V,"borderRightRadius");this.u("rollOverBorderTopLeftRadius",m.V,"borderTopLeftRadius");this.u("rollOverBorderTopRightRadius",m.V,"borderTopRightRadius");this.u("rollOverBorderBottomLeftRadius",m.V,"borderBottomLeftRadius");this.u("rollOverBorderBottomRightRadius",m.V,"borderBottomRightRadius");this.u("rollOverBorderSize",m.V,"borderSize");this.u("rollOverBorderLeftSize",m.V,"borderLeftSize");this.u("rollOverBorderTopSize",m.V,"borderTopSize");this.u("rollOverBorderRightSize",
m.V,"borderRightSize");this.u("rollOverBorderBottomSize",m.V,"borderBottomSize");this.u("rollOverBorderColor",m.V,"borderColor");this.u("rollOverBorderLeftColor",m.V,"borderLeftColor");this.u("rollOverBorderTopColor",m.V,"borderTopColor");this.u("rollOverBorderRightColor",m.V,"borderRightColor");this.u("rollOverBorderBottomColor",m.V,"borderBottomColor");this.u("rollOverLabelFontColor",m.V,"labelFontColor");this.u("rollOverLabelFontSize",m.V,"labelFontSize");this.u("rollOverLabelFontStyle",m.V,"labelFontStyle");
this.u("rollOverLabelFontWeight",m.V,"labelFontWeight");this.u("rollOverLabelTextDecoration",m.V,"labelTextDecoration");this.u("rollOverLabelTextShadowColor",m.V,"labelTextShadowColor");this.u("rollOverLabelTextShadowHorizontalLength",m.V,"labelTextShadowHorizontalLength");this.u("rollOverLabelTextShadowVerticalLength",m.V,"labelTextShadowVerticalLength");this.u("rollOverLabelTextShadowBlurRadius",m.V,"labelTextShadowBlurRadius");this.u("rollOverLabelTextShadowOpacity",m.V,"labelTextShadowOpacity");
this.u("rollOverOpacity",m.V,"opacity");this.u("rollOverPaddingLeft",m.V,"paddingLeft");this.u("rollOverPaddingTop",m.V,"paddingTop");this.u("rollOverPaddingRight",m.V,"paddingRight");this.u("rollOverPaddingBottom",m.V,"paddingBottom");this.u("rollOverShadow",m.V,"shadow");this.u("rollOverThumbnailOpacity",m.V,"thumbnailOpacity");this.u("rollOverThumbnailBorderSize",m.V,"thumbnailBorderSize");this.u("rollOverThumbnailBorderColor",m.V,"thumbnailBorderColor");this.u("rollOverThumbnailShadow",m.V,"thumbnailShadow");
this.u("rollOverThumbnailShadowHorizontalLength",m.V,"thumbnailShadowHorizontalLength");this.u("rollOverThumbnailShadowVerticalLength",m.V,"thumbnailShadowVerticalLength");this.u("rollOverThumbnailShadowBlurRadius",m.V,"thumbnailShadowBlurRadius");this.u("rollOverThumbnailShadowSpread",m.V,"thumbnailShadowSpread");this.u("rollOverThumbnailShadowColor",m.V,"thumbnailShadowColor");this.u("rollOverThumbnailShadowOpacity",m.V,"thumbnailShadowOpacity");this.u("selectedBackgroundOpacity",m.ba,"backgroundOpacity");
this.u("selectedBackgroundColor",m.ba,"backgroundColor");this.u("selectedBackgroundColorRatios",m.ba,"backgroundColorRatios");this.u("selectedBackgroundColorDirection",m.ba,"backgroundColorDirection");this.u("selectedBorderRadius",m.ba,"borderRadius");this.u("selectedBorderTopRadius",m.ba,"borderTopRadius");this.u("selectedBorderBottomRadius",m.ba,"borderBottomRadius");this.u("selectedBorderLeftRadius",m.ba,"borderLeftRadius");this.u("selectedBorderRightRadius",m.ba,"borderRightRadius");this.u("selectedBorderTopLeftRadius",
m.ba,"borderTopLeftRadius");this.u("selectedBorderTopRightRadius",m.ba,"borderTopRightRadius");this.u("selectedBorderBottomLeftRadius",m.ba,"borderBottomLeftRadius");this.u("selectedBorderBottomRightRadius",m.ba,"borderBottomRightRadius");this.u("selectedBorderSize",m.ba,"borderSize");this.u("selectedBorderLeftSize",m.ba,"borderLeftSize");this.u("selectedBorderTopSize",m.ba,"borderTopSize");this.u("selectedBorderRightSize",m.ba,"borderRightSize");this.u("selectedBorderBottomSize",m.ba,"borderBottomSize");
this.u("selectedBorderColor",m.ba,"borderColor");this.u("selectedBorderLeftColor",m.ba,"borderLeftColor");this.u("selectedBorderTopColor",m.ba,"borderTopColor");this.u("selectedBorderRightColor",m.ba,"borderRightColor");this.u("selectedBorderBottomColor",m.ba,"borderBottomColor");this.u("selectedLabelFontColor",m.ba,"labelFontColor");this.u("selectedLabelFontSize",m.ba,"labelFontSize");this.u("selectedLabelFontStyle",m.ba,"labelFontStyle");this.u("selectedLabelFontWeight",m.ba,"labelFontWeight");
this.u("selectedLabelTextDecoration",m.ba,"labelTextDecoration");this.u("selectedLabelTextShadowColor",m.ba,"labelTextShadowColor");this.u("selectedLabelTextShadowHorizontalLength",m.ba,"labelTextShadowHorizontalLength");this.u("selectedLabelTextShadowVerticalLength",m.ba,"labelTextShadowVerticalLength");this.u("selectedLabelTextShadowBlurRadius",m.ba,"labelTextShadowBlurRadius");this.u("selectedLabelTextShadowOpacity",m.ba,"labelTextShadowOpacity");this.u("selectedOpacity",m.ba,"opacity");this.u("selectedPaddingLeft",
m.ba,"paddingLeft");this.u("selectedPaddingTop",m.ba,"paddingTop");this.u("selectedPaddingRight",m.ba,"paddingRight");this.u("selectedPaddingBottom",m.ba,"paddingBottom");this.u("selectedShadow",m.ba,"shadow");this.u("selectedThumbnailOpacity",m.ba,"thumbnailOpacity");this.u("selectedThumbnailBorderSize",m.ba,"thumbnailBorderSize");this.u("selectedThumbnailBorderColor",m.ba,"thumbnailBorderColor");this.u("selectedThumbnailShadow",m.ba,"thumbnailShadow");this.u("selectedThumbnailShadowHorizontalLength",
m.ba,"thumbnailShadowHorizontalLength");this.u("selectedThumbnailShadowVerticalLength",m.ba,"thumbnailShadowVerticalLength");this.u("selectedThumbnailShadowBlurRadius",m.ba,"thumbnailShadowBlurRadius");this.u("selectedThumbnailShadowSpread",m.ba,"thumbnailShadowSpread");this.u("selectedThumbnailShadowColor",m.ba,"thumbnailShadowColor");this.u("selectedThumbnailShadowOpacity",m.ba,"thumbnailShadowOpacity")};t.prototype.BP=function(u){this.OM(u)};t.prototype.xb=function(){q.prototype.xb.call(this);
this.Ee||(this.Ee=new p,this.Ua(this.Ee),this.Ee.set("horizontalAlign",k.ue),this.Ee.set("verticalAlign",k.ae),this.Ee.bind(l.aa,this.l9,this));this.Sa||(this.Sa=new n,this.Ua(this.Sa))};t.prototype.D2=function(u){if(r(u).isString())return u;if(u&&u.Yca)return u.Yca};t.prototype.B2=function(u){if(u&&u.label)return u.label};t.prototype.Ta=function(){if(this.H("sourceProperties")||this.H("item")){for(;this.AA.length;)this.AA.pop().qz();var u=this.B("sourceProperties"),v=this.B("item");u&&v&&u.forEach(function(x){this.AA.push(h.Is(v,
x,this.x6,this,!0))}.bind(this))}if(this.H("sourceProperties")||this.H("item")||this.H("tooltipFunction"))v=this.B("item"),u=this.B("tooltipFunction")(v),this.set("toolTip",u);if(this.H("sourceProperties")||this.H("item")||this.H("thumbnailUrlFunction"))v=this.B("item"),(u=this.B("thumbnailUrlFunction")(v))?this.Ee.get("url")!=u&&this.Ee.fa({url:u,visible:!0,opacity:.5}):this.Ee.fa({url:void 0,visible:!1}),this.P("thumbnailUrlFunction");if(this.H("sourceProperties")||this.H("item")||this.H("labelFunction"))v=
this.B("item"),u=this.B("labelFunction")(v),this.Sa.fa({text:u,visible:u?!0:!1}),this.P("labelFunction");this.P("sourceProperties");this.P("item");if(this.H("listLayout"))switch(this.B("listLayout")){case f.lh:this.fa({width:"100%",height:void 0});break;default:this.fa({height:"100%",width:void 0})}if(this.H("labelPosition")||this.H("listLayout")||this.H("thumbnailWidth")||this.H("thumbnailHeight")){var w=this;u=function(x,y){x=w.B(x);void 0===x&&(x=y);return x};switch(this.B("labelPosition")){case c.Ma:case c.eb:this.set("layout",
f.xg);this.Sa.set("width","100%");switch(this.B("listLayout")){case f.lh:this.Ee.fa({height:u("thumbnailHeight"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",e.Hj)});break;default:this.Ee.fa({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",e.Hj)})}break;default:switch(this.set("layout",f.lh),this.Sa.set("width",void 0),this.B("listLayout")){case f.lh:this.Ee.fa({height:u("thumbnailHeight"),width:u("thumbnailWidth","100%"),scaleMode:u("thumbnailScaleMode",
e.Go)});break;default:this.Ee.fa({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",e.Hj)})}}switch(this.B("labelPosition")){case c.Ma:case c.sc:this.Xm(this.Sa,0);break;default:this.Xm(this.Sa,1)}this.P("labelPosition")}this.P("listLayout");this.ic(t.q0,t.mE,[this],!0,!0);this.ic(t.s0,t.mE,[this.Ee],!0,!0);this.ic(t.r0,t.mE,[this.Sa],!0,!0);q.prototype.Ta.call(this)};t.prototype.x6=function(){this.rC("item")};t.prototype.oC=function(u){q.prototype.oC.call(this,
u)};t.prototype.l9=function(){this.Ee.set("opacity",1)};t.q0=["labelGap"];t.s0="thumbnailBorderColor thumbnailBorderRadius thumbnailBorderSize thumbnailMaxWidth thumbnailMaxHeight thumbnailOpacity thumbnailShadow thumbnailShadowHorizontalLength thumbnailShadowVerticalLength thumbnailShadowBlurRadius thumbnailShadowSpread thumbnailShadowColor thumbnailShadowOpacity".split(" ");t.r0="labelFontFamily labelFontColor labelFontSize labelFontStyle labelFontWeight labelHorizontalAlign labelTextDecoration labelTextShadowColor labelTextShadowHorizontalLength labelTextShadowVerticalLength labelTextShadowBlurRadius labelTextShadowOpacity".split(" ");
t.mE={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelGap:"gap",labelHorizontalAlign:"horizontalAlign",labelTextDecoration:"textDecoration",labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength",labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity",thumbnailMaxWidth:"maxWidth",
thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread",thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};return t});
define("L","require kV cu my og d hs hY nC ke dY".split(" "),function(a){var d=a("kV"),h=a("cu"),l=a("my"),k=a("og"),b=a("d"),g=a("hs"),f=a("hY"),c=a("nC"),e=a("ke");a=a("dY");var m=d.extend(c,function(){c.call(this);this.set("contentOpaque",!0);this.bind(k.G("selectedIndex"),this.dMa,this);this.bind(k.fc,this.DOa,this)});m.prototype.lb=function(){c.prototype.lb.call(this);this.h("layout",b.xg);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",g.Lo);this.h("itemHorizontalAlign",l.ue);
this.h("itemLabelFontFamily");this.h("itemLabelPosition",f.mc);this.h("itemLabelFunction");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",l.ue);this.h("itemThumbnailBorderRadius");this.h("itemThumbnailScaleMode");this.h("itemThumbnailWidth");this.h("itemThumbnailHeight");this.h("itemThumbnailMaxWidth");this.h("itemThumbnailMaxHeight");this.h("itemThumbnailUrlFunction");this.h("itemTooltipFunction");this.h("itemSourceProperties");this.h("itemVerticalAlign",l.ae);this.h("itemBackgroundOpacity");
this.h("itemBackgroundColor");this.h("itemBackgroundColorRatios");this.h("itemBackgroundColorDirection");this.h("itemBorderRadius");this.h("itemBorderTopRadius");this.h("itemBorderBottomRadius");this.h("itemBorderLeftRadius");this.h("itemBorderRightRadius");this.h("itemBorderTopLeftRadius");this.h("itemBorderTopRightRadius");this.h("itemBorderBottomLeftRadius");this.h("itemBorderBottomRightRadius");this.h("itemBorderSize");this.h("itemBorderLeftSize");this.h("itemBorderTopSize");this.h("itemBorderRightSize");
this.h("itemBorderBottomSize");this.h("itemBorderColor");this.h("itemBorderLeftColor");this.h("itemBorderTopColor");this.h("itemBorderRightColor");this.h("itemBorderBottomColor");this.h("itemLabelFontColor");this.h("itemLabelFontSize");this.h("itemLabelFontStyle");this.h("itemLabelFontWeight");this.h("itemLabelTextDecoration");this.h("itemLabelTextShadowColor");this.h("itemLabelTextShadowHorizontalLength");this.h("itemLabelTextShadowVerticalLength");this.h("itemLabelTextShadowBlurRadius");this.h("itemLabelTextShadowOpacity");
this.h("itemOpacity");this.h("itemPaddingLeft");this.h("itemPaddingTop");this.h("itemPaddingRight");this.h("itemPaddingBottom");this.h("itemShadow");this.h("itemThumbnailOpacity");this.h("itemThumbnailBorderSize");this.h("itemThumbnailBorderColor");this.h("itemThumbnailShadow");this.h("itemThumbnailShadowHorizontalLength");this.h("itemThumbnailShadowVerticalLength");this.h("itemThumbnailShadowBlurRadius");this.h("itemThumbnailShadowSpread");this.h("itemThumbnailShadowColor");this.h("itemThumbnailShadowOpacity");
this.h("rollOverItemBackgroundOpacity");this.h("rollOverItemBackgroundColor");this.h("rollOverItemBackgroundColorRatios");this.h("rollOverItemBackgroundColorDirection");this.h("rollOverItemBorderRadius");this.h("rollOverItemBorderTopRadius");this.h("rollOverItemBorderBottomRadius");this.h("rollOverItemBorderLeftRadius");this.h("rollOverItemBorderRightRadius");this.h("rollOverItemBorderTopLeftRadius");this.h("rollOverItemBorderTopRightRadius");this.h("rollOverItemBorderBottomLeftRadius");this.h("rollOverItemBorderBottomRightRadius");
this.h("rollOverItemBorderSize");this.h("rollOverItemBorderLeftSize");this.h("rollOverItemBorderTopSize");this.h("rollOverItemBorderRightSize");this.h("rollOverItemBorderBottomSize");this.h("rollOverItemBorderColor");this.h("rollOverItemBorderLeftColor");this.h("rollOverItemBorderTopColor");this.h("rollOverItemBorderRightColor");this.h("rollOverItemBorderBottomColor");this.h("rollOverItemLabelFontSize");this.h("rollOverItemLabelFontStyle");this.h("rollOverItemLabelFontWeight");this.h("rollOverItemLabelTextDecoration");
this.h("rollOverItemLabelTextShadowColor");this.h("rollOverItemLabelTextShadowHorizontalLength");this.h("rollOverItemLabelTextShadowVerticalLength");this.h("rollOverItemLabelTextShadowBlurRadius");this.h("rollOverItemLabelTextShadowOpacity");this.h("rollOverItemOpacity");this.h("rollOverItemPaddingLeft");this.h("rollOverItemPaddingTop");this.h("rollOverItemPaddingRight");this.h("rollOverItemPaddingBottom");this.h("rollOverItemShadow");this.h("rollOverItemThumbnailOpacity");this.h("rollOverItemThumbnailBorderSize");
this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection");
this.h("selectedItemBorderRadius");this.h("selectedItemBorderTopRadius");this.h("selectedItemBorderBottomRadius");this.h("selectedItemBorderLeftRadius");this.h("selectedItemBorderRightRadius");this.h("selectedItemBorderTopLeftRadius");this.h("selectedItemBorderTopRightRadius");this.h("selectedItemBorderBottomLeftRadius");this.h("selectedItemBorderBottomRightRadius");this.h("selectedItemBorderSize");this.h("selectedItemBorderLeftSize");this.h("selectedItemBorderTopSize");this.h("selectedItemBorderRightSize");
this.h("selectedItemBorderBottomSize");this.h("selectedItemBorderColor");this.h("selectedItemBorderLeftColor");this.h("selectedItemBorderTopColor");this.h("selectedItemBorderRightColor");this.h("selectedItemBorderBottomColor");this.h("selectedItemLabelFontSize");this.h("selectedItemLabelFontStyle");this.h("selectedItemLabelFontWeight");this.h("selectedItemLabelTextDecoration");this.h("selectedItemLabelTextShadowColor");this.h("selectedItemLabelTextShadowHorizontalLength");this.h("selectedItemLabelTextShadowVerticalLength");
this.h("selectedItemLabelTextShadowBlurRadius");this.h("selectedItemLabelTextShadowOpacity");this.h("selectedItemOpacity");this.h("selectedItemPaddingLeft");this.h("selectedItemPaddingTop");this.h("selectedItemPaddingRight");this.h("selectedItemPaddingBottom");this.h("selectedItemShadow");this.h("selectedItemThumbnailOpacity");this.h("selectedItemThumbnailBorderSize");this.h("selectedItemThumbnailBorderColor");this.h("selectedItemThumbnailShadow");this.h("selectedItemThumbnailShadowHorizontalLength");
this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};m.prototype.EK=function(q){this.ho=!0;this.set("selectedIndex",this.S3(q.source))};m.prototype.dMa=function(){this.Qoa()};m.prototype.DOa=function(){this.Qoa()};m.prototype.Qoa=function(){var q=this.get("selectedIndex"),p=this.Jb();0<=q&&q<p.length&&this.scrollIntoView(p[q])};
m.prototype.S3=function(q){for(var p=this.Jb(),n=0;n<p.length;n++)if(p[n]==q)return n;return-1};m.prototype.Ta=function(){if(this.H("layout")){var q=this.B("layout");q!=b.lh&&q!=b.xg&&this.set("layout",b.xg)}var p=!1;if(this.H("items")){p=!0;q=this.B("items")||[];var n=this.Jb();if(n.length<q.length){for(var r=n.length;r<q.length;r++)n=new e,n.bind(k.oa,this.EK,this),this.ic(m.VI,m.fA,[n],!1,!1),this.ic(m.WI,m.gA,[n],!1,!1),this.Ua(n);n=this.Jb()}if(n.length>q.length){for(r=q.length;r<n.length;r++){var t=
n[r];t.unbind(k.oa,this.EK,this);this.removeChild(t)}n=this.Jb()}for(r=0;r<q.length;r++)n[r].set("item",q[r]);this.P("items")}if(this.H("selectedIndex")||p){q=this.Jb();p=Math.min(q.length-1,Math.max(-1,this.B("selectedIndex")));this.set("selectedIndex",p);for(r=0;r<q.length;r++)q[r].BP(r==p);this.P("selectedIndex");this.ho&&(this.ho=!1,this.trigger(new h(k.sa)))}this.ic(m.VI,m.fA,this.Jb(),!0,!1);this.ic(m.WI,m.gA,this.Jb(),!0,!0);c.prototype.Ta.call(this)};m.fA={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",
shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};m.gA={itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode",
itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroundOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",
itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize",
itemBorderColor:"borderColor",itemBorderLeftColor:"borderLeftColor",itemBorderTopColor:"borderTopColor",itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",
itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius",itemLabelTextShadowOpacity:"labelTextShadowOpacity",itemOpacity:"opacity",itemPaddingLeft:"paddingLeft",itemPaddingTop:"paddingTop",itemPaddingRight:"paddingRight",itemPaddingBottom:"paddingBottom",itemShadow:"shadow",itemThumbnailOpacity:"thumbnailOpacity",itemThumbnailBorderSize:"thumbnailBorderSize",itemThumbnailBorderColor:"thumbnailBorderColor",itemThumbnailShadow:"thumbnailShadow",itemThumbnailShadowHorizontalLength:"thumbnailShadowHorizontalLength",
itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroundOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",
rollOverItemBorderRadius:"rollOverBorderRadius",rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",
rollOverItemBorderSize:"rollOverBorderSize",rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",
rollOverItemLabelFontColor:"rollOverLabelFontColor",rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",
rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",
rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",
selectedItemBackgroundOpacity:"selectedBackgroundOpacity",selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",
selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",
selectedItemBorderColor:"selectedBorderColor",selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",
selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",
selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",
selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime",
toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize",toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",toolTipShadowOpacity:"toolTipShadowOpacity",
toolTipShadowSpread:"toolTipShadowSpread",toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};m.VI=a(m.fA).keys();m.WI=a(m.gA).keys();return m});
define("hc","require og L nc jn dV bM".split(" "),function(a){var d=a("og"),h=a("L"),l=a("nc"),k=a("jn"),b=a("dV"),g=a("bM");a=l.define("ThumbnailList",h,function(){h.call(this);this.ld=null;this.gp=!1;this.mJ=new k(this,"buttonScrollDown",b.we);this.mJ.bind(d.oa,this.$wa,this);this.nJ=new k(this,"buttonScrollLeft",b.we);this.nJ.bind(d.oa,this.scrollLeft,this);this.oJ=new k(this,"buttonScrollRight",b.we);this.oJ.bind(d.oa,this.axa,this);this.pJ=new k(this,"buttonScrollUp",b.we);this.pJ.bind(d.oa,
this.bxa,this);this.bind(d.sa,this.uKa,this)});a.prototype.Ql=function(){h.prototype.Ql.call(this);this.DC()};a.prototype.kv=function(){h.prototype.kv.call(this);this.DC()};a.prototype.DC=function(){this.mJ.set("visible",!this.gp||this.bR());this.pJ.set("visible",!this.gp||this.eR());this.nJ.set("visible",!this.gp||this.cR());this.oJ.set("visible",!this.gp||this.dR())};a.prototype.set=function(f,c){if("itemMode"==f)switch(c){case "thumbnail-only":this.set("itemLabelFunction",this.ju);this.set("itemThumbnailUrlFunction",
this.GK);this.set("itemTooltipFunction",this.rB);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.rB);this.set("itemThumbnailUrlFunction",this.ju);this.set("itemTooltipFunction",this.ju);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.rB),this.set("itemThumbnailUrlFunction",this.GK),this.set("itemTooltipFunction",this.ju),this.set("itemSourceProperties",
["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==f?(this.ld&&this.ld.unbind("change",this.Cu,this),(this.ld=c)?(this.set("items",this.ld.get("items")),this.ld.bind("change",this.Cu,this)):this.set("items",[])):"hideScrollButtons"==f?(this.gp=c,this.DC()):h.prototype.set.call(this,f,c)};a.prototype.get=function(f,c){switch(f){case "playList":return this.ld;default:return h.prototype.get.call(this,f,c)}};a.prototype.Cu=function(){this.set("items",this.ld.get("items"));
this.set("selectedIndex",this.ld.get("selectedIndex"))};a.prototype.uKa=function(){this.ld&&this.ld.set("selectedIndex",this.get("selectedIndex"))};a.prototype.ju=function(){};a.prototype.rB=function(f){return f.get("label")||f.get("media").get("label")};a.prototype.GK=function(f){f=f.get("media");var c=f.get("thumbnailUrl");f.get("flipImageHorizontally")&&(c=g.jsa(c));return c};return a});define("bU",["require","e","nc"],function(a){var d=a("e");return a("nc").define("UIComponent",d,function(){d.call(this)})});
define("iW",["require","nc","ef"],function(a){var d=a("nc"),h=a("ef");a=d.define("Video",h,function(){h.call(this);this.wa=void 0});a.prototype.ws=function(){this.get("video");return[]};return a});define("gK",["require","nc","eO"],function(a){var d=a("nc"),h=a("eO");return d.define("VideoPanorama",h,function(){h.call(this)})});
define("jg",["require","lw","nc"],function(a){var d=a("lw");a=a("nc").define("Video360Resource",d,function(){d.call(this)});a.prototype.get=function(h,l){if(void 0===l)switch(h){case "gain":l=1}switch(h){case "levels":l=[this];break;case "subtitlesURL":case "gain":for(var k=d.prototype.get.call(this,h),b=this.get("levels"),g=0;b&&g<b.length&&void 0===k;g++){var f=b[g];f!=this&&(k=f.get(h))}return void 0!==k?k:l}return d.prototype.get.call(this,h,l)};return a});
define("dr",["require","nc","lJ","gK","jg"],function(a){var d=a("nc"),h=a("lJ"),l=a("gK"),k=a("jg");a=d.define("Video360",l,function(){l.call(this);this.Mn=this.gH=this.pb=void 0});a.prototype.set=function(b,g){"video"==b?this.qCa(g):"videoStereo"==b?this.rCa(g):l.prototype.set.call(this,b,g)};a.prototype.get=function(b,g){return"video"==b?void 0!==this.pb?this.pb:g:"videoStereo"==b?void 0!==this.gH?this.gH:g:l.prototype.get.call(this,b,g)};a.prototype.qCa=function(b){this.pb!=b&&(this.pb=b,b=l.prototype.get.call(this,
"frames")||[],this.pb&&(0==b.length&&b.push(new h),b[0].set("sphere",this.hla(this.pb))),l.prototype.set.call(this,"frames",b.slice()))};a.prototype.rCa=function(b){this.gH!=b&&(this.gH=b,b=l.prototype.get.call(this,"frames")||[],this.gH&&(0==b.length&&b.push(new h),b[0].set("stereoSphere",this.hla(this.gH))),l.prototype.set.call(this,"frames",b.slice()))};a.prototype.hla=function(b){if(Array.isArray(b)){if(0==b.length)return;if(1==b.length&&d.Ea("Video360Resource",b[0]))return b[0];var g=[];b.forEach(function(f){g=
g.concat(f.get("levels")||[f])});b=new k;b.set("levels",g)}return b};return a});define("bL",["require","nc","nM"],function(a){var d=a("nc"),h=a("nM");return d.define("Video360Player",h,function(){h.call(this)})});
define("jF",["require","nc","cT","hS"],function(a){var d=a("nc"),h=a("cT"),l=a("hS");a=d.define("Video360PlayListItem",l,function(){l.call(this)});a.prototype.start=function(){l.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Sg,this.Bm,this),k.set("video",this.get("media")),k.set("camera",this.get("camera")),k.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Sg,this.Bm,this),k.get("video")==this.get("media")&&k.set("video",
null));l.prototype.stop.call(this)};a.prototype.Bm=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Sg,this.Bm,this),this.get("player").bind(h.Ul,this.Bp,this),this.Qy())};a.prototype.Bp=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Ul,this.Bp,this),this.stop(),this.end())};return a});define("nU",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("Video360ResourceLevel",d,function(){d.call(this)})});
define("fz",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("VideoCue",d,function(){d.call(this)})});
define("cc","require lw og kx cu nc jU".split(" "),function(a){var d=a("lw"),h=a("og"),l=a("kx"),k=a("cu"),b=a("nc"),g=a("jU");a=b.define("VideoPanoramaOverlay",d,function(){d.call(this);this.cd=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",l.X)};a.prototype.pause=a.prototype.pause=function(){this.set("state",l.Cb)};a.prototype.stop=a.prototype.stop=function(){this.set("state",l.S)};a.prototype.set=function(f,c){var e=!1;switch(f){case "state":var m=this.get("state")||l.S;
m==l.S&&c==l.X&&this.trigger(h.pn);m!=c&&this.trigger(new k(h.ge,{oldState:m,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "hfov":case "opacity":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.cd=void 0,e=!0}d.prototype.set.call(this,f,c);e&&"playbackPositions"!=f&&this.trigger(h.G("playbackPositions"))};a.prototype.get=function(f,c){switch(f){case "playbackPositions":return void 0===
this.cd&&(this.cd=g.Raa(this)),this.cd}return d.prototype.get.call(this,f,c)};return a});
define("dg","require dY kV og cu fV kx".split(" "),function(a){function d(c,e,m){this.time=c;this.cue=e;this.action=m}var h=a("dY"),l=a("kV"),k=a("og"),b=a("cu"),g=a("fV"),f=a("kx");a=l.extend(g,function(c){g.call(this);this.j=c;this.Lc=null;this.jk=!1;this.Ai=[];this.gm=void 0;this.ke=[]});a.prototype.clear=function(){this.j=null;this.CA();this.Ai=[];this.ke=[]};a.prototype.start=function(c){this.end();this.r8(c);this.Z1();this.V8();this.IC()};a.prototype.r8=function(c){this.CA();this.Lc=c;this.Lc.bind(k.G("currentTime"),
this.IC,this,!0);this.Lc.bind(k.G("state"),this.V8,this,!0);this.Lc.bind(k.rb,this.QN,this,!0)};a.prototype.CA=function(){this.Lc&&(this.Lc.unbind(k.G("currentTime"),this.IC,this),this.Lc.unbind(k.G("state"),this.V8,this),this.Lc.unbind(k.rb,this.QN,this),this.Lc=null)};a.prototype.end=function(){this.qJ();this.CA();this.jk=!1};a.prototype.V8=function(c){c=c!=f.S;this.jk!=c&&((this.jk=c)?this.dW():this.qJ())};a.prototype.QN=function(){this.IC()};a.prototype.dW=function(){this.gm=this.ME=0};a.prototype.IC=
function(){if(this.Lc&&this.jk){var c=this.ke.slice(),e=this.Lc.get("currentTime",0),m=e-this.ME;0>m&&(this.ke=[],this.gm=0);m=0<=m&&2>m;this.ME=e;var q;for(q=this.gm;q<this.Ai.length&&!(this.Ai[q].time>e);q++);for(;this.gm<q;this.gm++)e=this.Ai[this.gm],"start"==e.action?(this.ke=h(this.ke).union([e.cue]),m&&e.cue.trigger(new b(k.Dq))):(this.ke=h(this.ke).difference([e.cue]),m&&e.cue.trigger(new b(k.rb)));c.length==this.ke.length&&h(c).intersection(this.ke).length==this.ke.length||this.yN()}};a.prototype.qJ=
function(){0<this.ke.length&&(this.ke=[],this.yN())};a.prototype.yN=function(){this.Lc.trigger(new b(k.Kk,{activeCues:this.ke.slice()}))};a.prototype.Z1=function(){this.Ai=[];var c=this.Lc.get("cues",[]);h(c).each(function(e){this.Ai.push(new d(e.get("startTime",0),e,"start"));this.Ai.push(new d(e.get("endTime",Number.POSITIVE_INFINITY),e,"end"))},this);this.Ai.sort(function(e,m){return e.time==m.time?e.action==m.start?0:"start"==e.action?-1:1:e.time-m.time})};return a});
define("nf","require kV bf cu fV og lK".split(" "),function(a){var d=a("kV"),h=a("bf"),l=a("cu"),k=a("fV");a("og");a("lK");var b=d.extend(k,function(g,f){k.call(this);this.N=g;this.j=f;this.UB=[];this.la=b.mh;this.Vh=null;this.J2=void 0;this.Bi=null;this.qg=this.Lg=void 0});b.prototype.display=function(g,f){this.F1();if(this.Bi!=g||this.la!=b.mh)this.UB.push({video:g,startTime:f}),this.Bma()};b.prototype.hide=function(){this.F1();this.UB.push({video:null,startTime:void 0});this.Bma()};b.prototype.clear=
function(){this.la=b.mh;this.F1();this.vLa();this.loa();this.j=null};b.prototype.fh=function(g){this.la==b.mh||this.la!=b.rn&&this.la!=b.ww&&this.la!=b.hA||(this.qg+=g,g=Math.min(1,this.qg/this.Lg),this.la==b.rn?this.Vh.set("opacity",g):this.la==b.hA?(this.Vh.set("opacity",Math.min(1,2*g)),this.Bi.set("opacity",Math.min(1,2*(1-g)))):this.Bi.set("opacity",1-g),this.qg<this.Lg?this.Ka():this.hx())};b.prototype.Bma=function(){0<this.UB.length&&this.la==b.mh&&this.Ro()};b.prototype.Ro=function(){this.Bi&&
this.trigger(new l(b.Nz,{video:this.Bi}));if("fade_out_fade_in"==this.N.get("transitionMode","blending")&&this.Bi)this.Ew();else{var g=this.UB.shift();this.Vh=g.video;this.J2=g.startTime;this.Vh?this.Vh.get("chromaColor")&&this.Bi?this.d1():this.hJ():this.Bi&&this.Ew()}};b.prototype.hJ=function(){this.Mfa();this.qg=0;this.Lg=this.N.get("transitionDuration");this.la=b.rn;this.Ka()};b.prototype.d1=function(){this.Mfa();this.qg=0;this.Lg=2*this.N.get("transitionDuration");this.la=b.hA;this.Ka()};b.prototype.Ew=
function(){this.Vh=null;this.qg=0;this.Lg=this.N.get("transitionDuration");this.la=b.ww;this.Ka()};b.prototype.hx=function(){this.loa();this.Bi=this.Vh;this.Vh=null;this.la=b.mh;this.Bi?this.trigger(new l(b.Oz,{video:this.Bi})):0==this.UB.length&&this.trigger(new l(b.zda));0!=this.UB.length&&this.Ro()};b.prototype.Ka=function(){h.requestFrame(this.fh,this)};b.prototype.F1=function(){this.UB=[]};b.prototype.Mfa=function(){this.Vh&&(this.Vh.set("opacity",0),this.Vh.set("zIndex",1),this.Bi&&this.Bi.set("zIndex",
0),this.Vh.set("currentTime",this.J2||0),this.j.bRa(this.Vh),this.trigger(new l(b.y_,{video:this.Vh,startTime:this.J2})))};b.prototype.loa=function(){this.Bi&&(this.j.Qwa(this.Bi),this.trigger(new l(b.eQ,{video:this.Bi})),this.Bi=null)};b.prototype.vLa=function(){this.Vh&&(this.j.Qwa(this.Vh),this.trigger(new l(b.eQ,{video:this.Vh})),this.Vh=null)};b.mh="stopped";b.rn="blending";b.hA="double blending";b.ww="disolving";b.Bb="request frame";b.y_="video added";b.eQ="video removed";b.Oz="video show";
b.Nz="video hide";b.zda="all pending videos hidden";return b});
define("iP","require kV og cu fV kx".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("cu"),k=a("fV"),b=a("kx"),g=d.extend(k,function(){k.call(this);this.Lc=null;this.We=!1;this.q2=b.S});g.prototype.start=function(f){this.end();this.r8(f)};g.prototype.end=function(){this.stop();this.CA()};g.prototype.clear=function(){this.CA()};g.prototype.play=function(){this.Lc&&this.Lc.set("state",b.X)};g.prototype.pause=function(){this.Lc&&this.Lc.set("state",b.Cb)};g.prototype.stop=function(){this.Lc&&this.Lc.set("state",
b.S)};g.prototype.tf=function(f){this.We=f;this.Lc&&this.Lc.set("mute",this.We)};g.prototype.setTime=function(f){this.Lc&&this.Lc.set("currentTime",f)};g.prototype.getTime=function(){if(this.Lc)return this.Lc.get("currentTime")};g.prototype.r8=function(f){this.CA();this.Lc=f;this.Lc.set("mute",this.We);this.Lc.bind(h.G("state"),this.LG,this,!0);this.Lc.bind(h.G("currentTime"),this.JC,this,!0);this.Lc.bind(h.rb,this.QN,this,!0)};g.prototype.CA=function(){this.Lc&&(this.Lc.unbind(h.G("state"),this.LG,
this),this.Lc.unbind(h.G("currentTime"),this.JC,this),this.Lc.unbind(h.rb,this.QN,this),this.Lc=null)};g.prototype.JC=function(){this.trigger(new l(g.Pz,{video:this.Lc,time:this.Lc.get("currentTime"),duration:this.Lc.get("duration")}))};g.prototype.QN=function(){this.trigger(new l(g.EI,{video:this.Lc}))};g.prototype.LG=function(){var f=this.Lc.get("state");this.q2!=f&&(this.q2=f,this.trigger(new l(g.Cc,{state:this.q2})))};g.Cc="playback state change";g.EI="video end";g.Pz="video time change";return g});
define("nu","require kV kx cu fV dg nf iP".split(" "),function(a){var d=a("kV"),h=a("kx"),l=a("cu"),k=a("fV"),b=a("dg"),g=a("nf"),f=a("iP"),c=d.extend(k,function(e,m){k.call(this);this.N=e;this.j=m;this.j.set("visible",!1);this.Na=new g(this.N,this.j);this.Ha=new f(this.j);this.Zo=new b(this.j);this.Na.bind(g.Nz,this.Bp,this,!0);this.Na.bind(g.Oz,this.Bm,this,!0);this.Na.bind(g.y_,this.jna,this,!0);this.Na.bind(g.eQ,this.kna,this,!0);this.Na.bind(g.zda,this.vJa,this,!0);this.Ha.bind(f.Cc,this.Ke,
this,!0);this.Ha.bind(f.EI,this.ay,this,!0);this.Ha.bind(f.Pz,this.UL,this,!0)});c.prototype.clear=function(){this.Na.clear();this.Ha.clear();this.Zo.clear();this.Na.unbind(g.Nz,this.Bp,this);this.Na.unbind(g.Oz,this.Bm,this);this.Na.unbind(g.y_,this.jna,this);this.Na.unbind(g.eQ,this.kna,this);this.Ha.unbind(f.Cc,this.Ke,this);this.Ha.unbind(f.EI,this.ay,this);this.Ha.unbind(f.Pz,this.UL,this);this.N=this.j=this.Zo=this.Ha=this.Na=null};c.prototype.VWa=function(e,m){this.j.set("visible",!0);this.Na.display(e,
m)};c.prototype.Kv=function(){this.Na.hide();this.Ha.end();this.Zo.end()};c.prototype.play=function(){this.Ha.play()};c.prototype.stop=function(){this.Ha.stop()};c.prototype.pause=function(){this.Ha.pause()};c.prototype.tf=function(e){this.Ha.tf(e)};c.prototype.setTime=function(e){this.Ha.setTime(e)};c.prototype.getTime=function(){return this.Ha.getTime()};c.prototype.jna=function(e){var m=e.data.video;this.Ha.start(m,e.data.startTime);this.Zo.start(m)};c.prototype.kna=function(){};c.prototype.Bm=
function(e){e=e.data.video;e.get("autoplay")&&e.get("state")!=h.X&&e.get("state")!=h.Cb&&e.set("state",h.X);this.trigger(new l(c.Oz,{video:e}))};c.prototype.Bp=function(e){this.trigger(new l(c.Nz,{video:e.data.video}))};c.prototype.vJa=function(){this.j.set("visible",!1)};c.prototype.ay=function(e){this.trigger(new l(c.EI,{video:e.data.video}))};c.prototype.UL=function(e){this.trigger(new l(c.Pz,{video:e.data.video,time:e.data.time,duration:e.data.duration}))};c.prototype.Ke=function(e){this.trigger(new l(c.Cc,
{state:e.data.state}))};c.Oz="videoShow";c.Nz="videoHide";c.EI="videoEnd";c.Pz="videoTimeChange";c.Cc="playbackStateChange";return c});
define("iq",["require","kV","og","kx","dt"],function(a){var d=a("kV"),h=a("og"),l=a("kx"),k=a("dt");a=d.extend(k,function(b,g){k.call(this,b);this.Z=g;this.Z.bind(h.G("video"),this.PL,this);this.Z.bind(h.ge,this.PL,this);this.PL()});a.prototype.clear=function(){this.Z&&(this.Z.unbind(h.G("video"),this.PL,this),this.Z.unbind(h.ge,this.PL,this),this.Z=null);k.prototype.clear.call(this)};a.prototype.PL=function(){this.Hca(this.Z.get("state")!=l.S?this.Z.get("video"):null)};return a});
define("eV","require kV og bb e dJ iq".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("bb"),k=a("e"),b=a("dJ"),g=a("iq");a=d.extend(k,function(f,c,e){k.call(this);this.jc=f;this.N=c;this.Z=e;this.set("toolTipDisabled",!0);this.set("cursor",l.Vs);this.bind(h.fc,this.cc,this,!0);this.PG=new g(c,e);this.hG=new b.sea;this.hG.qca(b.sea.D_);this.hG.Rf(this.PU=!1);[this.PG.yc(),this.hG.yc()].forEach(function(m,q){this.yb().append(m);m.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden",
"z-index":q})}.bind(this))});a.prototype.zca=function(f,c){this.PU!=f&&(this.PU=f,this.hG.hxa(c),this.hG.Rf(f))};a.prototype.cc=function(){this.SV=!0;this.hG.setSize(this.Va(),this.zb())};return a});
define("lP","require kV og bb d nC fp fW eV".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("bb"),k=a("d"),b=a("nC"),g=a("fp"),f=a("fW"),c=a("eV");a=d.extend(b,function(e,m,q){b.call(this);this.jc=e;this.N=m;this.Z=q;this.qe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",l.Vs);this.set("layout",k.QP);this.Zb=this.Fa=this.Dd=null;this.UW=[];this.RN=[];this.bind(h.fc,this.cc,this,!0);this.GN()});a.prototype.xb=function(){b.prototype.xb.call(this);null==this.Dd&&(this.Dd=new f(this.jc,
!1),this.Dd.fa({left:0,top:0,right:0,bottom:0}),this.Ua(this.Dd),this.Dd.jca(2),this.HEa(),this.aEa(),this.UW.forEach(function(e){this.tha(e)}.bind(this)));null==this.Zb&&(this.Zb=new c(this.jc,this.N,this.Z),this.Zb.fa({left:0,top:0,right:0,bottom:0}),this.Ua(this.Zb),this.GN())};a.prototype.bRa=function(e){this.UW.push(e);this.Dd&&this.tha(e)};a.prototype.HEa=function(){this.Fa=this.Dd.ud("Scene");this.Fa.I(g.Scene).backgroundColor="transparent";this.Dd.lsa(this.Fa)};a.prototype.aEa=function(){this.ta=
this.Dd.ud("Camera");var e=this.ta.I(g.OrthographicCamera);e.width=this.bf();e.height=this.af();this.ta.I(g.Db).Mb=this.Fa;this.Fa.L(g.Scene).je=this.ta};a.prototype.cc=function(){if(this.ta){var e=this.ta.L(g.OrthographicCamera);e.width=this.bf();e.height=this.af()}};a.prototype.tha=function(e){var m=this.Dd.ud("Video");m.I(g.Db).Mb=this.Fa;m.I(g.Mesh).qc=e;var q=m.I(g.vw);q.qc=e;q.je=this.ta;q=m.I(g.tw);q.qc=e;q.Qya=e.get("video");q.La=e;this.RN.push(m);this.GN()};a.prototype.Qwa=function(e){e=
this.UW.indexOf(e);0>e||(this.UW.splice(e,1),this.Dd&&this.ZEa(this.RN[e]))};a.prototype.ZEa=function(e){var m=this.RN.indexOf(e);0>m||(this.RN.splice(m,1),this.Dd.Cf(e),this.GN())};a.prototype.zca=function(e){this.PU=e;this.GN()};a.prototype.GN=function(){this.Zb&&this.Zb.zca(this.PU&&0<this.RN.length)};return a});
define("kP","require kV og nc ie kx nu lP".split(" "),function(a){var d=a("kV"),h=a("og"),l=a("nc"),k=a("ie"),b=a("kx"),g=a("nu"),f=a("lP");a=l.define("VideoPlayer",k,function(){k.call(this,"video");this.$o=this.cW=this.JC=this.Kh=!1;this.K=this.j=null;this.ob=this.Bd=0;this.Xd=d.so(this.Mg,this)});a.prototype.seek=function(c){this.lC(c)};a.prototype.play=function(){this.RB()};a.prototype.pause=function(){this.QB()};a.prototype.stop=function(){this.Zx()};a.prototype.restart=function(){this.Wx()};
a.prototype.set=function(c,e){if(this.get(c)!=e){switch(c){case "startTime":this.cW=!0;this.Xd();break;case "video":this.JC=!0;this.Xd();break;case "viewerArea":this.Kh=!0;this.Xd();break;case "displayPlaybackBar":this.$o=!0,this.Xd()}k.prototype.set.call(this,c,e)}};a.prototype.get=function(c,e){switch(c){case "currentTime":return this.K&&this.K.getTime()||0}return k.prototype.get.call(this,c,e)};a.prototype.Mg=function(){this.Kh&&(this.Kh=!1,this.Mt(),this.get("viewerArea")&&this.Jt(),this.RM(this.get("viewerArea")),
this.JC=!0);var c=!1;if(this.j&&(this.JC||this.cW)){var e=this.get("video"),m=this.get("startTime")||0;if(e&&!this.j.Hb()){this.Xd();return}this.cW=this.JC=!1;this.ob=this.Bd=0;c=!0;e?(this.gI(),this.K.VWa(e,m)):this.K.Kv()}this.$o&&(this.$o=!1,c=!0);c&&this.lv()};a.prototype.NG=function(){this.set("video",null)};a.prototype.Jt=function(){var c=this.get("application"),e=this.get("viewerArea");this.j=new f(c,e,this);this.j.fa({left:0,top:0,bottom:0,right:0});e.Ua(this.j);e.bind(h.oa,this.ona,this,
!0);this.K=new g(e,this.j);this.K.bind(g.Oz,this.Bm,this);this.K.bind(g.Nz,this.Bp,this);this.K.bind(g.Pz,this.UL,this,!0);this.K.bind(g.Cc,this.Ke,this);c.bind(h.G("mute"),this.CL,this);this.K.tf(c.get("mute",!1));this.yy(!0)};a.prototype.Mt=function(){if(this.j){this.K.unbind(g.Oz,this.Bm,this);this.K.unbind(g.Nz,this.Bp,this);this.K.unbind(g.Pz,this.UL,this);this.K.unbind(g.Cc,this.Ke,this);this.K.clear();this.get("application").unbind(h.G("mute"),this.CL,this);var c=this.j.getParent();c.removeChild(this.j);
c.unbind(h.oa,this.ona,this,!0);this.j=null;this.yy(!1)}};a.prototype.CL=function(){this.j&&this.K.tf(this.get("application").get("mute",!1))};a.prototype.Ke=function(c){c=c.data.state;this.j&&this.j.zca(this.get("displayPlayOverlay")&&c!=b.X,.5>this.Bd);this.xc(c)};a.prototype.Bm=function(c){var e=this.get("viewerArea");(this.Od=e&&e.Od)&&this.Od.bind(h.oa,this.pna,this,!0);this.a7=!1;this.$K(c.data.video)};a.prototype.Bp=function(c){this.Od&&this.Od.unbind(h.oa,this.pna,this,!0);this.Od=null;this.ZK(c.data.video)};
a.prototype.UL=function(c){this.Bd=c.data.time;this.ob=c.data.duration;this.lv()};a.prototype.ona=function(){if(this.a7)this.a7=!1;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=b.X?this.K.play():this.K.pause()}};a.prototype.pna=function(){this.a7=!0};a.prototype.eM=function(c){this.lC(c.data.position)};a.prototype.hk=function(){this.K.play()};a.prototype.$n=function(){this.K.stop()};a.prototype.Dp=function(){this.K.pause()};a.prototype.lC=function(c){this.K&&this.K.setTime(c)};
a.prototype.lv=function(){if(this.j){var c=this.j.getParent();0<this.ob&&this.get("displayPlaybackBar")?c.fa({playbackBarPosition:this.Bd,playbackBarDuration:this.ob,playbackBarVisible:!0}):c.set("playbackBarVisible",!1)}};return a});
define("gi",["require","nc","cT","hS"],function(a){var d=a("nc"),h=a("cT"),l=a("hS");a=d.define("VideoPlayListItem",l,function(){l.call(this)});a.prototype.start=function(){l.prototype.start.call(this);var k=this.get("player");k&&(k.bind(h.Sg,this.Bm,this),k.set("video",this.get("media")),k.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(h.Sg,this.Bm,this),k.get("video")==this.get("media")&&k.set("video",null));l.prototype.stop.call(this)};
a.prototype.Bm=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Sg,this.Bm,this),this.get("player").bind(h.Ul,this.Bp,this),this.Qy())};a.prototype.Bp=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(h.Ul,this.Bp,this),this.stop(),this.end())};return a});define("hg",["require","lw","nc"],function(a){var d=a("lw");return a("nc").define("VideoResourceLevel",d,function(){d.call(this)})});
define("el",["require","lw","nc","lo","hg"],function(a){var d=a("lw"),h=a("nc"),l=a("lo"),k=a("hg");a=h.define("VideoResource",d,function(){d.call(this);this.W5=new k;this.W5.set("type","video/mp4");this.Z5=new k;this.Z5.set("type","video/ogg");this.L$=new k;this.L$.set("type","video/webm")});a.prototype.get=function(b,g){switch(b){case "levels":g=[];var f=this.get("mp4Url");f&&(this.W5.set("url",f),g.push(this.W5));if(f=this.get("oggUrl"))this.Z5.set("url",f),g.push(this.Z5);if(f=this.get("webmUrl"))this.L$.set("url",
f),g.push(this.L$);g.forEach(function(c){c.set("width",this.get("width"));c.set("height",this.get("height"))}.bind(this))}return d.prototype.get.call(this,b,g)};a.prototype.li=function(){var b=this.get("webmUrl"),g=this.get("oggUrl"),f=this.get("mp4Url");return f&&l.YX?f:b&&l.aba?b:g&&l.$aa?g:f||b||g};return a});define("dn",["require","nc","eU"],function(a){var d=a("nc"),h=a("eU");return d.define("VignetteModel3DPostprocessing",h,function(){h.call(this)})});
define("dC","require jquery.mod kV og u lQ e gm".split(" "),function(a){var d=a("jquery.mod"),h=a("kV"),l=a("og"),k=a("u"),b=a("lQ"),g=a("e"),f=a("gm");a=h.extend(g,function(){g.call(this);this.qe("WebFrame");this.RK=this.SA=this.vc=this.Td=null;this.m6=this.m6.bind(this);this.VT=this.VT.bind(this);this.bind(l.hd,this.CKa,this,!0);this.bind(l.od,this.BKa,this,!0)});a.prototype.lb=function(){g.prototype.lb.call(this);this.h("url");this.h("backgroundColor","#ffffff");this.h("insetBorder",!1);this.h("scrollEnabled",
!0);this.h("unloadWhenHidden",!0)};a.prototype.CKa=function(){this.rC("url")};a.prototype.BKa=function(){this.rC("url")};a.prototype.xb=function(){g.prototype.xb.call(this);this.Td||(this.Td=d("<div></div>"),this.Td.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"}),this.yb().append(this.Td));this.vc||(this.vc=d("<iframe></iframe>"),this.vc.css({position:"absolute",left:0,top:0}),this.vc.attr("allowfullscreen","true"),this.vc.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),
this.Td.append(this.vc));this.SA||(this.SA=d("<div></div>"),this.SA.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":k.kb()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"}),this.Td.append(this.SA))};a.prototype.Ta=function(){if(this.H("url")){var c=this.B("url");c&&this.yx?this.gpa(c):(!c||this.get("unloadWhenHidden"))&&
this.gpa("");this.P("url")}this.H("insetBorder")&&(this.B("insetBorder")?this.vc.attr("frameborder","1"):this.vc.attr("frameborder","0"),this.P("insetBorder"));this.H("scrollEnabled")&&(this.B("scrollEnabled")?(this.vc.attr("scrolling","auto"),this.Td.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})):(this.vc.attr("scrolling","no"),this.Td.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})),this.P("scrollEnabled"));g.prototype.Ta.call(this)};a.prototype.Rg=function(){this.vc&&
f.css(this.vc.get(0),{width:this.ea+"px",height:this.ua+"px"});g.prototype.Rg.call(this)};a.prototype.refresh=function(){this.B("url")&&this.yx&&(this.A4(),this.Nw(),this.F9(),this.vc.attr("src",""),setTimeout(function(){this.Tpa();this.qga();this.vc.attr("src",this.B("url"))}.bind(this),30))};a.prototype.gpa=function(c){this.vc.attr("src")!=c&&(this.A4(),c?(this.Tpa(),this.qga()):(this.Nw(),this.F9()),this.vc.attr("src",c))};a.prototype.m6=function(){this.RK=null;this.HIa()&&this.FNa()};a.prototype.VT=
function(){this.A4();this.Nw();this.F9()};a.prototype.qga=function(){this.vc.on("load",this.VT)};a.prototype.F9=function(){this.vc.off("load",this.VT)};a.prototype.Nw=function(){this.RK&&(clearTimeout(this.RK),this.RK=null)};a.prototype.Tpa=function(){this.Nw();this.RK=setTimeout(this.m6.bind(this),3E3)};a.prototype.HIa=function(){if("https:"==window.location.protocol){var c=this.vc.attr("src");if("https:"!=b.parse(c).protocol)return!0}return!1};a.prototype.FNa=function(){this.SA.text("A secure web page served over HTTPS can not display insecure content served over HTTP.");
this.SA.show()};a.prototype.A4=function(){this.SA.hide()};return a});define("cj",["require","dC","nc"],function(a){var d=a("dC");a=a("nc").define("WebFrame",d,function(){d.call(this)});a.prototype.refresh=function(){d.prototype.refresh.call(this)};return a});define("lp",["require","dY","kV","nC","d"],function(a){var d=a("dY"),h=a("kV"),l=a("nC");a=a("d");var k=h.extend(l,function(){l.call(this)});k.tc={layout:a.xg};d.defaults(k.tc,l.tc);k.prototype.lb=function(){this.yn(k.tc)};return k});
define("mc","require dY kV og cu my d nC lp ha fL e mU nm iB".split(" "),function(a){var d=a("dY"),h=a("kV"),l=a("og"),k=a("cu"),b=a("my"),g=a("d"),f=a("nC"),c=a("lp"),e=a("ha"),m=a("fL");a("e");a("mU");a("nm");var q=a("iB"),p=h.extend(e,function(){e.call(this);this.qe("Window");this.Gw=this.GE=this.oN=this.Yk=null;this.i1=new f;this.fF=null;this.t4=this.s4=0;this.tC=this.Hpa=!1;this.M$=this.N$=void 0;for(var n in p.uYa)this.rC(n);this.bind(l.fc,this.KQa,this);this.bind(l.FI,this.IQa,this);this.bind(l.MI,
this.LQa,this);this.bind(l.oa,this.HQa,this);this.OW=0;this.qf=new f;this.qf.fa({visible:!1,includeInLayout:!1,layout:"absolute",height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:!1});this.qf.bind(l.fc,this.Pra,this);this.qf.bind(l.MI,this.BQa,this);this.qf.bind(l.FI,this.AQa,this);this.qf.bind(l.oa,this.zQa,this);this.qf.Ua(this)});p.prototype.set=function(n,r){switch(n){case "maxWidth":this.N$=r;this.DW();break;case "maxHeight":this.M$=r;this.DW();break;case "children":this.i1.set(n,
r);break;case "shadow":this.Hpa=r;this.Jra();break;default:e.prototype.set.call(this,n,r)}};p.prototype.show=function(n,r){this.DW(n);this.set("visible",!1);this.qf.set("visible",!1);this.pCa();r&&this.rRa();r=n.get("children");n.set("children",r.concat([this.qf]));var t=this;d.defer(function(){t.qf.set("visible",!0)})};p.prototype.pCa=function(){var n=this.B("modal"),r=this.B("veilShowEffect"),t=this.B("veilHideEffect");n&&r?this.qf.set("showEffect",r):this.qf.set("showEffect",null);n&&t?this.qf.set("hideEffect",
t):this.qf.set("hideEffect",null)};p.prototype.hide=function(){this.get("visible")&&this.trigger(l.$ya);this.OW=0;this.MV(!1);this.set("visible",!1)};p.prototype.rRa=function(){this.set("centerX",0);this.set("centerY",0)};p.prototype.get=function(n,r){return"children"==n?this.i1.get(n,r):e.prototype.get.call(this,n,r)};p.lfa={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"};p.kfa=d(p.lfa).keys();p.o0={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius",borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};p.n0="borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderTopRadius borderRadius".split(" ");p.Dfa={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"};
p.Cfa=d(p.Dfa).keys();p.ffa={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"};p.efa=d(p.ffa).keys();p.hfa={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"};p.gfa=d(p.hfa).keys();p.jfa={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius",
borderBottomRightRadius:"borderBottomRightRadius"};p.ifa="borderLeftRadius borderRightRadius borderBottomLeftRadius borderBottomRightRadius borderBottomRadius borderRadius".split(" ");p.bfa={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"};p.afa=d(p.bfa).keys();p.cfa={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};p.TAa=d(p.cfa).keys();p.Ffa={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};p.Efa=d(p.Ffa).keys();p.tc=function(){var n={modal:!1,visible:!1,centerX:0,centerY:0,veilShowEffect:void 0,veilHideEffect:void 0};
d.defaults(n,f.tc);for(var r=[].concat(p.kfa,p.Cfa,p.efa,p.afa,p.gfa,p.Efa),t=0;t<r.length;t++)n[r[t]]=void 0;return n}();p.prototype.lb=function(){this.yn(p.tc)};p.prototype.xb=function(){e.prototype.xb.call(this);null==this.Yk&&(this.Yk=new c,this.Yk.set("width","100%"),this.Yk.bind(l.ub,this.THa,this),this.Ua(this.Yk));null==this.oN&&(this.oN=new q,this.oN.set("width","100%"),this.Yk.Ua(this.oN));null==this.GE&&(this.GE=new m,this.GE.fa({horizontalAlign:b.ue,verticalAlign:b.ae}),this.GE.bind(l.oa,
this.GDa,this),this.Yk.Ua(this.GE));null==this.Gw&&(this.Gw=this.i1,this.Gw.fa({width:"100%",height:"100%"}),this.Ua(this.Gw));null==this.fF&&(this.fF=new f,this.fF.set("width","100%"),this.Ua(this.fF))};p.prototype.zQa=function(){this.OW++;setTimeout(function(){0<this.OW&&this.hide()}.bind(this),100)};p.prototype.HQa=function(){this.OW--};p.prototype.GDa=function(){this.hide()};p.prototype.THa=function(n){this.s4=n.pageX;this.t4=n.pageY;this.Hb().bind(l.ec,this.$ra,this,!0);this.Hb().bind(l.$b,this.asa,
this,!0)};p.prototype.$ra=function(n){this.set("centerX",this.get("centerX")+(n.pageX-this.s4));this.set("centerY",this.get("centerY")+(n.pageY-this.t4));this.s4=n.pageX;this.t4=n.pageY;this.Ira()};p.prototype.asa=function(){this.Hb().unbind(l.ec,this.$ra,this);this.Hb().unbind(l.$b,this.asa,this)};p.prototype.Pra=function(){this.DW()};p.prototype.BQa=function(){this.set("visible",!0)};p.prototype.AQa=function(){this.qf.unbind(l.fc,this.Pra,this);var n=this.qf.getParent();n&&n.removeChild(this.qf);
this.trigger(new k(l.RD))};p.prototype.KQa=function(){this.Ira()};p.prototype.LQa=function(){this.MV(!0)};p.prototype.IQa=function(){this.qf.set("visible",!1)};p.prototype.MV=function(n){this.tC=n;this.Jra()};p.prototype.Jra=function(){e.prototype.set.call(this,"shadow",this.tC&&this.Hpa)};p.prototype.DW=function(n){n||=this.ga;void 0!==this.N$?e.prototype.set.call(this,"maxWidth",this.N$):n?e.prototype.set.call(this,"maxWidth",n.Va()):e.prototype.set.call(this,"maxWidth",void 0);void 0!==this.M$?
e.prototype.set.call(this,"maxHeight",this.M$):n?e.prototype.set.call(this,"maxHeight",n.zb()):e.prototype.set.call(this,"maxHeight",void 0)};p.prototype.Ira=function(){var n=this.qf.Va(),r=this.Va(),t=this.get("centerX");r=.5*n+t-.5*r;var u=this.Yk.El(),v=this.Yk.Va(),w=Math.min(v,30);n=n-u-w;u=-(u+v-w);r<u?this.set("centerX",t+(u-r)):r>n&&this.set("centerX",t-(r-n));n=this.qf.zb();r=this.zb();t=this.get("centerY");r=.5*n+t-.5*r;u=this.Yk.rs();v=this.Yk.zb();w=Math.min(v,5);n=n-u-w;u=-(u+v-w);r<
u?this.set("centerY",t+(u-r)):r>n&&this.set("centerY",t-(r-n))};p.prototype.Ta=function(){this.ic(p.kfa,p.lfa,[this.Yk],!0,!0);this.ic(p.n0,p.o0,[this.Yk],!0,!1);0===this.get("headerHeight")?this.ic(p.n0,p.o0,[this.Gw],!0,!1):this.ic(p.n0,p.o0,[this.Yk],!0,!1);this.ic(p.Cfa,p.Dfa,[this.oN],!0,!0);this.ic(p.efa,p.ffa,[this.GE],!0,!0);this.ic(p.afa,p.bfa,[this.Gw],!0,!0);this.ic(p.TAa,p.cfa,[this.Gw],!0,!1);this.ic(p.gfa,p.hfa,[this.fF],!0,!0);0===this.get("footerHeight")?this.ic(p.ifa,p.jfa,[this.Gw],
!0,!1):this.ic(p.ifa,p.jfa,[this.fF],!0,!1);this.B("modal")?(this.ic(p.Efa,p.Ffa,[this.qf],!0,!0),this.qf.set("contentOpaque",!0)):(this.qf.set("backgroundOpacity",0),this.qf.set("contentOpaque",!1));this.fa({layout:g.lh,horizontalAlign:b.ue,verticalAlign:b.ae});e.prototype.Ta.call(this);this.Fn.fZ(0)};return p});define("dZ",["require","mc","nc"],function(a){var d=a("mc");a=a("nc").define("Window",d,function(){d.call(this)});a.prototype.show=a.prototype.show;a.prototype.hide=a.prototype.hide;return a});
define("mC","require jquery.mod dY kh og hE cu fV bf nJ bD kd lK u kV".split(" "),function(a){function d(v){this.source=v;this.width=this.source.get("width");this.height=this.source.get("height");this.url=this.source.get("url");this.RH=this.source.get("grayscale");this.Av=new p(g.ln)}var h=a("jquery.mod"),l=a("dY"),k=a("kh"),b=a("og"),g=a("hE"),f=a("cu"),c=a("fV"),e=a("bf"),m=a("nJ"),q=a("bD"),p=a("kd"),n=a("lK"),r=a("u"),t=a("kV"),u=t.extend(c,function(){c.call(this);this.UT=this.UT.bind(this);this.Cg=
null;this.le=[];this.vm=[];this.Rb=this.Fb=this.xd=this.pd=100;this.Ze=1;this.Mw=this.Lw=.5;this.zc=1;this.Zi=this.Fi=null;this.IU=!1;this.e2={};this.LE={};this.LE.low={};this.LE.hight={};r.sH()==r.BI&&(this.LE.low.transform="translateZ(0)",this.LE.hight.transform="");this.T=!1;this.sh="inherit";this.ja=h("<div/>").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.qK=null;this.Je=t.so(this.ca,this)});u.prototype.yc=function(){return this.ja};u.prototype.nz=function(v){this.pf!=
v&&(this.pf=v,this.Y0(1),this.Je())};u.prototype.hca=function(v){this.sh!=v&&(this.sh=v,this.Zi&&this.Zi.css("cursor",this.sh),this.Fi&&this.Fi.css("cursor",this.sh))};u.prototype.KVa=function(v){this.le!=v&&(this.le&&k.ka(this.le,["levels.url"],this.UT),(this.le=v)&&k.ma(this.le,["levels.url"],this.UT,!0))};u.prototype.UT=function(){this.D1();this.Cg=null;this.Fi&&(this.Fi.detach(),this.Fi=null);this.Zi&&(this.Zi.detach(),this.Zi=null);this.Xf&&(this.Xf=null);this.D1();this.IU=!1;l(this.vm).each(function(w){w.Av.cancel();
w.Av.unbind(b.aa,this.xka,this)},this);var v=(this.le&&this.le.get("levels")||[]).filter(function(w){return w.get("url")});this.vm=l(v).map(function(w){w=new d(w);w.Av.bind(b.aa,this.xka,this);return w},this);(v=this.UGa())?(this.Fb=v.width,this.Rb=v.height):this.Rb=this.Fb=100;this.Mw=this.Lw=.5;this.Y0(1);this.Je()};u.prototype.xD=function(v,w){if(this.pd!=v||this.xd!=w)this.pd=v,this.xd=w,this.Je()};u.prototype.wVa=function(v,w){if(this.Fha!=v||this.Eha!=w)this.Fha=v,this.Eha=w,this.Je()};u.prototype.kc=
function(v){this.T!=v&&(this.T=v,this.Je())};u.prototype.move=function(v,w){var x=this.Ze*this.zc;this.Lw+=v/(this.Fb*x);this.Mw+=w/(this.Rb*x);this.hV()};u.prototype.dD=function(){return this.zc};u.prototype.setScale=function(v){this.Y0(Math.max(1,Math.min(1/this.Ze,v)));this.Cg&&this.Cg.width<this.zc*this.Ze*this.Fb&&this.Cg.width<this.Fb?this.ca():this.hV()};u.prototype.$ua=function(v){if(!this.Fi)return!1;var w=this.Fi.offset(),x=v.pageX-w.left;v=v.pageY-w.top;return 0<=x&&0<=v&&x<this.Fi.width()&&
v<this.Fi.height()};u.prototype.ca=function(){if(this.T){this.lQa();var v=this.bHa();v&&v.Av.Gl()?(v!=this.Cg&&(this.Cg||(this.Je(),this.IU=!0),this.XEa(v),this.Cg=v),this.mpa(null)):this.mpa(v);this.hV()}};u.prototype.lQa=function(){switch(this.pf){case n.Go:var v=this.pd/this.Fb;break;case n.Hj:v=this.xd/this.Rb;break;case n.Gq:v=this.Fb*this.xd>this.Rb*this.pd?this.xd/this.Rb:this.pd/this.Fb;break;case n.eza:v=Math.min(this.Fha/this.Fb,this.Eha/this.Rb);break;default:v=this.Fb*this.xd>this.Rb*
this.pd?this.pd/this.Fb:this.xd/this.Rb}this.lCa(v)};u.prototype.xka=function(){this.Je()};u.prototype.XEa=function(v){this.Zi&&(this.s8(this.Zi,1),this.Fi&&this.Fi.detach(),this.Fi=this.Zi);this.Zi=this.rEa(v);this.s8(this.Zi,0);this.ja.append(this.Zi);this.Xf=this.iEa();this.e2={}};u.prototype.bHa=function(){return this.Cg?this.lGa(this.zc*this.Ze*this.Fb):this.zHa()};u.prototype.mpa=function(v){l(this.vm).each(function(w){w==v?w.Av.li()!=w.url&&w.Av.load(w.url):w.Av.Gl()||w.Av.cancel()})};u.prototype.UGa=
function(){return l(this.vm).reduce(function(v,w){v||=w;if(w.width>v.width||w.width==v.width&&!w.RH&&v.RH)v=w;return v},null)};u.prototype.zHa=function(){return l(this.vm).reduce(function(v,w){v||=w;if(w.width<v.width||w.width==v.width&&w.RH&&!v.RH)v=w;return v},null)};u.prototype.lGa=function(v){return l(this.vm).reduce(function(w,x){w||=x;if(x.width>=v&&w.width<v||x.width>=v&&x.width<w.width||x.width<v&&x.width>w.width||!x.RH&&w.RH)w=x;return w},null)};u.prototype.rEa=function(v){v=h(v.Av.sf(!0));
v.css({position:"absolute",cursor:this.sh,"pointer-events":"none"});return v};u.prototype.iEa=function(){return new m("linear",[new q("alpha",0,1)],200)};u.prototype.hV=function(){e.requestFrame(function(v){this.vM(v,"low")},this)};u.prototype.Iaa=function(){return this.Fb*this.zc*this.Ze};u.prototype.Haa=function(){return this.Rb*this.zc*this.Ze};u.prototype.Hta=function(){var v=this.Iaa();return v>this.pd?Math.max(this.pd-v,Math.min(0,.5*this.pd-v*this.Lw)):.5*(this.pd-v)};u.prototype.Ita=function(){var v=
this.Haa();return v>this.xd?Math.max(this.xd-v,Math.min(0,.5*this.xd-v*this.Mw)):.5*(this.xd-v)};u.prototype.vM=function(v,w){w=w||"low";var x=this.Iaa(),y=this.Hta(),A=this.Haa(),B=this.Ita();this.Lw=(.5*this.pd-y)/x;this.Mw=(.5*this.xd-B)/A;x={left:Math.round(y)+"px",top:Math.round(B)+"px",width:Math.round(x)+"px",height:Math.round(A)+"px",display:"block"};for(var z in this.LE[w])x[z]=this.LE[w][z];this.e2!=x&&(this.Fi&&this.Fi.css(x),this.Zi&&this.Zi.css(x),this.e2=x);this.D1();this.Xf?(this.Xf.wb(v),
this.s8(this.Zi,this.Xf.$a("alpha")),this.Xf.Fe()&&(this.Xf=null,this.Fi&&this.Fi.detach(),this.Fi=this.Zi,this.Zi=null),this.hV()):"low"==w&&this.RNa();!this.Xf&&this.IU&&(this.IU=!1,this.trigger(new f(b.aa)))};u.prototype.s8=function(v,w){v.css({opacity:w,filter:"alpha(opacity="+Math.round(100*w)+")","-ms-filter":"alpha(opacity="+Math.round(100*w)+")"})};u.prototype.D1=function(){null!=this.qK&&(clearTimeout(this.qK),this.qK=null)};u.prototype.RNa=function(){var v=this;this.qK=setTimeout(function(){v.qK=
null;v.vM(50,"hight")},50)};u.prototype.Y0=function(v){this.zc!=v&&(this.zc=v,this.cPa())};u.prototype.lCa=function(v){this.Ze!=v&&(this.Ze=v)};u.prototype.cPa=function(){this.trigger(new f(u.dQ,{scale:this.zc}))};u.dQ="scaleChange";return u});
define("jT","require jquery.mod og cu mC kV e R".split(" "),function(a){a("jquery.mod");var d=a("og"),h=a("cu"),l=a("mC"),k=a("kV"),b=a("e"),g=a("R"),f=k.extend(b,function(){b.call(this);this.qe("ZoomImage");this.Ku=this.Hm=void 0;this.kk=!1;this.Pna=void 0;this.Zja=this.zc;this.ON=null;this.j=new l;this.j.bind(d.aa,this.hKa,this);this.j.bind(l.dQ,this.iKa,this);this.yb().append(this.j.yc());this.bind(d.fc,this.cc,this,!0);this.bind(d.hd,this.ek,this,!0);this.bind(d.od,this.$j,this,!0);this.bind(d.ub,
this.Md,this,!0);this.bind(d.ec,this.ij,this,!0);this.bind(d.$b,this.jj,this,!0);this.bind(d.Jq,this.DB,this,!0);this.bind(d.WD,this.$A,this,!0)});f.prototype.set=function(c,e){switch(c){case "scale":this.j.setScale(e);e=this.j.dD();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}b.prototype.set.call(this,c,e)};f.prototype.get=function(c,e){switch(c){case "scale":return this.j.dD();case "imageLeft":return this.j.Hta();case "imageTop":return this.j.Ita();case "imageWidth":return this.j.Iaa();
case "imageHeight":return this.j.Haa()}return b.prototype.get.call(this,c,e)};f.prototype.lb=function(){b.prototype.lb.call(this);this.h("image");this.h("scaleMode");this.h("customHeight");this.h("customWidth");this.h("imageCursor");this.h("imageLeft");this.h("imageTop");this.h("imageWidth");this.h("imageHeight")};f.prototype.Ta=function(){this.H("scaleMode")&&(this.j.nz(this.B("scaleMode")),this.P("scaleMode"));this.H("image")&&(this.j.KVa(this.B("image")),this.P("image"),this.Zja=this.zc);if(this.H("customHeight")||
this.H("customWidth"))this.P("customHeight"),this.P("customWidth"),this.cc();this.H("imageCursor")&&(this.P("imageCursor"),this.j.hca(this.bb.A2.zta(this.get("imageCursor"))));b.prototype.Ta.call(this)};f.prototype.cc=function(){var c=this.Va(),e=this.zb(),m=this.get("customWidth","100%"),q=g.to(m);m=void 0!==q?c*q/100:m;q=this.get("customHeight","100%");var p=g.to(q);this.j.wVa(m,void 0!==p?e*p/100:q);this.j.xD(c,e)};f.prototype.ek=function(){this.j.kc(!0)};f.prototype.$j=function(){this.j.kc(!1)};
f.prototype.Md=function(c){this.Hm=c.x;this.Ku=c.y;this.kk=!0;this.Pna=this.j.$ua(c)};f.prototype.ij=function(c){this.kk&&(this.w$(),this.j.move(-(c.x-this.Hm),-(c.y-this.Ku)),this.Hm=c.x,this.Ku=c.y)};f.prototype.jj=function(c){this.kk=!1;this.Pna||this.j.$ua(c)||this.trigger(new h(f.mza))};f.prototype.DB=function(c){this.w$();this.j.setScale((1+c.delta/20)*this.j.dD())};f.prototype.$A=function(c){this.w$();this.j.setScale(c.scale/this.Zja)};f.prototype.hKa=function(){this.trigger(new h(d.aa))};
f.prototype.iKa=function(){b.prototype.set.call(this,"scale",this.j.dD());this.trigger(new h(f.dQ))};f.prototype.w$=function(){this.ON?(clearTimeout(this.ON),this.ON=null):this.trigger(new h(f.ui));this.ON=setTimeout(function(){this.ON=null;this.trigger(new h(f.ti))}.bind(this),300)};f.mza="backgroundClick";f.dQ="scaleChange";f.ui="userInteractionStart";f.ti="userInteractionEnd";return f});define("no",["require","jT","nc"],function(a){var d=a("jT");return a("nc").define("ZoomImage",d,function(){d.call(this)})});
define("iI","require nc iS hG ni eh dU eF nG jl iU fR fB hy iR jI lv nP gU hP H gz fu dh bz ju ng jo ko mg fo p iO dN dT nW mu jt mO hU lC gQ N cG t lk fT X jO bw bk mN nA eT lG lh iK bI nH ja mK kF Q oF fM D ef iz fs bd fJ eZ gB ij bF ow eU jw lS ig o dA kf lT ii dW eO oD gY kv eM lX bK ld if bi ou fU nM cw cx kZ of jd gn jM gF lj mT hu jW km ep in ck eE hS S oh dG gg bE iv fj Z jV eI mi lL eY gs eG ch hX np lJ fl nN bs nt gC fa gh df mv hA mt jJ hc bU iW dr bL jF jg nU fz gK cc kP gi el hg dn by cj dZ no".split(" "),
function(a){a("nc");a("iS");a("hG");a("ni");a("eh");a("dU");a("eF");a("nG");a("jl");a("iU");a("fR");a("fB");a("hy");a("iR");a("jI");a("lv");a("nP");a("gU");a("hP");a("H");a("gz");a("fu");a("dh");a("bz");a("ju");a("ng");a("jo");a("ko");a("mg");a("fo");a("p");a("iO");a("dN");a("dT");a("nW");a("mu");a("jt");a("mO");a("hU");a("lC");a("gQ");a("N");a("cG");a("t");a("lk");a("fT");a("X");a("jO");a("bw");a("bk");a("mN");a("nA");a("eT");a("lG");a("lh");a("iK");a("bI");a("nH");a("ja");a("mK");a("kF");a("Q");
a("oF");a("fM");a("D");a("ef");a("iz");a("fs");a("bd");a("fJ");a("eZ");a("gB");a("ij");a("bF");a("ow");a("eU");a("jw");a("lS");a("ig");a("o");a("dA");a("kf");a("lT");a("ii");a("dW");a("eO");a("oD");a("gY");a("kv");a("eM");a("lX");a("bK");a("ld");a("if");a("bi");a("ou");a("fU");a("nM");a("cw");a("cx");a("kZ");a("of");a("jd");a("gn");a("jM");a("gF");a("lj");a("mT");a("hu");a("jW");a("km");a("ep");a("in");a("ck");a("eE");a("hS");a("S");a("oh");a("dG");a("gg");a("bE");a("iv");a("fj");a("Z");a("jV");a("eI");
a("mi");a("lL");a("eY");a("gs");a("eG");a("ch");a("hX");a("np");a("lJ");a("fl");a("nN");a("bs");a("nt");a("gC");a("fa");a("gh");a("df");a("mv");a("hA");a("mt");a("jJ");a("hc");a("bU");a("iW");a("dr");a("bL");a("jF");a("jg");a("nU");a("fz");a("gK");a("cc");a("kP");a("gi");a("el");a("hg");a("dn");a("by");a("cj");a("dZ");a("no");return!0});
define("gb","require dY jquery.mod kV nc bT iI lQ".split(" "),function(a){function d(n,r){this.type=n;this.stack=r}function h(){}var l=a("dY"),k=a("jquery.mod"),b=a("kV"),g=a("nc"),f=a("bT");a("iI");a("lQ");h.prototype.wUa=function(n,r,t,u){this.j3=[];this.sy=this.qG(n);this.lB=void 0;this.sy.ks.Lta()?(this.y$=f.validate(n),this.lB=this.Jia(this.sy,c.TYPE),this.uEa(this.lB,this.sy,r,t,u),this.gCa(this.sy),this.eCa(this.sy,this.lB),this.hCa(this.lB,this.sy),this.yCa(this.lB,this.sy)):this.sn("Invalid root class",
[]);return 0==this.j3.length};h.prototype.Hb=function(){return this.sy.instance};h.prototype.qG=function(n,r){r=r||[];return l(n).isArray()?this.lLa(n,r):k.isPlainObject(n)&&n["class"]?this.oLa(n,r):k.isPlainObject(n)?this.mLa(n,r):l(n).isFunction()?this.nLa(n,r):this.pLa(n,r)};h.prototype.lLa=function(n,r){for(var t=[],u=0;u<n.length;u++)r.push("Item["+u+"]"),t.push(this.qG(n[u],r)),r.pop();return new e(r.slice(),t)};h.prototype.oLa=function(n,r){var t=n["class"],u=g.xj(n["class"]);if(u){t={};var v=
{},w;for(w in n){r.push(w);var x=n[w];switch(w){case "class":break;case "scripts":var y=this.qG(x,r);break;default:u.hasAttribute(w)?t[w]=this.qG(x,r):u.pua(w)||u.qua(w)?v[w]=this.qG(x,r):this.sn(u.ZC()+" object doesn't have any attribute named "+w,r)}r.pop()}return new c(r.slice(),u,n.id,t,v,y)}this.sn("Undefined class name: "+t,r.slice());return new p(r.slice(),null)};h.prototype.mLa=function(n,r){var t={},u;for(u in n)r.push(u),t[u]=this.qG(n[u],r),r.pop();return new m(r.slice(),t)};h.prototype.nLa=
function(n,r){return new q(r.slice(),n)};h.prototype.pLa=function(n,r){return new p(r.slice(),n)};h.prototype.Jia=function(n,r){var t=r&&n.type!=r?[]:[n],u=0;for(n=n.Jb();u<n.length;u++)t=t.concat(this.Jia(n[u],r));return t};h.prototype.uEa=function(n,r,t,u,v){r.instance=r.ks.mq(null,u,v,[t,this.y$]);r.instance.set("application",r.instance);for(t=0;t<n.length;t++){var w=n[t];w!=r&&(w.instance=w.ks.mq(r.instance,u,v))}};h.prototype.gCa=function(n){if(n.scripts)if(n.scripts.type==m.TYPE)for(var r in n.scripts.value)this.fCa(n,
r);else this.sn("Invalid content.",n.scripts.stack)};h.prototype.fCa=function(n,r){var t=n.instance,u=n.scripts.value[r];l(t[r]).isUndefined()?u&&u.type==q.TYPE?t[r]=function(){return u.ys().apply(t,arguments)}:this.sn("Invalid content.",u.stack):this.sn("Identifier: "+r+" is already in use",u.stack)};h.prototype.eCa=function(n,r){n=n.instance;for(var t=0;t<r.length;t++){var u=r[t],v=u.id;v&&(l(n[v]).isUndefined()?n[v]=u.instance:this.sn("Identifier: "+v+" is arleady in use",u.stack))}};h.prototype.hCa=
function(n,r){for(var t=0;t<n.length;t++){var u=n[t],v=u.attributes,w;for(w in v)this.dCa(u,w,r)}};h.prototype.dCa=function(n,r,t){var u=n.ks;if(u.hasAttribute(r)){try{var v=n.attributes[r].ys()}catch(w){this.sn("Invalid value for property "+r+" of "+u.ZC()+" instance",n.stack)}try{v=u.zaa(r)(v,t.instance),n.instance.set(r,v)}catch(w){this.sn("Invalid value for property "+r+" of "+u.ZC()+" instance",n.stack)}}else this.sn(u.ZC()+" object doesn't have any property named "+r,n.stack)};h.prototype.yCa=
function(n,r){for(var t=0;t<n.length;t++){var u=n[t],v;for(v in u.UC)this.xCa(u,v,r)}};h.prototype.xCa=function(n,r,t){var u=n.ks,v=n.instance,w=u.pua(r),x=u.qua(r);if(w||x){n=n.UC[r];var y=n.ys();l(y).isFunction()?v.bind(r,y,t.instance,x,y):"string"==typeof y?v.bind(r,function(){try{eval("var event = arguments[0];"+y)}catch(A){throw A;}},t.instance,x,y):this.sn("Invalid value.",n.stack)}else this.sn(u.ZC()+" object doesn't have any event named "+r,n.stack)};h.prototype.sn=function(n,r){this.j3.push("In "+
r.join(" >> ")+": "+n)};d.prototype.Jb=function(){return[]};d.prototype.ys=function(){};var c=b.extend(d,function(n,r,t,u,v,w){d.call(this,c.TYPE,n);this.ks=r;this.id=t;this.attributes=u;this.UC=v;this.scripts=w;this.instance=null});c.prototype.Jb=function(){var n=this.ks.Vta(),r=[],t=l(this.attributes).clone();if(n)for(var u=0;u<n.length;u++){var v=n[u];void 0!=t[v]&&(r.push(t[v]),delete t[v])}return r=r.concat(l(t).values())};c.prototype.ys=function(){return this.instance};c.TYPE="instance";var e=
b.extend(d,function(n,r){d.call(this,e.TYPE,n);this.items=r});e.prototype.Jb=function(){return this.items.slice()};e.prototype.ys=function(){for(var n=[],r=0;r<this.items.length;r++)n.push(this.items[r].ys());return n};e.TYPE="array";var m=b.extend(d,function(n,r){d.call(this,m.TYPE,n);this.value=r});m.prototype.Jb=function(){return l(this.value).values()};m.prototype.ys=function(){var n={},r;for(r in this.value)n[r]=this.value[r].ys();return n};m.TYPE="dict";var q=b.extend(d,function(n,r){d.call(this,
q.TYPE,n);this.value=r});q.prototype.ys=function(){return this.value};q.TYPE="function";var p=b.extend(d,function(n,r){d.call(this,p.TYPE,n);this.value=r});p.prototype.ys=function(){return this.value};p.TYPE="simple";return h});
define("mw","require dY og cu nc gb u eH lQ bu he mE oe mH kV".split(" "),function(a){function d(u,v){this.kN=u;this.xj=this.xj.bind(this);this.mq=this.mq.bind(this);this.BH=this.BH.bind(this);this.Ea=this.Ea.bind(this);this.GX=this.GX.bind(this);g.kb()&&!g.Ef()&&n.Pf();this.AR=[];u=q.name;var w=[];u&&w.push(u);0<q.VO?w.push("v:"+q.VO+"."+q.WO):w.push("v:"+q.WO);r.log(w.join(" "));this.wo=v;c.ITa()||0<=[g.OD,g.$v].indexOf(g.browser())?(this.ol=new b,(v=this.wo.get(TDV.PlayerSettings.BASE_DIR_URL))?
(v=c.Uv(v),"/"!=v[v.length-1]&&(v+="/")):v=c.getDirectory(this.wo.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)),this.Pba=this.wo.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS),f.IUa(v,function(x){this.Z$=x;this.LKa()}.bind(this))):window.alert(p("web-server-required"))}var h=a("dY"),l=a("og");a("cu");var k=a("nc"),b=a("gb"),g=a("u"),f=a("eH"),c=a("lQ"),e=a("bu"),m=a("he"),q=a("mE"),p=a("oe"),n=a("mH"),r=a("kV");d.prototype.LKa=function(){this.kN.trigger(new TDV.mQ(l.pAa,{},[],void 0));h.defer(function(){if(!this.ol.wUa(this.wo.get(TDV.PlayerSettings.SCRIPT_DATA),
this.wo.get(TDV.PlayerSettings.CONTAINER),this.Z$,this.Pba)){if("false"!=q.iXa){window.alert(this.uja());return}r.log(this.uja())}this.wCa();this.WBa(this.wo);this.jCa();e.initialize(function(){this.ePa()}.bind(this))}.bind(this))};d.prototype.clear=function(){this.ol&&(this.kja().forEach(function(u){u.instance.bda();u.ks.xO().forEach(function(v){switch(v){case "VideoPlayer":u.instance.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":u.instance.set("viewerArea",
null);break;case "ZoomImage":u.instance.set("image",null);break;case "Audio":u.instance.stop();break;case "Effect":u.instance.end();break;case "Media":u.instance.XUa()}})}),m.CUa(),this.ol.Hb().clear(),t={},this.wo=this.ol=null)};d.prototype.TSa=function(u){return this.ol.Hb()[u]};d.prototype.xj=function(u){if(u in t)return t[u].slice();var v=[];this.kja().forEach(function(w){var x=w.ks.xO();h(x).contains(u)&&v.push(w.instance)});t[u]=v;return v.slice()};d.prototype.kja=function(){return this.ol?
this.ol.lB.concat(this.AR):[]};var t={};d.prototype.mq=function(u){var v=k.xj(u);if(!v)throw"Invalid className: "+u;t={};u=this.ol.Hb();var w={};w.ks=v;w.instance=v.mq(u,this.Z$,this.Pba);this.AR.push(w);this.pga(v,w.instance);return w.instance};d.prototype.BH=function(u){var v=this.AR.findIndex(function(w){return w.instance==u});0>v||(t={},this.AR.splice(v,1),u.bda(),u.dispose&&u.dispose())};d.prototype.uja=function(){for(var u=this.ol.j3,v=["Errors parsing script file:"],w=0;w<u.length;w++)v.push(u[w]);
return v.join("\n")};d.prototype.wCa=function(){this.ol.lB.forEach(function(v){this.pga(v.ks,v.instance,v.id)}.bind(this));var u=this.ol.Hb().wR;u.bind(l.UD,function(){u.AXa(l.UD);this.kN.cookiesEnabled=this.kN.CRa=!0;this.kN.trigger(new TDV.mQ(l.UD,{},[],void 0))},this,!0)};d.prototype.pga=function(u,v,w){var x=u.xO();h.union(u.Eaa(),u.Jaa()).forEach(function(y){v.bind(y,function(A){this.kN.trigger(new TDV.mQ(y,A,x,w))}.bind(this),this,!0)}.bind(this))};d.prototype.WBa=function(u){this.ol.Hb().set("settings",
u)};d.prototype.Ea=function(){return k.Ea.apply(k,arguments)};d.prototype.GX=function(u){!u||c.az(u)||c.eY(u)||(u=c.Py(c.Uv(u,this.Z$),this.Pba));return u};d.prototype.jCa=function(){var u=this.ol.Hb();u.getByClassName=u.xj=this.xj;u.createInstance=u.mq=this.mq;u.disposeInstance=u.BH=this.BH;u.isInstanceOfClass=u.Ea=this.Ea;u.getAbsoluteURL=u.GX=this.GX};d.prototype.ePa=function(){this.ol.Hb().start()};d.yXa=function(u){u.trigger(new TDV.mQ(l.Oza,{},[],void 0))};return d});
define("main",["require","jquery.mod","mw"],function(a){var d=a("jquery.mod"),h=a("mw");d(document).ready(function(){TDV.nb.nWa(h)})});
(function(t,e){e(t.THREE=t.THREE||{})})(this,function(t){"use strict";const e="142",i=100,n=300,r=301,s=302,a=303,o=304,l=306,c=1e3,h=1001,u=1002,d=1003,p=1004,m=1005,f=1006,g=1007,v=1008,x=1009,y=1012,_=1014,M=1015,b=1016,w=1020,S=1023,T=1026,A=1027,E=33776,C=33777,L=33778,R=33779,P=35840,I=35841,D=35842,N=35843,O=37492,z=37496,F=37808,B=37809,U=37810,k=37811,G=37812,V=37813,H=37814,W=37815,j=37816,q=37817,X=37818,Y=37819,Z=37820,J=37821,K=36492,Q=2300,$=2301,tt=2302,et=2400,it=2401,nt=2402,rt=2500,st=2501,at=3e3,ot=3001,lt="srgb",ct="srgb-linear",ht=7680,ut=35044,dt="300 es",pt=1035;class mt{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const i=this._listeners;void 0===i[t]&&(i[t]=[]),-1===i[t].indexOf(e)&&i[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const i=this._listeners;return void 0!==i[t]&&-1!==i[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const i=this._listeners[t];if(void 0!==i){const t=i.indexOf(e);-1!==t&&i.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const i=e.slice(0);for(let e=0,n=i.length;e<n;e++)i[e].call(this,t);t.target=null}}}const ft=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let gt=1234567;const vt=Math.PI/180,xt=180/Math.PI;function yt(){const t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0;return(ft[255&t]+ft[t>>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+(n<r?6:0);break;case n:o=(r-i)/t+2;break;case r:o=(i-n)/t+4;}o/=6}return t.h=o,t.s=l,t.l=c,t}getRGB(t,e="srgb-linear"){return zt.fromWorkingColorSpace(Vt(this,Bt),e),t.r=Bt.r,t.g=Bt.g,t.b=Bt.b,t}getStyle(t="srgb"){return zt.fromWorkingColorSpace(Vt(this,Bt),t),t!==lt?`color(${t} ${Bt.r} ${Bt.g} ${Bt.b})`:`rgb(${255*Bt.r|0},${255*Bt.g|0},${255*Bt.b|0})`}offsetHSL(t,e,i){return this.getHSL(Ut),Ut.h+=t,Ut.s+=e,Ut.l+=i,this.setHSL(Ut.h,Ut.s,Ut.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,i){return this.r=t.r+(e.r-t.r)*i,this.g=t.g+(e.g-t.g)*i,this.b=t.b+(e.b-t.b)*i,this}lerpHSL(t,e){this.getHSL(Ut),t.getHSL(kt);const i=bt(Ut.h,kt.h,e),n=bt(Ut.s,kt.s,e),r=bt(Ut.l,kt.l,e);return this.setHSL(i,n,r),this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),!0===t.normalized&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}let Wt;Ht.NAMES=Ft;class jt{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===Wt&&(Wt=It("canvas")),Wt.width=t.width,Wt.height=t.height;const i=Wt.getContext("2d");t instanceof ImageData?i.putImageData(t,0,0):i.drawImage(t,0,0,t.width,t.height),e=Wt}return e.width>2048||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;t<r.length;t++)r[t]=255*Dt(r[t]/255);return i.putImageData(n,0,0),e}if(t.data){const e=t.data.slice(0);for(let t=0;t<e.length;t++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[t]=Math.floor(255*Dt(e[t]/255)):e[t]=Dt(e[t]);return{data:e,width:t.width,height:t.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),t}}class qt{constructor(t=null){this.isSource=!0,this.uuid=yt(),this.data=t,this.version=0}set needsUpdate(t){!0===t&&this.version++}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.images[this.uuid])return t.images[this.uuid];const i={uuid:this.uuid,url:""},n=this.data;if(null!==n){let t;if(Array.isArray(n)){t=[];for(let e=0,i=n.length;e<i;e++)n[e].isDataTexture?t.push(Xt(n[e].image)):t.push(Xt(n[e]))}else t=Xt(n);i.url=t}return e||(t.images[this.uuid]=i),i}}function Xt(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?jt.getDataURL(t):t.data?{data:Array.from(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let Yt=0;class Zt extends mt{constructor(t=Zt.DEFAULT_IMAGE,e=Zt.DEFAULT_MAPPING,i=1001,n=1001,r=1006,s=1008,a=1023,o=1009,l=1,c=3e3){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:Yt++}),this.uuid=yt(),this.name="",this.source=new qt(t),this.mipmaps=[],this.mapping=e,this.wrapS=i,this.wrapT=n,this.magFilter=r,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new Et(0,0),this.repeat=new Et(1,1),this.center=new Et(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Ct,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(t){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const i={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),e||(t.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==n)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)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)<s&&Math.abs(h-m)<s&&Math.abs(p-f)<s){if(Math.abs(c+u)<a&&Math.abs(h+m)<a&&Math.abs(p+f)<a&&Math.abs(l+d+g-3)<a)return this.set(1,0,0,0),this;e=Math.PI;const t=(l+1)/2,o=(d+1)/2,v=(g+1)/2,x=(c+u)/4,y=(h+m)/4,_=(p+f)/4;return t>o&&t>v?t<s?(i=0,n=.707106781,r=.707106781):(i=Math.sqrt(t),n=x/i,r=y/i):o>v?o<s?(i=.707106781,n=0,r=.707106781):(n=Math.sqrt(o),i=x/n,r=_/n):v<s?(i=.707106781,n=.707106781,r=0):(r=Math.sqrt(v),i=y/r,n=_/r),this.set(i,n,r,e),this}let v=Math.sqrt((f-p)*(f-p)+(h-m)*(h-m)+(u-c)*(u-c));return Math.abs(v)<.001&&(v=1),this.x=(f-p)/v,this.y=(h-m)/v,this.z=(u-c)/v,this.w=Math.acos((l+d+g-1)/2),this}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.w=Math.min(this.w,t.w),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.w=Math.max(this.w,t.w),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.w=Math.max(t.w,Math.min(e.w,this.w)),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.w=Math.max(t,Math.min(e,this.w)),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.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),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.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,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)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}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.w+=(t.w-this.w)*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.w=t.w+(e.w-t.w)*i,this}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}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,i){return void 0!==i&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Kt extends mt{constructor(t,e,i={}){super(),this.isWebGLRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new Jt(0,0,t,e),this.scissorTest=!1,this.viewport=new Jt(0,0,t,e);const n={width:t,height:e,depth:1};this.texture=new Zt(n,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==i.generateMipmaps&&i.generateMipmaps,this.texture.internalFormat=void 0!==i.internalFormat?i.internalFormat:null,this.texture.minFilter=void 0!==i.minFilter?i.minFilter:f,this.depthBuffer=void 0===i.depthBuffer||i.depthBuffer,this.stencilBuffer=void 0!==i.stencilBuffer&&i.stencilBuffer,this.depthTexture=void 0!==i.depthTexture?i.depthTexture:null,this.samples=void 0!==i.samples?i.samples:0}setSize(t,e,i=1){this.width===t&&this.height===e&&this.depth===i||(this.width=t,this.height=e,this.depth=i,this.texture.image.width=t,this.texture.image.height=e,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return new this.constructor().copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.texture.isRenderTargetTexture=!0;const e=Object.assign({},t.texture.image);return this.texture.source=new qt(e),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Qt extends Zt{constructor(t=null,e=1,i=1,n=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:i,depth:n},this.magFilter=d,this.minFilter=d,this.wrapR=h,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class $t extends Zt{constructor(t=null,e=1,i=1,n=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:i,depth:n},this.magFilter=d,this.minFilter=d,this.wrapR=h,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class te{constructor(t=0,e=0,i=0,n=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=i,this._w=n}static slerp(t,e,i,n){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),i.slerpQuaternions(t,e,n)}static slerpFlat(t,e,i,n,r,s,a){let o=i[n+0],l=i[n+1],c=i[n+2],h=i[n+3];const u=r[s+0],d=r[s+1],p=r[s+2],m=r[s+3];if(0===a)return t[e+0]=o,t[e+1]=l,t[e+2]=c,void(t[e+3]=h);if(1===a)return t[e+0]=u,t[e+1]=d,t[e+2]=p,void(t[e+3]=m);if(h!==m||o!==u||l!==d||c!==p){let t=1-a;const e=o*u+l*d+c*p+h*m,i=e>=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 i<Number.EPSILON?(i=0,Math.abs(t.x)>Math.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;o<l;o+=3){const l=t[o],c=t[o+1],h=t[o+2];l<e&&(e=l),c<i&&(i=c),h<n&&(n=h),l>r&&(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;o<l;o++){const l=t.getX(o),c=t.getY(o),h=t.getZ(o);l<e&&(e=l),c<i&&(i=c),h<n&&(n=h),l>r&&(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;e<i;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const i=ae.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this}setFromObject(t,e=!1){return this.makeEmpty(),this.expandByObject(t,e)}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t,e=!1){t.updateWorldMatrix(!1,!1);const i=t.geometry;if(void 0!==i)if(e&&null!=i.attributes&&void 0!==i.attributes.position){const e=i.attributes.position;for(let i=0,n=e.count;i<n;i++)ae.fromBufferAttribute(e,i).applyMatrix4(t.matrixWorld),this.expandByPoint(ae)}else null===i.boundingBox&&i.computeBoundingBox(),oe.copy(i.boundingBox),oe.applyMatrix4(t.matrixWorld),this.union(oe);const n=t.children;for(let t=0,i=n.length;t<i;t++)this.expandByObject(n[t],e);return this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.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.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.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;e<r;e++)n=Math.max(n,i.distanceToSquared(t[e]));return this.radius=Math.sqrt(n),this}copy(t){return this.center.copy(t.center),this.radius=t.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){const e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){const i=this.center.distanceToSquared(t);return e.copy(t),i>this.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<n||n!=n)&&(n=s),h>=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<n||n!=n)&&(n=o),n<0?null:this.at(i>=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<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return 0!=(this.mask&t.mask)}isEnabled(t){return 0!=(this.mask&(1<<t|0))}}let We=0;const je=new ee,qe=new te,Xe=new Ie,Ye=new ee,Ze=new ee,Je=new ee,Ke=new te,Qe=new ee(1,0,0),$e=new ee(0,1,0),ti=new ee(0,0,1),ei={type:"added"},ii={type:"removed"};class ni extends mt{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:We++}),this.uuid=yt(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=ni.DefaultUp.clone();const t=new ee,e=new Ve,i=new te,n=new ee(1,1,1);e._onChange(function(){i.setFromEuler(e,!1)}),i._onChange(function(){e.setFromQuaternion(i,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:n},modelViewMatrix:{value:new Ie},normalMatrix:{value:new Ct}}),this.matrix=new Ie,this.matrixWorld=new Ie,this.matrixAutoUpdate=ni.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new He,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return qe.setFromAxisAngle(t,e),this.quaternion.multiply(qe),this}rotateOnWorldAxis(t,e){return qe.setFromAxisAngle(t,e),this.quaternion.premultiply(qe),this}rotateX(t){return this.rotateOnAxis(Qe,t)}rotateY(t){return this.rotateOnAxis($e,t)}rotateZ(t){return this.rotateOnAxis(ti,t)}translateOnAxis(t,e){return je.copy(t).applyQuaternion(this.quaternion),this.position.add(je.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(Qe,t)}translateY(t){return this.translateOnAxis($e,t)}translateZ(t){return this.translateOnAxis(ti,t)}localToWorld(t){return t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return t.applyMatrix4(Xe.copy(this.matrixWorld).invert())}lookAt(t,e,i){t.isVector3?Ye.copy(t):Ye.set(t,e,i);const n=this.parent;this.updateWorldMatrix(!0,!1),Ze.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Xe.lookAt(Ze,Ye,this.up):Xe.lookAt(Ye,Ze,this.up),this.quaternion.setFromRotationMatrix(Xe),n&&(Xe.extractRotation(n.matrixWorld),qe.setFromRotationMatrix(Xe),this.quaternion.premultiply(qe.invert()))}add(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),t.parent=this,this.children.push(t),t.dispatchEvent(ei)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)}remove(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}const e=this.children.indexOf(t);return-1!==e&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(ii)),this}removeFromParent(){const t=this.parent;return null!==t&&t.remove(this),this}clear(){for(let t=0;t<this.children.length;t++){const e=this.children[t];e.parent=null,e.dispatchEvent(ii)}return this.children.length=0,this}attach(t){return this.updateWorldMatrix(!0,!1),Xe.copy(this.matrixWorld).invert(),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),Xe.multiply(t.parent.matrixWorld)),t.applyMatrix4(Xe),this.add(t),t.updateWorldMatrix(!1,!0),this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let i=0,n=this.children.length;i<n;i++){const n=this.children[i].getObjectByProperty(t,e);if(void 0!==n)return n}}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Ze,t,Je),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Ze,Ke,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);const e=this.children;for(let i=0,n=e.length;i<n;i++)e[i].traverse(t)}traverseVisible(t){if(!1===this.visible)return;t(this);const e=this.children;for(let i=0,n=e.length;i<n;i++)e[i].traverseVisible(t)}traverseAncestors(t){const e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);const e=this.children;for(let i=0,n=e.length;i<n;i++)e[i].updateMatrixWorld(t)}updateWorldMatrix(t,e){const i=this.parent;if(!0===t&&null!==i&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===e){const t=this.children;for(let e=0,i=t.length;e<i;e++)t[e].updateWorldMatrix(!1,!0)}}toJSON(t){const e=void 0===t||"string"==typeof t,i={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},i.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});const n={};function r(e,i){return void 0===e[i.uuid]&&(e[i.uuid]=i.toJSON(t)),i.uuid}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),!0===this.castShadow&&(n.castShadow=!0),!0===this.receiveShadow&&(n.receiveShadow=!0),!1===this.visible&&(n.visible=!1),!1===this.frustumCulled&&(n.frustumCulled=!1),0!==this.renderOrder&&(n.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(n.matrixAutoUpdate=!1),this.isInstancedMesh&&(n.type="InstancedMesh",n.count=this.count,n.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(n.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?n.background=this.background.toJSON():this.background.isTexture&&(n.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&(n.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){n.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const i=e.shapes;if(Array.isArray(i))for(let e=0,n=i.length;e<n;e++){const n=i[e];r(t.shapes,n)}else r(t.shapes,i)}}if(this.isSkinnedMesh&&(n.bindMode=this.bindMode,n.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(r(t.skeletons,this.skeleton),n.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const e=[];for(let i=0,n=this.material.length;i<n;i++)e.push(r(t.materials,this.material[i]));n.material=e}else n.material=r(t.materials,this.material);if(this.children.length>0){n.children=[];for(let e=0;e<this.children.length;e++)n.children.push(this.children[e].toJSON(t).object)}if(this.animations.length>0){n.animations=[];for(let e=0;e<this.animations.length;e++){const i=this.animations[e];n.animations.push(r(t.animations,i))}}if(e){const e=s(t.geometries),n=s(t.materials),r=s(t.textures),a=s(t.images),o=s(t.shapes),l=s(t.skeletons),c=s(t.animations),h=s(t.nodes);e.length>0&&(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;e<t.children.length;e++){const i=t.children[e];this.add(i.clone())}return this}}ni.DefaultUp=new ee(0,1,0),ni.DefaultMatrixAutoUpdate=!0;const ri=new ee,si=new ee,ai=new ee,oi=new ee,li=new ee,ci=new ee,hi=new ee,ui=new ee,di=new ee,pi=new ee;class mi{constructor(t=new ee,e=new ee,i=new ee){this.a=t,this.b=e,this.c=i}static getNormal(t,e,i,n){n.subVectors(i,e),ri.subVectors(t,e),n.cross(ri);const r=n.lengthSq();return r>0?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;n<r;n++)this.array[t+n]=e.array[i+n];return this}copyArray(t){return this.array.set(t),this}copyColorsArray(t){const e=this.array;let i=0;for(let n=0,r=t.length;n<r;n++){let r=t[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",n),r=new Ht),e[i++]=r.r,e[i++]=r.g,e[i++]=r.b}return this}copyVector2sArray(t){const e=this.array;let i=0;for(let n=0,r=t.length;n<r;n++){let r=t[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",n),r=new Et),e[i++]=r.x,e[i++]=r.y}return this}copyVector3sArray(t){const e=this.array;let i=0;for(let n=0,r=t.length;n<r;n++){let r=t[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",n),r=new ee),e[i++]=r.x,e[i++]=r.y,e[i++]=r.z}return this}copyVector4sArray(t){const e=this.array;let i=0;for(let n=0,r=t.length;n<r;n++){let r=t[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",n),r=new Jt),e[i++]=r.x,e[i++]=r.y,e[i++]=r.z,e[i++]=r.w}return this}applyMatrix3(t){if(2===this.itemSize)for(let e=0,i=this.count;e<i;e++)yi.fromBufferAttribute(this,e),yi.applyMatrix3(t),this.setXY(e,yi.x,yi.y);else if(3===this.itemSize)for(let e=0,i=this.count;e<i;e++)xi.fromBufferAttribute(this,e),xi.applyMatrix3(t),this.setXYZ(e,xi.x,xi.y,xi.z);return this}applyMatrix4(t){for(let e=0,i=this.count;e<i;e++)xi.fromBufferAttribute(this,e),xi.applyMatrix4(t),this.setXYZ(e,xi.x,xi.y,xi.z);return this}applyNormalMatrix(t){for(let e=0,i=this.count;e<i;e++)xi.fromBufferAttribute(this,e),xi.applyNormalMatrix(t),this.setXYZ(e,xi.x,xi.y,xi.z);return this}transformDirection(t){for(let e=0,i=this.count;e<i;e++)xi.fromBufferAttribute(this,e),xi.transformDirection(t),this.setXYZ(e,xi.x,xi.y,xi.z);return this}set(t,e=0){return this.array.set(t,e),this}getX(t){return this.array[t*this.itemSize]}setX(t,e){return this.array[t*this.itemSize]=e,this}getY(t){return this.array[t*this.itemSize+1]}setY(t,e){return this.array[t*this.itemSize+1]=e,this}getZ(t){return this.array[t*this.itemSize+2]}setZ(t,e){return this.array[t*this.itemSize+2]=e,this}getW(t){return this.array[t*this.itemSize+3]}setW(t,e){return this.array[t*this.itemSize+3]=e,this}setXY(t,e,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this}setXYZ(t,e,i,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this}setXYZW(t,e,i,n,r){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this.array[t+3]=r,this}onUpload(t){return this.onUploadCallback=t,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return""!==this.name&&(t.name=this.name),this.usage!==ut&&(t.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(t.updateRange=this.updateRange),t}}class Mi extends _i{constructor(t,e,i){super(new Uint16Array(t),e,i)}}class bi extends _i{constructor(t,e,i){super(new Uint32Array(t),e,i)}}class wi extends _i{constructor(t,e,i){super(new Float32Array(t),e,i)}}let Si=0;const Ti=new Ie,Ai=new ni,Ei=new ee,Ci=new re,Li=new re,Ri=new ee;class Pi extends mt{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:Si++}),this.uuid=yt(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(Lt(t)?bi:Mi)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,i=0){this.groups.push({start:t,count:e,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const i=this.attributes.normal;if(void 0!==i){const e=new Ct().getNormalMatrix(t);i.applyNormalMatrix(e),i.needsUpdate=!0}const n=this.attributes.tangent;return void 0!==n&&(n.transformDirection(t),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return Ti.makeRotationFromQuaternion(t),this.applyMatrix4(Ti),this}rotateX(t){return Ti.makeRotationX(t),this.applyMatrix4(Ti),this}rotateY(t){return Ti.makeRotationY(t),this.applyMatrix4(Ti),this}rotateZ(t){return Ti.makeRotationZ(t),this.applyMatrix4(Ti),this}translate(t,e,i){return Ti.makeTranslation(t,e,i),this.applyMatrix4(Ti),this}scale(t,e,i){return Ti.makeScale(t,e,i),this.applyMatrix4(Ti),this}lookAt(t){return Ai.lookAt(t),Ai.updateMatrix(),this.applyMatrix4(Ai.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Ei).negate(),this.translate(Ei.x,Ei.y,Ei.z),this}setFromPoints(t){const e=[];for(let i=0,n=t.length;i<n;i++){const n=t[i];e.push(n.x,n.y,n.z||0)}return this.setAttribute("position",new wi(e,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new re);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".",this),void this.boundingBox.set(new ee(-1/0,-1/0,-1/0),new ee(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,i=e.length;t<i;t++){const i=e[t];Ci.setFromBufferAttribute(i),this.morphTargetsRelative?(Ri.addVectors(this.boundingBox.min,Ci.min),this.boundingBox.expandByPoint(Ri),Ri.addVectors(this.boundingBox.max,Ci.max),this.boundingBox.expandByPoint(Ri)):(this.boundingBox.expandByPoint(Ci.min),this.boundingBox.expandByPoint(Ci.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error("THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.",this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new we);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".",this),void this.boundingSphere.set(new ee,1/0);if(t){const i=this.boundingSphere.center;if(Ci.setFromBufferAttribute(t),e)for(let t=0,i=e.length;t<i;t++){const i=e[t];Li.setFromBufferAttribute(i),this.morphTargetsRelative?(Ri.addVectors(Ci.min,Li.min),Ci.expandByPoint(Ri),Ri.addVectors(Ci.max,Li.max),Ci.expandByPoint(Ri)):(Ci.expandByPoint(Li.min),Ci.expandByPoint(Li.max))}Ci.getCenter(i);let n=0;for(let e=0,r=t.count;e<r;e++)Ri.fromBufferAttribute(t,e),n=Math.max(n,i.distanceToSquared(Ri));if(e)for(let r=0,s=e.length;r<s;r++){const s=e[r],a=this.morphTargetsRelative;for(let e=0,r=s.count;e<r;e++)Ri.fromBufferAttribute(s,e),a&&(Ei.fromBufferAttribute(t,e),Ri.add(Ei)),n=Math.max(n,i.distanceToSquared(Ri))}this.boundingSphere.radius=Math.sqrt(n),isNaN(this.boundingSphere.radius)&&console.error("THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.",this)}}computeTangents(){const t=this.index,e=this.attributes;if(null===t||void 0===e.position||void 0===e.normal||void 0===e.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const i=t.array,n=e.position.array,r=e.normal.array,s=e.uv.array,a=n.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new _i(new Float32Array(4*a),4));const o=this.getAttribute("tangent").array,l=[],c=[];for(let t=0;t<a;t++)l[t]=new ee,c[t]=new ee;const h=new ee,u=new ee,d=new ee,p=new Et,m=new Et,f=new Et,g=new ee,v=new ee;function x(t,e,i){h.fromArray(n,3*t),u.fromArray(n,3*e),d.fromArray(n,3*i),p.fromArray(s,2*t),m.fromArray(s,2*e),f.fromArray(s,2*i),u.sub(h),d.sub(h),m.sub(p),f.sub(p);const r=1/(m.x*f.y-f.x*m.y);isFinite(r)&&(g.copy(u).multiplyScalar(f.y).addScaledVector(d,-m.y).multiplyScalar(r),v.copy(d).multiplyScalar(m.x).addScaledVector(u,-f.x).multiplyScalar(r),l[t].add(g),l[e].add(g),l[i].add(g),c[t].add(v),c[e].add(v),c[i].add(v))}let y=this.groups;0===y.length&&(y=[{start:0,count:i.length}]);for(let t=0,e=y.length;t<e;++t){const e=y[t],n=e.start;for(let t=n,r=n+e.count;t<r;t+=3)x(i[t+0],i[t+1],i[t+2])}const _=new ee,M=new ee,b=new ee,w=new ee;function S(t){b.fromArray(r,3*t),w.copy(b);const e=l[t];_.copy(e),_.sub(b.multiplyScalar(b.dot(e))).normalize(),M.crossVectors(w,e);const i=M.dot(c[t])<0?-1:1;o[4*t]=_.x,o[4*t+1]=_.y,o[4*t+2]=_.z,o[4*t+3]=i}for(let t=0,e=y.length;t<e;++t){const e=y[t],n=e.start;for(let t=n,r=n+e.count;t<r;t+=3)S(i[t+0]),S(i[t+1]),S(i[t+2])}}computeVertexNormals(){const t=this.index,e=this.getAttribute("position");if(void 0!==e){let i=this.getAttribute("normal");if(void 0===i)i=new _i(new Float32Array(3*e.count),3),this.setAttribute("normal",i);else for(let t=0,e=i.count;t<e;t++)i.setXYZ(t,0,0,0);const n=new ee,r=new ee,s=new ee,a=new ee,o=new ee,l=new ee,c=new ee,h=new ee;if(t)for(let u=0,d=t.count;u<d;u+=3){const d=t.getX(u+0),p=t.getX(u+1),m=t.getX(u+2);n.fromBufferAttribute(e,d),r.fromBufferAttribute(e,p),s.fromBufferAttribute(e,m),c.subVectors(s,r),h.subVectors(n,r),c.cross(h),a.fromBufferAttribute(i,d),o.fromBufferAttribute(i,p),l.fromBufferAttribute(i,m),a.add(c),o.add(c),l.add(c),i.setXYZ(d,a.x,a.y,a.z),i.setXYZ(p,o.x,o.y,o.z),i.setXYZ(m,l.x,l.y,l.z)}else for(let t=0,a=e.count;t<a;t+=3)n.fromBufferAttribute(e,t+0),r.fromBufferAttribute(e,t+1),s.fromBufferAttribute(e,t+2),c.subVectors(s,r),h.subVectors(n,r),c.cross(h),i.setXYZ(t+0,c.x,c.y,c.z),i.setXYZ(t+1,c.x,c.y,c.z),i.setXYZ(t+2,c.x,c.y,c.z);this.normalizeNormals(),i.needsUpdate=!0}}merge(t,e){if(!t||!t.isBufferGeometry)return void console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",t);void 0===e&&(e=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));const i=this.attributes;for(const n in i){if(void 0===t.attributes[n])continue;const r=i[n].array,s=t.attributes[n],a=s.array,o=s.itemSize*e,l=Math.min(a.length,r.length-o);for(let t=0,e=o;t<l;t++,e++)r[e]=a[t]}return this}normalizeNormals(){const t=this.attributes.normal;for(let e=0,i=t.count;e<i;e++)Ri.fromBufferAttribute(t,e),Ri.normalize(),t.setXYZ(e,Ri.x,Ri.y,Ri.z)}toNonIndexed(){function t(t,e){const i=t.array,n=t.itemSize,r=t.normalized,s=new i.constructor(e.length*n);let a=0,o=0;for(let r=0,l=e.length;r<l;r++){a=t.isInterleavedBufferAttribute?e[r]*t.data.stride+t.offset:e[r]*n;for(let t=0;t<n;t++)s[o++]=i[a++]}return new _i(s,n,r)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const e=new Pi,i=this.index.array,n=this.attributes;for(const r in n){const s=t(n[r],i);e.setAttribute(r,s)}const r=this.morphAttributes;for(const n in r){const s=[],a=r[n];for(let e=0,n=a.length;e<n;e++){const n=t(a[e],i);s.push(n)}e.morphAttributes[n]=s}e.morphTargetsRelative=this.morphTargetsRelative;const s=this.groups;for(let t=0,i=s.length;t<i;t++){const i=s[t];e.addGroup(i.start,i.count,i.materialIndex)}return e}toJSON(){const t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),Object.keys(this.userData).length>0&&(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;e<n;e++){const n=i[e];s.push(n.toJSON(t.data))}s.length>0&&(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;t<r;t++)i.push(n[t].clone(e));this.morphAttributes[t]=i}this.morphTargetsRelative=t.morphTargetsRelative;const s=t.groups;for(let t=0,e=s.length;t<e;t++){const e=s[t];this.addGroup(e.start,e.count,e.materialIndex)}const a=t.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=t.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,void 0!==t.parameters&&(this.parameters=Object.assign({},t.parameters)),this}dispose(){this.dispatchEvent({type:"dispose"})}}const Ii=new Ie,Di=new Pe,Ni=new we,Oi=new ee,zi=new ee,Fi=new ee,Bi=new ee,Ui=new ee,ki=new ee,Gi=new ee,Vi=new ee,Hi=new ee,Wi=new Et,ji=new Et,qi=new Et,Xi=new ee,Yi=new ee;class Zi extends ni{constructor(t=new Pi,e=new vi){super(),this.isMesh=!0,this.type="Mesh",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=t.material,this.geometry=t.geometry,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;t<e;t++){const e=i[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}raycast(t,e){const i=this.geometry,n=this.material,r=this.matrixWorld;if(void 0===n)return;if(null===i.boundingSphere&&i.computeBoundingSphere(),Ni.copy(i.boundingSphere),Ni.applyMatrix4(r),!1===t.ray.intersectsSphere(Ni))return;if(Ii.copy(r).invert(),Di.copy(t.ray).applyMatrix4(Ii),null!==i.boundingBox&&!1===Di.intersectsBox(i.boundingBox))return;let s;const a=i.index,o=i.attributes.position,l=i.morphAttributes.position,c=i.morphTargetsRelative,h=i.attributes.uv,u=i.attributes.uv2,d=i.groups,p=i.drawRange;if(null!==a){if(Array.isArray(n))for(let i=0,r=d.length;i<r;i++){const r=d[i],m=n[r.materialIndex];for(let i=Math.max(r.start,p.start),n=Math.min(a.count,Math.min(r.start+r.count,p.start+p.count));i<n;i+=3){const n=a.getX(i),d=a.getX(i+1),p=a.getX(i+2);s=Ji(this,m,t,Di,o,l,c,h,u,n,d,p),s&&(s.faceIndex=Math.floor(i/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let i=Math.max(0,p.start),r=Math.min(a.count,p.start+p.count);i<r;i+=3){const r=a.getX(i),d=a.getX(i+1),p=a.getX(i+2);s=Ji(this,n,t,Di,o,l,c,h,u,r,d,p),s&&(s.faceIndex=Math.floor(i/3),e.push(s))}}}else if(void 0!==o)if(Array.isArray(n))for(let i=0,r=d.length;i<r;i++){const r=d[i],a=n[r.materialIndex];for(let i=Math.max(r.start,p.start),n=Math.min(o.count,Math.min(r.start+r.count,p.start+p.count));i<n;i+=3){s=Ji(this,a,t,Di,o,l,c,h,u,i,i+1,i+2),s&&(s.faceIndex=Math.floor(i/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let i=Math.max(0,p.start),r=Math.min(o.count,p.start+p.count);i<r;i+=3){s=Ji(this,n,t,Di,o,l,c,h,u,i,i+1,i+2),s&&(s.faceIndex=Math.floor(i/3),e.push(s))}}}}function Ji(t,e,i,n,r,s,a,o,l,c,h,u){Oi.fromBufferAttribute(r,c),zi.fromBufferAttribute(r,h),Fi.fromBufferAttribute(r,u);const d=t.morphTargetInfluences;if(s&&d){Gi.set(0,0,0),Vi.set(0,0,0),Hi.set(0,0,0);for(let t=0,e=s.length;t<e;t++){const e=d[t],i=s[t];0!==e&&(Bi.fromBufferAttribute(i,c),Ui.fromBufferAttribute(i,h),ki.fromBufferAttribute(i,u),a?(Gi.addScaledVector(Bi,e),Vi.addScaledVector(Ui,e),Hi.addScaledVector(ki,e)):(Gi.addScaledVector(Bi.sub(Oi),e),Vi.addScaledVector(Ui.sub(zi),e),Hi.addScaledVector(ki.sub(Fi),e)))}Oi.add(Gi),zi.add(Vi),Fi.add(Hi)}t.isSkinnedMesh&&(t.boneTransform(c,Oi),t.boneTransform(h,zi),t.boneTransform(u,Fi));const p=function(t,e,i,n,r,s,a,o){let l;if(l=1===e.side?n.intersectTriangle(a,s,r,!0,o):n.intersectTriangle(r,s,a,2!==e.side,o),null===l)return null;Yi.copy(o),Yi.applyMatrix4(t.matrixWorld);const c=i.ray.origin.distanceTo(Yi);return c<i.near||c>i.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;s<S;s++){const a=s*y-M;for(let o=0;o<w;o++){const u=o*x-_;E[t]=u*n,E[e]=a*r,E[i]=b,l.push(E.x,E.y,E.z),E[t]=0,E[e]=0,E[i]=m>0?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;t<g;t++)for(let e=0;e<f;e++){const i=u+e+w*t,n=u+e+w*(t+1),r=u+(e+1)+w*(t+1),s=u+(e+1)+w*t;o.push(i,n,s),o.push(n,r,s),A+=6}a.addGroup(d,A,v),d+=A,u+=T}p("z","y","x",-1,-1,i,e,t,s,r,0),p("z","y","x",1,-1,i,e,-t,s,r,1),p("x","z","y",1,1,t,i,e,n,s,2),p("x","z","y",1,-1,t,i,-e,n,s,3),p("x","y","z",1,-1,t,e,i,n,r,4),p("x","y","z",-1,-1,t,e,-i,n,r,5),this.setIndex(o),this.setAttribute("position",new wi(l,3)),this.setAttribute("normal",new wi(c,3)),this.setAttribute("uv",new wi(h,2))}static fromJSON(t){return new Ki(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}}function Qi(t){const e={};for(const i in t){e[i]={};for(const n in t[i]){const r=t[i][n];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?e[i][n]=r.clone():Array.isArray(r)?e[i][n]=r.slice():e[i][n]=r}}return e}function $i(t){const e={};for(let i=0;i<t.length;i++){const n=Qi(t[i]);for(const t in n)e[t]=n[t]}return e}const tn={clone:Qi,merge:$i};class en extends gi{constructor(t){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==t&&(void 0!==t.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(t))}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=Qi(t.uniforms),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.fog=t.fog,this.lights=t.lights,this.clipping=t.clipping,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(const i in this.uniforms){const n=this.uniforms[i].value;n&&n.isTexture?e.uniforms[i]={type:"t",value:n.toJSON(t).uuid}:n&&n.isColor?e.uniforms[i]={type:"c",value:n.getHex()}:n&&n.isVector2?e.uniforms[i]={type:"v2",value:n.toArray()}:n&&n.isVector3?e.uniforms[i]={type:"v3",value:n.toArray()}:n&&n.isVector4?e.uniforms[i]={type:"v4",value:n.toArray()}:n&&n.isMatrix3?e.uniforms[i]={type:"m3",value:n.toArray()}:n&&n.isMatrix4?e.uniforms[i]={type:"m4",value:n.toArray()}:e.uniforms[i]={value:n}}Object.keys(this.defines).length>0&&(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 <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\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 <common>\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)<n)return!1}return!0}intersectsBox(t){const e=this.planes;for(let i=0;i<6;i++){const n=e[i];if(mn.x=n.normal.x>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<e.version)&&n.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version}))}e.isInterleavedBufferAttribute&&(e=e.data);const s=n.get(e);void 0===s?n.set(e,function(e,n){const r=e.array,s=e.usage,a=t.createBuffer();let o;if(t.bindBuffer(n,a),t.bufferData(n,r,s),e.onUploadCallback(),r instanceof Float32Array)o=5126;else if(r instanceof Uint16Array){if(e.isFloat16BufferAttribute){if(!i)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");o=5131}else o=5123;}else if(r instanceof Int16Array)o=5122;else if(r instanceof Uint32Array)o=5125;else if(r instanceof Int32Array)o=5124;else if(r instanceof Int8Array)o=5120;else if(r instanceof Uint8Array)o=5121;else{if(!(r instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+r);o=5121}return{buffer:a,type:o,bytesPerElement:r.BYTES_PER_ELEMENT,version:e.version}}(e,r)):s.version<e.version&&(!function(e,n,r){const s=n.array,a=n.updateRange;t.bindBuffer(r,e),-1===a.count?t.bufferSubData(r,0,s):(i?t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count)),a.count=-1)}(s.buffer,e,r),s.version=e.version)}}}class xn extends Pi{constructor(t=1,e=1,i=1,n=1){super(),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:i,heightSegments:n};const r=t/2,s=e/2,a=Math.floor(i),o=Math.floor(n),l=a+1,c=o+1,h=t/a,u=e/o,d=[],p=[],m=[],f=[];for(let t=0;t<c;t++){const e=t*u-s;for(let i=0;i<l;i++){const n=i*h-r;p.push(n,-e,0),m.push(0,0,1),f.push(i/a),f.push(1-t/o)}}for(let t=0;t<o;t++)for(let e=0;e<a;e++){const i=e+l*t,n=e+l*(t+1),r=e+1+l*(t+1),s=e+1+l*t;d.push(i,n,s),d.push(n,r,s)}this.setIndex(d),this.setAttribute("position",new wi(p,3)),this.setAttribute("normal",new wi(m,3)),this.setAttribute("uv",new wi(f,2))}static fromJSON(t){return new xn(t.width,t.height,t.widthSegments,t.heightSegments)}}const yn={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n\t\tfloat x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n\t\tfloat x2 = x * x;\n\t\tfloat x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n\t\treturn ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\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 dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\n#ifdef USE_IRIDESCENCE\nvec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\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 dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = mix(F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence);\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\n#endif\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 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 <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\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 <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\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 <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\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 <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\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 <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\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 <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\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 <lightmap_fragment>\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 <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\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 <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\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 <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\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 <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\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 <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\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 <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\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 <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\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 <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\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<r;t++)e[t]=0,i[t]=0,n[t]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:e,enabledAttributes:i,attributeDivisors:n,object:t,attributes:{},index:null}}function m(){const t=c.newAttributes;for(let e=0,i=t.length;e<i;e++)t[e]=0}function f(t){g(t,0)}function g(i,r){const s=c.newAttributes,a=c.enabledAttributes,o=c.attributeDivisors;if(s[i]=1,0===a[i]&&(t.enableVertexAttribArray(i),a[i]=1),o[i]!==r){(n.isWebGL2?t:e.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](i,r),o[i]=r}}function v(){const e=c.newAttributes,i=c.enabledAttributes;for(let n=0,r=i.length;n<r;n++)i[n]!==e[n]&&(t.disableVertexAttribArray(n),i[n]=0)}function x(e,i,r,s,a,o){!0!==n.isWebGL2||5124!==r&&5125!==r?t.vertexAttribPointer(e,i,r,s,a,o):t.vertexAttribIPointer(e,i,r,a,o)}function y(){_(),h=!0,c!==l&&(c=l,u(c.object))}function _(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(r,l,d,y,_){let M=!1;if(a){const e=function(e,i,r){const a=!0===r.wireframe;let l=o[e.id];void 0===l&&(l={},o[e.id]=l);let c=l[i.id];void 0===c&&(c={},l[i.id]=c);let h=c[a];void 0===h&&(h=p(n.isWebGL2?t.createVertexArray():s.createVertexArrayOES()),c[a]=h);return h}(y,d,l);c!==e&&(c=e,u(c.object)),M=function(t,e,i,n){const r=c.attributes,s=e.attributes;let a=0;const o=i.getAttributes();for(const e in o){if(o[e].location>=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;t<n.locationSize;t++)g(n.location+t,i.meshPerAttribute);!0!==r.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=i.meshPerAttribute*i.count)}else for(let t=0;t<n.locationSize;t++)f(n.location+t);t.bindBuffer(34962,c);for(let t=0;t<n.locationSize;t++)x(n.location+t,a/n.locationSize,h,e,l*u,(d+a/n.locationSize*t)*u)}else{if(s.isInstancedBufferAttribute){for(let t=0;t<n.locationSize;t++)g(n.location+t,s.meshPerAttribute);!0!==r.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let t=0;t<n.locationSize;t++)f(n.location+t);t.bindBuffer(34962,c);for(let t=0;t<n.locationSize;t++)x(n.location+t,a/n.locationSize,h,e,a*u,a/n.locationSize*t*u)}}else if(void 0!==h){const i=h[e];if(void 0!==i)switch(i.length){case 2:t.vertexAttrib2fv(n.location,i);break;case 3:t.vertexAttrib3fv(n.location,i);break;case 4:t.vertexAttrib4fv(n.location,i);break;default:t.vertexAttrib1fv(n.location,i);}}}}v()}(r,l,d,y),null!==_&&t.bindBuffer(34963,i.get(_).buffer))},reset:y,resetDefaultState:_,dispose:function(){y();for(const t in o){const e=o[t];for(const t in e){const i=e[t];for(const t in i)d(i[t].object),delete i[t];delete e[t]}delete o[t]}},releaseStatesOfGeometry:function(t){if(void 0===o[t.id])return;const e=o[t.id];for(const t in e){const i=e[t];for(const t in i)d(i[t].object),delete i[t];delete e[t]}delete o[t.id]},releaseStatesOfProgram:function(t){for(const e in o){const i=o[e];if(void 0===i[t.id])continue;const n=i[t.id];for(const t in n)d(n[t].object),delete n[t];delete i[t.id]}},initAttributes:m,enableAttribute:f,disableUnusedAttributes:v}}function Sn(t,e,i,n){const r=n.isWebGL2;let s;this.setMode=function(t){s=t},this.render=function(e,n){t.drawArrays(s,e,n),i.update(n,s,1)},this.renderInstances=function(n,a,o){if(0===o)return;let l,c;if(r)l=t,c="drawArraysInstanced";else if(l=e.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](s,n,a,o),i.update(a,s,o)}}function Tn(t,e,i){let n;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&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.length<e)&&(c=new Float32Array(e));for(let e=0,i=n;e!==s;++e,i+=4)a.copy(t[e]).applyMatrix4(r,o),a.normal.toArray(c,i),c[i+3]=a.constant}l.value=c,l.needsUpdate=!0}return e.numPlanes=s,e.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(t,e,s){const a=0!==t.length||e||0!==n||r;return r=e,i=h(t,s,0),n=t.length,a},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1,c()},this.setState=function(e,a,o){const u=e.clippingPlanes,d=e.clipIntersection,p=e.clipShadows,m=t.get(e);if(!r||null===u||0===u.length||s&&!p)s?h(null):c();else{const t=s?0:n,e=4*t;let r=m.clippingState||null;l.value=r,r=h(u,a,e,o);for(let t=0;t!==e;++t)r[t]=i[t];m.clippingState=r,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=t}}}function En(t){let e=new WeakMap;function i(t,e){return e===a?t.mapping=r:e===o&&(t.mapping=s),t}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(r){if(r&&r.isTexture&&!1===r.isRenderTargetTexture){const s=r.mapping;if(s===a||s===o){if(e.has(r)){return i(e.get(r).texture,r.mapping)}{const s=r.image;if(s&&s.height>0){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;t<this._lodPlanes.length;t++)this._lodPlanes[t].dispose()}_cleanup(t){this._renderer.setRenderTarget(Dn),t.scissorTest=!1,Un(t,0,0,t.width,t.height)}_fromTexture(t,e){t.mapping===r||t.mapping===s?this._setSize(0===t.image.length?16:t.image[0].width||t.image[0].image.width):this._setSize(t.image.width/4),Dn=this._renderer.getRenderTarget();const i=e||this._allocateTargets();return this._textureToCubeUV(t,i),this._applyPMREM(i),this._cleanup(i),i}_allocateTargets(){const t=3*Math.max(this._cubeSize,112),e=4*this._cubeSize,i={magFilter:f,minFilter:f,generateMipmaps:!1,type:b,format:S,encoding:at,depthBuffer:!1},n=Bn(t,e,i);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==t){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=Bn(t,e,i);const{_lodMax:n}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(t){const e=[],i=[],n=[];let r=t;const s=t-4+1+Ln.length;for(let a=0;a<s;a++){const s=Math.pow(2,r);i.push(s);let o=1/s;a>t-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;t<d;t++){const e=t%3*2/3-1,i=t>2?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 <cube_uv_reflection_fragment>\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;e<this._lodPlanes.length;e++){const i=Math.sqrt(this._sigmas[e]*this._sigmas[e]-this._sigmas[e-1]*this._sigmas[e-1]),n=zn[(e-1)%zn.length];this._blur(t,e-1,e,i,n)}e.autoClear=i}_blur(t,e,i,n,r){const s=this._pingPongRenderTarget;this._halfBlur(t,s,e,i,n,"latitudinal",r),this._halfBlur(s,t,i,i,n,"longitudinal",r)}_halfBlur(t,e,i,n,r,s,a){const o=this._renderer,l=this._blurMaterial;"latitudinal"!==s&&"longitudinal"!==s&&console.error("blur direction must be either latitudinal or longitudinal!");const c=new Zi(this._lodPlanes[n],l),h=l.uniforms,u=this._sizeLods[i]-1,d=isFinite(r)?Math.PI/(2*u):2*Math.PI/39,p=r/d,m=isFinite(r)?1+Math.floor(3*p):Rn;m>Rn&&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;t<Rn;++t){const e=t/p,i=Math.exp(-e*e/2);f.push(i),0===t?g+=i:t<m&&(g+=2*i)}for(let t=0;t<f.length;t++)f[t]=f[t]/g;h.envMap.value=t.texture,h.samples.value=m,h.weights.value=f,h.latitudinal.value="latitudinal"===s,a&&(h.poleAxis.value=a);const{_lodMax:v}=this;h.dTheta.value=d,h.mipInt.value=v-i;const x=this._sizeLods[n];Un(e,3*x*(n>v-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 <common>\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;n<i;n++)void 0!==t[n]&&e++;return e===i}(r)){null===i&&(i=new Fn(t));const r=h?i.fromEquirectangular(l):i.fromCubemap(l);return e.set(l,r),l.addEventListener("dispose",n),r.texture}return null}}}return l},dispose:function(){e=new WeakMap,null!==i&&(i.dispose(),i=null)}}}function Wn(t){const e={};function i(i){if(void 0!==e[i])return e[i];let n;switch(i){case"WEBGL_depth_texture":n=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=t.getExtension(i);}return e[i]=n,n}return{has:function(t){return null!==i(t)},init:function(t){t.isWebGL2?i("EXT_color_buffer_float"):(i("WEBGL_depth_texture"),i("OES_texture_float"),i("OES_texture_half_float"),i("OES_texture_half_float_linear"),i("OES_standard_derivatives"),i("OES_element_index_uint"),i("OES_vertex_array_object"),i("ANGLE_instanced_arrays")),i("OES_texture_float_linear"),i("EXT_color_buffer_half_float"),i("WEBGL_multisampled_render_to_texture")},get:function(t){const e=i(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function jn(t,e,i,n){const r={},s=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener("dispose",a),delete r[o.id];const l=s.get(o);l&&(e.remove(l),s.delete(o)),n.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,i.memory.geometries--}function o(t){const i=[],n=t.index,r=t.attributes.position;let a=0;if(null!==n){const t=n.array;a=n.version;for(let e=0,n=t.length;e<n;e+=3){const n=t[e+0],r=t[e+1],s=t[e+2];i.push(n,r,r,s,s,n)}}else{const t=r.array;a=r.version;for(let e=0,n=t.length/3-1;e<n;e+=3){const t=e+0,n=e+1,r=e+2;i.push(t,n,n,r,r,t)}}const o=new(Lt(i)?bi:Mi)(i,1);o.version=a;const l=s.get(t);l&&e.remove(l),s.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener("dispose",a),r[e.id]=!0,i.memory.geometries++),e},update:function(t){const i=t.attributes;for(const t in i)e.update(i[t],34962);const n=t.morphAttributes;for(const t in n){const i=n[t];for(let t=0,n=i.length;t<n;t++)e.update(i[t],34962)}},getWireframeAttribute:function(t){const e=s.get(t);if(e){const i=t.index;null!==i&&e.version<i.version&&o(t)}else o(t);return s.get(t)}}}function qn(t,e,i,n){const r=n.isWebGL2;let s,a,o;this.setMode=function(t){s=t},this.setIndex=function(t){a=t.type,o=t.bytesPerElement},this.render=function(e,n){t.drawElements(s,n,a,e*o),i.update(n,s,1)},this.renderInstances=function(n,l,c){if(0===c)return;let h,u;if(r)h=t,u="drawElementsInstanced";else if(h=e.get("ANGLE_instanced_arrays"),u="drawElementsInstancedANGLE",null===h)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[u](s,l,a,n*o,c),i.update(l,s,c)}}function Xn(t){const e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(t,i,n){switch(e.calls++,i){case 4:e.triangles+=n*(t/3);break;case 1:e.lines+=n*(t/2);break;case 3:e.lines+=n*(t-1);break;case 2:e.lines+=n*t;break;case 0:e.points+=n*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",i);}}}}function Yn(t,e){return t[0]-e[0]}function Zn(t,e){return Math.abs(e[1])-Math.abs(t[1])}function Jn(t,e){let i=1;const n=e.isInterleavedBufferAttribute?e.data.array:e.array;n instanceof Int8Array?i=127:n instanceof Uint8Array?i=255:n instanceof Uint16Array?i=65535:n instanceof Int16Array?i=32767:n instanceof Int32Array?i=2147483647:console.error("THREE.WebGLMorphtargets: Unsupported morph attribute data type: ",n),t.divideScalar(i)}function Kn(t,e,i){const n={},r=new Float32Array(8),s=new WeakMap,a=new Jt,o=[];for(let t=0;t<8;t++)o[t]=[t,0];return{update:function(l,c,h,u){const d=l.morphTargetInfluences;if(!0===e.isWebGL2){const p=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,m=void 0!==p?p.length:0;let f=s.get(c);if(void 0===f||f.count!==m){void 0!==f&&f.texture.dispose();const x=void 0!==c.morphAttributes.position,y=void 0!==c.morphAttributes.normal,_=void 0!==c.morphAttributes.color,b=c.morphAttributes.position||[],w=c.morphAttributes.normal||[],S=c.morphAttributes.color||[];let T=0;!0===x&&(T=1),!0===y&&(T=2),!0===_&&(T=3);let A=c.attributes.position.count*T,E=1;A>e.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;I<m;I++){const D=b[I],N=w[I],O=S[I],z=A*E*4*I;for(let F=0;F<D.count;F++){const B=F*R;!0===x&&(a.fromBufferAttribute(D,F),!0===D.normalized&&Jn(a,D),C[z+B+0]=a.x,C[z+B+1]=a.y,C[z+B+2]=a.z,C[z+B+3]=0),!0===y&&(a.fromBufferAttribute(N,F),!0===N.normalized&&Jn(a,N),C[z+B+4]=a.x,C[z+B+5]=a.y,C[z+B+6]=a.z,C[z+B+7]=0),!0===_&&(a.fromBufferAttribute(O,F),!0===O.normalized&&Jn(a,O),C[z+B+8]=a.x,C[z+B+9]=a.y,C[z+B+10]=a.z,C[z+B+11]=4===O.itemSize?a.w:1)}}function P(){L.dispose(),s.delete(c),c.removeEventListener("dispose",P)}f={count:m,texture:L,size:new Et(A,E)},s.set(c,f),c.addEventListener("dispose",P)}let g=0;for(let U=0;U<d.length;U++)g+=d[U];const v=c.morphTargetsRelative?1:1-g;u.getUniforms().setValue(t,"morphTargetBaseInfluence",v),u.getUniforms().setValue(t,"morphTargetInfluences",d),u.getUniforms().setValue(t,"morphTargetsTexture",f.texture,i),u.getUniforms().setValue(t,"morphTargetsTextureSize",f.size)}else{const k=void 0===d?0:d.length;let G=n[c.id];if(void 0===G||G.length!==k){G=[];for(let q=0;q<k;q++)G[q]=[q,0];n[c.id]=G}for(let X=0;X<k;X++){const Y=G[X];Y[0]=X,Y[1]=d[X]}G.sort(Zn);for(let Z=0;Z<8;Z++)Z<k&&G[Z][1]?(o[Z][0]=G[Z][0],o[Z][1]=G[Z][1]):(o[Z][0]=Number.MAX_SAFE_INTEGER,o[Z][1]=0);o.sort(Yn);const V=c.morphAttributes.position,H=c.morphAttributes.normal;let W=0;for(let J=0;J<8;J++){const K=o[J],Q=K[0],$=K[1];Q!==Number.MAX_SAFE_INTEGER&&$?(V&&c.getAttribute("morphTarget"+J)!==V[Q]&&c.setAttribute("morphTarget"+J,V[Q]),H&&c.getAttribute("morphNormal"+J)!==H[Q]&&c.setAttribute("morphNormal"+J,H[Q]),r[J]=$,W+=$):(V&&!0===c.hasAttribute("morphTarget"+J)&&c.deleteAttribute("morphTarget"+J),H&&!0===c.hasAttribute("morphNormal"+J)&&c.deleteAttribute("morphNormal"+J),r[J]=0)}const j=c.morphTargetsRelative?1:1-W;u.getUniforms().setValue(t,"morphTargetBaseInfluence",j),u.getUniforms().setValue(t,"morphTargetInfluences",r)}}}}function Qn(t,e,i,n){let r=new WeakMap;function s(t){const e=t.target;e.removeEventListener("dispose",s),i.remove(e.instanceMatrix),null!==e.instanceColor&&i.remove(e.instanceColor)}return{update:function(t){const a=n.render.frame,o=t.geometry,l=e.get(t,o);return r.get(l)!==a&&(e.update(l),r.set(l,a)),t.isInstancedMesh&&(!1===t.hasEventListener("dispose",s)&&t.addEventListener("dispose",s),i.update(t.instanceMatrix,34962),null!==t.instanceColor&&i.update(t.instanceColor,34962)),l},dispose:function(){r=new WeakMap}}}const $n=new Zt,tr=new Qt,er=new $t,ir=new on,nr=[],rr=[],sr=new Float32Array(16),ar=new Float32Array(9),or=new Float32Array(4);function lr(t,e,i){const n=t[0];if(n<=0||n>0)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<n;i++)if(t[i]!==e[i])return!1;return!0}function hr(t,e){for(let i=0,n=e.length;i<n;i++)t[i]=e[i]}function ur(t,e){let i=rr[e];void 0===i&&(i=new Int32Array(e),rr[e]=i);for(let n=0;n!==e;++n)i[n]=t.allocateTextureUnit();return i}function dr(t,e){const i=this.cache;i[0]!==e&&(t.uniform1f(this.addr,e),i[0]=e)}function pr(t,e){const i=this.cache;if(void 0!==e.x)i[0]===e.x&&i[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),i[0]=e.x,i[1]=e.y);else{if(cr(i,e))return;t.uniform2fv(this.addr,e),hr(i,e)}}function mr(t,e){const i=this.cache;if(void 0!==e.x)i[0]===e.x&&i[1]===e.y&&i[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),i[0]=e.x,i[1]=e.y,i[2]=e.z);else if(void 0!==e.r)i[0]===e.r&&i[1]===e.g&&i[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),i[0]=e.r,i[1]=e.g,i[2]=e.b);else{if(cr(i,e))return;t.uniform3fv(this.addr,e),hr(i,e)}}function fr(t,e){const i=this.cache;if(void 0!==e.x)i[0]===e.x&&i[1]===e.y&&i[2]===e.z&&i[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),i[0]=e.x,i[1]=e.y,i[2]=e.z,i[3]=e.w);else{if(cr(i,e))return;t.uniform4fv(this.addr,e),hr(i,e)}}function gr(t,e){const i=this.cache,n=e.elements;if(void 0===n){if(cr(i,e))return;t.uniformMatrix2fv(this.addr,!1,e),hr(i,e)}else{if(cr(i,n))return;or.set(n),t.uniformMatrix2fv(this.addr,!1,or),hr(i,n)}}function vr(t,e){const i=this.cache,n=e.elements;if(void 0===n){if(cr(i,e))return;t.uniformMatrix3fv(this.addr,!1,e),hr(i,e)}else{if(cr(i,n))return;ar.set(n),t.uniformMatrix3fv(this.addr,!1,ar),hr(i,n)}}function xr(t,e){const i=this.cache,n=e.elements;if(void 0===n){if(cr(i,e))return;t.uniformMatrix4fv(this.addr,!1,e),hr(i,e)}else{if(cr(i,n))return;sr.set(n),t.uniformMatrix4fv(this.addr,!1,sr),hr(i,n)}}function yr(t,e){const i=this.cache;i[0]!==e&&(t.uniform1i(this.addr,e),i[0]=e)}function _r(t,e){const i=this.cache;cr(i,e)||(t.uniform2iv(this.addr,e),hr(i,e))}function Mr(t,e){const i=this.cache;cr(i,e)||(t.uniform3iv(this.addr,e),hr(i,e))}function br(t,e){const i=this.cache;cr(i,e)||(t.uniform4iv(this.addr,e),hr(i,e))}function wr(t,e){const i=this.cache;i[0]!==e&&(t.uniform1ui(this.addr,e),i[0]=e)}function Sr(t,e){const i=this.cache;cr(i,e)||(t.uniform2uiv(this.addr,e),hr(i,e))}function Tr(t,e){const i=this.cache;cr(i,e)||(t.uniform3uiv(this.addr,e),hr(i,e))}function Ar(t,e){const i=this.cache;cr(i,e)||(t.uniform4uiv(this.addr,e),hr(i,e))}function Er(t,e,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTexture2D(e||$n,r)}function Cr(t,e,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTexture3D(e||er,r)}function Lr(t,e,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTextureCube(e||ir,r)}function Rr(t,e,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(t.uniform1i(this.addr,r),n[0]=r),i.setTexture2DArray(e||tr,r)}function Pr(t,e){t.uniform1fv(this.addr,e)}function Ir(t,e){const i=lr(e,this.size,2);t.uniform2fv(this.addr,i)}function Dr(t,e){const i=lr(e,this.size,3);t.uniform3fv(this.addr,i)}function Nr(t,e){const i=lr(e,this.size,4);t.uniform4fv(this.addr,i)}function Or(t,e){const i=lr(e,this.size,4);t.uniformMatrix2fv(this.addr,!1,i)}function zr(t,e){const i=lr(e,this.size,9);t.uniformMatrix3fv(this.addr,!1,i)}function Fr(t,e){const i=lr(e,this.size,16);t.uniformMatrix4fv(this.addr,!1,i)}function Br(t,e){t.uniform1iv(this.addr,e)}function Ur(t,e){t.uniform2iv(this.addr,e)}function kr(t,e){t.uniform3iv(this.addr,e)}function Gr(t,e){t.uniform4iv(this.addr,e)}function Vr(t,e){t.uniform1uiv(this.addr,e)}function Hr(t,e){t.uniform2uiv(this.addr,e)}function Wr(t,e){t.uniform3uiv(this.addr,e)}function jr(t,e){t.uniform4uiv(this.addr,e)}function qr(t,e,i){const n=e.length,r=ur(i,n);t.uniform1iv(this.addr,r);for(let t=0;t!==n;++t)i.setTexture2D(e[t]||$n,r[t])}function Xr(t,e,i){const n=e.length,r=ur(i,n);t.uniform1iv(this.addr,r);for(let t=0;t!==n;++t)i.setTexture3D(e[t]||er,r[t])}function Yr(t,e,i){const n=e.length,r=ur(i,n);t.uniform1iv(this.addr,r);for(let t=0;t!==n;++t)i.setTextureCube(e[t]||ir,r[t])}function Zr(t,e,i){const n=e.length,r=ur(i,n);t.uniform1iv(this.addr,r);for(let t=0;t!==n;++t)i.setTexture2DArray(e[t]||tr,r[t])}class Jr{constructor(t,e,i){this.id=t,this.addr=i,this.cache=[],this.setValue=function(t){switch(t){case 5126:return dr;case 35664:return pr;case 35665:return mr;case 35666:return fr;case 35674:return gr;case 35675:return vr;case 35676:return xr;case 5124:case 35670:return yr;case 35667:case 35671:return _r;case 35668:case 35672:return Mr;case 35669:case 35673:return br;case 5125:return wr;case 36294:return Sr;case 36295:return Tr;case 36296:return Ar;case 35678:case 36198:case 36298:case 36306:case 35682:return Er;case 35679:case 36299:case 36307:return Cr;case 35680:case 36300:case 36308:case 36293:return Lr;case 36289:case 36303:case 36311:case 36292:return Rr;}}(e.type)}}class Kr{constructor(t,e,i){this.id=t,this.addr=i,this.cache=[],this.size=e.size,this.setValue=function(t){switch(t){case 5126:return Pr;case 35664:return Ir;case 35665:return Dr;case 35666:return Nr;case 35674:return Or;case 35675:return zr;case 35676:return Fr;case 5124:case 35670:return Br;case 35667:case 35671:return Ur;case 35668:case 35672:return kr;case 35669:case 35673:return Gr;case 5125:return Vr;case 36294:return Hr;case 36295:return Wr;case 36296:return jr;case 35678:case 36198:case 36298:case 36306:case 35682:return qr;case 35679:case 36299:case 36307:return Xr;case 35680:case 36300:case 36308:case 36293:return Yr;case 36289:case 36303:case 36311:case 36292:return Zr;}}(e.type)}}class Qr{constructor(t){this.id=t,this.seq=[],this.map={}}setValue(t,e,i){const n=this.seq;for(let r=0,s=n.length;r!==s;++r){const s=n[r];s.setValue(t,e[s.id],i)}}}const $r=/(\w+)(\])?(\[|\.)?/g;function ts(t,e){t.seq.push(e),t.map[e.id]=e}function es(t,e,i){const n=t.name,r=n.length;for($r.lastIndex=0;;){const s=$r.exec(n),a=$r.lastIndex;let o=s[1];const l="]"===s[2],c=s[3];if(l&&(o|=0),void 0===c||"["===c&&a+2===r){ts(i,void 0===c?new Jr(o,t,e):new Kr(o,t,e));break}{let t=i.map[o];void 0===t&&(t=new Qr(o),ts(i,t)),i=t}}}class is{constructor(t,e){this.seq=[],this.map={};const i=t.getProgramParameter(e,35718);for(let n=0;n<i;++n){const i=t.getActiveUniform(e,n);es(i,t.getUniformLocation(e,i.name),this)}}setValue(t,e,i,n){const r=this.map[e];void 0!==r&&r.setValue(t,i,n)}setOptional(t,e,i){const n=e[i];void 0!==n&&this.setValue(t,i,n)}static upload(t,e,i,n){for(let r=0,s=e.length;r!==s;++r){const s=e[r],a=i[s.id];!1!==a.needsUpdate&&s.setValue(t,a.value,n)}}static seqWithValue(t,e){const i=[];for(let n=0,r=t.length;n!==r;++n){const r=t[n];r.id in e&&i.push(r)}return i}}function ns(t,e,i){const n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),n}let rs=0;function ss(t,e,i){const n=t.getShaderParameter(e,35713),r=t.getShaderInfoLog(e).trim();if(n&&""===r)return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const n=parseInt(s[1]);return i.toUpperCase()+"\n\n"+r+"\n\n"+function(t,e){const i=t.split("\n"),n=[],r=Math.max(e-6,0),s=Math.min(e+6,i.length);for(let t=r;t<s;t++){const r=t+1;n.push(`${r===e?">":" "} ${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);t<parseInt(i);t++)r+=n.replace(/\[\s*i\s*\]/g,"[ "+t+" ]").replace(/UNROLLED_LOOP_INDEX/g,t);return r}function ys(t){let e="precision "+t.precision+" float;\nprecision "+t.precision+" int;";return"highp"===t.precision?e+="\n#define HIGH_PRECISION":"mediump"===t.precision?e+="\n#define MEDIUM_PRECISION":"lowp"===t.precision&&(e+="\n#define LOW_PRECISION"),e}function _s(t,e,i,n){const a=t.getContext(),o=i.defines;let c=i.vertexShader,h=i.fragmentShader;const u=function(t){let e="SHADOWMAP_TYPE_BASIC";return 1===t.shadowMapType?e="SHADOWMAP_TYPE_PCF":2===t.shadowMapType?e="SHADOWMAP_TYPE_PCF_SOFT":3===t.shadowMapType&&(e="SHADOWMAP_TYPE_VSM"),e}(i),d=function(t){let e="ENVMAP_TYPE_CUBE";if(t.envMap)switch(t.envMapMode){case r:case s:e="ENVMAP_TYPE_CUBE";break;case l:e="ENVMAP_TYPE_CUBE_UV";}return e}(i),p=function(t){let e="ENVMAP_MODE_REFLECTION";t.envMap&&t.envMapMode===s&&(e="ENVMAP_MODE_REFRACTION");return e}(i),m=function(t){let e="ENVMAP_BLENDING_NONE";if(t.envMap)switch(t.combine){case 0:e="ENVMAP_BLENDING_MULTIPLY";break;case 1:e="ENVMAP_BLENDING_MIX";break;case 2:e="ENVMAP_BLENDING_ADD";}return e}(i),f=function(t){const e=t.envMapCubeUVHeight;if(null===e)return null;const i=Math.log2(e)-2,n=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,i),112)),texelHeight:n,maxMip:i}}(i),g=i.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(ls).join("\n")}(i),v=function(t){const e=[];for(const i in t){const n=t[i];!1!==n&&e.push("#define "+i+" "+n)}return e.join("\n")}(o),x=a.createProgram();let y,_,M=i.glslVersion?"#version "+i.glslVersion+"\n":"";i.isRawShaderMaterial?(y=[v].filter(ls).join("\n"),y.length>0&&(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;r<n;r++){const n=t.getActiveAttrib(e,r),s=n.name;let a=1;35674===n.type&&(a=2),35675===n.type&&(a=3),35676===n.type&&(a=4),i[s]={type:n.type,location:t.getAttribLocation(e,s),locationSize:a}}return i}(a,x)),A},this.destroy=function(){n.releaseStatesOfProgram(this),a.deleteProgram(x),this.program=void 0},this.name=i.shaderName,this.id=rs++,this.cacheKey=e,this.usedTimes=1,this.program=x,this.vertexShader=w,this.fragmentShader=S,this}let Ms=0;class bs{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(t){const e=t.vertexShader,i=t.fragmentShader,n=this._getShaderStage(e),r=this._getShaderStage(i),s=this._getShaderCacheForMaterial(t);return!1===s.has(n)&&(s.add(n),n.usedTimes++),!1===s.has(r)&&(s.add(r),r.usedTimes++),this}remove(t){const e=this.materialCache.get(t);for(const t of e)t.usedTimes--,0===t.usedTimes&&this.shaderCache.delete(t.code);return this.materialCache.delete(t),this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;return!1===e.has(t)&&e.set(t,new Set),e.get(t)}_getShaderStage(t){const e=this.shaderCache;if(!1===e.has(t)){const i=new ws(t);e.set(t,i)}return e.get(t)}}class ws{constructor(t){this.id=Ms++,this.code=t,this.usedTimes=0}}function Ss(t,e,i,n,r,s,a){const o=new He,c=new bs,h=[],u=r.isWebGL2,d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const f={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};return{getParameters:function(s,o,h,g,v){const x=g.fog,y=v.geometry,_=s.isMeshStandardMaterial?g.environment:null,M=(s.isMeshStandardMaterial?i:e).get(s.envMap||_),b=M&&M.mapping===l?M.image.height:null,w=f[s.type];null!==s.precision&&(m=r.getMaxPrecision(s.precision),m!==s.precision&&console.warn("THREE.WebGLProgram.getParameters:",s.precision,"not supported, using",m,"instead."));const S=y.morphAttributes.position||y.morphAttributes.normal||y.morphAttributes.color,T=void 0!==S?S.length:0;let A,E,C,L,R=0;if(void 0!==y.morphAttributes.position&&(R=1),void 0!==y.morphAttributes.normal&&(R=2),void 0!==y.morphAttributes.color&&(R=3),w){const t=Mn[w];A=t.vertexShader,E=t.fragmentShader}else A=s.vertexShader,E=s.fragmentShader,c.update(s),C=c.getVertexShaderID(s),L=c.getFragmentShaderID(s);const P=t.getRenderTarget(),I=s.alphaTest>0,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;t<e;t++){const e=h[t];if(e.cacheKey===i){n=e,++n.usedTimes;break}}return void 0===n&&(n=new _s(t,i,e,s),h.push(n)),n},releaseProgram:function(t){if(0==--t.usedTimes){const e=h.indexOf(t);h[e]=h[h.length-1],h.pop(),t.destroy()}},releaseShaderCache:function(t){c.remove(t)},programs:h,dispose:function(){c.dispose()}}}function Ts(){let t=new WeakMap;return{get:function(e){let i=t.get(e);return void 0===i&&(i={},t.set(e,i)),i},remove:function(e){t.delete(e)},update:function(e,i,n){t.get(e)[i]=n},dispose:function(){t=new WeakMap}}}function As(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function Es(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Cs(){const t=[];let e=0;const i=[],n=[],r=[];function s(i,n,r,s,a,o){let l=t[e];return void 0===l?(l={id:i.id,object:i,geometry:n,material:r,groupOrder:s,renderOrder:i.renderOrder,z:a,group:o},t[e]=l):(l.id=i.id,l.object=i,l.geometry=n,l.material=r,l.groupOrder=s,l.renderOrder=i.renderOrder,l.z=a,l.group=o),e++,l}return{opaque:i,transmissive:n,transparent:r,init:function(){e=0,i.length=0,n.length=0,r.length=0},push:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?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;i<n;i++){const e=t[i];if(null===e.id)break;e.id=null,e.object=null,e.geometry=null,e.material=null,e.group=null}},sort:function(t,e){i.length>1&&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;t<e;t++){const e=s[t],a=e.color,y=e.intensity,_=e.distance,M=e.shadow&&e.shadow.map?e.shadow.map.texture:null;if(e.isAmbientLight)o+=a.r*y*x,l+=a.g*y*x,c+=a.b*y*x;else if(e.isLightProbe)for(let t=0;t<9;t++)r.probe[t].addScaledVector(e.sh.coefficients[t],y);else if(e.isDirectionalLight){const t=i.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity*x),e.castShadow){const t=e.shadow,i=n.get(e);i.shadowBias=t.bias,i.shadowNormalBias=t.normalBias,i.shadowRadius=t.radius,i.shadowMapSize=t.mapSize,r.directionalShadow[h]=i,r.directionalShadowMap[h]=M,r.directionalShadowMatrix[h]=e.shadow.matrix,f++}r.directional[h]=t,h++}else if(e.isSpotLight){const t=i.get(e);if(t.position.setFromMatrixPosition(e.matrixWorld),t.color.copy(a).multiplyScalar(y*x),t.distance=_,t.coneCos=Math.cos(e.angle),t.penumbraCos=Math.cos(e.angle*(1-e.penumbra)),t.decay=e.decay,e.castShadow){const t=e.shadow,i=n.get(e);i.shadowBias=t.bias,i.shadowNormalBias=t.normalBias,i.shadowRadius=t.radius,i.shadowMapSize=t.mapSize,r.spotShadow[d]=i,r.spotShadowMap[d]=M,r.spotShadowMatrix[d]=e.shadow.matrix,v++}r.spot[d]=t,d++}else if(e.isRectAreaLight){const t=i.get(e);t.color.copy(a).multiplyScalar(y),t.halfWidth.set(.5*e.width,0,0),t.halfHeight.set(0,.5*e.height,0),r.rectArea[p]=t,p++}else if(e.isPointLight){const t=i.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity*x),t.distance=e.distance,t.decay=e.decay,e.castShadow){const t=e.shadow,i=n.get(e);i.shadowBias=t.bias,i.shadowNormalBias=t.normalBias,i.shadowRadius=t.radius,i.shadowMapSize=t.mapSize,i.shadowCameraNear=t.camera.near,i.shadowCameraFar=t.camera.far,r.pointShadow[u]=i,r.pointShadowMap[u]=M,r.pointShadowMatrix[u]=e.shadow.matrix,g++}r.point[u]=t,u++}else if(e.isHemisphereLight){const t=i.get(e);t.skyColor.copy(e.color).multiplyScalar(y*x),t.groundColor.copy(e.groundColor).multiplyScalar(y*x),r.hemi[m]=t,m++}}p>0&&(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<d;e++){const d=t[e];if(d.isDirectionalLight){const t=r.directional[i];t.direction.setFromMatrixPosition(d.matrixWorld),s.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),i++}else if(d.isSpotLight){const t=r.spot[l];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),t.direction.setFromMatrixPosition(d.matrixWorld),s.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),l++}else if(d.isRectAreaLight){const t=r.rectArea[c];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),o.identity(),a.copy(d.matrixWorld),a.premultiply(u),o.extractRotation(a),t.halfWidth.set(.5*d.width,0,0),t.halfHeight.set(0,.5*d.height,0),t.halfWidth.applyMatrix4(o),t.halfHeight.applyMatrix4(o),c++}else if(d.isPointLight){const t=r.point[n];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),n++}else if(d.isHemisphereLight){const t=r.hemi[h];t.direction.setFromMatrixPosition(d.matrixWorld),t.direction.transformDirection(u),h++}}},state:r}}function Ns(t,e){const i=new Ds(t,e),n=[],r=[];return{init:function(){n.length=0,r.length=0},state:{lightsArray:n,shadowsArray:r,lights:i},setupLights:function(t){i.setup(n,t)},setupLightsView:function(t){i.setupView(n,t)},pushLight:function(t){n.push(t)},pushShadow:function(t){r.push(t)}}}function Os(t,e){let i=new WeakMap;return{get:function(n,r=0){let s;return!1===i.has(n)?(s=new Ns(t,e),i.set(n,[s])):r>=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 <packing>\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;l<c;l++){const c=e[l],h=r[c.materialIndex];if(h&&h.visible){const e=y(i,h,a,s.near,s.far,o);t.renderBufferDirect(s,null,n,e,i,c)}}}else if(r.visible){const e=y(i,r,a,s.near,s.far,o);t.renderBufferDirect(s,null,n,e,i,null)}}const l=i.children;for(let t=0,e=l.length;t<e;t++)_(l[t],r,s,a,o)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1,this.render=function(e,i,o){if(!1===v.enabled)return;if(!1===v.autoUpdate&&!1===v.needsUpdate)return;if(0===e.length)return;const l=t.getRenderTarget(),c=t.getActiveCubeFace(),u=t.getActiveMipmapLevel(),p=t.state;p.setBlending(0),p.buffers.color.setClear(1,1,1,1),p.buffers.depth.setTest(!0),p.setScissorTest(!1);for(let l=0,c=e.length;l<c;l++){const c=e[l],u=c.shadow;if(void 0===u){console.warn("THREE.WebGLShadowMap:",c,"has no shadow.");continue}if(!1===u.autoUpdate&&!1===u.needsUpdate)continue;r.copy(u.mapSize);const m=u.getFrameExtents();if(r.multiply(m),s.copy(u.mapSize),(r.x>h||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<f;t++){const e=u.getViewport(t);a.set(s.x*e.x,s.y*e.y,s.x*e.z,s.y*e.w),p.viewport(a),u.updateMatrices(c,t),n=u.getFrustum(),_(i,o,u.camera,c,this.type)}!0!==u.isPointLightShadow&&3===this.type&&x(u,o),u.needsUpdate=!1}v.needsUpdate=!1,t.setRenderTarget(l,c,u)}}function Us(t,e,n){const r=n.isWebGL2;const s=new function(){let e=!1;const i=new Jt;let n=null;const r=new Jt(0,0,0,0);return{setMask:function(i){n===i||e||(t.colorMask(i,i,i,i),n=i)},setLocked:function(t){e=t},setClear:function(e,n,s,a,o){!0===o&&(e*=a,n*=a,s*=a),i.set(e,n,s,a),!1===r.equals(i)&&(t.clearColor(e,n,s,a),r.copy(i))},reset:function(){e=!1,n=null,r.set(-1,0,0,0)}}},a=new function(){let e=!1,i=null,n=null,r=null;return{setTest:function(t){t?U(2929):k(2929)},setMask:function(n){i===n||e||(t.depthMask(n),i=n)},setFunc:function(e){if(n!==e){if(e)switch(e){case 0:t.depthFunc(512);break;case 1:t.depthFunc(519);break;case 2:t.depthFunc(513);break;case 3:default:t.depthFunc(515);break;case 4:t.depthFunc(514);break;case 5:t.depthFunc(518);break;case 6:t.depthFunc(516);break;case 7:t.depthFunc(517);}else t.depthFunc(515);n=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,i=null,n=null,r=null}}},o=new function(){let e=!1,i=null,n=null,r=null,s=null,a=null,o=null,l=null,c=null;return{setTest:function(t){e||(t?U(2960):k(2960))},setMask:function(n){i===n||e||(t.stencilMask(n),i=n)},setFunc:function(e,i,a){n===e&&r===i&&s===a||(t.stencilFunc(e,i,a),n=e,r=i,s=a)},setOp:function(e,i,n){a===e&&o===i&&l===n||(t.stencilOp(e,i,n),a=e,o=i,l=n)},setLocked:function(t){e=t},setClear:function(e){c!==e&&(t.clearStencil(e),c=e)},reset:function(){e=!1,i=null,n=null,r=null,s=null,a=null,o=null,l=null,c=null}}};let l={},c={},h=new WeakMap,u=[],d=null,p=!1,m=null,f=null,g=null,v=null,x=null,y=null,_=null,M=!1,b=null,w=null,S=null,T=null,A=null;const E=t.getParameter(35661);let C=!1,L=0;const R=t.getParameter(7938);-1!==R.indexOf("WebGL")?(L=parseFloat(/^WebGL (\d)/.exec(R)[1]),C=L>=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;e<n;e++)t.texImage2D(i+e,0,6408,1,1,0,6408,5121,r);return s}const B={};function U(e){!0!==l[e]&&(t.enable(e),l[e]=!0)}function k(e){!1!==l[e]&&(t.disable(e),l[e]=!1)}B[3553]=F(3553,3553,1),B[34067]=F(34067,34069,6),s.setClear(0,0,0,1),a.setClear(1),o.setClear(0),U(2929),a.setFunc(3),W(!1),j(1),U(2884),H(0);const G={[i]:32774,101:32778,102:32779};if(r)G[103]=32775,G[104]=32776;else{const t=e.get("EXT_blend_minmax");null!==t&&(G[103]=t.MIN_EXT,G[104]=t.MAX_EXT)}const V={200:0,201:1,202:768,204:770,210:776,208:774,206:772,203:769,205:771,209:775,207:773};function H(e,n,r,s,a,o,l,c){if(0!==e){if(!1===p&&(U(3042),p=!0),5===e)a=a||n,o=o||r,l=l||s,n===f&&a===x||(t.blendEquationSeparate(G[n],G[a]),f=n,x=a),r===g&&s===v&&o===y&&l===_||(t.blendFuncSeparate(V[r],V[s],V[o],V[l]),g=r,v=s,y=o,_=l),m=e,M=null;else if(e!==m||c!==M){if(f===i&&x===i||(t.blendEquation(32774),f=i,x=i),c)switch(e){case 1:t.blendFuncSeparate(1,771,1,771);break;case 2:t.blendFunc(1,1);break;case 3:t.blendFuncSeparate(0,769,0,1);break;case 4:t.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);}else switch(e){case 1:t.blendFuncSeparate(770,771,1,771);break;case 2:t.blendFunc(770,1);break;case 3:t.blendFuncSeparate(0,769,0,1);break;case 4:t.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);}g=null,v=null,y=null,_=null,m=e,M=c}}else!0===p&&(k(3042),p=!1)}function W(e){b!==e&&(e?t.frontFace(2304):t.frontFace(2305),b=e)}function j(e){0!==e?(U(2884),e!==w&&(1===e?t.cullFace(1029):2===e?t.cullFace(1028):t.cullFace(1032))):k(2884),w=e}function q(e,i,n){e?(U(32823),T===i&&A===n||(t.polygonOffset(i,n),T=i,A=n)):k(32823)}function X(e){void 0===e&&(e=33984+E-1),P!==e&&(t.activeTexture(e),P=e)}return{buffers:{color:s,depth:a,stencil:o},enable:U,disable:k,bindFramebuffer:function(e,i){return c[e]!==i&&(t.bindFramebuffer(e,i),c[e]=i,r&&(36009===e&&(c[36160]=i),36160===e&&(c[36009]=i)),!0)},drawBuffers:function(i,r){let s=u,a=!1;if(i){if(s=h.get(r),void 0===s&&(s=[],h.set(r,s)),i.isWebGLMultipleRenderTargets){const t=i.texture;if(s.length!==t.length||36064!==s[0]){for(let e=0,i=t.length;e<i;e++)s[e]=36064+e;s.length=t.length,a=!0}}else 36064!==s[0]&&(s[0]=36064,a=!0);}else 1029!==s[0]&&(s[0]=1029,a=!0);a&&(n.isWebGL2?t.drawBuffers(s):e.get("WEBGL_draw_buffers").drawBuffersWEBGL(s))},useProgram:function(e){return d!==e&&(t.useProgram(e),d=e,!0)},setBlending:H,setMaterial:function(t,e){2===t.side?k(2884):U(2884);let i=1===t.side;e&&(i=!i),W(i),1===t.blending&&!1===t.transparent?H(0):H(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),a.setFunc(t.depthFunc),a.setTest(t.depthTest),a.setMask(t.depthWrite),s.setMask(t.colorWrite);const n=t.stencilWrite;o.setTest(n),n&&(o.setMask(t.stencilWriteMask),o.setFunc(t.stencilFunc,t.stencilRef,t.stencilFuncMask),o.setOp(t.stencilFail,t.stencilZFail,t.stencilZPass)),q(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits),!0===t.alphaToCoverage?U(32926):k(32926)},setFlipSided:W,setCullFace:j,setLineWidth:function(e){e!==S&&(C&&t.lineWidth(e),S=e)},setPolygonOffset:q,setScissorTest:function(t){t?U(3089):k(3089)},activeTexture:X,bindTexture:function(e,i){null===P&&X();let n=I[P];void 0===n&&(n={type:void 0,texture:void 0},I[P]=n),n.type===e&&n.texture===i||(t.bindTexture(e,i||B[e]),n.type=e,n.texture=i)},unbindTexture:function(){const e=I[P];void 0!==e&&void 0!==e.type&&(t.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{t.compressedTexImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage2D:function(){try{t.texImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage3D:function(){try{t.texImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texStorage2D:function(){try{t.texStorage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texStorage3D:function(){try{t.texStorage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage2D:function(){try{t.texSubImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage3D:function(){try{t.texSubImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage2D:function(){try{t.compressedTexSubImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},scissor:function(e){!1===O.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),O.copy(e))},viewport:function(e){!1===z.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),z.copy(e))},reset:function(){t.disable(3042),t.disable(2884),t.disable(2929),t.disable(32823),t.disable(3089),t.disable(2960),t.disable(32926),t.blendEquation(32774),t.blendFunc(1,0),t.blendFuncSeparate(1,0,1,0),t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.depthMask(!0),t.depthFunc(513),t.clearDepth(1),t.stencilMask(4294967295),t.stencilFunc(519,0,4294967295),t.stencilOp(7680,7680,7680),t.clearStencil(0),t.cullFace(1029),t.frontFace(2305),t.polygonOffset(0,0),t.activeTexture(33984),t.bindFramebuffer(36160,null),!0===r&&(t.bindFramebuffer(36009,null),t.bindFramebuffer(36008,null)),t.useProgram(null),t.lineWidth(1),t.scissor(0,0,t.canvas.width,t.canvas.height),t.viewport(0,0,t.canvas.width,t.canvas.height),l={},P=null,I={},c={},h=new WeakMap,u=[],d=null,p=!1,m=null,f=null,g=null,v=null,x=null,y=null,_=null,M=!1,b=null,w=null,S=null,T=null,A=null,O.set(0,0,t.canvas.width,t.canvas.height),z.set(0,0,t.canvas.width,t.canvas.height),s.reset(),a.reset(),o.reset()}}}function ks(t,e,i,n,r,s,a){const o=r.isWebGL2,l=r.maxTextures,E=r.maxCubemapSize,C=r.maxTextureSize,L=r.maxSamples,R=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,P=/OculusBrowser/g.test(navigator.userAgent),I=new WeakMap;let D;const N=new WeakMap;let O=!1;try{O="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(t){}function z(t,e){return O?new OffscreenCanvas(t,e):It("canvas")}function F(t,e,i,n){let r=1;if((t.width>n||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;e<r.__webglColorRenderbuffer.length;e++)r.__webglColorRenderbuffer[e]&&t.deleteRenderbuffer(r.__webglColorRenderbuffer[e]);r.__webglDepthRenderbuffer&&t.deleteRenderbuffer(r.__webglDepthRenderbuffer)}if(e.isWebGLMultipleRenderTargets)for(let e=0,r=i.length;e<r;e++){const r=n.get(i[e]);r.__webglTexture&&(t.deleteTexture(r.__webglTexture),a.memory.textures--),n.remove(i[e])}n.remove(i),n.remove(e)}(i)}function q(e){const i=n.get(e);t.deleteTexture(i.__webglTexture);const r=e.source;delete N.get(r)[i.__cacheKey],a.memory.textures--}let X=0;function Y(t,e){const r=n.get(t);if(t.isVideoTexture&&function(t){const e=a.render.frame;I.get(t)!==e&&(I.set(t,e),t.update())}(t),!1===t.isRenderTargetTexture&&t.version>0&&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<e;t++)m=x[t],b?i.texSubImage2D(3553,t,0,0,m.width,m.height,p,g,m.data):i.texImage2D(3553,t,v,m.width,m.height,0,p,g,m.data);n.generateMipmaps=!1}else b?(E&&i.texStorage2D(3553,L,v,r.width,r.height),i.texSubImage2D(3553,0,0,0,r.width,r.height,p,g,r.data)):i.texImage2D(3553,0,v,r.width,r.height,0,p,g,r.data);}else if(n.isCompressedTexture){b&&E&&i.texStorage2D(3553,L,v,x[0].width,x[0].height);for(let t=0,e=x.length;t<e;t++)m=x[t],n.format!==S?null!==p?b?i.compressedTexSubImage2D(3553,t,0,0,m.width,m.height,p,m.data):i.compressedTexImage2D(3553,t,v,m.width,m.height,0,m.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):b?i.texSubImage2D(3553,t,0,0,m.width,m.height,p,g,m.data):i.texImage2D(3553,t,v,m.width,m.height,0,p,g,m.data)}else if(n.isDataArrayTexture)b?(E&&i.texStorage3D(35866,L,v,r.width,r.height,r.depth),i.texSubImage3D(35866,0,0,0,0,r.width,r.height,r.depth,p,g,r.data)):i.texImage3D(35866,0,v,r.width,r.height,r.depth,0,p,g,r.data);else if(n.isData3DTexture)b?(E&&i.texStorage3D(32879,L,v,r.width,r.height,r.depth),i.texSubImage3D(32879,0,0,0,0,r.width,r.height,r.depth,p,g,r.data)):i.texImage3D(32879,0,v,r.width,r.height,r.depth,0,p,g,r.data);else if(n.isFramebufferTexture){if(E)if(b)i.texStorage2D(3553,L,v,r.width,r.height);else{let t=r.width,e=r.height;for(let n=0;n<L;n++)i.texImage2D(3553,n,v,t,e,0,p,g,null),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;t<e;t++)m=x[t],b?i.texSubImage2D(3553,t,0,0,p,g,m):i.texImage2D(3553,t,v,p,g,m);n.generateMipmaps=!1}else b?(E&&i.texStorage2D(3553,L,v,r.width,r.height),i.texSubImage2D(3553,0,0,0,p,g,r)):i.texImage2D(3553,0,v,p,g,r);U(n,u)&&k(a),c.__currentVersion=c.version,n.onUpdate&&n.onUpdate(n)}e.__version=n.version}function tt(e,r,a,o,l){const c=s.convert(a.format,a.encoding),h=s.convert(a.type),u=G(a.internalFormat,c,h,a.encoding);n.get(r).__hasExternalTextures||(32879===l||35866===l?i.texImage3D(l,0,u,r.width,r.height,r.depth,0,c,h,null):i.texImage2D(l,0,u,r.width,r.height,0,c,h,null)),i.bindFramebuffer(36160,e),rt(r)?R.framebufferTexture2DMultisampleEXT(36160,o,l,n.get(a).__webglTexture,0,nt(r)):t.framebufferTexture2D(36160,o,l,n.get(a).__webglTexture,0),i.bindFramebuffer(36160,null)}function et(e,i,n){if(t.bindRenderbuffer(36161,e),i.depthBuffer&&!i.stencilBuffer){let r=33189;if(n||rt(i)){const e=i.depthTexture;e&&e.isDepthTexture&&(e.type===M?r=36012:e.type===_&&(r=33190));const n=nt(i);rt(i)?R.renderbufferStorageMultisampleEXT(36161,n,r,i.width,i.height):t.renderbufferStorageMultisample(36161,n,r,i.width,i.height)}else t.renderbufferStorage(36161,r,i.width,i.height);t.framebufferRenderbuffer(36160,36096,36161,e)}else if(i.depthBuffer&&i.stencilBuffer){const r=nt(i);n&&!1===rt(i)?t.renderbufferStorageMultisample(36161,r,35056,i.width,i.height):rt(i)?R.renderbufferStorageMultisampleEXT(36161,r,35056,i.width,i.height):t.renderbufferStorage(36161,34041,i.width,i.height),t.framebufferRenderbuffer(36160,33306,36161,e)}else{const e=!0===i.isWebGLMultipleRenderTargets?i.texture:[i.texture];for(let r=0;r<e.length;r++){const a=e[r],o=s.convert(a.format,a.encoding),l=s.convert(a.type),c=G(a.internalFormat,o,l,a.encoding),h=nt(i);n&&!1===rt(i)?t.renderbufferStorageMultisample(36161,h,c,i.width,i.height):rt(i)?R.renderbufferStorageMultisampleEXT(36161,h,c,i.width,i.height):t.renderbufferStorage(36161,c,i.width,i.height)}}t.bindRenderbuffer(36161,null)}function it(e){const r=n.get(e),s=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture&&!r.__autoAllocateDepthBuffer){if(s)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,r){if(r&&r.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(i.bindFramebuffer(36160,e),!r.depthTexture||!r.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");n.get(r.depthTexture).__webglTexture&&r.depthTexture.image.width===r.width&&r.depthTexture.image.height===r.height||(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),Y(r.depthTexture,0);const s=n.get(r.depthTexture).__webglTexture,a=nt(r);if(r.depthTexture.format===T)rt(r)?R.framebufferTexture2DMultisampleEXT(36160,36096,3553,s,0,a):t.framebufferTexture2D(36160,36096,3553,s,0);else{if(r.depthTexture.format!==A)throw new Error("Unknown depthTexture format");rt(r)?R.framebufferTexture2DMultisampleEXT(36160,33306,3553,s,0,a):t.framebufferTexture2D(36160,33306,3553,s,0)}}(r.__webglFramebuffer,e)}else if(s){r.__webglDepthbuffer=[];for(let n=0;n<6;n++)i.bindFramebuffer(36160,r.__webglFramebuffer[n]),r.__webglDepthbuffer[n]=t.createRenderbuffer(),et(r.__webglDepthbuffer[n],e,!1)}else i.bindFramebuffer(36160,r.__webglFramebuffer),r.__webglDepthbuffer=t.createRenderbuffer(),et(r.__webglDepthbuffer,e,!1);i.bindFramebuffer(36160,null)}function nt(t){return Math.min(L,t.samples)}function rt(t){const i=n.get(t);return o&&t.samples>0&&!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;e<v.length;e++){const r=v[e];n.format!==S?null!==d?f?i.compressedTexSubImage2D(34069+t,e,0,0,r.width,r.height,d,r.data):i.compressedTexImage2D(34069+t,e,m,r.width,r.height,0,r.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):f?i.texSubImage2D(34069+t,e,0,0,r.width,r.height,d,p,r.data):i.texImage2D(34069+t,e,m,r.width,r.height,0,d,p,r.data)}}}else{v=n.mipmaps,f&&g&&(v.length>0&&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;e<v.length;e++){const n=v[e].image[t].image;f?i.texSubImage2D(34069+t,e+1,0,0,n.width,n.height,d,p,n.data):i.texImage2D(34069+t,e+1,m,n.width,n.height,0,d,p,n.data)}}else{f?i.texSubImage2D(34069+t,0,0,0,d,p,c[t]):i.texImage2D(34069+t,0,m,d,p,c[t]);for(let e=0;e<v.length;e++){const n=v[e];f?i.texSubImage2D(34069+t,e+1,0,0,d,p,n.image[t]):i.texImage2D(34069+t,e+1,m,d,p,n.image[t])}}}U(n,u)&&k(34067),l.__currentVersion=l.version,n.onUpdate&&n.onUpdate(n)}e.__version=n.version}(a,e,r):(i.activeTexture(33984+r),i.bindTexture(34067,a.__webglTexture))},this.rebindTextures=function(t,e,i){const r=n.get(t);void 0!==e&&tt(r.__webglFramebuffer,t,t.texture,36064,3553),void 0!==i&&it(t)},this.setupRenderTarget=function(e){const l=e.texture,c=n.get(e),h=n.get(l);e.addEventListener("dispose",j),!0!==e.isWebGLMultipleRenderTargets&&(void 0===h.__webglTexture&&(h.__webglTexture=t.createTexture()),h.__version=l.version,a.memory.textures++);const u=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=B(e)||o;if(u){c.__webglFramebuffer=[];for(let e=0;e<6;e++)c.__webglFramebuffer[e]=t.createFramebuffer()}else{if(c.__webglFramebuffer=t.createFramebuffer(),d)if(r.drawBuffers){const i=e.texture;for(let e=0,r=i.length;e<r;e++){const r=n.get(i[e]);void 0===r.__webglTexture&&(r.__webglTexture=t.createTexture(),a.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(o&&e.samples>0&&!1===rt(e)){const n=d?l:[l];c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=[],i.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let i=0;i<n.length;i++){const r=n[i];c.__webglColorRenderbuffer[i]=t.createRenderbuffer(),t.bindRenderbuffer(36161,c.__webglColorRenderbuffer[i]);const a=s.convert(r.format,r.encoding),o=s.convert(r.type),l=G(r.internalFormat,a,o,r.encoding),h=nt(e);t.renderbufferStorageMultisample(36161,h,l,e.width,e.height),t.framebufferRenderbuffer(36160,36064+i,36161,c.__webglColorRenderbuffer[i])}t.bindRenderbuffer(36161,null),e.depthBuffer&&(c.__webglDepthRenderbuffer=t.createRenderbuffer(),et(c.__webglDepthRenderbuffer,e,!0)),i.bindFramebuffer(36160,null)}}if(u){i.bindTexture(34067,h.__webglTexture),K(34067,l,p);for(let t=0;t<6;t++)tt(c.__webglFramebuffer[t],e,l,36064,34069+t);U(l,p)&&k(34067),i.unbindTexture()}else if(d){const t=e.texture;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=n.get(s);i.bindTexture(3553,a.__webglTexture),K(3553,s,p),tt(c.__webglFramebuffer,e,s,36064+r,3553),U(s,p)&&k(3553)}i.unbindTexture()}else{let t=3553;(e.isWebGL3DRenderTarget||e.isWebGLArrayRenderTarget)&&(o?t=e.isWebGL3DRenderTarget?32879:35866:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),i.bindTexture(t,h.__webglTexture),K(t,l,p),tt(c.__webglFramebuffer,e,l,36064,t),U(l,p)&&k(t),i.unbindTexture()}e.depthBuffer&&it(e)},this.updateRenderTargetMipmap=function(t){const e=B(t)||o,r=!0===t.isWebGLMultipleRenderTargets?t.texture:[t.texture];for(let s=0,a=r.length;s<a;s++){const a=r[s];if(U(a,e)){const e=t.isWebGLCubeRenderTarget?34067:3553,r=n.get(a).__webglTexture;i.bindTexture(e,r),k(e),i.unbindTexture()}}},this.updateMultisampleRenderTarget=function(e){if(o&&e.samples>0&&!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;e<r.length;e++)i.bindFramebuffer(36160,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064+e,36161,null),i.bindFramebuffer(36160,h.__webglFramebuffer),t.framebufferTexture2D(36009,36064+e,3553,null,0);i.bindFramebuffer(36008,h.__webglMultisampledFramebuffer),i.bindFramebuffer(36009,h.__webglFramebuffer);for(let i=0;i<r.length;i++){l.push(36064+i),e.depthBuffer&&l.push(c);const d=void 0!==h.__ignoreDepthValues&&h.__ignoreDepthValues;if(!1===d&&(e.depthBuffer&&(o|=256),e.stencilBuffer&&(o|=1024)),u&&t.framebufferRenderbuffer(36008,36064,36161,h.__webglColorRenderbuffer[i]),!0===d&&(t.invalidateFramebuffer(36008,[c]),t.invalidateFramebuffer(36009,[c])),u){const e=n.get(r[i]).__webglTexture;t.framebufferTexture2D(36009,36064,3553,e,0)}t.blitFramebuffer(0,0,s,a,0,0,s,a,o,9728),P&&t.invalidateFramebuffer(36008,l)}if(i.bindFramebuffer(36008,null),i.bindFramebuffer(36009,null),u)for(let e=0;e<r.length;e++){i.bindFramebuffer(36160,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064+e,36161,h.__webglColorRenderbuffer[e]);const s=n.get(r[e]).__webglTexture;i.bindFramebuffer(36160,h.__webglFramebuffer),t.framebufferTexture2D(36009,36064+e,3553,s,0)}i.bindFramebuffer(36009,h.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=it,this.setupFrameBufferTexture=tt,this.useMultisampledRTT=rt}function Gs(t,e,i){const n=i.isWebGL2;return{convert:function(i,r=null){let s;if(i===x)return 5121;if(1017===i)return 32819;if(1018===i)return 32820;if(1010===i)return 5120;if(1011===i)return 5122;if(i===y)return 5123;if(1013===i)return 5124;if(i===_)return 5125;if(i===M)return 5126;if(i===b)return n?5131:(s=e.get("OES_texture_half_float"),null!==s?s.HALF_FLOAT_OES:null);if(1021===i)return 6406;if(i===S)return 6408;if(1024===i)return 6409;if(1025===i)return 6410;if(i===T)return 6402;if(i===A)return 34041;if(1028===i)return 6403;if(1022===i)return console.warn("THREE.WebGLRenderer: THREE.RGBFormat has been removed. Use THREE.RGBAFormat instead. https://github.com/mrdoob/three.js/pull/23228"),6408;if(i===pt)return s=e.get("EXT_sRGB"),null!==s?s.SRGB_ALPHA_EXT:null;if(1029===i)return 36244;if(1030===i)return 33319;if(1031===i)return 33320;if(1033===i)return 36249;if(i===E||i===C||i===L||i===R)if(r===ot){if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),null===s)return null;if(i===E)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(i===C)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(i===L)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(i===R)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(s=e.get("WEBGL_compressed_texture_s3tc"),null===s)return null;if(i===E)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(i===C)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(i===L)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(i===R)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(i===P||i===I||i===D||i===N){if(s=e.get("WEBGL_compressed_texture_pvrtc"),null===s)return null;if(i===P)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(i===I)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(i===D)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(i===N)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===i)return s=e.get("WEBGL_compressed_texture_etc1"),null!==s?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(i===O||i===z){if(s=e.get("WEBGL_compressed_texture_etc"),null===s)return null;if(i===O)return r===ot?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(i===z)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}if(i===F||i===B||i===U||i===k||i===G||i===V||i===H||i===W||i===j||i===q||i===X||i===Y||i===Z||i===J){if(s=e.get("WEBGL_compressed_texture_astc"),null===s)return null;if(i===F)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(i===B)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(i===U)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(i===k)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(i===G)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(i===V)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(i===H)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(i===W)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(i===j)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(i===q)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(i===X)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(i===Y)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(i===Z)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(i===J)return r===ot?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}if(i===K){if(s=e.get("EXT_texture_compression_bptc"),null===s)return null;if(i===K)return r===ot?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT}return i===w?n?34042:(s=e.get("WEBGL_depth_texture"),null!==s?s.UNSIGNED_INT_24_8_WEBGL:null):void 0!==t[i]?t[i]:null}}}class Vs extends rn{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t}}class Hs extends ni{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Ws={type:"move"};class js{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new Hs,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new Hs,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ee,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ee),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new Hs,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ee,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ee),this._grip}dispatchEvent(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(t,e,i){let n=null,r=null,s=null;const a=this._targetRay,o=this._grip,l=this._hand;if(t&&"visible-blurred"!==e.session.visibilityState){if(l&&t.hand){s=!0;for(const n of t.hand.values()){const t=e.getJointPose(n,i);if(void 0===l.joints[n.jointName]){const t=new Hs;t.matrixAutoUpdate=!1,t.visible=!1,l.joints[n.jointName]=t,l.add(t)}const r=l.joints[n.jointName];null!==t&&(r.matrix.fromArray(t.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=t.radius),r.visible=null!==t}const n=l.joints["index-finger-tip"],r=l.joints["thumb-tip"],a=n.position.distanceTo(r.position),o=.02,c=.005;l.inputState.pinching&&a>o+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<g.length;t++){const e=v[t];null!==e&&(v[t]=null,g[t].disconnect(e))}C=null,L=null,t.setRenderTarget(m),u=null,h=null,c=null,n=null,f=null,F.stop(),i.isPresenting=!1,i.dispatchEvent({type:"sessionend"})}function I(t){for(let e=0;e<t.removed.length;e++){const i=t.removed[e],n=v.indexOf(i);n>=0&&(v[n]=null,g[n].dispatchEvent({type:"disconnected",data:i}))}for(let e=0;e<t.added.length;e++){const i=t.added[e];let n=v.indexOf(i);if(-1===n){for(let t=0;t<g.length;t++){if(t>=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;t<i.length;t++)O(i[t],e);E.matrixWorld.decompose(E.position,E.quaternion,E.scale),t.position.copy(E.position),t.quaternion.copy(E.quaternion),t.scale.copy(E.scale),t.matrix.copy(E.matrix),t.matrixWorld.copy(E.matrixWorld);const r=t.children;for(let t=0,e=r.length;t<e;t++)r[t].updateMatrixWorld(!0);2===i.length?function(t,e,i){D.setFromMatrixPosition(e.matrixWorld),N.setFromMatrixPosition(i.matrixWorld);const n=D.distanceTo(N),r=e.projectionMatrix.elements,s=i.projectionMatrix.elements,a=r[14]/(r[10]-1),o=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],h=(r[8]-1)/r[0],u=(s[8]+1)/s[0],d=a*h,p=a*u,m=n/(-h+u),f=m*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(f),t.translateZ(m),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.copy(t.matrixWorld).invert();const g=a+m,v=o+m,x=d-f,y=p+(n-f),_=l*o/v*g,M=c*o/v*g;t.projectionMatrix.makePerspective(x,y,_,M,g,v)}(E,y,M):E.projectionMatrix.copy(y.projectionMatrix)},this.getCamera=function(){return E},this.getFoveation=function(){return null!==h?h.fixedFoveation:null!==u?u.fixedFoveation:void 0},this.setFoveation=function(t){null!==h&&(h.fixedFoveation=t),null!==u&&void 0!==u.fixedFoveation&&(u.fixedFoveation=t)};let z=null;const F=new gn;F.setAnimationLoop(function(e,i){if(l=i.getViewerPose(o||s),d=i,null!==l){const e=l.views;null!==u&&(t.setRenderTargetFramebuffer(f,u.framebuffer),t.setRenderTarget(f));let i=!1;e.length!==E.cameras.length&&(E.cameras.length=0,i=!0);for(let n=0;n<e.length;n++){const r=e[n];let s=null;if(null!==u)s=u.getViewport(r);else{const e=c.getViewSubImage(h,r);s=e.viewport,0===n&&(t.setRenderTargetTextures(f,e.colorTexture,h.ignoreDepthValues?void 0:e.depthStencilTexture),t.setRenderTarget(f))}let a=b[n];void 0===a&&(a=new rn,a.layers.enable(n),a.viewport=new Jt,b[n]=a),a.matrix.fromArray(r.transform.matrix),a.projectionMatrix.fromArray(r.projectionMatrix),a.viewport.set(s.x,s.y,s.width,s.height),0===n&&E.matrix.copy(a.matrix),!0===i&&E.cameras.push(a)}}for(let t=0;t<g.length;t++){const e=v[t],n=g[t];null!==e&&void 0!==n&&n.update(e,i,o||s)}z&&z(e,i),d=null}),this.setAnimationLoop=function(t){z=t},this.dispose=function(){}}}function Ys(t,e){function i(i,n){i.opacity.value=n.opacity,n.color&&i.diffuse.value.copy(n.color),n.emissive&&i.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity),n.map&&(i.map.value=n.map),n.alphaMap&&(i.alphaMap.value=n.alphaMap),n.bumpMap&&(i.bumpMap.value=n.bumpMap,i.bumpScale.value=n.bumpScale,1===n.side&&(i.bumpScale.value*=-1)),n.displacementMap&&(i.displacementMap.value=n.displacementMap,i.displacementScale.value=n.displacementScale,i.displacementBias.value=n.displacementBias),n.emissiveMap&&(i.emissiveMap.value=n.emissiveMap),n.normalMap&&(i.normalMap.value=n.normalMap,i.normalScale.value.copy(n.normalScale),1===n.side&&i.normalScale.value.negate()),n.specularMap&&(i.specularMap.value=n.specularMap),n.alphaTest>0&&(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;n<t.length;n++){const r=t[n],s=e.getContext(r,i);if(null!==s)return s}return null}try{const t={alpha:!0,depth:n,stencil:r,antialias:s,premultipliedAlpha:a,preserveDrawingBuffer:o,powerPreference:l,failIfMajorPerformanceCaveat:c};if("setAttribute"in e&&e.setAttribute("data-engine","three.js r142"),e.addEventListener("webglcontextlost",Mt,!1),e.addEventListener("webglcontextrestored",bt,!1),e.addEventListener("webglcontextcreationerror",wt,!1),null===vt){const e=["webgl2","webgl","experimental-webgl"];if(!0===f.isWebGL1Renderer&&e.shift(),vt=xt(e,t),null===vt)throw xt(e)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===vt.getShaderPrecisionFormat&&(vt.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(t){throw console.error("THREE.WebGLRenderer: "+t.message),t}function yt(){X=new Wn(vt),Y=new Tn(vt,X,t),X.init(Y),ft=new Gs(vt,X,Y),Z=new Us(vt,X,Y),J=new Xn,K=new Ts,Q=new ks(vt,X,Z,K,Y,ft,J),$=new En(f),tt=new Hn(f),et=new vn(vt,Y),gt=new wn(vt,X,et,Y),it=new jn(vt,et,J,gt),nt=new Qn(vt,it,et,J),dt=new Kn(vt,Y,Q),ct=new An(K),rt=new Ss(f,$,tt,X,Y,gt,ct),st=new Ys(f,K),ot=new Ls,lt=new Os(X,Y),ut=new bn(f,$,Z,nt,h,a),ht=new Bs(f,nt,Y),pt=new Sn(vt,X,J,Y),mt=new qn(vt,X,J,Y),J.programs=rt.programs,f.capabilities=Y,f.extensions=X,f.properties=K,f.renderLists=ot,f.shadowMap=ht,f.state=Z,f.info=J}yt();const _t=new Xs(f,vt);function Mt(t){t.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),g=!0}function bt(){console.log("THREE.WebGLRenderer: Context Restored."),g=!1;const t=J.autoReset,e=ht.enabled,i=ht.autoUpdate,n=ht.needsUpdate,r=ht.type;yt(),J.autoReset=t,ht.enabled=e,ht.autoUpdate=i,ht.needsUpdate=n,ht.type=r}function wt(t){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",t.statusMessage)}function St(t){const e=t.target;e.removeEventListener("dispose",St),function(t){(function(t){const e=K.get(t).programs;void 0!==e&&(e.forEach(function(t){rt.releaseProgram(t)}),t.isShaderMaterial&&rt.releaseShaderCache(t))})(t),K.remove(t)}(e)}this.xr=_t,this.getContext=function(){return vt},this.getContextAttributes=function(){return vt.getContextAttributes()},this.forceContextLoss=function(){const t=X.get("WEBGL_lose_context");t&&t.loseContext()},this.forceContextRestore=function(){const t=X.get("WEBGL_lose_context");t&&t.restoreContext()},this.getPixelRatio=function(){return I},this.setPixelRatio=function(t){void 0!==t&&(I=t,this.setSize(R,P,!1))},this.getSize=function(t){return t.set(R,P)},this.setSize=function(t,i,n){_t.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(R=t,P=i,e.width=Math.floor(t*I),e.height=Math.floor(i*I),!1!==n&&(e.style.width=t+"px",e.style.height=i+"px"),this.setViewport(0,0,t,i))},this.getDrawingBufferSize=function(t){return t.set(R*I,P*I).floor()},this.setDrawingBufferSize=function(t,i,n){R=t,P=i,I=n,e.width=Math.floor(t*n),e.height=Math.floor(i*n),this.setViewport(0,0,t,i)},this.getCurrentViewport=function(t){return t.copy(E)},this.getViewport=function(t){return t.copy(O)},this.setViewport=function(t,e,i,n){t.isVector4?O.set(t.x,t.y,t.z,t.w):O.set(t,e,i,n),Z.viewport(E.copy(O).multiplyScalar(I).floor())},this.getScissor=function(t){return t.copy(z)},this.setScissor=function(t,e,i,n){t.isVector4?z.set(t.x,t.y,t.z,t.w):z.set(t,e,i,n),Z.scissor(C.copy(z).multiplyScalar(I).floor())},this.getScissorTest=function(){return F},this.setScissorTest=function(t){Z.setScissorTest(F=t)},this.setOpaqueSort=function(t){D=t},this.setTransparentSort=function(t){N=t},this.getClearColor=function(t){return t.copy(ut.getClearColor())},this.setClearColor=function(){ut.setClearColor.apply(ut,arguments)},this.getClearAlpha=function(){return ut.getClearAlpha()},this.setClearAlpha=function(){ut.setClearAlpha.apply(ut,arguments)},this.clear=function(t=!0,e=!0,i=!0){let n=0;t&&(n|=16384),e&&(n|=256),i&&(n|=1024),vt.clear(n)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",Mt,!1),e.removeEventListener("webglcontextrestored",bt,!1),e.removeEventListener("webglcontextcreationerror",wt,!1),ot.dispose(),lt.dispose(),K.dispose(),$.dispose(),tt.dispose(),nt.dispose(),gt.dispose(),rt.dispose(),_t.dispose(),_t.removeEventListener("sessionstart",Ct),_t.removeEventListener("sessionend",Lt),G&&(G.dispose(),G=null),Rt.stop()},this.renderBufferDirect=function(t,e,i,n,r,s){null===e&&(e=j);const a=r.isMesh&&r.matrixWorld.determinant()<0,o=function(t,e,i,n,r){!0!==e.isScene&&(e=j);Q.resetTextureUnits();const s=e.fog,a=n.isMeshStandardMaterial?e.environment:null,o=null===w?f.outputEncoding:!0===w.isXRRenderTarget?w.texture.encoding:at,l=(n.isMeshStandardMaterial?tt:$).get(n.envMap||a),c=!0===n.vertexColors&&!!i.attributes.color&&4===i.attributes.color.itemSize,h=!!n.normalMap&&!!i.attributes.tangent,u=!!i.morphAttributes.position,p=!!i.morphAttributes.normal,m=!!i.morphAttributes.color,g=n.toneMapped?f.toneMapping:0,v=i.morphAttributes.position||i.morphAttributes.normal||i.morphAttributes.color,x=void 0!==v?v.length:0,y=K.get(n),_=d.state.lights;if(!0===U&&(!0===k||t!==A)){const e=t===A&&n.id===T;ct.setState(n,t,e)}let M=!1;n.version===y.__version?y.needsLights&&y.lightsStateVersion!==_.state.version||y.outputEncoding!==o||r.isInstancedMesh&&!1===y.instancing?M=!0:r.isInstancedMesh||!0!==y.instancing?r.isSkinnedMesh&&!1===y.skinning?M=!0:r.isSkinnedMesh||!0!==y.skinning?y.envMap!==l||!0===n.fog&&y.fog!==s?M=!0:void 0===y.numClippingPlanes||y.numClippingPlanes===ct.numPlanes&&y.numIntersection===ct.numIntersection?(y.vertexAlphas!==c||y.vertexTangents!==h||y.morphTargets!==u||y.morphNormals!==p||y.morphColors!==m||y.toneMapping!==g||!0===Y.isWebGL2&&y.morphTargetsCount!==x)&&(M=!0):M=!0:M=!0:M=!0:(M=!0,y.__version=n.version);let b=y.currentProgram;!0===M&&(b=zt(n,e,r));let S=!1,E=!1,C=!1;const L=b.getUniforms(),R=y.uniforms;Z.useProgram(b.program)&&(S=!0,E=!0,C=!0);n.id!==T&&(T=n.id,E=!0);if(S||A!==t){if(L.setValue(vt,"projectionMatrix",t.projectionMatrix),Y.logarithmicDepthBuffer&&L.setValue(vt,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),A!==t&&(A=t,E=!0,C=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshStandardMaterial||n.envMap){const e=L.map.cameraPosition;void 0!==e&&e.setValue(vt,W.setFromMatrixPosition(t.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial)&&L.setValue(vt,"isOrthographic",!0===t.isOrthographicCamera),(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.isShadowMaterial||r.isSkinnedMesh)&&L.setValue(vt,"viewMatrix",t.matrixWorldInverse)}if(r.isSkinnedMesh){L.setOptional(vt,r,"bindMatrix"),L.setOptional(vt,r,"bindMatrixInverse");const t=r.skeleton;t&&(Y.floatVertexTextures?(null===t.boneTexture&&t.computeBoneTexture(),L.setValue(vt,"boneTexture",t.boneTexture,Q),L.setValue(vt,"boneTextureSize",t.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const D=i.morphAttributes;(void 0!==D.position||void 0!==D.normal||void 0!==D.color&&!0===Y.isWebGL2)&&dt.update(r,i,n,b);(E||y.receiveShadow!==r.receiveShadow)&&(y.receiveShadow=r.receiveShadow,L.setValue(vt,"receiveShadow",r.receiveShadow));E&&(L.setValue(vt,"toneMappingExposure",f.toneMappingExposure),y.needsLights&&(O=C,(N=R).ambientLightColor.needsUpdate=O,N.lightProbe.needsUpdate=O,N.directionalLights.needsUpdate=O,N.directionalLightShadows.needsUpdate=O,N.pointLights.needsUpdate=O,N.pointLightShadows.needsUpdate=O,N.spotLights.needsUpdate=O,N.spotLightShadows.needsUpdate=O,N.rectAreaLights.needsUpdate=O,N.hemisphereLights.needsUpdate=O),s&&!0===n.fog&&st.refreshFogUniforms(R,s),st.refreshMaterialUniforms(R,n,I,P,G),is.upload(vt,y.uniformsList,R,Q));var N,O;n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&(is.upload(vt,y.uniformsList,R,Q),n.uniformsNeedUpdate=!1);n.isSpriteMaterial&&L.setValue(vt,"center",r.center);return L.setValue(vt,"modelViewMatrix",r.modelViewMatrix),L.setValue(vt,"normalMatrix",r.normalMatrix),L.setValue(vt,"modelMatrix",r.matrixWorld),b}(t,e,i,n,r);Z.setMaterial(n,a);let l=i.index;const c=i.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let h,u=1;!0===n.wireframe&&(l=it.getWireframeAttribute(i),u=2),gt.setup(r,n,o,i,l);let p=pt;null!==l&&(h=et.get(l),p=mt,p.setIndex(h));const m=null!==l?l.count:c.count,g=i.drawRange.start*u,v=i.drawRange.count*u,x=null!==s?s.start*u:0,y=null!==s?s.count*u:1/0,_=Math.max(g,x),M=Math.min(m,g+v,x+y)-1,b=Math.max(0,M-_+1);if(0!==b){if(r.isMesh)!0===n.wireframe?(Z.setLineWidth(n.wireframeLinewidth*q()),p.setMode(1)):p.setMode(4);else if(r.isLine){let t=n.linewidth;void 0===t&&(t=1),Z.setLineWidth(t*q()),r.isLineSegments?p.setMode(1):r.isLineLoop?p.setMode(2):p.setMode(3)}else r.isPoints?p.setMode(0):r.isSprite&&p.setMode(4);if(r.isInstancedMesh)p.renderInstances(_,b,r.count);else if(i.isInstancedBufferGeometry){const t=Math.min(i.instanceCount,i._maxInstanceCount);p.renderInstances(_,b,t)}else p.render(_,b)}},this.compile=function(t,e){d=lt.get(t),d.init(),m.push(d),t.traverseVisible(function(t){t.isLight&&t.layers.test(e.layers)&&(d.pushLight(t),t.castShadow&&d.pushShadow(t))}),d.setupLights(f.physicallyCorrectLights),t.traverse(function(e){const i=e.material;if(i)if(Array.isArray(i))for(let n=0;n<i.length;n++){zt(i[n],t,e)}else zt(i,t,e)}),m.pop(),d=null};let At=null;function Ct(){Rt.stop()}function Lt(){Rt.start()}const Rt=new gn;function Pt(t,e,i,n){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)i=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)d.pushLight(t),t.castShadow&&d.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||B.intersectsSprite(t)){n&&W.setFromMatrixPosition(t.matrixWorld).applyMatrix4(V);const e=nt.update(t),r=t.material;r.visible&&u.push(t,e,r,i,W.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(t.isSkinnedMesh&&t.skeleton.frame!==J.render.frame&&(t.skeleton.update(),t.skeleton.frame=J.render.frame),!t.frustumCulled||B.intersectsObject(t))){n&&W.setFromMatrixPosition(t.matrixWorld).applyMatrix4(V);const e=nt.update(t),r=t.material;if(Array.isArray(r)){const n=e.groups;for(let s=0,a=n.length;s<a;s++){const a=n[s],o=r[a.materialIndex];o&&o.visible&&u.push(t,e,o,i,W.z,a)}}else r.visible&&u.push(t,e,r,i,W.z,null)}const r=t.children;for(let t=0,s=r.length;t<s;t++)Pt(r[t],e,i,n)}function Dt(t,e,i,n){const r=t.opaque,a=t.transmissive,o=t.transparent;d.setupLightsView(i),a.length>0&&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;r<s;r++){const s=t[r],a=s.object,o=s.geometry,l=null===n?s.material:n,c=s.group;a.layers.test(i.layers)&&Ot(a,e,i,o,l,c)}}function Ot(t,e,i,n,r,s){t.onBeforeRender(f,e,i,n,r,s),t.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),r.onBeforeRender(f,e,i,n,t,s),!0===r.transparent&&2===r.side?(r.side=1,r.needsUpdate=!0,f.renderBufferDirect(i,e,n,r,t,s),r.side=0,r.needsUpdate=!0,f.renderBufferDirect(i,e,n,r,t,s),r.side=2):f.renderBufferDirect(i,e,n,r,t,s),t.onAfterRender(f,e,i,n,r,s)}function zt(t,e,i){!0!==e.isScene&&(e=j);const n=K.get(t),r=d.state.lights,s=d.state.shadowsArray,a=r.state.version,o=rt.getParameters(t,r.state,s,e,i),l=rt.getProgramCacheKey(o);let c=n.programs;n.environment=t.isMeshStandardMaterial?e.environment:null,n.fog=e.fog,n.envMap=(t.isMeshStandardMaterial?tt:$).get(t.envMap||n.environment),void 0===c&&(t.addEventListener("dispose",St),c=new Map,n.programs=c);let h=c.get(l);if(void 0!==h){if(n.currentProgram===h&&n.lightsStateVersion===a)return Ft(t,o),h}else o.uniforms=rt.getUniforms(t),t.onBuild(i,o,f),t.onBeforeCompile(o,f),h=rt.acquireProgram(o,l),c.set(l,h),n.uniforms=o.uniforms;const u=n.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(u.clippingPlanes=ct.uniform),Ft(t,o),n.needsLights=function(t){return t.isMeshLambertMaterial||t.isMeshToonMaterial||t.isMeshPhongMaterial||t.isMeshStandardMaterial||t.isShadowMaterial||t.isShaderMaterial&&!0===t.lights}(t),n.lightsStateVersion=a,n.needsLights&&(u.ambientLightColor.value=r.state.ambient,u.lightProbe.value=r.state.probe,u.directionalLights.value=r.state.directional,u.directionalLightShadows.value=r.state.directionalShadow,u.spotLights.value=r.state.spot,u.spotLightShadows.value=r.state.spotShadow,u.rectAreaLights.value=r.state.rectArea,u.ltc_1.value=r.state.rectAreaLTC1,u.ltc_2.value=r.state.rectAreaLTC2,u.pointLights.value=r.state.point,u.pointLightShadows.value=r.state.pointShadow,u.hemisphereLights.value=r.state.hemi,u.directionalShadowMap.value=r.state.directionalShadowMap,u.directionalShadowMatrix.value=r.state.directionalShadowMatrix,u.spotShadowMap.value=r.state.spotShadowMap,u.spotShadowMatrix.value=r.state.spotShadowMatrix,u.pointShadowMap.value=r.state.pointShadowMap,u.pointShadowMatrix.value=r.state.pointShadowMatrix);const p=h.getUniforms(),m=is.seqWithValue(p.seq,u);return n.currentProgram=h,n.uniformsList=m,h}function Ft(t,e){const i=K.get(t);i.outputEncoding=e.outputEncoding,i.instancing=e.instancing,i.skinning=e.skinning,i.morphTargets=e.morphTargets,i.morphNormals=e.morphNormals,i.morphColors=e.morphColors,i.morphTargetsCount=e.morphTargetsCount,i.numClippingPlanes=e.numClippingPlanes,i.numIntersection=e.numClipIntersection,i.vertexAlphas=e.vertexAlphas,i.vertexTangents=e.vertexTangents,i.toneMapping=e.toneMapping}Rt.setAnimationLoop(function(t){At&&At(t)}),"undefined"!=typeof self&&Rt.setContext(self),this.setAnimationLoop=function(t){At=t,_t.setAnimationLoop(t),null===t?Rt.stop():Rt.start()},_t.addEventListener("sessionstart",Ct),_t.addEventListener("sessionend",Lt),this.render=function(t,e){if(void 0!==e&&!0!==e.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===g)return;!0===t.autoUpdate&&t.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),!0===_t.enabled&&!0===_t.isPresenting&&(!0===_t.cameraAutoUpdate&&_t.updateCamera(e),e=_t.getCamera()),!0===t.isScene&&t.onBeforeRender(f,t,e,w),d=lt.get(t,m.length),d.init(),m.push(d),V.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),B.setFromProjectionMatrix(V),k=this.localClippingEnabled,U=ct.init(this.clippingPlanes,k,e),u=ot.get(t,p.length),u.init(),p.push(u),Pt(t,e,0,f.sortObjects),u.finish(),!0===f.sortObjects&&u.sort(D,N),!0===U&&ct.beginShadows();const i=d.state.shadowsArray;if(ht.render(i,t,e),!0===U&&ct.endShadows(),!0===this.info.autoReset&&this.info.reset(),ut.render(u,t),d.setupLights(f.physicallyCorrectLights),e.isArrayCamera){const i=e.cameras;for(let e=0,n=i.length;e<n;e++){const n=i[e];Dt(u,t,n,n.viewport)}}else Dt(u,t,e);null!==w&&(Q.updateMultisampleRenderTarget(w),Q.updateRenderTargetMipmap(w)),!0===t.isScene&&t.onAfterRender(f,t,e),gt.resetDefaultState(),T=-1,A=null,m.pop(),d=m.length>0?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;n<r;n++)this.array[t+n]=e.array[i+n];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=yt()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(e,this.stride);return i.setUsage(this.usage),i}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=yt()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const ea=new ee;class ia{constructor(t,e,i,n=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=t,this.itemSize=e,this.offset=i,this.normalized=!0===n}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,i=this.data.count;e<i;e++)ea.fromBufferAttribute(this,e),ea.applyMatrix4(t),this.setXYZ(e,ea.x,ea.y,ea.z);return this}applyNormalMatrix(t){for(let e=0,i=this.count;e<i;e++)ea.fromBufferAttribute(this,e),ea.applyNormalMatrix(t),this.setXYZ(e,ea.x,ea.y,ea.z);return this}transformDirection(t){for(let e=0,i=this.count;e<i;e++)ea.fromBufferAttribute(this,e),ea.transformDirection(t),this.setXYZ(e,ea.x,ea.y,ea.z);return this}setX(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){return this.data.array[t*this.data.stride+this.offset]}getY(t){return this.data.array[t*this.data.stride+this.offset+1]}getZ(t){return this.data.array[t*this.data.stride+this.offset+2]}getW(t){return this.data.array[t*this.data.stride+this.offset+3]}setXY(t,e,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this}setXYZ(t,e,i,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this}setXYZW(t,e,i,n,r){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this.data.array[t+3]=r,this}clone(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will deinterleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const i=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[i+e])}return new _i(new this.array.constructor(t),this.itemSize,this.normalized)}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new ia(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will deinterleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const i=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[i+e])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class na extends gi{constructor(t){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Ht(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}}let ra;const sa=new ee,aa=new ee,oa=new ee,la=new Et,ca=new Et,ha=new Ie,ua=new ee,da=new ee,pa=new ee,ma=new Et,fa=new Et,ga=new Et;class va extends ni{constructor(t){if(super(),this.isSprite=!0,this.type="Sprite",void 0===ra){ra=new Pi;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),e=new ta(t,5);ra.setIndex([0,1,2,0,2,3]),ra.setAttribute("position",new ia(e,3,0,!1)),ra.setAttribute("uv",new ia(e,2,3,!1))}this.geometry=ra,this.material=void 0!==t?t:new na,this.center=new Et(.5,.5)}raycast(t,e){null===t.camera&&console.error("THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites."),aa.setFromMatrixScale(this.matrixWorld),ha.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),oa.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&aa.multiplyScalar(-oa.z);const i=this.material.rotation;let n,r;0!==i&&(r=Math.cos(i),n=Math.sin(i));const s=this.center;xa(ua.set(-.5,-.5,0),oa,s,aa,n,r),xa(da.set(.5,-.5,0),oa,s,aa,n,r),xa(pa.set(.5,.5,0),oa,s,aa,n,r),ma.set(0,0),fa.set(1,0),ga.set(1,1);let a=t.ray.intersectTriangle(ua,da,pa,!1,sa);if(null===a&&(xa(da.set(-.5,.5,0),oa,s,aa,n,r),fa.set(0,1),a=t.ray.intersectTriangle(ua,pa,da,!1,sa),null===a))return;const o=t.ray.origin.distanceTo(sa);o<t.near||o>t.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;t<i;t++){const i=e[t];this.addLevel(i.object.clone(),i.distance)}return this.autoUpdate=t.autoUpdate,this}addLevel(t,e=0){e=Math.abs(e);const i=this.levels;let n;for(n=0;n<i.length&&!(e<i[n].distance);n++);return i.splice(n,0,{distance:e,object:t}),this.add(t),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(t){const e=this.levels;if(e.length>0){let i,n;for(i=1,n=e.length;i<n&&!(t<e[i].distance);i++);return e[i-1].object}return null}raycast(t,e){if(this.levels.length>0){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<r&&i>=e[n].distance;n++)e[n-1].object.visible=!1,e[n].object.visible=!0;for(this._currentLevel=n-1;n<r;n++)e[n].object.visible=!1}}toJSON(t){const e=super.toJSON(t);!1===this.autoUpdate&&(e.object.autoUpdate=!1),e.object.levels=[];const i=this.levels;for(let t=0,n=i.length;t<n;t++){const n=i[t];e.object.levels.push({object:n.object.uuid,distance:n.distance})}return e}}const ba=new ee,wa=new Jt,Sa=new Jt,Ta=new ee,Aa=new Ie;class Ea extends Zi{constructor(t,e){super(t,e),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Ie,this.bindMatrixInverse=new Ie}copy(t,e){return super.copy(t,e),this.bindMode=t.bindMode,this.bindMatrix.copy(t.bindMatrix),this.bindMatrixInverse.copy(t.bindMatrixInverse),this.skeleton=t.skeleton,this}bind(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const t=new Jt,e=this.geometry.attributes.skinWeight;for(let i=0,n=e.count;i<n;i++){t.fromBufferAttribute(e,i);const n=1/t.manhattanLength();n!==1/0?t.multiplyScalar(n):t.set(1,0,0,0),e.setXYZW(i,t.x,t.y,t.z,t.w)}}updateMatrixWorld(t){super.updateMatrixWorld(t),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}boneTransform(t,e){const i=this.skeleton,n=this.geometry;wa.fromBufferAttribute(n.attributes.skinIndex,t),Sa.fromBufferAttribute(n.attributes.skinWeight,t),ba.copy(e).applyMatrix4(this.bindMatrix),e.set(0,0,0);for(let t=0;t<4;t++){const n=Sa.getComponent(t);if(0!==n){const r=wa.getComponent(t);Aa.multiplyMatrices(i.bones[r].matrixWorld,i.boneInverses[r]),e.addScaledVector(Ta.copy(ba).applyMatrix4(Aa),n)}}return e.applyMatrix4(this.bindMatrixInverse)}}class Ca extends ni{constructor(){super(),this.isBone=!0,this.type="Bone"}}class La extends Zt{constructor(t=null,e=1,i=1,n,r,s,a,o,l=1003,c=1003,h,u){super(null,s,a,o,l,c,n,r,h,u),this.isDataTexture=!0,this.image={data:t,width:e,height:i},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const Ra=new Ie,Pa=new Ie;class Ia{constructor(t=[],e=[]){this.uuid=yt(),this.bones=t.slice(0),this.boneInverses=e,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){const t=this.bones,e=this.boneInverses;if(this.boneMatrices=new Float32Array(16*t.length),0===e.length)this.calculateInverses();else if(t.length!==e.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let t=0,e=this.bones.length;t<e;t++)this.boneInverses.push(new Ie)}}calculateInverses(){this.boneInverses.length=0;for(let t=0,e=this.bones.length;t<e;t++){const e=new Ie;this.bones[t]&&e.copy(this.bones[t].matrixWorld).invert(),this.boneInverses.push(e)}}pose(){for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&e.matrixWorld.copy(this.boneInverses[t]).invert()}for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&(e.parent&&e.parent.isBone?(e.matrix.copy(e.parent.matrixWorld).invert(),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))}}update(){const t=this.bones,e=this.boneInverses,i=this.boneMatrices,n=this.boneTexture;for(let n=0,r=t.length;n<r;n++){const r=t[n]?t[n].matrixWorld:Pa;Ra.multiplyMatrices(r,e[n]),Ra.toArray(i,16*n)}null!==n&&(n.needsUpdate=!0)}clone(){return new Ia(this.bones,this.boneInverses)}computeBoneTexture(){let t=Math.sqrt(4*this.bones.length);t=St(t),t=Math.max(t,4);const e=new Float32Array(t*t*4);e.set(this.boneMatrices);const i=new La(e,t,t,S,M);return i.needsUpdate=!0,this.boneMatrices=e,this.boneTexture=i,this.boneTextureSize=t,this}getBoneByName(t){for(let e=0,i=this.bones.length;e<i;e++){const i=this.bones[e];if(i.name===t)return i}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(t,e){this.uuid=t.uuid;for(let i=0,n=t.bones.length;i<n;i++){const n=t.bones[i];let r=e[n];void 0===r&&(console.warn("THREE.Skeleton: No bone found with UUID:",n),r=new Ca),this.bones.push(r),this.boneInverses.push(new Ie().fromArray(t.boneInverses[i]))}return this.init(),this}toJSON(){const t={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};t.uuid=this.uuid;const e=this.bones,i=this.boneInverses;for(let n=0,r=e.length;n<r;n++){const r=e[n];t.bones.push(r.uuid);const s=i[n];t.boneInverses.push(s.toArray())}return t}}class Da extends _i{constructor(t,e,i,n=1){"number"==typeof i&&(n=i,i=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),super(t,e,i),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=n}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}toJSON(){const t=super.toJSON();return t.meshPerAttribute=this.meshPerAttribute,t.isInstancedBufferAttribute=!0,t}}const Na=new Ie,Oa=new Ie,za=[],Fa=new Zi;class Ba extends Zi{constructor(t,e,i){super(t,e),this.isInstancedMesh=!0,this.instanceMatrix=new Da(new Float32Array(16*i),16),this.instanceColor=null,this.count=i,this.frustumCulled=!1}copy(t,e){return super.copy(t,e),this.instanceMatrix.copy(t.instanceMatrix),null!==t.instanceColor&&(this.instanceColor=t.instanceColor.clone()),this.count=t.count,this}getColorAt(t,e){e.fromArray(this.instanceColor.array,3*t)}getMatrixAt(t,e){e.fromArray(this.instanceMatrix.array,16*t)}raycast(t,e){const i=this.matrixWorld,n=this.count;if(Fa.geometry=this.geometry,Fa.material=this.material,void 0!==Fa.material)for(let r=0;r<n;r++){this.getMatrixAt(r,Na),Oa.multiplyMatrices(i,Na),Fa.matrixWorld=Oa,Fa.raycast(t,za);for(let t=0,i=za.length;t<i;t++){const i=za[t];i.instanceId=r,i.object=this,e.push(i)}za.length=0}}setColorAt(t,e){null===this.instanceColor&&(this.instanceColor=new Da(new Float32Array(3*this.instanceMatrix.count),3)),e.toArray(this.instanceColor.array,3*t)}setMatrixAt(t,e){e.toArray(this.instanceMatrix.array,16*t)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class Ua extends gi{constructor(t){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Ht(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this.fog=t.fog,this}}const ka=new ee,Ga=new ee,Va=new Ie,Ha=new Pe,Wa=new we;class ja extends ni{constructor(t=new Pi,e=new Ua){super(),this.isLine=!0,this.type="Line",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=t.material,this.geometry=t.geometry,this}computeLineDistances(){const t=this.geometry;if(null===t.index){const e=t.attributes.position,i=[0];for(let t=1,n=e.count;t<n;t++)ka.fromBufferAttribute(e,t-1),Ga.fromBufferAttribute(e,t),i[t]=i[t-1],i[t]+=ka.distanceTo(Ga);t.setAttribute("lineDistance",new wi(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(t,e){const i=this.geometry,n=this.matrixWorld,r=t.params.Line.threshold,s=i.drawRange;if(null===i.boundingSphere&&i.computeBoundingSphere(),Wa.copy(i.boundingSphere),Wa.applyMatrix4(n),Wa.radius+=r,!1===t.ray.intersectsSphere(Wa))return;Va.copy(n).invert(),Ha.copy(t.ray).applyMatrix4(Va);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=new ee,c=new ee,h=new ee,u=new ee,d=this.isLineSegments?2:1,p=i.index,m=i.attributes.position;if(null!==p){for(let i=Math.max(0,s.start),n=Math.min(p.count,s.start+s.count)-1;i<n;i+=d){const n=p.getX(i),r=p.getX(i+1);l.fromBufferAttribute(m,n),c.fromBufferAttribute(m,r);if(Ha.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const s=t.ray.origin.distanceTo(u);s<t.near||s>t.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;i<n;i+=d){l.fromBufferAttribute(m,i),c.fromBufferAttribute(m,i+1);if(Ha.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const n=t.ray.origin.distanceTo(u);n<t.near||n>t.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;t<e;t++){const e=i[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}}const qa=new ee,Xa=new ee;class Ya extends ja{constructor(t,e){super(t,e),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(null===t.index){const e=t.attributes.position,i=[];for(let t=0,n=e.count;t<n;t+=2)qa.fromBufferAttribute(e,t),Xa.fromBufferAttribute(e,t+1),i[t]=0===t?0:i[t-1],i[t+1]=i[t]+qa.distanceTo(Xa);t.setAttribute("lineDistance",new wi(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class Za extends ja{constructor(t,e){super(t,e),this.isLineLoop=!0,this.type="LineLoop"}}class Ja extends gi{constructor(t){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Ht(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}}const Ka=new Ie,Qa=new Pe,$a=new we,to=new ee;class eo extends ni{constructor(t=new Pi,e=new Ja){super(),this.isPoints=!0,this.type="Points",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=t.material,this.geometry=t.geometry,this}raycast(t,e){const i=this.geometry,n=this.matrixWorld,r=t.params.Points.threshold,s=i.drawRange;if(null===i.boundingSphere&&i.computeBoundingSphere(),$a.copy(i.boundingSphere),$a.applyMatrix4(n),$a.radius+=r,!1===t.ray.intersectsSphere($a))return;Ka.copy(n).invert(),Qa.copy(t.ray).applyMatrix4(Ka);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=i.index,c=i.attributes.position;if(null!==l){for(let i=Math.max(0,s.start),r=Math.min(l.count,s.start+s.count);i<r;i++){const r=l.getX(i);to.fromBufferAttribute(c,r),io(to,r,o,n,t,e,this)}}else{for(let i=Math.max(0,s.start),r=Math.min(c.count,s.start+s.count);i<r;i++)to.fromBufferAttribute(c,i),io(to,i,o,n,t,e,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;t<e;t++){const e=i[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}}function io(t,e,i,n,r,s,a){const o=Qa.distanceSqToPoint(t);if(o<i){const i=new ee;Qa.closestPointToPoint(t,i),i.applyMatrix4(n);const l=r.ray.origin.distanceTo(i);if(l<r.near||l>r.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)<Number.EPSILON;for(;r<0;)r+=n;for(;r>n;)r-=n;r<Number.EPSILON&&(r=s?0:n),!0!==this.aClockwise||s||(r===n?r=-n:r-=n);const a=this.aStartAngle+t*r;let o=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const t=Math.cos(this.aRotation),e=Math.sin(this.aRotation),i=o-this.aX,n=l-this.aY;o=i*t-n*e+this.aX,l=i*e+n*t+this.aY}return i.set(o,l)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){const t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}}class ao extends so{constructor(t,e,i,n,r,s){super(t,e,i,i,n,r,s),this.isArcCurve=!0,this.type="ArcCurve"}}function oo(){let t=0,e=0,i=0,n=0;function r(r,s,a,o){t=r,e=a,i=-3*r+3*s-2*a-o,n=2*r-2*s+a+o}return{initCatmullRom:function(t,e,i,n,s){r(e,i,s*(i-t),s*(n-e))},initNonuniformCatmullRom:function(t,e,i,n,s,a,o){let l=(e-t)/s-(i-t)/(s+a)+(i-e)/a,c=(i-e)/a-(n-e)/(a+o)+(n-i)/o;l*=a,c*=a,r(e,i,l,c)},calc:function(r){const s=r*r;return t+e*r+i*s+n*(s*r)}}}const lo=new ee,co=new oo,ho=new oo,uo=new oo;class po extends ro{constructor(t=[],e=!1,i="centripetal",n=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=t,this.closed=e,this.curveType=i,this.tension=n}getPoint(t,e=new ee){const i=e,n=this.points,r=n.length,s=(r-(this.closed?0:1))*t;let a,o,l=Math.floor(s),c=s-l;this.closed?l+=l>0?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+2<r?o=n[(l+2)%r]:(lo.subVectors(n[r-1],n[r-2]).add(n[r-1]),o=lo),"centripetal"===this.curveType||"chordal"===this.curveType){const t="chordal"===this.curveType?.5:.25;let e=Math.pow(a.distanceToSquared(h),t),i=Math.pow(h.distanceToSquared(u),t),n=Math.pow(u.distanceToSquared(o),t);i<1e-4&&(i=1),e<1e-4&&(e=i),n<1e-4&&(n=i),co.initNonuniformCatmullRom(a.x,h.x,u.x,o.x,e,i,n),ho.initNonuniformCatmullRom(a.y,h.y,u.y,o.y,e,i,n),uo.initNonuniformCatmullRom(a.z,h.z,u.z,o.z,e,i,n)}else"catmullrom"===this.curveType&&(co.initCatmullRom(a.x,h.x,u.x,o.x,this.tension),ho.initCatmullRom(a.y,h.y,u.y,o.y,this.tension),uo.initCatmullRom(a.z,h.z,u.z,o.z,this.tension));return i.set(co.calc(c),ho.calc(c),uo.calc(c)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){const i=t.points[e];this.points.push(i.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){const i=this.points[e];t.points.push(i.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){const i=t.points[e];this.points.push(new ee().fromArray(i))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}}function mo(t,e,i,n,r){const s=.5*(n-e),a=.5*(r-i),o=t*t;return(2*i-2*n+s+a)*(t*o)+(-3*i+3*n-2*s-a)*o+s*t+i}function fo(t,e,i,n){return function(t,e){const i=1-t;return i*i*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,i)+function(t,e){return t*t*e}(t,n)}function go(t,e,i,n,r){return function(t,e){const i=1-t;return i*i*i*e}(t,e)+function(t,e){const i=1-t;return 3*i*i*t*e}(t,i)+function(t,e){return 3*(1-t)*t*t*e}(t,n)+function(t,e){return t*t*t*e}(t,r)}class vo extends ro{constructor(t=new Et,e=new Et,i=new Et,n=new Et){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=t,this.v1=e,this.v2=i,this.v3=n}getPoint(t,e=new Et){const i=e,n=this.v0,r=this.v1,s=this.v2,a=this.v3;return i.set(go(t,n.x,r.x,s.x,a.x),go(t,n.y,r.y,s.y,a.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}class xo extends ro{constructor(t=new ee,e=new ee,i=new ee,n=new ee){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=t,this.v1=e,this.v2=i,this.v3=n}getPoint(t,e=new ee){const i=e,n=this.v0,r=this.v1,s=this.v2,a=this.v3;return i.set(go(t,n.x,r.x,s.x,a.x),go(t,n.y,r.y,s.y,a.y),go(t,n.z,r.z,s.z,a.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}class yo extends ro{constructor(t=new Et,e=new Et){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=t,this.v2=e}getPoint(t,e=new Et){const i=e;return 1===t?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e){const i=e||new Et;return i.copy(this.v2).sub(this.v1).normalize(),i}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class _o extends ro{constructor(t=new ee,e=new ee){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=t,this.v2=e}getPoint(t,e=new ee){const i=e;return 1===t?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class Mo extends ro{constructor(t=new Et,e=new Et,i=new Et){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new Et){const i=e,n=this.v0,r=this.v1,s=this.v2;return i.set(fo(t,n.x,r.x,s.x),fo(t,n.y,r.y,s.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class bo extends ro{constructor(t=new ee,e=new ee,i=new ee){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new ee){const i=e,n=this.v0,r=this.v1,s=this.v2;return i.set(fo(t,n.x,r.x,s.x),fo(t,n.y,r.y,s.y),fo(t,n.z,r.z,s.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class wo extends ro{constructor(t=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=t}getPoint(t,e=new Et){const i=e,n=this.points,r=(n.length-1)*t,s=Math.floor(r),a=r-s,o=n[0===s?s:s-1],l=n[s],c=n[s>n.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;e++){const i=t.points[e];this.points.push(i.clone())}return this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){const i=this.points[e];t.points.push(i.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){const i=t.points[e];this.points.push(new Et().fromArray(i))}return this}}var So=Object.freeze({__proto__:null,ArcCurve:ao,CatmullRomCurve3:po,CubicBezierCurve:vo,CubicBezierCurve3:xo,EllipseCurve:so,LineCurve:yo,LineCurve3:_o,QuadraticBezierCurve:Mo,QuadraticBezierCurve3:bo,SplineCurve:wo});class To extends ro{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){const t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new yo(e,t))}getPoint(t,e){const i=t*this.getLength(),n=this.getCurveLengths();let r=0;for(;r<n.length;){if(n[r]>=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;i<n;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){const e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){const e=[];let i;for(let n=0,r=this.curves;n<r.length;n++){const s=r[n],a=s.isEllipseCurve?2*t:s.isLineCurve||s.isLineCurve3?1:s.isSplineCurve?t*s.points.length:t,o=s.getPoints(a);for(let t=0;t<o.length;t++){const n=o[t];i&&i.equals(n)||(e.push(n),i=n)}}return this.autoClose&&e.length>1&&!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;e<i;e++){const i=t.curves[e];this.curves.push(i.clone())}return this.autoClose=t.autoClose,this}toJSON(){const t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,i=this.curves.length;e<i;e++){const i=this.curves[e];t.curves.push(i.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){const i=t.curves[e];this.curves.push(new So[i.type]().fromJSON(i))}return this}}class Ao extends To{constructor(t){super(),this.type="Path",this.currentPoint=new Et,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){const i=new yo(this.currentPoint.clone(),new Et(t,e));return this.curves.push(i),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,i,n){const r=new Mo(this.currentPoint.clone(),new Et(t,e),new Et(i,n));return this.curves.push(r),this.currentPoint.set(i,n),this}bezierCurveTo(t,e,i,n,r,s){const a=new vo(this.currentPoint.clone(),new Et(t,e),new Et(i,n),new Et(r,s));return this.curves.push(a),this.currentPoint.set(r,s),this}splineThru(t){const e=[this.currentPoint.clone()].concat(t),i=new wo(e);return this.curves.push(i),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,i,n,r,s){const a=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(t+a,e+o,i,n,r,s),this}absarc(t,e,i,n,r,s){return this.absellipse(t,e,i,i,n,r,s),this}ellipse(t,e,i,n,r,s,a,o){const l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(t+l,e+c,i,n,r,s,a,o),this}absellipse(t,e,i,n,r,s,a,o){const l=new so(t,e,i,n,r,s,a,o);if(this.curves.length>0){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;i<e;i++)for(let e=0;e<t.length-1;e++){const n=e+i*t.length,s=n,a=n+t.length,o=n+t.length+1,l=n+1;r.push(s,a,l),r.push(o,l,a)}this.setIndex(r),this.setAttribute("position",new wi(s,3)),this.setAttribute("uv",new wi(a,2)),this.setAttribute("normal",new wi(l,3))}static fromJSON(t){return new Eo(t.points,t.segments,t.phiStart,t.phiLength)}}class Co extends Eo{constructor(t=1,e=1,i=4,n=8){const r=new Ao;r.absarc(0,-e/2,t,1.5*Math.PI,0),r.absarc(0,e/2,t,0,.5*Math.PI),super(r.getPoints(i),n),this.type="CapsuleGeometry",this.parameters={radius:t,height:e,capSegments:i,radialSegments:n}}static fromJSON(t){return new Co(t.radius,t.length,t.capSegments,t.radialSegments)}}class Lo extends Pi{constructor(t=1,e=8,i=0,n=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:n},e=Math.max(3,e);const r=[],s=[],a=[],o=[],l=new ee,c=new Et;s.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let r=0,h=3;r<=e;r++,h+=3){const u=i+r/e*n;l.x=t*Math.cos(u),l.y=t*Math.sin(u),s.push(l.x,l.y,l.z),a.push(0,0,1),c.x=(s[h]/t+1)/2,c.y=(s[h+1]/t+1)/2,o.push(c.x,c.y)}for(let t=1;t<=e;t++)r.push(t,t+1,0);this.setIndex(r),this.setAttribute("position",new wi(s,3)),this.setAttribute("normal",new wi(a,3)),this.setAttribute("uv",new wi(o,2))}static fromJSON(t){return new Lo(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class Ro extends Pi{constructor(t=1,e=1,i=1,n=8,r=1,s=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:i,radialSegments:n,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;n=Math.floor(n),r=Math.floor(r);const c=[],h=[],u=[],d=[];let p=0;const m=[],f=i/2;let g=0;function v(i){const r=p,s=new Et,m=new ee;let v=0;const x=!0===i?t:e,y=!0===i?1:-1;for(let t=1;t<=n;t++)h.push(0,f*y,0),u.push(0,y,0),d.push(.5,.5),p++;const _=p;for(let t=0;t<=n;t++){const e=t/n*o+a,i=Math.cos(e),r=Math.sin(e);m.x=x*r,m.y=f*y,m.z=x*i,h.push(m.x,m.y,m.z),u.push(0,y,0),s.x=.5*i+.5,s.y=.5*r*y+.5,d.push(s.x,s.y),p++}for(let t=0;t<n;t++){const e=r+t,n=_+t;!0===i?c.push(n,n+1,e):c.push(n+1,n,e),v+=3}l.addGroup(g,v,!0===i?1:2),g+=v}!function(){const s=new ee,v=new ee;let x=0;const y=(e-t)/i;for(let l=0;l<=r;l++){const c=[],g=l/r,x=g*(e-t)+t;for(let t=0;t<=n;t++){const e=t/n,r=e*o+a,l=Math.sin(r),m=Math.cos(r);v.x=x*l,v.y=-g*i+f,v.z=x*m,h.push(v.x,v.y,v.z),s.set(l,y,m).normalize(),u.push(s.x,s.y,s.z),d.push(e,1-g),c.push(p++)}m.push(c)}for(let t=0;t<n;t++)for(let e=0;e<r;e++){const i=m[e][t],n=m[e+1][t],r=m[e+1][t+1],s=m[e][t+1];c.push(i,n,s),c.push(n,r,s),x+=6}l.addGroup(g,x,0),g+=x}(),!1===s&&(t>0&&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<r;t++)for(let e=0;e<2*(r-t)-1;e++){const i=Math.floor(e/2);e%2==0?(o(s[t][i+1]),o(s[t+1][i]),o(s[t][i])):(o(s[t][i+1]),o(s[t+1][i+1]),o(s[t+1][i]))}}function o(t){r.push(t.x,t.y,t.z)}function l(e,i){const n=3*e;i.x=t[n+0],i.y=t[n+1],i.z=t[n+2]}function c(t,e,i,n){n<0&&1===t.x&&(s[e]=t.x-1),0===i.x&&0===i.z&&(s[e]=n/2/Math.PI+.5)}function h(t){return Math.atan2(t.z,-t.x)}!function(t){const i=new ee,n=new ee,r=new ee;for(let s=0;s<e.length;s+=3)l(e[s+0],i),l(e[s+1],n),l(e[s+2],r),a(i,n,r,t)}(n),function(t){const e=new ee;for(let i=0;i<r.length;i+=3)e.x=r[i+0],e.y=r[i+1],e.z=r[i+2],e.normalize().multiplyScalar(t),r[i+0]=e.x,r[i+1]=e.y,r[i+2]=e.z}(i),function(){const t=new ee;for(let i=0;i<r.length;i+=3){t.x=r[i+0],t.y=r[i+1],t.z=r[i+2];const n=h(t)/2/Math.PI+.5,a=(e=t,Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))/Math.PI+.5);s.push(n,1-a)}var e;(function(){const t=new ee,e=new ee,i=new ee,n=new ee,a=new Et,o=new Et,l=new Et;for(let u=0,d=0;u<r.length;u+=9,d+=6){t.set(r[u+0],r[u+1],r[u+2]),e.set(r[u+3],r[u+4],r[u+5]),i.set(r[u+6],r[u+7],r[u+8]),a.set(s[d+0],s[d+1]),o.set(s[d+2],s[d+3]),l.set(s[d+4],s[d+5]),n.copy(t).add(e).add(i).divideScalar(3);const p=h(n);c(a,d+0,t,p),c(o,d+2,e,p),c(l,d+4,i,p)}})(),function(){for(let t=0;t<s.length;t+=6){const e=s[t+0],i=s[t+2],n=s[t+4],r=Math.max(e,i,n),a=Math.min(e,i,n);r>.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;t<o;t+=3){s?(l[0]=s.getX(t),l[1]=s.getX(t+1),l[2]=s.getX(t+2)):(l[0]=t,l[1]=t+1,l[2]=t+2);const{a:e,b:i,c:o}=Fo;if(e.fromBufferAttribute(a,l[0]),i.fromBufferAttribute(a,l[1]),o.fromBufferAttribute(a,l[2]),Fo.getNormal(zo),h[0]=`${Math.round(e.x*n)},${Math.round(e.y*n)},${Math.round(e.z*n)}`,h[1]=`${Math.round(i.x*n)},${Math.round(i.y*n)},${Math.round(i.z*n)}`,h[2]=`${Math.round(o.x*n)},${Math.round(o.y*n)},${Math.round(o.z*n)}`,h[0]!==h[1]&&h[1]!==h[2]&&h[2]!==h[0])for(let t=0;t<3;t++){const e=(t+1)%3,i=h[t],n=h[e],s=Fo[c[t]],a=Fo[c[e]],o=`${i}_${n}`,p=`${n}_${i}`;p in u&&u[p]?(zo.dot(u[p].normal)<=r&&(d.push(s.x,s.y,s.z),d.push(a.x,a.y,a.z)),u[p]=null):o in u||(u[o]={index0:l[t],index1:l[e],normal:zo.clone()})}}for(const t in u)if(u[t]){const{index0:e,index1:i}=u[t];No.fromBufferAttribute(a,e),Oo.fromBufferAttribute(a,i),d.push(No.x,No.y,No.z),d.push(Oo.x,Oo.y,Oo.z)}this.setAttribute("position",new wi(d,3))}}}class Uo extends Ao{constructor(t){super(t),this.uuid=yt(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let i=0,n=this.holes.length;i<n;i++)e[i]=this.holes[i].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){const i=t.holes[e];this.holes.push(i.clone())}return this}toJSON(){const t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,i=this.holes.length;e<i;e++){const i=this.holes[e];t.holes.push(i.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){const i=t.holes[e];this.holes.push(new Ao().fromJSON(i))}return this}}const ko=function(t,e,i=2){const n=e&&e.length,r=n?e[0]*i:t.length;let s=Go(t,0,r,i,!0);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,h,u,d,p;if(n&&(s=function(t,e,i,n){const r=[];let s,a,o,l,c;for(s=0,a=e.length;s<a;s++)o=e[s]*n,l=s<a-1?e[s+1]*n:t.length,c=Go(t,o,l,n,!1),c===c.next&&(c.steiner=!0),r.push(Qo(c));for(r.sort(Yo),s=0;s<r.length;s++)Zo(r[s],i),i=Vo(i,i.next);return i}(t,e,s,i)),t.length>80*i){o=c=t[0],l=h=t[1];for(let e=i;e<r;e+=i)u=t[e],d=t[e+1],u<o&&(o=u),d<l&&(l=d),u>c&&(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;s<i;s+=n)r+=(t[a]-t[s])*(t[s+1]+t[a+1]),a=s;return r}(t,e,i,n)>0)for(s=e;s<i;s+=n)a=ll(s,t[s],t[s+1],a);else for(s=i-n;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;e<c&&(o++,n=n.nextZ,n);e++);for(l=c;o>0||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.x<s.x?r.x<a.x?r.x:a.x:s.x<a.x?s.x:a.x,l=r.y<s.y?r.y<a.y?r.y:a.y:s.y<a.y?s.y:a.y,c=r.x>s.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.next.x?i:i.next}}i=i.next}while(i!==e);if(!s)return null;if(n===a)return s;const o=s,l=s.x,c=s.y;let h,u=1/0;i=s;do{n>=i.x&&i.x>=l&&n!==i.x&&$o(r<c?n:a,r,l,c,r<c?a:n,r,i.x,i.y)&&(h=Math.abs(r-i.y)/(n-i.x),al(i,t)&&(h<u||h===u&&(i.x>s.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<i.x||e.x===i.x&&e.y<i.y)&&(i=e),e=e.next}while(e!==t);return i}function $o(t,e,i,n,r,s,a,o){return(r-a)*(e-o)-(t-a)*(s-o)>=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;r<e;n=r++)i+=t[n].x*t[r].y-t[r].x*t[n].y;return .5*i}static isClockWise(t){return ul.area(t)<0}static triangulateShape(t,e){const i=[],n=[],r=[];dl(t),pl(i,t);let s=t.length;e.forEach(dl);for(let t=0;t<e.length;t++)n.push(s),s+=e[t].length,pl(i,e[t]);const a=ko(i,n);for(let t=0;t<a.length;t+=3)r.push(a.slice(t,t+3));return r}}function dl(t){const e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function pl(t,e){for(let i=0;i<e.length;i++)t.push(e[i].x),t.push(e[i].y)}class ml extends Pi{constructor(t=new Uo([new Et(.5,.5),new Et(-.5,.5),new Et(-.5,-.5),new Et(.5,-.5)]),e={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];const i=this,n=[],r=[];for(let e=0,i=t.length;e<i;e++){s(t[e])}function s(t){const s=[],a=void 0!==e.curveSegments?e.curveSegments:12,o=void 0!==e.steps?e.steps:1;let l=void 0!==e.depth?e.depth:1,c=void 0===e.bevelEnabled||e.bevelEnabled,h=void 0!==e.bevelThickness?e.bevelThickness:.2,u=void 0!==e.bevelSize?e.bevelSize:h-.1,d=void 0!==e.bevelOffset?e.bevelOffset:0,p=void 0!==e.bevelSegments?e.bevelSegments:3;const m=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:fl;void 0!==e.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=e.amount);let g,v,x,y,_,M=!1;m&&(g=m.getSpacedPoints(o),M=!0,c=!1,v=m.computeFrenetFrames(o,!1),x=new ee,y=new ee,_=new ee),c||(p=0,h=0,u=0,d=0);const b=t.extractPoints(a);let w=b.shape;const S=b.holes;if(!ul.isClockWise(w)){w=w.reverse();for(let t=0,e=S.length;t<e;t++){const e=S[t];ul.isClockWise(e)&&(S[t]=e.reverse())}}const T=ul.triangulateShape(w,S),A=w;for(let t=0,e=S.length;t<e;t++){const e=S[t];w=w.concat(e)}function E(t,e,i){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),e.clone().multiplyScalar(i).add(t)}const C=w.length,L=T.length;function R(t,e,i){let n,r,s;const a=t.x-e.x,o=t.y-e.y,l=i.x-t.x,c=i.y-t.y,h=a*a+o*o,u=a*c-o*l;if(Math.abs(u)>Number.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<e;t++,i++,n++)i===e&&(i=0),n===e&&(n=0),P[t]=R(A[t],A[i],A[n]);const I=[];let D,N=P.concat();for(let t=0,e=S.length;t<e;t++){const e=S[t];D=[];for(let t=0,i=e.length,n=i-1,r=t+1;t<i;t++,n++,r++)n===i&&(n=0),r===i&&(r=0),D[t]=R(e[t],e[n],e[r]);I.push(D),N=N.concat(D)}for(let t=0;t<p;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<e;t++){const e=E(A[t],P[t],n);F(e.x,e.y,-i)}for(let t=0,e=S.length;t<e;t++){const e=S[t];D=I[t];for(let t=0,r=e.length;t<r;t++){const r=E(e[t],D[t],n);F(r.x,r.y,-i)}}}const O=u+d;for(let t=0;t<C;t++){const e=c?E(w[t],N[t],O):w[t];M?(y.copy(v.normals[0]).multiplyScalar(e.x),x.copy(v.binormals[0]).multiplyScalar(e.y),_.copy(g[0]).add(y).add(x),F(_.x,_.y,_.z)):F(e.x,e.y,0)}for(let t=1;t<=o;t++)for(let e=0;e<C;e++){const i=c?E(w[e],N[e],O):w[e];M?(y.copy(v.normals[t]).multiplyScalar(i.x),x.copy(v.binormals[t]).multiplyScalar(i.y),_.copy(g[t]).add(y).add(x),F(_.x,_.y,_.z)):F(i.x,i.y,l/o*t)}for(let t=p-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<e;t++){const e=E(A[t],P[t],n);F(e.x,e.y,l+i)}for(let t=0,e=S.length;t<e;t++){const e=S[t];D=I[t];for(let t=0,r=e.length;t<r;t++){const r=E(e[t],D[t],n);M?F(r.x,r.y+g[o-1].y,g[o-1].x+i):F(r.x,r.y,l+i)}}}function z(t,e){let i=t.length;for(;--i>=0;){const n=i;let r=i-1;r<0&&(r=t.length-1);for(let t=0,i=o+2*p;t<i;t++){const i=C*t,s=C*(t+1);U(e+n+i,e+r+i,e+r+s,e+n+s)}}}function F(t,e,i){s.push(t),s.push(e),s.push(i)}function B(t,e,r){k(t),k(e),k(r);const s=n.length/3,a=f.generateTopUV(i,n,s-3,s-2,s-1);G(a[0]),G(a[1]),G(a[2])}function U(t,e,r,s){k(t),k(e),k(s),k(e),k(r),k(s);const a=n.length/3,o=f.generateSideWallUV(i,n,a-6,a-3,a-2,a-1);G(o[0]),G(o[1]),G(o[3]),G(o[1]),G(o[2]),G(o[3])}function k(t){n.push(s[3*t+0]),n.push(s[3*t+1]),n.push(s[3*t+2])}function G(t){r.push(t.x),r.push(t.y)}!function(){const t=n.length/3;if(c){let t=0,e=C*t;for(let t=0;t<L;t++){const i=T[t];B(i[2]+e,i[1]+e,i[0]+e)}t=o+2*p,e=C*t;for(let t=0;t<L;t++){const i=T[t];B(i[0]+e,i[1]+e,i[2]+e)}}else{for(let t=0;t<L;t++){const e=T[t];B(e[2],e[1],e[0])}for(let t=0;t<L;t++){const e=T[t];B(e[0]+C*o,e[1]+C*o,e[2]+C*o)}}i.addGroup(t,n.length/3-t,0)}(),function(){const t=n.length/3;let e=0;z(A,e),e+=A.length;for(let t=0,i=S.length;t<i;t++){const i=S[t];z(i,e),e+=i.length}i.addGroup(t,n.length/3-t,1)}()}this.setAttribute("position",new wi(n,3)),this.setAttribute("uv",new wi(r,2)),this.computeVertexNormals()}toJSON(){const t=super.toJSON();return function(t,e,i){if(i.shapes=[],Array.isArray(t))for(let e=0,n=t.length;e<n;e++){const n=t[e];i.shapes.push(n.uuid)}else i.shapes.push(t.uuid);i.options=Object.assign({},e),void 0!==e.extrudePath&&(i.options.extrudePath=e.extrudePath.toJSON());return i}(this.parameters.shapes,this.parameters.options,t)}static fromJSON(t,e){const i=[];for(let n=0,r=t.shapes.length;n<r;n++){const r=e[t.shapes[n]];i.push(r)}const n=t.options.extrudePath;return void 0!==n&&(t.options.extrudePath=new So[n.type]().fromJSON(n)),new ml(i,t.options)}}const fl={generateTopUV:function(t,e,i,n,r){const s=e[3*i],a=e[3*i+1],o=e[3*n],l=e[3*n+1],c=e[3*r],h=e[3*r+1];return[new Et(s,a),new Et(o,l),new Et(c,h)]},generateSideWallUV:function(t,e,i,n,r,s){const a=e[3*i],o=e[3*i+1],l=e[3*i+2],c=e[3*n],h=e[3*n+1],u=e[3*n+2],d=e[3*r],p=e[3*r+1],m=e[3*r+2],f=e[3*s],g=e[3*s+1],v=e[3*s+2];return Math.abs(o-h)<Math.abs(a-c)?[new Et(a,1-l),new Et(c,1-u),new Et(d,1-m),new Et(f,1-v)]:[new Et(o,1-l),new Et(h,1-u),new Et(p,1-m),new Et(g,1-v)]}};class gl extends Io{constructor(t=1,e=0){const i=(1+Math.sqrt(5))/2;super([-1,i,0,1,i,0,-1,-i,0,1,-i,0,0,-1,i,0,1,i,0,-1,-i,0,1,-i,i,0,-1,i,0,1,-i,0,-1,-i,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],t,e),this.type="IcosahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new gl(t.radius,t.detail)}}class vl extends Io{constructor(t=1,e=0){super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],t,e),this.type="OctahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new vl(t.radius,t.detail)}}class xl extends Pi{constructor(t=.5,e=1,i=8,n=1,r=0,s=2*Math.PI){super(),this.type="RingGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:n,thetaStart:r,thetaLength:s},i=Math.max(3,i);const a=[],o=[],l=[],c=[];let h=t;const u=(e-t)/(n=Math.max(1,n)),d=new ee,p=new Et;for(let t=0;t<=n;t++){for(let t=0;t<=i;t++){const n=r+t/i*s;d.x=h*Math.cos(n),d.y=h*Math.sin(n),o.push(d.x,d.y,d.z),l.push(0,0,1),p.x=(d.x/e+1)/2,p.y=(d.y/e+1)/2,c.push(p.x,p.y)}h+=u}for(let t=0;t<n;t++){const e=t*(i+1);for(let t=0;t<i;t++){const n=t+e,r=n,s=n+i+1,o=n+i+2,l=n+1;a.push(r,s,l),a.push(s,o,l)}}this.setIndex(a),this.setAttribute("position",new wi(o,3)),this.setAttribute("normal",new wi(l,3)),this.setAttribute("uv",new wi(c,2))}static fromJSON(t){return new xl(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}}class yl extends Pi{constructor(t=new Uo([new Et(0,.5),new Et(-.5,-.5),new Et(.5,-.5)]),e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:t,curveSegments:e};const i=[],n=[],r=[],s=[];let a=0,o=0;if(!1===Array.isArray(t))l(t);else for(let e=0;e<t.length;e++)l(t[e]),this.addGroup(a,o,e),a+=o,o=0;function l(t){const a=n.length/3,l=t.extractPoints(e);let c=l.shape;const h=l.holes;!1===ul.isClockWise(c)&&(c=c.reverse());for(let t=0,e=h.length;t<e;t++){const e=h[t];!0===ul.isClockWise(e)&&(h[t]=e.reverse())}const u=ul.triangulateShape(c,h);for(let t=0,e=h.length;t<e;t++){const e=h[t];c=c.concat(e)}for(let t=0,e=c.length;t<e;t++){const e=c[t];n.push(e.x,e.y,0),r.push(0,0,1),s.push(e.x,e.y)}for(let t=0,e=u.length;t<e;t++){const e=u[t],n=e[0]+a,r=e[1]+a,s=e[2]+a;i.push(n,r,s),o+=3}}this.setIndex(i),this.setAttribute("position",new wi(n,3)),this.setAttribute("normal",new wi(r,3)),this.setAttribute("uv",new wi(s,2))}toJSON(){const t=super.toJSON();return function(t,e){if(e.shapes=[],Array.isArray(t))for(let i=0,n=t.length;i<n;i++){const n=t[i];e.shapes.push(n.uuid)}else e.shapes.push(t.uuid);return e}(this.parameters.shapes,t)}static fromJSON(t,e){const i=[];for(let n=0,r=t.shapes.length;n<r;n++){const r=e[t.shapes[n]];i.push(r)}return new yl(i,t.curveSegments)}}class _l extends Pi{constructor(t=1,e=32,i=16,n=0,r=2*Math.PI,s=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:i,phiStart:n,phiLength:r,thetaStart:s,thetaLength:a},e=Math.max(3,Math.floor(e)),i=Math.max(2,Math.floor(i));const o=Math.min(s+a,Math.PI);let l=0;const c=[],h=new ee,u=new ee,d=[],p=[],m=[],f=[];for(let d=0;d<=i;d++){const g=[],v=d/i;let x=0;0==d&&0==s?x=.5/e:d==i&&o==Math.PI&&(x=-.5/e);for(let i=0;i<=e;i++){const o=i/e;h.x=-t*Math.cos(n+o*r)*Math.sin(s+v*a),h.y=t*Math.cos(s+v*a),h.z=t*Math.sin(n+o*r)*Math.sin(s+v*a),p.push(h.x,h.y,h.z),u.copy(h).normalize(),m.push(u.x,u.y,u.z),f.push(o+x,1-v),g.push(l++)}c.push(g)}for(let t=0;t<i;t++)for(let n=0;n<e;n++){const e=c[t][n+1],r=c[t][n],a=c[t+1][n],l=c[t+1][n+1];(0!==t||s>0)&&d.push(e,r,l),(t!==i-1||o<Math.PI)&&d.push(r,a,l)}this.setIndex(d),this.setAttribute("position",new wi(p,3)),this.setAttribute("normal",new wi(m,3)),this.setAttribute("uv",new wi(f,2))}static fromJSON(t){return new _l(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class Ml extends Io{constructor(t=1,e=0){super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],t,e),this.type="TetrahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Ml(t.radius,t.detail)}}class bl extends Pi{constructor(t=1,e=.4,i=8,n=6,r=2*Math.PI){super(),this.type="TorusGeometry",this.parameters={radius:t,tube:e,radialSegments:i,tubularSegments:n,arc:r},i=Math.floor(i),n=Math.floor(n);const s=[],a=[],o=[],l=[],c=new ee,h=new ee,u=new ee;for(let s=0;s<=i;s++)for(let d=0;d<=n;d++){const p=d/n*r,m=s/i*Math.PI*2;h.x=(t+e*Math.cos(m))*Math.cos(p),h.y=(t+e*Math.cos(m))*Math.sin(p),h.z=e*Math.sin(m),a.push(h.x,h.y,h.z),c.x=t*Math.cos(p),c.y=t*Math.sin(p),u.subVectors(h,c).normalize(),o.push(u.x,u.y,u.z),l.push(d/n),l.push(s/i)}for(let t=1;t<=i;t++)for(let e=1;e<=n;e++){const i=(n+1)*t+e-1,r=(n+1)*(t-1)+e-1,a=(n+1)*(t-1)+e,o=(n+1)*t+e;s.push(i,r,o),s.push(r,a,o)}this.setIndex(s),this.setAttribute("position",new wi(a,3)),this.setAttribute("normal",new wi(o,3)),this.setAttribute("uv",new wi(l,2))}static fromJSON(t){return new bl(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}}class wl extends Pi{constructor(t=1,e=.4,i=64,n=8,r=2,s=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:t,tube:e,tubularSegments:i,radialSegments:n,p:r,q:s},i=Math.floor(i),n=Math.floor(n);const a=[],o=[],l=[],c=[],h=new ee,u=new ee,d=new ee,p=new ee,m=new ee,f=new ee,g=new ee;for(let a=0;a<=i;++a){const x=a/i*r*Math.PI*2;v(x,r,s,t,d),v(x+.01,r,s,t,p),f.subVectors(p,d),g.addVectors(p,d),m.crossVectors(f,g),g.crossVectors(m,f),m.normalize(),g.normalize();for(let t=0;t<=n;++t){const r=t/n*Math.PI*2,s=-e*Math.cos(r),p=e*Math.sin(r);h.x=d.x+(s*g.x+p*m.x),h.y=d.y+(s*g.y+p*m.y),h.z=d.z+(s*g.z+p*m.z),o.push(h.x,h.y,h.z),u.subVectors(h,d).normalize(),l.push(u.x,u.y,u.z),c.push(a/i),c.push(t/n)}}for(let t=1;t<=i;t++)for(let e=1;e<=n;e++){const i=(n+1)*(t-1)+(e-1),r=(n+1)*t+(e-1),s=(n+1)*t+e,o=(n+1)*(t-1)+e;a.push(i,r,o),a.push(r,s,o)}function v(t,e,i,n,r){const s=Math.cos(t),a=Math.sin(t),o=i/e*t,l=Math.cos(o);r.x=n*(2+l)*.5*s,r.y=n*(2+l)*a*.5,r.z=n*Math.sin(o)*.5}this.setIndex(a),this.setAttribute("position",new wi(o,3)),this.setAttribute("normal",new wi(l,3)),this.setAttribute("uv",new wi(c,2))}static fromJSON(t){return new wl(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}}class Sl extends Pi{constructor(t=new bo(new ee(-1,-1,0),new ee(-1,1,0),new ee(1,1,0)),e=64,i=1,n=8,r=!1){super(),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:i,radialSegments:n,closed:r};const s=t.computeFrenetFrames(e,r);this.tangents=s.tangents,this.normals=s.normals,this.binormals=s.binormals;const a=new ee,o=new ee,l=new Et;let c=new ee;const h=[],u=[],d=[],p=[];function m(r){c=t.getPointAt(r/e,c);const l=s.normals[r],d=s.binormals[r];for(let t=0;t<=n;t++){const e=t/n*Math.PI*2,r=Math.sin(e),s=-Math.cos(e);o.x=s*l.x+r*d.x,o.y=s*l.y+r*d.y,o.z=s*l.z+r*d.z,o.normalize(),u.push(o.x,o.y,o.z),a.x=c.x+i*o.x,a.y=c.y+i*o.y,a.z=c.z+i*o.z,h.push(a.x,a.y,a.z)}}!function(){for(let t=0;t<e;t++)m(t);m(!1===r?e:0),function(){for(let t=0;t<=e;t++)for(let i=0;i<=n;i++)l.x=t/e,l.y=i/n,d.push(l.x,l.y)}(),function(){for(let t=1;t<=e;t++)for(let e=1;e<=n;e++){const i=(n+1)*(t-1)+(e-1),r=(n+1)*t+(e-1),s=(n+1)*t+e,a=(n+1)*(t-1)+e;p.push(i,r,a),p.push(r,s,a)}}()}(),this.setIndex(p),this.setAttribute("position",new wi(h,3)),this.setAttribute("normal",new wi(u,3)),this.setAttribute("uv",new wi(d,2))}toJSON(){const t=super.toJSON();return t.path=this.parameters.path.toJSON(),t}static fromJSON(t){return new Sl(new So[t.path.type]().fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}}class Tl extends Pi{constructor(t=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:t},null!==t){const e=[],i=new Set,n=new ee,r=new ee;if(null!==t.index){const s=t.attributes.position,a=t.index;let o=t.groups;0===o.length&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let t=0,l=o.length;t<l;++t){const l=o[t],c=l.start;for(let t=c,o=c+l.count;t<o;t+=3)for(let o=0;o<3;o++){const l=a.getX(t+o),c=a.getX(t+(o+1)%3);n.fromBufferAttribute(s,l),r.fromBufferAttribute(s,c),!0===Al(n,r,i)&&(e.push(n.x,n.y,n.z),e.push(r.x,r.y,r.z))}}}else{const s=t.attributes.position;for(let t=0,a=s.count/3;t<a;t++)for(let a=0;a<3;a++){const o=3*t+a,l=3*t+(a+1)%3;n.fromBufferAttribute(s,o),r.fromBufferAttribute(s,l),!0===Al(n,r,i)&&(e.push(n.x,n.y,n.z),e.push(r.x,r.y,r.z))}}this.setAttribute("position",new wi(e,3))}}}function Al(t,e,i){const n=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;return!0!==i.has(n)&&!0!==i.has(r)&&(i.add(n),i.add(r),!0)}var El=Object.freeze({__proto__:null,BoxGeometry:Ki,BoxBufferGeometry:Ki,CapsuleGeometry:Co,CapsuleBufferGeometry:Co,CircleGeometry:Lo,CircleBufferGeometry:Lo,ConeGeometry:Po,ConeBufferGeometry:Po,CylinderGeometry:Ro,CylinderBufferGeometry:Ro,DodecahedronGeometry:Do,DodecahedronBufferGeometry:Do,EdgesGeometry:Bo,ExtrudeGeometry:ml,ExtrudeBufferGeometry:ml,IcosahedronGeometry:gl,IcosahedronBufferGeometry:gl,LatheGeometry:Eo,LatheBufferGeometry:Eo,OctahedronGeometry:vl,OctahedronBufferGeometry:vl,PlaneGeometry:xn,PlaneBufferGeometry:xn,PolyhedronGeometry:Io,PolyhedronBufferGeometry:Io,RingGeometry:xl,RingBufferGeometry:xl,ShapeGeometry:yl,ShapeBufferGeometry:yl,SphereGeometry:_l,SphereBufferGeometry:_l,TetrahedronGeometry:Ml,TetrahedronBufferGeometry:Ml,TorusGeometry:bl,TorusBufferGeometry:bl,TorusKnotGeometry:wl,TorusKnotBufferGeometry:wl,TubeGeometry:Sl,TubeBufferGeometry:Sl,WireframeGeometry:Tl});class Cl extends gi{constructor(t){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new Ht(0),this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.fog=t.fog,this}}class Ll extends en{constructor(t){super(t),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class Rl extends gi{constructor(t){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Ht(16777215),this.roughness=1,this.metalness=0,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.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,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.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,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.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,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 Pl extends Rl{constructor(t){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Et(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return _t(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Ht(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=0,this.attenuationColor=new Ht(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Ht(1,1,1),this.specularColorMap=null,this._sheen=0,this._clearcoat=0,this._iridescence=0,this._transmission=0,this.setValues(t)}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=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<s.tracks.length;++t){const e=s.tracks[t],o=e.getValueSize(),l=[],c=[];for(let t=0;t<e.times.length;++t){const s=e.times[t]*r;if(!(s<i||s>=n)){l.push(e.times[t]);for(let i=0;i<o;++i)c.push(e.values[t*o+i])}}0!==l.length&&(e.times=Bl.convertArray(l,e.times.constructor),e.values=Bl.convertArray(c,e.values.constructor),a.push(e))}s.tracks=a;let o=1/0;for(let t=0;t<s.tracks.length;++t)o>s.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t<s.tracks.length;++t)s.tracks[t].shift(-1*o);return s.resetDuration(),s},makeClipAdditive:function(t,e=0,i=t,n=30){n<=0&&(n=30);const r=i.tracks.length,s=e/n;for(let e=0;e<r;++e){const n=i.tracks[e],r=n.ValueTypeName;if("bool"===r||"string"===r)continue;const a=t.tracks.find(function(t){return t.name===n.name&&t.ValueTypeName===r});if(void 0===a)continue;let o=0;const l=n.getValueSize();n.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const h=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=h/3);const u=n.times.length-1;let d;if(s<=n.times[0]){const t=o,e=l-o;d=Bl.arraySlice(n.values,t,e)}else if(s>=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<p;++t){const e=t*h+c;if("quaternion"===r)te.multiplyQuaternionsFlat(a.values,e,d,0,a.values,e);else{const t=h-2*c;for(let i=0;i<t;++i)a.values[e+i]-=d[i]}}}return t.blendMode=st,t}};class Ul{constructor(t,e,i,n){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==n?n:new e.constructor(i),this.sampleValues=e,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let i=this._cachedIndex,n=e[i],r=e[i-1];t:{e:{let s;i:{n:if(!(t<n)){for(let s=i+2;;){if(void 0===n){if(t<r)break n;return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===s)break;if(r=n,n=e[++i],t<n)break e}s=e.length;break i}if(t>=r)break t;{const a=e[1];t<a&&(i=2,r=a);for(let s=i-2;;){if(void 0===r)return this._cachedIndex=0,this.copySampleValue_(0);if(i===s)break;if(n=r,r=e[--i-1],t>=r)break e}s=i,i=0}}for(;i<s;){const n=i+s>>>1;t<e[n]?s=n:i=n+1}if(n=e[i],r=e[i-1],void 0===r)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===n)return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,r,n)}return this.interpolate_(i,r,t,n)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){const e=this.resultBuffer,i=this.sampleValues,n=this.valueSize,r=t*n;for(let t=0;t!==n;++t)e[t]=i[r+t];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class kl extends Ul{constructor(t,e,i,n){super(t,e,i,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:et,endingEnd:et}}intervalChanged_(t,e,i){const n=this.parameterPositions;let r=t-2,s=t+1,a=n[r],o=n[s];if(void 0===a)switch(this.getSettings_().endingStart){case it:r=t,a=2*e-i;break;case nt:r=n.length-2,a=e+n[r]-n[r+1];break;default:r=t,a=i;}if(void 0===o)switch(this.getSettings_().endingEnd){case it:s=t,o=2*i-e;break;case nt:s=1,o=i+n[1]-n[0];break;default:s=t-1,o=e;}const l=.5*(i-e),c=this.valueSize;this._weightPrev=l/(e-a),this._weightNext=l/(o-i),this._offsetPrev=r*c,this._offsetNext=s*c}interpolate_(t,e,i,n){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=this._offsetPrev,h=this._offsetNext,u=this._weightPrev,d=this._weightNext,p=(i-e)/(n-e),m=p*p,f=m*p,g=-u*f+2*u*m-u*p,v=(1+u)*f+(-1.5-2*u)*m+(-.5+u)*p+1,x=(-1-d)*f+(1.5+d)*m+.5*p,y=d*f-d*m;for(let t=0;t!==a;++t)r[t]=g*s[c+t]+v*s[l+t]+x*s[o+t]+y*s[h+t];return r}}class Gl 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=t*a,l=o-a,c=(i-e)/(n-e),h=1-c;for(let t=0;t!==a;++t)r[t]=s[l+t]*h+s[o+t]*c;return r}}class Vl extends Ul{constructor(t,e,i,n){super(t,e,i,n)}interpolate_(t){return this.copySampleValue_(t-1)}}class Hl{constructor(t,e,i,n){if(void 0===t)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=Bl.convertArray(e,this.TimeBufferType),this.values=Bl.convertArray(i,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}static toJSON(t){const e=t.constructor;let i;if(e.toJSON!==this.toJSON)i=e.toJSON(t);else{i={name:t.name,times:Bl.convertArray(t.times,Array),values:Bl.convertArray(t.values,Array)};const e=t.getInterpolation();e!==t.DefaultInterpolation&&(i.interpolation=e)}return i.type=t.ValueTypeName,i}InterpolantFactoryMethodDiscrete(t){return new Vl(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new Gl(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new kl(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case Q:e=this.InterpolantFactoryMethodDiscrete;break;case $:e=this.InterpolantFactoryMethodLinear;break;case tt:e=this.InterpolantFactoryMethodSmooth;}if(void 0===e){const e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(e);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Q;case this.InterpolantFactoryMethodLinear:return $;case this.InterpolantFactoryMethodSmooth:return tt;}}getValueSize(){return this.values.length/this.times.length}shift(t){if(0!==t){const e=this.times;for(let i=0,n=e.length;i!==n;++i)e[i]+=t}return this}scale(t){if(1!==t){const e=this.times;for(let i=0,n=e.length;i!==n;++i)e[i]*=t}return this}trim(t,e){const i=this.times,n=i.length;let r=0,s=n-1;for(;r!==n&&i[r]<t;)++r;for(;-1!==s&&i[s]>e;)--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;a<r;++a){let r=!1;const o=t[a];if(o!==t[a+1]&&(1!==a||o!==t[0]))if(n)r=!0;else{const t=a*i,n=t-i,s=t+i;for(let a=0;a!==i;++a){const i=e[t+a];if(i!==e[n+a]||i!==e[s+a]){r=!0;break}}}if(r){if(a!==s){t[s]=t[a];const n=a*i,r=s*i;for(let t=0;t!==i;++t)e[r+t]=e[n+t]}++s}}if(r>0){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;t<r;t++){let a=[],o=[];a.push((t+r-1)%r,t,(t+1)%r),o.push(0,1,0);const l=Bl.getKeyframeOrder(a);a=Bl.sortedArray(a,1,l),o=Bl.sortedArray(o,1,l),n||0!==a[0]||(a.push(r),o.push(o[0])),s.push(new ql(".morphTargetInfluences["+e[t].name+"]",a,o).scale(1/i))}return new this(t,-1,s)}static findByName(t,e){let i=t;if(!Array.isArray(t)){const e=t;i=e.geometry&&e.geometry.animations||e.animations}for(let t=0;t<i.length;t++)if(i[t].name===e)return i[t];return null}static CreateClipsFromMorphTargetSequences(t,e,i){const n={},r=/^([\w-]*?)([\d]+)$/;for(let e=0,i=t.length;e<i;e++){const i=t[e],s=i.name.match(r);if(s&&s.length>1){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<l.length;t++){const r=l[t].keys;if(r&&0!==r.length)if(r[0].morphTargets){const t={};let e;for(e=0;e<r.length;e++)if(r[e].morphTargets)for(let i=0;i<r[e].morphTargets.length;i++)t[r[e].morphTargets[i]]=-1;for(const i in t){const t=[],s=[];for(let n=0;n!==r[e].morphTargets.length;++n){const n=r[e];t.push(n.time),s.push(n.morphTarget===i?1:0)}n.push(new ql(".morphTargetInfluence["+i+"]",t,s))}o=t.length*s}else{const s=".bones["+e[t].name+"]";i(Jl,s+".position",r,"pos",n),i(Yl,s+".quaternion",r,"rot",n),i(Jl,s+".scale",r,"scl",n)}}if(0===n.length)return null;return new this(r,o,n,a)}resetDuration(){let t=0;for(let e=0,i=this.tracks.length;e!==i;++e){const i=this.tracks[e];t=Math.max(t,i.times[i.times.length-1])}return this.duration=t,this}trim(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this}validate(){let t=!0;for(let e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t}optimize(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}clone(){const t=[];for(let e=0;e<this.tracks.length;e++)t.push(this.tracks[e].clone());return new this.constructor(this.name,this.duration,t,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function Ql(t){if(void 0===t.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return ql;case"vector":case"vector2":case"vector3":case"vector4":return Jl;case"color":return jl;case"quaternion":return Yl;case"bool":case"boolean":return Wl;case"string":return Zl;}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+t)}(t.type);if(void 0===t.times){const e=[],i=[];Bl.flattenJSON(t.keys,e,i,"value"),t.times=e,t.values=i}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}const $l={enabled:!1,files:{},add:function(t,e){!1!==this.enabled&&(this.files[t]=e)},get:function(t){if(!1!==this.enabled)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};class tc{constructor(t,e,i){const n=this;let r,s=!1,a=0,o=0;const l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=i,this.itemStart=function(t){o++,!1===s&&void 0!==n.onStart&&n.onStart(t,a,o),s=!0},this.itemEnd=function(t){a++,void 0!==n.onProgress&&n.onProgress(t,a,o),a===o&&(s=!1,void 0!==n.onLoad&&n.onLoad())},this.itemError=function(t){void 0!==n.onError&&n.onError(t)},this.resolveURL=function(t){return r?r(t):t},this.setURLModifier=function(t){return r=t,this},this.addHandler=function(t,e){return l.push(t,e),this},this.removeHandler=function(t){const e=l.indexOf(t);return-1!==e&&l.splice(e,2),this},this.getHandler=function(t){for(let e=0,i=l.length;e<i;e+=2){const i=l[e],n=l[e+1];if(i.global&&(i.lastIndex=0),i.test(t))return n}return null}}}const ec=new tc;class ic{constructor(t){this.manager=void 0!==t?t:ec,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){const i=this;return new Promise(function(n,r){i.load(t,n,e,r)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}const nc={};class rc extends ic{constructor(t){super(t)}load(t,e,i,n){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=$l.get(t);if(void 0!==r)return this.manager.itemStart(t),setTimeout(()=>{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<e;t++){const e=i[t];e.onProgress&&e.onProgress(n)}t.enqueue(r),e()}})}()}});return new Response(l)}throw Error(`fetch for "${e.url}" responded with ${e.status}: ${e.statusText}`)}).then(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<n;t++){const n=i[t];n.onLoad&&n.onLoad(e)}}).catch(e=>{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<n;t++){const n=i[t];n.onError&&n.onError(e)}this.manager.itemError(t)}).finally(()=>{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;i<n;i++)e+=String.fromCharCode(t[i]);try{return decodeURIComponent(escape(e))}catch(t){return e}}static extractUrlBase(t){const e=t.lastIndexOf("/");return-1===e?"./":t.slice(0,e+1)}static resolveURL(t,e){return"string"!=typeof t||""===t?"":(/^https?:\/\//i.test(e)&&/^\//.test(t)&&(e=e.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(t)||/^data:.*,.*$/i.test(t)||/^blob:.*$/i.test(t)?t:e+t)}}class Ec extends Pi{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}clone(){return new this.constructor().copy(this)}toJSON(){const t=super.toJSON(this);return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}}class Cc extends ic{constructor(t){super(t)}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={},i={};function n(t,n){if(void 0!==e[n])return e[n];const r=t.interleavedBuffers[n],s=function(t,e){if(void 0!==i[e])return i[e];const n=t.arrayBuffers[e],r=new Uint32Array(n).buffer;return i[e]=r,r}(t,r.buffer),a=Pt(r.type,s),o=new ta(a,r.stride);return o.uuid=r.uuid,e[n]=o,o}const r=t.isInstancedBufferGeometry?new Ec:new Pi,s=t.data.index;if(void 0!==s){const t=Pt(s.type,s.array);r.setIndex(new _i(t,1))}const a=t.data.attributes;for(const e in a){const i=a[e];let s;if(i.isInterleavedBufferAttribute){const e=n(t.data,i.data);s=new ia(e,i.itemSize,i.offset,i.normalized)}else{const t=Pt(i.type,i.array);s=new(i.isInstancedBufferAttribute?Da:_i)(t,i.itemSize,i.normalized)}void 0!==i.name&&(s.name=i.name),void 0!==i.usage&&s.setUsage(i.usage),void 0!==i.updateRange&&(s.updateRange.offset=i.updateRange.offset,s.updateRange.count=i.updateRange.count),r.setAttribute(e,s)}const o=t.data.morphAttributes;if(o)for(const e in o){const i=o[e],s=[];for(let e=0,r=i.length;e<r;e++){const r=i[e];let a;if(r.isInterleavedBufferAttribute){const e=n(t.data,r.data);a=new ia(e,r.itemSize,r.offset,r.normalized)}else{const t=Pt(r.type,r.array);a=new _i(t,r.itemSize,r.normalized)}void 0!==r.name&&(a.name=r.name),s.push(a)}r.morphAttributes[e]=s}t.data.morphTargetsRelative&&(r.morphTargetsRelative=!0);const l=t.data.groups||t.data.drawcalls||t.data.offsets;if(void 0!==l)for(let t=0,e=l.length;t!==e;++t){const e=l[t];r.addGroup(e.start,e.count,e.materialIndex)}const c=t.data.boundingSphere;if(void 0!==c){const t=new ee;void 0!==c.center&&t.fromArray(c.center),r.boundingSphere=new we(t,c.radius)}return t.name&&(r.name=t.name),t.userData&&(r.userData=t.userData),r}}const Lc={UVMapping:n,CubeReflectionMapping:r,CubeRefractionMapping:s,EquirectangularReflectionMapping:a,EquirectangularRefractionMapping:o,CubeUVReflectionMapping:l},Rc={RepeatWrapping:c,ClampToEdgeWrapping:h,MirroredRepeatWrapping:u},Pc={NearestFilter:d,NearestMipmapNearestFilter:p,NearestMipmapLinearFilter:m,LinearFilter:f,LinearMipmapNearestFilter:g,LinearMipmapLinearFilter:v};let Ic;const Dc={getContext:function(){return void 0===Ic&&(Ic=new(window.AudioContext||window.webkitAudioContext)),Ic},setContext:function(t){Ic=t}};const Nc=new Ie,Oc=new Ie,zc=new Ie;class Fc{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Bc(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=Bc();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function Bc(){return("undefined"==typeof performance?Date:performance).now()}const Uc=new ee,kc=new te,Gc=new ee,Vc=new ee;class Hc extends ni{constructor(t){super(),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this}play(t=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(t){return t||(t=[]),!0===this._connected?(this.disconnect(),this.filters=t.slice(),this.connect()):this.filters=t.slice(),this}setDetune(t){if(this.detune=t,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(t){return this.setFilters(t?[t]:[])}setPlaybackRate(t){if(!1!==this.hasPlaybackControl)return this.playbackRate=t,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(t){if(!1!==this.hasPlaybackControl)return this.loop=t,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}setLoopStart(t){return this.loopStart=t,this}setLoopEnd(t){return this.loopEnd=t,this}getVolume(){return this.gain.gain.value}setVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}const Wc=new ee,jc=new te,qc=new ee,Xc=new ee;class Yc{constructor(t,e,i){let n,r,s;switch(this.binding=t,this.valueSize=i,e){case"quaternion":n=this._slerp,r=this._slerpAdditive,s=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*i),this._workIndex=5;break;case"string":case"bool":n=this._select,r=this._select,s=this._setAdditiveIdentityOther,this.buffer=new Array(5*i);break;default:n=this._lerp,r=this._lerpAdditive,s=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*i);}this._mixBufferRegion=n,this._mixBufferRegionAdditive=r,this._setIdentity=s,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(t,e){const i=this.buffer,n=this.valueSize,r=t*n+n;let s=this.cumulativeWeight;if(0===s){for(let t=0;t!==n;++t)i[r+t]=i[t];s=e}else{s+=e;const t=e/s;this._mixBufferRegion(i,r,0,t,n)}this.cumulativeWeight=s}accumulateAdditive(t){const e=this.buffer,i=this.valueSize,n=i*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(e,n,0,t,i),this.cumulativeWeightAdditive+=t}apply(t){const e=this.valueSize,i=this.buffer,n=t*e+e,r=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,r<1){const t=e*this._origIndex;this._mixBufferRegion(i,n,t,1-r,e)}s>0&&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<e;i++)this.buffer[i]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const t=this._origIndex*this.valueSize,e=this._addIndex*this.valueSize;for(let i=0;i<this.valueSize;i++)this.buffer[e+i]=this.buffer[t+i]}_select(t,e,i,n,r){if(n>=.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;n<t.length;n++){const r=t[n];if(r.name===e||r.uuid===e)return r;const s=i(r.children);if(s)return s}return null},n=i(t.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)t[e++]=i[n]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)i[n]=t[e++]}_setValue_array_setNeedsUpdate(t,e){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)i[n]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)i[n]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node;const e=this.parsedPath,i=e.objectName,n=e.propertyName;let r=e.propertyIndex;if(t||(t=eh.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(i){let n=e.objectIndex;switch(i){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(let e=0;e<t.length;e++)if(t[e].name===n){n=e;break}break;default:if(void 0===t[i])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[i];}if(void 0!==n){if(void 0===t[n])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[n]}}const s=t[n];if(void 0===s){const i=e.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+i+"."+n+" but it wasn't found.",t)}let a=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===n){if(!t.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==t.morphTargetDictionary[r]&&(r=t.morphTargetDictionary[r])}o=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(o=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=n;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}eh.Composite=class{constructor(t,e,i){const n=i||eh.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,n)}getValue(t,e){this.bind();const i=this._targetGroup.nCachedObjects_,n=this._bindings[i];void 0!==n&&n.getValue(t,e)}setValue(t,e){const i=this._bindings;for(let n=this._targetGroup.nCachedObjects_,r=i.length;n!==r;++n)i[n].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}},eh.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},eh.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},eh.prototype.GetterByBindingType=[eh.prototype._getValue_direct,eh.prototype._getValue_array,eh.prototype._getValue_arrayElement,eh.prototype._getValue_toArray],eh.prototype.SetterByBindingTypeAndVersioning=[[eh.prototype._setValue_direct,eh.prototype._setValue_direct_setNeedsUpdate,eh.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[eh.prototype._setValue_array,eh.prototype._setValue_array_setNeedsUpdate,eh.prototype._setValue_array_setMatrixWorldNeedsUpdate],[eh.prototype._setValue_arrayElement,eh.prototype._setValue_arrayElement_setNeedsUpdate,eh.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[eh.prototype._setValue_fromArray,eh.prototype._setValue_fromArray_setNeedsUpdate,eh.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class ih{constructor(t,e,i=null,n=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=i,this.blendMode=n;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:et,endingEnd:et};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,i){if(t.fadeOut(e),this.fadeIn(e),i){const i=this._clip.duration,n=t._clip.duration,r=n/i,s=i/n;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,i){return t.crossFadeFrom(this,e,i)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,i){const n=this._mixer,r=n.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=n._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+i,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,i,n){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const n=(t-r)*i;if(n<0||0===i)return;this._startTime=null,e=i*n}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){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<r;t++)ah(n[t],e,i,!0)}}const oh=new Et;const lh=new ee,ch=new ee;const hh=new ee;const uh=new ee,dh=new Ie,ph=new Ie;function mh(t){const e=[];!0===t.isBone&&e.push(t);for(let i=0;i<t.children.length;i++)e.push.apply(e,mh(t.children[i]));return e}const fh=new ee,gh=new Ht,vh=new Ht;const xh=new ee,yh=new ee,_h=new ee;const Mh=new ee,bh=new nn;function wh(t,e,i,n,r,s,a){Mh.set(r,s,a).unproject(n);const o=e[t];if(void 0!==o){const t=i.getAttribute("position");for(let e=0,i=o.length;e<i;e++)t.setXYZ(o[e],Mh.x,Mh.y,Mh.z)}}const Sh=new re;const Th=new ee;let Ah,Eh;const{floatView:Ch,uint32View:Lh,baseTable:Rh,shiftTable:Ph,mantissaTable:Ih,exponentTable:Dh,offsetTable:Nh}=Oh();function Oh(){const t=new ArrayBuffer(4),e=new Float32Array(t),i=new Uint32Array(t),n=new Uint32Array(512),r=new Uint32Array(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(n[t]=0,n[256|t]=32768,r[t]=24,r[256|t]=24):e<-14?(n[t]=1024>>-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<t.length;i++){const n=Kl.parse(t[i]);e.push(n)}return e}},t.AnimationMixer=class extends mt{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const i=t._localRoot||this._root,n=t._clip.tracks,r=n.length,s=t._propertyBindings,a=t._interpolants,o=i.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let t=0;t!==r;++t){const r=n[t],l=r.name;let h=c[l];if(void 0!==h)++h.referenceCount,s[t]=h;else{if(h=s[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,o,l));continue}const n=e&&e._propertyBindings[t].binding.parsedPath;h=new Yc(eh.create(i,l,n),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,o,l),s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,i=t._clip.uuid,n=this._actionsByClip[i];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,i,e)}const e=t._propertyBindings;for(let t=0,i=e.length;t!==i;++t){const i=e[t];0==i.useCount++&&(this._lendBinding(i),i.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,i=e.length;t!==i;++t){const i=e[t];0==--i.useCount&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e<this._nActiveActions}_addInactiveAction(t,e,i){const n=this._actions,r=this._actionsByClip;let s=r[e];if(void 0===s)s={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=s;else{const e=s.knownActions;t._byClipCacheIndex=e.length,e.push(t)}t._cacheIndex=n.length,n.push(t),s.actionByRoot[i]=t}_removeInactiveAction(t){const e=this._actions,i=e[e.length-1],n=t._cacheIndex;i._cacheIndex=n,e[n]=i,e.pop(),t._cacheIndex=null;const r=t._clip.uuid,s=this._actionsByClip,a=s[r],o=a.knownActions,l=o[o.length-1],c=t._byClipCacheIndex;l._byClipCacheIndex=c,o[c]=l,o.pop(),t._byClipCacheIndex=null;delete a.actionByRoot[(t._localRoot||this._root).uuid],0===o.length&&delete s[r],this._removeInactiveBindingsForAction(t)}_removeInactiveBindingsForAction(t){const e=t._propertyBindings;for(let t=0,i=e.length;t!==i;++t){const i=e[t];0==--i.referenceCount&&this._removeInactiveBinding(i)}}_lendAction(t){const e=this._actions,i=t._cacheIndex,n=this._nActiveActions++,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r}_takeBackAction(t){const e=this._actions,i=t._cacheIndex,n=--this._nActiveActions,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r}_addInactiveBinding(t,e,i){const n=this._bindingsByRootAndName,r=this._bindings;let s=n[e];void 0===s&&(s={},n[e]=s),s[i]=t,t._cacheIndex=r.length,r.push(t)}_removeInactiveBinding(t){const e=this._bindings,i=t.binding,n=i.rootNode.uuid,r=i.path,s=this._bindingsByRootAndName,a=s[n],o=e[e.length-1],l=t._cacheIndex;o._cacheIndex=l,e[l]=o,e.pop(),delete a[r],0===Object.keys(a).length&&delete s[n]}_lendBinding(t){const e=this._bindings,i=t._cacheIndex,n=this._nActiveBindings++,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r}_takeBackBinding(t){const e=this._bindings,i=t._cacheIndex,n=--this._nActiveBindings,r=e[n];t._cacheIndex=n,e[n]=t,r._cacheIndex=i,e[i]=r}_lendControlInterpolant(){const t=this._controlInterpolants,e=this._nActiveControlInterpolants++;let i=t[e];return void 0===i&&(i=new Gl(new Float32Array(2),new Float32Array(2),1,nh),i.__cacheIndex=e,t[e]=i),i}_takeBackControlInterpolant(t){const e=this._controlInterpolants,i=t.__cacheIndex,n=--this._nActiveControlInterpolants,r=e[n];t.__cacheIndex=n,e[n]=t,r.__cacheIndex=i,e[i]=r}clipAction(t,e,i){const n=e||this._root,r=n.uuid;let s="string"==typeof t?Kl.findByName(n,t):t;const a=null!==s?s.uuid:t,o=this._actionsByClip[a];let l=null;if(void 0===i&&(i=null!==s?s.blendMode:rt),void 0!==o){const t=o.actionByRoot[r];if(void 0!==t&&t.blendMode===i)return t;l=o.knownActions[0],null===s&&(s=l._clip)}if(null===s)return null;const c=new ih(this,s,e,i);return this._bindAction(c,l),this._addInactiveAction(c,a,r),c}existingAction(t,e){const i=e||this._root,n=i.uuid,r="string"==typeof t?Kl.findByName(i,t):t,s=r?r.uuid:t,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[n]||null}stopAllAction(){const t=this._actions;for(let e=this._nActiveActions-1;e>=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<this._actions.length;t++)this._actions[t].time=0;return this.update(t)}getRoot(){return this._root}uncacheClip(t){const e=this._actions,i=t.uuid,n=this._actionsByClip,r=n[i];if(void 0!==r){const t=r.knownActions;for(let i=0,n=t.length;i!==n;++i){const n=t[i];this._deactivateAction(n);const r=n._cacheIndex,s=e[e.length-1];n._cacheIndex=null,n._byClipCacheIndex=null,s._cacheIndex=r,e[r]=s,e.pop(),this._removeInactiveBindingsForAction(n)}delete n[i]}}uncacheRoot(t){const e=t.uuid,i=this._actionsByClip;for(const t in i){const n=i[t].actionByRoot[e];void 0!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}const n=this._bindingsByRootAndName[e];if(void 0!==n)for(const t in n){const e=n[t];e.restoreOriginalState(),this._removeInactiveBinding(e)}}uncacheAction(t,e){const i=this.existingAction(t,e);null!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}},t.AnimationObjectGroup=class{constructor(){this.isAnimationObjectGroup=!0,this.uuid=yt(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let e=0,i=arguments.length;e!==i;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){const t=this._objects,e=this._indicesByUUID,i=this._paths,n=this._parsedPaths,r=this._bindings,s=r.length;let a,o=t.length,l=this.nCachedObjects_;for(let c=0,h=arguments.length;c!==h;++c){const h=arguments[c],u=h.uuid;let d=e[u];if(void 0===d){d=o++,e[u]=d,t.push(h);for(let t=0,e=s;t!==e;++t)r[t].push(new eh(h,i[t],n[t]))}else if(d<l){a=t[d];const o=--l,c=t[o];e[c.uuid]=d,t[d]=c,e[u]=o,t[o]=h;for(let t=0,e=s;t!==e;++t){const e=r[t],s=e[o];let a=e[d];e[d]=s,void 0===a&&(a=new eh(h,i[t],n[t])),e[o]=a}}else t[d]!==a&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=l}remove(){const t=this._objects,e=this._indicesByUUID,i=this._bindings,n=i.length;let r=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=e[o];if(void 0!==l&&l>=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],l<r){const a=--r,o=t[a],c=--s,h=t[c];e[o.uuid]=l,t[l]=o,e[h.uuid]=a,t[a]=h,t.pop();for(let t=0,e=n;t!==e;++t){const e=i[t],n=e[a],r=e[c];e[l]=n,e[a]=r,e.pop()}}else{const r=--s,a=t[r];r>0&&(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;i<e.length;i++)t+=e[i];return t/e.length}},t.AudioContext=Dc,t.AudioListener=class extends ni{constructor(){super(),this.type="AudioListener",this.context=Dc.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Fc}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Uc,kc,Gc),Vc.set(0,0,-1).applyQuaternion(kc),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Uc.x,t),e.positionY.linearRampToValueAtTime(Uc.y,t),e.positionZ.linearRampToValueAtTime(Uc.z,t),e.forwardX.linearRampToValueAtTime(Vc.x,t),e.forwardY.linearRampToValueAtTime(Vc.y,t),e.forwardZ.linearRampToValueAtTime(Vc.z,t),e.upX.linearRampToValueAtTime(i.x,t),e.upY.linearRampToValueAtTime(i.y,t),e.upZ.linearRampToValueAtTime(i.z,t)}else e.setPosition(Uc.x,Uc.y,Uc.z),e.setOrientation(Vc.x,Vc.y,Vc.z,i.x,i.y,i.z)}},t.AudioLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=new rc(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(i){try{const t=i.slice(0);Dc.getContext().decodeAudioData(t,function(t){e(t)})}catch(e){n?n(e):console.error(e),r.manager.itemError(t)}},i,n)}},t.AxesHelper=class extends Ya{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],i=new Pi;i.setAttribute("position",new wi(e,3)),i.setAttribute("color",new wi([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(i,new Ua({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(t,e,i){const n=new Ht,r=this.geometry.attributes.color.array;return n.set(t),n.toArray(r,0),n.toArray(r,3),n.set(e),n.toArray(r,6),n.toArray(r,9),n.set(i),n.toArray(r,12),n.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BackSide=1,t.BasicDepthPacking=3200,t.BasicShadowMap=0,t.Bone=Ca,t.BooleanKeyframeTrack=Wl,t.Box2=class{constructor(t=new Et(1/0,1/0),e=new Et(-1/0,-1/0)){this.isBox2=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromPoints(t){this.makeEmpty();for(let e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const i=oh.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.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.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.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;e<i;++e)c(e);else o.load(t,function(t){const i=r.parse(t,!0);if(i.isCubemap){const t=i.mipmaps.length/i.mipmapCount;for(let e=0;e<t;e++){s[e]={mipmaps:[]};for(let t=0;t<i.mipmapCount;t++)s[e].mipmaps.push(i.mipmaps[e*i.mipmapCount+t]),s[e].format=i.format,s[e].width=i.width,s[e].height=i.height}a.image=s}else a.image.width=i.width,a.image.height=i.height,a.mipmaps=i.mipmaps;1===i.mipmapCount&&(a.minFilter=f),a.format=i.format,a.needsUpdate=!0,e&&e(a)},i,n);return a}},t.ConeBufferGeometry=Po,t.ConeGeometry=Po,t.CubeCamera=an,t.CubeReflectionMapping=r,t.CubeRefractionMapping=s,t.CubeTexture=on,t.CubeTextureLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=new on,s=new sc(this.manager);s.setCrossOrigin(this.crossOrigin),s.setPath(this.path);let a=0;function o(i){s.load(t[i],function(t){r.images[i]=t,a++,6===a&&(r.needsUpdate=!0,e&&e(r))},void 0,n)}for(let e=0;e<t.length;++e)o(e);return r}},t.CubeUVReflectionMapping=l,t.CubicBezierCurve=vo,t.CubicBezierCurve3=xo,t.CubicInterpolant=kl,t.CullFaceBack=1,t.CullFaceFront=2,t.CullFaceFrontBack=3,t.CullFaceNone=0,t.Curve=ro,t.CurvePath=To,t.CustomBlending=5,t.CustomToneMapping=5,t.CylinderBufferGeometry=Ro,t.CylinderGeometry=Ro,t.Cylindrical=class{constructor(t=1,e=0,i=0){return this.radius=t,this.theta=e,this.y=i,this}set(t,e,i){return this.radius=t,this.theta=e,this.y=i,this}copy(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,i){return this.radius=Math.sqrt(t*t+i*i),this.theta=Math.atan2(t,i),this.y=e,this}clone(){return new this.constructor().copy(this)}},t.Data3DTexture=$t,t.DataArrayTexture=Qt,t.DataTexture=La,t.DataTexture2DArray=class extends Qt{constructor(t,e,i,n){console.warn("THREE.DataTexture2DArray has been renamed to DataArrayTexture."),super(t,e,i,n)}},t.DataTexture3D=class extends $t{constructor(t,e,i,n){console.warn("THREE.DataTexture3D has been renamed to Data3DTexture."),super(t,e,i,n)}},t.DataTextureLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=new La,a=new rc(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(r.withCredentials),a.load(t,function(t){const i=r.parse(t);i&&(void 0!==i.image?s.image=i.image:void 0!==i.data&&(s.image.width=i.width,s.image.height=i.height,s.image.data=i.data),s.wrapS=void 0!==i.wrapS?i.wrapS:h,s.wrapT=void 0!==i.wrapT?i.wrapT:h,s.magFilter=void 0!==i.magFilter?i.magFilter:f,s.minFilter=void 0!==i.minFilter?i.minFilter:f,s.anisotropy=void 0!==i.anisotropy?i.anisotropy:1,void 0!==i.encoding&&(s.encoding=i.encoding),void 0!==i.flipY&&(s.flipY=i.flipY),void 0!==i.format&&(s.format=i.format),void 0!==i.type&&(s.type=i.type),void 0!==i.mipmaps&&(s.mipmaps=i.mipmaps,s.minFilter=v),1===i.mipmapCount&&(s.minFilter=f),void 0!==i.generateMipmaps&&(s.generateMipmaps=i.generateMipmaps),s.needsUpdate=!0,e&&e(s,i))},i,n),s}},t.DataUtils=zh,t.DecrementStencilOp=7683,t.DecrementWrapStencilOp=34056,t.DefaultLoadingManager=ec,t.DepthFormat=T,t.DepthStencilFormat=A,t.DepthTexture=qs,t.DirectionalLight=_c,t.DirectionalLightHelper=class extends ni{constructor(t,e,i){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,void 0===e&&(e=1);let n=new Pi;n.setAttribute("position",new wi([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new Ua({fog:!1,toneMapped:!1});this.lightPlane=new ja(n,r),this.add(this.lightPlane),n=new Pi,n.setAttribute("position",new wi([0,0,0,0,0,1],3)),this.targetLine=new ja(n,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){xh.setFromMatrixPosition(this.light.matrixWorld),yh.setFromMatrixPosition(this.light.target.matrixWorld),_h.subVectors(yh,xh),this.lightPlane.lookAt(yh),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(yh),this.targetLine.scale.z=_h.length()}},t.DiscreteInterpolant=Vl,t.DodecahedronBufferGeometry=Do,t.DodecahedronGeometry=Do,t.DoubleSide=2,t.DstAlphaFactor=206,t.DstColorFactor=208,t.DynamicCopyUsage=35050,t.DynamicDrawUsage=35048,t.DynamicReadUsage=35049,t.EdgesGeometry=Bo,t.EllipseCurve=so,t.EqualDepth=4,t.EqualStencilFunc=514,t.EquirectangularReflectionMapping=a,t.EquirectangularRefractionMapping=o,t.Euler=Ve,t.EventDispatcher=mt,t.ExtrudeBufferGeometry=ml,t.ExtrudeGeometry=ml,t.FileLoader=rc,t.FlatShading=1,t.Float16BufferAttribute=class extends _i{constructor(t,e,i){super(new Uint16Array(t),e,i),this.isFloat16BufferAttribute=!0}},t.Float32BufferAttribute=wi,t.Float64BufferAttribute=class extends _i{constructor(t,e,i){super(new Float64Array(t),e,i)}},t.FloatType=M,t.Fog=Qs,t.FogExp2=Ks,t.Font=function(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")},t.FontLoader=function(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")},t.FramebufferTexture=class extends Zt{constructor(t,e,i){super({width:t,height:e}),this.isFramebufferTexture=!0,this.format=i,this.magFilter=d,this.minFilter=d,this.generateMipmaps=!1,this.needsUpdate=!0}},t.FrontSide=0,t.Frustum=fn,t.GLBufferAttribute=class{constructor(t,e,i,n,r){this.isGLBufferAttribute=!0,this.buffer=t,this.type=e,this.itemSize=i,this.elementSize=n,this.count=r,this.version=0}set needsUpdate(t){!0===t&&this.version++}setBuffer(t){return this.buffer=t,this}setType(t,e){return this.type=t,this.elementSize=e,this}setItemSize(t){return this.itemSize=t,this}setCount(t){return this.count=t,this}},t.GLSL1="100",t.GLSL3=dt,t.GreaterDepth=6,t.GreaterEqualDepth=5,t.GreaterEqualStencilFunc=518,t.GreaterStencilFunc=516,t.GridHelper=class extends Ya{constructor(t=10,e=10,i=4473924,n=8947848){i=new Ht(i),n=new Ht(n);const r=e/2,s=t/e,a=t/2,o=[],l=[];for(let t=0,c=0,h=-a;t<=e;t++,h+=s){o.push(-a,0,h,a,0,h),o.push(h,0,-a,h,0,a);const e=t===r?i:n;e.toArray(l,c),c+=3,e.toArray(l,c),c+=3,e.toArray(l,c),c+=3,e.toArray(l,c),c+=3}const c=new Pi;c.setAttribute("position",new wi(o,3)),c.setAttribute("color",new wi(l,3));super(c,new Ua({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}},t.Group=Hs,t.HalfFloatType=b,t.HemisphereLight=oc,t.HemisphereLightHelper=class extends ni{constructor(t,e,i){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=i;const n=new vl(e);n.rotateY(.5*Math.PI),this.material=new vi({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const r=n.getAttribute("position"),s=new Float32Array(3*r.count);n.setAttribute("color",new _i(s,3)),this.add(new Zi(n,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const t=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const e=t.geometry.getAttribute("color");gh.copy(this.light.color),vh.copy(this.light.groundColor);for(let t=0,i=e.count;t<i;t++){const n=t<i/2?gh:vh;e.setXYZ(t,n.r,n.g,n.b)}e.needsUpdate=!0}t.lookAt(fh.setFromMatrixPosition(this.light.matrixWorld).negate())}},t.HemisphereLightProbe=class extends Sc{constructor(t,e,i=1){super(void 0,i),this.isHemisphereLightProbe=!0;const n=new Ht().set(t),r=new Ht().set(e),s=new ee(n.r,n.g,n.b),a=new ee(r.r,r.g,r.b),o=Math.sqrt(Math.PI),l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o),this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}},t.IcosahedronBufferGeometry=gl,t.IcosahedronGeometry=gl,t.ImageBitmapLoader=class extends ic{constructor(t){super(t),this.isImageBitmapLoader=!0,"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(t){return this.options=t,this}load(t,e,i,n){void 0===t&&(t=""),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={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",a.headers=this.requestHeader,fetch(t,a).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(i){$l.add(t,i),e&&e(i),r.manager.itemEnd(t)}).catch(function(e){n&&n(e),r.manager.itemError(t),r.manager.itemEnd(t)}),r.manager.itemStart(t)}},t.ImageLoader=sc,t.ImageUtils=jt,t.ImmediateRenderObject=function(){console.error("THREE.ImmediateRenderObject has been removed.")},t.IncrementStencilOp=7682,t.IncrementWrapStencilOp=34055,t.InstancedBufferAttribute=Da,t.InstancedBufferGeometry=Ec,t.InstancedInterleavedBuffer=class extends ta{constructor(t,e,i=1){super(t,e),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}clone(t){const e=super.clone(t);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(t){const e=super.toJSON(t);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}},t.InstancedMesh=Ba,t.Int16BufferAttribute=class extends _i{constructor(t,e,i){super(new Int16Array(t),e,i)}},t.Int32BufferAttribute=class extends _i{constructor(t,e,i){super(new Int32Array(t),e,i)}},t.Int8BufferAttribute=class extends _i{constructor(t,e,i){super(new Int8Array(t),e,i)}},t.IntType=1013,t.InterleavedBuffer=ta,t.InterleavedBufferAttribute=ia,t.Interpolant=Ul,t.InterpolateDiscrete=Q,t.InterpolateLinear=$,t.InterpolateSmooth=tt,t.InvertStencilOp=5386,t.KeepStencilOp=ht,t.KeyframeTrack=Hl,t.LOD=Ma,t.LatheBufferGeometry=Eo,t.LatheGeometry=Eo,t.Layers=He,t.LessDepth=2,t.LessEqualDepth=3,t.LessEqualStencilFunc=515,t.LessStencilFunc=513,t.Light=ac,t.LightProbe=Sc,t.Line=ja,t.Line3=class{constructor(t=new ee,e=new ee){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){lh.subVectors(t,this.start),ch.subVectors(this.end,this.start);const i=ch.dot(ch);let n=ch.dot(lh)/i;return e&&(n=_t(n,0,1)),n}closestPointToPoint(t,e,i){const n=this.closestPointToPointParameter(t,e);return this.delta(i).multiplyScalar(n).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},t.LineBasicMaterial=Ua,t.LineCurve=yo,t.LineCurve3=_o,t.LineDashedMaterial=Fl,t.LineLoop=Za,t.LineSegments=Ya,t.LinearEncoding=at,t.LinearFilter=f,t.LinearInterpolant=Gl,t.LinearMipMapLinearFilter=1008,t.LinearMipMapNearestFilter=1007,t.LinearMipmapLinearFilter=v,t.LinearMipmapNearestFilter=g,t.LinearSRGBColorSpace=ct,t.LinearToneMapping=1,t.Loader=ic,t.LoaderUtils=Ac,t.LoadingManager=tc,t.LoopOnce=2200,t.LoopPingPong=2202,t.LoopRepeat=2201,t.LuminanceAlphaFormat=1025,t.LuminanceFormat=1024,t.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},t.Material=gi,t.MaterialLoader=Tc,t.MathUtils=At,t.Matrix3=Ct,t.Matrix4=Ie,t.MaxEquation=104,t.Mesh=Zi,t.MeshBasicMaterial=vi,t.MeshDepthMaterial=zs,t.MeshDistanceMaterial=Fs,t.MeshLambertMaterial=Ol,t.MeshMatcapMaterial=zl,t.MeshNormalMaterial=Nl,t.MeshPhongMaterial=Il,t.MeshPhysicalMaterial=Pl,t.MeshStandardMaterial=Rl,t.MeshToonMaterial=Dl,t.MinEquation=103,t.MirroredRepeatWrapping=u,t.MixOperation=1,t.MultiplyBlending=4,t.MultiplyOperation=0,t.NearestFilter=d,t.NearestMipMapLinearFilter=1005,t.NearestMipMapNearestFilter=1004,t.NearestMipmapLinearFilter=m,t.NearestMipmapNearestFilter=p,t.NeverDepth=0,t.NeverStencilFunc=512,t.NoBlending=0,t.NoColorSpace="",t.NoToneMapping=0,t.NormalAnimationBlendMode=rt,t.NormalBlending=1,t.NotEqualDepth=7,t.NotEqualStencilFunc=517,t.NumberKeyframeTrack=ql,t.Object3D=ni,t.ObjectLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=""===this.path?Ac.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||s;const a=new rc(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(t,function(i){let s=null;try{s=JSON.parse(i)}catch(e){return void 0!==n&&n(e),void console.error("THREE:ObjectLoader: Can't parse "+t+".",e.message)}const a=s.metadata;void 0!==a&&void 0!==a.type&&"geometry"!==a.type.toLowerCase()?r.parse(s,e):console.error("THREE.ObjectLoader: Can't load "+t)},i,n)}async loadAsync(t,e){const i=""===this.path?Ac.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||i;const n=new rc(this.manager);n.setPath(this.path),n.setRequestHeader(this.requestHeader),n.setWithCredentials(this.withCredentials);const r=await n.loadAsync(t,e),s=JSON.parse(r),a=s.metadata;if(void 0===a||void 0===a.type||"geometry"===a.type.toLowerCase())throw new Error("THREE.ObjectLoader: Can't load "+t);return await this.parseAsync(s)}parse(t,e){const i=this.parseAnimations(t.animations),n=this.parseShapes(t.shapes),r=this.parseGeometries(t.geometries,n),s=this.parseImages(t.images,function(){void 0!==e&&e(l)}),a=this.parseTextures(t.textures,s),o=this.parseMaterials(t.materials,a),l=this.parseObject(t.object,r,o,a,i),c=this.parseSkeletons(t.skeletons,l);if(this.bindSkeletons(l,c),void 0!==e){let t=!1;for(const e in s)if(s[e].data instanceof HTMLImageElement){t=!0;break}!1===t&&e(l)}return l}async parseAsync(t){const e=this.parseAnimations(t.animations),i=this.parseShapes(t.shapes),n=this.parseGeometries(t.geometries,i),r=await this.parseImagesAsync(t.images),s=this.parseTextures(t.textures,r),a=this.parseMaterials(t.materials,s),o=this.parseObject(t.object,n,a,s,e),l=this.parseSkeletons(t.skeletons,o);return this.bindSkeletons(o,l),o}parseShapes(t){const e={};if(void 0!==t)for(let i=0,n=t.length;i<n;i++){const n=new Uo().fromJSON(t[i]);e[n.uuid]=n}return e}parseSkeletons(t,e){const i={},n={};if(e.traverse(function(t){t.isBone&&(n[t.uuid]=t)}),void 0!==t)for(let e=0,r=t.length;e<r;e++){const r=new Ia().fromJSON(t[e],n);i[r.uuid]=r}return i}parseGeometries(t,e){const i={};if(void 0!==t){const n=new Cc;for(let r=0,s=t.length;r<s;r++){let s;const a=t[r];switch(a.type){case"BufferGeometry":case"InstancedBufferGeometry":s=n.parse(a);break;case"Geometry":console.error("THREE.ObjectLoader: The legacy Geometry type is no longer supported.");break;default:a.type in El?s=El[a.type].fromJSON(a,e):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${a.type}"`);}s.uuid=a.uuid,void 0!==a.name&&(s.name=a.name),!0===s.isBufferGeometry&&void 0!==a.userData&&(s.userData=a.userData),i[a.uuid]=s}}return i}parseMaterials(t,e){const i={},n={};if(void 0!==t){const r=new Tc;r.setTextures(e);for(let e=0,s=t.length;e<s;e++){const s=t[e];if("MultiMaterial"===s.type){const t=[];for(let e=0;e<s.materials.length;e++){const n=s.materials[e];void 0===i[n.uuid]&&(i[n.uuid]=r.parse(n)),t.push(i[n.uuid])}n[s.uuid]=t}else void 0===i[s.uuid]&&(i[s.uuid]=r.parse(s)),n[s.uuid]=i[s.uuid]}}return n}parseAnimations(t){const e={};if(void 0!==t)for(let i=0;i<t.length;i++){const n=t[i],r=Kl.parse(n);e[r.uuid]=r}return e}parseImages(t,e){const i=this,n={};let r;function s(t){if("string"==typeof t){const e=t;return function(t){return i.manager.itemStart(t),r.load(t,function(){i.manager.itemEnd(t)},void 0,function(){i.manager.itemError(t),i.manager.itemEnd(t)})}(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(e)?e:i.resourcePath+e)}return t.data?{data:Pt(t.type,t.data),width:t.width,height:t.height}:null}if(void 0!==t&&t.length>0){const i=new tc(e);r=new sc(i),r.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e<i;e++){const i=t[e],r=i.url;if(Array.isArray(r)){const t=[];for(let e=0,i=r.length;e<i;e++){const i=s(r[e]);null!==i&&(i instanceof HTMLImageElement?t.push(i):t.push(new La(i.data,i.width,i.height)))}n[i.uuid]=new qt(t)}else{const t=s(i.url);n[i.uuid]=new qt(t)}}}return n}async parseImagesAsync(t){const e=this,i={};let n;async function r(t){if("string"==typeof t){const i=t,r=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(i)?i:e.resourcePath+i;return await n.loadAsync(r)}return t.data?{data:Pt(t.type,t.data),width:t.width,height:t.height}:null}if(void 0!==t&&t.length>0){n=new sc(this.manager),n.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e<n;e++){const n=t[e],s=n.url;if(Array.isArray(s)){const t=[];for(let e=0,i=s.length;e<i;e++){const i=s[e],n=await r(i);null!==n&&(n instanceof HTMLImageElement?t.push(n):t.push(new La(n.data,n.width,n.height)))}i[n.uuid]=new qt(t)}else{const t=await r(n.url);i[n.uuid]=new qt(t)}}}return i}parseTextures(t,e){function i(t,e){return"number"==typeof t?t:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",t),e[t])}const n={};if(void 0!==t)for(let r=0,s=t.length;r<s;r++){const s=t[r];void 0===s.image&&console.warn("THREE.ObjectLoader: No \"image\" specified for",s.uuid),void 0===e[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image);const a=e[s.image],o=a.data;let l;Array.isArray(o)?(l=new on,6===o.length&&(l.needsUpdate=!0)):(l=o&&o.data?new La:new Zt,o&&(l.needsUpdate=!0)),l.source=a,l.uuid=s.uuid,void 0!==s.name&&(l.name=s.name),void 0!==s.mapping&&(l.mapping=i(s.mapping,Lc)),void 0!==s.offset&&l.offset.fromArray(s.offset),void 0!==s.repeat&&l.repeat.fromArray(s.repeat),void 0!==s.center&&l.center.fromArray(s.center),void 0!==s.rotation&&(l.rotation=s.rotation),void 0!==s.wrap&&(l.wrapS=i(s.wrap[0],Rc),l.wrapT=i(s.wrap[1],Rc)),void 0!==s.format&&(l.format=s.format),void 0!==s.type&&(l.type=s.type),void 0!==s.encoding&&(l.encoding=s.encoding),void 0!==s.minFilter&&(l.minFilter=i(s.minFilter,Pc)),void 0!==s.magFilter&&(l.magFilter=i(s.magFilter,Pc)),void 0!==s.anisotropy&&(l.anisotropy=s.anisotropy),void 0!==s.flipY&&(l.flipY=s.flipY),void 0!==s.premultiplyAlpha&&(l.premultiplyAlpha=s.premultiplyAlpha),void 0!==s.unpackAlignment&&(l.unpackAlignment=s.unpackAlignment),void 0!==s.userData&&(l.userData=s.userData),n[s.uuid]=l}return n}parseObject(t,e,i,n,r){let s,a,o;function l(t){return void 0===e[t]&&console.warn("THREE.ObjectLoader: Undefined geometry",t),e[t]}function c(t){if(void 0!==t){if(Array.isArray(t)){const e=[];for(let n=0,r=t.length;n<r;n++){const r=t[n];void 0===i[r]&&console.warn("THREE.ObjectLoader: Undefined material",r),e.push(i[r])}return e}return void 0===i[t]&&console.warn("THREE.ObjectLoader: Undefined material",t),i[t]}}function h(t){return void 0===n[t]&&console.warn("THREE.ObjectLoader: Undefined texture",t),n[t]}switch(t.type){case"Scene":s=new $s,void 0!==t.background&&(Number.isInteger(t.background)?s.background=new Ht(t.background):s.background=h(t.background)),void 0!==t.environment&&(s.environment=h(t.environment)),void 0!==t.fog&&("Fog"===t.fog.type?s.fog=new Qs(t.fog.color,t.fog.near,t.fog.far):"FogExp2"===t.fog.type&&(s.fog=new Ks(t.fog.color,t.fog.density)));break;case"PerspectiveCamera":s=new rn(t.fov,t.aspect,t.near,t.far),void 0!==t.focus&&(s.focus=t.focus),void 0!==t.zoom&&(s.zoom=t.zoom),void 0!==t.filmGauge&&(s.filmGauge=t.filmGauge),void 0!==t.filmOffset&&(s.filmOffset=t.filmOffset),void 0!==t.view&&(s.view=Object.assign({},t.view));break;case"OrthographicCamera":s=new Cn(t.left,t.right,t.top,t.bottom,t.near,t.far),void 0!==t.zoom&&(s.zoom=t.zoom),void 0!==t.view&&(s.view=Object.assign({},t.view));break;case"AmbientLight":s=new Mc(t.color,t.intensity);break;case"DirectionalLight":s=new _c(t.color,t.intensity);break;case"PointLight":s=new xc(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":s=new bc(t.color,t.intensity,t.width,t.height);break;case"SpotLight":s=new pc(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":s=new oc(t.color,t.groundColor,t.intensity);break;case"LightProbe":s=new Sc().fromJSON(t);break;case"SkinnedMesh":a=l(t.geometry),o=c(t.material),s=new Ea(a,o),void 0!==t.bindMode&&(s.bindMode=t.bindMode),void 0!==t.bindMatrix&&s.bindMatrix.fromArray(t.bindMatrix),void 0!==t.skeleton&&(s.skeleton=t.skeleton);break;case"Mesh":a=l(t.geometry),o=c(t.material),s=new Zi(a,o);break;case"InstancedMesh":a=l(t.geometry),o=c(t.material);const e=t.count,i=t.instanceMatrix,n=t.instanceColor;s=new Ba(a,o,e),s.instanceMatrix=new Da(new Float32Array(i.array),16),void 0!==n&&(s.instanceColor=new Da(new Float32Array(n.array),n.itemSize));break;case"LOD":s=new Ma;break;case"Line":s=new ja(l(t.geometry),c(t.material));break;case"LineLoop":s=new Za(l(t.geometry),c(t.material));break;case"LineSegments":s=new Ya(l(t.geometry),c(t.material));break;case"PointCloud":case"Points":s=new eo(l(t.geometry),c(t.material));break;case"Sprite":s=new va(c(t.material));break;case"Group":s=new Hs;break;case"Bone":s=new Ca;break;default:s=new ni;}if(s.uuid=t.uuid,void 0!==t.name&&(s.name=t.name),void 0!==t.matrix?(s.matrix.fromArray(t.matrix),void 0!==t.matrixAutoUpdate&&(s.matrixAutoUpdate=t.matrixAutoUpdate),s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)):(void 0!==t.position&&s.position.fromArray(t.position),void 0!==t.rotation&&s.rotation.fromArray(t.rotation),void 0!==t.quaternion&&s.quaternion.fromArray(t.quaternion),void 0!==t.scale&&s.scale.fromArray(t.scale)),void 0!==t.castShadow&&(s.castShadow=t.castShadow),void 0!==t.receiveShadow&&(s.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(s.shadow.bias=t.shadow.bias),void 0!==t.shadow.normalBias&&(s.shadow.normalBias=t.shadow.normalBias),void 0!==t.shadow.radius&&(s.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&s.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(s.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(s.visible=t.visible),void 0!==t.frustumCulled&&(s.frustumCulled=t.frustumCulled),void 0!==t.renderOrder&&(s.renderOrder=t.renderOrder),void 0!==t.userData&&(s.userData=t.userData),void 0!==t.layers&&(s.layers.mask=t.layers),void 0!==t.children){const a=t.children;for(let t=0;t<a.length;t++)s.add(this.parseObject(a[t],e,i,n,r))}if(void 0!==t.animations){const e=t.animations;for(let t=0;t<e.length;t++){const i=e[t];s.animations.push(r[i])}}if("LOD"===t.type){void 0!==t.autoUpdate&&(s.autoUpdate=t.autoUpdate);const e=t.levels;for(let t=0;t<e.length;t++){const i=e[t],n=s.getObjectByProperty("uuid",i.object);void 0!==n&&s.addLevel(n,i.distance)}}return s}bindSkeletons(t,e){0!==Object.keys(e).length&&t.traverse(function(t){if(!0===t.isSkinnedMesh&&void 0!==t.skeleton){const i=e[t.skeleton];void 0===i?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",t.skeleton):t.bind(i,t.bindMatrix)}})}setTexturePath(t){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}},t.ObjectSpaceNormalMap=1,t.OctahedronBufferGeometry=vl,t.OctahedronGeometry=vl,t.OneFactor=201,t.OneMinusDstAlphaFactor=207,t.OneMinusDstColorFactor=209,t.OneMinusSrcAlphaFactor=205,t.OneMinusSrcColorFactor=203,t.OrthographicCamera=Cn,t.PCFShadowMap=1,t.PCFSoftShadowMap=2,t.PMREMGenerator=Fn,t.ParametricGeometry=class extends Pi{constructor(){console.error("THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js"),super()}},t.Path=Ao,t.PerspectiveCamera=rn,t.Plane=dn,t.PlaneBufferGeometry=xn,t.PlaneGeometry=xn,t.PlaneHelper=class extends ja{constructor(t,e=1,i=16776960){const n=i,r=new Pi;r.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,0,0,1,0,0,0],3)),r.computeBoundingSphere(),super(r,new Ua({color:n,toneMapped:!1})),this.type="PlaneHelper",this.plane=t,this.size=e;const s=new Pi;s.setAttribute("position",new wi([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),s.computeBoundingSphere(),this.add(new Zi(s,new vi({color:n,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(t){let e=-this.plane.constant;Math.abs(e)<1e-8&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=e<0?1:0,this.lookAt(this.plane.normal),super.updateMatrixWorld(t)}},t.PointLight=xc,t.PointLightHelper=class extends Zi{constructor(t,e,i){super(new _l(e,4,2),new vi({wireframe:!0,fog:!1,toneMapped:!1})),this.light=t,this.light.updateMatrixWorld(),this.color=i,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},t.Points=eo,t.PointsMaterial=Ja,t.PolarGridHelper=class extends Ya{constructor(t=10,e=16,i=8,n=64,r=4473924,s=8947848){r=new Ht(r),s=new Ht(s);const a=[],o=[];for(let i=0;i<=e;i++){const n=i/e*(2*Math.PI),l=Math.sin(n)*t,c=Math.cos(n)*t;a.push(0,0,0),a.push(l,0,c);const h=1&i?r:s;o.push(h.r,h.g,h.b),o.push(h.r,h.g,h.b)}for(let e=0;e<=i;e++){const l=1&e?r:s,c=t-t/i*e;for(let t=0;t<n;t++){let e=t/n*(2*Math.PI),i=Math.sin(e)*c,r=Math.cos(e)*c;a.push(i,0,r),o.push(l.r,l.g,l.b),e=(t+1)/n*(2*Math.PI),i=Math.sin(e)*c,r=Math.cos(e)*c,a.push(i,0,r),o.push(l.r,l.g,l.b)}}const l=new Pi;l.setAttribute("position",new wi(a,3)),l.setAttribute("color",new wi(o,3));super(l,new Ua({vertexColors:!0,toneMapped:!1})),this.type="PolarGridHelper"}},t.PolyhedronBufferGeometry=Io,t.PolyhedronGeometry=Io,t.PositionalAudio=class extends Hc{constructor(t){super(t),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}disconnect(){super.disconnect(),this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(t){return this.panner.refDistance=t,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(t){return this.panner.rolloffFactor=t,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(t){return this.panner.distanceModel=t,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(t){return this.panner.maxDistance=t,this}setDirectionalCone(t,e,i){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=i,this}updateMatrixWorld(t){if(super.updateMatrixWorld(t),!0===this.hasPlaybackControl&&!1===this.isPlaying)return;this.matrixWorld.decompose(Wc,jc,qc),Xc.set(0,0,1).applyQuaternion(jc);const e=this.panner;if(e.positionX){const t=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(Wc.x,t),e.positionY.linearRampToValueAtTime(Wc.y,t),e.positionZ.linearRampToValueAtTime(Wc.z,t),e.orientationX.linearRampToValueAtTime(Xc.x,t),e.orientationY.linearRampToValueAtTime(Xc.y,t),e.orientationZ.linearRampToValueAtTime(Xc.z,t)}else e.setPosition(Wc.x,Wc.y,Wc.z),e.setOrientation(Xc.x,Xc.y,Xc.z)}},t.PropertyBinding=eh,t.PropertyMixer=Yc,t.QuadraticBezierCurve=Mo,t.QuadraticBezierCurve3=bo,t.Quaternion=te,t.QuaternionKeyframeTrack=Yl,t.QuaternionLinearInterpolant=Xl,t.REVISION=e,t.RGBADepthPacking=3201,t.RGBAFormat=S,t.RGBAIntegerFormat=1033,t.RGBA_ASTC_10x10_Format=Y,t.RGBA_ASTC_10x5_Format=j,t.RGBA_ASTC_10x6_Format=q,t.RGBA_ASTC_10x8_Format=X,t.RGBA_ASTC_12x10_Format=Z,t.RGBA_ASTC_12x12_Format=J,t.RGBA_ASTC_4x4_Format=F,t.RGBA_ASTC_5x4_Format=B,t.RGBA_ASTC_5x5_Format=U,t.RGBA_ASTC_6x5_Format=k,t.RGBA_ASTC_6x6_Format=G,t.RGBA_ASTC_8x5_Format=V,t.RGBA_ASTC_8x6_Format=H,t.RGBA_ASTC_8x8_Format=W,t.RGBA_BPTC_Format=K,t.RGBA_ETC2_EAC_Format=z,t.RGBA_PVRTC_2BPPV1_Format=N,t.RGBA_PVRTC_4BPPV1_Format=D,t.RGBA_S3TC_DXT1_Format=C,t.RGBA_S3TC_DXT3_Format=L,t.RGBA_S3TC_DXT5_Format=R,t.RGBFormat=1022,t.RGB_ETC1_Format=36196,t.RGB_ETC2_Format=O,t.RGB_PVRTC_2BPPV1_Format=I,t.RGB_PVRTC_4BPPV1_Format=P,t.RGB_S3TC_DXT1_Format=E,t.RGFormat=1030,t.RGIntegerFormat=1031,t.RawShaderMaterial=Ll,t.Ray=Pe,t.Raycaster=class{constructor(t,e,i=0,n=1/0){this.ray=new Pe(t,e),this.near=i,this.far=n,this.camera=null,this.layers=new He,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type: "+e.type)}intersectObject(t,e=!0,i=[]){return ah(t,this,i,e),i.sort(sh),i}intersectObjects(t,e=!0,i=[]){for(let n=0,r=t.length;n<r;n++)ah(t[n],this,i,e);return i.sort(sh),i}},t.RectAreaLight=bc,t.RedFormat=1028,t.RedIntegerFormat=1029,t.ReinhardToneMapping=2,t.RepeatWrapping=c,t.ReplaceStencilOp=7681,t.ReverseSubtractEquation=102,t.RingBufferGeometry=xl,t.RingGeometry=xl,t.SRGBColorSpace=lt,t.Scene=$s,t.ShaderChunk=yn,t.ShaderLib=Mn,t.ShaderMaterial=en,t.ShadowMaterial=Cl,t.Shape=Uo,t.ShapeBufferGeometry=yl,t.ShapeGeometry=yl,t.ShapePath=class{constructor(){this.type="ShapePath",this.color=new Ht,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new Ao,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,i,n){return this.currentPath.quadraticCurveTo(t,e,i,n),this}bezierCurveTo(t,e,i,n,r,s){return this.currentPath.bezierCurveTo(t,e,i,n,r,s),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t,e){function i(t){const e=[];for(let i=0,n=t.length;i<n;i++){const n=t[i],r=new Uo;r.curves=n.curves,e.push(r)}return e}function n(t,e){const i=e.length;let n=!1;for(let r=i-1,s=0;s<i;r=s++){let i=e[r],a=e[s],o=a.x-i.x,l=a.y-i.y;if(Math.abs(l)>Number.EPSILON){if(l<0&&(i=e[s],o=-o,a=e[r],l=-l),t.y<i.y||t.y>a.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;e<i;e++)o=s[e],p=o.getPoints(),a=r(p),a=t?!a:a,a?(!h&&d[g]&&g++,d[g]={s:new Uo,p:p},d[g].s.curves=o.curves,h&&g++,f[g]=[]):f[g].push({h:o,p:p[0]});if(!d[0])return i(s);if(d.length>1){let t=!1,e=0;for(let t=0,e=d.length;t<e;t++)u[t]=[];for(let i=0,r=d.length;i<r;i++){const r=f[i];for(let s=0;s<r.length;s++){const a=r[s];let o=!0;for(let r=0;r<d.length;r++)n(a.p,d[r].p)&&(i!==r&&e++,o?(o=!1,u[r].push(a)):t=!0);o&&u[i].push(a)}}e>0&&!1===t&&(f=u)}for(let t=0,e=d.length;t<e;t++){l=d[t].s,c.push(l),m=f[t];for(let t=0,e=m.length;t<e;t++)l.holes.push(m[t].h)}return c}},t.ShapeUtils=ul,t.ShortType=1011,t.Skeleton=Ia,t.SkeletonHelper=class extends Ya{constructor(t){const e=mh(t),i=new Pi,n=[],r=[],s=new Ht(0,0,1),a=new Ht(0,1,0);for(let t=0;t<e.length;t++){const i=e[t];i.parent&&i.parent.isBone&&(n.push(0,0,0),n.push(0,0,0),r.push(s.r,s.g,s.b),r.push(a.r,a.g,a.b))}i.setAttribute("position",new wi(n,3)),i.setAttribute("color",new wi(r,3));super(i,new Ua({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),this.isSkeletonHelper=!0,this.type="SkeletonHelper",this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(t){const e=this.bones,i=this.geometry,n=i.getAttribute("position");ph.copy(this.root.matrixWorld).invert();for(let t=0,i=0;t<e.length;t++){const r=e[t];r.parent&&r.parent.isBone&&(dh.multiplyMatrices(ph,r.matrixWorld),uh.setFromMatrixPosition(dh),n.setXYZ(i,uh.x,uh.y,uh.z),dh.multiplyMatrices(ph,r.parent.matrixWorld),uh.setFromMatrixPosition(dh),n.setXYZ(i+1,uh.x,uh.y,uh.z),i+=2)}i.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(t)}},t.SkinnedMesh=Ea,t.SmoothShading=2,t.Source=qt,t.Sphere=we,t.SphereBufferGeometry=_l,t.SphereGeometry=_l,t.Spherical=class{constructor(t=1,e=0,i=0){return this.radius=t,this.phi=e,this.theta=i,this}set(t,e,i){return this.radius=t,this.phi=e,this.theta=i,this}copy(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this}makeSafe(){const t=1e-6;return this.phi=Math.max(t,Math.min(Math.PI-t,this.phi)),this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,i){return this.radius=Math.sqrt(t*t+e*e+i*i),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,i),this.phi=Math.acos(_t(e/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},t.SphericalHarmonics3=wc,t.SplineCurve=wo,t.SpotLight=pc,t.SpotLightHelper=class extends ni{constructor(t,e){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;const i=new Pi,n=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,i=32;t<i;t++,e++){const r=t/i*Math.PI*2,s=e/i*Math.PI*2;n.push(Math.cos(r),Math.sin(r),1,Math.cos(s),Math.sin(s),1)}i.setAttribute("position",new wi(n,3));const r=new Ua({fog:!1,toneMapped:!1});this.cone=new Ya(i,r),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateMatrixWorld();const t=this.light.distance?this.light.distance:1e3,e=t*Math.tan(this.light.angle);this.cone.scale.set(e,e,t),hh.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(hh),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},t.Sprite=va,t.SpriteMaterial=na,t.SrcAlphaFactor=204,t.SrcAlphaSaturateFactor=210,t.SrcColorFactor=202,t.StaticCopyUsage=35046,t.StaticDrawUsage=ut,t.StaticReadUsage=35045,t.StereoCamera=class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new rn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new rn,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){const e=this._cache;if(e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep){e.focus=t.focus,e.fov=t.fov,e.aspect=t.aspect*this.aspect,e.near=t.near,e.far=t.far,e.zoom=t.zoom,e.eyeSep=this.eyeSep,zc.copy(t.projectionMatrix);const i=e.eyeSep/2,n=i*e.near/e.focus,r=e.near*Math.tan(vt*e.fov*.5)/e.zoom;let s,a;Oc.elements[12]=-i,Nc.elements[12]=i,s=-r*e.aspect+n,a=r*e.aspect+n,zc.elements[0]=2*e.near/(a-s),zc.elements[8]=(a+s)/(a-s),this.cameraL.projectionMatrix.copy(zc),s=-r*e.aspect-n,a=r*e.aspect-n,zc.elements[0]=2*e.near/(a-s),zc.elements[8]=(a+s)/(a-s),this.cameraR.projectionMatrix.copy(zc)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Oc),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(Nc)}},t.StreamCopyUsage=35042,t.StreamDrawUsage=35040,t.StreamReadUsage=35041,t.StringKeyframeTrack=Zl,t.SubtractEquation=101,t.SubtractiveBlending=3,t.TOUCH={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},t.TangentSpaceNormalMap=0,t.TetrahedronBufferGeometry=Ml,t.TetrahedronGeometry=Ml,t.TextGeometry=class extends Pi{constructor(){console.error("THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js"),super()}},t.Texture=Zt,t.TextureLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=new Zt,s=new sc(this.manager);return s.setCrossOrigin(this.crossOrigin),s.setPath(this.path),s.load(t,function(t){r.image=t,r.needsUpdate=!0,void 0!==e&&e(r)},i,n),r}},t.TorusBufferGeometry=bl,t.TorusGeometry=bl,t.TorusKnotBufferGeometry=wl,t.TorusKnotGeometry=wl,t.Triangle=mi,t.TriangleFanDrawMode=2,t.TriangleStripDrawMode=1,t.TrianglesDrawMode=0,t.TubeBufferGeometry=Sl,t.TubeGeometry=Sl,t.UVMapping=n,t.Uint16BufferAttribute=Mi,t.Uint32BufferAttribute=bi,t.Uint8BufferAttribute=class extends _i{constructor(t,e,i){super(new Uint8Array(t),e,i)}},t.Uint8ClampedBufferAttribute=class extends _i{constructor(t,e,i){super(new Uint8ClampedArray(t),e,i)}},t.Uniform=rh,t.UniformsLib=_n,t.UniformsUtils=tn,t.UnsignedByteType=x,t.UnsignedInt248Type=w,t.UnsignedIntType=_,t.UnsignedShort4444Type=1017,t.UnsignedShort5551Type=1018,t.UnsignedShortType=y,t.VSMShadowMap=3,t.Vector2=Et,t.Vector3=ee,t.Vector4=Jt,t.VectorKeyframeTrack=Jl,t.VideoTexture=class extends Zt{constructor(t,e,i,n,r,s,a,o,l){super(t,e,i,n,r,s,a,o,l),this.isVideoTexture=!0,this.minFilter=void 0!==s?s:f,this.magFilter=void 0!==r?r:f,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback(function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)})}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=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;t<i;t++)this.texture[t]=r.clone(),this.texture[t].isRenderTargetTexture=!0}setSize(t,e,i=1){if(this.width!==t||this.height!==e||this.depth!==i){this.width=t,this.height=e,this.depth=i;for(let n=0,r=this.texture.length;n<r;n++)this.texture[n].image.width=t,this.texture[n].image.height=e,this.texture[n].image.depth=i;this.dispose()}return this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e),this}copy(t){this.dispose(),this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.texture.length=0;for(let e=0,i=t.texture.length;e<i;e++)this.texture[e]=t.texture[e].clone(),this.texture[e].isRenderTargetTexture=!0;return this}},t.WebGLMultisampleRenderTarget=class extends Kt{constructor(t,e,i){console.error("THREE.WebGLMultisampleRenderTarget has been removed. Use a normal render target and set the \"samples\" property to greater 0 to enable multisampling."),super(t,e,i),this.samples=4}},t.WebGLRenderTarget=Kt,t.WebGLRenderer=Zs,t.WebGLUtils=Gs,t.WireframeGeometry=Tl,t.WrapAroundEnding=nt,t.ZeroCurvatureEnding=et,t.ZeroFactor=200,t.ZeroSlopeEnding=it,t.ZeroStencilOp=0,t._SRGBAFormat=pt,t.sRGBEncoding=ot,Object.defineProperty(t,"__esModule",{value:!0})});(function(t,e){e(t.MeshBVHLib=t.MeshBVHLib||{},t.THREE=t.THREE||{})})(this,function(exports,three){const CENTER=0;const AVERAGE=1;const SAH=2;const NOT_INTERSECTED=0;const INTERSECTED=1;const CONTAINED=2;const TRIANGLE_INTERSECT_COST=1.25;const TRAVERSAL_COST=1;const BYTES_PER_NODE=6*4+4+4;const IS_LEAFNODE_FLAG=65535;const FLOAT32_EPSILON=Math.pow(2,-24);class MeshBVHNode{constructor(){}}function arrayToBox(nodeIndex32,array,target){target.min.x=array[nodeIndex32];target.min.y=array[nodeIndex32+1];target.min.z=array[nodeIndex32+2];target.max.x=array[nodeIndex32+3];target.max.y=array[nodeIndex32+4];target.max.z=array[nodeIndex32+5];return target}function getLongestEdgeIndex(bounds){let splitDimIdx=-1;let splitDist=-Infinity;for(let i=0;i<3;i++){const dist=bounds[i+3]-bounds[i];if(dist>splitDist){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]=aVal<bVal?aVal:bVal;aVal=a[d3];bVal=b[d3];target[d3]=aVal>bVal?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(tMin<bounds[d]){bounds[d]=tMin}if(tMax>bounds[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;i<vertexCount;i++){index[i]=i}}}function getRootIndexRanges(geo){if(!geo.groups||!geo.groups.length){return[{offset:0,count:geo.index.count/3}]}const ranges=[];const rangeBoundaries=new Set;for(const group of geo.groups){rangeBoundaries.add(group.start);rangeBoundaries.add(group.start+group.count)}const sortedBoundaries=Array.from(rangeBoundaries.values()).sort((a,b)=>a-b);for(let i=0;i<sortedBoundaries.length-1;i++){const start=sortedBoundaries[i],end=sortedBoundaries[i+1];ranges.push({offset:start/3,count:(end-start)/3})}return ranges}function getBounds(triangleBounds,offset,count,target,centroidTarget=null){let minx=Infinity;let miny=Infinity;let minz=Infinity;let maxx=-Infinity;let maxy=-Infinity;let maxz=-Infinity;let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;const includeCentroid=centroidTarget!==null;for(let i=offset*6,end=(offset+count)*6;i<end;i+=6){const cx=triangleBounds[i+0];const hx=triangleBounds[i+1];const lx=cx-hx;const rx=cx+hx;if(lx<minx)minx=lx;if(rx>maxx)maxx=rx;if(includeCentroid&&cx<cminx)cminx=cx;if(includeCentroid&&cx>cmaxx)cmaxx=cx;const cy=triangleBounds[i+2];const hy=triangleBounds[i+3];const ly=cy-hy;const ry=cy+hy;if(ly<miny)miny=ly;if(ry>maxy)maxy=ry;if(includeCentroid&&cy<cminy)cminy=cy;if(includeCentroid&&cy>cmaxy)cmaxy=cy;const cz=triangleBounds[i+4];const hz=triangleBounds[i+5];const lz=cz-hz;const rz=cz+hz;if(lz<minz)minz=lz;if(rz>maxz)maxz=rz;if(includeCentroid&&cz<cminz)cminz=cz;if(includeCentroid&&cz>cmaxz)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;i<end;i+=6){const cx=triangleBounds[i+0];if(cx<cminx)cminx=cx;if(cx>cmaxx)cmaxx=cx;const cy=triangleBounds[i+2];if(cy<cminy)cminy=cy;if(cy>cmaxy)cmaxy=cy;const cz=triangleBounds[i+4];if(cz<cminz)cminz=cz;if(cz>cmaxz)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){left++}while(left<=right&&triangleBounds[right*6+axisOffset]>=pos){right--}if(left<right){for(let i=0;i<3;i++){let t0=index[left*3+i];index[left*3+i]=index[right*3+i];index[right*3+i]=t0;let t1=triangleBounds[left*6+i*2+0];triangleBounds[left*6+i*2+0]=triangleBounds[right*6+i*2+0];triangleBounds[right*6+i*2+0]=t1;let t2=triangleBounds[left*6+i*2+1];triangleBounds[left*6+i*2+1]=triangleBounds[right*6+i*2+1];triangleBounds[right*6+i*2+1]=t2}left++;right--}else{return left}}}const BIN_COUNT=32;const binsSort=(a,b)=>a.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_COUNT/4){const truncatedBins=[...sahBins];truncatedBins.length=count;let b=0;for(let c=cStart;c<cEnd;c+=6,b++){const bin=truncatedBins[b];bin.candidate=triangleBounds[c+2*a];bin.count=0;const{bounds,leftCacheBounds,rightCacheBounds}=bin;for(let d=0;d<3;d++){rightCacheBounds[d]=Infinity;rightCacheBounds[d+3]=-Infinity;leftCacheBounds[d]=Infinity;leftCacheBounds[d+3]=-Infinity;bounds[d]=Infinity;bounds[d+3]=-Infinity}expandByTriangleBounds(c,triangleBounds,bounds)}truncatedBins.sort(binsSort);let splitCount=count;for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];while(bi+1<splitCount&&truncatedBins[bi+1].candidate===bin.candidate){truncatedBins.splice(bi+1,1);splitCount--}}for(let c=cStart;c<cEnd;c+=6){const center=triangleBounds[c+2*a];for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];if(center>=bin.candidate){expandByTriangleBounds(c,triangleBounds,bin.rightCacheBounds)}else{expandByTriangleBounds(c,triangleBounds,bin.leftCacheBounds);bin.count++}}}for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];const leftCount=bin.count;const rightCount=count-bin.count;const leftBounds=bin.leftCacheBounds;const rightBounds=bin.rightCacheBounds;let leftProb=0;if(leftCount!==0){leftProb=computeSurfaceArea(leftBounds)/rootSurfaceArea}let rightProb=0;if(rightCount!==0){rightProb=computeSurfaceArea(rightBounds)/rootSurfaceArea}const cost=TRAVERSAL_COST+TRIANGLE_INTERSECT_COST*(leftProb*leftCount+rightProb*rightCount);if(cost<bestCost){axis=a;bestCost=cost;pos=bin.candidate}}}else{for(let i=0;i<BIN_COUNT;i++){const bin=sahBins[i];bin.count=0;bin.candidate=axisLeft+binWidth+i*binWidth;const bounds=bin.bounds;for(let d=0;d<3;d++){bounds[d]=Infinity;bounds[d+3]=-Infinity}}for(let c=cStart;c<cEnd;c+=6){const triCenter=triangleBounds[c+2*a];const relativeCenter=triCenter-axisLeft;let binIndex=~~(relativeCenter/binWidth);if(binIndex>=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;i<BIN_COUNT-1;i++){const bin=sahBins[i];const binCount=bin.count;const bounds=bin.bounds;const nextBin=sahBins[i+1];const rightBounds=nextBin.rightCacheBounds;if(binCount!==0){if(leftCount===0){copyBounds(bounds,leftBounds)}else{unionBounds(bounds,leftBounds,leftBounds)}}leftCount+=binCount;let leftProb=0;let rightProb=0;if(leftCount!==0){leftProb=computeSurfaceArea(leftBounds)/rootSurfaceArea}const rightCount=count-leftCount;if(rightCount!==0){rightProb=computeSurfaceArea(rightBounds)/rootSurfaceArea}const cost=TRAVERSAL_COST+TRIANGLE_INTERSECT_COST*(leftProb*leftCount+rightProb*rightCount);if(cost<bestCost){axis=a;bestCost=cost;pos=bin.candidate}}}}}else{console.warn(`MeshBVH: Invalid build strategy value ${strategy} used.`)}return{axis,pos}}function getAverage(triangleBounds,offset,count,axis){let avg=0;for(let i=offset,end=offset+count;i<end;i++){avg+=triangleBounds[i*6+axis*2]}return avg/count}function computeTriangleBounds(geo,fullBounds){const posAttr=geo.attributes.position;const posArr=posAttr.array;const index=geo.index.array;const triCount=index.length/3;const triangleBounds=new Float32Array(triCount*6);const bufferOffset=posAttr.offset||0;let stride=3;if(posAttr.isInterleavedBufferAttribute){stride=posAttr.data.stride}for(let tri=0;tri<triCount;tri++){const tri3=tri*3;const tri6=tri*6;const ai=index[tri3+0]*stride+bufferOffset;const bi=index[tri3+1]*stride+bufferOffset;const ci=index[tri3+2]*stride+bufferOffset;for(let el=0;el<3;el++){const a=posArr[ai+el];const b=posArr[bi+el];const c=posArr[ci+el];let min=a;if(b<min)min=b;if(c<min)min=c;let max=a;if(b>max)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(min<fullBounds[el])fullBounds[el]=min;if(max>fullBounds[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;i<roots.length;i++){const root=roots[i];let nodeCount=countNodes(root);const buffer=new BufferConstructor(BYTES_PER_NODE*nodeCount);float32Array=new Float32Array(buffer);uint32Array=new Uint32Array(buffer);uint16Array=new Uint16Array(buffer);populateBuffer(0,root);packedRoots.push(buffer)}return packedRoots;function countNodes(node){if(node.count){return 1}else{return 1+countNodes(node.left)+countNodes(node.right)}}function populateBuffer(byteOffset,node){const stride4Offset=byteOffset/4;const stride2Offset=byteOffset/2;const isLeaf=!!node.count;const boundingData=node.boundingData;for(let i=0;i<6;i++){float32Array[stride4Offset+i]=boundingData[i]}if(isLeaf){const offset=node.offset;const count=node.count;uint32Array[stride4Offset+6]=offset;uint16Array[stride2Offset+14]=count;uint16Array[stride2Offset+15]=IS_LEAFNODE_FLAG;return byteOffset+BYTES_PER_NODE}else{const left=node.left;const right=node.right;const splitAxis=node.splitAxis;let nextUnusedPointer;nextUnusedPointer=populateBuffer(byteOffset+BYTES_PER_NODE,left);if(nextUnusedPointer/4>Math.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;i<l;i++){const p=points[i];const val=p[field];min=val<min?val:min;max=val>max?val:max}this.min=min;this.max=max}setFromPoints(axis,points){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;i<l;i++){const p=points[i];const val=axis.dot(p);min=val<min?val:min;max=val>max?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(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(point2)}}this.closestPointToPoint(start,point1);distSq=start.distanceToSquared(point1);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(start)}this.closestPointToPoint(end,point1);distSq=end.distanceToSquared(point1);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(end)}return Math.sqrt(closestDistanceSq)}}();SeparatingAxisTriangle.prototype.intersectsTriangle=function(){const saTri2=new SeparatingAxisTriangle;const arr1=new Array(3);const arr2=new Array(3);const cachedSatBounds=new SeparatingAxisBounds;const cachedSatBounds2=new SeparatingAxisBounds;const cachedAxis=new three.Vector3;const dir1=new three.Vector3;const dir2=new three.Vector3;const tempDir=new three.Vector3;const edge=new three.Line3;const edge1=new three.Line3;const edge2=new three.Line3;return function intersectsTriangle(other,target=null){if(this.needsUpdate){this.update()}if(!other.isSeparatingAxisTriangle){saTri2.copy(other);saTri2.update();other=saTri2}else if(other.needsUpdate){other.update()}const satBounds1=this.satBounds;const satAxes1=this.satAxes;arr2[0]=other.a;arr2[1]=other.b;arr2[2]=other.c;for(let i=0;i<4;i++){const sb=satBounds1[i];const sa=satAxes1[i];cachedSatBounds.setFromPoints(sa,arr2);if(sb.isSeparated(cachedSatBounds))return false}const satBounds2=other.satBounds;const satAxes2=other.satAxes;arr1[0]=this.a;arr1[1]=this.b;arr1[2]=this.c;for(let i=0;i<4;i++){const sb=satBounds2[i];const sa=satAxes2[i];cachedSatBounds.setFromPoints(sa,arr1);if(sb.isSeparated(cachedSatBounds))return false}for(let i=0;i<4;i++){const sa1=satAxes1[i];for(let i2=0;i2<4;i2++){const sa2=satAxes2[i2];cachedAxis.crossVectors(sa1,sa2);cachedSatBounds.setFromPoints(cachedAxis,arr1);cachedSatBounds2.setFromPoints(cachedAxis,arr2);if(cachedSatBounds.isSeparated(cachedSatBounds2))return false}}if(target){const plane1=this.plane;const plane2=other.plane;if(Math.abs(plane1.normal.dot(plane2.normal))>1-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(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point);if(target2)target2.copy(otherVec)}const thisVec=this[field];other.closestPointToPoint(thisVec,point);dist=thisVec.distanceToSquared(point);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(thisVec);if(target2)target2.copy(point)}}for(let i=0;i<3;i++){const f11=cornerFields[i];const f12=cornerFields[(i+1)%3];line1.set(this[f11],this[f12]);for(let i2=0;i2<3;i2++){const f21=cornerFields[i2];const f22=cornerFields[(i2+1)%3];line2.set(other[f21],other[f22]);closestPointsSegmentToSegment(line1,line2,point,point2);const dist=point.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point);if(target2)target2.copy(point2)}}}return Math.sqrt(closestDistanceSq)}}();class OrientedBox extends three.Box3{constructor(...args){super(...args);this.isOrientedBox=true;this.matrix=new three.Matrix4;this.invMatrix=new three.Matrix4;this.points=new Array(8).fill().map(()=>new 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<<i;const pi=points[index];axis.subVectors(minVec,pi);sb.setFromPoints(axis,points)}const alignedSatBounds=this.alignedSatBounds;alignedSatBounds[0].setFromPointsField(points,"x");alignedSatBounds[1].setFromPointsField(points,"y");alignedSatBounds[2].setFromPointsField(points,"z");this.invMatrix.copy(this.matrix).invert();this.needsUpdate=false}}();OrientedBox.prototype.intersectsBox=function(){const aabbBounds=new SeparatingAxisBounds;return function intersectsBox(box){if(this.needsUpdate){this.update()}const min=box.min;const max=box.max;const satBounds=this.satBounds;const satAxes=this.satAxes;const alignedSatBounds=this.alignedSatBounds;aabbBounds.min=min.x;aabbBounds.max=max.x;if(alignedSatBounds[0].isSeparated(aabbBounds))return false;aabbBounds.min=min.y;aabbBounds.max=max.y;if(alignedSatBounds[1].isSeparated(aabbBounds))return false;aabbBounds.min=min.z;aabbBounds.max=max.z;if(alignedSatBounds[2].isSeparated(aabbBounds))return false;for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];aabbBounds.setFromBox(axis,box);if(sb.isSeparated(aabbBounds))return false}return true}}();OrientedBox.prototype.intersectsTriangle=function(){const saTri=new SeparatingAxisTriangle;const pointsArr=new Array(3);const cachedSatBounds=new SeparatingAxisBounds;const cachedSatBounds2=new SeparatingAxisBounds;const cachedAxis=new three.Vector3;return function intersectsTriangle(triangle){if(this.needsUpdate){this.update()}if(!triangle.isSeparatingAxisTriangle){saTri.copy(triangle);saTri.update();triangle=saTri}else if(triangle.needsUpdate){triangle.update()}const satBounds=this.satBounds;const satAxes=this.satAxes;pointsArr[0]=triangle.a;pointsArr[1]=triangle.b;pointsArr[2]=triangle.c;for(let i=0;i<3;i++){const sb=satBounds[i];const sa=satAxes[i];cachedSatBounds.setFromPoints(sa,pointsArr);if(sb.isSeparated(cachedSatBounds))return false}const triSatBounds=triangle.satBounds;const triSatAxes=triangle.satAxes;const points=this.points;for(let i=0;i<3;i++){const sb=triSatBounds[i];const sa=triSatAxes[i];cachedSatBounds.setFromPoints(sa,points);if(sb.isSeparated(cachedSatBounds))return false}for(let i=0;i<3;i++){const sa1=satAxes[i];for(let i2=0;i2<4;i2++){const sa2=triSatAxes[i2];cachedAxis.crossVectors(sa1,sa2);cachedSatBounds.setFromPoints(cachedAxis,pointsArr);cachedSatBounds2.setFromPoints(cachedAxis,points);if(cachedSatBounds.isSeparated(cachedSatBounds2))return false}}return true}}();OrientedBox.prototype.closestPointToPoint=function(){return function closestPointToPoint(point,target1){if(this.needsUpdate){this.update()}target1.copy(point).applyMatrix4(this.invMatrix).clamp(this.min,this.max).applyMatrix4(this.matrix);return target1}}();OrientedBox.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();OrientedBox.prototype.distanceToBox=function(){const xyzFields=["x","y","z"];const segments1=new Array(12).fill().map(()=>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(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(p);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}let count=0;for(let i=0;i<3;i++){for(let i1=0;i1<=1;i1++){for(let i2=0;i2<=1;i2++){const nextIndex=(i+1)%3;const nextIndex2=(i+2)%3;const index=i1<<nextIndex|i2<<nextIndex2;const index2=1<<i|i1<<nextIndex|i2<<nextIndex2;const p1=points[index];const p2=points[index2];const line1=segments1[count];line1.set(p1,p2);const f1=xyzFields[i];const f2=xyzFields[nextIndex];const f3=xyzFields[nextIndex2];const line2=segments2[count];const start=line2.start;const end=line2.end;start[f1]=min[f1];start[f2]=i1?min[f2]:max[f2];start[f3]=i2?min[f3]:max[f2];end[f1]=max[f1];end[f2]=i1?min[f2]:max[f2];end[f3]=i2?min[f3]:max[f2];count++}}}for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){point2.x=x?max.x:min.x;point2.y=y?max.y:min.y;point2.z=z?max.z:min.z;this.closestPointToPoint(point2,point1);const dist=point2.distanceToSquared(point1);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point1);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}}}for(let i=0;i<12;i++){const l1=segments1[i];for(let i2=0;i2<12;i2++){const l2=segments2[i2];closestPointsSegmentToSegment(l1,l2,point1,point2);const dist=point1.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point1);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}}return Math.sqrt(closestDistanceSq)}}();const vA=new three.Vector3;const vB=new three.Vector3;const vC=new three.Vector3;const uvA=new three.Vector2;const uvB=new three.Vector2;const uvC=new three.Vector2;const intersectionPoint=new three.Vector3;function checkIntersection(ray,pA,pB,pC,point,side){let intersect;if(side===three.BackSide){intersect=ray.intersectTriangle(pC,pB,pA,true,point)}else{intersect=ray.intersectTriangle(pA,pB,pC,side!==three.DoubleSide,point)}if(intersect===null)return null;const distance=ray.origin.distanceTo(point);return{distance:distance,point:point.clone()}}function checkBufferGeometryIntersection(ray,position,uv,a,b,c,side){vA.fromBufferAttribute(position,a);vB.fromBufferAttribute(position,b);vC.fromBufferAttribute(position,c);const intersection=checkIntersection(ray,vA,vB,vC,intersectionPoint,side);if(intersection){if(uv){uvA.fromBufferAttribute(uv,a);uvB.fromBufferAttribute(uv,b);uvC.fromBufferAttribute(uv,c);intersection.uv=three.Triangle.getUV(intersectionPoint,vA,vB,vC,uvA,uvB,uvC,new three.Vector2)}const face={a:a,b:b,c:c,normal:new three.Vector3,materialIndex:0};three.Triangle.getNormal(vA,vB,vC,face.normal);intersection.face=face;intersection.faceIndex=a}return intersection}function intersectTri(geo,side,ray,tri,intersections){const triOffset=tri*3;const a=geo.index.getX(triOffset);const b=geo.index.getX(triOffset+1);const c=geo.index.getX(triOffset+2);const intersection=checkBufferGeometryIntersection(ray,geo.attributes.position,geo.attributes.uv,a,b,c,side);if(intersection){intersection.faceIndex=tri;if(intersections)intersections.push(intersection);return intersection}return null}function intersectTris(geo,side,ray,offset,count,intersections){for(let i=offset,end=offset+count;i<end;i++){intersectTri(geo,side,ray,i,intersections)}}function intersectClosestTri(geo,side,ray,offset,count){let dist=Infinity;let res=null;for(let i=offset,end=offset+count;i<end;i++){const intersection=intersectTri(geo,side,ray,i);if(intersection&&intersection.distance<dist){res=intersection;dist=intersection.distance}}return res}function convertRaycastIntersect(hit,object,raycaster){if(hit===null){return null}hit.point.applyMatrix4(object.matrixWorld);hit.distance=hit.point.distanceTo(raycaster.ray.origin);hit.object=object;if(hit.distance<raycaster.near||hit.distance>raycaster.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<l;i++){setTriangle(triangle,i*3,index,pos);triangle.needsUpdate=true;if(intersectsTriangleFunc(triangle,i,contained,depth)){return true}}return false}const tempV1=new three.Vector3;const tempV2=new three.Vector3;const tempV3=new three.Vector3;const tempUV1=new three.Vector2;const tempUV2=new three.Vector2;const tempUV3=new three.Vector2;function getTriangleHitPointInfo(point,geometry,triangleIndex,target){const indices=geometry.getIndex().array;const positions=geometry.getAttribute("position");const uvs=geometry.getAttribute("uv");const a=indices[triangleIndex*3];const b=indices[triangleIndex*3+1];const c=indices[triangleIndex*3+2];tempV1.fromBufferAttribute(positions,a);tempV2.fromBufferAttribute(positions,b);tempV3.fromBufferAttribute(positions,c);let materialIndex=0;const groups=geometry.groups;const firstVertexIndex=triangleIndex*3;for(let i=0,l=groups.length;i<l;i++){const group=groups[i];const{start,count}=group;if(firstVertexIndex>=start&&firstVertexIndex<start+count){materialIndex=group.materialIndex;break}}let uv=null;if(uvs){tempUV1.fromBufferAttribute(uvs,a);tempUV2.fromBufferAttribute(uvs,b);tempUV3.fromBufferAttribute(uvs,c);if(target&&target.uv)uv=target.uv;else uv=new three.Vector2;three.Triangle.getUV(point,tempV1,tempV2,tempV3,tempUV1,tempUV2,tempUV3,uv)}if(target){if(!target.face)target.face={};target.face.a=a;target.face.b=b;target.face.c=c;target.face.materialIndex=materialIndex;if(!target.face.normal)target.face.normal=new three.Vector3;three.Triangle.getNormal(tempV1,tempV2,tempV3,target.face.normal);if(!target.uv)target.uv=new three.Vector2;target.uv.copy(uv);return target}else{return{face:{a:a,b:b,c:c,materialIndex:materialIndex,normal:three.Triangle.getNormal(tempV1,tempV2,tempV3,new three.Vector3)},uv:uv}}}class PrimitivePool{constructor(getNewPrimitive){this._getNewPrimitive=getNewPrimitive;this._primitives=[]}getPrimitive(){const primitives=this._primitives;if(primitives.length===0){return this._getNewPrimitive()}else{return primitives.pop()}}releasePrimitive(primitive){this._primitives.push(primitive)}}function IS_LEAF(n16,uint16Array){return uint16Array[n16+15]===65535}function OFFSET(n32,uint32Array){return uint32Array[n32+6]}function COUNT(n16,uint16Array){return uint16Array[n16+14]}function LEFT_NODE(n32){return n32+8}function RIGHT_NODE(n32,uint32Array){return uint32Array[n32+6]}function SPLIT_AXIS(n32,uint32Array){return uint32Array[n32+7]}function BOUNDING_DATA_INDEX(n32){return n32}const boundingBox$1=new three.Box3;const boxIntersection=new three.Vector3;const xyzFields=["x","y","z"];function raycast(nodeIndex32,geometry,side,ray,intersects){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);intersectTris(geometry,side,ray,offset,count,intersects)}else{const leftIndex=LEFT_NODE(nodeIndex32);if(intersectRay(leftIndex,float32Array,ray,boxIntersection)){raycast(leftIndex,geometry,side,ray,intersects)}const rightIndex=RIGHT_NODE(nodeIndex32,uint32Array);if(intersectRay(rightIndex,float32Array,ray,boxIntersection)){raycast(rightIndex,geometry,side,ray,intersects)}}}function raycastFirst(nodeIndex32,geometry,side,ray){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);return intersectClosestTri(geometry,side,ray,offset,count)}else{const splitAxis=SPLIT_AXIS(nodeIndex32,uint32Array);const xyzAxis=xyzFields[splitAxis];const rayDir=ray.direction[xyzAxis];const leftToRight=rayDir>=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(score2<score1){c1=right;c2=left;const temp=score1;score1=score2;score2=temp;box1=box2}}if(!box1){box1=_box1;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1)}const isC1Leaf=IS_LEAF(c1*2,uint16Array);const c1Intersection=intersectsBoundsFunc(box1,isC1Leaf,score1,depth+1,nodeIndexByteOffset+c1);let c1StopTraversal;if(c1Intersection===CONTAINED){const offset=getLeftOffset(c1);const end=getRightEndOffset(c1);const count=end-offset;c1StopTraversal=intersectsRangeFunc(offset,count,true,depth+1,nodeIndexByteOffset+c1,box1)}else{c1StopTraversal=c1Intersection&&shapecastTraverse(c1,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc,nodeIndexByteOffset,depth+1)}if(c1StopTraversal)return true;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);const isC2Leaf=IS_LEAF(c2*2,uint16Array);const c2Intersection=intersectsBoundsFunc(box2,isC2Leaf,score2,depth+1,nodeIndexByteOffset+c2);let c2StopTraversal;if(c2Intersection===CONTAINED){const offset=getLeftOffset(c2);const end=getRightEndOffset(c2);const count=end-offset;c2StopTraversal=intersectsRangeFunc(offset,count,true,depth+1,nodeIndexByteOffset+c2,box2)}else{c2StopTraversal=c2Intersection&&shapecastTraverse(c2,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc,nodeIndexByteOffset,depth+1)}if(c2StopTraversal)return true;return false}}}();const intersectsGeometry=function(){const triangle=new SeparatingAxisTriangle;const triangle2=new SeparatingAxisTriangle;const invertedMat=new three.Matrix4;const obb=new OrientedBox;const obb2=new OrientedBox;return function intersectsGeometry(nodeIndex32,geometry,otherGeometry,geometryToBvh,cachedObb=null){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;if(cachedObb===null){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);cachedObb=obb}const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const thisGeometry=geometry;const thisIndex=thisGeometry.index;const thisPos=thisGeometry.attributes.position;const index=otherGeometry.index;const pos=otherGeometry.attributes.position;const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);invertedMat.copy(geometryToBvh).invert();if(otherGeometry.boundsTree){arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,obb2);obb2.matrix.copy(invertedMat);obb2.needsUpdate=true;const res=otherGeometry.boundsTree.shapecast({intersectsBounds:box=>obb2.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;i<l;i+=3){setTriangle(triangle2,i,thisIndex,thisPos);triangle2.needsUpdate=true;if(tri.intersectsTriangle(triangle2)){return true}}return false}});return res}else{for(let i=offset*3,l=count+offset*3;i<l;i+=3){setTriangle(triangle,i,thisIndex,thisPos);triangle.a.applyMatrix4(invertedMat);triangle.b.applyMatrix4(invertedMat);triangle.c.applyMatrix4(invertedMat);triangle.needsUpdate=true;for(let i2=0,l2=index.count;i2<l2;i2+=3){setTriangle(triangle2,i2,index,pos);triangle2.needsUpdate=true;if(triangle.intersectsTriangle(triangle2)){return true}}}}}else{const left=nodeIndex32+8;const right=uint32Array[nodeIndex32+6];arrayToBox(BOUNDING_DATA_INDEX(left),float32Array,boundingBox$1);const leftIntersection=cachedObb.intersectsBox(boundingBox$1)&&intersectsGeometry(left,geometry,otherGeometry,geometryToBvh,cachedObb);if(leftIntersection)return true;arrayToBox(BOUNDING_DATA_INDEX(right),float32Array,boundingBox$1);const rightIntersection=cachedObb.intersectsBox(boundingBox$1)&&intersectsGeometry(right,geometry,otherGeometry,geometryToBvh,cachedObb);if(rightIntersection)return true;return false}}}();function intersectRay(nodeIndex32,array,ray,target){arrayToBox(nodeIndex32,array,boundingBox$1);return ray.intersectBox(boundingBox$1,target)}const bufferStack=[];let _prevBuffer;let _float32Array;let _uint16Array;let _uint32Array;function setBuffer(buffer){if(_prevBuffer){bufferStack.push(_prevBuffer)}_prevBuffer=buffer;_float32Array=new Float32Array(buffer);_uint16Array=new Uint16Array(buffer);_uint32Array=new Uint32Array(buffer)}function clearBuffer(){_prevBuffer=null;_float32Array=null;_uint16Array=null;_uint32Array=null;if(bufferStack.length){setBuffer(bufferStack.pop())}}const SKIP_GENERATION=Symbol("skip tree generation");const aabb=new three.Box3;const aabb2=new three.Box3;const tempMatrix=new three.Matrix4;const obb=new OrientedBox;const obb2=new OrientedBox;const temp=new three.Vector3;const temp1=new three.Vector3;const temp2=new three.Vector3;const temp3=new three.Vector3;const temp4=new three.Vector3;const tempBox=new three.Box3;const trianglePool=new PrimitivePool(()=>new 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;i<l;i++){buffer=roots[i];uint32Array=new Uint32Array(buffer);uint16Array=new Uint16Array(buffer);float32Array=new Float32Array(buffer);_traverse(0,byteOffset);byteOffset+=buffer.byteLength}function _traverse(node32Index,byteOffset,force=false){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];let minx=Infinity;let miny=Infinity;let minz=Infinity;let maxx=-Infinity;let maxy=-Infinity;let maxz=-Infinity;for(let i=3*offset,l=3*(offset+count);i<l;i++){const index=indexArr[i]*stride+bufferOffset;const x=posArr[index+0];const y=posArr[index+1];const z=posArr[index+2];if(x<minx)minx=x;if(x>maxx)maxx=x;if(y<miny)miny=y;if(y>maxy)maxy=y;if(z<minz)minz=z;if(z>maxz)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]=minLeftValue<minRightValue?minLeftValue:minRightValue;float32Array[node32Index+i+3]=maxLeftValue>maxRightValue?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<l;i++){const materialSide=isArrayMaterial?materialOrSide[groups[i].materialIndex].side:side;const startCount=intersects.length;setBuffer(roots[i]);raycast(0,geometry,materialSide,ray,intersects);clearBuffer();if(isArrayMaterial){const materialIndex=groups[i].materialIndex;for(let j=startCount,jl=intersects.length;j<jl;j++){intersects[j].face.materialIndex=materialIndex}}}return intersects}raycastFirst(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);let closestResult=null;const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i<l;i++){const materialSide=isArrayMaterial?materialOrSide[groups[i].materialIndex].side:side;setBuffer(roots[i]);const result=raycastFirst(0,geometry,materialSide,ray);clearBuffer();if(result!=null&&(closestResult==null||result.distance<closestResult.distance)){closestResult=result;if(isArrayMaterial){result.face.materialIndex=groups[i].materialIndex}}}return closestResult}intersectsGeometry(otherGeometry,geomToMesh){const geometry=this.geometry;let result=false;for(const root of this._roots){setBuffer(root);result=intersectsGeometry(0,geometry,otherGeometry,geomToMesh);clearBuffer();if(result){break}}return result}shapecast(callbacks,_intersectsTriangleFunc,_orderNodesFunc){const geometry=this.geometry;if(callbacks instanceof Function){if(_intersectsTriangleFunc){const originalTriangleFunc=_intersectsTriangleFunc;_intersectsTriangleFunc=(tri,index,contained,depth)=>{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;i2<l2;i2++){setTriangle(triangle2,i2*3,otherIndexAttr,otherPositionAttr);triangle2.a.applyMatrix4(matrixToLocal);triangle2.b.applyMatrix4(matrixToLocal);triangle2.c.applyMatrix4(matrixToLocal);triangle2.needsUpdate=true;for(let i1=offset1,l1=offset1+count1;i1<l1;i1++){setTriangle(triangle,i1*3,indexAttr,positionAttr);triangle.needsUpdate=true;if(intersectsTriangles(triangle,triangle2,i1,i2,depth1,index1,depth2,index2)){return true}}}return false}if(intersectsRanges){const originalIntersectsRanges=intersectsRanges;intersectsRanges=function(offset1,count1,offset2,count2,depth1,index1,depth2,index2){if(!originalIntersectsRanges(offset1,count1,offset2,count2,depth1,index1,depth2,index2)){return iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2)}return true}}else{intersectsRanges=iterateOverDoubleTriangles}}this.getBoundingBox(aabb2);aabb2.applyMatrix4(matrixToLocal);const result=this.shapecast({intersectsBounds:box=>aabb2.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<closestDistance&&score<maxThreshold){if(isLeaf){obb2.min.copy(box.min);obb2.max.copy(box.max);obb2.needsUpdate=true}return true}return false},intersectsRange:(offset,count)=>{if(otherGeometry.boundsTree){return otherGeometry.boundsTree.shapecast({boundsTraverseOrder:box=>{return obb2.distanceToBox(box,Math.min(closestDistance,maxThreshold))},intersectsBounds:(box,isLeaf,score)=>{return score<closestDistance&&score<maxThreshold},intersectsRange:(otherOffset,otherCount)=>{for(let i2=otherOffset*3,l2=(otherOffset+otherCount)*3;i2<l2;i2+=3){setTriangle(triangle2,i2,otherIndex,otherPos);triangle2.a.applyMatrix4(geometryToBvh);triangle2.b.applyMatrix4(geometryToBvh);triangle2.c.applyMatrix4(geometryToBvh);triangle2.needsUpdate=true;for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){setTriangle(triangle,i,index,pos);triangle.needsUpdate=true;const dist=triangle.distanceToTriangle(triangle2,tempTarget1,tempTarget2);if(dist<closestDistance){tempTargetDest1.copy(tempTarget1);if(tempTargetDest2){tempTargetDest2.copy(tempTarget2)}closestDistance=dist;closestDistanceTriIndex=i/3;closestDistanceOtherTriIndex=i2/3}if(dist<minThreshold){return true}}}}})}else{const triCount=otherIndex?otherIndex.count:otherPos.count;for(let i2=0,l2=triCount;i2<l2;i2+=3){setTriangle(triangle2,i2,otherIndex,otherPos);triangle2.a.applyMatrix4(geometryToBvh);triangle2.b.applyMatrix4(geometryToBvh);triangle2.c.applyMatrix4(geometryToBvh);triangle2.needsUpdate=true;for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){setTriangle(triangle,i,index,pos);triangle.needsUpdate=true;const dist=triangle.distanceToTriangle(triangle2,tempTarget1,tempTarget2);if(dist<closestDistance){tempTargetDest1.copy(tempTarget1);if(tempTargetDest2){tempTargetDest2.copy(tempTarget2)}closestDistance=dist;closestDistanceTriIndex=i/3;closestDistanceOtherTriIndex=i2/3}if(dist<minThreshold){return true}}}}}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);if(closestDistance===Infinity)return null;if(!target1.point)target1.point=tempTargetDest1.clone();else target1.point.copy(tempTargetDest1);target1.distance=closestDistance,target1.faceIndex=closestDistanceTriIndex;if(target2){if(!target2.point)target2.point=tempTargetDest2.clone();else target2.point.copy(tempTargetDest2);target2.point.applyMatrix4(tempMatrix);tempTargetDest1.applyMatrix4(tempMatrix);target2.distance=tempTargetDest1.sub(target2.point).length();target2.faceIndex=closestDistanceOtherTriIndex}return target1}closestPointToPoint(point,target={},minThreshold=0,maxThreshold=Infinity){const minThresholdSq=minThreshold*minThreshold;const maxThresholdSq=maxThreshold*maxThreshold;let closestDistanceSq=Infinity;let closestDistanceTriIndex=null;this.shapecast({boundsTraverseOrder:box=>{temp.copy(point).clamp(box.min,box.max);return temp.distanceToSquared(point)},intersectsBounds:(box,isLeaf,score)=>{return score<closestDistanceSq&&score<maxThresholdSq},intersectsTriangle:(tri,triIndex)=>{tri.closestPointToPoint(point,temp);const distSq=point.distanceToSquared(temp);if(distSq<closestDistanceSq){temp1.copy(temp);closestDistanceSq=distSq;closestDistanceTriIndex=triIndex}if(distSq<minThresholdSq){return true}else{return false}}});if(closestDistanceSq===Infinity)return null;const closestDistance=Math.sqrt(closestDistanceSq);if(!target.point)target.point=temp1.clone();else target.point.copy(temp1);target.distance=closestDistance,target.faceIndex=closestDistanceTriIndex;return target}getBoundingBox(target){target.makeEmpty();const roots=this._roots;roots.forEach(buffer=>{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;i<boundsCount;i++){const posOffset=i*8;const indexOffset=i*indexLength;for(let j=0;j<indexLength;j++){indexArray[indexOffset+j]=posOffset+indices[j]}}geometry.setIndex(new three.BufferAttribute(indexArray,1,false));geometry.setAttribute("position",new three.BufferAttribute(positionArray,3,false));this.visible=true}}}class MeshBVHVisualizer extends three.Group{get color(){return this.edgeMaterial.color}get opacity(){return this.edgeMaterial.opacity}set opacity(v){this.edgeMaterial.opacity=v;this.meshMaterial.opacity=v}constructor(mesh,depth=10){super();this.name="MeshBVHVisualizer";this.depth=depth;this.mesh=mesh;this.displayParents=false;this.displayEdges=true;this._roots=[];const edgeMaterial=new three.LineBasicMaterial({color:65416,transparent:true,opacity:0.3,depthWrite:false});const meshMaterial=new three.MeshBasicMaterial({color:65416,transparent:true,opacity:0.3,depthWrite:false});meshMaterial.color=edgeMaterial.color;this.edgeMaterial=edgeMaterial;this.meshMaterial=meshMaterial;this.update()}update(){const bvh=this.mesh.geometry.boundsTree;const totalRoots=bvh?bvh._roots.length:0;while(this._roots.length>totalRoots){this._roots.pop()}for(let i=0;i<totalRoots;i++){if(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<l;i++){children[i].geometry.dispose()}}}const _box1=new three.Box3;const _box2=new three.Box3;const _vec=new three.Vector3;function getPrimitiveSize(el){switch(typeof el){case"number":return 8;case"string":return el.length*2;case"boolean":return 4;default:return 0;}}function isTypedArray(arr){const regex=/(Uint|Int|Float)(8|16|32)Array/;return regex.test(arr.constructor.name)}function getRootExtremes(bvh,group){const result={nodeCount:0,leafNodeCount:0,depth:{min:Infinity,max:-Infinity},tris:{min:Infinity,max:-Infinity},splits:[0,0,0],surfaceAreaScore:0};bvh.traverse((depth,isLeaf,boundingData,offsetOrSplit,count)=>{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<l;i+=3){const i0=index.getX(i);const i1=index.getX(i+1);const i2=index.getX(i+2);let isContained;_vec.fromBufferAttribute(position,i0);isContained=_box1.containsPoint(_vec);_vec.fromBufferAttribute(position,i1);isContained=isContained&&_box1.containsPoint(_vec);_vec.fromBufferAttribute(position,i2);isContained=isContained&&_box1.containsPoint(_vec);console.assert(isContained,"Leaf bounds does not fully contain triangle.");passes=passes&&isContained}}if(parent){arrayToBox(0,boundingData,_box2);const isContained=_box2.containsBox(_box1);console.assert(isContained,"Parent bounds does not fully contain child.");passes=passes&&isContained}});return passes}function getJSONStructure(bvh){const depthStack=[];bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{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<l;i++){const hit=convertRaycastIntersect(hits[i],this,raycaster);if(hit){intersects.push(hit)}}}}else{origMeshRaycastFunc.call(this,raycaster,intersects)}}function computeBoundsTree(options){this.boundsTree=new MeshBVH(this,options);return this.boundsTree}function disposeBoundsTree(){this.boundsTree=null}function countToStringFormat(count){switch(count){case 1:return"R";case 2:return"RG";case 3:return"RGBA";case 4:return"RGBA";}throw new Error}function countToFormat(count){switch(count){case 1:return three.RedFormat;case 2:return three.RGFormat;case 3:return three.RGBAFormat;case 4:return three.RGBAFormat;}}function countToIntFormat(count){switch(count){case 1:return three.RedIntegerFormat;case 2:return three.RGIntegerFormat;case 3:return three.RGBAIntegerFormat;case 4:return three.RGBAIntegerFormat;}}class VertexAttributeTexture extends three.DataTexture{constructor(){super();this.minFilter=three.NearestFilter;this.magFilter=three.NearestFilter;this.generateMipmaps=false;this.overrideItemSize=null;this._forcedType=null}updateFrom(attr){const overrideItemSize=this.overrideItemSize;const originalItemSize=attr.itemSize;const originalCount=attr.count;if(overrideItemSize!==null){if(originalItemSize*originalCount%overrideItemSize!==0){throw new Error("VertexAttributeTexture: overrideItemSize must divide evenly into buffer length.")}attr.itemSize=overrideItemSize;attr.count=originalCount*originalItemSize/overrideItemSize}const itemSize=attr.itemSize;const count=attr.count;const normalized=attr.normalized;const originalBufferCons=attr.array.constructor;const byteCount=originalBufferCons.BYTES_PER_ELEMENT;let targetType=this._forcedType;let finalStride=itemSize;if(targetType===null){switch(originalBufferCons){case Float32Array:targetType=three.FloatType;break;case Uint8Array:case Uint16Array:case Uint32Array:targetType=three.UnsignedIntType;break;case Int8Array:case Int16Array:case Int32Array:targetType=three.IntType;break;}}let type,format,normalizeValue,targetBufferCons;let internalFormat=countToStringFormat(itemSize);switch(targetType){case three.FloatType:normalizeValue=1;format=countToFormat(itemSize);if(normalized&&byteCount===1){targetBufferCons=originalBufferCons;internalFormat+="8";if(originalBufferCons===Uint8Array){type=three.UnsignedByteType}else{type=three.ByteType;internalFormat+="_SNORM"}}else{targetBufferCons=Float32Array;internalFormat+="32F";type=three.FloatType}break;case three.IntType:internalFormat+=byteCount*8+"I";normalizeValue=normalized?Math.pow(2,originalBufferCons.BYTES_PER_ELEMENT*8-1):1;format=countToIntFormat(itemSize);if(byteCount===1){targetBufferCons=Int8Array;type=three.ByteType}else if(byteCount===2){targetBufferCons=Int16Array;type=three.ShortType}else{targetBufferCons=Int32Array;type=three.IntType}break;case three.UnsignedIntType:internalFormat+=byteCount*8+"UI";normalizeValue=normalized?Math.pow(2,originalBufferCons.BYTES_PER_ELEMENT*8-1):1;format=countToIntFormat(itemSize);if(byteCount===1){targetBufferCons=Uint8Array;type=three.UnsignedByteType}else if(byteCount===2){targetBufferCons=Uint16Array;type=three.UnsignedShortType}else{targetBufferCons=Uint32Array;type=three.UnsignedIntType}break;}if(finalStride===3&&(format===three.RGBAFormat||format===three.RGBAIntegerFormat)){finalStride=4}const dimension=Math.ceil(Math.sqrt(count));const length=finalStride*dimension*dimension;const dataArray=new targetBufferCons(length);for(let i=0;i<count;i++){const ii=finalStride*i;dataArray[ii]=attr.getX(i)/normalizeValue;if(itemSize>=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<nodeCount;i++){const nodeIndex32=i*BYTES_PER_NODE/4;const nodeIndex16=nodeIndex32*2;const boundsIndex=BOUNDING_DATA_INDEX(nodeIndex32);for(let b=0;b<3;b++){boundsArray[8*i+0+b]=float32Array[boundsIndex+0+b];boundsArray[8*i+4+b]=float32Array[boundsIndex+3+b]}if(IS_LEAF(nodeIndex16,uint16Array)){const count=COUNT(nodeIndex16,uint16Array);const offset=OFFSET(nodeIndex32,uint32Array);const mergedLeafCount=4294901760|count;contentsArray[i*2+0]=mergedLeafCount;contentsArray[i*2+1]=offset}else{const rightIndex=4*RIGHT_NODE(nodeIndex32,uint32Array)/BYTES_PER_NODE;const splitAxis=SPLIT_AXIS(nodeIndex32,uint32Array);contentsArray[i*2+0]=splitAxis;contentsArray[i*2+1]=rightIndex}}boundsTexture.image.data=boundsArray;boundsTexture.image.width=boundsDimension;boundsTexture.image.height=boundsDimension;boundsTexture.format=three.RGBAFormat;boundsTexture.type=three.FloatType;boundsTexture.internalFormat="RGBA32F";boundsTexture.minFilter=three.NearestFilter;boundsTexture.magFilter=three.NearestFilter;boundsTexture.generateMipmaps=false;boundsTexture.needsUpdate=true;contentsTexture.image.data=contentsArray;contentsTexture.image.width=contentsDimension;contentsTexture.image.height=contentsDimension;contentsTexture.format=three.RGIntegerFormat;contentsTexture.type=three.UnsignedIntType;contentsTexture.internalFormat="RG32UI";contentsTexture.minFilter=three.NearestFilter;contentsTexture.magFilter=three.NearestFilter;contentsTexture.generateMipmaps=false;contentsTexture.needsUpdate=true}class MeshBVHUniformStruct{constructor(){this.autoDispose=true;this.index=new UIntVertexAttributeTexture;this.position=new FloatVertexAttributeTexture;this.bvhBounds=new three.DataTexture;this.bvhContents=new three.DataTexture;this.index.overrideItemSize=3}updateFrom(bvh){const{geometry}=bvh;bvhToTextures(bvh,this.bvhBounds,this.bvhContents);this.index.updateFrom(geometry.index);this.position.updateFrom(geometry.attributes.position)}dispose(){const{index,position,bvhBounds,bvhContents}=this;if(index)index.dispose();if(position)position.dispose();if(bvhBounds)bvhBounds.dispose();if(bvhContents)bvhContents.dispose()}}const shaderStructs=`
#ifndef TRI_INTERSECT_EPSILON
#define TRI_INTERSECT_EPSILON 1e-5
#endif

#ifndef INFINITY
#define INFINITY 1e20
#endif

struct BVH {

	usampler2D index;
	sampler2D position;

	sampler2D bvhBounds;
	usampler2D bvhContents;

};

// Note that a struct cannot be used for the hit record including faceIndices, faceNormal, barycoord,
// side, and dist because on some mobile GPUS (such as Adreno) numbers are afforded less precision specifically
// when in a struct leading to inaccurate hit results. See KhronosGroup/WebGL#3351 for more details.
`;const shaderIntersectFunction=`

uvec4 uTexelFetch1D( usampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

ivec4 iTexelFetch1D( isampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

vec4 texelFetch1D( sampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

vec4 textureSampleBarycoord( sampler2D tex, vec3 barycoord, uvec3 faceIndices ) {

	return
		barycoord.x * texelFetch1D( tex, faceIndices.x ) +
		barycoord.y * texelFetch1D( tex, faceIndices.y ) +
		barycoord.z * texelFetch1D( tex, faceIndices.z );

}

void ndcToCameraRay(
	vec2 coord, mat4 cameraWorld, mat4 invProjectionMatrix,
	out vec3 rayOrigin, out vec3 rayDirection
) {

	// get camera look direction and near plane for camera clipping
	vec4 lookDirection = cameraWorld * vec4( 0.0, 0.0, - 1.0, 0.0 );
	vec4 nearVector = invProjectionMatrix * vec4( 0.0, 0.0, - 1.0, 1.0 );
	float near = abs( nearVector.z / nearVector.w );

	// get the camera direction and position from camera matrices
	vec4 origin = cameraWorld * vec4( 0.0, 0.0, 0.0, 1.0 );
	vec4 direction = invProjectionMatrix * vec4( coord, 0.5, 1.0 );
	direction /= direction.w;
	direction = cameraWorld * direction - origin;

	// slide the origin along the ray until it sits at the near clip plane position
	origin.xyz += direction.xyz * near / dot( direction, lookDirection );

	rayOrigin = origin.xyz;
	rayDirection = direction.xyz;

}

float intersectsBounds( vec3 rayOrigin, vec3 rayDirection, vec3 boundsMin, vec3 boundsMax ) {

	// https://www.reddit.com/r/opengl/comments/8ntzz5/fast_glsl_ray_box_intersection/
	// https://tavianator.com/2011/ray_box.html
	vec3 invDir = 1.0 / rayDirection;

	// find intersection distances for each plane
	vec3 tMinPlane = invDir * ( boundsMin - rayOrigin );
	vec3 tMaxPlane = invDir * ( boundsMax - rayOrigin );

	// get the min and max distances from each intersection
	vec3 tMinHit = min( tMaxPlane, tMinPlane );
	vec3 tMaxHit = max( tMaxPlane, tMinPlane );

	// get the furthest hit distance
	vec2 t = max( tMinHit.xx, tMinHit.yz );
	float t0 = max( t.x, t.y );

	// get the minimum hit distance
	t = min( tMaxHit.xx, tMaxHit.yz );
	float t1 = min( t.x, t.y );

	// set distance to 0.0 if the ray starts inside the box
	float dist = max( t0, 0.0 );

	return t1 >= 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;i<data.length;++i){var ch=data.charCodeAt(i);result[i]=ch>96?ch-97:ch>64?ch-39:ch+4}var write=0;for(var i=0;i<data.length;++i){result[write++]=result[i]<60?wasmpack[result[i]]:(result[i]-60)*64+result[++i]}return result.buffer.slice(0,write)}function decode(fun,target,count,size,source,filter){var sbrk=instance.exports.sbrk;var count4=count+3&~3;var tp=sbrk(count4*size);var sp=sbrk(source.length);var heap=new Uint8Array(instance.exports.memory.buffer);heap.set(source,sp);var res=fun(tp,count,size,sp,source.length);if(res==0&&filter){filter(tp,count4,size)}target.set(heap.subarray(tp,tp+count*size));sbrk(tp-sbrk(0));if(res!=0){throw new Error("Malformed buffer data: "+res)}}var filters={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"};var decoders={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};var workers=[];var requestId=0;function createWorker(url){var worker={object:new Worker(url),pending:0,requests:{}};worker.object.onmessage=function(event){var data=event.data;worker.pending-=data.count;worker.requests[data.id][data.action](data.value);delete worker.requests[data.id]};return worker}function initWorkers(count){var source="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(unpack(wasm))+"]), {})"+".then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });"+"self.onmessage = workerProcess;"+decode.toString()+workerProcess.toString();var blob=new Blob([source],{type:"text/javascript"});var url=URL.createObjectURL(blob);for(var i=0;i<count;++i){workers[i]=createWorker(url)}URL.revokeObjectURL(url)}function decodeWorker(count,size,source,mode,filter){var worker=workers[0];for(var i=1;i<workers.length;++i){if(workers[i].pending<worker.pending){worker=workers[i]}}return new Promise(function(resolve,reject){var data=new Uint8Array(source);var id=requestId++;worker.pending+=count;worker.requests[id]={resolve:resolve,reject:reject};worker.object.postMessage({id:id,count:count,size:size,source:data,mode:mode,filter:filter},[data.buffer])})}function workerProcess(event){ready.then(function(){var data=event.data;try{var target=new Uint8Array(data.count*data.size);decode(instance.exports[data.mode],target,data.count,data.size,data.source,instance.exports[data.filter]);self.postMessage({id:data.id,count:data.count,action:"resolve",value:target},[target.buffer])}catch(error){self.postMessage({id:data.id,count:data.count,action:"reject",value:error})}})}return{ready:ready,supported:true,useWorkers:function(count){initWorkers(count)},decodeVertexBuffer:function(target,count,size,source,filter){decode(instance.exports.meshopt_decodeVertexBuffer,target,count,size,source,instance.exports[filters[filter]])},decodeIndexBuffer:function(target,count,size,source){decode(instance.exports.meshopt_decodeIndexBuffer,target,count,size,source)},decodeIndexSequence:function(target,count,size,source){decode(instance.exports.meshopt_decodeIndexSequence,target,count,size,source)},decodeGltfBuffer:function(target,count,size,source,mode,filter){decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]])},decodeGltfBufferAsync:function(count,size,source,mode,filter){if(workers.length>0){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;i<il;i++){this.vertexNormals[i]=source.vertexNormals[i].clone()}for(let i=0,il=source.vertexColors.length;i<il;i++){this.vertexColors[i]=source.vertexColors[i].clone()}return this}}THREE.Face3=Face3});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Color=THREE.Color,EventDispatcher=THREE.EventDispatcher,Float32BufferAttribute=THREE.Float32BufferAttribute,Matrix3=THREE.Matrix3,Matrix4=THREE.Matrix4,MathUtils=THREE.MathUtils,Object3D=THREE.Object3D,Sphere=THREE.Sphere,Vector2=THREE.Vector2,Vector3=THREE.Vector3;const _m1=new Matrix4;const _obj=new Object3D;const _offset=new Vector3;class Geometry extends EventDispatcher{constructor(){super();this.uuid=MathUtils.generateUUID();this.name="";this.type="Geometry";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.elementsNeedUpdate=false;this.verticesNeedUpdate=false;this.uvsNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.lineDistancesNeedUpdate=false;this.groupsNeedUpdate=false}applyMatrix4(matrix){const normalMatrix=new Matrix3().getNormalMatrix(matrix);for(let i=0,il=this.vertices.length;i<il;i++){const vertex=this.vertices[i];vertex.applyMatrix4(matrix)}for(let i=0,il=this.faces.length;i<il;i++){const face=this.faces[i];face.normal.applyMatrix3(normalMatrix).normalize();for(let j=0,jl=face.vertexNormals.length;j<jl;j++){face.vertexNormals[j].applyMatrix3(normalMatrix).normalize()}}if(this.boundingBox!==null){this.computeBoundingBox()}if(this.boundingSphere!==null){this.computeBoundingSphere()}this.verticesNeedUpdate=true;this.normalsNeedUpdate=true;return this}rotateX(angle){_m1.makeRotationX(angle);this.applyMatrix4(_m1);return this}rotateY(angle){_m1.makeRotationY(angle);this.applyMatrix4(_m1);return this}rotateZ(angle){_m1.makeRotationZ(angle);this.applyMatrix4(_m1);return this}translate(x,y,z){_m1.makeTranslation(x,y,z);this.applyMatrix4(_m1);return this}scale(x,y,z){_m1.makeScale(x,y,z);this.applyMatrix4(_m1);return this}lookAt(vector){_obj.lookAt(vector);_obj.updateMatrix();this.applyMatrix4(_obj.matrix);return this}fromBufferGeometry(geometry){const scope=this;const index=geometry.index!==null?geometry.index:undefined;const attributes=geometry.attributes;if(attributes.position===undefined){console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.");return this}const position=attributes.position;const normal=attributes.normal;const color=attributes.color;const uv=attributes.uv;const uv2=attributes.uv2;if(uv2!==undefined)this.faceVertexUvs[1]=[];for(let i=0;i<position.count;i++){scope.vertices.push(new Vector3().fromBufferAttribute(position,i));if(color!==undefined){scope.colors.push(new Color().fromBufferAttribute(color,i))}}function addFace(a,b,c,materialIndex){const vertexColors=color===undefined?[]:[scope.colors[a].clone(),scope.colors[b].clone(),scope.colors[c].clone()];const vertexNormals=normal===undefined?[]:[new Vector3().fromBufferAttribute(normal,a),new Vector3().fromBufferAttribute(normal,b),new Vector3().fromBufferAttribute(normal,c)];const face=new Face3(a,b,c,vertexNormals,vertexColors,materialIndex);scope.faces.push(face);if(uv!==undefined){scope.faceVertexUvs[0].push([new Vector2().fromBufferAttribute(uv,a),new Vector2().fromBufferAttribute(uv,b),new Vector2().fromBufferAttribute(uv,c)])}if(uv2!==undefined){scope.faceVertexUvs[1].push([new Vector2().fromBufferAttribute(uv2,a),new Vector2().fromBufferAttribute(uv2,b),new Vector2().fromBufferAttribute(uv2,c)])}}const groups=geometry.groups;if(groups.length>0){for(let i=0;i<groups.length;i++){const group=groups[i];const start=group.start;const count=group.count;for(let j=start,jl=start+count;j<jl;j+=3){if(index!==undefined){addFace(index.getX(j),index.getX(j+1),index.getX(j+2),group.materialIndex)}else{addFace(j,j+1,j+2,group.materialIndex)}}}}else{if(index!==undefined){for(let i=0;i<index.count;i+=3){addFace(index.getX(i),index.getX(i+1),index.getX(i+2))}}else{for(let i=0;i<position.count;i+=3){addFace(i,i+1,i+2)}}}this.computeFaceNormals();if(geometry.boundingBox!==null){this.boundingBox=geometry.boundingBox.clone()}if(geometry.boundingSphere!==null){this.boundingSphere=geometry.boundingSphere.clone()}return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(_offset).negate();this.translate(_offset.x,_offset.y,_offset.z);return this}normalize(){this.computeBoundingSphere();const center=this.boundingSphere.center;const radius=this.boundingSphere.radius;const s=radius===0?1:1/radius;const matrix=new Matrix4;matrix.set(s,0,0,-s*center.x,0,s,0,-s*center.y,0,0,s,-s*center.z,0,0,0,1);this.applyMatrix4(matrix);return this}computeFaceNormals(){const cb=new Vector3,ab=new Vector3;for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vA=this.vertices[face.a];const vB=this.vertices[face.b];const vC=this.vertices[face.c];cb.subVectors(vC,vB);ab.subVectors(vA,vB);cb.cross(ab);cb.normalize();face.normal.copy(cb)}}computeVertexNormals(areaWeighted=true){const vertices=new Array(this.vertices.length);for(let v=0,vl=this.vertices.length;v<vl;v++){vertices[v]=new Vector3}if(areaWeighted){const cb=new Vector3,ab=new Vector3;for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vA=this.vertices[face.a];const vB=this.vertices[face.b];const vC=this.vertices[face.c];cb.subVectors(vC,vB);ab.subVectors(vA,vB);cb.cross(ab);vertices[face.a].add(cb);vertices[face.b].add(cb);vertices[face.c].add(cb)}}else{this.computeFaceNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];vertices[face.a].add(face.normal);vertices[face.b].add(face.normal);vertices[face.c].add(face.normal)}}for(let v=0,vl=this.vertices.length;v<vl;v++){vertices[v].normalize()}for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){vertexNormals[0].copy(vertices[face.a]);vertexNormals[1].copy(vertices[face.b]);vertexNormals[2].copy(vertices[face.c])}else{vertexNormals[0]=vertices[face.a].clone();vertexNormals[1]=vertices[face.b].clone();vertexNormals[2]=vertices[face.c].clone()}}if(this.faces.length>0){this.normalsNeedUpdate=true}}computeFlatVertexNormals(){this.computeFaceNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){vertexNormals[0].copy(face.normal);vertexNormals[1].copy(face.normal);vertexNormals[2].copy(face.normal)}else{vertexNormals[0]=face.normal.clone();vertexNormals[1]=face.normal.clone();vertexNormals[2]=face.normal.clone()}}if(this.faces.length>0){this.normalsNeedUpdate=true}}computeMorphNormals(){for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];if(!face.__originalFaceNormal){face.__originalFaceNormal=face.normal.clone()}else{face.__originalFaceNormal.copy(face.normal)}if(!face.__originalVertexNormals)face.__originalVertexNormals=[];for(let i=0,il=face.vertexNormals.length;i<il;i++){if(!face.__originalVertexNormals[i]){face.__originalVertexNormals[i]=face.vertexNormals[i].clone()}else{face.__originalVertexNormals[i].copy(face.vertexNormals[i])}}}const tmpGeo=new Geometry;tmpGeo.faces=this.faces;for(let i=0,il=this.morphTargets.length;i<il;i++){if(!this.morphNormals[i]){this.morphNormals[i]={};this.morphNormals[i].faceNormals=[];this.morphNormals[i].vertexNormals=[];const dstNormalsFace=this.morphNormals[i].faceNormals;const dstNormalsVertex=this.morphNormals[i].vertexNormals;for(let f=0,fl=this.faces.length;f<fl;f++){const faceNormal=new Vector3;const vertexNormals={a:new Vector3,b:new Vector3,c:new Vector3};dstNormalsFace.push(faceNormal);dstNormalsVertex.push(vertexNormals)}}const morphNormals=this.morphNormals[i];tmpGeo.vertices=this.morphTargets[i].vertices;tmpGeo.computeFaceNormals();tmpGeo.computeVertexNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const faceNormal=morphNormals.faceNormals[f];const vertexNormals=morphNormals.vertexNormals[f];faceNormal.copy(face.normal);vertexNormals.a.copy(face.vertexNormals[0]);vertexNormals.b.copy(face.vertexNormals[1]);vertexNormals.c.copy(face.vertexNormals[2])}}for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];face.normal=face.__originalFaceNormal;face.vertexNormals=face.__originalVertexNormals}}computeBoundingBox(){if(this.boundingBox===null){this.boundingBox=new Box3}this.boundingBox.setFromPoints(this.vertices)}computeBoundingSphere(){if(this.boundingSphere===null){this.boundingSphere=new Sphere}this.boundingSphere.setFromPoints(this.vertices)}merge(geometry,matrix,materialIndexOffset=0){if(!(geometry&&geometry.isGeometry)){console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",geometry);return}let normalMatrix;const vertexOffset=this.vertices.length,vertices1=this.vertices,vertices2=geometry.vertices,faces1=this.faces,faces2=geometry.faces,colors1=this.colors,colors2=geometry.colors;if(matrix!==undefined){normalMatrix=new Matrix3().getNormalMatrix(matrix)}for(let i=0,il=vertices2.length;i<il;i++){const vertex=vertices2[i];const vertexCopy=vertex.clone();if(matrix!==undefined)vertexCopy.applyMatrix4(matrix);vertices1.push(vertexCopy)}for(let i=0,il=colors2.length;i<il;i++){colors1.push(colors2[i].clone())}for(let i=0,il=faces2.length;i<il;i++){const face=faces2[i];let normal,color;const faceVertexNormals=face.vertexNormals,faceVertexColors=face.vertexColors;const faceCopy=new Face3(face.a+vertexOffset,face.b+vertexOffset,face.c+vertexOffset);faceCopy.normal.copy(face.normal);if(normalMatrix!==undefined){faceCopy.normal.applyMatrix3(normalMatrix).normalize()}for(let j=0,jl=faceVertexNormals.length;j<jl;j++){normal=faceVertexNormals[j].clone();if(normalMatrix!==undefined){normal.applyMatrix3(normalMatrix).normalize()}faceCopy.vertexNormals.push(normal)}faceCopy.color.copy(face.color);for(let j=0,jl=faceVertexColors.length;j<jl;j++){color=faceVertexColors[j];faceCopy.vertexColors.push(color.clone())}faceCopy.materialIndex=face.materialIndex+materialIndexOffset;faces1.push(faceCopy)}for(let i=0,il=geometry.faceVertexUvs.length;i<il;i++){const faceVertexUvs2=geometry.faceVertexUvs[i];if(this.faceVertexUvs[i]===undefined)this.faceVertexUvs[i]=[];for(let j=0,jl=faceVertexUvs2.length;j<jl;j++){const uvs2=faceVertexUvs2[j],uvsCopy=[];for(let k=0,kl=uvs2.length;k<kl;k++){uvsCopy.push(uvs2[k].clone())}this.faceVertexUvs[i].push(uvsCopy)}}}mergeMesh(mesh){if(!(mesh&&mesh.isMesh)){console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",mesh);return}if(mesh.matrixAutoUpdate)mesh.updateMatrix();this.merge(mesh.geometry,mesh.matrix)}mergeVertices(precisionPoints=4){const verticesMap={};const unique=[],changes=[];const precision=Math.pow(10,precisionPoints);for(let i=0,il=this.vertices.length;i<il;i++){const v=this.vertices[i];const key=Math.round(v.x*precision)+"_"+Math.round(v.y*precision)+"_"+Math.round(v.z*precision);if(verticesMap[key]===undefined){verticesMap[key]=i;unique.push(this.vertices[i]);changes[i]=unique.length-1}else{changes[i]=changes[verticesMap[key]]}}const faceIndicesToRemove=[];for(let i=0,il=this.faces.length;i<il;i++){const face=this.faces[i];face.a=changes[face.a];face.b=changes[face.b];face.c=changes[face.c];const indices=[face.a,face.b,face.c];for(let n=0;n<3;n++){if(indices[n]===indices[(n+1)%3]){faceIndicesToRemove.push(i);break}}}for(let i=faceIndicesToRemove.length-1;i>=0;i--){const idx=faceIndicesToRemove[i];this.faces.splice(idx,1);for(let j=0,jl=this.faceVertexUvs.length;j<jl;j++){this.faceVertexUvs[j].splice(idx,1)}}const diff=this.vertices.length-unique.length;this.vertices=unique;return diff}setFromPoints(points){this.vertices=[];for(let i=0,l=points.length;i<l;i++){const point=points[i];this.vertices.push(new Vector3(point.x,point.y,point.z||0))}return this}sortFacesByMaterialIndex(){const faces=this.faces;const length=faces.length;for(let i=0;i<length;i++){faces[i]._id=i}function materialIndexSort(a,b){return a.materialIndex-b.materialIndex}faces.sort(materialIndexSort);const uvs1=this.faceVertexUvs[0];const uvs2=this.faceVertexUvs[1];let newUvs1,newUvs2;if(uvs1&&uvs1.length===length)newUvs1=[];if(uvs2&&uvs2.length===length)newUvs2=[];for(let i=0;i<length;i++){const id=faces[i]._id;if(newUvs1)newUvs1.push(uvs1[id]);if(newUvs2)newUvs2.push(uvs2[id])}if(newUvs1)this.faceVertexUvs[0]=newUvs1;if(newUvs2)this.faceVertexUvs[1]=newUvs2}toJSON(){const data={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};data.uuid=this.uuid;data.type=this.type;if(this.name!=="")data.name=this.name;if(this.parameters!==undefined){const parameters=this.parameters;for(const key in parameters){if(parameters[key]!==undefined)data[key]=parameters[key]}return data}const vertices=[];for(let i=0;i<this.vertices.length;i++){const vertex=this.vertices[i];vertices.push(vertex.x,vertex.y,vertex.z)}const faces=[];const normals=[];const normalsHash={};const colors=[];const colorsHash={};const uvs=[];const uvsHash={};for(let i=0;i<this.faces.length;i++){const face=this.faces[i];const hasMaterial=true;const hasFaceUv=false;const hasFaceVertexUv=this.faceVertexUvs[0][i]!==undefined;const hasFaceNormal=face.normal.length()>0;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<<position:value&~(1<<position)}function getNormalIndex(normal){const hash=normal.x.toString()+normal.y.toString()+normal.z.toString();if(normalsHash[hash]!==undefined){return normalsHash[hash]}normalsHash[hash]=normals.length/3;normals.push(normal.x,normal.y,normal.z);return normalsHash[hash]}function getColorIndex(color){const hash=color.r.toString()+color.g.toString()+color.b.toString();if(colorsHash[hash]!==undefined){return colorsHash[hash]}colorsHash[hash]=colors.length;colors.push(color.getHex());return colorsHash[hash]}function getUvIndex(uv){const hash=uv.x.toString()+uv.y.toString();if(uvsHash[hash]!==undefined){return uvsHash[hash]}uvsHash[hash]=uvs.length/2;uvs.push(uv.x,uv.y);return uvsHash[hash]}data.data={};data.data.vertices=vertices;data.data.normals=normals;if(colors.length>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;i<il;i++){this.vertices.push(vertices[i].clone())}const colors=source.colors;for(let i=0,il=colors.length;i<il;i++){this.colors.push(colors[i].clone())}const faces=source.faces;for(let i=0,il=faces.length;i<il;i++){this.faces.push(faces[i].clone())}for(let i=0,il=source.faceVertexUvs.length;i<il;i++){const faceVertexUvs=source.faceVertexUvs[i];if(this.faceVertexUvs[i]===undefined){this.faceVertexUvs[i]=[]}for(let j=0,jl=faceVertexUvs.length;j<jl;j++){const uvs=faceVertexUvs[j],uvsCopy=[];for(let k=0,kl=uvs.length;k<kl;k++){const uv=uvs[k];uvsCopy.push(uv.clone())}this.faceVertexUvs[i].push(uvsCopy)}}const morphTargets=source.morphTargets;for(let i=0,il=morphTargets.length;i<il;i++){const morphTarget={};morphTarget.name=morphTargets[i].name;if(morphTargets[i].vertices!==undefined){morphTarget.vertices=[];for(let j=0,jl=morphTargets[i].vertices.length;j<jl;j++){morphTarget.vertices.push(morphTargets[i].vertices[j].clone())}}if(morphTargets[i].normals!==undefined){morphTarget.normals=[];for(let j=0,jl=morphTargets[i].normals.length;j<jl;j++){morphTarget.normals.push(morphTargets[i].normals[j].clone())}}this.morphTargets.push(morphTarget)}const morphNormals=source.morphNormals;for(let i=0,il=morphNormals.length;i<il;i++){const morphNormal={};if(morphNormals[i].vertexNormals!==undefined){morphNormal.vertexNormals=[];for(let j=0,jl=morphNormals[i].vertexNormals.length;j<jl;j++){const srcVertexNormal=morphNormals[i].vertexNormals[j];const destVertexNormal={};destVertexNormal.a=srcVertexNormal.a.clone();destVertexNormal.b=srcVertexNormal.b.clone();destVertexNormal.c=srcVertexNormal.c.clone();morphNormal.vertexNormals.push(destVertexNormal)}}if(morphNormals[i].faceNormals!==undefined){morphNormal.faceNormals=[];for(let j=0,jl=morphNormals[i].faceNormals.length;j<jl;j++){morphNormal.faceNormals.push(morphNormals[i].faceNormals[j].clone())}}this.morphNormals.push(morphNormal)}const skinWeights=source.skinWeights;for(let i=0,il=skinWeights.length;i<il;i++){this.skinWeights.push(skinWeights[i].clone())}const skinIndices=source.skinIndices;for(let i=0,il=skinIndices.length;i<il;i++){this.skinIndices.push(skinIndices[i].clone())}const lineDistances=source.lineDistances;for(let i=0,il=lineDistances.length;i<il;i++){this.lineDistances.push(lineDistances[i])}const boundingBox=source.boundingBox;if(boundingBox!==null){this.boundingBox=boundingBox.clone()}const boundingSphere=source.boundingSphere;if(boundingSphere!==null){this.boundingSphere=boundingSphere.clone()}this.elementsNeedUpdate=source.elementsNeedUpdate;this.verticesNeedUpdate=source.verticesNeedUpdate;this.uvsNeedUpdate=source.uvsNeedUpdate;this.normalsNeedUpdate=source.normalsNeedUpdate;this.colorsNeedUpdate=source.colorsNeedUpdate;this.lineDistancesNeedUpdate=source.lineDistancesNeedUpdate;this.groupsNeedUpdate=source.groupsNeedUpdate;return this}toBufferGeometry(){const geometry=new DirectGeometry().fromGeometry(this);const buffergeometry=new BufferGeometry;const positions=new Float32Array(geometry.vertices.length*3);buffergeometry.setAttribute("position",copyVector3sArray(new BufferAttribute(positions,3),geometry.vertices));if(geometry.normals.length>0){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;i<l;i++){const morphTarget=morphTargets[i];const attribute=new Float32BufferAttribute(morphTarget.data.length*3,3);attribute.name=morphTarget.name;array.push(copyVector3sArray(attribute,morphTarget.data))}buffergeometry.morphAttributes[name]=array}if(geometry.skinIndices.length>0){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;i<faces.length;i++){const face=faces[i];if(face.materialIndex!==materialIndex){materialIndex=face.materialIndex;if(group!==undefined){group.count=i*3-group.start;groups.push(group)}group={start:i*3,materialIndex:materialIndex}}}if(group!==undefined){group.count=i*3-group.start;groups.push(group)}this.groups=groups}fromGeometry(geometry){const faces=geometry.faces;const vertices=geometry.vertices;const faceVertexUvs=geometry.faceVertexUvs;const hasFaceVertexUv=faceVertexUvs[0]&&faceVertexUvs[0].length>0;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;i<morphTargetsLength;i++){morphTargetsPosition[i]={name:morphTargets[i].name,data:[]}}this.morphTargets.position=morphTargetsPosition}const morphNormals=geometry.morphNormals;const morphNormalsLength=morphNormals.length;let morphTargetsNormal;if(morphNormalsLength>0){morphTargetsNormal=[];for(let i=0;i<morphNormalsLength;i++){morphTargetsNormal[i]={name:morphNormals[i].name,data:[]}}this.morphTargets.normal=morphTargetsNormal}const skinIndices=geometry.skinIndices;const skinWeights=geometry.skinWeights;const hasSkinIndices=skinIndices.length===vertices.length;const hasSkinWeights=skinWeights.length===vertices.length;if(vertices.length>0&&faces.length===0){console.error("THREE.DirectGeometry: Faceless geometries are not supported.")}for(let i=0;i<faces.length;i++){const face=faces[i];this.vertices.push(vertices[face.a],vertices[face.b],vertices[face.c]);const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){this.normals.push(vertexNormals[0],vertexNormals[1],vertexNormals[2])}else{const normal=face.normal;this.normals.push(normal,normal,normal)}const vertexColors=face.vertexColors;if(vertexColors.length===3){this.colors.push(vertexColors[0],vertexColors[1],vertexColors[2])}else{const color=face.color;this.colors.push(color,color,color)}if(hasFaceVertexUv===true){const vertexUvs=faceVertexUvs[0][i];if(vertexUvs!==undefined){this.uvs.push(vertexUvs[0],vertexUvs[1],vertexUvs[2])}else{console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",i);this.uvs.push(new Vector2,new Vector2,new Vector2)}}if(hasFaceVertexUv2===true){const vertexUvs=faceVertexUvs[1][i];if(vertexUvs!==undefined){this.uvs2.push(vertexUvs[0],vertexUvs[1],vertexUvs[2])}else{console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",i);this.uvs2.push(new Vector2,new Vector2,new Vector2)}}for(let j=0;j<morphTargetsLength;j++){const morphTarget=morphTargets[j].vertices;morphTargetsPosition[j].data.push(morphTarget[face.a],morphTarget[face.b],morphTarget[face.c])}for(let j=0;j<morphNormalsLength;j++){const morphNormal=morphNormals[j].vertexNormals[i];morphTargetsNormal[j].data.push(morphNormal.a,morphNormal.b,morphNormal.c)}if(hasSkinIndices){this.skinIndices.push(skinIndices[face.a],skinIndices[face.b],skinIndices[face.c])}if(hasSkinWeights){this.skinWeights.push(skinWeights[face.a],skinWeights[face.b],skinWeights[face.c])}}this.computeGroups(geometry);this.verticesNeedUpdate=geometry.verticesNeedUpdate;this.normalsNeedUpdate=geometry.normalsNeedUpdate;this.colorsNeedUpdate=geometry.colorsNeedUpdate;this.uvsNeedUpdate=geometry.uvsNeedUpdate;this.groupsNeedUpdate=geometry.groupsNeedUpdate;if(geometry.boundingSphere!==null){this.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){this.boundingBox=geometry.boundingBox.clone()}return this}}function copyColorsArray(bufferAttribute,colors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=colors.length;i<l;i++){let color=colors[i];if(color===undefined){console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i);color=new Color}if(bufferAttribute.normalized){array[offset++]=normalize(color.r,array);array[offset++]=normalize(color.g,array);array[offset++]=normalize(color.b,array)}else{array[offset++]=color.r;array[offset++]=color.g;array[offset++]=color.b}}return bufferAttribute}function copyVector2sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i);vector=new Vector2}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array)}else{array[offset++]=vector.x;array[offset++]=vector.y}}return bufferAttribute}function copyVector3sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i);vector=new Vector3}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array);array[offset++]=normalize(vector.z,array)}else{array[offset++]=vector.x;array[offset++]=vector.y;array[offset++]=vector.z}}return bufferAttribute}function copyVector4sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i);vector=new Vector4}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array);array[offset++]=normalize(vector.z,array);array[offset++]=normalize(vector.w,array)}else{array[offset++]=vector.x;array[offset++]=vector.y;array[offset++]=vector.z;array[offset++]=vector.w}}return this}THREE.Geometry=Geometry});(function(){class WorkerPool{constructor(pool=4){this.pool=pool;this.queue=[];this.workers=[];this.workersResolve=[];this.workerStatus=0}_initWorker(workerId){if(!this.workers[workerId]){const worker=this.workerCreator();worker.addEventListener("message",this._onMessage.bind(this,workerId));this.workers[workerId]=worker}}_getIdleWorker(){for(let i=0;i<this.pool;i++)if(!(this.workerStatus&1<<i))return i;return-1}_onMessage(workerId,msg){const resolve=this.workersResolve[workerId];resolve&&resolve(msg);if(this.queue.length){const{resolve,msg,transfer}=this.queue.shift();this.workersResolve[workerId]=resolve;this.workers[workerId].postMessage(msg,transfer)}else{this.workerStatus^=1<<workerId}}setWorkerCreator(workerCreator){this.workerCreator=workerCreator}setWorkerLimit(pool){this.pool=pool}postMessage(msg,transfer){return new Promise(resolve=>{const workerId=this._getIdleWorker();if(workerId!==-1){this._initWorker(workerId);this.workerStatus|=1<<workerId;this.workersResolve[workerId]=resolve;this.workers[workerId].postMessage(msg,transfer)}else{this.queue.push({resolve,msg,transfer})}})}dispose(){this.workers.forEach(worker=>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&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}}const Oi=new Uint8Array([0]),Ti=[171,75,84,88,32,50,48,187,13,10,26,10];function Vi(t){return"undefined"!=typeof TextEncoder?new TextEncoder().encode(t):Buffer.from(t)}function Ei(t){return"undefined"!=typeof TextDecoder?new TextDecoder().decode(t):Buffer.from(t).toString("utf8")}function Fi(t){let e=0;for(const n of t)e+=n.byteLength;const n=new Uint8Array(e);let i=0;for(const e of t)n.set(new Uint8Array(e),i),i+=e.byteLength;return n}function Pi(t){const e=new Uint8Array(t.buffer,t.byteOffset,Ti.length);if(e[0]!==Ti[0]||e[1]!==Ti[1]||e[2]!==Ti[2]||e[3]!==Ti[3]||e[4]!==Ti[4]||e[5]!==Ti[5]||e[6]!==Ti[6]||e[7]!==Ti[7]||e[8]!==Ti[8]||e[9]!==Ti[9]||e[10]!==Ti[10]||e[11]!==Ti[11])throw new Error("Missing KTX 2.0 identifier.");const n=new Si,i=17*Uint32Array.BYTES_PER_ELEMENT,s=new Ii(t,Ti.length,i,!0);n.vkFormat=s._nextUint32(),n.typeSize=s._nextUint32(),n.pixelWidth=s._nextUint32(),n.pixelHeight=s._nextUint32(),n.pixelDepth=s._nextUint32(),n.layerCount=s._nextUint32(),n.faceCount=s._nextUint32();const a=s._nextUint32();n.supercompressionScheme=s._nextUint32();const r=s._nextUint32(),o=s._nextUint32(),l=s._nextUint32(),f=s._nextUint32(),U=s._nextUint64(),c=s._nextUint64(),h=new Ii(t,Ti.length+i,3*a*8,!0);for(let e=0;e<a;e++)n.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+h._nextUint64(),h._nextUint64()),uncompressedByteLength:h._nextUint64()});const _=new Ii(t,r,o,!0),p={vendorId:_._skip(4)._nextUint16(),descriptorType:_._nextUint16(),versionNumber:_._nextUint16(),descriptorBlockSize:_._nextUint16(),colorModel:_._nextUint8(),colorPrimaries:_._nextUint8(),transferFunction:_._nextUint8(),flags:_._nextUint8(),texelBlockDimension:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],bytesPlane:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],samples:[]},g=(p.descriptorBlockSize/4-6)/4;for(let t=0;t<g;t++){const e={bitOffset:_._nextUint16(),bitLength:_._nextUint8(),channelType:_._nextUint8(),samplePosition:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],sampleLower:-Infinity,sampleUpper:Infinity};64&e.channelType?(e.sampleLower=_._nextInt32(),e.sampleUpper=_._nextInt32()):(e.sampleLower=_._nextUint32(),e.sampleUpper=_._nextUint32()),p.samples[t]=e}n.dataFormatDescriptor.length=0,n.dataFormatDescriptor.push(p);const y=new Ii(t,l,f,!0);for(;y._offset<f;){const t=y._nextUint32(),e=y._scan(t),i=Ei(e),s=y._scan(t-e.byteLength);n.keyValue[i]=i.match(/^ktx/i)?Ei(s):s,y._offset%4&&y._skip(4-y._offset%4)}if(c<=0)return n;const x=new Ii(t,U,c,!0),u=x._nextUint16(),b=x._nextUint16(),d=x._nextUint32(),m=x._nextUint32(),w=x._nextUint32(),D=x._nextUint32(),B=[];for(let t=0;t<a;t++)B.push({imageFlags:x._nextUint32(),rgbSliceByteOffset:x._nextUint32(),rgbSliceByteLength:x._nextUint32(),alphaSliceByteOffset:x._nextUint32(),alphaSliceByteLength:x._nextUint32()});const L=U+x._offset,A=L+d,k=A+m,v=k+w,S=new Uint8Array(t.buffer,t.byteOffset+L,d),I=new Uint8Array(t.buffer,t.byteOffset+A,m),O=new Uint8Array(t.buffer,t.byteOffset+k,w),T=new Uint8Array(t.buffer,t.byteOffset+v,D);return n.globalData={endpointCount:u,selectorCount:b,imageDescs:B,endpointsData:S,selectorsData:I,tablesData:O,extendedData:T},n}function Ci(){return(Ci=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}const zi={keepWriter:!1};function Mi(t,e={}){e=Ci({},zi,e);let n=new ArrayBuffer(0);if(t.globalData){const e=new ArrayBuffer(20+5*t.globalData.imageDescs.length*4),i=new DataView(e);i.setUint16(0,t.globalData.endpointCount,!0),i.setUint16(2,t.globalData.selectorCount,!0),i.setUint32(4,t.globalData.endpointsData.byteLength,!0),i.setUint32(8,t.globalData.selectorsData.byteLength,!0),i.setUint32(12,t.globalData.tablesData.byteLength,!0),i.setUint32(16,t.globalData.extendedData.byteLength,!0);for(let e=0;e<t.globalData.imageDescs.length;e++){const n=t.globalData.imageDescs[e];i.setUint32(20+5*e*4+0,n.imageFlags,!0),i.setUint32(20+5*e*4+4,n.rgbSliceByteOffset,!0),i.setUint32(20+5*e*4+8,n.rgbSliceByteLength,!0),i.setUint32(20+5*e*4+12,n.alphaSliceByteOffset,!0),i.setUint32(20+5*e*4+16,n.alphaSliceByteLength,!0)}n=Fi([e,t.globalData.endpointsData,t.globalData.selectorsData,t.globalData.tablesData,t.globalData.extendedData])}const i=[];let s=t.keyValue;e.keepWriter||(s=Ci({},t.keyValue,{KTXwriter:"KTX-Parse v0.3.1"}));for(const t in s){const e=s[t],n=Vi(t),a="string"==typeof e?Vi(e):e,r=n.byteLength+1+a.byteLength+1,o=r%4?4-r%4:0;i.push(Fi([new Uint32Array([r]),n,Oi,a,Oi,new Uint8Array(o).fill(0)]))}const a=Fi(i);if(1!==t.dataFormatDescriptor.length||0!==t.dataFormatDescriptor[0].descriptorType)throw new Error("Only BASICFORMAT Data Format Descriptor output supported.");const r=t.dataFormatDescriptor[0],o=new ArrayBuffer(28+16*r.samples.length),l=new DataView(o),f=24+16*r.samples.length;if(l.setUint32(0,o.byteLength,!0),l.setUint16(4,r.vendorId,!0),l.setUint16(6,r.descriptorType,!0),l.setUint16(8,r.versionNumber,!0),l.setUint16(10,f,!0),l.setUint8(12,r.colorModel),l.setUint8(13,r.colorPrimaries),l.setUint8(14,r.transferFunction),l.setUint8(15,r.flags),!Array.isArray(r.texelBlockDimension))throw new Error("texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.");l.setUint8(16,r.texelBlockDimension[0]),l.setUint8(17,r.texelBlockDimension[1]),l.setUint8(18,r.texelBlockDimension[2]),l.setUint8(19,r.texelBlockDimension[3]);for(let t=0;t<8;t++)l.setUint8(20+t,r.bytesPlane[t]);for(let t=0;t<r.samples.length;t++){const e=r.samples[t],n=28+16*t;if(e.channelID)throw new Error("channelID has been renamed to channelType.");l.setUint16(n+0,e.bitOffset,!0),l.setUint8(n+2,e.bitLength),l.setUint8(n+3,e.channelType),l.setUint8(n+4,e.samplePosition[0]),l.setUint8(n+5,e.samplePosition[1]),l.setUint8(n+6,e.samplePosition[2]),l.setUint8(n+7,e.samplePosition[3]),64&e.channelType?(l.setInt32(n+8,e.sampleLower,!0),l.setInt32(n+12,e.sampleUpper,!0)):(l.setUint32(n+8,e.sampleLower,!0),l.setUint32(n+12,e.sampleUpper,!0))}const U=Ti.length+68+3*t.levels.length*8,c=U+o.byteLength;let h=n.byteLength>0?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;e<t.levels.length;e++){const n=t.levels[e];_.push(n.levelData),p.setBigUint64(24*e+0,BigInt(g),!0),p.setBigUint64(24*e+8,BigInt(n.levelData.byteLength),!0),p.setBigUint64(24*e+16,BigInt(n.uncompressedByteLength),!0),g+=n.levelData.byteLength}const y=new ArrayBuffer(68),x=new DataView(y);return x.setUint32(0,t.vkFormat,!0),x.setUint32(4,t.typeSize,!0),x.setUint32(8,t.pixelWidth,!0),x.setUint32(12,t.pixelHeight,!0),x.setUint32(16,t.pixelDepth,!0),x.setUint32(20,t.layerCount,!0),x.setUint32(24,t.faceCount,!0),x.setUint32(28,t.levels.length,!0),x.setUint32(32,t.supercompressionScheme,!0),x.setUint32(36,U,!0),x.setUint32(40,o.byteLength,!0),x.setUint32(44,c,!0),x.setUint32(48,a.byteLength,!0),x.setBigUint64(52,BigInt(n.byteLength>0?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<mipmaps.length;++i){buffers.push(mipmaps[i].data.buffer)}self.postMessage({type:"transcode",id:message.id,width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags},buffers)}catch(error){console.error(error);self.postMessage({type:"error",id:message.id,error:error.message})}});break;}});function init(wasmBinary){transcoderPending=new Promise(resolve=>{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<levels;mip++){const levelInfo=ktx2File.getImageLevelInfo(mip,0,0);const mipWidth=levelInfo.origWidth;const mipHeight=levelInfo.origHeight;const dst=new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip,0,0,transcoderFormat));const status=ktx2File.transcodeImage(dst,mip,0,0,transcoderFormat,0,-1,-1);if(!status){cleanup();throw new Error("THREE.KTX2Loader: .transcodeImage failed.")}mipmaps.push({data:dst,width:mipWidth,height:mipHeight})}cleanup();return{width,height,hasAlpha,mipmaps,format:engineFormat,dfdTransferFn,dfdFlags}}const FORMAT_OPTIONS=[{if:"astcSupported",basisFormat:[BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ASTC_4x4,TranscoderFormat.ASTC_4x4],engineFormat:[EngineFormat.RGBA_ASTC_4x4_Format,EngineFormat.RGBA_ASTC_4x4_Format],priorityETC1S:Infinity,priorityUASTC:1,needsPowerOfTwo:false},{if:"bptcSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.BC7_M5,TranscoderFormat.BC7_M5],engineFormat:[EngineFormat.RGBA_BPTC_Format,EngineFormat.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:false},{if:"dxtSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.BC1,TranscoderFormat.BC3],engineFormat:[EngineFormat.RGB_S3TC_DXT1_Format,EngineFormat.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:false},{if:"etc2Supported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ETC1,TranscoderFormat.ETC2],engineFormat:[EngineFormat.RGB_ETC2_Format,EngineFormat.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:false},{if:"etc1Supported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ETC1],engineFormat:[EngineFormat.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:false},{if:"pvrtcSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.PVRTC1_4_RGB,TranscoderFormat.PVRTC1_4_RGBA],engineFormat:[EngineFormat.RGB_PVRTC_4BPPV1_Format,EngineFormat.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:true}];const ETC1S_OPTIONS=FORMAT_OPTIONS.sort(function(a,b){return a.priorityETC1S-b.priorityETC1S});const UASTC_OPTIONS=FORMAT_OPTIONS.sort(function(a,b){return a.priorityUASTC-b.priorityUASTC});function getTranscoderFormat(basisFormat,width,height,hasAlpha){let transcoderFormat;let engineFormat;const options=basisFormat===BasisFormat.ETC1S?ETC1S_OPTIONS:UASTC_OPTIONS;for(let i=0;i<options.length;i++){const opt=options[i];if(!config[opt.if])continue;if(!opt.basisFormat.includes(basisFormat))continue;if(hasAlpha&&opt.transcoderFormat.length<2)continue;if(opt.needsPowerOfTwo&&!(isPowerOfTwo(width)&&isPowerOfTwo(height)))continue;transcoderFormat=opt.transcoderFormat[hasAlpha?1:0];engineFormat=opt.engineFormat[hasAlpha?1:0];return{transcoderFormat,engineFormat}}console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32.");transcoderFormat=TranscoderFormat.RGBA32;engineFormat=EngineFormat.RGBAFormat;return{transcoderFormat,engineFormat}}function isPowerOfTwo(value){if(value<=2)return true;return(value&value-1)===0&&value!==0}};const FORMAT_MAP={[VK_FORMAT_R32G32B32A32_SFLOAT]:RGBAFormat,[VK_FORMAT_R16G16B16A16_SFLOAT]:RGBAFormat,[VK_FORMAT_R8G8B8A8_UNORM]:RGBAFormat,[VK_FORMAT_R8G8B8A8_SRGB]:RGBAFormat,[VK_FORMAT_R32G32_SFLOAT]:RGFormat,[VK_FORMAT_R16G16_SFLOAT]:RGFormat,[VK_FORMAT_R8G8_UNORM]:RGFormat,[VK_FORMAT_R8G8_SRGB]:RGFormat,[VK_FORMAT_R32_SFLOAT]:RedFormat,[VK_FORMAT_R16_SFLOAT]:RedFormat,[VK_FORMAT_R8_SRGB]:RedFormat,[VK_FORMAT_R8_UNORM]:RedFormat};const TYPE_MAP={[VK_FORMAT_R32G32B32A32_SFLOAT]:FloatType,[VK_FORMAT_R16G16B16A16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8G8B8A8_UNORM]:UnsignedByteType,[VK_FORMAT_R8G8B8A8_SRGB]:UnsignedByteType,[VK_FORMAT_R32G32_SFLOAT]:FloatType,[VK_FORMAT_R16G16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8G8_UNORM]:UnsignedByteType,[VK_FORMAT_R8G8_SRGB]:UnsignedByteType,[VK_FORMAT_R32_SFLOAT]:FloatType,[VK_FORMAT_R16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8_SRGB]:UnsignedByteType,[VK_FORMAT_R8_UNORM]:UnsignedByteType};const ENCODING_MAP={[VK_FORMAT_R8G8B8A8_SRGB]:sRGBEncoding,[VK_FORMAT_R8G8_SRGB]:sRGBEncoding,[VK_FORMAT_R8_SRGB]:sRGBEncoding};async function createDataTexture(container){const{vkFormat,pixelWidth,pixelHeight,pixelDepth}=container;if(FORMAT_MAP[vkFormat]===undefined){throw new Error("THREE.KTX2Loader: Unsupported vkFormat.")}const level=container.levels[0];let levelData;let view;if(container.supercompressionScheme===KHR_SUPERCOMPRESSION_NONE){levelData=level.levelData}else if(container.supercompressionScheme===KHR_SUPERCOMPRESSION_ZSTD){if(!_zstd){_zstd=new Promise(async resolve=>{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=" ";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<this.pluginCallbacks.length;i++){const plugin=this.pluginCallbacks[i](parser);plugins[plugin.name]=plugin;extensions[plugin.name]=true}if(json.extensionsUsed){for(let i=0;i<json.extensionsUsed.length;++i){const extensionName=json.extensionsUsed[i];const extensionsRequired=json.extensionsRequired||[];switch(extensionName){case EXTENSIONS.KHR_MATERIALS_UNLIT:extensions[extensionName]=new GLTFMaterialsUnlitExtension;break;case EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:extensions[extensionName]=new GLTFMaterialsPbrSpecularGlossinessExtension;break;case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION:extensions[extensionName]=new GLTFDracoMeshCompressionExtension(json,this.dracoLoader);break;case EXTENSIONS.KHR_TEXTURE_TRANSFORM:extensions[extensionName]=new GLTFTextureTransformExtension;break;case EXTENSIONS.KHR_MESH_QUANTIZATION:extensions[extensionName]=new GLTFMeshQuantizationExtension;break;default:if(extensionsRequired.indexOf(extensionName)>=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<nodeLength;nodeIndex++){const nodeDef=nodeDefs[nodeIndex];if(nodeDef.extensions&&nodeDef.extensions[this.name]&&nodeDef.extensions[this.name].light!==undefined){parser._addNodeRef(this.cache,nodeDef.extensions[this.name].light)}}}_loadLight(lightIndex){const parser=this.parser;const cacheKey="light:"+lightIndex;let dependency=parser.cache.get(cacheKey);if(dependency)return dependency;const json=parser.json;const extensions=json.extensions&&json.extensions[this.name]||{};const lightDefs=extensions.lights||[];const lightDef=lightDefs[lightIndex];let lightNode;const color=new Color(16777215);if(lightDef.color!==undefined)color.fromArray(lightDef.color);const range=lightDef.range!==undefined?lightDef.range:0;switch(lightDef.type){case"directional":lightNode=new DirectionalLight(color);lightNode.target.position.set(0,0,-1);lightNode.add(lightNode.target);break;case"point":lightNode=new PointLight(color);lightNode.distance=range;break;case"spot":lightNode=new SpotLight(color);lightNode.distance=range;lightDef.spot=lightDef.spot||{};lightDef.spot.innerConeAngle=lightDef.spot.innerConeAngle!==undefined?lightDef.spot.innerConeAngle:0;lightDef.spot.outerConeAngle=lightDef.spot.outerConeAngle!==undefined?lightDef.spot.outerConeAngle:Math.PI/4;lightNode.angle=lightDef.spot.outerConeAngle;lightNode.penumbra=1-lightDef.spot.innerConeAngle/lightDef.spot.outerConeAngle;lightNode.target.position.set(0,0,-1);lightNode.add(lightNode.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+lightDef.type);}lightNode.position.set(0,0,0);lightNode.decay=2;if(lightDef.intensity!==undefined)lightNode.intensity=lightDef.intensity;lightNode.name=parser.createUniqueName(lightDef.name||"light_"+lightIndex);dependency=Promise.resolve(lightNode);parser.cache.add(cacheKey,dependency);return dependency}createNodeAttachment(nodeIndex){const self=this;const parser=this.parser;const json=parser.json;const nodeDef=json.nodes[nodeIndex];const lightDef=nodeDef.extensions&&nodeDef.extensions[this.name]||{};const lightIndex=lightDef.light;if(lightIndex===undefined)return null;return this._loadLight(lightIndex).then(function(light){return parser._getNodeRef(self.cache,lightIndex,light)})}}class GLTFMaterialsUnlitExtension{constructor(){this.name=EXTENSIONS.KHR_MATERIALS_UNLIT}getMaterialType(){return MeshBasicMaterial}extendParams(materialParams,materialDef,parser){const pending=[];materialParams.color=new Color(1,1,1);materialParams.opacity=1;const metallicRoughness=materialDef.pbrMetallicRoughness;if(metallicRoughness){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))}}return Promise.all(pending)}}class GLTFMaterialsEmissiveStrengthExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const emissiveStrength=materialDef.extensions[this.name].emissiveStrength;if(emissiveStrength!==undefined){materialParams.emissiveIntensity=emissiveStrength}return Promise.resolve()}}class GLTFMaterialsClearcoatExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_CLEARCOAT}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.clearcoatFactor!==undefined){materialParams.clearcoat=extension.clearcoatFactor}if(extension.clearcoatTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatMap",extension.clearcoatTexture))}if(extension.clearcoatRoughnessFactor!==undefined){materialParams.clearcoatRoughness=extension.clearcoatRoughnessFactor}if(extension.clearcoatRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatRoughnessMap",extension.clearcoatRoughnessTexture))}if(extension.clearcoatNormalTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatNormalMap",extension.clearcoatNormalTexture));if(extension.clearcoatNormalTexture.scale!==undefined){const scale=extension.clearcoatNormalTexture.scale;materialParams.clearcoatNormalScale=new Vector2(scale,scale)}}return Promise.all(pending)}}class GLTFMaterialsIridescenceExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_IRIDESCENCE}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.iridescenceFactor!==undefined){materialParams.iridescence=extension.iridescenceFactor}if(extension.iridescenceTexture!==undefined){pending.push(parser.assignTexture(materialParams,"iridescenceMap",extension.iridescenceTexture))}if(extension.iridescenceIor!==undefined){materialParams.iridescenceIOR=extension.iridescenceIor}if(materialParams.iridescenceThicknessRange===undefined){materialParams.iridescenceThicknessRange=[100,400]}if(extension.iridescenceThicknessMinimum!==undefined){materialParams.iridescenceThicknessRange[0]=extension.iridescenceThicknessMinimum}if(extension.iridescenceThicknessMaximum!==undefined){materialParams.iridescenceThicknessRange[1]=extension.iridescenceThicknessMaximum}if(extension.iridescenceThicknessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"iridescenceThicknessMap",extension.iridescenceThicknessTexture))}return Promise.all(pending)}}class GLTFMaterialsSheenExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_SHEEN}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];materialParams.sheenColor=new Color(0,0,0);materialParams.sheenRoughness=0;materialParams.sheen=1;const extension=materialDef.extensions[this.name];if(extension.sheenColorFactor!==undefined){materialParams.sheenColor.fromArray(extension.sheenColorFactor)}if(extension.sheenRoughnessFactor!==undefined){materialParams.sheenRoughness=extension.sheenRoughnessFactor}if(extension.sheenColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"sheenColorMap",extension.sheenColorTexture,sRGBEncoding))}if(extension.sheenRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"sheenRoughnessMap",extension.sheenRoughnessTexture))}return Promise.all(pending)}}class GLTFMaterialsTransmissionExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_TRANSMISSION}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.transmissionFactor!==undefined){materialParams.transmission=extension.transmissionFactor}if(extension.transmissionTexture!==undefined){pending.push(parser.assignTexture(materialParams,"transmissionMap",extension.transmissionTexture))}return Promise.all(pending)}}class GLTFMaterialsVolumeExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_VOLUME}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];materialParams.thickness=extension.thicknessFactor!==undefined?extension.thicknessFactor:0;if(extension.thicknessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"thicknessMap",extension.thicknessTexture))}materialParams.attenuationDistance=extension.attenuationDistance||Infinity;const colorArray=extension.attenuationColor||[1,1,1];materialParams.attenuationColor=new Color(colorArray[0],colorArray[1],colorArray[2]);return Promise.all(pending)}}class GLTFMaterialsIorExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_IOR}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const extension=materialDef.extensions[this.name];materialParams.ior=extension.ior!==undefined?extension.ior:1.5;return Promise.resolve()}}class GLTFMaterialsSpecularExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_SPECULAR}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];materialParams.specularIntensity=extension.specularFactor!==undefined?extension.specularFactor:1;if(extension.specularTexture!==undefined){pending.push(parser.assignTexture(materialParams,"specularIntensityMap",extension.specularTexture))}const colorArray=extension.specularColorFactor||[1,1,1];materialParams.specularColor=new Color(colorArray[0],colorArray[1],colorArray[2]);if(extension.specularColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"specularColorMap",extension.specularColorTexture,sRGBEncoding))}return Promise.all(pending)}}class GLTFTextureBasisUExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_TEXTURE_BASISU}loadTexture(textureIndex){const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[this.name]){return null}const extension=textureDef.extensions[this.name];const loader=parser.options.ktx2Loader;if(!loader){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=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<chunkContentsLength){const chunkLength=chunkView.getUint32(chunkIndex,true);chunkIndex+=4;const chunkType=chunkView.getUint32(chunkIndex,true);chunkIndex+=4;if(chunkType===BINARY_EXTENSION_CHUNK_TYPES.JSON){const contentArray=new Uint8Array(data,BINARY_EXTENSION_HEADER_LENGTH+chunkIndex,chunkLength);this.content=LoaderUtils.decodeText(contentArray)}else if(chunkType===BINARY_EXTENSION_CHUNK_TYPES.BIN){const byteOffset=BINARY_EXTENSION_HEADER_LENGTH+chunkIndex;this.body=data.slice(byteOffset,byteOffset+chunkLength)}chunkIndex+=chunkLength}if(this.content===null){throw new Error("THREE.GLTFLoader: JSON content not found.")}}}class GLTFDracoMeshCompressionExtension{constructor(json,dracoLoader){if(!dracoLoader){throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.")}this.name=EXTENSIONS.KHR_DRACO_MESH_COMPRESSION;this.json=json;this.dracoLoader=dracoLoader;this.dracoLoader.preload()}decodePrimitive(primitive,parser){const json=this.json;const dracoLoader=this.dracoLoader;const bufferViewIndex=primitive.extensions[this.name].bufferView;const gltfAttributeMap=primitive.extensions[this.name].attributes;const threeAttributeMap={};const attributeNormalizedMap={};const attributeTypeMap={};for(const attributeName in gltfAttributeMap){const threeAttributeName=ATTRIBUTES[attributeName]||attributeName.toLowerCase();threeAttributeMap[threeAttributeName]=gltfAttributeMap[attributeName]}for(const attributeName in primitive.attributes){const threeAttributeName=ATTRIBUTES[attributeName]||attributeName.toLowerCase();if(gltfAttributeMap[attributeName]!==undefined){const accessorDef=json.accessors[primitive.attributes[attributeName]];const componentType=WEBGL_COMPONENT_TYPES[accessorDef.componentType];attributeTypeMap[threeAttributeName]=componentType.name;attributeNormalizedMap[threeAttributeName]=accessorDef.normalized===true}}return parser.getDependency("bufferView",bufferViewIndex).then(function(bufferView){return new Promise(function(resolve){dracoLoader.decodeDracoFile(bufferView,function(geometry){for(const attributeName in geometry.attributes){const attribute=geometry.attributes[attributeName];const normalized=attributeNormalizedMap[attributeName];if(normalized!==undefined)attribute.normalized=normalized}resolve(geometry)},threeAttributeMap,attributeTypeMap)})})}}class GLTFTextureTransformExtension{constructor(){this.name=EXTENSIONS.KHR_TEXTURE_TRANSFORM}extendTexture(texture,transform){if(transform.texCoord!==undefined){console.warn("THREE.GLTFLoader: Custom UV sets in \""+this.name+"\" extension not yet supported.")}if(transform.offset===undefined&&transform.rotation===undefined&&transform.scale===undefined){return texture}texture=texture.clone();if(transform.offset!==undefined){texture.offset.fromArray(transform.offset)}if(transform.rotation!==undefined){texture.rotation=transform.rotation}if(transform.scale!==undefined){texture.repeat.fromArray(transform.scale)}texture.needsUpdate=true;return texture}}class GLTFMeshStandardSGMaterial extends MeshStandardMaterial{constructor(params){super();this.isGLTFSpecularGlossinessMaterial=true;const specularMapParsFragmentChunk=["#ifdef USE_SPECULARMAP","\tuniform sampler2D specularMap;","#endif"].join("\n");const glossinessMapParsFragmentChunk=["#ifdef USE_GLOSSINESSMAP","\tuniform sampler2D glossinessMap;","#endif"].join("\n");const specularMapFragmentChunk=["vec3 specularFactor = specular;","#ifdef USE_SPECULARMAP","\tvec4 texelSpecular = texture2D( specularMap, vUv );","\t// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture","\tspecularFactor *= texelSpecular.rgb;","#endif"].join("\n");const glossinessMapFragmentChunk=["float glossinessFactor = glossiness;","#ifdef USE_GLOSSINESSMAP","\tvec4 texelGlossiness = texture2D( glossinessMap, vUv );","\t// reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture","\tglossinessFactor *= texelGlossiness.a;","#endif"].join("\n");const lightPhysicalFragmentChunk=["PhysicalMaterial material;","material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );","vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );","material.roughness = max( 1.0 - glossinessFactor, 0.0525 ); // 0.0525 corresponds to the base mip of a 256 cubemap.","material.roughness += geometryRoughness;","material.roughness = min( material.roughness, 1.0 );","material.specularColor = specularFactor;"].join("\n");const uniforms={specular:{value:new Color().setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=uniforms;this.onBeforeCompile=function(shader){for(const uniformName in uniforms){shader.uniforms[uniformName]=uniforms[uniformName]}shader.fragmentShader=shader.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;").replace("uniform float metalness;","uniform float glossiness;").replace("#include <roughnessmap_pars_fragment>",specularMapParsFragmentChunk).replace("#include <metalnessmap_pars_fragment>",glossinessMapParsFragmentChunk).replace("#include <roughnessmap_fragment>",specularMapFragmentChunk).replace("#include <metalnessmap_fragment>",glossinessMapFragmentChunk).replace("#include <lights_physical_fragment>",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;i<il;i++){const target=targets[i];if(target.POSITION!==undefined)hasMorphPosition=true;if(target.NORMAL!==undefined)hasMorphNormal=true;if(target.COLOR_0!==undefined)hasMorphColor=true;if(hasMorphPosition&&hasMorphNormal&&hasMorphColor)break}if(!hasMorphPosition&&!hasMorphNormal&&!hasMorphColor)return Promise.resolve(geometry);const pendingPositionAccessors=[];const pendingNormalAccessors=[];const pendingColorAccessors=[];for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(hasMorphPosition){const pendingAccessor=target.POSITION!==undefined?parser.getDependency("accessor",target.POSITION):geometry.attributes.position;pendingPositionAccessors.push(pendingAccessor)}if(hasMorphNormal){const pendingAccessor=target.NORMAL!==undefined?parser.getDependency("accessor",target.NORMAL):geometry.attributes.normal;pendingNormalAccessors.push(pendingAccessor)}if(hasMorphColor){const pendingAccessor=target.COLOR_0!==undefined?parser.getDependency("accessor",target.COLOR_0):geometry.attributes.color;pendingColorAccessors.push(pendingAccessor)}}return Promise.all([Promise.all(pendingPositionAccessors),Promise.all(pendingNormalAccessors),Promise.all(pendingColorAccessors)]).then(function(accessors){const morphPositions=accessors[0];const morphNormals=accessors[1];const morphColors=accessors[2];if(hasMorphPosition)geometry.morphAttributes.position=morphPositions;if(hasMorphNormal)geometry.morphAttributes.normal=morphNormals;if(hasMorphColor)geometry.morphAttributes.color=morphColors;geometry.morphTargetsRelative=true;return geometry})}function updateMorphTargets(mesh,meshDef){mesh.updateMorphTargets();if(meshDef.weights!==undefined){for(let i=0,il=meshDef.weights.length;i<il;i++){mesh.morphTargetInfluences[i]=meshDef.weights[i]}}if(meshDef.extras&&Array.isArray(meshDef.extras.targetNames)){const targetNames=meshDef.extras.targetNames;if(mesh.morphTargetInfluences.length===targetNames.length){mesh.morphTargetDictionary={};for(let i=0,il=targetNames.length;i<il;i++){mesh.morphTargetDictionary[targetNames[i]]=i}}else{console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}}function createPrimitiveKey(primitiveDef){const dracoExtension=primitiveDef.extensions&&primitiveDef.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION];let geometryKey;if(dracoExtension){geometryKey="draco:"+dracoExtension.bufferView+":"+dracoExtension.indices+":"+createAttributesKey(dracoExtension.attributes)}else{geometryKey=primitiveDef.indices+":"+createAttributesKey(primitiveDef.attributes)+":"+primitiveDef.mode}return geometryKey}function createAttributesKey(attributes){let attributesKey="";const keys=Object.keys(attributes).sort();for(let i=0,il=keys.length;i<il;i++){attributesKey+=keys[i]+":"+attributes[keys[i]]+";"}return attributesKey}function getNormalizedComponentScale(constructor){switch(constructor){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");}}function getImageURIMimeType(uri){if(uri.search(/\.jpe?g($|\?)/i)>0||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<skinLength;skinIndex++){const joints=skinDefs[skinIndex].joints;for(let i=0,il=joints.length;i<il;i++){nodeDefs[joints[i]].isBone=true}}for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex<nodeLength;nodeIndex++){const nodeDef=nodeDefs[nodeIndex];if(nodeDef.mesh!==undefined){this._addNodeRef(this.meshCache,nodeDef.mesh);if(nodeDef.skin!==undefined){meshDefs[nodeDef.mesh].isSkinnedMesh=true}}if(nodeDef.camera!==undefined){this._addNodeRef(this.cameraCache,nodeDef.camera)}}}_addNodeRef(cache,index){if(index===undefined)return;if(cache.refs[index]===undefined){cache.refs[index]=cache.uses[index]=0}cache.refs[index]++}_getNodeRef(cache,index,object){if(cache.refs[index]<=1)return object;const ref=object.clone();const updateMappings=(original,clone)=>{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<extensions.length;i++){const result=func(extensions[i]);if(result)return result}return null}_invokeAll(func){const extensions=Object.values(this.plugins);extensions.unshift(this);const pending=[];for(let i=0;i<extensions.length;i++){const result=func(extensions[i]);if(result)pending.push(result)}return pending}getDependency(type,index){const cacheKey=type+":"+index;let dependency=this.cache.get(cacheKey);if(!dependency){switch(type){case"scene":dependency=this.loadScene(index);break;case"node":dependency=this.loadNode(index);break;case"mesh":dependency=this._invokeOne(function(ext){return ext.loadMesh&&ext.loadMesh(index)});break;case"accessor":dependency=this.loadAccessor(index);break;case"bufferView":dependency=this._invokeOne(function(ext){return ext.loadBufferView&&ext.loadBufferView(index)});break;case"buffer":dependency=this.loadBuffer(index);break;case"material":dependency=this._invokeOne(function(ext){return ext.loadMaterial&&ext.loadMaterial(index)});break;case"texture":dependency=this._invokeOne(function(ext){return ext.loadTexture&&ext.loadTexture(index)});break;case"skin":dependency=this.loadSkin(index);break;case"animation":dependency=this._invokeOne(function(ext){return ext.loadAnimation&&ext.loadAnimation(index)});break;case"camera":dependency=this.loadCamera(index);break;default:throw new Error("Unknown type: "+type);}this.cache.add(cacheKey,dependency)}return dependency}getDependencies(type){let dependencies=this.cache.get(type);if(!dependencies){const parser=this;const defs=this.json[type+(type==="mesh"?"es":"s")]||[];dependencies=Promise.all(defs.map(function(def,index){return parser.getDependency(type,index)}));this.cache.add(type,dependencies)}return dependencies}loadBuffer(bufferIndex){const bufferDef=this.json.buffers[bufferIndex];const loader=this.fileLoader;if(bufferDef.type&&bufferDef.type!=="arraybuffer"){throw new Error("THREE.GLTFLoader: "+bufferDef.type+" buffer type is not supported.")}if(bufferDef.uri===undefined&&bufferIndex===0){return Promise.resolve(this.extensions[EXTENSIONS.KHR_BINARY_GLTF].body)}const options=this.options;return new Promise(function(resolve,reject){loader.load(LoaderUtils.resolveURL(bufferDef.uri,options.path),resolve,undefined,function(){reject(new Error("THREE.GLTFLoader: Failed to load buffer \""+bufferDef.uri+"\"."))})})}loadBufferView(bufferViewIndex){const bufferViewDef=this.json.bufferViews[bufferViewIndex];return this.getDependency("buffer",bufferViewDef.buffer).then(function(buffer){const byteLength=bufferViewDef.byteLength||0;const byteOffset=bufferViewDef.byteOffset||0;return buffer.slice(byteOffset,byteOffset+byteLength)})}loadAccessor(accessorIndex){const parser=this;const json=this.json;const accessorDef=this.json.accessors[accessorIndex];if(accessorDef.bufferView===undefined&&accessorDef.sparse===undefined){return Promise.resolve(null)}const pendingBufferViews=[];if(accessorDef.bufferView!==undefined){pendingBufferViews.push(this.getDependency("bufferView",accessorDef.bufferView))}else{pendingBufferViews.push(null)}if(accessorDef.sparse!==undefined){pendingBufferViews.push(this.getDependency("bufferView",accessorDef.sparse.indices.bufferView));pendingBufferViews.push(this.getDependency("bufferView",accessorDef.sparse.values.bufferView))}return Promise.all(pendingBufferViews).then(function(bufferViews){const bufferView=bufferViews[0];const itemSize=WEBGL_TYPE_SIZES[accessorDef.type];const TypedArray=WEBGL_COMPONENT_TYPES[accessorDef.componentType];const elementBytes=TypedArray.BYTES_PER_ELEMENT;const itemBytes=elementBytes*itemSize;const byteOffset=accessorDef.byteOffset||0;const byteStride=accessorDef.bufferView!==undefined?json.bufferViews[accessorDef.bufferView].byteStride:undefined;const normalized=accessorDef.normalized===true;let array,bufferAttribute;if(byteStride&&byteStride!==itemBytes){const ibSlice=Math.floor(byteOffset/byteStride);const ibCacheKey="InterleavedBuffer:"+accessorDef.bufferView+":"+accessorDef.componentType+":"+ibSlice+":"+accessorDef.count;let ib=parser.cache.get(ibCacheKey);if(!ib){array=new TypedArray(bufferView,ibSlice*byteStride,accessorDef.count*byteStride/elementBytes);ib=new InterleavedBuffer(array,byteStride/elementBytes);parser.cache.add(ibCacheKey,ib)}bufferAttribute=new InterleavedBufferAttribute(ib,itemSize,byteOffset%byteStride/elementBytes,normalized)}else{if(bufferView===null){array=new TypedArray(accessorDef.count*itemSize)}else{array=new TypedArray(bufferView,byteOffset,accessorDef.count*itemSize)}bufferAttribute=new BufferAttribute(array,itemSize,normalized)}if(accessorDef.sparse!==undefined){const itemSizeIndices=WEBGL_TYPE_SIZES.SCALAR;const TypedArrayIndices=WEBGL_COMPONENT_TYPES[accessorDef.sparse.indices.componentType];const byteOffsetIndices=accessorDef.sparse.indices.byteOffset||0;const byteOffsetValues=accessorDef.sparse.values.byteOffset||0;const sparseIndices=new TypedArrayIndices(bufferViews[1],byteOffsetIndices,accessorDef.sparse.count*itemSizeIndices);const sparseValues=new TypedArray(bufferViews[2],byteOffsetValues,accessorDef.sparse.count*itemSize);if(bufferView!==null){bufferAttribute=new BufferAttribute(bufferAttribute.array.slice(),bufferAttribute.itemSize,bufferAttribute.normalized)}for(let i=0,il=sparseIndices.length;i<il;i++){const index=sparseIndices[i];bufferAttribute.setX(index,sparseValues[i*itemSize]);if(itemSize>=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;i<il;i++){const primitive=primitives[i];const cacheKey=createPrimitiveKey(primitive);const cached=cache[cacheKey];if(cached){pending.push(cached.promise)}else{let geometryPromise;if(primitive.extensions&&primitive.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]){geometryPromise=createDracoPrimitive(primitive)}else{geometryPromise=addPrimitiveAttributes(new BufferGeometry,primitive,parser)}cache[cacheKey]={primitive:primitive,promise:geometryPromise};pending.push(geometryPromise)}}return Promise.all(pending)}loadMesh(meshIndex){const parser=this;const json=this.json;const extensions=this.extensions;const meshDef=json.meshes[meshIndex];const primitives=meshDef.primitives;const pending=[];for(let i=0,il=primitives.length;i<il;i++){const material=primitives[i].material===undefined?createDefaultMaterial(this.cache):this.getDependency("material",primitives[i].material);pending.push(material)}pending.push(parser.loadGeometries(primitives));return Promise.all(pending).then(function(results){const materials=results.slice(0,results.length-1);const geometries=results[results.length-1];const meshes=[];for(let i=0,il=geometries.length;i<il;i++){const geometry=geometries[i];const primitive=primitives[i];let mesh;const material=materials[i];if(primitive.mode===WEBGL_CONSTANTS.TRIANGLES||primitive.mode===WEBGL_CONSTANTS.TRIANGLE_STRIP||primitive.mode===WEBGL_CONSTANTS.TRIANGLE_FAN||primitive.mode===undefined){mesh=meshDef.isSkinnedMesh===true?new SkinnedMesh(geometry,material):new Mesh(geometry,material);if(mesh.isSkinnedMesh===true&&!mesh.geometry.attributes.skinWeight.normalized){mesh.normalizeSkinWeights()}if(primitive.mode===WEBGL_CONSTANTS.TRIANGLE_STRIP){mesh.geometry=toTrianglesDrawMode(mesh.geometry,TriangleStripDrawMode)}else if(primitive.mode===WEBGL_CONSTANTS.TRIANGLE_FAN){mesh.geometry=toTrianglesDrawMode(mesh.geometry,TriangleFanDrawMode)}}else if(primitive.mode===WEBGL_CONSTANTS.LINES){mesh=new LineSegments(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.LINE_STRIP){mesh=new Line(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.LINE_LOOP){mesh=new LineLoop(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.POINTS){mesh=new Points(geometry,material)}else{throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+primitive.mode)}if(Object.keys(mesh.geometry.morphAttributes).length>0){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;i<il;i++){parser.associations.set(meshes[i],{meshes:meshIndex,primitives:i})}if(meshes.length===1){return meshes[0]}const group=new Group;parser.associations.set(group,{meshes:meshIndex});for(let i=0,il=meshes.length;i<il;i++){group.add(meshes[i])}return group})}loadCamera(cameraIndex){let camera;const cameraDef=this.json.cameras[cameraIndex];const params=cameraDef[cameraDef.type];if(!params){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}if(cameraDef.type==="perspective"){camera=new PerspectiveCamera(MathUtils.radToDeg(params.yfov),params.aspectRatio||1,params.znear||1,params.zfar||2e6)}else if(cameraDef.type==="orthographic"){camera=new OrthographicCamera(-params.xmag,params.xmag,params.ymag,-params.ymag,params.znear,params.zfar)}if(cameraDef.name)camera.name=this.createUniqueName(cameraDef.name);assignExtrasToUserData(camera,cameraDef);return Promise.resolve(camera)}loadSkin(skinIndex){const skinDef=this.json.skins[skinIndex];const skinEntry={joints:skinDef.joints};if(skinDef.inverseBindMatrices===undefined){return Promise.resolve(skinEntry)}return this.getDependency("accessor",skinDef.inverseBindMatrices).then(function(accessor){skinEntry.inverseBindMatrices=accessor;return skinEntry})}loadAnimation(animationIndex){const json=this.json;const animationDef=json.animations[animationIndex];const pendingNodes=[];const pendingInputAccessors=[];const pendingOutputAccessors=[];const pendingSamplers=[];const pendingTargets=[];for(let i=0,il=animationDef.channels.length;i<il;i++){const channel=animationDef.channels[i];const sampler=animationDef.samplers[channel.sampler];const target=channel.target;const name=target.node;const input=animationDef.parameters!==undefined?animationDef.parameters[sampler.input]:sampler.input;const output=animationDef.parameters!==undefined?animationDef.parameters[sampler.output]:sampler.output;pendingNodes.push(this.getDependency("node",name));pendingInputAccessors.push(this.getDependency("accessor",input));pendingOutputAccessors.push(this.getDependency("accessor",output));pendingSamplers.push(sampler);pendingTargets.push(target)}return Promise.all([Promise.all(pendingNodes),Promise.all(pendingInputAccessors),Promise.all(pendingOutputAccessors),Promise.all(pendingSamplers),Promise.all(pendingTargets)]).then(function(dependencies){const nodes=dependencies[0];const inputAccessors=dependencies[1];const outputAccessors=dependencies[2];const samplers=dependencies[3];const targets=dependencies[4];const tracks=[];for(let i=0,il=nodes.length;i<il;i++){const node=nodes[i];const inputAccessor=inputAccessors[i];const outputAccessor=outputAccessors[i];const sampler=samplers[i];const target=targets[i];if(node===undefined)continue;node.updateMatrix();let TypedKeyframeTrack;switch(PATH_PROPERTIES[target.path]){case PATH_PROPERTIES.weights:TypedKeyframeTrack=NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:TypedKeyframeTrack=QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:TypedKeyframeTrack=VectorKeyframeTrack;break;}const targetName=node.name?node.name:node.uuid;const interpolation=sampler.interpolation!==undefined?INTERPOLATION[sampler.interpolation]:InterpolateLinear;const targetNames=[];if(PATH_PROPERTIES[target.path]===PATH_PROPERTIES.weights){node.traverse(function(object){if(object.morphTargetInfluences){targetNames.push(object.name?object.name:object.uuid)}})}else{targetNames.push(targetName)}let outputArray=outputAccessor.array;if(outputAccessor.normalized){const scale=getNormalizedComponentScale(outputArray.constructor);const scaled=new Float32Array(outputArray.length);for(let j=0,jl=outputArray.length;j<jl;j++){scaled[j]=outputArray[j]*scale}outputArray=scaled}for(let j=0,jl=targetNames.length;j<jl;j++){const track=new TypedKeyframeTrack(targetNames[j]+"."+PATH_PROPERTIES[target.path],inputAccessor.array,outputArray,interpolation);if(sampler.interpolation==="CUBICSPLINE"){track.createInterpolant=function InterpolantFactoryMethodGLTFCubicSpline(result){const interpolantType=this instanceof QuaternionKeyframeTrack?GLTFCubicSplineQuaternionInterpolant:GLTFCubicSplineInterpolant;return new interpolantType(this.times,this.values,this.getValueSize()/3,result)};track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=true}tracks.push(track)}}const name=animationDef.name?animationDef.name:"animation_"+animationIndex;return new AnimationClip(name,undefined,tracks)})}createNodeMesh(nodeIndex){const json=this.json;const parser=this;const nodeDef=json.nodes[nodeIndex];if(nodeDef.mesh===undefined)return null;return parser.getDependency("mesh",nodeDef.mesh).then(function(mesh){const node=parser._getNodeRef(parser.meshCache,nodeDef.mesh,mesh);if(nodeDef.weights!==undefined){node.traverse(function(o){if(!o.isMesh)return;for(let i=0,il=nodeDef.weights.length;i<il;i++){o.morphTargetInfluences[i]=nodeDef.weights[i]}})}return node})}loadNode(nodeIndex){const json=this.json;const extensions=this.extensions;const parser=this;const nodeDef=json.nodes[nodeIndex];const nodeName=nodeDef.name?parser.createUniqueName(nodeDef.name):"";return function(){const pending=[];const meshPromise=parser._invokeOne(function(ext){return ext.createNodeMesh&&ext.createNodeMesh(nodeIndex)});if(meshPromise){pending.push(meshPromise)}if(nodeDef.camera!==undefined){pending.push(parser.getDependency("camera",nodeDef.camera).then(function(camera){return parser._getNodeRef(parser.cameraCache,nodeDef.camera,camera)}))}parser._invokeAll(function(ext){return ext.createNodeAttachment&&ext.createNodeAttachment(nodeIndex)}).forEach(function(promise){pending.push(promise)});return Promise.all(pending)}().then(function(objects){let node;if(nodeDef.isBone===true){node=new Bone}else if(objects.length>1){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<il;i++){node.add(objects[i])}}if(nodeDef.name){node.userData.name=nodeDef.name;node.name=nodeName}assignExtrasToUserData(node,nodeDef);if(nodeDef.extensions)addUnknownExtensionsToUserData(extensions,node,nodeDef);if(nodeDef.matrix!==undefined){const matrix=new Matrix4;matrix.fromArray(nodeDef.matrix);node.applyMatrix4(matrix)}else{if(nodeDef.translation!==undefined){node.position.fromArray(nodeDef.translation)}if(nodeDef.rotation!==undefined){node.quaternion.fromArray(nodeDef.rotation)}if(nodeDef.scale!==undefined){node.scale.fromArray(nodeDef.scale)}}if(!parser.associations.has(node)){parser.associations.set(node,{})}parser.associations.get(node).nodes=nodeIndex;return node})}loadScene(sceneIndex){const json=this.json;const extensions=this.extensions;const sceneDef=this.json.scenes[sceneIndex];const parser=this;const scene=new Group;if(sceneDef.name)scene.name=parser.createUniqueName(sceneDef.name);assignExtrasToUserData(scene,sceneDef);if(sceneDef.extensions)addUnknownExtensionsToUserData(extensions,scene,sceneDef);const nodeIds=sceneDef.nodes||[];const pending=[];for(let i=0,il=nodeIds.length;i<il;i++){pending.push(buildNodeHierarchy(nodeIds[i],scene,json,parser))}return Promise.all(pending).then(function(){const reduceAssociations=node=>{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;i<il;i++){pendingJoints.push(parser.getDependency("node",skinEntry.joints[i]))}return Promise.all(pendingJoints)}).then(function(jointNodes){node.traverse(function(mesh){if(!mesh.isMesh)return;const bones=[];const boneInverses=[];for(let j=0,jl=jointNodes.length;j<jl;j++){const jointNode=jointNodes[j];if(jointNode){bones.push(jointNode);const mat=new Matrix4;if(skinEntry.inverseBindMatrices!==undefined){mat.fromArray(skinEntry.inverseBindMatrices.array,j*16)}boneInverses.push(mat)}else{console.warn("THREE.GLTFLoader: Joint \"%s\" could not be found.",skinEntry.joints[j])}}mesh.bind(new Skeleton(bones,boneInverses),mesh.matrixWorld)});return node})}).then(function(node){parentObject.add(node);const pending=[];if(nodeDef.children){const children=nodeDef.children;for(let i=0,il=children.length;i<il;i++){const child=children[i];pending.push(buildNodeHierarchy(child,node,json,parser))}}return Promise.all(pending)})}function computeBounds(geometry,primitiveDef,parser){const attributes=primitiveDef.attributes;const box=new Box3;if(attributes.POSITION!==undefined){const accessor=parser.json.accessors[attributes.POSITION];const min=accessor.min;const max=accessor.max;if(min!==undefined&&max!==undefined){box.set(new Vector3(min[0],min[1],min[2]),new Vector3(max[0],max[1],max[2]));if(accessor.normalized){const boxScale=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);box.min.multiplyScalar(boxScale);box.max.multiplyScalar(boxScale)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else{return}const targets=primitiveDef.targets;if(targets!==undefined){const maxDisplacement=new Vector3;const vector=new Vector3;for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(target.POSITION!==undefined){const accessor=parser.json.accessors[target.POSITION];const min=accessor.min;const max=accessor.max;if(min!==undefined&&max!==undefined){vector.setX(Math.max(Math.abs(min[0]),Math.abs(max[0])));vector.setY(Math.max(Math.abs(min[1]),Math.abs(max[1])));vector.setZ(Math.max(Math.abs(min[2]),Math.abs(max[2])));if(accessor.normalized){const boxScale=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);vector.multiplyScalar(boxScale)}maxDisplacement.max(vector)}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}}box.expandByVector(maxDisplacement)}geometry.boundingBox=box;const sphere=new Sphere;box.getCenter(sphere.center);sphere.radius=box.min.distanceTo(box.max)/2;geometry.boundingSphere=sphere}function addPrimitiveAttributes(geometry,primitiveDef,parser){const attributes=primitiveDef.attributes;const pending=[];function assignAttributeAccessor(accessorIndex,attributeName){return parser.getDependency("accessor",accessorIndex).then(function(accessor){geometry.setAttribute(attributeName,accessor)})}for(const gltfAttributeName in attributes){const threeAttributeName=ATTRIBUTES[gltfAttributeName]||gltfAttributeName.toLowerCase();if(threeAttributeName in geometry.attributes)continue;pending.push(assignAttributeAccessor(attributes[gltfAttributeName],threeAttributeName))}if(primitiveDef.indices!==undefined&&!geometry.index){const accessor=parser.getDependency("accessor",primitiveDef.indices).then(function(accessor){geometry.setIndex(accessor)});pending.push(accessor)}assignExtrasToUserData(geometry,primitiveDef);computeBounds(geometry,primitiveDef,parser);return Promise.all(pending).then(function(){return primitiveDef.targets!==undefined?addMorphTargets(geometry,primitiveDef.targets,parser):geometry})}function toTrianglesDrawMode(geometry,drawMode){let index=geometry.getIndex();if(index===null){const indices=[];const position=geometry.getAttribute("position");if(position!==undefined){for(let i=0;i<position.count;i++){indices.push(i)}geometry.setIndex(indices);index=geometry.getIndex()}else{console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.");return geometry}}const numberOfTriangles=index.count-2;const newIndices=[];if(drawMode===TriangleFanDrawMode){for(let i=1;i<=numberOfTriangles;i++){newIndices.push(index.getX(0));newIndices.push(index.getX(i));newIndices.push(index.getX(i+1))}}else{for(let i=0;i<numberOfTriangles;i++){if(i%2===0){newIndices.push(index.getX(i));newIndices.push(index.getX(i+1));newIndices.push(index.getX(i+2))}else{newIndices.push(index.getX(i+2));newIndices.push(index.getX(i+1));newIndices.push(index.getX(i))}}}if(newIndices.length/3!==numberOfTriangles){console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.")}const newGeometry=geometry.clone();newGeometry.setIndex(newIndices);return newGeometry}THREE.GLTFLoader=GLTFLoader})()});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Object3D=THREE.Object3D;var deviceMax=Number.POSITIVE_INFINITY;var deviceMin=Number.NEGATIVE_INFINITY;class CSS3DObject extends Object3D{constructor(element){super();this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.cameraElement=document.createElement("div");this.containerElement.appendChild(this.cameraElement);this.cameraElement.style.transformStyle="preserve-3d";this.cameraElement.style.position="absolute";this.cameraElement.style.pointerEvents="none";this.element=element||document.createElement("div");this.cameraElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none";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.addEventListener("removed",function(){this.traverse(function(object){if(object.containerElement instanceof Element&&object.containerElement.parentNode!==null)object.containerElement.parentNode.removeChild(object.containerElement)})})}copy(source,recursive){super.copy(source,recursive);this.element=source.element.cloneNode(true);return this}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)}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=true;pv=pv.filter(function(p){return p.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)<pv.length&&Math.abs(y)<pv.length&&max<deviceMax&&min>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)<pv.length&&Math.abs(y)<pv.length&&max<deviceMax&&min>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<l;i++)renderObject(object.children[i],scene,camera)}function epsilon(value){return value<1e-10&&value>-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;index<object.vertices.length;index++){var vertex=object.vertices[index];var projectedVertex=object.projectedVertices[index];projectedVertex.copy(vertex);projectedVertex.applyMatrix4(object.matrixWorld);projectedVertex.applyMatrix4(camera.matrixWorldInverse);var z=projectedVertex.z;projectedVertex.applyMatrix4(camera.projectionMatrix);projectedVertex.z=z}}function setArray(){var a=arguments[0];for(var i=1;i<arguments.length;i++)a[i-1]=arguments[i];return a}function copyArray(t,s){for(var i=0;i<s.length;i++)t[i]=s[i];return t}function adjugate(m,out){setArray(out,m[4]*m[8]-m[5]*m[7],m[2]*m[7]-m[1]*m[8],m[1]*m[5]-m[2]*m[4],m[5]*m[6]-m[3]*m[8],m[0]*m[8]-m[2]*m[6],m[2]*m[3]-m[0]*m[5],m[3]*m[7]-m[4]*m[6],m[1]*m[6]-m[0]*m[7],m[0]*m[4]-m[1]*m[3])}function multmm(a,b,out){for(var i=0;i!=3;++i){for(var j=0;j!=3;++j){var cij=0;for(var k=0;k!=3;++k){cij+=a[3*i+k]*b[3*k+j]}out[3*i+j]=cij}}}function multmv(m,v,out){return setArray(out,m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2])}var m=new Array(9);var m2=new Array(9);var mAdj=new Array(9);var p=new Array(3);var v=new Array(3);var s=new Array(9);var d=new Array(9);var sAdj=new Array(9);var t=new Array(9);function basisToPoints(x1,y1,x2,y2,x3,y3,x4,y4,out){setArray(m,x1,x2,x3,y1,y2,y3,1,1,1);adjugate(m,mAdj);setArray(p,x4,y4,1);multmv(mAdj,p,v);setArray(m2,v[0],0,0,0,v[1],0,0,0,v[2]);return multmm(m,m2,out)}function general2DProjection(x1s,y1s,x1d,y1d,x2s,y2s,x2d,y2d,x3s,y3s,x3d,y3d,x4s,y4s,x4d,y4d,out){basisToPoints(x1s,y1s,x2s,y2s,x3s,y3s,x4s,y4s,s);basisToPoints(x1d,y1d,x2d,y2d,x3d,y3d,x4d,y4d,d);adjugate(s,sAdj);return multmm(d,sAdj,out)}function createQuadMatrix(w,h,x1,y1,x2,y2,x3,y3,x4,y4,out){general2DProjection(0,0,x1,y1,w,0,x2,y2,0,h,x3,y3,w,h,x4,y4,t);setArray(out,t[0]/t[8],t[3]/t[8],0,t[6]/t[8],t[1]/t[8],t[4]/t[8],0,t[7]/t[8],0,0,1,0,t[2]/t[8],t[5]/t[8],0,1)}});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var CubeReflectionMapping=THREE.CubeReflectionMapping,CubeRefractionMapping=THREE.CubeRefractionMapping,CubeUVReflectionMapping=THREE.CubeUVReflectionMapping,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,NoToneMapping=THREE.NoToneMapping,NoBlending=THREE.NoBlending,RGBAFormat=THREE.RGBAFormat,HalfFloatType=THREE.HalfFloatType,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Mesh=THREE.Mesh,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,ShaderMaterial=THREE.ShaderMaterial,Vector3=THREE.Vector3,Color=THREE.Color,WebGLRenderTarget=THREE.WebGLRenderTarget,MeshBasicMaterial=THREE.MeshBasicMaterial,BoxGeometry=THREE.BoxGeometry,BackSide=THREE.BackSide;const LOD_MIN=4;const EXTRA_LOD_SIGMA=[0.125,0.215,0.35,0.446,0.526,0.582];const MAX_SAMPLES=20;const _flatCamera=new OrthographicCamera;const _clearColor=new Color;let _oldTarget=null;const PHI=(1+Math.sqrt(5))/2;const INV_PHI=1/PHI;const _axisDirections=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,PHI,INV_PHI),new Vector3(0,PHI,-INV_PHI),new Vector3(INV_PHI,0,PHI),new Vector3(-INV_PHI,0,PHI),new Vector3(PHI,INV_PHI,0),new Vector3(-PHI,INV_PHI,0)];class PMREMGenerator{constructor(renderer){this._renderer=renderer;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(scene,sigma=0,near=0.1,far=100){_oldTarget=this._renderer.getRenderTarget();this._setSize(256);const cubeUVRenderTarget=this._allocateTargets();cubeUVRenderTarget.depthBuffer=true;this._sceneToCubeUV(scene,near,far,cubeUVRenderTarget);if(sigma>0){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;i<this._lodPlanes.length;i++){this._lodPlanes[i].dispose()}}_cleanup(outputTarget){this._renderer.setRenderTarget(_oldTarget);outputTarget.scissorTest=false;_setViewport(outputTarget,0,0,outputTarget.width,outputTarget.height)}_fromTexture(texture,renderTarget){if(texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping){this._setSize(texture.image.length===0?16:texture.image[0].width||texture.image[0].image.width)}else{this._setSize(texture.image.width/4)}_oldTarget=this._renderer.getRenderTarget();const cubeUVRenderTarget=renderTarget||this._allocateTargets();this._textureToCubeUV(texture,cubeUVRenderTarget);this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}_allocateTargets(){const width=3*Math.max(this._cubeSize,16*7);const height=4*this._cubeSize;const params={magFilter:LinearFilter,minFilter:LinearFilter,generateMipmaps:false,type:HalfFloatType,format:RGBAFormat,encoding:LinearEncoding,depthBuffer:false};const cubeUVRenderTarget=_createRenderTarget(width,height,params);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==width){if(this._pingPongRenderTarget!==null){this._dispose()}this._pingPongRenderTarget=_createRenderTarget(width,height,params);const{_lodMax}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=_createPlanes(_lodMax));this._blurMaterial=_getBlurShader(_lodMax,width,height)}return cubeUVRenderTarget}_compileMaterial(material){const tmpMesh=new Mesh(this._lodPlanes[0],material);this._renderer.compile(tmpMesh,_flatCamera)}_sceneToCubeUV(scene,near,far,cubeUVRenderTarget){const fov=90;const aspect=1;const cubeCamera=new PerspectiveCamera(fov,aspect,near,far);const upSign=[1,-1,1,1,1,1];const forwardSign=[1,1,1,-1,-1,-1];const renderer=this._renderer;const originalAutoClear=renderer.autoClear;const toneMapping=renderer.toneMapping;renderer.getClearColor(_clearColor);renderer.toneMapping=NoToneMapping;renderer.autoClear=false;const backgroundMaterial=new MeshBasicMaterial({name:"PMREM.Background",side:BackSide,depthWrite:false,depthTest:false});const backgroundBox=new Mesh(new BoxGeometry(),backgroundMaterial);let useSolidColor=false;const background=scene.background;if(background){if(background.isColor){backgroundMaterial.color.copy(background);scene.background=null;useSolidColor=true}}else{backgroundMaterial.color.copy(_clearColor);useSolidColor=true}for(let i=0;i<6;i++){const col=i%3;if(col===0){cubeCamera.up.set(0,upSign[i],0);cubeCamera.lookAt(forwardSign[i],0,0)}else if(col===1){cubeCamera.up.set(0,0,upSign[i]);cubeCamera.lookAt(0,forwardSign[i],0)}else{cubeCamera.up.set(0,upSign[i],0);cubeCamera.lookAt(0,0,forwardSign[i])}const size=this._cubeSize;_setViewport(cubeUVRenderTarget,col*size,i>2?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;i<this._lodPlanes.length;i++){const sigma=Math.sqrt(this._sigmas[i]*this._sigmas[i]-this._sigmas[i-1]*this._sigmas[i-1]);const poleAxis=_axisDirections[(i-1)%_axisDirections.length];this._blur(cubeUVRenderTarget,i-1,i,sigma,poleAxis)}renderer.autoClear=autoClear}_blur(cubeUVRenderTarget,lodIn,lodOut,sigma,poleAxis){const pingPongRenderTarget=this._pingPongRenderTarget;this._halfBlur(cubeUVRenderTarget,pingPongRenderTarget,lodIn,lodOut,sigma,"latitudinal",poleAxis);this._halfBlur(pingPongRenderTarget,cubeUVRenderTarget,lodOut,lodOut,sigma,"longitudinal",poleAxis)}_halfBlur(targetIn,targetOut,lodIn,lodOut,sigmaRadians,direction,poleAxis){const renderer=this._renderer;const blurMaterial=this._blurMaterial;if(direction!=="latitudinal"&&direction!=="longitudinal"){console.error("blur direction must be either latitudinal or longitudinal!")}const STANDARD_DEVIATIONS=3;const blurMesh=new Mesh(this._lodPlanes[lodOut],blurMaterial);const blurUniforms=blurMaterial.uniforms;const pixels=this._sizeLods[lodIn]-1;const radiansPerPixel=isFinite(sigmaRadians)?Math.PI/(2*pixels):2*Math.PI/(2*MAX_SAMPLES-1);const sigmaPixels=sigmaRadians/radiansPerPixel;const samples=isFinite(sigmaRadians)?1+Math.floor(STANDARD_DEVIATIONS*sigmaPixels):MAX_SAMPLES;if(samples>MAX_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<MAX_SAMPLES;++i){const x=i/sigmaPixels;const weight=Math.exp(-x*x/2);weights.push(weight);if(i===0){sum+=weight}else if(i<samples){sum+=2*weight}}for(let i=0;i<weights.length;i++){weights[i]=weights[i]/sum}blurUniforms["envMap"].value=targetIn.texture;blurUniforms["samples"].value=samples;blurUniforms["weights"].value=weights;blurUniforms["latitudinal"].value=direction==="latitudinal";if(poleAxis){blurUniforms["poleAxis"].value=poleAxis}const{_lodMax}=this;blurUniforms["dTheta"].value=radiansPerPixel;blurUniforms["mipInt"].value=_lodMax-lodIn;const outputSize=this._sizeLods[lodOut];const x=3*outputSize*(lodOut>_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;i<totalLods;i++){const sizeLod=Math.pow(2,lod);sizeLods.push(sizeLod);let sigma=1/sizeLod;if(i>lodMax-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;face<cubeFaces;face++){const x=face%3*2/3-1;const y=face>2?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 <cube_uv_reflection_fragment>

                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 <common>

                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 <common>

		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 <common>
		#include <packing>

		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<this.passes.length;i++){if(this.passes[i].enabled){return false}}return true}render(deltaTime){if(deltaTime===undefined){deltaTime=this.clock.getDelta()}const currentRenderTarget=this.renderer.getRenderTarget();let maskActive=false;for(let i=0,il=this.passes.length;i<il;i++){const pass=this.passes[i];if(pass.enabled===false)continue;pass.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(i);pass.render(this.renderer,this.writeBuffer,this.readBuffer,deltaTime,maskActive);if(pass.needsSwap){if(maskActive){const context=this.renderer.getContext();const stencil=this.renderer.state.buffers.stencil;stencil.setFunc(context.NOTEQUAL,1,4294967295);this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,deltaTime);stencil.setFunc(context.EQUAL,1,4294967295)}this.swapBuffers()}if(THREE.MaskPass!==undefined){if(pass instanceof THREE.MaskPass){maskActive=true}else if(pass instanceof THREE.ClearMaskPass){maskActive=false}}}this.renderer.setRenderTarget(currentRenderTarget)}reset(renderTarget){if(renderTarget===undefined){const size=this.renderer.getSize(new THREE.Vector2);this._pixelRatio=this.renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=this.renderTarget1.clone();renderTarget.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose();this.renderTarget2.dispose();this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2}setSize(width,height){this._width=width;this._height=height;const effectiveWidth=this._width*this._pixelRatio;const effectiveHeight=this._height*this._pixelRatio;this.renderTarget1.setSize(effectiveWidth,effectiveHeight);this.renderTarget2.setSize(effectiveWidth,effectiveHeight);for(let i=0;i<this.passes.length;i++){this.passes[i].setSize(effectiveWidth,effectiveHeight)}}setPixelRatio(pixelRatio){this._pixelRatio=pixelRatio;this.setSize(this._width,this._height)}}class Pass{constructor(){this.enabled=true;this.needsSwap=true;this.clear=false;this.renderToScreen=false}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}const _camera=new THREE.OrthographicCamera(-1,1,1,-1,0,1);const _geometry=new THREE.BufferGeometry;_geometry.setAttribute("position",new THREE.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));_geometry.setAttribute("uv",new THREE.Float32BufferAttribute([0,2,0,0,2,0],2));class FullScreenQuad{constructor(material){this._mesh=new THREE.Mesh(_geometry,material)}dispose(){this._mesh.geometry.dispose()}render(renderer){renderer.render(this._mesh,_camera)}get material(){return this._mesh.material}set material(value){this._mesh.material=value}}THREE.EffectComposer=EffectComposer;THREE.FullScreenQuad=FullScreenQuad;THREE.Pass=Pass})();(function(){const BlendShader={uniforms:{"tDiffuse1":{value:null},"tDiffuse2":{value:null},"mixRatio":{value:0.5},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;
		uniform float mixRatio;

		uniform sampler2D tDiffuse1;
		uniform sampler2D tDiffuse2;

		varying vec2 vUv;

		void main() {

			vec4 texel1 = texture2D( tDiffuse1, vUv );
			vec4 texel2 = texture2D( tDiffuse2, vUv );
			gl_FragColor = mix( texel1, texel2, mixRatio );
			gl_FragColor.a *= opacity;

		}`};THREE.BlendShader=BlendShader})();(function(){const CopyShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		void main() {

			gl_FragColor = texture2D( tDiffuse, vUv );
			gl_FragColor.a *= opacity;


		}`};THREE.CopyShader=CopyShader})();(function(){const FXAAShader={uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`
	precision highp float;

	uniform sampler2D tDiffuse;

	uniform vec2 resolution;

	varying vec2 vUv;

	// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)

	//----------------------------------------------------------------------------------
	// File:        es3-kepler\FXAA\assets\shaders/FXAA_DefaultES.frag
	// SDK Version: v3.00
	// Email:       gameworks@nvidia.com
	// Site:        http://developer.nvidia.com/
	//
	// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
	//
	// Redistribution and use in source and binary forms, with or without
	// modification, are permitted provided that the following conditions
	// are met:
	//  * Redistributions of source code must retain the above copyright
	//    notice, this list of conditions and the following disclaimer.
	//  * Redistributions in binary form must reproduce the above copyright
	//    notice, this list of conditions and the following disclaimer in the
	//    documentation and/or other materials provided with the distribution.
	//  * Neither the name of NVIDIA CORPORATION nor the names of its
	//    contributors may be used to endorse or promote products derived
	//    from this software without specific prior written permission.
	//
	// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
	// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
	// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
	// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
	// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
	// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
	// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
	// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
	// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
	// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
	//
	//----------------------------------------------------------------------------------

	#ifndef FXAA_DISCARD
			//
			// Only valid for PC OpenGL currently.
			// Probably will not work when FXAA_GREEN_AS_LUMA = 1.
			//
			// 1 = Use discard on pixels which don't need AA.
			//     For APIs which enable concurrent TEX+ROP from same surface.
			// 0 = Return unchanged color on pixels which don't need AA.
			//
			#define FXAA_DISCARD 0
	#endif

	/*--------------------------------------------------------------------------*/
	#define FxaaTexTop(t, p) texture2D(t, p, -100.0)
	#define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), -100.0)
	/*--------------------------------------------------------------------------*/

	#define NUM_SAMPLES 5

	// assumes colors have premultipliedAlpha, so that the calculated color contrast is scaled by alpha
	float contrast( vec4 a, vec4 b ) {
			vec4 diff = abs( a - b );
			return max( max( max( diff.r, diff.g ), diff.b ), diff.a );
	}

	/*============================================================================

									FXAA3 QUALITY - PC

	============================================================================*/

	/*--------------------------------------------------------------------------*/
	vec4 FxaaPixelShader(
			vec2 posM,
			sampler2D tex,
			vec2 fxaaQualityRcpFrame,
			float fxaaQualityEdgeThreshold,
			float fxaaQualityinvEdgeThreshold
	) {
			vec4 rgbaM = FxaaTexTop(tex, posM);
			vec4 rgbaS = FxaaTexOff(tex, posM, vec2( 0.0, 1.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaE = FxaaTexOff(tex, posM, vec2( 1.0, 0.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaN = FxaaTexOff(tex, posM, vec2( 0.0,-1.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaW = FxaaTexOff(tex, posM, vec2(-1.0, 0.0), fxaaQualityRcpFrame.xy);
			// . S .
			// W M E
			// . N .

			bool earlyExit = max( max( max(
					contrast( rgbaM, rgbaN ),
					contrast( rgbaM, rgbaS ) ),
					contrast( rgbaM, rgbaE ) ),
					contrast( rgbaM, rgbaW ) )
					< fxaaQualityEdgeThreshold;
			// . 0 .
			// 0 0 0
			// . 0 .

			#if (FXAA_DISCARD == 1)
					if(earlyExit) FxaaDiscard;
			#else
					if(earlyExit) return rgbaM;
			#endif

			float contrastN = contrast( rgbaM, rgbaN );
			float contrastS = contrast( rgbaM, rgbaS );
			float contrastE = contrast( rgbaM, rgbaE );
			float contrastW = contrast( rgbaM, rgbaW );

			float relativeVContrast = ( contrastN + contrastS ) - ( contrastE + contrastW );
			relativeVContrast *= fxaaQualityinvEdgeThreshold;

			bool horzSpan = relativeVContrast > 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 <common>

		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 <packing>

		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, "}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<jitterOffsets.length;i++){const jitterOffset=jitterOffsets[i];if(this.camera.setViewOffset){this.camera.setViewOffset(viewOffset.fullWidth,viewOffset.fullHeight,viewOffset.offsetX+jitterOffset[0]*0.0625,viewOffset.offsetY+jitterOffset[1]*0.0625,viewOffset.width,viewOffset.height)}let sampleWeight=baseSampleWeight;if(this.unbiased){const uniformCenteredDistribution=-0.5+(i+0.5)/jitterOffsets.length;sampleWeight+=roundingRange*uniformCenteredDistribution}this.copyUniforms["opacity"].value=sampleWeight;renderer.setClearColor(this.clearColor,this.clearAlpha);renderer.setRenderTarget(this.sampleRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(this.renderToScreen?null:writeBuffer);if(i===0){renderer.setClearColor(0,0);renderer.clear()}this.fsQuad.render(renderer)}if(this.camera.setViewOffset&&originalViewOffset.enabled){this.camera.setViewOffset(originalViewOffset.fullWidth,originalViewOffset.fullHeight,originalViewOffset.offsetX,originalViewOffset.offsetY,originalViewOffset.width,originalViewOffset.height)}else if(this.camera.clearViewOffset){this.camera.clearViewOffset()}renderer.autoClear=autoClear;renderer.setClearColor(this._oldClearColor,oldClearAlpha)}}const _JitterVectors=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]];THREE.SSAARenderPass=SSAARenderPass})();(function(){const UnpackDepthRGBAShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		#include <packing>

		void main() {

			float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) );
			gl_FragColor = vec4( vec3( depth ), opacity );

		}`};THREE.UnpackDepthRGBAShader=UnpackDepthRGBAShader})();

})(); } catch (e) { console.log(e.message, e.stack); throw e; };