(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)}}})();!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("\\\u000c"),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()||0.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||0.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-0.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)-0.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 0.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 h(a){throw a;}var l=void 0,m=!0,r=null,B=!1;function G(){return function(){}}function R(a){return function(b){this[a]=b}}function S(a){return function(){return this[a]}}function T(a){return function(){return a}}
(function(){function a(a){this.ho=a;this.jr=r;this.Ec={}}function b(){this.$l={};this.$l[b.SCRIPT_URL]=[];this.$l[b.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.$l[b.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.$l[b.HLS_URL]="lib/Hls.js";this.$l[b.vba]="lib/basis/";this.$l[b.CURSORS_DIR_URL]="lib/cursors";this.$l[b.SERVICE_WORKER_URL]="tdvplayersw.js";this.$l[b.BACKGROUND_PRELOAD_ENABLED]=l}function e(){this.nL=[];this.sU=[];this.jIa=[];this.wP=r}function d(a){return"[object Array]"==Object.prototype.toString.call(a)}
function g(a){return 0<=i.search(a.toLowerCase())}var c=window.TDV=window.TDV||{},i=navigator.userAgent.toLowerCase();e.prototype.getVersion=e.prototype.Ura=function(){return{MAJOR:"0",MINOR:"1778"}};e.prototype.getClassByName=e.prototype.NVa=G();e.prototype.Vla=function(){if(this.wP)for(;0<this.nL.length;){var a=this.nL[0];this.nL=this.nL.slice(1);this.sU.push(a);this.oCa(a)}};e.prototype.kja=function(a){var b=document.createElement("a");b.href=a;return b.href};e.prototype.yEa=
function(){var a=document.currentScript;a||(a=document.getElementsByTagName("head")[0].getElementsByTagName("script"),a=a[a.length-1]);return this.kja(a.src)};e.prototype.oCa=function(a){var c=this,f=a.ho.get(b.SELECTED_SCRIPT_URL);setTimeout(function(){var b=document.createElement("script");b.type="text/javascript";b.src=f;document.getElementsByTagName("head")[0].appendChild(b);c.wP.bUa(a)},1)};e.prototype.defineScript=e.prototype.FVa=function(a){for(var c=[],f=this.yEa(),i=0;i<this.sU.length;i++){var g=
this.sU[i],d=this.kja(g.ho.get(b.SELECTED_SCRIPT_URL));d==f?(g.ho.set(b.SCRIPT_DATA,a),g.$Sa(new this.wP(g,g.ho)),this.jIa.push(g)):c.push(d)}this.sU=c};e.prototype.create=e.prototype.create=function(a){var f=a.get(b.SCRIPT_URL),f=d(f)?this.bJa(f):"string"===typeof f?f:"script.js";a.set(b.SELECTED_SCRIPT_URL,f);a=new c.Ica(a);this.nL.push(a);this.Vla();return a};e.prototype.setPlayerClass=e.prototype.ZSa=function(a){this.wP=a;this.Vla();this.trigger({name:"classesReady",source:this})};e.prototype.bind=
e.prototype.bind=function(a,b,c,f){this.Ec=this.Ec||{};this.Ec[a]=this.Ec[a]||[];this.Ec[a].push({handler:b,context:c,immediate:f||B})};e.prototype.unbind=e.prototype.unbind=function(a,b,c,f){this.Ec&&a in this.Ec&&(this.Ec[a]=this.Ec[a].filter(function(a){return a.handler!=b||a.context!=c||a.immediate!=f}))};e.prototype.trigger=function(a){this.Ec&&a.name in this.Ec&&(this.ew(a,m),setTimeout(function(){this.ew(a,B)}.bind(this),0))};e.prototype.ew=function(a,b){a.unbindCurrentHandler=G().bind(this);
for(var c=this.Ec[a.name],f=0;f<c.length;f++)if(c[f].immediate==b)try{c[f].handler.call(c[f].context||window,a)}catch(i){setTimeout(function(){h(i)},0)}};e.prototype.getOrientation=e.prototype.Xr=function(){var a=screen.orientation&&screen.orientation.type||window.orientation;return"portrait-primary"==a||"portrait-secondary"==a||0===a||180==a?c.$a.oZ:"landscape-primary"==a||"landscape-secondary"==a||90==a||-90==a?c.$a.nZ:window.innerWidth<window.innerHeight?c.$a.oZ:c.$a.nZ};e.prototype.bJa=function(a){if(0<
a.length){for(var b=0;b<a.length;b++){var c=a[b];if(d(c)){if(this.loa(c[0]))return c[1]}else if("string"===typeof c)return c}return a[0][1]}return"script.js"};e.prototype.loa=function(a){if("string"===typeof a){var b=a.match(/^\s*default\s*$/);if(b)return m;if(b=a.match(/^\s*os\s*=\s*(\w+)\s*$/))return this.Xd==b[1].toLowerCase();if(b=a.match(/^\s*browser\s*=\s*(\w+)\s*$/))return this.browser==b[1].toLowerCase();if(b=a.match(/^\s*device\s*=\s*(\w+)\s*$/))return this.ly==b[1].toLowerCase();if(b=a.match(/^\s*screen_size\s*(<|>|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){var a=
parseInt(b[2]),c=parseInt(b[3]),f;switch(b[1]){case "<":f=function(a,b){return a<b};break;case ">":f=function(a,b){return a>b};break;case "=":f=function(a,b){return a==b};break;case "<=":f=function(a,b){return a<=b};break;case ">=":f=function(a,b){return a>=b}}return f(screen.width,a)&&f(screen.height,c)||this.O$&&f(screen.width,c)&&f(screen.height,a)}return B}if(d(a)){for(b=0;b<a.length;b++)if(!this.loa(a[b]))return B;return m}return B};e.prototype.ORIENTATION_LANDSCAPE=e.prototype.nZ="landscape";
e.prototype.ORIENTATION_PORTRAIT=e.prototype.oZ="portrait";e.prototype.OS_IOS=e.prototype.kP="ios";e.prototype.OS_ANDROID=e.prototype.pZ="android";e.prototype.OS_WINDOWS=e.prototype.yca="windows";e.prototype.OS_WINDOWS_PHONE=e.prototype.tZ="windows_phone";e.prototype.OS_MACOSX=e.prototype.qZ="osx";e.prototype.OS_LINUX=e.prototype.xca="linux";e.prototype.OS_QNX=e.prototype.sZ="qnx";e.prototype.OS_OTHER=e.prototype.rZ="other";e.prototype.BROWSER_TYPE_WEBKIT=e.prototype.RH="webkit";e.prototype.BROWSER_TYPE_OPERA=
e.prototype.lY="opera";e.prototype.BROWSER_TYPE_MSIE=e.prototype.kY="msie";e.prototype.BROWSER_TYPE_MOZILLA=e.prototype.jY="mozilla";e.prototype.BROWSER_TYPE_OTHER=e.prototype.mY="other";e.prototype.BROWSER_SAFARI_IOS=e.prototype.Lh="safari_ios";e.prototype.BROWSER_OPERA=e.prototype.TO="opera";e.prototype.BROWSER_SAFARI=e.prototype.Hl="safari";e.prototype.BROWSER_CHROME=e.prototype.rk="chrome";e.prototype.BROWSER_EDGE=e.prototype.SC="edge";e.prototype.BROWSER_MSIE=e.prototype.wv="msie";e.prototype.BROWSER_ANDROID=
e.prototype.NH="android";e.prototype.BROWSER_MOZILLA=e.prototype.Jy="mozilla";e.prototype.BROWSER_OTHER=e.prototype.hY="other";e.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET=e.prototype.QH="samsunginternet";e.prototype.BROWSER_SUBTYPE_OCULUS_BROWSER=e.prototype.jq="oculusbrowser";e.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET_FOR_GEAR_VR=e.prototype.XO="samsunginternetgearvr";e.prototype.BROWSER_SUBTYPE_MI_BROWSER=e.prototype.iY="mibrowser";e.prototype.BROWSER_SUBTYPE_CHROME_IOS=e.prototype.UO="chromeios";
e.prototype.BROWSER_SUBTYPE_SAFARI_IOS=e.prototype.OH="safari_ios";e.prototype.BROWSER_SUBTYPE_CHROME_WEBVIEW=e.prototype.TC="chrome_webview";e.prototype.BROWSER_SUBTYPE_SAFARI_WEBVIEW=e.prototype.PH="safari_webview";e.prototype.BROWSER_SUBTYPE_TOUR_LAUNCHER=e.prototype.Ky="tour_launcher";e.prototype.BROWSER_SUBTYPE_CHROMIUM_EDGE=e.prototype.TC="chromium_edge";e.prototype.BROWSER_SUBTYPE_FIREFOX_REALITY=e.prototype.UC="firefox_reality";e.prototype.BROWSER_SUBTYPE_VR_APP=e.prototype.xv="vrapp";e.prototype.BROWSER_SUBTYPE_XR_APP=
e.prototype.Ly="xrapp";e.prototype.BROWSER_SUBTYPE_FACEBOOK_IOS_WEBVIEW=e.prototype.VO="facebook_ios_webview";e.prototype.BROWSER_SUBTYPE_OTHER=e.prototype.WO="other";e.prototype.BROWSER_VERSION_UNKNOWN=e.prototype.nY=-1;e.prototype.DEVICE_IPHONE=e.prototype.qY="iphone";e.prototype.DEVICE_IPAD=e.prototype.YC="ipad";e.prototype.DEVICE_IPOD=e.prototype.rY="ipod";e.prototype.DEVICE_OTHER=e.prototype.sY="other";e.prototype.os=e.prototype.Xd=g("iphone")||g("ipad")||g("ipod")?e.prototype.kP:g("qnx")?e.prototype.sZ:
g("android")||g("oculusbrowser")&&g("linux")?e.prototype.pZ:g("windows phone")?e.prototype.tZ:g("windows")?e.prototype.yca:g("mac_powerpc")?e.prototype.qZ:g("macintosh")?1<navigator.maxTouchPoints?e.prototype.kP:e.prototype.qZ:g("linux")||g("x11")?e.prototype.xca:e.prototype.rZ;e.prototype.browser=e.prototype.browser=g("ipad")||g("iphone")||g("ipod")||g("macintosh")&&1<navigator.maxTouchPoints?e.prototype.Lh:g("opera")?e.prototype.TO:g("edge")?e.prototype.SC:g("chrome")||g("crmo")?e.prototype.rk:
g("android")?e.prototype.NH:g("safari")?e.prototype.Hl:g("trident")||g("msie")?e.prototype.wv:!g("compatible")&&g("mozilla")?e.prototype.Jy:e.prototype.hY;e.prototype.browserType=e.prototype.HG=e.prototype.browser==e.prototype.Lh||e.prototype.browser==e.prototype.rk||e.prototype.browser==e.prototype.NH||e.prototype.browser==e.prototype.Hl||g("webkit")?e.prototype.RH:e.prototype.browser==e.prototype.TO||g("opera")?e.prototype.lY:g("trident")||g("msie")?e.prototype.kY:!g("compatible")&&g("mozilla")?
e.prototype.jY:e.prototype.mY;e.prototype.browserSubtype=e.prototype.ad=window.location.hash&&0<=window.location.hash.indexOf("xrapp")?e.prototype.Ly:window.location.hash&&0<=window.location.hash.indexOf("vrapp")?e.prototype.xv:g("oculusbrowser")?e.prototype.jq:g("xiaomi")||g("miui")?e.prototype.iY:g("samsungbrowser")&&g("android")?g("mobile vr")?e.prototype.XO:e.prototype.QH:g("ipad")||g("iphone")||g("ipod")?g("crios")?e.prototype.UO:g("fban")||g("fbav")?e.prototype.VO:g("safari")&&g("version")&&
!navigator.sWa?e.prototype.OH:e.prototype.PH:g("electron")?e.prototype.Ky:g("chrome")&&g("wv")?e.prototype.TC:g("edg/")?e.prototype.wba:!g("compatible")&&g("mozilla")&&g("mobile vr")?e.prototype.UC:e.prototype.WO;e.prototype.browserVersion=e.prototype.wqa=function(){if(e.prototype.browser==e.prototype.wv){var a=i.match(/MSIE ([0-9]{1,}[.0-9]{0,})/);if(a!=r)return parseFloat(a[1]);a=i.match(/Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/);if(a!=r)return parseFloat(a[1])}return e.prototype.nY}();e.prototype.device=
e.prototype.ly=g("ipad")||g("macintosh")&&1<navigator.maxTouchPoints?e.prototype.YC:g("iphone")?e.prototype.qY:g("ipod")?e.prototype.rY:e.prototype.sY;var f;a:{switch(e.prototype.Xd){case e.prototype.pZ:case e.prototype.kP:case e.prototype.tZ:case e.prototype.sZ:f=m;break a}f=B}e.prototype.mobile=e.prototype.O$=f;c.PlayerAPI=c.$a=new e;b.prototype.append=b.prototype.append=function(a,c,f){a==b.SCRIPT_URL&&("undefined"==typeof f&&(f=c,c="default"),c=[c,f]);d(this.$l[a])||(this.$l[a]=[]);this.$l[a].push(c)};
b.prototype.set=b.prototype.set=function(a,b){this.$l[a]=b};b.prototype.get=b.prototype.get=function(a){return this.$l[a]};b.SCRIPT_URL=b.SCRIPT_URL="ScriptURL";b.SCRIPT_DATA=b.SCRIPT_DATA="ScriptData";b.FLASH_EXPRESS_INSTALLER_URL=b.FLASH_EXPRESS_INSTALLER_URL="FlashExpressInstallerURL";b.FLASH_AUDIO_PLAYER_URL=b.FLASH_AUDIO_PLAYER_URL="FlashAudioPlayerURL";b.FLASH_VIDEO_PLAYER_URL=b.FLASH_VIDEO_PLAYER_URL="FlashVideoPlayerURL";b.FLASH_PANORAMA_PLAYER_URL=b.FLASH_PANORAMA_PLAYER_URL="FlashPanoramaPlayerURL";
b.THREE_JS_WEBGL_URL=b.THREE_JS_WEBGL_URL="ThreeJSWebGLURL";b.WEBVR_POLYFILL_URL=b.WEBVR_POLYFILL_URL="WebVRPolyfillURL";b.CAPTURA_VIEWER_URL=b.CAPTURA_VIEWER_URL="CapturaViewerURL";b.DASH_URL=b.DASH_URL="DashURL";b.HLS_URL=b.HLS_URL="HlsURL";b.BASIS_URL=b.vba="BasisURL";b.CONTAINER=b.CONTAINER="Container";b.SELECTED_SCRIPT_URL=b.SELECTED_SCRIPT_URL="SelectedScriptURL";b.BASE_DIR_URL=b.BASE_DIR_URL="BaseDirURL";b.QUERY_STRING_PARAMETERS=b.QUERY_STRING_PARAMETERS="QueryStringParameters";b.CURSORS_DIR_URL=
b.CURSORS_DIR_URL="CursorsDirURL";b.BACKGROUND_PRELOAD_ENABLED=b.BACKGROUND_PRELOAD_ENABLED="BackgroundPreloadEnabled";b.ACTIVE_VIDEO_ELEMENT=b.ACTIVE_VIDEO_ELEMENT="ActiveVideoElement";b.SERVICE_WORKER_URL=b.SERVICE_WORKER_URL="ServiceWorkerURL";b.PINCH_TO_ZOOM_ENABLED=b.yxa="PinchToZoomEnabled";c.PlayerSettings=c.PlayerSettings=b;c.PlayerEvent=c.nP=function(a,b,c,f){this.name=a;this.data=this.originalEvent=b;this.sourceClassName=c[c.length-1];this.sourceClassPath=c;this.sourceId=f};a.prototype.$Sa=
R("jr");a.prototype["delete"]=function(){this.jr&&(this.jr.clear(),this.jr=r)};a.prototype.getById=a.prototype.bC=function(a){return this.jr?this.jr.JPa(a):r};a.prototype.getByClassName=a.prototype.sj=function(a){return this.jr?this.jr.sj(a):[]};a.prototype.createInstance=a.prototype.Sp=function(a){return this.jr.Sp(a)};a.prototype.disposeInstance=a.prototype.OG=function(a){return this.jr.OG(a)};a.prototype.bind=a.prototype.bind=function(a,b,c,f){var i=a.split(":"),a=i[0],i=1<i.length?i[1]:"*";this.Ec[a]=
this.Ec[a]||{};this.Ec[a][i]=this.Ec[a][i]||[];this.Ec[a][i].push({handler:b,context:c,immediate:f});return this};a.prototype.unbind=a.prototype.unbind=function(a,b,c,f){var i=a.split(":"),a=i[0],i=1<i.length?i[1]:"*";if(a in this.Ec&&i in this.Ec[a]){for(var g=[],d=this.Ec[a][i],e=0;e<d.length;e++){var u=d[e];(u.handler!=b||u.context!=c||u.immediate!=f)&&g.push(u)}this.Ec[a][i]=g}};a.prototype.bindOnObject=a.prototype.wVa=function(a,b,c,f,i){return this.bind(b+":"+this.h2(a),c,f,i)};a.prototype.unbindOnObject=
a.prototype.AWa=function(a,b,c,f,i){return this.unbind(b+":"+this.h2(a),c,f,i)};a.prototype.bindOnObjectsOf=a.prototype.xVa=function(a,b,c,f,i){return this.bind(b+":"+this.W1(a),c,f,i)};a.prototype.unbindOnObjectsOf=a.prototype.BWa=function(a,b,c,f,i){return this.unbind(b+":"+this.W1(a),c,f,i)};a.prototype.cookiesEnabled=a.prototype.tOa=B;a.DEFAULT_PANORAMA_HFOV=a.Cwa=e.prototype.O$?90:110;a.prototype.trigger=function(a){if(a.name in this.Ec){this.ew(a,m);var b=this;setTimeout(function(){b.ew(a,B)},
0)}};a.prototype.ew=function(a,b){for(var c=this.MDa(a,b),f=0;f<c.length;f++)try{c[f].handler.call(c[f].context||window,a)}catch(i){setTimeout(function(){h(i)},0)}};a.prototype.MDa=function(a,b){var c=[];if(a.name in this.Ec){for(var f=[],i=0;i<a.sourceClassPath.length;i++)f.push(this.W1(a.sourceClassPath[i]));a.sourceId&&f.push(this.h2(a.sourceId));f.push("*");for(var g=this.Ec[a.name],i=0;i<f.length;i++)for(var d=g[f[i]]||[],e=0;e<d.length;e++)!!d[e].immediate==!!b&&c.push(d[e])}return c};a.prototype.h2=
function(a){return"instance("+a+")"};a.prototype.W1=function(a){return"className("+a+")"};c.Player=c.Ica=a})();define("jquery.mod",["require","jquery"],function(a){return a("jquery").noConflict(m)});
(function(){(function(){function a(a,b){return a.rAa?q(b).chain():b}function b(a){return"\\"+P[a]}function e(a){function b(c){return a[c]}var c="(?:"+q.keys(a).join("|")+")",f=RegExp(c),j=RegExp(c,"g");return function(a){return a=r==a?"":""+a,f.test(a)?a.replace(j,b):a}}function d(a,b,c,f){if(a===b)return 0!==a||1/a===1/b;if(r==a||r==b)return a===b;a instanceof q&&(a=a.NB);b instanceof q&&(b=b.NB);var j=J.call(a);if(j!==J.call(b))return B;switch(j){case "[object RegExp]":case "[object String]":return""+
a==""+b;case "[object Number]":return+a!==+a?+b!==+b:0===+a?1/+a===1/b:+a===+b;case "[object Date]":case "[object Boolean]":return+a===+b}j="[object Array]"===j;if(!j){if("object"!=typeof a||"object"!=typeof b)return B;var i=a.constructor,n=b.constructor;if(i!==n&&(!q.isFunction(i)||!(i instanceof i&&q.isFunction(n)&&n instanceof n))&&"constructor"in a&&"constructor"in b)return B}c=c||[];f=f||[];for(i=c.length;i--;)if(c[i]===a)return f[i]===b;if(c.push(a),f.push(b),j){if(i=a.length,i!==b.length)return B;
for(;i--;)if(!d(a[i],b[i],c,f))return B}else{var k,j=q.keys(a);if(i=j.length,q.keys(b).length!==i)return B;for(;i--;)if(k=j[i],!q.has(b,k)||!d(a[k],b[k],c,f))return B}return c.pop(),f.pop(),m}function g(a,b,c,f,j){if(!(f instanceof b))return a.apply(c,j);b=n(a.prototype);a=a.apply(b,j);return q.gH(a)?a:b}function c(a,b,j,i){for(var n=[],k=0,i=i||0,g=C(a);g>i;i++){var d=a[i];if(f(d)&&(q.isArray(d)||q.isArguments(d))){b||(d=c(d,b,j));var e=0,o=d.length;for(n.length+=o;o>e;)n[k++]=d[e++]}else j||(n[k++]=
d)}return n}function i(a){return function(b,c,f){var j={};return c=o(c,f),q.each(b,function(f,i){var n=c(f,i,b);a(j,f,n)}),j}}function f(a){a=C(a);return"number"==typeof a&&0<=a&&H>=a}function j(a){return function(b){return r==b?l:b[a]}}function n(a){if(!q.gH(a))return{};if(N)return N(a);t.prototype=a;a=new t;return t.prototype=r,a}function k(a,b){return function(c){var f=arguments.length;if(2>f||r==c)return c;for(var j=1;f>j;j++)for(var i=arguments[j],n=a(i),k=n.length,d=0;k>d;d++){var g=n[d];b&&
c[g]!==l||(c[g]=i[g])}return c}}function o(a,b,c){return r==a?q.identity:q.isFunction(a)?p(a,b,c):q.gH(a)?q.I$(a):q.iua(a)}function p(a,b,c){if(b===l)return a;switch(r==c?3:c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,f){return a.call(b,c,f)};case 3:return function(c,f,j){return a.call(b,c,f,j)};case 4:return function(c,f,j,i){return a.call(b,c,f,j,i)}}return function(){return a.apply(b,arguments)}}function q(a){return a instanceof q?a:this instanceof q?void(this.NB=a):
new q(a)}function t(){}function s(a){return function(b,c,j,i){var c=p(c,i,4),n=!f(b)&&q.keys(b),k=(n||b).length,d=0<a?0:k-1;3>arguments.length&&(j=b[n?n[d]:d],d+=a);for(var g=c,e=j;0<=d&&k>d;d+=a)var o=n?n[d]:d,e=g(e,b[o],o,b);return e}}function u(a){return function(b,c,f){for(var c=o(c,f),f=C(b),j=0<a?0:f-1;0<=j&&f>j;j+=a)if(c(b[j],j,b))return j;return-1}}function w(a,b,c){return function(f,j,i){var n=0,k=C(f);if("number"==typeof i)0<a?n=0<=i?i:Math.max(i+k,n):k=0<=i?Math.min(i+1,k):i+k+1;else if(c&&
i&&k)return i=c(f,j),f[i]===j?i:-1;if(j!==j)return i=b(L.call(f,n,k),q.isNaN),0<=i?i+n:-1;for(i=0<a?n:k-1;0<=i&&k>i;i+=a)if(f[i]===j)return i;return-1}}function v(a,b){var c=O.length,f=a.constructor,f=q.isFunction(f)&&f.prototype||D,j="constructor";for(q.has(a,j)&&!q.contains(b,j)&&b.push(j);c--;)j=O[c],j in a&&a[j]!==f[j]&&!q.contains(b,j)&&b.push(j)}var x=this,y=x.NZ,E=Array.prototype,D=Object.prototype,F=E.push,L=E.slice,J=D.toString,z=D.hasOwnProperty,K=Array.isArray,I=Object.keys,A=Function.prototype.bind,
N=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.IOa&&(exports=module.IOa=q),exports.NZ=q):x.NZ=q;q.VERSION="1.8.3";q.cWa=function(a,b){return o(a,b,1/0)};var H=Math.pow(2,53)-1,C=j("length");q.each=q.forEach=function(a,b,c){var b=p(b,c),j;if(f(a)){c=0;for(j=a.length;j>c;c++)b(a[c],c,a)}else{var i=q.keys(a),c=0;for(j=i.length;j>c;c++)b(a[i[c]],i[c],a)}return a};q.map=q.BVa=function(a,b,c){for(var b=o(b,c),c=!f(a)&&q.keys(a),j=(c||a).length,i=Array(j),n=0;j>n;n++){var k=
c?c[n]:n;i[n]=b(a[k],k,a)}return i};q.reduce=q.KVa=q.WVa=s(1);q.reduceRight=q.LVa=s(-1);q.find=q.detect=function(a,b,c){var j;return j=f(a)?q.findIndex(a,b,c):q.OOa(a,b,c),j!==l&&-1!==j?a[j]:l};q.filter=q.select=function(a,b,c){var f=[];return b=o(b,c),q.each(a,function(a,c,j){b(a,c,j)&&f.push(a)}),f};q.reject=function(a,b,c){return q.filter(a,q.negate(o(b)),c)};q.every=q.all=function(a,b,c){for(var b=o(b,c),c=!f(a)&&q.keys(a),j=(c||a).length,i=0;j>i;i++){var n=c?c[i]:i;if(!b(a[n],n,a))return B}return m};
q.some=q.any=function(a,b,c){for(var b=o(b,c),c=!f(a)&&q.keys(a),j=(c||a).length,i=0;j>i;i++){var n=c?c[i]:i;if(b(a[n],n,a))return m}return B};q.contains=q.UVa=q.include=function(a,b,c,j){return f(a)||(a=q.values(a)),("number"!=typeof c||j)&&(c=0),0<=q.indexOf(a,b,c)};q.invoke=function(a,b){var c=L.call(arguments,2),f=q.isFunction(b);return q.map(a,function(a){var j=f?b:a[b];return r==j?j:j.apply(a,c)})};q.pluck=function(a,b){return q.map(a,q.iua(b))};q.EWa=function(a,b){return q.filter(a,q.I$(b))};
q.JVa=function(a,b){return q.find(a,q.I$(b))};q.max=function(a,b,c){var j,i=-1/0,n=-1/0;if(r==b&&r!=a)for(var a=f(a)?a:q.values(a),k=0,d=a.length;d>k;k++)c=a[k],c>i&&(i=c);else b=o(b,c),q.each(a,function(a,c,f){j=b(a,c,f);(j>n||j===-1/0&&i===-1/0)&&(i=a,n=j)});return i};q.min=function(a,b,c){var j,i=1/0,n=1/0;if(r==b&&r!=a)for(var a=f(a)?a:q.values(a),k=0,d=a.length;d>k;k++)c=a[k],i>c&&(i=c);else b=o(b,c),q.each(a,function(a,c,f){j=b(a,c,f);(n>j||1/0===j&&1/0===i)&&(i=a,n=j)});return i};q.FTa=function(a){for(var b=
f(a)?a:q.values(a),c=b.length,j=Array(c),i=0;c>i;i++)a=q.random(0,i),a!==i&&(j[i]=j[a]),j[a]=b[i];return j};q.sample=function(a,b,c){return r==b||c?(f(a)||(a=q.values(a)),a[q.random(a.length-1)]):q.FTa(a).slice(0,Math.max(0,b))};q.sortBy=function(a,b,c){return b=o(b,c),q.pluck(q.map(a,function(a,c,f){return{value:a,index:c,Mqa:b(a,c,f)}}).sort(function(a,b){var c=a.Mqa,f=b.Mqa;if(c!==f){if(c>f||c===l)return 1;if(f>c||f===l)return-1}return a.index-b.index}),"value")};q.groupBy=i(function(a,b,c){q.has(a,
c)?a[c].push(b):a[c]=[b]});q.VVa=i(function(a,b,c){a[c]=b});q.CVa=i(function(a,b,c){q.has(a,c)?a[c]++:a[c]=1});q.toArray=function(a){return a?q.isArray(a)?L.call(a):f(a)?q.map(a,q.identity):q.values(a):[]};q.size=function(a){return r==a?0:f(a)?a.length:q.keys(a).length};q.nWa=function(a,b,c){var b=o(b,c),f=[],j=[];return q.each(a,function(a,c,i){(b(a,c,i)?f:j).push(a)}),[f,j]};q.first=q.head=q.wWa=function(a,b,c){return r==a?l:r==b||c?a[0]:q.rQa(a,a.length-b)};q.rQa=function(a,b){return L.call(a,
0,Math.max(0,a.length-(r==b?1:b)))};q.last=function(a,b,c){return r==a?l:r==b||c?a[a.length-1]:q.rest(a,Math.max(0,a.length-b))};q.rest=q.vWa=q.HVa=function(a,b,c){return L.call(a,r==b||c?1:b)};q.compact=function(a){return q.filter(a,q.identity)};q.flatten=function(a,b){return c(a,b,B)};q.without=function(a){return q.difference(a,L.call(arguments,1))};q.uniq=q.unique=function(a,b,c,f){q.isBoolean(b)||(f=c,c=b,b=B);r!=c&&(c=o(c,f));for(var f=[],j=[],i=0,n=C(a);n>i;i++){var k=a[i],d=c?c(k,i,a):k;b?
(i&&j===d||f.push(k),j=d):c?q.contains(j,d)||(j.push(d),f.push(k)):q.contains(f,k)||f.push(k)}return f};q.union=function(){return q.uniq(c(arguments,m,m))};q.intersection=function(a){for(var b=[],c=arguments.length,f=0,j=C(a);j>f;f++){var i=a[f];if(!q.contains(b,i)){for(var n=1;c>n&&q.contains(arguments[n],i);n++);n===c&&b.push(i)}}return b};q.difference=function(a){var b=c(arguments,m,m,1);return q.filter(a,function(a){return!q.contains(b,a)})};q.zip=function(){return q.eUa(arguments)};q.eUa=function(a){for(var b=
a&&q.max(a,C).length||0,c=Array(b),f=0;b>f;f++)c[f]=q.pluck(a,f);return c};q.object=function(a,b){for(var c={},f=0,j=C(a);j>f;f++)b?c[a[f]]=b[f]:c[a[f][0]]=a[f][1];return c};q.findIndex=u(1);q.POa=u(-1);q.sortedIndex=function(a,b,c,f){for(var c=o(c,f,1),b=c(b),f=0,j=C(a);j>f;){var i=Math.floor((f+j)/2);c(a[i])<b?f=i+1:j=i}return f};q.indexOf=w(1,q.findIndex,q.sortedIndex);q.lastIndexOf=w(-1,q.POa);q.range=function(a,b,c){r==b&&(b=a||0,a=0);for(var c=c||1,b=Math.max(Math.ceil((b-a)/c),0),f=Array(b),
j=0;b>j;j++,a+=c)f[j]=a;return f};q.bind=function(a,b){function c(){return g(a,c,b,this,f.concat(L.call(arguments)))}if(A&&a.bind===A)return A.apply(a,L.call(arguments,1));q.isFunction(a)||h(new TypeError("Bind must be called on a function"));var f=L.call(arguments,2);return c};q.R$=function(a){function b(){for(var f=0,j=c.length,i=Array(j),n=0;j>n;n++)i[n]=c[n]===q?arguments[f++]:c[n];for(;f<arguments.length;)i.push(arguments[f++]);return g(a,b,this,this,i)}var c=L.call(arguments,1);return b};q.bindAll=
function(a){var b,c,f=arguments.length;1>=f&&h(Error("bindAll must be passed function names"));for(b=1;f>b;b++)c=arguments[b],a[c]=q.bind(a[c],a);return a};q.memoize=function(a,b){function c(f){var j=c.aOa,i=""+(b?b.apply(this,arguments):f);return q.has(j,i)||(j[i]=a.apply(this,arguments)),j[i]}return c.aOa={},c};q.delay=function(a,b){var c=L.call(arguments,2);return setTimeout(function(){return a.apply(r,c)},b)};q.defer=q.R$(q.delay,q,1);q.throttle=function(a,b,c){function f(){d=c.SQa===B?0:q.now();
k=r;n=a.apply(j,i);k||(j=i=r)}var j,i,n,k=r,d=0;c||(c={});return function(){var g=q.now();d||c.SQa!==B||(d=g);var e=b-(g-d);return j=this,i=arguments,0>=e||e>b?(k&&(clearTimeout(k),k=r),d=g,n=a.apply(j,i),k||(j=i=r)):k||c.xWa===B||(k=setTimeout(f,e)),n}};q.debounce=function(a,b,c){function f(){var g=q.now()-k;b>g&&0<=g?j=setTimeout(f,b-g):(j=r,c||(d=a.apply(n,i),j||(n=i=r)))}var j,i,n,k,d;return function(){n=this;i=arguments;k=q.now();var g=c&&!j;return j||(j=setTimeout(f,b)),g&&(d=a.apply(n,i),n=
i=r),d}};q.wrap=function(a,b){return q.R$(b,a)};q.negate=function(a){return function(){return!a.apply(this,arguments)}};q.compose=function(){var a=arguments,b=a.length-1;return function(){for(var c=b,f=a[b].apply(this,arguments);c--;)f=a[c].call(this,f);return f}};q.after=function(a,b){return function(){return 1>--a?b.apply(this,arguments):l}};q.before=function(a,b){var c;return function(){return 0<--a&&(c=b.apply(this,arguments)),1>=a&&(b=r),c}};q.once=q.R$(q.before,2);var M=!{toString:r}.propertyIsEnumerable("toString"),
O="valueOf,isPrototypeOf,toString,propertyIsEnumerable,hasOwnProperty,toLocaleString".split(",");q.keys=function(a){if(!q.gH(a))return[];if(I)return I(a);var b=[],c;for(c in a)q.has(a,c)&&b.push(c);return M&&v(a,b),b};q.l9=function(a){if(!q.gH(a))return[];var b=[],c;for(c in a)b.push(c);return M&&v(a,b),b};q.values=function(a){for(var b=q.keys(a),c=b.length,f=Array(c),j=0;c>j;j++)f[j]=a[b[j]];return f};q.fWa=function(a,b,c){for(var b=o(b,c),f=q.keys(a),j=f.length,i={},n=0;j>n;n++)c=f[n],i[c]=b(a[c],
c,a);return i};q.mWa=function(a){for(var b=q.keys(a),c=b.length,f=Array(c),j=0;c>j;j++)f[j]=[b[j],a[b[j]]];return f};q.invert=function(a){for(var b={},c=q.keys(a),f=0,j=c.length;j>f;f++)b[a[c[f]]]=c[f];return b};q.functions=q.iWa=function(a){var b=[],c;for(c in a)q.isFunction(a[c])&&b.push(c);return b.sort()};q.extend=k(q.l9);q.bra=q.assign=k(q.keys);q.OOa=function(a,b,c){for(var b=o(b,c),f,c=q.keys(a),j=0,i=c.length;i>j;j++)if(f=c[j],b(a[f],f,a))return f};q.gO=function(a,b,f){var j,i,n={},k=a;if(r==
k)return n;q.isFunction(b)?(i=q.l9(k),j=p(b,f)):(i=c(arguments,B,B,1),j=function(a,b,c){return b in c},k=Object(k));for(var d=0,g=i.length;g>d;d++){var e=i[d],o=k[e];j(o,e,k)&&(n[e]=o)}return n};q.kWa=function(a,b,f){if(q.isFunction(b))b=q.negate(b);else var j=q.map(c(arguments,B,B,1),String),b=function(a,b){return!q.contains(j,b)};return q.gO(a,b,f)};q.defaults=k(q.l9,m);q.create=function(a,b){var c=n(a);return b&&q.bra(c,b),c};q.clone=function(a){return q.gH(a)?q.isArray(a)?a.slice():q.extend({},
a):a};q.tap=function(a,b){return b(a),a};q.GQa=function(a,b){var c=q.keys(b),f=c.length;if(r==a)return!f;for(var j=Object(a),i=0;f>i;i++){var n=c[i];if(b[n]!==j[n]||!(n in j))return B}return m};q.isEqual=function(a,b){return d(a,b)};q.isEmpty=function(a){return r==a?m:f(a)&&(q.isArray(a)||q.isString(a)||q.isArguments(a))?0===a.length:0===q.keys(a).length};q.isElement=function(a){return!(!a||1!==a.nodeType)};q.isArray=K||function(a){return"[object Array]"===J.call(a)};q.gH=function(a){var b=typeof a;
return"function"===b||"object"===b&&!!a};q.each("Arguments,Function,String,Number,Date,RegExp,Error".split(","),function(a){q["is"+a]=function(b){return J.call(b)==="[object "+a+"]"}});q.isArguments(arguments)||(q.isArguments=function(a){return q.has(a,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(q.isFunction=function(a){return"function"==typeof a||B});q.XVa=function(a){return isFinite(a)&&!isNaN(parseFloat(a))};q.isNaN=function(a){return q.isNumber(a)&&a!==+a};q.isBoolean=function(a){return a===
m||a===B||"[object Boolean]"===J.call(a)};q.isNull=function(a){return r===a};q.isUndefined=function(a){return a===l};q.has=function(a,b){return r!=a&&z.call(a,b)};q.noConflict=function(){return x.NZ=y,this};q.identity=function(a){return a};q.constant=function(a){return function(){return a}};q.noop=G();q.iua=j;q.oWa=function(a){return r==a?G():function(b){return a[b]}};q.I$=q.gWa=function(a){return a=q.bra({},a),function(b){return q.GQa(b,a)}};q.times=function(a,b,c){for(var f=Array(Math.max(0,a)),
b=p(b,c,1),c=0;a>c;c++)f[c]=b(c);return f};q.random=function(a,b){return r==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};q.now=Date.now||function(){return(new Date).getTime()};var K={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},U=q.invert(K);q.escape=e(K);q.unescape=e(U);q.result=function(a,b,c){b=r==a?l:a[b];return b===l&&(b=c),q.isFunction(b)?b.call(a):b};var Q=0;q.uniqueId=function(a){var b=++Q+"";return a?a+b:b};q.XTa={evaluate:/<%([\s\S]+?)%>/g,vQa:/<%=([\s\S]+?)%>/g,
escape:/<%-([\s\S]+?)%>/g};var V=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g;q.template=function(a,c,f){function j(a){return k.call(this,a,q)}!c&&f&&(c=f);var c=q.defaults({},c,q.XTa),i=0,n="__p+='";a.replace(RegExp([(c.escape||V).source,(c.vQa||V).source,(c.evaluate||V).source].join("|")+"|$","g"),function(c,f,j,k,d){return n+=a.slice(i,d).replace(W,b),i=d+c.length,f?n+="'+\n((__t=("+f+"))==null?'':_.escape(__t))+\n'":j?n+="'+\n((__t=("+
j+"))==null?'':__t)+\n'":k&&(n+="';\n"+k+"\n__p+='"),c});n+="';\n";c.iwa||(n="with(obj||{}){\n"+n+"}\n");n="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+n+"return __p;\n";try{var k=new Function(c.iwa||"obj","_",n)}catch(d){h((d.source=n,d))}return j.source="function("+(c.iwa||"obj")+"){\n"+n+"}",j};q.chain=function(a){a=q(a);return a.rAa=m,a};q.mixin=function(b){q.each(q.functions(b),function(c){var f=q[c]=b[c];q.prototype[c]=function(){var b=[this.NB];
return F.apply(b,arguments),a(this,f.apply(q,b))}})};q.mixin(q);q.each("pop,push,reverse,shift,sort,splice,unshift".split(","),function(b){var c=E[b];q.prototype[b]=function(){var f=this.NB;return c.apply(f,arguments),"shift"!==b&&"splice"!==b||0!==f.length||delete f[0],a(this,f)}});q.each(["concat","join","slice"],function(b){var c=E[b];q.prototype[b]=function(){return a(this,c.apply(this.NB,arguments))}});q.prototype.value=S("NB");q.prototype.valueOf=q.prototype.toJSON=q.prototype.value;q.prototype.toString=
function(){return""+this.NB};"function"==typeof define&&define.sVa&&define("ok",[],function(){return q})}).call(this)}).call(window.TDV||(window.TDV={}));define("underscore-min",G());define("dZ",["require","underscore-min"],function(a){a("underscore-min");return window.TDV._.noConflict()});
define("nV",["require"],function(){return{u:function(a){return a+"_change"},le:"default",Hb:"mouseDown",Vc:"mouseMove",ic:"mouseUp",oq:"mouseWheel",oa:"click",vo:"doubleClick",kd:"rollOver",jc:"rollOut",ez:"mouseEnter",wo:"mouseLeave",Jl:"pointerOver",HUa:"pointerOut",vZ:"pointerDown",wZ:"pointerUp",wk:"pointerClick",fD:"gestureStart",eZ:"gestureChange",dD:"gestureEnd",Zwa:"gestureRotate",eD:"gestureScale",dc:"progress",VC:"close",OPEN:"open",$m:"select",uc:"resize",yba:"changing",ra:"change",Yd:"stateChange",
tk:"cueChange",YH:"preloaded",T:"loaded",tc:"loadingError",Ns:"start",$f:"stop",gz:"play",lP:"pause",aD:"frame",Ic:"ready",iq:"begin",hb:"end",tUa:"cancel",Dj:"press",Ll:"release",uq:"repeatEnd",zo:"scroll",dca:"movementChange",sUa:"beforeShow",wwa:"beforeHide",INIT:"init",Wc:"show",cd:"hide",$H:"showEnd",VH:"hideEnd",hxa:"loadingScript",Cxa:"processingScript",ZC:"enableCookies",swa:"applicationSet",$C:"userInteraction",IZ:"transitionEnd",Oxa:"toolTipShow",Uca:"toolTipHide",Js:"positionSet",Nca:"sizeSet"}});
define("cu",["require"],function(){return function(a,b){this.name=a;this.source=l;this.data=b}});
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,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,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,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,39,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,233,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,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,4319,4097,3681,4256,2508,3823,3651,2256,1240,3826,2082,2389,3076,4312,4045,3079,396,1662,4187,841,3415,4006,4313,2728,4155,4181,3330,4044,4008,4038,952,3806,
4132,3784,654,3917,3978,4067,3572,4292,115,4294,4228,3646,4297,602,4244,3924,4151,4327,3581,4330,4268,4363,3587,3785,4334,1235,4336,3731,2867,2888,2904,4341,2084,4199,3939,3975,3292,1245,4318,4268,4320,4279,972,4384,3817,4320,4360,4029,1104,3790,3690,4326,4353,3299,4400,3294,3780,4344,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,117,1668,2596,4300,2342,3046,3713,4408,4099,1035,4335,3943,3259,1378,4392,
4283,3948,2504,413,4320,4015,2600,4030,1126,1229,921,3115,3756,3464,4410,3759,3961,3843,3769,3959,3673,3963,4485,2624,4396,4364,1525,2474,3664,2998,4145,4033,370,4370,3729,4245,4464,3014,4420,3596,1972,4186,2439,4021,3205,108,4423,3945,2425,1080,3211,4031,3215,4275,341,4374,4372,602,4296,2198,4047,1703,465,3505,3999,4055,4505,3921,4315,1187,4382,4188,4220,641,1409,2511,1413,1415,1422,316,3610,290,3546,100,768,629,461,4437,3405,107,65,3824,4115,4169,345,307,3833,3618,102,522,493,2041,4455,4443,755,
1240,4562,103,465,3616,4566,2440,292,293,3236,3851,4380,3279,4472,4188,4533,115,2996,3242,2305,4474,2308,3247,4158,4216,4387,3684,3789,1914,1913,3743,4595,4197,4322,2152,3918,2029,4269,4385,3776,721,2965,4530,4139,4587,4153,2944,4401,4538,4408,2131,4272,2307,4095,370,4303,111,3748,4210,4308,2356,4229,4253,4459,4605,2178,3038,4419,4021,2589,3203,4609,3968,1267,4597,1037,2466,2634,4260,1769,4491,4610,1047,3876,1992,4643,4398,4507,883,4349,4139,4643,4264,3875,1843,4311,4152,3549,4473,4497,4476,4414,
4345,3052,1709,4424,3055,1715,2480,3058,2483,4031,2485,1726,1731,2489,287,3066,32,3068,32,3070,2497,287,2499,287,2501,3155,3157,4352,4674,2533,2832,3877,3520,608,2538,3405,4699,4469,4262,4221,4366,4161,2142,953,1585,3522,4529,3462,1618,567,569,1319,3382,3409,3519,275,119,594,591,4495,4157,4626,553,4731,1541,3308,3555,34,4721,507,4723,1333,438,83,1719,260,79,2340,298,1395,4726,3518,826,540,4424,4515,2401,112,2652,1120,2479,2271,3394,3453,1677,4752,300,370,703,120,2664,1445,1447,3515,1450,495,1666,
406,1625,4298,3539,1570,3499,3509,3420,3001,3992,1359,3507,1581,1674,4740,1512,4190,1517,1443,786,1520,4777,269,3561,3471,1457,3708,515,3608,88,594,294,1687,115,4438,4078,288,3864,1724,1724,4570,3571,1059,3232,4143,495,3995,4080,4188,3901,4815,2862,4063,3865,3866,4235,4176,3572,1503,110,4825,4124,3232,4076,4560,4079,4119,1031,4839,4028,3780,100,4807,4528,101,89,4811,486,553,4814,4061,4116,4170,48,265,4820,4053,1985,1488,1490,1492,4230,4816,4052,4836,647,4055,4852,1616,4808,465,90,4857,4813,4831,4863,
1724,265,4821,2240,3092,4878,3709,4854,3428,4729,4619,3995,1735,4847,1605,2690,1013,2221,4827,4900,1940,4869,4904,4862,4232,4906,784,4839,1349,1489,2847,4357,353,3232,4885,3800,3865,4889,4868,4853,3608,1439,278,3902,2736,4898,4912,2643,4494,4872,2862,4828,4012,389,4375,110,3707,4879,4854,4936,374,520,493,2761,1818,3972,3001,4943,4893,3608,4946,284,4948,436,4053,3972,3901,4844,4439,32,1738,2802,1585,3443,306,3466,1558,402,2438,4754,3562,1539,4767,1326,4970,116,4972,1634,3461,1561,1589,3465,4799,4775,
4722,4213,3408,4755,4781,4941,90,4957,3908,4933,899,4782,602,88,4998,4966,5E3,1289,4941,89,5005,4967,4012,275,614,751,4997,4559,4965,5012,4139,5014,3371,5010,5018,4816,5020,4286,5022,751,5004,5025,2862,5027,4918,288,3412,3083,486,1435,3417,483,1674,526,4522,3371,5031,4826,4910,4999,4875,4734,4919,1333,1473,5049,32,91,2615,1818,1076,4774,1446,4991,1317,512,2941,2662,5005,4938,4139,4370,4523,110,5024,5048,4845,5006,5051,4325,3998,5045,5016,5011,5007,4740,5062,68,5064,4724,1501,4747,1328,262,4769,1222,
3362,4805,495,102,275,2132,4338,608,4759,4426,4519,4764,1813,4766,3436,3367,288,5095,438,70,4294,3445,1548,3460,4129,1638,5002,2255,5097,1685,1596,4537,4291,3523,3552,1307,1992,121,97,1578,4124,1771,4656,780,1668,1299,4979,3438,1391,4802,5115,4294,4981,5118,4973,1560,1616,3463,1564,3492,1566,454,2334,1671,4792,1673,3501,623,1577,4785,3508,1582,1584,4740,1589,3440,1466,5125,3410,3685,4537,4905,5079,3014,1607,614,1609,4705,2046,5068,5032,1602,5179,1201,4132,2197,1626,4649,830,5116,664,5150,4984,5121,
1623,5123,1832,1613,1057,4742,1315,567,438,111,265,436,116,5047,4124,5210,102,5212,5075,4124,2695,4676,3780,4340,4512,3207,2647,4517,2650,2203,3214,2696,370,4902,4285,5035,289,5140,4917,4005,370,4342,4513,3224,1711,2396,4427,2398,2400,1426,2654,2662,3605,3945,2671,1688,2692,2677,1328,2692,2683,5259,3611,2681,2688,5234,3179,5263,2687,111,95,5221,4763,3935,3181,438,5134,5136,4188,5138,3530,1551,259,5198,1549,5200,107,5192,3731,5174,3519,1597,4660,1992,280,335,1418,5132,4223,765,3838,877,1076,5118,3750,
5110,1586,3454,34,5171,5146,370,5118,3374,3359,3719,973,5288,4246,455,4727,3452,5111,5308,3369,5015,838,615,5314,395,5316,355,5318,603,370,79,114,98,780,318,5222,4993,4977,495,115,720,1696,465,3646,4992,1606,5056,3909,1477,5189,1031,1456,5076,4965,4833,4923,4867,2029,5277,5084,5355,1605,620,320,3970,5351,5077,4959,4950,4531,3047,473,720,1817,3995,56,5007,480,3627,4242,4187,5178,4188,109,4799,5005,34,2671,120,336,2693,5270,3526,432,4803,5179,1166,5393,5395,2688,620,3375,97,2680,5394,100,5396,2693,
291,5399,999,5238,5365,4586,913,338,5055,5077,5034,5240,1576,868,3466,2112,3995,1733,57,3911,5366,843,4740,5340,1142,370,3719,5182,452,5313,3358,395,1442,400,335,4738,5320,4994,4978,5323,1677,5440,4113,3902,3370,751,5328,5444,97,5446,324,1310,353,810,4588,315,292,5284,3460,3470,5126,256,5364,4253,5417,2165,3608,575,1568,3085,5187,284,5424,5052,701,465,5481,1420,5455,5183,5011,46,52,5085,5143,361,1546,1557,4984,3487,1328,3390,5500,397,340,4780,1341,1379,3497,1571,5162,3996,3502,99,488,67,1669,3449,
5512,4786,5168,3511,5498,303,5506,339,4804,5474,1861,488,4259,830,3488,488,1429,552,2801,3995,5373,4961,4055,521,1426,3721,5358,4873,1497,5179,1901,4969,3456,4983,3447,4986,1563,5473,5175,5242,5226,5484,296,4428,2446,4053,2395,2271,2397,2262,2761,5250,2008,5204,1506,5206,1331,437,370,5216,5212,5214,5371,5019,5382,1272,5211,3539,5219,5584,5026,5586,34,5272,1493,5352,5593,5224,5243,5591,4832,2648,4889,3210,4110,5229,2426,5231,2653,438,5266,5418,4012,5386,5597,5434,784,120,5613,4615,766,2663,5390,5563,
4237,2672,5604,2868,3173,5255,2673,2681,5258,2679,5268,3614,1527,5262,2674,5412,5266,2692,2694,4494,5306,1676,1326,5310,1449,3441,303,276,117,3467,5528,5151,4187,5290,1473,291,107,293,2507,5005,4874,4951,4055,4220,5333,5534,1650,5653,5655,3458,5119,5332,5191,5202,5574,5153,1614,1561,5064,3621,319,105,4956,5625,5542,5551,4055,118,5504,737,1312,5684,413,5478,4214,5673,5492,5350,5013,5458,838,5017,3780,5029,838,5590,5704,5326,5003,5133,5135,1992,661,3401,65,2452,121,1696,3629,260,4633,5548,4117,4819,
5593,1418,323,5391,4543,1363,5567,1240,5734,1714,973,4547,521,436,4550,5001,112,5654,2035,4850,4670,1018,4625,534,1328,69,435,1435,5625,34,3232,4198,5736,5104,2760,291,287,3044,259,3619,5766,1552,5637,5770,5768,476,5772,1106,461,1645,5769,5777,5338,99,5776,5517,5782,3619,5776,5767,279,5780,5789,2675,1822,5773,5790,5775,5794,32,3044,1654,5791,117,5801,5798,5800,294,5787,1822,5538,5719,5721,5723,1569,5625,5666,5375,1501,5345,630,5755,1640,5483,5727,1326,5760,579,5762,757,5826,5773,5411,476,5831,5788,
5771,5797,2340,1080,5778,5783,5833,5781,5779,5798,5785,5779,5837,5608,5792,5802,1358,5835,5852,5848,5770,5801,5842,5806,5793,5838,5799,5803,5807,5848,768,5159,4377,4337,4827,5729,5617,3634,5673,3028,4271,4144,5751,4274,1095,1577,5868,3731,5870,1731,4188,104,102,3229,5717,5539,4457,438,5545,276,5547,4024,2629,370,5509,495,5159,4047,3505,1672,3500,5515,954,1409,5519,392,5521,1579,5161,5906,3420,3504,5166,4793,5163,353,4436,1645,107,5918,5514,5373,5164,5820,5511,5913,5513,5915,5525,5453,3396,5656,5502,
353,335,3540,100,1344,3952,5452,3781,3544,3436,3757,5945,5159,5947,769,5165,1539,1585,4928,475,99,5118,70,425,1028,5659,459,112,1440,4705,692,5577,1316,287,1312,505,5064,1175,292,111,5957,5968,1102,5970,567,5972,5504,5974,4743,452,5646,3437,5499,5675,5961,3358,3465,607,3469,3491,373,710,1807,2340,5925,5933,1575,3321,4194,5905,4787,3006,5921,4555,6003,3509,5927,5170,3514,5650,5173,3383,1667,1568,1713,415,5194,501,1405,530,1691,1429,1968,5038,475,3085,369,370,3988,4434,4072,4436,5623,1519,4776,6018,
4976,5098,1600,4112,5493,5625,5486,5080,5594,4393,3413,1600,5056,5690,5667,5376,5351,4916,1491,320,5665,5550,6059,554,4795,4126,1515,4798,6042,5172,5312,3378,308,538,601,5559,3384,5086,1406,97,537,539,3377,348,5329,97,5333,6080,710,4661,4286,5619,2165,612,2059,258,268,4715,2748,6016,5145,6018,370,5149,5937,1549,3536,3360,256,5900,334,449,436,510,97,400,6013,5524,6005,1502,6116,101,2598,6121,4958,615,436,370,5389,3546,3257,119,2255,6008,1582,5927,2968,1689,6002,5522,5167,5043,6006,6128,5920,1006,6012,
6144,5919,3611,6130,3502,6133,436,4047,1514,6148,5907,6104,1590,5146,5530,5175,3981,355,3983,523,105,3986,110,4451,4453,4568,293,5422,4965,5816,877,3972,397,2924,4598,1102,1065,44,1166,3523,5153,44,4370,5647,44,392,121,3771,353,3546,72,392,593,450,565,4194,5817,438,307,553,3522,4290,877,4351,6035,353,1524,6108,5675,5657,3462,6092,5952,5647,417,1552,6219,1632,5676,5152,432,4987,5335,5337,780,5087,6089,6223,1370,110,1291,615,5702,1028,5387,4012,1482,6244,1992,4914,6048,5703,2566,5086,4989,1446,6238,
370,1855,6239,5099,2830,3149,2511,4708,2837,2839,3621,1285,5600,4391,757,4426,5565,4430,2131,768,323,3162,267,3164,4390,1411,3225,592,3929,2790,3230,3930,2766,2768,3933,5267,2668,3237,353,5888,294,3080,4348,6032,1435,4499,1970,6302,6034,526,4535,630,4618,4418,4124,6279,1971,1177,4355,4267,5886,6054,6271,6284,5104,3213,2648,4762,4520,6298,116,1707,3187,3945,4678,1716,4681,3060,4683,3062,4686,3065,1734,1736,1731,4694,32,4696,32,4698,3935,3156,4711,4237,2830,4590,3665,1145,3001,3248,3506,3005,6123,6314,
3597,6207,3979,1059,6362,4659,1872,3780,6328,3203,6367,4316,1830,4204,3530,5526,1678,1305,3558,2772,416,5335,4802,1446,5508,5156,710,661,259,4301,3506,5932,6009,1365,4740,3557,1307,6382,5400,5450,5343,256,5100,3358,5671,91,5982,5988,5276,5716,5281,353,5196,116,6228,1547,5657,6261,123,4740,6417,5501,1549,438,262,1309,114,5087,5172,6045,5531,111,4802,73,4614,712,6215,6255,6073,5311,353,5555,5472,6432,3410,6163,6074,353,3894,5319,6114,455,3580,6161,3420,292,5489,4480,5931,5523,6146,1861,6151,6461,6145,
271,6015,6378,6398,3559,6401,5964,3382,3580,336,3717,2456,4038,2509,6283,2666,4466,6375,1170,4342,999,3680,336,4617,3300,2164,4319,6476,100,6478,1558,3922,6281,4502,3925,6286,3169,3228,6289,2765,3175,6292,117,3934,6295,6278,6309,4730,4607,4177,6495,6260,1433,5039,6307,288,1430,4725,3414,6521,478,4470,6495,6497,618,4589,4638,5750,2307,6357,3003,3250,4638,6457,2525,1870,4508,2165,355,1822,3825,6054,4468,3076,6314,3923,4337,6272,91,3926,6505,6287,3174,3233,6509,6511,3936,3678,6530,2525,2589,6330,5341,
5103,3607,2480,3056,2481,3059,1120,3061,2486,6339,2490,6341,2494,6343,3072,2500,3074,6350,3076,1955,4641,6516,3572,723,3637,6477,2525,4153,3098,6318,4939,6489,6496,2525,3333,2059,4642,6602,4346,3081,6094,528,6215,480,2609,4841,3810,4592,5752,1397,6566,2934,3032,1120,3352,1201,6602,3274,5749,6617,4671,4019,6620,6595,3976,645,3722,6529,6634,6531,2230,3125,6354,5425,6006,4153,4404,3634,6602,3345,626,6643,5487,341,6514,4511,4619,6601,6621,2462,6615,5876,4093,4624,5879,6565,6639,6567,613,6300,3082,6520,
6033,6528,6308,3096,6599,3336,5279,6668,4703,2833,5244,757,6266,3154,6349,4700,6638,5743,4222,5708,6542,2895,4367,4837,1059,5389,260,2511,5746,5345,2264,4563,6488,6659,1558,4399,2515,6657,5021,6604,1153,3089,6695,4444,2524,2934,5370,6208,6689,6596,2934,6491,4417,3301,6494,6634,3022,1801,6372,6514,6647,438,6371,6592,6717,2456,4354,3778,6678,6658,6667,6723,6732,5128,4662,6602,6640,4636,2347,6607,6495,3274,6616,3839,6618,6665,3238,618,4038,4258,6025,4030,6705,6743,6660,602,6629,6756,6631,4520,6594,5743,
6749,6623,38,2590,6715,3868,6666,5743,6568,4935,4677,6573,4679,3057,4031,6576,1721,32,4684,32,4234,4687,1732,6582,3069,6584,2498,3073,2502,3075,6765,6690,3327,2271,3203,6328,3352,3244,3E3,4594,2312,6360,3502,6773,6490,6655,6054,6710,4286,6817,6603,2934,2996,6264,4424,6685,4710,3076,6823,6363,4361,6593,6748,6712,2270,1813,6625,2960,6479,2957,1787,6652,6052,1955,6724,6709,6312,4620,6706,6760,6843,6840,2986,6825,6353,6534,6630,1226,6537,6814,3251,6010,6352,6681,4705,6190,2836,6686,6268,6721,6824,6738,
6694,6102,6365,6780,336,4185,5293,2165,6328,6569,2475,6683,91,6333,4680,6788,4682,1722,6338,2488,6340,2492,6342,1738,6344,6346,6348,6872,1593,6495,6729,6844,6859,6742,6774,6597,6819,4317,6850,6909,6818,3096,6733,6873,6775,3941,4039,1039,6763,4261,6633,6805,4666,6736,6879,4654,2123,6714,6877,4368,6737,6707,4202,6485,6821,5236,6823,6591,6778,4822,6209,6514,6311,6726,4402,6852,1025,3197,2855,6600,6747,6905,6806,6839,6845,3014,1955,6708,3829,6940,6644,3015,6837,2519,2131,6752,6766,1558,6943,6934,6696,
6930,6775,6843,3203,6847,6912,6939,6914,6711,6622,6958,2066,6960,1192,5599,5562,3945,6325,2424,3213,4519,6804,6880,6713,1221,6855,1940,3753,71,590,6213,6438,6527,6977,6604,6921,3953,2005,4412,2915,6873,6499,2753,4378,3945,6557,2761,3928,6504,6290,6508,3177,6293,4581,3331,6760,4329,6544,6727,6690,6921,6762,4041,4650,2469,514,4975,7035,6722,6842,3351,6989,6841,1558,6650,6971,6781,6263,4704,6265,6870,6830,1643,6270,6992,6887,4431,109,5570,4429,2264,112,3217,1797,2609,6769,4086,6757,4146,6930,6963,766,
6965,6653,6823,6480,4389,5319,6555,5224,6550,1832,2622,542,394,568,6031,6637,6904,6634,6739,6954,6741,6956,6972,618,6719,6182,4055,6981,3096,6980,6911,6280,7019,6554,6322,3167,6503,3232,6288,6559,3931,6562,6294,6564,6873,5892,6759,6952,2964,862,6437,5236,1955,6906,7052,7045,7050,4714,6364,6935,7010,6744,7107,6929,7125,6750,1996,6908,7100,5743,4282,6983,6949,4829,6669,4347,6671,6526,6673,7031,6641,6928,6944,4890,6835,6495,4153,7133,6874,7050,7033,6882,7044,100,6598,6317,7099,5028,7011,4646,6975,2998,
4411,4600,3689,7016,6141,7135,7047,7146,7176,7140,6315,1210,7174,1963,6626,6495,2172,4613,4656,6836,6718,720,3306,7199,6951,4166,6746,6822,6602,6918,7095,6910,7201,6374,2162,7079,6052,7081,7012,4481,1274,7015,4602,6873,6543,7170,5137,7177,4100,1907,6481,7084,7113,3946,2890,6487,7139,6875,2989,7034,7227,6986,6932,7001,7048,6856,6767,4840,6662,6535,3698,6619,6454,6634,6533,5980,4592,6862,3249,6815,6873,7051,7142,7185,6532,7153,6610,6306,6674,2544,7071,6783,6663,7251,6758,7264,278,6782,6331,7062,6785,
6334,6891,6336,6893,6579,6895,6581,6897,6583,6899,6585,4697,6587,6688,3531,2254,3539,323,5087,1639,116,407,1646,5822,3711,3361,6020,1455,4861,5077,4063,4819,4819,4924,2413,110,6428,5379,5352,46,55,5593,5292,6369,6056,5423,46,51,7323,2340,893,4931,5056,5070,3035,6440,4800,68,7301,7303,3580,6303,353,3707,276,6135,2255,6453,1668,5911,5160,6394,6122,1386,6470,6380,6399,1309,3560,3653,5451,495,6962,4023,6067,1620,2090,1057,3397,4096,1307,4733,741,7157,3020,682,1624,112,2598,4409,3599,4608,276,2598,4251,
4669,4538,7384,1196,4536,7240,7388,7379,112,4289,7204,6634,4895,3569,7161,1985,6328,6670,6611,345,6613,3998,6514,4642,7389,6881,7325,4188,499,2978,7090,292,6519,3192,6060,6735,7401,7383,7394,45,4137,6955,6822,7389,7149,7215,6984,7189,6479,7219,3107,7181,3743,4601,833,6304,7110,6282,7232,6483,7114,705,7116,3171,7025,6507,6561,7028,6510,7121,5275,1289,7394,7097,3342,6936,7032,7178,6922,1766,4104,4042,4651,7441,7191,6310,6492,5235,6966,6524,6055,1818,7407,6053,4283,6321,7445,91,4759,6994,6997,5745,7380,
7435,4162,3092,6809,6960,6811,4031,7258,6359,6864,6123,6823,6749,7399,6515,7423,3092,7415,119,6755,7147,7134,7462,7229,2001,7013,3687,7182,3791,7253,7036,7463,7514,3742,7440,556,7429,7365,6720,7524,7394,4584,7279,4188,6373,7391,7226,6851,6728,7037,4648,7039,830,6925,34,7506,7396,4634,7196,7526,7104,6060,389,7458,4416,6849,7151,4012,2800,1992,6884,7272,7280,2478,6786,6575,6892,6791,6894,3064,7288,3067,6898,2496,7292,6347,7294,6351,2166,336,7378,2598,6974,7137,6976,7143,7579,790,7489,4716,3806,7525,
2572,7263,7408,3096,6656,7432,5236,6809,6827,3945,6829,6687,7576,7551,7385,2952,3280,1981,4656,7389,7581,6834,6648,7205,7103,712,4E3,7590,3305,7198,3295,1558,7502,6731,6676,7193,1992,7506,7072,4286,7506,7166,6920,7463,7038,7466,7040,4106,7457,7605,3185,103,4123,6679,2934,7585,7611,2380,2155,5553,1527,421,6444,355,6222,6446,6081,6378,4981,7653,6231,5154,438,72,84,77,469,7656,710,7598,7055,6828,7057,7602,6551,2751,6500,7020,6887,7022,7117,7450,6560,3932,7454,7030,370,7403,7154,7405,296,7478,7533,7471,
6725,6493,6313,6514,6677,7194,5356,613,3454,1860,7478,7559,7531,6555,6889,6787,2765,7284,7566,7286,7568,4688,6797,4692,6799,4695,6801,7058,6734,6858,7256,6356,6813,7259,7498,3502,7693,7503,7179,6779,7469,7225,7413,4012,7422,7733,6945,7469,7481,3151,608,6994,106,709,280,102,2876,6995,5230,7486,7735,6938,7431,7555,6254,7356,1680,6400,571,5528,3750,6420,34,5476,4214,5699,4739,6378,5649,1522,353,1707,98,5993,3529,495,5940,305,5942,340,292,5100,282,990,1675,5990,3556,7357,6472,6019,5321,340,5037,6672,
5040,3249,3418,6463,4578,1795,4527,4049,7124,6200,2880,4628,100,87,652,110,5724,260,4503,3972,2677,3539,1002,7124,7296,442,6387,5999,5508,5930,3385,5914,6395,5516,5518,5520,7352,6462,5163,6082,1402,7794,7362,256,6991,2254,5391,5603,5828,1077,5228,7752,5608,7754,5921,5533,6763,5536,6296,1006,450,1325,5726,4124,109,7331,5005,6058,7527,1006,7028,397,1658,3655,305,1713,1992,5595,4205,7869,97,3203,5612,2907,5015,6868,1240,5740,477,696,5742,336,1425,276,1415,1643,5694,1057,5696,5987,5579,967,3724,1753,
5620,4286,835,6501,5299,1245,5600,4062,6275,5628,5245,5569,5247,5571,7067,5251,465,5253,7326,5359,5640,5634,437,7847,6295,5257,3647,5635,5640,5261,7930,5264,5270,5642,5636,5644,5232,353,5894,3543,5815,6066,7867,5759,5891,5689,6155,5543,6060,1668,5101,97,83,5389,306,5482,7306,4739,370,65,675,281,3042,99,4436,709,838,7300,666,7302,275,7304,5757,7307,7795,454,2440,5186,5824,4232,5885,4012,1822,5746,5596,7311,3799,7847,1601,2450,111,1832,5384,3603,5615,5077,7335,5236,5338,435,7903,8E3,7626,5625,5496,
5872,438,653,7305,5882,5319,4898,7983,4139,5662,1515,786,7319,5077,50,5354,5388,1504,448,915,5869,5616,4968,6378,7970,320,7341,3637,7343,5527,5675,6089,3992,3044,293,5350,6474,3550,5307,1677,5325,3371,5460,5407,8040,488,5493,5312,7764,376,1664,5997,7976,7841,1502,6083,2088,5528,438,5406,3359,8064,8038,5461,1620,3478,1506,5304,3481,3435,8046,3396,8057,3392,380,6036,393,119,5471,5896,6402,6046,1060,1358,8012,3994,5056,2487,8015,4286,1413,8092,5005,8095,6051,4504,7883,5391,7886,3416,5401,7885,1423,7887,
2308,1426,7893,2008,6241,280,615,4540,5732,5758,8106,7912,757,8106,7891,1414,336,1128,1358,8119,7884,608,8125,8112,7892,8128,8115,3041,7996,5494,8023,4012,388,4300,4050,7320,8022,5497,5935,3484,6109,5472,6259,7531,8044,6421,7772,6017,7774,288,6415,6423,3459,355,6111,6420,6422,3456,8086,316,8166,5439,6252,5457,5713,3372,6089,5463,5448,5096,7308,5158,5888,118,1349,523,6112,4188,5277,8186,614,5139,116,1668,8191,8188,6103,6378,8048,5459,3373,5461,8179,5465,288,2623,7766,2109,2609,467,7667,7156,7799,3506,
7801,6149,1993,8210,468,7268,6538,8216,5907,7211,2404,8219,8212,7704,7009,5041,3419,6865,7518,7510,7070,602,8211,8221,8231,4794,8158,3956,2612,7763,5675,6085,6079,7668,6224,7790,34,1405,1402,8247,540,7961,862,7659,404,6419,8249,5945,6225,296,8259,881,5502,3399,5840,5960,5962,7766,5785,4705,6409,7899,701,4622,5205,5683,7898,6209,7387,841,8276,1082,576,5682,5153,5697,1277,5977,3489,532,8289,1617,8282,1902,7707,877,8286,7687,275,5449,8285,8281,5207,1610,490,7608,8280,8290,8298,4740,8271,5994,5312,3481,
6027,117,8059,6113,6388,1455,6465,7829,7353,6129,4949,7789,5112,5309,8159,1592,7361,6403,5759,7093,8213,6034,1585,1524,7778,101,8170,4187,6453,6157,1317,6119,7835,6467,8224,288,5951,6152,5514,4788,5954,6466,6153,6541,1890,6143,8361,8358,8233,1955,6456,8233,5922,8288,8357,5906,6140,1481,6125,6159,8073,8327,7836,6162,6378,8346,7840,8337,5669,5123,6407,1630,8152,5677,4277,5287,5679,370,6201,6203,3489,4239,7740,4054,6060,7881,3780,7797,8340,8107,8215,5042,8217,6168,316,6170,4449,6174,449,6176,4579,4456,
7094,1378,4854,8146,5077,6181,7616,5692,5300,6407,5304,4306,6278,1500,6212,8221,370,7876,2434,4110,575,751,7805,4529,6065,3997,7366,4735,5384,321,8441,600,6120,7948,4949,7950,1501,6191,5912,1860,8302,5044,3602,8264,7981,6468,7949,5691,5898,6075,348,7766,8405,4124,8459,8275,8307,5578,2333,7560,4829,1719,3986,1561,4511,7155,5897,1501,7905,7678,7414,6078,7465,1860,5303,6076,8255,5989,8332,8253,1407,370,7655,4779,8324,454,8372,5924,8374,6014,6155,8331,5308,6471,7762,6166,3519,7843,2392,5227,5606,7850,
6326,768,8407,8229,7157,8240,8217,7979,7919,5624,3945,7927,5263,5256,5636,7924,5260,2340,2684,5643,7935,2691,7937,5270,5595,7059,7908,7061,6571,6888,5246,6275,7917,1656,353,65,6241,397,2167,8478,1619,8262,7363,625,653,7987,5585,8008,8303,3358,8099,6883,476,615,8344,5391,315,6064,7847,4238,320,2877,320,1915,6515,4732,3525,4541,5758,5738,8123,91,5738,4545,121,5741,4549,3744,4736,658,7373,3014,5693,2444,3905,110,641,7387,4051,7944,7549,1501,6405,335,4737,8604,1192,7941,8087,8612,8447,6720,5899,8506,
5344,3663,8370,6123,5917,8510,7354,1902,8567,664,5903,8630,7355,8150,296,8286,5939,3539,7782,3542,5896,1300,5949,8045,1413,3554,1657,5414,3539,8200,5327,8202,5407,5331,316,8204,5449,8156,341,8655,3148,4929,3654,3425,1645,6100,307,7582,6966,5398,3539,72,8184,5294,8667,89,6412,4214,664,5239,4571,6323,7753,1720,1417,610,323,8584,2424,602,432,8586,857,5977,3424,5966,8672,8442,394,4299,6392,4291,8667,80,7770,8030,8641,288,8657,602,8050,3359,8663,5651,346,4635,7766,1033,7463,7231,4503,2079,6549,2891,2515,
2774,4460,1160,7161,4599,7438,7183,7223,967,1083,4266,7175,6941,4274,3883,8742,7160,8402,1985,968,7207,8E3,8748,792,7245,7003,8734,2073,4647,4103,8495,7467,7041,8513,1677,8515,7359,8721,7664,7666,1786,7766,7803,2277,291,7508,8097,2942,4311,2942,2946,4503,2046,2823,7206,7392,8143,2942,2443,5687,6682,8552,2449,32,2451,2453,5866,116,109,7476,4350,7009,623,8790,1285,8783,1992,7024,102,661,5278,6555,8775,1170,2334,7816,617,5686,3608,2654,8786,4511,8808,6377,8714,6379,7761,8769,438,1524,1312,8385,8565,
273,5678,4941,8390,1552,8346,5286,5333,768,293,8424,262,86,82,8446,5374,8614,8066,7878,7871,7787,2480,3641,4446,6169,4448,6172,4450,8418,104,4454,6178,7807,4237,6391,4750,3220,3730,8013,8094,8096,5236,1826,5301,1041,3388,7764,8433,8009,4048,4720,8609,5182,100,3748,8850,8457,5685,7824,7896,5504,8291,5488,3609,5823,7921,5592,8571,7853,8879,528,1076,7856,7894,442,8791,3608,79,8887,8284,8852,4626,7878,4311,8104,8592,8113,5735,8108,608,8596,1146,8110,1421,1146,7889,5744,1749,5575,8461,8563,215,5208,5580,
5177,7334,5593,6210,1856,6172,8437,5383,1514,8442,838,8444,6392,8623,8851,8428,6060,8845,4049,262,3357,3746,4628,732,8891,8469,1501,7952,2059,7954,7956,688,7975,4124,5181,5456,1992,8398,659,6205,8402,3972,8956,8445,7943,8624,8916,6297,6391,262,8574,8466,6793,8876,7474,7947,7420,1501,8621,316,7822,353,8348,6125,6118,8454,8366,6004,3502,5731,101,5910,1670,8639,5899,7828,6393,8382,8359,6636,9005,7831,5908,279,9012,8904,9010,8460,9015,8353,8363,6142,4791,8328,8217,8356,9019,8634,7276,6007,7830,9036,6150,
5923,6161,8376,6124,3546,8379,9038,9032,8383,8827,8385,8644,5941,8647,8998,8263,7889,5952,8652,5955,8654,2282,3539,6237,8203,3928,8180,7766,8677,3220,8174,8681,9063,116,8683,8813,4139,5277,391,1952,4062,5819,279,4871,7847,4759,5107,2308,8693,1492,1718,8697,1492,6278,8667,5707,6313,8667,5583,8709,9074,5711,5071,8667,1705,118,9073,5399,8711,8194,8687,3913,7337,4775,8178,9067,8205,8252,306,838,1211,8032,7972,111,7974,8900,8088,5531,4059,5385,5069,5730,396,900,3519,3995,1727,8149,8078,345,9123,8034,7305,
7663,5554,8260,4984,8166,5998,3493,1686,1916,8365,8381,9028,8368,2525,9023,9041,8373,9035,8329,6131,6448,6165,8336,8089,6184,2239,692,6188,6190,1561,6193,4374,6195,6197,6199,5036,436,6202,8977,8401,8675,550,4055,8942,8436,7798,8341,1311,8896,7898,5090,7766,8526,7477,8230,7800,8411,8354,1032,780,2754,5184,1207,7971,278,8238,9190,8409,481,9201,3420,8616,3359,8120,5223,8481,4012,8474,7532,797,8527,6303,9165,6106,6443,6256,68,8039,101,8041,6049,8060,8337,292,277,664,9132,8903,1481,6203,664,394,7997,4965,
7866,8985,3551,1418,279,8720,8913,85,436,1956,8452,8028,5372,8468,8448,2316,3552,9253,9117,294,8186,9056,3780,5389,5447,373,262,260,6096,9271,9267,5157,7636,830,9065,5407,8720,5306,6453,9008,9025,8352,8362,8233,8632,9162,8217,9238,8568,8638,8633,8241,8827,7773,8335,8062,9054,406,8648,3545,6460,8157,741,4669,6216,288,84,8710,5528,9116,9273,8664,8182,8045,8465,34,9315,9074,8716,8177,9066,9319,8721,3964,8244,9150,9280,327,6455,9299,9295,801,5558,9338,9202,8508,9043,8512,6397,7792,8516,9167,5531,8209,
8237,8220,9211,8222,9214,8233,6823,3274,9210,8408,9356,8232,6123,5561,7844,6784,7914,8555,4760,6998,7167,618,7210,6926,8235,1956,8227,8945,8355,6320,8551,6555,7484,7849,7852,7270,9353,8228,9198,8528,9200,9364,6156,8533,6887,6701,5267,4573,465,2774,3115,7005,449,7007,6612,8804,9037,9375,4521,8464,1301,3406,4557,280,9004,8488,6930,9410,6823,7822,370,8501,6084,8493,7766,8997,7690,8278,5898,6378,8255,438,9327,8718,5445,9279,7825,9151,4779,9014,6138,9300,9140,3513,6105,3516,9350,6167,8873,8784,1031,8010,
8971,8552,5830,5862,5774,110,5834,5805,5836,110,5784,5840,5780,5846,5783,5845,9466,5855,9458,5796,9460,9473,5860,5849,384,9474,5835,5857,9475,5859,9481,5864,9464,5809,6411,4612,8145,7875,8184,8707,7129,6966,112,5238,9494,1299,8055,5675,1636,8380,9128,5175,3884,8087,6756,2602,3847,3957,3764,3960,6451,9475,9332,2798,3950,2341,8959,4207,8961,100,3532,9077,4591,9510,4483,3848,3958,3116,9514,3889,4488,3891,4490,370,7506,75,101,121,115,9415,5883,5056,6967,8104,7847,5029,5572,5082,2761,6512,4433,3990,4631,
751,4422,477,8793,4012,3753,90,552,109,262,7514,4487,2620,3896,9513,9569,9516,4489,9179,1032,3115,5463,4585,9509,4482,9515,3121,3845,3893,9534,9570,9517,9537,967,3951,8915,9527,9582,9587,9574,9536,3269,9573,9584,3965,9591,2341,4479,7256,9528,9583,9571,9585,9533,8243,9588,9575,8909,561,5695,5985,445,899,8712,9562,3661,9265,8604,3686,9600,9609,3671,9586,9612,9597,9531,9576,5662,1621,9523,4296,4294,4074,4227,602,8559,4574,6245,5056,1744,5593,6184,9503,9185,288,3466,9650,5685,3533,3535,3429,8895,9656,
114,8172,4919,105,400,5118,8661,121,5286,578,789,2343,4055,6098,109,8950,9495,9186,7550,6458,7810,9676,8963,9263,8377,6042,9654,1404,9230,9654,370,7768,4124,5693,442,9666,8859,1635,4406,8868,4287,4070,9640,4309,4511,9643,9561,4139,8442,384,108,72,70,79,86,8590,9218,6887,8926,8134,4548,5743,3744,8071,7369,9317,8071,4499,8864,4883,553,7920,8552,4892,95,4173,801,4502,287,9734,5709,1642,5893,97,9682,8422,5759,9664,8345,5528,9667,9669,4198,9746,9709,615,86,9713,9715,2165,104,4852,9696,3720,9698,8394,578,
9700,4552,3608,67,4555,9544,8874,7311,476,1440,780,8594,9400,4564,4577,6177,9475,5072,1409,287,9776,278,780,768,6698,8132,757,520,8695,5767,1719,342,2799,121,275,2440,408,2944,4954,3710,9745,8995,9519,2612,3832,9644,71,9801,666,907,605,4473,9607,9596,9601,3850,9630,3962,9613,9598,9402,9604,355,9580,7073,9820,9631,9822,4486,9511,9535,9633,9828,2612,3755,9058,7220,3954,9608,9589,9599,9837,9826,9839,6734,120,97,9744,8885,8708,9250,1606,9697,9668,9699,9746,9252,116,7861,4188,5517,1362,294,9866,9622,9829,
316,7347,9568,9849,9632,9572,9877,9835,9590,3253,9873,121,6127,9844,501,9627,9847,3846,9529,9512,3845,9810,3103,9783,5819,9625,3840,9888,9880,9628,9823,9611,9825,9878,9894,3593,9702,9557,8949,9856,9677,9430,1501,8349,9730,2945,9396,9733,3708,9735,7966,9737,3371,9739,9922,9741,3620,4477,9884,4085,9594,3887,9846,9614,9824,4484,9827,9895,8417,4563,4981,1963,9626,9902,9890,9938,9530,3122,9941,5463,9933,3665,9833,9906,9881,9848,9892,9838,9951,9931,2612,8848,9525,9876,9960,9850,9879,9968,9907,9602,9381,
7651,387,9808,8901,2862,8427,1499,6060,5887,5889,5479,3115,9564,2059,8871,9967,9936,9827,9949,9893,9973,6967,1688,3883,9578,3928,9886,7436,9595,9834,9903,9836,9971,9958,7894,3533,9732,8814,8888,3748,1080,3748,4304,617,7523,9883,2612,5463,9875,9887,91,9889,9937,9905,9939,9851,1300,5675,8069,6229,9941,9812,3834,3852,9556,3993,9990,9821,10005,9532,10026,9940,9538,100,106,3990,294,8432,8838,9977,9684,3421,9815,9803,277,10054,7945,9761,3817,9750,9860,9752,114,9671,8999,606,8627,256,5693,10010,4799,9289,
9159,6124,9330,10076,9342,4788,7883,10080,9294,9202,3473,97,5724,9290,8367,6123,10087,627,9018,9155,9291,6123,3546,9258,8947,2356,9298,10085,3420,723,6390,100,9424,10094,5278,9443,8217,8067,395,5333,10084,10096,10091,3502,10107,1420,4664,10077,10099,262,10101,751,4540,9022,10081,5934,9445,8206,8334,6401,7781,3541,3472,3928,1696,406,291,3358,1514,494,91,3282,353,1516,7779,7767,5716,302,10148,726,5994,296,9497,9111,381,10155,529,10157,2461,10161,2737,10149,10164,5594,8680,125,93,6132,3928,10023,8045,
9674,9989,5945,9272,3902,7279,815,101,8509,3361,10143,5940,278,10146,10162,10150,528,4940,2198,301,10173,9308,3547,5939,1E4,2599,623,8351,8866,2342,3378,8250,3546,6238,8263,9307,1053,116,8344,8842,5123,10142,5962,10145,284,10147,10167,10156,10151,10195,2510,10172,1009,4472,3548,10203,1265,10001,9310,785,422,10218,1451,10188,3539,10190,10222,10192,10169,5364,10154,10224,10163,10226,5417,10248,2332,10168,10151,5138,10253,2297,10255,528,9983,9107,10229,945,10215,5962,4525,751,6091,10240,10220,10243,
271,10223,10254,10225,10194,10218,10264,9251,8629,10180,3928,3281,370,5399,10206,10270,8566,116,450,8421,3998,115,58,123,120,271,1145,121,10299,714,125,47,10297,58,1738,10301,48,125,5173,10241,10221,10274,10245,10151,10247,287,10316,10194,10252,10198,4276,317,8311,8045,9109,8882,4941,7784,3539,10292,494,341,10295,123,5277,10302,4624,5238,10339,676,10304,10337,5135,10307,696,10341,10310,10312,10272,4239,10244,10249,10193,345,5619,10258,2848,10260,345,1550,10323,3015,282,312,9009,9724,9322,355,10176,
10236,9674,9567,9061,8558,8493,5684,8835,5392,8870,2340,9866,3995,8102,1192,515,2947,9978,5188,4188,3423,103,8223,9225,3085,8529,10086,112,51,10395,9391,8214,9213,9394,8766,5648,10135,8245,6229,5657,10217,10330,10380,7324,1974,5712,5023,2974,8176,9100,5071,5130,5297,9406,6966,9692,5886,8680,5477,10160,4223,10430,6692,9997,8826,10133,8333,9447,4770,353,7370,9334,6021,5911,9455,10112,6154,8330,5921,7834,9012,9227,9448,9505,3519,1882,6286,9277,8475,1339,8431,8080,1338,324,3394,9501,6229,9318,5464,9320,
7977,9322,8251,9435,8659,8719,9438,3399,404,8834,8505,7826,454,8349,9003,10090,9006,3238,9154,9027,10097,3502,8369,10131,6123,9344,9342,9044,8349,9047,10453,8384,8392,8998,8517,1473,9072,2808,8920,8990,9249,8954,8996,9560,9645,5423,5593,8976,6204,9184,9700,8476,8296,3902,8298,534,10434,8475,6428,8117,7865,9262,8625,9423,9230,8559,6191,4337,8665,476,9276,7627,8560,3371,8727,5391,2542,8594,2542,2450,523,4127,1409,768,10356,9355,4626,7859,373,9871,4139,2671,3372,8578,5758,8580,6401,6555,8583,5608,10568,
3744,10560,9268,7083,8728,1240,5888,114,2452,732,2209,743,10582,8932,1357,9717,5601,1326,8593,7847,9719,8928,7888,8600,834,9451,5890,8611,6057,10534,9858,9428,10533,8456,8964,8077,9287,10083,10452,10499,8512,9E3,9442,9039,9163,10494,8636,116,10103,10118,8375,9346,8242,6164,6018,9053,8646,9306,9270,10236,9721,10200,9311,10233,3551,618,9309,9313,346,9726,5407,10289,5342,6046,4740,10476,6089,6091,370,5114,10380,8490,7112,4286,9454,9127,9384,5764,4031,5767,5832,9483,5771,9462,9459,9465,5786,5842,9468,
10669,5847,9487,5861,5850,5858,9479,9477,5795,2675,9472,9484,10678,5804,10676,5863,10682,10675,4520,392,10539,838,10547,4424,10551,8796,10553,6071,323,5810,10426,9678,6068,9E3,10071,8090,10130,10085,9044,9216,9345,10450,10638,10190,101,10622,10492,5926,10614,1378,5904,10617,8467,10714,10365,10639,3991,10282,10710,10625,9301,10409,10629,10138,8507,5456,6055,1009,9059,5944,8045,292,10728,5952,9109,10239,10290,10333,5240,7823,561,505,3485,380,10380,10087,9617,504,9619,4626,10369,1860,10649,9727,1357,
3527,5130,4656,8076,9725,9502,8076,10407,3484,10464,3469,6107,9146,8267,6425,10757,7043,1860,8266,5657,3466,7158,4211,7942,9809,8397,9181,8399,8978,9651,8403,1501,2109,8934,1818,10786,4984,18,6222,7143,10788,1057,10803,1549,10788,8933,5681,10808,10780,6221,1613,7376,8951,10602,10607,10055,8981,10819,8426,8613,10514,2849,10801,841,10809,3460,10805,3132,10807,1506,10831,4974,405,9538,862,6407,10837,8171,862,8499,5308,7660,1550,353,3645,6172,1443,3357,5674,10411,5502,8835,4740,10854,8385,9062,5399,10765,
99,9284,9438,10380,290,7473,8688,5829,6996,8691,9089,394,8694,10572,9093,8699,4499,8710,9621,9104,9074,8679,9984,3780,9070,9076,5142,8827,10864,10478,9330,10410,1547,7766,6184,76,9125,3371,6179,4816,5058,4053,5303,5528,3466,10899,620,751,9791,4989,10909,10901,5005,10904,5179,10906,5675,5087,10914,10911,899,1419,615,9700,10262,77,10389,6860,1125,7252,10159,5141,6050,5598,10529,9867,10016,9523,8320,737,10942,9538,8493,8431,5528,8498,3621,10938,7738,5962,10947,5992,5962,768,259,10049,997,5118,6407,65,
10048,10050,3457,6229,5866,8184,2035,8858,4212,101,1696,5116,552,4194,4827,7321,5593,8811,8862,8485,6054,8487,10055,3622,10942,1404,607,5209,4984,10954,10856,1549,10846,1677,9424,5503,9695,10505,5658,9321,8836,8394,5670,6763,8841,8837,2198,8844,9913,8847,8849,8983,8953,9981,8965,8854,3177,8856,7874,2165,8413,5722,8861,6173,6175,8865,9897,9700,3608,3725,9127,10385,10980,10382,8872,7906,8990,4234,4829,8987,4942,10599,5625,11041,4012,10823,1760,8887,9244,8962,11015,8892,5241,7895,1506,7897,8308,8277,
5237,10432,4419,5622,10011,7233,5631,7928,8542,5636,7932,2761,5640,5265,8545,11074,8547,4494,7686,353,118,10951,4139,5517,8905,670,672,8908,2738,8176,9103,7176,10421,1998,10829,8301,8936,8309,11081,5504,8911,8608,8610,10703,9915,8853,7953,8919,8591,8990,1060,8136,1353,10593,8922,5739,10595,8930,10597,3007,8809,8939,7998,8941,8435,8944,10558,8946,3359,10102,9913,9683,7945,11049,8958,10940,8890,11054,10608,8917,7953,7955,552,8970,10659,4139,8973,9235,4124,10520,8400,6206,9700,11049,11133,9858,10262,
5715,9526,5236,5718,11105,10798,5893,2340,5895,10632,8448,8626,10484,7780,9002,653,9417,10719,10489,10588,9009,10612,10104,9292,10616,9049,9017,10111,10724,9202,9864,10077,11085,10117,11176,9020,7185,10491,10448,3420,9034,10623,11194,6147,10496,5516,8326,11193,6139,10721,9045,6158,4110,10503,9051,11001,1466,10137,7783,1451,10213,371,8650,10236,9060,285,10752,1313,7766,9694,9616,4029,5973,563,7898,2450,2635,11231,1314,5578,9576,11228,5978,1514,11229,3107,11236,5064,11234,11088,9618,11237,1316,3771,
4740,8833,8065,9423,10481,10771,9236,9168,10784,1818,10811,9603,2612,8200,9009,661,576,2690,9309,6617,9956,10029,9970,9991,10030,10201,9330,11066,7482,2609,474,516,1309,1714,7786,3618,4892,2670,4579,95,9734,6203,95,9929,1417,121,1609,2689,780,104,3616,281,1713,2682,102,95,10073,119,9840,602,11266,8618,924,11268,107,11270,9606,10003,9957,10043,9959,11276,9962,11264,602,9987,109,10179,10002,9935,10042,9948,10028,9950,9908,11326,110,11328,10375,11331,9845,11333,10027,10045,11277,3792,281,3534,9661,9658,
11058,11349,9657,3537,1585,9001,10079,11180,11200,8634,10454,9303,11216,710,10178,9154,370,10374,2199,10232,5952,9550,11314,950,11316,11318,11373,5458,11267,9125,11317,319,3547,1585,10988,10483,9440,256,6001,9031,9016,9157,2934,11190,11205,10448,6469,8827,8320,3469,10507,340,10416,9429,5180,10509,11040,5593,7131,7587,2592,3092,6590,2386,7592,5392,7266,6301,11128,3289,771,7381,7490,3572,3585,4461,7108,2934,9410,1759,7647,7382,7491,11416,7504,1008,1585,8727,615,5118,9433,10380,10428,6247,97,120,3523,
312,9706,9206,4219,10882,7336,10504,8246,9426,10779,9975,10966,6418,10857,11259,5531,407,5650,10824,9248,10603,10827,7143,9667,11154,11012,110,8848,10606,4960,11140,5939,404,10902,2862,10917,5060,4482,8162,8169,11001,3466,287,8163,6230,121,11491,32,6218,11489,6220,4984,3466,9576,3386,10916,5059,841,9528,11488,11460,8346,3462,11492,11499,10994,10832,9174,11497,6227,11514,11462,5556,5153,9576,11135,8609,10038,452,9911,9774,6180,10826,11017,8884,8424,11156,11471,9E3,265,4753,1506,5114,7143,10653,11541,
11539,10441,8869,260,8988,11045,11040,8992,6653,11525,4540,592,11138,8990,9980,4876,6060,4165,8948,602,10054,8952,11055,9037,1691,11483,374,11485,11507,11487,5148,11520,6424,11516,6192,32,11493,10816,11580,11498,11510,11001,3462,9576,11151,10796,9700,2648,1558,11473,9746,11525,9521,4304,11478,11016,11561,8615,11037,8989,10390,284,11047,6985,2456,3466,11571,10222,11506,5302,11575,664,11582,11501,404,11513,11586,11500,10810,11620,11518,419,11622,11515,10838,9576,372,8002,5625,11573,11615,3887,11509,
1544,8346,6111,11621,11639,11001,11641,11626,1553,11628,11521,3460,6111,11252,11456,11629,8998,370,10892,395,8052,8042,5963,11003,10365,9239,8619,4848,9244,8674,11406,3972,3655,3663,9254,110,9256,1797,9259,6482,11533,8635,9864,8720,9269,11406,1192,10181,8180,9275,1927,6250,9279,6407,11657,5462,9279,9286,10707,9293,11361,6463,9296,8637,11183,11393,6396,10626,5172,10735,11217,3361,11219,10634,8653,6414,11576,11648,11578,10838,8167,6378,11638,3444,11587,5557,3464,1657,2817,108,7005,441,9439,9335,1861,
11360,11206,9444,9323,8768,1682,9449,4728,2804,7386,11163,1192,2435,3051,294,6885,8604,2477,1714,7282,7711,6577,6337,7714,32,6795,4689,4691,4693,7573,6902,6803,3278,7606,4252,4419,2732,7538,8762,11486,7637,278,7069,2935,3291,6368,10417,4139,11746,6848,6964,7596,6966,2922,3310,2407,4324,6961,2804,6605,1814,3347,8744,6966,2144,2937,1836,11417,2908,6987,11794,3033,4356,11786,2975,2901,7470,7732,10797,2015,2586,3339,850,8753,6966,11802,1843,2931,7427,5236,11819,2116,11800,11437,7461,3322,7E3,6624,8757,
2530,7615,11679,11569,2183,11428,6186,3666,7014,7516,4413,6006,2405,276,7002,2530,11778,7239,7535,4012,1933,7606,9831,8097,11814,11727,7077,6376,10435,3296,6650,3335,7700,2134,3290,2976,11810,9410,11787,2025,1981,4311,2586,4010,10326,10461,2745,11846,11832,2658,2294,7520,10024,7522,2882,11803,11874,3326,11820,3346,11805,11822,11797,2236,2706,11827,2916,11727,5748,9220,5621,8786,11870,2987,11858,7548,11537,473,2942,8778,11823,11875,7606,7643,11852,3009,2271,11847,3128,3021,6921,10695,3945,7086,8731,
3829,3937,7368,8074,10464,11899,2362,7629,5236,2545,11907,7214,2219,7758,4286,1750,11912,4496,4273,7075,3309,11825,11831,7188,11913,11890,11949,6907,11452,2188,4122,8279,11769,3189,2570,4160,11812,2744,2936,2521,11806,6653,11824,4060,11898,2749,11868,7430,11940,7696,4586,11857,3196,7127,1199,11861,3332,4655,3349,11922,4334,9410,11798,2520,11790,11745,3050,10645,9456,3213,5106,10873,7063,3182,3133,3315,3304,630,7595,11941,11952,2568,11431,2956,6838,6606,11417,11798,1755,3203,1750,10929,7248,4903,2857,
4422,9383,7233,7063,7065,5249,2402,7143,1957,2700,11881,2941,8823,6054,8825,3780,11937,11980,849,10523,11837,1071,12010,2135,3147,6810,4087,3246,2310,6538,7260,11836,2970,2320,11817,6653,2828,11809,11975,2329,11785,6653,5159,3255,2623,9672,11562,2710,276,11864,2857,3017,7187,11956,2580,3159,2562,11989,3050,7165,11417,12059,2385,294,3203,9366,8520,9368,2259,7915,7066,9371,2849,12070,2348,11789,11968,6052,1750,11935,11945,6664,11947,2517,11963,7612,2360,1855,9705,12024,11281,7849,9087,7939,2993,12003,
2363,4323,12099,3014,11746,7545,11064,8786,11102,9793,91,8795,8797,9542,11776,1957,11429,11862,11771,6923,7540,1043,7468,12054,3160,7278,6570,7708,7281,6890,11754,6790,6792,6794,6896,7570,7290,7572,6800,6586,6802,6588,12133,12043,8760,3942,4309,6548,4467,11927,3949,11948,6641,2271,11967,11894,12058,2804,12080,3078,7054,9707,7482,7601,6903,12117,11815,11905,3314,11958,2271,12073,11727,12177,12118,11944,11969,11979,2660,6876,11964,11414,11792,8743,11865,2367,2135,11743,3145,3159,3202,11417,3753,3255,
10235,11272,11320,11274,9610,11346,11325,11422,3159,11834,11602,3283,12137,8494,11773,7541,12141,12117,6906,11920,2333,9382,9367,6993,12114,10872,5610,8805,8786,12017,3050,5875,12021,3302,12055,2171,11065,9920,6555,8535,11068,8538,7929,11073,2681,11072,8543,11300,4903,12259,8548,12095,2740,2131,12232,10818,12002,7132,12014,12096,12173,11796,12175,3314,12222,10704,3283,12202,3313,3296,11815,7699,12207,3183,2936,2191,12072,7621,2268,11793,12242,11879,112,7460,12109,11868,6553,11678,3209,6285,7447,3927,
6506,7683,7120,11080,12220,12286,12283,8005,3780,7557,12290,2928,11876,1801,12281,3239,12060,7553,11784,12007,11818,12196,2971,11985,12038,1339,11901,8300,7433,12320,12085,3148,7671,7600,7673,12183,3685,618,8811,10095,8552,8815,1828,2398,4580,1171,8820,9401,11933,12197,2812,7695,10869,6052,2899,11849,7192,6740,12203,2530,11280,7744,757,10697,2871,2570,2879,2875,2877,1431,12371,6198,12224,8726,10577,12166,6485,7087,12353,2842,6833,7648,3572,12359,11974,7756,11976,12357,4504,11770,11884,11342,11841,
8738,7517,12039,11962,7136,12108,12030,12096,12135,11984,11788,1801,12267,12142,6650,12296,12404,3088,11893,12274,12100,12330,476,12102,11969,8806,1245,12037,7241,3296,7530,12145,11781,12330,11447,12194,12358,12011,11872,2958,11992,7049,3139,11938,7619,7128,12319,12440,2362,6691,12426,12334,3161,11810,12284,11986,3159,7426,12417,11791,3314,12185,12057,12418,12178,3241,11951,12103,3698,7496,3004,7729,12414,12287,3328,12121,11993,2527,12460,12457,12282,11727,12107,12386,11921,12454,6854,12033,2293,
3027,12432,7249,11978,11953,2145,1848,12438,2410,2936,12410,1468,8450,3043,3490,10792,3194,3050,12144,6886,8552,7709,7564,7712,12151,6580,7716,7289,6798,7291,12157,7293,12159,6688,2822,2048,2824,5414,10930,11917,12462,10215,7689,9380,9996,11862,11830,6777,8750,11965,12360,3777,7098,12363,12482,12286,6650,12497,7577,12269,3130,11801,2586,12537,11811,12403,12142,11815,12006,11977,8143,12549,3240,12336,12180,12366,91,12182,11765,12268,2850,11809,12299,7444,12562,7680,7449,7448,7119,7453,6563,7456,12503,
3184,1753,11855,12008,2581,11815,12042,12527,12293,109,12111,12235,6887,6994,12115,12239,12142,3219,12569,10578,2757,7115,12304,7118,6291,12576,7455,7857,12531,12449,7255,4623,12466,7727,7497,6540,8233,12211,2337,10372,12214,11332,10004,11334,12218,11337,12117,12317,11665,12495,11793,12289,11960,11867,12321,12355,7554,12556,11609,2726,12441,7694,12636,12392,12474,12118,7197,12443,12246,2936,12631,12448,12445,12354,3977,12535,12200,3344,7169,7737,4615,12435,12171,1846,12494,2551,12201,12012,2531,12098,
12174,12461,12645,6953,12413,12411,2923,12273,12540,12264,12496,12485,1585,3705,9749,10032,10380,476,6242,2995,5962,11688,10460,4829,10267,4374,2198,10562,4286,9216,9667,12697,4357,8315,11255,353,8286,10380,491,786,6407,8276,5090,10996,10408,10440,8721,9315,98,423,6525,8323,11171,256,7350,9011,11203,10775,296,4857,11284,357,11403,7978,1150,12717,12082,11972,526,1703,4588,11436,12655,12387,12734,1703,11433,11425,3634,5153,12206,2165,614,98,115,6749,12736,12742,6366,12739,6749,6826,12337,6887,12564,
12160,6209,12759,7109,12451,12312,9098,12753,7018,7443,12599,7446,6559,7024,12574,12604,3235,5274,12607,290,432,12188,1813,12285,7172,1703,7412,11780,4286,12752,12754,12768,63,7736,12792,5236,12794,4153,12555,12643,1031,12794,12610,5877,6536,12613,12468,12615,6361,12767,6857,12086,11417,12794,11995,9384,11997,276,6326,5108,4432,10880,12753,12791,11684,2069,1258,12717,11424,6617,6188,8796,2913,1094,9095,12753,12755,6947,7472,9112,3014,12805,11419,10985,8803,7375,12738,12753,12505,11750,1240,12508,
6335,11755,7285,4685,7287,12513,12154,12515,12156,7720,12158,7722,12268,12831,12225,6407,7542,12794,12832,6756,12834,7437,677,12001,12717,12806,7273,6812,12051,6863,12811,7730,12739,6761,7539,9281,12140,8765,3132,12735,7676,7111,12300,10870,6556,12601,6558,7682,12575,12781,9554,12825,6539,12076,12758,12772,12841,12356,12843,1192,12800,7698,12770,7532,12813,7434,12395,4473,12876,12836,1914,12879,1703,6646,12476,12915,12739,12929,8788,12660,1194,12880,4675,12506,12146,7562,11753,2482,12510,7567,11758,
12153,4690,7571,3071,12517,7574,12519,7576,12817,7606,8681,12839,12768,12598,6502,12303,12902,12779,7027,12905,7122,1509,12785,7606,9954,8676,12920,6973,7724,12611,12883,3002,12885,472,4788,2054,10459,12957,12740,6867,7056,3153,12867,12968,11086,1628,2635,12717,12719,108,391,432,12838,12795,6622,12658,12798,12325,12936,12928,6982,7757,12637,11856,13005,98,11783,7078,12063,6052,12916,7141,12737,12309,12789,13012,12917,12362,12984,7633,7512,2632,12138,12891,6764,12766,12753,12124,12771,13E3,2456,12852,
3054,12147,7710,12943,12857,7713,12859,7715,6796,12514,7718,12516,12865,12518,12989,3436,12969,7641,12582,12972,12958,7190,12061,3143,12324,12195,13011,12761,12561,12301,4707,12339,12565,12850,9543,12112,12562,10697,476,10728,4516,4110,10467,10850,1703,12995,12997,11661,10473,256,7475,8437,10859,808,2760,1059,3389,10755,5102,8665,10758,7369,6076,8066,10763,4195,6076,6258,8315,10777,3486,8173,10972,9283,10893,10471,8181,13087,10152,119,8196,10971,5441,101,13119,6883,3229,13123,7769,9111,13126,4124,
120,13129,4188,122,13132,5614,13135,7759,11400,9230,10470,9068,370,11721,1555,11654,4985,10813,11464,6447,11720,11715,11643,11623,11579,6232,5558,9423,8063,10380,12369,2842,10402,12848,10404,115,8223,3420,13089,10558,11363,8721,861,1700,6430,5146,10444,4995,2198,4790,10077,4789,4784,12726,6069,4797,9919,6441,10628,11740,826,5082,838,318,1309,4921,4440,4834,7315,3092,9785,751,13194,1590,11123,4965,7999,9496,5123,9806,4945,8455,11479,10822,1609,1443,9455,9082,2282,98,8594,9457,115,13219,5203,13148,
8935,8313,11060,834,4926,465,13203,6616,6246,11147,625,4870,6064,11139,10055,8439,4851,13231,568,2760,4964,4816,13207,6653,4892,4880,101,4810,613,4884,7310,5359,4818,7314,5362,4068,5622,9241,4188,9222,4012,13251,4854,4882,13255,4859,13196,4817,7313,4888,13261,4369,13192,602,13203,12127,11600,11568,1487,13244,5979,13273,5360,4065,13277,1059,13268,3608,13203,13288,4441,13276,5179,3600,13279,110,13233,12489,13235,7904,13244,4856,13271,493,13296,4887,102,4866,13299,2029,13201,13193,13015,5180,13286,5966,
4929,8020,4965,8142,5071,13301,9097,10590,5485,8941,13301,5590,11035,9242,9411,4293,5046,8003,6966,4113,610,5583,10385,46,13326,7630,1609,610,13334,7320,13347,5236,13293,465,7502,4897,5056,4899,13336,4953,13244,13283,11140,3354,5673,11008,11005,10748,10646,9351,5705,11327,10420,10419,10510,13339,12751,10424,614,5298,3780,11445,4139,11158,10431,10935,2948,13171,10895,11717,11168,8156,13390,13143,5962,10482,12721,11389,11209,8350,11175,11197,8233,11199,11735,8530,8360,11699,9295,9153,11392,9156,6123,
10495,11181,10497,11397,11187,10500,8378,11211,13184,11653,11649,1535,12732,495,11082,10886,4383,13369,8838,11007,11001,10413,11010,438,11590,10522,9746,9929,11092,7130,13373,110,10422,4286,9197,13164,10397,9393,11700,1795,10971,4447,3984,8862,8417,4452,11029,8420,12068,1501,11155,13240,10061,11083,12793,11126,11163,7478,13242,10530,10127,9912,11535,13467,9858,13266,9078,8684,4268,11454,5236,3040,9274,11677,11175,5541,11470,11835,2544,11096,712,8462,5081,9412,5112,11606,10725,13213,10535,353,11236,
9687,13149,7657,11213,10773,316,784,8833,11258,13371,9506,4478,9508,9832,12215,11336,9629,11335,9994,3898,370,11024,1636,8261,10512,13492,12223,9963,602,9842,11221,12620,11343,12622,11345,9947,9614,8066,10575,9865,10769,3039,9772,4558,11111,6295,8594,973,95,10634,12308,9577,2595,10742,9819,13521,13525,10006,11324,12625,13558,9841,9843,12396,10025,13542,9992,13524,9961,13566,9008,4542,11116,8597,8599,9722,8893,11243,1860,1312,834,10065,9862,12502,10020,11312,9624,10041,13540,13573,12624,9995,11309,
11355,8197,877,9525,13600,10609,10707,9288,11734,13404,10092,6083,10089,10077,10093,13409,13407,9050,10438,9302,10136,8645,10736,8628,9312,1265,10209,10640,945,10185,10219,10144,10273,5057,10320,345,10227,1164,10280,10365,11189,10376,8037,6229,10908,10900,10540,11662,12828,1605,6184,10943,3476,7940,10516,1992,12692,4012,8606,8792,4705,5552,11706,6442,13642,1547,83,1516,112,9898,7766,13636,12570,8151,8070,10644,10279,1612,13226,1818,8302,13395,9229,6042,5089,4745,10380,13450,6214,9199,8410,10406,12738,
103,11612,10274,11614,9934,830,1166,5389,5338,9401,2615,13699,6434,1662,2773,12713,5144,10627,8160,4741,11098,5065,12720,10456,826,1616,9945,9900,91,1166,10106,7810,44,13700,13706,44,6172,259,407,44,9125,522,709,103,111,13725,13705,491,2649,13726,13740,50,432,9460,602,260,397,592,3269,13722,9680,259,13738,13701,2685,13729,100,13731,13733,915,115,13736,13755,13706,3622,13765,13743,13745,13732,6286,13749,4550,8525,9201,10396,9212,13166,9357,6123,3424,9542,13263,9746,13474,13265,12489,6658,7863,6171,
900,281,100,309,5966,13601,11471,13681,288,67,1117,3227,103,10860,11214,10858,6378,13805,13154,1535,6107,5088,5118,7766,915,4839,5456,9289,12701,6966,1482,11449,2531,312,8576,11149,5388,11447,76,13825,1516,5183,9289,9499,2165,4839,13823,13830,13817,13827,8198,13510,10034,11459,13153,13146,10835,13516,13509,10438,11618,11522,13156,11725,13682,7338,7340,7973,7342,9127,8665,1607,13478,13531,10821,7945,13863,3608,7812,13706,5446,13217,10820,13503,9858,13466,11559,11532,13533,353,13868,465,13870,465,11675,
10100,11130,280,11034,13874,11601,12278,12727,10134,12715,438,9771,666,9906,7766,1645,13280,2760,12433,3014,9359,2609,13303,12245,7171,6749,3274,7632,2576,13908,13904,13788,12638,1773,13916,1309,13905,11745,2609,7166,13913,12083,13915,3859,7142,6163,8207,3399,13092,6428,3538,9305,7978,2337,10126,111,9966,10271,13631,10353,10315,1818,11738,7360,10250,2014,6022,1353,13638,8815,10141,13944,10189,13946,13633,10355,10169,10358,10319,13962,10317,10197,13894,8828,6381,8830,13428,256,8815,2442,12351,12128,
12130,108,5721,2454,12034,12522,3774,12036,12524,9452,1605,6546,10491,6555,12739,553,7331,6550,1828,6054,8822,13984,3203,13487,3042,290,8041,11592,13953,415,10126,13888,13477,7806,9863,11911,13918,8779,8786,12425,4586,2942,9410,12314,5223,12234,12089,12236,8522,12594,3216,6269,8550,12591,12507,8554,5248,5572,12029,12521,8776,2943,8807,13987,8809,12342,8812,4542,2337,12347,1752,12349,13658,8821,8853,1662,4852,293,6763,13949,4520,4568,3371,3404,1645,11406,6190,110,10963,118,5456,9739,786,13512,8932,
1585,14058,11731,1400,11173,8351,8639,4053,1442,9046,5156,8283,6211,6172,10110,10077,13406,11398,11208,5819,11186,9049,13421,3546,12213,13609,13892,9652,8378,14084,9728,14086,1139,5814,13417,3502,12687,13413,10493,10174,6134,3258,14080,5179,14082,6158,14103,13881,449,9770,13419,11184,13879,296,14118,10717,14120,2725,11196,11187,11560,14127,14102,9118,13416,13410,5515,14081,14136,6383,6011,9042,11203,14141,14083,14137,282,2641,14099,14113,11210,6160,14146,14117,14142,3398,13390,13973,341,13471,12428,
12939,4139,551,12667,12677,5294,13471,7173,13024,5479,12533,12674,3998,14163,11915,11959,4124,9755,9711,11902,4286,11427,1071,3462,13163,13688,9392,13690,6463,9188,6172,12881,7250,12977,6358,12810,12980,8233,14194,112,13038,6784,12941,12148,13042,12150,12945,11759,7717,11762,12951,11764,12765,6132,476,13923,12804,13471,12700,13547,3780,2648,13448,13486,4517,13444,11818,11908,13493,7543,268,9710,14220,1605,14167,12436,12534,12199,4369,13471,6609,11420,9362,921,11923,12379,4424,11926,7236,921,12328,
4124,14239,2930,2019,12664,879,1577,11544,1860,11542,526,14244,12179,12128,12764,12520,1470,12332,6355,11946,4498,5383,13943,13590,5953,11981,2966,14256,11803,12650,4188,14257,2347,12544,14287,14285,9562,14180,10931,7274,12105,14177,14105,12750,8685,7641,11768,14283,11891,12295,11795,12678,5164,7591,13019,1032,11412,13520,7221,11842,7184,14297,8943,112,13013,11860,6313,13471,12590,14025,6887,9385,8522,9387,4054,7243,11950,12909,1022,11803,14176,14162,14105,12530,14287,12032,12464,6653,14203,12455,
14307,3517,1616,5909,11205,7945,476,7967,11549,13302,1821,13991,9858,290,7641,12971,14343,13471,12385,11434,12387,12322,13014,13063,13016,14171,13007,12391,12914,14221,14105,11859,4284,14374,1881,11779,13648,7003,12280,14174,14331,14241,12552,8355,14184,14274,12104,14276,11348,8607,13660,9187,14267,12815,14310,14186,2185,12930,14375,14318,7459,14260,3101,12402,12481,10924,7641,11916,5071,9593,14391,14295,14393,34,13481,4591,6771,8434,14105,12874,7073,12834,1166,6194,1510,9576,1955,9410,4849,14390,
11797,11677,11565,11132,9863,12390,12062,14369,12844,13471,12447,9867,11591,4424,7991,32,1669,10587,14317,6212,12480,14365,6366,14371,13018,12757,636,12673,14407,14334,14304,14291,13385,5754,11546,8604,14265,14454,14087,14441,13062,13009,12799,14267,1688,630,14128,9700,1482,14237,8758,7634,12890,8763,11774,10019,14330,1877,2238,12816,14445,13002,14382,784,14203,12646,11982,14322,14105,9410,11405,14170,14376,14381,14507,14318,12627,3883,12484,14342,6052,14340,6970,14495,14105,12933,11851,4139,1482,
12421,7217,11854,14273,7474,11877,14294,3812,6758,11386,9230,7766,8042,13216,13890,7311,13223,103,13220,9086,10661,1417,13224,9555,4071,3856,2663,1504,14464,14248,4334,5118,9361,13777,9363,6463,319,10899,6391,8425,11469,13866,9858,574,5662,7172,1970,450,9136,13891,13284,1606,11551,4842,1720,6407,5437,4520,13577,8921,11113,13553,11118,10634,1714,5738,9723,5407,10943,13140,10766,1378,5693,8304,11687,7995,7413,13305,13486,435,11810,9700,4069,3901,11529,263,14439,13865,13875,11909,9701,14608,3993,594,
542,5005,7329,13336,14401,4101,10797,9171,747,287,14428,9176,14430,768,12343,1764,3199,5870,5593,14068,475,392,8604,7478,599,1117,400,12277,11106,9538,6241,565,4858,9497,99,70,1662,1514,2806,13685,8990,10386,1031,10564,8577,8272,10567,14604,8594,10571,8585,4520,6434,5650,13694,5057,13696,8906,2635,13175,5650,3851,9702,4435,7919,11447,14336,10692,8561,838,6407,5087,10538,14687,9742,7687,5718,3968,7531,13335,14286,2E3,14188,9354,9362,10398,3420,9868,84,7860,14224,4124,14633,8787,7535,14602,13821,11447,
78,653,11671,3440,115,13282,10936,13336,119,394,1713,85,8116,1696,1405,10314,5700,8033,13859,8035,14539,4965,11635,8880,672,9142,14734,7305,14680,6038,14550,13324,13248,5593,293,14597,602,8180,14557,10403,13452,14192,8217,14710,9170,6187,14627,32,14629,13499,1148,10912,1444,14593,13683,10527,6523,8994,9418,10945,5546,11168,13491,14566,13798,10706,12722,6464,14145,14108,14147,436,5087,69,14130,1606,14122,4554,14784,14139,14134,14101,3546,14788,14103,7838,1407,11708,710,14724,483,100,8727,1696,10914,
7476,292,10291,1515,10334,870,6101,114,51,10351,13945,10191,1818,14816,8674,14819,10361,296,337,4463,10166,841,403,5039,120,52,1466,10557,9243,14834,87,14725,13954,10364,10791,10633,13569,10236,14805,1713,5333,14809,10900,14811,10332,14814,559,681,394,14826,5111,14821,10354,841,14824,14859,14837,10169,13671,5334,13965,14832,664,475,14835,14867,10151,8561,14874,14841,14806,13968,866,13624,288,5399,6244,10974,14695,10331,14813,10293,3685,12049,32,2758,10564,8137,3366,14862,13947,14864,14858,14818,14876,
10278,10330,13638,14652,10186,11390,14855,14892,692,5087,14128,14009,4239,4309,287,14896,2760,5744,14899,13959,14822,10276,13951,10357,14831,10259,10277,10362,14882,7408,378,4110,436,13550,14911,14891,10334,692,648,14920,6286,14897,14923,14861,14925,14863,13602,14903,14860,14928,10158,5123,49,14930,712,14865,14904,14827,932,5123,50,14934,3421,9064,14873,105,120,14880,11022,10749,14856,3260,91,14833,14874,8007,14921,11285,6358,414,14900,13961,6756,3415,14945,519,14922,6358,14838,1993,14843,10641,11729,
822,762,13093,13901,12419,12020,12803,1881,2942,8824,14042,7907,2515,7743,13068,6572,9369,14035,8556,12240,14E3,11417,14002,116,12500,14396,7951,14007,293,14917,11564,14610,13864,14774,14038,2338,8777,14015,11936,1339,14525,14893,7074,14418,13975,12523,2282,12525,11903,13984,14021,11261,4012,8519,12775,7848,14027,12238,14029,2293,13905,7494,4475,6632,3093,12331,12429,11942,15003,15039,8785,13984,14721,3945,13979,13981,13999,14039,2944,14018,7984,14044,12344,8814,14047,14451,12348,9475,14051,12352,
2293,12244,15005,1940,1668,14054,6024,12139,91,14058,3744,862,10269,553,14063,6265,14066,100,14068,5183,14070,367,14073,7760,13971,9118,686,592,12344,8665,4436,13899,2623,3577,6495,9410,15119,9631,12889,11772,11574,14490,3744,661,9631,15122,6728,14409,14457,8480,6391,3940,12922,13538,12397,677,7439,15131,15120,4478,14179,12189,9760,718,2230,14497,7875,15152,6750,2741,14310,15125,9906,13026,11838,930,11924,6887,14252,4395,4499,3693,12530,15160,2623,6978,8749,14242,6366,3693,12746,7588,3572,975,15153,
12378,14830,14251,8730,14253,11081,13802,13028,12226,15129,12228,12893,6150,15147,2341,15068,1031,15182,6750,12544,15201,14456,12747,8066,15132,15161,7228,15163,8402,8737,15144,8739,14491,551,100,121,6776,14289,1443,15219,15154,15151,15139,7262,14310,5888,306,7159,11954,14001,15208,15121,6649,14312,13697,15143,2615,7517,400,2094,14469,299,14471,14470,14334,15218,12786,2059,7558,11144,15231,12662,12013,14400,15222,12292,12210,15258,15237,9955,12925,12398,11843,5594,15156,14164,12628,15092,15234,4478,
15236,15184,12165,15186,12167,15188,6352,15230,15140,13027,11839,12877,15240,15266,15172,3115,6628,14435,12064,15268,15149,12787,13124,15281,12231,12485,967,15258,15136,15206,14254,15218,12543,15299,8278,15249,11767,14415,8676,15178,12975,12807,12612,12884,7728,12886,4626,15272,2341,6754,15036,6966,15204,14514,14333,7687,15253,7144,11880,14515,3014,15288,15322,13925,15260,15309,13056,14528,6653,15335,13568,14360,14530,14292,15305,12870,6924,12229,4054,15305,11803,12544,3915,14521,12659,4286,15201,
14299,5220,15156,15306,15333,11685,1443,10926,9746,15217,15219,6979,11417,15242,3373,2884,15276,11925,15187,15168,6011,15197,11265,15210,8735,4102,13029,14489,15194,7638,526,15313,11748,15291,4465,6572,14207,13041,6789,6578,13045,12946,7569,12948,12155,12950,13051,12952,13053,11418,15297,12533,12544,15343,13535,6649,14255,14286,15301,12075,4205,15321,15383,7242,8756,15365,5356,15422,13535,15310,11744,15200,15363,15412,15307,15410,1514,15227,14461,15320,15382,15415,6905,15349,15096,7542,15414,2610,
15302,15180,4934,15226,15444,13030,12872,3693,12773,11039,7679,12901,7023,12305,12904,7029,12782,5866,15156,15199,1605,3915,14324,15053,14327,6790,14329,15447,15269,15421,15441,15004,14379,1940,15356,7409,15338,15371,14304,12087,15190,15284,15264,15214,7517,15370,15298,15426,1605,15229,15437,15372,15257,15339,1990,15346,14166,15419,15232,12816,3693,14512,15225,705,15510,14225,15428,3754,6627,13921,101,14485,14499,15509,15430,5294,15456,14372,14442,14477,6966,15447,14345,15524,3837,14320,14378,15478,
15126,15262,7180,15491,15286,14316,15436,15183,7512,9410,15374,9410,3915,13066,14269,13070,14217,15391,15533,13023,12539,15532,465,15250,5102,15051,15433,14386,3203,15201,12023,14032,12146,15015,7916,12094,15440,15133,15517,13930,15159,15515,13912,15518,15520,1059,15447,15162,12044,14403,14238,15261,15275,14939,8552,15167,2892,15207,15479,15579,15576,15439,15381,9631,3274,13909,15091,784,15498,15254,1003,15577,15479,15134,7519,15545,15586,15271,15479,7082,15185,15378,15278,15380,3792,13802,10110,
14263,1818,14472,15543,15157,12266,15435,15605,14696,15065,13486,15578,2525,9410,15326,12408,14387,14410,15573,9906,14446,15562,15226,15354,15435,15549,12846,11406,7705,15330,15127,15387,12227,12892,15390,15280,15437,14249,15617,15166,15379,15593,15329,15411,15420,13379,3837,15477,13548,15479,15124,15515,12827,10890,3503,10707,15160,10077,532,10580,101,13612,13424,8827,12729,15001,14803,1567,14107,11222,13615,14985,14950,14901,877,15688,13936,14963,9140,10359,11533,15701,2648,1363,10229,14534,13188,
11540,13399,11732,14090,14133,8233,14093,13613,6125,14098,15715,10092,6125,12619,14152,11195,14111,10119,7143,11396,14794,13616,5169,13662,13189,13716,11404,13205,14748,13336,13723,14282,13330,13502,14100,11164,8438,1328,1589,100,8913,6249,13212,15745,3972,13440,11153,13479,14614,14429,1325,6111,9544,13490,14574,11480,8423,14012,13878,8984,14614,542,15245,737,15626,1955,15624,841,15626,5159,13884,5623,5693,14736,4816,10513,14233,15780,6022,6126,9257,15028,600,15784,2862,15786,13880,6006,11566,5056,
14796,15746,5753,14049,8093,9261,14779,14233,8508,15799,10825,15770,11679,1585,13619,7766,8889,8192,1057,2359,1749,9914,14995,373,105,2671,368,3354,8497,350,5102,6453,11698,15732,10132,9323,10998,14161,973,11930,1860,13095,11932,490,14773,10055,521,539,8431,15829,365,10949,10641,4796,10554,13187,7338,6431,13508,6093,13340,6653,12692,14698,4012,122,15861,14526,1325,6436,13090,8031,9230,6449,14101,9330,3389,10211,15859,518,14577,4188,10658,7959,9456,14545,9458,10664,9461,10687,10668,9470,10670,9475,
10672,15892,10674,5853,9474,10681,15898,10689,9485,10689,5856,5807,9462,9482,5637,7994,12688,12818,877,15877,5461,10651,12738,9074,15912,712,15914,13675,14907,8315,13105,14595,257,598,320,80,10190,602,13112,3376,13807,13139,6042,6258,11714,121,1558,15933,8188,8665,5662,625,6629,11567,15766,9859,10972,15867,3014,14434,15341,6052,9769,14793,576,9773,15805,5359,9674,8594,9674,7686,9114,6257,15926,8316,7779,13849,826,11727,14189,7008,14191,10405,6463,12778,2453,13435,13810,316,1095,13667,9898,10993,13665,
15986,3378,13708,9446,13710,11547,34,11340,10801,6453,10125,14437,14610,10723,14125,6123,10107,6392,15725,701,2464,14124,11704,3502,16E3,13476,3103,10730,14795,15716,5622,11192,14152,9347,8829,11739,15736,1370,1561,14361,12358,13784,12038,1561,11152,8402,1166,14450,14452,13225,9026,8306,13228,8479,10559,1345,12589,15394,15040,994,7252,5517,16045,15059,12049,7252,8476,15468,2023,1561,15581,5680,432,14302,14019,5252,12250,11067,5633,12255,8540,5638,7933,5269,12260,688,12262,11079,5777,16045,13081,288,
11059,8479,10380,3534,98,109,15975,9407,15977,13779,13691,473,4021,14754,13451,13778,13167,8233,1307,52,16088,7406,13689,15978,9033,536,9426,15758,15787,16047,1192,14420,5236,10393,16102,7691,16104,16091,6463,12708,493,7855,9193,11060,12712,7042,10930,14713,4734,13799,34,663,476,13398,16026,5127,7392,13345,8148,13361,3663,11605,15743,8991,5871,4586,1426,16143,9137,7313,5593,5357,13501,4817,13198,13291,1408,10589,4062,8122,7847,8134,14590,8115,12688,8131,8105,8928,14586,4546,8111,16164,9021,3148,11110,
9397,11118,16173,11129,9131,6050,13346,5730,277,11468,5026,16183,8571,12703,15983,10849,14101,15937,13103,13098,11447,13329,11446,120,14227,14714,120,14230,6653,441,3857,9234,6253,712,15942,11659,8054,945,16208,14573,5077,14738,14676,14740,14594,8051,9233,8053,6410,14218,110,9106,15524,335,1696,6436,13067,7080,13485,16202,9110,13388,14709,13431,8189,13483,4188,14110,338,1869,16223,11660,14769,7338,9232,16215,16158,10517,5359,10592,8924,8124,14587,8931,8126,8114,14775,111,14716,291,258,10977,15765,
10055,4839,16201,6653,4839,16204,6052,4839,16198,13327,3602,5073,13835,8990,13249,16276,16134,16235,16273,476,10889,13836,11447,16228,8440,12688,16293,8990,55,13353,6966,520,16268,7998,11553,6052,5894,16265,114,16267,5347,3359,13827,15864,6711,8176,16282,16154,16284,12122,8116,16245,13344,8029,11852,16320,615,13351,10518,13336,16244,615,13329,16313,4286,9635,4304,15810,11531,15812,15797,1993,16325,108,16290,14659,5593,11148,16209,11936,16342,16237,4909,16328,5388,13422,15031,16144,15801,6183,11447,
16344,4124,1309,9753,14659,46,48,16318,1192,14498,1059,13656,4139,15866,10437,6453,14869,13180,15686,13618,10734,1481,13621,11709,11004,3407,8649,13627,10636,9059,3539,8610,1352,11995,15695,10242,13960,10275,2358,14905,13635,10279,10173,1585,6628,10815,11463,15972,8250,8332,10843,16192,9119,16194,10865,10894,13177,454,10712,12726,10615,16003,16012,13969,15815,14161,121,16316,4188,120,16428,4939,9498,16185,15822,1192,3617,5961,2059,16143,7738,6391,1696,16440,16373,16431,10563,3229,16446,12698,16442,
111,7410,10414,16345,13336,10655,12898,6052,15883,2511,9457,10663,5851,5411,10667,10664,10673,5841,15894,9466,15896,16469,15901,5851,5790,10667,9480,15907,9486,15905,10680,5862,15908,9488,7687,6391,16438,109,3203,5277,16449,13354,8174,16492,10751,10536,9686,13108,10756,15879,10485,13159,1506,5087,8072,10797,7300,10774,13107,2086,8081,325,9192,9695,16499,13097,11662,13099,11353,7824,16174,13820,7080,13515,14823,5504,9690,16510,317,8058,13109,6217,11519,11716,8164,10844,3537,15935,13851,11577,16536,
121,9662,8715,13446,9436,6090,13370,16136,13974,11242,8670,8703,14653,8705,10797,16369,16242,15051,13469,6941,16287,9113,15734,13711,1405,435,14572,14678,15711,15678,14782,16347,11179,7351,15718,260,16021,15721,8640,10438,15854,6071,15856,4775,11707,13190,340,11632,12047,7493,14894,6537,1820,1431,13247,4937,16346,8174,12209,14310,16574,1855,9410,4908,6063,8569,15785,13532,13893,7940,862,16597,374,14660,4219,4306,2035,14685,862,1855,14425,7138,1289,1654,13296,16156,13315,7505,16621,12559,7404,12530,
414,8117,3256,16600,1968,16623,7583,16612,16538,16455,4538,10925,16637,10972,16604,15613,784,4843,15738,16598,15740,4306,4954,4642,16646,6244,3147,16633,11421,34,591,780,14673,9304,5958,8594,5940,5958,9787,1307,9789,7603,4306,4167,12816,9224,16144,769,1420,5566,16257,8595,16683,2761,13790,3985,15088,13881,16638,1704,15650,12530,13528,16659,16693,13715,15948,15846,16631,16596,16650,4823,12559,5429,7334,4118,5179,15060,4593,15317,12614,14201,16005,16632,12529,16663,16590,12559,7410,1654,12019,14336,
16603,16639,15538,7734,7524,1654,14336,16635,16245,16660,16722,11417,16574,15952,1192,7475,15179,4062,13297,4835,15450,438,7475,12832,16744,7313,13314,16747,13527,9860,16736,1431,11536,14233,11632,16627,5361,16629,4445,9764,16543,16703,16700,16269,7945,16734,6243,16699,11747,11955,12976,7495,4594,16625,13400,3995,16218,11087,9282,8010,16569,15873,4802,5305,438,9792,2647,15100,2761,1406,5608,11309,1429,2760,16762,13290,16764,13292,16774,14196,14531,16778,12051,490,13917,13910,16317,5085,13845,11722,
16191,3462,4987,16417,5901,15692,15834,6123,15717,16379,9323,16425,16588,454,14506,5625,16368,1031,16739,2907,16031,16813,15740,11009,5193,15096,13368,3938,8843,11090,13376,6692,11094,2434,13495,528,13497,10170,16240,5614,16559,13385,14024,15053,12593,15056,6772,16563,8605,7060,15568,12025,14034,15571,5573,8805,16065,6699,4424,12253,7923,16069,11071,8541,5639,7934,16074,5267,11077,5271,16077,12906,11081,16561,11807,10436,13389,11256,2801,13098,12687,7863,109,11328,8673,8402,1192,15980,9542,6763,10848,
14632,11304,15750,102,9525,6221,12255,9410,16113,14436,12688,16900,16556,11095,13678,16041,8297,13229,8438,16111,14661,16909,79,16911,11349,5657,917,2661,16233,6052,15826,1713,16930,16912,10804,12255,6808,8483,3462,8486,11669,4055,16938,16910,16941,1549,8871,2684,8781,16873,12128,12252,16068,11070,7931,16880,16072,5641,11076,16882,12263,6132,11447,13823,16919,14817,7558,16929,16931,3533,5657,16954,1328,6918,14801,339,8471,363,15830,11443,16501,10474,8500,6083,9433,7961,10964,10960,8065,16820,13974,
946,10713,9164,16565,9303,13862,11408,4268,16996,8074,12704,15767,8886,6037,10039,9641,15961,5549,16339,16611,17010,16186,9979,14126,14647,353,13384,14185,10585,3748,16361,4968,11656,16546,10477,5330,10065,16549,8665,624,8701,395,16554,16901,16557,814,10648,17032,10650,13676,303,15850,312,13507,16408,584,13518,11168,9581,12621,11321,12623,13572,11347,13401,10268,16458,4706,3607,7901,3610,8815,11311,110,14716,1513,13594,17059,13541,10007,11322,17071,13536,11271,17057,13539,17076,13596,17061,12219,
4056,11354,11351,16643,13585,17090,16544,14162,13461,17064,13672,12899,11032,1753,1417,2337,17071,11104,17075,12216,13523,13597,13526,11338,9605,17107,13522,9904,17110,9518,5908,10589,10012,11113,13580,8111,14588,10912,3546,17098,11044,15458,14286,9623,13640,13570,17117,10044,17087,13566,5966,348,364,351,13100,17140,15830,9941,15122,5693,6116,17114,13563,17136,17078,9890,8283,17097,12695,4243,15881,13842,16572,13400,13607,16576,16420,16382,1402,15685,14108,6132,6083,14088,16826,8251,16828,9304,10630,
11218,10632,16387,10635,11112,10637,529,6305,5945,11671,3553,8263,10744,601,3336,10641,15921,8068,10380,8531,6041,16958,2772,11069,16881,9477,16961,16882,7936,16885,16968,16131,16987,17053,8628,16176,16681,16256,12345,13579,8927,16171,8929,17125,11165,6086,1057,8255,8897,7946,10601,15806,14613,15813,14781,17162,16017,16823,9007,10611,17164,17169,16421,11212,16380,13896,15690,17178,16386,10199,10741,9312,1585,258,4749,4751,15247,16539,9323,15626,11693,9427,11166,14687,99,9327,16428,14636,16329,4429,
16212,16348,345,11693,17268,11061,16330,12996,16549,841,11693,15916,2544,16342,17272,737,17271,16247,16213,13285,4879,1420,17042,13264,13267,9860,8720,6407,9325,10863,17046,5461,9667,9285,11165,1813,837,99,11328,17264,7334,16616,4907,9860,5336,1118,16134,17276,877,11693,9751,17048,3520,1514,3750,3726,111,2279,13364,16270,392,9710,17263,16434,5069,6346,4188,15945,6173,15911,5123,8913,9638,8491,14778,17230,16340,436,16215,11692,17298,16222,16215,9791,17328,16331,9565,17307,11124,13336,305,6532,16920,
14722,7532,5130,16231,4429,15677,16827,10409,13158,16568,1441,16788,5650,7765,11444,13655,1992,16374,13389,17002,8721,5118,10921,13645,5289,13647,16857,12698,394,452,4774,14562,7902,15753,14575,10934,15481,784,16370,438,16372,4286,9792,8802,877,16505,11369,17366,17174,17368,8558,7963,373,14581,8273,13257,4816,13289,4442,16157,1749,14600,1974,16129,16564,8827,17414,8318,13512,9038,86,2539,6603,306,1385,14161,4057,2875,5631,16935,15328,14266,13461,1349,5693,17269,17018,14893,7964,8176,6700,10875,395,
780,2877,592,7979,277,17071,14727,7863,17120,14313,17084,17108,17116,17137,9995,17461,15024,8965,11137,732,65,14068,1662,13211,14279,4565,1688,4578,4455,10060,9858,14607,17013,4309,17474,1868,17477,15032,13591,110,77,7864,10024,17135,11323,11344,10046,5921,552,3402,282,14062,3406,7514,3400,17503,4009,15102,3406,2615,17508,3403,17511,12376,9728,13461,17483,14614,5448,117,11007,8319,5996,3393,10035,10393,7919,17495,17134,17467,17466,17153,13543,13527,3258,10107,16337,16609,15807,16340,14623,592,15122,
17539,14611,16154,16358,4055,3753,9047,2354,17480,9783,17150,13575,17109,17533,17118,353,103,10057,9817,101,17488,17476,5688,14279,319,1442,13756,9768,4862,8848,4210,8579,1563,5827,16685,515,1027,8585,11775,2333,435,12843,7478,2452,1514,397,114,14910,16357,17022,15802,8377,13756,10929,112,6184,9497,477,17520,14233,11316,336,17312,373,8491,6555,389,279,17453,10572,6203,17457,12607,17552,11448,10215,9782,8420,17557,9969,12217,17560,9882,13567,4524,17529,101,17554,4567,17624,17496,17628,17498,13595,
17062,17479,17635,4455,258,1688,3585,5391,1822,11306,3616,8272,7847,17649,5210,17651,3358,13557,3622,17567,1430,16936,17597,8062,8254,8453,3371,9732,4062,2690,15116,631,7847,17670,849,2209,3268,6734,17623,4455,17660,17490,10055,14991,16320,602,6407,13619,6358,949,5485,13527,282,107,1426,17600,17602,1420,17605,16340,8349,7812,4300,108,17540,17021,17017,17023,1487,4862,11387,15388,501,5402,17679,12349,17469,2206,13446,11652,10070,14782,17133,14139,9044,759,17610,751,16579,14095,11208,16014,14010,5319,
14091,8330,13091,15E3,15700,16382,13938,495,5399,65,12753,13994,323,10402,14812,10750,16117,14191,16395,14731,16398,15976,8214,14994,5037,13638,8948,14068,323,17210,1586,14986,17755,528,1527,58,40,41,32,61,62,1171,4058,11114,14932,1251,615,310,743,14967,14060,323,262,15951,1686,14912,10334,17175,17753,13632,17767,16103,14191,14994,4436,435,115,78,8317,10364,319,17787,13121,16930,9771,17800,14890,17750,11106,14924,16396,14926,14190,17757,10169,17799,3637,17802,3524,15703,13709,16587,14955,17280,15951,
13638,3981,13899,17806,8974,13958,17815,14951,712,17175,14994,2677,13121,14967,5399,66,121,17809,17821,10164,14940,17812,7543,2635,17688,14820,15696,14987,17817,14756,17798,8580,17801,17803,10641,3649,15929,13806,16988,256,16831,16365,16833,1605,16835,16365,16299,11969,16148,15881,16150,16146,8143,16142,17879,8875,17881,11084,17416,4832,16745,13199,12387,10511,16154,3781,8214,17612,16178,11116,15910,16636,16167,8121,16169,16162,17898,11113,8129,279,17902,3945,16163,17899,8138,6178,14601,7320,17872,
2149,17331,16182,16710,8713,10438,10861,10442,275,11467,10108,1409,14639,16585,4801,6044,17868,769,5578,17029,8143,5578,6100,12991,1272,13720,620,110,14068,2454,11247,830,3523,103,9576,9070,17941,13719,11840,1077,392,17947,2615,1076,17951,17953,8682,17387,12799,9096,9108,3539,16272,13016,8682,2439,5578,16278,8097,5578,17971,4504,17937,17408,8332,16583,3372,16570,15995,16508,17429,8724,17055,11406,9946,17535,17086,17994,17062,9507,1635,14847,15142,13571,17996,11275,17499,17997,3115,10036,3991,274,
1700,17956,11273,17115,13564,18005,17088,14706,10561,14708,17131,13559,15311,14977,18013,17151,17639,17085,18006,9604,18E3,17083,9901,18003,17627,18034,9995,14583,3945,10594,17219,10596,13582,16755,16766,10066,14606,18010,8694,17705,545,17596,3972,3753,3662,17188,17532,18036,17534,13565,17468,4989,16249,4775,9655,180,11350,9149,11353,9660,8172,11170,17233,5909,13608,16580,17170,17167,16822,16008,17664,338,17172,17169,14160,17740,17177,11710,17179,17247,5945,5399,4774,8711,5394,1869,16837,10365,14941,
11818,13560,10762,1489,14572,16443,664,97,14754,17749,14976,7374,8036,769,10205,9897,10208,17186,13593,13641,34,8559,16636,5421,14741,9125,13860,15884,17037,115,9854,83,9134,13232,14658,16154,17922,6247,9920,9082,18128,5529,16685,3637,9854,44,102,9853,97,15992,16193,13857,7971,9143,9226,17898,12541,7170,2676,8683,10612,17815,1686,14457,6523,10554]});
define("hP",["require","dZ","nV"],function(a){function b(a){var b=j[a];if(b)return b;if("string"!=typeof a)return j[a]=function(){return a};var c=(b=n.exec(a))&&parseFloat(b[1]);switch(b&&b[4]&&b[4].toLowerCase()){case "vw":return j[a]=function(a){return a*c};case "vh":return j[a]=function(a,b){return b*c};case "vmin":return j[a]=function(a,b,f){return f*c};case "vmax":return j[a]=function(a,b,f,j){return j*c};default:return j[a]=function(){return a}}}function e(a){this.Pa=a;this.LG=this.LG.bind(this);
this.Pa.bind(c.uc,this.Sb,this,m);this.T6=new Map;this.gt=[];this.Sb()}function d(a,b,c,j){var n={};n.$d=a;n.DTa=b;n.name=c;n.value=j;i.push(n);f||(f=setTimeout(function(){f=r;g()},100))}function g(){f&&(clearTimeout(f),f=r);var a=i;i=[];a.forEach(function(a){e.SV(a.$d,a.DTa,a.name,a.value)})}a("dZ");var c=a("nV");e.prototype.Sb=function(){this.mNa();this.T6.forEach(function(a){for(var b in a)this.LG(a[b])}.bind(this));this.gt.forEach(this.LG)};e.prototype.mNa=function(){var a=this.Pa.Ra(),b=this.Pa.yb();
this.KV=0.01*a;this.EV=0.01*b;this.Rpa=Math.min(this.KV,this.EV);this.Qpa=Math.max(this.KV,this.EV)};e.prototype.LG=function(a){a(this.KV,this.EV,this.Rpa,this.Qpa)};e.prototype.ONa=function(a){this.gt.push(a)};e.prototype.BRa=function(a){a=this.gt.indexOf(a);0<=a&&this.gt.splice(a,1)};e.prototype.SV=function(a,c,f,j){function i(b,j,d,g){c.call(a,f,n(b,j,d,g))}var n=b(j);(j=this.T6.get(a))||this.T6.set(a,j={});j[f]=i;i(this.KV,this.EV,this.Rpa,this.Qpa)};e.Sc=new Map;e.get=function(a){var b=e.Sc.get(a);
b||(b=new e(a),e.Sc.set(a,b));return b};e.SV=function(a,b,c,f){var j=a.get&&a.get("application")||a.tb&&a.tb();j?(g(),e.get(j).SV(a,b,c,f)):d(a,b,c,f)};var i=[],f=r,j={},n=/^\s*((\+|\-)?(\d*\.)?\d+)\s*(vmin|vmax|vw|vh|px|%)?\s*$/i;return e});
define("lG",["require"],function(){function a(a,b){var g=a.split(b),c=g[0];(g=g.slice(1).join(b))&&(g=b+g);return[c,g]}var b=window.URL||G();b.nm=document.createElement("a");b.Esa=function(a){if(b.Jh("crossorigin",B)||b.ZW(a)){var d=window.location.protocol+"//"+window.location.hostname;window.location.port&&(d+=":"+window.location.port);return a.substring(0,d.length)!=d}return B};b.ov=function(a,d){if(b.MQa(a))a=window.location.protocol+a;else if(!b.ZW(a)&&!b.py(a)){if(d)if(0==a.indexOf("/")){var g=
d.indexOf("//"),c="";0<=g&&(c=d.substr(0,g+2),d=d.substr(g+2));g=d.indexOf("/");0<g&&(d=d.substr(0,g));a=c+d+a}else a=d+a;b.nm.href=a;a=b.nm.href}return a};b.BQa=function(){switch(window.location.protocol){case "http:":case "https:":return m;default:return B}};b.MQa=function(a){return 0===a.indexOf("//")};b.ZW=function(a){if(!a)return B;var b=a.indexOf("://");return 3<=b&&5>=b?m:0==a.indexOf("filesystem:")};b.py=function(a){return a&&0==a.indexOf("data:")};b.getDirectory=function(a){a=b.ov(a);a=a.split("?")[0];
a=a.split("/");1<a.length&&a.splice(a.length-1,1);return a.join("/")+"/"};b.Gi=function(a){b.sF||(b.sF=b.xha());return b.sF[a]!==l};b.Xp=function(a){b.sF||(b.sF=b.xha());return b.sF[a]};b.gy=function(b,d){if(!d)return b;var g=a(b,"#"),c=g[1],g=a(g[0],"?"),i=g[0],g=g[1];return 0<=g.indexOf(d)?b:i+(g+(g?"&":"?")+d)+c};b.parse=function(a){b.nm.href=a;a={};a.protocol=b.nm.protocol;a.hostname=b.nm.hostname;a.port=b.nm.port;a.pathname=b.nm.pathname;a.search=b.nm.search;a.hash=b.nm.hash;a.host=b.nm.host;
var d=a.pathname?a.pathname.lastIndexOf("."):-1;a.JOa=0<=d?a.pathname.substr(d).toLowerCase():"";return a};b.yVa=function(a){return a.protocol+"//"+a.hostname+a.pathname+a.search+a.hash};b.getExtension=function(a){var a=b.parse(a).pathname,d=a.lastIndexOf(".");return 0<=d?a.substr(d,a.length):""};b.Jh=function(a,d){var g;a:switch((b.Xp(a)||"").toLowerCase()){case "false":case "0":case "no":case "n":g=B;break a;case "true":case "1":case "yes":case "y":g=m;break a;default:g=d}return g};b.Ara=function(a,
d){var g=parseInt(b.Xp(a));return isNaN(g)?d:g};b.xW=function(a){a=parseFloat(b.Xp(a));return isNaN(a)?l:a};b.sF=r;b.xha=function(){for(var a={},b=window.location.hash.substring(1).split("&").concat(window.location.search.substring(1).split("&")),g=0;g<b.length;g++){var c=b[g].split("=");a[decodeURIComponent(c[0])]=1<c.length?decodeURIComponent(c[1]):r}return a};return b});
define("kL",["require","dZ","jquery.mod"],function(a){var b=a("dZ"),e=a("jquery.mod"),d={oQa:function(a,b){function f(){}f.prototype=b.prototype;a.prototype=new f;a.prototype.constructor=a},RB:function(a,b){b.forEach(function(b){Object.getOwnPropertyNames(b).forEach(function(j){a.prototype[j]=b[j]})})},extend:function(){var a=arguments[0],b=arguments[arguments.length-1],f=Array.prototype.slice.call(arguments,1,arguments.length-1);d.oQa(b,a);d.RB(b,f);return b},deferred:function(a,i){return function(){var f=
arguments;b.defer(function(){a.apply(i,f)})}},aq:function(a,i){var f=B;return function(){f||(f=m,b.defer(function(){f=B;a.apply(i||window)}))}},memoize:function(a,b,f,j){a.hK||(a.hK=[],a.Y3=[]);for(var n=a.hK,d=0,g=n.length;d<g;d++){var e=n[d];if(j.length==e.length){for(var q=m,t=0,s=j.length;t<s&&q;t++)q=e[t]==j[t];if(q)return a.Y3[d]}}f=f.apply(window,j);a.hK.length==b&&(a.hK.shift(),a.Y3.shift());a.hK.push(j);a.Y3.push(f);return f},BE:[],vVa:function(a,b){var f=d.TBa();window[f]=function(){a.apply(b,
arguments)};d.BE.push({handler:a,context:b,callback:f});return f},OVa:function(a,b){for(var f=0;f<d.BE.length;f++){var j=d.BE[f];if(j.handler==a&&j.context==b)return j.callback}},zWa:function(a,b){for(var f=0;f<d.BE.length;f++){var j=d.BE[f];if(j.handler==a&&j.context==b)return j=j.callback,d.BE.splice(f,1),delete window[j],j}},TBa:function(){var a;do a="__callback_"+d.jua(8);while(window[a]);return a},jua:function(a){for(var b=[],f=0;f<a;f++)b.push(Math.floor(16*Math.random()).toString(16));return b.join("")},
HOa:function(a){d.UE=e("<div></div>");d.UE.css({overflow:"auto",position:"absolute",bottom:0,left:0,right:0,padding:"20px",fontFamily:"Verdana",backgroundColor:"#FFFFFF",color:"#000000","z-index":100});a?d.UE.css({top:0}):d.UE.css({width:"40%",right:"0",left:"auto",height:"50%",filter:"alpha(opacity=60)",opacity:0.6});e("body").append(d.UE);console.log=function(a){d.log(a)}}},g;d.log=function(a){if(a!=g){g=a;try{d.UE?e("<div></div>").text(a).prependTo(d.UE):console.log(a)}catch(b){}}};d.pWa=function(a){this.B1.push(a)};
d.B1=[];d.debug=function(a,b){try{b.apply(this,arguments)}catch(f){d.dX(a,f),h(f)}};d.dX=function(a,b){var f=[];f.push("Exception: "+a);b.message?(f.push(b.message),f.push(b.stack)):f.push(b);this.log(f.join("\n"));for(f=0;f<this.B1.length;f++)this.B1[f](b)};d.clone=function(a,b){var b=b||0,f=new a.constructor,j;for(j in a)if(a.hasOwnProperty(j)){var n=a[j];0<b&&n&&"object"===typeof n&&(n=d.clone(n,b-1));f[j]=n}return f};d.DOa=function(a){for(;;){var b=a.pop();if(b==a.length)break;a.splice(b,1)}for(var b=
[],f=0;256>f;f+=1)b[f]=String.fromCharCode(f);for(var j="",n=256,d=String.fromCharCode(a[0]),g=d,f=1;f<a.length;f+=1)j=a[f],j=b[j]?b[j]:d+d.charAt(0),g+=j,b[n++]=d+j.charAt(0),d=j;return JSON.parse(g)};d.toArray=function(a){return a===l||a===r?[]:!Array.isArray(a)?[a]:a};"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(a,b){a==r&&h(new TypeError("Cannot convert undefined or null to object"));for(var f=Object(a),j=1;j<arguments.length;j++){var n=arguments[j];
if(n!=r)for(var d in n)Object.prototype.hasOwnProperty.call(n,d)&&(f[d]=n[d])}return f},writable:m,configurable:m});return d});
define("mR","require,jquery.mod,dZ,bn,hP,lG,kL".split(","),function(a){function b(a,b,c){this.QD=a;this.GI=c;this.wT=b.parent;this.TFa=b.isValidRoot||B;this.b5={};this.V4=[];this.wla=[];this.vla=[];this.CQ={};var a=b.properties||{},f;for(f in a){c=a[f];this.b5[f]=c.type;c.isUrl&&this.wla.push(f);c.isSize&&this.vla.push(f);c.order!==l&&(this.V4[c.order]=f);c["default"]!==l&&(this.CQ[f]=c["default"])}this.tla=[];this.ula=[];var b=b.events||{},i;for(i in b)b[i].isDeferred?this.tla.push(i):this.ula.push(i);
this.Pw=this.vw=this.fJ=this.IU=this.xB=this.yV=this.JB=this.eE=this.ED=this.qI=l;this.uia=B}var e=a("jquery.mod"),d=a("dZ"),g=a("bn"),c=a("hP"),i=a("lG"),f=a("kL"),g=f.DOa(g);b.prototype.yPa=function(){if(this.wT)return b.sj(this.wT)};b.prototype.dC=S("QD");b.prototype.KN=function(){return this.Lw()?this.Et().KN().concat(this.QD):[this.QD]};b.prototype.hasAttributes=function(){return this.tW().length>0};b.prototype.hasAttribute=function(a){return this.L9(a)?m:B};b.prototype.tW=function(){this.qI==
l&&this.Bfa();return this.qI};b.prototype.Jra=function(){if(this.V4)return this.V4;if(this.Lw())this.Et().Jra();else return[]};b.prototype.sra=function(){if(this.eE)return this.eE;this.eE={};if(this.Lw()){var a=this.Et().sra(),b;for(b in a)this.eE[b]=a[b]}if(this.CQ)for(b in this.CQ)this.eE[b]=this.CQ[b];return this.eE};b.prototype.L9=function(a){this.ED==l&&this.Bfa();return this.ED[a]};b.prototype.fQa=function(){return this.Sra().length>0};b.prototype.Sra=function(){this.JB==l&&this.Ifa();return this.JB};
b.prototype.MPa=function(){this.yV==l&&this.Ifa();return this.yV};b.prototype.eQa=function(){return this.Qra().length>0};b.prototype.Qra=function(){this.xB==l&&this.Hfa();return this.xB};b.prototype.KPa=function(){this.IU==l&&this.Hfa();return this.IU};b.prototype.VPa=function(){return this.Q9().length>0};b.prototype.dsa=function(a){this.vw==l&&this.XD();return this.vw.indexOf(a)!=-1};b.prototype.Q9=function(){this.vw==l&&this.XD();return this.vw};b.prototype.ZPa=function(){return this.V9().length>
0};b.prototype.esa=function(a){this.Pw==l&&this.XD();return this.Pw.indexOf(a)!=-1};b.prototype.V9=function(){this.Pw==l&&this.XD();return this.Pw};b.prototype.WPa=function(a){this.fJ==l&&this.XD();return this.fJ.indexOf(a)!=-1};b.prototype.hPa=function(){this.fJ==l&&this.XD();return this.fJ};b.prototype.Bra=function(){return this.TFa||this.Lw()&&this.Et().Bra()};b.prototype.Sp=function(a,b,c,i){this.gIa(b,c);var d=this.GI,g;g=i&&i.length>0?new (f.extend(d,function(){d.apply(this,i)})):new d;g.set("application",
a);g.set("baseDirectoy",b);g.set("queryStringParameters",c);g.set("class",this.dC());return g};b.prototype.gIa=function(a,b){if(!this.uia){this.uia=m;this.WBa(a,b);this.ICa();this.uya()}};b.prototype.WBa=function(a,b){if(this.fQa()||this.eQa()){var f=this.GI.prototype,d=this.MPa(),g=this.KPa(),e=f.set;f.set=function(f,k){if(d[f]){k&&!i.py(k)&&!i.ZW(k)&&(k=i.gy(i.ov(k,a),b));e.call(this,f,k)}else g[f]?c.SV(this,e,f,k):e.call(this,f,k)}}};b.prototype.uya=function(){var a=this.GI.prototype;this.tW().forEach(function(b){Object.defineProperty(a,
b,{get:function(){return this.get(b)},set:function(a){this.set(b,a)},enumerable:m,configurable:m})})};b.prototype.ICa=function(){var a=this.GI.prototype,b=this;if(this.hasAttributes()){a.set=a.set;a.get=a.get}if(this.VPa()||this.ZPa()){a.bind=a.bind;a.getBindings=a.TG;a.hasBindings=a.bsa;a.trigger=a.trigger;a.unbind=a.unbind}a.getClassName=function(){return b.dC()};a.getClassPath=function(){return b.KN()};a.getAttributeNames=function(){return b.tW()};a.getEventNames=function(){return b.hPa()};a.hasEvent=
function(a){return b.WPa(a)}};b.prototype.Bfa=function(){this.qI=[];this.ED={};for(var a in this.b5){this.qI.push(a);this.ED[a]=b.c2(this.b5[a])}if(this.Lw())for(var c=this.Et(),f=c.tW(),i=0;i<f.length;i++){a=f[i];if(!this.ED[a]){this.qI.push(a);this.ED[a]=c.L9(a)}}};b.prototype.Ifa=function(){this.JB=this.wla.slice();if(this.Lw())this.JB=d(this.JB).union(this.Et().Sra());this.yV={};for(var a=0;a<this.JB.length;a++)this.yV[this.JB[a]]=m};b.prototype.Hfa=function(){this.xB=this.vla.slice();if(this.Lw())this.xB=
d(this.xB).union(this.Et().Qra());this.IU={};for(var a=0;a<this.xB.length;a++)this.IU[this.xB[a]]=m};b.prototype.XD=function(){this.vw=this.tla.slice();this.Pw=this.ula.slice();if(this.Lw()){this.vw=d(this.vw).union(this.Et().Q9());this.Pw=d(this.Pw).union(this.Et().V9())}this.fJ=d(this.vw).union(this.Pw)};b.prototype.Lw=function(){return this.wT?m:B};b.prototype.Et=function(){return b.sj(this.wT)};b.Y_=new Map;b.dfa=new Map;b.pVa={};b.G=function(a,c,i){var c=f.extend(c,function(){i.apply(this,arguments);
var a=d.sra(),b;for(b in a)this.set(b,a[b])}),d=new b(a,g[a],c);b.Y_.set(a,d);b.dfa.set(c,d);return c};b.getAll=function(){var a=[];b.Y_.forEach(function(b){a.push(b)});return a};b.sj=function(a){return b.Y_.get(a)};b.VOa=function(a){return b.dfa.get(a)};b.va=function(a,c){var f=b.sj(a);if(d(c).isNull())return m;if(c&&c.constructor)for(var i=b.VOa(c.constructor);i;){if(i==f)return m;i=i.yPa()}return B};b.c2=function(a){switch(a){case "string":case "code":return b.nLa;case "number":return b.nGa;case "bool":return b.Nza;
case "color":return b.OAa;case "percent":return b.QHa;case "size":return b.GKa;case "identifier":return b.fFa;case "array":return b.iea;case "canvas":return b.oAa;case "img":return b.iFa;case "dict":return b.SHa;case "*":return b.xCa;default:if(b.BFa(a))switch(b.wDa(a)){case "array":var c=b.c2(b.Pga(a));return function(a,f){for(var a=b.iea(a,f),j=0;j<a.length;j++)a[j]=c(a[j],f);return a};case "enum":var f=b.Qga(a);return b.xDa(f);case "or":var f=b.Qga(a),i=d(f).map(function(a){return b.c2(a)});return function(a,
b){for(var c=0;c<i.length;c++)try{return i[c](a,b)}catch(f){}h("Invalid value")};default:h("Invalid type validator definition: "+a)}else return b.cm(function(c){return b.va(a,c)})}};b.BFa=function(a){return a.indexOf("[")>=0&&a.lastIndexOf("]")==a.length-1};b.wDa=function(a){return a.substring(0,a.indexOf("["))};b.Pga=function(a){return a.substring(a.indexOf("[")+1,a.lastIndexOf("]"))};b.Qga=function(a){for(var a=b.Pga(a),c=[],f="",i=0,g=0;g<a.length;g++){var e=a.charAt(g),f=f+e;switch(e){case "[":i++;
break;case "]":i--;break;case ",":if(i==0){c.push(f.substr(0,f.length-1));f=""}}}f!=""&&c.push(f);return d(c).map(function(a){return b.eMa(a)})};b.eMa=function(a){return a.replace(/^\s+|\s+$/g,"")};b.cm=function(a){return function(c,f){if(!a(c)){typeof c!="string"&&h("Invalid value");c=b.GCa(c,f);a(c)||h("Invalid value")}return c}};b.GCa=function(a,b){return function(){return eval(a)}.call(b)};b.xCa=function(a){return a};b.nGa=b.cm(function(a){return Object.prototype.toString.call(a)=="[object Number]"});
b.nLa=b.cm(function(a){return typeof a=="string"||a===r});b.Nza=b.cm(function(a){return a===m||a===B});b.iea=b.cm(function(a){return Object.prototype.toString.call(a)=="[object Array]"});b.oAa=b.cm(function(a){return a&&a.tagName=="CANVAS"});b.iFa=b.cm(function(a){return a&&a.tagName=="IMG"});b.xDa=function(a){return b.cm(function(b){return a.indexOf(b)!=-1})};b.aR=function(a,b){return d(a).isString()&&b.test(a)};b.fFa=b.cm(function(a){return b.aR(a,/^[a-z][a-z0-9_]*$/i)});b.QHa=b.cm(function(a){return b.aR(a,
/^\s*([+-]?\d+\.?\d*)%\s*$/i)});b.GKa=b.cm(function(a){return b.aR(a,/^\s*([+-]?\d+\.?\d*)\s*((vw)|(vh)|(vmin)|(vmax)|(px))\s*$/i)});b.OAa=b.cm(function(a){return b.aR(a,/^#[0-9a-f]{6}$/i)});b.SHa=b.cm(function(a){try{return e.isPlainObject(a)}catch(b){return B}});window.TDV.PlayerAPI.getClassByName=function(a){return b.sj(a).GI};return b});
define("il",["require"],function(){function a(){c[0]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]=c[7]=c[8]=c[9]=c[10]=c[11]=c[12]=c[13]=c[14]=c[15]=c[16]=0;this.r9=c;this.JW=1779033703;this.KW=3144134277;this.LW=1013904242;this.MW=2773480762;this.NW=1359893119;this.OW=2600822924;this.PW=528734635;this.QW=1541459225;this.oN=this.start=this.jy=this.j$=0;this.I9=this.SW=B;this.first=m}var b="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f".split(","),e=[-2147483648,8388608,32768,128],d=[24,16,8,0],g=[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],c=[];a.prototype.update=function(a){if(!this.I9){for(var b,c=0,n,g=a.length,e=this.r9;c<g;){this.SW&&(this.SW=B,e[0]=this.oN,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0);for(n=this.start;c<g&&64>n;++c)b=a.charCodeAt(c),128>b?e[n>>2]|=b<<d[n++&3]:(2048>b?e[n>>2]|=(192|b>>6)<<d[n++&3]:(55296>b||57344<=b?e[n>>
2]|=(224|b>>12)<<d[n++&3]:(b=65536+((b&1023)<<10|a.charCodeAt(++c)&1023),e[n>>2]|=(240|b>>18)<<d[n++&3],e[n>>2]|=(128|b>>12&63)<<d[n++&3]),e[n>>2]|=(128|b>>6&63)<<d[n++&3]),e[n>>2]|=(128|b&63)<<d[n++&3]);this.RQa=n;this.jy+=n-this.start;64<=n?(this.oN=e[16],this.start=n-64,this.hash(),this.SW=m):this.start=n}4294967295<this.jy&&(this.j$+=this.jy/4294967296<<0,this.jy%=4294967296);return this}};a.prototype.NOa=function(){if(!this.I9){this.I9=m;var a=this.r9,b=this.RQa;a[16]=this.oN;a[b>>2]|=e[b&3];
this.oN=a[16];56<=b&&(this.SW||this.hash(),a[0]=this.oN,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0);a[14]=this.j$<<3|this.jy>>>29;a[15]=this.jy<<3;this.hash()}};a.prototype.hash=function(){var a=this.JW,b=this.KW,c=this.LW,n=this.MW,d=this.NW,e=this.OW,p=this.PW,q=this.QW,t=this.r9,s,u,w,v,x,y,E;for(s=16;64>s;++s)w=t[s-15],u=(w>>>7|w<<25)^(w>>>18|w<<14)^w>>>3,w=t[s-2],w=(w>>>17|w<<15)^(w>>>19|w<<13)^w>>>10,t[s]=t[s-16]+u+t[s-7]+w<<0;E=b&c;for(s=0;64>s;s+=
4)this.first?(y=704751109,w=t[0]-210244248,q=w-1521486534<<0,n=w+143694565<<0,this.first=B):(u=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),w=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),y=a&b,v=y^a&c^E,x=d&e^~d&p,w=q+w+x+g[s]+t[s],u+=v,q=n+w<<0,n=w+u<<0),u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),w=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7),E=n&a,v=E^n&b^y,x=q&d^~q&e,w=p+w+x+g[s+1]+t[s+1],u+=v,p=c+w<<0,c=w+u<<0,u=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),w=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|
p<<7),y=c&n,v=y^c&a^E,x=p&q^~p&d,w=e+w+x+g[s+2]+t[s+2],u+=v,e=b+w<<0,b=w+u<<0,u=(b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10),w=(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7),E=b&c,v=E^b&n^y,x=e&p^~e&q,w=d+w+x+g[s+3]+t[s+3],u+=v,d=a+w<<0,a=w+u<<0;this.JW=this.JW+a<<0;this.KW=this.KW+b<<0;this.LW=this.LW+c<<0;this.MW=this.MW+n<<0;this.NW=this.NW+d<<0;this.OW=this.OW+e<<0;this.PW=this.PW+p<<0;this.QW=this.QW+q<<0};a.prototype.hQa=function(){this.NOa();var a=this.JW,c=this.KW,j=this.LW,n=this.MW,d=this.NW,
g=this.OW,e=this.PW,q=this.QW;return b[a>>28&15]+b[a>>24&15]+b[a>>20&15]+b[a>>16&15]+b[a>>12&15]+b[a>>8&15]+b[a>>4&15]+b[a&15]+b[c>>28&15]+b[c>>24&15]+b[c>>20&15]+b[c>>16&15]+b[c>>12&15]+b[c>>8&15]+b[c>>4&15]+b[c&15]+b[j>>28&15]+b[j>>24&15]+b[j>>20&15]+b[j>>16&15]+b[j>>12&15]+b[j>>8&15]+b[j>>4&15]+b[j&15]+b[n>>28&15]+b[n>>24&15]+b[n>>20&15]+b[n>>16&15]+b[n>>12&15]+b[n>>8&15]+b[n>>4&15]+b[n&15]+b[d>>28&15]+b[d>>24&15]+b[d>>20&15]+b[d>>16&15]+b[d>>12&15]+b[d>>8&15]+b[d>>4&15]+b[d&15]+b[g>>28&15]+b[g>>
24&15]+b[g>>20&15]+b[g>>16&15]+b[g>>12&15]+b[g>>8&15]+b[g>>4&15]+b[g&15]+b[e>>28&15]+b[e>>24&15]+b[e>>20&15]+b[e>>16&15]+b[e>>12&15]+b[e>>8&15]+b[e>>4&15]+b[e&15]+b[q>>28&15]+b[q>>24&15]+b[q>>20&15]+b[q>>16&15]+b[q>>12&15]+b[q>>8&15]+b[q>>4&15]+b[q&15]};return function(b){return(new a).update(b).hQa()}});
define("bT",["require","il"],function(a){function b(a){var c;c=Array.isArray(a)?"array":a===r?"null":typeof a;switch(c){case "array":return"["+a.map(b).join(",")+"]";case "object":return"{"+Object.keys(a).sort().map(function(c){return b(c)+":"+b(a[c])}).join(",")+"}";case "boolean":return a?"true":"false";case "number":return a.toFixed(3);case "string":return'"'+a.split('"').join('\\"')+'"';case "null":case "undefined":return c;case "function":return"<"+c+">"}return""}function e(a){return a.map(function(a){return String.fromCharCode(a)}).join("")}
var d=a("il");return{validate:function(a){var c=[104,97,115,104],i=a[e(c)];delete a[e(c)];a=e([116,100,118])+b(a);return d(a)==i}}});
define("kO",["require"],function(){function a(){var a=c.length,b=c.splice(0,a);g+=a;for(var f=0;f<a;f++){var j=b[f];j&&j()}}var b=window.MutationObserver,e=window.Promise,d=0,g=0,c=[],i;setInterval(function(){0<c.length&&100<(new Date).getTime()-f&&a()},100);var f,j;e&&(j=new e(function(a){a()}));b&&(i=document.createTextNode(""),(new b(a)).observe(i,{characterData:m}));return{uy:function(n,g){if(g>0||!b&&!e)return~setTimeout(n,g||1);if(c.length==0){e?j.then(a):i.textContent=d;f=(new Date).getTime()}d++;
c.push(n);return d-1},cancel:function(a){if(a<0)clearTimeout(~a);else{var b=a-g;if(b>=0){c[b]||h("invalid async handle: "+a);c[b]=r}}}}});
define("fQ",["require","dZ","kO","cu","kL"],function(a){function b(){this.Ec={}}var e=a("dZ"),d=a("kO"),g=a("cu"),c=a("kL");b.prototype.bind=function(a,b,c,n,d){a===l&&h("Event name undefined");b===l&&h("Event handler undefined");a in this.Ec||(this.Ec[a]=[]);this.Ec[a].push({handler:b,handlerDef:d||b,context:c||this,immediate:n?m:B});return this};b.prototype.unbind=function(a,b,c){if(a in this.Ec){var c=c||this,n=e(this.Ec[a]).select(function(a){return a.handler!=b||a.context!=c});0<n.length?this.Ec[a]=
n:delete this.Ec[a]}return this};b.prototype.dUa=function(a){a in this.Ec&&delete this.Ec[a]};b.prototype.lba=function(){this.Ec={}};b.prototype.trigger=function(a,b){var c="string"==typeof a,n=c?a:a.name;n in this.Ec&&(c&&(a=new g(a,b)),a.source=this,this.ew(a,m),n in this.Ec&&this.XBa(a));return this};b.prototype.XBa=function(a){b.DQ.push({caller:this,event:a});b.T0||(b.T0=m,d.uy(b.Qfa))};b.DQ=[];b.T0=B;b.Qfa=function(){for(var a=(new Date).getTime()+1E3;b.DQ.length;){var c=b.DQ.shift();b.prototype.ew.call(c.caller,
c.event,B);if((new Date).getTime()>a)break}0<b.DQ.length?d.uy(b.Qfa,1):b.T0=B};b.prototype.bsa=function(a){return a in this.Ec};b.prototype.TG=function(a,b){for(var c=[],n=this.Ec[a]||[],d=0;d<n.length;d++){var g=n[d];(b===l||g.immediate==b)&&c.push(g.handlerDef)}return c};b.prototype.ew=function(a,b){var j;a.unbindCurrentHandler=function(){j&&this.unbind(a.name,j.handler,j.context)}.bind(this);if(a.name in this.Ec)for(var n=this.Ec[a.name],d=0;d<n.length;d++)if(j=n[d],j.immediate==b)try{j.handler.call(j.context,
a)}catch(g){c.dX("Exception handling event "+a.name,g)}};return b});
define("ll",["require","nV","kL","cu","fQ"],function(a){var b=a("nV"),e=a("kL"),d=a("cu"),g=a("fQ"),a=e.extend(g,function(){g.call(this);this.$s={}});a.prototype.set=function(a,b){this.$s[a]!=b&&(this.$s[a]=b,this.Loa(a))};a.prototype.Loa=function(a){this.trigger(new d(b.u(a)))};a.prototype.copy=function(a){this.$s={};for(var b in a.$s)this.$s[b]=a.$s[b];return this};a.prototype.get=function(a,b){var f=this.$s[a];return f!==l?f:b};return a});
define("eP",["require"],function(){function a(a,e,d){this.set("undefined"!=typeof a?a:0,"undefined"!=typeof e?e:0,"undefined"!=typeof d?d:0)}a.prototype.set=function(a,e,d){this.x=a;this.y=e;this.z=d;return this};a.prototype.clone=function(){return new a(this.x,this.y,this.z)};a.prototype.apply=function(a){a.FG(this)};a.prototype.project=function(a){a.project(this)};return a});
define("a",["require","kL","eP"],function(a){var b=a("kL"),e=a("eP"),d=b.extend(e,function(a,b,i){e.call(this,a,b,i)});d.prototype.clone=function(){return new d(this.x,this.y,this.z)};d.prototype.Oc=function(){return 0==this.x&&0==this.z?0:-Math.atan2(this.x,this.z)};d.prototype.Hc=function(){return 0==this.y&&0==this.z?0:Math.atan2(this.y,Math.sqrt(this.z*this.z+this.x*this.x))};d.prototype.X9=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};d.prototype.zH=function(a){a/=this.X9();
this.x*=a;this.y*=a;this.z*=a;return this};d.prototype.normalize=function(){return this.zH(1)};d.prototype.VB=function(a){return this.x*a.x+this.y*a.y+this.z*a.z};d.prototype.cW=function(a){var b=this.z*a.x-this.x*a.z,i=this.x*a.y-this.y*a.x;this.x=this.y*a.z-this.z*a.y;this.y=b;this.z=i;return this};d.my=function(a,b){return new d(b.x-a.x,b.y-a.y,b.z-a.z)};d.vW=function(a,b,i,f,j,n){a=f-a;b=j-b;i=n-i;return Math.sqrt(a*a+b*b+i*i)};d.Sr=function(a,b){return new d(Math.cos(b)*Math.sin(a),Math.sin(b),
Math.cos(b)*Math.cos(a))};return d});
define("iN",["require","ll","mR","a"],function(a){var b=a("ll"),e=a("mR"),d=a("a"),a=e.G("AdjacentPanorama",b,function(){b.call(this);this.P8=this.rt=l});a.prototype.ura=function(){if(this.rt===l){for(this.rt=this.fha()-this.get("yaw");180<this.rt;)this.rt-=360;for(;-180>this.rt;)this.rt+=360}return this.rt};a.prototype.gPa=function(){this.P8===l&&(this.P8=d.Sr(this.fha()*Math.PI/180,0));return this.P8};a.prototype.eOa=function(){return this.get("yaw")!==l&&this.get("backwardYaw")!==l};a.prototype.fha=
function(){return this.get("backwardYaw")-180};return a});define("hC",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("AmbientLight",b,function(){b.call(this)})});
define("eS",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("Model3DPostprocessing",b,function(){b.call(this)});a.prototype.FO=function(a){this.oj!==a&&(this.oj=a,this.Zoa())};a.prototype.AO=function(a){this.$E!==a&&(this.$E=a,this.Zoa())};a.prototype.Zoa=function(){this.set("disabled",this.$E&&this.get("disableWhileMoving")||this.oj&&this.get("disableWhileUserInteracting"))};return a});
define("mX",["require","mR","eS"],function(a){var b=a("mR"),e=a("eS");return b.G("AmbientOcclusionModel3DPostprocessing",e,function(){e.call(this)})});define("kn",["require"],function(){return{M:"stopped",Q:"playing",Db:"paused"}});define("eR",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("ImageResource",b,function(){b.call(this)})});
define("eh","require,kL,nV,kn,mR,eR".split(","),function(a){a("kL");var b=a("nV"),e=a("kn"),d=a("mR"),g=a("eR"),a=d.G("AnimatedImageResource",g,function(){g.call(this)});a.prototype.play=a.prototype.play=function(){this.set("state",e.Q)};a.prototype.pause=a.prototype.pause=function(){this.set("state",e.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",e.M)};a.prototype.set=function(a,i){switch(a){case "state":(this.get("state")||e.M)==e.M&&i==e.Q&&this.trigger(b.Ns)}g.prototype.set.call(this,
a,i)};a.prototype.tj=function(a,b,f){b||(b=1);f||(f=1);return g.prototype.tj.call(this,a,b*this.get("colCount",1),f*this.get("rowCount",1))};return a});define("dV",["require","mR","eS"],function(a){var b=a("mR"),e=a("eS");return b.G("AntialiasModel3DPostprocessing",e,function(){e.call(this)})});
define("hQ",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("HotspotMapOverlay",b,function(a){b.call(this);this.NF=a===l?m:a;this.SE=this.Ap=this.zp=this.ka=l});a.prototype.getItem=function(){if(this.ka===l){var a=this.get("image");this.ka=a?a.bW(this.NF):r}return this.ka};a.prototype.Nra=function(){if(this.zp===l){var a=this.get("rollOverImage");this.zp=a?a.bW(this.NF):r}return this.zp};a.prototype.Pra=function(){if(this.Ap===l){var a=this.get("selectedImage");this.Ap=a?a.bW(this.NF):
r}return this.Ap};a.prototype.sPa=function(){if(this.SE===l){this.SE=[];var a=this.getItem();a&&this.SE.push(a);(a=this.Nra())&&this.SE.push(a);(a=this.Pra())&&this.SE.push(a)}return this.SE};return a});define("eE",["require","mR","hQ"],function(a){var b=a("mR"),e=a("hQ");return b.G("AreaHotspotMapOverlay",e,function(){e.call(this,m)})});define("nv",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("AudioResource",b,function(){b.call(this)})});
define("cH",["require"],function(){return{dz:"inAdvance",Cba:"delayed"}});define("bb",["require"],function(){return{cz:"grab",uk:"grabbing",nxa:"move",nca:"move-n",oca:"move-ne",eca:"move-e",rca:"move-se",qca:"move-s",sca:"move-sw",tca:"move-w",pca:"move-nw",oxa:"move-ew",qxa:"move-ns",pxa:"move-nesw",rxa:"move-nwse",gca:"move-fast-n",hca:"move-fast-ne",fca:"move-fast-e",kca:"move-fast-se",jca:"move-fast-s",lca:"move-fast-sw",mca:"move-fast-w",ica:"move-fast-nw",vf:"hand",le:"default",Fv:"inherit"}});
define("gS",["require","nV"],function(a){function b(){this.pi=[]}var e=a("nV");b.prototype.register=function(a){this.vya(a);this.pi.push(a);a.get("pressed")&&this.Yma(a)};b.prototype.PO=function(a){this.vIa(a)};b.prototype.vya=function(a){a.bind(e.Dj,this.Fja,this,m)};b.prototype.vIa=function(a){a.unbind(e.Dj,this.Fja,this)};b.prototype.Fja=function(a){this.Yma(a.source)};b.prototype.Yma=function(a){this.pi.forEach(function(b){b.set("pressed",b==a)})};b.register=function(a,b){this.PO(a);var c=this.Qh(b);
a.a_=c;c.register(a)};b.PO=function(a){a.a_&&(a.a_.PO(a),delete a.a_)};b.Qh=function(a){return this.gia[a]||(this.gia[a]=new b)};b.gia={};return b});define("dW",["require"],function(){return{me:"push",Fj:"toggle"}});define("hn",["require"],function(){return{sD:"visible",Rba:"hidden",zo:"scroll"}});define("gp",["require"],function(){return{le:l,O:"over",Za:"pressed",Ob:"pressedOver",U:"selected"}});define("mn",["require"],function(){return{Ha:"left",Va:"right",ke:"center",ec:"top",Zb:"bottom",Sd:"middle"}});
define("fn",["require"],function(){return{kd:"rollOver",ALWAYS:"always"}});
define("dm",["require"],function(){var a={},b;a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){b=m;break a}}catch(e){}b=B}if(b)a.setItem=function(a,b){window.localStorage.setItem(a,b)},a.getItem=function(a){return window.localStorage.getItem(a)},a.removeItem=function(a){return window.localStorage.removeItem(a)},a.clear=function(){try{window.localStorage.clear()}catch(a){}};else{var d={};a.setItem=function(a,b){d[a]=b};a.getItem=
function(a){return d[a]};a.removeItem=function(a){delete d[a]};a.clear=function(){d={}}}return a});
define("u",["require","kL","lG","dm"],function(a){function b(){}function e(a){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+a))}var d=a("kL"),g=a("lG"),c=a("dm");b.mi=TDV.$a.kP;b.MH=TDV.$a.pZ;b.LZ=TDV.$a.yca;b.YUa=TDV.$a.tZ;b.Wba=TDV.$a.qZ;b.gxa=TDV.$a.xca;b.KUa=TDV.$a.sZ;b.rZ=TDV.$a.rZ;b.RH=TDV.$a.RH;b.lY=TDV.$a.lY;b.kY=TDV.$a.kY;b.jY=TDV.$a.jY;b.mY=TDV.$a.mY;b.Lh=TDV.$a.Lh;b.TO=TDV.$a.TO;b.Hl=TDV.$a.Hl;b.rk=TDV.$a.rk;b.SC=TDV.$a.SC;b.wv=TDV.$a.wv;b.NH=TDV.$a.NH;b.Jy=TDV.$a.Jy;
b.hY=TDV.$a.hY;b.QH=TDV.$a.QH;b.jq=TDV.$a.jq;b.XO=TDV.$a.XO;b.iY=TDV.$a.iY;b.OH=TDV.$a.OH;b.UO=TDV.$a.UO;b.TC=TDV.$a.TC;b.PH=TDV.$a.PH;b.Ky=TDV.$a.Ky;b.wba=TDV.$a.wba;b.UC=TDV.$a.UC;b.xv=TDV.$a.xv;b.Ly=TDV.$a.Ly;b.VO=TDV.$a.VO;b.WO=TDV.$a.WO;b.nY=TDV.$a.nY;b.qY=TDV.$a.qY;b.YC=TDV.$a.YC;b.rY=TDV.$a.rY;b.sY=TDV.$a.sY;b.Ew=function(a){a="force_"+a;if(g.Gi("debug")&&g.Gi(a))return g.Xp(a)};b.aDa=b.Ew("os");b.Xd=function(){return b.aDa||TDV.$a.Xd};b.WCa=b.Ew("browser");b.browser=function(){return b.WCa||
TDV.$a.browser};b.XCa=b.Ew("browser_type");b.HG=function(){return b.XCa||TDV.$a.HG};b.Dga=b.Ew("browser_subtype");b.ad=function(){return b.Dga?b.Dga:TDV.$a.ad};b.YCa=b.Ew("browser_version");b.wqa=function(){return b.YCa||TDV.$a.wqa};b.$Ca=b.Ew("device");b.ly=function(){return b.$Ca||TDV.$a.ly};b.mb=function(){return TDV.$a.O$};b.JCa=function(){for(var a=navigator.userAgent.toLowerCase(),b=["SM-G960","SM-G965"],c=0;c<b.length;c++)if(0<=a.indexOf(b[c].toLowerCase()))return m;return B}();b.fDa=function(){for(var a=
navigator.userAgent.toLowerCase(),b="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(","),c=0;c<b.length;c++)if(0<=a.indexOf(b[c].toLowerCase()))return m;return B}();b.Ega=b.Ew("gearvrcompatible");b.FN=function(){return b.Ega!==l?"true"==b.Ega:b.fDa};b.uAa=b.browser()!=b.rk||0>navigator.userAgent.indexOf("; wv")?B:m;b.ZCa=!!b.Ew("chromewebview");b.Fqa=function(){return b.ZCa||b.uAa};b.Gf=
function(){return b.ad()==b.jq||b.ad()==b.XO||b.ad()==b.xv||b.ad()==b.Ly||b.ad()==b.UC};b.A$=function(){return b.C$()||b.Jsa()||b.Ssa()||b.KQa()};b.Qsa=function(){return b.ad()==b.xv||b.ad()==b.Ly};b.JQa=function(){return e("picog2")};b.HQa=function(){return e("piconeo2")};b.Jsa=function(){return e("piconeo3")};b.KQa=function(){return e("picoxr")};b.Ssa=function(){return e("vivefocus")};b.C$=function(){return e("oculusquest")?m:b.ad()==b.jq&&0<=navigator.userAgent.indexOf("Quest 2")};b.Osa=function(){return b.ad()==
b.jq&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.AQa=function(){return b.ad()==b.jq&&0>navigator.userAgent.indexOf("Quest")};b.x$=function(){return b.Gf()&&b.FN()};b.zL=l;b.rRa=function(){b.zL===l&&(b.zL=parseInt(g.Xp("sts")),isNaN(b.zL)&&(b.zL=b.Gf()&&!b.JCa?512:b.mb()&&b.Xd()==b.mi?512:b.mb()?256:1024));return b.zL};var i;if(b.browser()==b.Hl||b.browser()==b.Lh)try{i=parseFloat(/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent)[1])}catch(f){}b.ZIa=i;
b.oO=function(){return b.ZIa};b.cFa=function(){var a;try{a=parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||B}catch(c){}a||(a=b.oO());return a}();b.nC=function(){return b.cFa};var j;if(b.Xd()==b.MH)try{j=parseFloat(/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent)[1])}catch(n){}b.Vya=j;b.YNa=function(){return b.Vya};b.Lha=function(){var a={Xra:"unknown",rta:1},b=document.createElement("canvas");
if(b&&(b=b.getContext("webgl")||b.getContext("experimental-webgl"))){var c=b.getExtension("WEBGL_debug_renderer_info");c&&(a.Xra=b.getParameter(c.UNMASKED_RENDERER_WEBGL));a.maxTextureSize=b.getParameter(b.MAX_TEXTURE_SIZE);if(c=b.getExtension("EXT_texture_filter_anisotropic")||b.getExtension("MOZ_EXT_texture_filter_anisotropic")||b.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))a.rta=b.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return a}();b.Wra=function(){return b.Lha};b.Xya=function(){var a=
b.Lha.Xra.match(/Apple\s+(.+)\s+GPU/);return a?a[1].toUpperCase():"unknown"}();b.tVa=function(){return b.Xya};b.LFa=b.ly()==b.YC?m:B;b.Zu=function(){return b.LFa};b.w9=function(){return b.browser()==b.Hl&&14<=b.oO()};var k=!!c.getItem("tdvp_video_drift_2");b.lsa=function(){return k};b.lTa=function(){k=m;c.setItem("tdvp_video_drift_2",m)};b.SFa="ontouchstart"in window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0<navigator.maxTouchPoints?m:B;b.jba=function(){return b.SFa};
b.tn=g.Gi("touchenabled")?g.Jh("touchenabled"):"ontouchstart"in window?b.Xd()==b.LZ?B:m:B;b.XX=function(){return b.tn};b.summary=function(){return["browser: "+b.browser(),"browserType: "+b.HG(),"browserSubtype: "+b.ad(),"device: "+b.ly(),"isMobile: "+b.mb(),"gearVRCompatibleDevice: "+b.FN(),"chromeWebView: "+b.Fqa(),"touchDevice"+b.jba(),"touchEnabled"+b.XX()].join(", ")};b.log=function(){d.log("browser: "+b.browser());d.log("browserType: "+b.HG());d.log("browserSubtype: "+b.ad());d.log("device: "+
b.ly());d.log("isMobile: "+b.mb());d.log("gearVRCompatibleDevice: "+b.FN());d.log("chromeWebView: "+b.Fqa());d.log("touchDevice: "+b.jba());d.log("touchEnabled: "+b.XX())};return b});
define("lq",["require","u"],function(a){function b(){for(;n.length;)n.shift()();document.body.removeEventListener("click",b,m);document.body.removeEventListener("touchstart",g,m);document.body.removeEventListener("touchmove",d,m);document.body.removeEventListener("touchend",e,m);f=B}function e(){j&&b()}function d(){j=B}function g(){j=m;i.Xd()==i.mi&&b()}function c(){document.body.addEventListener("click",b,m);document.body.addEventListener("touchstart",g,m);document.body.addEventListener("touchmove",
d,m);document.body.addEventListener("touchend",e,m)}var i=a("u"),f=B,j=B,n=[];return{cY:function(){b()},JH:function(a){n.push(a);f||(f=m,document.body?c():document.addEventListener("DOMContentLoaded",c))},tWa:function(a){a=n.indexOf(a);0<=a&&n.splice(a,1)}}});define("hA",["require"],function(){return{lxa:7,SO:6,Zba:5,Zm:4,Oca:3,pD:2,uZ:1,DUa:0,mxa:3,iD:2,xxa:1,wxa:2,vxa:2,Ml:2,Pxa:3,Txa:4}});define("bg",["require"],function(){return{hZ:"horizontal",HZ:"vertical"}});
define("oq",["require"],function(){return{gda:"auto",fda:"auto",Mca:"1",Aca:"2",zca:"auto",SO:"2",Aba:"3",zba:"auto",Lca:"3",Vca:"100",gda:"1",fda:"auto",Mca:"1",Aca:"2",zca:"auto",SO:"2",Aba:"3",zba:"auto",Lca:"5",Vca:"100",wUa:"101",Vwa:999998,XUa:999999,exa:1E6}});
define("gg",["require"],function(){var a=1,b={};return{css:function(e,d){var g=e.__duqid;g===l&&(g=a.toString(),e.__duqid=g,a++);var g=b[g]||(b[g]={e:e,s:{}}),c;for(c in d)g.s[c]=d[c]},tRa:function(){for(var a in b){var d=b[a],g=d.e.style,d=d.s,c;for(c in d)g[c]=d[c]}b={}}}});
define("bM",["require"],function(){return{XPa:function(a){return!!a&&0<=a.indexOf("&tdvflipx")},bqa:function(a){a&&(0>a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},ROa:function(a,b,e){var d=document.createElement("canvas");d.width=b;d.height=e;e=d.getContext("2d");e.translate(b,0);e.scale(-1,1);e.drawImage(a,0,0);a.src=d.toDataURL()}}});
define("hX",["require","u","lG","kO","dm"],function(a){function b(a,b,c,n,d){this.url=a;this.Ge=b;this.time=c;this.KTa=n;this.fOa=d}var e=a("u"),d=a("lG"),g=a("kO");a("dm");b.prototype.loaded=function(){c.J6(this.url);c.HL(this)};b.prototype.cancel=function(){c.HL(this)};var c={Gx:[],Wq:[],sM:[],F8:r,Fia:{},add:function(a,c,j,n){a=new b(a,c,(new Date).getTime(),j,n);this.Gx.push(a);this.V();return a},RTa:function(a){this.sM.push(a);this.V()},QTa:function(a){var b=this.sM,a=b.indexOf(a);0<=a&&b.splice(a,
1);this.V()}};e.ad()==e.Ky?(c.sba=T(m),c.J6=G()):!d.Gi("debug")||!d.Jh("disable-cache")?(c.sba=function(a){return this.Fia[a]},c.J6=function(a){this.Fia[a]=m}):(c.sba=T(B),c.J6=G());c.V=function(){if(!this.F8)this.F8=g.uy(c.AMa)};c.AMa=function(){c.F8=r;for(var a=this.dJa(),b=0,j=this.Wq.length;b<j;b++){var n=this.Wq[b];a.indexOf(n)<0&&n.fOa()}var d=this.Wq;this.Wq=a;b=0;for(j=this.Wq.length;b<j;b++){n=this.Wq[b];d.indexOf(n)<0&&n.KTa()}}.bind(c);c.HKa=function(){this.Gx.sort(function(a,b){return a.Ge-
b.Ge||b.time-a.time});this.sM.sort(function(a,b){return a-b})};c.dJa=function(){this.HKa();var a=[];if(this.Gx.length)for(var b=this.sM.length?this.sM[0]:this.Gx[0].Ge,c=0;c<10&&c<this.Gx.length&&this.Gx[c].Ge<=b;c++)a.push(this.Gx[c]);return a};c.HL=function(a){var b=this.Gx,a=b.indexOf(a);a>=0&&b.splice(a,1);this.V()};return c});
define("jV","require,kL,cu,fQ,nV,hA,lG,bM,hX".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("nV"),c=a("hA"),i=a("lG"),f=a("bM"),j=a("hX"),a=b.extend(d,function(a){d.call(this);this.lr=a||c.lxa;this.ia=this.X=this.Mb=this.Tc=r;this.Yw=B;this.MF=this.wn=r;this.gU=0;this.b3=[];this.CR=this.CR.bind(this);this.DR=this.DR.bind(this)});a.prototype.load=function(a){this.cancel();this.Tc=a;this.gU=0;this.tma()};a.prototype.tma=function(){this.wn=j.add(this.Tc,this.lr,this.SKa.bind(this),this.mAa.bind(this))};
a.prototype.cancel=function(){if(this.wn){this.wn.cancel();this.wn=r}this.efa();this.Tc=r};a.prototype.EQa=function(){return!!this.Mb&&!this.Yw||this.MF};a.prototype.tl=S("Yw");a.prototype.hf=function(a){if(a){a=this.Mb.cloneNode(m);this.b3.push(a);return a}return this.Mb};a.prototype.bd=S("X");a.prototype.Rd=S("ia");a.prototype.gi=S("Tc");a.prototype.SKa=function(){this.Mb=this.ABa(this.Tc)};a.prototype.mAa=function(){this.EQa()&&this.efa()};a.prototype.efa=function(){if(this.Mb){if(this.MF){clearTimeout(this.MF);
this.MF=r}for(this.Yw=B;this.b3.length;)this.aga(this.b3.shift());this.aga(this.Mb);this.Mb=r}};a.prototype.Aya=function(a){a.addEventListener("load",this.CR);a.addEventListener("error",this.DR)};a.prototype.lma=function(a){a.removeEventListener("load",this.CR);a.removeEventListener("error",this.DR)};a.prototype.CR=function(){(!this.Mb.width||!this.Mb.height)&&this.Tc.indexOf(".svg")>-1&&this.NCa();this.wn.loaded();this.wn=r;this.lma(this.Mb);this.Yw=m;this.X=this.Mb.width;this.ia=this.Mb.height;
f.XPa(this.Tc)&&f.ROa(this.Mb,this.X,this.ia);this.trigger(new e(g.T))};a.prototype.DR=function(){this.cancel();if(this.gU<n){this.gU++;this.MF=setTimeout(function(){this.MF=r;this.tma()}.bind(this),Math.pow(2,this.gU)*1E3)}else this.trigger(new e(g.tc))};a.prototype.NCa=function(){var a=new XMLHttpRequest;a.open("GET",this.Tc,B);a.send();var b=document.createElement("div");b.innerHTML=a.responseText;a=b.children[0];this.Mb.width=a.width.baseVal.value;this.Mb.height=a.height.baseVal.value};a.prototype.ABa=
function(a){var b=document.createElement("img");i.Esa(a)?b.setAttribute("crossOrigin","Anonymous"):b.removeAttribute("crossOrigin");b.setAttribute("draggable","false");b.style.position="static";b.style.border="none";b.style.display="none";this.Aya(b);b.src=a;return b};a.prototype.aga=function(a){this.lma(a);a.parentNode&&a.parentNode.removeChild(a);a.src=""};var n=5;a.TX=function(a){return j.sba(a)};return a});
define("ga","require,dZ,jquery.mod,nV,hA,bg,oq,gg,jV".split(","),function(a){function b(){this.Go=this.Io=this.Jo=this.Ho=this.ct=this.bt=this.et=this.dt=0;this.NP=this.PP=this.QP=this.OP="";this.bb=1;this.ac=l;this.Pz=[];this.h0=[];this.e0=i.HZ;this.fQ=B;this.zR=l;this.vh=r;this.A2=this.X8=0;this.Ub=document.createElement("canvas");this.Ub.setAttribute("tdvlayer","background");this.ba=d(this.Ub);j.css(this.Ub,{position:"absolute",left:0,top:0,"z-index":f.SO,"user-select":"none","-ms-user-select":"none",
"-moz-user-select":"none","-webkit-user-select":"none"});this.cg=m}var e=a("dZ"),d=a("jquery.mod"),g=a("nV"),c=a("hA"),i=a("bg"),f=a("oq"),j=a("gg"),n=a("jV");b.prototype.setSize=function(a,b){if(this.X8!=a||this.A2!=b){this.X8=a||0;this.A2=b||0;this.cg=m}};b.prototype.Wua=function(a){if(this.Uo!=a){this.Uo=a;this.cg=m}};b.prototype.Ac=S("ba");b.prototype.LN=S("Ub");b.prototype.vSa=function(a){if(this.zR!=a){if(this.vh){this.vh.unbind(g.T,this.CJ,this);this.vh.cancel();this.vh=r}if(this.zR=a){this.vh=
new n(c.Oca);this.vh.bind(g.T,this.CJ,this);this.vh.load(this.zR)}this.cg=m}};b.prototype.raa=function(a){if(this.dt!=a){this.dt=a;this.cg=m}};b.prototype.saa=function(a){if(this.et!=a){this.et=a;this.cg=m}};b.prototype.maa=function(a){if(this.bt!=a){this.bt=a;this.cg=m}};b.prototype.naa=function(a){if(this.ct!=a){this.ct=a;this.cg=m}};b.prototype.paa=function(a){if(this.Ho!=a){this.Ho=a;this.cg=m}};b.prototype.taa=function(a){if(this.Jo!=a){this.Jo=a;this.cg=m}};b.prototype.qaa=function(a){if(this.Io!=
a){this.Io=a;this.cg=m}};b.prototype.oaa=function(a){if(this.Go!=a){this.Go=a;this.cg=m}};b.prototype.YRa=function(a){if(this.OP!=a){this.OP=a;this.cg=m}};b.prototype.$Ra=function(a){if(this.QP!=a){this.QP=a;this.cg=m}};b.prototype.ZRa=function(a){if(this.PP!=a){this.PP=a;this.cg=m}};b.prototype.XRa=function(a){if(this.NP!=a){this.NP=a;this.cg=m}};b.prototype.Ji=function(a){if(this.bb!=a){this.bb=a;this.cg=m}};b.prototype.nk=S("bb");b.prototype.xH=function(a){if(!e.isEqual(this.ac,a)){this.ac=a;e(a).isArray()||
(a=[a]);a=e(a).filter(function(a){return e(a).isString()});this.Mua(a)}};b.prototype.Mua=function(a){if(!e.isEqual(this.Pz,a)){this.Pz=a;this.cg=m}};b.prototype.dSa=function(a){if(this.fVa!=a){this.h0=a;this.cg=m}};b.prototype.cSa=function(a){if(this.e0!=a){this.e0=a;this.cg=m}};b.prototype.CJ=function(){this.cg=m;this.Jg()};b.prototype.Jg=function(){if(this.cg){this.V();this.cg=B}};b.prototype.V=function(){var a=Math.max(0,this.X8-(this.Ho+this.Io)),b=Math.max(0,this.A2-(this.Jo+this.Go)),c=this.ba.get(0);
c.width=a;c.height=b;var c=c.getContext("2d"),f=this.hAa(),j=f.length>0,n=this.vh&&this.vh.tl(),d=this.Ho>0&&this.OP||this.Jo>0&&this.QP||this.Io>0&&this.PP||this.Go>0&&this.NP,d=j||n||d;if(j){var g;g=this.e0==i.hZ?c.createLinearGradient(0,0,a,0):c.createLinearGradient(0,0,0,b);e(f).forEach(function(a){g.addColorStop(a.ratio,a.color)});c.fillStyle=g;c.fillRect(0,0,a,b);this.fQ=m}else if(this.fQ){c.clearRect(0,0,a,b);this.fQ=B}if(n){c.drawImage(this.vh.hf(),0,0,a,b);this.fQ=m}this.Ub.style.opacity=
this.bb;this.Ub.style.filter="alpha(opacity="+Math.round(this.bb*100)+")";this.Ub.style["-ms-filter"]="alpha(opacity="+Math.round(this.bb*100)+")";this.Ub.style.borderTopLeftRadius=this.dt+"px";this.Ub.style.borderTopRightRadius=this.et+"px";this.Ub.style.borderBottomLeftRadius=this.bt+"px";this.Ub.style.borderBottomRightRadius=this.ct+"px";this.Ub.style.borderLeft=this.iR(this.Ho,this.OP);this.Ub.style.borderTop=this.iR(this.Jo,this.QP);this.Ub.style.borderRight=this.iR(this.Io,this.PP);this.Ub.style.borderBottom=
this.iR(this.Go,this.NP);this.Ub.style.width=a+"px";this.Ub.style.height=b+"px";this.Ub.style.cursor="inherit";this.Ub.style.display=d?"block":"none";if(this.Ub.clientWidth===0&&a!==0){this.Ub.style.width=0;this.Ub.style.width=a+"px"}};b.prototype.iR=function(a,b){return a>0?b?a+"px solid "+b:a+"px solid transparent":"none"};b.prototype.hAa=function(){var a=[];if(this.Pz.length>0){for(var b=this.Pz.slice(),b=[].concat([b[0]],b,[b[b.length-1]]),c=this.gAa(),c=[].concat([0],c,[1]),f=0;f<b.length;f++){var j=
c[f];j>=0&&a.push({color:b[f],ratio:j})}for(f=0;f<a.length-1;)a[f].ratio==a[f+1].ratio&&a[f].color==a[f+1].color?a.splice(f,1):f++;for(f=1;f<a.length-1;)a[f-1].ratio==a[f+1].ratio?a.splice(f,1):f++}return a};b.prototype.gAa=function(){var a=this.Pz.length,b;for(b=this.h0.length>0?e(this.h0).map(function(a){return Math.min(1,Math.max(0,a))}):a==1?[0.5]:e(e.range(a)).map(function(b,c){return 1*c/(a-1)});b.length<a;)b.push(1);b.length>a&&b.splice(a,b.length-a);return b};return b});
define("ew",["require","jquery.mod","oq","gg"],function(a){function b(){this.oT=this.qT=this.rT=this.pT=this.Go=this.Io=this.Jo=this.Ho=0;this.jL=this.Uo=m;this.T8=this.U2=0;this.ja=m;this.RL=document.createElement("div");this.RL.setAttribute("tdvlayer","content");this.Lma=e(this.RL);g.css(this.RL,{position:"absolute"});this.JI=document.createElement("div");this.wfa=e(this.JI);g.css(this.JI,{position:"absolute"});this.Lma.append(this.wfa)}var e=a("jquery.mod"),d=a("oq"),g=a("gg");b.prototype.append=
function(a){this.wfa.append(a)};b.prototype.VV=function(a){this.JI.appendChild(a)};b.prototype.nua=function(a){this.JI.removeChild(a)};b.prototype.Ac=S("Lma");b.prototype.LN=S("RL");b.prototype.sSa=function(a){this.U2!=a&&(this.U2=a,this.ja=m)};b.prototype.ATa=function(a){this.T8!=a&&(this.T8=a,this.ja=m)};b.prototype.XG=function(){return this.pT+this.Ho};b.prototype.aH=function(){return this.rT+this.Jo};b.prototype.$G=function(){return this.qT+this.Io};b.prototype.UG=function(){return this.oT+this.Go};
b.prototype.AH=function(a){this.jL!=a&&(this.jL=a,this.ja=m)};b.prototype.TSa=function(a){this.pT!=a&&(this.pT=a,this.ja=m)};b.prototype.VSa=function(a){this.rT!=a&&(this.rT=a,this.ja=m)};b.prototype.USa=function(a){this.qT!=a&&(this.qT=a,this.ja=m)};b.prototype.SSa=function(a){this.oT!=a&&(this.oT=a,this.ja=m)};b.prototype.paa=function(a){this.Ho!=a&&(this.Ho=a,this.ja=m)};b.prototype.taa=function(a){this.Jo!=a&&(this.Jo=a,this.ja=m)};b.prototype.qaa=function(a){this.Io!=a&&(this.Io=a,this.ja=m)};
b.prototype.oaa=function(a){this.Go!=a&&(this.Go=a,this.ja=m)};b.prototype.Wua=function(a){this.Uo!=a&&(this.Uo=a,this.ja=m)};b.prototype.Jg=function(){this.ja&&(this.V(),this.ja=B)};b.prototype.V=function(){g.css(this.RL,{overflow:this.jL?"visible":"hidden","z-index":this.Uo?d.Aba:d.zba,left:this.XG()+"px",top:this.aH()+"px",right:this.$G()+"px",bottom:this.UG()+"px",cursor:"inherit"});g.css(this.JI,{left:-this.U2+"px",top:-this.T8+"px",right:this.jL?0:"initial",bottom:this.jL?0:"initial",cursor:"inherit"})};
return b});
define("jw","require,dZ,jquery.mod,kL,oq,gg".split(","),function(a){function b(){this.ia=this.X=this.Aa=this.xa=l;this.ct=this.bt=this.et=this.dt=0;this.eb=B;this.T2=0;this.S8=4;this.L_=6;this.c7=0;this.ac="#000000";this.bb=1;this.Ub=document.createElement("div");this.Ub.setAttribute("tdvlayer","shadow");this.ba=e(this.Ub);g.css(this.Ub,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.ja=B}a("dZ");var e=a("jquery.mod");a("kL");var d=a("oq"),g=a("gg");b.prototype.Ac=S("ba");b.prototype.LN=S("Ub");
b.prototype.raa=function(a){if(this.dt!=a){this.dt=a;this.ja=m}};b.prototype.saa=function(a){if(this.et!=a){this.et=a;this.ja=m}};b.prototype.maa=function(a){if(this.bt!=a){this.bt=a;this.ja=m}};b.prototype.naa=function(a){if(this.ct!=a){this.ct=a;this.ja=m}};b.prototype.Ji=function(a){if(this.bb!=a){this.bb=a;this.ja=m}};b.prototype.nk=S("bb");b.prototype.Hf=function(a){if(this.eb!=a){this.eb=a;this.ja=m}};b.prototype.rSa=function(a){if(this.T2!=a){this.T2=a;this.ja=m}};b.prototype.zTa=function(a){if(this.S8!=
a){this.S8=a;this.ja=m}};b.prototype.WRa=function(a){if(this.L_!=a){this.L_=a;this.ja=m}};b.prototype.nTa=function(a){if(this.c7!=a){this.c7=a;this.ja=m}};b.prototype.xH=function(a){if(this.ac!=a){this.ac=a;this.ja=m}};b.prototype.Jg=function(){if(this.ja){this.V();this.ja=B}};b.prototype.V=function(){var a=this.T2+"px "+this.S8+"px "+this.L_+"px "+this.c7+"px "+this.ac;this.Ub.style.display=this.eb?"block":"none";this.Ub.style.boxShadow=a;this.Ub.style["-webkit-box-shadow"]=a;this.Ub.style["-moz-box-shadow"]=
a;this.Ub.style.borderTopLeftRadius=this.dt+"px";this.Ub.style.borderTopRightRadius=this.et+"px";this.Ub.style.borderBottomLeftRadius=this.bt+"px";this.Ub.style.borderBottomRightRadius=this.ct+"px";this.Ub.style.filter="alpha(opacity="+Math.round(this.bb*100)+")";this.Ub.style["-ms-filter"]="alpha(opacity="+Math.round(this.bb*100)+")";this.Ub.style.opacity=this.bb;this.Ub.style.zIndex=d.Mca};return b});
define("ms","require,jquery.mod,dZ,kL,ll,bb,nV,ga,ew,jw,oq,cu,gg,u".split(","),function(a){var b=a("jquery.mod");a("dZ");var e=a("kL"),d=a("ll"),g=a("bb"),c=a("nV"),i=a("ga"),f=a("ew"),j=a("jw"),n=a("oq"),k=a("cu"),o=a("gg");a("u");var p=e.extend(d,function(){d.call(this);this.FE=p.FE++;this.o0=this.Td=this.Z4=this.iL=this.V6=this.ba=this.Ub=r;this.Noa=this.kia=B;this.Z=this.Pa=r;this.ia=this.X=this.Yt=this.Xt=0;this.Qw=this.eb=B;this.aia=m;this.dK=this.eK=this.Nk=this.Ok=0;this.bb=1;this.ph=g.le;
this.set("inView",B);this.set("toolTip",l);this.sB(m);this.L6(m)});p.prototype.ie=R("QD");p.prototype.toString=function(){return"["+this.ba.attr("tdvclass")+"::"+this.FE+"]"};p.prototype.log=function(a){e.log(a+" "+this.toString()+" "+(new Date).getTime().toString())};p.prototype.tb=S("Pa");p.prototype.tr=function(a){(this.Pa=a)&&this.i3();this.nG();this.trigger(c.swa)};p.prototype.Ac=function(){this.ba=b(this.Rq());this.Ac=S("ba");return this.ba};p.prototype.Rq=function(){this.Ub=document.createElement("div");
this.Ub.setAttribute("id",this.FE);this.QD&&this.Ub.setAttribute("tdvclass",this.QD);o.css(this.Ub,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.Rq=S("Ub");return this.Ub};p.prototype.Fk=function(){this.V6=new j;this.Fk=S("V6");return this.V6};p.prototype.Dc=function(){this.Td=new i;this.Dc=S("Td");return this.Td};p.prototype.yE=function(){this.iL=document.createElement("div");this.iL.setAttribute("tdvlayer","overShadow");o.css(this.iL,{position:"absolute",left:0,
top:0,cursor:"inherit"});this.yE=S("iL");return this.iL};p.prototype.n2=function(){this.Z4=b(this.yE());this.n2=S("Z4");return this.Z4};p.prototype.sb=function(){this.o0=new f;this.sb=S("o0");return this.o0};p.prototype.getParent=S("Z");p.prototype.Ra=S("X");p.prototype.yb=S("ia");p.prototype.UPa=function(){return this.X!==l&&this.ia!==l};p.prototype.Re=function(){return this.X-this.sb().XG()-this.sb().$G()};p.prototype.Qe=function(){return this.ia-this.sb().aH()-this.sb().UG()};p.prototype.ql=function(){return this.sb().XG()};
p.prototype.Ur=function(){return this.sb().aH()};p.prototype.Tr=function(){return this.sb().$G()};p.prototype.VG=function(){return this.sb().UG()};p.prototype.Hf=function(a){if(this.eb!=a){this.eb=a;this.Wd();if(this.Z){this.Z.Lb();this.Z.ud()}this.nG()}};p.prototype.nG=function(){var a=B;this.Pa&&this.eb&&this.nk()>0&&(this==this.Pa?a=m:this.Z&&(a=this.Z.Qw));this.Qw!=a&&this.w_(a)};p.prototype.w_=function(a){this.Qw=a;this.set("inView",a);this.Qw?this.trigger(new k(c.Wc)):this.trigger(new k(c.cd))};
p.prototype.UJa=function(a){if(this.aia!=a){this.aia=a;this.Z&&this.Z.ud()}};p.prototype.MJa=function(a){if(this.qE!=a){this.qE=a;this.Lb()}};p.prototype.LJa=function(a){if(this.pE!=a){this.pE=a;this.Lb()}};p.prototype.KJa=function(a){if(this.oE!=a){this.oE=a;this.Lb()}};p.prototype.JJa=function(a){if(this.nE!=a){this.nE=a;this.Lb()}};p.prototype.NJa=function(a){if(this.dm!=a){this.dm=a;if(this.dm!=l)this.xm=l;this.Lb()}};p.prototype.IJa=function(a){if(this.bA!=a){this.bA=a;if(this.bA!=l)this.wm=
l;this.Lb()}};p.prototype.gKa=function(a){if(this.xm!=a){this.xm=a;if(this.xm!=l)this.dm=l;this.Lb()}};p.prototype.cKa=function(a){if(this.wm!=a){this.wm=a;if(this.wm!=l)this.bA=l;this.Lb()}};p.prototype.WJa=function(a){if(this.Qt!=a){if(a!=l)this.ET=l;this.Qt=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.uKa=function(a){if(this.Fp!=a){if(a!=l)this.GT=l;this.Fp=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.iKa=function(a){if(this.NL!=a){if(a!=l)this.FT=l;this.NL=a;this.Z&&this.Z.ud();this.Lb()}};
p.prototype.AJa=function(a){if(this.wI!=a){if(a!=l)this.DT=l;this.wI=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.dKa=function(a){if(this.ET!=a){if(a!=l)this.Qt=l;this.ET=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.fKa=function(a){if(this.GT!=a){if(a!=l)this.Fp=l;this.GT=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.eKa=function(a){if(this.FT!=a){if(a!=l)this.NL=l;this.FT=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.bKa=function(a){if(this.DT!=a){if(a!=l)this.wI=l;this.DT=a;this.Z&&this.Z.ud();
this.Lb()}};p.prototype.DJa=function(a){if(this.fw!=a){this.fw=a;this.Z&&this.Z.ud()}};p.prototype.EJa=function(a){if(this.gw!=a){this.gw=a;this.Z&&this.Z.ud()}};p.prototype.Zr=function(){return isNaN(this.dm)?this.Ok:this.dm};p.prototype.Yr=function(){return isNaN(this.bA)?this.Nk:this.bA};p.prototype.lEa=function(){return isNaN(this.HCa)?this.Oia:this.HCa};p.prototype.Wr=function(){return isNaN(this.qE)?this.eK:this.qE};p.prototype.Wu=function(){return isNaN(this.pE)?this.dK:this.pE};p.prototype.DW=
function(){return isNaN(this.oE)?1E4:this.oE};p.prototype.BW=function(){return isNaN(this.nE)?1E4:this.nE};p.prototype.ona=function(a){if(this.r2()!=a){this.sb().TSa(a);this.Lb()}};p.prototype.r2=function(){return this.sb().pT};p.prototype.qna=function(a){if(this.u2()!=a){this.sb().VSa(a);this.Lb()}};p.prototype.u2=function(){return this.sb().rT};p.prototype.pna=function(a){if(this.s2()!=a){this.sb().USa(a);this.Lb()}};p.prototype.s2=function(){return this.sb().qT};p.prototype.nna=function(a){if(this.q2()!=
a){this.sb().SSa(a);this.Lb()}};p.prototype.q2=function(){return this.sb().oT};p.prototype.BO=function(a){if(this.Xt!=a){var b=this.Xt==0!=(a==0);this.Xt=a;this.qk();b&&this.Z&&this.Z.ud()}};p.prototype.CO=function(a){if(this.Yt!=a){var b=this.Yt==0!=(a==0);this.Yt=a;this.qk();b&&this.Z&&this.Z.ud()}};p.prototype.bQa=function(){return this.Xt!=0||this.Yt!=0};p.prototype.Ji=function(a){if(this.bb!=a){this.bb=a;o.css(this.yE(),{filter:"alpha(opacity="+Math.round(this.bb*100)+") ",opacity:this.bb});
this.nG();this.qk()}};p.prototype.nk=S("bb");p.prototype.xJa=function(a){if(this.Dc().dt!=a){this.Fk().raa(a);this.Dc().raa(a)}};p.prototype.sDa=function(){return this.Dc().dt};p.prototype.yJa=function(a){if(this.Dc().et!=a){this.Fk().saa(a);this.Dc().saa(a)}};p.prototype.tDa=function(){return this.Dc().et};p.prototype.pJa=function(a){if(this.Dc().bt!=a){this.Fk().maa(a);this.Dc().maa(a)}};p.prototype.qDa=function(){return this.Dc().bt};p.prototype.qJa=function(a){if(this.Dc().ct!=a){this.Fk().naa(a);
this.Dc().naa(a)}};p.prototype.rDa=function(){return this.Dc().ct};p.prototype.tJa=function(a){if(this.Dc().Ho!=a){this.Dc().paa(a);this.sb().paa(a);this.Lb()}};p.prototype.Uga=function(){return this.Dc().Ho};p.prototype.zJa=function(a){if(this.Dc().Jo!=a){this.Dc().taa(a);this.sb().taa(a);this.Lb()}};p.prototype.Wga=function(){return this.Dc().Jo};p.prototype.vJa=function(a){if(this.Dc().Io!=a){this.Dc().qaa(a);this.sb().qaa(a);this.Lb()}};p.prototype.Vga=function(){return this.Dc().Io};p.prototype.rJa=
function(a){if(this.Dc().Go!=a){this.Dc().oaa(a);this.sb().oaa(a);this.Lb()}};p.prototype.Tga=function(){return this.Dc().Go};p.prototype.sJa=function(a){this.Dc().YRa(a)};p.prototype.wJa=function(a){this.Dc().$Ra(a)};p.prototype.uJa=function(a){this.Dc().ZRa(a)};p.prototype.oJa=function(a){this.Dc().XRa(a)};p.prototype.DU=function(a){this.Fk().Hf(a)};p.prototype.oKa=function(a){this.Fk().rSa(a)};p.prototype.rKa=function(a){this.Fk().zTa(a)};p.prototype.mKa=function(a){this.Fk().WRa(a)};p.prototype.qKa=
function(a){this.Fk().nTa(a)};p.prototype.pKa=function(a){this.Fk().Ji(a)};p.prototype.nKa=function(a){this.Fk().xH(a)};p.prototype.kJa=function(a){this.mDa()!=a&&this.Dc().Ji(a)};p.prototype.mDa=function(){return this.Dc().nk()};p.prototype.gJa=function(a){this.lDa()!=a&&this.Dc().xH(a)};p.prototype.lDa=function(){return this.Dc().ac};p.prototype.iJa=function(a){this.Dc().dSa(a)};p.prototype.hJa=function(a){this.Dc().cSa(a)};p.prototype.jJa=function(a){this.Dc().vSa(a)};p.prototype.Ox=function(a){if(this.ph!=
a){this.ph=a;this.qk()}};p.prototype.sB=function(a){if(this.Uo!=a){this.Uo=a;o.css(this.yE(),{"z-index":this.Uo?n.Aca:n.zca});this.sb().Wua(this.Uo);this.qk()}};p.prototype.L6=function(a){if(this.Bla!=a){this.Bla=a;o.css(this.Rq(),{"z-index":this.Bla?n.gda:n.fda});this.qk()}};p.prototype.Co=function(){this.nG();this.TN()};p.prototype.Am=function(){this.nG()};p.prototype.g6=G();p.prototype.i3=function(){this.TN();this.Wd();this.Lb();this.ud();this.qk()};p.prototype.Wt=function(){this.dK=this.eK=this.Nk=
this.Ok=0;this.Oia=l};p.prototype.TN=function(){var a=this.tb();a&&a.BD.TN(this)};p.prototype.Wd=function(){var a=this.tb();a&&a.BD.Wd(this)};p.prototype.Lb=function(){var a=this.tb();a&&a.BD.Lb(this)};p.prototype.ud=function(){var a=this.tb();a&&a.BD.ud(this)};p.prototype.qk=function(){var a=this.tb();a&&a.BD.qk(this)};p.prototype.F2=function(){var a=isNaN(this.ET)&&isNaN(this.Qt),b=isNaN(this.FT)&&isNaN(this.NL);return isNaN(this.dm)&&isNaN(this.xm)&&(a||b)?m:B};p.prototype.Nha=function(){var a=
isNaN(this.GT)&&isNaN(this.Fp),b=isNaN(this.DT)&&isNaN(this.wI);return isNaN(this.bA)&&isNaN(this.wm)&&(a||b)?m:B};p.prototype.XMa=function(){this.Wt();var a=this.lEa();if(a){var b=this.F2(),c=this.Nha();if(b&&!c){b=this.Qe();if(b!=0){this.Ok=b*a+this.ql()+this.Tr();this.Nk=b+this.Ur()+this.VG()}}else if(!b&&c){b=this.Re();if(b!=0){this.Nk=b/a+this.ql()+this.Tr();this.Ok=b+this.ql()+this.Tr()}}}if(!isNaN(this.qE)&&this.Ok<this.qE)this.Ok=this.qE;if(!isNaN(this.oE)&&this.Ok>this.oE)this.Ok=this.oE;
if(!isNaN(this.pE)&&this.Nk<this.pE)this.Nk=this.pE;if(!isNaN(this.nE)&&this.Nk>this.nE)this.Nk=this.nE};p.prototype.kb=function(){if(!this.Noa){this.Noa=m;var a=this.Rq(),b=this.yE();a.appendChild(this.Fk().LN());a.appendChild(b);b.appendChild(this.Dc().LN());b.appendChild(this.sb().LN())}};p.prototype.iUa=function(){this.XMa();var a=this.Zr(),b=this.Yr(),c=this.Wr(),f=this.Wu();if(a!=this.tGa||b!=this.sGa||c!=this.pGa||f!=this.oGa||this.xm!=this.rGa||this.wm!=this.qGa){this.tGa=a;this.sGa=b;this.pGa=
c;this.oGa=f;this.rGa=this.xm;this.qGa=this.wm;return m}return B};p.prototype.Ja=function(){this.qk()};p.prototype.El=G();p.prototype.Lua=function(a,b,f,j){if(this.xa!=a||this.Aa!=b||this.X!=f||this.ia!=j){this.xa=a;this.Aa=b;this.X=f;this.ia=j;this.Dc().setSize(this.X,this.ia);this.ud();this.qk();this.trigger(new k(c.uc))}};p.prototype.Jg=function(){var a=this.Rq(),b=this.yE();if(this.eb){b.style.width=this.X+"px";b.style.height=this.ia+"px";a.style.left=this.xa+this.Xt+"px";a.style.top=this.Aa+
this.Yt+"px";a.style.width=this.X+"px";a.style.height=this.ia+"px";a.style.visibility="inherit";a.style.overflow="visible";a.style.cursor=this.Pa&&this.Pa.P0.pra(this.ph);if(b.clientWidth===0&&this.X!==0){a.style.width=0;a.style.width=this.X+"px"}}else{a.style.visibility="hidden";a.style.width=0;a.style.height=0;a.style.overflow="hidden";b.style.width=0;b.style.height=0}this.Fk().Jg();this.Dc().Jg();this.sb().Jg();if(!this.kia&&this.Pa){this.kia=m;this.Pa.Sna?this.j3():this.Pa.bind(c.Ns,this.j3,this,
m)}};p.prototype.j3=function(){this.trigger(c.INIT)};p.prototype.GPa=function(a){var a=a.Ac().offset(),b=this.Ac().offset(),c={};c.left=b.left-a.left;c.top=b.top-a.top;if(this.Pa){c.left=c.left/this.Pa.vx;c.top=c.top/this.Pa.vx}return c};p.FE=0;return p});
define("S","require,dZ,kL,nV,cu,gp,ms".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("gp"),i=a("ms"),f=e.extend(i,function(){this.j={};this.qu=this.Fga=l;this.Ex={};this.Cga=m;this.Tna={};i.call(this);this.YBa();this.Ya();this.ie("UICustomizable");this.Wd()});f.fc={visible:m,includeInLayout:m,state:l,left:l,right:l,top:l,bottom:l,centerX:l,centerY:l,width:l,height:l,minWidth:l,minHeight:l,maxWidth:l,maxHeight:l,actualWidth:l,actualHeight:l,paddingLeft:0,paddingTop:0,paddingRight:0,
paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:l,borderBottomRadius:l,borderLeftRadius:l,borderRightRadius:l,borderTopLeftRadius:l,borderTopRightRadius:l,borderBottomLeftRadius:l,borderBottomRightRadius:l,borderSize:0,borderLeftSize:l,borderTopSize:l,borderRightSize:l,borderBottomSize:l,borderColor:l,borderLeftColor:l,borderTopColor:l,borderRightColor:l,borderBottomColor:l,shadow:B,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:l,
backgroundOpacity:1,backgroundColor:l,backgroundColorRatios:l,backgroundColorDirection:l,backgroundImageUrl:l,hideEffect:l,showEffect:l};f.prototype.YBa=function(){this.Tna[c.Ob]=c.Za};f.prototype.Ya=function(){this.ln(f.fc)};f.prototype.ln=function(a){for(var b in a){var c=a[b],f=c&&c.length;!f||typeof c=="string"?this.f(b,c):f==1?this.f(b,c[0]):f==2?this.m(b,c[0],c[1]):f==3&&this.m(b,c[0],c[1],c[2])}};f.prototype.f=function(a,b){this.j[a]={i:m,d:b}};f.prototype.rEa=function(){var a=[],b;for(b in this.j)a.push(b);
return a};f.prototype.m=function(a,b,c,f){this.Ex[b]||(this.Ex[b]={});this.f(a,f);this.Ex[b][c]=a};f.prototype.VF=function(a,b){if(b)this.Fga=a;else if(this.Fga!=l)return;if(this.qu!=a){var c=this.Ex[this.qu];if(c)for(var f in c)(this.j[f]||(this.j[f]={})).i=m;this.qu=a;if(c=this.Ex[this.qu])for(f in c)(this.j[f]||(this.j[f]={})).i=m;this.Wd()}};f.prototype.Y=function(a){if(b(a).isString())this.set(a,l);else{var c=a;for(a in c)this.set(a,c[a])}};f.prototype.set=function(a,c){var f=this.j[a];if(f){c==
l&&(c=f.d);if(!b.isEqual(this.get(a),c)){a=="state"&&this.VF(c,m);i.prototype.set.call(this,a,c);f.i=m;this.Wd()}}else i.prototype.set.call(this,a,c)};f.prototype.get=function(a,b){switch(a){case "actualWidth":return this.Ra();case "actualHeight":return this.yb();default:var c=i.prototype.get.call(this,a);if(c===l){var f=this.j[a];f&&(c=f.d);c===l&&(c=b)}return c}};f.prototype.hea=function(){for(var a=["paddingLeft","paddingTop","paddingRight","paddingBottom","borderRadius","borderTopRadius","borderBottomRadius",
"borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize"],b=0;b<a.length;b++)if(this.v(a[b]))return m;return B};f.prototype.v=function(a){if((this.j[a]||{}).i)return m;if(this.qu!==l){a=this.Ex[this.qu][a];return!!(this.j[a]||{}).i}};f.prototype.uB=function(a){(this.j[a]||(this.j[a]={})).i=m;this.Wd()};f.prototype.H=function(a){(this.j[a]||
(this.j[a]={})).i=B;if(this.qu!=l)(a=this.Ex[this.qu][a])&&((this.j[a]||(this.j[a]={})).i=B)};f.prototype.p=function(){for(var a,b=0;b<arguments.length;b++){for(var c=arguments[b],f=this.qu;f;){if(a=this.Ex[f][c]){a=this.get(a);if(a!=l&&a!=r)return a}f=this.Tna[f]}a=this.get(c);if(a!=l&&a!=r)return a}};f.prototype.W6=function(a){a.source.unbind(d.hb,this.W6,this);this.trigger(new g(d.$H))};f.prototype.Q2=function(a){a.source.unbind(d.hb,this.Q2,this);this.trigger(new g(d.VH))};f.prototype.Ja=function(){if(this.Cga)this.Cga=
B;else if(this.v("visible")){var a=this.p("visible"),b=this.get(a?"hideEffect":"showEffect");if(b&&b.hH(this)){b.unbind(d.hb,a?this.Q2:this.W6,this);b.end()}if(b=this.get(a?"showEffect":"hideEffect")){if(!b.hH(this)){this.H("visible");b.bind(d.hb,a?this.W6:this.Q2,this);b.play(this)}}else this.trigger(new g(a?d.$H:d.VH))}if(this.v("visible")){this.Hf(this.p("visible"));this.H("visible")}if(this.v("includeInLayout")){this.UJa(this.p("includeInLayout"));this.H("includeInLayout")}if(this.v("left")){b=
this.p("left");a=f.co(b);b=a===l?b:l;this.dKa(a);this.WJa(b);this.H("left")}if(this.v("top")){b=this.p("top");a=f.co(b);b=a===l?b:l;this.fKa(a);this.uKa(b);this.H("top")}if(this.v("right")){b=this.p("right");a=f.co(b);b=a===l?b:l;this.eKa(a);this.iKa(b);this.H("right")}if(this.v("bottom")){b=this.p("bottom");a=f.co(b);b=a===l?b:l;this.bKa(a);this.AJa(b);this.H("bottom")}if(this.v("centerX")){this.DJa(this.p("centerX"));this.H("centerX")}if(this.v("centerY")){this.EJa(this.p("centerY"));this.H("centerY")}if(this.v("width")){b=
this.p("width");a=f.co(b);b=a===l?b:l;this.gKa(a);this.NJa(b);this.H("width")}if(this.v("height")){b=this.p("height");a=f.co(b);b=a===l?b:l;this.cKa(a);this.IJa(b);this.H("height")}if(this.v("minWidth")){b=this.p("minWidth");this.MJa(b);this.H("minWidth")}if(this.v("minHeight")){b=this.p("minHeight");this.LJa(b);this.H("minHeight")}if(this.v("maxWidth")){b=this.p("maxWidth");this.KJa(b);this.H("maxWidth")}if(this.v("maxHeight")){b=this.p("maxHeight");this.JJa(b);this.H("maxHeight")}if(this.v("paddingLeft")){this.ona(this.p("paddingLeft"));
this.H("paddingLeft")}if(this.v("paddingTop")){this.qna(this.p("paddingTop"));this.H("paddingTop")}if(this.v("paddingRight")){this.pna(this.p("paddingRight"));this.H("paddingRight")}if(this.v("paddingBottom")){this.nna(this.p("paddingBottom"));this.H("paddingBottom")}a=B;if(this.v("borderRadius")){this.H("borderRadius");a=m}b=B;if(this.v("borderLeftRadius")){this.H("borderLeftRadius");b=m}var c=B;if(this.v("borderTopRadius")){this.H("borderTopRadius");c=m}var e=B;if(this.v("borderRightRadius")){this.H("borderRightRadius");
e=m}var p=B;if(this.v("borderBottomRadius")){this.H("borderBottomRadius");p=m}if(this.v("borderTopLeftRadius")||c||b||a){this.xJa(this.p("borderTopLeftRadius","borderLeftRadius","borderTopRadius","borderRadius"));this.H("borderTopLeftRadius")}if(this.v("borderTopRightRadius")||c||e||a){this.yJa(this.p("borderTopRightRadius","borderRightRadius","borderTopRadius","borderRadius"));this.H("borderTopRightRadius")}if(this.v("borderBottomLeftRadius")||p||b||a){this.pJa(this.p("borderBottomLeftRadius","borderLeftRadius",
"borderBottomRadius","borderRadius"));this.H("borderBottomLeftRadius")}if(this.v("borderBottomRightRadius")||p||e||a){this.qJa(this.p("borderBottomRightRadius","borderRightRadius","borderBottomRadius","borderRadius"));this.H("borderBottomRightRadius")}a=B;if(this.v("borderSize")){this.H("borderSize");a=m}if(this.v("borderLeftSize")||a){this.tJa(this.p("borderLeftSize","borderSize"));this.H("borderLeftSize")}if(this.v("borderTopSize")||a){this.zJa(this.p("borderTopSize","borderSize"));this.H("borderTopSize")}if(this.v("borderRightSize")||
a){this.vJa(this.p("borderRightSize","borderSize"));this.H("borderRightSize")}if(this.v("borderBottomSize")||a){this.rJa(this.p("borderBottomSize","borderSize"));this.H("borderBottomSize")}a=B;if(this.v("borderColor")){this.H("borderColor");a=m}if(this.v("borderLeftColor")||a){this.sJa(this.p("borderLeftColor","borderColor"));this.H("borderLeftColor")}if(this.v("borderTopColor")||a){this.wJa(this.p("borderTopColor","borderColor"));this.H("borderTopColor")}if(this.v("borderRightColor")||a){this.uJa(this.p("borderRightColor",
"borderColor"));this.H("borderRightColor")}if(this.v("borderBottomColor")||a){this.oJa(this.p("borderBottomColor","borderColor"));this.H("borderBottomColor")}if(this.v("shadow")){this.DU(this.p("shadow"));this.H("shadow")}if(this.v("shadowHorizontalLength")){this.oKa(this.p("shadowHorizontalLength"));this.H("shadowHorizontalLength")}if(this.v("shadowVerticalLength")){this.rKa(this.p("shadowVerticalLength"));this.H("shadowVerticalLength")}if(this.v("shadowBlurRadius")){this.mKa(this.p("shadowBlurRadius"));
this.H("shadowBlurRadius")}if(this.v("shadowSpread")){this.qKa(this.p("shadowSpread"));this.H("shadowSpread")}if(this.v("shadowColor")){this.nKa(this.p("shadowColor"));this.H("shadowColor")}a=B;if(this.v("opacity")){this.Ji(this.p("opacity"));this.H("opacity");a=m}if(this.v("shadowOpacity")||a){this.pKa(this.p("shadowOpacity","opacity"));this.H("shadowOpacity")}if(this.v("backgroundOpacity")){this.kJa(this.p("backgroundOpacity"));this.H("backgroundOpacity")}if(this.v("backgroundColor")){this.gJa(this.p("backgroundColor"));
this.H("backgroundColor")}if(this.v("backgroundColorRatios")){this.iJa(this.p("backgroundColorRatios"));this.H("backgroundColorRatios")}if(this.v("backgroundColorDirection")){this.hJa(this.p("backgroundColorDirection"));this.H("backgroundColorDirection")}if(this.v("backgroundImageUrl")){this.jJa(this.p("backgroundImageUrl"));this.H("backgroundImageUrl")}i.prototype.Ja.call(this)};f.co=function(a){if(b(a).isString())if((a=a.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&a.length>=2)return parseFloat(a[1])};
return f});define("je",["require","dZ","kL","cu"],function(a){var b=a("dZ"),e=a("kL"),d=a("cu");return e.extend(d,function(a,c,i,f,j,n,e,o){b.isNumber(c)||(c=1);b.isNumber(i)||(i=0);d.call(this,a);this.scale=c;this.rotation=i;this.x=f;this.y=j;this.pageX=n;this.pageY=e;this.touches=o||[]})});
define("nZ",["require","dZ","kL","cu"],function(a){a("dZ");var b=a("kL"),e=a("cu");return b.extend(e,function(a,b,c,i,f,j,n,k){e.call(this,a);this.x=b;this.y=c;this.pageX=i;this.pageY=f;this.delta=j;this.eW=n;this.originalEvent=k})});
define("e","require,jquery.mod,dZ,kL,nV,gp,lq,S,je,nZ,gg,u,lG".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kL"),g=a("nV"),c=a("gp"),i=a("lq"),f=a("S"),j=a("je"),n=a("nZ");a("gg");var k=a("u"),a=a("lG"),o=d.extend(f,function(){f.call(this);this.ie("UIComponent");this.TQ=[];this.aja=0;this.nCa=500;this.kc=1;this.tn=k.XX();this.HJ=this.Kt=this.QR=B;this.set("propagateClick",m)});o.fc={autoRolledOver:B,autoPressed:B,contentOpaque:m,cursor:l,inheritedCursor:l,inheritedInteractionEnabled:m,
interactionEnabled:m,rollOverOpacity:[c.O,"opacity"],rollOverShadow:[c.O,"shadow"],toolTipFollowMouse:B};e.defaults(o.fc,f.fc);o.prototype.Ya=function(){this.ln(o.fc)};o.prototype.zea=function(){this.una(m)};o.prototype.yea=function(){this.una(B)};o.prototype.wea=function(){this.UF(m)};o.prototype.xea=function(){this.UF(B)};o.prototype.$L=function(a){if(this.Kt!=a){this.Kt=a;this.Wf()}};o.prototype.UF=function(a){if(this.HJ!=a){this.HJ=a;this.Wf()}};o.prototype.una=function(a){if(this.QR!=a){this.QR=
a;this.Wf()}};o.prototype.Wf=function(){this.Kt?this.VF(c.U):this.HJ&&this.QR?this.VF(c.Ob):this.HJ?this.VF(c.Za):this.QR?this.VF(c.O):this.VF(c.le)};o.prototype.trigger=function(){f.prototype.trigger.apply(this,arguments)};o.prototype.Eoa=function(a,b){this.trigger(new n(g.Hb,a.x,a.y,a.pageX,a.pageY,l,l,b))};o.prototype.Foa=function(a,b){this.trigger(new n(g.Vc,a.x,a.y,a.pageX,a.pageY,l,l,b))};o.prototype.Goa=function(a,b){this.trigger(new n(g.ic,a.x,a.y,a.pageX,a.pageY,l,l,b))};o.prototype.XLa=
function(a,b,c){this.trigger(new n(g.oq,a.x,a.y,a.pageX,a.pageY,b.delta,b.eW,c))};o.prototype.Boa=function(a){this.trigger(new n(g.oa,a.x,a.y,a.pageX,a.pageY))};o.prototype.Coa=function(a){this.trigger(new n(g.vo,a.x,a.y,a.pageX,a.pageY))};o.prototype.$La=function(){this.trigger(new n(g.kd))};o.prototype.ZLa=function(){this.trigger(new n(g.jc))};o.prototype.VLa=function(){this.trigger(new n(g.ez))};o.prototype.WLa=function(){this.trigger(new n(g.wo))};o.prototype.ULa=function(a,b,c){this.trigger(new j(g.fD,
a,b,c.x,c.y,c.pageX,c.pageY,c.touches))};o.prototype.QLa=function(a,b,c){this.trigger(new j(g.eZ,a,b,c.x,c.y,c.pageX,c.pageY,c.touches))};o.prototype.RLa=function(a,b,c){this.trigger(new j(g.dD,a,b,c.x,c.y,c.pageX,c.pageY,c.touches))};o.prototype.SLa=function(a){this.trigger(new j(g.Zwa,l,a))};o.prototype.TLa=function(a){this.trigger(new j(g.eD,a))};o.prototype.D7=function(a){a.stopImmediatePropagation();this.jE(["touchend"]);this.pia(a)?this.M5(a):this.cma(a,m)};o.prototype.cma=function(a,b){var c=
this.AE(a);b&&this.KLa(c);this.Eoa(c,a);this.Z&&this.Z.cma(a,b&&this.get("propagateClick"))};o.prototype.C7=function(a){a.preventDefault();a.stopImmediatePropagation();this.pia(a)?this.K5(a):this.bma(a)};o.prototype.bma=function(a){var b=this.AE(a);this.JLa(b);this.Foa(b,a);this.Z&&this.Z.bma(a)};o.prototype.$ga=function(a,b){var c=a.pageX-b.pageX,f=a.pageY-b.pageY;return Math.sqrt(c*c+f*f)};o.prototype.Wx=function(a,b){this.XI(["touchend"]);b!==B&&a.preventDefault();a.stopImmediatePropagation();
if(this.BF)this.L5(a);else{this.ama(a,this.oia());this.eia()}this.BF=r;this.pI()};o.prototype.ama=function(a,b){this.Goa(this.AE(a),a);this.ILa(b);this.Z&&this.Z.ama(a)};o.prototype.KLa=function(a){this.bind(g.jc,this.uoa,this,m);this.CB=a};o.prototype.JLa=function(a){if(this.CB){var a=this.$ga(this.CB,a),b;if(k.mb()){b=this.tb();b=Math.min(b.Ra(),b.yb())*0.01;b=o.jya*b}else b=o.pya;a>b&&this.iV()}};o.prototype.ILa=function(a){if(this.CB){this.Boa(this.CB);a&&this.Coa(this.CB);this.iV()}};o.prototype.iV=
function(){if(this.CB){this.unbind(g.jc,this.uoa,this);this.CB=l}};o.prototype.uoa=function(){this.iV()};o.prototype.U1=function(a){this.jE(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.M5(a)};o.prototype.M5=function(a){var b=this.g2(a);this.BF=b;this.ULa(b.scale,b.rotation,b.coordinates);this.Z&&this.Z.M5(a)};o.prototype.Iga=function(a){a.preventDefault();a.stopImmediatePropagation();this.K5(a)};o.prototype.K5=function(a){var b=this.g2(a,this.BF),c=b.rotation-
this.BF.rotation,f=b.scale/this.BF.scale;this.BF=b;this.kc=this.kc*f;for(this.ak=this.ak+c;this.ak>180;)this.ak=this.ak-360;for(;this.ak<-180;)this.ak=this.ak+360;this.QLa(this.kc,this.ak,b.coordinates);c!=0&&this.SLa(this.ak);f!=1&&this.TLa(this.kc);this.iV();this.Z&&this.Z.K5(a)};o.prototype.Kga=function(a){this.XI(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.L5(a)};o.prototype.L5=function(a){this.RLa(this.kc,this.ak,this.g2(a).coordinates);this.Z&&this.Z.L5(a)};
o.prototype.g4=function(a){this.jE(["mouseup"]);a.stopImmediatePropagation();this.Xla(a,m);p&&this.eGa(a.ctrlKey)};o.prototype.Xla=function(a,b){var c=this.kA(a);b&&this.MAa(c);this.Eoa(c,a);this.Z&&this.Z.Xla(a,b&&this.get("propagateClick"))};o.prototype.h4=function(a){a.preventDefault();a.stopImmediatePropagation();this.tb().zC(this);this.Yla(a)};o.prototype.Yla=function(a){var b=this.kA(a);this.LAa(b);this.Foa(b,a);this.Z&&this.Z.Yla(a)};o.prototype.vS=function(a){this.XI(["mouseup"]);a.preventDefault();
a.stopImmediatePropagation();this.Zla(a,this.oia());this.eia()};o.prototype.Zla=function(a,b){this.Goa(this.kA(a));this.KAa(b);this.Z&&this.Z.Zla(a,b)};o.prototype.MAa=function(a){this.bind(g.jc,this.kfa,this,m);this.Oz=a};o.prototype.LAa=function(a){this.Oz&&this.$ga(this.Oz,a)>o.eya&&this.d0()};o.prototype.KAa=function(a){if(this.Oz){this.Boa(this.Oz);a&&this.Coa(this.Oz);this.d0()}};o.prototype.d0=function(){if(this.Oz){this.unbind(g.jc,this.kfa,this);this.Oz=l}};o.prototype.kfa=function(){this.d0()};
o.prototype.cja=function(a){if(this.Pa.bja){a.preventDefault();a.stopImmediatePropagation();this.$la(a)}};o.prototype.Uea=T(B);o.prototype.$la=function(a){var b=this.kA(a),c=this.bEa(a);this.Z&&!this.Uea(c.delta)&&this.Z.$la(a);this.XLa(b,c,a)};o.prototype.kA=function(a){return this.jR(a.pageX,a.pageY)};o.prototype.bEa=function(a){var a=window.event||a.originalEvent||a,b={};b.delta=Math.max(-1,Math.min(1,a.wheelDelta||-a.detail));b.eW=a.wheelDelta?a.wheelDelta*0.01:b.delta;return b};o.prototype.AE=
function(a){var b=this.e2(a),c;if(b===l){c=a.pageX!==l?this.jR(a.pageX,a.pageY):this.jR(a.originalEvent.pageX,a.originalEvent.pageY);c.touches=[c]}else if(b.length==0)c=this.iIa;else{c={x:0,y:0,pageX:0,pageY:0,ry:0,sy:0,touches:[]};Array.from(b).forEach(function(a){a||(a=b[0]);a=this.jR(a.pageX,a.pageY);c.x=c.x+a.x;c.y=c.y+a.y;c.pageX=c.pageX+a.pageX;c.pageY=c.pageY+a.pageY;c.ry=c.ry+a.ry;c.sy=c.sy+a.sy;c.touches.push(a)}.bind(this));c.x=c.x/b.length;c.y=c.y/b.length;c.pageX=c.pageX/b.length;c.pageY=
c.pageY/b.length;c.ry=c.ry/b.length;c.sy=c.sy/b.length}return this.iIa=c};o.prototype.pia=function(a){if((a=this.e2(a))&&a.length>1)for(var b=0,c=0;c<a.length;c++)if(this.CFa(a[c].target)){b++;if(b>1)return m}return B};o.prototype.CFa=function(a){for(;a;){if(a==this.Ub)return m;a=a.parentNode}return B};o.prototype.e2=function(a){return a.originalEvent.touches||a.originalEvent.targetTouches||a.originalEvent.changedTouches};o.prototype.jR=function(a,b){var c=this.Ac().offset(),f=this.Pa?this.Pa.vx:
1,i={};i.x=(a-c.left)/f;i.y=(b-c.top)/f;i.pageX=a/f;i.pageY=b/f;i.ry=a;i.sy=b;return i};o.prototype.g2=function(a,b){var c=this.AE(a);if(a.originalEvent.scale!==l||a.originalEvent.rotation!==l)return{coordinates:c,scale:a.originalEvent.scale,rotation:a.originalEvent.rotation};if(b){var f=this.hha(a);return{coordinates:c,scale:b.scale*f/b.touchesDistance,rotation:0,touchesDistance:f}}return{coordinates:c,scale:1,rotation:0,touchesDistance:this.hha(a)}};o.prototype.hha=function(a){var b=this.e2(a);
if(b&&b.length>1){a=Math.abs(b[0].pageX-b[1].pageX);b=Math.abs(b[0].pageY-b[1].pageY);return Math.sqrt(a*a+b*b)}return 0};o.prototype.jE=function(a){this.TQ=e(this.TQ).union(a);for(var a=this.gha(a),b=0;b<a.length;b++){var c=a[b];c.target.bind(c.name,c.handler)}};o.prototype.eia=function(){this.aja=(new Date).getTime()};o.prototype.oia=function(){return(new Date).getTime()-this.aja<=this.nCa};o.prototype.XI=function(a){this.TQ=e(this.TQ).difference(a);for(var a=this.gha(a),b=0;b<a.length;b++){var c=
a[b];c.target.unbind(c.name,c.handler)}};o.prototype.gha=function(a){this.yga||(this.yga=this.d2());for(var b=[],c=0;c<a.length;c++)b=b.concat(this.yga[a[c]]);return b};o.prototype.d2=function(){var a=this.Ac(),c=b(document),f=b(window);return{touchstart:[{target:a,name:"touchstart",handler:this.Wg(this.D7)}],touchmove:[{target:a,name:"touchmove",handler:this.Wg(this.C7)}],touchend:[{target:a,name:"touchend",handler:this.Wg(this.Wx,m)},{target:c,name:"touchend",handler:this.Wg(this.Wx,m)},{target:a,
name:"touchcancel",handler:this.Wg(this.Wx,m)},{target:c,name:"touchcancel",handler:this.Wg(this.Wx,m)}],gesturestart:[{target:a,name:"gesturestart",handler:this.Wg(this.U1)}],gesturechange:[{target:a,name:"gesturechange",handler:this.Wg(this.Iga)}],gestureend:[{target:a,name:"gestureend",handler:this.Wg(this.Kga)}],mousedown:[{target:a,name:"mousedown",handler:this.Wg(this.g4)}],mousemove:[{target:a,name:"mousemove",handler:this.Wg(this.h4)}],mouseup:[{target:a,name:"mouseup",handler:this.Wg(this.vS,
m)},{target:f,name:"mouseup",handler:this.Wg(this.vS,m)}],mousewheel:[{target:a,name:"mousewheel",handler:this.Wg(this.cja)},{target:a,name:"DOMMouseScroll",handler:this.Wg(this.cja)}]}};o.prototype.Wg=function(a,b){var c=this;return function(){b&&i.cY();o.ZM=o.ZM+1;var f=a.apply(c,arguments);o.ZM=o.ZM-1;return f}};o.prototype.Ja=function(){if(this.v("autoRolledOver")){this.unbind(g.kd,this.zea,this);this.unbind(g.jc,this.yea,this);if(this.p("autoRolledOver")){this.bind(g.kd,this.zea,this);this.bind(g.jc,
this.yea,this)}this.H("autoRolledOver")}if(this.v("autoPressed")){this.unbind(g.Hb,this.wea);this.unbind(g.ic,this.xea);if(this.p("autoPressed")){this.bind(g.Hb,this.wea);this.bind(g.ic,this.xea)}this.H("autoPressed")}var a=B;if(this.v("contentOpaque")){a=m;this.H("contentOpaque")}if(this.v("inheritedInteractionEnabled")){a=m;this.H("inheritedInteractionEnabled")}if(this.v("interactionEnabled")){a=m;this.H("interactionEnabled")}if(this.v("backgroundOpacity")||this.v("backgroundColor"))a=m;f.prototype.Ja.call(this);
if(a){var b=this.Dc(),b=b.nk()>0&&b.Pz.length>0,c=this.p("contentOpaque"),i=this.p("inheritedInteractionEnabled"),j=this.p("interactionEnabled");this.rB(i&&j&&(c||b))}if(a||this.v("cursor")||this.v("inheritedCursor")){this.H("cursor");this.H("inheritedCursor");this.DP?this.Ox(this.p("cursor")):this.Ox(this.p("inheritedCursor"))}};o.prototype.rB=function(a){if(this.DP!=a){(this.DP=a)?this.jE(o.Uda):this.XI(o.Uda);this.pI()}};o.prototype.pI=function(){this.Rq().style["pointer-events"]=this.Aha()};o.prototype.Aha=
function(){return this.DP?"auto":"none"};o.prototype.eGa=function(a){if(a){for(var a=[],b=this;b;){a.push(b);b=b.getParent()}console.log(a.map(function(a){return a.$s}))}else console.log(this.$s)};o.WN=function(){return o.ZM>0};o.Uda=function(){var a=[],a=a.concat(["touchstart","touchmove"]);k.Xd()!=k.mi&&(a=a.concat(["mousedown","mousemove","mousewheel"]));return a}();o.ZM=0;o.aVa=1E3;o.pya=10;o.jya=5;o.eya=10;var p=a.Jh("debug");return o});
define("d",["require"],function(){return{RO:"absolute",sg:"horizontal",Ev:"grid",hh:"vertical"}});define("cv",["require"],function(){return function(a){this.hd=a;this.height=this.width=this.y=this.x=0}});define("dy",["require"],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}});
define("cb",["require","mn","cv","dy"],function(a){function b(){this.qc=r;this.ml=e.ec;this.Ik=e.Ha;this.KB=this.Gt=0}var e=a("mn"),d=a("cv"),g=a("dy");b.prototype.Vua=function(a){this.Gt!=a&&(this.Gt=a,this.ze())};b.prototype.MX=function(a){this.KB!=a&&(this.KB=a,this.ze())};b.prototype.fva=function(a){this.qc=a;this.ze()};b.prototype.yH=function(a){this.Ik!=a&&(this.Ik=a,this.ze())};b.prototype.FH=function(a){this.ml!=a&&(this.ml=a,this.ze())};b.prototype.ZN=function(){return new g};b.prototype.update=
function(){var a=this.kBa();this.kG(a);this.GJa(a)};b.prototype.kG=function(a){this.NM(a);this.MM(a)};b.prototype.nR=function(){for(var a=this.Jha(),b=[],f=0;f<a.length;f++){var j=a[f];j.get("includeInLayout")&&b.push(j)}return b};b.prototype.Jha=function(){for(var a=this.qc.zb(),b=[],f=0;f<a.length;f++){var j=a[f];j.get("visible")&&b.push(j)}return b};b.prototype.kBa=function(){for(var a=this.Jha(),b=[],f=0;f<a.length;f++)b.push(new d(a[f]));return b};b.prototype.GJa=function(a){for(var b=0;b<a.length;b++){var f=
a[b];f.hd.Lua(f.x,f.y,f.width,f.height)}};b.prototype.ze=function(){this.qc&&(this.qc.Lb(),this.qc.ud())};return b});
define("dr",["require","kL","mn","cb","dy"],function(a){var b=a("kL");a("mn");var e=a("cb"),d=a("dy"),a=b.extend(e,function(){e.call(this)});a.prototype.ZN=function(){for(var a=new d,b=this.nR(),i=0;i<b.length;i++){var f=b[i],j=f.Qt,n=f.NL,e=0;isNaN(j)||(e+=j);isNaN(n)||(e+=n);a.width=Math.max(e+f.Zr(),a.width);a.minWidth=Math.max(e+f.Wr(),a.minWidth);j=f.Fp;n=f.wI;e=0;isNaN(j)||(e+=j);isNaN(n)||(e+=n);a.height=Math.max(e+f.Yr(),a.height);a.minHeight=Math.max(e+f.Wu(),a.minHeight)}b=this.qc.ql()+
this.qc.Tr();a.width+=b;a.minWidth+=b;b=this.qc.Ur()+this.qc.VG();a.height+=b;a.minHeight+=b;return a};a.prototype.kG=function(a){this.NM(a);this.MM(a)};a.prototype.kG=function(a){for(var b=this.qc.Re(),i=this.qc.Qe(),f=0;f<a.length;f++){var j=a[f],n=j.hd,d=n.Qt;if(isNaN(d)){var e=n.ET;isNaN(e)||(d=Math.round(0.01*e*b))}e=n.NL;if(isNaN(e)){var p=n.FT;isNaN(p)||(e=Math.round(0.01*p*b))}var p=n.fw,q=n.dm;if(isNaN(q)){var t=n.xm;isNaN(t)?!isNaN(d)&&!isNaN(e)&&(q=b-d-e):q=Math.round(0.01*t*b)}t=n.Fp;
if(isNaN(t)){var s=n.GT;isNaN(s)||(t=Math.round(0.01*s*i))}s=n.wI;if(isNaN(s)){var u=n.DT;isNaN(u)||(s=Math.round(0.01*u*i))}var u=n.gw,w=n.bA;if(isNaN(w)){var v=n.wm;isNaN(v)?!isNaN(t)&&!isNaN(s)&&(w=i-t-s):w=Math.round(0.01*v*i)}j.width=isNaN(q)?n.Zr():Math.max(n.Wr(),Math.min(n.DW(),q));j.height=isNaN(w)?n.Yr():Math.max(n.Wu(),Math.min(n.BW(),w));j.x=!isNaN(d)&&!isNaN(e)?Math.round(d+0.5*(b-e-d-j.width)):isNaN(d)?isNaN(e)?isNaN(p)?0:0.5*b+p-0.5*j.width:b-e-j.width:d;j.y=!isNaN(t)&&!isNaN(s)?Math.round(t+
0.5*(i-s-t-j.height)):isNaN(t)?isNaN(s)?isNaN(u)?0:0.5*i+u-0.5*j.height:i-s-j.height:t}};return a});
define("jL",["require","kL","mn","cb","dy"],function(a){var b=a("kL"),e=a("mn"),d=a("cb"),g=a("dy"),a=b.extend(d,function(){d.call(this);this.JJ=this.KJ=this.LJ=this.BA=this.Lt=this.Mt=this.NJ=this.Tw=this.dm=l});a.prototype.mSa=function(a){this.dm!=a&&(this.dm=a,this.ze())};a.prototype.zSa=function(a){this.Mt!=a&&(this.Mt=a,this.Mt!=l&&(this.Tw=l),this.ze())};a.prototype.ySa=function(a){this.Lt!=a&&(this.Lt=a,this.Lt!=l&&(this.NJ=l),this.ze())};a.prototype.HSa=function(a){this.Tw!=a&&(this.Tw=a,
this.Mt!=l&&(this.Mt=l),this.ze())};a.prototype.GSa=function(a){this.NJ!=a&&(this.NJ=a,this.Lt!=l&&(this.Lt=l),this.ze())};a.prototype.ESa=function(a){this.BA!=a&&(this.BA=a,this.ze())};a.prototype.DSa=function(a){this.LJ!=a&&(this.LJ=a,this.ze())};a.prototype.CSa=function(a){this.KJ!=a&&(this.KJ=a,this.ze())};a.prototype.BSa=function(a){this.JJ!=a&&(this.JJ=a,this.ze())};a.prototype.ZN=function(){for(var a=new g,b=this.nR(),f=0,j=0;j<b.length;j++)b[j].get("includeInLayout")&&f++;if(!isNaN(this.Tw)){isNaN(this.BA)||
(a.minWidth=this.BA);for(j=0;j<b.length;j++){var n=b[j].Wr();isNaN(n)||(a.minWidth=Math.max(n,a.minWidth))}}if(isNaN(this.Mt))for(j=0;j<b.length;j++)n=b[j].Zr(),isNaN(n)||(a.width=Math.max(n,a.width));else a.width=this.Mt;if(isNaN(this.Lt))for(j=0;j<b.length;j++)n=b[j].Yr(),isNaN(n)||(a.height=Math.max(n,a.height));else a.height=this.Lt;isNaN(this.Tw)?isNaN(this.dm)?b=Math.ceil(Math.sqrt(f)):(b=this.dm-this.qc.ql()-this.qc.Tr(),b=Math.max(1,Math.floor((b+this.Gt)/(a.width+this.Gt)))):b=Math.max(1,
Math.floor(100/this.Tw));f=Math.ceil(f/b);a.width=a.width*b+Math.max(0,b-1)*this.Gt+this.qc.ql()+this.qc.Tr();a.minWidth=a.minWidth+this.qc.ql()+this.qc.Tr();a.height=a.height*f+Math.max(0,f-1)*this.KB+this.qc.Ur()+this.qc.VG();a.minHeight=0;return a};a.prototype.kG=function(a){for(var b,f,j=[],n=[],d=0;d<a.length;d++)f=a[d].hd,f.get("includeInLayout")?j.push(a[d]):n.push(a[d]);var g=j.length,p=this.qc.Re(),q=this.Gt,t;if(isNaN(this.Mt))if(isNaN(this.Tw)){for(d=a=0;d<j.length;d++)f=j[d].hd,a=Math.max(f.Wr(),
f.Zr(),a);a=Math.min(p,a)}else{if(a=Math.max(1,Math.floor(100/this.Tw)),a=(p-(a-1)*q)/a,d=B,!isNaN(this.KJ)&&this.KJ<a&&(a=this.KJ,d=m),!isNaN(this.BA)&&this.BA>a&&(a=this.BA,d=m),d)a=Math.max(1,Math.floor((p+q)/(a+q))),a=(p-(a-1)*q)/a}else a=this.Mt;a=Math.max(1,a);t=Math.max(1,Math.floor(0.001+(p+q)/(a+q)));var d=t*a,s=t*(a+q)-q,u=0;if(p>=s)switch(this.Ik){case e.Va:u=p-s;break;case e.ke:u=Math.round(0.5*(p-s));break;default:u=0}for(var p=[],s=[],w=0;w<t;w++)f=Math.round(d/(t-w)),d-=f,s.push(u),
u+=f+q,p.push(f);u=this.qc.Qe();w=this.KB;if(isNaN(this.Lt))if(isNaN(this.NJ)){q=1;for(d=0;d<j.length;d++)f=j[d].hd,q=Math.max(f.Wu(),f.Yr(),q)}else{if(q=Math.max(1,100/this.NJ),q=(u-(q-1)*w)/q,d=B,!isNaN(this.JJ)&&this.JJ<q&&(q=this.JJ,d=m),!isNaN(this.LJ)&&this.LJ>q&&(q=this.LJ,d=m),d)q=Math.max(1,Math.floor((u+w)/(q+w))),q=(u-(q-1)*w)/q}else q=this.Lt;d=Math.max(1,Math.ceil(g/t));b=d*q;var g=d*(q+w)-w,v=0;if(u>=g)switch(this.ml){case e.Zb:v=u-g;break;case e.Sd:v=Math.round(0.5*(u-g))}g=[];u=[];
for(f=0;f<d;f++){var x=Math.round(b/(d-f));b-=x;u.push(v);v+=x+w;g.push(x)}for(d=0;d<j.length;d++)b=j[d],w=d%t,f=Math.floor(d/t),b.x=s[w],b.width=p[w],b.y=u[f],b.height=g[f];for(d=0;d<n.length;d++)b=n[d],b.x=0,b.width=Math.round(a),b.y=0,b.height=Math.round(q)};return a});
define("kJ",["require","kL","mn","cb","dy"],function(a){var b=a("kL"),e=a("mn"),d=a("cb"),g=a("dy"),a=b.extend(d,function(){d.call(this)});a.prototype.ZN=function(){for(var a=new g,b=this.nR(),f=0;f<b.length;f++){var j=b[f];a.height=Math.max(j.Yr(),a.height);a.minHeight=Math.max(j.Wu(),a.minHeight);a.width+=j.Zr();a.minWidth+=j.Wr()}b=Math.max(0,b.length-1)*this.Gt+this.qc.ql()+this.qc.Tr();a.width+=b;a.minWidth+=b;b=this.qc.Ur()+this.qc.VG();a.height+=b;a.minHeight+=b;return a};a.prototype.kG=function(a){this.NM(a);
this.MM(a)};a.prototype.NM=function(a){for(var b=0,f=0;f<a.length;f++)a[f].hd.get("includeInLayout")&&b++;for(var f=Math.max(0,b-1)*this.Gt,j=this.qc.Re()-f,d=this.qc.Qe(),b=j,g=0,e=[],f=0;f<a.length;f++){var p=a[f],q=p.hd,t=q.wm;p.height=isNaN(t)?q.Yr():Math.max(q.Wu(),Math.min(q.BW(),Math.round(0.01*d*t)));t=q.xm;isNaN(t)?(p.width=q.Zr(),b-=p.width):q.get("includeInLayout")?(g+=t,e.push(p)):p.width=Math.max(q.Wr(),Math.min(q.DW(),Math.round(0.01*j*t)))}f=Math.max(0,b-0.01*j*g);b-=f;do{a=B;j=Math.max(0,
0<g?b/g:0);d=[];for(f=g=0;f<e.length;f++){var p=e[f],q=p.hd,t=Math.round(q.xm*j),s=q.Wr(),u=q.DW();t<s?(p.width=s,b-=p.width,a=m):t>u?(p.width=u,b-=p.width,a=m):(g+=q.xm,d.push(p))}e=d}while(a);for(f=0;f<e.length;f++)p=e[f],q=p.hd,j=Math.max(0,0<g?b/g:0),p.width=Math.round(q.xm*j),b-=p.width,g-=q.xm};a.prototype.MM=function(a){for(var b=this.Gt,f=this.qc.Re(),j=this.qc.Qe(),d=0,g=0,o=0;o<a.length;o++){var p=a[o];p.hd.get("includeInLayout")&&(d+=a[o].width,g++)}d+=b*(g-1);if(f>=d)switch(this.Ik){case e.Va:f-=
d;break;case e.ke:f=Math.round(0.5*(f-d));break;default:f=0}else f=0;for(o=0;o<a.length;o++)if(p=a[o],p.hd.get("includeInLayout")){if(j>=p.height)switch(this.ml){case e.Zb:p.y=j-p.height;break;case e.Sd:p.y=Math.round(0.5*(j-p.height));break;default:p.y=0}else p.y=0;p.x=f;f+=p.width+b}else p.x=0,p.y=0};return a});
define("cU",["require","kL","mn","cb","dy"],function(a){var b=a("kL"),e=a("mn"),d=a("cb"),g=a("dy"),a=b.extend(d,function(){d.call(this)});a.prototype.ZN=function(){for(var a=new g,b=this.nR(),f=0;f<b.length;f++){var j=b[f];a.width=Math.max(j.Zr(),a.width);a.minWidth=Math.max(j.Wr(),a.minWidth);a.height+=j.Yr();a.minHeight+=j.Wu()}b=Math.max(0,b.length-1)*this.KB+this.qc.Ur()+this.qc.VG();a.height+=b;a.minHeight+=b;b=this.qc.ql()+this.qc.Tr();a.width+=b;a.minWidth+=b;return a};a.prototype.kG=function(a){this.NM(a);
this.MM(a)};a.prototype.NM=function(a){for(var b=0,f=0;f<a.length;f++)a[f].hd.get("includeInLayout")&&b++;for(var f=Math.max(0,b-1)*this.KB,j=this.qc.Re(),d=this.qc.Qe()-f,b=d,g=0,e=[],f=0;f<a.length;f++){var p=a[f],q=p.hd,t=q.xm;p.width=isNaN(t)?q.Zr():Math.max(q.Wr(),Math.min(q.DW(),Math.round(0.01*j*t)));t=q.wm;isNaN(t)?(p.height=q.Yr(),b-=p.height):q.get("includeInLayout")?(g+=t,e.push(p)):p.height=Math.max(q.Wu(),Math.min(q.BW(),Math.round(0.01*d*t)))}f=Math.max(0,b-0.01*d*g);b-=f;do{a=B;j=Math.max(0,
0<g?b/g:0);d=[];for(f=g=0;f<e.length;f++){var p=e[f],q=p.hd,t=Math.round(q.wm*j),s=q.Wu(),u=q.BW();t<s?(p.height=s,b-=p.height,a=m):t>u?(p.height=u,b-=p.height,a=m):(g+=q.wm,d.push(p))}e=d}while(a);for(f=0;f<e.length;f++)p=e[f],q=p.hd,j=Math.max(0,0<g?b/g:0),p.height=Math.round(q.wm*j),b-=p.height,g-=q.wm};a.prototype.MM=function(a){for(var b=this.KB,f=this.qc.Re(),j=this.qc.Qe(),d=0,g=0,o=0;o<a.length;o++){var p=a[o];p.hd.get("includeInLayout")&&(d+=p.height,p.width>f&&(f=p.width),g++)}d+=b*(g-1);
if(j>=d)switch(this.ml){case e.Zb:j-=d;break;case e.Sd:j=Math.round(0.5*(j-d));break;default:j=0}else j=0;for(o=0;o<a.length;o++)if(p=a[o],p.hd.get("includeInLayout")){switch(this.Ik){case e.Va:p.x=f-p.width;break;case e.ke:p.x=Math.round(0.5*(f-p.width));break;default:p.x=0}p.y=j;j+=p.height+b}else p.x=0,p.y=0};return a});
define("l","require,kL,dZ,e,S,mn,cH,d,dr,jL,kJ,cU".split(","),function(a){var b=a("kL"),e=a("dZ"),d=a("e"),g=a("S"),c=a("mn"),i=a("cH"),f=a("d"),j=a("dr"),n=a("jL"),k=a("kJ"),o=a("cU"),p=b.extend(d,function(){d.call(this);this.ie("BaseContainer");this.un=r;this.zd=[];this.Mo=[];this.SI=i.Cba;this.set("contentOpaque",B)});p.fc={children:[[]],childrenInteractionEnabled:m,gap:0,horizontalAlign:c.Ha,itemHeight:l,itemMaxHeight:l,itemMaxWidth:l,itemMinHeight:l,itemMinWidth:l,itemWidth:l,layout:f.RO,verticalAlign:c.ec};
e.defaults(p.fc,d.fc);p.prototype.Ya=function(){this.ln(p.fc)};p.prototype.set=function(a,b){a=="children"?this.Gg(b):a=="creationPolicy"?this.eSa(b):d.prototype.set.call(this,a,b)};p.prototype.get=function(a,b){return a=="children"?this.zb():a=="creationPolicy"?this.SI:d.prototype.get.call(this,a,b)};p.prototype.eSa=function(a){if(this.SI!=a){this.SI=a;this.Y7()}};p.prototype.Gg=function(a){for(var b=this.zb(),a=a||[],c=e(b).difference(a),f=0;f<c.length;f++)this.removeChild(c[f]);b=e(a).difference(b);
for(f=0;f<b.length;f++)this.La(b[f]);for(f=0;f<a.length;f++)this.Om(a[f],f)};p.prototype.zb=S("zd");p.prototype.La=function(a){a.getParent()&&a.getParent().removeChild(a);this.zd.push(a);a.Z=this;this.pea(a);a.L6(this.Uo);this.Mo.push(a);this.Y7();a.Co()};p.prototype.removeChild=function(a){if(a.getParent()==this){a.Am();a.Z=r;if(e(this.Mo).contains(a))this.Mo=e.without(this.Mo,a);else{a.Ac().detach();a.tr(r);this.Lb();this.ud()}this.zd=e.without(this.zd,a);a.g6()}};p.prototype.kua=function(){e(this.zb()).forEach(function(a){this.removeChild(a)})};
p.prototype.O9=function(a){return e(this.zd).indexOf(a)};p.prototype.Om=function(a,b){var c=this.O9(a);c<0&&h("Can't set index. This is not a child of this container");var f=this.zd.slice();f.splice(c,1);f.splice(b,0,a);if(!e.isEqual(this.zd,f)){this.zd=f;if(!e(this.Mo).contains(a)){c=this.O9(a);a.Ac().detach();for(var j=f=r,d=c-1;d>=0&&!f;d--)e(this.Mo).contains(this.zd[d])||(f=this.zd[d]);for(d=c+1;d<this.zd.length&&!j&&!f;d++)e(this.Mo).contains(this.zd[d])||(j=this.zd[d]);f?a.Ac().insertAfter(f.Ac()):
j?a.Ac().insertBefore(j.Ac()):this.sb().VV(a.Rq());this.ud()}}};p.prototype.rB=function(a){d.prototype.rB.call(this,a);this.Uoa()};p.prototype.Uoa=function(){e(this.zd).forEach(function(a){this.pea(a)},this)};p.prototype.pea=function(a){a.set("inheritedInteractionEnabled",this.p("interactionEnabled")&&this.p("inheritedInteractionEnabled")&&this.p("childrenInteractionEnabled"))};p.prototype.pI=function(){d.prototype.pI.call(this);this.zd.forEach(function(a){a.pI()})};p.prototype.sB=function(a){d.prototype.sB.call(this,
a);e(this.zd).forEach(function(a){a.L6(this.Uo)},this)};p.prototype.w_=function(a){d.prototype.w_.call(this,a);e(this.zb()).forEach(function(a){a.nG()});this.Y7()};p.prototype.tr=function(a){d.prototype.tr.call(this,a);e(this.zb()).forEach(function(b){e(this.Mo).contains(b)||b.tr(a)},this)};p.prototype.Y7=function(){if((this.SI==i.Cba&&this.Qw||this.SI==i.dz)&&this.Mo.length>0){e(this.Mo).forEach(function(a){this.sb().VV(a.Rq());a.tr(this.tb())},this);this.Mo=[];this.Lb();this.ud()}};p.prototype.yO=
function(a){if(this.un!=a){this.un&&this.un.fva(r);(this.un=a)&&this.un.fva(this)}};p.prototype.Ja=function(){var a=B,b=this.p("layout");if(this.v("layout")){switch(b){case f.Ev:this.yO(new n);break;case f.sg:this.yO(new k);break;case f.hh:this.yO(new o);break;default:this.yO(new j)}this.H("layout");a=m}var c=this.un;if(this.v("horizontalAlign")||a){c.yH(this.p("horizontalAlign"));this.H("horizontalAlign")}if(this.v("verticalAlign")||a){c.FH(this.p("verticalAlign"));this.H("verticalAlign")}if(this.v("gap")||
a){if(b==f.Ev){c.Vua(this.p("gap"));c.MX(this.p("gap"))}else b==f.sg?c.Vua(this.p("gap")):b==f.hh&&c.MX(this.p("gap"));this.H("gap")}if(b==f.Ev){if(this.v("itemWidth")||a){var i=this.p("itemWidth"),e=g.co(i);e!==l?c.HSa(e):c.zSa(i);this.H("itemWidth")}if(this.v("itemHeight")||a){i=this.p("itemHeight");e=g.co(i);e!==l?c.GSa(e):c.ySa(i);this.H("itemHeight")}if(this.v("itemMinWidth")){c.ESa(this.p("itemMinWidth"));this.H("itemMinWidth")}if(this.v("itemMinHeight")){c.DSa(this.p("itemMinHeight"));this.H("itemMinHeight")}if(this.v("itemMaxWidth")){c.CSa(this.p("itemMaxWidth"));
this.H("itemMaxWidth")}if(this.v("itemMaxHeight")){c.BSa(this.p("itemMaxHeight"));this.H("itemMaxHeight")}}if(this.v("childrenInteractionEnabled")){this.H("childrenInteractionEnabled");this.Uoa()}this.Vb(["cursor"],{cursor:"inheritedCursor"},this.zd,m,B);d.prototype.Ja.call(this);b==f.Ev&&c.mSa(this.dm)};p.prototype.Vb=function(a,b,c,f,d){for(var j=0;j<a.length;j++){var i=a[j];if(!f||this.v(i)){for(var n=0;n<c.length;n++)c[n].set(b[i]?b[i]:i,this.p(i));d&&this.H(i)}}};p.prototype.Wt=function(){if(this.un){var a=
this.un.ZN();this.Ok=a.width;this.Nk=a.height;this.eK=a.minWidth;this.dK=a.minHeight}else d.prototype.Wt.call(this)};p.prototype.El=function(){this.un&&this.un.update(this);d.prototype.El.call(this)};return p});
define("ls",["require","jquery.mod","kL","oq","gg"],function(a){function b(a,b){this.fE=a;this.ac="#000000";this.bb=0.5;this.X=10;this.aN=this.uJ=5;this.Ze=b;this.rQ=this.d5=this.Ma=0;this.gea=this.eb=this.RP=B;this.ja=m;this.TD=document.createElement("div");this.TD.setAttribute("tdvlayer","scrollbar");this.II=e(this.TD);g.css(this.TD,{position:"absolute","z-index":d.Lca});this.tI=document.createElement("div");this.E_=e(this.tI);g.css(this.tI,{position:"absolute",left:0,top:0});this.II.append(this.E_)}
var e=a("jquery.mod");a("kL");var d=a("oq"),g=a("gg");b.prototype.bd=function(){return this.II.width()};b.prototype.Rd=function(){return this.II.height()};b.prototype.gb=function(a){this.Ma!=a&&(this.Ma=a,this.Ema(),this.ja=m)};b.prototype.pk=S("Ma");b.prototype.setSize=function(a,b){this.d5=a;this.rQ=b;this.Ema();this.ja=m};b.prototype.Hf=function(a){this.eb!=a&&(this.eb=a,this.ja=m)};b.prototype.Kua=function(a){this.RP!=a&&(this.RP=a,this.ja=m)};b.prototype.xH=function(a){this.ac!=a&&(this.ac=a,
this.ja=m)};b.prototype.Ji=function(a){this.bb!=a&&(this.bb=a,this.ja=m)};b.prototype.GO=function(a){this.X!=a&&(this.X=a,this.ja=m)};b.prototype.Tua=function(a){this.uJ!=a&&(this.uJ=a,this.ja=m)};b.prototype.gva=function(a){this.aN!=a&&(this.aN=a,this.ja=m)};b.prototype.Jg=function(){this.ja&&(this.gea!=this.eb&&(this.eb?this.Ze.append(this.II):this.II.detach(),this.gea=this.eb),this.V(),this.ja=B)};b.prototype.V=function(){var a=Math.round(100*this.d5/this.rQ),d=Math.round(100*this.Ma/this.rQ);
g.css(this.TD,{filter:"alpha(opacity="+Math.round(100*this.bb)+")",opacity:this.bb,display:this.eb?"block":"none"});g.css(this.tI,{backgroundColor:this.ac,"border-radius":Math.floor(this.X/2)+"px"});this.fE==b.sg?(g.css(this.TD,{left:this.uJ+"px",right:(this.RP?this.X:0)+this.uJ+"px",height:this.X+"px",bottom:this.aN+"px"}),g.css(this.tI,{left:d+"%",width:a+"%",height:this.X+"px"})):(g.css(this.TD,{top:this.aN+"px",right:this.uJ+"px",width:this.X+"px",bottom:(this.RP?this.X:0)+this.aN+"px"}),g.css(this.tI,
{top:d+"%",width:this.X+"px",height:a+"%"}))};b.prototype.Ema=function(){var a=this.rQ-this.d5;0>this.Ma?this.Ma=0:this.Ma>a&&(this.Ma=a)};b.sg="horizontal";b.hh="vertical";return b});define("jq",["require","kL","ls"],function(a){var b=a("kL"),e=a("ls");return b.extend(e,function(a){e.call(this,e.sg,a)})});define("ei",["require","kL","ls"],function(a){var b=a("kL"),e=a("ls");return b.extend(e,function(a){e.call(this,e.hh,a)})});
define("gI",["require","nV","cu","fQ","lG"],function(a){function b(){var a;a=c?!i:!document[k];n.visible!=a&&(n.visible=a,n.visible&&(f?window.location.href=f:j&&window.location.reload()),n.trigger(new d(e.ra)))}var e=a("nV"),d=a("cu"),g=a("fQ"),a=a("lG"),c=B,i=B,f=a.Xp("redirect-when-hidden")||"",j=a.Jh("reload-when-hidden",B),n=new g;n.visible=m;for(var k,o,g=["hidden","msHidden","webkitHidden"],a=["visibilitychange","msvisibilitychange","webkitvisibilitychange"],p=0;p<g.length;p++)"undefined"!==
typeof document[g[p]]&&(k=g[p],o=a[p]);k===l||"undefined"===typeof document[k]?(k="hidden",document[k]=B,o=function(){document[k]=B;b()},g=function(){document[k]=m;b()},document.addEventListener?(window.addEventListener("focus",o,m),window.addEventListener("blur",g,m)):(document.attachEvent("onfocusin",o),document.attachEvent("onfocusout",g))):(document.addEventListener(o,b,B),b());n.CX=function(a){(c=a)&&(i=B);b()};n.Xaa=function(a){i=a;b()};return n});
define("lR",["require","lG"],function(a){var a=a("lG"),b={};b.XC=a.Jh("debug",B);b.bxa=a.Gi("hqhls");b.uba=a.Jh("audiocontext",m);b.SUa=a.Jh("testhash",B);b.Uwa=a.Jh("exitvronblur",B);b.Ewa=a.Jh("download",m);b.Qxa=a.Jh("updatewhilehidden",B);return b});
define("bf",["require","gI","lR"],function(a){function b(){}function e(a){d(a);k=0<n.length?f(e):l}function d(a){var c=n;n=[];b.q$=m;var f=0;t===l?t=a:f=Math.round((a-t)/p);var j=(f-q)*p;q=f;j=1<j?100>j?j:100:1;b.Pe=a;for(a=0;a<c.length;a++)f=c[a],f.callback.call(f.context,j);b.q$=B}var g=a("gI"),a=a("lR"),c=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame,i=window.cancelAnimationFrame||
window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame,f=c,j=i,n=[],k=l,o=B,p=1E3/60,q=0,t;b.vb=function(a,b){for(var c=0;c<n.length;c++){var j=n[c];if(j.callback==a&&j.context==b)return}n.push({callback:a,context:b});!o&&k===l&&(k=f(e))};b.Jaa=function(a){o!=a&&((o=a)?k!==l&&(j(k),k=l):0<n.length&&(k=f(e)))};b.JX=function(a,b){a=a||c;b=b||i;f!=a&&(k!==l&&(j(k),k=a(e)),f=a,j=b)};b.haa=function(){b.JX(r,r)};b.Pe=(new Date).getTime();
b.q$=B;a.Qxa&&setInterval(function(){g.visible||d(b.Pe+100)},100);return b});define("bD",["require"],function(){return function(a,b,e,d){this.name=a;this.from=b;this.Dy=e;this.UQa=d}});
define("nz",["require","bD"],function(a){function b(a){var b={K9:function(b,c,j,d){j=0>=j?0:j>=d?1:j/d;0.5>j?j=Math.pow(2*j,a):(j=1-Math.pow(1-(2*j-1),a),j+=1);return b+(c-b)*0.5*j}};b.N$=g(a);return b}function e(a){var b={K9:function(b,c,j,d){return b+(c-b)*(1-Math.pow(1-(0>=j?0:j>=d?1:j/d),a))}};b.N$=g(a);return b}function d(a){var b={K9:function(b,c,j,d){return b+(c-b)*Math.pow(0>=j?0:j>=d?1:j/d,a)}};b.N$=g(a);return b}function g(a){return function(b,c,d){b=Math.abs(c-b);return 1>b/d?0:1/(1-Math.pow((b-
d)/b,1/a))}}function c(a,c,i){this.Jj=r;switch(a){case "quad_in":this.Jj=d(2);break;case "quad_out":this.Jj=e(2);break;case "quad_in_out":this.Jj=b(2);break;case "cubic_in":this.Jj=d(3);break;case "cubic_out":this.Jj=e(3);break;case "cubic_in_out":this.Jj=b(3);break;case "quart_in":this.Jj=d(4);break;case "quart_out":this.Jj=e(4);break;case "quart_in_out":this.Jj=b(4);break;case "quint_in":this.Jj=d(5);break;case "quint_out":this.Jj=e(5);break;case "quint_in_out":this.Jj=b(5);break;default:this.Jj=
d(1)}this.st=c.slice();this.rd=0;this.ab=this.Dw(c,i);this.W0={};for(a=0;a<this.st.length;a++)this.W0[this.st[a].name]=c[a].from}var i=a("bD");c.prototype.R9=function(a){for(var b=0;b<this.st.length;b++)if(this.st[b].name==a)return this.st[b];return r};c.prototype.fb=function(a){return this.W0[a]};c.prototype.Se=function(){return this.rd>=this.ab};c.prototype.Fi=S("ab");c.prototype.pk=function(){return this.rd/this.ab};c.prototype.getTime=S("rd");c.prototype.setTime=function(a){this.rd=Math.min(Math.max(0,
a),this.ab);for(a=0;a<this.st.length;a++){var b=this.st[a];this.W0[b.name]=this.Jj.K9(b.from,b.Dy,this.rd,this.ab)}};c.prototype.ub=function(a){this.setTime(this.rd+a)};c.prototype.Dw=function(a,b,c){for(var d=[],i=0;i<this.st.length;i++){var g=this.st[i],e=c?c:g.UQa;e!==l&&0<e&&d.push(this.Jj.N$(g.from,g.Dy,e/1E3))}if(0<d.length){a=d[0];for(i=1;i<d.length;i++)a=Math.max(a,d[i]);return 0<b?Math.max(b,a):a}return b!==l?Math.max(b,0.001):this.Dw(a,b,1E3)};c.Fi=function(a,b,d,g){return(new c(a,[new i("",
b,d,g)])).Fi()};return c});
define("ns","require,dZ,kL,nV,cu,mn,hn,fn,l,jq,ei,bf,nz,bD".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("mn"),i=a("hn"),f=a("fn"),j=a("l"),n=a("jq"),k=a("ei"),o=a("bf"),p=a("nz"),q=a("bD"),t=e.extend(j,function(){j.call(this);this.ie("Container");this.Uc=this.Bd=this.Af=this.gg=this.Ib=this.qb=this.yfa=this.xfa=0;this.n3=this.s3=this.Rk=this.Qk=B;this.rfa=0;this.l0=this.k0=l;this.n0=this.m0=0;this.Mx=r;this.a5=i.Rba;this.Kw=B;this.rR=r;this.Hr=B;this.AV=r});t.fc={overflow:i.sD,
scrollBarColor:"#000000",scrollBarWidth:10,scrollBarMargin:5,scrollBarHorizontalMargin:l,scrollBarVerticalMargin:l,scrollBarOpacity:0.5,scrollBarVisible:f.kd};b.defaults(t.fc,j.fc);t.prototype.pn=function(){this.rR=new n(this.n2());this.rR.E_.bind("mousedown touchstart",b.bind(this.PEa,this));this.pn=S("rR");return this.rR};t.prototype.qn=function(){this.AV=new k(this.n2());this.AV.E_.bind("mousedown touchstart",b.bind(this.tNa,this));this.qn=S("AV");return this.AV};t.prototype.scrollIntoView=function(a){var b=
a.xa,c=a.Ra(),b=Math.min(b,Math.max(b+c-this.gg,this.Bd)),c=a.Aa,a=a.yb(),a=Math.min(c,Math.max(c+a-this.Af,this.Uc));this.scrollTo(b,a)};t.prototype.scrollTo=function(a,b){var c=this.Bd;a>this.Bd?this.cQ()&&(c=Math.min(a,this.qb-this.gg)):a<this.Bd&&this.bQ()&&(c=Math.max(a,0));var f=this.Uc;b>this.Uc?this.aQ()&&(f=Math.min(b,this.Ib-this.Af)):b<this.Uc&&this.dQ()&&(f=Math.max(b,0));this.oM(c,f)};t.prototype.Aua=function(){if(this.aQ()){for(var a=Math.max(0,this.Ib-this.Af),b=Math.min(a,this.Uc+
this.Af*0.5),c=a=Math.min(a,this.Uc+this.Af),f=this.zb().slice(),d=f.shift();f.length;d=f.shift())if(d.get("visible")){var j=d.Aa;j+d.yb()>this.Uc+this.Af&&j>=b&&j<a&&j<c&&(c=j)}this.oM(this.Bd,c)}};t.prototype.aQ=function(){return this.Sea()&&this.Uc+this.Af<this.Ib};t.prototype.Cua=function(){if(this.dQ()){for(var a=Math.max(0,this.Uc-this.Af),b=Math.max(0,this.Uc-this.Af*0.5),c=a,f=this.zb().slice(),d=f.shift();f.length;d=f.shift())if(d.get("visible")){var j=d.Aa,d=j+d.yb();j<this.Uc&&d>=a+this.Af&&
d<b+this.Af&&d>c+this.Af&&(c=d-this.Af)}this.oM(this.Bd,c)}};t.prototype.dQ=function(){return this.Sea()&&this.Uc>0};t.prototype.Bua=function(){if(this.cQ()){for(var a=Math.max(0,this.qb-this.gg),b=Math.min(a,this.Bd+this.gg*0.5),c=a=Math.min(a,this.Bd+this.gg),f=this.zb().slice(),d=f.shift();f.length;d=f.shift())if(d.get("visible")){var j=d.xa;j+d.Ra()>this.Bd+this.gg&&j>=b&&j<a&&j<c&&(c=j)}this.oM(c,this.Uc)}};t.prototype.cQ=function(){return this.Rea()&&this.Bd+this.gg<this.qb};t.prototype.scrollLeft=
function(){if(this.bQ()){for(var a=Math.max(0,this.Bd-this.gg),b=Math.max(0,this.Bd-this.gg*0.5),c=a,f=this.zb().slice(),d=f.shift();f.length;d=f.shift())if(d.get("visible")){var j=d.xa,d=j+d.Ra();j<this.Bd&&d>=a+this.gg&&d<b+this.gg&&d>c+this.gg&&(c=d-this.gg)}this.oM(c,this.Uc)}};t.prototype.bQ=function(){return this.Rea()&&this.Bd>0};t.prototype.oM=function(a,b){this.Qk=this.Bd!=a;this.Rk=this.Uc!=b;this.Er();this.Mx=new p("cubic_in_out",[new q("hScrollPosition",this.Bd,a),new q("vScrollPosition",
this.Uc,b)],500);o.vb(this.n_,this)};t.prototype.Sea=function(){return this.Hr&&this.Af<this.Ib};t.prototype.Rea=function(){return this.Kw&&this.gg<this.qb};t.prototype.Ya=function(){this.ln(t.fc)};t.prototype.WAa=function(){this.s3=m;this.Er()};t.prototype.VAa=function(){this.s3=B;this.Er()};t.prototype.PEa=function(){this.Qk=m};t.prototype.tNa=function(){this.Rk=m};t.prototype.SAa=function(a){if(this.Qk||this.Rk){this.tb().bind(d.Vc,this.pfa,this);this.tb().bind(d.ic,this.qfa,this);this.kw=a.pageX;
this.lw=a.pageY;this.Er()}else this.sfa(a)};t.prototype.pfa=function(a){if(this.Qk){var b=(a.pageX-this.kw)*this.qb/this.pn().bd();this.Bd=this.Bd+b}else if(this.Rk){b=(a.pageY-this.lw)*this.Ib/this.qn().Rd();this.Uc=this.Uc+b}this.kw=a.pageX;this.lw=a.pageY;this.Mu()};t.prototype.qfa=function(){this.tb().unbind(d.Vc,this.pfa,this);this.tb().unbind(d.ic,this.qfa,this);this.Rk=this.Qk=B;this.Er()};t.prototype.Uea=function(a){return this.Hr&&(a>0&&this.Uc>0||a<0&&this.Uc<this.Ib-this.Af)?m:B};t.prototype.UAa=
function(a){if(this.Hr){this.Uc=this.Uc-a.delta*this.Af*0.1;this.Mu()}};t.prototype.sfa=function(a){if(this.Kw||this.Hr){this.tb().bind(d.Vc,this.tfa,this);this.tb().bind(d.ic,this.ufa,this);this.n3=m;this.kw=a.pageX;this.lw=a.pageY;this.Er();this.jFa()}};t.prototype.tfa=function(a){var b=a.pageX-this.kw,c=a.pageY-this.lw;if(!this.Qk&&!this.Rk&&b*b+c*c>25){this.Qk=this.Kw;this.Rk=this.Hr;this.Er()}if(this.Qk||this.Rk){this.Bd=this.Bd-b;this.Uc=this.Uc-c;this.kw=a.pageX;this.lw=a.pageY;this.Mu();this.vMa()}};
t.prototype.ufa=function(){this.tb().unbind(d.Vc,this.tfa,this);this.tb().unbind(d.ic,this.ufa,this);this.n3=B;this.Er();var a=Math.max(Math.abs(this.m0/0.001),Math.abs(this.n0/0.001));this.Mx=new p("linear",[new q("hScrollPosition",this.Bd,this.Bd-0.5*this.m0*a),new q("vScrollPosition",this.Uc,this.Uc-0.5*this.n0*a)],a);o.vb(this.n_,this)};t.prototype.jFa=function(){this.k0=this.kw;this.l0=this.lw};t.prototype.vMa=function(){var a=(new Date).getTime(),b=a-this.rfa;if(b>10){this.rfa=a;this.m0=(this.kw-
this.k0)/b;this.n0=(this.lw-this.l0)/b;this.k0=this.kw;this.l0=this.lw}};t.prototype.n_=function(a){if(this.Mx&&!this.Mx.Se()&&(this.Qk||this.Rk)){this.Mx.ub(a);if(this.Qk){this.Bd=this.Mx.fb("hScrollPosition");if(this.Bd<0||this.Bd>this.qb-this.gg)this.Qk=B}if(this.Rk){this.Uc=this.Mx.fb("vScrollPosition");if(this.Uc<0||this.Uc>this.Ib-this.Af)this.Rk=B}this.Mu();o.vb(this.n_,this)}else{this.Rk=this.Qk=B;this.Mx=r;this.Er()}};t.prototype.Mu=function(a){if(a){if(!this.Kw)switch(this.p("horizontalAlign")){case c.Va:this.Bd=
this.qb-this.gg;break;case c.ke:this.Bd=(this.qb-this.gg)/2;break;default:this.Bd=0}if(!this.Hr)switch(this.p("verticalAlign")){case c.Zb:this.Uc=this.Ib-this.Af;break;case c.Sd:this.Uc=(this.Ib-this.Af)/2;break;default:this.Uc=0}}this.Bd=Math.max(0,Math.min(this.qb-this.gg,this.Bd));this.Uc=Math.max(0,Math.min(this.Ib-this.Af,this.Uc));this.pn().gb(this.Bd);this.qn().gb(this.Uc);this.sb().sSa(this.Bd);this.sb().ATa(this.Uc);this.qk();if(this.Pla!=this.Bd||this.Qla!=this.Uc){this.Pla!==l&&this.Qla!==
l&&this.trigger(new g(d.zo));this.Pla=this.Bd;this.Qla=this.Uc}};t.prototype.Er=function(){var a;a=this.get("scrollBarVisible")==f.ALWAYS?m:this.tn?this.Qk||this.Rk||this.n3:this.Qk||this.Rk||this.s3;this.pn().Hf(this.Kw&&a);this.qn().Hf(this.Hr&&a);this.qk()};t.prototype.kb=function(){j.prototype.kb.call(this);if(!this.TAa){this.TAa=m;if(this.tn)this.bind(d.Hb,this.sfa,this);else{this.bind(d.Hb,this.SAa,this);this.bind(d.kd,this.WAa,this);this.bind(d.jc,this.VAa,this);this.bind(d.oq,this.UAa,this)}}};
t.prototype.Ja=function(){if(this.v("overflow")){this.a5=this.p("overflow");this.H("overflow");this.ud()}if(this.v("scrollBarColor")){this.pn().xH(this.p("scrollBarColor"));this.qn().xH(this.p("scrollBarColor"));this.H("scrollBarColor")}if(this.v("scrollBarWidth")){this.pn().GO(this.p("scrollBarWidth"));this.qn().GO(this.p("scrollBarWidth"));this.H("scrollBarWidth")}if(this.v("scrollBarMargin")||this.v("scrollBarVerticalMargin")||this.v("scrollBarHorizontalMargin")){var a=this.p("scrollBarHorizontalMargin",
"scrollBarMargin"),b=this.p("scrollBarVerticalMargin","scrollBarMargin");this.pn().Tua(a);this.pn().gva(b);this.qn().Tua(a);this.qn().gva(b);this.H("scrollBarMargin");this.H("scrollBarVerticalMargin");this.H("scrollBarHorizontalMargin")}if(this.v("scrollBarOpacity")){this.pn().Ji(this.p("scrollBarOpacity"));this.qn().Ji(this.p("scrollBarOpacity"));this.H("scrollBarOpacity")}j.prototype.Ja.call(this)};t.prototype.El=function(){j.prototype.El.call(this);this.yMa();this.RMa();this.PMa();this.Er();this.qk()};
t.prototype.yMa=function(){for(var a=0,b=0,c=0,f=0,d=this.zb(),j=0;j<d.length;j++){var i=d[j];if(i.get("visible")){f=Math.min(f,i.xa);c=Math.min(c,i.Aa);a=Math.max(a,i.xa+i.Ra());b=Math.max(b,i.Aa+i.yb())}}this.xfa=f;this.yfa=c;this.qb=a;this.Ib=b};t.prototype.RMa=function(){this.gg=Math.min(this.Re(),this.qb);this.Af=Math.min(this.Qe(),this.Ib)};t.prototype.PMa=function(){var a=this.zd.some(function(a){return a.bQa()}),b=this.xfa<0||this.yfa<0||this.qb>this.gg||this.Ib>this.Af;if(this.a5==i.zo){this.Kw=
this.gg<this.qb;var c=(this.Hr=this.Af<this.Ib)&&this.Kw;this.pn().setSize(this.gg,this.qb);this.pn().Kua(c);this.qn().setSize(this.Af,this.Ib);this.qn().Kua(c);this.sb().AH(!b&&!a)}else{this.Hr=this.Kw=B;this.a5==i.sD?this.sb().AH(m):this.sb().AH(!b&&!a)}this.Mu(m)};t.prototype.Jg=function(){this.qn().Jg();this.pn().Jg();j.prototype.Jg.call(this)};return t});define("W",["require"],function(){return{hh:"vertical",sg:"horizontal"}});
define("gY",["require"],function(){return{Ru:function(a){return!a?"":a.split(",").map(function(a){return a.trim()}).filter(function(a){return""!=a}).map(function(a){"'"!=a[0]&&'"'!=a[0]&&(a="'"+a+"'");return a}).join(", ")}}});
define("ix","require,jquery.mod,dZ,kL,mn,W,e,gg,gY".split(","),function(a){function b(a){var b=a.Dm.width(),c=a.Dm.height();a.get("fontStyle")=="italic"&&(b=b+c*1/5);return Math.round(b)}var e=a("jquery.mod"),d=a("dZ"),g=a("kL"),c=a("mn"),i=a("W"),f=a("e");a("gg");var j=a("gY"),a=g.extend(f,function(){f.call(this);this.ie("Label");this.Dm=this.jM=r});a.fc={};a.prototype.Ya=function(){f.prototype.Ya.call(this);this.f("fontFamily");this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");
this.f("horizontalAlign",c.Ha);this.f("verticalAlign",c.Sd);this.f("direction",i.sg);this.f("text","");this.f("textDecoration");this.f("textShadowBlurRadius",3);this.f("textShadowColor","#000000");this.f("textShadowHorizontalLength",0);this.f("textShadowOpacity",0);this.f("textShadowVerticalLength",0)};a.prototype.kb=function(){f.prototype.kb.call(this);if(!this.Dm){this.jM=document.createElement("span");this.Dm=e(this.jM);this.b7({position:"absolute","text-align":"center",cursor:"inherit","white-space":"nowrap",
transform:"translate3d(0, 0, 0)"});var a=this.sb();a.AH(B);a.append(this.Dm)}};a.prototype.Wt=function(){f.prototype.Wt.call(this);var a=this.sb();this.Ok=b(this)+a.XG()+a.$G();this.Nk=this.Dm.height()+a.aH()+a.UG();n(this)};a.prototype.Ja=function(){var a,b={};if(this.v("direction")||this.v("text")){switch(this.p("direction")){case i.hh:b["line-height"]="100%";this.Dm.html(this.Dm.text(this.p("text")).text().split("").join("<br/>"));break;default:b["line-height"]="normal";this.Dm.text(this.p("text"));
this.Dm.html(this.Dm.html().split(" ").join("&nbsp;"))}this.H("direction");this.H("text");setTimeout(function(){this.Lb();this.ud()}.bind(this),0)}if(this.v("fontFamily")){a=this.p("fontFamily");d(a).isString()||(a="");b.fontFamily=j.Ru(a);this.H("fontFamily");this.Lb();this.ud()}if(this.v("fontSize")){a=this.p("fontSize");d(a).isNumber()?a=a+"px":d(a).isString()||(a="");b.fontSize=a;this.H("fontSize");this.Lb();this.ud()}if(this.v("fontColor")){a=this.p("fontColor");d(a).isString()||(a="");b.color=
a;this.H("fontColor")}if(this.v("fontWeight")){a=this.p("fontWeight");switch(a){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:a="normal"}b.fontWeight=a;this.H("fontWeight");this.Lb();this.ud()}if(this.v("fontStyle")){a=this.p("fontStyle");switch(a){case "italic":case "normal":break;default:a="normal"}b.fontStyle=a;this.H("fontStyle");this.Lb();this.ud()}if(this.v("textDecoration")){a=
this.p("textDecoration");switch(a){case "underline":case "overline":case "line-through":case "none":break;default:a="none"}b.textDecoration=a;this.H("textDecoration");this.Lb();this.ud()}if(this.v("horizontalAlign")){this.ud();this.H("horizontalAlign")}if(this.v("verticalAlign")){this.ud();this.H("verticalAlign")}a=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(d(a).any(function(a){return this.v(a)},this)){var c={};d(a).each(function(a){c[a]=
this.p(a);this.H(a)},this);b["-moz-text-shadow"]=b["-webkit-text-shadow"]=b["text-shadow"]=[c.textShadowHorizontalLength+"px",c.textShadowVerticalLength+"px",c.textShadowBlurRadius+"px","rgba("+parseInt("0x"+c.textShadowColor.substr(1,2))+", "+parseInt("0x"+c.textShadowColor.substr(3,2))+", "+parseInt("0x"+c.textShadowColor.substr(5,2))+", "+c.textShadowOpacity+")"].join(" ");a=c.textShadowVerticalLength==0&&this.p("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(c.textShadowHorizontalLength,
-c.textShadowVerticalLength)/Math.PI)*45;b.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*c.textShadowOpacity).toString(16)).slice(-2)+c.textShadowColor.substr(1,6)+",direction="+a+")";this.sb().AH((c.textShadowHorizontalLength>0||c.textShadowVerticalLength>0||c.textShadowBlurRadius>0)&&c.textShadowOpacity>0)}this.b7(b);f.prototype.Ja.call(this)};a.prototype.El=function(){var a={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.p("horizontalAlign")){case c.Ha:a.left=
"0";break;case c.Va:this.Jg();a.left=this.Re()-b(this)+"px";break;case c.ke:this.Jg();a.left=Math.max(0,Math.round((this.Re()-b(this))*0.5))+"px"}switch(this.p("verticalAlign")){case c.ec:a.top="0";break;case c.Zb:this.Jg();a.top=this.Qe()-this.jM.clientHeight+"px";break;case c.Sd:this.Jg();a.top=Math.max(0,Math.round((this.Qe()-this.jM.clientHeight)*0.5))+"px"}this.b7(a)};a.prototype.b7=function(a){var b=this.jM.style,c;for(c in a)b[c]=a[c]};var n=function(){function a(){!j&&c()&&(j=setTimeout(function(){j=
r;var c=(new Date).getTime()-5E3,f;for(f in d){var i=d[f];i.timestamp<c&&delete d[f];var n=i.label;if(i.width!=b(n)||i.height!=n.Dm.height()){n.Lb();n.ud()}}a()},500))}function c(){for(var a in d)return m;return B}var f=1,d={},j=r;return function(c){c.gja||(c.gja=f++);d[c.gja]={label:c,timestamp:(new Date).getTime(),width:b(c),height:c.Dm.height()};a()}}();return a});
define("lj","require,kL,dZ,cH,bb,nV,cu,gS,dW,hn,gp,ns,ix".split(","),function(a){var b=a("kL"),e=a("dZ"),d=a("cH"),g=a("bb"),c=a("nV"),i=a("cu"),f=a("gS"),j=a("dW"),n=a("hn"),k=a("gp"),o=a("ns"),p=a("ix"),q=b.extend(o,function(){this.ie("Button");o.call(this);this.Rh=this.Ia=r;this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m);this.set("creationPolicy",d.dz);this.set("overflow",n.Rba);this.set("autoRolledOver",m);this.set("autoPressed",m);this.set("cursor",g.vf)});q.prototype.Ya=
function(){o.prototype.Ya.call(this);this.f("label");this.f("fontFamily");this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");this.f("textDecoration");this.f("textShadowBlurRadius");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowOpacity");this.f("textShadowVerticalLength");this.f("layout","horizontal");this.f("iconWidth");this.f("iconHeight");this.f("iconBeforeLabel");this.f("gap",5);this.f("mode",j.me);this.f("buttonGroup");this.f("paddingLeft",
5);this.f("paddingTop",5);this.f("paddingRight",5);this.f("paddingBottom",5);this.f("pressed");this.m("rollOverOpacity",k.O,"opacity");this.m("rollOverIconWidth",k.O,"iconWidth");this.m("rollOverIconHeight",k.O,"iconHeight");this.m("rollOverFontSize",k.O,"fontSize");this.m("rollOverFontColor",k.O,"fontColor");this.m("rollOverFontWeight",k.O,"fontWeight");this.m("rollOverFontStyle",k.O,"fontStyle");this.m("rollOverTextDecoration",k.O,"textDecoration");this.m("rollOverTextShadowBlurRadius",k.O,"textShadowBlurRadius");
this.m("rollOverTextShadowColor",k.O,"textShadowColor");this.m("rollOverTextShadowHorizontalLength",k.O,"textShadowHorizontalLength");this.m("rollOverTextShadowOpacity",k.O,"textShadowOpacity");this.m("rollOverTextShadowVerticalLength",k.O,"textShadowVerticalLength");this.m("rollOverBorderSize",k.O,"borderSize");this.m("rollOverBorderLeftSize",k.O,"borderLeftSize");this.m("rollOverBorderTopSize",k.O,"borderTopSize");this.m("rollOverBorderRightSize",k.O,"borderRightSize");this.m("rollOverBorderBottomSize",
k.O,"borderBottomSize");this.m("rollOverBorderColor",k.O,"borderColor");this.m("rollOverBorderLeftColor",k.O,"borderLeftColor");this.m("rollOverBorderTopColor",k.O,"borderTopColor");this.m("rollOverBorderRightColor",k.O,"borderRightColor");this.m("rollOverBorderBottomColor",k.O,"borderBottomColor");this.m("rollOverShadow",k.O,"shadow");this.m("rollOverShadowHorizontalLength",k.O,"shadowHorizontalLength");this.m("rollOverShadowVerticalLength",k.O,"shadowVerticalLength");this.m("rollOverShadowBlurRadius",
k.O,"shadowBlurRadius");this.m("rollOverShadowSpread",k.O,"shadowSpread");this.m("rollOverShadowOpacity",k.O,"shadowOpacity");this.m("rollOverShadowColor",k.O,"shadowColor");this.m("rollOverBackgroundOpacity",k.O,"backgroundOpacity");this.m("rollOverBackgroundColor",k.O,"backgroundColor");this.m("rollOverBackgroundColorRatios",k.O,"backgroundColorRatios");this.m("rollOverBackgroundColorDirection",k.O,"backgroundColorDirection");this.m("pressedLabel",k.Za,"label");this.m("pressedOpacity",k.Za,"opacity");
this.m("pressedIconWidth",k.Za,"iconWidth");this.m("pressedIconHeight",k.Za,"iconHeight");this.m("pressedFontSize",k.Za,"fontSize");this.m("pressedFontColor",k.Za,"fontColor");this.m("pressedFontWeight",k.Za,"fontWeight");this.m("pressedFontStyle",k.Za,"fontStyle");this.m("pressedTextDecoration",k.Za,"textDecoration");this.m("pressedTextShadowBlurRadius",k.Za,"textShadowBlurRadius");this.m("pressedTextShadowColor",k.Za,"textShadowColor");this.m("pressedTextShadowHorizontalLength",k.Za,"textShadowHorizontalLength");
this.m("pressedTextShadowOpacity",k.Za,"textShadowOpacity");this.m("pressedTextShadowVerticalLength",k.Za,"textShadowVerticalLength");this.m("pressedBorderSize",k.Za,"borderSize");this.m("pressedBorderLeftSize",k.Za,"borderLeftSize");this.m("pressedBorderTopSize",k.Za,"borderTopSize");this.m("pressedBorderRightSize",k.Za,"borderRightSize");this.m("pressedBorderBottomSize",k.Za,"borderBottomSize");this.m("pressedBorderColor",k.Za,"borderColor");this.m("pressedBorderLeftColor",k.Za,"borderLeftColor");
this.m("pressedBorderTopColor",k.Za,"borderTopColor");this.m("pressedBorderRightColor",k.Za,"borderRightColor");this.m("pressedBorderBottomColor",k.Za,"borderBottomColor");this.m("pressedShadow",k.Za,"shadow");this.m("pressedShadowHorizontalLength",k.Za,"shadowHorizontalLength");this.m("pressedShadowVerticalLength",k.Za,"shadowVerticalLength");this.m("pressedShadowBlurRadius",k.Za,"shadowBlurRadius");this.m("pressedShadowSpread",k.Za,"shadowSpread");this.m("pressedShadowOpacity",k.Za,"shadowOpacity");
this.m("pressedShadowColor",k.Za,"shadowColor");this.m("pressedBackgroundOpacity",k.Za,"backgroundOpacity");this.m("pressedBackgroundColor",k.Za,"backgroundColor");this.m("pressedBackgroundColorRatios",k.Za,"backgroundColorRatios");this.m("pressedBackgroundColorDirection",k.Za,"backgroundColorDirection");this.m("pressedLabel",k.Ob,"label");this.m("pressedRollOverOpacity",k.Ob,"opacity");this.m("pressedRollOverIconWidth",k.Ob,"iconWidth");this.m("pressedRollOverIconHeight",k.Ob,"iconHeight");this.m("pressedRollOverFontSize",
k.Ob,"fontSize");this.m("pressedRollOverFontColor",k.Ob,"fontColor");this.m("pressedRollOverFontWeight",k.Ob,"fontWeight");this.m("pressedRollOverFontStyle",k.Ob,"fontStyle");this.m("pressedRollOverTextDecoration",k.Ob,"textDecoration");this.m("pressedRollOverTextShadowBlurRadius",k.Ob,"textShadowBlurRadius");this.m("pressedRollOverTextShadowColor",k.Ob,"textShadowColor");this.m("pressedRollOverTextShadowHorizontalLength",k.Ob,"textShadowHorizontalLength");this.m("pressedRollOverTextShadowOpacity",
k.Ob,"textShadowOpacity");this.m("pressedRollOverTextShadowVerticalLength",k.Ob,"textShadowVerticalLength");this.m("pressedRollOverBorderSize",k.Ob,"borderSize");this.m("pressedRollOverBorderLeftSize",k.Ob,"borderLeftSize");this.m("pressedRollOverBorderTopSize",k.Ob,"borderTopSize");this.m("pressedRollOverBorderRightSize",k.Ob,"borderRightSize");this.m("pressedRollOverBorderBottomSize",k.Ob,"borderBottomSize");this.m("pressedRollOverBorderColor",k.Ob,"borderColor");this.m("pressedRollOverBorderLeftColor",
k.Ob,"borderLeftColor");this.m("pressedRollOverBorderTopColor",k.Ob,"borderTopColor");this.m("pressedRollOverBorderRightColor",k.Ob,"borderRightColor");this.m("pressedRollOverBorderBottomColor",k.Ob,"borderBottomColor");this.m("pressedRollOverShadow",k.Ob,"shadow");this.m("pressedRollOverShadowHorizontalLength",k.Ob,"shadowHorizontalLength");this.m("pressedRollOverShadowVerticalLength",k.Ob,"shadowVerticalLength");this.m("pressedRollOverShadowBlurRadius",k.Ob,"shadowBlurRadius");this.m("pressedRollOverShadowSpread",
k.Ob,"shadowSpread");this.m("pressedRollOverShadowOpacity",k.Ob,"shadowOpacity");this.m("pressedRollOverShadowColor",k.Ob,"shadowColor");this.m("pressedRollOverBackgroundOpacity",k.Ob,"backgroundOpacity");this.m("pressedRollOverBackgroundColor",k.Ob,"backgroundColor");this.m("pressedRollOverBackgroundColorRatios",k.Ob,"backgroundColorRatios");this.m("pressedRollOverBackgroundColorDirection",k.Ob,"backgroundColorDirection")};q.prototype.y0=G();q.prototype.kb=function(){o.prototype.kb.call(this);if(!this.Rh){this.Rh=
this.y0();this.La(this.Rh)}if(!this.Ia){this.Ia=new p;this.La(this.Ia)}};q.prototype.yI=function(){if(this.get("pressed")){this.set("pressed",B);this.trigger(new i(c.Ll))}else{this.set("pressed",m);this.trigger(new i(c.Dj))}};q.prototype.Ja=function(){var a=B;if(this.v("mode")){if(this.p("mode")==j.me){this.unbind(c.oa,this.yI,this,m);this.set("autoPressed",m)}else{this.bind(c.oa,this.yI,this,m);this.set("autoPressed",B)}this.H("mode");a=m}if(a||this.v("pressed"))this.p("mode")==j.Fj?this.UF(this.p("pressed")==
m):a&&this.UF(B);if(this.v("label")){a=this.p("label");this.Ia.set("text",a);this.Ia.set("visible",a?m:B);this.H("label")}this.Vb(q.Ada,q.Bda,[this.Ia],m,m);if(this.v("iconBeforeLabel")){this.p("iconBeforeLabel")==B?this.Om(this.Ia,0):this.Om(this.Rh,0);this.H("iconBeforeLabel")}if(this.v("iconWidth")){this.Rh.set("width",this.p("iconWidth"));this.H("iconWidth")}if(this.v("iconHeight")){this.Rh.set("height",this.p("iconHeight"));this.H("iconHeight")}if(this.v("buttonGroup")){(a=this.p("buttonGroup"))?
f.register(this,a):f.PO(this);this.H("buttonGroup")}this.Vb(["horizontalAlign","verticalAlign"],{},[this.Rh],m,B);o.prototype.Ja.call(this)};q.Ada=["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];q.Bda={};e(q.Ada).each(function(a){q.Bda[a]=a});return q});define("jf",["require","mR","lj"],function(a){var b=a("mR"),e=a("lj");return b.G("BaseButton",e,function(){e.call(this)})});
define("iP",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("BaseObject",b,function(){b.call(this)})});
define("ej","require,kL,ll,nV,cu,bf,nz,bD".split(","),function(a){var b=a("kL"),e=a("ll");a("nV");var d=a("cu"),g=a("bf"),c=a("nz"),i=a("bD"),f={},j=b.extend(e,function(){e.call(this);this.ab=l;this.Nn=[];this.o="stopped";this.set("easing","linear");this.set("duration",1E3);this.set("loop",B);this.set("animationDirection","normal")});j.prototype.play=function(a){a||(a=f);if(!this.hH(a))if(this.o=="stopped"||this.Nn.indexOf(a)<0){this.o="playing";this.Nn.push(a);this.pe=0;this.ab=Math.max(this.get("duration",
1E3),1);this.Mf=new c(this.get("easing","linear"),[new i("pos",0,1)],this.ab);this.Mf.setTime(this.pe);this.YF();this.zu();this.yL()}else this.o="playing"};j.prototype.reverse=function(a){a||(a=f);if(!this.LQa(a))if(this.o=="stopped"||this.Nn.indexOf(a)<0){this.o="playingReverse";this.Nn.push(a);this.pe=this.ab=Math.max(this.get("duration",1E3),0);this.Mf=new c(this.get("easing","linear"),[new i("pos",0,1)],this.ab);this.Mf.setTime(this.pe);this.YF();this.zu();this.yL()}else this.o="playingReverse"};
j.prototype.stop=function(){if(this.o!="stopped"){this.o="stopped";if(this.pe!==0){this.pe=0;this.Mf.setTime(this.pe);this.zu();this.yL()}}};j.prototype.end=function(){if(this.o!="stopped"){this.pe=this.ab;this.Mf.setTime(this.pe);this.zu();this.yL()}};j.prototype.cancel=function(){this.o="stopped";this.pe=0;this.Nn=[]};j.prototype.hH=function(a){return this.o=="playing"&&this.Nn.indexOf(a)>=0};j.prototype.LQa=function(a){return this.o=="playingReverse"&&this.Nn.indexOf(a)>=0};j.prototype.dj=function(a){if(this.o!=
"stopped"){this.pe=this.o=="playing"?Math.min(this.ab,this.pe+a):Math.max(0,this.pe-a);this.Mf.setTime(this.pe);this.zu();this.yL()}};j.prototype.pk=function(){return this.Mf&&this.Mf.fb("pos")||0};j.prototype.yw=function(a){if(this.Nn)for(var b=0;b<this.Nn.length;b++)a.call(this,this.Nn[b],b)};j.prototype.YF=function(){this.trigger(new d(this.o=="playingReverse"?j.Pwa:j.Rwa))};j.prototype.zu=function(){this.trigger(new d(j.BY))};j.prototype.WF=function(){this.trigger(new d(j.zj))};j.prototype.XF=
function(){this.trigger(new d(j.ws))};j.prototype.yL=function(){if(this.o=="playingReverse"&&this.pe<=0){this.pe=0;this.XF();this.Nn=[];if(this.o!="stopped"){this.o="stopped";this.get("loop")&&this.play()}}else if(this.o=="playing"&&this.pe>=this.ab){this.pe=this.ab;this.WF();this.Nn=[];if(this.o!="stopped"){this.o="stopped";this.get("animationDirection")=="alternate"?this.reverse():this.get("loop")&&this.play()}}else this.o!="stopped"&&g.vb(this.dj,this)};j.Rwa="start";j.BY="frame";j.zj="end";j.Pwa=
"reverseStart";j.ws="reverseEnd";return j});
define("gn",["require","nV","ej"],function(a){var b=a("nV"),e=a("ej");return{zCa:function(){this.Kj=this.ne=r;this.bind(b.Wc,this.qga,this,m);this.bind(b.cd,this.lga,this,m);this.bind(b.kd,this.nga,this,m);this.bind(b.jc,this.mga,this,m);this.bind(b.u("effect"),this.jga,this,m);this.bind(b.u("rollOverEffect"),this.oga,this,m);this.Zz=B},gVa:function(){this.unbind(b.Wc,this.qga,this,m);this.unbind(b.cd,this.lga,this,m);this.unbind(b.kd,this.nga,this,m);this.unbind(b.jc,this.mga,this,m);this.unbind(b.u("effect"),
this.jga,this,m);this.unbind(b.u("rollOverEffect"),this.oga,this,m)},qga:function(){this.ne&&this.ne.play()},lga:function(){this.ne&&this.ne.stop();this.Kj&&this.Kj.stop();this.Zz=B},nga:function(){if(!this.Zz&&(this.Zz=m,this.Kj))if(this.ne&&this.ne.get("loop")&&0<this.ne.pk())this.ne.reverse();else if(!this.ne||0==this.ne.pk()||1==this.ne.pk())this.ne&&this.ne.stop(),this.Kj.play()},mga:function(){this.Zz&&(this.Zz=B,this.Kj&&(0<this.Kj.pk()?this.Kj.reverse():this.ne&&this.ne.get("loop")&&this.ne.play()))},
kga:function(){this.r1()},r1:function(){this.Zz&&this.Kj&&(this.ne.stop(),this.Kj.play())},pga:function(){this.Zz||(this.Kj.stop(),this.ne&&this.ne.get("loop")&&this.ne.play())},jga:function(){this.ne&&this.ne.unbind(e.zj,this.kga,this,m);this.ne&&this.ne.unbind(e.ws,this.r1,this,m);(this.ne=this.get("effect"))&&this.ne.bind(e.zj,this.kga,this,m);this.ne&&this.ne.bind(e.ws,this.r1,this,m)},oga:function(){this.Kj&&this.Kj.unbind(e.ws,this.pga,this,m);(this.Kj=this.get("rollOverEffect"))&&this.Kj.bind(e.ws,
this.pga,this,m)}}});
define("if",["require","kL","ll","mR","gn"],function(a){var b=a("kL"),e=a("ll"),d=a("mR"),a=a("gn"),d=d.G("Model3DObject",e,function(){e.call(this);this.zCa();this.oj=this.$E=this.N2=this.M2=B});b.RB(d,[a]);d.prototype.set=function(a,b){e.prototype.set.call(this,a,b);("hideBasedOnDistance"==a||"hideWhileUserInteracting"==a||"hideWhileMoving"==a)&&this.OM()};d.prototype.Baa=function(a){this.N2!==a&&(this.N2=a,this.OM())};d.prototype.FO=function(a){this.oj!==a&&(this.oj=a,this.OM())};d.prototype.AO=
function(a){this.$E!==a&&(this.$E=a,this.OM())};d.prototype.Aaa=function(a){this.M2!==a&&(this.M2=a,this.OM())};d.prototype.OM=function(){this.set("hidden",this.N2||this.M2||this.$E&&this.get("hideWhileMoving")||this.oj&&this.get("hideWhileUserInteracting"))};return d});define("fM",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("BoxModel3DObject",e,function(){e.call(this)})});
define("lA",["require"],function(){return{NONE:"none",Dv:"fill",fh:"fit_inside",mq:"fit_outside",so:"fit_to_width",Cj:"fit_to_height",zwa:"custom"}});
define("lS","require,dZ,jquery.mod,kL,nV,hA,u,mn,lA,e,gg,jV".split(","),function(a){function b(a){this.R_=a;this.Xc=[];this.Ak=r}var e=a("dZ"),d=a("jquery.mod"),g=a("kL"),c=a("nV"),i=a("hA"),f=a("u"),j=a("mn"),n=a("lA"),k=a("e"),o=a("gg"),p=a("jV");b.nm=document.createElement("a");b.prototype.QAa=function(a){b.nm.href=a;return b.nm.href};b.prototype.load=function(a,b,f){a=this.QAa(a);if(this.Ak&&!this.Ak.tl()){this.Ak.cancel();this.Xc=e(this.Xc).without(this.Ak)}if(this.Ak=e(this.Xc).find(function(b){return b.gi()==
a}))this.Xc=e(this.Xc).without(this.Ak);else{this.Ak=new p(i.Oca);this.Ak.load(a)}for(this.Xc.splice(0,0,this.Ak);this.Xc.length>this.R_;)this.Xc.pop().cancel();if(b){var d=this.Ak,j=function(){b.call(f||window,d.hf(),d.bd(),d.Rd())};this.Ak.tl()?j():this.Ak.bind(c.T,j)}};b.prototype.clear=function(){this.Xc.forEach(function(a){a.cancel()});this.Ak=r};a=g.extend(k,function(a){k.call(this);this.ie("Image");this.R_=a||1;this.J8=B;this.Ik=j.Ha;this.tR=B;this.ml=j.ec;this.DV=B;this.df=n.NONE;this.t6=
B;this.nF=this.oF=0;this.a3=this.X4=B;this.Ib=this.qb=0;this.jt=B;this.$w=this.Jk=this.Mb=this.BR=this.AR=r;this.bind(c.uc,this.gFa,this);this.bind(c.Wc,this.hFa,this)});a.prototype.m2=function(){this.$w=new b(this.R_);this.m2=S("$w");return this.$w};a.prototype.Ya=function(){k.prototype.Ya.call(this);this.f("horizontalAlign",j.Ha);this.f("verticalAlign",j.ec);this.f("scaleMode",n.NONE)};a.prototype.set=function(a,b){if(a=="url"&&this.get("url")!=b){this.J8=m;this.Wd()}k.prototype.set.call(this,a,
b)};a.prototype.yH=function(a){if(this.Ik!=a){this.Ik=a;this.tR=m;this.Wd()}};a.prototype.FH=function(a){if(this.ml!=a){this.ml=a;this.DV=m;this.Wd()}};a.prototype.By=function(a){if(this.df!=a){this.df=a;this.t6=m;this.Wd();this.Lb()}};a.prototype.gFa=function(){this.jt=m;this.Wd()};a.prototype.hFa=function(){this.zpa()};var q={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.rk&&f.mb()&&(q.transform="translate3d(0,0,0)");a.prototype.qea=function(a,b,f){this.oF=b?b:0;this.nF=f?f:0;if(this.Mb){this.Mb.remove();this.Mb=r}if(this.Jk=a){this.Mb=d(this.Jk);o.css(this.Jk,q);this.AR.append(this.Mb)}this.X4=this.a3=m;this.Wd();this.Lb();this.Mb&&this.trigger(c.T)};a.prototype.kb=function(){k.prototype.kb.call(this);if(!this.AR){this.BR=document.createElement("div");this.AR=d(this.BR);
o.css(this.BR,{position:"static",overflow:"hidden",cursor:"inherit"});this.sb().append(this.AR)}};a.prototype.Wt=function(){this.Ok=this.oF+this.ql()+this.Tr();this.Nk=this.nF+this.Ur()+this.VG();this.Oia=this.oF==0&&this.nF==0?0:this.oF/this.nF;this.dK=this.eK=0};a.prototype.Ja=function(){if(this.v("scaleMode")){this.By(this.p("scaleMode"));this.H("scaleMode")}if(this.v("horizontalAlign")){this.yH(this.p("horizontalAlign"));this.H("horizontalAlign")}if(this.v("verticalAlign")){this.FH(this.p("verticalAlign"));
this.H("verticalAlign")}if(this.hea())this.jt=m;k.prototype.Ja.call(this);this.zpa();if(this.UPa()){var a=B;if(this.t6||this.X4||this.jt){var b=this.Re(),c=this.Qe(),f=this.oF,d=this.nF,i,g;if(f==0||d==0)g=i=0;else switch(this.df){case n.NONE:i=f;g=d;break;case n.Dv:i=b;g=c;break;case n.fh:if(f*c>d*b){i=b;g=d*b/f}else{i=f*c/d;g=c}break;case n.mq:if(f*c>d*b){i=f*c/d;g=c}else{i=b;g=d*b/f}break;case n.so:i=b;g=d*b/f;break;case n.Cj:i=f*c/d;g=c}if(this.qb!=i||this.Ib!=g){this.qb=i;this.Ib=g;a=m}this.X4=
this.t6=B}if(a||this.jt||this.a3){this.DV=this.tR=m;this.Jk&&o.css(this.Jk,{width:this.qb+"px",height:this.Ib+"px",visibility:"inherit"});o.css(this.BR,{width:this.Re()+"px",height:this.Qe()+"px","border-top-left-radius":this.pR(this.sDa(),this.Wga(),this.Uga())+"px","border-top-right-radius":this.pR(this.tDa(),this.Wga(),this.Vga())+"px","border-bottom-left-radius":this.pR(this.qDa(),this.Tga(),this.Uga())+"px","border-bottom-right-radius":this.pR(this.rDa(),this.Tga(),this.Vga())+"px"});this.Lb();
this.a3=this.jt=B}if(this.tR&&this.Jk){switch(this.Ik){case j.Ha:o.css(this.Jk,{"margin-left":0,"margin-right":this.Re()-this.qb+"px"});break;case j.Va:o.css(this.Jk,{"margin-left":this.Re()-this.qb+"px","margin-right":0});break;case j.ke:o.css(this.Jk,{"margin-left":Math.floor((this.Re()-this.qb)*0.5)+"px","margin-right":Math.ceil((this.Re()-this.qb)*0.5)+"px"})}this.tR=B}if(this.DV&&this.Jk){switch(this.ml){case j.ec:o.css(this.Jk,{"margin-top":0,"margin-bottom":this.Qe()-this.Ib+"px"});break;case j.Zb:o.css(this.Jk,
{"margin-top":this.Qe()-this.Ib+"px","margin-bottom":0});break;case j.Sd:o.css(this.Jk,{"margin-top":Math.floor((this.Qe()-this.Ib)*0.5)+"px","margin-bottom":Math.ceil((this.Qe()-this.Ib)*0.5)+"px"})}this.DV=B}}};a.prototype.zpa=function(){if(this.J8){var a=this.get("url");if(a)this.m2().load(a,this.qea,this);else{this.m2().clear();this.qea(r,0,0)}this.J8=B}};a.prototype.pR=function(a,b,c){if(!a)return 0;var f=0;b&&(f=Math.max(f,b));c&&(f=Math.max(f,c));return Math.max(0,a-f)};return a});
define("fy","require,kL,lA,gp,lj,lS".split(","),function(a){var b=a("kL"),e=a("lA"),d=a("gp"),g=a("lj"),c=a("lS"),a=b.extend(g,function(){g.call(this)});a.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("iconURL");this.m("rollOverIconURL",d.O,"iconURL");this.m("pressedIconURL",d.Za,"iconURL");this.m("pressedRollOverIconURL",d.Ob,"iconURL")};a.prototype.y0=function(){var a=new c(3);a.set("scaleMode",e.fh);return a};a.prototype.Ja=function(){if(this.v("iconURL")){var a=this.p("iconURL");this.Rh.set("url",
a);this.Rh.set("visible",a?m:B);this.H("iconURL")}g.prototype.Ja.call(this)};return a});define("fx",["require","mR","fy"],function(a){var b=a("mR"),e=a("fy");return b.G("Button",e,function(){e.call(this)})});define("hF",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("CapPanoramaOverlay",b,function(){b.call(this)})});define("hu",["require","mR","hF"],function(a){var b=a("mR"),e=a("hF");return b.G("CeilingCapPanoramaOverlay",e,function(){e.call(this)})});
define("ct","require,dZ,jquery.mod,kL,nV,cu,e".split(","),function(a){a("dZ");var b=a("jquery.mod"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("e"),a=e.extend(c,function(){c.call(this);this.ie("Canvas");this.m1=m;this.I=r;this.bind(d.uc,this.pAa,this)});a.prototype.pAa=function(){this.WW()};a.prototype.WW=function(){this.m1=m;this.qk()};a.prototype.kb=function(){c.prototype.kb.call(this);if(!this.I){this.I=b("<canvas/>");this.I.css({position:"absolute",left:0,top:0,cursor:"inherit"});this.sb().append(this.I)}};
a.prototype.Ja=function(){this.hea()&&this.WW();c.prototype.Ja.call(this)};a.prototype.Jg=function(){if(this.m1){this.m1=B;var a=this.I.get(0);a.width=this.Re();a.height=this.Qe();this.gUa()}c.prototype.Jg.call(this)};a.prototype.fPa=function(){return this.I.get(0).width};a.prototype.ePa=function(){return this.I.get(0).height};a.prototype.dPa=function(){return this.I.get(0).getContext("2d")};a.prototype.gUa=function(){this.trigger(new g(d.ra))};return a});
define("jz","require,kL,nV,gp,lj,ct".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("gp"),g=a("lj"),c=a("ct"),a=b.extend(g,function(){g.call(this)});a.prototype.El=function(){g.prototype.El.call(this)};a.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("iconColor");this.m("rollOverIconColor",d.O,"iconColor");this.m("pressedIconColor",d.Za,"iconColor");this.m("pressedRollOverIconColor",d.Ob,"iconColor")};a.prototype.y0=function(){var a=new c;a.bind(e.ra,this.dwa,this,m);return a};a.prototype.Ja=
function(){if(this.v("iconColor")){this.Rh.WW();this.H("iconColor")}g.prototype.Ja.call(this)};a.prototype.ODa=function(){return this.p("iconColor")};a.prototype.PDa=function(){return this.Rh.dPa()};a.prototype.RDa=function(){return this.Rh.fPa()};a.prototype.QDa=function(){return this.Rh.ePa()};a.prototype.dwa=G();return a});
define("fG",["require","kL","jz","mn","gp"],function(a){var b=a("kL"),e=a("jz"),d=a("mn"),g=a("gp"),a=b.extend(e,function(){e.call(this);this.Y({horizontalAlign:d.ke,verticalAlign:d.Sd})});a.prototype.Ya=function(){e.prototype.Ya.call(this);this.f("iconLineWidth");this.m("rollOverIconLineWidth",g.O,"iconLineWidth");this.m("pressedIconLineWidth",g.Za,"iconLineWidth");this.m("pressedRollOverIconLineWidth",g.Ob,"iconLineWidth")};a.prototype.YDa=function(){return this.p("iconLineWidth")};a.prototype.Ja=
function(){this.v("iconLineWidth")&&(this.Rh.WW(),this.H("iconLineWidth"));e.prototype.Ja.call(this)};a.prototype.dwa=function(){var a=this.PDa(),b=this.ODa(),f=this.RDa(),d=this.QDa(),n=this.YDa();a.clearRect(0,0,f,d);a.lineWidth=n||1;a.strokeStyle=b||"#000000";a.beginPath();a.moveTo(0,0);a.lineTo(f,d);a.moveTo(0,d);a.lineTo(f,0);a.closePath();a.stroke()};return a});define("iM",["require","mR","fG"],function(a){var b=a("mR"),e=a("fG");return b.G("CloseButton",e,function(){e.call(this)})});
define("jB",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("CookiesPolicy",b,function(){b.call(this)})});define("lk",["require","kO","mR","ns"],function(a){var b=a("kO"),e=a("mR");BaseContainer=a("ns");a=e.G("Container",BaseContainer,function(){BaseContainer.call(this)});a.prototype.scrollTo=function(a,b){BaseContainer.prototype.scrollTo.call(this,a,b)};a.prototype.scrollIntoView=function(a){b.uy(function(){BaseContainer.prototype.scrollIntoView.call(this,a)}.bind(this))};return a});
define("kT",["require","ll","mR"],function(a){var b=a("ll"),e=a("mR"),a=e.G("PanoramaFrame",b,function(){b.call(this);this.$=r});a.prototype.get=function(a,g){switch(a){case "overlays":return this.p2();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.$)return this.$.get(a,g)}return b.prototype.get.call(this,a,g)};a.prototype.p2=function(){var a=b.prototype.get.call(this,"overlays");a||(a=[]);return this.Z6(a)};a.prototype.Z6=function(a){if(this.ZF===l||
this.aS!=a){var b=function(a){return e.va("PopupPanoramaOverlay",a)},c=function(a){return e.va("LensFlarePanoramaOverlay",a)};this.aS=a;this.ZF=[].concat(a.filter(function(a){return!(b(a)||c(a))}),a.filter(c),a.filter(b))}return this.ZF};a.prototype.ZNa=R("$");a.prototype.ZG=S("$");a.prototype.ul=T(B);return a});define("nE",["require","mR","kT"],function(a){var b=a("mR"),e=a("kT");return b.G("CubicPanoramaFrame",e,function(){e.call(this)})});
define("hS",["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:"D\u00e9sactiver l'audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","giroscope-disabled-safari-request-permission":["L'acc\u00e8s aux mouvements et \u00e0 l'orientation de votre appareil est d\u00e9sactiv\u00e9 pour ce site.","Pour voir correctement cette page Web, veuillez cliquer sur Continuer et accepter la demande d'autorisation si elle est affich\u00e9e."],accept:"Accepter",download:"Download",downloading:"Downloading","dont-display-again":"Ne plus afficher cette information","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"Changer le mode de contr\u00f4le pour cliquer et d\u00e9placer",yes:"oui","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Quitter le mode plein \u00e9cran",no:"non","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","download-failed":"Download failed","giroscope-disabled-http":"L'acc\u00e8s aux mouvements et \u00e0 l'orientation de votre appareil est d\u00e9sactiv\u00e9 pour cette page Web. Veuillez y acc\u00e9der via https.",
"cookies-notice":"Cette page Web utilise des cookies pour collecter des statistiques d'utilisation. Pour plus d'informations, veuillez consulter la <a>Politique relative aux cookies</a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Veuillez tourner votre t\u00e9l\u00e9phone","exit-vr":"Exit VR",reject:"Rejeter","disable-measure":"Stop measuring","change-to-drag-and-release":"Changer le mode de contr\u00f4le pour faire glisser et rel\u00e2cher",
"cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Activer l'audio? et la vid\u00e9o?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Activer la vid\u00e9o?","storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Passer en mode plein \u00e9cran","use-cardboard-v2":"Use Cardboard v2",unmute:"Activer l'audio",
"enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Activer l'audio?"},"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("nT",["require","kL","hS","lG"],function(a){function b(a){return d[j][a]||d.en[a]||a}var e=a("kL"),d=a("hS"),g=a("lG"),c;for(c in d)d[c.substr(0,2)]=d[c];d.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>';d["zh-hk"]=
d["zh-mo"]=d["zh-tw"];d.no=d.nn;var i=function(){var a=window.navigator,b=["language","browserLanguage","systemLanguage","userLanguage"],c,f,d=[];(c=g.Xp("language"))&&d.push(c.toLowerCase());var j=a.languages;if(Array.isArray(j))for(c=0;c<j.length;c++)if((f=j[c])&&f.length)f=f.toLowerCase(),-1==d.indexOf(f)&&d.push(f);for(c=0;c<b.length;c++)if((f=a[b[c]])&&f.length)f=f.toLowerCase(),-1==d.indexOf(f)&&d.push(f);return d}(),f=Object.keys(d),j=function(){for(var a=0;a<i.length;a++){var b=i[a];if(0<=
f.indexOf(b))return b;b=b.substr(0,2);if(0<=f.indexOf(b))return b}return"en"}();b.log=function(){e.log("translation lang: "+j);e.log("browser lang: "+i.join(", "))};return b});
define("oh",["require"],function(){var a={};a.src=a.jWa="data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=";return a});
define("dS",["require","oh","u"],function(a){function b(a){var b=document.createElement("video");b.setAttribute("webkit-playsinline","true");b.setAttribute("playsinline","true");b.src=i.src;var c=b.play();if(c){var f=B;c.then(function(){f=m;b.pause();a(B)})["catch"](function(){f||a(m)})}else b.pause(),a(B)}function e(a){var b=B,c=document.createElement("video");c.setAttribute("webkit-playsinline","true");c.setAttribute("playsinline","true");c.src="";(c=c.play())?c["catch"](function(a){b="NotAllowedError"!==
a.name}).then(function(){a(!b)}):a(m)}function d(a){o=a;n=m;g()}function g(){for(;k.length;)k.shift().call(window,o)}function c(){j||(j=m,f.browser()==f.Hl&&11<=f.oO()?d(m):f.browser()==f.Lh?b(d):e(function(a){a?b(d):d(B)}))}var i=a("oh"),f=a("u"),j=B,n=B,k=[],o;return{test:function(a){!n&&!j&&c();k.push(a);n&&g()}}});
define("bC",["require","nT","lq","dS"],function(a){function b(a,b){this.QB=a;this.Pu=b;this.wp=this.wp.bind(this);this.xp=B}function e(){this.wp=this.wp.bind(this);this.K8=this.K8.bind(this);this.o="not tested";this.Tda=[];this.Ws=[];this.AT=B;g.JH(this.K8)}var d=a("nT"),g=a("lq"),c=a("dS");e.prototype.$Ta=function(){"not tested"==this.o&&(this.o="testing",c.test(function(a){this.o=a?"requires action":"allowed";this.zGa()}.bind(this)))};e.prototype.zGa=function(){"allowed"==this.o?this.wp(m):this.AT&&
(this.AT=B,this.Ws.forEach(function(a){a.Ii()}))};e.prototype.rba=function(a){"allowed"==this.o?a.call(this,m):this.Tda.push(a)};e.prototype.Ii=function(a){this.nr(a)};e.prototype.cancel=function(a){this.Gz(a)};e.prototype.j9=function(){return"allowed"==this.o};e.prototype.fTa=function(){"allowed"==this.o&&(this.o="requires action")};e.prototype.K8=function(){setTimeout(this.nAa.bind(this),300);this.Cq(m)};e.prototype.nAa=function(){for(;this.Ws.length;)this.Ws.pop().cancel()};e.prototype.nr=function(a){"testing"==
this.o||"not tested"==this.o?(this.f_(a),this.AT=m):"requires action"==this.o&&this.f_(a).Ii()};e.prototype.Gz=function(a){"testing"==this.o||"not tested"==this.o?this.AT=B:"requires action"==this.o&&this.f_(a).cancel()};e.prototype.wp=function(a){var b=this.Ws;this.Ws=[];b.forEach(function(b){a||b.QB.set("mute",m);b.cancel()});this.Cq(a)};e.prototype.Cq=function(a){this.o="allowed";this.Tda.forEach(function(b){b.call(window,a)})};e.prototype.f_=function(a){for(var c=r,d=0;d<this.Ws.length&&!c;d++)this.Ws[d].QB==
a&&(c=this.Ws[d]);c||(c=new b(a,this.wp),this.Ws.push(c));return c};b.prototype.Ii=function(){this.xp||(this.xp=m,"button"==this.QB.get("mediaActivationMode")?this.QB.rG.LRa(this.wp):this.QB.WE.show(d("enable-audio-prompt"),this.wp))};b.prototype.cancel=function(){this.QB.rG.iOa(this.wp);this.QB.WE.hide(this.wp)};b.prototype.wp=function(a){this.Pu(a!==B);this.xp=B};return new e});
define("fB",["require","nV","lR","bC","gI"],function(a){var b=a("nV"),e=a("lR"),d=a("bC"),g=a("gI");if(!e.uba||"AudioContext"in window===B)return r;var c=new AudioContext;d.rba(function(){"running"!==c.state&&c.resume()});g.bind(b.ra,function(){g.visible&&"interrupted"==c.state&&c.resume()});return c});
define("dY","require,fB,nV,u,lG,lR,gI".split(","),function(a){function b(a){this.ai=this.ai.bind(this);this.cr=this.cr.bind(this);this.L=r;this.Le=B;this.Op=this.hR=1;this.sR=m;this.Bw=this.GD=r;this.L=a;this.L.addEventListener("play",this.ai,m);this.L.addEventListener("playing",this.cr,m);this.Bna();this.HB()}var e=a("fB");a("nV");var d=a("u"),g=a("lG"),c=a("lR");a("gI");var i;b.prototype.clear=function(){if(this.L){this.uLa();this.L.removeEventListener("play",this.ai,m);this.L.removeEventListener("playing",
this.cr,m);this.L=r}};b.prototype.Bna=function(){if(c.uba&&d.browser()==d.Lh&&e&&!this.GD&&this.Hw()){if(!i){i=e.createDelay();i.delayTime.value=0.3;i.connect(e.destination)}this.GD=e.createMediaElementSource(this.L);this.Bw=e.createGain();this.GD.connect(this.Bw);this.Bw.connect(i)}};b.prototype.uLa=function(){if(this.GD){this.GD.disconnect();this.GD=r}if(this.Bw){this.Bw.disconnect();this.Bw=r}};b.prototype.qSa=function(a){if(this.sR!=a){this.L.log("AudioController","set hasAudio: "+a);this.sR=
a;this.HB()}};b.prototype.kf=function(a){if(this.Le!=a){this.L.log("AudioController","set muted: "+a);this.Le=a;this.HB()}};b.prototype.mv=function(a){if(this.Op!=a){this.L.log("AudioController","set volume: "+a);this.Op=a;this.HB()}};b.prototype.tO=function(a){if(this.hR!=a){this.L.log("AudioController","set gain: "+a);this.hR=Math.max(0,Math.min(1,a));this.HB()}};b.prototype.ai=function(){this.HB()};b.prototype.cr=function(){this.HB()};b.prototype.HB=function(){this.L.log("AudioController","updateVolume paused: "+
this.L.paused+" outputVolume: "+(!this.sR||this.Le?0:this.Op*this.hR));if(!this.L.paused){var a=!this.sR||this.Le?0:this.Op*this.hR;a>0&&a<1&&this.Bna();if(this.Bw){this.Bw.gain.value=a;this.L.volume=1}else this.L.volume=a;this.L.muted=a==0}};b.prototype.Hw=function(){var a=this.L.currentSrc||this.L.children.length&&this.L.children[0].src||"";g.py(a)&&(a=l);return a};return b});define("nu",["require"],function(){return{Ml:"video",twa:"audio"}});
define("my","require,kL,nV,kn,hA,cu,fQ,u,lG,hX,gI".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("kn"),g=a("hA"),c=a("cu"),i=a("fQ"),f=a("u"),j=a("lG"),n=a("hX"),k=a("gI"),o=b.extend(i,function(a){i.call(this);this.L=a;this.MA=this.MA.bind(this);this.Zt=this.Zt.bind(this);this.Sk=this.Sk.bind(this);this.RA=this.RA.bind(this);this.ej=this.ej.bind(this);this.Vk=this.Vk.bind(this);this.ai=this.ai.bind(this);this.cr=this.cr.bind(this);this.TM=this.TM.bind(this);this.L.addEventListener("ended",this.Sk,
m);this.L.addEventListener("pause",this.Vk,B);this.L.addEventListener("stalled",this.Vk,B);this.L.addEventListener("waiting",this.Vk,B);this.L.addEventListener("canplay",this.MA,m);this.L.addEventListener("canplaythrough",this.Zt,B);this.L.addEventListener("loadedmetadata",this.ej,m);this.L.addEventListener("play",this.ai,B);this.L.addEventListener("playing",this.cr,B);this.L.addEventListener("error",this.RA,B);this.h1=B;this.o=d.M;this.uF=this.Hh=r;k.bind(e.ra,this.zNa,this)});o.prototype.clear=
function(){if(this.L){this.L.removeEventListener("ended",this.Sk,m);this.L.removeEventListener("pause",this.Vk,B);this.L.removeEventListener("stalled",this.Vk,B);this.L.removeEventListener("waiting",this.Vk,B);this.L.removeEventListener("canplay",this.MA,m);this.L.removeEventListener("canplaythrough",this.Zt,B);this.L.removeEventListener("loadedmetadata",this.ej,m);this.L.removeEventListener("play",this.ai,B);this.L.removeEventListener("error",this.RA,B);this.L=r}};o.prototype.play=function(){this.L.log("PlaybackController",
"play");this.uF=d.Q;this.DL()};o.prototype.stop=function(){this.L.log("PlaybackController","stop");this.uF=d.M;this.DL()};o.prototype.mg=function(){return this.Hh||this.o};o.prototype.lC=function(){return this.L.readyState==this.L.HAVE_NOTHING||this.L.readyState==this.L.HAVE_METADATA||this.L.currentTime===0?B:m};o.prototype.DL=function(){if(!this.Hh&&this.uF){this.Hh=this.uF;this.uF=r;this.Hh==d.Q?this.g7():this.f7()}};o.prototype.zNa=function(){if(k.visible){this.L.log("PlaybackController","visibile changed to true, setting state to "+
this.o);this.Hh=this.o;this.Hh==d.Q?this.g7():this.f7()}else if(!this.L.paused){this.L.log("PlaybackController","paused by visibile changed to false");var a=this.L.pause();a&&a["catch"](this.RA)}};o.prototype.Hw=function(){return this.L.currentSrc||this.L.children.length&&this.L.children[0].src||""};o.prototype.g7=function(){var a=this.Hw();this.vU(a&&!j.py(a));this.KP=f.browser()==f.Lh;if(this.L.paused){this.L.log("PlaybackController","startPlaying calling play");this.L.muted=m;this.L.log("PlaybackController",
"this._media.play()");(a=this.L.play())&&a["catch"](this.RA)}else{this.L.log("PlaybackController","startPlaying already playing");this.ai()}};o.prototype.cr=function(){this.L.log("PlaybackController","onPlaying event received. Visible: "+k.visible)};o.prototype.ai=function(){if(this.Hh==d.Q){this.L.log("PlaybackController","onPlay event received when waiting to play");this.Hh=r;this.o=d.Q;this.trigger(new c(o.WY));this.DL()}else this.L.log("PlaybackController","onPlay event received. Visible: "+k.visible)};
o.prototype.f7=function(){this.vU(B);this.KP=B;if(this.L.paused){this.L.log("PlaybackController","startPausing already paused");this.Vk()}else{this.L.log("PlaybackController","startPausing calling pause");var a=this.L.pause();a&&a["catch"](this.RA)}};o.prototype.Vk=function(){if(this.Hh==d.M){this.L.log("PlaybackController","onPause event received when waiting to stop");this.Hh=r;this.o=d.M;this.DL()}else if(k.visible){this.L.log("PlaybackController","onPause event received without calling to pause");
(this.o==d.Q&&!this.Hh||this.Hh==d.Q)&&!this.L.hasAttribute("loop")&&!isNaN(this.L.duration)&&this.L.currentTime==this.L.duration&&this.L.duration>0&&this.Sk();this.TM()}else this.L.log("PlaybackController","onPause event received when not visible")};o.prototype.MA=function(){this.L.log("PlaybackController","on can play");this.TM()};o.prototype.Zt=function(){this.L.log("PlaybackController","can play through");this.TM();this.vU(B)};o.prototype.TM=function(){if(this.Ena()){if(this.KP&&this.L.currentTime==
0){this.L.log("PlaybackController","updatePlaying applying ios hack");this.KP=B;try{this.L.currentTime=0.3}catch(a){}}f.browser()!=f.SC&&this.Ama()}};o.prototype.Ena=function(){return this.o==d.Q&&k.visible&&this.L.paused&&this.L.readyState>=3};o.prototype.Ama=function(a){if(!this.Bma)if(a){if(this.Ena()){this.L.log("PlaybackController","updatePlaying retrying play");this.Hh=d.Q;this.g7()}}else this.Bma=setTimeout(function(){this.Bma=r;this.Ama(m)}.bind(this),500)};o.prototype.RA=function(){if(this.Hh==
d.Q){this.L.log("PlaybackController","onError waiting to play");this.Hh=r;this.uF?this.DL():f.browser()==f.Lh?this.trigger(new c(o.AY)):this.Hh=d.Q}};o.prototype.ej=function(){this.L.log("PlaybackController","on loaded metadata");!isNaN(this.L.duration)&&this.L.currentTime==this.L.duration&&this.L.duration>0&&this.Sk()};o.prototype.Sk=function(){this.L.log("PlaybackController","onEnded");this.KP=B;if(this.o==d.Q&&!this.Hh||this.Hh==d.M){this.L.log("PlaybackController","onEnded finalizing video");
this.vU(B);this.Hh=d.M;this.f7();this.trigger(new c(o.zj))}};o.prototype.vU=function(a){if(this.h1!=a){this.L.log("PlaybackController","downloading changed to: "+a);(this.h1=a)?n.RTa(g.Zba):n.QTa(g.Zba)}};o.AY="deactivated";o.zj="end";o.WY="play";return o});
define("A",["require","kL","nV","cu","fQ"],function(a){var b=a("kL"),e=a("nV");a("cu");var d=a("fQ"),a=b.extend(d,function(a){d.call(this);this.ej=this.ej.bind(this);this.t4=this.t4.bind(this);this.Zh=this.Zh.bind(this);this.L=a;this.fk=r;this.be=[];this.L.addEventListener("loadedmetadata",this.ej,m);this.L.textTracks.addEventListener("addtrack",this.t4,B)});a.prototype.set=function(a){a&&this.Qya(a)};a.prototype.clear=function(){this.PIa()};a.prototype.GN=function(){var a=this.fk&&this.fk.track.activeCues;
a&&(a=Array.prototype.slice.call(a,0));return a||[]};a.prototype.ej=function(){this.xpa()};a.prototype.t4=function(){this.xpa()};a.prototype.Zh=function(){this.Uma(this.fk.track.activeCues)};a.prototype.Uma=function(a){a||(a=[]);0==this.be.length&&0==a.length||(this.be=Array.prototype.slice.call(a),this.trigger(e.tk,this.be))};a.prototype.Qya=function(a){this.L.log("TextTracksController","add text track src: "+a);this.fk=document.createElement("track");this.fk.kind="subtitles";this.fk.src=a;this.L.appendChild(this.fk)};
a.prototype.PIa=function(){this.fk&&(this.L.log("TextTracksController","remove text track"),this.fk.track.removeEventListener("cuechange",this.Zh),this.fk.track.mode="disabled",this.fk.src="",this.L.removeChild(this.fk),this.fk=r,this.Uma([]))};a.prototype.xpa=function(){for(var a=0;a<this.L.textTracks.length;a++){var b=this.L.textTracks[a];b.removeEventListener("cuechange",this.Zh);b.mode=this.fk&&b==this.fk.track?"hidden":"disabled";"hidden"==b.mode&&b.addEventListener("cuechange",this.Zh)}};return a});
define("hH",["require","dZ","lG"],function(a){var b=a("dZ"),e=a("lG"),a={is:function(a,g){var c=e.parse(a).JOa;return b(g).contains(c)},py:function(a,g){return a&&b(g).any(function(b){return 0===a.indexOf(b)})},mZ:[".mp4",".m4v",".m4p"],axa:[".hevc"],cca:[".mov"],jda:[".webm"],wca:[".ogv",".ogg"],sxa:[".mpg",".mpeg"],fxa:[".jpg",".jpeg"],Xm:[".m3u8"],uca:[".mpd"],Axa:[".png"],rwa:[".apng"],$wa:[".gif"],xwa:[".bmp"],Zxa:[".webp"],uwa:[".avif"]};a.cxa=[].concat(a.fxa,a.Axa,a.Zxa,a.$wa,a.uwa,a.rwa,a.xwa);
a.qwa=[].concat(a.Xm,a.uca);a.Ml=[].concat(a.qwa,a.mZ,a.jda,a.wca,a.sxa,a.Xm,a.uca);a.dxa=["data:image/"];return a});
define("em","require,kL,nV,cu,fQ,u,hH".split(","),function(a){var b=a("kL");a("nV");var e=a("cu"),d=a("fQ"),g=a("u"),c=a("hH"),i=b.extend(d,function(a){d.call(this);this.L=a;this.Zt=this.Zt.bind(this);this.Vk=this.Vk.bind(this);this.ai=this.ai.bind(this);this.ej=this.ej.bind(this);this.Sk=this.Sk.bind(this);this.hT=this.hT.bind(this);this.Ce=this.Ce.bind(this);this.J3=this.aF=this.AB=l;this.y7=0;this.L.addEventListener("ended",this.Sk,m);this.L.addEventListener("pause",this.Vk,B);this.L.addEventListener("canplaythrough",
this.Zt,B);this.L.addEventListener("timeupdate",this.hT,B);this.L.addEventListener("play",this.ai,B);this.L.addEventListener("playing",this.cr,B)});i.prototype.clear=function(){if(this.L){this.L.removeEventListener("ended",this.Sk,m);this.L.removeEventListener("pause",this.Vk,B);this.L.removeEventListener("canplaythrough",this.Zt,B);this.L.removeEventListener("timeupdate",this.hT,B);this.L.removeEventListener("play",this.ai,B);this.L.removeEventListener("playing",this.cr,B);this.L=r;this.AB&&clearInterval(this.AB)}};
i.prototype.setTime=function(a){this.y7=0;this.bS=l;this.L.log("TimeController","setTime: "+a);this.JP=g.w9()&&!c.is(this.Hw(),c.Xm)?a||0:l;try{this.L.currentTime=a}catch(b){}if(g.browser()!=g.wv&&g.browser()!=g.SC&&(g.ad()!=g.QH||a!=0)){this.aF=a;this.Xoa()}};i.prototype.getTime=function(){return this.aF||this.L.currentTime||0};i.prototype.Fi=function(){return this.L.duration||0};i.prototype.ai=function(){this.P6(m)};i.prototype.Vk=function(){this.P6(B);this.bS=l};i.prototype.Zt=function(){this.L.log("TimeController",
"on can play through");this.Xoa()};i.prototype.Sk=function(){this.JP=l;this.P6(B)};i.prototype.ej=function(){this.trigger(new e(i.li))};i.prototype.Xoa=function(){if(this.L.readyState>=this.L.HAVE_ENOUGH_DATA&&this.aF!==l){this.L.log("TimeController","updateCurrentTime when can play through set time to: "+this.aF);try{this.L.currentTime=this.aF}catch(a){}this.aF=l}};i.prototype.Ce=function(){this.trigger(new e(i.mf))};i.prototype.hT=function(){if(g.w9()&&!g.lsa()&&!this.L.paused&&this.L.readyState>=
this.L.HAVE_ENOUGH_DATA){var a=(new Date).getTime();this.bS||(this.bS=a);if(this.J3&&a-this.J3>500){this.y7++;this.y7/((a-this.bS)*0.001)>0.4&&g.lTa()}this.J3=a}if(this.JP!==l&&this.L.currentTime>this.JP){this.JP=l;try{this.L.currentTime=this.L.currentTime-0.01}catch(b){}}this.Ce()};i.prototype.P6=function(a){if(!!this.AB!=a)if(this.AB){clearInterval(this.AB);this.AB=r}else this.AB=setInterval(this.Ce,16)};i.prototype.Hw=function(){return this.L.currentSrc||this.L.children.length&&this.L.children[0].src||
""};i.mf="time update";i.li="duration update";return i});
define("le","require,jquery.mod,kL,fB,u,lG".split(","),function(a){function b(){}a("jquery.mod");var e=a("kL"),d=a("fB"),g=a("u"),a=a("lG");b.Spa=B;b.xTa=function(){b.Spa=m};b.SEa=function(){window.MediaSource=window.MediaSource||window.WebKitMediaSource;return window.MediaSource&&typeof window.MediaSource.isTypeSupported==="function"&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};b.dFa=function(){if(g.browser()==g.Lh){var a=g.nC();if(a>=10&&a<11||a>=11.3)return m}return B};
b.TEa=function(){return g.browser()==g.Hl||g.browser()==g.Lh?m:B};var c;b.Aqa=function(a){try{c||(c=document.createElement("audio"));return!!c.canPlayType(a).replace(/^no$/,"")}catch(b){}return B};var i;b.MG=function(a){try{if(!i){i=document.createElement("video");i.setAttribute("webkit-playsinline","true");i.setAttribute("playsinline","true")}return!!i.canPlayType(a).replace(/^no$/,"")}catch(b){}return B};b.cOa=function(){return g.browser()==g.Lh?g.nC()>=15||d?m:B:m};b.UEa=function(){try{if(document.createElement("canvas").getContext("webgl"))return m}catch(a){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return m}catch(b){}return B};
b.Kva=function(a,b,c){if(g.Xd()==g.mi)if(!c||c>30){if(a<=3168&&b<=1584)return m}else{if(a<=4096&&b<=2048)return m}else if(g.C$())if(!c||c>30){if(a<=4096&&b<=4096||a<=5760&&b<=5760||a<=5760&&b<=2880||a<=8192&&b<=4096)return m}else{if(a<=5760&&b<=5760||a<=8192&&b<=4096)return m}else if(g.Osa())if(!c||c>30){if(a<=2880&&b<=2880||a<=4096&&b<=2048)return m}else{if(a<=3840&&b<=3840||a<=4096&&b<=4096||a<=5760&&b<=2880||a<=2880&&b<=5760)return m}else if(g.mb()){if(a<=3840&&b<=2160)return m}else if(a<=4096&&
b<=2048)return m;return B};b.dOa=function(){return g.C$()&&g.ad()==g.jq||!g.mb()&&b.Spa?m:B};b.YTa=function(a,c){return b.Kva(a,c,30)};b.log=function(){e.log("webgl: "+b.tba);e.log("html5 audio: "+b.tsa);e.log("html5 video: "+b.wsa)};b.oLa=function(){return["webgl:"+b.tba,"html5audio:"+b.tsa,"html5video:"+b.wsa].join(" ")};b.vsa=b.Aqa('audio/ogg; codecs="vorbis"');b.usa=b.Aqa("audio/mpeg");b.tsa=b.vsa||b.usa;b.m$=b.MG('video/ogg; codecs="theora"');b.SVa=b.MG('video/mp4; codecs="avc1.42E01E"');b.n$=
b.MG('video/webm; codecs="vp8, vorbis"');b.jQa=b.MG('video/mp4; codecs="hev1"');b.TW=b.MG("video/mp4");b.kQa=b.MG("video/quicktime");b.xsa=b.dFa();b.fsa=b.TEa();b.YPa=b.fsa||b.TW&&b.SEa();b.wsa=b.m$||b.TW||b.n$;b.tba=b.UEa();a.Gi("debug")&&a.Gi("capabilities")&&b.log();b.summary=b.oLa();return b});
define("cr",["require","lG"],function(a){function b(){this.eS=this.M3=r;this.gt=[];this.Wq=B;this.Uw=l}var e=a("lG");b.prototype.Zp=function(a,b){this.M3=e.ov(a);this.eS=b;this.V()};b.prototype.load=function(a,b){var c={};c.call=a;c.context=b||window;this.gt.push(c);this.Uw||(this.Uw=this.qha());this.V()};b.prototype.tl=function(){return this.Uw!==l};b.prototype.V=function(){0<this.gt.length&&(this.Uw!==l?this.cCa():this.M3&&this.WJ())};b.prototype.WJ=function(){if(!(this.Wq||this.Uw!==l)){this.Wq=
m;var a=document.createElement("script");a.type="text/javascript";a.src=this.M3;document.getElementsByTagName("head")[0].appendChild(a);this.Upa()}};b.prototype.Upa=function(){var a=this.qha();if(a===l){var b=this;setTimeout(function(){b.Upa()},250)}else this.Uw=a,this.Wq=B,this.V()};b.prototype.qha=function(){if(this.eS){for(var a=window,b=0;b<this.eS.length&&a!==l;b++)a=a[this.eS[b]];return a}};b.prototype.cCa=function(){for(;0<this.gt.length;){var a=this.gt.pop();a.call.call(a.context,this.Uw)}};
return{kda:new b,Xm:new b,Zp:function(a){this.Xm.Zp(a.get(TDV.PlayerSettings.HLS_URL),["Hls"]);this.kda.Zp(a.get(TDV.PlayerSettings.WEBVR_POLYFILL_URL),["WebVRConfig","FORCE_ENABLE_VR"])}}});
define("dn",["require"],function(){var a={Cta:"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU2LjM2LjEwMAAAAAAAAAAAAAAA//OEAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAEAAABIADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV6urq6urq6urq6urq6urq6urq6urq6urq6v////////////////////////////////8AAAAATGF2YzU2LjQxAAAAAAAAAAAAAAAAJAAAAAAAAAAAASDs90hvAAAAAAAAAAAAAAAAAAAA//MUZAAAAAGkAAAAAAAAA0gAAAAATEFN//MUZAMAAAGkAAAAAAAAA0gAAAAARTMu//MUZAYAAAGkAAAAAAAAA0gAAAAAOTku//MUZAkAAAGkAAAAAAAAA0gAAAAANVVV"};a.src=
a.Cta;return a});
define("dv","require,kL,nV,cu,fQ,le,lG,lR,hH,cr,dn".split(","),function(a){function b(a,b,c){this.src=a||"";this.Rm=b||"";this.startTime=c||0}var e=a("kL"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("le"),f=a("lG"),j=a("lR"),n=a("hH"),k=a("cr"),o=a("dn"),a=e.extend(c,function(a,b){c.call(this);this.L=a;this.Gm=b;this.S3=B;this.MU=[];this.Ke=this.De=this.UI=r});a.prototype.set=function(a,c,f){this.L.log("SrcSetter","set: "+a+" subtitles: "+c+" startTime: "+f);a=new b(a,c,f);if(!this.De||!this.De.isEqual(a))if(!this.De&&this.UI&&
this.UI.isEqual(a))this.P7();else{this.De=a;this.$Fa()}};a.prototype.clear=function(){if(this.Ke){this.Ke.destroy();this.Ke=r}this.UI=r;this.OIa();this.Gm.clear()};a.prototype.cQa=function(){return!!this.De};a.prototype.$Fa=function(){this.S3=m;if(this.wma(this.De.src)&&!k.Xm.tl()){this.L.log("SrcSetter","hls lib required");k.Xm.load(this.Bia,this)}else this.Bia()};a.prototype.Bia=function(){if(this.S3){this.S3=B;this.tza()}};a.prototype.tza=function(){this.clear();this.HJa(!!this.De.src&&f.Esa(this.De.src));
this.wma(this.De.src)?this.hza():this.uza()};a.prototype.hza=function(){var a=k.Xm.Uw,b=(navigator.connection?Math.max(navigator.connection.downlink,2):2)*1048576,c=b*0.66;this.Ke=new a({debug:j.XC,startPosition:this.De.startTime===0?-1:this.De.startTime,levelLoadingTimeOut:6E4,startLevel:-1,maxMaxBufferLength:12,autoStartLoad:B,abrEwmaDefaultEstimate:b});this.Ke.loadSource(this.De.src);this.Ke.attachMedia(this.L);var f=function(){this.Ke.off(a.Events.MANIFEST_PARSED,f);if(navigator.connection){var d=
this.Ke.levels.filter(function(a){return a.bitrate<=b});if(d.length){d.sort(function(a,b){return b.width-a.width});var n=this.Ke.levels.indexOf(d[0]);this.Ke.startLevel=n}d=this.Ke.levels.filter(function(a){return a.bitrate<=c});if(d.length){d.sort(function(a,b){return b.width-a.width});this.Ke.config.minAutoBitrate=d[0].bitrate-1}d=this.Ke.levels.filter(function(a){return i.YTa(a.width,a.height)});if(j.bxa){d.sort(function(a,b){return b.width-a.width});n=this.Ke.levels.indexOf(d[0]);this.Ke.startLevel=
n}if(d.length&&d.length<this.Ke.levels.length){d.sort(function(a,b){return b.width-a.width});this.Ke.autoLevelCapping=this.Ke.levels.indexOf(d[0])}this.L.log("SrcSetter","bandwidth: "+b+" lowBandwidth: "+c);this.L.log("SrcSetter","levels: "+this.Ke.levels);this.L.log("SrcSetter","startLevel: "+this.Ke.levels[this.Ke.startLevel]);this.L.log("SrcSetter","minLevel: "+this.Ke.levels[this.Ke.minAutoLevel])}this.Ke.startLoad(this.De.startTime===0?-1:this.De.startTime);this.De.startTime!=0&&this.ur(this.De.startTime);
this.De.Rm&&this.Gm.set(this.De.Rm);this.UI=this.De;this.De=r;this.P7()}.bind(this);this.Ke.on(a.Events.MANIFEST_PARSED,f);this.Ke.on(a.Events.zUa,function(b,c){c.fatal&&c.type==a.ErrorTypes.EUa&&this.Ke.recoverMediaError()}.bind(this))};a.prototype.uza=function(){this.De.src?this.eea(this.De.src):this.eea(o.Cta,"audio/mpeg");this.De.Rm&&this.Gm.set(this.De.Rm);this.L.load();this.De.startTime!=0&&this.ur(this.De.startTime);this.UI=this.De;this.De=r;this.P7()};a.prototype.P7=function(){this.L.log("SrcSetter",
"src ready");this.trigger(new g(d.Ic))};a.prototype.wma=function(a){return a&&n.is(a,n.Xm)&&!i.fsa};a.prototype.HJa=function(a){a&&!this.L.hasAttribute("crossorigin")?this.L.setAttribute("crossorigin","anonymous"):!a&&this.L.hasAttribute("crossorigin")&&this.L.removeAttribute("crossorigin")};a.prototype.ur=function(a){try{this.L.currentTime=a}catch(b){}};a.prototype.eea=function(a,b){var c=document.createElement("source");b||(b=this.OEa(a));if(b)c.type=b;f.py(a)||(a=f.gy(a,"swbypass=true"));c.src=
a;this.L.appendChild(c);this.MU.push(c)};a.prototype.OIa=function(){for(;this.MU&&this.MU.length;){var a=this.MU.shift();a.src="";this.L.removeChild(a)}};a.prototype.OEa=function(a){switch(f.getExtension(a).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"}};b.prototype.isEqual=function(a){return this.src==
a.src&&this.Rm==a.Rm};return a});
define("no","require,kL,nV,cu,fQ,u,lR,e,bC,lq,dY,nu,my,A,em,dv".split(","),function(a){function b(a){setTimeout(a,0)}var e=a("kL"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("u"),f=a("lR"),j=a("e"),n=a("bC"),k=a("lq"),o=a("dY"),p=a("nu"),q=a("my"),t=a("A"),s=a("em"),u=a("dv"),w=0,v=e.extend(c,function(a,b){c.call(this);this.je=a;this.BNa=b;this.ej=this.ej.bind(this);this.Cq=this.Cq.bind(this);this.N4=this.N4.bind(this);this.np=this.cE=r;this.BT=l;this.Rb=this.Pa=r;this.Nl="inactive";this.Pn=this.za=this.yd=
this.Bu=this.Gm=r;this.Le=B;this.Cna(document.createElement(this.je));b&&k.JH(this.Cq)});v.prototype.Cna=function(a){this.joa();this.Rb=a;for(this.Rb.parentNode&&this.Rb.parentNode.removeChild(this.Rb);this.Rb.children.length;)this.Rb.removeChild(this.Rb.children[0]);this.CKa();this.Rb.autoplay=B;this.Rb.autobuffer="autobuffer";this.Rb.tH=i.browser()==i.Lh?"metadata":"none";this.Rb.setAttribute("preload",i.browser()==i.Lh?"metadata":"none");this.Rb.setAttribute("webkit-playsinline","true");this.Rb.setAttribute("playsinline",
"true");this.Rb.addEventListener("loadedmetadata",this.ej,m);this.Gm=new t(this.Rb);this.Gm.bind(d.tk,this.Zh,this,m);this.Bu=new u(this.Rb,this.Gm);this.Bu.bind(d.Ic,this.fla,this,m);this.yd=new o(this.Rb);this.za=new q(this.Rb);this.za.bind(q.AY,this.Lja,this,m);this.za.bind(q.zj,this.Sk,this,m);this.za.bind(q.WY,this.ai,this,m);this.Pn=new s(this.Rb);this.Pn.bind(s.mf,this.Ce,this,m);this.Pn.bind(s.li,this.qm,this,m)};v.prototype.CKa=function(){if(f.XC){var a="["+this.je+" "+w++ +"]";this.Rb.log=
function(b,c){console.log(a+"["+(new Date).toISOString().split("T")[1]+"] "+b+" "+c)}}else this.Rb.log=G()};v.prototype.joa=function(){if(this.Rb){this.Rb.removeEventListener("loadedmetadata",this.ej,m);if(this.Bu){this.Bu.unbind(d.Ic,this.fla,this,m);this.Bu.clear();this.Bu=r}if(this.Gm){this.Gm.unbind(d.tk,this.Zh,this,m);this.Gm.clear();this.Gm=r}if(this.yd){this.yd.clear();this.yd=r}if(this.za){this.za.unbind(q.AY,this.Lja,this,m);this.za.unbind(q.zj,this.Sk,this,m);this.za.unbind(q.WY,this.ai,
this,m);this.za.clear();this.za=r}if(this.Pn){this.Pn.unbind(s.mf,this.Ce,this,m);this.Pn.unbind(s.li,this.qm,this,m);this.Pn.clear();this.Pn=r}this.Rb=r}};v.prototype.clear=function(){this.joa()};v.prototype.PG=function(a,b,c){if(this.ul()&&this.lC())try{a.drawImage(this.Rb,0,0,b,c);return m}catch(f){}a.fillRect(0,0,b,c);return B};v.prototype.play=function(a,b,c){this.Rb.log("HTMLMediaPlayer","play src: "+b.src+" subtitlesSrc: "+b.Rm+" hasAudio: "+b.Yu+" gain: "+b.gain);this.Pa=a;this.cE=r;this.np=
b.clone();this.BT=c||0;this.aza()};v.prototype.$W=function(){return this.Nl=="activated"};v.prototype.dY=S("BNa");v.prototype.stop=function(){this.Rb.log("HTMLMediaPlayer","stop");this.za.stop();this.np=r};v.prototype.mg=function(){return this.za.mg()};v.prototype.lC=function(){return this.Bu.cQa()?B:this.za.lC()};v.prototype.kf=function(a){this.yd.kf(a);this.Le=a;this.Pa&&this.Nl=="requested"&&(this.Le?n.cancel(this.Pa):n.Ii(this.Pa))};v.prototype.mv=function(a){this.yd.mv(a)};v.prototype.tO=function(a){this.yd.tO(a)};
v.prototype.setLoop=function(a){this.pza(a)};v.prototype.rl=function(){return this.Pn.getTime()};v.prototype.BC=function(a){return this.Pn.setTime(a)};v.prototype.Fi=function(){return this.Pn.Fi()};v.prototype.ul=function(){return this.je==p.Ml};v.prototype.ue=S("je");v.prototype.bd=function(){return this.Rb&&this.ul()&&this.Rb.videoWidth||0};v.prototype.Rd=function(){return this.Rb&&this.ul()&&this.Rb.videoHeight||0};v.prototype.GN=function(){return this.Gm.GN()};v.prototype.aza=function(){this.Rb.log("HTMLMediaPlayer",
"assert can play");if(this.Nl=="activated"||!this.np.Yu){this.Rb.log("HTMLMediaPlayer","can play activationState: "+this.Nl+" pending media has audio: "+this.np.Yu);this.MA()}else if(this.Nl=="inactive"){this.Rb.log("HTMLMediaPlayer","needs activation");this.Pa&&this.je==p.Ml&&this.REa()?this.sya():this.Pa&&j.WN()?this.Cq():this.Pa&&this.$ya()}};v.prototype.REa=function(){var a=this.Nga();return a&&(!a.currentSrc||a.paused)&&!a.muted?m:B};v.prototype.Nga=function(){return this.Pa.get("settings").get(TDV.PlayerSettings.ACTIVE_VIDEO_ELEMENT)};
v.prototype.sya=function(){this.Rb.log("HTMLMediaPlayer","activate with application parameter");this.Cna(this.Nga());this.Cq()};v.prototype.$ya=function(){this.Rb.log("HTMLMediaPlayer","ask for activation");this.Nl="requested";n.rba(this.Cq);this.Pa&&!this.Le&&n.Ii(this.Pa)};v.prototype.Cq=function(){if(this.Nl=="inactive"||this.Nl=="requested"){this.Rb.log("HTMLMediaPlayer","activate received when state: "+this.Nl+" and has media: "+!!this.cE);if(this.cE)b(function(){k.JH(this.Cq)}.bind(this));else{this.Nl=
"activating";this.Bu.set("","",0)}}};v.prototype.MA=function(){this.Rb.log("HTMLMediaPlayer","media can play. Has pending properties: "+!!this.np);this.np&&this.Bu.set(this.np.src,this.np.Rm,this.BT)};v.prototype.fla=function(){this.Nl=="activating"?this.sHa():this.np&&this.aHa()};v.prototype.sHa=function(){this.Rb.log("HTMLMediaPlayer","on src ready activating");this.za.play()};v.prototype.ai=function(){if(this.Nl=="activating"){this.Rb.log("HTMLMediaPlayer","on play activating");this.za.stop();
this.Nl="activated";this.MA()}};v.prototype.aHa=function(){this.Rb.log("HTMLMediaPlayer","on pending src ready");this.cE=this.np;this.np=r;this.iza(this.cE.Yu);this.gza(this.cE.gain);this.Pn.setTime(this.BT);this.BT=l;this.za.play()};v.prototype.iza=function(a){this.yd.qSa(a)};v.prototype.gza=function(a){this.yd.tO(a)};v.prototype.pza=function(a){a&&!this.Rb.hasAttribute("loop")?this.Rb.setAttribute("loop",""):!a&&this.Rb.hasAttribute("loop")&&this.Rb.removeAttribute("loop")};v.prototype.Lja=function(){this.Rb.log("HTMLMediaPlayer",
"on deactivated");n.fTa();k.JH(this.N4);this.Pa&&b(function(){n.Ii(this.Pa)}.bind(this))};v.prototype.N4=function(){this.Rb.log("HTMLMediaPlayer","on reactivated");this.za.play()};v.prototype.Zh=function(){this.trigger(d.tk,this.Gm.GN())};v.prototype.ej=function(){this.trigger(new g(v.Qwa))};v.prototype.Ce=function(){this.trigger(new g(v.mf))};v.prototype.qm=function(){this.trigger(new g(v.li))};v.prototype.Sk=function(){this.trigger(new g(v.zj))};v.mf="time update";v.li="duration update";v.Qwa="size update";
v.zj="end";return v});define("dt",["require"],function(){return function(a){this.cue=a;this.text=a.text}});define("mp",["require"],function(){function a(){this.Rm=this.src=l;this.Yu=B;this.gain=1}a.prototype.clone=function(){var b=new a;b.src=this.src;b.Rm=this.Rm;b.Yu=this.Yu;b.gain=this.gain;return b};return a});
define("bR","require,kL,dZ,nV,kn,cu,fQ,le,u,lG,no,nu".split(","),function(a){function b(a){this.sI=a;this.ka=r;this.EA=(new Date).getTime()}var e=a("kL"),d=a("dZ"),g=a("nV"),c=a("kn"),i=a("cu"),f=a("fQ"),j=a("le"),n=a("u"),k=a("lG"),o=a("no"),p=a("nu");b.prototype.w$=function(){return this.ka==r};b.prototype.$W=function(){return this.sI.$W()};b.prototype.dY=function(){return this.sI.dY()};b.prototype.item=S("ka");b.prototype.TOa=function(){this.ka.G$(this.sI);this.ka=r};b.prototype.mUa=function(a){this.ka=
a;this.ka.F9(this.sI);this.EA=(new Date).getTime()};var q=e.extend(f,function(){f.call(this);this.vr=[];for(var a=k.Ara("avs",10),d=k.Ara("avpas",j.cOa()?4:1),i=0;i<a;i++)this.vr.push(new b(new o(p.Ml,i<d)));this.Fe=[];this.o=c.M});q.prototype.hH=function(){return this.Dha().length>0};q.prototype.tX=function(a){this.Fe=[a].concat(d(this.Fe).without(a));this.n5()};q.prototype.n9=function(a){this.Fe.push(a);this.n5()};q.prototype.rH=function(a){this.Fe=d(this.Fe).without(a);this.n5()};q.prototype.n5=
function(){var a=this.qEa();if(q.osa())for(;this.vr.length<a.length;)this.vr.push(new b(new o(p.Ml,B)));this.Dha().forEach(function(b){a.indexOf(b.item())<0&&b.TOa()});this.hc(a.length>0?c.Q:c.M);a.forEach(function(a){if(!this.SDa(a)){var c=this.HDa(a.xX());!c&&!a.xX()&&this.vr.push(c=new b(new o(p.Ml,B)));c&&c.mUa(a)}}.bind(this));this.IDa().forEach(function(a){a.sI.stop()})};q.prototype.qEa=function(){return this.Fe.map(function(a,b){var c={};c.index=b;c.Ge=a.f$();c.item=a;return c}).sort(function(a,
b){return a.Ge-b.Ge||a.index-b.index}).map(function(a){return a.item})};q.prototype.hc=function(a){if(this.o!=a){this.o=a;this.trigger(new i(this.o==c.M?g.$f:g.Ns))}};q.prototype.HDa=function(a){var b=this.vr.filter(function(a){return a.w$()});if(b.length){if(a){a=b.filter(function(a){return a.$W()});a.length||(a=b.filter(function(a){return a.dY()}))}else{a=b.filter(function(a){return!a.dY()});a.length||(a=b.filter(function(a){return!a.$W()}))}a.length&&(b=a);if(n.browser()==n.Hl){b.sort(function(a,
b){return b.EA-a.EA});return b[Math.min(2,b.length-1)]}return b[0]}return r};q.prototype.IDa=function(){return this.vr.filter(function(a){return a.w$()})};q.prototype.Dha=function(){return this.vr.filter(function(a){return!a.w$()})};q.prototype.SDa=function(a){for(var b=0;b<this.vr.length;b++)if(this.vr[b].item()==a)return this.vr[b];return r};q.k3=r;q.bind=function(){var a=q.Qh();a.bind.apply(a,arguments)};q.unbind=function(){var a=q.Qh();a.unbind.apply(a,arguments)};var t=[n.UC,n.xv].indexOf(n.ad())>=
0;q.osa=function(){return t};q.hH=function(){return q.Qh().hH()};q.n9=function(a){q.Qh().n9(a)};q.tX=function(a){q.Qh().tX(a)};q.rH=function(a){q.Qh().rH(a)};q.lt=function(){if(q.k3===r)q.k3=new q;return q.k3};q.Qh=q.lt;q.lt();return q});
define("D","require,kL,cu,fQ,nV,kn,no,dt,mp,nu,bR,bf,le".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("nV"),c=a("kn"),i=a("no"),f=a("dt"),j=a("mp"),n=a("nu"),k=a("bR"),o=a("bf"),p=a("le"),q=b.extend(d,function(a,b,f){d.call(this);this.Pa=a;this.n=b;this.lr=f;this.j=r;this.dM();this.HS=this.HS.bind(this);this.n.bind(g.u("gain"),this.dF,this,m);this.n.bind(g.u("mp3Url"),this.fp,this,m);this.n.bind(g.u("oggUrl"),this.fp,this,m);this.o=c.M;this.Kk=B;this.qw=this.ab=0;this.Le=B;this.Op=
1;this.hJ=B;this.rE=1;this.$c=r;this.Dq=[]});q.prototype.tb=S("Pa");q.prototype.wd=function(a){if(this.o!=a&&!(a==c.Db&&this.o!=c.Q)){this.o=a;if(this.o==c.Q){this.lAa();k.tX(this)}else this.PKa();this.Q7()}};q.prototype.PKa=function(){if(!this.hJ){this.hJ=m;this.zga=this.n.get("fadeOutTime");this.zga==0?this.boa():this.HS(0)}};q.prototype.HS=function(a){if(!this.$c||this.rE==0||!this.hJ||this.AFa())this.boa();else{this.rE=Math.max(0,this.rE-a/this.zga);this.LP();o.vb(this.HS)}};q.prototype.lAa=function(){this.hJ=
B;this.rE=1;this.LP()};q.prototype.boa=function(){this.hJ=B;this.rE=1;if(this.$c){k.rH(this);this.o==c.M&&this.O6()}};q.prototype.mg=S("o");q.prototype.Fi=S("ab");q.prototype.BC=function(a){this.qw=a;this.$c&&this.$c.play(this.Pa,this.j,this.qw)};q.prototype.rl=S("qw");q.prototype.mv=function(a){this.Op=a;this.LP()};q.prototype.LP=function(){this.$c&&this.$c.mv(this.Op*this.rE)};q.prototype.kf=function(a){this.Le=a;this.$c&&this.$c.kf(a)};q.prototype.setLoop=function(a){this.Kk=a;this.$c&&this.$c.setLoop(a)};
q.prototype.xX=function(){return!this.Le};q.prototype.ue=function(){return n.twa};q.prototype.f$=S("lr");q.prototype.F9=function(a){this.$c=a;setTimeout(function(){this.$c&&this.$c.bind(i.zj,this.CK,this,m)}.bind(this),0);this.dM();this.$c.bind(i.mf,this.Ce,this,m);this.$c.bind(i.li,this.qm,this,m);this.$c.bind(g.tk,this.Zh,this,m);this.$c.kf(this.Le);this.LP();this.$c.setLoop(this.Kk);this.$c.play(this.Pa,this.j,this.qw)};q.prototype.G$=function(){this.qw=this.$c.rl();this.$c.unbind(i.zj,this.CK,
this,m);this.$c.unbind(i.mf,this.Ce,this,m);this.$c.unbind(i.li,this.qm,this,m);this.$c.unbind(g.tk,this.Zh,this,m);this.$c=r};q.prototype.clear=function(){this.wd(c.M);if(this.n){this.n.unbind(g.u("gain"),this.dF,this,m);this.n.unbind(g.u("mp3Url"),this.fp,this,m);this.n.unbind(g.u("oggUrl"),this.fp,this,m);this.n=r}};q.prototype.fp=function(){this.fB&&clearTimeout(this.fB);this.fB=setTimeout(function(){this.fB=r;if(this.$c){this.j.src=this.Hw(this.n);this.$c.play(this.Pa,this.j,this.qw)}}.bind(this),
10)};q.prototype.dF=function(){if(this.$c){var a=this.n.get("gain");if(this.j.gain!=a){this.j.gain=a;this.$c.tO(this.j.gain)}}};q.prototype.dM=function(){this.j=new j;this.j.src=this.Hw(this.n);this.j.Yu=m;this.j.gain=this.n.get("gain")};q.prototype.Hw=function(a){var b=a.get("mp3Url");if(b&&p.usa)return b;return(a=a.get("oggUrl"))&&p.vsa?a:b||a};q.prototype.qm=function(){this.ab=this.$c.Fi();this.L7()};q.prototype.Ce=function(){this.ab!=this.$c.Fi()&&this.qm();this.qw=this.$c.rl();this.KM()};q.prototype.Zh=
function(){this.Dq=this.$c.GN().map(function(a){for(var b=r,c=0;c<this.Dq.length&&!b;c++)this.Dq[c].cue==a&&(b=this.Dq[c]);b||(b=new f(a));return b}.bind(this));this.trigger(new e(g.tk))};q.prototype.CK=function(){this.wd(c.M);this.M7()};q.prototype.AFa=function(){return this.$c&&this.$c.rl()&&this.$c.rl()==this.$c.Fi()};q.prototype.O6=function(){this.qw=0;this.KM()};q.prototype.KM=function(){this.trigger(new e(q.mf))};q.prototype.L7=function(){this.trigger(new e(q.li))};q.prototype.M7=function(){this.trigger(new e(g.hb))};
q.prototype.Q7=function(){this.trigger(new e(g.Yd))};q.mf="time update";q.li="duration update";return q});
define("iE","require,nV,hA,kn,ll,cu,mR,D".split(","),function(a){var b=a("nV"),e=a("hA"),d=a("kn"),g=a("ll"),c=a("cu"),i=a("mR"),f=a("D"),a=i.G("Audio",g,function(a){g.call(this);this.lr=a||e.Pxa;this.Do=l});a.prototype.aC=function(){if(this.Do==l){var a=this.get("audio");if(a){this.Do=new f(this.get("application"),a,this.lr);a=function(){this.Do.setLoop(this.get("loop",B))};a.call(this);this.bind(b.u("loop"),a,this);a=function(){this.Do.kf(this.get("application").get("mute",B))};a.call(this);this.get("application").bind(b.u("mute"),
a,this,m);a=function(){this.set("state",this.Do.mg())};a.call(this);this.Do.bind(b.Yd,a,this,m);this.Do.bind(b.hb,this.yGa,this,m)}else this.Do=r}return this.Do};a.prototype.set=function(a,f){if(a=="state"){var i=this.get("state")||d.M,e=this.Do&&this.Do.mg()||d.M;if(e!=i){i==d.M&&e==d.Q&&this.trigger(b.Ns);this.trigger(new c(b.Yd,{oldState:i,state:e}))}}g.prototype.set.call(this,a,f)};a.prototype.$r=function(){return[]};a.prototype.yGa=function(){this.trigger(new c(b.hb))};a.prototype.play=a.prototype.Wj=
function(){var a=this.aC();a&&a.wd(d.Q)};a.prototype.stop=a.prototype.Mn=function(){var a=this.aC();a&&a.wd(d.M)};a.prototype.pause=a.prototype.lp=function(){var a=this.aC();a&&a.wd(d.Db)};return a});define("iv",["require","mR","iE"],function(a){var b=a("mR"),e=a("iE");return b.G("MediaAudio",e,function(a){e.call(this,a)})});define("os",["require","hA","mR","iv"],function(a){var b=a("hA"),e=a("mR"),d=a("iv");return e.G("PanoramaAudio",d,function(){d.call(this,b.vxa)})});
define("gN",["require","mR","os"],function(a){var b=a("mR"),e=a("os");return b.G("DirectionalPanoramaAudio",e,function(){e.call(this)})});define("eX",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("Model3DCameraMovement",b,function(){b.call(this)})});define("hL",["require","mR","eX"],function(a){var b=a("mR"),e=a("eX");return b.G("DistanceModel3DCameraMovement",e,function(){e.call(this)})});
define("G",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("DistancePanoramaCameraMovement",b,function(){b.call(this)})});define("gs",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("DistanceRotationalCameraMovement",b,function(){b.call(this)})});
define("x","require,dZ,nV,kL,cu,fQ".split(","),function(a){function b(a,b,f,j,n){this.hm=r;this.l4=a;this.$e=d.u(this.l4);this.B2=b;this.ha=f||window;this.c3=j;this.jja=n;this.o3=B}var e=a("dZ"),d=a("nV"),g=a("kL");a("cu");a("fQ");b.prototype.unwatch=function(){this.m6(r)};b.prototype.m6=function(a){e(this.mha()).each(function(a){a&&a.unbind(this.$e,this.Zea,this)},this);this.hm=a;e(this.mha()).each(function(a){a&&a.bind(this.$e,this.Zea,this,this.c3)},this);this.xma()};b.prototype.mha=function(){return this.hm?
e(this.hm).isArray()?this.hm:[this.hm]:[]};b.prototype.xma=function(){this.jja&&this.jja.m6(this.NDa())};b.prototype.NDa=function(){return this.hm==r?r:e(this.hm).isArray()?e(this.hm).map(function(a){return a?a.get(this.l4):r},this):this.hm.get(this.l4)};b.prototype.Zea=function(a){if(!this.o3){try{this.o3=m;this.xma();this.B2.call(this.ha,a)}catch(b){g.dX("ChangeWatcher._changeHandler",b)}this.o3=B}};b.watch=function(a,d,f,j,n){e.isString(d)&&(d=d.split("."));typeof n=="undefined"&&(n=B);if(d.length>
0){d=new b(d[0],f,j,n,b.watch(r,d.slice(1),f,j,n));d.m6(a);return d}return r};return b});
define("om",["require","jquery.mod","kL","nV","e"],function(a){var b=a("jquery.mod"),e=a("kL"),d=a("nV"),g=a("e"),c=e.extend(g,function(){g.call(this);this.ie("DropDownArrow");this.I=r;this.jt=m;this.bind(d.uc,this.wCa,this)});c.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("color","#000000");this.f("direction",c.tY)};c.prototype.wCa=function(){this.jt=m;this.Wd()};c.prototype.kb=function(){g.prototype.kb.call(this);this.I||(this.I=b("<canvas/>"),this.I.css({position:"absolute",left:0,
top:0}),this.sb().append(this.I))};c.prototype.Ja=function(){var a=B;this.v("color")&&(a=m,this.H("color"));this.v("direction")&&(a=m,this.H("direction"));this.jt&&(a=m,this.jt=B);if(a){var a=this.Re(),b=this.Qe(),d=this.p("color"),n=this.p("direction"),e=[0.5*a,0,a],n=n==c.tY?[b,0,0]:[0,b,b],o=this.I.get(0);o.width=a;o.height=b;o=o.getContext("2d");o.clearRect(0,0,a,b);o.beginPath();o.moveTo(e[0],n[0]);o.lineTo(e[1],n[1]);o.lineTo(e[2],n[2]);o.fillStyle=d;o.fill()}g.prototype.Ja.call(this)};c.tY=
"down";c.xUa="up";return c});
define("hh","require,kL,cu,mn,bb,nV,d,gp,ns,om,ix".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("mn"),g=a("bb"),c=a("nV"),i=a("d"),f=a("gp"),j=a("ns"),n=a("om"),k=a("ix"),a=b.extend(j,function(){j.call(this);this.ie("DropDownButton");this.Uv=this.Ia=r;this.F3=m;this.set("autoRolledOver",m);this.set("autoPressed",m);this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m);this.set("cursor",g.vf);this.bind(c.oa,this.n1,this)});a.prototype.Ya=function(){j.prototype.Ya.call(this);this.f("arrowColor",
"#000000");this.f("arrowBeforeLabel");this.f("arrowWidth",9);this.f("arrowHeight",5);this.f("arrowGap",5);this.f("shadow",B);this.f("layout",i.sg);this.f("verticalAlign",d.Sd);this.f("borderRadius",5);this.f("borderColor","#AAAAAA");this.f("borderSize",1);this.f("backgroundColor",["#FAFAFA","#E5E5E5"]);this.f("backgroundColorRatios",[0,1]);this.f("backgroundColorDirection","vertical");this.f("paddingLeft",5);this.f("paddingTop",5);this.f("paddingRight",5);this.f("paddingBottom",5);this.f("fontFamily");
this.f("fontSize");this.f("fontColor","#555555");this.f("fontWeight");this.f("fontStyle");this.f("textDecoration");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowVerticalLength");this.f("textShadowBlurRadius");this.f("textShadowOpacity");this.m("rollOverBorderColor",f.O,"borderColor");this.m("rollOverArrowColor",f.O,"arrowColor");this.m("rollOverBackgroundColor",f.O,"backgroundColor");this.m("rollOverBackgroundColorRatios",f.O,"backgroundColorRatios");this.m("rollOverShadow",
f.O,"shadow");this.m("pressedBorderColor",f.Za,"borderColor");this.m("pressedArrowColor",f.Za,"arrowColor");this.m("pressedBackgroundColor",f.Za,"backgroundColor");this.m("pressedBackgroundColorRatios",f.Za,"backgroundColorRatios");this.m("pressedShadow",f.Za,"shadow");this.m("pressedRollOverBorderColor",f.Ob,"borderColor");this.m("pressedRollOverArrowColor",f.Ob,"arrowColor");this.m("pressedRollOverBackgroundColor",f.Ob,"backgroundColor");this.m("pressedRollOverBackgroundColorRatios",f.Ob,"backgroundColorRatios");
this.m("pressedRollOverShadow",f.Ob,"shadow");this.m("pressedBorderColor",f.U,"borderColor");this.m("pressedArrowColor",f.U,"arrowColor");this.m("pressedBackgroundColor",f.U,"backgroundColor");this.m("pressedBackgroundColorRatios",f.U,"backgroundColorRatios");this.m("pressedShadow",f.U,"shadow")};a.prototype.set=function(a,b){if(a=="label"&&this.get("label")!=b){this.F3=m;this.Wd()}j.prototype.set.call(this,a,b)};a.prototype.kb=function(){j.prototype.kb.call(this);if(!this.Ia){this.Ia=new k;this.Ia.set("width",
"100%");this.La(this.Ia)}if(!this.Uv){this.Uv=new n;this.Uv.set("direction",n.tY);this.La(this.Uv)}};a.prototype.n1=function(){this.open();this.trigger(new e(c.OPEN))};a.prototype.open=function(){this.unbind(c.oa,this.n1,this);this.$L(m)};a.prototype.close=function(){this.bind(c.oa,this.n1,this);this.$L(B)};a.prototype.Ja=function(){if(this.F3){this.Ia.set("text",this.get("label"));this.F3=B}this.Vb(["horizontalAlign","fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","textShadowColor",
"textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],{},[this.Ia],m,m);if(this.v("arrowGap")){this.set("gap",this.p("arrowGap"));this.H("arrowGap")}if(this.v("arrowColor")){this.Uv.set("color",this.p("arrowColor"));this.H("arrowColor")}if(this.v("arrowBeforeLabel")){this.p("arrowBeforeLabel")==m?this.Om(this.Uv,0):this.Om(this.Ia,0);this.H("arrowBeforeLabel")}if(this.v("arrowWidth")){this.Uv.set("width",this.p("arrowWidth"));this.H("arrowWidth")}if(this.v("arrowHeight")){this.Uv.set("height",
this.p("arrowHeight"));this.H("arrowHeight")}j.prototype.Ja.call(this)};return a});define("gV",["require","dZ","kL","ns","d"],function(a){var b=a("dZ"),e=a("kL"),d=a("ns"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.hh};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.ln(g.fc)};return g});
define("kS","require,kL,cu,mn,bb,hn,nV,ns,gV,ix".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("mn"),g=a("bb"),c=a("hn"),i=a("nV"),f=a("ns"),j=a("gV"),n=a("ix"),a=b.extend(f,function(){f.call(this);this.ie("DropDownPopup");this.Md=r;this.TP=B;this.jb=r;this.RJ=[];this.Vx=m});a.prototype.open=function(a){this.Md=a;this.TP=m;this.tb().Om(this,this.tb().zb().length-1);this.set("overIndex",-1);this.set("visible",m);this.bind(i.Hb,this.Cd,this);this.tb().bind(i.ic,this.Pk,this);this.tb().bind(i.uc,
this.Sb,this)};a.prototype.close=function(){this.Md=r;this.TP=m;this.set("visible",B);this.jb.set("overflow",c.sD);this.jb.set("contentOpaque",m);this.unbind(i.Hb,this.Cd,this);this.tb().unbind(i.ic,this.Pk,this);this.tb().bind(i.uc,this.Sb,this)};a.prototype.kb=function(){f.prototype.kb.call(this);if(!this.jb){this.jb=new j;this.jb.set("overflow",c.sD);this.jb.bind(i.uc,this.Sb,this);this.jb.bind(i.zo,this.Lx,this);this.La(this.jb)}};a.prototype.Sb=function(){this.mpa()};a.prototype.Cd=function(){this.v6=
B};a.prototype.Lx=function(){this.v6=m};a.prototype.Pk=function(){this.get("overIndex")==-1&&(!this.v6||!this.tn)&&this.trigger(new e(i.VC));this.v6=B};a.prototype.NGa=function(a){this.set("overIndex",this.l2(a.source))};a.prototype.OGa=function(a){a=this.l2(a.source);this.get("overIndex")==a&&this.set("overIndex",-1)};a.prototype.MGa=function(a){a=this.l2(a.source);this.set("overIndex",a);this.set("selectedIndex",a);this.trigger(new e(i.$m))};a.prototype.l2=function(a){for(var b=0;b<this.RJ.length;b++)if(this.RJ[b]==
a)return b;return-1};a.prototype.Ya=function(){f.prototype.Ya.call(this);this.f("visible",B);this.f("width","100%");this.f("height","100%");this.f("includeInLayout",B);this.f("items",[]);this.f("selectedIndex",-1);this.f("overIndex",-1);this.f("popUpGap",0);this.f("popUpBackgroundColor");this.f("popUpBackgroundOpacity");this.f("rollOverPopUpBackgroundColor");this.f("selectedPopUpBackgroundColor");this.f("popUpFontColor");this.f("rollOverPopUpFontColor");this.f("selectedPopUpFontColor");this.f("popUpShadow",
m);this.f("popUpShadowBlurRadius");this.f("popUpShadowColor");this.f("popUpShadowHorizontalLength");this.f("popUpShadowOpacity");this.f("popUpShadowSpread");this.f("popUpShadowVerticalLength");this.f("fontFamily");this.f("fontSize");this.f("fontWeight");this.f("fontStyle");this.f("textDecoration");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowVerticalLength");this.f("textShadowBlurRadius");this.f("textShadowOpacity");this.f("buttonWidth")};a.prototype.Ja=function(){var a=
B,b=B;if(this.v("items")){for(var a=this.p("items")||[],c=this.RJ.length;c<a.length;c++){var d=new n;d.Y({width:"100%",paddingLeft:5,paddingRight:5,paddingBottom:2,paddingTop:2,cursor:g.vf});d.bind(i.ez,this.NGa,this);d.bind(i.wo,this.OGa,this);d.bind(i.oa,this.MGa,this);this.RJ.push(d)}d=this.jb.zb();for(c=a.length;c<d.length;c++)this.jb.removeChild(d[c]);for(c=d.length;c<a.length;c++)this.jb.La(this.RJ[c]);for(c=0;c<a.length;c++)d[c].set("text",a[c]);this.H("items");b=a=m}if(this.v("selectedIndex")){this.H("selectedIndex");
a=m}for(var j=["horizontalAlign","popUpBackgroundOpacity","popUpPaddingBottom","popUpPaddingLeft","popUpPaddingRight","popUpPaddingTop","fontFamily","fontSize","fontWeight","fontStyle","textDecoration","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],c=0;c<j.length;c++){d=j[c];if(this.v(d)){this.H(d);b=m}}if(b){j={fontFamily:this.p("fontFamily"),fontSize:this.p("fontSize"),fontWeight:this.p("fontWeight"),fontStyle:this.p("fontStyle"),
horizontalAlign:this.p("horizontalAlign"),textDecoration:this.p("textDecoration"),textShadowColor:this.p("textShadowColor"),textShadowHorizontalLength:this.p("textShadowHorizontalLength"),textShadowVerticalLength:this.p("textShadowVerticalLength"),textShadowBlurRadius:this.p("textShadowBlurRadius"),textShadowOpacity:this.p("textShadowOpacity"),paddingBottom:this.p("popUpPaddingBottom"),paddingLeft:this.p("popUpPaddingLeft"),paddingRight:this.p("popUpPaddingRight"),paddingTop:this.p("popUpPaddingTop"),
backgroundOpacity:this.p("popUpBackgroundOpacity")};d=this.jb.zb();for(c=0;c<d.length;c++)d[c].Y(j)}j=["selectedIndex","overIndex","popUpBackgroundColor","rollOverPopUpBackgroundColor","selectedPopUpBackgroundColor","popUpFontColor","rollOverPopUpFontColor","selectedPopUpFontColor"];for(c=0;c<j.length;c++){d=j[c];if(this.v(d)){this.H(d);a=m}}if(a)for(var a=this.p("popUpBackgroundColor"),j=this.p("rollOverPopUpBackgroundColor")||a,b=this.p("selectedPopUpBackgroundColor")||a,e=this.p("popUpFontColor"),
u=this.p("rollOverPopUpFontColor")||e,w=this.p("selectedPopUpFontColor")||e,v=this.p("selectedIndex"),x=this.p("overIndex"),d=this.jb.zb(),c=0;c<d.length;c++)c==v?d[c].Y({fontColor:w,backgroundColor:b}):c==x?d[c].Y({fontColor:u,backgroundColor:j}):d[c].Y({fontColor:e,backgroundColor:a});if(this.TP||this.v("popUpGap")||this.v("buttonWidth")){this.Md&&this.jb.set("minWidth",this.Md.Ra());this.H("popUpGap");this.mpa();this.TP=B}this.Vb(["popUpShadow","popUpShadowBlurRadius","popUpShadowColor","popUpShadowHorizontalLength",
"popUpShadowOpacity","popUpShadowSpread","popUpShadowVerticalLength"],{popUpShadow:"shadow",popUpShadowBlurRadius:"shadowBlurRadius",popUpShadowColor:"shadowColor",popUpShadowHorizontalLength:"shadowHorizontalLength",popUpShadowOpacity:"shadowOpacity",popUpShadowSpread:"shadowSpread",popUpShadowVerticalLength:"shadowVerticalLength"},[this.jb],m,m);this.Toa();f.prototype.Ja.call(this)};a.prototype.mpa=function(){if(this.Md){var a=this.tb(),b=this.Md.GPa(a),f=this.Md.Ra(),j=this.Md.yb(),i=this.p("popUpGap"),
n=this.jb.qb,g=this.jb.Ib,e=a.yb()-(b.top+j+i)-5,v=b.top-5-i,x=this.p("horizontalAlign");if(g<=e){this.Vx=m;this.jb.set("top",b.top+j+i);this.jb.set("maxHeight",l);this.jb.set("overflow",c.sD)}else if(g<=v){this.Vx=B;this.jb.set("top",b.top-g-i);this.jb.set("maxHeight",l);this.jb.set("overflow",c.sD)}else{if(e>=v){this.Vx=m;this.jb.set("top",b.top+j+i);this.jb.set("maxHeight",e)}else{this.Vx=B;this.jb.set("top",b.top-v+i);this.jb.set("maxHeight",v)}this.jb.set("overflow",c.zo)}j=x==d.ke?b.left+Math.round((f-
n)*0.5):x==d.Va?b.left+f-n:b.left;j<0?j=b.left:b.left+n>a.Ra()&&(j=b.left+f-n);this.jb.set("left",j);this.Toa()}};a.prototype.Toa=function(){var a=this.p("popUpBorderRadius");this.jb.Y({borderTopRadius:this.Vx?0:a,borderBottomRadius:this.Vx?a:0});for(var b=this.jb.zb(),c=0;c<b.length;c++){var f=c==0,d=c==b.length-1;b[c].Y({borderTopRadius:!this.Vx&&f?a:0,borderBottomRadius:this.Vx&&d?a:0})}};return a});
define("of","require,kL,cu,nV,ns,hh,kS".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("nV"),g=a("ns"),c=a("hh"),i=a("kS"),a=b.extend(g,function(){g.call(this);this.ie("DropDown");this.HJ=B;this.Md=this.gj=r;this.Jna=m;this.Oe=-1;this.Rn=B});a.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("prompt","");this.f("label","");this.f("items",[]);this.f("selectedIndex",-1);this.f("arrowBeforeLabel");this.f("arrowWidth",9);this.f("arrowHeight",5);this.f("arrowGap",5);this.f("borderRadius",5);
this.f("borderSize",1);this.f("backgroundColorDirection","vertical");this.f("horizontalAlign","left");this.f("paddingLeft",5);this.f("paddingTop",5);this.f("paddingRight",5);this.f("paddingBottom",5);this.f("fontFamily");this.f("fontSize");this.f("fontColor","#555555");this.f("fontWeight");this.f("fontStyle");this.f("textDecoration");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowVerticalLength");this.f("textShadowBlurRadius");this.f("textShadowOpacity");this.f("popUpGap",
0);this.f("popUpBorderRadius");this.f("popUpPaddingBottom",2);this.f("popUpPaddingLeft",5);this.f("popUpPaddingRight",5);this.f("popUpPaddingTop",2);this.f("popUpShadow",m);this.f("popUpShadowBlurRadius");this.f("popUpShadowColor");this.f("popUpShadowHorizontalLength");this.f("popUpShadowOpacity");this.f("popUpShadowSpread");this.f("popUpShadowVerticalLength");this.f("popUpBackgroundColor","#FFFFFF");this.f("popUpBackgroundOpacity");this.f("rollOverPopUpBackgroundColor");this.f("selectedPopUpBackgroundColor");
this.f("popUpFontColor","#555555");this.f("rollOverPopUpFontColor");this.f("selectedPopUpFontColor");this.f("borderColor","#AAAAAA");this.f("arrowColor","#000000");this.f("backgroundColor",["#FAFAFA","#E5E5E5"]);this.f("backgroundColorRatios",[0,1]);this.f("shadow",B);this.f("rollOverBorderColor");this.f("rollOverArrowColor");this.f("rollOverBackgroundColor");this.f("rollOverBackgroundColorRatios");this.f("rollOverShadow");this.f("pressedBorderColor");this.f("pressedArrowColor");this.f("pressedBackgroundColor");
this.f("pressedBackgroundColorRatios");this.f("pressedShadow");this.f("pressedRollOverBorderColor");this.f("pressedRollOverArrowColor");this.f("pressedRollOverBackgroundColor");this.f("pressedRollOverBackgroundColorRatios");this.f("pressedRollOverShadow")};a.prototype.kb=function(){g.prototype.kb.call(this);if(!this.Md){this.Md=new c;this.Md.bind(d.uc,this.DGa,this);this.Md.bind(d.OPEN,this.ZGa,this);this.Md.bind(d.VC,this.w4,this);this.Md.bind(d.cd,this.CGa,this);this.Md.set("width","100%");this.Md.set("height",
"100%");this.La(this.Md)}if(!this.gj){this.gj=new i;this.gj.bind(d.VC,this.w4,this);this.gj.bind(d.$m,this.oHa,this);this.tb().La(this.gj)}};a.prototype.DGa=function(){this.Jna=m;this.Wd()};a.prototype.ZGa=function(){this.Md.open();this.gj.set("selectedIndex",this.get("selectedIndex"));this.gj.open(this.Md)};a.prototype.w4=function(){this.Md.close();this.gj.close()};a.prototype.CGa=function(){this.Md.close();this.gj.close()};a.prototype.oHa=function(){this.set("selectedIndex",this.gj.get("selectedIndex"));
this.w4();this.Rn=m};a.prototype.Ja=function(){var a=B;if(this.v("prompt")||this.v("label")){a=m;this.H("label");this.H("prompt")}if(this.v("selectedIndex")||this.v("items")){var a=m,b=this.p("selectedIndex"),c=this.p("items");b>=0&&b>=c.length&&(b=-1);this.set("selectedIndex",b);this.gj.set("items",this.p("items"));this.gj.set("selectedIndex",this.p("selectedIndex"));this.H("items");this.H("selectedIndex");if(this.Rn){this.Rn=B;this.trigger(new e(d.ra))}}if(a){a=this.p("label");if(!a){b=this.p("selectedIndex");
a=b<0?this.p("prompt"):this.p("items")[b]}this.Md.set("label",a)}if(this.Jna){this.gj.set("minWidth",this.Md.Ra());this.gj.set("buttonWidth",this.Md.Ra())}this.Vb(["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","horizontalAlign","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],{},[this.Md,this.gj],m,m);this.Vb(["popUpBorderRadius","popUpGap","popUpPaddingBottom","popUpPaddingLeft","popUpPaddingRight",
"popUpPaddingTop","popUpBackgroundColor","popUpBackgroundOpacity","rollOverPopUpBackgroundColor","selectedPopUpBackgroundColor","popUpFontColor","rollOverPopUpFontColor","selectedPopUpFontColor","popUpShadow","popUpShadowBlurRadius","popUpShadowColor","popUpShadowHorizontalLength","popUpShadowOpacity","popUpShadowSpread","popUpShadowVerticalLength"],{},[this.gj],m,m);this.Vb(["arrowBeforeLabel","arrowWidth","arrowHeight","arrowColor","rollOverArrowColor","pressedArrowColor","pressedRollOverArrowColor",
"arrowGap","shadow","shadowBlurRadius","shadowColor","shadowHorizontalLength","shadowOpacity","shadowSpread","shadowVerticalLength","borderRadius","borderTopRadius","borderBottomRadius","borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize","borderColor","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","rollOverBorderColor",
"pressedBorderColor","pressedRollOverBorderColor","backgroundColor","backgroundColorRatios","backgroundColorDirection","backgroundOpacity","rollOverBackgroundColor","rollOverBackgroundColorRatios","rollOverShadow","pressedBackgroundColor","pressedBackgroundColorRatios","pressedShadow","pressedRollOverBackgroundColor","pressedRollOverBackgroundColorRatios","pressedRollOverShadow","paddingLeft","paddingTop","paddingRight","paddingBottom"],{},[this.Md],m,m);g.prototype.Ja.call(this)};return a});
define("fq",["require","x","nV","mR","of"],function(a){var b=a("x"),e=a("nV"),d=a("mR"),g=a("of"),a=d.G("DropDown",g,function(){g.call(this);this.Zc=r;this.wia=[];this.bind(e.ra,this.GGa,this)});a.prototype.set=function(a,d){if("playList"==a){if(this.Zc)for(this.Zc.unbind("change",this.gu,this);this.wia.length;)this.wia.shift().unwatch();(this.Zc=d)?(b.watch(this.Zc,"items.label",this.pV,this),b.watch(this.Zc,"items.media.label",this.pV,this),this.pV(),this.Zc.bind("change",this.gu,this),this.gu()):
this.pV()}g.prototype.set.call(this,a,d)};a.prototype.pV=function(){this.Zc?this.set("items",this.Zc.get("items").map(function(a){return a.get("label")||a.get("media")&&a.get("media").get("label")})):this.set("items",[])};a.prototype.gu=function(){this.set("selectedIndex",this.Zc.get("selectedIndex"))};a.prototype.GGa=function(){this.Zc&&this.Zc.set("selectedIndex",this.get("selectedIndex"))};return a});
define("di",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("DustPanoramaOverlay",b,function(){b.call(this)});a.prototype.get=function(a,d){"startState"==a&&d===l&&(d=this.get("initialState"));return b.prototype.get.call(this,a,d)};return a});
define("bz",["require","mR","ej"],function(a){var b=a("mR"),e=a("ej"),a=b.G("Effect",e,function(){e.call(this)});a.prototype.cancel=function(){return e.prototype.cancel.apply(this,arguments)};a.prototype.getPosition=function(){return e.prototype.pk.apply(this,arguments)};a.prototype.play=function(){return e.prototype.play.apply(this,arguments)};a.prototype.reverse=function(){return e.prototype.reverse.apply(this,arguments)};a.prototype.stop=function(){return e.prototype.stop.apply(this,arguments)};
return a});define("jn",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("ExternalModel3DObject",e,function(){e.call(this)})});
define("bm",["require","kL","ej"],function(a){var b=a("kL"),e=a("ej"),a=b.extend(e,function(){e.call(this);this.j_=this.i_=r});a.prototype.YF=function(){e.prototype.YF.call(this);this.i_=[];this.j_=[];this.yw(function(a){this.i_.push(this.get("alphaFrom",a.nk()));this.j_.push(this.get("alphaTo",a.nk()))});this.$T()};a.prototype.zu=function(){e.prototype.zu.call(this);this.$T()};a.prototype.$T=function(){this.yw(function(a,b){var c=this.i_[b],c=c+(this.j_[b]-c)*this.pk(),i=0<a.nk()&&a.eb;!i&&0<c?(a.Ji(0),
a.Hf(m),a.Ji(c)):0==c?(a.Hf(B),a.Ji(1)):a.Ji(c)})};a.prototype.WF=function(){this.$T();e.prototype.WF.call(this)};a.prototype.XF=function(){this.$T();e.prototype.XF.call(this)};return a});define("mJ",["require","kL","bm"],function(a){var b=a("kL"),e=a("bm");return b.extend(e,function(){e.call(this);this.set("alphaFrom",0);this.set("alphaTo",1)})});define("mV",["require","mR","mJ"],function(a){var b=a("mR"),e=a("mJ");return b.G("FadeInEffect",e,function(){e.call(this)})});
define("nb",["require","kL","bm"],function(a){var b=a("kL"),e=a("bm");return b.extend(e,function(){e.call(this);this.set("alphaFrom",1);this.set("alphaTo",0)})});define("ji",["require","mR","nb"],function(a){var b=a("mR");BaseFadeOutEffect=a("nb");return b.G("FadeOutEffect",BaseFadeOutEffect,function(){BaseFadeOutEffect.call(this)})});
define("fE","require,ll,nV,kn,mR,kO".split(","),function(a){var b=a("ll"),e=a("nV"),d=a("kn"),g=a("mR"),c=a("kO"),a=g.G("Model3DCamera",b,function(){b.call(this);this.set("userInteracting",B);this.set("moving",B);["distance","fov","yaw","pitch","userInteracting","x","y","z"].forEach(function(a){this.bind(e.u(a),this.hHa,this,m)}.bind(this))});a.prototype.PTa=function(){this.foa={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.sKa=function(a){for(var b in a)this.foa[b]=a[b]};a.prototype.hHa=function(){if(!this.Dla){this.Dla=m;c.uy(function(){this.Dla=B;this.YLa()}.bind(this))}};a.prototype.YLa=function(){this.trigger(e.Js)};a.IUa=100;a.prototype.setStoredPosition=function(a){this.sKa(a)};a.prototype.play=function(){this.set("state",d.Q)};a.prototype.pause=function(){this.set("state",d.Db)};a.prototype.stop=function(){this.set("state",d.M)};return a});
define("kf",["require","mR","fE"],function(a){var b=a("mR"),e=a("fE");return b.G("FirstPersonModel3DCamera",e,function(){e.call(this);this.set("distance",0)})});
define("cG",["require","ll","nV","mR","ej"],function(a){var b=a("ll"),e=a("nV"),d=a("mR"),g=a("ej"),a=d.G("HotspotPanoramaOverlay",b,function(){b.call(this);this.bind(e.Wc,this.Tj,this,m);this.bind(e.cd,this.Pj,this,m);this.Mh=[];this.eb=B});a.prototype.set=function(a,d){switch(a){case "enabledInCardboard":this.set("enabledInVR",d);break;case "effect":case "rollOverEffect":case "areas":this.zIa(),this.Mh=[]}b.prototype.set.call(this,a,d);switch(a){case "enabledInCardboard":this.set("enabledInVR",
d);break;case "effect":case "rollOverEffect":case "areas":this.zya()}};a.prototype.zya=function(){this.get("effect")&&this.get("effect").bind(g.ws,this.Nja,this,m);this.get("rollOverEffect")&&this.get("rollOverEffect").bind(g.ws,this.Xka,this,m);this.get("areas",[]).forEach(function(a){a.bind(e.kd,this.Cja,this,m);a.bind(e.jc,this.Bja,this,m)}.bind(this))};a.prototype.zIa=function(){this.get("effect")&&this.get("effect").unbind(g.ws,this.Nja,this,m);this.get("rollOverEffect")&&this.get("rollOverEffect").unbind(g.ws,
this.Xka,this,m);this.get("areas",[]).forEach(function(a){a.unbind(e.kd,this.Cja,this,m);a.unbind(e.jc,this.Bja,this,m)}.bind(this))};a.prototype.Cja=function(a){0>this.Mh.indexOf(a.source)&&(this.Mh.push(a.source),1==this.Mh.length&&this.mF())};a.prototype.Bja=function(a){a=this.Mh.indexOf(a.source);0<=a&&(this.Mh.splice(a,1),0==this.Mh.length&&this.sm())};a.prototype.mF=function(){var a=this.get("effect"),b=this.get("rollOverEffect");b&&(a&&0<a.pk()?a.reverse():b.play())};a.prototype.sm=function(){var a=
this.get("rollOverEffect");if(a){var b=this.get("effect");0<a.pk()?a.reverse():b&&b.get("loop")&&b.play()}};a.prototype.Nja=function(){if(0<this.Mh.length){var a=this.get("rollOverEffect");a&&(this.get("effect").stop(),a.play())}};a.prototype.Xka=function(){if(0==this.Mh.length){this.get("rollOverEffect").stop();var a=this.get("effect");a&&a.get("loop")&&a.play()}};a.prototype.Tj=function(){var a=this.get("effect");a&&a.play()};a.prototype.Pj=function(){var a=this.get("effect");a&&a.stop();(a=this.get("rollOverEffect"))&&
a.stop()};return a});define("lU",["require","mR","cG"],function(a){var b=a("mR"),e=a("cG");return b.G("FlatHotspotPanoramaOverlay",e,function(){e.call(this)})});define("t",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("HotspotPanoramaOverlayArea",b,function(){b.call(this);this.set("displayTooltipInTouchScreens",m)})});define("fl",["require","mR","t"],function(a){var b=a("mR"),e=a("t");return b.G("FlatHotspotPanoramaOverlayArea",e,function(){e.call(this)})});
define("hy",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("QuadPanoramaOverlayPlaybackPosition",b,function(a,d,g){b.call(this);a!==l&&this.set("vertices",a);this.set("opacity",d!==l?d:1);g!==l&&this.set("timestamp",g)})});
define("dU",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("FlatPanoramaOverlayPlaybackPosition",b,function(a,d,g,c,i){b.call(this);a!==l&&this.set("yaw",a);d!==l&&this.set("pitch",d);g!==l&&this.set("roll",g);this.set("opacity",c!==l?c:1);i!==l&&this.set("timestamp",i)})});
define("fP",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaOverlayPlaybackPosition",b,function(a,d,g,c,i,f,j,n,k){b.call(this);a!==l&&this.set("yaw",a);d!==l&&this.set("pitch",d);g!==l&&this.set("rotationX",g);c!==l&&this.set("rotationY",c);i!==l&&this.set("roll",i);f!==l&&this.set("hfov",f);j!==l&&this.set("vfov",j);this.set("opacity",n!==l?n:1);k!==l&&this.set("timestamp",k)})});
define("cy",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaPoint",b,function(a,d){b.call(this);this.set("yaw",a);this.set("pitch",d)})});
define("U",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PopupPanoramaOverlayPlaybackPosition",b,function(a,d,g,c,i,f,j){b.call(this);a!==l&&this.set("yaw",a);d!==l&&this.set("pitch",d);g!==l&&this.set("rotationX",g);c!==l&&this.set("rotationY",c);i!==l&&this.set("rotationZ",i);f!==l&&this.set("hfov",f);j!==l&&this.set("timestamp",j)})});
define("jN","require,ll,hy,dU,fP,cy,U".split(","),function(a){var b=a("ll"),e=a("hy"),d=a("dU"),g=a("fP"),c=a("cy"),i=a("U");return{jPa:function(a){return this.oR(a,this.TCa)},e$:function(a){return this.oR(a,this.XHa)},DPa:function(a){return this.oR(a,this.dIa)},g$:function(a){return this.oR(a,this.mIa)},TCa:function(a){return new d(b.prototype.get.call(a,"yaw",0),b.prototype.get.call(a,"pitch",0),b.prototype.get.call(a,"roll",0),b.prototype.get.call(a,"opacity",1),0)},mIa:function(a){var d=b.prototype.get.call(a,
"vertices",[r,r,r,r]);return new e([d[0]||new c(0,0),d[1]||new c(0,0),d[2]||new c(0,0),d[3]||new c(0,0)],b.prototype.get.call(a,"opacity",1),0)},XHa:function(a){function c(d,j){return b.prototype.get.call(a,d,j)}return new g(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("roll",0),c("hfov",c("vfov")===l?45:l),c("vfov"),c("opacity",1),0)},dIa:function(a){function c(d,j){return b.prototype.get.call(a,d,j)}return new i(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("rotationZ",
0),c("hfov",45),0)},oR:function(a,c){var d=b.prototype.get.call(a,"playbackPositions")||[];return d.length>0?d.slice().sort(function(a,b){return a.get("timestamp")-b.get("timestamp")||d.indexOf(a)-d.indexOf(b)}):[c(a)]}}});
define("iJ",["require","ll","nV","mR","jN"],function(a){var b=a("ll"),e=a("nV"),d=a("mR"),g=a("jN"),a=d.G("FlatHotspotPanoramaOverlayImageBase",b,function(){b.call(this);this.Qc=l});a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.jPa(this)),this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,d){var f=B;switch(a){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,
a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};return a});define("p",["require","mR","iJ"],function(a){var b=a("mR"),e=a("iJ");return b.G("FlatHotspotPanoramaOverlayImage",e,function(){e.call(this)})});define("dO",["require","mR","iJ"],function(a){var b=a("mR"),e=a("iJ");return b.G("FlatHotspotPanoramaOverlayMap",e,function(){e.call(this)})});define("nL",["require","mR","fE"],function(a){var b=a("mR"),e=a("fE");return b.G("FlyOverModel3DCamera",e,function(){e.call(this)})});
define("mj",["require","ll","nV","mR","jN"],function(a){var b=a("ll"),e=a("nV"),d=a("mR"),g=a("jN"),a=d.G("FramePanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.set=function(a,d){var f=B;switch(a){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===
l&&(this.Qc=g.e$(this)),this.Qc}return b.prototype.get.call(this,a,d)};return a});define("df",["require","dZ","kL","ns","d"],function(a){var b=a("dZ"),e=a("kL"),d=a("ns"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.Ev};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.ln(g.fc)};return g});define("jm",["require","mR","df"],function(a){var b=a("mR"),e=a("df");return b.G("GridContainer",e,function(){e.call(this)})});
define("iT","require,dZ,jquery.mod,cu,fQ,nV,hA,lG,jV,hX,kL".split(","),function(a){function b(){}function e(a){this.wRa=a;this.Zn=[];this.Ge=0}var d=a("dZ");a("jquery.mod");var g=a("cu"),c=a("fQ"),i=a("nV"),f=a("hA"),j=a("lG"),n=a("jV"),k=a("hX"),o=a("kL").extend(c,function(a){c.call(this);this.url=a;this.daa=this.Ge=0;this.status=o.BZ;this.rv=r});o.prototype.P$=function(a){this.daa=this.daa+a};o.prototype.nH=function(a){this.Ge=this.Ge+a};o.prototype.start=function(){this.status=o.qP;n.TX(this.url)?
this.Yw():this.wn=k.add(this.url,f.SO,this.fJa.bind(this),this.Tea.bind(this))};o.prototype.fJa=function(){this.rv=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.rv.open("GET",this.url);this.rv.onreadystatechange=function(){this.rv.readyState>3&&this.Yw()}.bind(this);this.rv.send()};o.prototype.Tea=function(){if(this.rv){this.rv.abort();this.rv=r}};o.prototype.stop=function(){if(this.status==o.qP){this.status=o.BZ;this.Tea();this.wn&&this.wn.cancel()}};o.prototype.Yw=
function(){this.rv=r;if(this.wn){this.wn.loaded();this.wn=r}this.status=o.Gxa;this.trigger(new g(i.T))};o.BZ="not loaded";o.qP="loading";o.Gxa="loaded";e.prototype.VNa=function(a){a.forEach(function(a){if(this.Zn.indexOf(a)<0){this.Zn.push(a);a.nH(this.Ge);a.P$(1)}}.bind(this))};e.prototype.GRa=function(a){var b=this.Zn;this.Zn=[];b.forEach(function(b){if(a.indexOf(b)<0)this.Zn.push(b);else{b.nH(-this.Ge);b.P$(-1)}}.bind(this))};e.prototype.yRa=function(){this.Zn.forEach(function(a){a.nH(-this.Ge);
a.P$(-1)}.bind(this));this.Zn=[];this.Ge=0};e.prototype.nH=function(a){this.Ge=this.Ge+a;this.Zn.forEach(function(b){b.nH(a)})};b.Od=[];b.ima=[];b.bDa=0;b.eqa=function(a,b){this.WT(a).VNa(b.map(function(a){return this.ka(a)}.bind(this)));this.LU();this.V()};b.KRa=function(a,b){this.WT(a).GRa(b.map(function(a){return this.ka(a)}.bind(this)));this.LU();this.V()};b.zRa=function(a){this.WT(a).yRa();this.LU();this.V()};b.iX=function(a,b){this.WT(a).nH(b);this.LU();this.V()};b.LU=function(){this.Od.sort(function(a,
b){return b.Ge-a.Ge})};b.V=function(a){if(this.enabled()&&(a||!this.Fr))if(a){this.Fr&&clearTimeout(this.Fr);this.Fr=r;var a=this.UDa(),b=this.VDa();d(a).difference(b).forEach(function(a){a.stop()});d(b).difference(a).forEach(function(a){a.start()})}else this.Fr=setTimeout(function(){this.Fr=r;this.V(m)}.bind(this),1E3)};b.Fr=r;b.UDa=function(){return this.Od.filter(function(a){return a.status==o.qP})};b.VDa=function(){for(var a=this.WDa(),b=[],c=0;c<this.Od.length&&b.length<a;c++){var f=this.Od[c];
f.daa>0&&(f.status==o.BZ||f.status==o.qP)&&b.push(f)}return b};b.WDa=function(){return this.bDa>0?0:5};b.WT=function(a){var b=d(this.ima).find(function(b){return b.wRa==a});if(!b){b=new e(a);this.ima.push(b)}return b};b.ka=function(a){var b=d(this.Od).find(function(b){return b.url==a});if(!b){b=new o(a);b.bind(i.T,this.V,this);this.Od.push(b)}return b};b.enabled=function(a){if(a===l)return b.aCa||b.bCa?B:b.u1!==l?b.u1:b.K;b.K=a};b.K=m;b.Qaa=function(a){b.u1=a.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)};
b.u1=l;b.bCa=j.Jh("disable-background-preload",B);b.aCa=B;return b});define("ef",["require","kL","ll","mR","iT"],function(a){var b=a("kL"),e=a("ll"),d=a("mR"),g=a("iT"),a=d.G("Media",e,function(){e.call(this);this.t8=b.aq(this.t8,this)});a.prototype.t8=function(){g.eqa(this,this.$r())};a.prototype.$r=function(){return[]};a.prototype.IRa=function(){g.zRa(this)};a.prototype.set=function(a,b){e.prototype.set.call(this,a,b);this.t8()};return a});
define("eL",["require","mR","ef"],function(a){var b=a("mR"),e=a("ef"),a=b.G("Panorama",e,function(){e.call(this);this.aS=this.ZF=l;this.set("minFaceSize",l)});a.prototype.get=function(a,b){switch(a){case "overlays":return this.p2();case "frames":return this.kha();case "partial":if(359.9>this.get("hfov"))return m}return e.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){switch(a){case "cardboardMenu":this.set("vrMenu",b)}e.prototype.set.call(this,a,b)};a.prototype.p2=function(){var a=e.prototype.get.call(this,
"overlays");a||(a=[]);return this.Z6(a)};a.prototype.Z6=function(a){if(this.ZF===l||this.aS!=a){var g=function(a){return b.va("PopupPanoramaOverlay",a)},c=function(a){return b.va("LensFlarePanoramaOverlay",a)};this.aS=a;this.ZF=[].concat(a.filter(function(a){return!(g(a)||c(a))}),a.filter(c),a.filter(g))}return this.ZF};a.prototype.nsa=function(){return 0<this.get("overlays").filter(function(a){return b.va("TripodCapPanoramaOverlay",a)}).length};a.prototype.csa=function(){return 0<this.get("overlays").filter(function(a){return b.va("CeilingCapPanoramaOverlay",
a)}).length};a.prototype.Csa=function(){if(!this.v$())return B;var a=this.get("pitch",0),b=this.get("vfov",180);if(179.9<=b)return m;var c=this.csa()?90:a+0.5*b,a=this.nsa()?-90:a-0.5*b;return 179.9<=c-a?m:B};a.prototype.v$=function(){return 359.9<=this.get("hfov")&&!this.get("partial")};a.prototype.ul=function(){var a=this.kha();return 0<a.length&&a[0].ul()};a.prototype.yW=T(0);a.prototype.kha=function(){var a=e.prototype.get.call(this,"frames",[]);a.forEach(function(a){a.ZNa(this)}.bind(this));
return a};return a});define("mD",["require","mR","eL"],function(a){var b=a("mR"),e=a("eL"),a=b.G("HDRPanorama",e,function(){e.call(this)});a.prototype.yW=function(){var a=this.get("frames")||[];return Math.floor((a.length-1)/2)};return a});define("lr",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("HotspotMapOverlayArea",b,function(){b.call(this)})});
define("lw",["require","ll","mR"],function(a){var b=a("ll"),e=a("mR").G("ImageResourceLevel",b,function(){b.call(this)});e.prototype.get=function(a,g){switch(a){case "tags":var c=b.prototype.get.call(this,a);c||(c=[]);Array.isArray(c)||(c=[c]);0>c.indexOf(e.zq)&&b.prototype.get.call(this,"grayscale")&&(c=c.concat([e.zq]));return c}return b.prototype.get.call(this,a,g)};e.prototype.msa=function(a){return 0<=this.get("tags").indexOf(a)};e.zq="preload";e.rP="mobile";e.Sca="ipadpro";e.sP="mobilevr";e.FZ=
"mobilevr2gen";e.GZ="ondemand";return e});
define("fI",["require","lw","u","lG"],function(a){var b=a("lw"),e=a("u"),d=a("lG");return{Wp:function(a){return this.tj(a,"load")},gC:function(a){return this.tj(a,"preload")},cH:function(a){return this.Wp(a)!=this.gC(a)},tj:function(a,b){var d=a.get("levels")||[],f=this.kDa(d),f=this.oEa(b,f),d=this.PCa(d,b),j=this.vha(d,f[0],f[1],this.mEa(b));j||(j=this.vha(d,f[0],f[1],l));return j},PCa:function(a,c){"preload"==c?a=this.iJ(a,b.zq):"load"==c&&(a=this.OCa(a,b.zq));e.Zu()&&(a=this.iJ(a,b.Sca));e.A$()&&
(a=this.iJ(a,b.FZ));e.Gf()&&(a=this.iJ(a,b.sP));e.mb()&&(a=this.iJ(a,b.rP));return a},kDa:function(a){if(0==a.length)return 1;a.sort(function(a,b){return b.get("width")-a.get("width")});return a[0].get("width")/a[0].get("height")},oEa:function(a,b){if("preload"==a)return[0,0];var d=1E4;this.VCa()||(e.Gf()?d=2048:e.Zu()?d=2048:e.mb()&&(d=1024));return 1>b?[d*b,d]:[d,d/b]},mEa:function(a){if("load"==a)return B},VCa:function(){return e.Zu()&&d.Jh("recent_ipad_use_max_res",B)},iJ:function(a,b){var d=
a.filter(function(a){return a.msa(b)});0==d.length&&(d=a);return d},OCa:function(a,b){var d=a.filter(function(a){return!a.msa(b)});0==d.length&&(d=a);return d},vha:function(a,b,d,f){function j(a){return Math.abs(a.get("width")*a.get("height")-b*d)}a=a.filter(function(a){return f!==l&&f!=a.get("grayscale",B)?B:m});if(0==a.length)return r;a.sort(function(a,b){return j(a)-j(b)});return a[0]}}});
define("J",["require","ll","mR","fI"],function(a){var b=a("ll"),e=a("mR"),d=a("fI"),a=e.G("HotspotMapOverlayImageBase",b,function(){b.call(this)});a.prototype.Wp=function(){return this.get("image")?d.Wp(this.get("image")):r};a.prototype.gC=function(){return this.get("image")?d.gC(this.get("image")):r};return a});define("kM",["require","kL","cu"],function(a){var b=a("kL"),e=a("cu");return b.extend(e,function(a,b){e.call(this,a);this.Fg=b})});
define("cm",["require","kL","ll","nV","kM"],function(a){var b=a("kL"),e=a("ll"),d=a("nV"),g=a("kM"),a=b.extend(e,function(){e.call(this);this.XM=[];this.Bf=l;this.o="initial"});a.prototype.as=S("XM");a.prototype.EO=function(a){this.XM!=a&&(this.XM=a,this.Yw=this.Bf=l)};a.prototype.LSa=function(a){this.Bf!==a&&(this.o="loading",this.Bf=a,this.trigger(new g(d.dc,this.Bf)))};a.prototype.Daa=function(){"loaded"!==this.o&&(this.o="loaded",this.trigger(d.T))};a.prototype.kSa=function(){"loaded"!==this.o&&
(this.o="error",this.trigger(d.tc))};return a});define("de",["require","kL","cm"],function(a){var b=a("kL"),e=a("cm"),a=b.extend(e,function(a){e.call(this);this.je=a;this.n=l});a.prototype.ue=S("je");a.prototype.dQa=function(a){return this.n!==l&&this.n===a.n};a.cda="map";a.dda="overlay";return a});
define("js",["require","kL","de"],function(a){var b=a("kL"),e=a("de"),a=b.extend(e,function(a,b,c){e.call(this,e.dda);this.LHa=a;this.xa=b;this.Aa=c});a.prototype.getX=S("xa");a.prototype.getY=S("Aa");a.bda="image";a.$ca="fov";return a});
define("lp",["require","kL","js"],function(a){var b=a("kL"),e=a("js"),a=b.extend(e,function(a,b,c,i,f,j,n,k,o,p,q,t){e.call(this,e.bda,c,i);this.n=a;this.Tc=b;this.Hma=f;this.Xt=j;this.Yt=n;this.X=k;this.ia=o;this.df=p;this.Ik=q;this.ml=t;this.XM=[b]});a.prototype.gi=S("Tc");a.prototype.bd=S("X");a.prototype.Rd=S("ia");return a});
define("gJ",["require","mR","J","fI","lp"],function(a){var b=a("mR"),e=a("J"),d=a("fI"),g=a("lp"),a=b.G("HotspotMapOverlayImage",e,function(){e.call(this);this.Tt=l});a.prototype.getItem=function(){return this.uj()};a.prototype.uj=function(a){this.Tt===l&&(this.Tt=this.bW(a));return this.Tt};a.prototype.bW=function(a){var b=this.get("image");return b?(b=d.Wp(b),new g(this,b.get("url"),this.get("x"),this.get("y"),a,this.get("offsetX"),this.get("offsetY"),this.get("width"),this.get("height"),this.get("scaleMode"),
this.get("horizontalAlign"),this.get("verticalAlign"))):r};return a});define("N",["require","mR","J"],function(a){var b=a("mR"),e=a("J");return b.G("HotspotMapOverlayMap",e,function(){e.call(this)})});
define("fO",["require","ll","nV","mR","jN"],function(a){var b=a("ll"),e=a("nV"),d=a("mR"),g=a("jN"),a=d.G("HotspotPanoramaOverlayImageBase",b,function(){b.call(this);this.Qc=l});a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.e$(this)),this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,d){var f=B;switch(a){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.Qc=
l,f=m}b.prototype.set.call(this,a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};return a});define("la",["require","mR","fO"],function(a){var b=a("mR"),e=a("fO");return b.G("HotspotPanoramaOverlayImage",e,function(){e.call(this)})});define("Y",["require","mR","fO"],function(a){var b=a("mR"),e=a("fO");return b.G("HotspotPanoramaOverlayMap",e,function(){e.call(this)})});
define("kN",["require"],function(){function a(a){for(var b={},a=a.split(","),c=0;c<a.length;c++)b[a[c]]=m;return b}var b=/^<([-A-Za-z0-9_]+\:?[-A-Za-z0-9_]*)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,e=/^<\/([-A-Za-z0-9_]+\:?[-A-Za-z0-9_]*)[^>]*>/,d=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,g=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),c=a("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"),
i=a("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),f=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),j=a("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),n=a("script,style");return function(a,o){function p(a,b,n,e){b=b.toLowerCase();if(c[b])for(;u.last()&&i[u.last()];)q(0,u.last());f[b]&&
u.last()==b&&q(0,b);(e=g[b]||!!e)||u.push(b);if(o.start){var k=[];n.replace(d,function(a,b,c,f,d){a=c?c:f?f:d?d:j[b]?b:"";k.push({name:b,value:a,H9:a.replace(/(^|[^\\])"/g,'$1\\"')})});o.start&&o.start(b,k,e)}}function q(a,b){if(b){b=b.toLowerCase();for(c=u.length-1;0<=c&&u[c]!=b;c--);}else var c=0;if(0<=c){for(var f=u.length-1;f>=c;f--)o.end&&o.end(u[f]);u.length=c}}var t,s,u=[],w=a;for(u.last=function(){return this[this.length-1]};a;){s=m;if(!u.last()||!n[u.last()]){if(0==a.indexOf("<\!--"))t=a.indexOf("--\>"),
0<=t&&(o.qOa&&o.qOa(a.substring(4,t)),a=a.substring(t+3),s=B);else if(0==a.indexOf("</")){if(t=a.match(e))a=a.substring(t[0].length),t[0].replace(e,q),s=B}else if(0==a.indexOf("<")&&(t=a.match(b)))a=a.substring(t[0].length),t[0].replace(b,p),s=B;s&&(t=a.indexOf("<"),s=0>t?a:a.substring(0,t),a=0>t?"":a.substring(t),o.rN&&o.rN(s))}else a=a.replace(RegExp("(.*?)</"+u.last()+"[^>]*>"),function(a,b){b=b.replace(/<\!--(.*?)--\>/g,"$1").replace(/<!\[CDATA\[(.*?)]]\>/g,"$1");o.rN&&o.rN(b);return""}),q(0,
u.last());a==w&&h("Parse Error: "+a);w=a}q()}});
define("ff","require,jquery.mod,dZ,kL,nV,cu,fQ,u,kN".split(","),function(a){var b=a("jquery.mod");a("dZ");var e=a("kL"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("u"),f=a("kN"),j=e.extend(c,function(a){c.call(this);this.Ze=b(a);this.QL=[];this.sw=r});j.prototype.uQa=function(a){a&&a.toLowerCase().indexOf("<script")>=0?i.HG()==i.RH?this.nFa(a):this.mFa(a):this.lFa(a)};j.prototype.lFa=function(a){this.Ze.empty();a&&this.Ze.append(a);this.Doa()};j.prototype.nFa=function(a){this.Ze.empty();var c=this.Ze,d=r,
j=[],i=r;new f(a,{start:function(a,f,j){if(a=="script"){for(var j=l,n=0;n<f.length&&j===l;n++){var e=f[n];if(e.name=="src")j=e.value}i={parent:c,previousSibling:d,src:j,content:""}}else{for(var g={},n=0;n<f.length;n++){e=f[n];g[e.name]=e.value}f=b("<"+a+"/>");f.attr(g);c.append(f);if(j)d=f;else{c=f;d=r}}},rN:function(a){i?i.content=i.content+a:c.append(a)},end:function(a){if(a=="script"){j.push(i);i=r}else{d=c;c=c.parent()}}});this.QL=j;this.gS()};j.prototype.mFa=function(a){function c(){j++;return d+
j}this.Ze.empty();var d="fragment_"+e.jua(6)+"_",j=0,i=c(),g=[i],s=l,u=[],w=r,v="";new f(a,{start:function(a,b,f){if(a=="script"){f=l;for(a=0;a<b.length&&f===l;a++){var d=b[a];if(d.name=="src")f=d.value}w={parentClsName:g[g.length-1],previousSiblingClsName:s,src:f,content:""}}else{v=v+("<"+a);for(var j=c(),n=B,a=0;a<b.length;a++){d=b[a];if(d.name=="class"){d.H9=d.H9+(" "+j);n=m}v=v+(" "+d.name+'="'+d.H9+'"')}n||(v=v+(' class="'+j+'"'));if(f){v=v+"/>";s=j}else{v=v+">";g.push(j);s=l}}},rN:function(a){w?
w.content=w.content+a:v=v+a},end:function(a){if(a=="script"){u.push(w);w=r}else{s=g[g.length-1];g.pop()}}});this.Ze.get(0).innerHTML=v;this.Ze.addClass(i);for(a=0;a<u.length;a++){var x=u[a],y=x.parentClsName;delete x.parentClsName;s=x.previousSiblingClsName;delete x.previousSiblingClsName;x.parent=b("."+y);x.previousSibling=s?b("."+s):r}this.Ze.removeClass(i);this.QL=u;this.gS()};j.prototype.gS=function(){if(!this.sw)if(this.QL.length>0){this.sw=this.QL[0];this.QL.splice(0,1);var a=this.sw.src;if(a){var c=
this;j.XFa(a,function(){c.Gia()},function(){c.dGa()})}else{var f=this.sw.parent,a=this.sw.previousSibling,d;d=a?a.next():f.children(":first");a=document.write;document.write=d.length?function(a){d.before(a)}:function(a){f.append(a)};b.globalEval(this.sw.content);document.write=a;this.Gia()}}else this.Doa()};j.prototype.dGa=function(){this.sw=r;this.gS()};j.prototype.Gia=function(){this.sw=r;this.gS()};j.prototype.Doa=function(){this.trigger(new g(d.hb))};j.Eia={};j.XFa=function(a,c,f){j.Eia[a]?c.call(window):
b.ajax({url:a,async:B,dataType:"script",error:f,success:function(){j.Eia[a]=m;c.call(window)}})};return j});
define("mb",["require","kL","nV","cu","fQ"],function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),a=b.extend(g,function(a,b){g.call(this);this.wFa=a;this.K=b;this.Di=r});a.prototype.bind=function(){var a=g.prototype.bind.apply(this,arguments);this.UM();return a};a.prototype.unbind=function(){var a=g.prototype.unbind.apply(this,arguments);this.UM();return a};a.prototype.start=function(){this.K=m;this.UM()};a.prototype.stop=function(){this.K=B;this.UM()};a.prototype.aL=function(){this.trigger(new d(e.le))};
a.prototype.UM=function(){if(this.K&&this.bsa(e.le)){if(this.Di==r){var a=this;this.Di=setTimeout(function(){a.Di=r;a.aL();a.UM()},this.wFa)}}else this.Di!=r&&(clearTimeout(this.Di),this.Di=r)};return a});
define("kK","require,jquery.mod,dZ,kL,nV,hP,mn,e,ff,gY,mb".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kL"),g=a("nV"),c=a("hP"),i=a("mn"),f=a("e"),j=a("ff"),n=a("gY"),a=a("mb"),k=d.extend(f,function(){f.call(this);this.ie("HTML");this.Kz=k.vP;this.Sla=this.Tla=0;this.Kna=(new Date).getTime();this.JQ=this.Ri=r;this.CD=this.CD.bind(this);this.q_=[]});k.prototype.Ya=function(){f.prototype.Ya.call(this);this.f("content");this.f("horizontalAlign",i.Ha);this.f("verticalAlign",i.Sd);this.f("fontFamily");
this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");this.f("textAlign");this.f("textDecoration");this.f("textShadowBlurRadius",3);this.f("textShadowColor","#000000");this.f("textShadowHorizontalLength",0);this.f("textShadowOpacity",0);this.f("textShadowVerticalLength",0)};k.prototype.tr=function(a){this.Pa&&c.get(this.Pa).BRa(this.CD);f.prototype.tr.call(this,a);if(this.Pa){c.get(this.Pa).ONa(this.CD);c.get(this.Pa).LG(this.CD)}};k.prototype.kb=function(){f.prototype.kb.call(this);
if(!this.JQ){this.Ri=document.createElement("div");this.JQ=b(this.Ri);this.b1({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var a=this.sb();a.AH(B);a.append(this.JQ);this.Uha=new j(this.JQ);this.Uha.bind(g.hb,this.aFa,this,m);this.bind(g.uc,this.Vha,this)}};k.prototype.Ja=function(){var a={},b=B;this.v("visible")&&(b=m);if(this.v("content")){this.Uha.uQa(this.p("content"));this.H("content");b=m}if(this.v("width")||this.v("height"))b=m;if(this.v("fontFamily")){b=this.p("fontFamily");
e(b).isString()||(b="");a.fontFamily=n.Ru(b);this.H("fontFamily");b=m}if(this.v("fontSize")){b=this.p("fontSize");e(b).isNumber()?b=b+"px":e(b).isString()||(b="");a.fontSize=b;this.H("fontSize");b=m}if(this.v("fontColor")){b=this.p("fontColor");e(b).isString()||(b="");a.color=b;this.H("fontColor");b=m}if(this.v("fontWeight")){b=this.p("fontWeight");switch(b){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;
default:b="normal"}a.fontWeight=b;this.H("fontWeight");b=m}if(this.v("fontStyle")){b=this.p("fontStyle");switch(b){case "italic":case "normal":break;default:b="normal"}a.fontStyle=b;this.H("fontStyle");b=m}if(this.v("textDecoration")){b=this.p("textDecoration");switch(b){case "underline":case "overline":case "line-through":case "none":break;default:b="none"}a.textDecoration=b;this.H("textDecoration");b=m}if(this.v("textAlign")){b=this.p("textAlign");switch(b){case "left":case "right":case "center":case "justify":break;
default:b=""}a["text-align"]=b;this.H("textAlign");b=m}var c=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(e(c).any(function(a){return this.v(a)},this)){var d={};e(c).each(function(a){d[a]=this.p(a);this.H(a)},this);a["-moz-text-shadow"]=a["-webkit-text-shadow"]=a["text-shadow"]=[d.textShadowHorizontalLength+"px",d.textShadowVerticalLength+"px",d.textShadowBlurRadius+"px","rgba("+parseInt("0x"+d.textShadowColor.substr(1,2))+
", "+parseInt("0x"+d.textShadowColor.substr(3,2))+", "+parseInt("0x"+d.textShadowColor.substr(5,2))+", "+d.textShadowOpacity+")"].join(" ");c=d.textShadowVerticalLength==0&&this.p("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(d.textShadowHorizontalLength,-d.textShadowVerticalLength)/Math.PI)*45;a.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*d.textShadowOpacity).toString(16)).slice(-2)+d.textShadowColor.substr(1,6)+",direction="+c+")"}e(["paddingTop","paddingRight",
"paddingBottom","paddingLeft"]).any(function(a){return this.v(a)},this)&&(b=m);this.b1(a);f.prototype.Ja.call(this);b&&this.ija()};k.prototype.ija=function(){this.Vha();this.Lb();this.p("visible")&&this.p("content")?this.UL(k.pda):this.UL(k.vP)};k.prototype.Wx=function(a){for(var b=a.target;b&&b.tagName!="A"&&b.tagName!="BUTTON";)b=b.parentElement;f.prototype.Wx.call(this,a,!b)};k.prototype.Wt=function(){f.prototype.Wt.call(this);var a=this.sb();this.Ok=this.Ri.clientWidth+a.XG()+a.$G();this.Nk=this.Ri.clientHeight+
a.aH()+a.UG()};k.prototype.ona=function(a){if(this.r2()!=a){this.Ri.style.paddingLeft=a+"px";this.Lb()}};k.prototype.r2=function(){return parseInt(this.Ri.style.paddingLeft)||0};k.prototype.qna=function(a){if(this.u2()!=a){this.Ri.style.paddingTop=a+"px";this.Lb()}};k.prototype.u2=function(){return parseInt(this.Ri.style.paddingTop)||0};k.prototype.pna=function(a){if(this.s2!=a){this.Ri.style.paddingRight=a+"px";this.Lb()}};k.prototype.s2=function(){return parseInt(this.Ri.style.paddingRight)||0};
k.prototype.nna=function(a){if(this.q2()!=a){this.Ri.style.paddingBottom=a+"px";this.Lb()}};k.prototype.q2=function(){return parseInt(this.Ri.style.paddingBottom)||0};k.prototype.aFa=function(){this.q_=Array.prototype.slice.call(this.Ri.querySelectorAll("*[style]")).map(function(a){var b={};b.QG=a;b.style=a.getAttribute("style");return b}).filter(function(a){return o.test(a.style)}).map(function(a){for(var b=a.style,c=[];;){var f=o.exec(b);if(f){c.push(function(a){return function(){return a}}(b.substr(0,
f.index+1)));c.push(function(a,b){switch(b){case "vw":return function(b){return Math.round(b*a)+"px"};case "vh":return function(b,c){return Math.round(c*a)+"px"};case "vmin":return function(b,c,f){return Math.round(f*a)+"px"};case "vmax":return function(b,c,f){return Math.round(f*a)+"px"}}}(parseFloat(f[1]),f[3].toLowerCase()));b=b.substr(f.index+f[0].length)}else{c.push(function(a){return function(){return a}}(b));a.functions=c;return a}}});this.Pa&&c.get(this.Pa).LG(this.CD)};k.prototype.CD=function(a,
b,c,f){if(this.q_.length!=0){this.q_.forEach(function(d){var j=d.functions.map(function(d){return d(a,b,c,f)}).join("");d.QG.setAttribute("style",j)});this.ija()}};k.prototype.Vha=function(){var a={width:"auto",height:"auto"},b=this.sb();if(!this.F2()){this.Ok!=this.X&&this.Lb();var c=this.X-(b.XG()+b.$G());c>0&&(a.width=c+"px")}if(!this.Nha()){this.Nk!=this.ia&&this.Lb();b=this.ia-(b.aH()+b.UG());b>0&&(a.height=b+"px")}this.b1(a)};k.prototype.Hja=function(){var a=this.Ri.clientWidth,b=this.Ri.clientHeight;
if(this.Tla!=a||this.Sla!=b){this.Tla=a;this.Sla=b;this.Lb();this.UL(k.pda)}else{a=(new Date).getTime()-this.Kna;a>k.oya?this.UL(k.dya):a>k.nya&&this.UL(k.cya)}};k.prototype.VIa=function(){this.Kna=(new Date).getTime()};k.prototype.UL=function(a){this.Kz==k.vUa&&this.VIa();if(this.Kz!=a){this.Kz!=k.vP&&k.bfa[this.Kz].unbind(g.le,this.Hja,this);this.Kz=a;this.Kz!=k.vP&&k.bfa[this.Kz].bind(g.le,this.Hja,this,m)}};k.prototype.b1=function(a){var b=this.Ri.style,c;for(c in a)b[c]=a[c]};var o=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i;
k.vP="stopped";k.dya="slow";k.cya="normal";k.pda="fast";k.oya=3E4;k.nya=5E3;k.bfa={slow:new a(2E3,m),normal:new a(500,m),fast:new a(100,m)};return k});define("jH",["require","kK","mR"],function(a){var b=a("kK");return a("mR").G("HTML",b,function(){b.call(this)})});define("b",["require","dZ","kL","ns","d"],function(a){var b=a("dZ"),e=a("kL"),d=a("ns"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.RO};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.ln(g.fc)};return g});
define("iq",["require","kL","hn","b","kK"],function(a){var b=a("kL"),e=a("hn"),d=a("b"),g=a("kK"),a=b.extend(d,function(){d.call(this);this.Nw=r;this.set("contentOpaque",m)});a.prototype.Ya=function(){d.prototype.Ya.call(this);this.f("overflow",e.zo);this.f("html")};a.prototype.kb=function(){d.prototype.kb.call(this);this.Nw==r&&(this.Nw=new g,this.Nw.Y({left:0}),this.La(this.Nw))};a.prototype.Ja=function(){this.v("html")&&(this.Nw.set("content",this.p("html")),this.H("html"));this.Vb(["paddingLeft",
"paddingTop","paddingRight","paddingBottom"],{},[this.Nw],m,m);this.Vb(["cursor"],{},[this.Nw],m,B);d.prototype.Ja.call(this);this.Nw.set("width",this.F2()?l:"100%")};return a});define("bw",["require","iq","mR"],function(a){var b=a("iq");return a("mR").G("HTMLText",b,function(){b.call(this)})});
define("jD","require,jquery.mod,kL,nV,cu,lG,gS,bb,lA,gp,dW,lS".split(","),function(a){function b(a,b,c){return function(f){var d;d=b=="mouse"?this.kA(f):this.AE(f);this.nia(d)?a.call(this,f):c=="release"?a.call(this,f):this.cDa(d,f)}}var e=a("jquery.mod"),d=a("kL"),g=a("nV"),c=a("cu"),i=a("lG"),f=a("gS"),j=a("bb"),n=a("lA"),k=a("gp"),o=a("dW"),p=a("lS"),q=i.Gi("debug"),a=d.extend(p,function(){this.ie("Button");p.call(this,3);this.set("autoRolledOver",m);this.set("autoPressed",m);this.set("cursor",
j.vf);this.set("scaleMode",n.fh);this.f0=document.createElement("canvas");this.f0.width=1;this.f0.height=1;this.g0=this.f0.getContext("2d");this.g0.globalCompositeOperation="copy";this.L1=B;this.bind(g.jc,this.eFa,this)});a.prototype.Ya=function(){p.prototype.Ya.call(this);this.f("buttonGroup");this.f("mode",o.me);this.f("pressed");this.f("iconURL");this.f("transparencyActive");this.m("rollOverOpacity",k.O,"opacity");this.m("rollOverIconURL",k.O,"iconURL");this.m("pressedOpacity",k.Za,"opacity");
this.m("pressedIconURL",k.Za,"iconURL");this.m("pressedRollOverOpacity",k.Ob,"opacity");this.m("pressedRollOverIconURL",k.Ob,"iconURL")};a.prototype.U1=b(p.prototype.U1,"touch","capture");a.prototype.Iga=b(p.prototype.gDa,"touch");a.prototype.Kga=b(p.prototype.gDa,"touch","release");a.prototype.D7=b(p.prototype.D7,"touch","capture");a.prototype.C7=b(p.prototype.C7,"touch");a.prototype.Wx=b(p.prototype.Wx,"touch","release");a.prototype.g4=b(p.prototype.g4,"mouse","capture");a.prototype.h4=function(a){var b=
this.kA(a);if(this.nia(b)||this.L1){p.prototype.h4.call(this,a);p.prototype.set.call(this,"cursor",this.Pfa)}else{this.L1=m;if(b=this.jha(b)){e(b).trigger(this.lfa(a));a.preventDefault();a.stopImmediatePropagation()}this.eha(b)=="pointer"?p.prototype.set.call(this,"cursor",j.vf):p.prototype.set.call(this,"cursor",j.le);this.L1=B}};a.prototype.eFa=function(){p.prototype.set.call(this,"cursor",this.Pfa)};a.prototype.vS=b(p.prototype.vS,"mouse","release");a.prototype.nia=function(a){if(!this.Mb)return B;
if(this.get("transparencyActive"))return m;var b=this.Pa?this.Pa.vx:1,c=this.Mb.offset(),f=(a.ry-c.left)/b,d=this.Mb.width(),a=(a.sy-c.top)/b,b=this.Mb.height();if(f>=0&&a>=0&&f<d&&a<b){if(q)return m;f=f*this.oF/d;d=a*this.nF/b;this.g0.drawImage(this.Mb.get(0),f,d,1,1,0,0,1,1);if(this.g0.getImageData(0,0,1,1).data[3]>0)return m}return B};a.prototype.cDa=function(a,b){var c=this.jha(a);if(c){e(c).trigger(this.lfa(b));b.preventDefault();b.stopImmediatePropagation()}};a.prototype.jha=function(a){this.Rq().style.pointerEvents=
"none";a=document.elementFromPoint(a.ry,a.sy);setTimeout(function(){this.Rq().style.pointerEvents=this.Aha()}.bind(this),0);return a};a.prototype.lfa=function(a){return e.extend(e.Event(a.type),{originalEvent:a.originalEvent,wheelDelta:a.wheelDelta,detail:a.detail,which:1,clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY,screenX:a.screenX,screenY:a.screenY})};a.prototype.eha=function(a){if(a){var b=a.style.cursor;b=="inherit"&&(b=this.eha(a.parentElement))}else b="default";return b};
a.prototype.yI=function(){if(this.get("pressed")){this.set("pressed",B);this.trigger(new c(g.Ll))}else{this.set("pressed",m);this.trigger(new c(g.Dj))}};a.prototype.set=function(a,b){if(a==="cursor")this.Pfa=b;return p.prototype.set.call(this,a,b)};a.prototype.Ja=function(){var a=B;if(this.v("backgroundOpacityy")||this.v("backgroundColor"))a=m;if(this.v("iconURL")){this.set("url",this.p("iconURL"));this.H("iconURL")}var b=B;if(this.v("mode")){if(this.p("mode")==o.me){this.unbind(g.oa,this.yI,this,
m);this.set("autoPressed",m)}else{this.bind(g.oa,this.yI,this,m);this.set("autoPressed",B)}this.H("mode");b=m}if(b||this.v("pressed"))this.p("mode")==o.Fj?this.UF(this.p("pressed")==m):b&&this.UF(B);if(this.v("buttonGroup")){(b=this.p("buttonGroup"))?f.register(this,b):f.PO(this);this.H("buttonGroup")}p.prototype.Ja.call(this);if(a){a=this.Dc();if(a.nk()==0||a.Pz.length==0){a.Ji(0.001);a.Mua(["#000000"])}}};return a});
define("bk",["require","jD","mR"],function(a){var b=a("jD");return a("mR").G("IconButton",b,function(){b.call(this)})});define("mC",["require","mR","hQ"],function(a){var b=a("mR"),e=a("hQ");return b.G("IconHotspotMapOverlay",e,function(){e.call(this,B)})});define("np",["require","lS","mR"],function(a){var b=a("lS"),a=a("mR").G("Image",b,function(){b.call(this)});a.prototype.set=function(a,d){b.prototype.set.call(this,a,d)};return a});
define("kX",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("InnerModel3DObject",e,function(){e.call(this)})});define("iF",["require","ix","mR"],function(a){var b=a("ix");return a("mR").G("Label",b,function(){b.call(this)})});define("bI",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("LensFlarePanoramaOverlay",b,function(){b.call(this)})});
define("nw",["require","mR","eL"],function(a){var b=a("mR"),e=a("eL"),a=b.G("LivePanorama",e,function(){e.call(this)});a.prototype.yW=function(){return this.get("initialFrameIndex",0)};return a});define("iU",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("Light",b,function(){b.call(this)})});
define("cO",["require","kL","de"],function(a){var b=a("kL"),e=a("de"),a=b.extend(e,function(a,b,c,i,f,j,n){e.call(this,e.cda);this.n=a;this.Tc=b;this.X=c;this.ia=i;this.df=f;this.I1=j;this.An=n.slice()});a.prototype.as=function(){for(var a=[this.Tc],b=0;b<this.An.length;b++)a=a.concat(this.An[b].as());return a};a.prototype.gi=S("Tc");a.prototype.bd=S("X");a.prototype.Rd=S("ia");return a});
define("mz","require,mR,lA,ef,fI,cO".split(","),function(a){var b=a("mR"),e=a("lA"),d=a("ef"),g=a("fI"),c=a("cO"),a=b.G("Map",d,function(){d.call(this);this.Tt=this.PT=l});a.prototype.ORa=function(){this.Tt=this.PT=l};a.prototype.cH=function(){return!(!this.get("image")||!g.cH(this.get("image")))};a.prototype.gC=function(){return this.get("image")&&g.gC(this.get("image"))};a.prototype.Wp=function(){return this.get("image")&&g.Wp(this.get("image"))};a.prototype.Lra=function(){if(this.PT==l)this.PT=
this.cH()?new c(this,this.gC().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",e.Ny),this.get("flipImageHorizontally",B),[]):r;return this.PT};a.prototype.uj=function(){if(this.Tt==l)if(this.get("image")){var a=Array.prototype.concat.apply([],this.get("overlays",[]).map(function(a){return a.sPa()}));this.Tt=new c(this,this.Wp().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",e.Ny),this.get("flipImageHorizontally",B),a)}else this.Tt=r;return this.Tt};a.prototype.$r=
function(){return[].concat(this.mR(this.Lra()),this.mR(this.uj()))};a.prototype.mR=function(a){return a?a.as():[]};return a});define("kv",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("MapOverlay",b,function(){b.call(this)})});
define("jh","require,kL,dZ,nV,cu,fQ,dW,gp".split(","),function(a){var b=a("kL"),e=a("dZ"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("dW"),f=a("gp"),a=b.extend(c,function(a,b,f){c.call(this);this.ofa=a;this.kIa=b;this.Gea=f||i.me;this.pi=[];this.Fz=[];this.cw={};this.cw.mode=this.Gea;this.Gea==i.Fj&&(this.cw.pressed=B);this.ofa.bind(d.u(b),this.dma,this);this.dma()});a.prototype.dma=function(){var a=this.ofa.get(this.kIa);a||(a=[]);e.isArray(a)||(a=[a]);this.BJa(a)};a.prototype.BJa=function(a){var b=e.difference(this.pi,
a);e(b).each(function(a){a.unbind(d.Dj,this.Kea,this,m);a.unbind(d.Ll,this.Lea,this,m);a.unbind(d.oa,this.Fea,this,m);a.unbind(d.Hb,this.Hea,this,m);a.unbind(d.ic,this.Iea,this,m);a.unbind(d.kd,this.Nea,this,m);a.unbind(d.jc,this.Mea,this,m)},this);b=e.difference(a,this.pi);e(b).each(function(a){a.Y(this.cw);a.bind(d.Dj,this.Kea,this,m);a.bind(d.Ll,this.Lea,this,m);a.bind(d.oa,this.Fea,this,m);a.bind(d.Hb,this.Hea,this,m);a.bind(d.ic,this.Iea,this,m);a.bind(d.kd,this.Nea,this,m);a.bind(d.jc,this.Mea,
this,m)},this);this.pi=a;this.Fz=this.Fz.filter(function(a){return this.pi.indexOf(a)>=0}.bind(this))};a.prototype.Kea=function(){this.trigger(new g(d.Dj))};a.prototype.Lea=function(){this.trigger(new g(d.Ll))};a.prototype.Fea=function(){this.trigger(new g(d.oa))};a.prototype.Hea=function(){this.trigger(new g(d.Hb))};a.prototype.Iea=function(){this.trigger(new g(d.ic))};a.prototype.Nea=function(a){this.Fz.push(a.source);this.hk()};a.prototype.Mea=function(a){this.Fz=this.Fz.filter(function(b){return b!=
a.source});this.hk()};a.prototype.set=function(a,b){this.cw[a]=b;this.pi.forEach(function(a){a.Y(this.cw)}.bind(this));this.hk()};a.prototype.hk=function(){this.pi.forEach(function(a){a.get("state")==f.Za&&this.Fz.indexOf(a)>=0?a.set("state",f.Ob):a.get("state")==f.Ob&&this.Fz.indexOf(a)<0&&a.set("state",f.Za)}.bind(this))};return a});
define("fV","require,dZ,kL,nV,cu,gp,bb,b,e,mJ,nb".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("gp"),i=a("bb"),f=a("b"),j=a("e");a("mJ");a("nb");var n=e.extend(f,function(){f.call(this);this.ie("PlaybackBar");this.$k=this.Bf=r;this.Bg=[];this.LT=B;this.u5=this.bB=l;this.k7=B});n.fc={cursor:i.vf,overflow:"visible",height:20,position:0,duration:100,steps:l,selectedStep:l,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:l,barBackgroundColorRatios:l,
barBorderColor:l,barBorderRadius:l,barBorderSize:l,barOpacity:l,liveDragging:l,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:l,playheadBackgroundColorRatios:l,playheadBorderColor:l,playheadBorderRadius:l,playheadBorderSize:l,playheadOpacity:l,playheadWidth:5,playheadHeight:30,playheadShadow:m,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:l,playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF",
stepBackgroundColorDirection:l,stepBackgroundColorRatios:l,stepBorderColor:l,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:m,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:l,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:l,selectedStepBackgroundColorRatios:l,selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2,
selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:m,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:l,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};b.defaults(n.fc,f.fc);n.prototype.Ya=function(){this.ln(n.fc)};n.prototype.kb=function(){f.prototype.kb.call(this);(!this.Bf||!this.$k)&&this.bind(d.uc,this.YHa,this,m);if(this.Bf==r){this.Bf=new j;this.Bf.Y({left:"0",height:"100%",
cursor:i.vf});this.La(this.Bf)}if(this.$k==r){this.$k=new j;this.$k.Y({left:"0",cursor:i.vf});this.$k.bind(d.uc,this.aIa,this,m);this.$k.bind(d.Hb,this.ZHa,this,m);this.tb().bind(d.Vc,this.Kla,this,m);this.bind(d.oa,this.WHa,this,m);this.$k.bind(d.ic,this.$Ha,this,m);this.La(this.$k)}var a=this.get("steps")||0;if(this.Bg.length!=a){for(;this.Bg.length>a;)this.$Ba(this.Bg.pop());for(;this.Bg.length<a;)this.Bg.push(this.QBa());this.Vb(n.Mda,n.XZ,this.Bg,B,m);this.upa();this.y8();this.Om(this.$k,this.zb().length-
1)}};n.prototype.QBa=function(){var a=new k;a.Y({cursor:i.vf});a.bind(d.oa,this.Una,this,m);a.bind(d.uc,this.Vna,this,m);this.La(a);return a};n.prototype.$Ba=function(a){a.unbind(d.oa,this.Una,this,m);a.unbind(d.uc,this.Vna,this,m);this.removeChild(a)};n.prototype.Ja=function(){var a=B;if(this.v("position")||this.v("duration")){this.H("position");this.H("duration");a=m}if(this.v("selectedStep")){this.H("selectedStep");this.upa()}if(this.v("steps")){this.H("steps");this.TN()}this.Vb(n.QZ,n.fI,[this.Bf],
m,m);this.Vb(n.kya,n.Ida,[this.$k],m,m);this.Vb(n.Mda,n.XZ,this.Bg,m,m);f.prototype.Ja.call(this);a&&this.vV()};n.prototype.upa=function(){var a=this.get("selectedStep");this.Bg.forEach(function(b,c){b.DO(c===a)});this.$k.set("visible",a===l)};n.prototype.vV=function(){var a=this.Ra();this.yb();var b=this.$k.Ra(),c=this.$k.yb(),f=this.Dw(),d=this.gm(),j=d*a/f,a=Math.round((this.LT?this.bB:d)*a/f-b*0.5),a=Math.max(0,Math.min(a,this.Re()-b)),b=Math.round(this.Qe()*0.5-c*0.5);this.$k.Y({left:a,top:b});
this.Bf.set("width",Math.round(j))};n.prototype.aIa=function(){this.vV()};n.prototype.ZHa=function(a){this.LT=m;this.u5=a.pageX;this.bB=this.p("position")};n.prototype.Kla=function(a){if(this.LT){var b=a.pageX-this.u5;this.u5=a.pageX;var a=this.Ra(),c=this.Dw();this.bB=Math.max(0,Math.min(c,this.bB+c*b/a));this.vV();if(this.get("liveDragging")){this.set("position",this.bB);this.trigger(new g(d.ra))}}};n.prototype.$Ha=function(a){this.Kla(a);this.LT=B;if(!this.get("liveDragging")){this.set("position",
this.bB);this.trigger(new g(d.ra))}this.bB=l};n.prototype.WHa=function(a){if(!this.k7){var b=this.Ra();this.set("position",this.Dw()*a.x/b);this.trigger(new g(d.ra))}};n.prototype.Vna=function(){this.y8()};n.prototype.YHa=function(){this.y8();this.vV()};n.prototype.y8=function(){for(var a=this.Ra(),b=this.yb(),c=this.xa,f=this.getParent().Ra()-(c+a),d=0,j=this.Bg.length;d<j;d++){var n=this.Bg[d],i=n.Ra(),e=n.yb(),i=d==0&&c==0?0:d==j-1&&f==0?a-i:Math.round(a*d/(j-1)-i*0.5),e=Math.round(b*0.5-e*0.5);
n.Y({left:i,top:e})}};n.prototype.Una=function(a){a=this.Bg.indexOf(a.source);this.set("position",this.Dw()*a/(this.Bg.length-1));this.k7=m;this.trigger(new g(d.ra));setTimeout(function(){this.k7=B}.bind(this),0)};n.prototype.Dw=function(){var a=this.p("duration");return!a?1:a};n.prototype.gm=function(){return Math.max(0,Math.min(this.Dw(),this.p("position")))};n.fI={barBackgroundColor:"backgroundColor",barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",
barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",barOpacity:"opacity"};n.QZ=b(n.fI).keys();n.Ida={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"};n.kya=b(n.Ida).keys();n.XZ={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"};n.Mda=b(n.XZ).keys();var k=e.extend(j,function(){j.call(this)});k.prototype.DO=function(a){this.$L(a)};k.prototype.Ya=function(){j.prototype.Ya.call(this);this.f("backgroundColor");this.f("backgroundColorDirection");this.f("backgroundColorRatios");this.f("borderColor");this.f("borderRadius");this.f("borderSize");this.f("opacity");this.f("width");this.f("height");this.f("shadow");this.f("shadowBlurRadius");this.f("shadowColor");this.f("shadowHorizontalLength");
this.f("shadowOpacity");this.f("shadowSpread");this.f("shadowVerticalLength");this.m("selectedBackgroundColor",c.U,"backgroundColor");this.m("selectedBackgroundColorDirection",c.U,"backgroundColorDirection");this.m("selectedBackgroundColorRatios",c.U,"backgroundColorRatios");this.m("selectedBorderColor",c.U,"borderColor");this.m("selectedBorderRadius",c.U,"borderRadius");this.m("selectedBorderSize",c.U,"borderSize");this.m("selectedOpacity",c.U,"opacity");this.m("selectedWidth",c.U,"width");this.m("selectedHeight",
c.U,"height");this.m("selectedShadow",c.U,"shadow");this.m("selectedShadowBlurRadius",c.U,"shadowBlurRadius");this.m("selectedShadowColor",c.U,"shadowColor");this.m("selectedShadowHorizontalLength",c.U,"shadowHorizontalLength");this.m("selectedShadowOpacity",c.U,"shadowOpacity");this.m("selectedShadowSpread",c.U,"shadowSpread");this.m("selectedShadowVerticalLength",c.U,"shadowVerticalLength")};k.prototype.Ja=function(){j.prototype.Ja.call(this)};return n});
define("z",["require","dZ","kL","b","e"],function(a){var b=a("dZ"),e=a("kL"),d=a("b"),g=a("e"),c=e.extend(d,function(){d.call(this);this.ie("ProgressBar")});c.fc={percent:0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:l,barBackgroundColorRatios:l,barBorderColor:l,barBorderRadius:l,barBorderSize:l,barOpacity:l};b.defaults(c.fc,d.fc);c.prototype.Ya=function(){this.ln(c.fc)};c.prototype.kb=function(){d.prototype.kb.call(this);this.Bf==r&&(this.Bf=new g,this.Bf.Y({left:"0",
width:"0%",height:"100%"}),this.La(this.Bf))};c.prototype.Ja=function(){this.v("percent")&&(this.Bf.set("width",Math.round(this.p("percent"))+"%"),this.H("percent"));this.Vb(c.QZ,c.fI,[this.Bf],m,m);d.prototype.Ja.call(this)};c.fI={barBackgroundColor:"backgroundColor",barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",barOpacity:"opacity"};c.QZ=b(c.fI).keys();
return c});
define("by","require,dZ,kL,nV,kn,cu,mR,jh,fV,z,u,dW,cH,gp,ns".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("kn"),c=a("cu"),i=a("mR"),f=a("jh"),j=a("fV"),n=a("z"),k=a("u"),o=a("dW"),p=a("cH"),q=a("gp"),t=a("ns"),s=i.G("ViewerArea",t,function(){t.call(this);this.set("childrenInteractionEnabled",m);this.set("contentOpaque",m);this.set("creationPolicy",p.dz);this.set("subtitlesEnabled",m);this.set("checkToolTipOcclusion",m);this.set("isKeyboardTarget",B);this.Oq=this.Ed=this.WQ=this.Bh=
r;this.r5=this.ir=B;this.di=g.M;this.Ol=this.Hj=r;this.sn=B;this.l6=[];this.bind(s.Gca,this.gHa,this,m);this.bind(s.Fca,this.fHa,this,m);this.bind(d.Hb,this.Hka,this);this.bind(d.Hb,this.Hka,this);this.bind(d.kd,this.BHa,this);this.bind(d.jc,this.AHa,this);this.bind(d.Wc,this.kT,this,m);this.bind(d.cd,this.yHa,this,m);this.JD=new f(this,"buttonPause",o.Fj);this.JD.bind(d.oa,this.WA,this);this.JD.set("state",q.le);this.KD=new f(this,"buttonPlay",o.Fj);this.KD.bind(d.oa,this.XA,this);this.KD.set("state",
q.le);this.Dz=new f(this,"buttonPlayPause",o.Fj);this.Dz.bind(d.oa,this.cHa,this);this.Dz.set("state",q.le);this.MD=new f(this,"buttonStop",o.Fj);this.MD.bind(d.oa,this.rx,this);this.MD.set("state",q.Za);this.aAa=new f(this,"buttonRestart",o.me);this.aAa.bind(d.oa,this.ox,this);this.YP=new f(this,"buttonToggleSubtitles",o.Fj);this.YP.bind(d.Dj,function(){this.set("subtitlesEnabled",m)},this,m);this.YP.bind(d.Ll,function(){this.set("subtitlesEnabled",B)},this,m);this.bind(d.u("subtitlesEnabled"),function(){this.YP.set("pressed",
this.get("subtitlesEnabled"))},this);this.YP.set("pressed",this.get("subtitlesEnabled"));this.zFa=e.aq(this.pNa,this);this.bind(d.vo,this.xHa,this,m);this.bind(s.oP,this.zHa,this,m)});s.prototype.play=function(){this.XA()};s.prototype.pause=function(){this.WA()};s.prototype.stop=function(){this.rx()};s.prototype.restart=function(){this.ox()};s.fc={progressBackgroundColor:l,progressBackgroundColorDirection:l,progressBackgroundColorRatios:l,progressBackgroundOpacity:l,progressBarBackgroundColor:l,progressBarBackgroundColorDirection:l,
progressBarBackgroundColorRatios:l,progressBarBorderColor:l,progressBarBorderRadius:l,progressBarBorderSize:l,progressBarOpacity:l,progressBorderColor:l,progressBorderRadius:l,progressBorderSize:l,progressBottom:0,progressHeight:20,progressLeft:0,progressOpacity:l,progressPercent:0,progressRight:0,progressVisible:B,externalPlaybackBar:l,externalProgressBar:l,playbackBarBackgroundColor:l,playbackBarBackgroundColorDirection:l,playbackBarBackgroundOpacity:l,playbackBarBorderColor:l,playbackBarBorderRadius:l,
playbackBarBorderSize:l,playbackBarBottom:10,playbackBarHeight:l,playbackBarWidth:l,playbackBarLeft:l,playbackBarOpacity:l,playbackBarRight:l,playbackBarLiveDragging:l,playbackBarDuration:100,playbackBarPosition:0,playbackBarRollOverDisplay:B,plabackBarSteps:l,plabackBarSelectedStep:l,playbackBarVisible:B,playbackBarProgressBackgroundColor:l,playbackBarProgressBackgroundColorDirection:l,playbackBarProgressBackgroundColorRatios:l,playbackBarProgressBorderColor:l,playbackBarProgressBorderRadius:l,playbackBarProgressBorderSize:l,
playbackBarProgressOpacity:l,playbackBarHeadBackgroundColor:l,playbackBarHeadBackgroundColorDirection:l,playbackBarHeadBackgroundColorRatios:l,playbackBarHeadBorderColor:l,playbackBarHeadBorderRadius:l,playbackBarHeadBorderSize:l,playbackBarHeadOpacity:l,playbackBarHeadWidth:l,playbackBarHeadHeight:l,playbackBarHeadShadow:l,playbackBarHeadShadowBlurRadius:l,playbackBarHeadShadowColor:l,playbackBarHeadShadowHorizontalLength:l,playbackBarHeadShadowOpacity:l,playbackBarHeadShadowSpread:l,playbackBarHeadShadowVerticalLength:l,
playbackBarStepBackgroundColor:l,playbackBarStepBackgroundColorDirection:l,playbackBarStepBackgroundColorRatios:l,playbackBarStepBorderColor:l,playbackBarStepBorderRadius:l,playbackBarStepBorderSize:l,playbackBarStepOpacity:l,playbackBarStepWidth:l,playbackBarStepHeight:l,playbackBarStepShadow:l,playbackBarStepShadowBlurRadius:l,playbackBarStepShadowColor:l,playbackBarStepShadowHorizontalLength:l,playbackBarStepShadowOpacity:l,playbackBarStepShadowSpread:l,playbackBarStepShadowVerticalLength:l,playbackBarStepSelectedBackgroundColor:l,
playbackBarStepSelectedBackgroundColorDirection:l,playbackBarStepSelectedBackgroundColorRatios:l,playbackBarStepSelectedBorderColor:l,playbackBarStepSelectedBorderRadius:l,playbackBarStepSelectedBorderSize:l,playbackBarStepSelectedOpacity:l,playbackBarStepSelectedWidth:l,playbackBarStepSelectedHeight:l,playbackBarStepSelectedShadow:l,playbackBarStepSelectedShadowBlurRadius:l,playbackBarStepSelectedShadowColor:l,playbackBarStepSelectedShadowHorizontalLength:l,playbackBarStepSelectedShadowOpacity:l,
playbackBarStepSelectedShadowSpread:l,playbackBarStepSelectedShadowVerticalLength:l,subtitlesBackgroundColor:"#000000",subtitlesBackgroundOpacity:1,subtitlesBorderColor:l,subtitlesBorderSize:0,subtitlesBottom:"10%",subtitlesFontFamily:l,subtitlesFontColor:"#ffffff",subtitlesFontSize:"12px",subtitlesFontStyle:l,subtitlesFontWeight:l,subtitlesGap:10,subtitlesHorizontalAlign:"center",subtitlesOpacity:1,subtitlesPaddingTop:5,subtitlesPaddingBottom:5,subtitlesPaddingLeft:5,subtitlesPaddingRight:5,subtitlesShadow:B,
subtitlesShadowBlurRadius:l,subtitlesShadowHorizontalLength:0,subtitlesShadowVerticalLength:0,subtitlesShadowColor:"#000000",subtitlesShadowOpacity:0,subtitlesTextDecoration:l,subtitlesTextShadowBlurRadius:l,subtitlesTextShadowColor:"#000000",subtitlesTextShadowHorizontalLength:0,subtitlesTextShadowOpacity:0,subtitlesTextShadowVerticalLength:0,subtitlesTop:l,subtitlesVerticalAlign:"bottom",transitionDuration:500,blendingTransitionDuration:l,disolveTransitionDuration:l,translationTransitionDuration:l,
translationTransitionEnabled:m,toolTipEnabled:m};b.defaults(s.fc,t.fc);s.prototype.set=function(a,b){if(a=="playbackState"){b=this.di;if(this.get(a)!=b){this.r5=m;this.zFa()}}switch(a){case "toolTipEnabled":this.set("toolTipDisabled",b===B);break;case "cardboardPointerDistance":this.set("vrPointerDistance",b);break;case "cardboardPointerColor":this.set("vrPointerColor",b);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor",b);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",
b);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.SM()}t.prototype.set.call(this,a,b)};s.prototype.Ya=function(){this.ln(s.fc)};s.prototype.kb=function(){t.prototype.kb.call(this);if(this.Bh==r){this.Bh=new n;this.La(this.Bh)}if(this.Ed==r){this.Ed=new j;this.Ed.bind(d.ra,this.o5,this,m);this.La(this.Ed);this.SM()}};s.prototype.oPa=S("Ed");s.prototype.El=function(){t.prototype.El.call(this);for(var a=[],b=this.l6.length-1;b>=0;b--)a.push(this.l6[b].h);this.Ed&&a.push(this.Ed);
this.Bh&&a.push(this.Bh);var c=this.zb(),a=a.filter(function(a){return c.indexOf(a)>=0}),c=c.filter(function(b){return a.indexOf(b)==-1}).concat(a);c.forEach(function(a,b){a&&this.O9(a)!=b&&this.Om(a,b)}.bind(this))};s.prototype.Ja=function(){if(this.v("externalProgressBar")){(this.WQ=this.p("externalProgressBar"))?this.removeChild(this.Bh):this.La(this.Bh);this.H("externalProgressBar");b(s.Kda).each(function(a){this.uB(a)},this)}this.Vb(s.gya,s.zda,[this.Bh],m,m);var a=[this.Bh];this.WQ&&a.push(this.WQ);
this.Vb(s.Kda,s.Lda,a,m,m);if(this.v("externalPlaybackBar")){this.Oq&&this.Oq.unbind(d.ra,this.o5,this,m);(this.Oq=this.p("externalPlaybackBar"))?this.removeChild(this.Ed):this.La(this.Ed);this.SM();this.Oq&&this.Oq.bind(d.ra,this.o5,this,m);this.H("externalPlaybackBar");b(s.Gda).each(function(a){this.uB(a)},this)}this.Vb(s.fya,s.yda,[this.Ed],m,m);a=[this.Ed];this.Oq&&a.push(this.Oq);this.Vb(s.Gda,s.Hda,a,m,m);t.prototype.Ja.call(this)};s.prototype.pNa=function(){if(this.r5){this.r5=B;this.JD.set("state",
this.di==g.Db?q.Za:q.le);this.KD.set("state",this.di==g.Q||this.di==g.Db?q.Za:q.le);this.Dz.set("state",this.di==g.Q?q.Za:q.le);this.MD.set("state",this.di==g.M?q.Za:q.le)}};s.prototype.hc=function(a){this.di=a;this.set("playbackState",a)};s.prototype.kT=function(){s.Tj(this)};s.prototype.yHa=function(){s.Pj(this)};s.prototype.WA=function(){this.di==g.Db?this.Wj():this.lp()};s.prototype.XA=function(){this.Wj()};s.prototype.cHa=function(){this.di==g.Q?this.lp():this.Wj()};s.prototype.rx=function(){this.Mn()};
s.prototype.ox=function(){this.Mn();this.Wj()};s.prototype.xHa=function(){if(!this.Hj||!this.Hj.Cqa())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.tb().ti;a&&a.available()&&a.toggle()}};s.prototype.zHa=function(a){this.l6=a.data.players;this.ud()};s.prototype.Wj=function(){this.Ol&&this.Ol.play()};s.prototype.lp=function(){this.Ol&&this.Ol.pause()};s.prototype.Mn=function(){this.Ol&&this.Ol.stop()};s.prototype.gHa=function(a){this.Vma(a.data.player)};s.prototype.fHa=function(a){this.Hj==
a.data.player&&this.Vma(r)};s.prototype.Hka=function(){s.fq(this)};s.prototype.BHa=function(){this.sn=m;this.SM()};s.prototype.AHa=function(){this.sn=B;this.SM()};s.prototype.SM=function(){this.Ed&&this.Ed.set("visible",this.get("playbackBarVisible")&&(this.sn||!this.get("playbackBarRollOverDisplay")||k.XX()))};s.prototype.Vma=function(a){if(this.Hj!=a){this.set("playbackBarVisible",B);this.Hj&&this.Hj.fq(B);this.Ol&&this.Ol.unbind(d.u("state"),this.c_,this);this.hIa=this.Hj;(this.Hj=a)&&this.Hj.fq(!!this.ME);
(this.Ol=this.Hj&&this.Hj.jAa?this.Hj:r)&&this.Ol.bind(d.u("state"),this.c_,this,m);this.c_()}};s.prototype.fq=function(a){this.ME=a;this.set("isKeyboardTarget",a);this.Hj&&this.Hj.fq(!!this.ME)};s.prototype.pUa=function(){return!this.hIa};s.prototype.c_=function(){this.Ol?this.hc(this.Ol.get("state")):this.hc(g.M)};s.prototype.o5=function(){var a=(this.Oq?this.Oq:this.Ed).get("position");this.trigger(new c(s.XY,{position:a}))};s.zda={progressBackgroundColor:"backgroundColor",progressBackgroundColorDirection:"backgroundColorDirection",
progressBackgroundColorRatios:"backgroundColorRatios",progressBackgroundOpacity:"backgroundOpacity",progressBarBackgroundColor:"barBackgroundColor",progressBarBackgroundColorDirection:"barBackgroundColorDirection",progressBarBackgroundColorRatios:"barBackgroundColorRatios",progressBarBorderColor:"barBorderColor",progressBarBorderRadius:"barBorderRadius",progressBarBorderSize:"barBorderSize",progressBarOpacity:"barOpacity",progressBorderColor:"borderColor",progressBorderRadius:"borderRadius",progressBorderSize:"borderSize",
progressHeight:"height",progressOpacity:"opacity",progressBottom:"bottom",progressLeft:"left",progressRight:"right"};s.gya=b(s.zda).keys();s.Lda={progressPercent:"percent",progressVisible:"visible"};s.Kda=b(s.Lda).keys();s.yda={playbackBarBackgroundColor:"backgroundColor",playbackBarBackgroundColorDirection:"backgroundColorDirection",playbackBarBackgroundOpacity:"backgroundOpacity",playbackBarBorderColor:"borderColor",playbackBarBorderRadius:"borderRadius",playbackBarBorderSize:"borderSize",playbackBarBottom:"bottom",
playbackBarHeight:"height",playbackBarWidth:"width",playbackBarLeft:"left",playbackBarOpacity:"opacity",playbackBarRight:"right",playbackBarLiveDragging:"liveDragging",playbackBarProgressBackgroundColor:"barBackgroundColor",playbackBarProgressBackgroundColorDirection:"barBackgroundColorDirection",playbackBarProgressBackgroundColorRatios:"barBackgroundColorRatios",playbackBarProgressBorderColor:"barBorderColor",playbackBarProgressBorderRadius:"barBorderRadius",playbackBarProgressBorderSize:"barBorderSize",
playbackBarProgressOpacity:"barOpacity",playbackBarHeadBackgroundColor:"playheadBackgroundColor",playbackBarHeadBackgroundColorDirection:"playheadBackgroundColorDirection",playbackBarHeadBackgroundColorRatios:"playheadBackgroundColorRatios",playbackBarHeadBorderColor:"playheadBorderColor",playbackBarHeadBorderRadius:"playheadBorderRadius",playbackBarHeadBorderSize:"playheadBorderSize",playbackBarHeadOpacity:"playheadOpacity",playbackBarHeadWidth:"playheadWidth",playbackBarHeadHeight:"playheadHeight",
playbackBarHeadShadow:"playheadShadow",playbackBarHeadShadowBlurRadius:"playheadShadowBlurRadius",playbackBarHeadShadowColor:"playheadShadowColor",playbackBarHeadShadowHorizontalLength:"playheadShadowHorizontalLength",playbackBarHeadShadowOpacity:"playheadShadowOpacity",playbackBarHeadShadowSpread:"playheadShadowSpread",playbackBarHeadShadowVerticalLength:"playheadShadowVerticalLength",playbackBarStepBackgroundColor:"stepBackgroundColor",playbackBarStepBackgroundColorDirection:"stepBackgroundColorDirection",
playbackBarStepBackgroundColorRatios:"stepBackgroundColorRatios",playbackBarStepBorderColor:"stepBorderColor",playbackBarStepBorderRadius:"stepBorderRadius",playbackBarStepBorderSize:"stepBorderSize",playbackBarStepOpacity:"stepOpacity",playbackBarStepWidth:"stepWidth",playbackBarStepHeight:"stepHeight",playbackBarStepShadow:"stepShadow",playbackBarStepShadowBlurRadius:"stepShadowBlurRadius",playbackBarStepShadowColor:"stepShadowColor",playbackBarStepShadowHorizontalLength:"stepShadowHorizontalLength",
playbackBarStepShadowOpacity:"stepShadowOpacity",playbackBarStepShadowSpread:"stepShadowSpread",playbackBarStepShadowVerticalLength:"stepShadowVerticalLength",playbackBarSelectedStepBackgroundColor:"selectedStepBackgroundColor",playbackBarSelectedStepBackgroundColorDirection:"selectedStepBackgroundColorDirection",playbackBarSelectedStepBackgroundColorRatios:"selectedStepBackgroundColorRatios",playbackBarSelectedStepBorderColor:"selectedStepBorderColor",playbackBarSelectedStepBorderRadius:"selectedStepBorderRadius",
playbackBarSelectedStepBorderSize:"selectedStepBorderSize",playbackBarSelectedStepOpacity:"selectedStepOpacity",playbackBarSelectedStepWidth:"selectedStepWidth",playbackBarSelectedStepHeight:"selectedStepHeight",playbackBarSelectedStepShadow:"selectedStepShadow",playbackBarSelectedStepShadowBlurRadius:"selectedStepShadowBlurRadius",playbackBarSelectedStepShadowColor:"selectedStepShadowColor",playbackBarSelectedStepShadowHorizontalLength:"selectedStepShadowHorizontalLength",playbackBarSelectedStepShadowOpacity:"selectedStepShadowOpacity",
playbackBarSelectedStepShadowSpread:"selectedStepShadowSpread",playbackBarSelectedStepShadowVerticalLength:"selectedStepShadowVerticalLength"};s.fya=b(s.yda).keys();s.Hda={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};s.Gda=b(s.Hda).keys();s.oP="requestByPlayer";s.Gca="playerShow";s.Fca="playerHide";s.XY="playbackBarPositionChange";s.CA=r;s.fq=function(a){if(s.CA!=a){s.CA&&s.CA.fq(B);s.CA=
a;s.CA&&s.CA.fq(m)}};s.dy=[];s.Tj=function(a){var b=s.dy.indexOf(a);b<0&&s.dy.splice(b,1);s.dy.push(a);this.fq(a)};s.Pj=function(a){var b=s.dy.indexOf(a);b<0&&s.dy.splice(b,1);s.CA==a&&s.fq(s.dy.length?s.dy[s.dy.length-1]:r)};return s});
define("cT",["require","kL","ll","cu","by"],function(a){var b=a("kL"),e=a("ll"),d=a("cu"),g=a("by"),c=b.extend(e,function(a){e.call(this);this.jAa=a;this.gM=this.bx=r});c.Kg="mediaShow";c.Il="mediaHide";c.prototype.fq=G();c.prototype.Cqa=T(B);c.prototype.cM=function(a){this.bx!=a&&(this.bx&&this.V7(this.bx),(this.bx=a)&&this.J_(this.bx))};c.prototype.J_=function(a){a.bind(g.oP,this.Ppa,this,m);a.bind(g.XY,this.rL,this)};c.prototype.V7=function(a){a.unbind(g.oP,this.Ppa,this);a.unbind(g.XY,this.rL,
this)};c.prototype.vH=function(a){this.bx.trigger(new d(g.oP,{players:a||[this]}))};c.prototype.Ppa=function(a){0>a.data.players.indexOf(this)&&this.bG()};c.prototype.rL=G();c.prototype.bG=G();c.prototype.gK=function(a){this.trigger(new d(c.Kg,{media:a}));this.gM=this.bx;this.gM.trigger(new d(g.Gca,{player:this}))};c.prototype.fK=function(a){this.trigger(new d(c.Il,{media:a}));this.gM&&(this.gM.trigger(new d(g.Fca,{player:this})),this.gM=r)};return c});
define("jx",["require"],function(){return{Ny:"constrained",Wwa:"free_drag",BUa:"free_drag_and_rotation",DZ:"sync_with_field_of_view"}});
define("jZ",["require","kL","jx","lA"],function(a){function b(){this.ja=m;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.df=d.fh;this.pm=e.Ny;this.X3=this.b4=1;this.fe=this.ge=this.Pl=this.Ql=100;this.Bm=b.nz}a("kL");var e=a("jx"),d=a("lA");b.prototype.isa=function(){return this.Bm!==b.nz};b.prototype.hsa=function(){return this.Bm&b.vD?m:B};b.prototype.jsa=function(){return this.Bm&b.wD?m:B};b.prototype.ksa=function(){return this.Bm&b.rz?m:B};b.prototype.gsa=function(){return this.Bm&b.mz?m:B};b.prototype.getX=
function(){this.Im();return this.xa};b.prototype.getY=function(){this.Im();return this.Aa};b.prototype.Yp=function(){this.Im();return this.Sa};b.prototype.SG=function(){this.Im();return this.Jc};b.prototype.qO=function(a,b,d,f,j){this.ge=a;this.fe=b;this.df=d;this.b4=f;this.X3=j;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=f;this.ja=m};b.prototype.gb=function(a,b,d,f){this.xa=a;this.Aa=b;this.Jc=d;this.Sa=f;this.ja=m};b.prototype.gq=function(a){this.pm=a;this.ja=m};b.prototype.setSize=function(a,b){this.Ql=
a;this.Pl=b;this.ja=m};b.prototype.Im=function(){if(this.ja){this.ja=B;var a=b.nz;this.Sa>this.X3?(this.Sa=this.X3,a|=b.hya):this.Sa<this.b4&&(this.Sa=this.b4,a|=b.iya);var c,i,f,j;if(this.pm==e.Ny){switch(this.df){case d.NONE:i=this.ge;j=this.fe;break;case d.so:i=this.Ql;j=this.fe*this.Ql/this.ge;break;case d.Cj:i=this.ge*this.Pl/this.fe;j=this.Pl;break;case d.mq:this.ge*this.Pl>this.fe*this.Ql?(i=this.ge*this.Pl/this.fe,j=this.Pl):(i=this.Ql,j=this.fe*this.Ql/this.ge);break;default:case d.fh:this.ge*
this.Pl>this.fe*this.Ql?(i=this.Ql,j=this.fe*this.Ql/this.ge):(i=this.ge*this.Pl/this.fe,j=this.Pl)}i*=this.Sa;j*=this.Sa;c=Math.min(0.5*this.Ql/i,0.5);i=Math.max(1-0.5*this.Ql/i,0.5);f=Math.min(0.5*this.Pl/j,0.5);j=Math.max(1-0.5*this.Pl/j,0.5)}else c=0,i=1,f=0,j=1;this.xa<c?(this.xa=c,a|=b.vD):this.xa>i&&(this.xa=i,a|=b.wD);this.Aa<f?(this.Aa=f,a|=b.rz):this.Aa>j&&(this.Aa=j,a|=b.mz);if((this.pm==e.Ny||this.pm==e.Wwa)&&0!=this.Jc)this.Jc=0,a|=b.mya;this.Bm=a}};b.nz=0;b.vD=1;b.wD=2;b.rz=4;b.mz=8;
b.iya=16;b.hya=32;b.mya=64;return b});
define("fU",["require"],function(){function a(){this.aJ=0.1;this.BQ=this.E0=this.H0=this.G0=this.O0=this.D0=this.M0=this.L0=this.lN=this.i9=this.tz=this.m_=this.jN=this.f9=this.hN=this.d9=0}a.prototype.BX=R("aJ");a.prototype.bva=function(a,e,d,g,c,i,f,j){this.d9=a;this.f9=e;this.m_=d;this.i9=g;this.hN+=c;this.jN+=i;this.tz+=f;this.lN+=j};a.prototype.He=function(){return 0!=this.L0||0!=this.M0||0!=this.D0||0!=this.O0||0!=this.d9||0!=this.f9||0!=this.m_||0!=this.i9||0!=this.hN||0!=this.jN||0!=this.tz||
0!=this.lN};a.prototype.ub=function(a){a=1E3/a;this.G0=this.QQ(this.L0/a,this.d9/a+this.hN,this.aJ);this.H0=this.QQ(this.M0/a,this.f9/a+this.jN,this.aJ);this.E0=this.QQ(this.D0/a,this.m_/a+this.tz,this.aJ);this.BQ=this.QQ(this.O0/a,this.i9/a+this.lN,this.aJ);this.L0=this.G0*a;this.M0=this.H0*a;this.D0=this.E0*a;this.O0=this.BQ*a;this.lN=this.tz=this.jN=this.hN=0};a.prototype.QQ=function(a,e,d){return 0==e?this.Mf(a,e,d):e};a.prototype.Mf=function(a,e,d){a=(e-a)*(1-d);0.01>Math.abs(a)&&(a=0);return e-
a};return a});
define("fZ","require,kL,nV,cu,fQ,lA".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ");a("lA");var c=b.extend(g,function(){g.call(this);this.iE=7;this.wS=this.r3=B;this.yS=l;this.Jc=0;this.Sa=1;this.fe=this.ge=100;this.YR=1;this.w5=m;this.x5=B;this.LNa=m;this.h9=B;this.Ta=r});c.prototype.sO=R("iE");c.prototype.wd=function(a,b,c,d){this.Jc=a;this.Sa=b;this.ge=c;this.fe=d};c.prototype.dTa=function(a){this.w5=a;this.AU(this.w5&&!!this.Ta)};c.prototype.fs=function(a){if(this.Ta!=a){this.AU(B);
this.S6(B);this.pl();this.Ta=a;this.AU(this.w5&&!!this.Ta);this.S6(this.LNa&&!!this.Ta)}};c.prototype.pl=function(){this.AU(B);this.S6(B);this.Ta=r};c.prototype.AU=function(a){if(this.x5!=a)(this.x5=a)?this.Iza():this.hMa()};c.prototype.S6=function(a){if(this.h9!=a)(this.h9=a)?this.Jza():this.iMa()};c.prototype.Iza=function(){this.Ta.bind(e.Hb,this.Cd,this,m);this.Ta.bind(e.Vc,this.$i,this,m);this.Ta.bind(e.ic,this.aj,this,m)};c.prototype.hMa=function(){this.Ta.unbind(e.Hb,this.Cd,this);this.Ta.unbind(e.Vc,
this.$i,this);this.Ta.unbind(e.ic,this.aj,this)};c.prototype.Jza=function(){this.Ta.bind(e.oq,this.KA,this,m);this.Ta.bind(e.eD,this.hA,this,m)};c.prototype.iMa=function(){this.Ta.unbind(e.oq,this.KA,this);this.Ta.unbind(e.eD,this.hA,this)};c.prototype.Cd=function(a){this.UKa(a)};c.prototype.$i=function(a){this.kpa(a)};c.prototype.aj=function(){this.w1()};c.prototype.KA=function(a){this.H8(a)};c.prototype.hA=function(a){this.I8(a)};c.prototype.UKa=function(a){this.r3=m;this.wS=B;this.yS=a;this.kpa(a)};
c.prototype.kpa=function(a){if(this.r3){var b=a.pageX-this.yS.pageX,j=a.pageY-this.yS.pageY;if(!this.wS)Math.sqrt(b*b+j*j)>this.iE?this.wS=m:b=j=0;if(this.wS)this.yS=a;a=this.Jc*Math.PI/180;this.trigger(new d(c.mo,{xDelta:-((b*Math.cos(a)+j*Math.sin(a))/this.ge),yDelta:-((j*Math.cos(a)-b*Math.sin(a))/this.fe)}))}};c.prototype.w1=function(){this.r3=B};c.prototype.I8=function(a){if(this.YR!=a.scale){this.w1();var b=this.YR;this.YR=a.scale;this.trigger(new d(c.ro,{zoomDelta:this.Sa*this.YR/b-this.Sa}))}};
c.prototype.H8=function(a){if(a.delta!=0){this.w1();this.trigger(new d(c.ro,{zoomDelta:this.Sa*a.eW*0.1}))}};c.mo="position change";c.ro="zoom change";c.OUa="vieport navigation";c.NUa="relative navigation";c.MUa="relative exponential navigation";c.LUa="dragging";return c});define("jg",["require"],function(){return{xZ:"rotateClockwise",yZ:"rotateCounterClockwise",Rs:"zoomIn",Ss:"zoomOut",$f:"stop"}});
define("mO","require,kL,cu,fQ,lA,fU,fZ,jg,nV".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("lA"),c=a("fU"),i=a("fZ"),f=a("jg");a("nV");var j=b.extend(d,function(a,b){d.call(this);this.h=a;this.W=b;this.Vq=this.VT=this.K=B;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.fe=this.ge=100;this.df=g.Ny;this.Pb=new c;this.Wa=new i;if(this.h.tn){this.Wa.sO(j.YZ);this.Pb.BX(j.ZZ)}else{this.Wa.sO(0);this.Pb.BX(1)}this.Wa.bind(i.mo,this.VGa,this,m);this.Wa.bind(i.ro,this.kx,this,m)});j.prototype.clear=
function(){this.Wa.unbind(i.mo,this.lWa,this,m);this.Wa.unbind(i.ro,this.kx,this,m);this.Wa.pl();this.h=this.W=this.Pb=this.Wa=r};j.prototype.xj=function(a){switch(a){case f.xZ:this.xc(0,0,+j.TZ,0,0,0,0,0);break;case f.yZ:this.xc(0,0,-j.TZ,0,0,0,0,0);break;case f.Rs:this.xc(0,0,0,+j.gI,0,0,0,0);break;case f.Ss:this.xc(0,0,0,-j.gI,0,0,0,0);break;case f.$f:this.xc(0,0,0,0,0,0,0,0)}};j.prototype.gb=function(a,b,c,f,d,j){this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.ge=d;this.fe=j;this.Wa.wd(this.Jc,this.Sa,
this.ge,this.fe)};j.prototype.He=function(){return this.K&&this.Pb.He()};j.prototype.ub=function(a){this.Pb.ub(a);this.W.gb(this.xa+this.Pb.G0,this.Aa+this.Pb.H0,this.Jc+this.Pb.E0,this.Sa+this.Pb.BQ);this.xa=this.W.getX();this.Aa=this.W.getY();this.Jc=this.W.SG();this.Sa=this.W.Yp()};j.prototype.wO=function(a){this.Vq=a;this.Wa.dTa(!this.Vq)};j.prototype.vd=function(a){(this.K=a)?this.Wa.fs(this.h.getParent()):this.Wa.pl()};j.prototype.VGa=function(a){this.xc(0,0,0,0,a.data.xDelta,a.data.yDelta,
0,0)};j.prototype.kx=function(a){this.xc(0,0,0,0,0,0,0,a.data.zoomDelta)};j.prototype.xc=function(a,b,c,f,d,j,e,i){this.Pb.bva(a,b,c,f,d,j,e,i);this.Dh()};j.prototype.Dh=function(){this.trigger(new e(j.bh))};j.bh="position change request";j.YZ=7;j.ZZ=0.2;j.gI=0.5;j.TZ=30;return j});
define("mg","require,kL,cu,fQ,nz,bD,fU,fZ,jg,nV".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("nz"),c=a("bD"),i=a("fU"),f=a("fZ"),j=a("jg");a("nV");var n=b.extend(d,function(a,b){d.call(this);this.h=a;this.W=b;this.K=B;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.fe=this.ge=100;this.N=r;this.q1=m;this.Gc=r;this.uT=0;this.Br=this.ek=this.Fu=l;this.Pb=new i;this.Wa=new f;if(this.h.tn){this.Wa.sO(n.YZ);this.Pb.BX(n.ZZ)}else{this.Wa.sO(0);this.Pb.BX(1)}this.Wa.bind(f.ro,this.kx,this,m)});
n.prototype.MSa=function(a,b){this.ge=a;this.fe=b;this.pG()};n.prototype.kv=function(a){if(this.Gc!=a){this.Gc=a;this.uT=l;this.pG()}};n.prototype.Qm=function(a,b){if(this.Gc==a){this.uT=b;this.pG()}};n.prototype.pG=function(){var a,b,c;if(this.Gc&&this.uT!=l){a=this.Gc.get("x",0)/this.ge;b=this.Gc.get("y",0)/this.fe;c=-(this.uT+this.Gc.get("angle",0))}else c=b=a=l;if(this.Br!=c){this.Br=c;this.Dh()}if(this.Fu!=a||this.ek!=b){this.Fu=a;this.ek=b;this.yFa();this.Dh()}};n.prototype.yFa=function(){this.q1=
m;this.Dh()};n.prototype.DB=function(){if(this.q1||this.N&&this.N.Se()){this.q1=B;this.N=r;if(this.Fu!=l&&this.ek!=l&&this.Br!=l){for(var a=this.Br-this.Jc;a>180;)a=a-360;for(;a<-180;)a=a+360;if(this.xa!=this.Fu||this.Aa!=this.ek)this.N=new g("quad_in_out",[new c("x",this.xa,this.Fu,1),new c("y",this.Aa,this.ek,1),new c("angleDif",a,a,360)],500);else if(this.Br!=this.Jc)this.N=new g("quad_in_out",[new c("x",this.xa,this.xa,1),new c("y",this.Aa,this.Aa,1),new c("angleDif",a,0,360)],500)}}};n.prototype.clear=
function(){this.Wa.unbind(f.ro,this.kx,this,m);this.Wa.pl();this.h=this.W=this.N=this.Pb=this.Wa=r};n.prototype.xj=function(a){switch(a){case j.Rs:this.xc(+n.gI,0);break;case j.Ss:this.xc(-n.gI,0);break;case j.$f:this.xc(0,0)}};n.prototype.gb=function(a,b,c,f,d,j){this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.Wa.wd(this.Jc,this.Sa,d,j)};n.prototype.He=function(){return this.K&&(this.N||this.Pb.He()||this.Fu!=l&&this.xa!=this.Fu||this.ek!=l&&this.Aa!=this.ek||this.Br!=l&&this.Jc!=this.Br)?m:B};n.prototype.ub=
function(a){this.DB();if(this.N){this.N.ub(a);this.xa=this.N.fb("x");this.Aa=this.N.fb("y");this.Jc=this.Br-this.N.fb("angleDif")}else{if(this.Fu!=l)this.xa=this.Fu;if(this.ek!=l)this.Aa=this.ek;if(this.Br!=l)this.Jc=this.Br}this.Pb.ub(a);this.W.gb(this.xa,this.Aa,this.Jc,this.Sa+this.Pb.BQ);this.xa=this.W.getX();this.Aa=this.W.getY();this.Jc=this.W.SG();this.Sa=this.W.Yp()};n.prototype.vd=function(a){if(this.K=a){this.Wa.fs(this.h.getParent());this.pG()}else this.Wa.pl()};n.prototype.kx=function(a){this.xc(0,
a.data.zoomDelta)};n.prototype.xc=function(a,b){this.Pb.bva(0,0,0,a,0,0,0,b);this.Dh()};n.prototype.Dh=function(){this.trigger(new e(n.bh))};n.bh="position change request";n.YZ=7;n.ZZ=0.2;n.gI=0.5;n.TZ=30;return n});
define("nh","require,kL,cu,fQ,jx,lA,jZ,mO,mg,nV".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("jx"),c=a("lA"),i=a("jZ"),f=a("mO"),j=a("mg"),n=a("nV"),k=b.extend(d,function(a){d.call(this);this.h=a;this.h.bind(n.uc,this.Sb,this);this.pm=g.Ny;this.Gc=r;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.Da=r;this.lU=this.kU=this.Mr=this.Lr=B;this.Em=m;this.K=B;this.W=new i;this.W.gq(this.pm);this.Jb=new f(this.h,this.W);this.Jb.bind(f.bh,this.ep,this,m);this.fi=new j(this.h,this.W);this.fi.bind(j.bh,
this.ep,this,m);this.XT()});k.prototype.clear=function(){this.Jb.unbind(f.bh,this.ep,this);this.Jb.clear();this.Jb=r;this.fi.unbind(j.bh,this.ep,this);this.fi.clear();this.Da=this.W=this.fi=r;this.h.unbind(n.uc,this.Sb,this);this.h=r};k.prototype.stop=function(){this.Pd=this.Da=r;this.K=B;this.Jb.vd(B);this.fi.vd(B);this.wu(0,0,0,0)};k.prototype.start=function(a){var b=a.Da,f=b.get("width",100),d=b.get("height",100),j=b.get("scaleMode",c.fh),n=b.get("minimumZoomFactor",1),e=b.get("maximumZoomFactor",
1),i=b.get("initialZoomFactor",1);this.Da=b;this.K=m;this.Pd=a.getItem();this.wu(0,0,0,0);this.fi.MSa(f,d);this.W.qO(f,d,j,n,e);this.W.gb(0.5,0.5,0,i);this.h.xO(this.Pd,this.W.getX(),this.W.getY(),this.W.SG(),this.W.Yp());this.XT()};k.prototype.xj=function(a){this.Jb.xj(a);this.fi.xj(a)};k.prototype.gq=function(a){if(this.pm!=a){this.pm=a;this.W.gq(a);this.XT()}};k.prototype.kv=function(a){if(this.Gc!=a){this.Gc=a;this.fi.kv(a);this.XT()}};k.prototype.wO=function(a){this.Jb&&this.Jb.wO(a)};k.prototype.Qm=
function(a,b,c,f){this.fi.Qm(a,b,c,f)};k.prototype.fv=function(a){if(this.K)if(this.fi.He()){this.fi.ub(a);this.fl(this.fi.xa,this.fi.Aa,this.fi.Jc,this.fi.Sa);this.Ba()}else if(this.Jb.He()){this.Jb.ub(a);this.fl(this.Jb.xa,this.Jb.Aa,this.Jb.Jc,this.Jb.Sa);this.Ba()}else this.wu(0,0,0,0)};k.prototype.gd=function(){if(this.Pd){var a=this.h.ON(this.Pd),b=this.h.PN(this.Pd),c=this.h.zW(this.Pd),f=this.h.Cra(this.Pd),d=this.h.NN(this.Pd),j=this.h.MN(this.Pd),n=a-this.xa,e=b-this.Aa,i=c-this.Jc,g=f-
this.Sa;this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.wu(n,e,i,g);this.fi.gb(a,b,c,f,d,j);this.Jb.gb(a,b,c,f,d,j)}};k.prototype.XT=function(){if(this.pm==g.DZ&&this.Gc!=r&&this.Gc.get("map")==this.Da){this.Jb.vd(B);this.fi.vd(m)}else{this.Jb.vd(m);this.fi.vd(B)}};k.prototype.ep=function(){this.Ba()};k.prototype.Sb=function(){this.W.setSize(this.h.Ra(),this.h.yb());this.Ba()};k.prototype.Ba=function(){this.trigger(new e(k.ob))};k.prototype.fl=function(a,b,c,f){this.h.xO(this.Pd,a,b,c,f)};k.prototype.wu=
function(a,b,c,f){a=B;if(this.Mr!=f<0){this.Mr=!this.Mr;a=m}if(this.Lr!=f>0){this.Lr=!this.Lr;a=m}if(this.kU!=this.tz>0){this.kU=!this.kU;a=m}if(this.lU!=this.tz<0){this.lU=!this.lU;a=m}if(this.Em!=(f==0)){this.Em=!this.Em;a=m}a&&this.trigger(new e(k.Aj,{rotatingClockwise:this.kU,rotatingCounterClockwise:this.lU,zoomingIn:this.Lr,zoomingOut:this.Mr,stopped:this.Em}))};k.ob="request frame";k.Aj="movement change";return k});
define("jj","require,kL,cu,fQ,lA,jZ".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("lA"),c=a("jZ"),i=b.extend(d,function(a,b){d.call(this);this.J=a;this.h=b;this.W=new c;this.hg=[];this.ca=i.ih;this.mn=this.Pi=this.mn=this.Ck=r;this.Cg=this.J.get("transitionDuration");this.jg=l});i.prototype.gq=function(a){this.W.gq(a)};i.prototype.yN=function(a){a.VN()&&this.b0();this.hg.push(a);this.ZS()};i.prototype.hide=function(){this.b0();this.hg.push(r);this.ZS()};i.prototype.clear=function(){this.ca=
i.ih;this.b0();this.wIa();this.Y5();this.h=r};i.prototype.gd=function(a){if(this.ca!=i.ih&&(this.ca==i.bn||this.ca==i.Rv)){this.jg=this.jg+a;a=Math.min(1,this.jg/this.Cg);this.ca==i.bn?this.h.dq(this.mn,a):this.h.dq(this.FQ,1-a);this.jg<this.Cg?this.Ba():this.ca==i.bn?this.BCa():this.DCa()}};i.prototype.ZS=function(){if(this.ca==i.ih){for(;this.hg.length>0&&this.Zya(this.hg[0],this.Pi);)this.hg.shift();this.hg.length>0&&this.Fo()}};i.prototype.Zya=function(a,b){return a==b||!!a&&!!b&&a.isEqual(b)};
i.prototype.Fo=function(){this.Pi&&(!this.hg[0]||this.hg[0].VN())&&this.Pi.Da!=(this.hg[0]&&this.hg[0].Da)&&this.trigger(new e(i.Qy,{map:this.Pi.Da}));if(this.J.get("transitionMode","blending")=="fade_out_fade_in"&&this.Pi&&(!this.hg[0]||this.hg[0].VN()))this.Zv();else{this.mn=(this.Ck=this.hg.shift())&&this.Ck.getItem();this.Ck?this.uI():this.Pi&&this.Zv()}};i.prototype.uI=function(){this.yya();this.Ck.VN()&&this.nJa();this.jg=0;this.ca=i.bn;this.Ba()};i.prototype.BCa=function(){this.Y5();this.Pi=
this.Ck;this.FQ=this.mn;this.mn=this.Ck=r;this.zw()};i.prototype.Zv=function(){this.jg=0;this.ca=i.Rv;this.Ba()};i.prototype.DCa=function(){this.Y5();this.Pi=r;this.zw()};i.prototype.zw=function(){this.ca=i.ih;this.Pi&&this.Pi.VN()&&this.trigger(new e(i.Ry,{map:this.Pi.Da}));this.hg.length==0?this.Pi?this.trigger(new e(i.KY,{level:this.Pi})):this.trigger(new e(i.wY)):this.Fo()};i.prototype.nJa=function(){var a=this.Ck.Da;this.Ck.tj();this.W.qO(a.get("width",100),a.get("height",100),a.get("scaleMode",
g.fh),a.get("minimumZoomFactor",1),a.get("maximumZoomFactor",1));this.W.gb(0.5,0.5,0,a.get("initialZoomFactor",1));this.h.xO(this.mn,this.W.getX(),this.W.getY(),this.W.SG(),this.W.Yp())};i.prototype.Ba=function(){this.trigger(new e(i.ob))};i.prototype.b0=function(){for(;this.hg.length>0;){var a=this.hg.shift();a&&this.h.yj(a.getItem())}};i.prototype.yya=function(){if(this.Ck){this.h.k9(this.mn);this.h.v9(this.mn);this.h.dq(this.mn,0);this.trigger(new e(i.JY,{level:this.Ck}))}};i.prototype.Y5=function(){if(this.Pi){this.h.removeItem(this.FQ);
this.trigger(new e(i.aP,{level:this.Pi}));this.h.yj(this.FQ);this.FQ=this.Pi=r}};i.prototype.wIa=function(){if(this.Ck){this.h.removeItem(this.mn);this.trigger(new e(i.aP,{level:this.Ck}));this.h.yj(this.mn);this.mn=this.Ck=r}};i.ih="stopped";i.bn="blending";i.Rv="disolving";i.ob="request frame";i.JY="level added";i.aP="level removed";i.KY="level fully displayed";i.wY="all pending maps hidden";i.Ry="map show";i.Qy="map hide";return i});
define("jY",["require","dZ","kL","x"],function(a){var b=a("dZ"),e=a("kL"),d=a("x");return{K_:[],ea:function(a,b,d,f){this.Wda(a,b,d,f,B)},QV:function(a,b,d,f){this.Wda(a,b,d,f,m)},Wda:function(a,b,i,f,j){function n(){for(var f=[],d=0;d<b.length;d++)try{f.push(a.get(b[d]))}catch(j){f.push(l),e.dX("BindingsHandler._addBinding",j)}i.apply(this,f)}Array.isArray(b)||(b=[b]);var n=j?e.aq(n,this.ha):n.bind(this.ha),k=[];b.forEach(function(b){k.push(d.watch(a,b,n,this.ha,!j))},this);this.K_.push({qUa:k,host:a,
Cb:b,TPa:i});f&&n()},da:function(a,c,d){var f=[];this.K_.forEach(function(j){j.TPa==d&&j.host==a&&b.isEqual(j.Cb,c)?j.qUa.forEach(function(a){a.unwatch()}):f.push(j)});this.K_=f}}});
define("kw",["require"],function(){function a(a,e){this.Da=a;this.Ea=a.get("image");this.je=e;this.p3=l}a.prototype.getItem=function(){switch(this.je){case a.mP:return this.Da.Lra();default:return this.Da.uj()}};a.prototype.tj=function(){switch(this.je){case a.mP:return this.Da.gC();default:return this.Da.Wp()}};a.prototype.VN=function(){return this.p3===l?0==this.getIndex():this.p3};a.prototype.xSa=R("p3");a.prototype.XN=function(){return this.je==a.Vba};a.prototype.isEqual=function(a){return a&&
this.Da==a.map&&this.je==a.type};a.prototype.getIndex=function(){return this.je==a.mP||this.Da.cH()?0:1};a.prototype.rra=function(){return this.Da.cH()?2:1};a.mP="preload";a.Vba="load";return a});
define("iu","require,kL,jY,nV,cu,fQ,kw,u".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("kw"),f=a("u"),j=b.extend(c,function(a){c.call(this);this.h=a;this.hg=[];this.VI=this.GA=this.ug=r;this.yA=B;this.$R=r;this.QS=b.aq(this.QS,this)});j.prototype.clear=function(){this.stop();this.h=r};j.prototype.hta=function(a,b){if(this.$R!=a||b){this.stop();this.Da=a;this.Da.ORa();e.QV(this.Da,"image.levels.url",this.QS);var c=[];a.cH()&&f.mb()&&c.push(new i(a,i.mP));c.push(new i(a,
i.Vba));c=c.filter(function(a){return a.getItem().gi()});if(c.length){this.hg=this.hg.concat(c);this.ZS()}}};j.prototype.QS=function(){this.reload()};j.prototype.reload=function(){this.hta(this.Da,m)};j.prototype.stop=function(){e.da(this.Da,"image.levels.url",this.QS);this.$R=this.Da=r;this.hg=[];this.$na();if(this.yA){this.yA=B;this.R7();this.h.yj(this.ug.getItem());this.ug=r;this.trigger(new g(j.bP))}};j.prototype.ZS=function(){this.yA||this.R3()};j.prototype.R3=function(){if(this.hg.length>0){this.ug=
this.hg.shift();if(!this.yA){this.yA=m;this.trigger(new g(j.$O,{level:this.ug,percent:0}))}this.Cza();this.h.$n(this.ug.getItem());this.h.UX(this.ug.getItem())&&this.x4()}else if(this.yA){this.yA=B;this.trigger(new g(j.bP))}};j.prototype.x4=function(){this.R7();this.LKa();this.ug=r;this.R3()};j.prototype.LKa=function(){this.$na();this.GA=this.ug;var a=this;this.VI=setTimeout(function(){a.VI=r;a.FGa()},500)};j.prototype.FGa=function(){var a=this.GA.Da;this.GA.xSa(a!=this.$R);this.$R=a;this.trigger(new g(j.LY,
{level:this.GA}));this.GA=r};j.prototype.$na=function(){if(this.VI!=r){clearTimeout(this.VI);this.VI=r;this.h.yj(this.GA.getItem());this.GA=r}};j.prototype.Jja=function(){this.R7();this.ug=r;this.R3()};j.prototype.Kja=function(a){this.trigger(new g(j.$O,{level:this.ug,percent:a.Fg}))};j.prototype.Cza=function(){var a=this.ug.getItem();a.bind(d.T,this.x4,this);a.bind(d.tc,this.Jja,this);a.bind(d.dc,this.Kja,this)};j.prototype.R7=function(){var a=this.ug.getItem();a.unbind(d.T,this.x4,this);a.unbind(d.tc,
this.Jja,this);a.unbind(d.dc,this.Kja,this)};j.$O="level loading progress";j.LY="level loaded";j.bP="load stopped";return j});
define("mT",["require"],function(){function a(a){return a&&0==a.indexOf("#")}function b(a){return[parseInt(a.substr(1,2),16),parseInt(a.substr(3,2),16),parseInt(a.substr(5,2),16)]}function e(a,b){return Math.max(Math.abs(a[0]-b[0]),Math.abs(a[1]-b[1]),Math.abs(a[2]-b[2]))}var d={RRa:function(d,c,i){if(a(d)){var f=b(d),j=l,n=256;c.forEach(function(c){if(a(c)){var d=e(f,b(c));d<n&&(j=c,n=d)}});if(j&&n<=i)return j}return d},vW:function(a,c){return e(b(a),b(c))}};d.fO=b;d.LC=function(a){a=b(a);return a[0]<<
16|a[1]<<8|a[2]<<0};d.$Va=a;return d});define("cE",["require"],function(){function a(a,e){this.x=a;this.y=e}a.prototype.rotate=function(a){var e=Math.cos(a),a=Math.sin(a),d=this.x*a+this.y*e;this.x=this.x*e-this.y*a;this.y=d;return this};a.prototype.translate=function(a,e){this.x+=a;this.y+=e;return this};a.prototype.scale=function(a,e){this.x*=a;this.y*=e;return this};return a});
define("lX",["require","lA","mn"],function(a){function b(a,b,i){this.ig=a;this.Nna=b;this.Lna=i;this.df=e.Dv;this.Ik=d.ke;this.ml=d.Sd}var e=a("lA"),d=a("mn");b.prototype.By=R("df");b.prototype.yH=R("Ik");b.prototype.FH=R("ml");b.prototype.PG=function(a,b,i){var f=this.Nna,j=this.Lna,n,k;switch(this.df){case e.NONE:k=n=1;break;case e.fh:n=k=Math.min(b/f,i/j);break;case e.mq:n=k=Math.max(b/f,i/j);break;case e.so:n=k=b/f;break;case e.Cj:n=k=i/j;break;default:n=b/f,k=i/j}var o=b/n;n=Math.min(this.Nna*
n,b);o=Math.min(o,f);switch(this.Ik){case d.Ha:f=b=0;break;case d.Va:b-=n;f-=o;break;default:b=0.5*(b-n),f=0.5*(f-o)}var p=i/k;k=Math.min(this.Lna*k,i);p=Math.min(p,j);switch(this.ml){case d.ec:j=i=0;break;case d.Zb:i-=k;j-=p;break;default:i=0.5*(i-k),j=0.5*(j-p)}a.drawImage(this.ig,Math.round(f),Math.round(j),Math.round(o+f-Math.round(f)),Math.round(p+j-Math.round(j)),Math.round(b),Math.round(i),Math.round(n+b-Math.round(b)),Math.round(k+i-Math.round(i)))};return b});
define("lH","require,nV,hA,cE,jV,lX".split(","),function(a){function b(a,b,n,i){this.h=a;this.Da=b;this.ge=this.Da.get("width");this.fe=this.Da.get("height");this.Pd=this.Da.uj();this.Sha=n;this.rn=i;this.nA=r;if(this.rn){this.NF=this.Sha.NF;this.X=this.rn.get("width");this.ia=this.rn.get("height");this.xa=this.rn.get("x",0);this.Aa=this.rn.get("y",0);this.Xt=this.rn.get("offsetX",0);this.Yt=this.rn.get("offsetY",0);if(this.Ua=this.rn.Wp()){this.vh=new c(d.Zm);this.vh.load(this.Ua.get("url"));this.vh.bind(e.T,
this.oka,this)}}else this.vh=r}var e=a("nV"),d=a("hA"),g=a("cE"),c=a("jV"),i=a("lX");b.prototype.clear=function(){this.rn=this.Sha=this.Pd=this.Da=this.h=r;if(this.vh){this.vh.unbind(e.T,this.oka,this);this.vh.cancel();this.vh=r}this.nA=r};b.prototype.Era=function(a,b){this.Tha=l;if(this.nA&&a!=l&&b!=l){var c=this.h.Ra()*0.5,d=this.h.yb()*0.5,e=this.h.zW(this.Pd)*Math.PI/180,i=this.h.NN(this.Pd),q=this.h.MN(this.Pd),t=this.h.ON(this.Pd),s=this.h.PN(this.Pd),u=new g(a,b);u.translate(-c,-d);u.rotate(-e);
u.scale(1/i,1/q);u.translate(t,s);u.scale(this.ge,this.fe);u.translate(-this.xa,-this.Aa);if(!this.NF){u.rotate(e);u.scale(i/this.ge,q/this.fe)}u.translate(this.Xt,this.Yt);c=Math.round(u.x);u=Math.round(u.y);if(c>=0&&c<this.nA.width&&u>=0&&u<this.nA.height){u=(this.nA.width*u+c)*4;c=this.nA.data;this.Tha=c[u+3]>0?"#"+this.Q_(c[u+0])+this.Q_(c[u+1])+this.Q_(c[u+2]):"transparent"}}return this.Tha};b.prototype.oka=function(){var a=new i(this.vh.hf(),this.Ua.get("width"),this.Ua.get("height"));a.By(this.rn.get("scaleMode"));
a.yH(this.rn.get("horizontalAlign"));a.FH(this.rn.get("verticalAlign"));var b=document.createElement("canvas");b.width=Math.round(this.X);b.height=Math.round(this.ia);var c=b.getContext("2d");a.PG(c,b.width,b.height);this.nA=c.getImageData(0,0,b.width,b.height);b.width=b.height=0};b.prototype.Q_=function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a};return b});
define("kr","require,dZ,kL,nV,cu,fQ,mT,lH,bb,nz,bD".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("mT"),f=a("lH"),j=a("bb"),n=a("nz"),k=a("bD"),o=e.extend(c,function(a,b,j){c.call(this);this.h=a;this.Da=b;this.Qb=j;this.ka=this.Qb.getItem();this.zp=this.Qb.Nra();this.Ap=this.Qb.Pra();this.Kt=this.sn=l;this.J=this.h.getParent();this.J.bind(d.Vc,this.Sf,this);this.J.bind(d.jc,this.NK,this);this.J.bind(d.Hb,this.rm,this);this.J.bind(d.ic,this.br,this);this.J.bind(d.oa,
this.jx,this);j.bind(d.u("selected"),this.Yka,this);j.bind(d.u("enabled"),this.cj,this);this.iS=new f(this.h,this.Da,this.Qb,this.Qb.get("map",r));this.kS=new f(this.h,this.Da,this.Qb,this.Qb.get("rollOverMap",this.Qb.get("map",r)));this.lS=new f(this.h,this.Da,this.Qb,this.Qb.get("selectedMap",this.Qb.get("rollOverMap",this.Qb.get("map",r))));this.wR=new f(this.h,this.Da,this.Qb,this.Qb.get("image",r));this.xR=new f(this.h,this.Da,this.Qb,this.Qb.get("rollOverImage",this.Qb.get("image",r)));this.yR=
new f(this.h,this.Da,this.Qb,this.Qb.get("selectedImage",this.Qb.get("rollOverImage",this.Qb.get("image",r))));this.wc=this.vc=l;this.jG=r;this.Xs=[];this.Fq=[];this.FI=[];this.kh={};this.Kia=[];this.lA=B;this.Gr=this.Qb.get("useHandCursor");this.N=r;this.aG=l;this.tU=this.iU=this.SR=0;a=this.Qb.get("areas",[]);for(b=0;b<a.length;b++){var j=a[b],e=j.get("mapColor");if(e){e=e.toLowerCase();if(this.kh[e]===l){this.kh[e]=[];this.Kia.push(e)}this.kh[e].push(j)}}if(this.ka){this.h.RV(this.Da.uj(),this.ka);
this.h.dq(this.ka,this.SR)}if(this.zp){this.h.RV(this.Da.uj(),this.zp);this.h.dq(this.zp,this.iU)}if(this.Ap){this.h.RV(this.Da.uj(),this.Ap);this.h.dq(this.Ap,this.tU)}this.bM("none");this.d8();this.fna(B);this.gna(this.Qb.get("selected"))});o.prototype.clear=function(){this.J.unbind(d.Vc,this.Sf,this);this.J.unbind(d.jc,this.NK,this);this.J.unbind(d.Hb,this.rm,this);this.J.unbind(d.ic,this.br,this);this.J.unbind(d.oa,this.jx,this);this.J=r;this.iS&&this.iS.clear();this.iS=r;this.kS&&this.kS.clear();
this.kS=r;this.lS&&this.lS.clear();this.lS=r;this.wR&&this.wR.clear();this.wR=r;this.xR&&this.xR.clear();this.xR=r;this.yR&&this.yR.clear();this.yR=r;this.Xs=[];this.sn=B;this.d8();this.Fq=[];this.FI=[];this.kh={};this.eoa();this.VM();this.Da=this.h=r;this.Qb.unbind(d.u("selected"),this.Yka,this);this.Ap=this.zp=this.ka=this.Qb=r};o.prototype.match=function(a){return this.Qb==a};o.prototype.gd=function(a){this.KE(B);if(this.N){this.N.ub(a);this.SR=this.N.fb("itemAlpha");this.iU=this.N.fb("rollOverItemAlpha");
this.tU=this.N.fb("selectedItemAlpha");this.ka&&this.h.dq(this.ka,this.SR);this.zp&&this.h.dq(this.zp,this.iU);this.Ap&&this.h.dq(this.Ap,this.tU);this.N.Se()?this.N=r:this.Ba()}};o.prototype.rm=function(a){this.vc=a.x-this.J.ql();this.wc=a.y-this.J.Ur();this.KE(m);this.Fq=this.Xs.slice()};o.prototype.Sf=function(a){this.vc=a.x-this.J.ql();this.wc=a.y-this.J.Ur();this.KE(m)};o.prototype.br=function(a){this.vc=a.x-this.J.ql();this.wc=a.y-this.J.Ur();this.KE(m);this.FI=b.intersection(this.Fq,this.Xs);
this.Fq=[]};o.prototype.jx=function(){if(this.FI){this.K7(this.FI,"click");this.FI=[]}};o.prototype.NK=function(){this.wc=this.vc=l;this.KE(m);this.Fq=this.Xs.slice()};o.prototype.Yka=function(){this.gna(this.Qb.get("selected"))};o.prototype.cj=function(){this.KE(m);this.Wf();this.Ba()};o.prototype.KE=function(a){this.hia=m;a?this.iG():this.MFa()||this.fLa()};o.prototype.fLa=function(){this.eoa();var a=this;this.jG=setTimeout(function(){a.jG=r;a.iG()},200)};o.prototype.MFa=function(){return this.jG?
m:B};o.prototype.eoa=function(){if(this.jG){clearTimeout(this.jG);this.jG=r}};o.prototype.iG=function(){if(this.hia){this.hia=B;var a=this.Xs,c=this.jDa();this.Xs=c;if(!this.J.tn){this.K7(b.difference(c,a),"rollOver");this.fna(c.length>0);this.K7(b.difference(a,c),"rollOut");this.VM()}}};o.prototype.VM=function(){for(var a="",b=0;b<this.Xs.length&&!a;b++){var c=this.Xs[b];c.get("toolTip")&&(a=c.get("toolTip"))}if(this.Bb!=a){this.Bb&&this.h.oRa(this.Bb);(this.Bb=a)&&this.h.vRa(this.Bb)}};o.prototype.d8=
function(){var a=this.sn&&(this.Gr!==B||b(this.Xs).any(function(a){return a.get("useHandCursor")===m}));if(this.lA!=a)(this.lA=a)?this.h.sX(j.vf):this.h.qH(j.vf)};o.prototype.jDa=function(){if(this.Qb.get("enabled")===B)return[];var a=[],b=this.Kt?this.lS:this.sn?this.kS:this.iS;if(b)if(b=b.Era(this.vc,this.wc)){this.kh.any&&(a=a.concat(this.kh.any));b=="transparent"&&this.kh.transparent&&(a=a.concat(this.kh.transparent));if(b!="transparent"){a=this.kh[b]?a.concat(this.kh[b]):a.concat(this.kh[i.RRa(b,
this.Kia,5)]||[]);this.kh.image&&(a=a.concat(this.kh.image))}}if(b=this.Kt?this.yR:this.sn?this.xR:this.wR)if(b=b.Era(this.vc,this.wc)){this.kh.any&&(a=a.concat(this.kh.any));b=="transparent"&&this.kh.transparent&&(a=a.concat(this.kh.transparent));b!="transparent"&&this.kh.image&&(a=a.concat(this.kh.image))}for(var b=[],c=0;c<a.length;c++){var f=a[c];b.indexOf(f)<0&&b.push(f)}return b};o.prototype.K7=function(a,b){if(a)for(var c=0;c<a.length;c++)a[c].trigger(new g(b))};o.prototype.fna=function(a){if(this.sn!=
a){this.sn=a;this.trigger(new g(o.FY));this.Wf();this.d8();this.Ba()}};o.prototype.gna=function(a){if(this.Kt!=a){this.Kt=a;this.Wf();this.Ba()}};o.prototype.Wf=function(){(this.sn||this.Qb.get("rollOverDisplay")!=m)&&this.Qb.get("enabled")!==B?this.Kt?this.bM("selected"):this.sn?this.bM("roll over"):this.bM("visible"):this.bM("none")};o.prototype.bM=function(a){if(this.aG!=a){this.aG=a;var c,f;if(b(["selected"]).contains(this.aG)&&this.Ap){f=1;a=c=0}else if(b(["selected","roll over"]).contains(this.aG)&&
this.zp){c=1;a=f=0}else if(b(["selected","roll over","visible"]).contains(this.aG)){a=1;f=c=0}else a=f=c=0;var d=this.SR,j=this.iU,e=this.tU,i=this.aG=="none"?"quad_out":"quad_in",g=Math.max(200*Math.abs(a-d),200*Math.abs(c-j),200*Math.abs(f-e));this.N=new n(i,[new k("itemAlpha",d,a),new k("rollOverItemAlpha",j,c),new k("selectedItemAlpha",e,f)],g)}};o.prototype.Ba=function(){this.trigger(new g(o.ob))};o.ob="request frame";o.FY="is over update";return o});
define("mm",["require","kL","js"],function(a){var b=a("kL"),e=a("js"),a=b.extend(e,function(a,b,c,i,f,j,n){e.call(this,e.$ca,a,b);this.oFa=c;this.pFa=i;this.IHa=f;this.JHa=j;this.kc=n;this.XM=[]});a.prototype.iC=S("kc");return a});
define("bS","require,kL,nV,cu,fQ,cE,mm".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("cE"),i=a("mm"),f=b.extend(g,function(a,b,c){g.call(this);this.h=a;this.J=this.h.getParent();this.J.bind(e.Hb,this.rm,this,m);this.J.bind(e.Vc,this.Sf,this,m);this.J.bind(e.wo,this.NK,this,m);this.Da=b;this.ge=this.Da.get("width");this.fe=this.Da.get("height");this.nIa=Math.sqrt(this.ge*this.ge+this.fe*this.fe)*this.Da.get("fieldOfViewOverlayRadiusScale",1);this.Pd=this.Da.uj();this.Gc=c;
this.qF=this.Gc.get("x",0);this.rF=this.Gc.get("y",0);this.tT=this.Gc.get("angle",0);this.ka=this.CBa();this.Vq=B;this.sa=0;this.ya=Math.PI*0.5;this.Cd=B;this.wc=this.vc=l;this.h.RV(this.Da.uj(),this.ka)});f.prototype.cva=function(a,b){this.sa=a+this.tT-90;this.ya=b;this.Ba()};f.prototype.clear=function(){this.J.unbind(e.Hb,this.rm,this);this.J.unbind(e.Vc,this.Sf,this);this.J.unbind(e.wo,this.NK,this);this.J=r;this.h.DRa(this.Da.uj(),this.ka);this.ka=this.Gc=this.Pd=this.Da=this.h=r};f.prototype.gd=
function(){this.h.ASa(this.ka,this.sa,this.ya)};f.prototype.CBa=function(){return new i(this.qF,this.rF,this.Da.get("fieldOfViewOverlayInsideColor","#FFFFFF"),this.Da.get("fieldOfViewOverlayInsideOpacity",0),this.Da.get("fieldOfViewOverlayOutsideColor","#000000"),this.Da.get("fieldOfViewOverlayOutsideOpacity",0),this.Da.get("fieldOfViewOverlayRadiusScale",1))};f.prototype.Ba=function(){this.trigger(new d(f.ob))};f.prototype.g8=function(){var a=B;if(this.vc!=l&&this.wc!=l){var b=this.h.Ra()*0.5,e=
this.h.yb()*0.5,i=this.h.zW(this.Pd)*Math.PI/180,g=this.h.NN(this.Pd),q=this.h.MN(this.Pd),t=this.h.ON(this.Pd),s=this.h.PN(this.Pd),a=new c(this.vc,this.wc);a.translate(-b,-e);a.rotate(-i);a.scale(1/g,1/q);a.translate(t,s);a.scale(this.ge,this.fe);a.translate(-this.qF,-this.rF);a.rotate(-this.sa*Math.PI/180);b=Math.round(Math.atan2(a.y,a.x)*180/Math.PI);a=Math.round(Math.sqrt(a.x*a.x+a.y*a.y))<=this.nIa&&Math.abs(b)<this.ya*0.5}if(this.Vq!=a){this.Vq=a;this.trigger(new d(f.lZ,{inFOV:this.Vq}))}};
f.prototype.nQa=S("Vq");f.prototype.rm=function(a){this.vc=a.x;this.wc=a.y;this.Cd=m;this.g8()};f.prototype.Sf=function(a){if(!this.Cd){this.vc=a.x;this.wc=a.y;this.g8()}};f.prototype.NK=function(){this.wc=this.vc=l;this.Cd=B;this.g8()};f.ob="request frame";f.lZ="mouse in fov change";return f});
define("nH","require,dZ,kL,cu,fQ,hQ,kr,bS".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("cu"),g=a("fQ"),c=a("hQ"),i=a("kr"),f=a("bS"),j=e.extend(g,function(a){g.call(this);this.h=a;this.aK=[];this.Ht=[];this.em=[];this.um=this.Gc=r});j.prototype.clear=function(){for(var a=0;a<this.Ht.length;a++)this.Ht[a].clear();for(a=0;a<this.em.length;a++)this.em[a].clear();this.h=this.aK=this.Gc=this.em=this.Ht=r};j.prototype.yN=function(a){a.XN()&&this.Kya(a.Da)};j.prototype.l$=function(a){a.XN()&&this.HIa(a.Da)};
j.prototype.kv=function(a){if(this.Gc!=a){this.Gc&&this.a6(this.Gc.get("map"));this.Gc=a;this.um=r;if(this.Gc){a=this.Gc.get("map");this.q3(a)&&this.Zda(a)}}};j.prototype.Qm=function(a,b,c,f){this.um={yaw:b,pitch:c,hfov:f};for(c=0;c<this.em.length;c++){var d=this.em[c];if(d.Gc==a){d.cva(b,f);break}}};j.prototype.Kya=function(a){if(this.q3(a)){this.nma(a);this.a6(a)}this.aK.push(a);this.Cya(a);this.Zda(a)};j.prototype.HIa=function(a){var b=this.aK.indexOf(a);b>=0&&this.aK.splice(b,1);if(!this.q3(a)){this.nma(a);
this.a6(a)}};j.prototype.q3=function(a){return b(this.aK).indexOf(a)>=0};j.prototype.gd=function(a){for(var b=0;b<this.Ht.length;b++)this.Ht[b].gd(a);for(b=0;b<this.em.length;b++)this.em[b].gd(a)};j.prototype.Cya=function(a){for(var b=a.get("overlays",[]),f=0;f<b.length;f++){var d=b[f];if(d instanceof c){d=new i(this.h,a,d);d.bind(i.ob,this.Ba,this,m);d.bind(i.FY,this.ria,this,m);this.Ht.push(d)}}};j.prototype.Zda=function(a){if(this.Gc&&this.Gc.get("map")==a&&this.Gc.get("visible")!==B){a=new f(this.h,
a,this.Gc);a.bind(f.ob,this.Ba,this,m);a.bind(f.lZ,this.LS,this,m);this.em.push(a);this.um&&a.cva(this.um.yaw,this.um.hfov)}this.LS()};j.prototype.nma=function(a){for(var a=a.get("overlays",[]),b=0;b<a.length;b++)for(var c=a[b],f=0;f<this.Ht.length;f++){var d=this.Ht[f];if(d.match(c)){d.unbind(i.ob,this.Ba,this);d.unbind(i.FY,this.ria,this);d.clear();this.Ht.splice(f,1);break}}};j.prototype.a6=function(a){for(var b=0;b<this.em.length;b++){var c=this.em[b];if(c.Da==a){c.unbind(f.ob,this.Ba,this);c.unbind(f.lZ,
this.LS,this);c.clear();this.em.splice(b,1);break}}this.LS()};j.prototype.ria=G();j.prototype.Ba=function(){this.trigger(new d(j.ob))};j.prototype.LS=function(){for(var a=B,b=0;b<this.em.length;b++)this.em[b].nQa()&&(a=m);this.trigger(new d(j.EY,{inFOV:a}))};j.ob="request frame";j.EY="in fov change";return j});
define("H","require,kL,nV,cu,fQ,jx,cE".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("jx"),i=a("cE"),f=b.extend(g,function(a){g.call(this);this.h=a;this.J=this.h.getParent();this.J.bind(e.Vc,this.Sf,this,m);this.J.bind(e.Hb,this.rm,this,m);this.J.bind(e.ic,this.br,this,m);this.Da=r;this.Pd=this.fe=this.ge=l;this.Gc=r;this.tT=this.rF=this.qF=l;this.Vq=B;this.wc=this.vc=this.pm=l;this.Cd=B;this.sa=0});f.prototype.clear=function(){this.J.unbind(e.Vc,this.Sf,this);this.J.unbind(e.Hb,
this.rm,this);this.J.unbind(e.ic,this.br,this);this.h=this.Gc=this.Pd=this.Da=this.J=r};f.prototype.wO=function(a){this.Vq=a;this.a8()};f.prototype.yN=function(a){a.XN()&&this.kna(a.Da)};f.prototype.l$=function(a){a.XN()&&this.Da==a.Da&&this.kna(r)};f.prototype.kna=function(a){if(this.Da!=a)if(this.Da=a){this.ge=this.Da.get("width");this.fe=this.Da.get("height");this.Pd=this.Da.uj()}else{this.fe=this.ge=l;this.Pd=r}};f.prototype.kv=function(a){if(this.Gc!=a)if(this.Gc=a){this.qF=this.Gc.get("x",0);
this.rF=this.Gc.get("y",0);this.tT=this.Gc.get("angle",0)}else this.tT=this.rF=this.qF=l};f.prototype.Qm=function(a,b){if(this.Gc==a)this.sa=b};f.prototype.gq=R("pm");f.prototype.rm=function(a){this.vc=a.x;this.wc=a.y;this.Cd=m;this.a8()};f.prototype.Sf=function(a){this.vc=a.x;this.wc=a.y;if(this.Ph){a=this.uha();this.trigger(new d(f.Bj,{yawDelta:a-this.Jc}));this.Jc=a}};f.prototype.br=function(a){this.vc=a.x;this.wc=a.y;this.Cd=B;this.a8()};f.prototype.a8=function(){var a=this.Cd&&this.Gc&&this.Da&&
(this.pm==c.DZ||this.Vq);if(this.Ph!=a)if(this.Ph=a)this.Jc=this.uha()};f.prototype.uha=function(){var a=this.h.Ra()*0.5,b=this.h.yb()*0.5,f=new i(this.vc,this.wc);f.translate(-a,-b);if(this.pm==c.DZ)return-Math.atan2(f.y,f.x)*180/Math.PI;var a=this.h.zW(this.Pd)*Math.PI/180,b=this.h.NN(this.Pd),d=this.h.MN(this.Pd),e=this.h.ON(this.Pd),g=this.h.PN(this.Pd);f.rotate(-a);f.scale(1/b,1/d);f.translate(e,g);f.scale(this.ge,this.fe);f.translate(-this.qF,-this.rF);return Math.atan2(f.y,f.x)*180/Math.PI};
f.Bj="request yaw change";return f});
define("mf",["require","kL","cu","fQ","bf"],function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("bf"),c=b.extend(d,function(a){d.call(this);this.K=m;this.fA=B;this.h=a});c.prototype.clear=function(){this.K=B;this.h=r};c.prototype.vb=function(){this.fA||(this.fA=m,g.vb(this.dj,this))};c.prototype.dj=function(a){this.K&&(this.fA=B,this.trigger(new e(c.oo,{frameTime:a})),this.trigger(new e(c.po,{frameTime:a})),this.h.render())};c.oo="frameStart";c.po="positionSet";return c});
define("dp","require,kL,nV,cu,fQ,nh,jj,iu,nH,H,mf".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("nh"),i=a("jj"),f=a("iu"),j=a("nH"),n=a("H"),k=a("mf"),o=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.zT=r;this.Uf=new k(this.h);this.ee=new f(this.h);this.Ca=new i(this.J,this.h);this.Na=new c(this.h);this.kp=new j(this.h);this.gr=new n(this.h);this.J.bind(e.Wc,this.kT,this,m);this.Uf.bind(k.oo,this.mx,this,m);this.Uf.bind(k.po,this.nx,
this,m);this.ee.bind(f.bP,this.KK,this);this.ee.bind(f.LY,this.dka,this);this.ee.bind(f.$O,this.eka,this);this.Ca.bind(i.ob,this.re,this,m);this.Ca.bind(i.JY,this.bka,this,m);this.Ca.bind(i.aP,this.fka,this,m);this.Ca.bind(i.KY,this.cka,this,m);this.Ca.bind(i.Qy,this.$t,this,m);this.Ca.bind(i.Ry,this.gx,this,m);this.Ca.bind(i.wY,this.rja,this,m);this.Na.bind(c.ob,this.re,this,m);this.Na.bind(c.Aj,this.cp,this);this.kp.bind(j.ob,this.re,this,m);this.kp.bind(j.EY,this.Tja,this,m);this.gr.bind(n.Bj,
this.$K,this,m);this.tga=B});o.prototype.gq=function(a){this.Na.gq(a);this.Ca.gq(a);this.gr.gq(a)};o.prototype.clear=function(){this.tga=m;this.ee.clear();this.Uf.clear();this.Na.clear();this.Ca.clear();this.kp.clear();this.gr.clear();this.J.unbind(e.Wc,this.kT,this);this.ee.unbind(f.bP,this.KK,this);this.ee.unbind(f.LY,this.dka,this);this.ee.unbind(f.$O,this.eka,this);this.Uf.unbind(k.oo,this.mx,this);this.Uf.unbind(k.po,this.nx,this);this.Ca.unbind(i.ob,this.re,this);this.Ca.unbind(i.JY,this.bka,
this);this.Ca.unbind(i.aP,this.fka,this);this.Ca.unbind(i.KY,this.cka,this);this.Ca.unbind(i.Qy,this.$t,this);this.Ca.unbind(i.Ry,this.gx,this);this.Ca.unbind(i.wY,this.rja,this);this.Na.unbind(c.Twa,this.re,this);this.Na.unbind(c.Aj,this.cp,this);this.kp.unbind(j.ob,this.re,this);this.kp.unbind(j.EY,this.Tja,this);this.gr.unbind(n.Bj,this.$K,this);this.J=this.h=this.gr=this.kp=this.Ca=this.Na=this.Uf=this.ee=r};o.prototype.kT=function(){if(this.zT){this.Zua(this.zT);this.zT=r}};o.prototype.Zua=function(a){this.h.set("visible",
m);if(this.J.Qw)this.ee.hta(a);else{this.ee.stop();this.Na.stop();this.Ca.hide();this.zT=a}};o.prototype.iv=function(){this.ee.stop();this.Na.stop();this.Ca.hide()};o.prototype.xj=function(a){this.Na.xj(a)};o.prototype.kv=function(a){if(!this.tga){this.Na.kv(a);this.kp.kv(a);this.gr.kv(a)}};o.prototype.Qm=function(a,b,c,f){this.Na.Qm(a,b,c,f);this.kp.Qm(a,b,c,f);this.gr.Qm(a,b,c,f)};o.prototype.eka=function(a){var b=a.data.level,a=(a.data.percent+100*b.getIndex())/b.rra();this.trigger(new d(o.vs,
{percent:a}))};o.prototype.dka=function(a){this.h.set("visible",m);a=a.data.level;this.Na.stop();this.Ca.yN(a)};o.prototype.KK=function(){this.trigger(new d(o.Py))};o.prototype.re=function(){this.Uf.vb()};o.prototype.mx=function(a){this.Na.fv(a.data.frameTime)};o.prototype.nx=function(a){a=a.data.frameTime;this.Ca.gd(a);this.Na.gd(a);this.kp.gd(a)};o.prototype.bka=function(a){a=a.data.level;this.kp.yN(a);this.gr.yN(a)};o.prototype.fka=function(a){a=a.data.level;this.kp.l$(a);this.gr.l$(a)};o.prototype.cka=
function(a){a=a.data.level;a.XN()&&this.Na.start(a)};o.prototype.rja=function(){this.h.set("visible",B)};o.prototype.Tja=function(a){a=a.data.inFOV;this.Na.wO(a);this.gr.wO(a)};o.prototype.gx=function(a){this.trigger(new d(o.Ry,{map:a.data.map}))};o.prototype.$t=function(a){this.trigger(new d(o.Qy,{map:a.data.map}))};o.prototype.cp=function(a){this.trigger(new d(o.Aj,a.data))};o.prototype.$K=function(a){this.trigger(new d(o.Bj,{yawDelta:a.data.yawDelta}))};o.Aj="movementChange";o.Py="loadingEnd";
o.vs="loadingProgress";o.Ry="mapShow";o.Qy="mapHide";o.Bj="requestYawChange";return o});define("kg",["require","hA"],function(a){function b(){this.status=b.jP;this.baa=this.xC=0;this.aaa=[]}a("hA");b.LOADING="loading";b.T="loaded";b.jP="not loaded";return b});
define("kI","require,dZ,kL,cu,nV,jV,kg".split(","),function(a){function b(){this.wga={};this.Od=[];this.ax=[];this.Xc={}}var e=a("dZ"),d=a("kL");a("cu");var g=a("nV"),c=a("jV"),i=a("kg");b.prototype.UX=function(a){for(var a=a.as(),b=0,c=a.length;b<c;b++)if(this.nJ(a[b]).status!=i.T)return B;return m};b.prototype.$n=function(a,b){this.Od.push(a);this.Fya(a,b)};b.prototype.yj=function(a,b){var c=e(this.Od).indexOf(a);c<0&&h("Unloading item not loaded");this.Od.splice(c,1);this.EIa(a,b)};b.prototype.hf=
function(a,b){return this.Xc[a].hf(b)};b.prototype.Fya=function(a,b){this.ax.push(a);for(var c=a.as(),d=0,e=c.length;d<e;d++){var g=c[d],q=this.nJ(g);q.xC++;q.aaa.push(b);if(q.status==i.jP){q.status=i.LOADING;this.bGa(g,Math.min.apply(Math,q.aaa))}}this.fpa()};b.prototype.EIa=function(a,b){this.ax=e(this.ax).without(a);for(var c=a.as(),d=0,g=c.length;d<g;d++){var p=c[d],q=this.nJ(p);q.xC--;var t=q.aaa,s=t.indexOf(b);s>=0&&t.splice(s,1);if(q.xC==0&&q.status!=i.jP){q.status=i.jP;q.baa=0;this.mMa(p)}}};
b.prototype.fpa=function(a){for(var a=(a==l?this.ax:this.sha(a)).slice(),b=0;b<a.length;b++){for(var c=a[b],d=c.as(),g=0,p=0,q=d.length,t=0;t<d.length;t++){var s=this.nJ(d[t]),g=g+s.baa;s.status==i.T&&p++}c.LSa(g/q);if(p==q){c.Daa();this.ax=e(this.ax).without(c)}}};b.prototype.nJ=function(a){var b=this.wga[a];b||(this.wga[a]=b=new i);return b};b.prototype.sha=function(a){for(var b=[],c=0;c<this.ax.length;c++){var d=this.ax[c];e(d.as()).contains(a)&&b.push(d)}return b};b.prototype.bGa=function(a,b){var d=
new c(b);this.Xc[a]=d;d.bind(g.T,this.LK,this,m);d.bind(g.tc,this.MK,this,m);d.load(a)};b.prototype.mMa=function(a){var b=this.Xc[a];delete this.Xc[a];b.unbind(g.T,this.LK,this);b.unbind(g.tc,this.MK,this);b.cancel()};b.prototype.LK=function(a){var a=a.source.gi(),b=this.nJ(a);b.baa=100;b.status=i.T;this.fpa(a)};b.prototype.MK=function(a){for(var a=a.source.gi(),b=this.sha(a),c=0;c<b.length;c++){var e=b[c];this.yj(e);e.kSa()}d.log("Error loading: "+a)};return b.$d=new b});
define("hc",["require","jquery.mod","u"],function(a){function b(a,b){this.ka=a;this.Z=b;this.VJ=0;this.qr=this.pr=0.5;this.ak=0;this.bb=1;this.Fp=this.Qt=this.ia=this.X=0;this.kc=1;this.KR=this.MR=m;this.ba=e("<canvas/>");this.I=this.ba.get(0);this.ha=this.I.getContext("2d")}var e=a("jquery.mod"),a=a("u");b.prototype.getItem=S("ka");b.prototype.BN=function(a){return this.ka==a?this:r};b.prototype.jW=function(a){return this.ka==a?[this]:[]};b.prototype.qj=function(){this.Z&&this.Z.u9(this)};b.prototype.Ve=
function(a){this.ZJa(a)};b.prototype.hna=function(a){this.VJ!=a&&(this.VJ=a,this.Z&&this.Z.YW())};b.prototype.ZJa=function(a){this.bb!=a&&(this.bb=a,this.XW())};b.prototype.BU=function(a){this.ak!=a&&(this.ak=a,this.XW())};b.prototype.aM=function(a,b){if(this.X!=a||this.ia!=b)this.X=a,this.ia=b,this.UW()};b.prototype.fl=function(a,b){if(this.Qt!=a||this.Fp!=b)this.Qt=a,this.Fp=b,this.XW()};b.prototype.XW=function(){this.Z&&this.Z.VW()};b.prototype.Wd=function(){this.MR=m};b.prototype.Ja=function(){this.MR&&
(this.MR=B,this.Dg())};b.prototype.Dg=G();b.prototype.UW=function(){this.KR=m;this.XW()};b.prototype.YX=function(){if(this.KR){this.KR=B;if(this.I.width!=this.X||this.I.height!=this.ia)this.I.width=Math.round(this.X),this.I.height=Math.round(this.ia);this.ha.clearRect(0,0,this.I.width,this.I.height);this.Vf()}};b.prototype.Vf=G();b.prototype.GOa=function(a){if(0<this.bb&&1<=this.X&&1<=this.ia){a.save();var b=Math.round(this.Qt),c=Math.round(this.Fp),e=Math.round(this.X*this.pr),f=Math.round(this.ia*
this.qr);a.scale(this.kc,this.kc);a.translate(b+e,c+f);a.rotate(this.ak*Math.PI/180);a.globalAlpha=this.bb;a.drawImage(this.I,-e,-f);a.restore()}};b.prototype.oW=function(){this.I.width=this.I.height=1;this.MR=this.KR=m};b.Xba=window.devicePixelRatio||1;b.wj=b.Xba;b.jxa=a.Xd()==a.mi?16E6:256E6;return b});
define("me",["require","dZ","kL","hc"],function(a){var b=a("dZ"),e=a("kL"),d=a("hc"),a=e.extend(d,function(a,b){d.call(this,a,b);this.$b=[];this.OV=r;this.Ou=m});a.prototype.aqa=function(a){(a=this.t0(a))||h("Container renderer can't create child renderer for an item");this.$b.push(a);this.YW();this.VW()};a.prototype.t0=G();a.prototype.mua=function(a){if(a=this.Qr(a))this.$b=b.without(this.$b,a),this.YW(),this.VW()};a.prototype.BN=function(a){for(var b=d.prototype.BN.call(this,a),e=0;e<this.$b.length&&
!b;e++)b=this.$b[e].BN(a);return b};a.prototype.jW=function(a){for(var b=d.prototype.jW.call(this,a),e=0;e<this.$b.length;e++)b=b.concat(this.$b[e].jW(a));return b};a.prototype.Qr=function(a){for(var b=r,d=0;d<this.$b.length&&!b;d++)this.$b[d].getItem()==a&&(b=this.$b[d]);for(d=0;d<this.$b.length&&!b;d++)this.$b[d].getItem().dQa(a)&&(b=this.$b[d]);return b};a.prototype.u9=function(a){this.$b=b.without(this.$b,a);this.$b.push(a);this.YW();this.VW()};a.prototype.YW=function(){this.Ou=m;this.Wd()};a.prototype.VW=
function(){this.UW()};a.prototype.Ja=function(){d.prototype.Ja.call(this);for(var a=0;a<this.$b.length;a++)this.$b[a].Ja()};a.prototype.Dg=function(){if(this.Ou){this.Ou=B;for(var a=[],b=0;b<this.$b.length;b++){var e=this.$b[b];a.push({l:e.VJ,z:b,r:e})}a.sort(function(a,b){return a.l==b.l?a.z-b.z:a.l-b.l});this.OV=[];for(b=0;b<a.length;b++)this.OV.push(a[b].r);this.UW()}d.prototype.Dg.call(this)};a.prototype.YX=function(){for(var a=0;a<this.$b.length;a++)this.$b[a].YX();d.prototype.YX.call(this)};
a.prototype.Vf=function(){for(var a=0;a<this.OV.length;a++)this.OV[a].GOa(this.ha);d.prototype.Vf.call(this)};a.prototype.oW=function(){for(var a=0;a<this.$b.length;a++)this.$b[a].oW();d.prototype.oW.call(this)};return a});define("Q",["require","kL","hc"],function(a){var b=a("kL"),e=a("hc"),a=b.extend(e,function(a,b){e.call(this,a,b)});a.prototype.DX=G();return a});
define("ih",["require","kL","Q","u"],function(a){var b=a("kL"),e=a("Q"),d=a("u"),a=b.extend(e,function(a,b){e.call(this,a,b);this.yT=this.Z.getItem().bd();this.xT=this.Z.getItem().Rd();this.kc=2;this.fE=0;this.ya=0.5*Math.PI;this.l3=this.m3=m;this.Mk=1;this.LR=m;this.hna(1)});a.prototype.DX=function(a,b){this.Mk!=b&&(this.Mk=b,this.LR=m,this.Wd())};a.prototype.xaa=function(a,b){this.ya!=b&&(this.ya=b,this.m3=m,this.Wd());this.fE!=a&&(this.fE=a,this.l3=m,this.Wd())};a.prototype.Dg=function(){this.m3&&
(this.m3=B,this.UW());if(this.LR||this.l3){this.l3=this.LR=B;var a=Math.ceil(Math.sqrt(this.yT*this.yT+this.xT*this.xT));this.kc=Math.max(1,a/(d.Xd()==d.mi?1024:4096));var b=this.Mk/this.kc,i=this.ka.getX()*b,a=this.ka.getY()*b,f=b*this.xT,b=Math.max(i,b*this.yT-i),f=Math.max(a,f-a),f=2*Math.ceil(Math.sqrt(b*b+f*f)),j=this.fE*Math.PI/180,b=Math.cos(j),j=Math.sin(j),i=i-this.pr*f-(0.5-this.pr)*f*b+(0.5-this.qr)*f*j,a=a-this.qr*f-(0.5-this.qr)*f*b-(0.5-this.pr)*f*j;this.LR=B;this.fl(i,a);this.aM(f,
f);this.BU(this.fE)}e.prototype.Dg.call(this)};a.prototype.Vf=function(){var a=this.ka.pFa,b=this.ka.JHa;if(0<b||0<a){var d=this.Mk*this.yT,f=this.Mk*this.xT,d=Math.ceil(Math.sqrt(d*d+f*f))*this.ka.iC()/this.kc,f=Math.round(0.5*this.X),j=Math.round(0.5*this.ia),n=this.ya*Math.PI/180,k=0.5*-n,n=k+n;0<b&&(this.ha.fillStyle=this.ka.IHa,this.ha.globalAlpha=b,this.ha.rect(0,0,this.X,this.ia),this.ha.fill(),this.ha.globalCompositeOperation="destination-out",this.ha.fillStyle="#FFFFFF",this.ha.globalAlpha=
1,this.ha.beginPath(),this.ha.moveTo(f,j),this.ha.arc(f,j,d,k,n,B),this.ha.lineTo(f,j),this.ha.closePath(),this.ha.fill(),this.ha.globalCompositeOperation="source-over");0<a&&(this.ha.fillStyle=this.ka.oFa,this.ha.globalAlpha=a,this.ha.beginPath(),this.ha.moveTo(f,j),this.ha.arc(f,j,d,k,n,B),this.ha.lineTo(f,j),this.ha.closePath(),this.ha.fill())}e.prototype.Vf.call(this)};return a});
define("j","require,kL,hc,Q,kI,lX".split(","),function(a){var b=a("kL"),e=a("hc"),d=a("Q"),g=a("kI"),c=a("lX"),a=b.extend(d,function(a,b){d.call(this,a,b);this.hna(this.ka.Hma?0:2);this.Mb=g.hf(this.ka.gi());this.pU=new c(this.Mb,this.Mb.width,this.Mb.height);this.pU.By(this.ka.df);this.pU.FH(this.ka.ml);this.pU.yH(this.ka.Ik);this.ZJ=0;this.Mk=1;this.V3=m});a.prototype.DX=function(a,b){if(this.ZJ!=a||this.Mk!=b){this.ZJ=a;this.Mk=b;this.V3=m;this.Wd()}};a.prototype.Dg=function(){if(this.V3){this.V3=
B;var a=this.ka.getX(),b=this.ka.getY(),c=this.ka.bd(),n=this.ka.Rd(),g=this.ka.Xt,o=this.ka.Yt;if(this.ka.Hma){this.BU(0);this.fl((a-g)*this.Mk,(b-o)*this.Mk);this.aM(c*this.Mk,n*this.Mk)}else{var c=c*e.wj,n=n*e.wj,g=g*e.wj,o=o*e.wj,p=Math.cos(-this.ZJ*Math.PI/180),q=Math.sin(-this.ZJ*Math.PI/180),a=a*this.Mk-this.pr*c-(g-this.pr*c)*p+(o-this.qr*n)*q,b=b*this.Mk-this.qr*n-(o-this.qr*n)*p-(g-this.pr*c)*q;this.BU(-this.ZJ);this.fl(a,b);this.aM(c,n)}}d.prototype.Dg.call(this)};a.prototype.Vf=function(){this.pU.PG(this.ha,
this.I.width,this.I.height);d.prototype.Vf.call(this)};return a});
define("hN","require,kL,lA,kI,de,js,ih,j,me".split(","),function(a){var b=a("kL"),e=a("lA"),d=a("kI"),g=a("de"),c=a("js"),i=a("ih"),f=a("j"),j=a("me"),a=b.extend(j,function(a,b){j.call(this,a,b,a.An);this.qb=this.ka.bd();this.Ib=this.ka.Rd();this.df=this.ka.df;this.ZQ=this.ka.I1;this.md=this.dd=100;this.j0=m;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.xL=m;this.Ne=1;this.Mb=d.hf(this.ka.gi())});a.prototype.t0=function(a){a.ue()!=g.dda&&h("Invalid item type");switch(a.LHa){case c.$ca:a=new i(a,this);
break;case c.bda:a=new f(a,this);break;default:a=r}a&&a.DX(this.Jc,this.Ne*this.Sa);return a};a.prototype.getX=S("xa");a.prototype.getY=S("Aa");a.prototype.SG=S("Jc");a.prototype.Yp=S("Sa");a.prototype.Ra=function(){return Math.round(this.qb*this.Sa*this.Ne)};a.prototype.yb=function(){return Math.round(this.Ib*this.Sa*this.Ne)};a.prototype.AC=function(a,b){if(this.dd!=a||this.md!=b){this.dd=a;this.md=b;this.j0=m;this.Wd()}};a.prototype.gb=function(a,b,c,f){if(this.xa!=a||this.Aa!=b||this.Jc!=c||this.Sa!=
f){this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.xL=m;this.Wd()}};a.prototype.Dg=function(){if(this.j0){this.j0=B;switch(this.df){case e.NONE:this.Ne=1;break;case e.so:this.Ne=this.dd/this.qb;break;case e.Cj:this.Ne=this.md/this.Ib;break;case e.mq:this.Ne=this.qb*this.md>this.Ib*this.dd?this.md/this.Ib:this.dd/this.qb;break;default:this.Ne=this.qb*this.md>this.Ib*this.dd?this.dd/this.qb:this.md/this.Ib}this.xL=m}if(this.xL){this.xL=B;var a=this.Ra(),b=this.yb(),c=Math.cos(this.Jc*Math.PI/180),f=Math.sin(this.Jc*
Math.PI/180);this.fl(this.dd*0.5-this.pr*a+(this.pr-this.xa)*c*a-(this.qr-this.Aa)*f*b,this.md*0.5-this.qr*b+(this.qr-this.Aa)*c*b+(this.pr-this.xa)*f*a);this.BU(this.Jc);this.aM(a,b);for(a=0;a<this.$b.length;a++)this.$b[a].DX(this.Jc,this.Ne*this.Sa)}j.prototype.Dg.call(this)};a.prototype.Vf=function(){var a=Math.round(this.X),b=Math.round(this.ia);if(this.ZQ){this.ha.save();this.ha.translate(a,0);this.ha.scale(-1,1);this.ha.drawImage(this.Mb,0,0,a,b);this.ha.restore()}else this.ha.drawImage(this.Mb,
0,0,a,b);j.prototype.Vf.call(this)};return a});
define("gx","require,dZ,kL,de,me,hN".split(","),function(a){a("dZ");var b=a("kL"),e=a("de"),d=a("me"),g=a("hN"),a=b.extend(d,function(){d.call(this,r,r);this.X_=m});a.prototype.Ac=S("ba");a.prototype.render=function(){this.Ja();this.YX()};a.prototype.wPa=function(){for(var a=1,b=0;b<this.$b.length;b++){var f=this.$b[b],f=f.Ra()*f.yb();a<f&&(a=f)}return a};a.prototype.t0=function(a){a.ue()!=e.cda&&h("Invalid item type");a=new g(a,this);a.AC(this.X,this.ia);a.gb(0.5,0.5,0,1);return a};a.prototype.setSize=
function(a,b){this.aM(a,b);this.X_=m;this.Wd()};a.prototype.Dg=function(){if(this.X_){this.X_=B;for(var a=0;a<this.$b.length;a++)this.$b[a].AC(this.X,this.ia)}d.prototype.Dg.call(this)};return a});
define("mN",["require"],function(){var a=Math.PI/180,b=180/Math.PI;return{create:function(){return{x:0,y:0,z:0,w:0}},mra:function(b,d,g){var d=d*a,b=-b*a,c=g*a,g=Math.cos(b/2),b=Math.sin(b/2),i=Math.cos(c/2),c=Math.sin(c/2),f=Math.cos(d/2),d=Math.sin(d/2),j={};j.w=g*i*f-b*c*d;j.x=g*i*d+b*c*f;j.y=b*i*f+g*c*d;j.z=g*c*f-b*i*d;return j},iba:function(a){var d=a.x*a.y+a.z*a.w,g={};if(0.499<d)g.Ka=-2*Math.atan2(a.x,a.w),g.Ie=-Math.PI/2,g.pitch=0;else if(-0.499>d)g.Ka=2*Math.atan2(a.x,a.w),g.Ie=Math.PI/2,
g.pitch=0;else{var c=a.x*a.x,i=a.z*a.z;g.Ka=-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*i);g.Ie=-Math.asin(2*d);g.pitch=Math.atan2(2*a.x*a.w-2*a.y*a.z,1-2*c-2*i);g.pitch=Math.min(Math.PI/2,Math.max(-Math.PI/2,g.pitch))}g.Ka*=b;g.pitch*=b;g.Ie*=-b;return g},Ka:function(a){var d=a.x*a.y+a.z*a.w;return 0.499<d?-2*Math.atan2(a.x,a.w)*b:-0.499>d?2*Math.atan2(a.x,a.w)*b:-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*a.z*a.z)*b}}});
define("mY",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(a,e){this.x=a||0;this.y=e||0};a.Vector2.prototype={constructor:a.Vector2,set:function(a,e){this.x=a;this.y=e;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},subVectors:function(a,e){this.x=a.x-e.x;this.y=a.y-e.y;return this}};a.Vector3=function(a,e,d){this.x=a||0;this.y=e||0;this.z=d||0};a.Vector3.prototype={constructor:a.Vector3,set:function(a,e,d){this.x=a;this.y=e;this.z=
d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var a=this.length();0!==a?this.multiplyScalar(1/a):this.z=this.y=this.x=0;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a},applyQuaternion:function(a){var e=this.x,d=this.y,g=this.z,c=a.x,i=a.y,f=a.z,a=a.w,j=a*e+i*g-f*d,n=a*d+f*e-c*g,k=a*g+c*d-i*e,e=-c*e-i*d-f*g;this.x=j*a+e*-c+n*-f-k*-i;this.y=n*a+e*
-i+k*-c-j*-f;this.z=k*a+e*-f+j*-i-n*-c;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},crossVectors:function(a,e){var d=a.x,g=a.y,c=a.z,i=e.x,f=e.y,j=e.z;this.x=g*j-c*f;this.y=c*i-d*j;this.z=d*f-g*i;return this}};a.Quaternion=function(a,e,d,g){this.x=a||0;this.y=e||0;this.z=d||0;this.w=g!==l?g:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(a,e,d,g){this.x=a;this.y=e;this.z=d;this.w=g;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;
return this},Rua:function(a,e,d){var g=Math.cos(a/2),c=Math.cos(e/2),i=Math.cos(d/2),a=Math.sin(a/2),e=Math.sin(e/2),d=Math.sin(d/2);this.x=a*c*i+g*e*d;this.y=g*e*i-a*c*d;this.z=g*c*d-a*e*i;this.w=g*c*i+a*e*d;return this},setFromAxisAngle:function(a,e){var d=e/2,g=Math.sin(d);this.x=a.x*g;this.y=a.y*g;this.z=a.z*g;this.w=Math.cos(d);return this},multiply:function(a){return this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,e){var d=a.x,g=a.y,c=a.z,i=a.w,f=e.x,j=e.y,n=e.z,k=e.w;this.x=
d*k+i*f+g*n-c*j;this.y=g*k+i*j+c*f-d*n;this.z=c*k+i*n+d*j-g*f;this.w=i*k-d*f-g*j-c*n;return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;this.normalize();return this},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===a?(this.z=this.y=this.x=0,this.w=1):(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a);return this},slerp:function(a,e){if(0===e)return this;if(1===e)return this.copy(a);var d=this.x,g=this.y,c=this.z,i=this.w,f=i*a.w+d*a.x+g*
a.y+c*a.z;0>f?(this.w=-a.w,this.x=-a.x,this.y=-a.y,this.z=-a.z,f=-f):this.copy(a);if(1<=f)return this.w=i,this.x=d,this.y=g,this.z=c,this;var j=Math.acos(f),n=Math.sqrt(1-f*f);if(0.001>Math.abs(n))return this.w=0.5*(i+this.w),this.x=0.5*(d+this.x),this.y=0.5*(g+this.y),this.z=0.5*(c+this.z),this;f=Math.sin((1-e)*j)/n;j=Math.sin(e*j)/n;this.w=i*f+this.w*j;this.x=d*f+this.x*j;this.y=g*f+this.y*j;this.z=c*f+this.z*j;return this},setFromUnitVectors:function(){var b,e;return function(d,g){b===l&&(b=new a.Vector3);
e=d.dot(g)+1;1.0E-6>e?(e=0,Math.abs(d.x)>Math.abs(d.z)?b.set(-d.y,d.x,0):b.set(0,-d.z,d.y)):b.crossVectors(d,g);this.x=b.x;this.y=b.y;this.z=b.z;this.w=e;this.normalize();return this}}()};return a});
define("fb",["require","nV","cu","fQ","mY"],function(a){function b(){n||(n=m,q=new j.Vector3(0,0,1),t=new j.Quaternion,s=new j.Quaternion(-Math.sqrt(0.5),0,0,Math.sqrt(0.5)),u=new j.Quaternion,d(),window.addEventListener("orientationchange",d,B),window.addEventListener("deviceorientation",g,B),e())}function e(){if(w&&!(o===l||p===l)){w=B;var a=j.degToRad*p;u.Rua(j.degToRad*o.beta,j.degToRad*o.alpha,-(j.degToRad*o.gamma));u.multiply(s);u.multiply(t.setFromAxisAngle(q,-a));v||(x++,5<=x&&(v=m,k.trigger(new i(c.Ic))));
k.trigger(new i(c.ra))}}function d(){p=window.orientation||0;w=m;e()}function g(a){o=a;w=m;e()}var c=a("nV"),i=a("cu"),f=a("fQ"),j=a("mY"),n=B,k=new f,o,p,q,t,s,u,w,v=B,x=0;b.prototype.Xr=function(){e();return u};b.prototype.bind=function(){k.bind.apply(k,arguments)};b.prototype.unbind=function(){k.unbind.apply(k,arguments)};b.prototype.stop=function(){window.removeEventListener("orientationchange",d,B);window.removeEventListener("deviceorientation",g,B)};return b});
define("iw","require,nV,cu,fQ,u,mY".split(","),function(a){function b(a){this.QQa=a;this.B9=new g;this.dW=new g;this.$$=new g;this.YB=new n.Quaternion;this.Z$=new n.Quaternion;this.$pa=new n.Quaternion;this.Lsa=B;this.gW=new n.Vector3;this.L$=new n.Vector3;this.RPa=new n.Quaternion}function e(){this.Ata=B;this.zta=0;this.mN=new n.Vector3;this.IW=new n.Vector3;this.filter=new b(o);this.pRa=new d(p);this.fH=q.fH();this.Mm=q.Mm();q.P9();this.E$=q.yQa();this.iW=new n.Quaternion;q.Mm()?this.iW.setFromAxisAngle(new n.Vector3(1,
0,0),Math.PI/2):this.iW.setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2);this.u$=new n.Quaternion;this.KH=new n.Quaternion;this.fRa=new n.Quaternion;this.fRa.setFromAxisAngle(new n.Vector3(0,0,1),-window.orientation*Math.PI/180);this.eva();q.DQa()&&this.iW.multiply(this.u$);this.tua=new n.Quaternion;this.fH=q.fH();this.Mm=q.Mm();this.xQa=q.P9()>=66;this.sC=this.sC.bind(this);this.cO=this.cO.bind(this);this.bO=this.bO.bind(this);screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change",
this.sC):window.addEventListener("orientationchange",this.sC);this.E$?window.addEventListener("deviceorientation",this.cO):window.addEventListener("devicemotion",this.bO)}function d(a){this.qRa=a;this.qX=new n.Quaternion;this.uH=r;this.Pqa=new n.Quaternion;this.eO=new n.Quaternion}function g(a,b){this.set(a,b)}var c=a("nV"),i=a("cu"),f=a("fQ"),j=a("u"),n=a("mY"),k=new f,o=0.98,p=0.04;b.prototype.NNa=function(a,b){this.B9.set(a,b)};b.prototype.SNa=function(a,b){this.dW.set(a,b);q.NQa(b-this.$$.VX)&&
this.PRa();this.$$.copy(this.dW)};b.prototype.PRa=function(){if(this.Lsa){var a=this.SPa(this.dW.sample,this.dW.VX-this.$$.VX);this.RPa.multiply(a);this.YB.copy(this.Z$);this.YB.multiply(a);a=new n.Quaternion;a.copy(this.YB);a.inverse();this.gW.set(0,0,-1);this.gW.applyQuaternion(a);this.gW.normalize();this.L$.copy(this.B9.sample);this.L$.normalize();a=new n.Quaternion;a.setFromUnitVectors(this.gW,this.L$);a.inverse();var b=new n.Quaternion;b.copy(this.YB);b.multiply(a);this.YB.slerp(b,1-this.QQa);
this.Z$.copy(this.YB)}else{this.$pa=this.MNa(this.B9.sample);this.Z$.copy(this.$pa);this.Lsa=m}};b.prototype.Xr=S("YB");b.prototype.MNa=function(a){var b=new n.Vector3;b.copy(a);b.normalize();a=new n.Quaternion;a.setFromUnitVectors(new n.Vector3(0,0,-1),b);a.inverse();return a};b.prototype.SPa=function(a,b){var c=new n.Quaternion,f=new n.Vector3;f.copy(a);f.normalize();c.setFromAxisAngle(f,a.length()*b);return c};e.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&&
screen.orientation.removeEventListener("change",this.sC);window.removeEventListener("orientationchange",this.sC);window.removeEventListener("deviceorientation",this.cO);window.removeEventListener("devicemotion",this.bO)};e.prototype.pk=T(r);e.prototype.Xr=function(){var a=l;if(this.E$&&this.EQ){this.Rqa=this.Rqa||function(){var a=(new n.Quaternion).setFromAxisAngle(new n.Vector3(0,0,-1),0),b=new n.Quaternion;this.rU=="landscape-secondary"?b.setFromAxisAngle(new n.Vector3(0,1,0),Math.PI/-2):b.setFromAxisAngle(new n.Vector3(0,
1,0),Math.PI/2);return a.multiply(b)}();this.Qqa=this.Qqa||function(){var a=new n.Quaternion;a.setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2);return a}();var a=this.EQ,b=new n.Quaternion;b.copy(a);b.multiply(this.Qqa);b.multiply(this.tua);b.multiply(this.KH);b.multiplyQuaternions(this.Rqa,b);if(this.FWa){b.x=0;b.z=0;b.normalize()}this.mX[0]=b.x;this.mX[1]=b.y;this.mX[2]=b.z;this.mX[3]=b.w;return this.mX}a=this.pRa.EPa(this.filter.Xr(),this.IW,this.uH);b=new n.Quaternion;b.copy(this.iW);b.multiply(this.tua);
b.multiply(a);b.multiply(this.KH);return b};e.prototype.cO=function(a){this.EQ=this.EQ||new n.Quaternion;var b=a.alpha,c=a.uVa,a=a.MVa,b=(b||0)*Math.PI/180,c=(c||0)*Math.PI/180,a=(a||0)*Math.PI/180;this.EQ.Rua(c,b,-a)};e.prototype.bO=function(a){var b=a.rotationRate;if(b){var f=a.accelerationIncludingGravity,a=a.timeStamp/1E3;this.fH&&(a=a/1E3);var d=a-this.uH;if(d<=q.aca||d>q.Yba)this.uH=a;else{this.mN.set(-f.x,-f.y,-f.z);this.IW.set(b.alpha,b.beta,b.gamma);(this.Mm||this.fH||this.xQa)&&this.IW.multiplyScalar(Math.PI/
180);this.filter.NNa(this.mN,a);this.filter.SNa(this.IW,a);this.uH=a;if(!this.Ata){this.zta++;if(this.zta>=5){this.Ata=m;k.trigger(new i(c.Ic))}}this.rU!=this.qra()&&this.sC();k.trigger(new i(c.ra))}}else{this.E$=m;window.addEventListener("deviceorientation",this.cO);window.removeEventListener("devicemotion",this.bO)}};e.prototype.bind=function(){k.bind.apply(k,arguments)};e.prototype.unbind=function(){k.unbind.apply(k,arguments)};e.prototype.sC=function(){this.eva();k.trigger(new i(c.ra))};e.prototype.eva=
function(){this.KH.set(0,0,0,1);this.rU=this.qra();switch(this.rU){case "landscape-primary":this.KH.setFromAxisAngle(new n.Vector3(0,0,1),-Math.PI/2);break;case "landscape-secondary":this.KH.setFromAxisAngle(new n.Vector3(0,0,1),Math.PI/2)}this.u$.copy(this.KH);this.u$.inverse()};e.prototype.qra=function(){var a=screen.orientation&&screen.orientation.type;if(!a)switch(window.orientation){case 0:a="portrait-primary";break;case 90:a="landscape-primary";break;case -90:a="landscape-secondary";break;case 180:a=
"portrait-secondary"}a=="landscape-primary"&&(this.mN.z>4.9||this.mN.z<-4.9?a=this.rU||a:this.mN.x>0&&(a="landscape-secondary"));return a};d.prototype.EPa=function(a,b,c){if(!this.uH){this.qX.copy(a);this.uH=c;return a}c=new n.Vector3;c.copy(b);c.normalize();b=b.length();if(b<n.degToRad*20){this.eO.copy(a);this.qX.copy(a);return this.eO}this.Pqa.setFromAxisAngle(c,b*this.qRa);this.eO.copy(this.qX);this.eO.multiply(this.Pqa);this.qX.copy(a);return this.eO};g.prototype.set=function(a,b){this.sample=
a;this.VX=b};g.prototype.copy=function(a){this.set(a.sample,a.VX)};var q={aca:0.001,Yba:1,NQa:function(a){return isNaN(a)||a<=q.aca||a>q.Yba?B:m}};q.Mm=function(){var a=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return a}}();q.aWa=function(){var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return a}}();q.fH=function(){var a=navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return a}}();q.P9=
function(){var a=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),b=a?parseInt(a[1],10):r;return function(){return b}}();q.yQa=function(){var a=B;if(q.P9()===65){var b=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(b)var b=b[1].split("."),c=b[3],a=parseInt(b[2],10)===3325&&parseInt(c,10)<148}else"getVRDisplays"in navigator&&j.browser()==j.rk&&j.FN()&&j.ad()==j.WO&&(a=m);return function(){return a}}();q.DQa=function(){return window.orientation==90||window.orientation==-90};return e});
define("hl","require,kL,nV,cu,fQ,mN,u,fb,iw,lG".split(","),function(a){function b(){function a(){p=m;k.trigger(new d(e.ra))}function b(){var f;u&&(c||!o)?f=s:o&&(f=g);if(q!=f){if(q){q.unbind(e.ra,a);q.stop()}if(q=f){q.bind(e.ra,a,this,m);a()}}}var c=i.Xd()==i.mi||n.Gi("debug")&&n.Xp("sensor")=="deviceorientation",g=new j,o=B;g.bind(e.Ic,function(){o=m;b()},this,m);var s=new f,u=B;s.bind(e.Ic,function(){u=m;b()},this,m)}a("kL");var e=a("nV"),d=a("cu"),g=a("fQ"),c=a("mN"),i=a("u"),f=a("fb"),j=a("iw"),
n=a("lG"),k=new g,o={},p=B,q,t=[],s=B,u=B;o.faa=function(a){a&&t.push(a);if(o.disabled){if(i.Xd()==i.mi&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(a){if(a==="granted"){u=m;c()}})["catch"](G());DeviceMotionEvent.requestPermission().then(function(a){if(a==="granted"){s=m;c()}})["catch"](G());var c=function(){if(o.disabled&&s&&u){o.disabled=B;for(b();t.length;)t.pop()()}};c()}}else for(;t.length;)t.pop()()};o.bind=function(a,
b){k.bind(e.ra,a,b)};o.unbind=function(a,b){k.unbind(e.ra,a,b)};o.eRa=function(){return p};o.Xr=function(){p=B;if(q){var a=q.Xr(),a=c.iba(a);return{yaw:a.Ka,pitch:a.pitch,roll:a.Ie}}return{yaw:0,pitch:0,roll:0}};if(i.Xd()==i.LZ||i.Xd()==i.Wba){o.available=B;o.disabled=B}else if(i.Xd()==i.MH&&i.browser()==i.rk&&window.location.protocol!="https:"&&window.location.hostname!="localhost"){o.available=m;o.disabled=m}else if(i.Xd()==i.mi){o.available=m;o.disabled=m;if(!window.DeviceMotionEvent||!DeviceMotionEvent.requestPermission){var w=
function(){window.removeEventListener("deviceorientation",w,B);o.disabled=B;b()};window.addEventListener("deviceorientation",w,B)}else o.faa()}else{o.available=window.DeviceMotionEvent!=l;o.disabled=B}o.available&&!o.disabled&&b();return o});define("ma",["require"],function(){return{QUa:"single",FRONT:"front",Ha:"left",BACK:"back",Va:"right",ec:"top",Zb:"bottom"}});
define("gz",["require","ma"],function(a){var a=a("ma"),b={},e=Math.PI/180,d=new THREE.Matrix4;new THREE.Matrix4;var g=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];b.lf=Math.pow(10,3);b.pY=0.5*b.lf;b.Fxa=b.lf;b.Tca=[a.FRONT,a.Va,a.BACK,a.Ha,a.ec,a.Zb];b.Kqa=function(a,d){for(var f=b.lf,j=b.pY,e=a*d,g=this.lt(),o=[],p=0,q=6*e;p<q;p++)o.push(p);var p=[],t=e;p.push(this.AD(g,a,d,-j,+j,-j,+f,0,-f,0,o.slice(0,t)));q=t;t+=e;p.push(this.AD(g,
a,d,+j,+j,-j,0,+f,-f,0,o.slice(q,t)));q=t;t+=e;p.push(this.AD(g,a,d,+j,+j,+j,-f,0,-f,0,o.slice(q,t)));q=t;t+=e;p.push(this.AD(g,a,d,-j,+j,+j,0,-f,-f,0,o.slice(q,t)));q=t;t+=e;p.push(this.AD(g,a,d,-j,+j,+j,+f,0,0,-f,o.slice(q,t)));q=t;p.push(this.AD(g,a,d,-j,-j,-j,+f,0,0,+f,o.slice(q,t+e)));g.mergeVertices();g.computeFaceNormals();g.userData.type="cube";g.userData.ssa=a;g.userData.kwa=d;g.userData.lRa=p;return b.BM(g)};b.NG=function(){var a=this.lt();this.dea(a,-0.5,0.5,0,1,0,0,0,-1,0,0);a.mergeVertices();
a.computeFaceNormals();a.userData.type="plane";return b.BM(a)};b.Jqa=function(a,d,f,j,e,g,o,p,q,t,s,u){var w=this.lt();w.vertices.push(new THREE.Vector3(a,d,f));w.vertices.push(new THREE.Vector3(j,e,g));w.vertices.push(new THREE.Vector3(o,p,q));w.vertices.push(new THREE.Vector3(t,s,u));w.faces.push(new THREE.Face3(0,2,1,r,r,0));w.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,0),new THREE.Vector2(1,1)]);w.faces.push(new THREE.Face3(0,3,2,r,r,0));w.faceVertexUvs[0].push([new THREE.Vector2(0,
1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);w.mergeVertices();w.computeFaceNormals();w.userData.type="quad";return b.BM(w)};b.dva=function(a,d,f,j,e){var a=b.B7(a),g=a.faceVertexUvs[0][0];g[0].x=d;g[0].y=f+e;g[1].x=d;g[1].y=f;g[2].x=d+j;g[2].y=f;g=a.faceVertexUvs[0][1];g[0].x=d;g[0].y=f+e;g[1].x=d+j;g[1].y=f;g[2].x=d+j;g[2].y=f+e;a.uvsNeedUpdate=m;return b.BM(a,m)};b.Uu=function(){return b.pY};b.c$=function(a,b){return 2*a*Math.tan(0.5*b*e)};b.d$=function(a,b){return 2*a*Math.tan(0.5*b*e)};
b.fC=function(a){return Math.max(Math.min(3.539647*a-6.669366*a*a+4.7454*a*a*a,b.pY),0.1)};b.lt=function(){var a=new THREE.Geometry;a.userData={};return a};b.dispose=function(a){a&&(a.isBufferGeometry&&a.userData&&a.userData.geometry&&a.userData.geometry.dispose(),a.isGeometry&&a.userData&&a.userData.IG&&a.userData.IG.dispose(),a.dispose())};b.BM=function(a,b){if(a.isBufferGeometry)return a;if(a.isGeometry){if(!a.userData.IG||b){a.userData.IG&&a.userData.IG.dispose();var f=a.toBufferGeometry();(f.userData=
{}).geometry=a;a.userData.IG=f}return a.userData.IG}return r};b.B7=function(a){return a.isGeometry?a:a.isBufferGeometry&&a.userData&&a.userData.geometry?a.userData.geometry:r};b.AD=function(a,b,f,d,e,g,o,p,q,t,s){for(var u={},w=0,v=0;v<f;v++){u[v]={};for(var x=0;x<b;x++)this.dea(a,d+o*x/b+0*v/f,e+0*x/b+q*v/f,g+p*x/b+t*v/f,o/b,0/b,p/b,0/f,q/f,t/f,s[w]),u[v][x]=a.faces.slice(a.faces.length-2,a.faces.length),w+=1}return u};b.RVa=function(a,b,f){b=0.5*b/Math.tan(0.5*f);d.copy(a);a=g[0];a.x=0;a.y=0;a.z=
0;a.applyMatrix4(d);var f=Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z),j=b/a.z,e=g[1];e.x=a.x*j;e.y=a.y*j;e.z=b;return f/Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z)};b.tPa=function(a,e,f){a=b.B7(a);d.copy(e.matrixWorldInverse).multiply(f);switch(a.userData.type){case "cube":return b.DEa(a,d,e.projectionMatrix);default:return b.EEa(a)}};b.pPa=function(a,d,f){a=b.B7(a);switch(a.userData.type){case "plane":return b.iEa(a,d,f);case "quad":return b.iha(a,1,d,f)||b.iha(a,0,d,f);default:return r}};b.dea=function(a,b,f,d,e,
g,o,p,q,t,s){var u=a.vertices.length;a.vertices.push(new THREE.Vector3(b,f,d));a.vertices.push(new THREE.Vector3(b+p,f+q,d+t));a.vertices.push(new THREE.Vector3(b+e+p,f+g+q,d+o+t));a.vertices.push(new THREE.Vector3(b+e,f+g,d+o));a.faces.push(new THREE.Face3(u,u+1,u+2,r,r,s));a.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);a.faces.push(new THREE.Face3(u,u+2,u+3,r,r,s));a.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,0),new THREE.Vector2(1,
1)])};b.iEa=function(a,b,f){var d=a.faces[0],e=a.faces[1],k=g[0],o=g[1],p=g[2];k.copy(a.vertices[d.a]).applyMatrix4(b);o.copy(a.vertices[e.c]).applyMatrix4(b);p.copy(a.vertices[d.b]).applyMatrix4(b);var b=o.x-k.x,e=o.y-k.y,q=o.z-k.z,o=p.x-k.x,t=p.y-k.y,p=p.z-k.z,s=e*p-q*t,u=q*o-b*p,w=b*t-e*o,v=f.direction.x*s+f.direction.y*u+f.direction.z*w;if(0!=v&&(w=-(s*(f.origin.x-k.x)+u*(f.origin.y-k.y)+w*(f.origin.z-k.z))/v,!(0>=w)))return s=f.origin.x+f.direction.x*w-k.x,u=f.origin.y+f.direction.y*w-k.y,k=
f.origin.z+f.direction.z*w-k.z,f=(b*s+e*u+q*k)/(b*b+e*e+q*q),k=(o*s+t*u+p*k)/(o*o+t*t+p*p),b=a.faceVertexUvs[0][0][0],e=a.faceVertexUvs[0][1][2],o=a.faceVertexUvs[0][0][1],a=b.x+(e.x-b.x)*f+(o.x-b.x)*k,b=b.y+(e.y-b.y)*f+(o.y-b.y)*k,0>f||1<f||0>k||1<k?l:{awa:a,hwa:b,materialIndex:d.materialIndex}};b.iha=function(a,b,f,d){var e=a.faces[b],k=g[0],o=g[1],p=g[2];k.copy(a.vertices[e.a]).applyMatrix4(f);o.copy(a.vertices[e.b]).applyMatrix4(f);p.copy(a.vertices[e.c]).applyMatrix4(f);var f=o.x-k.x,q=o.y-k.y,
t=o.z-k.z,o=p.x-k.x,s=p.y-k.y,p=p.z-k.z,u=q*p-t*s,w=t*o-f*p,v=f*s-q*o,x=d.direction.x*u+d.direction.y*w+d.direction.z*v;if(0!=x&&(v=-(u*(d.origin.x-k.x)+w*(d.origin.y-k.y)+v*(d.origin.z-k.z))/x,!(0>=v))){u=d.origin.x+d.direction.x*v-k.x;w=d.origin.y+d.direction.y*v-k.y;d=d.origin.z+d.direction.z*v-k.z;if(0!=(k=s*f-o*q))f=(w*f-u*q)/k,q=(w*o-u*s)/-k;else if(0!=(k=p*f-o*t))f=(w*f-u*q)/k,q=(w*o-u*s)/-k;else if(0!=(k=p*q-s*t))f=(d*q-w*t)/k,q=(d*s-w*p)/-k;else return;if(!(0>q||1<q||0>f||1<f||1<q+f))return o=
a.faceVertexUvs[0][b][0],s=a.faceVertexUvs[0][b][1],a=a.faceVertexUvs[0][b][2],{awa:o.x+(s.x-o.x)*q+(a.x-o.x)*f,hwa:o.y+(s.y-o.y)*q+(a.y-o.y)*f,materialIndex:e.materialIndex}}};b.DEa=function(a,d,f){var e=Array.prototype.concat.apply([],a.userData.lRa.map(function(e){return b.zha(d,f,e,a.vertices,0,0,a.userData.ssa,a.userData.kwa).map(function(a){return a.materialIndex})}));return b.Iha(e)};b.EEa=function(a){a=a.faces.map(function(a){return a.materialIndex});return b.Iha(a)};b.Iha=function(a){var b=
{};a.forEach(function(a){b[a]=m});var a=[],f;for(f in b)a.push(f);return a};b.zha=function(a,d,f,e,g,k,o,p){var q=[];if(b.zLa(a,d,e[f[k][g][0].a],e[f[k+p-1][g][0].b],e[f[k+p-1][g+o-1][0].c],e[f[k][g+o-1][1].c]))if(1==o&&1==p)q.push(f[k][g][0]);else{k=1<p?[k,k+Math.ceil(0.5*p),k+p]:[k,k+p];g=1<o?[g,g+Math.ceil(0.5*o),g+o]:[g,g+o];for(o=1;o<k.length;o++)for(var p=k[o-1],t=k[o]-p,s=1;s<g.length;s++)var u=g[s-1],q=q.concat(b.zha(a,d,f,e,u,p,g[s]-u,t))}return q};b.zLa=function(a,b,f,d,e,k){var o=[r,r,
r,r,r];g[0].copy(f).applyMatrix4(a);g[1].copy(d).applyMatrix4(a);g[2].copy(e).applyMatrix4(a);g[3].copy(k).applyMatrix4(a);f=0;d=4;for(a=0;4>a;a++){var e=g[(a+3)%4],k=g[a],p=g[(a+1)%4];if(0>=k.z)o[f++]=k;else{if(0>=e.z){var q=g[d++],t=e.z/(e.z-k.z);q.x=e.x+(k.x-e.x)*t;q.y=e.y+(k.y-e.y)*t;q.z=-1.0E-5;o[f++]=q}0>=p.z&&(q=g[d++],t=k.z/(k.z-p.z),q.x=k.x+(p.x-k.x)*t,q.y=k.y+(p.y-k.y)*t,q.z=-1.0E-5,o[f++]=q)}}if(2<f){for(a=0;a<f;a++)o[a].applyMatrix4(b);a=0;for(b=f-2;a<b;a++)if(f=o[a],d=o[a+1],e=o[a+2],
!(1<f.x&&1<d.x&&1<e.x||-1>f.x&&-1>d.x&&-1>e.x||1<f.y&&1<d.y&&1<e.y||-1>f.y&&-1>d.y&&-1>e.y))return m}return B};b.Lqa=function(a,d,f,j,g,k,o,p,q){for(var t=a*e,s=0.5*-t+0.5*Math.PI,u=d*e,w=0.5*(Math.PI-u)-f*e,v=0.5*b.Fxa,x=64/Math.PI,y=Math.max(2,Math.ceil(t/j*x)),x=Math.max(2,Math.ceil(u/g*x)),E=j*y,D=g*x,F=this.lt(),L=0,J=[],z=0;z<=D;z++){for(var K=[],I=w+z*u/D,A=0;A<=E;A++){var N=-(s+A*t/E);F.vertices.push(new THREE.Vector3(-v*Math.cos(N)*Math.sin(I),+v*Math.cos(I),+v*Math.sin(N)*Math.sin(I)));
K.push(L++)}J.push(K)}for(s=t=0;s<g;s++){u=s*x;for(w=0;w<j;w++){v=w*y;for(z=0;z<x;z++){E=o+(1-z/x)*q;D=o+(1-(z+1)/x)*q;for(A=0;A<y;A++){var L=k+A/y*p,K=k+(A+1)/y*p,I=J[u+z][v+A],N=J[u+z+1][v+A+1],H=J[u+z][v+A+1];F.faces.push(new THREE.Face3(I,J[u+z+1][v+A],N,r,r,t));F.faceVertexUvs[0].push([new THREE.Vector2(L,E),new THREE.Vector2(L,D),new THREE.Vector2(K,D)]);F.faces.push(new THREE.Face3(I,N,H,r,r,t));F.faceVertexUvs[0].push([new THREE.Vector2(L,E),new THREE.Vector2(K,D),new THREE.Vector2(K,E)])}}t++}}F.mergeVertices();
F.computeFaceNormals();F.userData.type="sphere";F.userData.ve=a;F.userData.hq=d;F.userData.pitch=f;F.userData.ssa=j;F.userData.kwa=g;return b.BM(F)};return b});
define("bZ",["require"],function(){return{sk:"data:image/png;base64,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",Ywa:"data:image/png;base64,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",
Dxa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUsAAAFLCAMAAABoaV6sAAADAFBMVEUAAAAJCQkDAwMDAwMLCwsFBQXb29qgoKDg4ODy8vJRUVHBwcH19fWXl5fZ2djW1tX5+fny8vLY2Njp6el5eXnV1dSwsK/v7+/Ly8vu7u6goKDu7u7ExMO1tbTOzs10dHO6urnJycnAwL/Z2djQ0dDIyMja2tktnuotmez09PQso+koYMf8/Pwule3v7+8sp+cvke/6UFPOFR4nZcWsrKwrr+Urq+br7OwqtOMvi/EnasQncMfn6Ocoe8zj4+MqueLDw8QndckoeMongMwnbMYog8/d3dwojtModM3g4OAohtApktUomNUni9ApndgpsOAofNApptspq94qqOEocMssmOUqmdowh/EpcdEpodkpd9Eqf9cqitgqj9kro+MqdNYpidQpldkrnuMretgse90rbdUpbMwqa9Epf9MoZ8krmd8qhtsqg9kqnd4qot4tlegrkt8theUqZ88skeQrjd0pZMwtf+QugOkteOIsjeIphdUshuAsgd4ti+YrcNktkOgsdN4uiesqetQsdtru8vUujusvgu7Hx8jR0tMog9MveufMzc0snecrgdsWQG8sieEolNEqktvg6/UrleHM4fXn7/UobMnX5/W7v8Z3uPIqitwaS4AuhenA3PRcqfCcyvMgd6ao0PSEvvJPp+9Hm++11fORxfNts/FskMk5mO8caI9lr/Cwucijs8sklcOEn8mZq8hTne8ecZo2bsgwaMcbXIQ7n+1EpO5GeMo/cshhicmvv9SaueSpwuNnldXGzNMkhMEnoM4/gdl1pOZlnOfM1d9Vg8shYaq1yeNNfMdAhuV4l8kdUpTe5OrS3OeOpcpAju62trcghq3gMDY4d9IkY7gijrcifLRUkOhKjdmBrd0fWp+8xdKJsejAzd7E0+aTsNZ5oNTwVlrDHid8hZ4wWX1bjtVCpdSpqquINUgldb2sJTOipaqIlaFefZfMZXNrjLRLaoo1aI1kRl6an6W5b3s+UnLdWmPlu7ybdpBVmr+yhYlYU3CLmraxbYKtSmBvYR20AAAAJnRSTlMADRUdLSTtHFmoOi7dUODF681AbUnWbL+wlWSAmnm8NIajjKeLetZ4Pp0AAF5LSURBVHja7JpLbuJAEIbDChBeGHuBEAdIWspIs+UkuVCfwLJledG2/JblFRu4Ro40VZVulw2ewEQzDCT5jcbdcrCaj78ebebhW19Nk4dvfRyePsYufJO9jCDBQk0XzszdrOeg1Wq5XK1wtN64M2cxpT/4hvo+xykQdNzN3LKf35OwlvPNzAGq0+/wP4GIRpwBQ8sWzxfLtoGp68B7vx2KQhALoLi0nz8sa7V2HQz8L2xScBMkxfWKI/rDEjZG/WL6JQ2KFWYKHEcxftygm9l08rVokiFdjOu/Lnu5njlfpiIByKmzAY7/TBYUpK/gzsnDwlmL538ua+N86uSJOdJxIUVeRfbc/bQ0MUm61vNVtZwtPh9OsiQ48uqy1p8rdSLI2fqPLCm9UKk0qbIsi6KoBkURjKsqLZUfevJP7rXcLCafhifsbOaXW9JTSRbHu11RND9P1TRFscvjNktVcPEtrc0nyZyTqbu8yIp+WUVx8fNyNUWbJSqUFxWi2b17E9zguOdbSQ8w1jH7cEvHRfpR5HEEQIPzNO96S4Rd+dnKLfw0i5uf2+0IxctV1FXpncM5n90tTGjLzzSTMiyz1tjxAoo/8BgVXGvyOlGeOOfNh3vUZHImT/ppVGzJj+zGcZpNGxVA65wAdJyV3vs0nburQpOH6ey96A78rNmSGF9v2KR+1TDLVAi1N8CaxCv1ZNygeTpejrRll3dGE/rJJS//RCrbbUm/KzWVELKmqCaFQnitoRUFQlbv+7OJs+AYIU/s+eJu8iZuFte9xYvuQIkw2bEhGeIuKeO+EUWGIEdYZlKIlLFVKhrlGZeB4SjgGCC13XtJm5Pp5vcVp6xfNcktkmRXplKEHcsMWCbNOMsKrrEva3BwPO7OQxSe+NLMl/fQbsISN1bnSDqxO1RWEEi2I2dIBYh2ZhaD99RhlGWTwB+yFRXPRpRXgJOX0ee6mt142sSOcm2zG+DE57A2JEEEss05ykuEQiNggCz9fJTlPgUn0oTkwdtqZpfWJzRltwzBSQcGlju9bZZT1+ZF909BGm8NSY2vUCKofhqh3VJTbfJAiHCc5UFhVD9p7QXMuj+sAxFkJ4UoUtqYx/8sb7l3nzhzm9cK4noTv/ZJkmoPzNexjNCKjQEG9IJ4yFLTy324lBuWrQDojZklALYy92AVdeodkyTZ6xut6JgpbSbYy5dBtXtBkFx0CGccIpUuRXpA5WC8BMBkNGBZG5Y46VhikVJPRj5cip7GmqRWySOaugbdYtbEpxhLJtjLUF71+mI4Mkkq3VitDUvyWxetpTCNDzLqs0TmzDLBW3QBj9bGSxrngOqhRJonUSPmt/fEQ3fnJzRl2m572lVZ0dXvCE0FU9KwpiBmRSRPWAYwOegJJc/asMT7lWYCBazK8kHeDMGMg6gh3dyuEp72Co4cfRZAsgBPcngXYL6y6DohD6wYme1NRlbUQr/5QGSEpcRcMGpSNHMFZ06s/lFR9wWT5C7+lgo6ZErH4j6S2yAVb4faBUCvBXhdHyRTs1GMBH12nnijLFsM5D1PGOw+xJs/GWV47em4pnsaIAOF6fyGfmHDokNLg3Xx4UWaIPfnjeIUCaKP25kGJvJJ58iDgMl+jGXdrzYVRvWeo5/SJRcimercySqSoFslvWhgObeBcjKZUnz3F4hHUgxRUtXJ0Hxcu0PsFfttd95LkSENxmpPwrwoqjldph3/XPKbjgK9C27eEtmbG6hAWL+tDiRv1lLTBjFMkyIlN+hpP0f6tB00VSWKDiMsHwFSFtEIxwG+hcYIliZG6YDsj/2BadZ+940zzRt4eAQPMiwDkL9tP3vtUDaJqtCimp7ErNgPct88jKwkm4zFLAkZvvQIsAoqPdwRSW7i0fKcPFulsoatmQS8YKG5Yqv5f8QoNb7eS5bFC7uyxTjs2soWjRmb3xxyr9dUtuCykszIejz2peFIZypXMKKDtkA4ICWSLnHvhHtSVqQYpKmXtvs/nx1N4EGlbVK5eZEpewGOHzgoCCVWH+rCG90I7ctewsxDrh1M8vHYlz1lWHrg3G2Bku5daEs2eSTRwIPWPfHMws26Aeb1myPOlc5KgJ4Hh9q9gJhlEdDDyK7eYFy2iBJVd5/xzTxBPASJB/uSKb4Naf/9qNVKDdxU+5CfgCiE3gyLUBSapWugAirQ1TdBvNWxngXBZKBBrUmyMClKbip9/FxEkmBWhLLrcKo+yUGMG2aM823b+WjUJrH5Aghewq0mp9IeziaRBqIwOFeLK7PkAs4c9RESSmLJmx00QIokSVhiQqoDrN4ekEnywSxhwqJdD7Nkyk+Uh2vOltyTDmAiY/YlUZ1fEya70rUZ49tSZPJC6pMERZL2ilo5os2GJPkBmtcHqcOaWQ5FW6ADz1kJwoMyxpkUw9/AZOVIubMmybre/4tjV25MbHQrke3WoIyVag3Nt7D2d/2m0m+YZKc9ZtbDoFI/vseyQr+PoaQbRY/Glj63mjRPkgP/9Caej2has2uznPzi5WxC4yjDOI4nFXuwepDi3WQD2SYFjYHepBSUnKTkYkU99pKIhz2FsDAbpPTiuMMwkNnNzn6x3YsbcBZEIaAICoWVHmyQXvxAtEL8oJb6/X+eed955mN3u7tO8p/JNhtLiL/8n/f5v8+720dzIiZKTUej7JVRx70woXft6NaxwptyQSmivwb/CMfxLHmWMcqWJgwbfJsWNXFB6dPMQ8xJIU3EQJ88UZgo8OgqySibGiWxpEhSC4/AOQjZeuvY4FgkKEUuVb9knwewXHDZfXERPKKVc4NnENtyPlSbVhx/UWCqfi4N6PGTKXPZgava0D+G5a1qlNCgxSXPKBmmyc2bpIZAlrRvkWNwMTLI8SwXcFVsdl9aPD3qSgjV8YjJ8gygGWtBNUNXuPbFCR4EPXZGknmA02wDpbDEoJKLnmuceFbJDIsqVXYsTiwplHNU/S7TSbPsAqBchNOxACn6VS32va+esEmrYbzyCRyjFZp+i2ZHUXOeOqFRB1ypUMpmp9xdF5SsriVDDNAktgbyukx67SG7xfqIkNM0kogXIFoH3YWEWaE+2Sy0cd3igzelOc+SDVEkHOXEHCfqTJyA58SRuGFAQanUqRGvdnj+7dgmT31ZFAwNJ71b9Il4N70w1lutCv1JlxI+qVEI009xaZ5c1CF6GNFs+Tqq8sgDE88UTDtCk515EptznDYKSIWyISi1OKEbbhiEOpVuZ0l2HByeRbrfAI9VSZIkF+JBqCmmVUqtwRe02JYuMY4EJM9BvasKD5rgkKhZMaX74BPAPG5nShgSGTUNslH1OpLRKyZPMWBLrchPnoMqAjLc+zXdeGPWhhOKIr/adJKAobYxbKFgmohH8YLoV2t1PXB3cyLu5sccjYDyTC4hmgqxGi64DmTLwynPWRKUIk6SrY4CqUkmJRij7pvjW8RPI0x5CEw+TtOsm1Qr0RBmyK6BPBvFeXyhXXKlJAfZNrJ6PDOPvPiKgNkdQSnikGfXYzOMISAh8eNYCVPOPI58h4iCCu8KSi8HyR4I/1l2QZwzBeYxoZQ64ClvyJIzuNHWtkS/4Z7ZSaNEcZmqnY4wpThSKE6Gk8q4rNfOOM0W/zyqDqC2mQu2QAIzXuenjm/QgSEbdXDxpcRKUjAQMj32ZTgSsloplvo4xvS1KdOe1I6cFmadbamfxWhWCGWtzyRJlbKKZgKzGsl6EMMUnNlO0U8l2g42OzvSw9fbFu8x2JYk/h+zOymUUN3gOQY0DKUiOYO6HFHl9yA0VYVzGQSTON2IBGYj6cynjmnS/tBjp+OuNJQrJQ8xzHKFUMpQo9ZJoYSqhqVPFNKeDFFMq7P9mmF4sZ6kYXpUJB4+UVm2xmaQbCRpLbpqPsoxM3tXJtKQ5SVQQrytaFKqZJodntE4KZSQ3+36TDILTwrLhX677cf6Oi666xzR+uHEo2VS40yl9gZgxvT0MTiT5hlxtdZVgQvLdQQhgkkgWZza7EYKpSiVy5UpZ4V59mz6i5TgeYGuh8OkLleQP2TY7uZiotPJjEmmgqXhKJI9r7IKlFo1g8ta06xYsZfxJ/c6aZSQPAx13tmkFugaKknxVSoQb06rbfNiNC/qHH66LWUe1SOZw3wk0XeqqsAHZcN0oseOLvd3eWkGV3kSpW4AyfIet04ys9Ea394tqXCSa/BiKfI/vPuT+o1jDhPT6WyTEWZDnIZETV3gXTzJO5EDHsDFPlmqvMnJQ6EURw5v4GOKdwKB9XBv9nmpiWwsLQprvqDsfbF8hJHqcJh4uWumLfypBMqBZjngUNlaFfVcA8fhoXjRr/pxV6YbeBhiJirrKf3ZMvRmSHxZi6BsHC3fOw+WSuxiUf5Mds38odRAozwASdV4cLYDOaEvU++t5V7eZpRiyzRKTkKzOnK8OzmaNf1IcO87XuSQ7oOj5ZtvGzVfsyw5DFOU4aEFto4x2b0dYqlgNmwOSPLKQGg1JImhAR9P1xeHrZVCMgtLiuKZ06VoWVfbING80rf3ls8dGfCpvN+3ndPSB71Z2fKJx+MoKzsk2YiXCWaV523J94GrkgHrmCtxJ+s7A0uOMKeXo9VRdfUkzbkP7i4D5flW7CUyS54V7z94cUw2yfJ0PA2114WlKnPeeHdSNa7PJCwUecySuIWk4MyApCj8No5B+/AFDTPG8tK394Dy5jO8em7EXyATFZbMLFyZrPAqOCZgVlx2pvgyzrLvNb3kCD2q6dfJ53BN7M1+zXT7scAZ6vD+10B57s8Wo9yIOLPhxiM7Umb2ybI22NGSPU/gTI9IRttOGNH7I1COiJSAMI4iLi31fITU76Rfr0cGyaJrPx8tL9+8ee7oQx8k39qIn1qUs06ZSJZxlLZCOagMqPsUmSWcWc4pmOJLhTKRLJMoh+6/R2FMS6COtuZZIRn15ZVvYUq48uZ7jPKt+GZyqW0lU2bG23CzF6Bs2PkbXWrmgFkscqrMh69SHYlybthamQHJcTjjsV0mR9cO0XQI5bm//fnNVzaBkuQ37ZraADmJKQeWuwzGv6KWKu92Pp+3K+sAuV4ESyh05mqa5bg9+EQoheP0OLUtE2VO9c0o//UvvfPKxYuX1Gla+Pa3pcSY49TD/xMlZpasPN9GdadQYJZdCzCt1gAgmWWRnYm/4sGZYyo8FSwfuFI+h3sajbOmwDz8Z1mjPLz82mtrFy5v8qyd8Tmqyjk55/X9P986iZdo5PnbKZWxWBZwQd4KYK40e7AlRB281Cjn4cxaimViNDR+WDmzJUXMf/y+8ud7AUros4svvvDChQubxNKxKQmV+4rlUju7Xo44BDoiqweMWpVyHrI9IknXaqnUaOZ5wjZqtWRfpoaVKVPOTlI0dtG8cn9Zo/zmrxcPoAtrm+/O+1WLp68d+Qd6PCPRyx+avYfTSEN8XiNXkvgRNQ2ZTqnIKpWWSj3wRWifzJaCUjQZyWejmoBlgubh0dehK+/8SCh/PHhtc8P3gJJP16SXd8rRKs+fmXnJVCONvAyHClfBMfTmejWo8wY5s8Qw4UzArCVtKWkoXuEzkHx2mKax5quI54Jy7+BL6GDt8ma9afAxajQYYWRoxiZGGLLPug9fUb8RvuxKIRDbcre4Wxx4ZaLpNpQxQbPvsjMbaVsOD5ZjWE6GUTQZzD8YJUd0VPgvX+7t7YHlxcsVl1DaTodZCsyWpQDwH7O+zwIVrlDyh+XtMMaA5u7OLlQMFk1Hs4TqTXyBnDlBSh/bdYaRnJGmwHwDSUi7EvoBJMHy4MV3fDsnpxZRY3aaGgDDRMicgSRHS/mdUIVrlvjYLewyzF5tJb/SLlKJK/VdgllP2jJV4RO7UkBOjzPB8vv796Io7/y6t7dPLC9uVngRY5QJY9ZNJhlQyJ9C+5lpPKQx0m12r14t4Bp0bxFNBrkLNw6q5epAfAnV3aEspe/IbCjVwWcnKRpN83sypaD85re9/f2v9vYO1t651DfRwGVqICy5yokiPcjAaNqDxzxRVMrdLhSAsnDrxsoNbwCWRJNxapVCNaqut6jnVyMrPK5EPJ+JpNCM8JSs+QZWSkFJFb7/1f4+Vsu1l97FpL3q4QcUlvWaSeGI37nAAPKMY6YzXrzgRZbcfM7eYZSF2ysr55HQgxovCk6BuYR7cXFDWKb24ezIyVwJLDOgjHtTm/Luchzlne+uM8uDl67oKbuwdPht/oExuyYx0NnwNFhObUtCqK689QlIkj65sQLd+HiAJZMFiFu4Ncvt7eCRaRLP+GIpGm3LmU0pSsN89YOvkyh/v379OqFcu3ItGAzTFajf4oxeDVh2WsQwvLD7mfbNjgFEpdbO1YDl7scBzOYtJsm+3CoVt7aC9rMd3NvbGxBwxtbLCVt4gmQGNIHynzhK6DdGicXydaCMG7NrAyWfRCuYVj7CAucVU2/E82JMc3CVxDRvfWgyTW8QXzGVKxXJRdLGPMarRPNavMKTrsyYZBomklAS5Q/fBbZce/2NOZIYs99kkmYLKIkl5KxIjU4b2OkfyQlQBh+tgmYJfX47sGYNMN8Ey6DMt0Bxa2sbtgTQDdBUmsc12payWErXEZQZwXwVZzqCUun391WFA6WSMqWbI9mOL60c2zmBkTuNFXCa1fJ0XvsSD2VtS0Wz99F5pukM3iSazBIwt9iVSiFLtiVpCluOR/l8Qg+A+YduOoISceh9sKRkyYulwKwHZ2aWMqU2Zh0UBMg0xkRMVxQDog6jBEmtwW33PMGs9opv0lq5RQ+KYykgKSwv4ebqidtyPMpRGBmkpimfjob5Mo/XBKWucLYl+s5/tJ15bGVTHMeDRIgt9oiIP+wSW4KnyVNCGGPGVFuDKmo203QUNYMaY4zdjIqqSlX0VddHihiihHYwbaVp0hpLpNNM1TpDRGKJXcT39zvn3O+5976lz/I9S5mSyCff33LOffeBLan+Vj1J3tvWiqcWZAl1CAmdPEnO9n1HL1ue2IzC42jaCnTrxh6BmZxoRd0xMCGyJMyFmGrNbCeeAnLlGbkkoONiU0mU0g7BlpIs59Xwibn0mI+rKXFVBIWN2eQFagEnSdgycSLVlA5IWj2FWdc6kxCabd2Ib8UJIcydyHLhwgYNdMLMZsscKMHJMYsyzGXO70jSQ/n5zwblW0DpPZhMK8l77aE8Ysz2Ez0leJLMmy1hS6pHsqWrPbdYmlDKWLOt9Q7KI0mYEuUNDcdgMsILRAmSeRXHWRpF6SL8FYlw6Sy9J+b9vU2KskNRxozZ7dmrgIyJJ+K2ZGmbPqlFfGxoYFhZyqZ7XV3nhNLs2Rgl6YX4woWSMhceuxAoARN7iGRGlnFPxp3IlRXmDmbKEMpvHMpFtfofwU+3wpRpxUiWr6ZeNcbstIdpnbxhz2PLncO2NJ6cHk+O92y8xbB8CiChp4Z7xpOSNdP3WZZYKyP50klZYkJ5bFmAKYlUZpjmF5lQMsKBcrG1JTKlLd/tr2pnRJidTfe2pJRld3PEmDvNqvIkT6TkfqgeLEeTooFJkMREvqwTZ94l1kziGNQdciaArmS6FJBA2aAolWgmlAWRzF+FdugzHeqDgOWPJlm+MK/We5NFUTanlSRxms9utBtj9vos+X5Fblse6f9LHVLE6+s3TCdV44NbbkGM191iWNbdsbFNrJmYSTtnKsqVd96wkqXHsQRH5ZnTlv+GJAOdJx260otwoGysvdo+SutvN5lSP4NNkuYNIL3isF/O4GGZ3Wu8cuShmoY3QGLN4cFxQ3N0uA4oA40NTeBPEzMbaUyQDMX4sYAZSP7zG/4XlBRNGXUlrjRMsmykK5uVZJu+uE5jdqFBEuHtc7A0xuSxnD1m7guihG/LsXolCY05mhODw2QJaw63w5rojUQAianVZyWzpVpTtRjOBMqrMXDP/a9QnqUjg0p+x4PGuCt54EGybFywOGAJ9+F9/a7gUK4ke5vNqby971nXFnX5GTMBY+aH6dtyvA8cEeIC85YNtw7NWG9OeijvqLuzd6ZZO6OVrvawT1fRl4uPWXwMUBpX5meZg6QqI8svSJKu5IFHUL6gtqQvzWvrNGYaJM0BiF1RpMfEBXv+r/4NFfH764UlBJbQ2NCo0pz2jQmY3RvvNLa8A6lS8iVsKWMhjSkgMTXKAXNWtsyFUV3JvwokDxrjrmSEa92ZX+s9Me9rN6akMV2D1CmncrLsGyeZWbRFkYZoGhwFpLKsF5pPTc8UJ4uHgfAWRxILIsuVClNFloJS1LD4+KuvBkqZcZZ5UZIiJoH68U2IdKUf4U+//1HjgqsDlnxpkr7s1EflHV08+qie7fCD/Mg8LHeSRxNU25Z6JwEJa4qGBobQZ3q+DHTbHcISE5a0vrQ41ZMiYSowoX+C0rHTWWLIkiaLTsiVjHCpO++/8AJQKksq7Mu+5ntBMnL0gVItvjF3BsycttwtassNGDJhS6c6XX6UPxLQvA00IfElFlDSmOpK7HCmKCdLHnYoSw4MMfmXDrCg/InxTVfSlposP3ph/vX+Jzl4jKQx+zrT/fIzasyeWRzK2Vzu6//TY86UyhMw64nz9oDmI3fUWY6YK28zKDGUI7U40NVWjiRGXlsqMGdGX7RnCYsOXRlLlu+/8LbYMpcxMZzIUtXqO+0Issx/QzR6qwE5tNVFOVHq7mDCl7eBpZXCXLgSLFcGHGUYNYRolp+ECZTxZ46ZwlsXRZry5zv+IkKi9PQjUCLCGyuAMp8x4yzjB0m+qJLZlgfDjW4khhXh1pniuYNDYxrkluftZtTJeKTukUcAUykqzpVU2JcNzpYyrIASLMvjtgxzxFSY2VXGO6EISiZLsDR1x4ofZMeMG5Ms03jib2B2+nzQYuauPDCmmSdOmMozXAzNHR1SkpTCVJZ1hqeQxAJL50ysuDF9V8KXzJY05hlxWxr35dBv2VDySoPJsjBfpjqa7nVfvp0iH7SYO++UJ8SD2bth3TqwnJwoVuG4ozjXKEjNmGB5+yPGlohyq5AtH8uULgUmbVke2BIzR4DnEo/fMZSMcEX5dunpZOnTzJIwU51o20XWmM1qTOtOBHmu5pIok5Nqy3W3DA+OzFVvTgwOTYKj4tQQVylL8WUE5mMrHyPKiC0phHg5WJadVk6UYZZsgLJpB6/XMlRwtkOoO40LysHSiSRlxn35al97iyH5eFu3rT7qSEXJK+E4Sb1tI8wO2BK+hIRmsWp8ZnrSBfgasoyixFKaj4EmFHVmmCWkxiyPsyTNXOKDxjhK1nDTWQKlxzJ3IceTNFxvKEmcgFz1aXMgsQ5mixkPcedf+dlXLywNzbHJgdEJY86ZweExE+drrDProjBpTIVp7FnDICdIGZZmSflpp5WQZRhkSa74/iUXSiZL1J0XFlwf/uxb9oTZn+q1JO9t6WjtQiG36nV8sPEThBm+2BK/T9h/bmLLOlW9FY7iSJymDk0JzTUwZp0aE0NQEuaNKzGFpIKssTFeE6D0aAYSX5ZYaxbgyhIWnThKRrhNlhXlGVjSl2SZRr0xJHlTZJQyljREd2P1ib3MA5KgmZDVs0FJBjCX1i8dm56Z63BOjq25BRz9MA9QKkzgvFFZ1ghNDLAMRF9iMyTLy+DLEiwdYZAlBZmSKPkMV5IlUGqRy5swu9pbjrMgewBSRZjjykc3Bnn8g8CWpK5hYBTJD5CUsbR+bHj0fEtzZnrMwYQvyXKVbIblY4hyBHcNjAmkQFkTz5gWJFRWVgaKqtnaEtdreVEywhuB0oqVPO7Lvp4m9+5nbxdIRlm2g46DxEoereKHJqjk/esCLQVMkBSatywdHkDiVE1MT4LjGkmYrgABpEF5IxTkyxqrWsGIjV1ROXW6wlRfwpZUDlfyc76ZmiGitBFeUUqUEV/yIVq62cb24836InSUZdHJqQTFII+9zZOgRiXEacx1whIob1m6Zs1WXLsZjQxbX2IQJVhaX94IjjKM1Ja1skDx+usVZUCzTIx5WpnzJaZRYUWHKOPJcgGKG1lmPPm86logXLj1vRo/Raq6JxLUkWQZ+WybZ8tpwUhneloDDU8bcw7EUqZzJgSURjWBgBIwoVjtKUG+hC+dQjcaGcU7oWwBzmSpNxqlp5FloLAr220L1NNpQMZZFmENmmypOpiVPHQW3z9JlhMbjSfH6hHh96xDeDuhgAPn7ZODE0iaU+GMuWqVwFzFKDc4gxCvqa2pFZbwJKapPs6WZRDCu8z5soQN0eybSqL0DzzaWVaUeyxPz9xhdpjr9FY+Jc8U5K0Jqng/sgx9ICtBmSo+Nnj0yOjU8GbxpQ1yoWk0hjthosS6Db40lWcVOFqYPkuQFGPWXr34ekgCvdyLcqVZEnJm9puhL06ZLcqvte68vQBtQgZjhtNla9PjLb19PPp4LPtb21ua0+YWM5mgDmUlD4c4Na0sh0fOP/984BwYmhzzo9zifOR2GNSL8ieBcxWkLD2UFmatDBWMCZYyCLK8pOw0GDOgKSRlZTblZ/lQ8sBjj+GnZWXJhNnfl+4yDSYmWT7ble5ofpz/l9W2BMXb9dCNesLTFu2IJsHSaGRwatNmRxIj0O2OJiL8SSWpNAP52VJRwpeoPkpSQ/x6W8ZBUgs5YSrNTBGOTigfSka4TZYlOVnGTz5k2Z9uR9+uau5yXREVT5g7hTuiCVvFhwZHjlaWas8h+tIjaWk+efuTQvE2x5IiTWdLLIlxiXQ2RZovy0uoLNdDO34rACUi/GlEeIWizFJ86EsnfqUWQDY3uca9rdW8zp0ez9wVkeU+CUrvNdaqNYHTmfNjx9LCvN3QXLFihY3xVcBpRJCCkkGugi2NynWQpUS4V8uFJmb+okOUsRqux/AKJMssLPP4Uiq7PZX3pOFK1cbsXREPkE7JIYBUoYbfc8/mKcNzlG2R04o1K5QmcD75JMLcGpNJUyp5xJaGpLoSHLGEYzkGSw8zZsyUpxSA8nNph4gyJ8uMvuxqMo5sbk+zjoeDnN8c4aXLPf2OaO06jLVAiQmcS8cmp0cHJ2MsHwbMNYhyYYnSA1vSl1gGZk0NZphlLYZRaXk5pvWlOpPSvihy0ikI5ddyDGeyLNyX/W3SI7V3dUtPRKX94sOEyU+3Jb2O6H7huPaetYak0VIZTg87mGrNFXDmk5CrPX4tf7TGc6ZlqcughD3LFSdhMs7ts9r8RYcofX0NWxIlWUKz8yWM2dGe7g/3lxjd/mF7v51jLP3ucnCD8eU9ShIElSW1BiwfNiwfVpZAaUWYFuWNNZfa6nMpmyKwZM4UlDbGLcQyOtM35V+FofxckyVRkiWU92o9fvChiloS1P6uKyLLUHdZvxYosRQlFbjyYcAERqyHV4ClwrydLFXAqCxFilKNeamfMxnmLmFCQOlAoiNiU4QHjYWh/FHrztvos/65L8nS9+XJownqCMOS7z/ufLgNcf0xDJCWJmASqAb5EiywhBQlYGKqM1esWGVhkuUiIXkjQOoUaxo5jjIlwgnT9yVACk7Rb78UhhLt0EsvfSQRfkZOlkSZ15dUrwfL3WGy9Oynv8PAnJhcG8gzJRZIOmdSKwKpM4nyUdDEBpzACJSyZ/BleWmp+tIpFOLgKeJHrvKhZDukdacM5Ss/S5AsxJfsMFl8/IsNAWlZD46pLT/cunXzPdQSkARLpVlJmNcBpvNlOMiBEkO0CBAVJlAGLOlMsESUR1DSmXzQmB8l9adGOFxJlIXX8ThL12HSmHuyW2ennlRjarpURw6MfPzG1KebfJ5LlyxRmJUCkzTJEnJx/uhVynIRSD566aJLNcbBMm7MUmVJmF4dxyjhp1sKQfm1dpalEVvyougf5ctn+1pti9ljcWEljyJL7x44aRY6dWjoaKuZwSk4FCGuGJdAUnywgPE6kMT0gvxKwLQoAVN8ucjCxDAxvgCjora2wpC0NBnnmjHpyrd//+wfoPzyJRvh/40vu7tSnW0tOJe3dSvNQaVovHeISZi8JNo3mRTQCnujstx0NDXyMe42JjcvsTJBXqk0FaZFeeUKsJSxatVVq8ASQ1A++uilnmqdDMlSTMuS1vT69bIvCkYJ/WybdMsSq/Bzj0PZn2rt7Gl53H7owDizV02HDch2D7Pc+ajiBGRti05dNPXxiIKkPh4cgkPhTQQ5WGKAo3gTMB3OVVdeaVCCI7UoDHPBggXCskKzpRVMSZpwpvHl78iUhaOUdki6Ifs21T/1ZT/c2CNupJrSyrLPlWpo151dkPPUoxPOHN+wdpnC3Lx1+9TgTAjo+SMjHw9MDz9cuVRJVoKjypGEM6+88sknr3ryKgi2FIzqTcCUGNeMiRiHhCWkLGnMiDVpykJQfiPJ8m2N8Dz5kih9X9obop7mJuNGkrTXwUWpcc2HZuwSZnmIQ6mPzYAS06hq69DAGyMjpHm+EJ2qNNY0IHVTlpgi+BIDEo4QfOk5U0BWAChgyvRI6mLKxPG7EJQ88AClSZZkWcD95aupVutG6vGm5o7evmddY7RxQmxn43i/MMvd8SurxPS6ZcvI8p61Vbgp2rrpk9ERC1NuNEeuA0xlialyKBUmfAmUKrA0c5HhqAswUX3UljFn0pjf/VIYSrZDirIkC8t8nyjC+2bkaJ4A9bSmusDRgsTs7klSu4VZ7p20AtPhdYrS4axaW1VVpQ3m1qGpAc2hYPlwJXxZCZCUeBJTpRhdnC9S0ZgKE8YUlsiXFaWUlzHf/umzAlGyHXJ1p6AyjqlK3RtAhBk70+Y7wEhSt94kdaQUH7KcKxQx9EWotcugtdhDLBXn5q1bNw0Mjo5OLak0IklVwJI0NV9CGuZkCVU4hVFiYfuC8V0Yym9+QJNOlLNtLxniXS1CsaWtozed6upne+n7smg6SR0RZpmkJiaFJFbYl1VLqu5ZYrV5swFJYzLGnZwvAXNR2JkAifIjztQwv54oacwKFJ3CUPJKQ5KloCw0XQZqbevpbE31s72M+7JoaJzE9gFLotwjSfVsAUZFiRGwxABNB7MStlxCX5JmlCXEICdMSFAGiqAs/f2nglEywrVJz4HSZ5mZ5qv92R+PW1/2TdiMCB28BxImL9WT1OBYQLJKfRkI3iTMeJBfR2MKSyriS9KkSinQxPG7UJS80tBkeUZ2lvl9KQzjLCmglEIeaF8t5GwvqYENzpdVsoFoFXkSZuVSR5O+XL3imisJ06s/ZEmSYZoBSKypXwt2JR+HS7KsAMOC0yVpRk7j8WsibFtm2PnMPchneUSSQksk2rxp0/btWzcvAcdAuCsiTCpafZwyBTlrT9yaqOgVYLljJvFrgSgZ4aazPIsoZ1vGc/iSKOnLk01TpECLj0LC5C1RkhpapyifeMBo27Y33nj+081qSj9jxmGuvu46NkWEaY7lCtJLmJGcWSrDahQfuqUzC0P5A5NlrhAv3JfP4nYj1dre1tLSqr4sGiSx7CyHtYZvP/vsBzy9QZYUUbrzD1hiRPqieYblPJAMaJJlLGNO6QsIvxaAkvpSbzSyoGSIz+owTpbdHR09zbjcMC18S7f4smgg3mBq6dn54BjL18SX1JtMl3RmNMhXr74OKZO2dCy96kOYTjSm6G2Dks4sACXaIXaWBdqSvoy/ENnVHD6TdxeJOkMNJlke7rFMoFVXY37yxrZt2x566CH60sDEEpK6keZqCXHZpZZf41C6KJ83T4xJmibGM1pz1H20/teCXfm1nh1LSnLasvDLSz0HUR3PZme5E1jum6S2gCX14ebt2zd9uunDKqu7nS3vDmXM9caXq1esXh1LmJBAnGdY0pgRmqVKc9CApDNnj/IbRUlb5q88VK73IV9t07uNluae9s7WvhTSpag1Se3j+3LXJDW2dvny5ct8VYXFGPdlgxwsV1/jSBqYcxxMFvP5mITpObMvaUFiTwBmASg//1OTpT7ZUI75bTnLS/Wu9t7WVKqru9uVcVE6SR1MX4ZZbljmsbx82eVVy6qwAl9W3X238SZ+WIzVasxKhQmW18hwxSfImWBpaM6XOAdNkqQxd4woSiyGeR6UjHBJlvZ2SDa+eUWWBfsyY6eudTyVheVec/nn42ApcjCxDEnSBEagxKgMYK6uvK5yvbjS0IQE5hwhOWfeVTpEixTm/PnizPnzA5iYhuaojXAsDDozB0peaZgIh87AxIqwzG3L2LPxOEu26qJUsXfwycJywrBcRmuGovwKxxKbg1mNWa2FxypgOWeOCXIoCjNgWcEw7wM/R5POzImSNdyhPANDSNKYRBnriEhzVt9rUGR2PUSOk9muPsviKEugxFSQIImfwIglAkPFiVmtIKuF5XoI6RJTYarA8koFOW8OMF61CJuixIQAkzgxEOHjoMd8ydaIKLPqR32vrMRJaM4qwkkyvy0J0hzIyXKXzCxn6l2MywpwQkLzCjgTKVMjXH15d3W1IFWagTGFIyak3rQRDpaQsBSOusK1/GPPkPgLwiTKHMnyBblKp8BSx+k5bckQz21LS7OI+dJnOXeXnbOwvElZGpIsQCCpMDEUphVMaeZ6lB+40sFUnHMgiXFJmQYkhrpSls2ZzpsVU3xH2I/zoz/LjpJXGu9rZ6kiTCzl6KHMfBYv2JeFsyRM50vVFVcApVWlMSUEmKvXR2N8zjVzEOWASYEl5fVFOybIj3GuBYgos0X4S0AZZVkuNMsF5emZUZJmyJe5Ltxm50ud0Oi65Tctv2nZ62/k0PYrBKMBqhyxKc7VlbSlao7IwnTmhCkXWZIezh1zw7bkjjDPjfJzRLgkS6qMtgyzJMoczSW2dGtWpawvRxSZGT5L/UPdwFJ8+eHzD+bQ83DmFcqz+uJqDXMlWV0NYxqYmjJNlMOdEGAGaXP+PPoSw4T5lILTFQ1zwATKXO2QdpaOIfYyNSX+Cp9Ud9+acFKYZfbmEuptejyrWgzMbrwU6rBFWEJqS2EJmK+98dBDGTEeLdsbyJmeqgNJMQ87U0lim0eBpINJolPmwEOE9CgK0a+f57Lln5IsS2lKWUpUJb4sY+HJXnmYLtNNx+VQs6C8rHsmaZTJl5AwRoyLMT/d9mZWbduECuQ46jLOXE+WhDlHhswIS0ytPRjYd3yc0ZH2Tx489afP8yTLUlBTfo6nUMQ4PfieGfzMZksfpdBMteRi2WFiHCzpy2i+pC9vAs7tm7Jq6xXCEkEuuriaIksfppKECFNB+oG+Q6806EtSlfXgqad+9Uf2CJdk+bYBid0glZ/yGjUGRE9m7y1pS/Bsbc6uto2ujisw2cMsiwWlbqjjEuSCU6WN++XLl13uJHVcYWIIy7svRs4MYELMmColiT1UywOUC0yE8xuUCJWuFP1BZ0Y+8KIRXuai2uz6F6fhTWpIcIovZ2dLjOxVvEhlWQouCChDdVxeBre/UpZhkgKSuuJyISmuvAIgIbB05kSUa/nB8o2JqfKMSWcCprZDYVtS578Hktmd+bWeHS09J3lT9XQwtBKQfozHQeZ/BEmcmJYlpA7cNc4SSipLFWhiQZfLooASOIUmLAmcMgzL89aDpUiNuT4W5XKUpDRpqjPfnqEluRmkxpV0ZhwlIhwsKetN9SNpYtGVWW0JX+a918AkS6MoSwdzRGNcFiYVNqbqbtA0MCGFyfqz/pr1FzqUF6k14ywDIcK91jJsTaAkzAwR/r2J8IiAESss/UrDqzGiICmSjNuSbXoelufbnhOaqHemJEcZnsSXGucK0wN5nsAUSZRfCJhOQfUhzcaAplxpMFvSkTLOB0IqXs1/fP99h7I0N0mhiC+QE5ageXUWW4JmTlsKSSx7T1RsR5Slgzm+AYYMopw4SVJZGpiwpUQ6pElzvbJUZ2JdaGlelCXKXb78WKDRisQJV0qupJgzmSzxsCy7JynFCJ2kIwKygPMjfanNkGxhlgfsWkxZlqzkpBn25sUm1C1J50yQRN6EYExIYfrlB8sZs7FRbjkGw070/44BzpwZP/DAkqVlboBjJpJg6aRBDpoNIBlv04EzC8siM5xSrlpjO9BjebhhmdR9bDlt+fKHr732zjvy7Gy5Z0ymTJDEDGgaomBppCwvFJYXASZZMsoBc2g8SJaUSaB0JZ0ZhDmTJUgCoh1sK0tJEpM6XoZMoRh9NpHHlvTlZX3F1D4+y71Zx4u3LFOQL7+z/ZlP330eD3bfxIPdT9SapEmYwtLRFKDrwfI8pQmOmGpMpelLQWLM3zE30qQz2okyFOaf80pDUFY4iILU0cSErrcgFWV5BOXi4xvADyu/Lbs7O1vTqe5n2V+CZWuI5U4+S+WomlSWH764bdsDDwXaJiBlXYBlfliQsiiNc8BUmibGwfOiiy4SX16Eoc6EBKWwHHCNJZeFezRRRp3pIvyjj4AyLrEkNoWpNEnS8WxwubIhqy+Jsufex/FIt6Wtraeno6N3o4E57byHeYTHchdh6XAOL7sZLF8XgtTzasuA5RUXaJMpirNUkhe6IAdOgYmceZGQxHJFCPmycWrcOZErkc2VLEC80siIEsvKfG2PKhTn+J53UMRGklTElpHPGrRtsSwpfNaALPehLS3Ld9SUcpHxxvOffLJJ+nUspYmBHT+A8UyFySA/r/o8lHOw1GFQSqwbjtgp8eUORne4v0wcTXhZChBRxliq4Eod+k1I1GLMhsWKEQO7Z8rM58foZ2CMMQecK6EjfZZHePlyaO3N0MuI8ec++RQfHHwNdQe6drkE+bVCU4lCrD/05XnAaYL8QiwaE1KWOlwJmj/I4u3XHT04UvEw1ysNTZZZpO/4Q9gcRMKU70DT/zWGosTEYrKMVZ5n023NLXjTx9qzWX152WAxxc+5KUtqet3NMCYmpL3RtddeqyyvvXz5Bcsvv+ASG+nGmFhnCs4zA5ga4zbOAfRCI1QfiM4EzcY50QOPg0pXZnUm2iF8Y21pBZwZBwovYoEnJlyJGYMpJNWbbNL9ZEmWVDfe5ettb+8uUo3Sfucf5rM8spgaqFeW2IyuxQRIHWB57SUKEjF+DjYJ8zMvuNixhM5DoFNAqT07WaoxG+eA5LxNE14N9x0KlPlgaoRXCEZDk0jBEcOoXFmCJnaNbqsGTA/mQt+SuRoilvEtM94R8iCf5UHF1ODYzUbWm8vhS10YCPFLLr/kAksTppRdRZjASZrwpVPgS0xV4wRrOInyOiOHvn1fvnS+QkSOFiWmJ8tRMApMLAfTw9kAfrltWeSGY7nRY7n3Xh5LXGBSo1sMSehmmPJa+FI4AiT2Sy5BkIspsQxG7IjyM4HS4jxXaGqk05jXhGjKwNRLy/gFMHJlXpRP46KtsaIU+dLArJAh0wY4URqcIFirNCFHUwa0ULZjZcg8IcuRx9mSLEc8loeTJYw5l7+ZmbzZyQY5gAbevOTDd5759PlPtl9AKVJD08JUY1bTmLQmvWnbIV3c2Fdm19+knVlsplMcxq1zITFuEBH78t0IkfRCzCDDVPlscWFfEvu+1dIOnaKkg8qoXTE6jKLMVFst2moZ3aYL0xKiHTpGgsgEQcSdxPN/zjnfc973/b7O4DnL+5kxN788//M/57zL+fPXlz83lE4E6eR+gR5aypv0o+RoepQ4xIVHWN5asOX7b4qlfBnb8vyhfDxVT7CMFuT5mdvlSz9ckuUXPaOtU1vWcR30QcCIAh0PlpDCnCS9YpZKQGH/N2lOLRxLJvFfiJIRnhHfrxRKyaPUaGnF5A69MoTWHcn3xV95+qXXVr/BNyBlTHIUy7mI5aEFlpqsa4KZdCZ8eQEW5R0fgKLXR6dKyEEEaYW+RDGGLqUnfSmYA3Il5X9vy5U/f/+OoTzj46IgMyhvtspPbl5xC0pSdCUaTwoEyVtvZXyv9W/dP/fKGn5YXUDFEtNL6ZDopWdO1qW5ewNIa109Pa3tHW32uLVIfrQFgyYFjqdeZDS9MVk5ZC4NtkTJGvM7RHjBlZoTbWus/OVXoHz77TP0nGERoFCBZUEYMSOM5xpJcoQsvu2sWitH3npk8zNkyQ8wP4fX+dY2t2RsOR1PL/cWy/QEc+D+4Mqu0b7JjnWOojh+04Z9I89SoS5rosKcgAmaciZRFmDO5otO0uXKEvH9B97fAUo+GFcKp4PoUXqaBClDGkuLbUb4rbiGQ/yhI997Te+O+481rl7zRkuCJZ40kHYXyx3txTOEf56FO+sEOblOmxsPWQPFLd+NnnqOianc+/IkFMvmivOlS88GyKVQ8SHzlG/JLj1i5raRdH5/y+L748cBkZVAWSW8mW4QL0Tvv3VGlKymG8CRlSJQi3GCtI4voaxd80rmmwbPvLSmubPFoTy/s4K8WCo0XHLA3B9/RxnNBrKcfMiLHL/5YOrH8Z6uc6655hwvYLRGW2LQZCoXTkAkS1yppDM3Kbrlym2hNFN+tf5tkPz4LLQL0RFkoEoBInDaJRZx3nCFFRNJWvMcrXiBJRoeEmxpeXXNa+E7oor55x3LteAUtJAs5cvdF3jK1s0w+UwFlN+0dUyOAqJ0jgFV7kE5Hv70AknrCDIFk7IIj6bnSkEnbCPp4BX7r95+G9vHRpIgWShDWWhEiUpbFmTnDrDdDIxWJcY4OsqcWX9k/dHUq8+//tpzsUPxNNH50Bxdx6IpUdjB3Mv9HfshsrS3pZo+mOqDG4Hv2SRJKjEvIkxp6fGWgEQzdubsmKZBcub8aefPP3jeKFBCBo+dI6lf5lD+uhlVchF+g2MJjFZi0Zbem7RlfZhbGtKWlubXX+O3l8Wyn6ic+w7VcKmdIv6t392Aevt6uu16PWQMBVMKxrwIJSJpzrSpUUApmOjPHCBH12nrd96k86sdNwqUJAmO6EvqZrRsjNsndkETwkEjSRGihINXQbK+vh6dFuKd9jbk04hxQ4mdDbIizMPTLA8LtkQZWEaW5EiUaZgyJiolX0oK8ijO0T5MLBu3x5U//2rHXPsAjx6CZZ8BSUv6RhlFXgiTzhRGVJYAEqX+PjI0nolp+nRLZydHy3hnI4+dDbLUpGjfvPTtxBFH3HUXqndllmZsTCn2JWoIcRmTNGdHojuOocyL8vs/6Mr1jG9Pkj0uRXEWvs51HuoNdKSEk1ueig5iE0YPEzTrCyJIVs2HoOGNorVw9zTLA/NSxcztR4BmBJNdMWMGmBblnqZ4AmOG5mmX9ROjAnxba/A/YUoGeIQyhHpG51k1gibSBMu07PAWOdNOBbVKkJB1BZRoxx5dH08tqbkCK6Sews6GVuR5aeheoZQxny3qzESYuzFTOEWzwFILHmXweVH+/q5QCiarK6hCyUKFa8KUGi2fIkfZ0pASJlGiEiUbWKLGLAdI0TqmnjTLA6K/7r+fvgRNOlKaJ8pPtBQEmMSpXB7TNKCXfUqQCnKoYr6R0pFc//YZYimginnFu0gKZYIl5M5gI01jeQdR0pNUIshlS7EcyUuHB5YK8v3y0lgDWCZ92TXa2telqZFYxjBPOglRfhJoCqdElKf1y47hxwmflTZlQHnm42cA5uOoMcxQ+Igx4UlCmY5yeDKwvMMKUeJwaom2pOrgS7CsQ8GGRkA5HeIbrWLfQhrX1voCGfPbmSMIE8Wc+Wxv39Q6TNrbn30WNE02x5RO9DBhS4BEI02PNAlzi+ZCmleWXn6/G+JbDP1P2ZJvV6LDxTtSVMERJNlTOGeEAk3oDsCkQBNdMZZvPPf0850tdQazjiCptXlp4Z4pW2Jrfc+FUfIZQoBDDPKuvvZ17iMHbQxysgTNZyOaRHmi4fQKINmL5uhxiWf6hbJEfHMqBJQGEJVPIKUjHQxRSyrQ9DBJkzDB0FgSI0AC5R0ZmC124LhtvgEmTBlo9uelQ33qkXbCtlte6kfyMV3fNd7eFj68sWTSgt078xw0GTPQTMMkTqE8jY+0bV+A//TnH3aIPV0ZlPDl6fKmt+XlaFmQ7OFIVOuo21yPo+0A1CzJI+hF0qOs63zyKMoOSOqc9iSxSZSXDtFwqeRzcF7a3ECU3ZN0JGE2tY93I5ejUiAaYC5GA0ZjeZKxFE3UBM1wh0c1X9KVvxpKuvIUcjwdDfzw2Aw58sL+crE8jy2t28677YbLcZSDESTLwPOOICYesJQ1DSTa9CtHBeHw0lc6HcuhjXlpb7HUgLl/PtLEtcZytGkJBJgdkwAZBIwmjZiLfZiTpqQw9zC/kyX9taL08tsPldifw+1fsmSFK60TT6AMij4nxR/+J1CGY0bQsacpJWKMSNbeVwuUqHV1LWtXvwRzUvhYcAhx6UClHvly99QMExpfB5RNbe3jXZpkWis3ll09fT0B5mIHEzEOlQrz2XCHhyw1RS+2J/TDuyGBkySEHiwJlSzlT2v2liUrvSmo/PlEOH5ASIFSvoxwHnlfbS1Qugg3AWhLM3YzyfM5Z8yxvLSXbBlvFcUD5kCDj/G2ydHuI8qOAEEJIMvPGZ1at6StJ7BcDHMCJFGKprK50RzY3p2hn39/USjJkiBPMZZssGagycvlVvXVniAPlV8lhzefuAGdwWQ1X6JJsGPn66+vra+F6muJUup8A8frPvn6NDc2KvLSfkVZ7nxI+H80K+ru6S3DpSwF85zx1o6mhx59qKkvDJkQjekUxbnM+aFA8qK0k54JEeXL3pVkaT1g0pans/G9FkjhXVw4deAJCtZEpStNnqNUe0ftfauPOe7TV9a0wJvGsjaGef6xLc3N0yuMZXNeWsDZZZblvolZEZbkVBlBloGgdbRlD+5eUE2j5YsFEzQzMDVp91sa7OTKUvEdUFKPo1qzwjg3lGgQwxym5JvpxVk6lArygBLd3bfdTYo4zh+X2je/5depX1rTUldLkCJpbcX5K1ZYFw+Xe2i4lMBy5z0qALEij4Igt2UkZca8HkQ9yt6+MEla0taHkZMQrTvRfqRYhmn70uMV4Z5nvsSNCB/fL5MkMg8gFlDqCW2CJMvwAyRL0GSjL9M8gRICSoOJcfJ1O2aCONe20JbsyBI0PcrpzcaHmCoqFOIRSswwdz04T5bUSEOBZRlwogdPkmwKJFt7n4XKGeYO5onosmFOxfdwIQV4CuUPQPkuTbke3DxNGpOhTqQRy0DSmlnT0WTvENKYhjKpu9EA8W62uyHgrK1tef41f1zMp68931InrUCpWwGWaJ05IiIqzYjSQb53RUH5/DCDPPC8y0B2jXcEkOvae8rLny2HLKkvDlFOmmIpmh8CZbSbXmJe+fMfLxaGSlA0gSZK0OP+koEJjGjsAfLSS4Mfn8AvP1iykSMKeoooTRgjqZbVGwPOVzqnCXKVoQRLQwn105BeB4plJJsVLYxgDtwbs4S6LN9gtonSNtpbXn59uZkSDaFthSRZszS/GBNKVKFMmfIxoLT4RoA7EaO/0J6JNytxSYumLJw5cClYFkZLu9xJlncCJ2pCtUFvruVZmjTnmulVxFlgiTYSsdxrZ7DMouTShxHu2sj0EZG6+zAFclo3OX49VE7RnIufBUmhLMS5kvlAcmuoovieEEi+iKESrlx6pkRbWh+ABnN6opIL8ieAE1ENjAbTsPIKluFMOxRIGH2ES81rng44V78xXbfKtMJrGHgoI6oQLxLkYbzEdeZaoWxtbwokW3u6y8QSxiRMRTivXoHl6HGapSvAUyh/eBEB/glR4l6lUFolzseJk648E0mISsHERyiswplgacU6MjVPBpk70zAjmnUW6q8XaL6yts5IBppzQBhSz4LdS7M8MFchDSzzIHsm2wLI9tHu6y0JLVokmhbqlsJFEyVBk9MhpZ6KojcaX9RQqeeOEkANJzqFO2I8401+bZOfIo/lsXqSkEhmvVm5qraysrK+eTWyOvX0mmbihJDFK6Q9dtWtnvSAuesBBt2X3IzbeBttc55s6piEJYOI0gsoUSlvzCTMsQJIa1w4ZqfnkEO59DSvkjyBUbZEd4pAkmVx3SmRJYo4NtY2FlB6rarvfP01h/O4jaubvTGHciJUcZBsWTSTS3NXk2WHJ9nXVRYJ9ixftEiDplDGcyPuHH1XmFOW2hn6HkkHrvx6g0N5poFEScMExVDA1CASJ6s1fFeKLNGyJMlSJNkVaDaiNjbGMOsqV6FMv/HSp96bK5xiW+YOnI/lngsi6psnyHKyCdsbU6OepLQIkjMh0VSUQ9zSYNXCMbXn++JjHCqJ8mTvSeLM8kQBUnSnSERauPALclmWqBmRIFGiGEQjiQsoguYqu0w3r37aJknP1BHlTGzLA5TFMzAxXd8jxu6mmF2THa09uKZIWpQLpgJdYe59ORA/ZylXRjcaHwNK7mVstTtsCnG5UyjZFQway3wJkkWVBdl4591ojeQYXFlZUK1hBEuqcw1ovla9ohosNwmPsnjpIBf3sI7UajIOcjrz+tiZiHRCDAVChIOitjOKJJ3HiJLxvf5kp6VnAilQWk3izE7gw6dR+LEzwMTFI72E3SV2ufMS4MMJTS9EMd6IM2sB0gsDZmNlZWOlhkt21SioncOrqgHTMo/wLDxwfpa7LozBTyD7SEbSmrx5fTLMuTiXyPLHvOeosTJrSqCEK0+EK8HxNOI8k/4ERs+TTdI83kiyEiFosidBXFDw21heYofaBZg4RhksHcQaa4BaiWulSDqWAGkFIktkHmmfnZnFS8HceefDY5ZDVxfxZff4uB87jSRYSohyOZMwTxqJJpaZsfKn7/967MXHMFR+veGrrScRpQOpp4/iWC9m0PC9nsvct85Ikp/d5OeK0fkeJ9pdCprEyYYKpDWQJ0pfBkd6U1oHVRrQFdXVq/ojljlNLufJPjkWaGAiG+SjHU1NU1GUJ2FKDqa+0qbbZEo6MCUT+IaXX966nk8joFAu2g2iSe5ETWYiOtL3/HiplUtOIUEv9xswrUo1KESJilJZU1MZND3X34mLYVzF6jX8EeAEPHvtKpalp5jS0L2pIB/v4ARJcS5r2iVGaeXD47Rjmc8uvx3KTza8vHVx4RY6OgiO5MVLzhTQ8B71ZSzsKAczQJQIUCRhRZox0DSFGH8Fn00eW1tXaX6UVkwkbHnI/ChhzF0TU8z+ZQLp7lksEUuA9DR7Jvu6iJM0JWxpgGQJV/7qUX4NlBbgnia7oPXE6mCGJvnVpb6CZATRXRYRTOG8EcUCnGrEYf6kSMmYVfxU28aBaTgzpjnzcIW0UCG+fdlnZPjqiGQrSJqmemRLlK5WLIzagzdjlNjS0M5QJukw63Co3OpurklM5sZRLKGQ2yn6ks1ASiCJmsXIc+2gF1B9dN/oIPaPfDtsRBXj/Z+6T3qvHq6O1Z/IPFo/lg7ygxOL8kHtFHU0RQsg0eyZsj/vcCwTML87Tmvwz1JJx5uSKE8USsEMOBXqkmgSZZpmcWPqnFoKvxzMTnt1pH+WWOFJ8+XE0Bho0pudE7JlYs2jyWUplm4XM8dCY+JRTKq3vcnvExlJqbvVbXxMEiVYiuao39KwAG/KJB3IhsoNX8KVYpmlyWmS3rjKShAFM1Q2oaSMIkFCBnPYvVE7XFNTRWfWVIHnxBDinDT7WwLLTUTi4fBGz/wsbe1ziEdPnri5S3X4vctuy0Ay5bj/8z5gJMwoBW2mK7VwjE0J0ZQbtp540vFLDebx65euJ1PloIyCIQPFM0UyRdNXHs3kgpu9MEKFGOfXxD4dmOGYWRU0PHaCi/Th6qrq6obqVQ+TidOCvTW5LCXLPgfmHEdq84xjSfd1jCcn7N19zpQdo0BpMF3vaH5YeLL/hCXJG43OlC8SJQKczyK4lwVSKjDk2Gk19mP0oyhOZ0crQhkrjJiNQ986a87Qk66gTsxtJMy5amooJ4t5WwpmyeyzT+EfaRuzdV1Tx2hqJdnjTdm6CCmIIkxO2stH/c2yMEXXjcYYpdmSAk0405QMeA2a+oKHcFqj0jTx/U0jeRlJuqrzk/GTtlxeU7N8ObqaiQFaM98/UbPcaHpVVlukb7QE1NAw8U1AYtf9Mbmcj6QW5Qv0j7CN6VJ5b0+3ZuzE6dN6Wy+nRp5mwZmM8GyA05R+qARK3amkBDKaIZGmoAqlZC/8x0RB0T4bid6DhO6JSa5EW37jSgO5HKVxeMS9Oz8EkoUwB8OJof7OVRbhDbClLLbXnkC5bZaar3ue/RwxJW/L3imX1ie7CRI1VvmWkMKPI0olHe/Kr9/Z8OViuJICRFZ0GYli5NAAEKUgfG+TH950vnTiyS2X2NnJl9wEiCjWr1wJjqigaOJlYiB/AhP6RJVUjVLVAFU3THzkiVAHpdc8pXfe9ueICVk/gq23tGhKN4KSZAbmKBc8hnJJcqUTUH69YeuizE10Ai1FE1021vFDzrxHHysOV8ADSLrRiv3GMd/05I0rgXBljUOJftiPmsM+wANPx3JTbEttAm/bmLvtk4s01pBBOTrlwruPpgw0hbI3rzV40pQaKsujG5WoniQvVrJAKeGkSBP2hO4poptQKcc0+o0gB03glCZcQs8PTFdJjmTDzEcxkcNky20bc99cLLddJPUiEVl4t49HJHn16mKEo+abons6fwklZpWL9eCrB4oilMWVBkqWRHkPa1GcN6W10mQ9WUqYoudtdjQ2POFBsjNtKZwXjn6PPbcXJUfMvdw/ZcnxZoXEhQ7nmsZPNOVMW/Aw7TQlJ5VCuWgr76uhRiyX2lRTmh+mgOJrZwBa1JziGIsg0VIokcJpTY2aDSiM8ZmHc1LF/ttjSy0k915QyphdfW1uKTnenSSpZD7uH3iJXPmL4tu7koppplM6W1GaSaAkCZZUEV+iJEnKm0mSVrHe4VuhtGYDKnBiPgRbSgt3236UO2RGzBFtsIf03RpICiiLRfgHWjgq6ThxqCwrT91AT7gTCE8KA2dJf+rTKFKWJiA+QnLEKZiBpWgK6Ey/S+hzgEmU0HewpXSIbLl9I+buOQm3d8Pe26gj2d57RJqkNjSn3LwSkyE93UJxW+jrL78sB8OIppWg9aDJojBfb0gzM3h217HgSo6epx0wQqq48uiwi8EUx7GhEiV+iCRqwZVXXbXcStXw5jDXBMhlZssEyr1oS7Lc3hFzj1ykzWGLo809vtGtKXvGl+MjR5k0GfrTko6GyrKysOkelLYmR07JYSw696SuC6EOjihBF1sxfKlj0kkzwLQCASM6XKqszIw5a05UASVgfpeLpbnldo+Yey5MRHnDXQWWHT2as2e1aDMDHK4MSYcchVKbcjFNmZPOlDUV6MVo0pfsfIhHn3lHuwn/XTjAMiDFdflKLwBEA0oWCAkIRIc5ag5XAeWyhh8/SthSKLePpdvHjOXvVvS0rWuFKbWY7J6cVHhbpNs7PAxwTSqdXNb5crEURXpgKZ7emsIpi/pNEG9IXtiDIQmyEOxN15GlxFBfOTc251AaSSAMAkf2y5ZNYNTciKvBbIs5LFAS/xcj5m6YF0naYc/c/5mK0xCf/+UUPWPKT0ByUcAYLlmYwin5RabbTcKVOO27cWgmehNVokEdSbSkbA3TP3jVxSuvMpzU7Ni3Qw7qsquWLatCnRmeAErA3JQYLff71yjdvCgXS7d+InH7cl1XNGZuTIyVvxZHKaWTUBZoBqk+5GE4zyZS03UopHkyQBIjCmtKN22ypeCmlVeuvNhQGs3lm/BU+ZyhBD12xMj+o4QtD+QG0XbD1BZHOspT6rYbPQlfdn9QcKVmQorvRembvuwTOLMrIa0vdT278FEpVHIMrsQviTyzGhwzmP2DoOg12M+3QGedL2NVbcn9D1sqle++IJPLs3clm6Zgy6APbcGTX+IfuUqj5M4matacpSMdLJNxjoYClGiGkU2fd0dNwswG+ZUXzxLmlkHD6IAOj4BlxcDw8jTN72RLv3qELf+FtCmcizUwkULpJu0RyvG8uTKgfDHK3w4lYEIxRauKdK2FirxvJQkrCKJJaZCogaRQojmY/QB3JZrpw818e2SIHKXBb4oknn8Nk8a09CPNhSjXAghZXSh7NnOsdDsZeCUiGioNpSnzfIdykCSO8wElRsZ6UmmcpCmQKNDsWM7GzOVXFnDODlQYzDlkHPGsshwu7bObbPmvjXlQLhZuSgqlm7X3RXP2rg9sO8Oh/PVrovRrHaFc5FmKZnBmyXFTNFETLIkyrRDoD3iUDxQwUsSJ6py56Sr8URgzN1UwzmcjmB8mVzx7/uvRMt7ITE4ytWHU08ShsjfM2dH1dhQWjr/88QkYFgLckww0QZL5nJ1EnB4lO4i9aLo+rSxM5iA78Iok7UBQO8cfHRVg5nKWgDzJB9GGNxvNjcP3WzJHd38S5YK9hfLfs8xGeXgik2MlUOpuWld7DuudJWbKvzd8TZYoQilt1bOvsfQ+iySYkdIcMzR9JrLDFtHxcO/rAJMcJTgzZ858EIU0A8zNE/cDJDT4QS7WAbuJ5X+CuX8utS2svMNVOQVf9nY8jIVjkyWdcaB0LH3WCduaMudWwszQVJwrrZekKZ4omXgHRDT0F5MmBJr4lYKZy20avPLBB42mdfb0VX5k9n64EurIJWz5HyNc6Yebb9KIf7miq42PHQQB5UMnuAD/u+vLDURpJDVUUgp0smRJx3maJolmlIQZMrpw8lQ7XLwIEZGe1OAIszkoOpz3owzhLvZV95s0WCa32v6jLwlzYRLmRDzLVCYiSjNl95ewpVB+KVdKivTFWRHnv/WmsyZPX+OFrjThF30pU0oPDg6AJcZMknzQIZyYCSg/SubwXZDDxfI/RvmC5JDZUATl1JLcMcc9ZCjLyr5khAtlWTbEC9ZEnyZprZiKw2TvD7FDpXglTTTAJEmUNElo8CNOjcAR5jSCD6Jctcx+DbYlI3z3/2xLPV608y6cGEn9mmVqfvTwcZhX/vQbJpsFW4KkR4lbba2EmB02qQxNqChOMSVGCTwJEEALNA0jQc5u6f8QKLNADeYAszlIOtGSDmUyh+8rlP9RLsq5LSwNp2D2YoPjBMwr/8YdINoSvkQxlG4K/0975/PaSBmHccTqYcH20pZQuku3h1x63KMiFUT0nkPxkoO2Za+Bgqey2EMLvZf8CTlkSGBymEzXFLJudkMOQYiH1rq0IMWDiopXwef7fd83z/xKXG22P1afyUwzVj18eL6/3pnOVPXmjkx9aPVyNFnYP5bPxw6kPKtYt6hA0sA828u/OP7ysyK+JlEC5vO8FqAEy8/7e4k5/JIsIc7lIwdzHyjz7wFlU/pM2BIsXXyLGv1VskzDzKZpeGYEutIESUMU3nTPeMcmRGNAjTMfy1u+25o9i0OaxWIRMFF0juHMvHWmhrhKx3Bqju3Q5Vi+ObWcj+krFHO6sra6uvf+6k+/+tq1G5YWpSosy50ypJeEKZsoq0HCMVPAKJuRwQmS+KSE6nO+B52BI/gpzKLVTsKZtOVFHOU0u/RLG3MqEeXPvxjCbMCVu5/s/tm1neaz77777Xcb3ypfFpPqTfk6ima2NxntWUiFpO7ui/rS/nQqKsy2GPPpcfHLTz8rgqO68ksHE/uxganOtChP8zHdneKSxqVhzt7Lj1gyCkHqo2969gwh/uznP/745dm3K5ZloybDZteCHeFMN6Wzqsft6ZAWkkA/cA+FNc7UQ1Tm/d7HhybKi07tF1hwE5SfFdWZJswlwJUmqntMi1NvsR2aAMzpRDF/RJb73zSHKL999usfP/34A1xpVTERzsuU2RKSYIpDMtIdznjMA6KB6WjK6wfs+4TW5AcOVOtIohwQBSfM+X0+L6egKR/AfCFloL2zDZDbj9rV/IRmx+z7rqfYZcZX2f162fNXnJ49+/VHzD6Vb91FyqZGuP+AGgVzdBniTxz4RF1QZMIEQrNLDVrDgTDx1vnBGVgeHRedcJp/evKZhbmzvSOT9/f4CZg7O/V8THPSWfK6xCRS5mI+AdM6s9Ft4OiyZRcov6mrKxnhgSAcbiO9+a727hnW1M0dsH9cUJTEKYXI0nRM9W2g4In3+ANnW4zptRnje/m9vXP9vr0jh3brov1oWzTo5+NakAgnyEnA5PIb14yS+rb5DVRvrsQivJK6wWN0TR9XhohVHxJJX1KmNQJGoSnbGjJmkVHudHEIlkdPAFE2aGdb9Wh7R3t06m3cWvDmJOoOFzkkZSaK+d7Xm6lrvHVhGZrHQ0mE16W1tBFOXyrMbmM8zfR6XOxCcEGURXMAW4IlDkqziENxrYgoh0yUr2GXpmfvRRscYUxBiV0P54qSus9kORmUXMuMKXnJvCHoymHD/Xm03y+zhsfvLmz0M3tO/vWAMh1d1FHSsaW9OfD2j1oCElKYTu1TreVFpxbKjZ5vU0BZS6DMTRmUk4OpLAEzUcxfJGD2BJ1b1XQRXovfcmRpSgNfHRPqOHC9OJNo/AHv7qn5F/IutoG8pjYpjfJz06evF4uDE1BDCo2xbJtxh5rhmuVkYfKuTMKMjubdsqy1+zz3bJeezpdmrnzwdyxH8iyYI6U8heUR3nx1jBBP0Rx4YHl6UXTSqM+f7WxTAw7hkQs8ZDlJmOyMsgpQUNV7OJg8NeKJMkpTsJc7epJNU3cmTgVqn2lIhAQ5pDmo7+/v1d1bakmyCJga5cfr60X9aGeENnN7XTkWgdJLocS8M3lbjuqMnvJujlCTJW3aYYSn1FPHmiKEfXQD73jacf3AuhIbRaRQS4w5gC/TOtmDzhHhskHtQ3FqOlfyWhmT5YRxEmZMT76gL8sVomSXHhNn9BBfCHNktLsqpIeCQUk7JqTFB2/x35Cva4WoM9eLa9qxt9YMyqKBebZujTmo5+OavmtRUpMOc17/SY6T3VpnheqLTTu8eh6VWtgfNpscLmv1MIWTLNWbBxCeOFMo+D2vB5pJnYPl6QCvpNYYJ0rsgyMxYnFt3al9cj4AS2wI8HzClQblpFny5jf27H93B5yZwxvu6rkfNBu0pXDuG5QuzpVmT1qoKEcLkzJBfoCtUNndPw0TIOHH7ilgXoDchq057YHjuWlqORy5hg0IRdtFRVlNolwCSs47k6dpYN5LwvwKNw1TjPC+a4+k06xy/OlWhZkjaZslSPvTMJExcQwqHcI0R2w1vB2w5iCS5sc1aYuUJN7wvTnwjrwAGNdkN3N520S4HsET8b3eOcwntGxRvmKYaWc+/7qU0bVXg1jn6TmUWuDrjWjrbr42lXGqAMk9IhWLkkwPKnjZolcoHGDbiBhzo7MPdTYKxpgXkj4HgAqWttwcDhQkQ71YsVWHSufKVwRzljBjjSYVlsVhRCsuHZZ0sAEcdkjWmOYX1SDVKFXkP45zPMDekfcEAmQBryCACu6wVgW+c5AsbBY214Ts6QVIroPl5nrrVOdygKQGtkOnpq0rkzCvJsyfumUj3rjlNYhWXDqcJStyxuxJX3bKrPyjWboY9z08uHhwAJKyR1SRIA/sm/wHhzjzBptWa/19RPnFelT9lCvnR+fKyQ9As4spmI+PGeeAAnZEWxcaDbvioWeVrA5eFuh6DPoMloSJTx0sKwdQnGUhKIsx8U1YbrbEmC3BiG0TmVGMuU516nsjys6rZEmYbI2SV9Q4AvUSc3oHNUgF0ByHYiJk8nxAlkmcNbCsbXwoJOMw+4JPUKozD8WmzpeI8v0Yy85pPtUMXQFKwtSmneNket0o6IVE2SiL3x7YO+IariFKO1OyatetzDH2laVUoYRCsKwDIxTH2d0FvtbGJmgCZ3iq+VONiZS5eX54NhimSs46yRb9Kli+4WAuE2ZyoKSYLd2UHkgu7WSxDMSwjZQvDcsHYJng2UXxqTYPnMhyTWaf/kBMiY+eHXY2hxoAKD4QUdKVC1fgyrQz59POfI44T0oHxl4s4KsPstTRp5uN8KV8MctHeIQpdiioopAHDz90JKkOjHnU2ShpnONM0JIlyrk5dlz9pmbe4bRzBSLMBa5n8k+qHmXakq2mpwE/fP5JrxmbLOsPRvgyVtyBEvJRfFY7eKC2CfFOr2lRlnxpi2pCEjxLazJWHrUdypL7UkujvDd7Ra5Mw3xnJp8uQbypkNmyEiPrBXaybPSA2Y9OlqE9yfKlnlmYqooUH/eyq3B3vxrE2qIBvgAlQtlzfRG1HlbT8b14hy36FYkwZzNgPo+vtndWoeaQbE3ADO/LrutVSqOml76gQV+6eVP3h3haMSTFx7MsD3raIW1gA0IfYb1bUY+WNksl7YsC+eacuV45zacElFfuSq4avXVnOZ/S3mNjTfaatdhAVHZkdTCvuiAPeBIXY9zRFIFmAHzlhkGpJq1u6FsXcV4HTA+uBEscB2fCEgwVJ/aQq0LxAs71yisQUZpG887SXIY1nwy26MR6r8mVOBltuJhkMiSv//YbY1hSsKXAbKxqwjQKyoAZaLhD2ggF4GgU1L0KEELCMmCmpGYWODdesdi1v0OYVNSaPnYO5tEF45rWIVuI+tFxyA9DP5tlEIZqzIf4yBTZe2hVxUnoXkrt16V2g5xkTKdNcwyxKHQjqk6UpYPJ6Zx68aS9ld1qek3euWlSqYHkRUtPv1zuZ7JsemXevFDD+2/6jqUkzD5eGFiSk1KIID/sKkg5UEE/w5Rv4zL4daJkBbqTY6cZnSlZg7gUF02emi7dXwjpWpKrQ1r8G3GWbEI99xaHUE78SJBXA3uytVHd392vlR4qSMqv0JTxsdG2ldcBkzMQYDLOEzQ3EyvEUnnYamqGHII1nTqoQsEqlOnLbjnSRqFbx//P4tN1o4pzaakmxtwqbZXA02mT1TsV3wbl9YlxPsu1jtjiUfxp902Pf2EF1W3yZEsvJGFSNwKlWQJfZGWkWTdtlMFXkyB/6NSt4gwkIwp40TaqpTuugF+vGOdL05k042mzW683eSYh3mVNF5O6cciwXMnIl8JymAp6mmMFJj7Bqg1yvDQde1ivBWLLLZgTQi3PJDk3PzWsOtdKk0sdHIKSNE/Sl9YY1fVGtA517Iniq5oCn2Qp/143PnaCpOxSyVcrLmGqgNHKZ8mJKWdMee0BnojzKVozpr2TdimLpZiqwvA3qZS/8hK+XNGtUYuW+65lLtZc0Upe97ecMZ3gzS49mWoqYcqbEN9ODuYCS1CiQdqJUaQTfXdmph42ntrSG4D0Jcna6+6+udAOH65gD3URbiulZu00n6nc7DC+bwpMjXNaM7sKXbBDIjCPNZ0BD/WjvVPUlwjr2CXNqssMW9j8/u5qzX+4he9UI2TFSZhyfupG1O8UTpc1F9hrJrz5+EIHS8qv1boMeC09UZaVGEvO92JgkOWwFMpXVbMS+pbkivnZDL2jfKamF2dtfN8gVyZgTnFAT+qr9CwUHydjPX0nm6XeqAB2/F3PdvuCD8JxSLLHzjyVKTW8b1SqTHVHbI+y9PhrmjN5z0y5MWTJQpRi6Xtm8OSzKkLDkjIkmxxxssP7hmXKRNJ0WXOeE3ranK1Mms2a1yOvahZLxv9uh4+b8tzds5S1JNNkavqetZnypqXKzEBfYLOZGeullUzRlyzqZMnMGoz/z4MeC3eaZA6J8ib1lGN7TQ30uwz0tJ4ePuGfVGao61VDuhThH0YdXOdZpsOzHcmrY0B580lCDPQ7i6SZpcdP2j55jlO311l5Ofndnpcfo7fn7jqSN698jw302eXxNJ+iTyquTEyNSv2Ujsyeve9M3aiR8R/QRKSjQRqv52fn0nheTn6ndoYUOV45FG8leaNrTvrvBOjNuzNs3kf58/nZSavT9P8NUb/ZrdS8UzbkIyvO7fNkzJrWm6zp44B+9fikdTwo/QOgzQ4wjg1rdkELUyZR3sQ555/QnJ2/x8Q5PoE+P3x8dt7qdINm029kYW34zWbQ7YS9vnd4ekSOYwvO/QXrydtnSiHpaGqko9+8T5ovDfXs/Py8Umm1QqjVqlRw2j/zDg9fAOHLa2Z5duoWk1SRpsWJxPlv9VH+X2o6946AZMW59sXzS3oTMDVxLuRgzqvU3KKSvPWeHBJl4oTmc9Nw5xUIWRKLaja4b7cn6U3SVJxw5/0roAlH3nGWvEX95MsQTeB8Z3HmFUb7XG4JoU2QrxNJFWlanMtz+VeimaVZdeRraEmH0pnTVSKN9gnbc+7eEhrJKMjXIU2OkKMJWZyz84v35i4P9O3pmdzywtCQr2lsJ82pXZJzJ3iqP5dzlzHo3Mx99SNBvp6xPcKctKfz5+zCkjiUHdPLmHFuLrd4F3Ykx9c+tFNNkgt28KQ/tSIt3F26f2+GRLMhSkjfX3IUlSMNeTtWeSenFFASJdb5pcXFxVwud0+Vy91fXFy+O78gjSNlIDqMr3eOHE/TyPEEUSIdKUJ0GP/jHCNAyZNMAdUoxc8iJERi/C+kyLEo40DfINGxchD/t+OIimSJOqwEKx8n/YUR3fgfN+SYFjQlGlD0vxVfliS/m819sLkv7vfXf1P07dAbmf/gZofzX6k1ap8efBKGAAAAAElFTkSuQmCC",
ZH:"data:image/png;base64,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",
Kxa:"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",
oY:"data:image/png;base64,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",
gz:"data:image/png;base64,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",
zxa:115,GUa:115,Uxa:"data:image/png;base64,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",
Wxa:115,WUa:117,Yxa:"data:image/png;base64,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"}});
define("mw","require,jquery.mod,kL,nV,cu,fQ,u".split(","),function(a){var b=a("jquery.mod"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("fQ"),a=a("u"),i;if(a.ad()!=a.PH){var f=function(a){return a.requestFullscreen||a.msRequestFullscreen||a.mozRequestFullScreen||a.webkitRequestFullscreen},j=function(){return document.exitFullscreen||document.msExitFullscreen||document.mozCancelFullScreen||document.webkitExitFullscreen},n=document.createElement("div");if(a=!(f(n)||j())){var k;try{k=window.self===window.top}catch(o){k=
B}a=!k}if(a){i=e.extend(c,function(a){c.call(this);this.ba=a});var p=m;i.waa=function(a){p=a=="out_of_frame"};i.prototype.available=function(){return p};i.prototype.lk=function(){this.toggle()};i.prototype.Ff=G();i.prototype.toggle=function(){p&&window.open(window.self.location.href,"_blank")};i.prototype.enabled=function(){return i.enabled()};i.enabled=T(B);i.Tp=T(r);i.Ff=G()}else{i=e.extend(c,function(a){c.call(this);this.ba=a;this.nr=f(a);this.Gz=j();this.K=this.a2();var d=this;b(document).bind("msfullscreenchange webkitfullscreenchange mozfullscreenchange fullscreenchange",
function(){d.s7()});b(window).bind("resize",function(){d.s7()})});i.waa=G();i.prototype.available=function(){return!(!f(this.ba||n)&&!j())};i.prototype.lk=function(){this.enabled()||this.toggle()};i.prototype.Ff=function(){this.enabled()&&this.toggle()};i.prototype.toggle=function(){this.enabled()?this.Gz.call(document):this.nr.call(this.ba);this.s7()};i.prototype.enabled=function(){return this.K&&this.a2()};i.prototype.a2=function(){return this.ba===i.Tp()};i.prototype.s7=function(){var a=this.a2();
if(this.K!=a){this.K=a;this.trigger(new g(d.ra))}};i.enabled=function(){return!!i.Tp()};i.Tp=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement};i.Ff=function(){i.enabled()&&j().call(document)}}}else{i=e.extend(c,function(a){c.call(this);this.ba=a});i.prototype.available=T(m);i.prototype.lk=function(){this.enabled()||this.toggle()};i.prototype.Ff=function(){this.enabled()&&this.toggle()};i.prototype.toggle=function(){if(this.enabled()){q();
i.Aw=r}else{i.Aw&&i.Aw.Ff();q();var a=t();a.push("fullscreen");s(a);i.Aw=this}this.trigger(new g(d.ra))};i.prototype.enabled=function(){return this==i.Aw};i.enabled=function(){return!!i.Tp()};i.Tp=function(){return i.Aw&&i.Aw.ba};i.Ff=function(){i.enabled()&&i.Aw.Ff()};i.waa=G();i.Aw=r;var q=function(){for(var a=t(),b=[],c=0;c<a.length;c++)a[c]!="fullscreen"&&b.push(a[c]);s(b)},t=function(){var a=window.location.hash.substring(1);return a.length?a.split("&"):[]},s=function(a){window.location.hash=
"#"+(a.length?a.join("&"):"")}}return i});
define("is","require,jquery.mod,kL,nT,u,lG,oq,bZ,mw,dm".split(","),function(a){function b(a,b){this.ENa=a;this.XAa=b;this.o7=[];this.Ni=r;this.fM=B}var e=a("jquery.mod"),d=a("kL"),g=a("nT"),c=a("u"),i=a("lG"),f=a("oq"),j=a("bZ"),n=a("mw"),k=a("dm"),o="color:#000; font-family:Arial, Helvetica, sans-serif;",p="",q="border-color:#b2b2b2;",t=q,s="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;",
w='<img style="width:33vmin;" src="'+j.sk+'"/>',v='<img style="width:24vmin;" src="'+j.sk+'"/>',x='<img style="width:34vmin;" src="'+j.oY+'"/>',y='<img style="width:34vmin;" src="'+j.Ywa+'"/>',E='<img style="width:24vmin;" src="'+j.Dxa+'"/>';if(c.mb()){s=s+" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;";o=o+" font-size:3.6vmin; line-height:4.3vmin;";p=p+" margin:5vmin 0;";q=q+"  margin:5vmin 0;";t=t+"  margin:3vmin 0;";u=u+" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"}else s=
s+" font-size:19px; padding:17px 34px;";p=p+o;b.prototype.x0=function(){if(!this.Ni){this.Ni=e("<div/>");this.Ni.css({position:"fixed","z-index":f.exa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});this.Ni.html(this.XAa);e(this.Ni).find("button").on("click",function(a){this.BGa(e(a.currentTarget).attr("id"))}.bind(this))}};b.prototype.F6=function(a,b){var c={},f;for(f in b)c[f]=a.css(f);this.o7.push({$el:a,css:c});a.css(b)};b.prototype.WIa=
function(){for(;this.o7.length;){var a=this.o7.pop();a.$el.css(a.css)}};b.prototype.show=function(a,b,c){a||(a=G());b||(b=G());if(this.fM){var f=this.tQ;this.tQ=function(){f();a()};var d=this.eQ;this.eQ=function(){d();b()}}else{this.x0();this.tQ=a;this.eQ=b;var j=this.EDa();if(j===l){this.fM=m;var g=this,j=e(n.Tp()||document.body);if(c!==m)j.children().each(function(){g.F6(e(this),{visibility:"hidden"})});else{this.F6(j,{overflow:"hidden"});j.children().each(function(){g.F6(e(this),{position:"absolute",
"z-index":0})})}j.append(this.Ni)}else{this.fM=B;j?this.tQ():this.eQ()}}};b.prototype.hide=function(){if(this.fM){this.fM=B;this.Ni.detach();this.WIa()}};b.prototype.EDa=function(){var a=k.getItem(this.cha());if(a=="true")return m;if(a=="false")return B};b.prototype.ana=function(a){k.setItem(this.cha(),a?"true":"false")};b.prototype.cha=function(){return this.ENa+"DontDisplay:"+window.location.pathname};b.prototype.BGa=function(a){var b=e("#tdvvriw_dontdisplay").is(":checked");this.hide();if(a=="tdvvriw_continue"){this.tQ();
b&&this.ana(m)}else if(a=="tdvvriw_cancel"){this.eQ();b&&this.ana(B)}};var a=d.extend(b,function(){var a=['<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>',w,'<div style="'+p+'">'+g("use-cardboard-info")+"</div>",'<div><button style="'+s+'" id="tdvvriw_continue">'+g("use-cardboard")+"</button></div>","</div>",'<hr style="'+q+'">',"<div>",'<div style="'+p+'">',
'<div style="margin-bottom:2vmin;">'+g("samsung-internet-vr-app-info")+"</div>",'<div><button style="'+s+'" id="tdvvriw_cancel">'+g("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">'+g("dont-display-again")+"</label>","</div>"].join("\n");b.call(this,"ChromeAppInfoWindow",
a)}),D=d.extend(b,function(){var a=['<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>',w,'<div style="'+p+'">'+g("use-cardboard-info")+"</div>",'<div><button style="'+s+'" id="tdvvriw_continue">OK</button></div>',"</div>",'<hr style="'+q+'">',"<div>",'<div style="'+p+'">','<div style="margin-bottom:2vmin;">'+g("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">'+g("dont-display-again")+"</label>","</div>"].join("\n");b.call(this,"SamsungInternetInfoWindow",a)}),F=d.extend(b,function(){b.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="'+s+'" id="tdvvriw_cancel">OK</button></div>',"</div>\n</div></div>"].join("\n"))}),L=d.extend(b,function(){var a=['<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="'+s+' box-shadow:0 0 4px rgba(0, 0, 0, 0.5);" id="tdvvriw_continue">'+g("exit-vr")+"</button></div>","</div></div>"].join("\n");b.call(this,"ExternalVRDisplayVRInfoWindow",a)});L.prototype.x0=function(){b.prototype.x0.call(this);i.Jh("vrv")===m&&this.Ni.css({background:"none"})};var J=d.extend(b,function(){var a;a=c.browser()==c.Lh?window.location.protocol!="https:"?"<div>"+g("giroscope-disabled-http")+"</div>":window.DeviceMotionEvent.requestPermission?
g("giroscope-disabled-safari-request-permission").map(function(a){return"<div>"+a+"</div>"}).join("\n"):g("giroscope-disabled-safari-toggle-on"):"<div>"+g("giroscope-disabled-http")+"</div>";a=['<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+'">',a,"</div>",'<div><button style="'+s+'" 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">'+g("dont-display-again")+"</label>","</div>"].join("\n");b.call(this,"GiroscopeDisabledInfoWindow",a)}),z=d.extend(b,function(){var a=['<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>',
w,'<div style="'+p+'">'+g("use-cardboard-info")+'</div><div><button style="'+s+'" id="tdvvriw_continue">'+g("use-cardboard")+"</button></div>","</div>",'<hr style="'+q+'">',"<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="'+s+'" id="tdvvriw_cancel">Use Carmel web browser</button></div>',"</div>\n</div></div>"].join("\n");b.call(this,"CarmelInstallationPromptVRInfoWindow",
a)}),K=d.extend(b,function(){var a=['<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>',w,'<div style="'+o+' margin:2vmin 0;">'+g("cardboard-v1")+"</div>",'<div><button style="'+s+'" id="tdvvriw_cancel">'+g("use-default-cardboard")+"</button></div>","</div>",'<hr style="'+t+'">',"<div>",'<div style="'+o+' margin-bottom:2vmin;">'+g("cardboard-v2")+"</div>",'<div><button style="'+
s+'" id="tdvvriw_continue">'+g("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">'+g("dont-display-again")+"</label>","</div>"].join("\n");b.call(this,"CardboardV2InfoWindow",a)}),I=d.extend(b,function(){var a=['<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="'+s+'" id="tdvvriw_continue">'+g("enter-vr")+"</button></div>","</div></div>"].join("\n");b.call(this,"EnterVRInfoWindow",a)}),A=d.extend(b,function(){b.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"))}),
N=d.extend(b,function(){var a=['<div style="position: absolute; top: 7vmin; right:5vmin; ">',v,'</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;">',E,'<div style="'+p+'">'+g("use-safari-for-vr")+"</div>",'<div style="text-align:center;"><button style="'+s+'" 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">'+g("dont-display-again")+"</label>","</div>"].join("\n");b.call(this,"UseSafariVRInfoWindow",a)}),d=d.extend(b,function(){var a=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+j.sk+'"/>','</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="'+j.ZH+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+g("rotate-device")+"</div>","</div>\n</div>"].join("\n");b.call(this,"RotateVRInfoWindow",a)}),H={};H.Exa=new D;H.PUa=new F;H.Mba=new L;H.uUa=new z;H.yUa=new I;H.JUa=new A;H.hda=new N;H.ZH=new d;H.Qba=new J;H.ywa=new a;H.oY=new K;return H});define("cW",["require"],function(){return{sk:"Cardboard",$xa:"WebVR",aya:"WebXR"}});
define("gZ","require,le,u,hH,lG,bf".split(","),function(a){var b=a("le"),e=a("u"),d=a("hH"),g=a("lG");a("bf");var c={OQa:function(a){return this.iH(a)||this.Rsa(a)?m:B},Ps:function(){var a=e.rRa();c.Ps=function(){return a};return a},Rsa:function(a){return typeof a=="string"&&d.is(a,d.Ml)?m:B},YVa:function(a){return this.y$(a)||this.z$(a)?m:B},z$:function(a){return typeof a=="string"&&(d.is(a,d.cxa)||d.py(a,d.dxa))?m:B},iH:function(a){return!!a&&!!a.tagName&&a.tagName=="VIDEO"},qy:function(a){return typeof a==
"string"&&d.is(a,d.Xm)||this.iH(a)&&d.is(a.currentSrc,d.Xm)?m:B},ul:function(a){return typeof a=="string"&&d.is(a,d.Ml)||this.iH(a)&&d.is(a.currentSrc,d.Ml)?m:B},y$:function(a){return!!a&&!!a.tagName&&a.tagName=="IMG"},Dsa:function(a){return!!a&&!!a.tagName&&a.tagName=="CANVAS"},Kra:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},Nsa:function(a){return a!==0&&(a&a-1)===0},Gsa:function(){return e.browser()==e.Hl},FQa:function(){return e.browser()==e.wv},Mm:function(){return e.Xd()==
e.mi}},i=e.Xd()==e.MH&&!e.Gf()&&e.YNa()<11;c.lwa=function(a){if(j)return m;if(e.w9()&&e.oO()<15.1)if(e.oO()>=15){if(e.lsa())return m}else if(c.qy(a))return m;if(c.FQa())return m;if(c.Mm()){if(e.ly()==e.YC&&e.nC()>=15)return B;if(c.qy(a)){if(!b.xsa||e.nC()>=14&&e.nC()<14.6)return m}else if(e.nC()<12||a&&a.videoWidth&&a.videoHeight&&a.videoWidth*a.videoHeight<=262144)return m}return i&&a&&a.currentTime<0.2?m:B};c.qsa=function(){return c.Gsa()||c.Mm()};c.psa=function(){return c.Mm()&&b.xsa&&e.nC()<11};
var f=B;c.Bsa=function(){f=B};c.wQa=function(){return f};c.aSa=function(){f=m};var j=g.Gi("vic");c.nRa=function(){c.Mm()&&(j=m)};c.Mra=function(a){return{alpha:m,depth:m,stencil:m,antialias:e.Osa()||e.AQa()||e.x$()||e.Jsa()||e.HQa()||e.JQa()||e.Ssa()?B:a||B,premultipliedAlpha:m,preserveDrawingBuffer:B,powerPreference:"default",failIfMajorPerformanceCaveat:B,xrCompatible:!c.Gsa()}};c.A9=function(a,b){var f=c.Mra(b);return a.getContext("webgl",f)||a.getContext("experimental-webgl",f)};c.BOa=function(a){var b=
c.Mra(m);return a.getContext("webgl2",b)};c.getPixelRatio=function(){if(e.mb()){var a=0,b=0;try{a=window.top.innerWidth;b=window.top.innerHeight}catch(c){if(e.Xd()==e.MH&&window.devicePixelRatio>1)return window.devicePixelRatio}var f=window.devicePixelRatio||1,a=[Math.max(document.documentElement.clientWidth,a),Math.max(document.documentElement.clientHeight,b)].sort(function(a,b){return b-a}),f=[screen.width*f,screen.height*f].sort(function(a,b){return b-a}),f=[f[0]/a[0],f[1]/a[1]].sort()[0];if(f!==
Infinity)return f}else if(e.Xd()==e.gxa&&e.browser()==e.rk)return 1;return window.devicePixelRatio};return c});
define("dK","require,kL,jquery.mod,dZ,nT,bZ,nV,u,e,mJ,nb".split(","),function(a){function b(){this.eb=B;this.yM=r;this.ia=this.X=100;this.X2=this.Rh=l;this.Y2=100;this.ba=document.createElement("div");this.ba.style.opacity=0;this.ba.style.display="none";this.ba.style.yWa="opacity 0.3s";this.ba.addEventListener("transitionend",this.I7.bind(this));this.Td=document.createElement("div");this.Iua(m);this.Td.style.position="absolute";this.Td.style.left=0;this.Td.style.top=0;this.Td.style.right=0;this.Td.style.bottom=
0;this.ba.appendChild(this.Td);this.Mb=document.createElement("img");this.Mb.style.cursor="pointer";this.Mb.style.position="absolute";this.Mb.style.left="50%";this.Mb.style.top="50%";this.Mb.style.transform="translate(-50%, -50%)";this.ba.appendChild(this.Mb);this.OZ=g(this.ba)}function e(a,b){this.reason=a;this.Pu=b}var d=a("kL"),g=a("jquery.mod");a("dZ");a("nT");var c=a("bZ"),i=a("nV"),f=a("u"),j=a("e"),n=a("mJ"),k=a("nb"),o=d.extend(j,function(){j.call(this);this.ie("UserInteractionWindow");this.Qb=
r;this.or=[];var a=new n;a.set("duration",500);a.set("easing","cubic_in");var b=new k;b.set("duration",500);b.set("easing","cubic_out");this.Y({contentOpaque:m,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:B});this.bind(i.uc,this.M8,this,m);this.bind(i.oa,this.sNa,this,m)});o.prototype.M8=function(){this.Qb&&this.Qb.setSize(this.Re(),this.Qe())};o.prototype.sNa=function(){var a=this.or.slice();this.or=[];this.wV();a.forEach(function(a){a.Pu.call(a.context)})};o.prototype.kb=function(){j.prototype.kb.call(this);
if(!this.Qb){this.Qb=new b;this.Qb.setSize(this.Re(),this.Qe());this.Qb.Hf(m);this.sb().append(this.Qb.Ac().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"}));this.wV()}};o.prototype.Co=function(){j.prototype.Co.call(this);this.getParent().bind(i.uc,this.M8,this,m);o.Eya(this)};o.prototype.Am=function(){this.getParent().unbind(i.uc,this.M8,this,m);j.prototype.Am.call(this);o.DIa(this)};o.prototype.LRa=function(a){this.nr(q,a)};o.prototype.gaa=function(a){this.nr(p,a)};o.prototype.nr=
function(a,b){this.or.push(new e(a,b));this.or.sort(function(a,b){return t[a.reason]-t[b.reason]});this.wV()};o.prototype.iOa=function(a){this.cancel(q,a)};o.prototype.gOa=function(){this.cancel(p,l)};o.prototype.cancel=function(a,b){var c=this.uEa(a,b);c>=0&&this.NIa(c)};o.prototype.Jea=function(){this.IP(m)};o.prototype.SP=function(){this.IP(B)};o.prototype.uEa=function(a,b){for(var c=0;c<this.or.length;c++){var f=this.or[c];if(f.reason==a&&f.Pu==b)return c}return-1};o.prototype.wV=function(){if(this.Qb){var a=
this.FEa();if(a){switch(a.reason){case p:this.Qb.Caa(b.Sba);break;case q:this.Qb.Caa(b.fZ)}this.set("visible",m)}else this.set("visible",B)}};o.prototype.NIa=function(a){this.or.splice(a,1);a==this.or.length&&this.wV()};o.prototype.FEa=function(){return this.or.length>0?this.or[0]:r};var p="vr",q="play",t={};t[p]=0;t[q]=1;b.prototype.Ac=S("OZ");b.prototype.setSize=function(a,b){if(this.X!==a||this.ia!==b){this.X=a;this.ia=b;this.xV()}};b.prototype.Iua=function(a){this.Td.style.backdropFilter=a?"blur(8px)":
"none"};b.prototype.Hf=function(a){if(this.eb!=a){this.eb=a;if(this.yM){clearTimeout(this.yM);this.yM=r}if(this.eb){this.ba.style.display="block";this.ba.style.opacity=0;this.yM=setTimeout(function(){this.yM=r;this.ba.style.opacity=1}.bind(this),30)}else this.ba.style.opacity=0}};b.prototype.Caa=function(a){if(this.Rh!=a){this.Rh=a;this.IMa()}};b.prototype.I7=function(){if(!this.eb)this.ba.style.display="none"};b.prototype.IMa=function(){switch(this.Rh){case b.fZ:this.X2=c.gz;this.Y2=c.zxa;break;
case b.Sba:this.X2=c.Uxa;this.Y2=c.Wxa}this.Mb.src=this.X2;this.xV()};b.prototype.xV=function(){if(f.mb()){this.Mb.style.maxWidth=Math.round(this.X*0.5)+"px";this.Mb.style.width="20vmin"}else{this.Mb.style.maxWidth=Math.round(this.X*0.33)+"px";this.Mb.style.width=this.Y2+"px"}};b.fZ="play";b.Sba="vr";o.Cca=b;o.Sc=[];o.j5=[];o.Eya=function(a){o.Sc.push(a);o.j5.forEach(function(b){o.fia(a,b)});o.j5=[]};o.DIa=function(a){o.Sc.splice(o.Sc.indexOf(a),1)};o.ready=function(){return o.Sc.length>0};o.gaa=
function(a){o.Sc.length?o.Sc.forEach(function(b){o.fia(b,a)}):o.j5.push(a)};o.fia=function(a,b){a.gaa(function(){o.Sc.forEach(function(b){b!=a&&b.gOa()});b()})};return o});
define("nF",["require"],function(){var a={Wm:{}};a.Wm.NONE="none";a.Wm.Ha="left";a.Wm.Va="right";a.Gj=function(){this.y=this.x=0;this.height=this.width=1};a.ida=function(){this.eye=a.Wm.NONE;this.viewport=new a.Gj;this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.projectionMatrix=new THREE.Matrix4};a.Xwa=function(){this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.views=[];this.qW=[]};a.ixa=function(){this.EN=r;this.Xn=200;this.Km=100;this.mW=1};return a});
define("dQ",["require"],function(){return{gP:"gaze",dZ:"gaze_click"}});
define("gL","require,kL,nV,gZ,fQ,dK,nF,u,is,lG,dQ".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("gZ"),g=a("fQ"),c=a("dK"),i=a("nF"),f=a("u"),j=a("is"),n=a("lG"),k=a("dQ"),a=b.extend(g,function(){g.call(this);this.Pma=k.gP;this.Gn=[];this.od=new i.Xwa;this.vi=new i.ida;this.vi.eye=i.Wm.Ha;this.Ai=new i.ida;this.Ai.eye=i.Wm.Va;this.od.views=[this.vi,this.Ai];this.de=new i.ixa;this.bind(e.ra,this.NA,this,B)});a.prototype.Zp=G();a.prototype.lk=G();a.prototype.Ff=G();a.prototype.AW=S("de");a.prototype.Vr=
S("od");a.prototype.vb=G();a.prototype.isPresenting=G();a.prototype.ue=G();a.prototype.HW=S("Pma");a.prototype.hC=G();a.prototype.CG=function(a){this.Gn.indexOf(a)<0&&this.Gn.push(a)};a.prototype.vX=function(a){this.Gn.splice(this.Gn.indexOf(a),1);this.hC()==a&&this.Ff()};a.prototype.HX=function(a){var b=this.Gn.indexOf(a);if(!(b<0||b==this.Gn.length-1)){this.Gn.splice(b,1);this.Gn.splice(this.Gn.length,0,a)}};a.prototype.nEa=function(){return this.Gn.length>0?this.Gn[this.Gn.length-1]:r};a.prototype.w6=
function(){var a=this.nEa();if(a==r){a=document.createElement("canvas");a=d.A9(a);this.CG(a)}return a};a.prototype.cU=function(a){c.gaa(a)};a.prototype.X6=function(a){if(f.ad()==f.TC){this.b6();j.ywa.show(a,function(){this.$da()}.bind(this))}else f.FN()&&f.ad()==f.QH?j.Exa.show(a):f.ad()==f.UO?j.hda.show(a):f.ad()==f.VO?j.hda.show():a()};a.prototype.x6=function(a){var b=function(b){this.Pma=b;a()}.bind(this);!f.mb()||f.Gf()?b(k.gP):n.Xp("cardboard_version")=="1"?b(k.gP):n.Xp("cardboard_version")==
"2"?b(k.dZ):j.oY.show(function(){b(k.dZ)}.bind(this),function(){b(k.gP)}.bind(this))};a.prototype.NA=function(){f.mb()||(this.isPresenting()?j.Mba.show(this.Ff.bind(this)):j.Mba.hide())};a.prototype.$da=function(){this.b6();var a=this.Oha();a.push("vr");this.jea(a)};a.prototype.b6=function(){this.jea(this.Oha().filter(function(a){return a!="vr"}))};a.prototype.Oha=function(){var a=window.location.hash.substring(1);return a.length?a.split("&"):[]};a.prototype.jea=function(a){window.location.hash="#"+
(a.length?a.join("&"):"")};return a});
define("s",["require","jquery.mod","mw"],function(a){function b(){k.get(0)==document.body&&i.height(window.innerHeight)}function e(a,b){var c={},f;for(f in b)c[f]=a.css(f);o.push({$el:a,css:c});a.css(b)}function d(a){this.ba=a}var g=a("jquery.mod"),c=a("mw");d.prototype.lk=function(){this.enabled()||this.toggle()};d.prototype.Ff=function(){this.enabled()&&this.toggle()};d.prototype.toggle=function(){this.enabled()?d.cancel():d.Ii(this.ba)};d.prototype.enabled=function(){return d.enabled(this.ba)};
var i=g("<div/>").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),f=g("<div/>"),j=r,n=r,k=r,o=[],p=r;d.Ii=function(a){if(a!==j){d.cancel();j=a;var o=c.Tp()||document.body;n=g(a);k=g(o);f.insertAfter(n);n.appendTo(i);k.children().each(function(){e(g(this),{visibility:"hidden"})});e(n,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});o==document.body?e(i,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,padding:0}):e(i,{position:"absolute",
left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});i.appendTo(k);b();p=setInterval(b,300)}};d.cancel=function(){if(j){i.detach();n.insertBefore(f);for(f.detach();o.length;){var a=o.pop();a.$el.css(a.css)}k=n=j=r;o=[];clearInterval(p)}};d.enabled=function(a){return j==a};return d});
define("kE","require,kL,nV,cu,fQ,nT,bZ".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("nT"),a=a("bZ"),i=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+a.sk+'"/>','</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=i+['<img style="width:22vmin" src="'+a.ZH+'"/>','<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>"].join("\n")+"</div>\n</div>",j=i+['<img style="width:13vmin; vertical-align:middle;" src="'+a.Kxa+'"/>','<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>",b=b.extend(g,function(){g.call(this);this.Wk=this.jn=this.kn=this.SJ=this.TJ=this.H3=this.I3=l;
this.FR=B;this.Lx=this.v5=this.G3=this.Ze=r;this.Hga=[];this.j3=this.xp=B;this.Sb=this.Sb.bind(this)});b.prototype.Ii=function(){if(!this.xp){this.xp=m;this.w0();window.addEventListener("resize",this.Sb);document.body.appendChild(this.Ze);document.body.appendChild(this.Lx);this.mLa=document.documentElement.style.overflow;this.lLa=document.body.style.overflow;document.documentElement.style.overflow="auto";document.body.style.overflow="auto";this.er()}};b.prototype.cancel=function(){if(this.xp){this.xp=
B;window.removeEventListener("resize",this.Sb);document.body.style.overflow=this.lLa;document.documentElement.style.overflow=this.mLa;document.body.removeChild(this.Ze);document.body.removeChild(this.Lx);this.ena(B)}};b.prototype.enabled=S("FR");b.prototype.w0=function(){if(!this.Ze){this.Ze=this.xQ({position:"fixed",top:0,left:0,zIndex:9999998},m);this.Ze.id="tdvminuictr";this.v5=this.xQ({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},m,f);this.Ze.appendChild(this.v5);this.G3=
this.xQ({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},m,j);this.Ze.appendChild(this.G3);this.Lx=this.xQ({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},B);this.Lx.id="tdvminuiscrl";this.Lx.addEventListener("touchend",this.Sb)}};b.prototype.xQ=function(a,b,c){var f=document.createElement("div");this.VL(f,a);c!==l&&this.SJa(f,c);b&&this.Hga.push(f);return f};b.prototype.Sb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.O4.bind(this),
a)}.bind(this))};b.prototype.O4=function(){(this.kn!=window.innerWidth||this.jn!=window.innerHeight)&&this.er()};b.prototype.er=function(){this.kn=window.innerWidth;this.jn=window.innerHeight;this.Wk=this.kn>this.jn?"landscape":"portrait";var a;if(this.Wk=="landscape"){if(this.I3&&this.H3&&this.PFa(this.I3,this.H3)&&(!this.TJ&&!this.SJ||this.QFa(this.TJ,this.SJ))){this.TJ=this.kn;this.SJ=this.jn}if(this.KFa()){this.TJ=this.kn;this.SJ=this.jn}this.I3=this.kn;this.H3=this.jn;a=this.TJ==this.kn&&this.SJ==
this.jn}else a=B;this.Hga.forEach(function(a){a.style.height=this.jn+"px";a.style.width=this.kn+"px"}.bind(this));var b=this.xp&&this.Wk=="portrait",c=this.xp&&this.Wk=="landscape"&&!a,f=this.xp&&this.Wk=="landscape";this.VL(this.Ze,{display:b||c?"block":"none"});this.VL(this.v5,{display:b?"block":"none"});this.VL(this.G3,{display:c?"block":"none"});this.VL(this.Lx,{display:f?"block":"none",right:c?0:"99.9%"});this.ena(a)};b.prototype.ena=function(a){if(this.wU!=r){clearTimeout(this.wU);this.wU=r}if(this.FR!=
a)this.wU=setTimeout(function(){this.wU=r;(this.FR=a)?this.trigger(new d(e.iq)):this.trigger(new d(e.hb));this.trigger(new d(e.ra))}.bind(this),a?1E3:0)};b.prototype.KFa=function(){var a=window.innerWidth,b=window.innerHeight,c=Infinity;[[480,320],[960,640],[1136,640],[1334,750],[1920,1080],[2001,1125],[2048,1536],[2172,1125],[2208,1242],[2732,2048],[2436,1125]].forEach(function(f){c=Math.min(c,Math.abs(100-100*a*f[1]/(b*f[0])))});return c<=1?m:B};b.prototype.PFa=function(a,b){return a*window.innerHeight>
b*window.innerWidth};b.prototype.QFa=function(a,b){return a*window.innerHeight>=b*window.innerWidth};b.prototype.VL=function(a,b){for(var c in b)a.style[c]=b[c]};b.prototype.SJa=function(a,b){a.innerHTML=b};return new b});
define("oa","require,hA,u,mp,nu,bR".split(","),function(a){var b=a("hA"),e=a("u"),d=a("mp"),g=a("nu"),c=a("bR");if(e.browser()==e.rk){a=function(){this.j=new d;this.j.src="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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";this.j.loop=
m;this.j.Yu=m;this.lb=r};a.prototype.xX=T(m);a.prototype.ue=function(){return g.Ml};a.prototype.f$=function(){return b.Txa};a.prototype.F9=function(a){this.lb=a;this.lb.play(r,this.j,0)};a.prototype.G$=function(){this.lb=r};var i=B,f=new a,a={enable:function(){if(!i){i=m;c.n9(f)}},disable:function(){if(i){i=B;c.rH(f)}}}}else a={enable:G(),disable:G()};return a});
define("jS",["require","jquery.mod","nT","bZ"],function(a){function b(){this.Ni=r;this.K=B;this.Sb=this.Sb.bind(this);this.jn=this.kn=this.Wk=l}var e=a("jquery.mod"),d=a("nT"),g=a("bZ");b.prototype.lt=function(){this.Ni||(this.Ni=e("<div/>"),this.Ni.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.Ni.html(['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+
g.sk+'"/>','</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="'+g.ZH+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+d("rotate-device")+"</div>","</div>\n</div>"].join("\n")))};b.prototype.show=function(a){this.K||(this.K=m,this.lt(),
e(a).append(this.Ni),e(window).on("resize",this.Sb),this.er())};b.prototype.hide=function(){this.K&&(this.K=B,e(window).off("resize",this.Sb),this.Ni.detach())};b.prototype.Sb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.O4.bind(this),a)}.bind(this))};b.prototype.O4=function(){(this.kn!=window.innerWidth||this.jn!=window.innerHeight)&&this.er()};b.prototype.er=function(){this.kn=window.innerWidth;this.jn=window.innerHeight;this.Wk=this.kn>this.jn?"landscape":"portrait";this.Ni.toggle("landscape"!=
this.Wk)};return new b});
define("km","require,kL,nV,cu,gz,le,u,hl,is,cr,cW,gL,e,bf,mw,s,kE,oa,jS".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("gz"),c=a("le"),i=a("u"),f=a("hl"),j=a("is"),n=a("cr"),k=a("cW"),o=a("gL"),p=a("e"),q=a("bf"),t=a("mw"),s=a("s"),u=a("kE"),w=a("oa"),v=a("jS"),x=b.extend(o,function(){o.call(this);this.ij=this.Ag=this.Gh=this.OL=this.Rt=this.jk=this.sd=r;this.je=k.sk;this.vb=this.vb.bind(this)});x.prototype.Zp=function(a){if(this.FJ()){var b=function(b){if(this.sd=b.length?b[0]:r){this.sd.depthNear=
0.1;this.sd.depthFar=2*g.lf;this.jk="VRFrameData"in window?new VRFrameData:r;window.addEventListener("vrdisplaypresentchange",this.B5.bind(this),B);u.bind(e.hb,this.Ff.bind(this))}a(!!this.sd)}.bind(this),c=window.WebVRConfig||(window.WebVRConfig={});c.BUFFER_SCALE=x.JG;c.ALWAYS_APPEND_POLYFILL_DISPLAY=m;c.LOCK_ORIENTATION=B;n.kda.load(function(){navigator.getVRDisplays().then(b)["catch"](function(){b([])})}.bind(this))}else a(B)};x.prototype.lk=function(){!this.isPresenting()&&!this.Ag&&this.vB(function(){this.X6(function(){this.x6(function(){if(!this.isPresenting()&&
!this.Ag){this.Ag=this.w6();this.U6();this.sd.requestPresent([{source:this.Ag.canvas}]).then(function(){this.ij=this.Ag;this.Ag=r;i.ad()!=i.OH&&v.show(t.Tp());this.GF();this.gN()}.bind(this))["catch"](function(){this.Ag=r;this.xM()}.bind(this))}}.bind(this))}.bind(this))}.bind(this))};x.prototype.Ff=function(){this.isPresenting()&&this.sd.exitPresent()};x.prototype.vb=function(a){return this.sd.requestAnimationFrame(function(b){var c=this.GF();c&&this.OB();a(b);c&&this.sd.submitFrame()}.bind(this))};
x.prototype.isPresenting=function(){return!!this.sd&&this.sd.isPresenting};x.prototype.hC=S("ij");x.prototype.ue=S("je");x.prototype.B5=function(){if(this.isPresenting())q.JX(this.vb,this.sd.cancelAnimationFrame.bind(this.sd));else{q.haa();(this.ij||this.Ag)&&this.xM()}this.trigger(new d(e.ra))};x.prototype.FJ=function(){return f.available&&c.tba&&i.mb()&&i.ly()!=i.YC};x.prototype.vB=function(a){if(f.disabled)j.Qba.show(function(){f.faa(function(){this.vB(a)}.bind(this))});else if(t.enabled()||!p.WN()){t.Ff();
this.cU(function(){this.vB(a)}.bind(this))}else a()};x.prototype.U6=function(){s.Ii(this.Ag.canvas);i.ad()==i.PH?this.$da():w.enable();i.ad()==i.OH&&u.Ii()};x.prototype.GF=function(){this.sd.getFrameData(this.jk);if(!this.jk.pose||!this.jk.pose.orientation)return B;this.Rt=this.sd.getEyeParameters("left");this.OL=this.sd.getEyeParameters("right");var a=this.sd.getLayers();this.Gh=a&&a.length&&a[0]||r;return!this.Gh?B:m};x.prototype.gN=function(){this.de.EN=r;this.de.Xn=this.Rt.renderWidth*2;this.de.Km=
this.Rt.renderHeight;this.de.mW=1};x.prototype.OB=function(){var a=this.jk.pose;this.od.orientation.fromArray(a&&a.orientation||y);this.od.position.fromArray(a&&a.position||E);this.c9()};x.prototype.c9=function(){this.vi.position.fromArray(this.Rt.offset);this.vi.orientation.fromArray(y);this.vi.projectionMatrix.fromArray(this.jk.leftProjectionMatrix);this.vi.viewport.x=Math.round(this.de.Xn*this.Gh.leftBounds[0]);this.vi.viewport.y=Math.round(this.de.Km*this.Gh.leftBounds[1]);this.vi.viewport.width=
Math.round(this.de.Xn*this.Gh.leftBounds[2]);this.vi.viewport.height=Math.round(this.de.Km*this.Gh.leftBounds[3]);this.Ai.position.fromArray(this.OL.offset);this.Ai.orientation.fromArray(y);this.Ai.projectionMatrix.fromArray(this.jk.rightProjectionMatrix);this.Ai.viewport.x=Math.round(this.de.Xn*this.Gh.rightBounds[0]);this.Ai.viewport.y=Math.round(this.de.Km*this.Gh.rightBounds[1]);this.Ai.viewport.width=Math.round(this.de.Xn*this.Gh.rightBounds[2]);this.Ai.viewport.height=Math.round(this.de.Km*
this.Gh.rightBounds[3])};x.prototype.xM=function(){this.b6();this.ij=this.Ag=r;u.cancel();s.cancel();w.disable();v.hide()};x.JG=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var y=[0,0,0,1],E=[0,0,0];return x});
define("iz","require,kL,cu,nV,u,cW,gL,gz,e,bf,s".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("nV"),g=a("u"),c=a("cW"),i=a("gL"),f=a("gz"),j=a("e"),n=a("bf"),k=a("s"),a=b.extend(i,function(){i.call(this);this.ij=this.Ag=this.Gh=this.OL=this.Rt=this.jk=this.sd=r;this.vb=this.vb.bind(this)});a.prototype.Zp=function(a){if(this.FJ()){var b=function(b){if(this.sd=b.length?b[0]:r){this.sd.depthNear=0.1;this.sd.depthFar=2*f.lf;this.jk="VRFrameData"in window?new VRFrameData:r;window.addEventListener("vrdisplaypresentchange",
this.B5.bind(this),B);window.addEventListener("vrdisplayactivate",this.Nla.bind(this));window.addEventListener("vrdisplaydeactivate",this.Ff.bind(this))}a(!!this.sd)}.bind(this);navigator.getVRDisplays().then(b)["catch"](function(){b([])})}else a(B)};a.prototype.lk=function(a){!this.isPresenting()&&!this.Ag&&this.vB(a,function(){this.X6(function(){this.x6(function(){!this.isPresenting()&&!this.Ag&&this.Nla()}.bind(this))}.bind(this))}.bind(this))};a.prototype.Ff=function(){this.isPresenting()&&this.sd.exitPresent()};
a.prototype.vb=function(a){return this.sd.requestAnimationFrame(function(b){var c=this.GF();c&&this.OB();a(b);c&&this.sd.submitFrame()}.bind(this))};a.prototype.isPresenting=function(){return!!this.sd&&this.sd.isPresenting};a.prototype.hC=S("ij");a.prototype.ue=function(){return c.$xa};a.prototype.FJ=function(){return"getVRDisplays"in navigator&&!window.WebVRConfig};a.prototype.B5=function(){if(this.isPresenting()){n.JX(this.vb,this.sd.cancelAnimationFrame.bind(this.sd));this.GF()&&this.OB()}else{n.haa();
(this.ij||this.Ag)&&this.xM()}this.trigger(new e(d.ra))};a.prototype.vB=function(a,b){a||j.WN()?b():this.cU(function(){b()})};a.prototype.Nla=function(){this.Ag=this.w6();this.U6();this.sd.requestPresent([{source:this.Ag.canvas,attributes:{foveationLevel:3}}]).then(function(){this.ij=this.Ag;this.Ag=r;this.GF()&&this.OB()}.bind(this))["catch"](function(){this.Ag=r;this.xM()}.bind(this))};a.prototype.U6=function(){k.Ii(this.Ag.canvas)};a.prototype.GF=function(){this.sd.getFrameData(this.jk);if(!this.jk.pose||
!this.jk.pose.orientation)return B;this.Rt=this.sd.getEyeParameters("left");this.OL=this.sd.getEyeParameters("right");var a=this.sd.getLayers();this.Gh=a&&a.length&&a[0]||r;return!this.Gh?B:m};a.prototype.OB=function(){this.gN();var a=this.jk.pose;this.od.orientation.fromArray(a&&a.orientation||o);this.od.position.fromArray(a&&a.position||p);this.c9()};a.prototype.gN=function(){this.de.EN=r;this.de.Xn=this.Rt.renderWidth*2;this.de.Km=this.Rt.renderHeight;this.de.mW=g.Gf()?2048/this.de.Km:1};a.prototype.c9=
function(){this.vi.position.fromArray(this.Rt.offset);this.vi.orientation.fromArray(o);this.vi.projectionMatrix.fromArray(this.jk.leftProjectionMatrix);var a=this.Gh.leftBounds&&this.Gh.leftBounds.length==4?this.Gh.leftBounds:q;this.vi.viewport.x=Math.round(this.de.Xn*a[0]);this.vi.viewport.y=Math.round(this.de.Km*a[1]);this.vi.viewport.width=Math.round(this.de.Xn*a[2]);this.vi.viewport.height=Math.round(this.de.Km*a[3]);this.Ai.position.fromArray(this.OL.offset);this.Ai.orientation.fromArray(o);
this.Ai.projectionMatrix.fromArray(this.jk.rightProjectionMatrix);a=this.Gh.rightBounds&&this.Gh.rightBounds.length==4?this.Gh.rightBounds:t;this.Ai.viewport.x=Math.round(this.de.Xn*a[0]);this.Ai.viewport.y=Math.round(this.de.Km*a[1]);this.Ai.viewport.width=Math.round(this.de.Xn*a[2]);this.Ai.viewport.height=Math.round(this.de.Km*a[3])};a.prototype.xM=function(){this.ij=this.Ag=r;k.cancel()};var o=[0,0,0,1],p=[0,0,0],q=[0,0,0.5,1],t=[0.5,0,0.5,1];return a});
define("kb","require,kL,cu,nV,u,lR,cW,gL,gz,e,bf,s,lq,gI".split(","),function(a){function b(a){setTimeout(a,10)}var e=a("kL"),d=a("cu"),g=a("nV"),c=a("u"),i=a("lR"),f=a("cW"),j=a("gL"),n=a("gz"),k=a("e"),o=a("bf"),p=a("s"),q=a("lq"),t=a("gI"),s=e.extend(j,function(){j.call(this);this.PB=this.iN=this.Ei=this.ij=r;this.SF="stopped";this.vb=this.vb.bind(this);this.B6=this.B6.bind(this);this.C6=this.C6.bind(this);this.D6=this.D6.bind(this);this.cy=B;q.JH(function(){b(function(){this.cy=m}.bind(this))}.bind(this))});
s.prototype.Zp=function(a){if(this.FJ())this.CLa().then(function(b){b?a(m):a(B)})["catch"](function(){a(B)});else a(B)};s.prototype.lk=function(){this.SF=="stopped"&&this.vB(function(){this.X6(function(){this.x6(function(){setTimeout(function(){this.dLa()}.bind(this),200)}.bind(this))}.bind(this))}.bind(this))};s.prototype.dLa=function(){if(this.SF=="stopped"){this.SF="starting";this.trigger(new d(g.ra));o.Jaa(m);navigator.xr.requestSession("immersive-vr").then(function(a){this.Ei=a;this.Ei.addEventListener("end",
this.B6);this.Ei.addEventListener("select",this.C6);this.Ei.addEventListener("visibilitychange",this.D6);return this.Ei.requestReferenceSpace("local")}.bind(this)).then(function(a){this.iN=a;this.ij=this.w6();return this.ij.makeXRCompatible()}.bind(this)).then(function(){c.mb()&&p.Ii(this.ij.canvas);var a=XRWebGLLayer.getNativeFramebufferScaleFactor(this.Ei),a=Math.max(a,1);c.x$()?a=a*1:c.Qsa()?a=a*1:c.Gf()?a=a*1.42222:c.mb()&&(a=a*s.JG);this.PB=new XRWebGLLayer(this.Ei,this.ij,{antialias:B,framebufferScaleFactor:a});
this.Ei.updateRenderState({baseLayer:this.PB,depthNear:0.1,depthFar:2*n.lf});this.gN();this.SF="started";o.JX(this.vb,this.Ei.cancelAnimationFrame.bind(this.Ei));o.Jaa(B)}.bind(this))["catch"](function(){o.Jaa(B);this.Tma();this.trigger(new d(g.ra))}.bind(this))}};s.prototype.Ff=function(){this.isPresenting()&&this.Ei.end()};s.prototype.vb=function(a){return this.Ei.requestAnimationFrame(function(b,c){this.e9=c;this.OB();a(b)}.bind(this))};s.prototype.isPresenting=function(){return this.SF!="stopped"};
s.prototype.ue=function(){return f.aya};s.prototype.hC=S("ij");s.prototype.FJ=function(){return"xr"in navigator};s.prototype.CLa=function(){return"isSessionSupported"in navigator.xr?navigator.xr.isSessionSupported("immersive-vr"):"supportsSession"in navigator.xr?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};s.prototype.vB=function(a){c.Qsa()?a():c.ad()==c.jq?this.cy?a():k.WN()?b(a):this.cU(function(){b(a)}):k.WN()?a():this.cU(function(){a()})};s.prototype.B6=function(){o.haa();this.Tma();
this.trigger(new d(g.ra))};s.prototype.C6=function(){this.trigger(new d(g.$m))};s.prototype.D6=function(){t.Xaa(!this.Ei||this.Ei.visibilityState!="visible");i.Uwa&&this.Ei.visibilityState!="visible"&&this.Ff()};s.prototype.Tma=function(){this.PB=this.iN=this.Ei=this.ij=r;this.SF="stopped";p.cancel()};s.prototype.gN=function(){this.de.EN=this.PB.framebuffer;this.de.Xn=this.PB.framebufferWidth;this.de.Km=(c.ad()==c.jq?2:1)*this.PB.framebufferHeight;this.de.mW=1};s.prototype.OB=function(){var a=this.e9.getViewerPose(this.iN);
if(a){var b=a&&a.transform.orientation||u;this.od.orientation.set(b.x,b.y,b.z,b.w);b=a&&a.transform.position||w;this.od.position.set(b.x,b.y,b.z);for(var a=this.e9.getViewerPose(this.iN.getOffsetReferenceSpace(a.transform)),c=0;c<a.views.length;c++){var f=a.views[c],d;if(f.eye=="left")d=this.vi;else if(f.eye=="right")d=this.Ai;else continue;b=f.transform.position;d.position.set(b.x,b.y,b.z);b=f.transform.orientation;d.orientation.set(b.x,b.y,b.z,b.w);d.projectionMatrix.fromArray(f.projectionMatrix);
f=this.PB.getViewport(f);d.viewport.x=f.x;d.viewport.y=f.y;d.viewport.width=f.width;d.viewport.height=f.height}var e=[];this.Ei.inputSources.forEach(function(a){if(a.targetRayMode=="tracked-pointer"&&a.gamepad){var b=a.gamepad;if(!b.pose)b.s$=this.e9.getPose(a.targetRaySpace,this.iN);if(!b.hand)b.sQa=a.handedness;if(!b.id)b.tQa=b.mapping+" "+a.handedness;e.push(b)}}.bind(this));this.od.qW=e}};s.JG=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var u={x:0,y:0,z:0,w:1},
w={x:0,y:0,z:0};return s});
define("bu","require,kL,nV,fQ,le,u,hl,lG,km,dQ,cW,nF,iz,kb,gI".split(","),function(a){function b(a,c){if(a.length){var f=new a[0];f.Zp(function(d){d?c(f):b(a.slice(1),c)})}else c(r)}var e=a("kL"),d=a("nV"),g=a("fQ"),c=a("le"),i=a("u"),f=a("hl"),j=a("lG"),n=a("km"),k=a("dQ"),o=a("cW"),p=a("nF"),q=a("iz"),t=a("kb"),s=a("gI"),u=B,w=[],v=new g;v.Wm=p.Wm;v.Mxa=k;v.lz=o;v.available=T(m);v.Vr=T(r);v.AW=T(r);v.isPresenting=T(B);v.lk=function(){u=m};v.Ff=function(){u=B};v.PVa=T(r);v.CG=function(a){w.indexOf(a)<
0&&w.push(a)};v.vX=function(a){a=w.indexOf(a);a==-1||w.splice(a,1)};v.HX=G();v.cTa=function(a){n.JG=a;t.JG=a};v.BPa=function(){return n.JG};v.ue=T(r);v.HW=T(r);v.log=function(){v.available()?v.ue()?e.log("VR: "+v.ue()):e.log("VR: not ready"):e.log("VR: not available");e.log("gyroscope: "+f.available)};var x;x=j.Xp("vr_mode")=="cardboard"?[n]:i.x$()?[t,q]:i.browser()==i.rk?[t,q,n]:i.ad()==i.Ly?[t,q]:[q,t,n];v.Zp=function(a){var f=setTimeout(function(){f=r;a()},250);b(x,function(b){var e=b;if(e){c.xTa();
e.bind(d.ra,function(){v.trigger(d.ra)},v,m);e.bind(d.$m,function(){v.trigger(d.$m)},v,m);v.available=T(m);v.AW=function(){return e.AW()};v.Vr=function(){return e.Vr()};v.isPresenting=function(){return e.isPresenting()};v.lk=function(){e.lk()};v.Ff=function(){e.Ff()};v.hC=function(){return e.hC()};v.CG=function(a){e.CG(a)};v.vX=function(a){e.vX(a)};v.HX=function(a){e.HX(a)};v.ue=function(){return e.ue()};v.HW=function(){return e.HW()};w.forEach(function(a){e.CG(a)});[i.xv,i.Ly].indexOf(i.ad())>-1?
function(){function a(){f++;c=setTimeout(b,f*1E3)}function b(){c=r;if(f>5)window.location.reload();else if(!document.hidden&&!e.isPresenting()){e.lk(m);a()}}var c,f;document.addEventListener("visibilitychange",function(){if(!document.hidden){if(c){clearTimeout(c);c=r}f=0;a()}},B);if(c){clearTimeout(c);c=r}f=0;a()}():u&&e.lk()}else v.available=T(B);if(f){clearTimeout(f);f=r;a()}})};v.bind(d.ra,function(){s.CX(v.isPresenting())},window,m);window.addEventListener("vrdisplayblur",function(){s.Xaa(m)},
m);window.addEventListener("vrdisplayfocus",function(){s.Xaa(B)},m);return v});
define("jT","require,dZ,kL,nV,hA,kI,hc,gx,bu,bb,e".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("hA"),c=a("kI"),i=a("hc"),f=a("gx"),j=a("bu"),n=a("bb"),k=a("e"),a=e.extend(k,function(){k.call(this);this.ie("Renderer");this.set("toolTipDisabled",m);this.set("cursor",n.Fv);this.uw=[];this.BB=[];this.Bb="";this.Rg=new f;this.sb().append(this.Rg.Ac());this.bind(d.uc,this.Sb,this,m);this.bind(d.Wc,this.Tj,this,m);this.bind(d.cd,this.Pj,this,m);j.bind(d.ra,this.u8,this,m);this.kB=this.h6=
B});a.prototype.$n=function(a){c.$n(a,g.Zm)};a.prototype.UX=function(a){return c.UX(a)};a.prototype.yj=function(a){c.yj(a,g.Zm)};a.prototype.k9=function(a){this.Rg.aqa(a)};a.prototype.removeItem=function(a){this.Rg.mua(a)};a.prototype.RV=function(a,b){this.Rg.Qr(a).aqa(b);this.r8()};a.prototype.DRa=function(a,b){var c=this.Rg.Qr(a);c&&c.mua(b)};a.prototype.v9=function(a){this.Rg.BN(a).qj()};a.prototype.dq=function(a,b){this.Rg.jW(a).forEach(function(a){a.Ve(b)})};a.prototype.xO=function(a,b,c,f,d){this.Rg.Qr(a).gb(b,
c,f,d);this.r8()};a.prototype.r8=function(){var a=this.Rg.wPa();if(a){i.wj=Math.min(i.Xba,i.wj*Math.sqrt(i.jxa/a));this.gpa()}};a.prototype.ASa=function(a,b,c){this.Rg.BN(a).xaa(b,c)};a.prototype.ON=function(a){return this.Rg.Qr(a).getX()};a.prototype.PN=function(a){return this.Rg.Qr(a).getY()};a.prototype.zW=function(a){return this.Rg.Qr(a).SG()};a.prototype.Cra=function(a){return this.Rg.Qr(a).Yp()};a.prototype.NN=function(a){return this.Rg.Qr(a).Ra()/i.wj};a.prototype.MN=function(a){return this.Rg.Qr(a).yb()/
i.wj};a.prototype.render=function(){this.kB&&this.Rg.render()};a.prototype.sX=function(a){this.uw.push(a);this.Yoa()};a.prototype.qH=function(a){a=b(this.uw).lastIndexOf(a);a>=0&&this.uw.splice(a,1);this.Yoa()};a.prototype.Yoa=function(){var a;a=this.uw.length>0?this.uw[this.uw.length-1]:n.le;this.getParent().set("cursor",a)};a.prototype.lQ=function(){if(this.uw.length>0){this.getParent().set("cursor",n.le);this.uw=[]}};a.prototype.vRa=function(a){this.BB.push(a);this.VM()};a.prototype.oRa=function(a){a=
b(this.BB).lastIndexOf(a);a>=0&&this.BB.splice(a,1);this.VM()};a.prototype.VM=function(){var a=this.BB.length==0?"":this.BB[this.BB.length-1]||"";if(this.Bb!=a){this.Bb=a;this.getParent().set("toolTip",this.Bb)}};a.prototype.HAa=function(){this.Bb&&this.getParent().set("toolTip","");this.Bb="";this.BB=[]};a.prototype.Am=function(){this.HAa();this.lQ();k.prototype.Am.call(this)};a.prototype.Sb=function(){this.gpa();this.r8()};a.prototype.gpa=function(){this.Rg.Ac().css({transform:i.wj!=1?"scale("+
(1/i.wj).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.Rg.setSize(this.Ra()*i.wj,this.yb()*i.wj);this.render()};a.prototype.Tj=function(){this.h6=m;this.u8()};a.prototype.Pj=function(){this.h6=B;this.u8()};a.prototype.u8=function(){var a=this.h6&&!j.isPresenting();if(this.kB!=a)(this.kB=a)?this.render():this.Rg.oW()};return a});
define("R","require,kL,cu,mR,jh,cT,dp,jg,jT,nV,dW,gp".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("mR"),g=a("jh"),c=a("cT"),i=a("dp"),f=a("jg"),j=a("jT"),n=a("nV"),k=a("dW"),o=a("gp"),p=d.G("MapPlayer",c,function(){c.call(this,"map");this.xS=this.U3=this.Fh=B;this.um=this.Gc=this.C=this.h=r;this.cw={};for(var a in p.Ts)this.cw[a]=this.gBa(a);this.Nd=b.aq(this.Dg,this)});p.prototype.stop=function(){this.xc(f.$f)};p.prototype.rotateClockwise=function(){this.xc(f.xZ)};p.prototype.rotateCounterClockwise=
function(){this.xc(f.yZ)};p.prototype.zoomIn=function(){this.xc(f.Rs)};p.prototype.zoomOut=function(){this.xc(f.Ss)};p.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "map":this.U3=m;this.Nd();break;case "viewerArea":this.Fh=m;this.Nd();break;case "panoramaMapLocation":this.i5=m;this.Nd();break;case "movementMode":this.xS=m;this.Nd()}c.prototype.set.call(this,a,b)}};p.prototype.gBa=function(a){var b=p.Ts[a],a=new g(this,a,k.me);a.bind(n.Hb,function(){this.xc(b.movement)},this);b.stopOnRelease&&
a.bind(n.ic,function(){this.xc(f.$f)},this);return a};p.prototype.WNa=function(a){this.um=r;this.set("map",a.get("map"));this.set("panoramaMapLocation",a)};p.prototype.HRa=function(a){if(this.get("panoramaMapLocation")==a){this.set("panoramaMapLocation",r);this.um=r}};p.prototype.Qm=function(a,b,c,f){this.C&&this.C.Qm(a,b,c,f);this.um={yaw:b,pitch:c,hfov:f}};p.prototype.Dg=function(){if(this.Fh){this.Fh=B;this.qt();this.get("viewerArea")&&this.nt();this.cM(this.get("viewerArea"))}if(this.C){if(this.U3){this.U3=
B;var a=this.get("map");if(a){this.vH();this.C.Zua(a)}else this.C.iv();this.i5=this.xS=m}if(this.i5){this.i5=B;a=this.get("panoramaMapLocation");this.C.kv(a);a&&this.um&&this.C.Qm(a,this.um.yaw,this.um.pitch,this.um.hfov)}if(this.xS){this.xS=B;this.C.gq(this.get("movementMode"))}}};p.prototype.bG=function(){this.set("map",r)};p.prototype.nt=function(){var a=this.get("viewerArea");this.h=new j;this.h.Y({left:0,top:0,bottom:0,right:0});a.La(this.h);this.C=new i(a,this.h);this.C.bind(i.Aj,this.cp,this);
this.C.bind(i.vs,this.$h,this);this.C.bind(i.Py,this.iF,this);this.C.bind(i.Ry,this.gx,this);this.C.bind(i.Qy,this.$t,this);this.C.bind(i.Bj,this.$K,this,m)};p.prototype.qt=function(){if(this.h){this.C.unbind(i.Aj,this.cp,this);this.C.unbind(i.vs,this.$h,this);this.C.unbind(i.Py,this.iF,this);this.C.unbind(i.Ry,this.gx,this);this.C.unbind(i.Qy,this.$t,this);this.C.unbind(i.Bj,this.$K,this);this.C.clear();this.h.getParent().removeChild(this.h);this.h=r}};p.prototype.gx=function(a){this.gK(a.data.map)};
p.prototype.$t=function(a){this.fK(a.data.map)};p.prototype.cp=function(a){for(var b in p.Ts)this.cw[b].set("state",a.data[p.Ts[b].pressedOn]?o.Za:o.le);this.trigger(new e(n.dca,a.data))};p.prototype.$K=function(a){this.trigger(new e(p.Bj,{yawDelta:a.data.yawDelta}))};p.prototype.$h=function(a){this.h.getParent().Y({progressPercent:a.data.percent,progressVisible:m})};p.prototype.iF=function(){this.h.getParent().set("progressVisible",B)};p.prototype.xc=function(a){this.C&&this.C.xj(a)};p.Ts={buttonRotateClockwise:{movement:f.xZ,
pressedOn:"rotatingClockwise",stopOnRelease:m},buttonRotateCounterClockwise:{movement:f.yZ,pressedOn:"rotatingCounterClockwise",stopOnRelease:m},buttonZoomIn:{movement:f.Rs,pressedOn:"zoomingIn",stopOnRelease:m},buttonZoomOut:{movement:f.Ss,pressedOn:"zoomingOut",stopOnRelease:m}};p.Bj="requestYawChange";return p});
define("hO",["require","ll","nV","cu","mR"],function(a){var b=a("ll"),e=a("nV"),d=a("cu"),a=a("mR").G("PlayListItem",b,function(){b.call(this);this.o="stopped"});a.prototype.get=function(a,c){return"state"==a?this.o:b.prototype.get.call(this,a,c)};a.prototype.start=function(){this.cUa()};a.prototype.cUa=function(){"stopped"==this.o&&(this.o="starting",this.trigger(new d(e.Ns)))};a.prototype.hy=function(){this.Zva()};a.prototype.Zva=function(){"starting"==this.o&&(this.o="playing",this.trigger(new d(e.iq)))};
a.prototype.stop=function(){this.IH()};a.prototype.IH=function(){"playing"==this.o&&(this.o="stopping",this.trigger(new d(e.$f)))};a.prototype.end=function(){this.$va()};a.prototype.$va=function(){"stopping"==this.o&&(this.o="stopped",this.trigger(new d(e.hb)))};return a});
define("ov",["require","mR","cT","hO"],function(a){var b=a("mR"),e=a("cT"),d=a("hO"),a=b.G("MapPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.gx,this),a.set("map",this.get("media")))};a.prototype.stop=function(){var a=this.get("player");a&&a.get("map")==this.get("media")&&a.set("map",r);d.prototype.stop.call(this)};a.prototype.gx=function(){this.get("player").unbind(e.Kg,this.gx,this);this.get("player").bind(e.Il,
this.$t,this);this.hy();this.get("player").get("map")!=this.get("media")&&this.$t()};a.prototype.$t=function(){this.get("player").unbind(e.Il,this.$t,this);this.stop();this.end()};return a});
define("fH",["require","nV","mR","jn"],function(a){var b=a("nV"),e=a("mR"),d=a("jn"),g=e.G("MeasureModel3DObject",d,function(){d.call(this);this.bind(b.u("mode"),function(){this.trigger(g.Lwa)},this,m);this.bind(b.u("distance"),function(){this.trigger(g.Iwa)},this,m)});g.Lwa="modeChange";g.Iwa="distanceChange";return g});define("C",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("MeasureModel3DObjectPoint",b,function(){b.call(this)})});
define("dX",["require","mR","fE"],function(a){var b=a("mR"),e=a("fE");return b.G("OrbitModel3DCamera",e,function(){e.call(this)})});
define("fo",["require","kn","mR","ef","dX"],function(a){function b(a,b){Array.isArray(b)?a.fromArray(b):a.copy(b)}function e(a,b){return Array.isArray(b)?a.toArray():{x:a.x,y:a.y,z:a.z}}var d=a("kn"),g=a("mR"),c=a("ef"),i=a("dX"),a=g.G("Model3D",c,function(){c.call(this);this.set("camera",new i);this.set("geometryQuery",l);this.set("objectQuery",l)});a.prototype.pause=function(){this.get("state")==d.Q&&this.set("state",d.Db)};a.prototype.play=function(){this.set("state",d.Q)};a.prototype.stop=function(){this.set("state",
d.M)};a.prototype.worldPositionToLocal=function(a,c){b(f,a);var d=n;Array.isArray(c)?d.fromArray(c):d.copy(c);n.invert();f.applyMatrix4(n);return e(f,a)};a.prototype.getMatrixWorld=function(a){var b=this.get("objectQuery");return b&&b.vPa(a)};a.prototype.worldDirectionToLocal=function(a,c){b(f,a);var d=k;Array.isArray(c)?d.fromArray(c):d.copy(c);n.IVa(k);n.invert();f.applyMatrix4(n);return e(f,a)};a.prototype.testIntersection=function(a,c){var d=this.get("geometryQuery");if(d)return b(f,a),b(j,c),
d.ZTa(f,j)};a.prototype.getDistanceToFloor=function(a){var c=this.get("geometryQuery");if(c)return b(f,a),c.cPa(f)};a.prototype.pick=function(a,b){var c=this.get("picker");return!c?l:c.gO(a,b)};var f=new THREE.Vector3,j=new THREE.Vector3,n=new THREE.Matrix4,k=new THREE.Matrix4;a.prototype.$r=function(){return[]};return a});
define("bd",["require","ll","kn","nV","mR"],function(a){var b=a("ll"),e=a("kn"),d=a("nV"),a=a("mR").G("Model3DAnimation",b,function(){b.call(this);this.bind(d.u("state"),function(){this.trigger(d.Yd)},this,m)});a.prototype.pause=function(){this.get("state")==e.Q&&this.set("state",e.Db)};a.prototype.play=function(){this.set("currentDirection","forward");this.set("state",e.Q)};a.prototype.reverse=function(){this.set("currentDirection","backward");this.set("state",e.Q)};a.prototype.stop=function(){this.set("currentTime",
0);this.set("state",e.M)};return a});
define("gu",["require","ll","kn","mR","nV"],function(a){var b=a("ll"),e=a("kn"),d=a("mR"),g=a("nV"),a=d.G("Model3DCameraSequence",b,function(){b.call(this);this.set("state",e.M);this.bind(g.u("state"),function(){this.trigger(g.Yd)},this,m)});a.prototype.play=a.prototype.play=function(){this.set("state",e.Q)};a.prototype.pause=a.prototype.pause=function(){this.get("state")==e.Q&&this.set("state",e.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",e.M)};return a});
define("ia","require,kL,nV,cu,jh,cT,kn,dW,gp".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("jh"),c=a("cT"),i=a("kn"),f=a("dW"),j=a("gp"),a=b.extend(c,function(){c.call(this,m);this.ir=B;this.$F=m;this.o=i.M;this.Dz=new g(this,"buttonPlayPause",f.Fj);this.Dz.bind(e.Dj,this.dHa,this,m);this.Dz.bind(e.Ll,this.eHa,this,m);this.JD=new g(this,"buttonPause",f.me);this.JD.bind(e.oa,this.WA,this,m);this.KD=new g(this,"buttonPlay",f.me);this.KD.bind(e.oa,this.XA,this,m);this.MD=new g(this,"buttonStop",
f.me);this.MD.bind(e.oa,this.rx,this,m);this.bAa=new g(this,"buttonRestart",f.me);this.bAa.bind(e.oa,this.ox,this,m);this.iia=b.aq(this.UMa,this);this.iia()});a.prototype.set=function(a,b){a!="state"&&c.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){switch(a){case "state":return this.o}return c.prototype.get.call(this,a,b)};a.prototype.UMa=function(){if(this.$F){this.$F=B;this.JD.set("state",this.o==i.Db?j.Za:j.le);this.KD.set("state",this.o==i.Q||this.o==i.Db?j.Za:j.le);this.Dz.set("pressed",
this.o==i.Q);this.MD.set("state",this.o==i.M?j.Za:j.le)}};a.prototype.Qx=function(a){if(this.ir!=a)(this.ir=a)||this.hc(i.M)};a.prototype.hc=function(a){var b=this.o;this.o=a;c.prototype.set.call(this,"state",a);if(b!=this.o){this.$F=m;this.iia();this.trigger(new d(e.Yd,{oldState:b,state:this.o}))}};a.prototype.WA=function(){this.ir&&(this.o==i.Db?this.Wj():this.lp())};a.prototype.XA=function(){this.ir&&this.Wj()};a.prototype.dHa=function(){this.ir&&this.Wj()};a.prototype.eHa=function(){this.ir&&
this.lp()};a.prototype.rx=function(){this.ir&&this.Mn()};a.prototype.ox=function(){if(this.ir){this.Mn();this.Wj()}};a.prototype.Wj=G();a.prototype.lp=G();a.prototype.Mn=G();return a});
define("ey",["require","kL","bf","cu","fQ"],function(a){var b=a("kL"),e=a("bf"),d=a("cu"),g=a("fQ"),c=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.mp=r;this.ca=c.ih;this.vg=this.qh=r;this.jg=this.Cg=l});c.prototype.display=function(a){this.mp=r;if(this.vg!=a||this.ca!=c.ih)this.mp=a,this.Bka()};c.prototype.hide=function(){this.mp="none";this.Bka()};c.prototype.clear=function(){this.ca=c.ih;this.mp=r;this.xIa();this.jma();this.h=r};c.prototype.Xg=function(a){if(this.ca!=c.ih&&(this.ca==
c.bn||this.ca==c.Rv||this.ca==c.qz))this.jg+=a,a=Math.min(1,this.jg/this.Cg),this.ca==c.bn?this.qh.set("opacity",a):this.ca==c.qz?(this.qh.set("opacity",Math.min(1,2*a)),this.vg.set("opacity",Math.min(1,2*(1-a)))):this.vg.set("opacity",1-a),this.jg<this.Cg?this.Ba():this.zw()};c.prototype.QN=function(){return this.vg&&this.h.QN(this.vg)||l};c.prototype.Bka=function(){this.mp&&this.ca==c.ih&&this.Fo()};c.prototype.Fo=function(){this.vg&&this.trigger(new d(c.Sy,{model:this.vg}));"fade_out_fade_in"==
this.J.get("transitionMode","blending")&&this.vg?this.Zv():(this.qh="none"==this.mp?r:this.mp,this.mp=r,this.qh?this.vg?this.G_():this.uI():this.vg&&this.Zv())};c.prototype.uI=function(){this.Xda();this.h.Haa(this.qh,B);this.jg=0;this.Cg=this.J.get("transitionDuration");this.ca=c.bn;this.Ba()};c.prototype.G_=function(){this.Xda();this.h.Haa(this.qh,B);this.h.Haa(this.vg,m);this.jg=0;this.Cg=2*this.J.get("transitionDuration");this.ca=c.qz;this.Ba()};c.prototype.Zv=function(){this.qh=r;this.jg=0;this.Cg=
this.J.get("transitionDuration");this.ca=c.Rv;this.Ba()};c.prototype.zw=function(){this.mp!=this.vg&&this.jma();this.vg=this.qh;this.qh=r;this.ca=c.ih;this.vg?this.trigger(new d(c.Ty,{model:this.vg})):this.mp||this.trigger(new d(c.Hba));this.mp&&this.Fo()};c.prototype.Ba=function(){e.vb(this.Xg,this)};c.prototype.Xda=function(){this.qh&&(this.qh.set("opacity",0.01),this.qh.set("zIndex",1),this.vg&&this.vg.set("zIndex",0),this.qh.set("currentTime",0),this.h.cqa(this.qh),this.trigger(new d(c.MY,{model:this.qh})))};
c.prototype.jma=function(){this.vg&&(this.h.eaa(this.vg),this.trigger(new d(c.cP,{model:this.vg})),this.vg=r)};c.prototype.xIa=function(){this.qh&&(this.h.eaa(this.qh),this.trigger(new d(c.cP,{model:this.qh})),this.qh=r)};c.ih="stopped";c.bn="blending";c.qz="double blending";c.Rv="disolving";c.ob="request frame";c.MY="model added";c.cP="model removed";c.Ty="model show";c.Sy="model hide";c.Hba="all pending models hidden";return c});
define("cI",["require","kL","fQ","nV"],function(a){var b=a("kL"),e=a("fQ"),d=a("nV"),a=b.extend(e,function(a,b){e.call(this);this.J=a;this.h=b;this.wh=r});a.prototype.clear=function(){this.stop();this.h=r};a.prototype.load=function(a){a!=this.wh&&(this.stop(),this.h.aQa(a)?(this.Joa(a),this.mV(a)):(this.wh=a,this.wh.set("opacity",0),this.Gza(),this.h.cqa(this.wh)))};a.prototype.stop=function(){this.wh&&(this.T7(),this.h.eaa(this.wh),this.wh=r)};a.prototype.ZK=function(){this.Joa(this.wh)};a.prototype.Yc=
function(){this.T7();var a=this.wh;this.wh=r;this.J.set("progressVisible",B);this.mV(a)};a.prototype.pf=function(){this.T7();this.wh=r;this.J.set("progressVisible",B)};a.prototype.$h=function(a){this.J.Y({progressPercent:a.data.percent,progressVisible:m})};a.prototype.Gza=function(){this.wh.bind(d.YH,this.ZK,this,m);this.wh.bind(d.T,this.Yc,this,m);this.wh.bind(d.dc,this.$h,this,m);this.wh.bind(d.tc,this.pf,this,m)};a.prototype.T7=function(){this.wh.unbind(d.YH,this.ZK,this,m);this.wh.unbind(d.T,
this.Yc,this,m);this.wh.unbind(d.dc,this.$h,this,m);this.wh.unbind(d.tc,this.pf,this,m)};a.prototype.Joa=function(a){this.trigger(d.YH,{model:a})};a.prototype.mV=function(a){this.trigger(d.T,{model:a})};a.Owa=d.YH;a.Jba=d.T;return a});
define("gE","require,kL,nV,cu,fQ,kn".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("kn"),i=b.extend(g,function(){g.call(this);this.R=r;this.o=c.M});i.prototype.start=function(a){this.R=a;this.R.bind(e.u("camera"),this.v4,this,m);this.R.bind(e.u("state"),this.S4,this,m);this.R.bind(e.u("currentTime"),this.gT,this,m);this.R.bind(e.u("duration"),this.gT,this,m);this.S4();this.v4()};i.prototype.end=function(){this.stop();if(this.na){this.na.unbind(e.u("state"),this.BK,this,m);
this.na=r}if(this.R){this.R.unbind(e.u("camera"),this.v4,this,m);this.R.unbind(e.u("state"),this.S4,this,m);this.R.unbind(e.u("currentTime"),this.gT,this,m);this.R.unbind(e.u("duration"),this.gT,this,m);this.R=r}};i.prototype.clear=function(){this.end()};i.prototype.play=function(){this.R&&this.R.set("state",c.Q)};i.prototype.pause=function(){this.R&&this.R.set("state",c.Db)};i.prototype.stop=function(){this.R&&this.R.set("state",c.M)};i.prototype.setTime=function(a){this.R&&this.R.set("currentTime",
a)};i.prototype.getTime=function(){return this.R&&this.R.get("currentTime")||l};i.prototype.S4=function(){var a=this.R.get("state");if(this.o!=a){this.o=a;this.na&&this.na.set("state",a);this.trigger(new d(i.mc,{state:this.o}))}};i.prototype.gT=function(){this.trigger(new d(i.Li,{model:this.R,time:this.R.get("currentTime"),duration:this.R.get("duration")}));this.BK()};i.prototype.v4=function(){this.na&&this.na.unbind(e.u("state"),this.BK,this,m);(this.na=this.R.get("camera"))&&this.na.bind(e.u("state"),
this.BK,this,m);this.BK()};i.prototype.BK=function(){this.R.get("duration")===0&&this.R.set("state",this.na?this.na.get("state"):c.M)};i.mc="playback state change";i.Li="time change";return i});
define("dN","require,kL,kn,cu,fQ,ey,cI,gE".split(","),function(a){var b=a("kL"),e=a("kn"),d=a("cu"),g=a("fQ"),c=a("ey"),i=a("cI"),f=a("gE"),j=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.ee=new i(this.J,this.h);this.Ca=new c(this.J,this.h);this.za=new f(this.h);this.ee.bind(i.Owa,this.UGa,this,m);this.ee.bind(i.Jba,this.bu,this,m);this.Ca.bind(c.Sy,this.hx,this,m);this.Ca.bind(c.Ty,this.Tk,this,m);this.Ca.bind(c.MY,this.qka,this,m);this.Ca.bind(c.cP,this.tka,
this,m);this.Ca.bind(c.Hba,this.uGa,this,m);this.za.bind(f.mc,this.Ae,this,m);this.za.bind(f.Li,this.gp,this,m)});j.prototype.clear=function(){this.ee.clear();this.Ca.clear();this.za.clear();this.ee.unbind(i.Jba,this.bu,this);this.Ca.unbind(c.Sy,this.hx,this);this.Ca.unbind(c.Ty,this.Tk,this);this.Ca.unbind(c.MY,this.qka,this);this.Ca.unbind(c.cP,this.tka,this);this.za.unbind(f.mc,this.Ae,this);this.za.unbind(f.Li,this.gp,this);this.J=this.h=this.za=this.Ca=this.ee=r};j.prototype.PSa=function(a){this.h.set("visible",
m);this.ee.load(a)};j.prototype.iv=function(){this.Ca.hide();this.za.end()};j.prototype.play=function(){this.za.play()};j.prototype.stop=function(){this.za.stop()};j.prototype.pause=function(){this.za.pause()};j.prototype.setTime=function(a){this.za.setTime(a)};j.prototype.getTime=function(){return this.za.getTime()};j.prototype.QN=function(){return this.Ca.QN()};j.prototype.UGa=function(a){this.Ca.display(a.data.model)};j.prototype.bu=G();j.prototype.qka=function(a){this.za.start(a.data.model)};
j.prototype.tka=G();j.prototype.Tk=function(a){a=a.data.model;a.get("autoplay")&&a.get("state")!=e.Q&&a.set("state",e.Q);this.trigger(new d(j.Ty,{model:a}))};j.prototype.hx=function(a){this.trigger(new d(j.Sy,{model:a.data.model}))};j.prototype.uGa=function(){this.h.set("visible",B)};j.prototype.gp=function(a){this.trigger(new d(j.NY,a.data))};j.prototype.Ae=function(a){this.trigger(new d(j.mc,{state:a.data.state}))};j.Ty="modelShow";j.Sy="modelHide";j.AUa="modelEnd";j.NY="videoTimeChange";j.mc="playbackStateChange";
return j});define("jE",["require","jquery.mod","u"],function(a){function b(){this.ba=e("<div/>");this.ba.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.ba.hide()}var e=a("jquery.mod"),d=a("u");b.prototype.Ac=S("ba");b.prototype.trigger=function(){d.browser()!=d.Lh&&this.ba.fadeIn(100).fadeOut(100)};return b});
define("lu",["require"],function(){function a(b,e){this.P=b;this.TTa=e||"Entity";this.id=this.TTa+"_"+a.YQa++;this.Vn={};this.mO={};this.bba=0}a.prototype.getComponent=function(a){return this.Vn[a.id]};a.prototype.D=function(a,e){var d=this.Vn[a.id];d?this.P.kOa(this,a):e&&(d=this.B(a));return d};a.prototype.B=function(a){if(a.id in this.Vn)return this.Vn[a.id];a.D$&&this.bba++;var e=this.Vn[a.id]=new a;this.P.RNa(this,a);return e};a.prototype.fa=function(a){a.id in this.Vn&&(a.D$&&this.bba--,this.mO[a.id]=
this.Vn[a.id],delete this.Vn[a.id],this.P.pua(this,a,l))};a.prototype.nOa=function(){for(var a in this.mO)this.mO[a].clear(),delete this.mO[a]};a.prototype.ARa=function(){for(var a in this.Vn){var e=this.Vn[a].constructor;e.D$||(this.mO[a]=this.Vn[a],delete this.Vn[a],this.P.pua(this,e,B))}};a.YQa=0;return a});define("bX",["require"],function(){function a(){this.id=a.m4++;this.entities=[]}a.m4=0;return a});
define("kh",["require"],function(){function a(b,e){this.id=a.m4++;this.name=e;this.entities=b.entities;this.Xf=b.entities.slice();this.Oa=[];this.Nm=[]}a.prototype.lOa=function(){!this.Xf.length||(this.Xf=[]);!this.Oa.length||(this.Oa=[]);!this.Nm.length||(this.Nm=[])};a.m4=0;return a});
define("bo",["require","bX","kh"],function(a){function b(){this.gQa={};this.A={};this.wC={};this.RG={};this.Su={};this.vC={};this.vN={};this.uC={}}function e(a){return"string"==typeof a?a:a.id}function d(a,b){0>a.indexOf(b)&&a.push(b)}function g(a,b){var c=a.indexOf(b);0<=c&&a.splice(c,1)}var c=a("bX"),i=a("kh");b.prototype.ma=function(a){this.vN[a.id]={};this.vN[a.not]={}};b.prototype.xOa=function(a,b){var c=this.sEa(a),d=new i(c,b);this.wC[c.id].push(d);return d};b.prototype.sEa=function(a){var b=
this.gQa[this.tEa(a)];if(b)return b;b=new c;this.A[b.id]=b;a=a.map(e);this.uC[b.id]={};for(var d=0;d<a.length;d++){var g=a[d];this.uC[b.id][g]=m;this.vN[g][b.id]=m}this.vC[b.id]={};this.wC[b.id]=[];return b};b.prototype.tEa=function(a){a=a.map(e);a.sort();return a.join("-")};b.prototype.cRa=function(a){this.RG[a.id]={};this.Su[a.id]={}};b.prototype.dRa=function(a){delete this.RG[a.id];delete this.Su[a.id]};b.prototype.$Qa=function(a,b){var c=b.id,e=b.not,i=a.id;this.RG[i][c]=m;for(var p in this.Su[i])if(e in
this.uC[p]){delete this.vC[p][i];delete this.Su[i][p];g(this.A[p].entities,a);for(var q=this.wC[p],t=0,s=q.length;t<s;t++){var u=q[t];d(u.Nm,a);g(u.Xf,a);g(u.Oa,a)}}for(p in this.vN[c])if(!(i in this.vC[p])){var e=m,w;for(w in this.uC[p])if(q="!"!=w[0],(q?w:w.slice(1))in this.RG[i]!=q){e=B;break}if(e){this.vC[p][i]=m;this.Su[i][p]=m;d(this.A[p].entities,a);q=this.wC[p];t=0;for(s=q.length;t<s;t++)u=q[t],d(u.Xf,a),g(u.Nm,a),g(u.Oa,a)}}};b.prototype.bRa=function(a,b){var c=b.id,e="!"+c,i=a.id;delete this.RG[i][c];
for(var p in this.Su[i])if(c in this.uC[p]){delete this.vC[p][i];delete this.Su[i][p];g(this.A[p].entities,a);for(var q=this.wC[p],t=0,s=q.length;t<s;t++){var u=q[t];d(u.Nm,a);g(u.Xf,a);g(u.Oa,a)}}for(p in this.vN[e])if(!(i in this.vC[p])){var c=m,w;for(w in this.uC[p])if(q="!"!=w[0],(q?w:w.slice(1))in this.RG[i]!=q){c=B;break}if(c){this.vC[p][i]=m;this.Su[i][p]=m;this.A[p].entities.push(a);q=this.wC[p];t=0;for(s=q.length;t<s;t++)u=q[t],d(u.Xf,a),g(u.Nm,a),g(u.Oa,a)}}};b.prototype.aRa=function(a,
b){var c=b.id,e=a.id,g;for(g in this.Su[e])if(c in this.uC[g])for(var i=this.wC[g],q=0,t=i.length;q<t;q++)d(i[q].Oa,a)};return b});
define("kD",["require","bf","lu","bo"],function(a){function b(a){this.Wb=a;this.K=m;this.Pg={};this.WI=[];this.RAa={};this.tM=[];this.hB=new g;this.VQ=[];this.Ax=B}var e=a("bf"),d=a("lu"),g=a("bo");b.prototype.ma=function(a){this.RAa[a.id]=a;this.hB.ma(a);return this};b.prototype.Ld=function(a,b){var f=new a(this,b);f.order=this.tM.length;this.tM.push(f);for(var d in a.A)f[d]=this.hB.xOa(a.A[d],b+"."+d);this.tM.sort(function(a,b){return a.Ge-b.Ge||a.order-b.order});return this};b.prototype.td=function(a){a=
new d(this,a);this.Pg[a.id]=a;this.hB.cRa(a);this.nb();return a};b.prototype.Ef=function(a){a.id in this.Pg&&(delete this.Pg[a.id],this.WI.push(a),a.ARa(),this.nb())};b.prototype.RNa=function(a,b){this.hB.$Qa(a,b);this.nb()};b.prototype.pua=function(a,b,f){this.hB.bRa(a,b);f||this.VQ.push(a);this.nb()};b.prototype.kOa=function(a,b){this.hB.aRa(a,b);this.nb()};b.prototype.vd=function(a){this.K=a;this.nb()};b.prototype.nb=function(){this.K&&!this.Ax&&(this.Ax=m,e.vb(this.update,this))};b.prototype.update=
function(a){this.Ax=B;for(var b=(new Date).getTime(),f=0;f<this.tM.length;f++){var d=this.tM[f];d.execute(a,b);for(var e in d.constructor.A)d[e].lOa()}for(f=0;f<this.VQ.length;f++)this.VQ[f].nOa();this.VQ.length=0;for(f=this.WI.length-1;0<=f;f--)0==this.WI[f].bba&&(this.hB.dRa(this.WI[f]),this.WI.splice(f,1))};return b});
define("ee",["require"],function(){function a(){}a.prototype.clear=G();a.EVa=function(b){return a.create(b,G())};a.create=function(b,e){e.prototype=Object.create(a.prototype);e.prototype.constructor=e;e.id=b;e.not="!"+b;return e};a.zc=function(b,e){var d=a.create(b,e);d.D$=m;return d};return a});
define("fm",["require","ee"],function(a){var a=a("ee"),b={};b.QC=a.create("AmbientOcclusionEffect",function(){this.bias=0;this.Yqa=500;this.intensity=1;this.scale=100;this.Tsa=25;this.vta=0;this.s9=4;this.output=r});b.tv=a.create("AnimationComponent",function(){this.Cb=r});b.rs=a.zc("AnimationSystemStateComponent",function(){this.manager=r});b.Hy=a.create("AntialiasEffect",function(){this.yva=this.nra=B;this.JO=2});b.Gl=a.create("AreaComponent",function(){this.entities=[];this.Ga=this.renderOrder=
r});b.vv=a.zc("AreaSystemStateComponent",function(){this.entities=[]});b.Iy=a.zc("AreaPointSystemStateComponent",function(){this.WV=[]});b.My=a.create("BeaconComponent",G());b.yv=a.zc("BeaconSytemStateComponent",function(){this.position=r});b.kq=a.create("BeaconTrackerComponent",function(){this.Ga=r});b.ts=a.zc("BeaconTrackerSytemStateComponent",function(){this.position=r});b.Ki=a.create("CanvasMaterialComponent",function(){this.OX=this.source=r;this.opacity=1;this.hidden=this.isSprite=B;this.depthTest=
m});b.zv=a.zc("CanvasMaterialSystemStateComponent",function(){this.manager=r});b.YO=a.create("ColorEffect",function(){this.color="#000000";this.opacity=0.5});b.ZO=a.create("DataComponent",G());b.jo=a.create("DraggableComponent",function(){this.min=this.direction=this.Ga=r});b.Av=a.zc("DraggableSystemStateComponent",function(){this.D9=r});b.Bv=a.create("DraggingComponent",G());b.bD=a.create("FirstPersonControlsComponent",function(){this.Qp=r;this.ds=m;this.Cb=r;this.enabled=m});b.ys=a.zc("FirstPersonControlsSystemStateComponent",
function(){this.manager=r});b.zs=a.create("FloorTransformComponent",function(){this.distance=0;this.SN=B;this.z=this.y=this.x=0});b.nq=a.zc("FloorTransformSystemStateComponent",function(){this.manager=r});b.cD=a.create("FlyOverControlsComponent",function(){this.Qp=r;this.ds=m;this.Cb=r;this.enabled=m});b.As=a.zc("FlyOverControlsSystemStateComponent",function(){this.manager=r});b.Geometry=a.create("GeometryComponent",function(){this.geometry=r});b.Group=a.create("GroupComponent",function(){this.group=
r});b.gD=a.zc("GroupSystemStateComponent",function(){this.group=r});b.Bs=a.create("ImageMaterialComponent",function(){this.kH=this.Ga=this.ysa=this.Cb=r;this.Ge=l;this.isSprite=B});b.Gv=a.zc("ImageMaterialSystemStateComponent",function(){this.manager=r});b.WH=a.create("MotionBlurEffect",function(){this.wua=7;this.intensity=1});b.Light=a.create("LightComponent",function(){this.Kd=this.target=this.Cb=r});b.Cs=a.zc("LightSystemStateComponent",G());b.Line=a.create("LineComponent",function(){this.renderOrder=
0});b.Iv=a.zc("LineSystemStateComponent",G());b.Mi=a.create("LineMaterialComponent",function(){this.color="#ffffff";this.width=this.opacity=1;this.depthTest=m});b.Hv=a.zc("LineMaterialSystemStateComponent",function(){this.manager=r});b.Jv=a.create("LineToTransformComponent",function(){this.Kb=r});b.Kv=a.zc("LineToTransformSystemStateComponent",G());b.Material=a.create("MaterialComponent",function(){this.material=r});b.pq=a.create("MaterialTransformComponent",function(){this.m9=0;this.opacity=this.envMapIntensity=
1;this.Ga=r});b.Lv=a.zc("MaterialTransformSystemStateComponent",function(){this.manager=r});b.Es=a.create("MaterialVariantComponent",function(){this.name=r});b.xo=a.zc("MaterialVariantSystemStateComponent",function(){this.manager=r});b.Mesh=a.create("MeshComponent",function(){this.ao=r;this.renderOrder=0});b.qq=a.zc("MeshSystemStateComponent",function(){this.ao=r});b.tg=a.create("ModelComponent",function(){this.i$=this.Ga=this.kH=this.gua=this.wta=this.Cb=r});b.Fs=a.zc("ModelComponentSystemState",
function(){this.manager=r});b.Gs=a.zc("NotSelectableComponent",function(){this.Yva=this.Xva=m});b.fz=a.zc("NotSelectableSystemStateComponent",G());b.Object3D=a.create("Object3DComponent",function(){this.Rc=r});b.nD=a.create("Object3DIdComponent",function(){this.container=this.id=r});b.Hs=a.zc("Object3DIdComponentSystemState",function(){this.manager=r});b.oD=a.create("OrbitControlsComponent",function(){this.Qp=r;this.ds=m;this.Cb=r;this.enabled=m});b.Is=a.zc("OrbitControlsSystemStateComponent",function(){this.manager=
r});b.OrthographicCamera=a.create("OrthographicCameraComponent",function(){this.height=this.width=100});b.Mv=a.zc("OrthographicCameraSystemStateComponent",function(){this.camera=r;this.height=this.width=l});b.wb=a.create("ParentComponent",function(){this.Kb=r;this.attach=B;this.id=r});b.rq=a.zc("ParentSystemStateComponent",function(){this.hd=this.parent=r;this.id=l;this.attach=B});b.PerspectiveCamera=a.create("PerspectiveCameraComponent",function(){this.height=this.width=100;this.fov=75;this.near=
0.01;this.far=100;this.mqa=B;this.nqa=0});b.sq=a.zc("PerspectiveCameraSystemStateComponent",function(){this.t9=this.boundingBox=this.scene=this.camera=r;this.S$=B;this.far=this.near=this.fov=this.height=this.width=l});b.Kl=a.create("PixelScaleTransformComponent",function(){this.scale=this.Kh=this.qg=this.Yf=1;this.mH=this.lH=l});b.hz=a.zc("PixelScaleTransformSystemStateComponent",G());b.Plane=a.create("PlaneComponent",function(){this.renderOrder=r});b.Ks=a.zc("PlaneSystemStateComponent",function(){this.manager=
r});b.yo=a.create("PointerComponent",function(){this.Qp=r;this.enabled=m;this.Cb=r});b.Ej=a.create("PointerOverTransformComponent",function(){this.Kb=r;this.rotate=m;this.Ga=r});b.tq=a.zc("PointerOverTransformSystemStateComponent",function(){this.manager=r});b.Ls=a.zc("PointerDraggingSystemStateComponent",function(){this.manager=r});b.Ms=a.zc("PointerSelectionSystemStateComponent",function(){this.manager=r});b.gh=a.create("RendererComponent",function(){this.canvas=this.QG=r;this.antialias=m;this.shadowMap=
B;this.renderer=r;this.pO=[]});b.vq=a.zc("RendererSystemStateComponent",function(){this.manager=r});b.Scene=a.create("SceneComponent",function(){this.opacity=1;this.locked=B;this.enabled=m;this.outputEncoding=this.G9=this.ara=this.oqa=this.o9=this.backgroundColor=this.Un=this.scene=r});b.xq=a.zc("SceneSystemStateComponent",function(){this.manager=this.scene=r});b.xd=a.create("SelectableComponent",function(){this.Ga=r;this.HH=B;this.Qu=m;this.Sm=this.hv=B});b.iz=a.zc("SelectableSystemStateComponent",
G());b.Bc=a.create("SolidMaterialComponent",function(){this.color="#ffffff";this.opacity=1;this.depthTest=m;this.doubleSided=B});b.Os=a.zc("SolidMaterialSystemStateComponent",function(){this.manager=r});b.Sphere=a.create("Sphere",function(){this.radius=1;this.widthSegments=32;this.heightSegments=16;this.renderOrder=0});b.jz=a.zc("SphereSystemStateComponent",G());b.Sprite=a.create("SpriteComponent",function(){this.EG=this.DG=0.5;this.width=this.height=100;this.scale=1;this.renderOrder=0});b.yq=a.zc("SpriteSystemStateComponent",
function(){this.manager=r});b.ta=a.create("TransformComponent",function(){this.Ue=this.xe=this.Te=this.tf=this.ae=this.we=0;this.pg="XYZ";this.Kh=this.qg=this.Yf=this.scale=1;this.AN=this.Zf=this.Ig=this.Yg=0;this.Ga=r});b.wf=a.zc("TransformSystemStateComponent",function(){this.Ue=this.xe=this.Te=this.tf=this.ae=this.we=0;this.pg="XYZ";this.Kh=this.qg=this.Yf=this.scale=1;this.Zf=this.Ig=this.Yg=0});b.kz=a.zc("TransformEasingSystemStateComponent",G());b.Ov=a.create("VideoMaterialComponent",function(){this.Ga=
this.mwa=this.Cb=r});b.Pv=a.zc("VideoMaterialSystemStateComponent",function(){this.manager=r});b.Gj=a.create("ViewportComponent",function(){this.height=this.width=this.Un=r});b.Qv=a.create("ViewportPlaneGeometryComponent",function(){this.Cb=this.Un=r});b.Qs=a.zc("ViewportPlaneGeometrySystemStateComponent",function(){this.geometry=r;this.zIndex=this.xua=this.verticalAlign=this.rsa=this.kva=this.nva=l});b.tD=a.create("VignetteEffect",function(){this.Sta=1;this.zsa=0.5;this.color="#000000";this.opacity=
0.5});return b});define("kV",["require"],function(){function a(a,e){this.P=a;this.name=e;this.Ge=0}a.prototype.execute=G();return a});
define("ca",["require","nV","kn"],function(a){function b(a,b,d,f,e){this.j=a;this.Pc=b;this.If=d;this.Ij=f;this.ua=e;this.EU()}var e=a("nV"),d=a("kn");b.prototype.JN=S("Ij");b.prototype.frame=function(a){this.o==d.Q&&(this.ur(this.jh.time+a/1E3),this.ua())};b.prototype.dispose=function(){this.eV();this.Tv=this.uz=this.jh=this.ua=this.Ij=this.If=this.Pc=this.j=r};b.prototype.EU=function(){this.jh=new THREE.AnimationMixer(this.Pc);this.ab=0;this.rb=B;this.uz=[];this.Tv=[];for(var a=0;a<this.If.length;a++){var b=
this.If[a],i="alternate"==b.get("animationDirection"),f=this.ab;this.ab+=this.Ij[a].duration*(i?2:1);this.Tv.push({start:f,end:this.ab});f=this.jh.clipAction(this.Ij[a]);i?f.setLoop(THREE.LoopPingPong,2):f.setLoop(THREE.LoopOnce,1);this.uz.push(f);b.set("state",d.M);b.set("currentTime",0);b.set("duration",this.Ij[a].duration)}this.o=d.M;this.xk=l;this.j.bind(e.u("state"),this.cf,this,m);this.j.bind(e.u("currentTime"),this.OA,this,m);this.j.bind(e.u("animationDirection"),this.Mja,this,m);this.j.set("duration",
this.ab);this.ur(0);this.j.get("autoplay")&&this.j.set("state",d.Q)};b.prototype.eV=function(){this.j.unbind(e.u("state"),this.cf,this,m);this.j.unbind(e.u("currentTime"),this.OA,this,m);this.j.unbind(e.u("animationDirection"),this.Mja,this,m);this.j.set("state",d.M);for(var a=0;a<this.If.length;a++)this.uz[a].stop(),this.jh.uncacheClip(this.Ij[a]),this.If[a].set("state",d.M),this.If[a].set("currentTime",0);this.j.set("duration",l);this.j.set("currentTime",l)};b.prototype.Mja=function(){this.eV();
this.EU()};b.prototype.cf=function(){var a=this.j.get("state");this.o!=a&&(this.o==d.M?a==d.Db?this.j.set("state",d.M):a==d.Q&&(this.o=d.Q,this.rb=B,this.ur(0),this.ua()):this.o==d.Q?a==d.M?(this.o=d.M,this.rb&&"last"==this.j.get("finalFrame")?this.ur(this.ab):this.ur(0)):a==d.Db&&(this.o=d.Db):this.o==d.Db&&(a==d.Q?(this.o=d.Q,this.ua()):a==d.M&&(this.o=d.M,this.ur(0))),this.xk!==l&&this.If[this.xk].set("state",this.o),this.j.set("state",this.o))};b.prototype.OA=function(){var a=this.j.get("currentTime");
this.jh.time!=a&&(this.o!=d.M&&this.ur(a),this.j.set("currentTime",this.jh.time))};b.prototype.ur=function(a){if(this.jh.time!=a||this.xk===l)if(a>this.ab)this.j.get("loop")?this.j.set("currentTime",a%this.ab):(this.rb=m,this.j.trigger(e.hb),this.j.set("state",d.M));else{for(var b=this.xk||0;a>this.Tv[b].end;)b++;for(;a<this.Tv[b].start;)b--;if(this.xk!==b){for(var i=this.xk||0;i<b;i++){var f=this.If[i],j=this.uz[i],n=this.Tv[i];"last"==f.get("finalFrame")&&"normal"==f.get("animationDirection")?(j.reset(),
j.startAt(n.start),f.set("currentTime",f.get("duration")),j.clampWhenFinished=m,j.play()):(f.set("currentTime",0),j.stop(),j.clampWhenFinished=B);f.set("state",d.M)}f=this.If[b];j=this.uz[b];n=this.Tv[b];j.reset();j.startAt(n.start);j.clampWhenFinished="last"==f.get("finalFrame")&&"normal"==f.get("animationDirection");j.play();for(i=this.xk||0;i>b;i--)f=this.If[i],j=this.uz[i],f.set("currentTime",0),j.stop();this.xk=b}else j=this.uz[this.xk],a<this.jh.time&&(j.reset(),j.startAt(this.Tv[this.xk].start)),
j.paused=B;this.jh.update(a-this.jh.time);f=this.If[this.xk];f.set("state",this.o);a=this.jh.time-this.Tv[this.xk].start;f=f.get("duration");b=a>f;this.If[this.xk].set("currentTime",b?2*f-a:a);this.If[this.xk].set("currentDirection",b?"backward":"forward");this.j.set("currentTime",this.jh.time);this.ua()}};return b});
define("nN",["require","nV","kn"],function(a){function b(a,b,d,f,e){this.j=a;this.Pc=b;this.If=d;this.Ij=f;this.ua=e;this.F4=this.F4.bind(this);this.B4=this.B4.bind(this);this.EU()}var e=a("nV"),d=a("kn");b.prototype.dispose=function(){this.eV();this.ua=this.Ij=this.If=this.Pc=this.j=r};b.prototype.JN=S("Ij");b.prototype.frame=function(a){0<this.Vs.length&&(this.jh.update(a/1E3),this.Vs.forEach(function(a){this.nea(a)}.bind(this)),this.ua())};b.prototype.EU=function(){this.jh=new THREE.AnimationMixer(this.Pc);
this.jh.addEventListener("loop",this.F4);this.jh.addEventListener("finished",this.B4);this.Eq=new Map;this.GP=new Map;this.Vs=[];for(var a=0;a<this.If.length;a++){var b=this.If[a],d=this.Ij[a];this.GP.set(b,d);var f=this.jh.clipAction(d);this.Eq.set(b,f);b.set("duration",d.duration);b.set("currentTime",b.get("currentTime")||0);b.set("currentDirection","forward");b.bind(e.u("state"),this.Aja,this,m);b.bind(e.u("animationDirection"),this.xja,this,m);b.bind(e.u("currentTime"),this.wja,this,m);b.bind(e.u("currentDirection"),
this.vja,this,m);b.bind(e.u("loop"),this.zja,this,m);b.bind(e.u("finalFrame"),this.yja,this,m);this.hG(b)}this.ua()};b.prototype.eV=function(){for(var a=0;a<this.If.length;a++){var b=this.If[a];b.unbind(e.u("state"),this.Aja,this,m);b.unbind(e.u("animationDirection"),this.xja,this,m);b.unbind(e.u("currentTime"),this.wja,this,m);b.unbind(e.u("currentDirection"),this.vja,this,m);b.unbind(e.u("loop"),this.zja,this,m);b.unbind(e.u("finalFrame"),this.yja,this,m);this.Eq.get(b).stop();this.Eq["delete"](b);
this.jh.uncacheClip(this.GP.get(b));this.GP["delete"](b);this.If[a].set("state",d.M);this.If[a].set("currentTime",0)}this.jh=this.GP=this.Eq=r};b.prototype.F4=function(a){this.Eq.forEach(function(b,d){a.action==b&&d.get("loop")&&d.trigger(e.uq)})};b.prototype.B4=function(a){this.Eq.forEach(function(b,i){a.action==b&&(this.nea(i),i.set("state",d.M),"alternate"==i.get("animationDirection")&&i.set("currentDirection","forward"==i.get("currentDirection")?"backward":"forward"),i.trigger(e.hb))}.bind(this))};
b.prototype.xja=function(a){this.hG(a.source)};b.prototype.zja=function(a){this.hG(a.source)};b.prototype.yja=function(a){this.hG(a.source)};b.prototype.vja=function(a){var b=a.source,d=this.Eq.get(b),f=d.time,e=b.get("duration");!b.get("loop")&&0!=f&&f!=e&&d.reset();this.hG(a.source)};b.prototype.wja=function(a){this.hG(a.source)};b.prototype.nea=function(a){this.lea=m;var b=this.Eq.get(a),d="alternate"==a.get("animationDirection"),d=0<b._loopCount&&1==b._loopCount%2&&d;a.set("currentDirection",
d?"backward":"forward");var b=b.time,f=a.get("duration");d?a.set("currentTime",f-b):a.set("currentTime",b);this.lea=B};b.prototype.hG=function(a){if(!this.lea){var b=this.Eq.get(a),d="alternate"==a.get("animationDirection"),f="backward"==a.get("currentDirection")&&d,e=a.get("loop"),n="last"==a.get("finalFrame"),k=a.get("currentTime"),a=a.get("duration");e?(b.loop=d?THREE.LoopPingPong:THREE.LoopRepeat,b.repetitions=Infinity,b.clampWhenFinished=B):f?(b.loop=THREE.LoopPingPong,b.repetitions=2,b.clampWhenFinished=
B):(b.loop=THREE.LoopOnce,b.repetitions=1,b.clampWhenFinished=n||d);d=d&&-1==b._loopCount?f?a+a-k:k:d&&1==b._loopCount%2?a-k:k;b.time!=d&&(b.time=d,b.paused&&b.enabled&&0==d&&b.stop());this.ua()}};b.prototype.Aja=function(a){this.oMa(a.source)};b.prototype.oMa=function(a){var b=this.Eq.get(a),e=a.get("state"),f;f=0<=this.Vs.indexOf(a)?d.Q:b.paused&&b.enabled&&b.time<a.get("duration")?d.Db:d.M;f!=e&&(f==d.Q?e==d.Db?(this.Vs.splice(this.Vs.indexOf(a),1),b.paused=m):e==d.M&&(this.Vs.splice(this.Vs.indexOf(a),
1),!b.paused&&b.enabled&&b.stop()):f==d.Db?e==d.Q?(this.Vs.push(a),b.paused=B):e==d.M&&b.stop():f==d.M&&(e==d.Q?(this.Vs.push(a),b.paused&&b.enabled&&"alternate"==a.get("animationDirection")&&"backward"==a.get("currentDirection")?b.paused=B:(b.reset(),b.play(),b.fadeIn(0.1))):e==d.Db&&(e=d.M)),a.set("state",e),this.ua())};return b});
define("ch",["require","fm"],function(a){function b(a){if(a&&a.userData){var b=a.userData.background,c=a.userData.encoding,f=a.userData.ora;b&&b.isColor?a.background=c==THREE.sRGBEncoding&&f?b.clone().convertSRGBToLinear():b:(b&&b.isTexture&&(b.encoding=c==THREE.sRGBEncoding?THREE.sRGBEncoding:THREE.LinearEncoding),a.background=b)}}var e=a("fm"),d={Xb:function(a){return!a?r:a.isObject3D?a:(a=a.getComponent(e.Object3D))?a.Rc:r},getWorldPosition:function(a,b){var c=d.Xb(a);if(!c)return r;b=b||new THREE.Vector3;
b.setFromMatrixPosition(c.matrixWorld);return b},EX:function(a,b){var c=a.getComponent(e.Object3D).Rc;c.matrixAutoUpdate=B;c.matrixWorldNeedsUpdate=B;c.matrix.identity();c.matrix.multiply(matrix4.makeTranslation(b.Yg,b.Ig,b.Zf));c.matrix.multiply(matrix4.makeRotationFromEuler(euler.set(b.Te*f,b.xe*f,b.Ue*f,b.pg)));c.matrix.multiply(matrix4.makeTranslation(b.we,b.ae,b.tf));c.matrix.multiply(matrix4.makeScale(b.scale*b.Yf,b.scale*b.qg,b.scale*b.Kh));c.updateMatrixWorld(m)},JN:function(a){return!a?r:
(a=a.getComponent(e.tg))?a.i$.animations:r},M9:function(a){return a.getComponent(e.OrthographicCamera)||a.getComponent(e.PerspectiveCamera)},Yn:function(a){return d.Z9(d.Xb(a))},Z9:function(a){for(;a&&!a.isScene;)a=a.parent;return a},hTa:function(a,b){a.userData.camera=b},kTa:function(a,b,c){a.userData.width=b;a.userData.height=c},iTa:function(a,c){a.userData.encoding!==c&&(a.userData.encoding=c,b(a))},jTa:function(a,c){a.userData.ora!==c&&(a.userData.ora=c,b(a))},RN:function(a){return a.userData.camera},
Ora:function(a){return a.userData.width},GW:function(a){return a.userData.height},FW:function(a){return a.userData.encoding},KX:function(a,c){a.userData.background!==c&&(a.userData.background=c,b(a))},PNa:function(a,b){var c=a.userData.Zaa||(a.userData.Zaa=[]);0<=c.indexOf(b)||(c.push(b),a.add(b),d.nba(a))},lua:function(a,b){var c=a.userData.Zaa;if(c){var f=c.indexOf(b);0>f||(c.splice(f,1),a.remove(b))}},nba:function(a){var b=a.userData.Zaa;if(b){var c=0.99*-a.far;b.forEach(function(a){a.position.z=
c})}},QNa:function(a,b){var c=a.userData.Yaa||(a.userData.Yaa=[]);0<=c.indexOf(b)||(c.push(b),a.add(b),d.bwa(a))},CRa:function(a,b){var c=a.userData.Yaa;if(c){var f=c.indexOf(b);0>f||(c.splice(f,1),a.remove(b))}},bwa:function(a){var b=a.userData.Yaa;if(b){var c=0.99*a.far;b.forEach(function(a){a.scale.x=a.scale.y=a.scale.z=c})}}},g=new THREE.Vector3,c=new THREE.Quaternion,i=new THREE.Vector3,f=Math.PI/180;d.YG=function(a){var b=(a=d.Xb(a))&&d.Z9(a),e=b&&d.RN(b);if(e)return a.matrixWorld.decompose(g,
c,i),g.applyMatrix4(e.matrixWorldInverse),i.setFromMatrixScale(a.parent.matrixWorld),2*Math.abs(g.z)*Math.tan(e.fov*f/2)/(d.GW(b)*Math.max(i.x,i.y,i.z))};d.bC=function(a,b){if(a.userData.id===b)return a;var c=r;if(a.children)for(var f=0;f<a.children.length&&!c;f++)c=d.bC(a.children[f],b);if(!c&&a.skeleton)for(f=0;f<a.skeleton.bones.length&&!c;f++)c=d.bC(a.skeleton.bones[f],b);return c};d.vra=function(){j||(j=new THREE.WebGLRenderer);return j};var j=r;return d});
define("B","require,jY,kn,fm,bd,ca,nN,ch".split(","),function(a){function b(a){this.k=a;this.Ij=this.Pc=r;this.HP={};this.PQ=new Map;this.$q=this.yk=this.j=r;this.Df=B;this.yK=this.yK.bind(this);this.update()}function e(a,b){if(a==b||(a==r||a.length==0)&&(b==r||b.length==0))return m;if(a==r||b==r||a.length!=b.length)return B;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return B;return m}var d=a("jY"),g=a("kn"),c=a("fm"),i=a("bd"),f=a("ca"),j=a("nN"),n=a("ch");b.prototype.update=function(){var a=this.k.getComponent(c.tv);
this.gl(a&&a.Cb)};b.prototype.frame=function(a,b){this.pG();if(this.Df){this.Df=B;this.yk&&this.yk.frame(a,b);this.$q&&this.$q.frame(a,b)}};b.prototype.dispose=function(){this.gl(r)};b.prototype.gl=function(a){if(this.j!=a){if(this.j){d.da(this.j,["animations.autoplay"],this.yK);this.TIa()}(this.j=a)&&d.QV(this.j,["animations.autoplay"],this.yK);this.yK()}};b.prototype.yK=function(){this.Woa()};b.prototype.pG=function(){if(!this.Pc){var a=n.Xb(this.k),b=n.JN(this.k);if(this.Pc!=a||this.Ij!=b){this.Pc=
a;this.Ij=b;this.HP={};this.Ij.forEach(function(a){a.name&&(this.HP[a.name]=a)}.bind(this));this.Woa()}}};b.prototype.Woa=function(){var a=this.j&&this.j.get("animations")||[],b=this.Ij||[],c=b.slice(),d=[],g=[],n=[],u=[];a.length&&b.length&&a.forEach(function(a){var f=a.get("index"),e=a.get("name"),j;f!==l&&f<b.length?j=b[f]:e!==l&&e in this.HP&&(j=this.HP[e]);if(c.indexOf(j)>=0){c.splice(c.indexOf(j),1);if(a.get("autoplay")){d.push(j);g.push(a)}else{n.push(j);u.push(a)}}}.bind(this));if(this.j&&
g.length==0&&c.length>0){g=c.map(function(a){if(this.PQ.has(a))return this.PQ.get(a);var b=new i;this.PQ.set(a,b);return b}.bind(this));d=c}if(!e(this.yk&&this.yk.If||[],g)||!e(this.yk&&this.yk.JN()||[],d)){if(this.yk){this.yk.dispose();this.yk=r}if(g.length>0)this.yk=new f(this.j,this.Pc,g,d,this.ua.bind(this))}if(!e(this.$q&&this.$q.If||[],u)||!e(this.$q&&this.$q.JN()||[],n)){if(this.$q){this.$q.dispose();this.$q=r}if(u.length>0)this.$q=new j(this.j,this.Pc,u,n,this.ua.bind(this))}};b.prototype.TIa=
function(){(this.j&&this.j.get("animations")||[]).forEach(function(a){a.set("state",g.M);a.set("currentTime",0)});this.PQ.clear()};b.prototype.ua=function(){if(!this.Df){this.Df=m;this.k.P.nb()}};b.rc=function(a){a.B(c.rs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(c.rs);b.manager.dispose();b.manager=r;a.fa(c.rs)};b.update=function(a){a.getComponent(c.rs).manager.update()};b.frame=function(a,b,f){a.getComponent(c.rs).manager.frame(b,f)};return b});
define("mu",["require","kL","kV","fm","B"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("B"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.gqa.entities.length&&this.gqa.entities.slice().forEach(g.rc);this.animations.Oa.length&&this.animations.Oa.slice().forEach(function(f){g.update(f,a,b)});this.animations.entities.length&&this.animations.entities.slice().forEach(function(f){g.frame(f,a,b)});this.hqa.entities.length&&this.hqa.entities.slice().forEach(g.Gb)};
a.A={};a.A.gqa=[d.tv,d.rs.not];a.A.hqa=[d.tv.not,d.rs];a.A.animations=[d.tv,d.rs];return a});
define("eN",["require"],function(){function a(a,g,i){var i=i||2,n=g&&g.length,k=n?g[0]*i:a.length,o=b(a,0,k,i,m),t=[];if(!o||o.next===o.prev)return t;var s,u,w,I;if(n){I=o;var A=i,o=[],N,H,C,n=0;for(N=g.length;n<N;n++){H=g[n]*A;C=n<N-1?g[n+1]*A:a.length;H=b(a,H,C,A,B);H===H.next&&(H.zva=m);var M=C=H;do{if(C.x<M.x||C.x===M.x&&C.y<M.y)M=C;C=C.next}while(C!==H);o.push(M)}o.sort(c);for(n=0;n<o.length;n++){g=o[n];b:{A=I;N=g.x;H=g.y;C=-Infinity;M=l;do{if(H<=A.y&&H>=A.next.y&&A.next.y!==A.y){var O=A.x+(H-
A.y)*(A.next.x-A.x)/(A.next.y-A.y);if(O<=N&&O>C&&(C=O,M=A.x<A.next.x?A:A.next,O===N)){A=M;break b}}A=A.next}while(A!==I);if(M){var O=M,U=M.x,Q=M.y,V=Infinity,P=l,A=M;do{if(N>=A.x&&A.x>=U&&N!==A.x&&f(H<Q?N:C,H,U,Q,H<Q?C:N,H,A.x,A.y))if(P=Math.abs(H-A.y)/(N-A.x),p(A,g)&&(P<V||P===V&&(A.x>M.x||A.x===M.x&&0>j(M.prev,M,A.prev)&&0>j(A.next,M,M.next))))M=A,V=P;A=A.next}while(A!==O);A=M}else A=r}A&&(I=q(A,g),e(I,I.next),I=e(A,A.next))}o=I}if(a.length>80*i){s=w=a[0];u=n=a[1];for(A=i;A<k;A+=i)I=a[A],g=a[A+
1],I<s&&(s=I),g<u&&(u=g),I>w&&(w=I),g>n&&(n=g);w=Math.max(w-s,n-u);w=0!==w?32767/w:0}d(o,t,i,s,u,w,0);return t}function b(a,b,c,f,d){var e;if(d===0<w(a,b,c,f))for(d=b;d<c;d+=f)e=t(d,a[d],a[d+1],e);else for(d=c-f;d>=b;d-=f)e=t(d,a[d],a[d+1],e);e&&n(e,e.next)&&(s(e),e=e.next);return e}function e(a,b){if(!a)return a;b||(b=a);var c=a,f;do if(f=B,!c.zva&&(n(c,c.next)||0===j(c.prev,c,c.next))){s(c);c=b=c.prev;if(c===c.next)break;f=m}else c=c.next;while(f||c!==b);return b}function d(a,b,c,o,t,u,w){if(a){if(!w&&
u){var J=a,z=J;do 0===z.z&&(z.z=i(z.x,z.y,o,t,u)),z.cq=z.prev,z=z.zl=z.next;while(z!==J);z.cq.zl=r;z.cq=r;var J=z,K,I,A,N,H,C,M=1;do{z=J;A=J=r;for(N=0;z;){N++;I=z;for(K=H=0;K<M&&!(H++,I=I.zl,!I);K++);for(C=M;0<H||0<C&&I;)0!==H&&(0===C||!I||z.z<=I.z)?(K=z,z=z.zl,H--):(K=I,I=I.zl,C--),A?A.zl=K:J=K,K.cq=A,A=K;z=I}A.zl=r;M*=2}while(1<N)}for(J=a;a.prev!==a.next;){z=a.prev;I=a.next;if(u)A=g(a,o,t,u);else a:{A=a.prev;var O=a.next;if(0<=j(A,a,O))A=B;else{N=A.x;H=a.x;M=O.x;K=A.y;C=a.y;for(var U=O.y,Q=N<H?
N<M?N:M:H<M?H:M,V=K<C?K<U?K:U:C<U?C:U,P=N>H?N>M?N:M:H>M?H:M,W=K>C?K>U?K:U:C>U?C:U,O=O.next;O!==A;){if(O.x>=Q&&O.x<=P&&O.y>=V&&O.y<=W&&f(N,K,H,C,M,U,O.x,O.y)&&0<=j(O.prev,O,O.next)){A=B;break a}O=O.next}A=m}}if(A)b.push(z.ng/c|0),b.push(a.ng/c|0),b.push(I.ng/c|0),s(a),J=a=I.next;else if(a=I,a===J){if(w)if(1===w){a=e(a);w=b;J=c;z=a;do I=z.prev,A=z.next.next,!n(I,A)&&k(I,z,z.next,A)&&p(I,A)&&p(A,I)&&(w.push(I.ng/J|0),w.push(z.ng/J|0),w.push(A.ng/J|0),s(z),s(z.next),z=a=A),z=z.next;while(z!==a);a=e(z);
d(a,b,c,o,t,u,2)}else{if(2===w)a:{w=a;do{for(J=w.next.next;J!==w.prev;){if(z=w.ng!==J.ng){z=w;I=J;A=l;if(A=z.next.ng!==I.ng)if(A=l,A=z.prev.ng!==I.ng){A=A=l;b:{A=z;do{if(A.ng!==z.ng&&A.next.ng!==z.ng&&A.ng!==I.ng&&A.next.ng!==I.ng&&k(A,A.next,z,I)){A=m;break b}A=A.next}while(A!==z);A=B}if(A=!A){A=l;if(A=p(z,I))if(A=l,A=p(I,z)){A=z;N=B;H=(z.x+I.x)/2;M=(z.y+I.y)/2;do A.y>M!==A.next.y>M&&A.next.y!==A.y&&H<(A.next.x-A.x)*(M-A.y)/(A.next.y-A.y)+A.x&&(N=!N),A=A.next;while(A!==z);A=N&&(j(z.prev,z,I.prev)||
j(z,I.prev,I))}A=A||n(z,I)&&0<j(z.prev,z,z.next)&&0<j(I.prev,I,I.next)}}z=A}if(z){a=q(w,J);w=e(w,w.next);a=e(a,a.next);d(w,b,c,o,t,u,0);d(a,b,c,o,t,u,0);break a}J=J.next}w=w.next}while(w!==a)}}else d(e(a),b,c,o,t,u,1);break}}}}function g(a,b,c,d){var e=a.prev,g=a.next;if(0<=j(e,a,g))return B;for(var n=e.x,k=a.x,o=g.x,q=e.y,p=a.y,t=g.y,u=n<k?n<o?n:o:k<o?k:o,s=q<p?q<t?q:t:p<t?p:t,w=n>k?n>o?n:o:k>o?k:o,M=q>p?q>t?q:t:p>t?p:t,O=i(u,s,b,c,d),b=i(w,M,b,c,d),c=a.cq,a=a.zl;c&&c.z>=O&&a&&a.z<=b;){if(c.x>=u&&
c.x<=w&&c.y>=s&&c.y<=M&&c!==e&&c!==g&&f(n,q,k,p,o,t,c.x,c.y)&&0<=j(c.prev,c,c.next))return B;c=c.cq;if(a.x>=u&&a.x<=w&&a.y>=s&&a.y<=M&&a!==e&&a!==g&&f(n,q,k,p,o,t,a.x,a.y)&&0<=j(a.prev,a,a.next))return B;a=a.zl}for(;c&&c.z>=O;){if(c.x>=u&&c.x<=w&&c.y>=s&&c.y<=M&&c!==e&&c!==g&&f(n,q,k,p,o,t,c.x,c.y)&&0<=j(c.prev,c,c.next))return B;c=c.cq}for(;a&&a.z<=b;){if(a.x>=u&&a.x<=w&&a.y>=s&&a.y<=M&&a!==e&&a!==g&&f(n,q,k,p,o,t,a.x,a.y)&&0<=j(a.prev,a,a.next))return B;a=a.zl}return m}function c(a,b){return a.x-
b.x}function i(a,b,c,f,d){a=(a-c)*d|0;b=(b-f)*d|0;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function f(a,b,c,f,d,e,j,g){return(d-j)*(b-g)>=(a-j)*(e-g)&&(a-j)*(f-g)>=(c-j)*(b-g)&&(c-j)*(e-g)>=(d-j)*(f-g)}function j(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)}function n(a,b){return a.x===b.x&&a.y===b.y}function k(a,b,c,f){var d=0<j(a,b,c)?1:0>j(a,b,c)?-1:0,e=
0<j(a,b,f)?1:0>j(a,b,f)?-1:0,g=0<j(c,f,a)?1:0>j(c,f,a)?-1:0,i=0<j(c,f,b)?1:0>j(c,f,b)?-1:0;return d!==e&&g!==i||0===d&&o(a,c,b)||0===e&&o(a,f,b)||0===g&&o(c,a,f)||0===i&&o(c,b,f)?m:B}function o(a,b,c){return b.x<=Math.max(a.x,c.x)&&b.x>=Math.min(a.x,c.x)&&b.y<=Math.max(a.y,c.y)&&b.y>=Math.min(a.y,c.y)}function p(a,b){return 0>j(a.prev,a,a.next)?0<=j(a,b,a.next)&&0<=j(a,a.prev,b):0>j(a,b,a.prev)||0>j(a,a.next,b)}function q(a,b){var c=new u(a.ng,a.x,a.y),f=new u(b.ng,b.x,b.y),d=a.next,e=b.prev;a.next=
b;b.prev=a;c.next=d;d.prev=c;f.next=c;c.prev=f;e.next=f;f.prev=e;return f}function t(a,b,c,f){a=new u(a,b,c);f?(a.next=f.next,a.prev=f,f.next.prev=a,f.next=a):(a.prev=a,a.next=a);return a}function s(a){a.next.prev=a.prev;a.prev.next=a.next;a.cq&&(a.cq.zl=a.zl);a.zl&&(a.zl.cq=a.cq)}function u(a,b,c){this.ng=a;this.x=b;this.y=c;this.next=this.prev=r;this.z=0;this.zl=this.cq=r;this.zva=B}function w(a,b,c,f){for(var d=0,e=c-f;b<c;b+=f)d+=(a[e]-a[b])*(a[b+1]+a[e+1]),e=b;return d}a.GVa=function(a,b,c,f){var d=
b&&b.length,e=Math.abs(w(a,0,d?b[0]*c:a.length,c));if(d)for(var d=0,j=b.length;d<j;d++)e-=Math.abs(w(a,b[d]*c,d<j-1?b[d+1]*c:a.length,c));for(d=b=0;d<f.length;d+=3)var j=f[d]*c,g=f[d+1]*c,i=f[d+2]*c,b=b+Math.abs((a[j]-a[i])*(a[g+1]-a[j+1])-(a[j]-a[g])*(a[i+1]-a[j+1]));return 0===e&&0===b?0:Math.abs((b-e)/e)};return a});
define("n","require,kL,nV,eN,kV,fm,ch".split(","),function(a){function b(a){for(var b=[],c=0;c<a;c++)b.push(0);return b}var e=a("kL"),d=a("nV"),g=a("eN"),c=a("kV"),i=a("fm"),f=a("ch"),a=e.extend(c,function(){c.apply(this,arguments);this.Xe=this.Xe.bind(this);this.uf=this.uf.bind(this);this.jd=this.jd.bind(this);this.ZX=this.ZX.bind(this)});a.prototype.execute=function(){this.jqa.entities.length&&this.jqa.entities.slice().forEach(this.Xe);this.iqa.Oa.length&&this.fUa(this.iqa.Oa.slice());this.areas.Oa.length&&
this.areas.Oa.slice().forEach(this.uf);this.kqa.entities.length&&this.kqa.entities.slice().forEach(this.jd);this.lqa.entities.length&&this.lqa.entities.slice().forEach(this.jd)};a.prototype.Xe=function(a){a.B(i.vv);this.uf(a)};a.prototype.uf=function(a){this.hUa(a);this.ewa(a)};a.prototype.fUa=function(a){var b=[];a.forEach(function(a){a.getComponent(i.Iy).WV.forEach(function(a){b.indexOf(a)===-1&&b.push(a)})});b.forEach(this.ZX)};a.prototype.hUa=function(a){this.jUa(a);this.ZX(a)};a.prototype.jUa=
function(a){var b=a.getComponent(i.Gl),c=b&&b.entities||[],f=(b=a.getComponent(i.vv))&&b.entities||[];f.forEach(function(a){if(c.indexOf(a)===-1){var b=a.getComponent(i.Iy).WV.filter(function(a){return a!==a});b.length==0?a.fa(i.Iy):a.D(i.Iy).WV=b}});c.forEach(function(b){f.indexOf(b)===-1&&b.D(i.Iy,m).WV.push(a)})};var j=new THREE.Matrix4,n=[];a.prototype.ZX=function(a){for(var b=a.getComponent(i.Gl),b=b&&b.entities||[];n.length<b.length;)n.push(new THREE.Vector3);var c=b.map(function(a,b){return a.getComponent(i.Object3D).Rc.getWorldPosition(n[b])}),
c=c.filter(function(a,b){return a.distanceTo(c[(b+1)%c.length])>1.0E-4}),b=this.LPa(c);if(b.length===0){this.Zfa(a);this.Aoa(a,l)}else{this.RJa(a,b.length*3);this.kUa(a,n,b);j.copy(a.getComponent(i.Object3D).Rc.matrixWorld).invert();n.forEach(function(a){a.applyMatrix4(j)});for(var a=a.getComponent(i.Geometry),f=a.geometry.attributes.position.array,d=0,e=0;d<b.length;){var g=n[b[d++]];f[e++]=g.x;f[e++]=g.y;f[e++]=g.z;g=n[b[d++]];f[e++]=g.x;f[e++]=g.y;f[e++]=g.z;g=n[b[d++]];f[e++]=g.x;f[e++]=g.y;f[e++]=
g.z}a.geometry.attributes.position.needsUpdate=m}};var k=new THREE.Plane,o=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Vector3,t=new THREE.Line3,s=new THREE.Vector3,u=new THREE.Vector3,w=new THREE.Vector3,v=new THREE.Vector3,x=new THREE.Vector3,y=5*Math.PI/180;a.prototype.LPa=function(a){if(a.length<3)return[];var b,c,f;b=a[0];for(var d=Number.NEGATIVE_INFINITY,e=1;e<a.length;++e){var j=b.distanceToSquared(a[e]);if(!(j<=d)){d=j;c=a[e]}}if(d<=0)return[];t.set(b,c);d=Number.NEGATIVE_INFINITY;
for(e=0;e<a.length;++e){j=t.closestPointToPoint(a[e],m,s).distanceToSquared(a[e]);if(!(j<=d)){d=j;f=a[e]}}if(d<=0)return[];k.setFromCoplanarPoints(b,c,f);for(e=0;e<a.length;++e){d=a[e];if(!(d===b||d===c||d===f)){u.copy(b).sub(d).normalize();w.copy(c).sub(d).normalize();v.copy(f).sub(d).normalize();var d=u.dot(w),j=u.dot(v),i=w.dot(v);d<j&&d<i?x.copy(u).cross(w):j<i?x.copy(u).cross(v):x.copy(w).cross(v);x.normalize();d=Math.abs(Math.acos(x.dot(k.normal)));d>Math.PI*0.5&&(d=Math.PI-d);if(d>y)return[]}}p.copy(a[1]).sub(a[0]).normalize();
q.copy(k.normal).cross(p).normalize();b=[];for(e=0;e<a.length;++e){k.projectPoint(a[e],o);b.push(o.dot(p),o.dot(q))}return g(b,r,2)};var E=new THREE.Vector3,D=new THREE.Vector3,F=new THREE.Vector3,L=new THREE.Vector3,J=new THREE.Vector3,z=new THREE.Vector3,K=new THREE.Vector3;a.prototype.kUa=function(a,b,c){var d=0;E.set(0,0,0);for(var e=0;e<c.length;){F.copy(b[c[e++]]);L.copy(b[c[e++]]);J.copy(b[c[e++]]);D.copy(F).add(L).add(J).divideScalar(3);var j=K.subVectors(J,F).cross(z.subVectors(L,F)).length()*
0.5;D.multiplyScalar(j);E.add(D);d=d+j}E.divideScalar(d);b=a.D(i.ta,m);b.we=E.x;b.ae=E.y;b.tf=E.z;f.EX(a,b);this.Aoa(a,d)};a.prototype.Aoa=function(a,b){var c=a.D(i.Gl);(c=c&&c.Ga)&&c.trigger(d.ra,{area:b})};a.prototype.ewa=function(a){var b=a.getComponent(i.Object3D);if(b=b&&b.Rc){var c=a.getComponent(i.Material).material;if(c&&b.material!=c){b.material=c;b.needsUpdate=m}b.renderOrder=a.getComponent(i.Gl).renderOrder}};a.prototype.Zfa=function(a){var b=a.getComponent(i.Geometry);if(b){b.geometry&&
b.geometry.dispose();a.fa(i.Geometry);a.getComponent(i.Object3D).Rc.geometry=r}if(b=a.getComponent(i.Object3D)){b.Rc&&b.Rc.parent&&b.Rc.parent.remove(b.Rc);a.fa(i.Object3D)}};a.prototype.RJa=function(a,b){var c=a.getComponent(i.Geometry);if(!c||!c.geometry||c.geometry.attributes.position.array.length!==b*3){c=a.D(i.Geometry,m);c.geometry&&c.geometry.dispose();c.geometry=this.fBa(b);var f=a.getComponent(i.Object3D);if(!f){f=a.B(i.Object3D);f.Rc=new THREE.Mesh;this.ewa(a)}f.Rc.geometry=c.geometry}};
a.prototype.fBa=function(a){var c=new THREE.BufferGeometry;c.setAttribute("position",new THREE.Float32BufferAttribute(b(a*3),3));return c};a.prototype.jd=function(a){this.Zfa(a);a.fa(i.vv);a.fa(i.Object3D)};a.A={};a.A.jqa=[i.Material,i.Gl,i.vv.not];a.A.iqa=[i.Object3D,i.ta,i.Iy];a.A.areas=[i.Gl,i.Material,i.vv];a.A.kqa=[i.Gl.not,i.vv];a.A.lqa=[i.Material.not,i.vv];return a});
define("mo","require,kL,nV,kV,fm,ch".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("kV"),g=a("fm"),c=a("ch"),a=b.extend(d,function(){d.apply(this,arguments);this.Taa=this.Taa.bind(this);this.SX=this.SX.bind(this);this.Saa=this.Saa.bind(this);this.RX=this.RX.bind(this);this.YV=new Map;this.Hta=new Map;this.XV=new Map;this.Ita=new Map});a.prototype.execute=function(){this.pqa.entities.length&&this.pqa.entities.slice().forEach(this.Taa);this.qqa.entities.length&&this.qqa.entities.slice().forEach(this.SX);
this.rqa.entities.length&&this.rqa.entities.slice().forEach(this.SX);this.sqa.entities.length&&this.sqa.entities.slice().forEach(this.Saa);this.tqa.entities.length&&this.tqa.entities.slice().forEach(this.RX);this.uqa.entities.length&&this.uqa.entities.slice().forEach(this.RX);this.frame()};a.A={};a.A.pqa=[g.Object3D,g.kq,g.ts.not];a.A.$Na=[g.Object3D,g.kq,g.ts];a.A.qqa=[g.Object3D.not,g.ts];a.A.rqa=[g.kq.not,g.ts];a.A.sqa=[g.Object3D,g.My,g.yv.not];a.A.tqa=[g.Object3D.not,g.yv];a.A.uqa=[g.My.not,
g.yv];a.prototype.frame=function(){this.$Na.entities.length!=0&&this.XV.forEach(function(a,b){var c=this.YV.get(b)||[];c.forEach(function(a){var b=a.getComponent(g.Object3D).Rc;a.getComponent(g.yv).position.set(0,0,0).applyMatrix4(b.matrixWorld)});a.forEach(function(a){var b=a.getComponent(g.Object3D).Rc;a.getComponent(g.ts).position.set(0,0,0).applyMatrix4(b.matrixWorld)});a.forEach(function(a){var b=a.getComponent(g.ts).position,a=a.getComponent(g.kq).Ga,f=c.map(function(a){return{entity:a,distance:b.distanceTo(a.getComponent(g.yv).position)}});
f.sort(function(a,b){return a.distance-b.distance});a.trigger(e.ra,{beacons:f})})}.bind(this))};a.prototype.Taa=function(a){a.B(g.ts).position=new THREE.Vector3;var b=c.Xb(a);this.Ita.set(a,b);(b=this.XV.get(a.P))||this.XV.set(a.P,b=[]);b.indexOf(a)<0&&b.push(a)};a.prototype.SX=function(a){var b=this.XV.get(a.P),c=b.indexOf(a);c>=0&&b.splice(c,1);this.Ita["delete"](a);a.fa(g.ts)};a.prototype.Saa=function(a){a.B(g.yv).position=new THREE.Vector3;var b=c.Xb(a);this.Hta.set(a,b);(b=this.YV.get(a.P))||
this.YV.set(a.P,b=[]);b.indexOf(a)<0&&b.push(a)};a.prototype.RX=function(a){var b=this.YV.get(a.P),c=b.indexOf(a);c>=0&&b.splice(c,1);this.Hta["delete"](a);a.fa(g.yv)};return a});define("ko",["require","u"],function(a){var b=a("u"),a={},e=180/Math.PI,d=Math.PI/180;a.sl=function(a,b,d){return this.SB(a,b,d)};a.ps=function(a,b,d){return this.SB(a,d,b)};a.SB=function(a,b,i){return 2*Math.atan(i*Math.tan(0.5*a*d)/b)*e};a.QVa=function(a){return b.browser()==b.NH?Math.max(a,20):a};return a});
define("hz","require,kL,kV,fm,ko,ch".split(","),function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("ko"),c=a("ch"),a=b.extend(e,function(){e.apply(this,arguments);this.Uaa=this.Uaa.bind(this);this.Vaa=this.Vaa.bind(this);this.$X=this.$X.bind(this);this.aY=this.aY.bind(this);this.dba=this.dba.bind(this);this.eba=this.eba.bind(this)});a.prototype.execute=function(){this.Qta.entities.length&&this.Qta.entities.slice().forEach(this.Uaa);this.Tta.entities.length&&this.Tta.entities.slice().forEach(this.Vaa);
this.tC.Oa.length&&this.tC.Oa.slice().forEach(this.$X);this.es.Oa.length&&this.es.Oa.slice().forEach(this.aY);this.Rta.entities.length&&this.Rta.entities.slice().forEach(this.dba);this.Uta.entities.length&&this.Uta.entities.slice().forEach(this.eba)};a.prototype.Uaa=function(a){var b=a.D(d.OrthographicCamera),c=a.B(d.Mv);a.B(d.Object3D).Rc=c.camera=b.camera=new THREE.OrthographicCamera;this.$X(a)};a.prototype.Vaa=function(a){var b=a.D(d.PerspectiveCamera),c=a.B(d.sq);a.B(d.Object3D).Rc=c.camera=b.camera=
new THREE.PerspectiveCamera;this.aY(a)};a.prototype.$X=function(a){var b=a.getComponent(d.OrthographicCamera),a=a.getComponent(d.Mv);a.width=b.width;a.height=b.height;a=a.camera;a.left=b.width*-0.5;a.right=b.width*0.5;a.top=b.height*0.5;a.bottom=b.height*-0.5;a.updateProjectionMatrix()};a.prototype.aY=function(a){var b=a.getComponent(d.PerspectiveCamera),a=a.getComponent(d.sq);a.width=b.width;a.height=b.height;a.fov=b.fov;a.near=b.near;a.far=b.far;a=a.camera;a.aspect=b.width/b.height;a.fov=b.width>
b.height?g.sl(b.fov,b.width,b.height):b.fov;a.near=b.near;a.far=b.far;c.nba(a);a.updateProjectionMatrix()};a.prototype.dba=function(a){var b=a.getComponent(d.Mv);b.camera.parent&&b.camera.parent.remove(b.camera);b.camera=r;a.fa(d.Mv);a.fa(d.Object3D)};a.prototype.eba=function(a){var b=a.getComponent(d.sq);b.camera.parent&&b.camera.parent.remove(b.camera);b.camera=r;a.fa(d.sq);a.fa(d.Object3D)};a.A={};a.A.Qta=[d.OrthographicCamera,d.Mv.not];a.A.Rta=[d.OrthographicCamera.not,d.Mv];a.A.Tta=[d.PerspectiveCamera,
d.sq.not];a.A.Uta=[d.PerspectiveCamera.not,d.sq];a.A.tC=[d.OrthographicCamera,d.Mv];a.A.es=[d.PerspectiveCamera,d.sq];a.RC=b.extend(e,function(){e.apply(this,arguments);this.T$=this.T$.bind(this)});a.RC.prototype.execute=function(){this.es.entities.length&&this.es.entities.slice().forEach(this.T$)};a.RC.prototype.T$=function(a){var b=a.getComponent(d.PerspectiveCamera);if(b.mqa){var e=a.getComponent(d.sq),j=e.scene||c.Yn(a),g=e.camera;if(j&&g){var n=Number.POSITIVE_INFINITY,w=Number.NEGATIVE_INFINITY;
if(e.boundingBox)e.S$=m;else{e.boundingBox=this.i0(j);e.S$=B}for(var j=e.boundingBox,j=[[j.min.x,j.max.x],[j.min.y,j.max.y],[j.min.z,j.max.z]],v=0;v<2;v++)for(var x=0;x<2;x++)for(var y=0;y<2;y++){k.set(j[0][v],j[1][x],j[2][y]).applyMatrix4(g.matrixWorldInverse);-k.z>w&&(w=-k.z);-k.z<n&&(n=-k.z)}j=Math.max(b.nqa||0,0);v=(n+w)*0.5;n=n+(n-v)*j;w=w+(w-v)*j;w=w==Infinity||isNaN(w)?2E3:w;n=n>0?n:w>20?0.1:0.01;if(Math.abs(b.near-n)>f||Math.abs(b.far-w)>f){g.far=e.far=b.far=w;g.near=e.near=b.near=n;c.nba(g);
c.bwa(g);g.updateProjectionMatrix()}if(!e.t9)e.t9=setTimeout(function(){e.boundingBox=r;e.t9=r;e.S$&&a.P&&a.P.nb()},i)}}};a.RC.prototype.i0=function(a){j.makeEmpty();a.traverse(function(a){if(a.geometry&&!a.isSprite){a.updateWorldMatrix(B,B);var b=a.geometry;b.boundingBox===r&&b.computeBoundingBox();n.copy(b.boundingBox);n.applyMatrix4(a.matrixWorld);j.union(n)}});return j};var i=500,f=1.0E-4,j=new THREE.Box3,n=new THREE.Box3,k=new THREE.Vector3;a.RC.A={};a.RC.A.es=[d.PerspectiveCamera,d.sq];return a});
define("bl",["require","exports"],function(){return{Aq:38,lq:40,Va:39,Ha:37,qs:65,MZ:90,uD:87,rD:83,WC:68,qD:81,E:69,Fwa:27}});
define("kz",["require"],function(){return{dVa:G(),eVa:G(),OR:function(){return this.ef&&this.ef.Psa()||this.j&&!this.j.get("keyboardEnabled")?m:B},Rw:function(){return this.ef&&this.ef.Psa()||this.j&&!this.j.get("mouseEnabled")?m:B},Yja:function(){!this.Pk&&!this.Bt&&this.Hpa()},Xja:function(){!this.Pk&&!this.Bt&&this.Gpa()},WS:function(){this.lia()||this.Hpa()},VS:function(){this.lia()||this.Gpa()},Hpa:function(){this.ef&&this.ef.Ey();this.j&&this.j.set("userInteracting",m)},Gpa:function(){this.ef&&
this.ef.pba();this.j&&this.j.set("userInteracting",B)}}});
define("nm",["require"],function(){function a(a){this.j=a;this.Vw=m}function b(a,b,c){if(b!==l)if(180<a)a=180;else{for(;-180>=a;)a+=360;a<b&&(a=b)}if(c!==l)if(-180>a)a=-180;else{for(;180<a;)a-=360;a>c&&(a=c)}return a}function e(a,b,c){isNaN(a)&&h("invalid value");b!==l&&a<b&&(a=b);c!==l&&a>c&&(a=c);return a}a.prototype.JSa=function(){this.Vw=B};a.prototype.xaa=function(a){this.j.set("fov",this.Vw?e(a,this.j.get("minFov",0.1),this.j.get("maxFov",180)):a)};a.prototype.Cl=function(a){this.j.set("yaw",
this.Vw?b(a,this.j.get("minYaw"),this.j.get("maxYaw")):a)};a.prototype.ks=function(a){this.j.set("pitch",this.Vw?e(a,this.j.get("minPitch",-90),this.j.get("maxPitch",90)):a)};a.prototype.setX=function(a){this.j.set("x",this.Vw?e(a,this.j.get("minX"),this.j.get("maxX")):a)};a.prototype.setY=function(a){this.j.set("y",this.Vw?e(a,this.j.get("minY"),this.j.get("maxY")):a)};a.prototype.setZ=function(a){this.j.set("z",this.Vw?e(a,this.j.get("minZ"),this.j.get("maxZ")):a)};a.prototype.CC=function(a){this.j.set("distance",
this.Vw?e(a,this.j.get("minDistance"),this.j.get("maxDistance")):a)};a.prototype.ji=function(a){this.j.set("easing",a)};return a});
define("dG","require,nV,kn,mR,fm,nm,nz,bD".split(","),function(a){function b(a,b,c){this.k=a;this.j=b;this.Fa=c;this.pa=new i(this.j);this.pa.JSa();this.lB=0;this.Uj=this.om=l;this.vm=B;this.xU(0);this.F1=this.YQ=this.E1=this.XQ=this.o=l;this.hc(d.M);this.Fa.bind(e.u("state"),this.cf,this,m);this.Fa.bind(e.u("movementIndex"),this.UA,this,m)}var e=a("nV"),d=a("kn"),g=a("mR"),c=a("fm"),i=a("nm"),f=a("nz"),j=a("bD");b.prototype.Ey=function(){if(!this.Fa.get("mandatory")){this.oQ();if(this.Fa.get("restartMovementOnUserInteraction")){if(this.o==
d.Q){this.rM();this.hc(d.Db,m)}}else this.o==d.Q&&this.hc(d.M)}};b.prototype.pba=function(){this.o==d.Db&&this.vm&&this.Fa.get("restartMovementOnUserInteraction")&&this.h7()};b.prototype.frame=function(a){if(this.o==d.Q){this.N.ub(a);this.EMa();this.pa.setX(this.N.fb("x"));this.pa.setY(this.N.fb("y"));this.pa.setZ(this.N.fb("z"));this.pa.Cl(this.N.fb("yaw"));this.pa.ks(this.N.fb("pitch"));this.pa.CC(this.N.fb("distance"));this.pa.xaa(this.N.fb("fov"));this.pa.ji(0);a=this.Fa.get("movements")[this.om];
a.set("position",this.N.pk());a.trigger(e.aD);if(this.N.Se()){a.trigger(e.hb);this.xU((this.om+1)%this.Fa.get("movements").length,m);if(this.om==0){this.lB++;this.Fa.trigger(e.uq);if(this.lB==this.Fa.get("repeat")){this.mma();this.hc(d.M);this.Fa.trigger(e.hb)}}}}};b.prototype.EMa=function(){var a=this.XQ!==l&&this.E1!==l,b=this.YQ!==l&&this.F1!==l;if(a||b){var f=this.k.getComponent(c.wb).Kb;if(f){var d=this.N.getTime(),e=this.N.Fi(),f=f.D(c.YO,m),a=a&&d<this.XQ?1-d/this.XQ:0,b=b&&e-d<this.YQ?1-(e-
d)/this.YQ:0;if(b>0||a>0)if(b>a){f.color=this.F1;f.opacity=b}else{f.color=this.E1;f.opacity=a}else{f.color="#000000";f.opacity=0}}}};b.prototype.mma=function(){var a=this.k.getComponent(c.wb);(a=a&&a.Kb)&&a.fa(c.YO)};b.prototype.dispose=function(){this.oQ();this.Fa.unbind(e.u("state"),this.cf,this,m);this.Fa.unbind(e.u("movementIndex"),this.UA,this,m);this.hc(d.M)};b.prototype.cf=function(){var a=this.Fa.get("state");this.o!=a&&(a==d.Db&&this.o==d.M?this.Fa.set("state",d.M):this.hc(a))};b.prototype.hc=
function(a,b){if(this.o!=a){this.o=a;if(this.o==d.Q){this.oQ();this.vm=B;this.mw();this.mQ()}else if(this.o==d.Db){this.vm=!!b;this.rM()}else if(this.o==d.M){this.vm=B;this.oQ();this.lB=0;var c=this.N.getTime(),f=this.N.Fi();c>0&&c<f&&this.mma();this.xU(0)}}this.Fa.set("state",this.o)};b.prototype.UA=function(){this.xU(this.Fa.get("movementIndex"))};b.prototype.xU=function(a,b){if(this.om!==a||b){this.om=a;this.mw();this.Fa.set("movementIndex",this.om);this.Fa.get("movements")[this.om].set("position",
0)}};b.prototype.h7=function(){this.eU=setTimeout(function(){this.eU=r;this.hc(d.Q)}.bind(this),this.Fa.get("restartMovementDelay"))};b.prototype.oQ=function(){if(this.eU){clearTimeout(this.eU);this.eU=r}};b.prototype.mw=function(a){var a=this.Fa.get("movements")[this.om],b=this.j.get("x",this.j.get("initialX",0)),c=this.j.get("y",this.j.get("initialY",0)),d=this.j.get("z",this.j.get("initialZ",0)),e=this.Zj(this.j.get("yaw",this.j.get("initialYaw",0)),-180,180),i=this.j.get("pitch",this.j.get("initialPitch",
0)),s=this.j.get("distance",0),u=this.j.get("fov",this.j.get("initialFov")),w,v,x,y,E,D,F;if(g.va("TargetModel3DCameraMovement",a)){w=a.get("targetX",b);v=a.get("targetY",c);x=a.get("targetZ",d);y=a.get("targetYaw",e);E=a.get("targetPitch",i);F=a.get("targetFov",u);D=a.get("targetDistance",s);switch(this.C1(a)){case "left":y=this.Zj(y,e-360,e);break;case "right":y=this.Zj(y,e,e+360);break;case "longest":y=this.Zj(y,e-180,e+180);y=y==e?e+360:y>=e?this.Zj(y,e-360,e):this.Zj(y,e,e+360);break;default:y=
this.Zj(y,e-180,e+180)}}else if(g.va("DistanceModel3DCameraMovement",a)){w=b+a.get("xDelta",0);v=c+a.get("yDelta",0);x=d+a.get("zDelta",0);y=e+a.get("yawDelta",0);E=i+a.get("pitchDelta",0);F=u+a.get("fovDelta",0);D=s+a.get("distanceDelta",0)}this.N=new f(a.get("easing"),[new j("x",b,w,a.get("xSpeed")),new j("y",c,v,a.get("ySpeed")),new j("z",d,x,a.get("zSpeed")),new j("yaw",e,y,a.get("yawSpeed")),new j("pitch",i,E,a.get("pitchSpeed")),new j("fov",u,F,a.get("fovSpeed")),new j("distance",s,D,a.get("distanceSpeed"))],
a.get("duration"));this.XQ=a.get("fadeFromDuration");this.E1=a.get("fadeFromColor");this.YQ=a.get("fadeToDuration");this.F1=a.get("fadeToColor")};b.prototype.mQ=function(){this.Uj=l};b.prototype.rM=function(){if(this.N){this.Uj=l;var a=this.N&&this.N.R9("yaw");if(a)if(a.Dy>a.from)this.Uj="right";else if(a.Dy<a.from)this.Uj="left"}};b.prototype.C1=function(a){a=a.get("yawPath");if(a=="longest"&&this.Uj)a=this.Uj;this.Uj=l;return a};b.prototype.Zj=function(a,b,c){for(;a<b;)a=a+(c-b);for(;a>c;)a=a-(c-
b);return a};return b});
define("jJ","require,jY,nV,kn,dG,ch".split(","),function(a){function b(a,b){this.k=a;this.j=b;this.qx=this.qx.bind(this);this.cf=this.cf.bind(this);this.uh=this.Vi=r;this.sr=[];this.ag=r;this.oj=B;this.kt=new Map;e.ea(this.j,["initialSequence","idleSequence","sequences.movements"],this.qx,m);e.ea(this.j,["state"],this.cf,m);this.vp=B}var e=a("jY"),d=a("nV"),g=a("kn"),c=a("dG"),i=a("ch");b.prototype.Psa=function(){return!!this.ag&&this.ag.get("mandatory")};b.prototype.Ey=function(){this.oj=m;this.dk();
this.ag&&this.kt.get(this.ag).Ey()};b.prototype.pba=function(){this.oj=B;this.ag&&this.kt.get(this.ag).pba();this.uh&&(!this.ag||this.ag==this.uh)&&this.Bp()};b.prototype.Bp=function(){if(!this.oj&&!this.pA&&this.uh&&!this.ag&&this.j.get("timeToIdle"))this.pA=setTimeout(function(){this.pA=r;this.DK()}.bind(this),this.j.get("timeToIdle"))};b.prototype.dk=function(){if(this.pA){clearTimeout(this.pA);this.pA=r}};b.prototype.DK=function(){this.uh&&this.uh.set("state",g.Q)};b.prototype.frame=function(a){if(!this.vp){var b=
i.Yn(this.k),c=0;b&&b.traverse(function(a){(a.isMesh||a.isSprite)&&c++});if(c>0){this.vp=m;this.lF()}else return}this.ag&&this.kt.get(this.ag).frame(a);(a=this.ag&&this.ag.get("state")==g.Q)&&this.k.P.nb();return a};b.prototype.lF=function(){this.Vi?this.Vi.set("state",g.Q):this.Bp()};b.prototype.dispose=function(){e.da(this.j,["initialSequence","idleSequence","sequences.movements"],this.qx);e.da(this.j,["state"],this.cf);this.dk();this.uh&&this.gE(this.uh);this.Vi&&this.gE(this.Vi);this.sr.forEach(this.gE.bind(this));
this.sr=r};b.prototype.cf=function(){if(this.ag)this.ag.set("state",this.j.get("state"));else if(this.j.get("state")==g.Q){this.Bp();this.pA||this.j.set("state",g.M)}else this.dk()};b.prototype.qx=function(){var a=this.r6(this.j.get("initialSequence"));if(this.Vi!=a){this.Vi&&this.gE(this.Vi);(this.Vi=a)&&this.z0(this.Vi)}a=this.r6(this.j.get("idleSequence"));if(this.uh!=a){this.uh&&this.gE(this.uh);(this.uh=a)&&this.z0(this.uh)}var b=(this.j.get("sequences")||[]).filter(this.r6.bind(this));this.sr.forEach(function(a){b.indexOf(a)<
0&&this.gE(a)}.bind(this));var c=this.sr;this.sr=b;this.sr.forEach(function(a){c.indexOf(a)<0&&this.z0(a)}.bind(this));!this.ag&&this.uh&&!this.pA&&this.Bp()};b.prototype.r6=function(a){var b=a&&a.get("movements");return!b||b.length==0?r:a};b.prototype.bla=function(a){var a=a.source,b=a.get("state");if(b==g.Q){this.dk();b=this.ag;this.ag=a;b&&b!=this.ag&&b.set("state",g.M);this.j.set("state",g.Q);this.k.P.nb()}else if(b==g.Db)a==this.ag&&this.j.set("state",g.Db);else if(b==g.M&&a==this.ag){this.j.set("state",
g.M);this.ag=r;a!=this.uh&&this.Bp()}};b.prototype.z0=function(a){if(this.kt.has(a))this.kt.get(a);else{a.set("state",g.M);a.bind(d.u("state"),this.bla,this,m);var b=new c(this.k,this.j,a);this.kt.set(a,b)}};b.prototype.gE=function(a){if(this.kt.has(a)){a.set("state",g.M);a.unbind(d.u("state"),this.bla,this,m);this.kt.get(a).dispose();this.kt["delete"](a)}};return b});
define("og",["require"],function(){return{C3:function(a){this.WR=this.WR.bind(this);this.XR=this.XR.bind(this);this.LI=this.Ci=B;this.pd={};for(var b=0;b<a.length;b++)this.pd[a[b]]=B;this.PJ=0;this.K=B;this.QJ(m)},D3:function(){this.QJ(B)},QJ:function(a){if(this.K!=a&&(this.K&&(document.removeEventListener("keyup",this.XR),document.removeEventListener("keydown",this.WR)),this.K=a))document.addEventListener("keyup",this.XR),document.addEventListener("keydown",this.WR)},lia:function(){return 0<this.PJ},
XR:function(a){if(!this.OR||!this.OR()){var b=B;this.Ci!=a.shiftKey&&(this.Ci=a.shiftKey,b=m);this.LI!=a.ctrlKey&&(this.LI=a.ctrlKey,b=m);this.pd[a.which]===m&&(this.pd[a.which]=B,b=m,this.eF&&this.eF(a.which),this.PJ--,0==this.PJ&&this.Xja&&this.Xja());b&&this.fF&&this.fF()}},WR:function(a){if(!this.OR||!this.OR()){var b=B;this.Ci!=a.shiftKey&&(this.Ci=a.shiftKey,b=m);this.LI!=a.ctrlKey&&(this.LI=a.ctrlKey,b=m);this.pd[a.which]===B&&(b=this.pd[a.which]=m,this.LGa&&this.LGa(a.which),this.PJ++,1==
this.PJ&&this.Yja&&this.Yja());b&&this.fF&&this.fF()}},lVa:S("Ci"),hVa:S("LI")}});
define("hB",["require","nV","bb"],function(a){function b(a){this.qc=a;this.Sc=[]}function e(){this.Zl=r;this.Fe=[]}function d(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.sqrt(c*c+d*d)}var g=a("nV"),c=a("bb"),i=180/Math.PI;e.prototype.fs=function(a){this.Zl&&(this.Zl.FRa(this),this.Zl=r);a&&(this.Zl=b.get(a),this.Zl.UNa(this))};e.prototype.dispose=function(){this.fs(r);this.Fe=r};e.prototype.push=function(a){this.Fe.push(a);this.Zl&&this.Zl.update()};e.prototype.pop=function(a){for(var b=this.Fe.length-
1;0<=b;b--)if(this.Fe[b]==a){this.Fe.splice(b,1);this.Zl&&this.Zl.update();break}};e.prototype.has=function(a){return 0<=this.Fe.indexOf(a)};e.prototype.top=function(){if(this.Fe.length)return this.Fe[this.Fe.length-1]};b.prototype.UNa=function(a){this.Sc.push(a);this.update()};b.prototype.FRa=function(a){this.Sc.splice(this.Sc.indexOf(a),1);this.update();0==this.Sc.length&&b.clear(this.qc)};b.prototype.update=function(){this.qc.set("cursor",this.Mha(c.uk)?c.uk:this.Mha(c.vf)?c.vf:this.Fp()||c.le)};
b.prototype.Mha=function(a){for(var b=this.Sc.length-1;0<=b;b--)if(this.Sc[b].has(a))return m;return B};b.prototype.Fp=function(){for(var a,b=this.Sc.length-1;0<=b&&a===l;b--)a=this.Sc[b].top();return a};b.Da=new Map;b.get=function(a){var c=b.Da.get(a);c||b.Da.set(a,c=new b(a));return c};b.clear=function(a){b.Da["delete"](a)};return{lK:function(){this.CF=this.he=r;this.HR=new e},mK:function(){this.TF(r);this.HR.dispose()},Wia:function(a){this.dG(a);if(!this.Rw||!this.Rw())this.Pk||(this.Pk=m,this.Bt||
this.WS&&this.WS()),this.uS=!a.originalEvent||!a.originalEvent.buttons||0===(a.originalEvent.buttons&2),this.CF=a,this.rm&&this.rm(a.x,a.y),this.US&&this.US(a.x,a.y)},kVa:S("Pk"),iVa:S("Bt"),jVa:S("uS"),Xia:function(a){this.dG(a);this.Sf&&this.Sf(a.x,a.y);if(this.Pk){var b=a.x-this.CF.x,c=a.y-this.CF.y;this.CF=a;this.jF&&this.jF(b,c,a.x,a.y)}},Yia:function(a){this.dG(a);if(this.Pk){var b=a.x-this.CF.x,c=a.y-this.CF.y;(0!=b||0!=c)&&this.jF&&this.jF(b,c,a.x,a.y);this.uS=this.Pk=B;this.br&&this.br(a.x,
a.y);this.TA&&this.TA();this.Bt||this.VS&&this.VS()}},Ria:function(a){this.dG(a);this.jx&&this.jx(a.x,a.y)},Sia:function(a){this.dG(a);this.TS&&this.TS(a.x,a.y)},Zia:function(a){this.dG(a);if(!this.Rw||!this.Rw())a=a.eW/10,this.XS&&this.XS(a)},Via:function(a){this.Rw&&this.Rw()||2>a.touches.length||(this.Bt||(this.Bt=m,this.kGa(a.touches),this.Pk||this.WS&&this.WS()),this.Rja&&this.Rja())},Tia:function(a){this.Rw&&this.Rw()||2>a.touches.length||!this.Bt||(this.$ia(a.touches),this.Qja&&this.Qja(this.MLa,
this.NLa,this.G7),this.C4&&this.C4(this.g3,this.h3,this.EM,this.FM,1,this.G7,this.DJ,this.F7,this.f3,this.E7))},Uia:function(){this.Bt&&(this.Bt=B,this.IS&&this.IS());this.Pk||this.VS&&this.VS()},kGa:function(a){this.f3=this.h3=this.g3=this.DJ=this.G7=this.FM=this.EM=this.F7=this.E7=l;this.DM=a;this.$ia(a)},$ia:function(a){d(a[0],this.DM[0])+d(a[1],this.DM[1])>d(a[0],this.DM[1])+d(a[1],this.DM[0])&&(a=[a[1],a[0]]);var b=Math.atan2(-(a[1].y-a[0].y),a[1].x-a[0].x)*i,c=d(a[0],a[1]),e=(a[0].x+a[1].x)/
2,g=(a[0].y+a[1].y)/2;this.G7=this.DJ!==l?c/this.DJ:1;this.E7=b;this.F7=c;this.MLa=this.EM!==l?e-this.EM:0;this.NLa=this.FM!==l?g-this.FM:0;this.EM=e;this.FM=g;this.g3!==l||(this.g3=this.EM);this.h3!==l||(this.h3=this.FM);this.f3!==l||(this.f3=this.E7);this.DJ!==l||(this.DJ=this.F7);this.DM=a},pJ:function(){return this.he?this.he.Ra():100},jA:function(){return this.he?this.he.yb():100},Dt:function(){return this.he?Math.max(this.he.Ra(),this.he.yb()):100},TF:function(a){if(this.he!=a&&(this.he&&(this.he.unbind(g.Hb,
this.Wia,this,m),this.he.unbind(g.Vc,this.Xia,this,m),this.he.unbind(g.ic,this.Yia,this,m),this.he.unbind(g.oa,this.Ria,this,m),this.he.unbind(g.vo,this.Sia,this,m),this.he.unbind(g.oq,this.Zia,this,m),this.he.unbind(g.eZ,this.Tia,this,m),this.he.unbind(g.fD,this.Via,this,m),this.he.unbind(g.dD,this.Uia,this,m)),this.he=a,this.HR.fs(this.he),this.he))this.he.bind(g.Hb,this.Wia,this,m),this.he.bind(g.Vc,this.Xia,this,m),this.he.bind(g.ic,this.Yia,this,m),this.he.bind(g.oa,this.Ria,this,m),this.he.bind(g.vo,
this.Sia,this,m),this.he.bind(g.oq,this.Zia,this,m),this.he.bind(g.eZ,this.Tia,this,m),this.he.bind(g.fD,this.Via,this,m),this.he.bind(g.dD,this.Uia,this,m)},pK:function(a){a.x=-1+2*a.x/this.pJ();a.y=1-2*a.y/this.jA();return a},dG:function(a){this.vc=a.x;this.wc=a.y;this.nK=a.pageX;this.oK=a.pageY},Fx:function(a){this.HR.push(a)},wL:function(a){this.HR.pop(a)}}});
define("cx",["require","ch"],function(a){var b=a("ch");return{o4:function(a){this.Vd={};this.Vd.Kb=a;this.Vd.Cy=r;this.Vd.propertyName=r;this.Vd.matrixWorld=new THREE.Matrix4;this.Vd.kX=B;this.Vd.timeout=r},p4:function(){this.r4(B);this.Vd.timeout&&clearTimeout(this.Vd.timeout)},n4:function(a,b){if(this.Vd.Cy!=a||this.Vd.propertyName!=b)this.Vd.Cy&&this.Vd.Cy.set(this.Vd.propertyName,B),this.Vd.Cy=a,this.Vd.propertyName=b,this.Vd.Cy&&this.Vd.Cy.set(this.Vd.propertyName,this.Vd.kX)},p8:function(){var a=
b.Xb(this.k),d=!!a&&!a.matrixWorld.equals(this.Vd.matrixWorld);d&&this.Vd.matrixWorld.copy(a.matrixWorld);this.r4(d);this.Vd.timeout&&(clearTimeout(this.Vd.timeout),this.Vd.timeout=r);d&&(this.Vd.timeout=setTimeout(function(){this.Vd.timeout=r;this.r4(B)}.bind(this),100))},r4:function(a){this.Vd.kX!=a&&(this.Vd.kX=a,this.Vd.Cy&&this.Vd.Cy.set(this.Vd.propertyName,this.Vd.kX))}}});
define("dF","require,kL,nV,bl,ko,ch,fm,kz,nm,jJ,og,hB,cx,bb".split(","),function(a){function b(a){this.k=a;this.C3(t);this.lK();this.o4(a);this.cG=0.025;this.bj=0.25;this.Pha=1;this.eg=this.Qf=this.dg=this.Uh=this.Th=0;this.jj=[];this.pa=this.ef=r;this.Fx(q.cz);this.update()}var e=a("kL"),d=a("nV"),g=a("bl");a("ko");var c=a("ch"),i=a("fm"),f=a("kz"),j=a("nm"),n=a("jJ"),k=a("og"),o=a("hB"),p=a("cx"),q=a("bb");e.RB(b,[f,k,o,p]);b.prototype.update=function(){var a=this.k.getComponent(i.bD);this.gl(a&&
a.Cb);this.n4(a&&a.Cb,"moving");var b=F.indexOf(this.k.P)==-1&&a.enabled;this.TF(a&&(b?a.Qp:r));this.QJ(!!a&&b&&a.ds);b||this.TA();if(!b||!a.ds)this.Uh=this.Th=this.dg=this.Qf=this.eg=0};b.prototype.frame=function(a){if(this.Uh||this.Th||this.dg||this.Qf||this.eg){var b=a/1E3;this.qK(this.dg*a/1E3,this.Qf*b,this.eg*b,this.Uh*b,this.Th*b)}this.p8()};b.prototype.fF=function(){var a=!(!this.dg&&!this.Qf&&!this.eg);this.Uh=this.Th=this.eg=this.Qf=this.dg=0;var b=this.pd[g.qs]?1:this.pd[g.WC]?-1:0,c=this.pd[g.uD]?
1:this.pd[g.rD]?-1:0,d=this.pd[g.qD]?1:this.pd[g.E]?-1:0,f=this.pd[g.Aq]?1:this.pd[g.lq]?-1:0,e=this.pd[g.Ha]?1:this.pd[g.Va]?-1:0;if(b||c||d||f||e){var j=this.Ci?0.2:1;if(b)this.dg=-b*j*this.j.get("translationSpeed");if(d)this.Qf=-d*j*this.j.get("translationSpeed");if(c)this.eg=-c*j*this.j.get("translationSpeed");if(e)this.Uh=-e*j*100*this.j.get("rotationSpeed");if(f)this.Th=f*j*100*this.j.get("rotationSpeed");this.k.P.nb();b=!(!this.dg&&!this.Qf&&!this.eg);!a&&b&&this.HMa()}};b.prototype.US=function(){this.Ph=
m;this.Fx(q.uk)};b.prototype.jF=function(a,b){if(this.Ph){var c=(a*a+b*b)/2500,c=c>1?1/Math.sqrt(c):1,b=b*c,c=-(a*c)*360/this.pJ()*this.j.get("rotationSpeed"),d=b*180/this.jA()*this.j.get("rotationSpeed");this.pa.Cl(this.j.get("yaw")+c);this.pa.ks(this.j.get("pitch")+d);this.pa.ji(this.bj);this.k.P.nb()}};b.prototype.TA=function(){this.Ph=B;this.wL(q.uk);this.k.P.nb()};b.prototype.XS=G();b.prototype.C4=G();b.prototype.IS=G();b.prototype.TS=G();b.prototype.gl=function(a){if(this.j!=a){if(this.j){if(this.ef){this.ef.dispose();
this.ef=r}this.pa=r;s.forEach(function(a){this.j.unbind(d.u(a),this.Hm,this,B)}.bind(this));u.forEach(function(a){this.j.unbind(d.u(a),this.gk,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.pa=new j(this.j);this.EJ();s.forEach(function(a){this.j.bind(d.u(a),this.Hm,this,B)}.bind(this));u.forEach(function(a){this.j.bind(d.u(a),this.gk,this,B)}.bind(this));this.Hm();this.gk();this.ef=new n(this.k,this.j);this.j.set("userInteracting",B)}}};b.prototype.EJ=function(){if(this.j){this.j.set("fov",
this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"))}};b.prototype.Hm=function(){if(this.k&&this.j){var a=this.k.D(i.ta,m);a.Yg=this.j.get("x");a.Ig=this.j.get("y");a.Zf=this.j.get("z");a.xe=-this.j.get("yaw");a.Te=this.j.get("pitch");a.Ue=0;a.pg="YXZ";a.we=0;a.ae=0;a.tf=this.j.get("distance");a.AN=this.j.get("easing");
(this.j.get("minHeight")!==l||this.j.get("keepHeight"))&&this.B8()}};b.prototype.gk=function(){if(this.k&&this.j)this.k.D(i.PerspectiveCamera,m).fov=this.j.get("fov")};b.prototype.qK=function(a,b,c,d,f){var e=this.k.getComponent(i.ta);if(e){v.makeRotationFromEuler(E.set(0,e.xe*w,0,e.pg));x.set(a,b,c).applyMatrix4(v).multiplyScalar(this.Pha);this.pa.setX(this.j.get("x")+x.x);this.pa.setY(this.j.get("y")+x.y);this.pa.setZ(this.j.get("z")+x.z);this.pa.Cl(this.j.get("yaw")+d);this.pa.ks(this.j.get("pitch")+
f);this.pa.ji(this.bj)}};b.prototype.HMa=function(){var a=this.lR();if(a>0)this.Pha=a};b.prototype.lR=function(){if(this.j){this.gm(x);return this.w2(x.x,x.y,x.z)}};b.prototype.w2=function(a,b,c){var d=this.JE(x.set(a,b,c),y.set(0,-1,0));if(d.length>0)return d[0].distance;d=this.JE(x.set(a,b+1E3,c),y.set(0,-1,0));if(d.length>0)return d[d.length-1].distance-1E3};b.prototype.JE=function(a,b){D.ray.origin.copy(a);D.ray.direction.copy(b);return D.intersectObjects(this.Gw(),B)};b.prototype.IR=function(a,
b){D.setFromCamera(a,b);return D.intersectObjects(this.Gw(),B)};b.prototype.Gw=function(){var a=this.k&&c.Yn(this.k);if(!a)return[];var b=[];a.traverse(function(a){!a.isSprite&&!a.isLine&&b.push(a)});return b};b.prototype.gm=function(a){a.set(0,0,0);if(this.j){a.applyMatrix4(v.makeTranslation(0,0,this.j.get("distance")));a.applyMatrix4(v.makeRotationFromEuler(E.set(this.j.get("pitch")*w,-this.j.get("yaw")*w,0*w,"YXZ")));a.applyMatrix4(v.makeTranslation(this.j.get("x"),this.j.get("y"),this.j.get("z")))}};
var t=[g.Aq,g.lq,g.Ha,g.Va,g.qs,g.rD,g.WC,g.uD,g.qD,g.E],s=["minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minX","maxX","x","minY","maxY","y","minZ","maxZ","z","distance","easingSpeed"],u=["minFov","maxFov","fov"],w=Math.PI/180,v=new THREE.Matrix4,x=new THREE.Vector3(0,0,0),y=new THREE.Vector3(0,0,0),E=new THREE.Euler,D=new THREE.Raycaster;b.prototype.dispose=function(){this.gl(r);this.D3();this.mK();this.p4()};b.rc=function(a){a.B(i.ys).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(i.ys);
b.manager.dispose();b.manager=r;a.fa(i.ys)};b.update=function(a){a.getComponent(i.ys).manager.update()};b.frame=function(a,b,c){a.getComponent(i.ys).manager.frame(b,c)};var F=[];b.rO=function(a){F=[];a.forEach(function(a){F.indexOf(a.P)<0&&F.push(a.P)})};return b});
define("bV","require,kL,nV,bl,ko,ch,fm,kz,nm,jJ,og,hB,cx,bb,nz,bD".split(","),function(a){function b(a){this.k=a;this.C3(I);this.lK();this.o4(a);this.Fc=v;this.pp=this.rh=r;this.cG=0.025;this.bj=0.25;this.Ch=l;this.zB=1;this.eg=this.Qf=this.dg=this.Uh=this.Th=0;this.jj=[];this.vA=this.wA=this.xA=this.tA=this.sA=this.xw=this.si=this.wt=this.xt=this.zt=this.yt=this.vt=l;this.d3=1E3;this.wJ=l;this.DE=0;this.pa=this.ef=r;this.Fx(s.cz);this.update()}function e(a,b){var c=b-a;c>180?c=c-360:c<-180&&(c=c+
360);return c}function d(){return(new Date).getTime()}var g=a("kL"),c=a("nV"),i=a("bl");a("ko");var f=a("ch"),j=a("fm"),n=a("kz"),k=a("nm"),o=a("jJ"),p=a("og"),q=a("hB"),t=a("cx"),s=a("bb"),u=a("nz"),w=a("bD");g.RB(b,[n,p,q,t]);b.prototype.update=function(){var a=this.k.getComponent(j.cD);this.gl(a&&a.Cb);this.n4(a&&a.Cb,"moving");var b=Y.indexOf(this.k.P)==-1&&a.enabled;this.TF(a&&(b?a.Qp:r));this.QJ(!!a&&b&&a.ds);b||this.TA();if(!b||!a.ds)this.Uh=this.Th=this.dg=this.Qf=this.eg=0};b.prototype.frame=
function(a,b){this.ef&&this.ef.frame(a,b)&&this.yp();if(this.Lq){this.Lq.ub(a);this.pa.setX(this.Lq.fb("x"));this.pa.setY(this.Lq.fb("y"));this.pa.setZ(this.Lq.fb("z"));this.pa.CC(this.Lq.fb("distance"));this.pa.ji(0);if(this.Lq.Se())this.Lq=r}if(this.bg){this.bg=Math.max(0,this.bg-a/this.d3);this.pa.setX(this.j.get("x")+this.vA*this.bg);this.pa.setY(this.j.get("y")+this.wA*this.bg);this.pa.setZ(this.j.get("z")+this.xA*this.bg);this.pa.Cl(this.j.get("yaw")+this.tA*this.bg);this.pa.ks(this.j.get("pitch")+
this.sA*this.bg);this.pa.ji(0);this.k.P.nb();this.bg==0&&this.FL()}if(this.Uh||this.Th||this.dg||this.Qf||this.eg){var c=a/1E3;this.qK(this.dg*c,this.Qf*c,this.eg*c,this.Uh*c,this.Th*c)}if(this.Fc==v&&this.ek!==l&&!this.Qf&&this.j.get("keepHeight")&&this.wJ!==l&&Math.abs(this.ek-this.j.get("y"))>O){this.DE=Math.max(this.DE-a,0);var c=this.j.get("y"),d=this.ek-c,f=Math.min(a*this.wJ,Math.abs(d));this.pa.setY(c+f*(d>0?1:-1));this.k.P.nb()}if(this.Fc==v&&this.pp&&!this.bg&&!this.Lq){this.Mz();this.k.P.nb()}this.p8()};
b.prototype.fF=function(){this.h8()};b.prototype.h8=function(){var a=this.eg!=0||this.Qf!=0||this.dg!=0;this.Uh=this.Th=this.eg=this.Qf=this.dg=0;var b=this.pd[i.qs]?1:this.pd[i.WC]?-1:0,c=this.pd[i.uD]?1:this.pd[i.rD]?-1:0,d=this.pd[i.qD]?1:this.pd[i.E]?-1:0,f=this.pd[i.Aq]?1:this.pd[i.lq]?-1:0,e=this.pd[i.Ha]?1:this.pd[i.Va]?-1:0;if(f||e||b||c||d){var j=this.Ci?0.2:1;if(b)this.dg=-b*j*this.j.get("translationSpeed");if(d)this.Qf=-d*j*this.j.get("translationSpeed");if(c)this.eg=-c*j*this.j.get("translationSpeed");
if(e)this.Uh=-e*j*100*this.j.get("rotationSpeed");if(f)this.Th=f*j*100*this.j.get("rotationSpeed");this.Mz();this.k.P.nb();this.V5();this.ECa();b=this.eg!=0||this.Qf!=0||this.dg!=0;!a&&b&&this.FL()}};b.prototype.US=function(){this.Ph=m;if(!(this.Fc==MODE_ROTATING_YAW_GESTURE||this.Fc==MODE_ROTATION_PITCH_GESTURE||d()<this.Lga+500)){this.Fx(s.uk);this.Fc=v}};b.prototype.jF=function(a,b,c,f){if(this.Ph&&!(this.Fc==MODE_ROTATING_YAW_GESTURE||this.Fc==MODE_ROTATION_PITCH_GESTURE||d()<this.Lga+500)){var e=
(a*a+b*b)/2500,e=e>1?1/Math.sqrt(e):1,a=a*e,b=b*e,e=this.aEa();if(this.Fc!=e){this.Fc=e;this.Fc==x?this.NKa(c,f):this.Fc==y?this.Qna():this.Fc==E?this.$Ka():this.Fc==MODE_ROTATING_AROUND_CAMERA&&this.YKa()}else this.Fc!=v&&(this.Fc==x?this.BMa(a,b,c,f):this.Fc==y?this.bNa(a,b):this.Fc==E?this.dNa(a,b):this.Fc==MODE_ROTATING_AROUND_CAMERA&&this.aNa(a,b))}};b.prototype.TA=function(){this.wL(s.uk);this.Ph=B;if(this.Fc!=v){this.Fc=v;this.rh=r;this.Ona();this.V5();this.bia();this.k.P.nb()}};b.prototype.XS=
function(a){if(this.Fc!=D){this.Fc=D;this.VKa()}else this.OMa(a);this.i4&&clearTimeout(this.i4);this.i4=setTimeout(function(){this.i4=r;if(this.Fc==D){this.Fc=v;this.yp()}}.bind(this),1E3)};b.prototype.C4=function(a,b,c,d,f,j,g,i,n,k){if(this.Fc!=MODE_ROTATING_YAW_GESTURE&&this.Fc!=MODE_ROTATION_PITCH_GESTURE){a=Math.abs(j-f)>0.05;c=e(n,k)>5;b=Math.abs(d-b)>0.02*this.jA();n=Math.min(Math.abs(n),180-Math.abs(n),Math.abs(k),180-Math.abs(k))<10;g=g/this.Dt()<0.2;if((a||b)&&(n||g)){this.Fc=MODE_ROTATION_PITCH_GESTURE;
this.ZKa()}else if((c||a)&&(!n||!g)){this.Fc=MODE_ROTATING_YAW_GESTURE;this.aLa()}}else this.Fc==MODE_ROTATING_YAW_GESTURE?this.eNa(f,j,n,k):this.Fc==MODE_ROTATION_PITCH_GESTURE&&this.cNa(b,d,f,j)};b.prototype.IS=function(){this.rh=r;this.Fc==MODE_ROTATING_YAW_GESTURE&&this.Ona();this.Fc=v;this.Lga=d();this.V5();this.bia();this.k.P.nb()};b.prototype.TS=function(a,b){if(this.j.get("doubleClickAction")=="zoom"){var c=f.Yn(this.k),d=f.Xb(this.k);if(d&&c){P.set(a,b);this.pK(P);c=this.IR(P,d);if(c.length!=
0){this.yp();this.Mz();c=c[0].point;F.setFromMatrixPosition(d.matrixWorld);this.Lq=new u("quad_in_out",[new w("x",F.x,(c.x+F.x)*0.5),new w("y",F.y,(c.y+F.y)*0.5),new w("z",F.z,(c.z+F.z)*0.5),new w("distance",0,0)],500)}}}};b.prototype.aEa=function(){return this.uS?this.Ci?y:x:this.Pk?this.Ci?MODE_ROTATING_AROUND_CAMERA:E:v};b.prototype.NKa=function(a,b){this.JF();this.Mz();this.dza(a,b);this.j.get("keepHeight")&&this.ZU();this.k.P.nb()};b.prototype.BMa=function(a,b,c,d){var e=f.Xb(this.k);F.setFromMatrixPosition(e.matrixWorld);
if(this.rh){L.set(c,d,0);this.pK(L);L.unproject(e);if(Math.atan2(this.rh.y-F.y,Math.sqrt((this.rh.z-F.z)*(this.rh.z-F.z)+(this.rh.x-F.x)*(this.rh.x-F.x)))*M>-2){z.copy(this.rh).applyMatrix4(e.matrixWorldInverse);K.copy(L).applyMatrix4(e.matrixWorldInverse);a=z.z/K.z;J.copy(K).multiplyScalar(a).applyMatrix4(e.matrixWorld).sub(this.rh);J.y!=0&&this.yp()}else{a=(this.rh.y-F.y)/(L.y-F.y);J.copy(L).sub(F).multiplyScalar(a).add(F).sub(this.rh)}J.multiplyScalar(-1)}else{U.makeRotationFromEuler(W.set(0,-this.j.get("yaw")*
C,0,"YXZ"));Q.set(-a*this.j.get("translationSpeed")/this.Dt(),0,-b*this.j.get("translationSpeed")/this.Dt()).applyMatrix4(U);J.copy(Q).multiplyScalar(this.zB*10)}this.pa.setX(F.x+J.x);this.pa.setY(F.y+J.y);this.pa.setZ(F.z+J.z);this.mG(J.x,J.y,J.z,0,0);this.pa.ji(this.bj)};b.prototype.Qna=function(){this.JF();this.rh=r;this.z_();this.yp();this.k.P.nb()};b.prototype.bNa=function(a,b){var c;c||(c=1);var d=a*360/this.pJ()*this.j.get("rotationSpeed"),f=-b*180/this.jA()*this.j.get("rotationSpeed");this.pa.Cl(this.j.get("yaw")+
d);this.pa.ks(this.j.get("pitch")+f);this.pa.CC(this.m5/c);this.mG(0,0,0,d,f);this.pa.ji(this.bj);this.k.P.nb()};b.prototype.$Ka=function(){this.Qna()};b.prototype.dNa=function(a,b){var c=f.Xb(this.k),d=this.j.get("distance")||this.Ch||1,c=b*d*2*Math.tan(c.fov*C/2)/this.jA();c!=0&&this.yp();this.pa.setY(this.j.get("y")+c);d=a*360/this.pJ()*this.j.get("rotationSpeed");this.pa.Cl(this.j.get("yaw")+d);this.mG(0,c,0,d,0);this.pa.ji(this.bj)};b.prototype.YKa=function(){this.JF();this.Mz();this.yp();this.k.P.nb()};
b.prototype.aNa=function(a,b){var c=-a*360/this.pJ()*this.j.get("rotationSpeed"),d=b*180/this.jA()*this.j.get("rotationSpeed");this.pa.Cl(this.j.get("yaw")+c);this.pa.ks(this.j.get("pitch")+d);this.mG(0,0,0,c,d);this.pa.ji(this.bj);this.k.P.nb()};b.prototype.VKa=function(){this.yp();this.JF();this.rh=r;this.Mz();this.j.get("keepHeight")&&this.ZU();this.k.P.nb()};b.prototype.OMa=function(a){this.QJa(Q);Q.multiplyScalar(-a*this.j.get("translationSpeed")*(this.zB||1));this.Ch&&this.sea(this.Ch+Q.y);
this.pa.setX(this.j.get("x")+Q.x);this.pa.setY(this.j.get("y")+Q.y);this.pa.setZ(this.j.get("z")+Q.z);this.pa.ji(this.cG)};b.prototype.aLa=function(){this.JF();this.rh=r;this.z_();this.yp();this.k.P.nb();this.kr=l};b.prototype.eNa=function(a,b,c,d){this.kr!==l||(this.kr=c);c=e(this.kr,d);this.kr=d;this.pa.Cl(this.j.get("yaw")+c);this.pa.CC(this.m5*a/b);this.mG(0,0,0,c,0);this.pa.ji(this.bj);this.k.P.nb()};b.prototype.ZKa=function(){this.JF();this.rh=r;this.z_();this.yp();this.k.P.nb();this.RT=l};
b.prototype.cNa=function(a,b,c,d){this.RT!==l||(this.RT=a);a=-(b-this.RT)*180/this.jA();this.RT=b;this.pa.ks(this.j.get("pitch")+a);this.pa.CC(this.m5*c/d);this.mG(0,0,0,0,a);this.pa.ji(this.bj);this.k.P.nb()};b.prototype.dza=function(a,b){var c=f.Yn(this.k),d=f.Xb(this.k);this.rh=r;if(d&&c){P.set(a,b);this.pK(P);c=this.IR(P,d);if(c.length)this.rh=c[0].point}};b.prototype.z_=function(){this.pp=r;var a=f.Yn(this.k),b=f.Xb(this.k);if(b&&a){P.set(0,0);a=this.IR(P,b);if(a.length)this.pp=a[0].point;if(!this.pp)this.pp=
(new THREE.Vector3).setFromMatrixPosition(b.matrixWorld);this.j.set("distance",F.setFromMatrixPosition(b.matrixWorld).distanceTo(this.pp));this.m5=this.j.get("distance");this.j.set("x",this.pp.x);this.j.set("y",this.pp.y);this.j.set("z",this.pp.z);this.j.set("easing",0)}};b.prototype.Mz=function(){if(this.pp){this.pp=r;var a=f.Xb(this.k);F.setFromMatrixPosition(a.matrixWorld);this.j.set("distance",0);this.j.set("x",F.x);this.j.set("y",F.y);this.j.set("z",F.z);this.j.set("easing",0)}};var v="none",
x="dragging",y="rotating",E="rotating yaw dragging y",D="moving front";MODE_ROTATING_AROUND_CAMERA="rotating around camera";MODE_ROTATING_YAW_GESTURE="rotating yaw gesture";MODE_ROTATION_PITCH_GESTURE="rotating pitch gesture";var F=new THREE.Vector3,L=new THREE.Vector3,J=new THREE.Vector3,z=new THREE.Vector3,K=new THREE.Vector3;b.prototype.gl=function(a){if(this.j!=a){if(this.j){if(this.ef){this.ef.dispose();this.ef=r}this.pa=r;A.forEach(function(a){this.j.unbind(c.u(a),this.ipa,this,B)}.bind(this));
N.forEach(function(a){this.j.unbind(c.u(a),this.Hm,this,B)}.bind(this));H.forEach(function(a){this.j.unbind(c.u(a),this.gk,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.pa=new k(this.j);this.EJ();A.forEach(function(a){this.j.bind(c.u(a),this.ipa,this,B)}.bind(this));N.forEach(function(a){this.j.bind(c.u(a),this.Hm,this,B)}.bind(this));H.forEach(function(a){this.j.bind(c.u(a),this.gk,this,B)}.bind(this));this.Hm();this.gk();this.ef=new o(this.k,this.j);this.j.set("userInteracting",
B)}}};b.prototype.EJ=function(){if(this.j){this.j.set("fov",this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"))}};b.prototype.Hm=function(){if(this.k&&this.j){var a=this.k.D(j.ta,m);a.Yg=this.j.get("x");var b=this.j.get("y")-a.Ig;if(Math.abs(b)>O){a.Ig=this.j.get("y");this.Fc==v&&!this.dg&&!this.Qf&&!this.eg&&!this.Uh&&
!this.Th&&!this.Lq&&!this.bg&&this.yp()}a.Zf=this.j.get("z");a.xe=-this.j.get("yaw");a.Te=this.j.get("pitch");a.Ue=0;a.pg="YXZ";a.we=0;a.ae=0;a.tf=this.j.get("distance");a.AN=this.j.get("easing");(this.j.get("minHeight")!==l||this.j.get("keepHeight"))&&this.B8()}};b.prototype.gk=function(){if(this.k&&this.j)this.k.D(j.PerspectiveCamera,m).fov=this.j.get("fov")};b.prototype.qK=function(a,b,c,d,f){var e=this.k.getComponent(j.ta);if(e){U.makeRotationFromEuler(W.set(0,e.xe*C,0,e.pg));Q.set(a,b,c).applyMatrix4(U).multiplyScalar(this.zB);
if(this.Ch!==l){this.Ch=this.Ch+Q.y;this.FL()}this.pa.setX(this.j.get("x")+Q.x);this.pa.setY(this.j.get("y")+Q.y);this.pa.setZ(this.j.get("z")+Q.z);this.pa.Cl(this.j.get("yaw")+d);this.pa.ks(this.j.get("pitch")+f);this.pa.ji(this.bj)}};b.prototype.QJa=function(a){var b=this.k.getComponent(j.ta);if(b){U.makeRotationFromEuler(W.set(b.Te*C,b.xe*C,b.Ue*C,b.pg));a.set(0,0,1).applyMatrix4(U)}};b.prototype.JF=function(){this.xw=d();this.si=1;this.wt=this.xt=this.zt=this.yt=this.vt=0;this.bg=this.vA=this.wA=
this.xA=this.tA=this.sA=l};b.prototype.mG=function(a,b,c,f,e){var j=d();this.si=j-this.xw;this.xw=j;this.wt=a;this.xt=b;this.zt=c;this.yt=f;this.vt=e};b.prototype.Ona=function(){if(this.si){this.vA=this.wt/this.si;this.wA=this.xt/this.si;this.xA=this.zt/this.si;this.tA=this.yt/this.si;this.sA=this.vt/this.si;this.bg=1}};b.prototype.ipa=function(){if(this.j.get("minHeight")!==l){this.Ch===l&&this.ZU();if(this.Ch!==l&&this.Ch<this.j.get("minHeight"))this.Ch=this.j.get("minHeight");this.B8()}};b.prototype.yp=
function(){this.Ch=this.ek=l;if(this.GL){clearTimeout(this.GL);this.GL=r}};b.prototype.bia=function(){this.DE=2E3;this.wJ=l;this.k.P.nb()};b.prototype.ECa=function(){this.DE=0;this.wJ=Infinity;this.k.P.nb()};b.prototype.V5=function(){if(!(this.rh||this.Ch!==l)&&!this.GL)this.GL=setTimeout(function(){this.GL=r;this.ZU()}.bind(this),0)};b.prototype.ZU=function(){var a=this.lR();a!==l?this.sea(a):this.FL()};b.prototype.sea=function(a){var b=this.j.get("minHeight")||a;this.Ch=Math.max(a,b);this.FL();
this.ek=this.j.get("y")+this.Ch-a};b.prototype.FL=function(){if(this.Ch)this.zB=Math.min(10,Math.max(this.Ch||0,0.1));else{this.gm(Q);this.JDa(V);var a=this.JE(Q,V);this.zB=a.length?Q.distanceTo(a[0].point):Q.y-(this.j.get("minY")||0)}this.zB=Math.max(Math.abs(this.zB||0),0.1)};b.prototype.B8=function(){if(!(this.wpa||this.Ch===l))this.wpa=setTimeout(function(){this.wpa=r;var a=this.lR();if(a!==l&&this.Ch!==l){a=this.Ch-a;this.wJ=this.DE==0?Infinity:Math.abs(a/this.DE);this.ek=this.j.get("y")+a;a!==
0&&this.k.P.nb()}}.bind(this),0)};b.prototype.lR=function(){if(this.j){this.gm(Q);return this.w2(Q.x,Q.y,Q.z)}};b.prototype.w2=function(a,b,c){var d=this.JE(Q.set(a,b,c),V.set(0,-1,0));if(d.length>0)return d[0].distance;d=this.JE(Q.set(a,b+1E3,c),V.set(0,-1,0));if(d.length>0)return d[d.length-1].distance-1E3};b.prototype.JE=function(a,b){X.ray.origin.copy(a);X.ray.direction.copy(b);return X.intersectObjects(this.Gw(),B)};b.prototype.IR=function(a,b){X.setFromCamera(a,b);return X.intersectObjects(this.Gw(),
B)};b.prototype.Gw=function(){var a=this.k&&f.Yn(this.k);if(!a)return[];var b=[];a.traverse(function(a){!a.isSprite&&!a.isLine&&b.push(a)});return b};b.prototype.gm=function(a){a.set(0,0,0);if(this.j){a.applyMatrix4(U.makeTranslation(0,0,this.j.get("distance")));a.applyMatrix4(U.makeRotationFromEuler(W.set(this.j.get("pitch")*C,-this.j.get("yaw")*C,0*C,"YXZ")));a.applyMatrix4(U.makeTranslation(this.j.get("x"),this.j.get("y"),this.j.get("z")))}};b.prototype.JDa=function(a){if(this.j){U.makeRotationFromEuler(W.set(this.j.get("pitch")*
C,-this.j.get("yaw")*C,0,"YXZ"));a.set(0,0,-1).applyMatrix4(U)}else a.set(0,0,-1)};var I=[i.Aq,i.lq,i.Ha,i.Va,i.qs,i.rD,i.WC,i.uD,i.qD,i.E],A=["minHeight"],N=["minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minX","maxX","x","minY","maxY","y","minZ","maxZ","z","distance","easingSpeed"],H=["minFov","maxFov","fov"],C=Math.PI/180,M=180/Math.PI,O=1.0E-6,U=new THREE.Matrix4,Q=new THREE.Vector3(0,0,0),V=new THREE.Vector3(0,0,0),P=new THREE.Vector2(0,0),W=new THREE.Euler,X=new THREE.Raycaster;b.prototype.dispose=
function(){this.Mz();this.gl(r);this.D3();this.mK();this.p4()};b.rc=function(a){a.B(j.As).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(j.As);b.manager.dispose();b.manager=r;a.fa(j.As)};b.update=function(a){a.getComponent(j.As).manager.update()};b.frame=function(a,b,c){a.getComponent(j.As).manager.frame(b,c)};var Y=[];b.rO=function(a){Y=[];a.forEach(function(a){Y.indexOf(a.P)<0&&Y.push(a.P)})};return b});
define("hs","require,kL,nV,bl,fm,kz,nm,jJ,og,hB,cx,bb".split(","),function(a){function b(a){this.k=a;this.C3(w);this.lK();this.o4(a);this.ak=new THREE.Matrix4;this.cG=0.05;this.bj=0.25;this.dg=this.Qf=this.eg=this.Uh=this.Th=0;this.vA=this.wA=this.xA=this.tA=this.sA=this.xw=this.si=this.wt=this.xt=this.zt=this.yt=this.vt=l;this.d3=1E3;this.Dma=720;this.yoa=4;this.xia=720;this.E3=2;this.pa=this.ef=r;this.Fx(p.cz);this.update()}var e=a("kL"),d=a("nV"),g=a("bl"),c=a("fm"),i=a("kz"),f=a("nm"),j=a("jJ"),
n=a("og"),k=a("hB"),o=a("cx"),p=a("bb");e.RB(b,[i,n,k,o]);b.prototype.update=function(){var a=this.k.getComponent(c.oD);this.gl(a&&a.Cb);this.n4(a&&a.Cb,"moving");var b=y.indexOf(this.k.P)==-1&&a.enabled;this.TF(a&&(b?a.Qp:r));this.QJ(!!a&&b&&a.ds);b||this.TA();if(!b||!a.ds)this.Uh=this.Th=this.dg=this.Qf=this.eg=0};b.prototype.frame=function(a,b){this.ef&&this.ef.frame(a,b);if(this.bg){this.bg=Math.max(0,this.bg-a/this.d3);this.pa.setX(this.j.get("x")+this.vA*this.bg);this.pa.setY(this.j.get("y")+
this.wA*this.bg);this.pa.setZ(this.j.get("z")+this.xA*this.bg);this.pa.Cl(this.j.get("yaw")+this.tA*this.bg);this.pa.ks(this.j.get("pitch")+this.sA*this.bg);this.k.P.nb()}if(this.Uh||this.Th||this.dg||this.Qf||this.eg){var c=a/1E3;this.qK(this.dg*c,this.Qf*c,this.eg*c,this.Uh*c,this.Th*c)}this.p8()};b.prototype.fF=function(){this.h8()};b.prototype.h8=function(){this.Uh=this.Th=this.eg=this.Qf=this.dg=0;var a=this.pd[g.qs]?1:this.pd[g.WC]?-1:0,b=this.pd[g.uD]?1:this.pd[g.rD]?-1:0,c=this.pd[g.qD]?1:
this.pd[g.E]?-1:0,d=this.pd[g.Aq]?1:this.pd[g.lq]?-1:0,f=this.pd[g.Ha]?1:this.pd[g.Va]?-1:0;if(a||b||c||d||f){var e=this.Ci?0.2:1;if(a)this.dg=-a*e*this.E3*this.j.get("translationSpeed");if(c)this.Qf=-c*e*this.E3*this.j.get("translationSpeed");if(b)this.eg=-b*e*this.E3*this.j.get("translationSpeed");if(f)this.Uh=f*e*this.xia*this.j.get("rotationSpeed");if(d)this.Th=-d*e*this.xia*this.j.get("rotationSpeed");this.k.P.nb()}};b.prototype.US=function(){this.Fx(p.uk);this.Ph=m;this.xw=(new Date).getTime();
this.si=1;this.wt=this.xt=this.zt=this.yt=this.vt=0;this.bg=this.vA=this.wA=this.xA=this.tA=this.sA=l;this.k.P.nb()};b.prototype.jF=function(a,b){if(this.Ph){var c=(a*a+b*b)/2500,c=c>1?1/Math.sqrt(c):1,a=a*c,b=b*c,c=(new Date).getTime();this.si=c-this.xw;this.xw=c;this.wt=this.xt=this.zt=this.yt=this.vt=0;c=this.uS;this.Ci&&(c=!c);if(c){this.yt=+a*this.j.get("rotationSpeed")*this.Dma/this.Dt();this.vt=-b*this.j.get("rotationSpeed")*this.Dma/this.Dt();this.Cma(this.yt,this.vt)}else{this.dha(a*this.yoa/
this.Dt(),b*this.yoa/this.Dt(),t);this.wt=t.x;this.xt=t.y;this.zt=t.z;this.J7(this.wt,this.xt,this.zt)}this.pa.ji(this.bj)}};b.prototype.dha=function(a,b,d){var f=this.k.getComponent(c.ta);d.set(-a*this.j.get("translationSpeed"),+b*this.j.get("translationSpeed"),0*this.j.get("translationSpeed"));d.applyMatrix4(u.makeRotationFromEuler(s.set(f.Te*q,f.xe*q,f.Ue*q,f.pg)));d.multiplyScalar(this.j.get("distance"))};b.prototype.TA=function(){this.wL(p.uk);if(this.Ph){this.Ph=B;if(this.si){this.vA=this.wt/
this.si;this.wA=this.xt/this.si;this.xA=this.zt/this.si;this.tA=this.yt/this.si;this.sA=this.vt/this.si;this.bg=1;this.pa.ji(this.bj)}this.xw=l}};b.prototype.XS=function(a){this.pa.CC(this.j.get("distance")-a*this.j.get("distance")*this.j.get("translationSpeed"));this.pa.ji(this.cG)};b.prototype.Rja=function(){this.cia=this.j.get("distance");this.Ph=B};b.prototype.Qja=function(a,b,c){this.dha(a/this.Dt(),b/this.Dt(),t);this.J7(t.x,t.y,t.z);this.pa.CC(this.cia/c);this.pa.ji(this.bj)};b.prototype.IS=
function(){this.cia=this.j.get("distance")};b.prototype.qK=function(a,b,d,f,e){var j=this.k.getComponent(c.ta);if(j){u.makeRotationFromEuler(s.set(0,j.xe*q,0,j.pg));t.set(a,b,d).applyMatrix4(u).multiplyScalar(this.j.get("distance"));this.J7(t.x,t.y,t.z);this.Cma(f,e);this.pa.ji(this.bj)}};b.prototype.J7=function(a,b,c){this.pa.setX(this.j.get("x")+a);this.pa.setY(this.j.get("y")+b);this.pa.setZ(this.j.get("z")+c)};b.prototype.Cma=function(a,b){this.pa.Cl(this.j.get("yaw")+a);this.pa.ks(this.j.get("pitch")+
b)};b.prototype.gl=function(a){if(this.j!=a){if(this.j){if(this.ef){this.ef.dispose();this.ef=r}this.pa=r;v.forEach(function(a){this.j.unbind(d.u(a),this.Hm,this,B)}.bind(this));x.forEach(function(a){this.j.unbind(d.u(a),this.gk,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.j.set("userInteracting",B);this.pa=new f(this.j);this.EJ();v.forEach(function(a){this.j.bind(d.u(a),this.Hm,this,B)}.bind(this));x.forEach(function(a){this.j.bind(d.u(a),this.gk,this,B)}.bind(this));this.Hm();
this.gk();this.ef=new j(this.k,this.j)}}};b.prototype.EJ=function(){if(this.j){this.j.set("fov",this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"));this.j.set("distance",this.j.get("initialDistance"));this.j.set("easing",this.bj)}};b.prototype.Hm=function(){if(this.k&&this.j){var a=this.k.D(c.ta,m);a.Yg=this.j.get("x");
a.Ig=this.j.get("y");a.Zf=this.j.get("z");a.xe=-this.j.get("yaw");a.Te=this.j.get("pitch");a.Ue=0;a.pg="YXZ";a.we=0;a.ae=0;a.tf=this.j.get("distance");a.AN=this.j.get("easing")}};b.prototype.gk=function(){if(this.k&&this.j)this.k.D(c.PerspectiveCamera,m).fov=this.j.get("fov")};var q=Math.PI/180,t=new THREE.Vector3(0,1,0),s=new THREE.Euler,u=new THREE.Matrix4,w=[g.Aq,g.lq,g.Ha,g.Va,g.qs,g.rD,g.WC,g.uD,g.qD,g.E],v=["easing","minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minDistance","maxDistance",
"distance","minX","maxX","x","minY","maxY","y","minZ","maxZ","z"],x=["minFov","maxFov","fov"];b.prototype.dispose=function(){this.gl(r);this.D3();this.mK();this.p4()};b.rc=function(a){a.B(c.Is).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(c.Is);b.manager.dispose();b.manager=r;a.fa(c.Is)};b.update=function(a){a.getComponent(c.Is).manager.update()};b.frame=function(a,b,d){a.getComponent(c.Is).manager.frame(b,d)};var y=[];b.rO=function(a){y=[];a.forEach(function(a){y.indexOf(a.P)<0&&y.push(a.P)})};
return b});
define("gF","require,kL,kV,fm,dF,bV,hs".split(","),function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("dF"),c=a("bV"),i=a("hs"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.ira.entities.length&&this.ira.entities.slice().forEach(c.rc);this.DN.Oa.length&&this.DN.Oa.slice().forEach(c.update);this.DN.entities.length&&this.DN.entities.slice().forEach(function(d){c.frame(d,a,b)});this.jra.entities.length&&this.jra.entities.slice().forEach(c.Gb);this.dra.entities.length&&this.dra.entities.slice().forEach(g.rc);
this.CN.Oa.length&&this.CN.Oa.slice().forEach(g.update);this.CN.entities.length&&this.CN.entities.slice().forEach(function(c){g.frame(c,a,b)});this.era.entities.length&&this.era.entities.slice().forEach(g.Gb);this.Nta.entities.length&&this.Nta.entities.slice().forEach(i.rc);this.dO.Oa.length&&this.dO.Oa.slice().forEach(i.update);this.dO.entities.length&&this.dO.entities.slice().forEach(function(c){i.frame(c,a,b)});this.Ota.entities.length&&this.Ota.entities.slice().forEach(i.Gb);if(this.zN.Xf.length||
this.zN.Nm.length){g.rO(this.zN.entities);this.CN.entities.slice().forEach(g.update);c.rO(this.zN.entities);this.DN.entities.slice().forEach(c.update);i.rO(this.zN.entities);this.dO.entities.slice().forEach(i.update)}};a.A={};a.A.zN=[d.Bv];a.A.dra=[d.bD,d.ys.not];a.A.CN=[d.bD,d.ys];a.A.era=[d.bD.not,d.ys];a.A.ira=[d.cD,d.As.not];a.A.DN=[d.cD,d.As];a.A.jra=[d.cD.not,d.As];a.A.Nta=[d.oD,d.Is.not];a.A.dO=[d.oD,d.Is];a.A.Ota=[d.oD.not,d.Is];return a});
define("ip",["require","fm"],function(a){function b(a){this.k=a;this.Mna=this.aa=r;this.ia=this.X=l;this.update()}var e=a("fm");b.prototype.update=function(){var a=this.k.getComponent(e.Ki),b=a.source&&a.source.width||0,c=a.source&&a.source.height||0;if(this.aa&&(!!this.aa.bWa!=a.isSprite||this.X!=b||this.ia!=c))this.aa.map.dispose(),this.aa.dispose(),this.aa=r;this.X=b;this.ia=c;this.aa||(a.isSprite?(this.aa=new THREE.SpriteMaterial,this.aa.sizeAttenuation=B):this.aa=new THREE.MeshBasicMaterial,
this.aa.map=new THREE.Texture,this.aa.transparent=m,this.k.B(e.Material).material=this.aa);this.aa.map.image!=a.source&&(this.aa.map.image=a.source,this.aa.map.needsUpdate=m);this.Mna!=a.OX&&(this.Mna=a.OX,this.aa.map.needsUpdate=m);this.aa.opacity=a.opacity||0;this.aa.depthTest=!!a.depthTest;this.aa.visible=0<this.aa.opacity&&!a.hidden;this.aa.needsUpdate=m;this.k.P.nb()};b.prototype.dispose=function(){this.aa&&(this.aa.map.dispose(),this.aa.map=r,this.aa.dispose(),this.aa=r,this.k.fa(e.Material));
this.k=r};b.rc=function(a){a.B(e.zv).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.zv);b.manager.dispose();b.manager=r;a.fa(e.zv)};b.update=function(a){a.getComponent(e.zv).manager.update()};return b});
define("hR",["require","kL","kV","fm","ip"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("ip"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.wl.entities.length&&this.wl.entities.slice().forEach(g.rc);this.materials.Oa.length&&this.materials.Oa.slice().forEach(g.update);this.xl.entities.length&&this.xl.entities.slice().forEach(g.Gb)};a.A={};a.A.wl=[d.Ki,d.zv.not];a.A.materials=[d.Ki,d.zv];a.A.xl=[d.Ki.not,d.zv];return a});
define("dT","require,kL,bb,fm,ch,hB".split(","),function(a){function b(a){this.bl=a;this.lK();this.j1=B;this.update();this.wc=this.vc=l}var e=a("kL"),d=a("bb"),g=a("fm"),c=a("ch"),a=a("hB");e.RB(b,[a]);b.prototype.update=function(){var a=this.bl.getComponent(g.yo);this.TF(a&&(a.enabled?a.Qp:r))};b.prototype.frame=function(){this.qf()};b.prototype.Sf=function(a,b){this.vc=a;this.wc=b;var c=w.get(this.bl.P);c&&c.length!=0&&this.bl.P.nb()};b.prototype.qf=function(){if(!(this.vc===l||this.wc===l)){var a=
w.get(this.bl.P),b=a&&a.length||0;this.bna(b>0);if(b!=0)if((b=c.Xb(this.bl))&&b.isCamera){i.setFromMatrixPosition(b.matrixWorld);f.set(this.vc,this.wc,0);this.pK(f);f.unproject(b);f.sub(i);for(b=0;b<a.length;b++){var d=a[b],e=d.getComponent(g.jo),s=d.getComponent(g.Av),L=v.get(d);if(L&&e&&s){if(!s.Vqa)s.Vqa=(new THREE.Vector3).setFromMatrixPosition(L.matrixWorld);j.copy(s.Vqa);n.copy(e.direction);this.dEa(j,n,i,f,k);if(!s.D9)s.D9=(new THREE.Vector3).copy(k).sub(j);k.sub(s.D9);e.min&&o.copy(k).sub(e.min).dot(e.direction)<
0&&k.copy(e.min);k.applyMatrix4(p.copy(L.parent.matrixWorld).invert());d=d.D(g.ta);q.multiply(p.makeTranslation(d.Yg,d.Ig,d.Zf).invert());q.multiply(p.makeRotationFromEuler(t.set(d.Te*u,d.xe*u,d.Ue*u,d.pg)).invert());k.applyMatrix4(p);d.we=k.x;d.ae=k.y;d.tf=k.z}}}}};b.prototype.bna=function(a){if(this.j1!=a)(this.j1=a)?this.Fx(d.uk):this.wL(d.uk)};b.prototype.dEa=function(a,b,c,d,f){s.copy(a).sub(c);var c=b.dot(d),e=d.dot(d),j=b.dot(b),d=s.dot(d),g=s.dot(b);f.copy(a);a=c*c-e*j;a!=0&&f.addScaledVector(b,
(e*g-d*c)/a)};var i=new THREE.Vector3,f=new THREE.Vector3,j=new THREE.Vector3,n=new THREE.Vector3,k=new THREE.Vector3,o=new THREE.Vector3,p=new THREE.Matrix4,q=new THREE.Matrix4,t=new THREE.Euler,s=new THREE.Vector3,u=Math.PI/180;b.prototype.dispose=function(){this.bna(B);this.mK();this.k=r};b.Waa=function(a){a.B(g.Ls).manager=new b(a)};b.fba=function(a){var b=a.getComponent(g.Ls);b.manager.dispose();b.manager=r;a.fa(g.Ls)};b.oba=function(a){a.getComponent(g.Ls).manager.update()};b.frame=function(a){a.getComponent(g.Ls).manager.frame()};
var w=new Map,v=new Map;b.uTa=function(a){a.B(g.Av);a.B(g.Bv);b.cwa(a)};b.cwa=function(a){var b=c.Xb(a);v.set(a,b);var d=w.get(a.P);d||w.set(a.P,d=[]);if(b){b=d;b.indexOf(a)<0&&b.push(a)}};b.Hva=function(a){var b=w.get(a.P),c=b.indexOf(a);c>=0&&b.splice(c,1);v["delete"](a);a.fa(g.Av);a.fa(g.Bv)};return b});
define("kt",["require","kL","kV","fm","dT"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("dT"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.jO.entities.length&&this.jO.entities.slice().forEach(g.Waa);this.dv.Oa.length&&this.dv.Oa.slice().forEach(g.oba);this.dv.entities.length&&this.dv.entities.slice().forEach(g.frame);this.kO.entities.length&&this.kO.entities.slice().forEach(g.fba);this.Uqa.entities.length&&this.Uqa.entities.slice().forEach(g.uTa);this.Tqa.entities.length&&
this.Tqa.entities.slice().forEach(g.cwa);this.Wqa.entities.length&&this.Wqa.entities.slice().forEach(g.Hva);this.Xqa.entities.length&&this.Xqa.entities.slice().forEach(g.Hva)};a.A={};a.A.jO=[d.yo,d.Ls.not];a.A.dv=[d.yo,d.Ls];a.A.kO=[d.yo.not,d.Ls];a.A.Uqa=[d.Object3D,d.jo,d.Av.not];a.A.Tqa=[d.Object3D,d.jo,d.Av];a.A.Wqa=[d.Object3D.not,d.Av];a.A.Xqa=[d.jo.not,d.Av];return a});
define("kk",["require","fm","ch"],function(a){function b(a){this.k=a;this.A5=B}var e=a("fm"),d=a("ch");b.prototype.update=function(){this.A5=B};b.prototype.frame=function(){this.qf()};b.prototype.qf=function(){if(!this.A5&&(this.wa=this.wa||d.Yn(this.k))){var a=d.Xb(this.k),b=a&&a.parent;if(b&&b.matrixWorld){var t=[];this.wa.traverse(function(b){!b.isSprite&&!b.isLine&&b!=a&&t.push(b)});var s=this.k.D(e.zs);k.set(s.x,s.y,s.z).applyMatrix4(b.matrixWorld);n.ray.origin.set(k.x,k.y,k.z);n.ray.direction.set(0,
-1,0);var u=n.intersectObjects(t,B);if(0!=u.length){var w=u[0];i.copy(b.matrixWorld).invert();u=this.k.D(e.ta,m);f.setFromMatrixPosition(b.matrixWorld);g.copy(w.object.matrixWorld);j.setFromMatrixPosition(g);c.copy(g).invert();!s.SN&&w.face&&w.face.normal?to.copy(w.face.normal).applyMatrix4(g).sub(j).add(f):to.copy(f).add(up);to.applyMatrix4(i).normalize();quaternion.setFromUnitVectors(from,to);euler.setFromQuaternion(quaternion,u.pg);u.Te=euler.x*TO_DEG;u.xe=euler.y*TO_DEG;u.Ue=euler.z*TO_DEG;k.copy(w.point).applyMatrix4(i);
u.Yg=k.x;u.Ig=k.y;u.Zf=k.z;o.setFromMatrixScale(i);b=Math.max(o.x,o.y,o.z);u.we=0;u.ae=0;u.tf=b*s.distance;this.A5=m}}}};b.prototype.dispose=G();var g=new THREE.Matrix4,c=new THREE.Matrix4,i=new THREE.Matrix4,f=new THREE.Vector3,j=new THREE.Vector3,n=new THREE.Raycaster,k=new THREE.Vector3,o=new THREE.Vector3;new THREE.Matrix4;matrix4b=new THREE.Matrix4;from=new THREE.Vector3(0,0,1);to=new THREE.Vector3;up=new THREE.Vector3(0,1,0);euler=new THREE.Euler;quaternion=new THREE.Quaternion;TO_RAD=Math.PI/
180;TO_DEG=180/Math.PI;b.rc=function(a){a.B(e.nq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.nq);b.manager.dispose();b.manager=r;a.fa(e.nq)};b.frame=function(a){a.getComponent(e.nq).manager.frame()};b.update=function(a){a.getComponent(e.nq).manager.update()};return b});
define("ho",["require","kL","kV","fm","kk"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("kk"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.fra.entities.length&&this.fra.entities.slice().forEach(g.rc);this.kW.Oa.length&&this.kW.entities.slice().forEach(g.update);this.kW.entities.length&&this.kW.entities.slice().forEach(g.frame);this.gra.entities.length&&this.gra.entities.slice().forEach(g.Gb);this.hra.entities.length&&this.hra.entities.slice().forEach(g.Gb)};
a.A={};a.A.fra=[d.Object3D,d.zs,d.nq.not];a.A.kW=[d.Object3D,d.zs,d.nq];a.A.gra=[d.Object3D.not,d.nq];a.A.hra=[d.zs.not,d.nq];return a});define("fS",["require","fm"],function(a){var b=a("fm");return{rc:function(a){var d=a.B(b.gD),g=a.B(b.Object3D);a.B(b.ta);a=a.D(b.Group);g.Rc=d.group=a.group=new THREE.Group},Gb:function(a){a.getComponent(b.gD).group=r;a.fa(b.gD);a.fa(b.Object3D)}}});
define("kQ",["require","kL","kV","fm","fS"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("fS"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.Zra.entities.length&&this.Zra.entities.slice().forEach(g.rc);this.$ra.entities.length&&this.$ra.entities.slice().forEach(g.Gb)};a.A={};a.A.Zra=[d.Group,d.gD.not];a.A.$ra=[d.Group.not,d.gD];return a});
define("be","require,kL,nV,kn,cu,fQ,bf".split(","),function(a){function b(a,b,c,d){this.o$=a;this.src=a.src;this.yX=b;this.uN=c;this.nW=d;this.$B=this.o$.width/this.uN;this.ZB=this.o$.height/this.yX}var e=a("kL"),d=a("nV"),g=a("kn");a("cu");var c=a("fQ"),i=a("bf"),a=e.extend(c,function(a,e,j,i,n,s,u){c.call(this);this.fm=n;this.Qg=new b(a,e,j,n);this.sma=s;this.yaa(i);this.G1=u;this.I=document.createElement("canvas");this.I.width=this.Qg.$B;this.I.height=this.Qg.ZB;this.ha=this.I.getContext("2d");
this.ha.globalCompositeOperation="copy";this.o=g.M;this.aU=this.Yl=0;this.C0=l;this.th=f.Ii(this.Qg);this.th.bind(d.ra,this.Si,this,m);this.Si()});a.prototype.yaa=function(a){if(this.pe!==a){var b=this.CM;this.pe=a;this.CM=this.pe*this.Qg.nW;this.H1=this.CM-this.pe*0.1;if(b!==l)this.Yl=this.Yl/b*this.CM}};a.prototype.Pua=function(a){if(this.G1!==a){this.G1=a;this.Si()}};a.prototype.wd=function(a){if(this.o!=a){if(a==g.Db){if(this.o!=g.Q)return}else if(a==g.Q){if(this.o==g.M){this.Yl=this.aU=0;this.Si()}}else if(a==
g.M&&(this.Yl!=0||this.aU==0)){this.Yl=this.H1;this.Si()}this.o=a;i.vb(this.dj,this);this.trigger(d.Yd)}};a.prototype.mg=S("o");a.prototype.dj=function(a){if(this.o==g.Q){this.Yl=Math.min(this.Yl+a,this.th.th.length*this.pe);if(this.Yl>=this.CM){this.aU++;if(this.sma&&this.aU==this.sma){this.wd(g.M);this.Yl=this.H1;this.trigger(d.hb)}else{this.Yl=this.Yl%this.CM;this.trigger(d.uq)}}this.Si();this.o==g.Q&&i.vb(this.dj,this)}};a.prototype.clear=function(){this.wd(g.M);this.I.width=this.I.height=0;this.I=
r;f.xRa(this.Qg);this.Qg=r};a.prototype.kg=S("I");a.prototype.Si=function(){var a=this.G1&&this.Yl>=this.H1?0:Math.floor(this.Yl/this.pe);if(this.C0!=a&&a<this.th.th.length){this.C0=a;this.ha.drawImage(this.th.get(this.C0),0,0);this.trigger(d.ra)}};b.prototype.isEqual=function(a){return this.src==a.src&&this.yX==a.yX&&(this.uN=a.uN)&&(this.$B=a.$B)&&(this.ZB=a.ZB)&&(this.nW=a.nW)};var f={Yi:[],lya:2E3,Ii:function(a){a=this.Qh(a);a.xC++;this.aoa(a);return a.frames},xRa:function(a){a=this.Qh(a);a.xC--;
a.xC==0&&this.MKa(a)},Qh:function(a){for(var b=0;b<this.Yi.length;b++)if(this.Yi[b].SOa.isEqual(a))return this.Yi[b];b={};b.SOa=a;b.frames=new j(a);b.xC=0;this.Yi.push(b);return b},MKa:function(a){this.aoa(a);a.C9=setTimeout(function(){f.ZBa(a)},f.lya)},aoa:function(a){if(a.C9){clearTimeout(a.C9);a.C9=r}},ZBa:function(a){this.Yi.splice(this.Yi.indexOf(a),1);a.frames.clear()}},j=e.extend(c,function(a){c.call(this);this.Qg=a;this.th=[];n.add(this)});j.prototype.clear=function(){n.remove(this);this.th.forEach(function(a){a.width=
0;a.height=0});this.th=r};j.prototype.get=function(a){return this.th[a]};j.prototype.LOa=function(){var a=this.th.length%this.Qg.uN,b=Math.floor(this.th.length/this.Qg.uN)%this.Qg.yX,c=document.createElement("canvas");c.width=this.Qg.$B;c.height=this.Qg.ZB;var f=c.getContext("2d");f.globalCompositeOperation="copy";f.drawImage(this.Qg.o$,a*this.Qg.$B,b*this.Qg.ZB,this.Qg.$B,this.Qg.ZB,0,0,this.Qg.$B,this.Qg.ZB);j.UCa(c);this.th.push(c);this.trigger(d.ra)};j.UCa=function(){var a=document.createElement("canvas");
a.width=1;a.height=1;var b=a.getContext("2d");return function(a){b.drawImage(a,0,0,1,1,0,0,1,1)}}();var n={Yi:[],z7:r,add:function(a){this.Yi.push(a);this.Kma()},remove:function(a){this.Yi=this.Yi.filter(function(b){return b!=a})},Kma:function(){if(!this.z7)this.z7=setTimeout(function(){this.z7=r;this.aL()}.bind(this),40)},aL:function(){if(this.Yi.length!=0){for(var a=(new Date).getTime()+10;(new Date).getTime()<a;){var b=this.Yi.filter(function(a){return a.th.length==0}),b=b.length>0?b[0]:this.Yi[0];
b.LOa();if(b.th.length==b.Qg.nW){this.Yi.splice(this.Yi.indexOf(b),1);if(this.Yi.length==0)return}}this.Kma()}}};return a});
define("nQ",["require","nV","kn"],function(a){function b(a,b){this.ld=a;this.bc=b;this.eb=B;this.e_();this.h_();this.SA()}var e=a("nV"),d=a("kn");b.prototype.clear=function(){this.W5();this.c6();this.ld.set("state",d.M);this.bc=this.ld=r};b.prototype.Hf=function(a){this.eb!=a&&(this.eb=a,this.Dr())};b.prototype.SA=function(){this.bc.wd(this.ld.get("state"))};b.prototype.HK=function(){this.Dr()};b.prototype.JK=function(){this.bc.yaa(this.ld.get("frameDuration"))};b.prototype.IK=function(){this.bc.Pua("first"==
this.ld.get("finalFrame"))};b.prototype.FK=function(){this.ld.trigger(e.uq)};b.prototype.EK=function(){this.ld.trigger(e.hb)};b.prototype.GK=function(){this.ld.set("state",this.bc.mg())};b.prototype.Dr=function(){this.ld.get("autoplay")&&this.bc.wd(this.eb?d.Q:d.M)};b.prototype.e_=function(){this.ld.bind(e.u("state"),this.SA,this,m);this.ld.bind(e.u("autoplay"),this.HK,this,m);this.ld.bind(e.u("frameDuration"),this.JK,this,m);this.ld.bind(e.u("finalFrame"),this.IK,this,m)};b.prototype.W5=function(){this.ld.unbind(e.u("state"),
this.SA,this,m);this.ld.unbind(e.u("autoplay"),this.HK,this,m);this.ld.unbind(e.u("frameDuration"),this.JK,this,m);this.ld.unbind(e.u("finalFrame"),this.IK,this,m)};b.prototype.h_=function(){this.bc.bind(e.uq,this.FK,this,m);this.bc.bind(e.hb,this.EK,this,m);this.bc.bind(e.Yd,this.GK,this,m)};b.prototype.c6=function(){this.bc.unbind(e.uq,this.FK,this,m);this.bc.unbind(e.hb,this.EK,this,m);this.bc.unbind(e.Yd,this.GK,this,m)};return b});
define("et",["require","nV","mR","be","nQ"],function(a){function b(a,b,f,j){this.ce=a;this.Mb=b;this.ib=f;this.ua=j.bind(this);d.va("AnimatedImageResource",this.ce)?(this.bc=new g(this.Mb,this.ce.get("rowCount",1),this.ce.get("colCount",1),this.ce.get("frameDuration"),this.ce.get("frameCount",this.ce.get("rowCount",1)*this.ce.get("colCount",1)),this.ce.get("repeat"),"first"==this.ce.get("finalFrame")),this.ib.image=this.bc.kg(),this.bc.bind(e.ra,this.BJ,this,m),this.gn=new AnimationPlaybackController(this.ce,
this.bc)):this.ib.image=this.Mb;this.ib.needsUpdate=m;this.ua()}var e=a("nV"),d=a("mR"),g=a("be");AnimationPlaybackController=a("nQ");b.prototype.Hf=function(a){this.gn&&this.gn.Hf(a)};b.prototype.dispose=function(){this.gn&&(this.gn.clear(),this.gn=r);this.bc&&(this.bc.unbind(e.ra,this.BJ,this,m),this.bc.clear(),this.bc=r);this.ib=this.Mb=this.ce=r};b.prototype.BJ=function(){this.ib.needsUpdate=m;this.ua()};return b});
define("ex",["require"],function(){var a={},b=r;a.tra=function(){if(!b){var a=document.createElement("canvas");a.width=128;a.height=128;a.getContext("2d").clearRect(0,0,a.width,a.height);b=a}return b};return a});
define("iY",["require","ko","mn","lA"],function(a){var b=a("ko"),e=a("mn"),d=a("lA"),g=180/Math.PI,c=Math.PI/180;return{wW:function(a,b,c,g,k,o,p){b||(b=a*g/c);k||(k=d.Dv);var q={};switch(k){case d.Dv:q.width=a;q.height=b;break;case d.NONE:q.width=c;q.height=g;break;case d.fh:q.width=Math.min(b*c/g,a);q.height=Math.min(a*g/c,b);break;case d.mq:q.width=Math.max(b*c/g,a);q.height=Math.max(a*g/c,b);break;case d.so:q.width=a;q.height=a*g/c;break;case d.Cj:q.width=b*c/g,q.height=b}q.width>a?(q.pv=a/q.width,
q.NO=o==e.Ha?0:o==e.Va?1-q.pv:0.5*(1-q.pv),q.width=a):(q.NO=0,q.pv=1);q.height>b?(q.qv=b/q.height,q.QO=p==e.ec?1-q.qv:p==e.Zb?0:0.5*(1-q.qv),q.height=b):(q.QO=0,q.qv=1);return q},b$:function(a,f,j,n,k,o,p,q){f||(f=b.sl(a,j,n));k||(k=d.Dv);o||(o=4096/360);var t={};switch(k){case d.Dv:t.ve=a;t.hq=f;break;case d.NONE:t.ve=2*Math.atan2(0.5*j,45*o)*g;t.hq=b.sl(t.ve,j,n);break;case d.fh:t.ve=Math.min(b.ps(f,j,n),a);t.hq=Math.min(b.sl(a,j,n),f);break;case d.mq:t.ve=Math.max(b.ps(f,j,n),a);t.hq=Math.max(b.sl(a,
j,n),f);break;case d.so:t.ve=a;t.hq=b.sl(a,j,n);break;case d.Cj:t.ve=b.ps(f,j,n),t.hq=f}t.ve>a?(t.pv=Math.tan(0.5*a*c)*j/Math.tan(0.5*t.ve*c)/j,t.NO=p==e.Ha?0:p==e.Va?1-t.pv:0.5*(1-t.pv),t.ve=a):(t.NO=0,t.pv=1);t.hq>f?(t.qv=Math.tan(0.5*f*c)*n/Math.tan(0.5*t.hq*c)/n,t.QO=q==e.ec?1-t.qv:q==e.Zb?0:0.5*(1-t.qv),t.hq=f):(t.QO=0,t.qv=1);return t}}});
define("ju","require,jY,nV,cu,mR,cm,kI,et,ex,fm,nz,bD,iY".split(","),function(a){function b(a){this.k=a;this.pB=this.pB.bind(this);this.ua=this.ua.bind(this);this.mj=this.mj.bind(this);a=a.getComponent(k.Bs);this.Vh=a.kH;this.Ud=a.Ga;this.j=a.Cb;this.ce=a.ysa;this.NFa=a.isSprite;this.Df=B;this.bm=this.Ua=r;this.Nq=0;this.U0=this.bb=this.kE=this.K=l;e.ea(this.j,t,this.pB,B);e.ea(this.ce,s,this.pB,B);e.ea(this.j,u,this.mj,B);this.pB()}var e=a("jY"),d=a("nV"),g=a("cu"),c=a("mR"),i=a("cm"),f=a("kI"),
j=a("et"),n=a("ex"),k=a("fm"),o=a("nz"),p=a("bD"),q=a("iY"),t=["height","scaleMode","width"],s=["levels.url","levels.width","levels.height"],u=["depthTest","enabled","encoding","hidden","opacity"];b.prototype.frame=function(a){if(this.bm){this.bm.ub(a);this.Nq=this.bm.fb("alpha");this.o8();if(this.bm.Se())this.bm=r;this.k.P.nb()}if(this.Df)this.Df=B};b.prototype.pB=function(){var a=this.ce&&this.ce.get("levels")||[],a=a.filter(function(a){return!!a.get("url")}),b=1,d=1;if(c.va("AnimatedImageResource",
this.ce)){b=this.ce.get("rowCount");d=this.ce.get("colCount")}var f=r;if(a.length>0){a.sort(function(a,b){return b.get("width")-a.get("width")});var f=this.j.get("width"),e=this.j.get("height"),j=this.j.get("scaleMode","fill"),g=a[0].get("width")/d,i=a[0].get("height")/b,n=q.wW(f,e,g,i,j),f=a.reduce(function(a,c){return!a||a.get("width")>c.get("width")&&c.get("width")/d>=n.width&&c.get("height")/b>=n.height?c:a})}this.WL(f)};b.prototype.WL=function(a){if(this.Ua!=a){if(this.Ua){this.iCa();this.Z0();
this.HQ();this.Po();this.Df=B}if(this.Ua=a){this.Lo();this.Sz();this.QI();this.Df=B;this.ua()}}};b.prototype.QI=function(){if(!this.fd){this.fd=new i;this.fd.EO([this.Ua.get("url")]);this.fd.bind(d.T,this.Yc,this,m);this.fd.bind(d.dc,this.hka,this,m);this.fd.bind(d.tc,this.pf,this,m);this.lr=this.k.getComponent(k.Bs).Ge;f.$n(this.fd,this.lr)}};b.prototype.Po=function(){if(this.fd){this.fd.unbind(d.T,this.Yc,this,m);this.fd.unbind(d.dc,this.hka,this,m);this.fd.unbind(d.tc,this.pf,this,m);f.yj(this.fd,
this.lr);this.fd=r}};b.prototype.Yc=function(){this.RBa();this.N7(new g(d.T))};b.prototype.hka=function(a){this.N7(new g(d.dc,{percent:a.Fg}))};b.prototype.pf=function(){this.N7(new g(d.tc))};b.prototype.N7=function(a){this.Vh&&this.Vh.trigger(a)};b.prototype.ua=function(){if(!this.Df){this.Df=m;this.k.P.nb()}};b.prototype.Lo=function(){this.ib=new THREE.Texture;this.ib.image=n.tra();this.ib.generateMipmaps=m;this.ib.minFilter=THREE.LinearMipMapLinearFilter};b.prototype.HQ=function(){if(this.ib){this.ib.dispose();
this.ib=r}};b.prototype.Sz=function(){if(this.NFa){this.aa=new THREE.SpriteMaterial({map:this.ib});this.aa.sizeAttenuation=B;this.aa.transparent=m;this.aa.visible=0;this.aa.opacity=0;this.aa.needsUpdate=m;this.k.B(k.Material).material=this.aa}this.mj(m)};b.prototype.mj=function(a){var b=this.j.get("enabled")&&!this.j.get("hidden")&&!!this.On,c=this.K!==b;if(c||a){this.K=b;var b=this.Nq,f=this.K?1:0;this.bm=b!==f?new o("linear",[new p("alpha",b,f,l)],Math.abs(b-f)*200):r;this.o8()}b=this.j.get("encoding");
if(this.kE!==b||a){this.kE=b;this.kNa()}b=this.j.get("depthTest");if(this.U0!==b||a){this.U0=b;this.MMa()}b=this.j.get("opacity");if(this.bb!==b||a){this.bb=b;this.o8()}c&&this.Ud&&this.Ud.trigger(this.K?d.Wc:d.cd)};b.prototype.kNa=function(){if(this.aa&&(this.aa.map||this.aa.emissiveMap)){var a=this.kE=="srgb"?THREE.sRGBEncoding:THREE.LinearEncoding;if(this.aa.map)this.aa.map.encoding=a;if(this.aa.emissiveMap)this.aa.emissiveMap.encoding=a;this.aa.needsUpdate=m}this.ua()};b.prototype.MMa=function(){if(this.aa)this.aa.depthTest=
this.U0;this.ua()};b.prototype.o8=function(){if(this.aa){this.aa.opacity=this.bb*this.Nq;this.aa.visible=this.aa.opacity>0;if(this.aa.isShaderMaterial&&this.aa.uniforms.opacity)this.aa.uniforms.opacity.value=this.bb*this.Nq}this.On&&this.On.Hf(this.bb>0);this.ua()};b.prototype.Z0=function(){if(this.aa){this.aa.dispose();this.aa=r;this.k.fa(k.Material)}};b.prototype.RBa=function(){this.On=new j(this.ce,f.hf(this.Ua.get("url")),this.ib,this.ua);this.mj(m)};b.prototype.iCa=function(){if(this.On){this.On.dispose();
this.On=r}};b.prototype.dispose=function(){this.WL(r);e.da(this.j,t,this.pB);e.da(this.ce,s,this.pB);e.da(this.j,u,this.mj);this.k=this.Vh=this.ce=this.j=r};b.rc=function(a){a.B(k.Gv).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(k.Gv);b.manager.dispose();b.manager=r;a.fa(k.Gv)};b.frame=function(a,b){a.getComponent(k.Gv).manager.frame(b)};return b});
define("lT",["require","kL","kV","fm","ju"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("ju"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.wl.entities.length&&this.wl.entities.slice().forEach(g.rc);this.xl.entities.length&&this.xl.entities.slice().forEach(g.Gb);this.materials.entities.length&&this.materials.entities.slice().forEach(function(d){g.frame(d,a,b)})};a.A={};a.A.wl=[d.Bs,d.Gv.not];a.A.materials=[d.Bs,d.Gv];a.A.xl=[d.Bs.not,d.Gv];return a});
define("I",["require","mT","fm"],function(a){function b(a){this.k=a;this.aa=r;this.update()}var e=a("mT"),d=a("fm");b.prototype.update=function(){this.aa||(this.aa=new THREE.LineBasicMaterial,this.aa.transparent=m,this.k.B(d.Material).material=this.aa);var a=this.k.getComponent(d.Mi);this.aa.color=new THREE.Color(e.LC(a.color||"#ffffff"));this.aa.lineWidth=a.width||1;this.aa.opacity=a.opacity||0;this.aa.depthTest=!!a.depthTest;this.aa.visible=0<this.aa.opacity;this.aa.needsUpdate=m};b.prototype.dispose=
function(){this.aa&&(this.aa.dispose(),this.aa=r,this.k.fa(d.Material));this.k=r};b.rc=function(a){a.B(d.Hv).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(d.Hv);b.manager.dispose();b.manager=r;a.fa(d.Hv)};b.update=function(a){a.getComponent(d.Hv).manager.update()};return b});
define("it",["require","kL","kV","fm","I"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("I"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.wl.entities.length&&this.wl.entities.slice().forEach(g.rc);this.materials.Oa.length&&this.materials.Oa.slice().forEach(g.update);this.xl.entities.length&&this.xl.entities.slice().forEach(g.Gb)};a.A={};a.A.wl=[d.Mi,d.Hv.not];a.A.materials=[d.Mi,d.Hv];a.A.xl=[d.Mi.not,d.Hv];return a});
define("E","require,nV,fm,ch,mR,mT,a".split(","),function(a){function b(a){this.k=a;this.Df=B;this.j=this.k.getComponent(d.Light).Cb;o.forEach(function(a){this.j.bind(e.u(a),this.GU,this,B)}.bind(this));this.GU()}var e=a("nV"),d=a("fm"),g=a("ch"),c=a("mR"),i=a("mT"),f=a("a");b.prototype.update=function(){this.GU()};var j=Math.PI/180;b.prototype.GU=function(){var a=this.k.D(d.Light),b;if(c.va("AmbientLight",a.Cb)){if(!a.Kd||!a.Kd.isAmbientLight)this.k.D(d.Object3D,m).Rc=a.Kd=new THREE.AmbientLight;
b=a.target}else if(c.va("OrbitLight",a.Cb)){if(!a.Kd||!a.Kd.isDirectionalLight)this.k.D(d.Object3D,m).Rc=a.Kd=new THREE.DirectionalLight;b=f.Sr(a.Cb.get("yaw")*j,a.Cb.get("pitch")*j).zH(10);a.Kd.position.set(b.x,b.y,b.z);if(a.Cb.get("mode","fixed_to_target")=="fixed_to_target"){a.Kd.target=g.Xb(a.target);b=a.target}else{a.Kd.target=new THREE.Object3D;b=a.target.getComponent(d.wb).Kb.getComponent(d.Scene).Un}a.Kd.castShadow=a.Cb.get("intensity")>0&&a.Cb.get("castShadow");var e=a.Kd.castShadow?a.Cb.get("shadowMapSize"):
16;if(e!=a.Kd.shadow.mapSize.width){a.Kd.shadow.dispose();a.Kd.shadow=a.Kd.shadow.clone();a.Kd.shadow.mapSize.width=a.Kd.shadow.mapSize.height=e}a.Kd.shadow.radius=a.Cb.get("shadowRadius");a.Kd.shadow.bias=a.Cb.get("shadowBias");this.vpa()}a.Kd.color=new THREE.Color(i.LC(a.Cb.get("color")));a.Kd.intensity=a.Cb.get("intensity");a.Kd.visible=a.Kd.intensity>0;a=this.k.getComponent(d.wb);if(!a||a.Kb!=b){a=this.k.D(d.wb,m);a.Kb=b}};var n=new THREE.Box3,k=new THREE.Vector3;b.prototype.frame=function(){this.vpa()};
b.prototype.vpa=function(){var a=this.k&&this.k.getComponent(d.Light);if(a&&a.Kd&&a.Kd.castShadow){var b=g.Xb(a.target),c=a.Kd.shadow.camera,f=this.i0(b,n),b=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,j=Number.NEGATIVE_INFINITY;near=bottom=Number.POSITIVE_INFINITY;far=Number.NEGATIVE_INFINITY;for(var i=0;i<2;i++)for(var o=0;o<2;o++)for(var y=0;y<2;y++){k.set(i==0?f.min.x:f.max.x,o==0?f.min.y:f.max.y,y==0?f.min.z:f.max.z).applyMatrix4(c.matrixWorldInverse);if(k.x<b)b=k.x;if(k.x>e)e=k.x;if(k.y>
j)j=k.y;if(k.y<bottom)bottom=k.y;-k.z>far&&(far=-k.z);-k.z<near&&(near=-k.z)}a=a.Cb.get("shadowTolerance")||0;f=(near+far)*0.5;near=near+(near-f)*a;far=far+(far-f)*a;f=(b+e)*0.5;b=b+(b-f)*a;e=e+(e-f)*a;f=(j+bottom)*0.5;j=j+(j-f)*a;bottom=bottom+(bottom-f)*a;if(c.left!=b||c.right!=e||c.top!=j||c.bottom!=bottom||c.near!=near||c.far!=far){a=this.k.D(d.Light);a.Kd.shadow.camera.left=b;a.Kd.shadow.camera.top=j;a.Kd.shadow.camera.right=e;a.Kd.shadow.camera.bottom=bottom;a.Kd.shadow.camera.near=near;a.Kd.shadow.camera.far=
far;a.Kd.shadow.camera.updateProjectionMatrix();a.Kd.shadow.needsUpdate=m}}};b.prototype.i0=function(a,b){b.makeEmpty();var c=new THREE.Box3;a.traverse(function(a){if(a.geometry&&!a.isSprite){a.updateWorldMatrix(B,B);var d=a.geometry;d.boundingBox===r&&d.computeBoundingBox();c.copy(d.boundingBox);c.applyMatrix4(a.matrixWorld);b.union(c)}});return b};b.prototype.dispose=function(){if(this.j){o.forEach(function(a){this.j.unbind(e.u(a),this.GU,this,B)}.bind(this));this.j=r}if(this.k){this.k.fa(d.wb);
this.k.fa(d.Object3D);this.k=r}};var o=["castShadow","color","intensity","mode","pitch","yaw","shadowBias","shadowRadius","shadowMapSize","shadowTolerance"];b.rc=function(a){a.B(d.Cs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(d.Cs);b.manager.dispose();b.manager=r;a.fa(d.Cs)};b.update=function(a){a.getComponent(d.Cs).manager.update()};b.frame=function(a){a.getComponent(d.Cs).manager.frame()};return b});
define("nX",["require","kL","kV","fm","E"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("E"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.Wsa.entities.length&&this.Wsa.entities.slice().forEach(g.rc);this.cX.Oa.length&&this.cX.Oa.slice().forEach(g.update);this.cX.entities.length&&this.cX.entities.slice().forEach(g.frame);this.Xsa.entities.length&&this.Xsa.entities.slice().forEach(g.Gb)};a.A={};a.A.Wsa=[d.Light,d.Cs.not];a.A.cX=[d.Light,d.Cs];a.A.Xsa=[d.Light.not,
d.Cs];return a});
define("nG",["require","kL","kV","fm"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),a=b.extend(e,function(){e.apply(this,arguments);this.Xe=this.Xe.bind(this);this.uf=this.uf.bind(this);this.jd=this.jd.bind(this)});a.prototype.execute=function(){this.dta.entities.length&&this.dta.entities.slice().forEach(this.Xe);this.cta.Oa.length&&this.cta.Oa.slice().forEach(this.uf);this.eta.entities.length&&this.eta.entities.slice().forEach(this.jd);this.fta.entities.length&&this.fta.entities.slice().forEach(this.jd);this.gta.entities.length&&
this.gta.entities.slice().forEach(this.jd)};a.prototype.Xe=function(a){a.B(d.Object3D).Rc=new THREE.LineSegments;a.B(d.Iv);a.B(d.ta);if(!a.getComponent(d.Geometry)){var b=(new THREE.BufferGeometry).setFromPoints([new THREE.Vector3(0,0,0),new THREE.Vector3(0,0,1)]);b.userData.Fsa=m;a.B(d.Geometry).geometry=b}this.uf(a)};a.prototype.uf=function(a){var b=a.getComponent(d.Material).material,e=a.getComponent(d.Object3D).Rc;e.material!=b&&(e.material=b,e.needsUpdate=m);b=a.getComponent(d.Geometry).geometry;
e.geometry!=b&&(e.geometry&&b.userData.Fsa&&e.geometry.dispose(),e.geometry=b,e.needsUpdate=m);a=a.getComponent(d.Line).renderOrder||0;e.renderOrder!=a&&(e.renderOrder=a,e.needsUpdate=m)};a.prototype.jd=function(a){a.fa(d.Iv);a.fa(d.Geometry);var b=a.getComponent(d.Object3D);b&&(b=b.Rc,b.geometry&&b.geometry.userData.Fsa&&b.geometry.dispose(),b.geometry=r,b.material=r,a.fa(d.Object3D))};a.A={};a.A.dta=[d.Line,d.Material,d.Iv.not];a.A.cta=[d.Line,d.Geometry,d.Material,d.Iv];a.A.eta=[d.Line.not,d.Iv];
a.A.fta=[d.Material.not,d.Iv];a.A.gta=[d.Geometry.not,d.Iv];return a});
define("fw",["require","kL","kV","fm","ch"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("ch"),a=b.extend(e,function(){e.apply(this,arguments);this.Xe=this.Xe.bind(this);this.jd=this.jd.bind(this);this.WB=this.WB.bind(this)});a.prototype.execute=function(){this.Zsa.entities.length&&this.Zsa.entities.slice().forEach(this.Xe);this.Ysa.entities.length&&this.Ysa.entities.slice().forEach(this.WB);this.$sa.entities.length&&this.$sa.entities.slice().forEach(this.jd);this.ata.entities.length&&this.ata.entities.slice().forEach(this.jd);
this.bta.entities.length&&this.bta.entities.slice().forEach(this.jd)};a.prototype.Xe=function(a){a.B(d.Kv)};a.prototype.jd=function(a){a.fa(d.Kv)};var c=new THREE.Matrix4,i=new THREE.Quaternion,f=new THREE.Vector3;zVector=new THREE.Vector3(0,0,1);euler=new THREE.Euler;TO_DEG=180/Math.PI;a.prototype.WB=function(a){var b=a.getComponent(d.ta);if(b){var e=a.getComponent(d.Jv),e=g.Xb(e.Kb),o=g.Xb(a);if(o&&o.parent&&e&&e.parent&&(c.copy(o.parent.matrixWorld).invert(),f.setFromMatrixPosition(e.matrixWorld).applyMatrix4(c),
e=f.length(),i.setFromUnitVectors(zVector,f.normalize()),euler.setFromQuaternion(i,b.pg),euler.x*=TO_DEG,euler.y*=TO_DEG,euler.z*=TO_DEG,b.scale!=e||b.Te!=euler.x||b.xe!=euler.y||b.Ue!=euler.z))b=a.D(d.ta),b.scale=e,b.Te=euler.x,b.xe=euler.y,b.Ue=euler.z,g.EX(a,b),a.P.nb()}};a.A={};a.A.Zsa=[d.Object3D,d.Jv,d.Kv.not];a.A.Ysa=[d.Object3D,d.Jv,d.Kv,d.ta];a.A.$sa=[d.Object3D.not,d.Kv];a.A.ata=[d.Jv.not,d.Kv];a.A.bta=[d.ta.not,d.Kv];return a});
define("bG","require,kL,nV,kV,fm,ch".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("kV"),g=a("fm"),c=a("ch"),a=b.extend(d,function(){d.apply(this,arguments);this.Xe=this.Xe.bind(this);this.jd=this.jd.bind(this);this.uf=this.uf.bind(this)});a.prototype.execute=function(){this.jta.entities.length&&this.jta.entities.slice().forEach(this.Xe);this.ita.Oa.length&&this.ita.Oa.slice().forEach(this.uf);this.kta.entities.length&&this.kta.entities.slice().forEach(this.jd);this.lta.entities.length&&this.lta.entities.slice().forEach(this.jd)};
a.prototype.Xe=function(a){a.B(g.Lv);this.uf(a)};a.prototype.uf=function(a){var b=a.getComponent(g.pq),a=c.Xb(a);this.vza(a,b);this.N5(a);this.Id(a,b)};a.prototype.jd=function(a){a.fa(g.Lv);var b=c.Xb(a);if(b){this.IAa(b);this.N5(b);a.fa(g.Lv)}};a.prototype.vza=function(a,b){a.userData.Mta=b.opacity;a.userData.envMapIntensity=b.envMapIntensity;a.userData.r$=b.m9};a.prototype.IAa=function(a){a.userData.Mta=l;a.userData.envMapIntensity=l;a.userData.r$=l};a.prototype.N5=function(a){var b=this.Xga(a),
c=this.vDa(a),d=this.uDa(a);if(a.material){if(b===l&&c===l)this.fU(a);else{var e=a.userData.bv||a.material;if(e.opacity!==l){var g=e.opacity*(b===l?1:b);if(a.material.opacity!==g){this.vga(a);a.material.opacity=g;a.material.transparent=g<1?m:e.transparent;a.material.visible=g>0;a.material.needsUpdate=m}}if(e.envMapIntensity!==l){e=e.envMapIntensity*(c===l?1:c);if(a.material.envMapIntensity!==e){this.vga(a);a.material.envMapIntensity=e;a.material.needsUpdate=m}}}var p=this.hDa(d);(a.material.map==
r?[]:Array.isArray(a.material.map)?a.material.map:[a.material.map]).forEach(function(a){if(a.anisotropy!==p){a.anisotropy=p;a.needsUpdate=m}})}a.children&&a.children.forEach(function(a){a.userData.qQa=b;a.userData.pQa=c;a.userData.r$=d;this.N5(a)}.bind(this))};a.prototype.hDa=function(a){return 1+Math.round((a||0)*(c.vra().capabilities.getMaxAnisotropy()-1))};a.prototype.vga=function(a){if(a.userData.bv===l){a.userData.bv=a.material;a.material=a.material.clone()}};a.prototype.fU=function(a){if(a.userData.bv!==
l){a.material=a.userData.bv;delete a.userData.bv}};a.prototype.Xga=function(a){var b=a.userData.Mta,a=a.userData.qQa;if(!(a===l&&b===l)){b=(a!==l?a:1)*(b!==l?b:1);return b===1?l:b}};a.prototype.vDa=function(a){var b=a.userData.envMapIntensity,a=a.userData.pQa;if(!(a===l&&b===l)){b=(a!==l?a:1)*(b!==l?b:1);return b===1?l:b}};a.prototype.uDa=function(a){var b=a.userData.m9;if(b!==l)return b;a=a.userData.r$;if(a!==l)return a};a.prototype.Id=function(a,b){var c=this.Xga(a);if(c!==l){c=c>0;if(a.userData.oUa!==
c){a.userData.oUa=c;b.Ga&&b.Ga.trigger(c?e.Wc:e.cd)}}};a.A={};a.A.jta=[g.pq,g.Object3D,g.Lv.not];a.A.ita=[g.pq,g.Object3D,g.Lv];a.A.kta=[g.pq.not,g.Lv];a.A.lta=[g.Object3D.not,g.Lv];return a});
define("nO",["require","nV","fm","ch"],function(a){function b(a){this.k=a;this.Ipa=this.Sq=this.Pc=r;this.sG=-1}a("nV");var e=a("fm");a("ch");b.prototype.frame=function(){if(!this.Sq&&(this.Sq=this.k.getComponent(e.tg).i$)){var a=this.Sq.userData&&this.Sq.userData.gltfExtensions&&this.Sq.userData.gltfExtensions.KHR_materials_variants;this.Ipa=a&&a.variants||[];this.update()}};b.prototype.update=function(){var a=this.k.getComponent(e.Es).name,b=this.Ipa.findIndex(function(b){return b.name==a}),c=this.Sq.scene;
this.Pc!=c?(this.Pc&&this.yma(this.Pc),this.Pc=c,this.sG=b,this.Pc&&this.Ana(this.Pc,this.sG)):this.sG!=b&&(this.sG=b,this.Pc&&this.Ana(this.Pc,this.sG));this.k.P.nb()};b.prototype.yma=function(a){this.tea(a,-1)};b.prototype.Ana=function(a,b){this.cGa(a,b,function(){this.Pc==a&&this.sG==b&&this.tea(a,b)}.bind(this))};b.prototype.cGa=function(a,b,c){var e=[];a.traverse(function(a){var c=a.isMesh&&a.userData.gltfExtensions&&a.userData.gltfExtensions.KHR_materials_variants;if(c=c&&c.mappings)a.userData.bv||
(a.userData.bv=a.material),a.userData.Fy||(a.userData.Fy={}),(c=c.find(function(a){return a.variants.indexOf(b)!=-1}))&&e.push(this.Sq.parser.getDependency("material",c.material).then(function(c){a.userData.Fy[b]||(a.userData.Fy[b]=c)}))}.bind(this));Promise.all(e).then(function(){c(a,b)})};b.prototype.tea=function(a,b){a.traverse(function(a){if(a.userData.Fy){var d=a.userData.Fy[b];d?(a.material=d,this.Sq.parser.assignFinalMaterial(a)):a.material=a.userData.bv}}.bind(this));this.k.P.nb()};b.prototype.dispose=
function(){this.Pc&&(this.yma(this.Pc),this.Pc=r)};b.rc=function(a){a.B(e.xo).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.xo);b.manager.dispose();b.manager=r;a.fa(e.xo)};b.update=function(a){a.getComponent(e.xo).manager.update()};b.frame=function(a){a.getComponent(e.xo).manager.frame()};return b});
define("hd",["require","kL","kV","fm","nO"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("nO"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.nta.entities.length&&this.nta.entities.slice().forEach(g.rc);this.fX.entities.length&&this.fX.entities.slice().forEach(g.frame);this.fX.Oa.length&&this.fX.Oa.slice().forEach(g.update);this.ota.entities.length&&this.ota.entities.slice().forEach(g.Gb);this.pta.entities.length&&this.pta.entities.slice().forEach(g.Gb);
this.qta.entities.length&&this.qta.entities.slice().forEach(g.Gb)};a.A={};a.A.nta=[d.Es,d.tg,d.Object3D,d.xo.not];a.A.fX=[d.Es,d.tg,d.Object3D,d.xo];a.A.ota=[d.Es.not,d.xo];a.A.pta=[d.Object3D.not,d.xo];a.A.qta=[d.tg.not,d.xo];return a});
define("hr",["require","fm"],function(a){var b=a("fm");return{rc:function(a){var d=a.B(b.qq);a.B(b.ta);var g=a.D(b.Mesh);a.B(b.Object3D).Rc=d.ao=g.ao=new THREE.Mesh(a.getComponent(b.Geometry).geometry,a.getComponent(b.Material).material);g.ao.renderOrder=g.renderOrder},update:function(a){var d=a.D(b.qq);d.ao.geometry=a.getComponent(b.Geometry).geometry;d.ao.material=a.getComponent(b.Material).material;d.ao.renderOrder=a.getComponent(b.Mesh).renderOrder},Gb:function(a){a.getComponent(b.qq).ao=r;a.fa(b.qq);
a.fa(b.Object3D)}}});
define("fd",["require","kL","kV","fm","hr"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("hr"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.uta.entities.length&&this.uta.entities.slice().forEach(g.rc);this.tta.Oa.length&&this.tta.Oa.slice().forEach(g.update);this.gX.entities.length&&this.gX.entities.slice().forEach(g.Gb);this.VQa.entities.length&&this.gX.entities.slice().forEach(g.Gb);this.WQa.entities.length&&this.gX.entities.slice().forEach(g.Gb)};a.A=
{};a.A.uta=[d.Mesh,d.Geometry,d.Material,d.qq.not];a.A.tta=[d.Mesh,d.Geometry,d.Material,d.qq];a.A.gX=[d.Mesh.not,d.qq];a.A.VQa=[d.Geometry.not,d.qq];a.A.WQa=[d.Material.not,d.qq];return a});
define("on",["require","kL","nV","fQ"],function(a){function b(a){this.Hqa=a;this.Fg=0;this.J9=B}var e=a("kL"),d=a("nV"),g=a("fQ"),a=e.extend(g,function(a){g.call(this);this.km=new Map;this.mE=a||this});a.prototype.lSa=function(a){if(this.mE=a)this.nj(),this.l8()};a.prototype.Gqa=function(){this.km.forEach(function(a,b){this.YT(b)}.bind(this));this.km=new Map};a.prototype.tl=function(){var a=0;this.km.forEach(function(b){b.J9&&a++});return a==this.km.size};a.prototype.dispose=function(){this.Gqa();
this.mE=this.km=r};a.prototype.nN=function(a,d){if(!this.km.has(a))return this.km.set(a,new b(d||1)),this.Iya(a),a};a.prototype.uX=function(a){this.km.has(a)&&(this.km["delete"](a),this.YT(a))};a.prototype.UB=function(a){return this.nN(new g,a)};a.prototype.Yc=function(a){var a=a.source,b=this.km.get(a);b&&(this.YT(a),b.Fg=100,b.J9=m,this.nj(),this.l8())};a.prototype.$h=function(a){this.km.get(a.source).Fg=a.data.percent;this.nj()};a.prototype.pf=function(a){a=a.source;this.YT(a);a=this.km.get(a);
a.J9=m;a.Fg=100;this.mE.trigger(d.tc);this.nj();this.l8()};a.prototype.nj=function(){var a=0,b=0;this.km.forEach(function(d){b+=d.Hqa;a+=d.Fg*d.Hqa});this.mE.trigger(d.dc,{percent:a/b})};a.prototype.l8=function(){this.tl()&&this.mE.trigger(d.T)};a.prototype.Iya=function(a){a.bind(d.T,this.Yc,this,m);a.bind(d.dc,this.$h,this,m);a.bind(d.tc,this.pf,this,m)};a.prototype.YT=function(a){a.unbind(d.T,this.Yc,this,m);a.unbind(d.dc,this.$h,this,m);a.unbind(d.tc,this.pf,this,m)};return a});
define("kA",["require","nV","mT","fm","ch"],function(a){function b(a){this.k=a;this.j=this.k.getComponent(g.tg).Cb;this.oe=r;this.$Q=l;i.forEach(function(a){this.j.bind(e.u(a),this.Be,this,m)}.bind(this));this.update()}var e=a("nV"),d=a("mT"),g=a("fm"),c=a("ch"),i=["floorColor","floorHeight","floorOpacity","floorRadius"];b.prototype.update=function(){var a=this.j.get("floorColor");if(this.$Q!=a&&(!a&&this.oe&&(this.Xfa(this.oe),this.oe=r),this.$Q=a))this.oe||(this.oe=this.tBa()),this.YJa(this.oe,
this.$Q);a=this.j.get("floorOpacity");this.oe&&this.oe.material.opacity!=a&&(this.oe.material.opacity=a);a=this.j.get("floorHeight");this.oe&&this.oe.position.y!=a&&(this.oe.position.y=a);a=this.j.get("floorRadius");this.oe&&this.oe.scale.x!=a&&(this.oe.scale.x=this.oe.scale.y=this.oe.scale.z=a)};b.prototype.frame=function(){if(this.oe&&!this.oe.parent){for(var a=c.Xb(this.k);a&&!a.isScene;)a=a.parent;a&&a.add(this.oe)}};b.prototype.dispose=function(){i.forEach(function(a){this.j.unbind(e.u(a),this.Be,
this,m)}.bind(this));this.oe&&(this.Xfa(this.oe),this.oe=r)};b.prototype.Be=function(){this.k.P.nb();this.update()};b.prototype.tBa=function(){var a=new THREE.BoxGeometry(1E3,0.001,1E3),a=new THREE.CircleGeometry(1,128),a=new THREE.Mesh(a);a.receiveShadow=m;a.position.y=0;a.rotation.x=0.5*-Math.PI;a.needsUpdate=m;return a};b.prototype.YJa=function(a,b){var c=a.material;if(c&&(!c.isShadowMaterial&&"transparent"==b||!c.ZVa&&"transparent"!=b))c.dispose(),c=r;"transparent"==b?c||(c=new THREE.ShadowMaterial):
(c||(c=new THREE.MeshStandardMaterial,c.defines.USE_UV="",c.onBeforeCompile=function(a){var b=a.fragmentShader.lastIndexOf("}");a.fragmentShader=a.fragmentShader.substring(0,b)+"float uvCenterCoef = 2.0 * length(vUv - 0.5);\nfloat uvAlphaCoef = 1.0 - smoothstep(0.97, 1.0, uvCenterCoef);\ngl_FragColor.a = uvAlphaCoef * gl_FragColor.a;\n"+a.fragmentShader.substring(b,a.fragmentShader.length)},c.roughness=1,c.metalness=0,c.envMapIntensity=0,c.transparent=m),c.color=new THREE.Color(d.LC(b)));c.needsUpdate=
m;a.material=c};b.prototype.Xfa=function(a){a.parent&&a.parent.remove(a);a.material&&a.material.dispose();a.material=r;a.geometry&&a.geometry.dispose();a.geometry=r};return b});
define("lL",["require","nV","fm"],function(a){function b(a){this.k=a;this.Jr=a.P;this.j=this.k.getComponent(d.tg).Cb;this.j.bind(e.u("lights"),this.k8,this,B);this.qa=r;this.St=[];this.N3=new Map;this.update()}var e=a("nV"),d=a("fm");b.prototype.update=function(){var a=this.k.getComponent(d.Object3D),a=a&&a.Rc;this.qa!=a&&(this.qa=a,this.k8())};b.prototype.k8=function(){this.ina(this.qa?this.j.get("lights",[]).length?this.j.get("lights"):[]:[])};b.prototype.dispose=function(){this.qa=r;this.j.unbind(e.u("lights"),
this.k8,this,B);this.ina([])};b.prototype.ina=function(a){this.St!=a&&(this.St.forEach(function(b){0>a.indexOf(b)&&this.GIa(b)}.bind(this)),a.forEach(function(a){0>this.St.indexOf(a)&&this.Hya(a)}.bind(this)),this.St=a)};b.prototype.Hya=function(a){var b=this.Jr.td("Light"),e=b.B(d.Light);e.Cb=a;e.target=this.k;this.N3.set(a,b)};b.prototype.GIa=function(a){var b=this.N3.get(a);this.N3["delete"](a);this.Jr.Ef(b)};return b});
define("lI",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("Model3DResourceLevel",b,function(){b.call(this)});a.rP="mobile";a.prototype.get=function(a,d){switch(a){case "levels":d=[this];break;case "url":for(var g=b.prototype.get.call(this,a),c=this.get("levels"),i=0;c&&i<c.length&&g===l;i++){var f=c[i];f!=this&&(g=f.get(a))}return g!==l?g:d}return b.prototype.get.call(this,a,d)};return a});
define("mv",["require"],function(){function a(a){this.R=a}var b=new THREE.Raycaster,e=new THREE.Vector3,d=new THREE.Vector3(0,-1,0),g=new THREE.Vector3(0,1,0);a.prototype.ZTa=function(a,d){b.ray.origin.copy(a);e.copy(d).sub(a);var f=e.length();e.normalize();b.ray.direction.copy(e);return 0<b.intersectObjects(this.Gw(),B).filter(function(a){if(a.distance>=0.98*f||!a.object.visible)return B;a=Array.isArray(a.object.material)&&a.face?a.object.material[a.face.materialIndex]:a.object.material;return!a||
a.visible}).length};a.prototype.cPa=function(a){b.ray.origin.copy(a);b.ray.direction.copy(d);var a=this.Gw(),e=b.intersectObjects(a,B);if(0<e.length)return e[0].distance;b.ray.direction.copy(g);e=b.intersectObjects(a,B);if(0<e.length)return-e[0].distance};a.prototype.Gw=function(){var a=[];this.R.traverse(function(b){!b.isSprite&&!b.isLine&&a.push(b)});return a};return a});
define("ba",["require","ch"],function(a){function b(a,b){this.la=a;this.NEa=b}var e=a("ch");b.prototype.vPa=function(a){return(a=this.Xb(a))&&a.matrixWorld};b.prototype.Xb=function(a){return!a?e.Xb(this.la):e.bC(this.NEa,a)};return b});
define("dC",["require","kL","nV","fQ","hX"],function(a){var b=a("kL"),e=a("nV"),d=a("fQ"),g=a("hX"),a=b.extend(d,function(a,b){d.call(this);this.Tc=a;this.lr=b;this.nr=new Request(a);this.Eea=this.tp=r;this.nM=this.nM.bind(this);this.Gz=this.Gz.bind(this)});a.prototype.start=function(){this.FA||(this.Hz=B,this.FA=g.add(this.Tc,this.lr,this.nM,this.Gz))};a.prototype.nM=function(){0==this.Tc.indexOf("filesystem:")?this.KCa():this.LCa()};a.prototype.KCa=function(){var a=new XMLHttpRequest;a.open("GET",
this.Tc,m);a.responseType="arraybuffer";a.onload=function(){this.kka(a.response);a.onload=a.onerror=r}.bind(this);a.onerror=function(){this.gka();a.onload=a.onerror=r};a.send()};a.prototype.LCa=function(){fetch(this.nr).then(function(a){if(this.Hz)return a.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!a.ok)return Promise.resolve(a);var b=a.headers.get("content-length")||a.headers.get("x-content-length"),d=l,j=0;b!==r&&(d=parseInt(b,10));this.tp=a.body.getReader();
var g=B,k=function(a){this.Hz?a.close():g=m}.bind(this),o=function(a){return this.tp.read().then(function(b){var c=b.value;c&&(j+=c.byteLength,a.enqueue(c));b.done&&(d=j,p(a));this.trigger(e.dc,{totalBytes:d,bytesLoaded:j,percent:j<d?100*j/d:100})}.bind(this))["catch"](function(b){console.log("Error reading response",b);a.error(b)}.bind(this))}.bind(this),p=function(a){g&&(a.close(),g=B,this.tp=r)}.bind(this);return new Response(new ReadableStream({start:function(a){return k(a)},pull:function(a){return o(a)},
cancel:function(){p()}}))}.bind(this)).then(function(a){return a.arrayBuffer()}.bind(this)).then(function(a){this.kka(a)}.bind(this))["catch"](function(){this.gka()}.bind(this))};a.prototype.cancel=function(){this.FA&&(this.FA.cancel(),this.FA=r)};a.prototype.Gz=function(){this.Hz=m;this.tp&&this.tp.cancel()};a.prototype.kka=function(a){this.Eea=a;this.FA&&(this.FA.loaded(),this.FA=r);this.trigger(e.T)};a.prototype.gka=function(){this.cancel();this.trigger(e.tc)};a.prototype.getData=S("Eea");return a});
define("er","require,nV,hA,lI,mv,ba,ch,fm,dC,u,lR,lG".split(","),function(a){function b(a,b,c,e){this.k=a;this.Nf=b;this.K4=this.K4.bind(this);this.L4=this.L4.bind(this);a=this.k.getComponent(j.tg);this.j=a.Cb;this.hj=e;this.qe=c;this.Ud=this.hj.UB(1);this.qe.nN(this.Ud,1);this.qa=this.Sq=r;this.Tc=this.JEa(a.wta);this.CE=new THREE.GLTFLoader;this.PE=new THREE.KTX2Loader;this.PE.setTranscoderPath(THREE.vwa);this.PE.detectSupport(f.vra());this.CE.setKTX2Loader(this.PE);this.CE.setMeshoptDecoder(THREE.MeshoptDecoder);
this.Qo=new n(this.Tc,d.iD);this.Bya();this.Qo.start()}var e=a("nV"),d=a("hA"),g=a("lI"),c=a("mv"),i=a("ba"),f=a("ch"),j=a("fm"),n=a("dC"),k=a("u"),o=a("lR"),p=a("lG");b.prototype.JEa=function(a){var b,c=a.get("levels");if(!b&&k.mb())b=(b=c.find(function(a){return a.get("tags").indexOf(g.rP)>-1}))&&b.get("url");b||c.length&&(b=c[0].get("url"));b||(b=a.get("url"));return b};b.prototype.update=G();b.prototype.Yc=function(){this.CE.parse(this.Qo.getData(),p.getDirectory(this.Tc),this.K4,this.L4)};b.prototype.$h=
function(a){this.Ud.trigger(e.dc,a.data)};b.prototype.pf=function(a){o.XC&&a&&a.message&&console.error(a.message);this.Ud.trigger(e.tc)};b.prototype.L4=function(a){o.XC&&a&&a.message&&console.error(a.message);this.Ud.trigger(e.tc)};b.prototype.K4=function(a){if(this.CE){a.scene.traverse(function(a){if(a.isMesh)a.material.depthWrite=!a.material.transparent});this.qa=a.scene;this.jza(this.qa);this.Nf.B(j.Object3D).Rc=this.qa;this.k.D(j.tg,m).i$=a;this.xya();this.j.set("geometryQuery",new c(this.qa));
this.j.set("objectQuery",new i(this.k,this.qa));this.mV()}};b.prototype.xya=function(){var a=this.k.getComponent(j.tg);this.k.B(j.tv).Cb=a.Cb};b.prototype.mV=function(){this.j.set("isLoaded",m);this.Ud.trigger(e.T)};b.prototype.jza=function(a){if(a.userData.id===l)a.userData.id="root";for(var b=[a];b.length;){var c=b.shift(),a=[];c.children&&(a=a.concat(c.children));c.isSkinnedMesh&&(a=a.concat(c.skeleton.bones));a.forEach(function(a,d){if(a.userData.id===l)a.userData.id=c.userData.id+"/"+d;b.push(a)})}};
b.prototype.Bya=function(){this.Qo.bind(e.T,this.Yc,this,m);this.Qo.bind(e.dc,this.$h,this,m);this.Qo.bind(e.tc,this.pf,this,m)};b.prototype.AIa=function(){this.Qo.unbind(e.T,this.Yc,this,m);this.Qo.unbind(e.dc,this.$h,this,m);this.Qo.unbind(e.tc,this.pf,this,m)};b.prototype.dispose=function(){if(this.Qo){this.AIa();this.Qo.cancel();this.Qo=r}if(this.CE)this.CE=r;if(this.qa){this.qa.traverse(function(a){function b(a){a&&c.indexOf(a)<0&&c.push(a)}var c=[];b(a.material);b(a.userData.bv);if(a.userData.Fy)for(var d in a.userData.Fy)b(a.userData.Fy[d]);
c.forEach(function(a){a.dispose();Object.keys(a).forEach(function(b){(b=a[b])&&typeof b==="object"&&"minFilter"in b&&b.dispose()})});a.geometry&&a.geometry.userData.vqa&&a.geometry.disposeBoundsTree();a.geometry&&a.geometry.dispose()});this.qa=r;this.Nf.fa(j.Object3D)}if(this.PE){this.PE.dispose();this.PE=r}if(this.Ud){this.qe.uX(this.Ud);this.hj.uX(this.Ud);this.qe=this.Ud=r}if(this.j){this.j.set("geometryQuery",r);this.j.set("objectQuery",r);this.j.set("isLoaded",B);this.j=r}};return b});
define("jv","require,jY,ll,nV,fQ,fm,ch".split(","),function(a){function b(a,b,d){this.la=a;this.hE=b;this.q=d;this.Me=this.Me.bind(this);this.Uk=this.Uk.bind(this);this.Cf=1;this.K=B;this.kea=new Map;this.Pg=[];this.Mg=this.la.P.td("DraggingPositionContainer");this.Mg.B(c.Group);this.Mg.B(c.ta);this.Pg.push(this.Mg);this.pc=r;this.wz=[this.Xpa=this.q0("x"),this.Ypa=this.q0("y"),this.Zpa=this.q0("z")];this.wz.forEach(function(a){this.Px(a,function(a){a.opacity=0.5;a.depthTest=B});a.B(c.wb).Kb=this.Mg}.bind(this));
e.ea(this.q,q,this.Me,m);e.ea(this.q,t,this.Uk,m)}var e=a("jY");a("ll");var d=a("nV"),g=a("fQ"),c=a("fm"),i=a("ch");b.prototype.dispose=function(){e.da(this.q,q,this.Me);e.da(this.q,t,this.Uk);var a=this.la.P;this.Pg.forEach(function(b){a.Ef(b)});this.q=this.la=this.wz=this.k=this.Pg=r};b.prototype.frame=function(){if(this.K){this.YL(i.YG(this.Mg)||1);if(this.pc){var a=this.hE.getComponent(c.ta);this.q.set("x",a.we);this.q.set("y",a.ae);this.q.set("z",a.tf)}else this.wMa()}};var f=new THREE.Vector3,
j=new THREE.Vector3,n=new THREE.Euler,k=new THREE.Quaternion,o=new THREE.Matrix4,p=180/Math.PI;b.prototype.q0=function(a){var b=this.la.P.td("DraggingArrow");this.Pg.push(b);b.B(c.Group);var d=b.D(c.ta,m);if(a==="x")d.Ue=-90;else if(a=="z")b.D(c.ta,m).Te=90;a=this.la.P.td("DraggingArrowCylinder");this.Pg.push(a);a.B(c.Mesh).renderOrder=1;a.B(c.Geometry).geometry=new THREE.CylinderGeometry(0.05,0.05,0.85,16,1,m);a.B(c.Bc);a.B(c.wb).Kb=b;a.D(c.ta,m).ae=-0.075;d=this.la.P.td("DraggingArrowCone");this.Pg.push(d);
d.B(c.Mesh).renderOrder=1;d.B(c.Geometry).geometry=new THREE.ConeGeometry(0.05,0.15,16,1,m);d.B(c.Bc);d.B(c.wb).Kb=b;d.D(c.ta,m).ae=0.425;this.kea.set(b,[a,d]);return b};b.prototype.YL=function(a){if(this.Cf!=a){this.Cf=a;this.Me()}};b.prototype.Me=function(){var a=this.q.get("draggableArrowLength")*this.Cf;this.Px(this.Xpa,function(a){a.color=this.q.get("draggableXControlsColor")}.bind(this));var b=this.Xpa.D(c.ta,m);b.scale=a;b.Yg=a/2;this.Px(this.Ypa,function(a){a.color=this.q.get("draggableYControlsColor")}.bind(this));
b=this.Ypa.D(c.ta,m);b.scale=a;b.Ig=a/2;this.Px(this.Zpa,function(a){a.color=this.q.get("draggableZControlsColor")}.bind(this));b=this.Zpa.D(c.ta,m);b.scale=a;b.Zf=a/2};b.prototype.wMa=function(){var a=i.Xb(this.hE);if(a){o.copy(a.matrixWorld).invert().decompose(f,k,j);a=this.Mg.getComponent(c.ta);n.setFromQuaternion(k,a.pg);n.x=n.x*p;n.y=n.y*p;n.z=n.z*p;if(a.Te!=n.x||a.xe!=n.y||a.Ue!=n.z){a=this.Mg.D(c.ta);a.Te=n.x;a.xe=n.y;a.Ue=n.z}}};b.prototype.Uk=function(){var a=this.q.get("positionDraggable");
if(this.K!=a)if(this.K=a){this.Mg.B(c.wb).Kb=this.hE;this.wz.forEach(function(a){a=a.B(c.xd);a.hv=m;a.Qu=m;a.Ga=new g;a.Ga.bind(d.kd,this.mF,this,m);a.Ga.bind(d.jc,this.sm,this,m);a.Ga.bind(d.Hb,this.rm,this,m);a.Ga.bind(d.ic,this.br,this,m)}.bind(this))}else{this.Mg.fa(c.wb);this.wz.forEach(function(a){a.fa(c.xd)})}};b.prototype.mF=function(a){(a=this.Ek(a))&&a!=this.pc&&this.Px(a,function(a){a.opacity=1})};b.prototype.sm=function(a){(a=this.Ek(a))&&a!=this.pc&&this.Px(a,function(a){a.opacity=0.5})};
b.prototype.rm=function(a){this.Rx(this.Ek(a))};b.prototype.br=function(a){a=this.Ek(a);if(a==this.pc){this.Rx(r);this.wz.indexOf(a)!=-1&&this.q.trigger(d.Js)}};b.prototype.Px=function(a,b){this.kea.get(a).forEach(function(a){b(a.D(c.Bc))}.bind(this))};b.prototype.Ek=function(a){a=this.wz.map(function(a){return a.getComponent(c.xd).Ga}).indexOf(a.source);return a==-1?r:this.wz[a]};b.prototype.Rx=function(a){if(this.pc){this.Px(this.pc,function(a){a.opacity=0.5});this.hE.fa(c.jo)}if(this.pc=a){this.Px(this.pc,
function(a){a.opacity=1});var a=i.getWorldPosition(this.hE),b=i.getWorldPosition(this.pc);this.hE.B(c.jo).direction=b.sub(a)}};var q=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],t=["positionDraggable"];return b});
define("m","require,jY,nV,fQ,fm,ch".split(","),function(a){function b(a,b,d){this.la=a;this.k=b;this.q=d;this.Qj=this.Qj.bind(this);this.Me=this.Me.bind(this);this.Uk=this.Uk.bind(this);this.pc=r;this.K=B;this.UT=[1,1,1,1,1,1];this.Pg=[];this.Lf=[this.xG=this.Ko(),this.wG=this.Ko(),this.zG=this.Ko(),this.yG=this.Ko(),this.BG=this.Ko(),this.AG=this.Ko()];this.Lf.forEach(function(a){a=a.D(c.Bc);a.opacity=0.5;a.depthTest=B}.bind(this));e.ea(this.q,k,this.Me,m);e.ea(this.q,o,this.Qj,m);e.ea(this.q,p,
this.Uk,m)}var e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm"),i=a("ch");b.prototype.frame=function(){if(this.K){this.aKa(this.Lf.map(function(a){return i.YG(a)||1}));if(this.pc){var a=i.Xb(this.k),b=i.Xb(this.wE(this.pc));if(a&&b){j.copy(a.matrixWorld).invert();f.setFromMatrixPosition(b.matrixWorld).applyMatrix4(j);var a=this.q.get("x"),b=this.q.get("y"),c=this.q.get("z"),d=this.q.get("width"),e=this.q.get("height"),g=this.q.get("depth"),n=0,k=0,o=0,p=0,F=0,L=0;switch(this.pc){case this.xG:p=f.x-d*0.5;n=
p*0.5;break;case this.wG:p=-f.x-d*0.5;n=-p*0.5;break;case this.zG:F=f.y-e*0.5;k=F*0.5;break;case this.yG:F=-f.y-e*0.5;k=-F*0.5;break;case this.BG:L=f.z-g*0.5;o=L*0.5;break;case this.AG:L=-f.z-g*0.5;o=-L*0.5}this.q.set("x",a+n);this.q.set("width",d+p);this.q.set("y",b+k);this.q.set("height",e+F);this.q.set("z",c+o);this.q.set("depth",g+L)}}}};var f=new THREE.Vector3,j=new THREE.Matrix4;b.prototype.Ko=function(){var a=this.la.P.td("DraggingSphere");this.Pg.push(a);a.B(c.Mesh).renderOrder=2;a.B(c.Geometry).geometry=
new THREE.SphereGeometry;a.B(c.Bc);return a};b.prototype.Me=function(){this.xG.D(c.Bc).color=this.q.get("draggableXControlsColor");this.wG.D(c.Bc).color=this.q.get("draggableXControlsColor");this.zG.D(c.Bc).color=this.q.get("draggableYControlsColor");this.yG.D(c.Bc).color=this.q.get("draggableYControlsColor");this.BG.D(c.Bc).color=this.q.get("draggableZControlsColor");this.AG.D(c.Bc).color=this.q.get("draggableZControlsColor");var a=this.q.get("draggableSphereRadius");this.Lf.forEach(function(b,d){b.D(c.ta,
m).scale=a*this.UT[d]}.bind(this))};b.prototype.Qj=function(){this.xG.D(c.ta,m).we=this.q.get("width")/2;this.wG.D(c.ta,m).we=-this.q.get("width")/2;this.zG.D(c.ta,m).ae=this.q.get("height")/2;this.yG.D(c.ta,m).ae=-this.q.get("height")/2;this.BG.D(c.ta,m).tf=this.q.get("depth")/2;this.AG.D(c.ta,m).tf=-this.q.get("depth")/2};b.prototype.Uk=function(){var a=this.q.get("sizeDraggable");if(this.K!=a){this.K=a;this.Lf.forEach(function(b){if(a){b.B(c.wb).Kb=this.k;this.Lf.forEach(function(a){a=a.B(c.xd);
a.hv=m;a.Qu=m;a.Ga=new g;a.Ga.bind(d.kd,this.bF,this,m);a.Ga.bind(d.jc,this.A4,this,m);a.Ga.bind(d.Hb,this.y4,this,m);a.Ga.bind(d.ic,this.z4,this,m)}.bind(this))}else{b.fa(c.wb);this.Lf.forEach(function(a){a.fa(c.xd)}.bind(this))}}.bind(this))}};b.prototype.aKa=function(a){for(var b=B,c=0;c<this.UT.length&&!b;c++)b=this.UT[c]!=a[c];if(b){this.UT=a;this.Me()}};b.prototype.bF=function(a){if((a=this.Ek(a))&&a!=this.pc)a.D(c.Bc).opacity=1};b.prototype.A4=function(a){if((a=this.Ek(a))&&a!=this.pc)a.D(c.Bc).opacity=
0.5};b.prototype.Ek=function(a){a=this.Lf.map(function(a){return a.getComponent(c.xd).Ga}).indexOf(a.source);return a==-1?r:this.Lf[a]};b.prototype.y4=function(a){this.Rx(this.Ek(a))};b.prototype.z4=function(a){a=this.Ek(a);if(a==this.pc){this.Rx(r);this.Qj();(a=this.Lf.indexOf(a)!=-1)&&this.q.trigger(d.Js);a&&this.q.trigger(d.Nca)}};b.prototype.Rx=function(a){if(this.pc){this.pc.D(c.Bc).opacity=0.5;this.wE(this.pc).fa(c.jo)}if(this.pc=a){this.pc.D(c.Bc).opacity=1;a=this.wE(this.pc).B(c.jo);a.direction=
this.FDa(this.pc);a.min=this.GDa(this.pc)}};b.prototype.FDa=function(a){var b=i.getWorldPosition(this.k);return i.getWorldPosition(a).sub(b)};b.prototype.wE=function(a){return this.Lf.indexOf(a)!=-1?a:r};b.prototype.GDa=function(a){var b=this.fEa(a);if(b){var b=i.getWorldPosition(b),c=i.getWorldPosition(a).sub(b),d;switch(a){case this.xG:case this.wG:d=this.q.get("minWidth");break;case this.zG:case this.yG:d=this.q.get("minHeight");break;case this.BG:case this.AG:d=this.q.get("minDepth")}return b.add(c.setLength(d||
n))}};b.prototype.fEa=function(a){switch(a){case this.xG:return this.wG;case this.wG:return this.xG;case this.zG:return this.yG;case this.yG:return this.zG;case this.BG:return this.AG;case this.AG:return this.BG}return r};b.prototype.dispose=function(){e.da(this.q,k,this.Me);e.da(this.q,o,this.Qj);e.da(this.q,p,this.Uk);var a=this.la.P;this.Pg.forEach(function(b){a.Ef(b)});this.q=this.la=this.Lf=this.k=this.Pg=r};var n=1.0E-6,k=["draggableSphereRadius","draggableXControlsColor","draggableYControlsColor",
"draggableZControlsColor"],o=["depth","height","x","y","z","width"],p=["sizeDraggable"];return b});
define("cn","require,jY,ll,nV,fm,jv,m".split(","),function(a){function b(a,b,o){this.la=a;this.q=o;this.Qj=this.Qj.bind(this);this.Me=this.Me.bind(this);this.k=this.dBa();a=this.k.B(g.wb);a.Kb=this.la;a.id=this.q.get("parentId");this.Iq=this.r0();this.Iq.B(g.wb).Kb=this.k;this.gJ=this.rBa();this.gJ.B(g.wb).Kb=this.k;this.Pg=[this.k,this.Iq,this.gJ];this.Xz=new c(this.la,this.k,this.q);this.l1=new i(this.la,this.k,this.q);a=this.k.B(g.xd);a.Qu=m;a.hv=m;a.Ga=this.q;e.ea(this.q,f,this.Me,m);e.ea(this.q,
j,this.Qj,m);this.q.trigger(d.Wc)}var e=a("jY");a("ll");var d=a("nV"),g=a("fm"),c=a("jv"),i=a("m");b.prototype.frame=function(){this.Xz.frame();this.l1.frame()};b.prototype.dBa=function(){var a=this.la.P.td("Box");a.B(g.Group);return a};b.prototype.r0=function(){var a=this.la.P.td("BoxBorder");a.B(g.Line);a.B(g.Geometry).geometry=this.eBa();a.B(g.Mi);return a};b.prototype.rBa=function(){var a=this.la.P.td("BoxFace");a.B(g.Mesh);a.B(g.Geometry).geometry=new THREE.BoxGeometry(1,1,1);a.B(g.Bc);return a};
b.prototype.eBa=function(){var a=[new THREE.Vector3(-0.5,-0.5,0.5),new THREE.Vector3(0.5,-0.5,0.5),new THREE.Vector3(0.5,-0.5,0.5),new THREE.Vector3(0.5,0.5,0.5),new THREE.Vector3(0.5,0.5,0.5),new THREE.Vector3(-0.5,0.5,0.5),new THREE.Vector3(-0.5,0.5,0.5),new THREE.Vector3(-0.5,-0.5,0.5),new THREE.Vector3(-0.5,-0.5,-0.5),new THREE.Vector3(0.5,-0.5,-0.5),new THREE.Vector3(0.5,-0.5,-0.5),new THREE.Vector3(0.5,0.5,-0.5),new THREE.Vector3(0.5,0.5,-0.5),new THREE.Vector3(-0.5,0.5,-0.5),new THREE.Vector3(-0.5,
0.5,-0.5),new THREE.Vector3(-0.5,-0.5,-0.5),new THREE.Vector3(-0.5,-0.5,0.5),new THREE.Vector3(-0.5,-0.5,-0.5),new THREE.Vector3(0.5,-0.5,0.5),new THREE.Vector3(0.5,-0.5,-0.5),new THREE.Vector3(-0.5,0.5,0.5),new THREE.Vector3(-0.5,0.5,-0.5),new THREE.Vector3(0.5,0.5,0.5),new THREE.Vector3(0.5,0.5,-0.5)];return(new THREE.BufferGeometry).setFromPoints(a)};b.prototype.Me=function(){var a=this.Iq.D(g.Mi);a.color=this.q.get("lineColor");a.opacity=this.q.get("lineOpacity");a.width=this.q.get("lineWidth");
a.depthTest=this.q.get("depthTest");a=this.gJ.D(g.Bc);a.color=this.q.get("faceColor");a.opacity=this.q.get("faceOpacity");a.depthTest=this.q.get("depthTest");a=this.k.D(g.xd,m);a.Sm=this.q.get("useHandCursor");a.HH=this.q.get("transparentAreaActive")};b.prototype.Qj=function(){var a=this.k.D(g.ta,m);a.we=this.q.get("x");a.ae=this.q.get("y");a.tf=this.q.get("z");var a=this.Iq.D(g.ta,m),b=this.gJ.D(g.ta,m);b.Yf=a.Yf=this.q.get("width");b.qg=a.qg=this.q.get("height");b.Kh=a.Kh=this.q.get("depth")};b.prototype.dispose=
function(){this.l1.dispose();this.l1=r;this.Xz.dispose();this.Xz=r;e.da(this.q,f,this.Me);e.da(this.q,j,this.Qj);var a=this.la.P;this.Pg.forEach(function(b){a.Ef(b)});this.la=this.gJ=this.Iq=this.k=this.Pg=r;this.q.trigger(d.cd);this.q=r};var f=["transparentAreaActive","useHandCursor"],j=["depth","height","x","y","z","width"];return b});
define("Z",["require"],function(){var a={Vm:function(){this.JTa=this.mva=this.ITa=this.qva=this.pva=this.ova=0;this.HO=B;this.ls=new THREE.CubeTexture;this.WTa=this.Dva=this.VTa=this.Gva=this.Fva=this.Eva=0;this.LO=B;this.ms=new THREE.CubeTexture;this.pg="XYZ";this.position=1},DVa:function(){return new a.Vm},create:function(a){var b=new THREE.ShaderMaterial;b.uniforms={sCube:{value:a.ls},sPos:{value:new THREE.Vector3},sRot:{value:new THREE.Matrix4},sEnabled:{value:B},tCube:{value:a.ms},tPos:{value:new THREE.Vector3},
tRot:{value:new THREE.Matrix4},tEnabled:{value:B},blendingCoef:{value:0}};b.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}";
b.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}";b.side=THREE.DoubleSide;b.depthWrite=m;b.transparent=m;b.needsUpdate=m;this.update(b,a);return b},update:function(a,g){a.uniforms.sCube.value=g.ls;a.uniforms.sPos.value.set(g.ova,g.pva,g.qva);a.uniforms.sRot.value.makeRotationFromEuler(b.set(g.ITa*e,g.mva*e,g.JTa*e,g.pg));a.uniforms.sEnabled.value=
g.HO;a.uniforms.tCube.value=g.ms;a.uniforms.tPos.value.set(g.Eva,g.Fva,g.Gva);a.uniforms.tRot.value.makeRotationFromEuler(b.set(g.VTa*e,g.Dva*e,g.WTa*e,g.pg));a.uniforms.tEnabled.value=g.LO;a.uniforms.blendingCoef.value=g.position;a.needsUpdate=m;return a}},b=new THREE.Euler,e=Math.PI/180;return a});
define("ln",["require","jY","Z","fm","ch"],function(a){function b(a,b,c){this.la=a;this.Nf=b;this.q=c;this.cu=this.cu.bind(this);this.k=this.la.P.td("ProjectedMaterial");this.Pc=this.aa=this.Nb=r}var e=a("jY"),d=a("Z"),g=a("fm"),c=a("ch");b.prototype.frame=function(){!this.Pc&&c.Xb(this.Nf)&&this.zKa()};b.prototype.zKa=function(){this.Nb=new d.Vm;this.aa=d.create(this.Nb);this.aa.polygonOffset=m;this.aa.polygonOffsetUnits=1;this.aa.polygonOffsetFactor=-10;this.aa.needsUpdate=m;this.Pc=this.HBa();
this.k.B(g.Object3D).Rc=this.Pc;var a=this.k.B(g.wb);a.Kb=this.la;a.id=this.q.get("parentId");a.attach=m;e.ea(this.q,f,this.cu,m)};b.prototype.HBa=function(){var a=c.Xb(this.Nf),b=new Map;a.traverse(function(a){if(a.material&&a.userData){var c={};a.material&&(c.material=a.material,a.material=this.aa);a.userData&&(c.userData=a.userData,a.userData={});b.set(a,c)}}.bind(this));a=a.clone();b.forEach(function(a,b){a.material&&(b.material=a.material);a.userData&&(b.userData=a.userData)});var d=c.Yn(this.Nf),
f=d&&c.RN(d);this.hM=new THREE.Mesh(new THREE.BoxGeometry(2,2,2),this.aa);this.kE=d&&c.FW(d);c.QNa(f,this.hM);return a};b.prototype.cu=function(){this.Nb.texture||(this.Nb.texture=new THREE.CubeTexture);this.Nb.texture.image!=this.q.get("faces")&&(this.Nb.texture.image=this.q.get("faces"),this.Nb.texture.encoding=THREE.sRGBEncoding,this.Nb.texture.needsUpdate=m);this.q.get("sourceFaces")?(this.Nb.ls.image!=this.q.get("sourceFaces")&&(this.Nb.ls&&this.Nb.ls.dispose(),this.Nb.ls=new THREE.CubeTexture,
this.Nb.ls.image=this.q.get("sourceFaces"),this.Nb.ls.encoding=this.kE,this.Nb.ls.needsUpdate=m),this.Nb.ova=this.q.get("sourceX"),this.Nb.pva=this.q.get("sourceY"),this.Nb.qva=this.q.get("sourceZ"),this.Nb.mva=this.q.get("sourceYaw"),this.Nb.HO=m):this.Nb.HO=B;this.q.get("targetFaces")?(this.Nb.ms.image!=this.q.get("targetFaces")&&(this.Nb.ms&&this.Nb.ms.dispose(),this.Nb.ms=new THREE.CubeTexture,this.Nb.ms.image=this.q.get("targetFaces"),this.Nb.ms.encoding=this.kE,this.Nb.ms.needsUpdate=m),this.Nb.Eva=
this.q.get("targetX"),this.Nb.Fva=this.q.get("targetY"),this.Nb.Gva=this.q.get("targetZ"),this.Nb.Dva=this.q.get("targetYaw"),this.Nb.LO=m):this.Nb.LO=B;this.Nb.position=this.q.get("position");this.Nb.HO&&this.Nb.LO||this.Nb.HO&&0>=this.Nb.position||this.Nb.LO&&1<=this.Nb.position?c.Xb(this.Nf).visible=B:c.Xb(this.Nf).visible=m;d.update(this.aa,this.Nb);this.k.P.nb()};var i=new THREE.MeshBasicMaterial;b.prototype.dispose=function(){c.Xb(this.Nf).visible=m;this.Pc&&this.Pc.traverse(function(a){a.material==
this.aa&&(a.material=i)}.bind(this));this.hM&&(c.CRa(this.hM.parent,this.hM),this.hM=r);this.aa&&(this.Nb.ls.dispose(),this.Nb.ms.dispose(),this.Nb.texture.dispose(),this.Nb=r,this.aa.dispose(),this.aa=r);e.da(this.q,f,this.cu);this.k&&this.k.P.Ef(this.k);this.q=this.k=this.la=r};var f="sourceX,sourceY,sourceZ,sourceYaw,sourceFaces,targetX,targetY,targetZ,targetYaw,targetFaces,position".split(",");return b});
define("cC","require,jY,nV,fQ,fm,ch".split(","),function(a){function b(a,b,d){this.la=a;this.k=b;this.q=d;this.kF=this.kF.bind(this);this.Me=this.Me.bind(this);this.Uk=this.Uk.bind(this);this.pc=r;this.K=B;this.Cf=1;this.Mg=this.la.P.td("DraggingSize2DContainer");this.Mg.B(c.Group);this.Mg.B(c.ta);this.Lf=[this.T3=this.Ko(),this.L3=this.Ko(),this.q6=this.Ko(),this.U5=this.Ko()];this.Lf.forEach(function(a){a.B(c.ta);a=a.D(c.Bc);a.color="#ffffff";a.opacity=0.5;a.depthTest=B}.bind(this));this.Iq=this.r0();
this.Pg=[this.Mg,this.Iq].concat(this.Lf);[this.Iq].concat(this.Lf).forEach(function(a){a.B(c.wb).Kb=this.Mg}.bind(this));e.ea(this.q,u,this.kF,m);e.ea(this.q,s,this.Me,m);e.ea(this.q,w,this.Uk,m)}var e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm"),i=a("ch"),f=new THREE.Matrix4,j=new THREE.Vector3,n=new THREE.Vector3;new THREE.Quaternion;new THREE.Vector3;var k=new THREE.Quaternion,o=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Euler,t=180/Math.PI;b.prototype.frame=function(){if(this.K){var a=i.Xb(this.Mg),
b=a&&i.Z9(a),d=b&&i.RN(b);if(d){if(this.pc){var e=i.Ora(b),b=i.GW(b);i.getWorldPosition(this.k,p).project(d);p.x=(p.x+1)*e*0.5;p.y=(1-p.y)*b*0.5;i.getWorldPosition(this.pc,o).project(d);o.x=(o.x+1)*e*0.5;o.y=(1-o.y)*b*0.5;var e=this.q.get("anchorX"),b=this.q.get("anchorY"),g,u,s=p.x-o.x,w=o.y-p.y,z=-s,K=-w;if(this.L3===this.pc&&(e>0||b<1))s>w?g=s/e:u=w/(1-b);else if(this.U5===this.pc&&(e<1||b<1))z>w?g=z/(1-e):u=w/(1-b);else if(this.T3===this.pc&&(e>0||b>0))s>K?g=s/e:u=K/b;else if(this.q6===this.pc&&
(e<1||b>0))z>K?g=z/(1-e):u=K/b;u!==l&&g===l?g=u*this.mea:g!==l&&u===l&&(u=g/this.mea);if(g!==l&&u!==l){this.q.set("width",this.X=g);this.q.set("height",this.ia=u)}}g=this.Mg.getComponent(c.ta);f.copy(a.parent.matrixWorld).invert().multiply(d.matrixWorld).decompose(j,k,n);q.setFromQuaternion(k,g.pg);q.x=q.x*t;q.y=q.y*t;q.z=q.z*t;if(g.Te!=q.x||g.xe!=q.y||g.Ue!=q.z){g=this.Mg.D(c.ta);g.Te=q.x;g.xe=q.y;g.Ue=q.z}this.YL(i.YG(this.Mg)||1)}}};b.prototype.rMa=function(a,b){this.X7!=r&&clearTimeout(this.X7);
this.X7=setTimeout(function(){this.X7=r;if(this.X!==a||this.ia!==b){this.X=a;this.ia=b;this.mea=this.X/this.ia}}.bind(this),100)};b.prototype.Ko=function(){var a=this.la.P.td("DraggingSphere");a.B(c.Mesh).renderOrder=2;a.B(c.Geometry).geometry=new THREE.SphereGeometry;a.B(c.Bc);return a};b.prototype.r0=function(){var a=this.la.P.td("BoxBorder");a.B(c.Line);a.B(c.Geometry).geometry=this.PBa();var b=a.B(c.Mi);b.color="#0000ff";b.depthTest=B;b.width=1;return a};b.prototype.PBa=function(){var a=[new THREE.Vector3(-0.5,
-0.5,0),new THREE.Vector3(0.5,-0.5,0),new THREE.Vector3(0.5,-0.5,0),new THREE.Vector3(0.5,0.5,0),new THREE.Vector3(0.5,0.5,0),new THREE.Vector3(-0.5,0.5,0),new THREE.Vector3(-0.5,0.5,0),new THREE.Vector3(-0.5,-0.5,0)];return(new THREE.BufferGeometry).setFromPoints(a)};b.prototype.Me=function(){var a=this.Iq.D(c.Mi);a.color=this.q.get("draggableLineColor");a.opacity=this.q.get("draggableLineOpacity");a.width=this.q.get("draggableLineWidth");this.Lf.forEach(function(a){a.D(c.Bc).color=this.q.get("draggableSphereColor");
a.D(c.ta).scale=this.q.get("draggableSphereRadius")*this.Cf}.bind(this))};b.prototype.YL=function(a){if(this.Cf!=a){this.Cf=a;this.kF();this.Me()}};b.prototype.kF=function(){var a=this.q.get("anchorX"),b=this.q.get("anchorY"),d=this.q.get("width"),f=this.q.get("height");transformComponent=this.T3.D(c.ta,m);transformComponent.we=-a*d*this.Cf;transformComponent.ae=b*f*this.Cf;transformComponent=this.q6.D(c.ta,m);transformComponent.we=(1-a)*d*this.Cf;transformComponent.ae=b*f*this.Cf;transformComponent=
this.L3.D(c.ta,m);transformComponent.we=-a*d*this.Cf;transformComponent.ae=(b-1)*f*this.Cf;transformComponent=this.U5.D(c.ta,m);transformComponent.we=(1-a)*d*this.Cf;transformComponent.ae=(b-1)*f*this.Cf;transformComponent=this.Iq.D(c.ta,m);transformComponent.we=(0.5-a)*d*this.Cf;transformComponent.ae=(b-0.5)*f*this.Cf;transformComponent.Yf=d*this.Cf;transformComponent.qg=f*this.Cf;this.rMa(d,f)};b.prototype.Uk=function(){var a=this.q.get("sizeDraggable");if(this.K!=a)if(this.K=a){this.Mg.B(c.wb).Kb=
this.k;this.Lf.forEach(function(a){a=a.B(c.xd);a.hv=m;a.Qu=m;a.Ga=new g;a.Ga.bind(d.kd,this.bF,this,m);a.Ga.bind(d.jc,this.A4,this,m);a.Ga.bind(d.Hb,this.y4,this,m);a.Ga.bind(d.ic,this.z4,this,m)}.bind(this))}else{this.Mg.fa(c.wb);this.Lf.forEach(function(a){a.fa(c.xd)}.bind(this))}};b.prototype.bF=function(a){if((a=this.Ek(a))&&a!=this.pc)a.D(c.Bc).opacity=1};b.prototype.A4=function(a){if((a=this.Ek(a))&&a!=this.pc)a.D(c.Bc).opacity=0.5};b.prototype.y4=function(a){this.Rx(this.Ek(a))};b.prototype.z4=
function(a){if((a=this.Ek(a))&&a==this.pc){this.Rx(r);this.kF();(a=this.Lf.indexOf(a)!=-1)&&this.q.trigger(d.Js);a&&this.q.trigger(d.Nca)}};b.prototype.Ek=function(a){a=this.Lf.map(function(a){return a.getComponent(c.xd).Ga}).indexOf(a.source);if(a==-1)return r;a=this.Lf[a];return!this.HFa(a)?r:a};b.prototype.HFa=function(a){var b=this.q.get("anchorX"),c=this.q.get("anchorY");return this.L3===a&&(b>0||c>0)||this.U5===a&&(b<1||c>0)||this.T3===a&&(b>0||c<1)||this.q6===a&&(b<1||c<1)?m:B};b.prototype.Rx=
function(a){if(this.pc){this.pc.D(c.Bc).opacity=0.5;this.wE(this.pc).fa(c.jo)}if(this.pc=a){this.pc.D(c.Bc).opacity=1;var b=this.wE(this.pc).B(c.jo),d=i.getWorldPosition(this.k),a=i.getWorldPosition(a),a=(new THREE.Vector3).copy(a).sub(d),f=Math.min(a.length(),this.Cf*10),d=(new THREE.Vector3).copy(d).add(j.copy(a).setLength(f));b.direction=a;b.min=d}};b.prototype.wE=function(a){return this.Lf.indexOf(a)!=-1?a:r};b.prototype.dispose=function(){e.da(this.q,u,this.kF);e.da(this.q,s,this.Me);e.da(this.q,
w,this.Uk);var a=this.la.P;this.Pg.forEach(function(b){a.Ef(b)});this.q=this.la=this.Lf=this.k=this.Pg=r};var s=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],u=["anchorX","anchorY","height","x","y","z","width"],w=["sizeDraggable"];return b});
define("hG","require,jY,hA,fm,jv,cC,ch".split(","),function(a){function b(a,b,f,j,n){this.la=a;this.qe=f;this.hj=j;this.q=n;this.Qj=this.Qj.bind(this);this.QK=this.QK.bind(this);this.Me=this.Me.bind(this);this.YS=this.YS.bind(this);this.Vh=this.qe.UB(1);this.q.get("preload")&&this.hj.nN(loadingEventDispatcher);this.k=this.la.P.td("SpriteContainer");this.k.B(g.Group);a=this.k.B(g.wb);a.Kb=this.la;a.id=this.q.get("parentId");this.IM=this.la.P.td("TranslationSpriteContainer");this.IM.B(g.Group);this.IM.B(g.wb).Kb=
this.k;this.wr=this.la.P.td("Sprite");this.wr.B(g.wb).Kb=this.IM;a=this.wr.B(g.Bs);a.Cb=this.q;a.ysa=this.q.get("image");a.Ga=this.q;a.kH=this.Vh;a.isSprite=m;a.Ge=this.q.get("preload")?d.iD:d.mxa;this.wr.B(g.Sprite).renderOrder=2;this.wr.B(g.xd).Ga=this.q;this.wr.B(g.My);this.wr.B(g.ZO).object=this.q;this.O3=B;this.Cf=1;this.Xw=this.k.P.td("TranslationLine");this.Xw.B(g.Line).renderOrder=1;this.Xw.B(g.Mi);this.Xz=new c(this.la,this.k,this.q);this.k1=new i(this.la,this.IM,this.q);e.ea(this.q,q,this.Qj,
m);e.ea(this.q,s,this.QK,m);e.ea(this.q,u,this.Me,m);e.ea(this.q,t,this.YS,m)}var e=a("jY"),d=a("hA"),g=a("fm"),c=a("jv"),i=a("cC"),f=a("ch");b.prototype.frame=function(){this.Xz.frame();this.k1.frame();this.YL(f.YG(this.k)||1)};b.prototype.Qj=function(){if(this.k.B(g.wb).id!=this.q.get("parentId"))this.k.D(g.wb).id=this.q.get("parentId");var a=this.k.D(g.ta,m);a.we=this.q.get("x");a.ae=this.q.get("y");a.tf=this.q.get("z")};b.prototype.YL=function(a){if(this.Cf!=a){this.Cf=a;this.QK()}};b.prototype.QK=
function(){var a=this.IM.D(g.ta,m),b=this.q.get("translationLength");k.set(this.q.get("translationX"),this.q.get("translationY"),this.q.get("translationZ"));b!==l&&k.setLength(b*this.Cf);a.Yg=k.x;a.Ig=k.y;a.Zf=k.z;b=this.Xw.D(g.ta,m);k.set(a.Yg,a.Ig,a.Zf);b.scale=k.length();j.setFromUnitVectors(o,k.normalize());n.setFromQuaternion(j,b.pg);n.x=n.x*p;n.y=n.y*p;n.z=n.z*p;b.Te=n.x;b.xe=n.y;b.Ue=n.z;this.epa()};var j=new THREE.Quaternion,n=new THREE.Euler,k=new THREE.Vector3,o=new THREE.Vector3(0,0,1),
p=180/Math.PI;b.prototype.Me=function(){var a=this.wr.D(g.xd,m);a.Sm=this.q.get("useHandCursor");a.HH=this.q.get("transparentAreaActive");a.Qu=this.q.get("clickEnabled");a.hv=this.q.get("rollOverEnabled");a=this.Xw.D(g.Mi);a.color=this.q.get("translationLineColor");a.depthTest=this.q.get("depthTest");a.opacity=this.q.get("translationLineOpacity");a.width=this.q.get("translationLineWidth");this.epa()};b.prototype.YS=function(){var a=this.wr.D(g.Sprite,m);a.DG=this.q.get("anchorX");a.EG=this.q.get("anchorY");
a.width=this.q.get("width");a.height=this.q.get("height");a.scale=this.q.get("scale")};b.prototype.epa=function(){var a=this.q.get("translationLineVisible")&&this.q.get("translationLineOpacity")>0&&(this.q.get("translationX")!=0||this.q.get("translationY")!=0||this.q.get("translationZ")!=0);if(this.O3!=a)(this.O3=a)?this.Xw.B(g.wb).Kb=this.k:this.Xw.fa(g.wb)};b.prototype.dispose=function(){this.Xz.dispose();this.Xz=r;this.k1.dispose();this.k1=r;e.da(this.q,q,this.Qj);e.da(this.q,s,this.QK);e.da(this.q,
u,this.Me);e.da(this.q,t,this.YS);this.qe.uX(this.Vh);this.hj.uX(this.fIa);this.fIa=this.qe=r;var a=this.la.P;this.la=r;a.Ef(this.wr);this.wr=r;a.Ef(this.Xw);this.Xw=r;a.Ef(this.k);this.q=this.k=r};var q=["parentId","x","y","z"],t=["anchorX","anchorY","width","height","scale"],s=["translationX","translationY","translationZ","translationLength"],u=["clickEnabled","depthTest","rollOverEnabled","transparentAreaActive","translationLineColor","translationLineOpacity","translationLineVisible","translationLineWidth",
"useHandCursor"];return b});define("fD",["require","mR","cn","ln","hG"],function(a){var b=a("mR"),e=a("cn"),d=a("ln"),g=a("hG");return{create:function(a,i,f,j,n){return b.va("SpriteModel3DObject",n)?new g(a,i,f,j,n):b.va("BoxModel3DObject",n)?new e(a,i,n):b.va("ProjectedMaterialModel3DObject",n)?new d(a,i,n):r}}});
define("kq",["require","jY","fm","fD"],function(a){function b(a,b,f,j){this.k=a;this.Nf=b;this.qe=f;this.hj=j;this.VA=this.VA.bind(this);this.Jr=a.P;this.j=this.k.getComponent(d.tg).Cb;this.qa=(a=this.k.getComponent(d.Object3D))&&a.Rc;this.Rf=[];this.BS=new Map;e.ea(this.j,["objects.enabled"],this.VA,m)}var e=a("jY"),d=a("fm"),g=a("fD");b.prototype.update=function(){var a=this.k.getComponent(d.Object3D),a=a&&a.Rc;if(this.qa!==a){var b=this.qa;this.qa=a;this.tV(!!b)}};b.prototype.frame=function(){this.BS.forEach(function(a){a&&
a.frame&&a.frame()})};b.prototype.dispose=function(){this.qa=r;e.da(this.j,["objects.enabled"],this.VA);this.XL([])};b.prototype.VA=function(){this.tV()};b.prototype.tV=function(a){this.XL(this.j.get("objects").filter(function(a){return a.get("enabled")}),a)};b.prototype.XL=function(a,b){if(this.Rf!=a||b)this.Rf.forEach(function(d){(b||0>a.indexOf(d))&&this.JIa(d)}.bind(this)),a.forEach(function(a){(b||0>this.Rf.indexOf(a))&&this.Mya(a)}.bind(this)),this.Rf=a};b.prototype.Mya=function(a){this.BS.set(a,
g.create(this.k,this.Nf,this.qe,this.hj,a))};b.prototype.JIa=function(a){var b=this.BS.get(a);b&&b.dispose();this.BS["delete"](a)};return b});
define("jI",["require","nV","fm"],function(a){function b(a,b){this.k=a;this.Nf=b;this.Zi=this.qa=this.j=r;this.lT=new Map;this.gl(this.k.getComponent(d.tg).Cb);this.update()}var e=a("nV"),d=a("fm");b.prototype.update=function(){var a=this.Nf.getComponent(d.Object3D),a=a&&a.Rc;this.qa!=a&&(this.qa=a,this.xz())};b.prototype.gl=function(a){this.j&&g.forEach(function(a){this.j.unbind(e.u(a),this.xz,this,B)}.bind(this));if(this.j=a)g.forEach(function(a){this.j.bind(e.u(a),this.xz,this,B)}.bind(this)),
this.xz()};b.prototype.xz=function(){this.mna(this.j.get("model"));if(this.qa){var a=this.j.get("castShadow"),b=this.j.get("receiveShadow"),c=this.j.get("bakedTextures");this.qa.traverse(function(d){if(d.isMesh&&(c?this.YAa(d):this.fU(d),a!==l&&(d.castShadow=a),b!==l))d.receiveShadow=b}.bind(this));this.k.P.nb()}};b.prototype.YAa=function(a){a.material&&!a.material.isMeshBasicMaterial&&!this.lT.get(a)&&(this.lT.set(a,a.material),a.material=(new THREE.MeshBasicMaterial).copy(a.material))};b.prototype.fU=
function(a){var b=a.material,c=this.lT.get(a);b&&c&&(this.lT["delete"](a),a.material=c)};b.prototype.mna=function(a){if(this.Zi!=a&&(this.Zi&&c.forEach(function(a){this.Zi.unbind(e.u(a),this.y_,this,B)}.bind(this)),this.Zi=a))c.forEach(function(a){this.Zi.bind(e.u(a),this.y_,this,B)}.bind(this)),this.y_()};b.prototype.y_=function(){var a=this.Nf.D(d.ta,m);a.we=this.Zi.get("positionX");a.ae=this.Zi.get("positionY");a.tf=this.Zi.get("positionZ");a.Te=this.Zi.get("rotationX");a.xe=this.Zi.get("rotationY");
a.Ue=this.Zi.get("rotationZ");a.scale=this.Zi.get("scale");a.Yg=this.Zi.get("translationX");a.Ig=this.Zi.get("translationY");a.Zf=this.Zi.get("translationZ")};b.prototype.dispose=function(){this.qa&&(this.qa.traverse(function(a){a.isMesh&&this.fU(a)}.bind(this)),this.qa=r);this.mna(r);this.gl(r)};var g=["bakedTextures","castShadow","model","receiveShadow"],c="positionX,positionY,positionZ,rotationX,rotationY,rotationZ,scale,translationX,translationY,translationZ".split(",");return b});
define("bN","require,nV,cu,on,fm,kA,lL,er,kq,jI".split(","),function(a){function b(a){this.k=a;this.k.B(c.Group);this.Nf=this.k.P.td("GLTF");this.Nf.B(c.wb).Kb=this.k;a=this.k.getComponent(c.tg);this.hj=new g(a.gua);this.qe=new g(a.kH);this.Ud=a.Ga;this.$w=new j(this.k,this.Nf,this.qe,this.hj);this.Rf=new n(this.k,this.Nf,this.qe,this.hj);this.St=new f(this.k);this.oe=new i(this.k);this.j=new k(this.k,this.Nf)}var e=a("nV"),d=a("cu"),g=a("on"),c=a("fm"),i=a("kA"),f=a("lL"),j=a("er"),n=a("kq"),k=a("jI");
b.prototype.update=function(){this.$w.update();this.Rf.update();this.j.update();this.St.update();this.oe.update()};b.prototype.frame=function(){this.Rf.frame();this.oe.frame();this.Ud.trigger(new d(e.aD))};b.prototype.dispose=function(){if(this.oe){this.oe.dispose();this.oe=r}if(this.$w){this.$w.dispose();this.$w=r}if(this.Rf){this.Rf.dispose();this.Rf=r}if(this.St){this.St.dispose();this.St=r}if(this.j){this.j.dispose();this.j=r}if(this.qe){this.qe.dispose();this.qe=r}if(this.Nf){this.Nf.P.Ef(this.Nf);
this.Nf=r}this.Ud=r};b.rc=function(a){a.B(c.Fs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(c.Fs);b.manager.dispose();b.manager=r;a.fa(c.Fs)};b.update=function(a){a.getComponent(c.Fs).manager.update()};b.frame=function(a){a.getComponent(c.Fs).manager.frame()};return b});
define("ks",["require","kL","kV","fm","bN"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("bN"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.xta.entities.length&&this.xta.entities.slice().forEach(g.rc);this.hX.Oa.length&&this.hX.Oa.slice().forEach(g.update);this.hX.entities.length&&this.hX.entities.slice().forEach(g.frame);this.yta.entities.length&&this.yta.entities.slice().forEach(g.Gb)};a.A={};a.A.xta=[d.tg,d.Fs.not];a.A.hX=[d.tg,d.Fs];a.A.yta=[d.tg.not,
d.Fs];return a});
define("ce",["require","fm","ch"],function(a){function b(a){this.k=a;this.Pc=r}var e=a("fm"),d=a("ch");b.prototype.frame=function(){if(!this.Pc){var a=this.k.getComponent(e.nD),b=d.Xb(a.container);if(this.Pc=b&&a.id&&d.bC(b,a.id)||r)this.k.B(e.Object3D).Rc=this.Pc,this.k.P.nb()}};b.prototype.update=function(){this.Pc&&(this.k.fa(e.Object3D),this.Pc=r)};b.prototype.dispose=function(){this.Pc&&(this.k.fa(e.Object3D),this.Pc=r)};b.rc=function(a){a.B(e.Hs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.Hs);
b.manager.dispose();b.manager=r;a.fa(e.Hs)};b.frame=function(a){a.getComponent(e.Hs).manager.frame()};b.update=function(a){a.getComponent(e.Hs).manager.update()};return b});
define("gG",["require","kL","kV","fm","ce"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("ce"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.Jta.entities.length&&this.Jta.entities.slice().forEach(g.rc);this.lX.Oa.length&&this.lX.Oa.slice().forEach(g.update);this.lX.entities.length&&this.lX.entities.slice().forEach(g.frame);this.Kta.entities.length&&this.Kta.entities.slice().forEach(g.Gb)};a.A={};a.A.Jta=[d.nD,d.Hs.not];a.A.lX=[d.nD,d.Hs];a.A.Kta=[d.nD.not,
d.Hs];return a});
define("nf",["require","fm"],function(a){function b(a){this.k=a;this.Cw=new THREE.PlaneGeometry;this.oS=this.k.B(e.Object3D).Rc=new THREE.Mesh(this.Cw);this.update()}var e=a("fm");b.prototype.update=function(){var a=this.k.getComponent(e.Material).material;a&&this.oS.material!=a&&(this.oS.material=a,this.oS.needsUpdate=m);this.oS.renderOrder=this.k.getComponent(e.Plane).renderOrder};b.prototype.dispose=function(){this.Cw.dispose();this.Cw=r};b.rc=function(a){a.B(e.Ks).manager=new b(a)};b.Gb=function(a){var b=
a.getComponent(e.Ks);b.manager.dispose();b.manager=r;a.fa(e.Ks);a.fa(e.Object3D)};b.update=function(a){a.getComponent(e.Ks).manager.update()};return b});
define("gB",["require","kL","kV","fm","nf"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("nf"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.iO.entities.length&&this.iO.entities.slice().forEach(g.rc);this.hO.Oa.length&&this.hO.Oa.slice().forEach(g.update);this.$ta.entities.length&&this.$ta.entities.slice().forEach(g.Gb);this.aua.entities.length&&this.aua.entities.slice().forEach(g.Gb)};a.A={};a.A.iO=[d.Material,d.Plane,d.Ks.not];a.A.hO=[d.Plane,d.Material,
d.Ks];a.A.$ta=[d.Plane.not,d.Ks];a.A.aua=[d.Material.not,d.Ks];return a});
define("hq",["require","fm","ch"],function(a){var b=a("fm"),e=a("ch");return{rc:function(a){var g=a.getComponent(b.wb),c=e.Xb(g.Kb);if(c){var i=a.B(b.rq);i.parent=c;g.id&&(c=c&&e.bC(c,g.id));i.id=g.id;i.hd=e.Xb(a);i.attach=g.attach;c&&i.hd&&(i.attach?c.attach(i.hd):c.add(i.hd))}},update:function(a){var g=a.getComponent(b.wb),c=a.getComponent(b.rq),i=e.Xb(g.Kb),f=e.Xb(a);if(c.parent!=i||c.hd!=f||g.id!=c.id||g.attach!=c.attach||f&&i&&!f.parent)c=a.D(b.rq),c.hd&&c.hd.parent&&(g.Kb.D(b.Object3D),c.hd.parent.remove(c.hd)),
c.parent=i,g.id&&(i=i&&e.bC(i,g.id)),c.id=g.id,c.hd=f,c.attach=g.attach,i&&c.hd&&(c.attach?i.attach(c.hd):i.add(c.hd))},Gb:function(a){var e=a.getComponent(b.rq);e.hd&&e.hd.parent&&e.hd.parent.remove(e.hd);e.parent=r;e.hd=r;e.id=l;a.fa(b.rq)}}});
define("md",["require","kL","kV","fm","hq"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("hq"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.aO.entities.length&&this.aO.entities.slice().forEach(g.rc);this.$p.entities.length&&this.$p.entities.slice().forEach(g.update);this.$p.Oa.length&&this.$p.Oa.slice().forEach(g.update);this.$p.Xf.length&&this.$p.Xf.slice().forEach(g.update);this.Dqa.entities.length&&this.Dqa.entities.slice().forEach(g.Gb);this.Eqa.entities.length&&
this.Eqa.entities.slice().forEach(g.Gb)};a.A={};a.A.aO=[d.Object3D,d.wb,d.rq.not];a.A.$p=[d.Object3D,d.wb,d.rq];a.A.Dqa=[d.Object3D.not,d.wb,d.rq];a.A.Eqa=[d.wb.not,d.rq];return a});
define("cY",["require","kL","kV","fm","ch"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("ch"),a=b.extend(e,function(){e.apply(this,arguments);this.Xe=this.Xe.bind(this);this.jd=this.jd.bind(this);this.WB=this.WB.bind(this)});a.prototype.execute=function(){this.Wta.entities.length&&this.Wta.entities.slice().forEach(this.Xe);this.Vta.entities.length&&this.Vta.entities.slice().forEach(this.WB);this.Xta.entities.length&&this.Xta.entities.slice().forEach(this.jd);this.Yta.entities.length&&this.Yta.entities.slice().forEach(this.jd)};
a.prototype.Xe=function(a){a.B(d.hz)};a.prototype.jd=function(a){a.fa(d.hz)};var c=new THREE.Matrix4,i=new THREE.Vector3;a.prototype.WB=function(a){var b=a.getComponent(d.Kl),e=a.getComponent(d.ta);if(e){var k=a.getComponent(d.Object3D).Rc;if(k&&k.parent){var o=1.0E-7;a.getComponent(d.wf)&&(o=g.YG(a)||o);c.copy(k.parent.matrixWorld).invert();i.setFromMatrixScale(c);k=Math.max(i.x,i.y,i.z);k*=b.scale;b.lH!==l&&(k=Math.min(b.lH*o,k));b.mH!==l&&(k=Math.max(b.mH*o,k));if(e.scale!=k||e.Yf!=b.Yf||e.qg!=
b.qg||e.Kh!=b.Kh)e=a.D(d.ta),e.scale=k,e.Yf=b.Yf,e.qg=b.qg,e.Kh=b.Kh}}};a.A={};a.A.Wta=[d.Object3D,d.Kl,d.hz.not];a.A.Vta=[d.Object3D,d.Kl,d.hz];a.A.Xta=[d.Object3D.not,d.hz];a.A.Yta=[d.Kl.not,d.hz];return a});
define("dI",["require","nV","fm","ch"],function(a){function b(a){this.k=a;this.ux=r;this.vK=new THREE.Vector3;this.Ma=new THREE.Vector3;this.e3=this.Kc=this.H7=B;this.update()}var e=a("nV"),d=a("fm"),g=a("ch");b.prototype.update=function(){this.Y4=this.k.getComponent(d.Ej).Kb};b.prototype.frame=function(){this.npa();this.Hm()};b.prototype.npa=function(){var a=this.Y4&&this.Y4.getComponent(d.xd),a=a&&a.Ga;if(this.ux!=a&&(this.ux&&(this.ux.unbind(e.Vc,this.Sf,this,m),this.ux.unbind(e.jc,this.sm,this,
m)),this.ux=a))this.ux.bind(e.Vc,this.Sf,this,m),this.ux.bind(e.jc,this.sm,this,m)};b.prototype.Sf=function(a){if("mesh"!=a.data.type)this.sm();else{var b=this.Kc;this.Kc=m;var k=g.Xb(this.k);if((k=k&&k.parent)&&k.matrixWorld){var o=this.k.getComponent(d.Ej);o&&(i.setFromMatrixPosition(k.matrixWorld),f.copy(k.matrixWorld).invert(),j.fromArray(a.data.objectMatrixWorld),c.setFromMatrixPosition(j),n.copy(j).invert(),o.rotate?a.data.normal?this.vK.copy(a.data.normal).applyMatrix4(j).sub(c).add(i):this.vK.copy(a.data.cameraPosition):
this.vK.copy(p),this.vK.applyMatrix4(f).normalize(),this.Ma.copy(a.data.position).applyMatrix4(f),this.H7=m,this.k.P.nb(),b||(a=this.k.getComponent(d.Ej).Ga)&&a.trigger(e.kd))}}};var c=new THREE.Vector3,i=new THREE.Vector3,f=new THREE.Matrix4,j=new THREE.Matrix4,n=new THREE.Matrix4;b.prototype.sm=function(){if(this.Kc){this.Kc=B;this.k.P.nb();var a=this.k.getComponent(d.Ej).Ga;a&&a.trigger(e.jc)}};b.prototype.Hm=function(){if(this.H7||this.Kc){this.H7=B;var a=this.k.D(d.ta,m);a.we=0;a.ae=0;a.tf=0;
k.setFromUnitVectors(o,this.vK);q.setFromQuaternion(k,a.pg);a.Te=q.x*t;a.xe=q.y*t;a.Ue=q.z*t;a.Yg=this.Ma.x;a.Ig=this.Ma.y;a.Zf=this.Ma.z;a.AN=this.e3?0.4:0;this.e3||(g.EX(this.k,a),this.e3=m)}};var k=new THREE.Quaternion,o=new THREE.Vector3(0,0,1),p=new THREE.Vector3(0,1,0),q=new THREE.Euler,t=180/Math.PI;b.prototype.dispose=function(){this.Y4=r;this.npa()};b.rc=function(a){a.B(d.tq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(d.tq);b.manager.dispose();b.manager=r;a.fa(d.tq)};b.frame=
function(a){a.getComponent(d.tq).manager.frame()};b.update=function(a){a.getComponent(d.tq).manager.update()};return b});
define("hZ",["require","kL","kV","fm","dI"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("dI"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.bua.entities.length&&this.bua.entities.slice().forEach(g.rc);this.pX.Oa.length&&this.pX.entities.slice().forEach(g.update);this.pX.entities.length&&this.pX.entities.slice().forEach(g.frame);this.cua.entities.length&&this.cua.entities.slice().forEach(g.Gb);this.dua.entities.length&&this.dua.entities.slice().forEach(g.Gb)};
a.A={};a.A.bua=[d.Object3D,d.Ej,d.tq.not];a.A.pX=[d.Object3D,d.Ej,d.tq];a.A.cua=[d.Object3D.not,d.tq];a.A.dua=[d.Ej.not,d.tq];return a});define("fK",["require","gZ"],function(a){return a("gZ")});
define("eB",["require","fm","nz","bD"],function(a){function b(a){this.k=a;this.enabled=B;this.bm=r;this.Nq=0;this.passes=[];this.hi=this.ii=B;this.ye=r;this.ia=this.X=100}var e=a("fm"),d=a("nz"),g=a("bD");b.prototype.dispose=function(){this.ye&&(this.ye.saoRenderTarget.dispose(),this.ye.blurIntermediateRenderTarget.dispose(),this.ye.beautyRenderTarget.dispose(),this.ye.normalRenderTarget.dispose(),this.ye.depthRenderTarget.dispose(),this.ye.depthMaterial.dispose(),this.ye.normalMaterial.dispose(),
this.ye.saoMaterial.dispose(),this.ye.vBlurMaterial.dispose(),this.ye.hBlurMaterial.dispose(),this.ye.materialCopy.dispose(),this.ye.depthCopy.dispose(),this.ye=r)};b.prototype.update=function(a,b,f,j,n){var k=this.k.getComponent(e.QC),o=!!k;if(this.ii=this.enabled!=o)(this.enabled=o)?(!this.ye&&a&&b&&(this.ye=new THREE.SAOPass(a,b,B,m)),this.bm=new d("linear",[new g("alpha",0,1,l)],k.Yqa),this.Nq=0,this.passes=[this.ye],this.hi=m):(this.passes=[],this.hi=B);if(this.enabled&&(this.bm&&(this.bm.ub(n),
this.Nq=this.bm.fb("alpha"),1==this.Nq&&(this.bm=r),this.k.P.nb()),k.output!==r&&(this.ye.params.output=k.output),this.ye.params.saoBias=k.bias/k.scale,this.ye.params.saoIntensity=this.Nq*k.intensity,this.ye.params.saoScale=k.scale,this.ye.params.saoKernelRadius=k.Tsa,this.ye.params.saoMinResolution=k.vta/1E3,this.ye.params.saoBlur=0<k.s9,this.ye.params.saoBlurRadius=k.s9,this.ye.params.saoBlurStdDev=8,this.ye.params.saoBlurDepthCutoff=0.01,this.X!=f||this.ia!=j))this.ye.setSize(this.X=f,this.ia=
j)};return b});
define("q",["require","fm"],function(a){function b(a){this.k=a;this.enabled=B;this.passes=[];this.hi=this.ii=B;this.Bq=r}var e=a("fm");b.prototype.dispose=function(){this.Bq&&(this.Bq.material.dispose(),this.Bq=r)};b.prototype.update=function(a,b,c,i){a=this.k.getComponent(e.Hy);a=!!a&&a.nra;if(this.ii=this.enabled!=a)(this.enabled=a)?(this.Bq||(this.Bq=new THREE.ShaderPass(THREE.FXAAShader),this.Bq.needsSwap=m),this.passes=[this.Bq],this.hi=m):(this.passes=[],this.hi=B);if(this.enabled&&(this.X!=
c||this.ia!=i))this.X=c,this.ia=i,this.Bq.material.uniforms.resolution.value.x=1/this.X,this.Bq.material.uniforms.resolution.value.y=1/this.ia,this.Bq.setSize(c,i)};return b});
define("nK",["require","mT","fm"],function(a){function b(a){this.k=a;this.enabled=B;this.passes=[];this.hi=this.ii=B;this.it=r;this.bb=this.ac=l}var e=a("mT"),d=a("fm");b.prototype.dispose=function(){this.it&&(this.it.material.dispose(),this.it=r)};b.prototype.update=function(){var a=this.k.getComponent(d.YO),b=!!a;if(this.ii=this.enabled!=b)(this.enabled=b)?(this.it||(this.it=new THREE.ShaderPass(g),this.it.needsSwap=m),this.passes=[this.it],this.hi=m):(this.passes=[],this.hi=B);if(this.enabled&&
(this.bb!==a.opacity&&(this.bb=a.opacity,this.it.uniforms.opacity.value=this.bb),this.ac!==a.color))this.ac=a.color,this.it.uniforms.color.value=new THREE.Color(e.LC(this.ac))};var g={uniforms:{tDiffuse:{value:r},opacity:{value:0.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 b});
define("fF",["require","fm"],function(a){function b(a){this.k=a;this.enabled=B;this.bm=r;this.Nq=0;this.passes=[];this.hi=this.ii=B;this.wi=r;this.E5=new THREE.Matrix4;this.G5=new THREE.Matrix4;this.D5=new THREE.Vector3}var e=a("fm");b.prototype.dispose=function(){this.wi&&(this.wi.dispose(),this.wi=r)};b.prototype.update=function(a,b){var c=this.k.getComponent(e.WH),i=!!c;if(this.ii=this.enabled!=i)(this.enabled=i)?(!this.wi&&a&&b&&(this.wi=new THREE.MotionBlurPass,this.wi.needsSwap=m,this.E5.copy(b.matrixWorldInverse),
this.G5.copy(b.projectionMatrix),this.D5.copy(b.position)),this.passes=[this.wi],this.hi=m):(this.passes=[],this.hi=B);this.enabled&&(this.wi.uniforms.inverseProjectionMatrix.value.copy(b.projectionMatrix).invert(),this.wi.uniforms.near.value=b.near,this.wi.uniforms.far.value=b.far,this.wi.uniforms.depthLimit.value=0.99,this.wi.uniforms.clipToWorldMatrix.value.copy(b.matrixWorld).multiply(this.wi.uniforms.inverseProjectionMatrix.value),this.wi.uniforms.previousWorldToClipMatrix.value.copy(this.G5).multiply(this.E5),
this.wi.uniforms.cameraMove.value.copy(b.position).sub(this.D5),this.wi.uniforms.velocityFactor.value=c.intensity,this.wi.uniforms.samples.value=c.wua);this.E5.copy(b.matrixWorldInverse);this.G5.copy(b.projectionMatrix);this.D5.copy(b.position)};return b});
define("ev",["require","mT","fm"],function(a){function b(a){this.k=a;this.enabled=m;this.passes=[];this.Q$=this.hi=this.ii=B;this.PU=l;this.nh=this.Tf=this.ck=r}a("mT");var e=a("fm");b.prototype.dispose=function(){this.ck&&(this.ck.dispose(),this.ck=r);this.Tf&&(this.Tf=r);this.nh&&(this.nh.material.dispose(),this.nh=r)};b.prototype.update=function(a,b,c,i,f,j){f=this.k.getComponent(e.Hy);j=!!f&&f.yva&&j;if(this.ii=this.PU!==j)(this.PU=j)?(this.ck||(this.ck=new THREE.SSAARenderPass(a,b),this.ck.sampleLevel=
f.JO,this.ck.needsSwap=m,this.ck.clear=m,this.ck.clearColor=65793,this.ck.clearAlpha=0),this.nh||(this.nh=new THREE.ShaderPass(THREE.CopyShader),this.nh.needsSwap=m),this.passes=[this.ck,this.nh],this.Q$=this.hi=m):(this.Tf||(this.Tf=new THREE.RenderPass,this.Tf.clear=m,this.Tf.clearColor=65793,this.Tf.clearAlpha=0),this.passes=[this.Tf],this.Q$=this.hi=B);this.PU?(this.ck.scene=a,this.ck.camera=b,this.ck.sampleLevel=f.JO,this.nh.uniforms.opacity.value=Math.pow(2,Math.round(5<f.JO?5:f.JO)),this.ck.setSize(c,
i)):(this.Tf.scene=a,this.Tf.camera=b,this.Tf.setSize(c,i))};return b});
define("mL",["require","mT","fm"],function(a){function b(a){this.k=a;this.enabled=B;this.passes=[];this.hi=this.ii=B;this.Np=r;this.ac=l}var e=a("mT"),d=a("fm");b.prototype.dispose=function(){this.Np&&(this.Np.material.dispose(),this.Np=r)};b.prototype.update=function(){var a=this.k.getComponent(d.tD),b=!!a;if(this.ii=this.enabled!=b)(this.enabled=b)?(this.Np||(this.Np=new THREE.ShaderPass(g),this.Np.needsSwap=m),this.passes=[this.Np],this.hi=m):(this.passes=[],this.hi=B);this.enabled&&(this.Np.uniforms.innerRadius.value=
a.zsa,this.Np.uniforms.outerRadius.value=a.Sta,this.Np.uniforms.opacity.value=a.opacity,this.ac!==a.color&&(this.ac=a.color,this.Np.uniforms.color.value=new THREE.Color(e.LC(this.ac))))};var g={uniforms:{tDiffuse:{value:r},innerRadius:{value:0.5},outerRadius:{value:0.5},opacity:{value:0.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 b});
define("gt","require,eB,q,nK,fF,ev,mL,ch".split(","),function(a){function b(a){this.Mc=a;this.wa=this.na=this.of=r;this.ia=this.X=l;this.nh=this.Qq=this.h=this.IF=r;this.SQ=[new i(a),new e(a),new c(a),new f(a),new d(a),new g(a)];this.AS=B}var e=a("eB"),d=a("q"),g=a("nK"),c=a("fF"),i=a("ev"),f=a("mL"),j=a("ch");b.prototype.dispose=function(){if(this.h)this.h.domElement.style.backgroundColor=l;for(;this.SQ.length;)this.SQ.pop().dispose();this.Wfa();if(this.Qq){this.Qq.material.dispose();this.Qq=r}if(this.nh){this.nh.material.dispose();
this.nh=r}};b.prototype.setSize=function(a,b){if(this.X!=a||this.ia!=b){this.X=a;this.ia=b;this.of&&this.of.setSize(this.X,this.ia);this.h&&this.h.setSize(this.X,this.ia)}};b.prototype.CH=R("wa");b.prototype.jv=R("na");b.prototype.setRenderTarget=function(a){if(this.IF!=a){this.IF=a;if(this.of){this.of.reset(a||l);this.of.renderToScreen=!a}}};b.prototype.eTa=function(a){if(this.h!=a){this.h=a;this.h.setSize(this.X,this.ia);this.Wfa()}};b.prototype.render=function(a){this.BKa();this.DMa(a);this.h.domElement.style.backgroundColor=
this.AS?"#000000":l;this.of.render()};b.prototype.BKa=function(){if(!this.of){this.of=new THREE.EffectComposer(this.h,this.IF||l);this.of.renderToScreen=!this.IF;this.of.setSize(this.X,this.ia)}};b.prototype.DMa=function(a){var b=B,c=B;this.AS=B;this.SQ.forEach(function(d){d.update(this.wa,this.na,this.X,this.ia,a,this.of.renderToScreen);b||(b=d.ii);c||(c=d.hi);this.AS||(this.AS=d.Q$)}.bind(this));c=c&&this.h.outputEncoding==THREE.sRGBEncoding&&this.of.renderToScreen;j.jTa(this.wa,c);if(c&&!this.Qq){this.Qq=
new THREE.ShaderPass(THREE.GammaCorrectionShader);b=this.Qq.needsSwap=m}else if(this.Qq)this.Qq.enabled=c;if(!this.of.renderToScreen&&!this.nh){this.nh=new THREE.ShaderPass(THREE.CopyShader);b=this.nh.needsSwap=m}else if(this.nh)this.nh.enabled=!this.of.renderToScreen;if(b){var d=[];this.SQ.forEach(function(a){d=d.concat(a.passes)});this.Qq&&d.push(this.Qq);for(this.nh&&d.push(this.nh);this.of.passes.length>0;)this.of.removePass(this.of.passes[this.of.passes.length-1]);d.forEach(function(a){this.of.addPass(a)}.bind(this))}};
b.prototype.Wfa=function(){if(this.of){this.of.renderTarget1!=this.IF&&this.of.renderTarget1.dispose();this.of.renderTarget2!=this.IF&&this.of.renderTarget2.dispose();this.of=r}};return b});
define("cV",["require","u","fm","ch","gt"],function(a){function b(a){this.jaa=a;this.opacity=0;this.height=this.width=l;this.renderTarget=r;this.wa=l;this.Jma=B;this.Ima=m;this.na=l;this.jB=B;this.mT=l;this.cc=new c(a);this.update()}var e=a("u"),d=a("fm"),g=a("ch"),c=a("gt");b.prototype.update=function(){var a=this.jaa.getComponent(d.Scene);this.opacity=a&&a.opacity||0;this.Jma=a?a.locked:B;this.Ima=a?a.enabled:m;var b=a&&a.scene;this.wa!=b&&(this.wa=b,this.jB=m,this.cc.CH(this.wa));var c=(b=(b=a&&
a.Un)&&(b.getComponent(d.OrthographicCamera)||b.getComponent(d.PerspectiveCamera)))&&b.width,e=b&&b.height;if(this.width!=c||this.height!=e)this.width=c,this.height=e,this.jB=m,this.cc.setSize(this.width,this.height);a=a&&"srgb"==a.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.mT!=a&&(this.mT=a,this.jB=m,g.iTa(this.wa,a));a=b&&b.camera;this.na!=a&&(this.na=a,this.jB=m,this.cc.jv(this.na));this.wa&&(g.hTa(this.wa,this.na),g.kTa(this.wa,this.width,this.height));return this};b.prototype.render=
function(a,b,c){if((b||this.jB||!this.Jma)&&this.Ima)window.stats&&window.stats.begin(),b?(a.setRenderTarget(r),this.jB=m):(this.renderTarget||(this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:a.capabilities.isWebGL2?e.mb()?2:8:0}),this.renderTarget.depthTexture=new THREE.DepthTexture),a.setRenderTarget(this.renderTarget),this.renderTarget.texture.encoding=
this.mT,this.jB=B),a.outputEncoding=this.mT,this.cc.setRenderTarget(b?r:this.renderTarget),this.cc.eTa(a),this.cc.render(c),window.stats&&window.stats.end()};b.prototype.isVisible=function(){return this.wa&&this.na&&0<this.opacity};b.prototype.dispose=function(){this.na=this.wa=this.jaa=r;this.cc&&(this.cc.dispose(),this.cc=r);this.renderTarget&&(this.renderTarget.dispose(),this.renderTarget=r)};return b});
define("fr",["require","lR","fm","fK","cV"],function(a){function b(a){this.k=a;this.uu=[];this.xKa();this.vKa()}var e=a("lR"),d=a("fm"),g=a("fK"),c=a("cV");b.prototype.frame=function(a){var b=this.k.getComponent(d.gh),c=b.pO.map(this.wEa.bind(this));this.uu.filter(function(a){return 0>c.indexOf(a)}).forEach(function(a){a.dispose()});this.uu=c;var e=this.uu.filter(function(a){return a.isVisible()});if(0<e.length){this.h.shadowMap.enabled=b.shadowMap;var g=1==e.length&&1<=e[0].opacity;e.forEach(function(b){b.render(this.h,
g,a)}.bind(this));g||this.RIa(e.slice(0,2))}};b.prototype.wEa=function(a){for(var b=0;b<this.uu.length;b++)if(this.uu[b].jaa==a)return this.uu[b].update();return new c(a)};b.prototype.RIa=function(a){this.Ul.material.uniforms.t1.value=a[0].renderTarget.texture;this.Ul.material.uniforms.o1.value=a[0].opacity;1<a.length?(this.Ul.material.uniforms.useT2.value=1,this.Ul.material.uniforms.t2.value=a[1].renderTarget.texture,this.Ul.material.uniforms.o2.value=a[1].opacity):this.Ul.material.uniforms.useT2.value=
0;this.h.setSize(a[0].width,a[0].height);this.h.setRenderTarget(r);this.h.setClearColor(0,0);this.h.clear();this.h.render(this.MP,this.Cea)};b.prototype.dispose=function(){for(;this.uu.length;)this.uu.shift().dispose();this.uu=r;this.vLa();this.xLa()};var i=[];b.prototype.xKa=function(){var a=this.k.D(d.gh),b;if(0<i.length)b=i.pop();else{b=document.createElement("canvas");var c=g.BOa(b);c||(c=g.A9(b,m));b=new THREE.WebGLRenderer({alpha:m,canvas:b,context:c});b.setPixelRatio(g.getPixelRatio());b.autoClear=
B;b.debug.checkShaderErrors=e.XC;b.shadowMap.type=THREE.PCFShadowMap}a.renderer=this.h=b;a.canvas=this.h.domElement;a.QG.append(a.canvas)};b.prototype.xLa=function(){this.h.domElement.parentNode.removeChild(this.h.domElement);var a=this.h;a.setSize(1,1);i.push(a);this.h=r};b.prototype.vKa=function(){this.MP=new THREE.Scene;this.Cea=new THREE.OrthographicCamera(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-10,10);this.Ul=new THREE.Mesh(new THREE.PlaneGeometry(window.innerWidth,
window.innerHeight),this.cBa());this.MP.add(this.Ul)};b.prototype.vLa=function(){this.MP.remove(this.Ul);this.Ul.geometry.dispose();this.Ul.geometry=r;this.Ul.material.dispose();this.MP=this.Cea=this.Ul=this.Ul.material=r};b.prototype.cBa=function(){var a=new THREE.ShaderMaterial({uniforms:{t1:{value:r},t2:{value:r},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}"});a.transparent=m;return a};b.rc=function(a){a.B(d.vq).manager=
new b(a)};b.Gb=function(a){var b=a.getComponent(d.vq);b.manager.dispose();b.manager=r;a.fa(d.vq)};b.update=function(a){a.getComponent(d.vq).manager.update()};b.frame=function(a,b,c){a.getComponent(d.vq).manager.frame(b,c)};return b});
define("kR",["require","kL","kV","fm","fr"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("fr"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.rua.entities.length&&this.rua.entities.slice().forEach(g.rc);this.wX.entities.length&&this.wX.entities.slice().forEach(function(d){g.frame(d,a,b)});this.sua.entities.length&&this.sua.entities.slice().forEach(g.Gb)};a.A={};a.A.rua=[d.gh,d.vq.not];a.A.sua=[d.gh.not,d.vq];a.A.wX=[d.gh,d.vq];return a});
define("jr","require,kL,nV,fQ,de,ch,hA,kI".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("fQ"),g=a("de"),c=a("ch"),i=a("hA"),f=a("kI"),a=b.extend(d,function(a,b){d.call(this);this.Tc=a;this.wa=b;this.ka=new g;this.ka.EO([this.Tc]);this.ka.bind(e.T,this.Yc,this,B);this.ka.bind(e.tc,this.pf,this,B);this.Nc=r;this.bb=0;f.$n(this.ka,i.iD)});a.prototype.Ji=function(a){if(this.bb!==a){this.bb=a;if(this.Nc){this.Nc.material.opacity=this.bb;this.Nc.material.visible=this.bb>0;this.Nc.material.needsUpdate=
m}}};a.prototype.tl=function(){return!!this.Nc};a.prototype.Yc=function(){this.OBa();this.trigger(e.T)};a.prototype.pf=function(){this.trigger(e.tc)};a.prototype.OBa=function(){var a=new THREE.Texture;a.image=f.hf(this.Tc);a.generateMipmaps=m;a.minFilter=THREE.LinearMipMapLinearFilter;a.needsUpdate=m;a=new THREE.SpriteMaterial({map:a});a.sizeAttenuation=B;a.transparent=m;a.visible=this.bb>0;a.opacity=this.bb;this.Nc=new THREE.Sprite(a);this.Nc.renderOrder=-1E3};a.prototype.update=function(){if(this.Nc){var a=
c.RN(this.wa);if(this.Nc.parent!=a){this.Nc.parent&&c.lua(this.Nc.parent,this.Nc);a&&c.PNa(a,this.Nc)}if(a){var b=c.GW(this.wa),d=this.Nc.material.map.image.width,f=this.Nc.material.map.image.height,a=b/(2*Math.tan(a.fov*j/2)),b=Math.max(b/a,c.Ora(this.wa)/(a*d/f));if(this.Nc.scale.y!=b){this.Nc.scale.y=b;this.Nc.scale.x=b*d/f}}d=c.FW(this.wa);if(this.Nc.material.map.encoding!=d){this.Nc.material.map.encoding=d;this.Nc.material.needsUpdate=m}}};a.prototype.dispose=function(){if(this.Nc){this.Nc.parent&&
c.lua(this.Nc.parent,this.Nc);this.Nc.material.map.dispose();this.Nc.material.dispose();this.Nc=r}this.ka&&f.yj(this.ka,i.iD)};var j=Math.PI/180;return a});
define("iZ","require,nV,fm,jr,nz,bD".split(","),function(a){function b(a,b){this.k=a;this.Vh=b;this.Zs=l;this.Yh=this.Sl=this.N=this.wa=r;this.update()}var e=a("nV"),d=a("fm"),g=a("jr"),c=a("nz"),i=a("bD");b.prototype.frame=function(a){this.N&&this.DB(a);this.Sl&&this.Sl.update();this.Yh&&this.Yh.update()};b.prototype.update=function(){var a=this.k.getComponent(d.Scene);this.wa=a.scene;if(!this.wa){if(!a.scene)return;this.wa=a.scene}a=a.o9||r;if(!(this.Zs===a||this.N)){this.ZI(this.Yh);this.Yh=r;
if(this.Zs=a)this.Yh=this.bBa(this.Zs);else{this.mw();this.Vh.trigger(e.T)}}};b.prototype.DB=function(a){this.N.ub(a);this.Sl&&this.Sl.Ji(Math.min(1,Math.max(0,this.N.fb("alpha"))));this.Yh&&this.Yh.Ji(Math.min(1,Math.max(0,this.N.fb("nextAlpha"))));if(this.N.Se()){this.N=r;if(this.Sl){this.ZI(this.Sl);this.Sl=r}this.Sl=this.Yh;this.Yh=r;this.update()}this.k.P.nb()};b.prototype.Q4=function(){this.Yh.unbind(e.T,this.Q4,this,m);this.Yh.unbind(e.tc,this.R4,this,m);this.mw();this.Vh.trigger(e.T)};b.prototype.R4=
function(){this.ZI(this.Yh);this.Yh=r;this.mw();this.Vh.trigger(e.T)};b.prototype.mw=function(){if(this.Yh&&this.Sl)this.N=new c("linear",[new i("nextAlpha",0,2,l),new i("alpha",2,0,l)],600);else if(this.Yh)this.N=new c("linear",[new i("nextAlpha",0,1,l)],300);else if(this.Sl)this.N=new c("linear",[new i("alpha",1,0,l)],300);this.k.P.nb()};b.prototype.bBa=function(a){a=new g(a,this.wa);this.Bza(a);a.Ji(0);return a};b.prototype.ZI=function(a){if(a){this.fMa(a);a.dispose()}};b.prototype.Bza=function(a){a.bind(e.T,
this.Q4,this,m);a.bind(e.tc,this.R4,this,m)};b.prototype.fMa=function(a){a.unbind(e.T,this.Q4,this,m);a.unbind(e.tc,this.R4,this,m)};b.prototype.dispose=function(){if(this.Sl){this.ZI(this.Sl);this.Sl=r}if(this.Yh){this.ZI(this.Yh);this.Yh=r}};return b});
define("kU","require,nV,hA,mT,on,fm,ch,jV".split(","),function(a){function b(a,b){this.k=a;this.qU=this.PF=this.OF=this.Yv=this.yz=this.Zs=this.$z=l;this.na=this.h=this.wa=r;this.Vh=b;this.qe=new c(this.Vh);this.Xc=[new j(d.iD),new j(d.iD)];this.Xc.forEach(function(a){a.bind(e.T,this.Yc,this,m);a.bind(e.tc,this.pf,this,m)}.bind(this));this.xna([]);this.update()}var e=a("nV"),d=a("hA"),g=a("mT"),c=a("on"),i=a("fm"),f=a("ch"),j=a("jV");b.prototype.frame=function(){if(!this.h&&this.wa)if(this.h=b.HPa(this.wa)){this.V();
this.m8()}};b.prototype.update=function(){var a=this.k.getComponent(i.Scene),b=B,c=B,d=a.ara||r;if(this.$z!==d){this.$z=d;c=m}d=a.o9||r;if(this.Zs!==d){this.Zs=d;c=m}d=a.oqa||r;if(this.yz!==d){this.yz=d;c=m}if(c){this.Apa();this.m8();b=m}if(this.Yv!==a.backgroundColor){this.Yv=a.backgroundColor;b=m}if(this.wa!==a.scene){this.wa=a.scene;b=m}b&&this.V()};b.prototype.Apa=function(){this.xna(this.KEa())};b.prototype.KEa=function(){var a=[];this.$z&&a.indexOf(this.$z)==-1&&a.push(this.$z);!this.Zs&&this.yz&&
a.indexOf(this.yz)==-1&&a.push(this.yz);if(this.wa&&this.wa.background&&this.wa.background.image&&this.wa.background.image.src){var b=this.wa.background.image.src;a.indexOf(b)==-1&&a.push(b)}return a};b.prototype.xna=function(a){var b=[],c=[];this.Xc.forEach(function(d){var f=d.gi();if(a.indexOf(f)<0){d.cancel();b.push(d)}else c.push(f)});a.forEach(function(a){c.indexOf(a)<0&&b.shift().load(a)})};b.prototype.m8=function(){var a=0;this.qe.Gqa();this.Xc.forEach(function(b){if(b.gi()&&!b.tl()){this.qe.nN(b);
a++}}.bind(this));a==0&&this.Vh&&this.Vh.trigger(e.T)};b.prototype.dispose=function(){this.Xc.forEach(function(a){a.cancel();a.unbind(e.T,this.Yc,this,m);a.unbind(e.tc,this.pf,this,m)}.bind(this));if(this.k){this.GQ();this.tt();this.k=r}};b.prototype.Yc=function(){this.V();this.m8()};b.prototype.V=function(){if(this.wa&&this.h){if(this.$z){var a=this.rha(this.$z);a?this.eza(a):this.GQ()}else this.GQ();if(this.Zs)this.tt();else if(this.yz)(a=this.rha(this.yz))?this.oea(a,l):this.tt();else this.Yv?
this.oea(l,this.Yv):this.tt();this.Apa();this.k.P.nb()}};b.prototype.rha=function(a){for(var b=0;b<this.Xc.length;b++)if(this.Xc[b].tl()&&this.Xc[b].gi()==a)return this.Xc[b];return r};b.prototype.Lo=function(a,b){return Math.round(a.bd()/a.Rd())<6?this.qBa(a,b):this.lBa(a,b)};b.prototype.qBa=function(a,b){var c=new THREE.Texture;c.image=a.hf();c.encoding=f.FW(this.wa);c.mapping=THREE.EquirectangularReflectionMapping;c.needsUpdate=m;if(b){var d=new THREE.PMREMGenerator(this.h),c=d.fromEquirectangular(c).texture;
d.dispose()}return c};b.prototype.oea=function(a,b){if(this.wa){if(a){var c=a&&a.gi()||l;if(c==this.PF)return;this.tt();f.KX(this.wa,this.Lo(a,B));this.PF=c;this.OF=l}if(b&&b!=this.OF){this.tt();f.KX(this.wa,b=="transparent"?r:new THREE.Color(g.LC(b)));this.OF=b;this.PF=l}}};b.prototype.tt=function(){if(this.wa&&(this.OF||this.PF)){if(this.PF){this.wa.background.dispose();f.KX(this.wa,r);this.PF=l}if(this.OF){f.KX(this.wa,r);this.OF=l}}};b.prototype.eza=function(a){if(this.wa){var b=a&&a.gi()||l;
if(b!=this.qU){this.GQ();this.wa.environment=this.Lo(a,m);this.qU=b}}};b.prototype.GQ=function(){if(this.wa&&this.qU){this.wa.environment.dispose();this.wa.environment=r;this.qU=l}};b.prototype.lBa=function(a,b){for(var c=Array(6),d=a.bd()/6,e=a.Rd(),j=0;j<6;j++){var g=document.createElement("canvas");g.width=d;g.height=e;g.getContext("2d").drawImage(a.hf(),j*d,0,d,e,0,0,d,e);c[j]=g}d=new THREE.CubeTexture;d.images=[c[1],c[3],c[4],c[5],c[0],c[2]];d.encoding=f.FW(this.wa);d.needsUpdate=m;if(b){c=new THREE.PMREMGenerator(this.h);
d=c.fromCubemap(d).texture;c.dispose()}return d};b.prototype.pf=function(){this.k.getComponent(i.Scene).scene.environment=r;this.k.P.nb()};b.i6=[];b.Laa=function(a){b.i6=a||[]};b.HPa=function(a){for(var c=0;c<b.i6.length;c++){var d=b.i6[c].getComponent(i.gh);if(d&&d.pO.filter(function(b){return b.getComponent(i.Scene).scene==a}).length>0)return d.renderer}return r};return b});
define("hj",["require","fm","on","iZ","kU"],function(a){function b(a){this.k=a;this.Vh=r;var b=this.k.D(e.Scene),j=this.k.D(e.xq);this.k.B(e.Object3D).Rc=j.scene=b.scene=new THREE.Scene;this.qe=new d;this.eJ=new c(a,this.qe.UB());this.Td=new g(a,this.qe.UB())}var e=a("fm"),d=a("on"),g=a("iZ"),c=a("kU");b.prototype.frame=function(a){this.eJ.frame(a);this.Td.frame(a)};b.prototype.update=function(){this.eJ.update();this.Td.update();this.LMa()};b.prototype.LMa=function(){var a=this.k.getComponent(e.Scene);
this.Vh!=a.G9&&(this.Vh=a.G9,this.qe.lSa(this.Vh))};b.prototype.dispose=function(){this.qe&&(this.qe.dispose(),this.qe=r);this.Td&&(this.Td.dispose(),this.Td=r);this.eJ&&(this.eJ.dispose(),this.eJ=r);this.k&&(this.k=r)};b.rc=function(a){a.B(e.xq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.xq);b.manager.dispose();b.manager=r;a.fa(e.xq);a.fa(e.Object3D)};b.frame=function(a,b){a.getComponent(e.xq).manager.frame(b)};b.update=function(a){a.getComponent(e.xq).manager.update()};b.Laa=function(a){c.Laa(a)};
return b});
define("eI",["require","kL","kV","fm","hj"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("hj"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a){this.yua.entities.length&&this.yua.entities.slice().forEach(g.rc);this.scenes.Oa.length&&this.scenes.Oa.slice().forEach(g.update);this.scenes.entities.length&&this.scenes.entities.slice().forEach(function(b){g.frame(b,a)});g.Laa(this.wX.entities.slice());this.zua.entities.length&&this.zua.entities.slice().forEach(g.Gb)};a.A=
{};a.A.yua=[d.Scene,d.xq.not];a.A.scenes=[d.Scene,d.xq];a.A.zua=[d.Scene.not,d.xq];a.A.wX=[d.gh,d.vq];return a});
define("eq",["require","u"],function(a){function b(a){this.ig=a;"CANVAS"==a.tagName?(this.I=a,this.kc=1):(this.I=document.createElement("canvas"),this.kc=g.Xd()==g.mi?0.5:1,this.I.width=Math.round(a.width*this.kc),this.I.height=Math.round(a.height*this.kc));this.ha=this.I.getContext("2d");this.ha.globalCompositeOperation="copy";this.I!=a&&this.ha.drawImage(a,0,0,a.width,a.height,0,0,this.I.width,this.I.height)}function e(a,b,c){0>a?a=c==THREE.RepeatWrapping?b+a%b:c==THREE.MirroredRepeatWrapping?0==
Math.floor(Math.abs(a/b))%2?Math.abs(a%b):b-1+a%b:0:a>=b&&(a=c==THREE.RepeatWrapping?a%b:c==THREE.MirroredRepeatWrapping?1==Math.floor(a/b)%2?b-1-a%b:a%b:b-1);return a}function d(a,b,d){try{if(a instanceof CanvasRenderingContext2D)return a.getImageData(b,d,1,1).data;if(a.tagName&&"CANVAS"==a.tagName)return a.GFa?[0,0,0,0]:a.getContext("2d").getImageData(b,d,1,1).data;c.drawImage(a,b,d,1,1,0,0,1,1);return c.getImageData(0,0,1,1).data}catch(e){return[0,0,0,0]}}var g=a("u");b.prototype.transparent=function(a,
c){return b.transparent(this.ha,Math.round(a*this.kc),Math.round(c*this.kc))};b.prototype.nv=function(a,c){return b.nv(this.ha,Math.round(a*this.kc),Math.round(c*this.kc))};b.prototype.info=function(a,c){return b.info(this.ha,Math.round(a*this.kc),Math.round(c*this.kc))};b.prototype.dispose=function(){this.I!=this.ig&&(this.I.width=this.I.height=0);this.ig=this.I=this.ha=r};b.aUa=function(a,c,d){if(!a.image||!a.image.width||!a.image.height)return m;c=e(Math.round(c*a.image.width),a.image.width,a.wrapS);
d=e(Math.round((1-d)*a.image.height),a.image.height,a.wrapT);return!b.transparent(a.image,c,d)};b.transparent=function(a,c,d){return!b.nv(a,c,d)};b.nv=function(a,b,c){return!a.tagName||a.tagName&&"VIDEO"==a.tagName?m:0<d(a,b,c)[3]};b.info=function(a,b,c){a=d(a,b,c);b=a[3];return{nv:0<b,opacity:b,color:"#"+i[a[0]]+i[a[1]]+i[a[2]]}};a=document.createElement("canvas");a.width=a.height=1;var c=a.getContext("2d");c.globalCompositeOperation="copy";var i=function(){for(var a=Array(256),b=0;16>b;b++)a[b]=
"0"+b.toString(16);for(;256>b;b++)a[b]=b.toString(16);return a}();return b});
define("nA","require,kL,nV,eq,fm,ch,hB,bb".split(","),function(a){function b(a){this.bl=a;this.lK();this.dJ=[];this.Kx=r;this.lA=this.u6=B;this.Gla={};this.Gla.gO=this.RHa.bind(this);this.update()}function e(a,b,c,d){this.Kb=a;this.Rc=b;this.point=c;this.normal=d}function d(a){return{x:a.x,y:a.y,z:a.z}}function g(a,b){a.indexOf(b)<0&&a.push(b)}function c(a,b){var c=a.indexOf(b);c>=0&&a.splice(c,1)}var i=a("kL"),f=a("nV"),j=a("eq"),n=a("fm"),k=a("ch"),o=a("hB"),p=a("bb");i.RB(b,[o]);b.prototype.update=
function(){var a=this.bl.getComponent(n.yo);this.TF(a&&(a.enabled?a.Qp:r));a&&a.Cb&&a.Cb.set("picker",a.Qp?this.Gla:r)};b.prototype.frame=function(){this.vu(s)};b.prototype.Sf=function(){this.Pk&&E.indexOf(this.bl.P)==-1?this.vu(s):this.vu(t)};b.prototype.vu=function(a){if(!(this.Kx&&a>=this.u6)){this.Kx&&clearTimeout(this.Kx);this.u6=a;this.Kx=setTimeout(function(){this.Kx=r;this.mHa()}.bind(this),this.u6)}};b.prototype.mHa=function(){var a=this.vEa();this.cna(a.map(function(a){return a.Kb}));a.forEach(function(a){this.nV(f.Vc,
a)}.bind(this))};b.prototype.jx=function(){var a=this.X1();a&&this.nV(f.oa,a)};b.prototype.TS=function(){var a=this.X1();a&&this.nV(f.vo,a)};b.prototype.rm=function(){var a=this.X1();if(a){this.y1=a.Kb;this.A1=a.Kb.getComponent(n.xd).Ga;this.nV(f.Hb,a)}};b.prototype.br=function(){var a;if(this.y1)a=(a=this.y1.getComponent(n.xd))&&a.Ga;if(!a&&this.A1)a=this.A1;this.A1=this.y1=r;a&&a.trigger(f.ic,this.Rga())};b.prototype.RHa=function(a,b,c){var d=this.vc,e=this.wc,f=this.nK,j=this.oK;this.vc=b;this.wc=
c;this.oK=this.nK=l;var a=this.b2(a,[],1),g;a.length>0&&(g=this.Cha(a[0]));this.vc=d;this.wc=e;this.nK=f;this.oK=j;return g};b.prototype.vEa=function(){var a=F.get(this.bl.P);if(!a||a.length==0)return[];var b=J.get(this.bl.P);return this.b2(a,b)};b.prototype.X1=function(){var a=D.get(this.bl.P);if(!a||a.length==0)return r;var b=L.get(this.bl.P),a=this.b2(a,b,1);return a.length>0?a[0]:r};b.prototype.cna=function(a){this.dJ.forEach(function(b){a.indexOf(b)<0&&this.Hoa(b,f.jc)}.bind(this));var b=this.dJ;
this.dJ=a;this.dJ.forEach(function(a){b.indexOf(a)<0&&this.Hoa(a,f.kd)}.bind(this));var c=a.find(function(a){return(a=a.getComponent(n.xd))&&a.Sm});if(this.lA!=c)(this.lA=c)?this.Fx(p.vf):this.wL(p.vf)};b.prototype.b2=function(a,b,c){c===l&&(c=Infinity);var d=[],f=[];a&&a.forEach(function(a){var b=k.Xb(a);if(b){d.push(a);f.push(b)}});var g=[],i=[];b&&b.forEach(function(a){var b=k.Xb(a);if(b){g.push(a);i.push(b)}});for(var a=this.vFa(f,this.vc,this.wc),b=[],o=[],q=0;q<a.length&&o.length<c;q++){for(var p=
a[q],t=p.point,u=p.object,s=p.face&&p.face.normal,w=[],v=u,x=B;v&&!x;){if(x=i.indexOf(v)!=-1)break;for(var y=0;y<f.length;y++)v==f[y]&&w.push(y);v=v.parent}if(!(x||w.length==0))for(v=0;v<w.length;v++){y=w[v];y=d[y];if(!(b.indexOf(y)>=0))if(x=y.getComponent(n.xd)){var F=Array.isArray(u.material)&&p.face?u.material[p.face.materialIndex]:u.material;if(!F||F.visible)if(x.HH||!F||!F.map||j.aUa(F.map,p.uv.x,p.uv.y)){u.isSkinnedMesh&&(u=this.SCa(u.skeleton.bones,t));b.push(y);o.push(new e(y,u,t,s))}}}}return o};
b.prototype.vFa=function(a,b,c){var d=k.Xb(this.bl);if(!d||!d.isCamera)return[];w.set(b,c);this.pK(w);v.setFromCamera(w,d);var e=[];a.forEach(function(a){a.traverse(function(a){if(!a.isSkinnedMesh&&a.geometry&&!a.geometry.userData.vqa){a.geometry.computeBoundsTree();a.geometry.userData.vqa=m}if(a.isSkinnedMesh&&!a.userData.q9){a.userData.q9=a.geometry.boundingBox;a.geometry.boundingBox=x;a.userData.xqa=a.geometry.boundingSphere;a.geometry.boundingSphere=y;e.push(a)}})});v.firstHitOnly=m;a=v.intersectObjects(a,
m);e.forEach(function(a){a.geometry.boundingBox=a.userData.q9;delete a.userData.q9;a.geometry.boundingSphere=a.userData.xqa;delete a.userData.xqa});a=a.filter(function(a){return a.object.isLine?B:m});a.sort(function(a,b){var c=-a.object.renderOrder,d=-b.object.renderOrder;if(c==d){c=a.object.material&&!a.object.material.depthTest?0:1;d=b.object.material&&!b.object.material.depthTest?0:1}if(c==d){c=a.distance;d=b.distance}return c-d});return a};b.prototype.nV=function(a,b){var c=this.Cha(b);b.Kb.getComponent(n.xd).Ga.trigger(a,
c)};b.prototype.Rga=function(){var a={};a.x=this.vc;a.y=this.wc;if(this.nK!==l&&this.oK!==l){a.pageX=this.nK;a.pageY=this.oK}return a};b.prototype.Cha=function(a){var b=this.Rga(),c=a.Rc,e=a.point,a=a.normal;b.position=d(e);b.cameraPosition=d(u.setFromMatrixPosition(k.Xb(this.bl).matrixWorld));for(var f=c,j=b;;){j.object=f.userData.id;j.name=f.name;j.type=f.isMesh?"mesh":f.isBone?"bone":"other";j.localPosition=d(f.worldToLocal(u.copy(e)));j.localScale=f.worldToLocal(u.set(1,1,1).normalize()).length();
j.objectMatrixWorld=c.matrixWorld.toArray();a&&(j.normal=d(q(c,a,f,u)));if(!f.parent||!f.parent.userData.id)break;f=f.parent;j=j.parent={}}return b};var q=function(){var a=new THREE.Vector3;matrix4=new THREE.Matrix4;return function(b,c,d,e){e.copy(c);if(b==d)return e;e.applyMatrix4(b.matrixWorld);e.sub(a.setFromMatrixPosition(b.matrixWorld));e.add(a.setFromMatrixPosition(d.matrixWorld));e.applyMatrix4(matrix4.copy(d.matrixWorld).invert()).normalize();return e}}();b.prototype.Hoa=function(a,b){var c=
a.getComponent(n.xd);(c=c&&c.Ga)&&c.trigger(b)};b.prototype.SCa=function(a,b){for(var c=r,d=Infinity,e=a.slice();e.length;){var f=e.shift(),j=b.distanceTo(f.getWorldPosition(u));if(j<d){c=f;d=j}e.unshift.apply(e,f.children)}return c};b.prototype.dispose=function(){if(this.Kx){clearTimeout(this.Kx);this.Kx=r}this.cna([]);this.mK();this.dJ=r};var t=16,s=400,u=new THREE.Vector3(0,1,0),w=new THREE.Vector2(0,1),v=new THREE.Raycaster,x=new THREE.Box3;x.min.x=x.min.y=x.min.z=-Infinity;x.max.x=x.max.y=x.max.z=
Infinity;var y=new THREE.Sphere;y.center.x=y.center.y=y.center.z=0;y.radius=Infinity;b.Waa=function(a){a.B(n.Ms).manager=new b(a)};b.fba=function(a){var b=a.getComponent(n.Ms);b.manager.dispose();b.manager=r;a.fa(n.Ms)};b.frame=function(a){a.getComponent(n.Ms).manager.frame()};b.oba=function(a){a.getComponent(n.Ms).manager.update()};b.wTa=function(a){a.B(n.iz);b.gwa(a)};b.gwa=function(a){var b=k.Xb(a),d=a.getComponent(n.xd),e=D.get(a.P);e||D.set(a.P,e=[]);b&&d.Qu?g(e,a):c(e,a);(e=F.get(a.P))||F.set(a.P,
e=[]);b&&d.hv?g(e,a):c(e,a)};b.Jva=function(a){c(D.get(a.P),a);c(F.get(a.P),a);a.fa(n.iz)};b.vTa=function(a){a.B(n.fz);b.fwa(a)};b.fwa=function(a){var b=k.Xb(a),d=a.getComponent(n.Gs),e=L.get(a.P);e||L.set(a.P,e=[]);b&&d.Xva?g(e,a):c(e,a);(e=J.get(a.P))||J.set(a.P,e=[]);b&&d.Yva?g(e,a):c(e,a)};b.Iva=function(a){c(J.get(a.P),a);c(L.get(a.P),a);a.fa(n.fz)};var E=[];b.bTa=function(a){E=[];a.forEach(function(a){E.indexOf(a.P)<0&&E.push(a.P)})};var D=new Map,F=new Map,L=new Map,J=new Map;return b});
define("mK",["require","kL","kV","fm","nA"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("nA"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.jO.entities.length&&this.jO.entities.slice().forEach(g.Waa);this.dv.Oa.length&&this.dv.Oa.slice().forEach(g.oba);this.dv.entities.length&&this.dv.entities.slice().forEach(g.frame);this.kO.entities.length&&this.kO.entities.slice().forEach(g.fba);this.Eua.entities.length&&this.Eua.entities.slice().forEach(g.wTa);this.Dua.entities.length&&
this.Dua.entities.slice().forEach(g.gwa);this.Fua.entities.length&&this.Fua.entities.slice().forEach(g.Jva);this.Gua.entities.length&&this.Gua.entities.slice().forEach(g.Jva);this.Eta.entities.length&&this.Eta.entities.slice().forEach(g.vTa);this.Dta.entities.length&&this.Dta.entities.slice().forEach(g.fwa);this.Fta.entities.length&&this.Fta.entities.slice().forEach(g.Iva);this.Gta.entities.length&&this.Gta.entities.slice().forEach(g.Iva);(this.V$.Xf.length||this.V$.Nm.length)&&g.bTa(this.V$.entities)};
a.A={};a.A.V$=[d.Ej];a.A.jO=[d.yo,d.Ms.not];a.A.dv=[d.yo,d.Ms];a.A.kO=[d.yo.not,d.Ms];a.A.Eua=[d.Object3D,d.xd,d.iz.not];a.A.Dua=[d.Object3D,d.xd,d.iz];a.A.Fua=[d.Object3D.not,d.iz];a.A.Gua=[d.xd.not,d.iz];a.A.Eta=[d.Object3D,d.Gs,d.fz.not];a.A.Dta=[d.Object3D,d.Gs,d.fz];a.A.Fta=[d.Object3D.not,d.fz];a.A.Gta=[d.Gs.not,d.fz];return a});
define("iQ",["require","mT","fm"],function(a){function b(a){this.k=a;this.aa=r;this.update()}var e=a("mT"),d=a("fm");b.prototype.update=function(){this.aa||(this.aa=new THREE.MeshBasicMaterial,this.aa.transparent=m,this.k.B(d.Material).material=this.aa);var a=this.k.getComponent(d.Bc);this.aa.color=new THREE.Color(e.LC(a.color||"#ffffff"));this.aa.opacity=a.opacity||0;this.aa.depthTest=!!a.depthTest;this.aa.side=a.doubleSided?THREE.DoubleSide:THREE.FrontSide;this.aa.visible=0<this.aa.opacity;this.aa.needsUpdate=
m};b.prototype.dispose=function(){this.aa&&(this.aa.dispose(),this.aa=r,this.k.fa(d.Material));this.k=r};b.rc=function(a){a.B(d.Os).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(d.Os);b.manager.dispose();b.manager=r;a.fa(d.Os)};b.update=function(a){a.getComponent(d.Os).manager.update()};return b});
define("hV",["require","kL","kV","fm","iQ"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("iQ"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.wl.entities.length&&this.wl.entities.slice().forEach(g.rc);this.materials.Oa.length&&this.materials.Oa.slice().forEach(g.update);this.xl.entities.length&&this.xl.entities.slice().forEach(g.Gb)};a.A={};a.A.wl=[d.Bc,d.Os.not];a.A.materials=[d.Bc,d.Os];a.A.xl=[d.Bc.not,d.Os];return a});
define("kx",["require","kL","kV","fm"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),a=b.extend(e,function(){e.apply(this,arguments);this.Xe=this.Xe.bind(this);this.uf=this.uf.bind(this);this.jd=this.jd.bind(this)});a.prototype.execute=function(){this.sva.entities.length&&this.sva.entities.slice().forEach(this.Xe);this.rva.Oa.length&&this.rva.Oa.slice().forEach(this.uf);this.tva.entities.length&&this.tva.entities.slice().forEach(this.jd);this.uva.entities.length&&this.uva.entities.slice().forEach(this.jd)};
a.prototype.Xe=function(a){a.B(d.Object3D).Rc=new THREE.Mesh(new THREE.SphereGeometry);a.B(d.jz);this.uf(a)};a.prototype.uf=function(a){var b=a.getComponent(d.Material).material,e=a.getComponent(d.Object3D).Rc;e.material!=b&&(e.material=b,e.needsUpdate=m);a=a.getComponent(d.Sphere);b=e.geometry;if(b.radius!=a.radius||b.widthSegments!=a.widthSegments||b.heightSegments!=a.heightSegments)b.dispose(),b=new THREE.SphereGeometry(a.radius,a.widthSegments,a.heightSegments),e.geometry=b,e.needsUpdate=m;a=
a.renderOrder||0;e.renderOrder!=a&&(e.renderOrder=a,e.needsUpdate=m)};a.prototype.jd=function(a){var b=a.getComponent(d.Object3D);if((b=b&&b.Rc)&&b.geometry)b.geometry.dispose(),b.geometry=r;b&&b.material&&(b.material=r);a.fa(d.jz);a.fa(d.Object3D)};a.A={};a.A.sva=[d.Sphere,d.Material,d.jz.not];a.A.rva=[d.Sphere,d.Material,d.jz];a.A.tva=[d.Sphere.not,d.jz];a.A.uva=[d.Material.not,d.jz];return a});
define("lo",["require","jY","fm","ch"],function(a){function b(a){this.k=a;this.wa=r;this.T_=90;this.U_=100;this.X=this.ia=l;this.kc=1;this.Nc=this.k.D(e.Sprite).rWa=this.k.D(e.Object3D,m).Rc=new THREE.Sprite;this.Nc.material.opacity=0;this.mj();this.update();this.frame()}a("jY");var e=a("fm"),d=a("ch");b.prototype.update=function(){var a=this.k.getComponent(e.Sprite);this.ia=a.height;this.X=a.width;this.Nc.center.x=a.DG;this.Nc.center.y=1-a.EG;this.kc=a.scale;this.ll();this.Nc.needsUpdate=m};b.prototype.frame=
function(){this.wa||(this.wa=d.Yn(this.k));this.gk();this.mj();this.ll()};b.prototype.gk=function(){if(this.wa){var a=d.RN(this.wa);if(a&&a.isPerspectiveCamera){var b=d.GW(this.wa);if(this.T_!=a.fov||this.U_!=b)this.T_=a.fov,this.U_=b,this.ll(),this.Nc.needsUpdate=m}}};b.prototype.mj=function(){var a=this.wa?this.k.getComponent(e.Material).material:r;a&&this.Nc.material!=a&&(this.Nc.material=a,this.Nc.needsUpdate=m);this.Nc.renderOrder=this.k.getComponent(e.Sprite).renderOrder};b.prototype.ll=function(){var a=
this.ia/(this.U_/(2*Math.tan(this.T_*c/2))),b=this.kc;this.Nc.parent&&(this.Nc.parent.getWorldScale(g),b/=Math.max(g.x,g.y,g.z));var a=a*b,b=a*this.X/this.ia,d=this.k.getComponent(e.ta)||this.k.B(e.ta);if(d.Yf!=b||d.qg!=a||1!=d.Kh)d=this.k.D(e.ta,m),d.Yf=b,d.qg=a,d.Kh=1};var g=new THREE.Vector3,c=Math.PI/180;b.prototype.dispose=G();b.rc=function(a){a.B(e.yq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.yq);b.manager.dispose();b.manager=r;a.fa(e.yq);a.fa(e.Object3D)};b.update=function(a){a.getComponent(e.yq).manager.update()};
b.frame=function(a){a.getComponent(e.yq).manager.frame()};return b});
define("ep",["require","kL","kV","fm","lo"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("lo"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.vva.entities.length&&this.vva.entities.slice().forEach(g.rc);this.PX.Oa.length&&this.PX.entities.slice().forEach(g.update);this.PX.entities.length&&this.PX.entities.slice().forEach(g.frame);this.wva.entities.length&&this.wva.entities.slice().forEach(g.Gb);this.xva.entities.length&&this.xva.entities.slice().forEach(g.Gb)};
a.A={};a.A.vva=[d.Material,d.Sprite,d.yq.not];a.A.PX=[d.Sprite,d.Material,d.yq];a.A.wva=[d.Sprite.not,d.yq];a.A.xva=[d.Material.not,d.yq];return a});
define("jR","require,kL,nV,cu,kV,fm,ch".split(","),function(a){function b(a,b,c){for(;a<b-180;)a=a+360;for(;a>b+180;)a=a-360;return e(a,b,c)}function e(a,b,c){if(!c)return b;a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var d=a("kL"),g=a("nV"),c=a("cu"),i=a("kV"),f=a("fm"),j=a("ch"),a=d.extend(i,function(){i.apply(this,arguments);this.Xe=this.Xe.bind(this);this.uf=this.uf.bind(this);this.jd=this.jd.bind(this)});a.prototype.execute=function(a,b){this.aO.entities.length&&this.aO.entities.slice().forEach(this.Xe);
this.$p.Xf.length&&this.$p.Xf.slice().forEach(function(c){this.uf(c,a,b)}.bind(this));this.$p.Oa.length&&this.$p.Oa.slice().forEach(function(c){this.uf(c,a,b)}.bind(this));this.Lta.entities.length&&this.Lta.entities.slice().forEach(function(c){this.uf(c,a,b)}.bind(this));this.Zqa.entities.length&&this.Zqa.entities.slice().forEach(this.jd);this.$qa.entities.length&&this.$qa.entities.slice().forEach(this.jd)};a.prototype.Xe=function(a){var b=a.getComponent(f.ta),c=a.B(f.wf);c.we=b.we;c.ae=b.ae;c.tf=
b.tf;c.Te=b.Te;c.xe=b.xe;c.Ue=b.Ue;c.pg=b.pg;c.scale=b.scale;c.Yf=b.Yf;c.qg=b.qg;c.Kh=b.Kh;c.Yg=b.Yg;c.Ig=b.Ig;c.Zf=b.Zf;this.updateMatrixWorld(a)};a.prototype.uf=function(a){var c=a.getComponent(f.ta),d=a.getComponent(f.wf),j=c.AN||0;j?a.getComponent(f.kz)||a.B(f.kz):a.fa(f.kz);var g=r;if(c.we!==d.we){g||(g=a.D(f.wf));g.we=e(g.we,c.we,j)}if(c.ae!==d.ae){g||(g=a.D(f.wf));g.ae=e(g.ae,c.ae,j)}if(c.tf!==d.tf){g||(g=a.D(f.wf));g.tf=e(g.tf,c.tf,j)}if(c.Te!==d.Te){g||(g=a.D(f.wf));g.Te=b(g.Te,c.Te,j)}if(c.xe!==
d.xe){g||(g=a.D(f.wf));g.xe=b(g.xe,c.xe,j)}if(c.Ue!==d.Ue){g||(g=a.D(f.wf));g.Ue=b(g.Ue,c.Ue,j)}if(c.scale!==d.scale){g||(g=a.D(f.wf));g.scale=c.scale}if(c.Yf!==d.Yf){g||(g=a.D(f.wf));g.Yf=c.Yf}if(c.qg!==d.qg){g||(g=a.D(f.wf));g.qg=c.qg}if(c.Kh!==d.Kh){g||(g=a.D(f.wf));g.Kh=c.Kh}if(c.Yg!==d.Yg){g||(g=a.D(f.wf));g.Yg=e(g.Yg,c.Yg,j)}if(c.Ig!==d.Ig){g||(g=a.D(f.wf));g.Ig=e(g.Ig,c.Ig,j)}if(c.Zf!==d.Zf){g||(g=a.D(f.wf));g.Zf=e(g.Zf,c.Zf,j)}g?this.updateMatrixWorld(a):a.fa(f.kz)};var n=new THREE.Vector3;
a.prototype.updateMatrixWorld=function(a){j.EX(a,a.getComponent(f.wf));var b=a.getComponent(f.ta).Ga;if(b){j.getWorldPosition(a,n);a={position:{}};a.position.x=n.x;a.position.y=n.y;a.position.z=n.z;b.trigger(new c(g.Js,a))}};a.prototype.jd=function(a){a.fa(f.wf);a.fa(f.kz)};a.A={};a.A.$p=[f.Object3D,f.ta,f.wf];a.A.aO=[f.Object3D,f.ta,f.wf.not];a.A.Lta=[f.Object3D,f.ta,f.wf,f.kz];a.A.Zqa=[f.Object3D.not,f.ta,f.wf];a.A.$qa=[f.ta.not,f.wf];return a});
define("gw",["require"],function(){function a(a,d,g){this.Tc=a;this.roa=d;this.Yz=g||b}var b=function(){var a=document.createElement("canvas");a.width=a.height=256;a.getContext("2d").clearRect(0,0,a.width,a.height);return a}();a.prototype.isEmpty=function(){return this.Yz==b};a.prototype.isEqual=function(a,b){return this.Tc==a.Tc&&Math.abs(this.roa-a.roa)<(b||0)&&this.Yz==a.Yz};return a});
define("cX",["require","le","u","hH"],function(a){function b(a){return g.Kva(a.get("width"),a.get("height"),a.get("framerate"))}function e(a,b){if(!b)return m;var c=a.get("url"),e=a.get("type")||"";switch(b){case f:return i.is(c,i.jda)||d(e,"webm");case j:return i.is(c,i.axa)||(i.is(c,i.mZ)||i.is(c,i.cca)||!c)&&(d(e,"hev1")||d(e,"h265")||d(e,"heic"))?m:B;case n:return i.is(c,i.mZ)||d(e,"mp4");case k:return i.is(c,i.Xm)||d(e,"x-mpegurl");case o:return i.is(c,i.wca)||d(e,"ogg");case p:return i.is(c,
i.cca)||d(e,"quicktime");default:return B}}function d(a,b){return 0<=(a||"").toLowerCase().indexOf(b)}var g=a("le"),c=a("u"),i=a("hH"),f="webm",j="h265",n="mp4",k="hls",o="ogv",p="mov",q={QPa:function(a){return q.select(a.get("levels"))},OPa:function(a){return q.select(a.get("levels"))},select:function(a){a||(a=[]);var a=a.slice(),d=[];g.YPa&&d.push({type:k,ns:B});g.jQa&&d.push({type:j,ns:m});g.n$&&d.push({type:f,ns:m});g.TW&&d.push({type:n,ns:m});g.kQa&&d.push({type:p,ns:m});g.m$&&d.push({type:o,
ns:m});d.push({type:n,ns:m});d.push({type:f,ns:m});d.push({type:n,ns:B});d.push({type:f,ns:B});for(var i=1E3*(c.mb()?800:5E3),q=0;q<d.length;q++){var v=a;d[q].ns&&(v=v.filter(b));v=v.filter(function(a){if(e(a,d[q].type))return m});d[q].type!=k&&v.sort(function(a,b){return Math.abs(i-a.get("bitrate"))-Math.abs(i-b.get("bitrate"))});if(v.length)return v[0]}return r}};return q});
define("nt","require,kL,cu,fQ,nV,kn,hA,mR,u,lG,no,dt,gw,mp,nu,bR,cX".split(","),function(a){function b(a){n.browser()==n.Hl&&(a=k.gy(a,"playbacksession="+(new Date).getTime()));return a}var e=a("kL"),d=a("cu"),g=a("fQ"),c=a("nV"),i=a("kn"),f=a("hA"),j=a("mR"),n=a("u"),k=a("lG"),o=a("no"),p=a("dt"),q=a("gw"),t=a("mp"),s=a("nu"),u=a("bR"),w=a("cX"),v=e.extend(g,function(a,b){g.call(this);this.Pa=a;this.n=b;this.Ua=v.tj(this.n);this.j=r;this.dM();this.n.bind(c.u("subtitlesURL"),this.fp,this,m);this.n.bind(c.u("gain"),
this.dF,this,m);this.Ua.bind(c.u("subtitlesURL"),this.fp,this,m);this.Ua.bind(c.u("url"),this.fp,this,m);this.Ua.bind(c.u("gain"),this.dF,this,m);this.o=i.M;this.xf=this.ab=0;this.Le=B;this.Op=1;this.Kk=B;this.I=this.lb=r;this.OD=B;this.gQ=l;this.hfa=B;this.Dq=[]});v.prototype.tb=S("Pa");v.prototype.wd=function(a){if(this.o!=a&&!(a==i.Db&&this.o!=i.Q)){this.hfa&&a==i.Q&&this.o==i.M&&this.Z_();this.o=a;if(this.o==i.Q){this.lb&&this.lb.play(this.Pa,this.j,this.xf);u.tX(this)}else{u.osa()?this.lb&&this.lb.stop():
u.rH(this);this.o==i.M&&this.O6()}this.Q7()}};v.prototype.mg=S("o");v.prototype.Fi=S("ab");v.prototype.BC=function(a){this.xf=a;if(this.lb){this.lb.lC()&&this.OQ();this.lb.play(this.Pa,this.j,this.xf)}};v.prototype.rl=S("xf");v.prototype.mv=function(a){this.Op=a;this.lb&&this.lb.mv(a)};v.prototype.kf=function(a){this.Le=a;this.lb&&this.lb.kf(a)};v.prototype.setLoop=function(a){this.Kk=a;this.lb&&this.lb.setLoop(a)};v.prototype.bSa=function(){this.hfa=m};v.prototype.PG=function(a,b,c){this.lb&&this.lb.lC()?
this.lb.PG(a,b,c):this.OD?a.drawImage(this.I,0,0,b,c):a.fillRect(0,0,b,c)};v.prototype.uW=function(){if(this.lb&&this.lb.lC()){var a=this.lb.rl(),b=this.lb.Rb;if(this.NR())return new q(this.j.src,this.gQ,this.I);this.Z_();return new q(this.j.src,a,b)}return this.OD?new q(this.j.src,this.xf,this.I):new q(this.j.src,this.xf,r)};v.prototype.xX=function(){return!this.Le&&this.n.get("hasAudio")};v.prototype.ue=function(){return s.Ml};v.prototype.f$=function(){return f.Ml};v.prototype.F9=function(a){this.lb=
a;setTimeout(function(){this.lb&&this.lb.bind(o.zj,this.CK,this,m)}.bind(this),0);this.dM();this.lb.bind(o.mf,this.Ce,this,m);this.lb.bind(o.li,this.qm,this,m);this.lb.bind(c.tk,this.Zh,this,m);this.lb.kf(this.Le);this.lb.mv(this.Op);this.lb.setLoop(this.Kk);this.lb.play(this.Pa,this.j,this.xf)};v.prototype.G$=function(){this.lb.lC()&&this.OQ();this.xf=this.lb.rl();this.lb.unbind(o.zj,this.CK,this,m);this.lb.unbind(o.mf,this.Ce,this,m);this.lb.unbind(o.li,this.qm,this,m);this.lb.unbind(c.tk,this.Zh,
this,m);if(this.o==i.M){this.lb.stop();this.lb.BC(0)}this.lb=r};v.prototype.clear=function(){u.rH(this);this.Z_();if(this.n){this.n.unbind(c.u("subtitlesURL"),this.fp,this,m);this.n.unbind(c.u("gain"),this.dF,this,m);this.n=r}if(this.Ua){this.Ua.unbind(c.u("subtitlesURL"),this.fp,this,m);this.Ua.unbind(c.u("url"),this.fp,this,m);this.Ua=r}};v.prototype.fp=function(){this.fB&&clearTimeout(this.fB);this.fB=setTimeout(function(){this.fB=r;if(this.lb){this.j.Rm=this.n.get("subtitlesURL")||this.Ua.get("subtitlesURL");
this.j.src=b(this.Ua.get("url"));this.lb.play(this.Pa,this.j,this.xf)}}.bind(this),10)};v.prototype.dF=function(){if(this.lb){this.j.gain=this.n.get("gain",1)*this.Ua.get("gain",1);this.lb.tO(this.j.gain)}};v.prototype.dM=function(){this.j=new t;this.j.src=b(this.Ua.get("url"));this.j.Rm=this.n.get("subtitlesURL")||this.Ua.get("subtitlesURL");this.j.Yu=this.n.get("hasAudio",m)&&this.Ua.get("hasAudio",m);this.j.gain=this.n.get("gain",1)*this.Ua.get("gain",1)};v.prototype.OQ=function(){if(!this.I)this.I=
document.createElement("canvas");if(!this.NR()){this.I.width=this.lb.bd();this.I.height=this.lb.Rd();this.gQ=this.lb.rl();var a=this.I.getContext("2d");a.clearRect(0,0,this.I.width,this.I.height);this.OD=this.lb.PG(a,this.I.width,this.I.height)}};v.prototype.NR=function(){var a=this.lb.rl();this.ab&&(a=Math.min(a,this.ab));return this.OD&&Math.abs(a-this.gQ)<=0.15};v.prototype.Z_=function(){if(this.OD){this.gQ=l;this.OD=B;if(n.browser()!=n.Hl){this.I.width=0;this.I.height=0;this.I=r}}};v.prototype.qm=
function(){this.ab=this.lb.Fi();this.L7()};v.prototype.Ce=function(){this.ab!=this.lb.Fi()&&this.qm();this.xf=this.lb.rl();n.Xd()==n.mi&&this.xf>0&&this.xf>this.ab-0.15&&!this.NR()&&!this.Kk?this.OQ():n.browser()==n.rk&&this.xf>0&&this.xf>this.ab-0.05&&!this.NR()&&this.Kk&&this.OQ();this.KM()};v.prototype.Zh=function(){this.Dq=this.lb.GN().map(function(a){for(var b=r,c=0;c<this.Dq.length&&!b;c++)this.Dq[c].cue==a&&(b=this.Dq[c]);b||(b=new p(a));return b}.bind(this));this.trigger(new d(c.tk))};v.prototype.CK=
function(){this.wd(i.M);this.M7()};v.prototype.O6=function(){this.xf=0;this.KM()};v.prototype.KM=function(){this.trigger(new d(v.mf))};v.prototype.L7=function(){this.trigger(new d(v.li))};v.prototype.M7=function(){this.trigger(new d(c.hb))};v.prototype.Q7=function(){this.trigger(new d(c.Yd))};v.mf="time update";v.li="duration update";v.tj=function(a){if(j.va("Video360Resource",a))return w.OPa(a);if(j.va("VideoResource",a))return w.QPa(a);h("invalid video resource object: "+a)};return v});
define("fX",["require","nV","kn","cu","nt"],function(a){function b(a,b,c,e){this.S=a;this.j=b;this.Ud=c;this.ua=e;this.Wb=a.tb();this.xf=this.j.get("currentTime");this.o=this.j.get("state");this.Kk=this.j.get("loop");this.KT=this.Wb.get("mute");this.zS=this.j.get("mute");this.o=this.j.get("autoplay")?d.Q:d.Db;this.g_();this.j.set("state",this.o);this.S.kf(this.KT||this.zS);this.S.setLoop(this.Kk);this.S.BC(this.xf);this.S.wd(this.o)}var e=a("nV"),d=a("kn"),g=a("cu"),c=a("nt");b.prototype.dispose=
function(){this.Z5()};b.prototype.Rka=function(){var a=this.j.get("currentTime",0);this.xf!=a&&this.S.BC(this.xf=a)};b.prototype.Vka=function(){var a=this.j.get("state",d.M);this.o!=a&&this.S.wd(this.o=a)};b.prototype.Tka=function(){var a=this.j.get("mute",B);this.zS!=a&&this.S.kf(this.KT||(this.zS=a))};b.prototype.Ska=function(){var a=this.j.get("loop",B);this.Kk!=a&&this.S.setLoop(this.Kk=a)};b.prototype.XK=function(){var a=this.Wb.get("mute",B);this.KT!=a&&this.S.kf((this.KT=a)||this.zS)};b.prototype.eL=
function(){this.j.set("currentTime",this.xf=this.S.rl())};b.prototype.cL=function(){this.j.set("duration",this.S.Fi())};b.prototype.dL=function(){this.j.set("state",this.o=this.S.mg());this.ua()};b.prototype.fL=function(){this.Ud.trigger(new g(e.hb))};b.prototype.g_=function(){this.Wb.bind(e.u("mute"),this.XK,this,m);this.S.bind(c.mf,this.eL,this,m);this.S.bind(c.li,this.cL,this,m);this.S.bind(e.Yd,this.dL,this,m);this.S.bind(e.hb,this.fL,this,m);this.j.bind(e.u("currentTime"),this.Rka,this,m);this.j.bind(e.u("state"),
this.Vka,this,m);this.j.bind(e.u("mute"),this.Tka,this,m);this.j.bind(e.u("loop"),this.Ska,this,m)};b.prototype.Z5=function(){this.Wb.unbind(e.u("mute"),this.XK,this,m);this.S.unbind(c.mf,this.eL,this,m);this.S.unbind(c.li,this.cL,this,m);this.S.unbind(e.Yd,this.dL,this,m);this.S.unbind(e.hb,this.fL,this,m);this.j.unbind(e.u("currentTime"),this.Rka,this,m);this.j.unbind(e.u("state"),this.Vka,this,m);this.j.unbind(e.u("mute"),this.Tka,this,m);this.j.unbind(e.u("loop"),this.Ska,this,m)};return b});
define("v","require,nV,kn,hA,cm,kI,ex,fK".split(","),function(a){function b(a,b,c,d){this.Lo();this.S=a;this.j=b;this.Ua=c;this.ua=d;this.AF=this.Ua.get("posterURL");this.yNa=this.Ua.get("url");this.X=this.Ua.get("width");this.ia=this.Ua.get("height");this.od=r;this.Dia();this.Ua.bind(e.u("posterURL"),this.Pka,this,m);this.ua();this.ha=this.I=r}var e=a("nV"),d=a("kn"),g=a("hA"),c=a("cm"),i=a("kI"),f=a("ex"),j=a("fK");b.prototype.update=function(){var a=this.S.uW();a.isEmpty()&&(a=r);if(a&&(!this.od||
this.od&&!this.od.isEqual(a))){this.od=a;var a=this.od.Yz,b=j.iH(a);if(b){a.width=a.videoWidth||this.X;a.height=a.videoHeight||this.ia}if(!this.I&&j.lwa(this.yNa)){this.I=document.createElement("canvas");this.I.width=this.X;this.I.height=this.ia;this.ha=this.I.getContext("2d")}if(this.I&&b){this.ha.drawImage(a,0,0,this.I.width,this.I.height);a=this.I}this.wna(a)}else!this.od&&this.mu&&this.ib.image!=this.mu&&this.wna(this.mu);(this.ib.needsUpdate||this.S.mg()==d.Q)&&this.ua()};b.prototype.Pka=function(){this.hKa(this.Ua.get("posterURL"))};
b.prototype.hKa=function(a){if(this.AF!=a){this.Ooa();this.AF=a;this.Dia()}};b.prototype.Dia=function(){if(this.AF){this.mu=r;this.zF=new c;this.zF.EO([this.AF]);this.zF.bind(e.T,this.Oka,this,m);i.$n(this.zF,this.j.get("loadPriority",g.Zm))}};b.prototype.Ooa=function(){if(this.AF){this.zF.unbind(e.T,this.Oka,this,m);i.yj(this.zF,this.j.get("loadPriority",g.Zm));this.mu=this.zF=r}};b.prototype.Oka=function(){this.mu=i.hf(this.AF);if(this.mu.width!=this.X||this.mu.height!=this.ia){var a=document.createElement("canvas"),
b=a.getContext("2d");a.width=this.X;a.height=this.ia;b.drawImage(this.mu,0,0,this.X,this.ia);this.mu=a}this.ua()};b.prototype.wna=function(a){!this.ib||this.ib.image.width!=a.width||this.ib.image.height!=a.height?this.Lo(a):this.ib.image=a;this.ib.needsUpdate=m};b.prototype.Lo=function(a){this.HQ();this.ib=new THREE.Texture;this.ib.image=a||f.tra();this.ib.generateMipmaps=B;this.ib.minFilter=THREE.LinearFilter;this.ib.magFilter=THREE.LinearFilter;this.ib.format=THREE.RGBAFormat};b.prototype.HQ=function(){if(this.ib){this.ib.dispose();
this.ib=r}};b.prototype.dispose=function(){this.Ooa();this.Ua.unbind(e.u("posterURL"),this.Pka,this,m);this.ha=this.Ua=r;this.I&&(this.I=this.I.width=this.I.height=0);this.HQ();this.ua=this.Eh=this.S=r};return b});
define("ke",["require","fK"],function(a){var b=a("fK");return{Bwa:function(){this.blending=0;this.jH=l;this.jva=this.Sva=0},Xxa:function(){this.qy=B;this.height=this.width=100},create:function(a,d,g){var c=a.qy&&b.qsa(),i=a.qy&&b.psa(),f=l,j=!c,n={uniforms:{},transparent:m};n.uniforms.text1={type:"sampler2D",value:r};n.uniforms.opacity={type:"float",value:1};n.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(c?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");
if(i||d.blending||d.jH){var c=[],k=[],c=c.concat(["uniform sampler2D text1;","uniform float opacity;","varying vec2 vUV;"]),k=k.concat(["   vec4 color = texture2D(text1, vUV);","   float alpha = color.a * opacity;"]);d.blending&&(f=0.5*Math.min(a.width,a.height)*d.blending,n.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(f/a.width,f/a.height)},c=c.concat(["uniform vec2 blendingLimit;"]),k=k.concat("   float xCoef = 0.0;,   float yCoef = 0.0;,   if (vUV.x < blendingLimit.x) {,      xCoef = 1.0 - (vUV.x / blendingLimit.x);,      xCoef = xCoef * xCoef;,   } else if ((1.0 - vUV.x) < blendingLimit.x) {,      xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);,      xCoef = xCoef * xCoef;,   },   if (vUV.y < blendingLimit.y) {,      yCoef = 1.0 - (vUV.y / blendingLimit.y);,      yCoef = yCoef * yCoef;,   } else if ((1.0 - vUV.y) < blendingLimit.y) {,      yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);,      yCoef = yCoef * yCoef;,   },   alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(",")));
d.jH&&(n.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(d.jH.substr(1,2),16)/255,parseInt(d.jH.substr(3,2),16)/255,parseInt(d.jH.substr(5,2),16)/255)},n.uniforms.chromaThreshold={type:"f",value:d.Sva},n.uniforms.chromaSmoothing={type:"f",value:d.jva},c=c.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),k=k.concat("    float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{    float maskCr = 0.7132 * (chromaColor.r - maskY);{    float maskCb = 0.5647 * (chromaColor.b - maskY);{    float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{    float Cr = 0.7132 * (color.r - Y);{    float Cb = 0.5647 * (color.b - Y);{    float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{    alpha = alpha * chromaBlendValue;".split("{")));
k=k.concat(["\tgl_FragColor = vec4(color"+(i?".bgr":".rgb")+", alpha);"]);f=THREE.RGBAFormat;n.fragmentShader=[].concat(c,["void main() {"],k,["}"]).join("\n")}else n.fragmentShader="uniform sampler2D text1;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\n   vec4 color = texture2D(text1, vUV);\n   float alpha = color.a * opacity;\n\tgl_FragColor = vec4(color.rgb, alpha);\n}";a=new THREE.ShaderMaterial(n);a.transparent=m;a.depthWrite=m;a.side=THREE.FrontSide;a.depthTest=m;a.needsUpdate=
m;a.userData.Pva=j;a.userData.Qva=f;this.NC(a,g);return a},NC:function(a,b){a.uniforms.text1.value!==b&&(a.userData.Pva!==l&&(b.flipY=a.userData.Pva),a.userData.Qva!==l&&(b.format=a.userData.Qva),a.uniforms.text1.value=b)}}});
define("jK",["require","nt","nV"],function(a){function b(a,b){this.yc=a;this.S=b;this.d_=[];this.I_();this.Zh()}a("nt");var e=a("nV");b.prototype.clear=function(){this.CAa();this.U7();this.S=this.yc=r};b.prototype.I_=function(){this.S.bind(e.tk,this.Zh,this,m)};b.prototype.U7=function(){this.S.unbind(e.tk,this.Zh,this,m)};b.prototype.Zh=function(){this.yc.set("activeSubtitles",this.d_=this.S.Dq)};b.prototype.CAa=function(){this.yc.get("activeSubtitles")==this.d_&&this.yc.set("activeSubtitles",this.d_=
[])};return b});
define("gC","require,jY,nV,kn,fX,v,ke,fK,fm,jK,nt".split(","),function(a){function b(a){this.k=a;this.MS=this.MS.bind(this);a=a.getComponent(n.Ov);this.Ud=a.Ga;this.j=a.Cb;this.GV=a.mwa;this.Wb=this.k.P.Wb;this.ua=this.ua.bind(this);this.Df=B;this.Ua=r;e.ea(this.GV,["levels.url","levels.width","levels.height"],this.MS,m)}var e=a("jY"),d=a("nV"),g=a("kn"),c=a("fX"),i=a("v"),f=a("ke"),j=a("fK"),n=a("fm"),k=a("jK"),o=a("nt");b.prototype.update=function(){if(this.Df){this.Df=B;this.On.update();f.NC(this.aa,
this.On.ib)}};b.prototype.MS=function(){this.WL(o.tj(this.GV))};b.prototype.WL=function(a){a=a&&a.get("url")?a:r;if(this.Ua!=a){if(this.Ua){this.Npa.dispose();this.Npa=r;this.j.unbind(d.u("opacity"),this.Uka,this,m);this.Z0();this.On.dispose();this.On=r;this.kCa();this.Df=B}if(this.Ua=a){this.VBa();this.Npa=new c(this.S,this.j,this.Ud,this.ua);this.On=new i(this.S,this.j,this.Ua,this.ua);this.Sz();this.j.bind(d.u("opacity"),this.Uka,this,m);this.lna(this.bb=this.j.get("opacity",1));this.Df=B;this.ua()}}};
b.prototype.ua=function(){if(!this.Df){this.Df=m;this.k.P.nb()}};b.prototype.VBa=function(){this.S=new o(this.k.P.Wb,this.GV);this.Du=new k(this.j,this.S)};b.prototype.kCa=function(){this.S.wd(g.M);this.S.clear();this.S=r;this.Du.clear();this.Du=r};b.prototype.Sz=function(){var a=new f.Xxa;a.qy=j.qy(this.Ua.get("url"));a.width=this.Ua.get("width");a.height=this.Ua.get("height");var b=new f.Bwa;b.blending=this.j.get("blending",0);b.jH=this.j.get("chromaColor");b.Sva=this.j.get("chromaThreshold",0);
b.jva=this.j.get("chromaSmoothing",0);this.aa=f.create(a,b,this.On.ib);this.k.B(n.Material).material=this.aa};b.prototype.Z0=function(){this.aa.dispose();this.aa=r;this.k.fa(n.Material)};b.prototype.dispose=function(){this.WL(r);this.j.set("state",g.M);this.k=this.Ud=this.j=this.Wb=r;e.da(this.GV,["levels.url","levels.width","levels.height"],this.MS)};b.prototype.Uka=function(){var a=this.j.get("opacity");if(this.bb!=a){this.lna(this.bb=a);this.ua()}};b.prototype.lna=function(a){this.aa.opacity=a;
if(this.aa.isShaderMaterial&&this.aa.uniforms.opacity)this.aa.uniforms.opacity.value=a};b.rc=function(a){a.B(n.Pv).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(n.Pv);b.manager.dispose();b.manager=r;a.fa(n.Pv)};b.update=function(a){a.getComponent(n.Pv).manager.update()};return b});
define("el",["require","kL","kV","fm","gC"],function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("gC"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.wl.entities.length&&this.wl.entities.slice().forEach(g.rc);this.xl.entities.length&&this.xl.entities.slice().forEach(g.Gb);this.materials.entities.length&&this.materials.entities.slice().forEach(g.update)};a.A={};a.A.wl=[d.Ov,d.Pv.not];a.A.materials=[d.Ov,d.Pv];a.A.xl=[d.Ov.not,d.Pv];return a});
define("nM",["require","kL","kV","ch","fm"],function(a){var b=a("kL"),e=a("kV"),d=a("ch"),g=a("fm"),a=b.extend(e,function(){e.apply(this,arguments);this.R6=this.R6.bind(this);this.qG=this.qG.bind(this)});a.prototype.execute=function(){this.qba.Xf.length&&this.qba.Xf.slice().forEach(this.R6);this.tC.Oa.length&&this.tC.Oa.slice().forEach(this.qG);this.es.Oa.length&&this.es.Oa.slice().forEach(this.qG);this.tC.Xf.length&&this.tC.Xf.slice().forEach(this.qG);this.es.Xf.length&&this.es.Xf.slice().forEach(this.qG)};
a.prototype.R6=function(a){var b=a.getComponent(g.Gj),e=d.M9(b.Un),j=e&&e.width||100,e=e&&e.height||100;if(b.width!=j||b.height!=e)b=a.D(g.Gj),b.width=j,b.height=e};a.prototype.qG=function(a){var b=d.M9(a);this.qba.entities.forEach(function(d){if(d.getComponent(g.Gj).Un==a){var e=d.getComponent(g.Gj);if(e.width!=b.width||e.height!=b.height)e=d.D(g.Gj),e.width=b.width,e.height=b.height}})};a.A={};a.A.qba=[g.Gj];a.A.tC=[g.OrthographicCamera];a.A.es=[g.PerspectiveCamera];return a});
define("dR",["require"],function(){return{create:function(){var a=new THREE.BufferGeometry;a.setAttribute("position",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(12),2));a.setIndex(new THREE.BufferAttribute(new Uint32Array(6),1));return a},set:function(a,b,e,d,g,c,i,f,j,n,k,o,p,q,t){var s=a.getAttribute("position").array,u=a.getAttribute("normal").array,w=
a.getAttribute("uv").array,v=a.getIndex().array;s[9]=s[0]=b;s[10]=s[1]=e;s[11]=s[2]=d;w[6]=w[0]=g;w[7]=w[1]=c;s[3]=s[0]+k;s[4]=s[1]+o;s[5]=s[2]+p;w[2]=w[0];w[3]=w[1]+q;s[12]=s[6]=s[3]+i;s[13]=s[7]=s[4]+f;s[14]=s[8]=s[5]+j;w[8]=w[4]=w[2]+n;w[9]=w[5]=w[3];s[15]=s[12]-k;s[16]=s[13]-o;s[17]=s[14]-p;w[10]=w[8];w[11]=w[9]-q;b=f*p-j*o;j=j*k-i*p;i=i*o-f*k;f=1/Math.sqrt(b*b+j*j+i*i);u[0]=u[3]=u[6]=u[9]=u[12]=u[15]=b*f;u[1]=u[4]=u[7]=u[10]=u[13]=u[16]=j*f;u[2]=u[5]=u[8]=u[11]=u[14]=u[17]=i*f;v[0]=0;v[1]=2;
v[2]=1;v[3]=3;v[4]=5;v[5]=4;a.getAttribute("position").needsUpdate=m;a.getAttribute("normal").needsUpdate=m;a.getAttribute("uv").needsUpdate=m;a.clearGroups();a.addGroup(0,6,t);a.computeBoundingBox();a.computeBoundingSphere();return a}}});
define("nB",["require","nV","kO"],function(a){function b(a,b,d){this.hm=a;this.j=b;this.B2=d;this.nU=this.nU.bind(this);this.DD=l;this.j.forEach(function(a){this.hm.bind(e.u(a),this.NA,this,m)}.bind(this));this.nU()}var e=a("nV"),d=a("kO");b.prototype.stop=function(){this.j.forEach(function(a){this.hm.unbind(e.u(a),this.NA,this,m)}.bind(this));this.DD&&(d.cancel(this.DD),this.DD=l)};b.prototype.NA=function(){this.DD||(this.DD=d.uy(this.nU))};b.prototype.nU=function(){this.DD=l;var a=this.hm;this.B2.apply(window,
this.j.map(function(b){return a.get(b)}))};return b});
define("fg","require,kL,kV,fm,dR,nB,ch,mn,lA".split(","),function(a){var b=a("kL"),e=a("kV"),d=a("fm"),g=a("dR"),c=a("nB"),i=a("ch"),f=a("mn"),j=a("lA"),n=b.extend(e,function(){e.apply(this,arguments);this.Q6=this.Q6.bind(this);this.s8=this.s8.bind(this);this.r7=this.r7.bind(this)});n.prototype.execute=function(){this.iO.entities.length&&this.iO.entities.slice().forEach(this.Q6);this.hO.Oa.length&&this.hO.Oa.slice().forEach(this.s8);this.Zta.entities.length&&this.Zta.entities.slice().forEach(this.r7)};
n.prototype.Q6=function(a){var b=a.getComponent(d.Qv),e=a.B(d.Gj);e.Un=b.Un;var f=i.M9(b.Un);if(f){e.width=f.width;e.height=f.height}e=a.B(d.Qs);e.geometry=g.create();e.hua=new c(b.Cb,["width","height","horizontalAlign","verticalAlign","scaleMode","zIndex"],function(b,c,e,f,j,g){var i=a.D(d.Qs);i.nva=b;i.kva=c;i.rsa=e;i.verticalAlign=f;i.xua=j;i.zIndex=g});a.B(d.Geometry).geometry=e.geometry};n.prototype.r7=function(a){var b=a.getComponent(d.Qs);b.geometry.dispose();b.geometry=r;b.hua.stop();b.hua=
r;a.fa(d.Geometry);a.fa(d.Gj);a.fa(d.Qs)};n.prototype.s8=function(a){var b=a.getComponent(d.Qs),c=a.getComponent(d.Gj),e=c.width,i=c.height,s=b.nva,u=b.kva,w;switch(b.xua){case j.NONE:c=s;w=u;break;case j.so:c=e;w=u*e/s;break;case j.Cj:w=i;c=s*i/u;break;case j.mq:if(s*i>u*e){w=i;c=s*i/u}else{c=e;w=u*e/s}break;default:if(s*i>u*e){c=e;w=u*e/s}else{w=i;c=s*i/u}}switch(b.rsa){case f.Ha:e=-e*0.5;break;case f.Va:e=e*0.5-c;break;default:e=-c*0.5}switch(b.verticalAlign){case f.ec:i=i*0.5-w;break;case f.Zb:i=
-i*0.5;break;default:i=-w*0.5}s=b.zIndex-n.kxa;g.set(b.geometry,e,i,0,0,0,c,0,0,1,0,w,0,1,0);a.D(d.ta,m).tf=s;a.P.nb()};n.kxa=100;n.A={};n.A.iO=[d.Qv,d.Qs.not];n.A.hO=[d.Qv,d.Qs,d.Gj];n.A.Zta=[d.Qv.not,d.Qs];return n});
define("ii","require,mu,n,mo,hz,gF,hR,kt,ho,kQ,lT,it,nX,nG,fw,bG,hd,fd,ks,gG,gB,md,cY,hZ,kR,eI,mK,hV,kx,ep,jR,el,nM,fg".split(","),function(a){var b=a("mu"),e=a("n"),d=a("mo"),g=a("hz"),c=a("gF"),i=a("hR"),f=a("kt"),j=a("ho"),n=a("kQ"),k=a("lT"),o=a("it"),p=a("nX"),q=a("nG"),t=a("fw"),s=a("bG"),u=a("hd"),w=a("fd"),v=a("ks"),x=a("gG"),y=a("gB");ParentSystem=a("md");PixelScaleTransformSystem=a("cY");PointerOverTransformSystem=a("hZ");RendererSystem=a("kR");SceneSystem=a("eI");SelectionSystem=a("mK");
SolidMaterialSystem=a("hV");SphereSystem=a("kx");SpriteSystem=a("ep");TransformSystem=a("jR");VideoMaterialSystem=a("el");ViewportSystem=a("nM");ViewportPlaneGeometrySystem=a("fg");a={};a.tv=b;a.Gl=e;a.My=d;a.Camera=g;a.Awa=c;a.Ki=i;a.Bv=f;a.zs=j;a.Group=n;a.Bs=k;a.Mi=o;a.Light=p;a.Line=q;a.Jv=t;a.pq=s;a.Es=u;a.Mesh=w;a.tg=v;a.uxa=x;a.wb=ParentSystem;a.Plane=y;a.Kl=PixelScaleTransformSystem;a.Ej=PointerOverTransformSystem;a.gh=RendererSystem;a.Scene=SceneSystem;a.Lxa=SelectionSystem;a.Bc=SolidMaterialSystem;
a.Sphere=SphereSystem;a.Sprite=SpriteSystem;a.ta=TransformSystem;a.Ov=VideoMaterialSystem;a.Gj=ViewportSystem;a.Qv=ViewportPlaneGeometrySystem;return a});
define("nc",["require","u"],function(a){function b(a){for(var a=atob(a.split(",")[1]),b=[],c=0;c<a.length;c++)b.push(a.charCodeAt(c));return new Blob([new Uint8Array(b)],{type:"image/jpeg"})}var e=a("u");return{Tva:function(a,g){g||(g="screenshot.jpg");var c;a:{try{c=a.toDataURL("image/jpeg");break a}catch(i){}c=l}if(!c)return B;var f=g,j=document.createElement("a");"string"===typeof j.download?(document.body.appendChild(j),j.download=f,j.href=c,j.click(),document.body.removeChild(j)):e.browser()==
e.wv?window.navigator.msSaveOrOpenBlob(b(c),f):window.location.replace(c);return m}}});
define("fR","require,kL,nV,e,bZ,jE,kD,fm,ii,nc".split(","),function(a){function b(a){return a.map(function(a){return String.fromCharCode(a)}).join("")}var e=a("kL"),d=a("nV"),g=a("e"),c=a("bZ"),i=a("jE"),f=a("kD"),j=a("fm"),n=a("ii"),k=a("nc"),a=e.extend(g,function(a,b){g.call(this);this.Wb=a;this.HNa=b;this.Jr=(new f(a)).ma(j.QC).ma(j.tv).ma(j.rs).ma(j.Hy).ma(j.Gl).ma(j.vv).ma(j.Iy).ma(j.My).ma(j.yv).ma(j.kq).ma(j.ts).ma(j.Ki).ma(j.zv).ma(j.YO).ma(j.jo).ma(j.Av).ma(j.Bv).ma(j.bD).ma(j.ys).ma(j.cD).ma(j.As).ma(j.zs).ma(j.nq).ma(j.Geometry).ma(j.Group).ma(j.gD).ma(j.Bs).ma(j.Gv).ma(j.Light).ma(j.Cs).ma(j.Line).ma(j.Mi).ma(j.Hv).ma(j.Jv).ma(j.Kv).ma(j.Iv).ma(j.Material).ma(j.pq).ma(j.Lv).ma(j.Es).ma(j.xo).ma(j.Mesh).ma(j.qq).ma(j.tg).ma(j.Fs).ma(j.Gs).ma(j.fz).ma(j.Object3D).ma(j.nD).ma(j.Hs).ma(j.oD).ma(j.Is).ma(j.OrthographicCamera).ma(j.Mv).ma(j.PerspectiveCamera).ma(j.sq).ma(j.wb).ma(j.rq).ma(j.Kl).ma(j.hz).ma(j.Plane).ma(j.Ks).ma(j.yo).ma(j.Ls).ma(j.Ej).ma(j.tq).ma(j.Ms).ma(j.Bc).ma(j.Os).ma(j.ta).ma(j.kz).ma(j.wf).ma(j.gh).ma(j.vq).ma(j.Scene).ma(j.xq).ma(j.xd).ma(j.iz).ma(j.Sphere).ma(j.jz).ma(j.Sprite).ma(j.yq).ma(j.Bc).ma(j.Os).ma(j.Ov).ma(j.Pv).ma(j.Gj).ma(j.Qv).ma(j.Qs).ma(j.tD).Ld(n.Camera,"Camera").Ld(n.Gj,
"Viewport").Ld(n.Bs,"ImageMaterial").Ld(n.Ki,"CanvasMaterial").Ld(n.Mi,"LineMaterial").Ld(n.Bc,"SolidMaterial").Ld(n.Ov,"VideoMaterial").Ld(n.pq,"MaterialTransform").Ld(n.Es,"MaterialVariant").Ld(n.Qv,"ViewportPlaneGeometry").Ld(n.Group,"Group").Ld(n.Line,"Line").Ld(n.Mesh,"Mesh").Ld(n.Plane,"Plane").Ld(n.Sphere,"Sphere").Ld(n.Sprite,"Sprite").Ld(n.tg,"Model").Ld(n.Light,"Light").Ld(n.Scene,"Scene").Ld(n.wb,"Parent").Ld(n.uxa,"ObjectId").Ld(n.tv,"Animation").Ld(n.zs,"FloorTransform").Ld(n.Awa,"CameraControls").Ld(n.Bv,
"Dragging").Ld(n.Lxa,"Selection").Ld(n.Ej,"PointerOverTransform").Ld(n.Kl,"PixelScaleTransform").Ld(n.ta,"Transform").Ld(n.Gl,"Area").Ld(n.Jv,"LineToTransform").Ld(n.Camera.RC,"CameraAutoNearFar").Ld(n.My,"Beacon").Ld(n.gh,"Renderer");this.h=this.Jr.td("Renderer");this.nB=[];this.wB=B;this.jJ=new i;this.sb().append(this.jJ.Ac());this.bind(d.Wc,this.Tj,this,m);this.bind(d.cd,this.Pj,this,m)});a.prototype.td=function(a){return this.Jr.td(a)};a.prototype.Ef=function(a){this.Jr.Ef(a)};a.prototype.dqa=
function(a){if(!(this.nB.indexOf(a)>=0)){this.nB.push(a);if(a=this.h.D(j.gh))a.pO=this.nB.slice()}};a.prototype.JRa=function(a){a=this.nB.indexOf(a);if(!(a<0)){this.nB.splice(a,1);if(a=this.h.D(j.gh))a.pO=this.nB.slice()}};a.prototype.mTa=function(){if(this.wB!=m){this.wB=m;var a=this.h.D(j.gh);if(a)a.shadowMap=this.wB}};a.prototype.vd=function(a){this.Jr.vd(a)};a.prototype.yC=function(){this.jJ.trigger();this.Jr.update();var a=this.h.getComponent(j.gh).canvas;return k.Tva(a)};a.prototype.x9=function(){this.Jr.update();
return this.h.getComponent(j.gh).canvas.toDataURL("image/png")};a.prototype.Tj=function(){this.EKa()};a.prototype.Pj=function(){this.yLa()};a.prototype.EKa=function(){var a=this.h.getComponent(j.gh);if(!a){a=this.h.B(j.gh);a.QG=document.createElement("div");this.sb().VV(a.QG);a.pO=this.nB.slice();a.antialias=m;a.shadowMap=this.wB;if(this.Wb.get(o)&&this.HNa){this.fN=document.createElement("div");for(var b in p)this.fN.style[b]=p[b];this.sb().VV(this.fN)}}};a.prototype.yLa=function(){var a=this.h.getComponent(j.gh);
if(a){this.sb().nua(a.QG);this.fN&&this.sb().nua(this.fN);this.fN=r;this.h.fa(j.gh)}};var o=b([119,97,116,101,114,109,97,114,107]),p={};p[b([104,101,105,103,104,116])]=b([49,48,48,37]);p[b([119,105,100,116,104])]=b([49,48,48,37]);p[b([112,111,115,105,116,105,111,110])]=b([97,98,115,111,108,117,116,101]);p[b([116,111,112])]=0;p[b([108,101,102,116])]=0;p[b([98,97,99,107,103,114,111,117,110,100,73,109,97,103,101])]=b([117,114,108,40,34])+c.Yxa+b([34,41]);p[b([98,97,99,107,103,114,111,117,110,100,80,
111,115,105,116,105,111,110])]=b([99,101,110,116,101,114]);p[b([98,97,99,107,103,114,111,117,110,100,83,105,122,101])]=b([99,111,110,116,97,105,110]);p[b([112,111,105,110,116,101,114,69,118,101,110,116,115])]=b([110,111,110,101]);p[b([98,97,99,107,103,114,111,117,110,100,82,101,112,101,97,116])]=b([110,111,45,114,101,112,101,97,116]);p[b([111,112,97,99,105,116,121])]=0.5;return a});
define("mZ",["require","jY"],function(a){function b(){this.zK=this.zK.bind(this);this.TT=this.q=r;this.sga=[];this.bJ=new Map;this.fua=this.Nm=this.Xf=this.filter=r}var e=a("jY");b.prototype.iva=function(a,b){this.dispose();this.q=a;this.TT=b;e.ea(this.q,[this.TT],this.zK,m)};b.prototype.zK=function(a){a=a||[];this.filter&&(a=a.filter(this.filter));var b=this.sga,c=this.sga=a;b.forEach(function(a,b){var d=c.indexOf(a);if(-1==d){var e=this.bJ.get(a);this.bJ["delete"](a);this.Nm&&this.Nm(a,e)}else d!=
b&&(e=this.bJ.get(a),this.fua&&(d=this.fua(a,d,e,b),d!=e&&this.bJ.set(a,d)))}.bind(this));c.forEach(function(a,c){if(-1==b.indexOf(a)&&this.Xf){var d=this.Xf(a,c);this.bJ.set(a,d)}}.bind(this))};b.prototype.dispose=function(){this.q&&(e.da(this.q,[this.TT],this.zK),this.zK([]),this.TT=this.q=r)};return b});
define("ml",["require","jY","fm"],function(a){function b(a,b,d,k){this.q=a;this.R=b;this.la=d;this.h=k;this.cu=this.cu.bind(this);this.fT=this.fT.bind(this);this.RS=this.RS.bind(this);this.k=this.la.P.td("InnerObject");e.ea(this.q,g,this.cu,m);e.ea(this.q,c,this.fT,m);e.ea(this.q,i,this.RS,m)}var e=a("jY"),d=a("fm");b.prototype.fT=function(){var a=this.k.D(d.xd,m);a.Sm=this.q.get("useHandCursor");a.HH=this.q.get("transparentAreaActive");a.Ga=this.q;a.Qu=this.q.get("clickEnabled");a.hv=this.q.get("rollOverEnabled")};
b.prototype.RS=function(){var a=this.k.D(d.pq,m);a.opacity=this.q.get("enabled")&&!this.q.get("hidden")?this.q.get("opacity"):0;a.Ga=this.q};b.prototype.cu=function(){var a=this.k.D(d.nD,m);a.id=this.q.get("objectId");a.container=this.la};b.prototype.dispose=function(){this.la.P.Ef(this.k);this.k=r;e.da(this.q,g,this.cu);e.da(this.q,c,this.fT);e.da(this.q,i,this.RS)};var g=["objectId"],c=["clickEnabled","rollOverEnabled","transparentAreaActive","useHandCursor"],i=["hidden","enabled","opacity"];return b});
define("O",["require","jY","fm"],function(a){function b(a,b){this.cc=a;this.Mc=b;this.K=B;this.Be=this.Be.bind(this);e.ea(this.cc,g,this.Be,m)}var e=a("jY"),d=a("fm");b.prototype.Be=function(){var a=this.cc.get("enabled")&&!this.cc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.QC),(this.K=a)&&this.Mc.B(d.QC));this.K&&(a=this.Mc.D(d.QC),a.Yqa=this.cc.get("easingDuration"),a.bias=this.cc.get("bias"),a.intensity=this.cc.get("intensity"),a.scale=this.cc.get("scale"),a.Tsa=this.cc.get("kernelRadius"),
a.vta=this.cc.get("minResolution"),a.s9=this.cc.get("blurRadius"),a.output="ao"==this.cc.get("output")?THREE.SAOPass.OUTPUT.SAO:THREE.SAOPass.OUTPUT.Default)};b.prototype.dispose=function(){this.Mc.fa(d.QC);this.Mc=r;e.da(this.cc,g,this.Be,m)};var g="disabled,enabled,bias,easingDuration,intensity,scale,kernelRadius,minResolution,blurRadius,output".split(",");return b});
define("cj",["require","jY","fm"],function(a){function b(a,b){this.cc=a;this.Mc=b;this.K=B;this.Be=this.Be.bind(this);e.ea(this.cc,g,this.Be,m)}var e=a("jY"),d=a("fm");b.prototype.Be=function(){var a=this.cc.get("enabled")&&!this.cc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.Hy),(this.K=a)&&this.Mc.B(d.Hy));this.K&&(a=this.Mc.D(d.Hy),a.nra="fxaa"==this.cc.get("mode"),a.yva="ssaa"==this.cc.get("mode"),a.JO=this.cc.get("ssaaSampleLevel"))};b.prototype.dispose=function(){this.Mc.fa(d.Hy);this.Mc=
r;e.da(this.cc,g,this.Be,m)};var g=["disabled","enabled","mode","ssaaSampleLevel"];return b});
define("eA",["require","jY","nV","mR","fm"],function(a){function b(a,b,c){this.h=a;this.R=b;this.Nh=c;this.J=this.h.J;this.na=r;this.Be=this.Be.bind(this);this.h.bind(d.uc,this.Sb,this,m);this.R.bind(d.u("camera"),this.DS,this,m);this.J.bind(d.u("isKeyboardTarget"),this.D4,this,m);this.DS();this.D4();this.Sb()}var e=a("jY"),d=a("nV"),g=a("mR"),c=a("fm");b.prototype.vd=function(a){for(var b in f){var c=this.Nh.D(f[b]);c&&(c.enabled=a)}};b.prototype.dispose=function(){this.na&&(e.da(this.na,i,this.Be,
m),this.na=r);this.R.unbind(d.u("camera"),this.DS,this,m);this.R=r;this.J.unbind(d.u("isKeyboardTarget"),this.D4,this,m);this.J=r;this.h.unbind(d.uc,this.Sb,this,m);this.Nh=this.h=r};b.prototype.DS=function(){var a,b;for(b in f){var c=f[b];this.R.get("camera")&&g.va(b,this.R.get("camera"))?a=this.Nh.D(c,m):this.Nh.fa(c)}a&&(a.Cb=this.R.get("camera"),a.Qp=this.h.getParent(),a.ds=this.J.get("isKeyboardTarget"))};b.prototype.D4=function(){var a=this.R.get("camera"),b,c;for(c in f){var d=f[c];a&&g.va(c,
a)&&(b=this.Nh.D(d,m))}b&&(b.ds=this.J.get("isKeyboardTarget"));this.na!=a&&(this.na&&e.da(this.na,i,this.Be,m),(this.na=a)&&e.ea(this.na,i,this.Be,m))};b.prototype.Be=function(){var a=this.Nh.D(c.PerspectiveCamera,m);a.mqa=this.na.get("autoNearFar");a.nqa=this.na.get("autoNearFarTolerance");a.near=this.na.get("near");a.far=this.na.get("far")};b.prototype.Sb=function(){var a=this.Nh.D(c.PerspectiveCamera,m);a.width=this.h.Re();a.height=this.h.Qe()};var i=["autoNearFar","autoNearFarTolerance","near",
"far"],f={OrbitModel3DCamera:c.oD,FirstPersonModel3DCamera:c.bD,FlyOverModel3DCamera:c.cD};return b});
define("ha",["require","jY","fm"],function(a){function b(a,b){this.cc=a;this.Mc=b;this.K=B;this.Be=this.Be.bind(this);e.ea(this.cc,g,this.Be,m)}var e=a("jY"),d=a("fm");b.prototype.Be=function(){var a=this.cc.get("enabled")&&!this.cc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.WH),(this.K=a)&&this.Mc.B(d.WH));this.K&&(a=this.Mc.D(d.WH),a.wua=this.cc.get("samples"),a.intensity=this.cc.get("intensity"))};b.prototype.dispose=function(){this.Mc.fa(d.WH);this.Mc=r;e.da(this.cc,g,this.Be,m)};var g=
["disabled","enabled","samples","intensity"];return b});
define("jQ",["require","jY","fm"],function(a){function b(a,b){this.cc=a;this.Mc=b;this.Be=this.Be.bind(this);e.ea(this.cc,g,this.Be,m)}var e=a("jY"),d=a("fm");b.prototype.Be=function(){var a=this.cc.get("enabled")&&!this.cc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.tD),(this.K=a)&&this.Mc.B(d.tD));this.K&&(a=this.Mc.D(d.tD),a.zsa=this.cc.get("innerRadius"),a.Sta=this.cc.get("outerRadius"),a.color=this.cc.get("color"),a.opacity=this.cc.get("opacity"))};b.prototype.dispose=function(){this.Mc.fa(d.tD);
this.Mc=r;e.da(this.cc,g,this.Be,m)};var g="enabled,disabled,opacity,color,innerRadius,outerRadius".split(",");return b});
define("eM","require,kL,jY,nV,fQ,fm".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm"),a=b.extend(g,function(a,b){g.call(this);this.ed=a;this.la=b;this.Zd=this.Zd.bind(this);this.k=r;this.ik=0;this.eb=B;this.uL=[];this.ed.bind(d.u("areaOpacity"),this.yka,this);this.lG()});a.prototype.GX=function(a){this.uL.forEach(function(a){a.unbind(d.Wc,this.Id,this,m);a.unbind(d.cd,this.Id,this,m)}.bind(this));this.uL=a;this.uL.forEach(function(a){a.bind(d.Wc,this.Id,this,m);a.bind(d.cd,
this.Id,this,m)}.bind(this));this.Qoa();this.Id()};a.prototype.dispose=function(){this.ed.unbind(d.u("areaOpacity"),this.yka,this);this.Gu()};a.prototype.isVisible=S("eb");a.prototype.yka=function(){this.lG();this.Sn()};a.prototype.lG=function(){this.ed.get("areaOpacity")>0?this.Sx():this.Gu()};a.prototype.Sx=function(){if(!this.k){this.k=this.la.P.td("MeasureArea");var a=new g;a.bind(d.ra,this.ex,this,m);this.k.B(c.Gl).Ga=a;this.k.B(c.Bc);this.k.B(c.wb).Kb=this.la;e.ea(this.ed,i,this.Zd,m);this.Qoa()}};
a.prototype.Gu=function(){if(this.k){this.k.getComponent(c.Gl).Ga.unbind(d.ra,this.ex,this,m);e.da(this.ed,i,this.Zd);this.k.P.Ef(this.k);this.k=r}};a.prototype.Cm=function(a){if(this.eb!=a)if(this.eb=a){this.In(1);this.trigger(d.Wc)}else{this.In(0);this.trigger(d.cd)}};a.prototype.Id=function(){this.Cm(this.uL.every(function(a){return a.isVisible()}))};a.prototype.ex=function(a){this.ed.set("area",a.data.area)};a.prototype.Zd=function(){if(this.k){var a=this.k.D(c.Bc);a.color=this.ed.get("areaColor");
a.depthTest=this.ed.get("depthTest");a.doubleSided=m;this.Sn()}};a.prototype.In=function(a){if(this.ik!=a){this.ik=a;this.Sn()}};a.prototype.Sn=function(){if(this.k)this.k.D(c.Bc).opacity=this.ed.get("areaOpacity")*Math.max(1.0E-4,this.ik)};a.prototype.Qoa=function(){if(this.k)this.k.D(c.Gl).entities=this.uL.map(function(a){return a.k})};var i=["areaColor","areaOpacity","depthTest"];return a});
define("bO",["require","gY"],function(a){function b(a,b,f){g.style.fontFamily=d.Ru(b.fontFamily);g.style.fontSize=b.fontSize;g.style.fontWeight=b.fontWeight;g.style.fontStyle=b.fontStyle;g.innerHTML=a;document.body.appendChild(g);var j=new e(Math.ceil(g.clientWidth),Math.ceil(g.clientHeight));document.body.removeChild(g);f&&(f.font=b.fontSize+" "+d.Ru(b.fontFamily),a=f.measureText(a).width,j.height*=a/j.width,j.width=a);return j}function e(a,b){this.width=a;this.height=b}var d=a("gY"),g=document.createElement("div");
g.style.display="inline-block";g.style.margin=0;g.style.padding=0;g.style.whiteSpace="nowrap";b.EZ=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};b.RUa=e;return b});
define("fc",["require","bO","gY"],function(a){function b(){this.J1=this.Tq("#ffffff");this.Yv=this.Tq("#000000");this.lh=this.Ye=0;this.I=document.createElement("canvas");this.ha=this.I.getContext("2d");this.ha.TVa="high";this.zr=new d.EZ;this.K1=this.sE=l;this.k_=this.l_=0.5;this.Mp=l;this.gG=b.jZ;this.Ku=l;this.EH(0)}function e(a){return 100<a?a.toFixed(0):10<a?a.toFixed(1):a.toFixed(2)}var d=a("bO"),g=a("gY");b.Tba="imperial area";b.Uba="imperial length";b.$ba="metric area";b.jZ="metric length";
b.prototype.dispose=function(){this.I.width=this.I.height=0;this.I=r};b.prototype.nSa=function(a){this.J1!=a&&(this.J1=a,this.ja=m)};b.prototype.VRa=function(a){this.Yv!=a&&(this.Yv=a,this.ja=m)};b.prototype.oSa=function(a){this.K1!=a&&(this.K1=a,this.ja=m)};b.prototype.pSa=function(a){this.sE!=a&&(this.sE=a,this.ja=m)};b.prototype.kaa=function(){0.5!=this.zr.DG&&(this.k_=0.5,this.ja=m)};b.prototype.laa=function(a){this.zr.EG!=a&&(this.l_=a,this.ja=m)};b.prototype.EH=function(a){this.Mp!=a&&(this.Mp=
a,this.i8())};b.prototype.sTa=function(a){this.gG!=a&&(this.gG=a,this.i8())};b.prototype.tTa=function(a){this.Ku!=a&&(this.Ku=a,this.i8())};b.prototype.i8=function(){if(this.Ku===l)this.Ia=e(this.Mp);else if(this.gG==b.jZ){var a=this.Mp*this.Ku;this.Ia=1<=a?e(a)+"m":e(100*a)+"cm"}else this.gG==b.$ba?(a=this.Mp*this.Ku*this.Ku,this.Ia=0.1<=a?e(a)+"m\u00b2":e(1E4*a)+"cm\u00b2"):this.gG==b.Uba?(a=1.0936*this.Mp*this.Ku,this.Ia=1760<a?e(a/1760)+"mi":100<=a?e(a)+"yd":1<=3*a?e(3*a)+"ft":e(36*a)+"in"):this.gG==
b.Tba&&(a=1.0936*1.0936*this.Mp*this.Ku*this.Ku,this.Ia=1<=a?e(a)+"yd\u00b2":1<=9*a?e(9*a)+"ft\u00b2":e(1296*a)+"in\u00b2");this.ja=m};b.prototype.Tq=function(a){a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]};b.prototype.$j=function(a,b){return"rgba("+a.join(",")+", "+b+")"};b.prototype.bd=S("Ye");b.prototype.Rd=S("lh");b.prototype.kg=S("I");b.prototype.update=function(){if(!this.ja)return B;this.ja=B;this.zr.fontFamily=this.K1||
"Arial";this.zr.fontSize=this.sE?"string"==typeof this.sE?this.sE:this.sE+"px":"30px";var a=d(this.Ia,this.zr),b=this.Tq(this.J1),e=this.Tq(this.Yv),j=a.width,a=a.height,n=0.5*a,k=0.3*a,o=n+j+0.5*a,p=k+a+0.2*a,q=0.5*p,t=this.I,s=this.I,u;u=Math.max(o,p);u=Math.max(128,Math.pow(2,Math.ceil(Math.log(u)/Math.LN2)));t.width=s.height=this.Ye=this.lh=u;t=this.Ye*this.k_-o*this.k_;s=this.lh*this.l_-p*this.l_;this.RD();this.ha.save();this.ha.translate(t,s);this.ha.fillStyle=this.$j(e,1);this.ha.beginPath();
this.ha.moveTo(0,q);this.ha.quadraticCurveTo(0,0,q,0);this.ha.lineTo(o-q,0);this.ha.quadraticCurveTo(o,0,o,q);this.ha.quadraticCurveTo(o,p,o-q,p);this.ha.lineTo(q,p);this.ha.quadraticCurveTo(0,p,0,p-q);this.ha.closePath();this.ha.fill();this.ha.fillStyle=this.$j(b,1);this.ha.font=this.zr.fontSize+" '"+this.zr.fontFamily+"'";this.ha.font=this.zr.fontSize+(isNaN(this.zr.fontSize)?"":"px")+" "+g.Ru(this.zr.fontFamily);this.ha.textBaseline="middle";this.ha.textAlign="center";this.ha.fillText(this.Ia,
Math.round(n+0.5*j),Math.round(k+0.5*a));this.ha.restore();return m};b.prototype.RD=function(){this.ha.clearRect(0,0,this.Ye,this.lh)};return b});
define("en","require,kL,jY,nV,fQ,fm,fc,ej".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm"),i=a("fc"),f=a("ej"),a=b.extend(g,function(a,b,c){g.call(this);this.f4=a;this.ed=b;this.la=c;this.Zd=this.Zd.bind(this);this.Kn=this.k=r;this.ik=0;this.eb=B;this.$U=this.Lg=this.Bx=this.Ww=r;this.Mp=l;this.xh=new i;this.f4.bind(d.u("worldUnitToMeters"),this.U4,this,m);this.ed.bind(d.u("units"),this.G4,this,m);this.Sx()});a.prototype.Yua=function(a){this.zU(a,r,r)};a.prototype.aTa=
function(a){this.zU(r,a,r)};a.prototype.URa=function(a){this.zU(r,r,a)};a.prototype.zU=function(a,b,e){if(!(this.Bx==b&&this.Ww==a&&this.Lg==e)){[this.Ww,this.Bx,this.Lg].forEach(function(a){a&&a.unbind(d.Wc,this.Id,this,m);a&&a.unbind(d.cd,this.Id,this,m)}.bind(this));this.Gu();this.Ww=a;this.Bx=b;this.Lg=e;this.Sx();this.Zd();this.Vf(m);[this.Ww,this.Bx,this.Lg].forEach(function(a){a&&a.bind(d.Wc,this.Id,this,m);a&&a.bind(d.cd,this.Id,this,m)}.bind(this));if(this.Ww){this.k.D(c.wb).Kb=this.Ww.k;
this.k.D(c.ta).Zf=0.5;a=this.k.D(c.Sprite);a.DG=0.5;a.EG=0.5;this.xh.kaa();this.xh.laa(0.5)}else if(this.Bx){this.k.D(c.wb).Kb=this.Bx.k;this.k.D(c.ta).Zf=0;a=this.k.D(c.Sprite);a.DG=0.5;a.EG=1.1;this.xh.kaa();this.xh.laa(1)}else if(this.Lg){this.k.D(c.wb).Kb=this.Lg.k;this.k.D(c.ta).Zf=0;a=this.k.D(c.Sprite);a.DG=0.5;a.EG=0.5;this.xh.kaa();this.xh.laa(0.5)}else this.k.D(c.wb).Kb=r;this.Id();this.G4();this.U4()}};a.Jxa="partialDistance";a.Qca="distance";a.Ixa="area";a.prototype.setStyle=function(a){if(this.$U!=
a){this.$U=a;this.Zd()}};a.prototype.EH=function(a){if(!(a===l||this.Mp===a)){this.Mp=a;this.xh.EH(a);this.Vf();this.Id()}};a.prototype.dispose=function(){this.f4.unbind(d.u("worldUnitToMeters"),this.U4,this,m);this.ed.unbind(d.u("units"),this.G4,this,m);this.zU(r,r);this.xh.dispose();this.xh=r;this.Gu()};a.prototype.U4=function(){this.xh.tTa(this.f4.get("worldUnitToMeters"));this.Vf()};a.prototype.G4=function(){var a=!!this.Lg;this.xh.sTa(this.ed.get("units")=="imperial"?a?i.Tba:i.Uba:a?i.$ba:i.jZ);
this.Vf()};a.prototype.Sx=function(){if(!this.k){this.k=this.la.P.td("MeasureLabel");this.k.B(c.Sprite).renderOrder=2;this.k.B(c.Gs);var a=this.k.B(c.Ki);a.source=this.xh.kg();a.isSprite=m;e.ea(this.ed,j,this.Zd,m);this.k.B(c.ta);this.k.B(c.wb)}};a.prototype.Gu=function(){if(this.k){e.da(this.ed,j,this.Zd);this.k.P.Ef(this.k);this.k=r}};a.prototype.isVisible=S("eb");a.prototype.Cm=function(a){if(this.eb!=a)if(this.eb=a){this.wKa();this.trigger(d.Wc)}else{this.wLa();this.In(0);this.trigger(d.cd)}};
a.prototype.Id=function(){this.Cm(this.Mp>0&&(this.Ww&&this.Ww.isVisible()||this.Bx&&this.Bx.isVisible()||this.Lg&&this.Lg.isVisible()))};a.prototype.wKa=function(){if(!this.Kn){this.Kn=new f;this.Kn.set("duration",300);this.Kn.bind(f.BY,this.dla,this,m);this.Kn.bind(f.zj,this.cla,this,m);this.Kn.play()}};a.prototype.wLa=function(){if(this.Kn){this.Kn.unbind(f.BY,this.dla,this,m);this.Kn.unbind(f.zj,this.cla,this,m);this.Kn.stop();this.Kn=r}};a.prototype.dla=function(){this.In(2*this.Kn.pk()-1)};
a.prototype.cla=function(){this.In(1)};a.prototype.Zd=function(){this.k.D(c.Ki).depthTest=this.zE("depthTest");this.xh.nSa(this.zE("labelFontColor"));this.xh.VRa(this.zE("labelBackgroundColor"));this.xh.oSa(this.zE("labelFontFamily"));this.xh.pSa(this.zE("labelFontSize"));this.Sn();this.Vf()};a.prototype.zE=function(a){var b;this.$U&&(b=this.ed.get(this.$U+a[0].toUpperCase()+a.substr(1)));b===l&&(b=this.ed.get(a));return b};a.prototype.Vf=function(a){if(this.xh.update()||a){var a=this.k.D(c.Ki),b=
this.k.D(c.Sprite);a.OX=(new Date).getTime();b.width=this.xh.bd();b.height=this.xh.Rd()}};a.prototype.In=function(a){if(this.ik!=a){this.ik=a;this.Sn()}};a.prototype.Sn=function(){this.k.D(c.Ki).opacity=this.zE("labelOpacity")*Math.max(1.0E-4,this.ik)};var j=["depthTest","areaLabelBackgroundColor","areaLabelFontColor","areaLabelFontFamily","areaLabelOpacity","areaLabelFontSize","distanceLabelBackgroundColor","distanceLabelFontColor","distanceLabelFontFamily","distanceLabelOpacity","distanceLabelFontSize",
"labelBackgroundColor","labelFontColor","labelFontFamily","labelOpacity","labelFontSize","partialDistanceLabelBackgroundColor","partialDistanceLabelFontColor","partialDistanceLabelFontFamily","partialDistanceLabelOpacity","partialDistanceLabelFontSize"];return a});
define("gi","require,kL,jY,nV,fQ,fm".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm"),a=b.extend(g,function(a,b){g.call(this);this.ed=a;this.la=b;this.il=this.hl=r;this.Zd=this.Zd.bind(this);this.k=r;this.ik=0;this.eb=B;this.Sx()});a.prototype.GX=function(a,b){if(this.hl!=a||this.il!=b){this.hl&&this.hl.unbind(d.Wc,this.Id,this,m);this.hl&&this.hl.unbind(d.cd,this.Id,this,m);this.il&&this.il.unbind(d.Wc,this.Id,this,m);this.il&&this.il.unbind(d.cd,this.Id,this,m);this.hl=
a;this.il=b;this.hl&&this.hl.bind(d.Wc,this.Id,this,m);this.hl&&this.hl.bind(d.cd,this.Id,this,m);this.il&&this.il.bind(d.Wc,this.Id,this,m);this.il&&this.il.bind(d.cd,this.Id,this,m);this.k.D(c.wb,m).Kb=this.hl&&this.hl.k;this.k.D(c.Jv,m).Kb=this.il&&this.il.k;this.Id()}};a.prototype.dispose=function(){this.GX(r,r);this.Gu()};a.prototype.Sx=function(){if(!this.k){this.k=this.la.P.td("MeasureLine");this.k.B(c.Line);this.k.B(c.Mi);this.k.B(c.ta);e.ea(this.ed,i,this.Zd,m)}};a.prototype.Gu=function(){if(this.k){e.da(this.ed,
i,this.Zd);this.k.P.Ef(this.k);this.k=r}};a.prototype.isVisible=S("eb");a.prototype.Cm=function(a){if(this.eb!=a)if(this.eb=a){this.In(1);this.trigger(d.Wc)}else{this.In(0);this.trigger(d.cd)}};a.prototype.Id=function(){this.Cm(this.hl&&this.hl.isVisible()&&this.il&&this.il.isVisible())};a.prototype.Zd=function(){var a=this.k.D(c.Mi);a.color=this.ed.get("lineColor");a.depthTest=this.ed.get("depthTest");a.width=this.ed.get("lineWidth");a.depthTest=this.ed.get("depthTest");this.Sn()};a.prototype.In=
function(a){if(this.ik!=a){this.ik=a;this.Sn()}};a.prototype.Sn=function(){this.k.D(c.Mi).opacity=this.ed.get("lineOpacity")*Math.max(1.0E-4,this.ik)};var i=["depthTest","lineColor","lineOpacity","lineWidth"];return a});
define("lt","require,kL,jY,nV,fQ,fm".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm"),a=b.extend(g,function(a,b,c,p){g.call(this);this.ed=a;this.R=b;this.la=c;this.qp=p;this.fu=this.fu.bind(this);this.Zd=this.Zd.bind(this);this.bi=this.bi.bind(this);this.k=r;this.Ph=this.PL=this.Kc=this.Xv=B;this.ik=0;this.eb=B;this.Sx();e.ea(this.ed,i,this.fu,m);e.ea(this.ed,j,this.Zd,m);e.QV(this.qp,f,this.bi,m);this.bind(d.Js,this.Nka,this,m);this.bind(d.kd,this.mF,this,m);this.bind(d.jc,
this.sm,this,m);this.bi();this.RW()&&this.Cm(m)});a.prototype.dispose=function(){e.da(this.ed,i,this.fu);e.da(this.ed,j,this.Zd);e.da(this.qp,f,this.bi);this.unbind(d.Js,this.Nka,this,m);this.unbind(d.kd,this.mF,this,m);this.unbind(d.jc,this.sm,this,m);this.Gu()};a.prototype.Hua=function(a){if(this.Xv!==a){if(this.Xv=a){a=this.k.B(c.Ej);a.Kb=this.la;a.rotate=B;a.Ga=new g;this.Cm(m);a.Ga.bind(d.kd,this.bF,this,m)}else{(a=this.k.getComponent(c.Ej))&&a.Ga.unbind(d.kd,this.bF,this,m);this.k.fa(c.Ej);
a=this.R.worldPositionToLocal([this.x,this.y,this.z],this.R.getMatrixWorld());this.Nua(a[0],a[1],a[2])}this.ay();this.x8()}};a.prototype.Oua=function(a){a===l&&(a=B);if(this.Ph!==a)(this.Ph=a)?this.k.B(c.Bv):this.k.fa(c.Bv)};a.prototype.gTa=function(a){if(this.PL!==a){this.PL=a;this.x8();this.Kc=B;this.ay()}};a.prototype.Nua=function(a,b,c){this.qp.set("x",a);this.qp.set("y",b);this.qp.set("z",c);this.Cm(this.RW())};a.prototype.Sx=function(){this.k=this.la.P.td("MeasurePoint");this.k.B(c.Sphere);
this.k.B(c.Bc);this.k.B(c.xd).Ga=this;this.k.B(c.Gs);this.k.B(c.ta).Ga=this;this.k.B(c.Kl);this.k.B(c.wb).Kb=this.la;this.x8();this.Sn();this.ay()};a.prototype.Gu=function(){this.k.P.Ef(this.k);this.k=r};a.prototype.isVisible=S("eb");a.prototype.Cm=function(a){if(this.eb!=a)if(this.eb=a){this.In(1);this.trigger(d.Wc)}else{this.In(0);this.trigger(d.cd)}};a.prototype.x8=function(){var a=this.k.D(c.xd);a.Sm=this.PL;a.hv=this.PL;a.Qu=!this.Xv;a=this.k.D(c.Gs,m);a.Yva=!this.PL||this.Xv;a.Xva=this.Xv};
a.prototype.bF=function(){this.Cm(m)};a.prototype.mF=function(){this.Kc=m;this.ay()};a.prototype.sm=function(){this.Kc=B;this.ay()};a.prototype.fu=function(){this.k.D(c.wb).id=this.ed.get("parentId")};a.prototype.Zd=function(){if(this.k){var a=this.k.D(c.Kl);a.Yf=a.qg=a.Kh=1;a.lH=this.ed.get("pointMaxRadius");a.mH=this.ed.get("pointMinRadius");a.scale=this.ed.get("pointRadius")||1;this.k.D(c.Bc).depthTest=this.ed.get("depthTest");this.ay()}};a.prototype.ay=function(){if(this.k){var a=this.Xv?"pointDragColor":
this.Kc?"pointOverColor":"pointColor";this.k.D(c.Bc).color=this.ed.get(a)}};a.prototype.In=function(a){if(this.ik!=a){this.ik=a;this.Sn()}};a.prototype.Sn=function(){this.k.D(c.Bc).opacity=Math.max(1.0E-4,this.ik)};a.prototype.Nka=function(a){this.x=a.data.position.x;this.y=a.data.position.y;this.z=a.data.position.z};a.prototype.bi=function(){if(this.RW()&&this.k){var a=this.k.D(c.ta,m);a.we=a.ae=a.tf=0;a.Te=a.xe=a.Ue=0;a.Yg=this.qp.get("x");a.Ig=this.qp.get("y");a.Zf=this.qp.get("z")}};a.prototype.RW=
function(){var a=this.qp.get("x"),b=this.qp.get("y"),c=this.qp.get("z");return a!==l&&b!==l||c!==l};a.prototype.distanceTo=function(a){var b=this.x-a.x,c=this.y-a.y,a=this.z-a.z;return Math.sqrt(b*b+c*c+a*a)};var i=["parentId"],f=["x","y","z"],j=["depthTest","mode","pointDragColor","pointColor","pointOverColor","pointMaxRadius","pointMinRadius","pointRadius"];return a});
define("lZ","require,jY,nV,bl,eM,en,gi,lt,u,fm".split(","),function(a){function b(a,b,c,d){this.q=a;this.R=b;this.la=c;this.h=d;this.J=this.h.J;this.cj=this.cj.bind(this);this.aT=this.aT.bind(this);this.SS=this.SS.bind(this);this.iT=this.iT.bind(this);this.gF=this.gF.bind(this);this.ex=this.ex.bind(this);this.eF=this.eF.bind(this);this.ei=new Map;this.tL=new Map;this.Wo=[];this.DA=[];this.tF=new Map;this.Sg=[];this.xi=r;this.je=this.Fc=l;this.K=B;e.ea(this.q,["enabled"],this.cj,m)}var e=a("jY"),d=
a("nV"),g=a("bl"),c=a("eM"),i=a("en"),f=a("gi"),j=a("lt"),n=a("u");a("fm");b.prototype.dispose=function(){this.Bk();e.da(this.q,["enabled"],this.cj,m);this.je=this.Fc=this.xi=this.Sg=this.DA=this.Wo=this.tL=this.ei=r};b.prototype.cj=function(){this.q.get("enabled")?this.At():this.Bk()};b.prototype.At=function(){if(!this.K){this.K=m;this.ZAa();this.Gfa(this.q);document.addEventListener("keyup",this.eF);e.ea(this.q,k,this.aT,m);e.ea(this.q,p,this.iT,m);e.ea(this.q,o,this.SS,m);e.ea(this.q,q,this.gF,
m);e.ea(this.q,t,this.ex,m);this.R.bind(d.oa,this.rka,this,m);this.R.bind(d.vo,this.ska,this,m)}};b.prototype.Bk=function(){if(this.K){this.K=B;this.sna([]);this.bga(this.q);this.eCa();document.removeEventListener("keyup",this.eF);e.da(this.q,k,this.aT);e.da(this.q,p,this.iT,m);e.da(this.q,o,this.SS,m);e.da(this.q,q,this.gF,m);e.da(this.q,t,this.ex,m);this.R.unbind(d.oa,this.rka,this,m);this.R.unbind(d.vo,this.ska,this,m)}};b.prototype.aT=function(){this.sna(this.q.get("points"))};b.prototype.SS=
function(){var a=this.q.get("mode");if(a!=this.Fc){switch(this.Fc){case "create":this.Sg.length<1||this.xi&&this.Sg.length<2?a="create":this.MIa(this.xi);break;case "edit":a=="create"?this.q.get("type")==="single"&&this.Sg.length>0?a="edit":this.EP():this.xu(r);break;case "view":a==="create"&&(this.q.get("type")==="single"&&this.Sg.length>0?a="view":this.EP());break;default:a=="create"&&(this.q.get("type")==="single"&&this.Sg.length>0&&this.D2(this.Ft(-1))?a="edit":this.xu(this.Ft(-1),B))}this.Fc=
a;this.q.set("mode",this.Fc);this.opa()}};b.prototype.iT=function(){var a=this.q.get("type");if(a!==this.je){this.je=a;this.je==="single"&&this.Sg.length>1&&this.q.set("points",this.oVa.slice(0,1))}};b.prototype.gF=function(){this.cpa();this.oV()};b.prototype.ex=function(){var a=this.k2(this.Lg);a&&a.EH(this.q.get("area"))};b.prototype.eF=function(a){a.which==g.Fwa&&this.J.get("isKeyboardTarget")&&(this.q.get("mode")=="create"?this.q.set("mode","edit"):this.Fc=="edit"&&this.xu(r))};b.prototype.EP=
function(){this.Pya();this.xu(this.Ft(-1),B)};b.prototype.Pya=function(){var a=this.J.get("application").Sp("MeasureModel3DObjectPoint");if(!n.mb()){var b=this.Ft(-1);if(b&&this.D2(b)){a.set("x",b.get("x"));a.set("y",b.get("y"));a.set("z",b.get("z"))}}this.q.set("points",this.Sg.concat([a]))};b.prototype.Ft=function(a){var b=[this.q].concat(this.Sg);return a<0&&b.length-a>0?b[b.length+a]:a>=0&&a<b.length?b[a]:r};b.prototype.MIa=function(a){this.q.set("points",this.Sg.filter(function(b){return b!=
a}))};b.prototype.D2=function(a){return!!a&&this.ei.get(a).RW()};b.prototype.rka=function(a){if(this.q.get("mode")=="create"){if(this.xi){var b=this.xi;this.xu(r);this.fza(b,a)}this.je=="single"&&this.Sg.length>0?this.q.set("mode","edit"):this.EP()}else this.q.get("mode")=="edit"&&this.xu(r)};b.prototype.ska=function(){this.q.get("mode")=="create"&&n.mb()&&this.q.set("mode","edit")};b.prototype.Jka=function(){this.q.get("mode")=="create"&&this.q.set("mode","edit")};b.prototype.Ika=function(a){if(this.q.get("mode")==
"create"){var b=this.Ft(-2),a=this.tL.get(a.source);if(b==a)this.q.set("mode","edit");else{b=this.xi;this.xu(r);b.set("x",a.get("x"));b.set("y",a.get("y"));b.set("z",a.get("z"));a==this.Ft(0)?this.q.set("mode","edit"):this.EP()}}};b.prototype.Kka=function(a){this.q.get("mode")=="edit"&&this.xu(this.tL.get(a.source),m)};b.prototype.Lka=function(){this.q.get("mode")=="edit"&&this.xu(r)};b.prototype.Mka=function(){this.oV()};b.prototype.oV=function(){for(var a=[],b=this.Ft(0),c=this.x2(),d=0;d<c.length;d++){var e=
c[d],b=this.ei.get(b),f=this.ei.get(e),f=b.distanceTo(f);(b=this.k2(this.Wo[d]))&&b.EH(f);a.push(f);b=e}a=a.reduce(function(a,b){return a+b},0);(b=this.k2(this.ei.get(c[c.length-1])))&&b.EH(a);this.q.set("distance",isNaN(a)?l:a)};b.prototype.fza=function(a,b){var c=b&&b.data.position;if(c){c=this.R.worldPositionToLocal(c,this.R.getMatrixWorld());this.ei.get(a).Nua(c.x,c.y,c.z)}};b.prototype.xu=function(a,b){b||(b=B);if(this.xi!==a){if(this.xi){var c=this.ei.get(this.xi);c.Oua(B);c.Hua(B)}if(this.xi=
a){c=this.ei.get(this.xi);c.Oua(b);c.Hua(b||!n.mb())}this.dpa();this.opa()}};b.prototype.sna=function(a){if(this.Sg!=a){this.Sg.forEach(function(b){a.indexOf(b)==-1&&this.bga(b)}.bind(this));this.Sg=a;if(this.xi&&this.Sg.indexOf(this.xi))this.xi=r;this.Sg.forEach(function(a){this.Gfa(a)}.bind(this));this.dpa();this.cpa();this.qMa();this.oV()}};b.prototype.x2=function(){return this.Sg.filter(function(a){return this.D2(a)||this.ei.get(a).Xv}.bind(this))};b.prototype.dpa=function(){for(;this.Sg.length<
this.Wo.length;)this.hCa();for(;this.Sg.length>this.Wo.length;)this.EBa();for(var a=m,b=0;b<this.Sg.length;b++){var c=this.Ft(b),d=this.Ft(b+1);c==this.xi&&(a=B);var e=a?d:c;this.Wo[b].GX(this.ei.get(a?c:d),this.ei.get(e))}};b.prototype.cpa=function(){this.kMa();var a=this.x2(),b=a.length==1;this.q.get("displayPartialDistanceLabel")&&!b&&this.Wo.forEach(function(a){var b=this.fS(a);b.Yua(a);b.setStyle(i.Jxa)}.bind(this));if(this.q.get("displayDistanceLabel"))if(b){a=this.fS(this.Wo[0]);a.Yua(this.Wo[0]);
a.setStyle(i.Qca)}else if(a.length>1){b=this.ei.get(a[a.length-1]);a=this.fS(b);a.aTa(b);a.setStyle(i.Qca)}if(this.q.get("displayAreaLabel")&&this.Lg){a=this.fS(this.Lg);a.URa(this.Lg);a.setStyle(i.Ixa)}this.jCa();this.oV();this.ex()};b.prototype.opa=function(){var a=!this.xi&&this.Fc!="view";this.ei.forEach(function(b){b.gTa(a)})};b.prototype.qMa=function(){this.Lg&&this.Lg.GX([this.q].concat(this.x2()).map(function(a){return this.ei.get(a)}.bind(this)))};b.prototype.Gfa=function(a){var b=this.ei.get(a);
if(!b){b=new j(this.q,this.R,this.la,a);this.ei.set(a,b);this.tL.set(b,a);b.bind(d.vo,this.Jka,this,m);b.bind(d.oa,this.Ika,this,m);b.bind(d.Hb,this.Kka,this,m);b.bind(d.ic,this.Lka,this,m);b.bind(d.Js,this.Mka,this,B)}};b.prototype.bga=function(a){var b=this.ei.get(a);if(b){b.unbind(d.Js,this.Mka,this,B);b.unbind(d.vo,this.Jka,this,m);b.unbind(d.oa,this.Ika,this,m);b.unbind(d.Hb,this.Kka,this,m);b.unbind(d.ic,this.Lka,this,m);b.dispose();this.ei["delete"](a);this.tL["delete"](b)}};b.prototype.EBa=
function(){this.Wo.push(new f(this.q,this.la))};b.prototype.hCa=function(){this.Wo.length!=0&&this.Wo.pop().dispose()};b.prototype.DBa=function(){var a=new i(this.R,this.q,this.la);this.DA.push(a);return a};b.prototype.kMa=function(){this.tF.clear()};b.prototype.fS=function(a){var b;b=this.DA.length>this.tF.size?this.DA[this.tF.size]:this.DBa();this.tF.set(a,b);return b};b.prototype.k2=function(a){return this.tF.get(a)};b.prototype.jCa=function(){for(;this.DA.length>this.tF.size;)this.gCa()};b.prototype.gCa=
function(){this.DA.length!=0&&this.DA.pop().dispose()};b.prototype.ZAa=function(){if(!this.Lg)this.Lg=new c(this.q,this.la)};b.prototype.eCa=function(){if(this.Lg){this.Lg.dispose();this.Lg=r}};var k=["points"],o=["mode"],p=["type"],q=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],t=["area"];return b});
define("nx",["require","jY","nV","fQ","fm"],function(a){function b(a,b,c){this.R=a;this.la=b;this.Nh=c;this.K=B;this.ix=this.ix.bind(this);e.ea(this.R,i,this.ix,m)}var e=a("jY"),d=a("nV"),g=a("fQ"),c=a("fm");b.prototype.ix=function(){var a=!!this.R.get("maxNearestObjectsVisible");this.K!=a&&(this.K&&this.Bk(),(this.K=a)&&this.At())};b.prototype.At=function(){var a=this.Nh.B(c.kq);a.Ga=new g;a.Ga.bind(d.ra,this.AK,this,m);this.la.P.nb()};b.prototype.Bk=function(){this.Nh.getComponent(c.kq).Ga.unbind(d.ra,
this.AK,this,m);this.Nh.fa(c.kq);this.R.get("objects").forEach(function(a){a.get("hideBasedOnDistance")&&a.Baa(B)})};b.prototype.AK=function(a){var b=0,c=this.R.get("maxNearestObjectsVisible");a.data.beacons.forEach(function(a){if(a=this.nDa(a))a.get("hideBasedOnDistance")?(a.Baa(b>=c),b++):a.Baa(B)}.bind(this))};b.prototype.nDa=function(a){a=(a=a.entity.getComponent(c.ZO))&&a.object;if(!a.get||a.get("hideBasedOnDistance")===l)a=r;return a};b.prototype.dispose=function(){e.da(this.R,i,this.ix,m);
this.K&&(this.K=B,this.Bk())};var i=["maxNearestObjectsVisible"];return b});
define("hv",["require","jY","nV","fm"],function(a){function b(a,b,c,d){this.q=a;this.R=b;this.la=c;this.h=d;this.cj=this.cj.bind(this);this.fu=this.fu.bind(this);this.bi=this.bi.bind(this);this.er=this.er.bind(this);this.Zd=this.Zd.bind(this);this.K=B;this.k=r;this.eb=B;e.ea(this.q,["enabled"],this.cj,m)}var e=a("jY"),d=a("nV"),g=a("fm");b.prototype.dispose=function(){this.Bk();e.da(this.q,["enabled"],this.cj,m)};b.prototype.cj=function(){this.q.get("enabled")?this.At():this.Bk()};b.prototype.At=
function(){this.K||(this.K=m,this.k=this.la.P.td("Sphere"),this.k.B(g.wb).Kb=this.la,this.k.B(g.Sphere),this.k.B(g.Bc),this.k.B(g.xd).Ga=this.q,this.k.B(g.ta),this.k.B(g.Kl),e.ea(this.q,c,this.fu,m),e.ea(this.q,i,this.bi,m),e.ea(this.q,f,this.er,m),e.ea(this.q,j,this.Zd,m))};b.prototype.Bk=function(){this.K&&(this.K=B,e.da(this.q,c,this.fu),e.da(this.q,i,this.bi),e.da(this.q,f,this.er),e.da(this.q,j,this.Zd),this.k.P.Ef(this.k),this.k=r,this.Cm(B))};b.prototype.fu=function(){this.k.D(g.wb).id=this.q.get("parentId")};
b.prototype.bi=function(){var a=this.k.D(g.ta);a.we=this.q.get("x");a.ae=this.q.get("y");a.tf=this.q.get("z")};b.prototype.er=function(){var a=this.k.D(g.Kl);a.Yf=a.qg=a.Kh=1;a.scale=this.q.get("radius");a.lH=this.q.get("maxRadius");a.mH=this.q.get("minRadius")};b.prototype.Zd=function(){var a=this.k.D(g.xd);a.Sm=this.q.get("useHandCursor");a.HH=this.q.get("transparentAreaActive");a=this.k.D(g.Bc);a.color=this.q.get("color");a.opacity=this.q.get("hidden")?0:this.q.get("opacity");a.depthTest=this.q.get("depthTest");
this.Cm(0<a.opacity)};b.prototype.Cm=function(a){this.eb!=a&&((this.eb=a)?this.q.trigger(d.Wc):this.q.trigger(d.cd))};var c=["parentId"],i=["x","y","z"],f=["radius","maxRadius","minRadius"],j="color,depthTest,hidden,opacity,transparentAreaActive,useHandCursor".split(",");return b});
define("nR",["require","nV","mR"],function(a){function b(a,b){this.kK=a.kK;this.R=b;this.Rf=[];this.kK.bind(e.u("spritesEnabled"),this.ela,this,m);this.R.bind(e.u("objects"),this.VA,this,m);this.V()}var e=a("nV"),d=a("mR");b.prototype.dispose=function(){this.kK.unbind(e.u("spritesEnabled"),this.ela,this,m);this.R.unbind(e.u("objects"),this.VA,this,m);this.Rf.forEach(function(a){a.Aaa(B)});this.Rf=r};b.prototype.ela=function(){this.V()};b.prototype.VA=function(){this.V()};b.prototype.V=function(){var a=
[];this.kK.get("spritesEnabled")===B&&a.push("SpriteModel3DObject");var b=this.R.get("objects");this.Rf.forEach(function(a){-1==b.indexOf(a)&&a.Aaa(B)});this.Rf=b;this.Rf.forEach(function(b){var c=a.some(function(a){return d.va(a,b)});b.Aaa(c)})};return b});
define("li",["require"],function(){function a(a){this.ac=this.Tq(a.get("surfaceReticleColor"));this.rr=this.Tq(a.get("surfaceReticleSelectionColor"));this.bb=a.get("surfaceReticleOpacity");this.Qma=a.get("surfaceReticleSelectionOpacity");this.lh=this.Ye=128;this.GHa=0.456;this.HHa=0.088;this.kFa=0.18;this.I=document.createElement("canvas");this.I.width=this.Ye;this.I.height=this.lh;this.ha=this.I.getContext("2d");this.ha.fillStyle="red";this.ha.mQa=m;this.ha.fillRect(0,0,this.Ye,this.lh);this.Kc=
this.ht=B;this.RE=this.nT=l;this.vz=0}a.prototype.Y1=function(a){return this.$j(this.rr[0]*a+(1-a)*this.ac[0],this.rr[1]*a+(1-a)*this.ac[1],this.rr[2]*a+(1-a)*this.ac[2],this.Qma*a+(1-a)*this.bb)};a.prototype.Tq=function(a){a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]};a.prototype.$j=function(a,e){return"rgba("+a.join(",")+", "+e+")"};a.prototype.gb=function(a){this.Ma!=a&&(this.Ma=a,this.ja=m)};a.prototype.bd=S("Ye");a.prototype.Rd=
S("lh");a.prototype.kg=S("I");a.prototype.update=function(){if(!this.ja)return B;this.ja=B;this.ha.clearRect(0,0,this.Ye,this.lh);var a=[this.rr[0]*this.Ma+(1-this.Ma)*this.ac[0],this.rr[1]*this.Ma+(1-this.Ma)*this.ac[1],this.rr[2]*this.Ma+(1-this.Ma)*this.ac[2]],e=this.Qma*this.Ma+(1-this.Ma)*this.bb;this.ha.strokeStyle=this.$j(a,e);this.ha.fillStyle=this.$j(a,e*this.Ma);this.ha.beginPath();this.ha.lineWidth=this.Ye*this.HHa;this.ha.arc(0.5*this.Ye,0.5*this.Ye,this.Ye*this.GHa,0,2*Math.PI,B);this.ha.stroke();
this.ha.beginPath();this.ha.arc(0.5*this.Ye,0.5*this.Ye,this.Ye*this.kFa,0,2*Math.PI,B);this.ha.fill();return m};return a});define("gQ",["require","li"],function(a){return a("li")});
define("hg","require,jY,nV,gQ,u,fm".split(","),function(a){function b(a,b,f,j){this.q=a;this.R=b;this.la=f;this.h=j;this.J=this.h.J;this.cj=this.cj.bind(this);this.au=this.au.bind(this);this.bi=this.bi.bind(this);this.Zd=this.Zd.bind(this);this.d4=this.la.getComponent(c.tg).kH;this.d4.bind(d.T,this.bu,this,B);this.e4=this.Pia=B;this.Ar=new g(this.J);this.Ar.gb(0);this.Ar.update();this.k=r;e.ea(this.q,["enabled"],this.cj,m)}var e=a("jY"),d=a("nV"),g=a("gQ");a("u");var c=a("fm");b.prototype.cj=function(){this.q.get("enabled")?
this.At():this.Bk()};b.prototype.At=function(){if(!this.k){this.k=this.la.P.td("Reticle");var a=this.k.B(c.wb);a.Kb=this.la;a.id=this.q.get("parentId");this.k.B(c.Plane).renderOrder=2;this.k.B(c.Ki).source=this.Ar.kg();this.k.B(c.My);a=this.k.B(c.ZO);a.STa=this.q;a.object=this.q;e.ea(this.R,j,this.au,m);e.ea(this.q,i,this.bi,m);e.ea(this.q,f,this.Zd,m)}};b.prototype.Bk=function(){if(this.k){this.la.P.Ef(this.k);this.k=r;e.da(this.R,j,this.au,m);e.da(this.q,i,this.bi);e.da(this.q,f,this.Zd)}};b.prototype.au=
function(){var a=this.k.D(c.Kl,m);a.Yf=a.qg=2;a.scale=this.R.get("surfaceReticleRadius");a.lH=this.R.get("surfaceReticleMaxRadius");a.mH=this.R.get("surfaceReticleMinRadius");this.jpa()};b.prototype.bi=function(){var a=this.k.D(c.zs,m);a.x=this.q.get("x");a.y=this.q.get("y");a.z=this.q.get("z");a.distance=this.q.get("distance");a.SN=this.q.get("horizontal")};b.prototype.Zd=function(){var a=this.k.D(c.xd,m);a.Sm=this.q.get("useHandCursor");a.HH=this.q.get("transparentAreaActive");a.Ga=this.q;a=this.k.D(c.Ki);
a.opacity=this.q.get("opacity");a.hidden=this.q.get("hidden");a.depthTest=this.q.get("depthTest")};b.prototype.bu=function(){this.Pia=m;this.jpa()};b.prototype.jpa=function(){var a=this.Pia&&this.R.get("opacity")>0.5;if(this.e4!=a)(this.e4=a)&&this.k&&this.k.D(c.zs)};b.prototype.dispose=function(){this.Bk();e.da(this.q,["enabled"],this.cj,m);this.d4.unbind(d.T,this.bu,this,B);this.d4=r};var i=["distance","horizontal","x","y","z"],f=["depthTest","hidden","opacity","transparentAreaActive","useHandCursor"],
j=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return b});
define("id","require,jY,nV,fQ,gQ,u,fm".split(","),function(a){function b(a,b,c){this.R=a;this.la=b;this.h=c;this.J=this.h.J;this.au=this.au.bind(this);this.Kc=l;this.R.bind(d.u("surfaceSelectionEnabled"),this.v1,this,m);this.v1()}var e=a("jY"),d=a("nV"),g=a("fQ"),c=a("gQ"),i=a("u"),f=a("fm");b.prototype.v1=function(){var a=this.R.get("surfaceSelectionEnabled")&&!i.mb();!!this.k!=a&&(a?this.At():this.Bk())};b.prototype.At=function(){if(!this.k){this.k=this.la.P.td("PointerReticle");this.k.B(f.Plane).renderOrder=
2;this.k.B(f.Ej).Kb=this.la;this.k.B(f.Gs);this.k.B(f.wb).Kb=this.la;var a=this.k.B(f.kq);a.Ga=new g;a.Ga.bind(d.ra,this.AK,this,m);e.ea(this.R,j,this.au,m);this.Ar=new c(this.J);this.Ar.gb(0);this.Ar.update();a=this.k.B(f.Ki);a.source=this.Ar.kg();a.depthTest=B;a=this.la.D(f.xd);a.Ga.bind(d.oa,this.jx,this,m);a.Ga.bind(d.Vc,this.Sf,this,m);a.Ga.bind(d.jc,this.sm,this,m);this.Ud=r;this.tB(B)}};b.prototype.Bk=function(){if(this.k){if(this.Ud){this.Ud.trigger(d.jc);this.Ud=r}var a=this.la.D(f.xd);a.Ga.unbind(d.oa,
this.jx,this,m);a.Ga.unbind(d.Vc,this.Sf,this,m);a.Ga.unbind(d.jc,this.sm,this,m);this.k.getComponent(f.kq).Ga.unbind(d.ra,this.AK,this,m);this.la.P.Ef(this.k);this.Ar=this.k=r;e.da(this.R,j,this.au)}};b.prototype.au=function(){var a=this.k.D(f.Kl,m);a.Yf=a.qg=2;a.scale=this.R.get("surfaceReticleRadius");a.lH=this.R.get("surfaceReticleMaxRadius");a.mH=this.R.get("surfaceReticleMinRadius")};b.prototype.AK=function(a){var a=this.cEa(a),b=this.oDa(a);b==0&&(a=r);this.mJa(a);this.CJa(b)};b.prototype.jx=
function(){this.Ud&&this.Ud.trigger(d.oa)};b.prototype.Sf=function(){this.tB(m)};b.prototype.sm=function(){this.tB(B)};b.prototype.tB=function(a){if(this.Kc!==a){this.Kc=a;this.k.D(f.Ki).opacity=this.Kc?1:0}};b.prototype.mJa=function(a){a=this.Sga(a);if(this.Ud!=a){this.Ud&&this.Ud.trigger(d.jc);(this.Ud=a)&&this.Ud.trigger(d.kd)}};b.prototype.cEa=function(a){a=a.data.beacons;if(!a)return r;for(var b=0;b<a.length;b++)if(this.Sga(a[b]))return a[b];return r};b.prototype.oDa=function(a){if(!a)return 0;
var b=this.k.getComponent(f.ta);return!b?0:Math.max(0,1-a.distance/(this.R.get("surfaceSelectionCoef")*b.scale*b.Yf))};b.prototype.Sga=function(a){return(a=(a=a&&a.entity)&&a.getComponent(f.ZO))&&a.STa||r};b.prototype.CJa=function(a){this.Ar.gb(a);if(this.Ar.update())this.k.D(f.Ki).OX=(new Date).getTime()};b.prototype.dispose=function(){this.Bk();this.R.unbind(d.u("surfaceSelectionEnabled"),this.v1,this,m)};var j=["surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius"];return b});
define("fv",["require","jY"],function(a){function b(a){this.R=a;this.Rf=this.na=r;this.ix=this.ix.bind(this);this.ES=this.ES.bind(this);e.ea(this.R,d,this.ix,m)}var e=a("jY");b.prototype.dispose=function(){this.XL([])};b.prototype.ix=function(){this.G6(this.R.get("camera"));this.XL([].concat(this.R.get("objects"),this.R.get("postprocessing")))};b.prototype.G6=function(a){this.na!=a&&(this.na&&e.da(this.na,g,this.ES),(this.na=a)&&e.ea(this.na,g,this.ES,m))};b.prototype.ES=function(){this.lpa()};b.prototype.XL=
function(a){this.Rf!=a&&(a||(a=[]),this.Rf&&this.Rf.forEach(function(b){-1==a.indexOf(b)&&(b.FO&&b.FO(B),b.AO&&b.AO(B))}.bind(this)),this.Rf=a,this.lpa())};b.prototype.lpa=function(){if(this.Rf&&this.na){var a=this.na.get("userInteracting"),b=this.na.get("moving");this.Rf.forEach(function(d){d.FO&&d.FO(a);d.AO&&d.AO(b)}.bind(this))}};var d=["camera","objects","postprocessing"],g=["userInteracting","moving"];return b});
define("jd","require,ll,nV,mR,on,fm,ch,mZ,ml,O,cj,eA,ha,jQ,lZ,nx,hv,nR,hg,id,fv".split(","),function(a){function b(a,b,f){this.h=a;this.Qd=b;this.R=f;this.J=this.h.J;this.hj=new c;this.hj.bind(d.T,this.ZK,this,m);this.qe=new c(this.R);this.Mc=this.Qd.td("Scene");a=this.Mc.B(i.Scene);a.G9=this.qe.nN(this.hj.UB(0.1));this.la=this.Qd.td("Model");b=this.la.B(i.tg);b.Ga=this.R;b.gua=this.hj.UB();b.kH=this.qe.UB();b.wta=this.R.get("model");b.Cb=this.R;b=this.la.B(i.xd);b.Ga=this.R;b.Qu=m;b.hv=m;this.la.B(i.wb).Kb=
this.Mc;a.Un=this.Nh=this.Qd.td("PerspectiveCamera");this.Nh.B(i.wb).Kb=this.Mc;this.Qea=new p(this.h,this.R,this.Nh);a=this.Nh.B(i.yo);a.Qp=this.h.getParent();a.Cb=new e;a.Cb.bind(d.u("picker"),this.bHa,this,m);D.forEach(function(a){this.R.bind(d.u(a),this.H4,this,m)}.bind(this));this.R.bind(d.u("variant"),this.T4,this,m);this.wK=new j;this.wK.filter=function(a){return g.va("SurfaceReticleModel3DObject",a)||g.va("InnerModel3DObject",a)||g.va("MeasureModel3DObject",a)||g.va("SphereModel3DObject",
a)?m:B};this.wK.Xf=function(a){return g.va("SurfaceReticleModel3DObject",a)?new x(a,this.R,this.la,this.h):g.va("InnerModel3DObject",a)?new n(a,this.R,this.la,this.h):g.va("MeasureModel3DObject",a)?new s(a,this.R,this.la,this.h):g.va("SphereModel3DObject",a)?new w(a,this.R,this.la,this.h):r}.bind(this);this.wK.Nm=function(a,b){b.dispose()}.bind(this);this.wK.iva(this.R,"objects");this.NT=new j;this.NT.filter=function(a){return g.va("AmbientOcclusionModel3DPostprocessing",a)||g.va("AntialiasModel3DPostprocessing",
a)||g.va("MotionBlurModel3DPostprocessing",a)||g.va("VignetteModel3DPostprocessing",a)};this.NT.Xf=function(a){return g.va("AmbientOcclusionModel3DPostprocessing",a)?new k(a,this.Mc):g.va("AntialiasModel3DPostprocessing",a)?new o(a,this.Mc):g.va("MotionBlurModel3DPostprocessing",a)?new q(a,this.Mc):g.va("VignetteModel3DPostprocessing",a)?new t(a,this.Mc):r}.bind(this);this.NT.Nm=function(a,b){b.dispose()}.bind(this);this.NT.iva(this.R,"postprocessing");this.Qd.dqa(this.Mc);this.mGa=new u(this.R,this.la,
this.Nh);this.rNa=new E(this.R);this.JKa=new v(this.h,this.R);this.qLa=new y(this.R,this.la,this.h);this.H4();this.T4()}var e=a("ll"),d=a("nV"),g=a("mR"),c=a("on"),i=a("fm"),f=a("ch"),j=a("mZ"),n=a("ml"),k=a("O"),o=a("cj"),p=a("eA"),q=a("ha"),t=a("jQ"),s=a("lZ"),u=a("nx"),w=a("hv"),v=a("nR"),x=a("hg"),y=a("id"),E=a("fv");b.prototype.EC=function(a){this.Mc.D(i.Scene).locked=a};b.prototype.vd=function(a){this.Mc.D(i.Scene).enabled=a;this.Nh.D(i.yo).enabled=a;this.Qea.vd(a)};b.prototype.dispose=function(){D.forEach(function(a){this.R.unbind(d.u(a),
this.H4,this,m)}.bind(this));this.R.unbind(d.u("camera"),this.DS,this,m);this.R.unbind(d.u("variant"),this.T4,this,m);this.R.set("picker",l);this.Qea.dispose();this.wK.dispose();this.qLa.dispose();this.mGa.dispose();this.JKa.dispose();this.rNa.dispose();this.qe.dispose();this.hj.unbind(d.T,this.ZK,this,m);this.hj.dispose();this.Qd.JRa(this.Mc);this.Qd.Ef(this.Mc);this.Qd.Ef(this.la);this.Qd.Ef(this.Nh)};b.prototype.zPa=function(){return this.la?f.YG(this.la):l};b.prototype.bHa=function(a){var b=a.source.get("picker"),
c;if(b){c={};c.gO=function(a,c){return b.gO([this.la],a,c)}.bind(this)}this.R.set("picker",c)};b.prototype.T4=function(){var a=this.R.get("variant");a?this.la.D(i.Es,m).name=a:this.la.fa(i.Es)};b.prototype.H4=function(){var a=this.Mc.D(i.Scene);a.opacity=this.R.get("opacity");a.ara=this.R.get("environmentURL");a.o9=this.R.get("backgroundImageURL");a.oqa=this.R.get("backgroundPanoramaURL");a.backgroundColor=this.R.get("backgroundColor");a.outputEncoding=this.R.get("encoding");var a=this.R.get("environmentIntensity"),
b=this.R.get("anisotropicFilteringLevel");if(a!=1||b!=0){var c=this.Mc.D(i.pq,m);c.envMapIntensity=a;c.m9=b}else this.Mc.fa(i.pq)};b.prototype.ZK=function(){this.R.trigger(d.YH)};var D=["anisotropicFilteringLevel","environmentURL","backgroundImageURL","backgroundPanoramaURL","backgroundColor","opacity","encoding","environmentIntensity"];return b});
define("kG","require,kL,fR,jd,bb,d,ns".split(","),function(a){var b=a("kL"),e=a("fR"),d=a("jd"),g=a("bb"),c=a("d"),i=a("ns"),a=b.extend(i,function(a,b,d){i.call(this);this.Wb=a;this.J=b;this.kK=d;this.ie("Renderer");this.set("toolTipDisabled",m);this.set("cursor",g.Fv);this.set("layout",c.RO);this.Qd=r;this.YE=[];this.XE=new Map});a.prototype.kb=function(){i.prototype.kb.call(this);if(this.Qd==r){this.Qd=new e(this.Wb,m);this.Qd.Y({left:0,top:0,right:0,bottom:0,cursor:g.Fv,toolTipDisabled:m});this.Qd.mTa();
this.La(this.Qd);this.YE.forEach(this.yna.bind(this))}};a.prototype.aQa=function(a){return this.YE.indexOf(a)>=0};a.prototype.cqa=function(a){if(!(this.YE.indexOf(a)>=0)){this.YE.push(a);this.Qd&&this.yna(a)}};a.prototype.eaa=function(a){var b=this.YE.indexOf(a);if(!(b<0)){this.YE.splice(b,1);this.Qd&&this.koa(a)}};a.prototype.Haa=function(a,b){var c=this.XE.get(a);c&&c.EC(b)};a.prototype.$ua=function(a,b){var c=this.XE.get(a);c&&c.vd(b)};a.prototype.QN=function(a){return(a=this.XE.get(a))?a.zPa():
l};a.prototype.yC=function(){return this.Qd&&this.Qd.yC()};a.prototype.x9=function(){return this.Qd&&this.Qd.x9()};a.prototype.yna=function(a){this.koa(a);this.XE.set(a,new d(this,this.Qd,a))};a.prototype.koa=function(a){var b=this.XE.get(a);if(b){this.XE["delete"](a);b.dispose()}};return a});
define("bF","require,kL,nV,mR,jh,ia,dN,kG,dW".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("mR"),g=a("jh"),c=a("ia"),i=a("dN"),f=a("kG"),j=a("dW"),a=d.G("Model3DPlayer",c,function(){c.call(this,"model");this.Oo=this.sS=this.Fh=B;this.C=this.h=r;this.ab=this.rd=0;this.Nd=b.aq(this.Dg,this);this.O_=new g(this,"buttonToggleSprites",j.Fj);this.O_.bind(e.Dj,function(){this.set("spritesEnabled",m)},this);this.O_.bind(e.Ll,function(){this.set("spritesEnabled",B)},this);this.O_.set("pressed",this.get("spritesEnabled"))});
a.prototype.play=function(){this.XA()};a.prototype.pause=function(){this.WA()};a.prototype.stop=function(){this.rx()};a.prototype.restart=function(){this.ox()};a.prototype.getModelPixelScale=function(){return this.$Da()};a.prototype.captureToDataURL=function(){return this.h&&this.h.x9()};a.prototype.saveScreenshot=function(){return this.h&&this.h.yC()};a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "model":this.sS=m;this.set("requesterPlayer",r);this.Nd();break;case "viewerArea":this.Fh=
m;this.Nd();break;case "displayPlaybackBar":this.Oo=m;this.Nd()}c.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.C&&this.C.getTime()||0}return c.prototype.get.call(this,a,b)};a.prototype.Dg=function(){if(this.Fh){this.Fh=B;this.qt();this.get("viewerArea")&&this.nt();this.cM(this.get("viewerArea"));this.sS=m}var a=B;if(this.h&&(this.sS||this.TU)){var b=this.get("model");if(b&&!this.h.tb()){this.Nd();return}this.sS=B;this.ab=this.rd=0;a=m;if(b){this.vH(this.get("requesterPlayer")?
[this.get("requesterPlayer"),this]:[this]);this.C.PSa(b)}else this.C.iv()}if(this.Oo){this.Oo=B;a=m}a&&this.Nu()};a.prototype.bG=function(){this.set("model",r)};a.prototype.nt=function(){var a=this.get("application"),b=this.get("viewerArea");this.h=new f(a,b,this);this.h.Y({left:0,top:0,bottom:0,right:0});b.La(this.h);this.C=new i(b,this.h);this.C.bind(i.Ty,this.Tk,this);this.C.bind(i.Sy,this.hx,this);this.C.bind(i.NY,this.vka,this,m);this.C.bind(i.mc,this.Ae,this);this.Qx(m)};a.prototype.qt=function(){if(this.h){this.C.unbind(i.Ty,
this.Tk,this);this.C.unbind(i.Sy,this.hx,this);this.C.unbind(i.NY,this.vka,this,m);this.C.unbind(i.mc,this.Ae,this);this.C.clear();this.h.getParent().removeChild(this.h);this.h=r;this.Qx(B)}};a.prototype.Ae=function(a){this.hc(a.data.state)};a.prototype.Tk=function(a){var b=this.get("viewerArea");this.Ed=b&&b.Ed;this.gK(a.data.model);this.Nu()};a.prototype.hx=function(a){this.Ed=r;this.fK(a.data.model)};a.prototype.vka=function(a){this.rd=a.data.time;this.ab=a.data.duration;this.Nu()};a.prototype.rL=
function(a){this.oB(a.data.position)};a.prototype.Wj=function(){this.C&&this.C.play()};a.prototype.Mn=function(){this.C&&this.C.stop()};a.prototype.lp=function(){this.C&&this.C.pause()};a.prototype.oB=function(a){this.C&&this.C.setTime(a)};a.prototype.$Da=function(){return this.C&&this.C.QN()};a.prototype.Nu=function(){if(this.h){var a=this.h.getParent();this.ab>0&&this.get("displayPlaybackBar")?a.Y({playbackBarPosition:this.rd,playbackBarDuration:this.ab,playbackBarVisible:m}):a.set("playbackBarVisible",
B)}};return a});
define("ol","require,nV,kn,mR,cT,hO".split(","),function(a){var b=a("nV"),e=a("kn"),d=a("mR"),g=a("cT"),c=a("hO"),a=d.G("Model3DPlayListItem",c,function(){c.call(this)});a.prototype.start=function(){c.prototype.start.call(this);var a=this.get("player");if(a){a.bind(g.Kg,this.Tk,this);a.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.Tk():a.set("model",this.get("media"))}};a.prototype.stop=function(){var a=this.get("player");if(a){a.unbind(g.Kg,this.Tk,this);a.get("model")==
this.get("media")&&a.set("model",r)}c.prototype.stop.call(this)};a.prototype.Tk=function(a){if(!a||a.data.media==this.get("media")){this.get("player").unbind(g.Kg,this.Tk,this);this.get("player").bind(g.Il,this.hx,this);this.ANa()}};a.prototype.ANa=function(){var a=this.get("media").get("camera").get("sequences",[]).find(function(a){return a.get("mandatory")&&a.get("state")==e.Q});a?a.bind(b.hb,this.gla,this,m):this.hy()};a.prototype.gla=function(a){a.source.unbind(b.hb,this.gla,this,m);this.hy()};
a.prototype.hx=function(a){if(a.data.media==this.get("media")){this.get("player").unbind(g.Il,this.hx,this);this.stop();this.end()}};return a});
define("jp",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("Model3DResource",b,function(){b.call(this)});a.prototype.get=function(a,d){switch(a){case "levels":d=[this];break;case "url":for(var g=b.prototype.get.call(this,a),c=this.get("levels"),i=0;c&&i<c.length&&g===l;i++){var f=c[i];f!=this&&(g=f.get(a))}return g!==l?g:d}return b.prototype.get.call(this,a,d)};return a});define("ic",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("Menu",b,function(){b.call(this)})});
define("o",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("MenuItem",b,function(){b.call(this)})});define("dB",["require","mR","eS"],function(a){var b=a("mR"),e=a("eS");return b.G("MotionBlurModel3DPostprocessing",e,function(){e.call(this)})});define("jX",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("MovementPhotoCamera",b,function(){b.call(this)})});define("cA",["require"],function(){var a={Oy:"drag_acceleration",us:"drag_rotation"};a.bca=a.Oy;a.Wca=a.us;return a});
define("oi",["require","kL","cu"],function(a){var b=a("kL"),e=a("cu");return b.extend(e,function(a){e.call(this,a);this.pH=this.LH=this.cv=this.sv=0})});define("mM",["require","kL","cu"],function(a){var b=a("kL"),e=a("cu");return b.extend(e,function(a){e.call(this,a);this.k$=this.iQa=0})});
define("fa","require,kL,dZ,nV,cu,fQ,cA,oi,mM".split(","),function(a){function b(a,b){return a*b}function e(a){var b=a>0?1:-1;return b*(Math.pow(10,b*a)-1)/9}function d(a,b){return Math.min(Math.max(a/b,-1),1)}var g=a("kL");a("dZ");var c=a("nV"),i=a("cu"),f=a("fQ"),j=a("cA"),n=a("oi"),k=a("mM"),o=g.extend(f,function(){f.call(this);this.Mia=this.Nia=1800;this.iE=7;this.jGa=this.LLa=0;this.IJ=B;this.dl=l;this.JA=j.bca;this.xoa=j.Wca;this.iE=0;this.mU=l;this.oj=B;this.HD=r;this.mA=3;this.ya=90;this.i1=
this.yB=this.kc=1;this.Ed=this.Ta=r;this.qL=B});o.prototype.jv=function(a){this.Nia=a.get("manualRotationSpeed");this.Mia=a.get("manualRotationSpeed");this.mA=a.get("manualZoomSpeed");this.i1=a.get("draggingFactor")};o.prototype.yy=function(a){this.JA=a;this.w8()};o.prototype.HC=function(a){this.xoa=a;this.w8()};o.prototype.DC=function(a){this.ya=a;this.yB=this.ya/90};o.prototype.fs=function(a){this.pl();if(a){this.Ta=a;if(this.Ed=a.oPa&&a.Ed){this.Ed.bind(c.Hb,this.Hla,this,m);this.Ed.bind(c.ic,
this.Ila,this,m)}this.Ta.bind(c.Hb,this.Cd,this,m);this.Ta.bind(c.Vc,this.$i,this,m);this.Ta.bind(c.ic,this.aj,this,m);this.Ta.bind(c.oq,this.KA,this,m);this.Ta.tb().get("settings").get(TDV.PlayerSettings.yxa)!==B&&this.Ta.bind(c.eD,this.hA,this,m);this.Ta.bind(c.fD,this.Mga,this,m);this.Ta.bind(c.dD,this.Jga,this,m);this.w8()}};o.prototype.pl=function(){if(this.Ta!=r){if(this.Ed){this.Ed.unbind(c.Hb,this.Hla,this);this.Ed.unbind(c.ic,this.Ila,this);this.Ed=r}this.Ta.unbind(c.Hb,this.Cd,this);this.Ta.unbind(c.Vc,
this.$i,this);this.Ta.unbind(c.ic,this.aj,this);this.Ta.unbind(c.oq,this.KA,this);this.Ta.unbind(c.eD,this.hA,this);this.Ta.unbind(c.fD,this.Mga,this);this.Ta.unbind(c.dD,this.Jga,this);this.Ta=r;this.UQ()}};o.prototype.w8=function(){if(this.Ta)if(this.Ta.tn){this.mU=this.xoa;this.iE=this.LLa}else{this.mU=this.JA;this.iE=this.jGa}};o.prototype.Hla=function(){this.qL=m};o.prototype.Ila=function(){this.qL=B};o.prototype.Cd=function(a){if(!this.qL){this.bLa(a);this.i7()}};o.prototype.$i=function(a){this.qL||
this.oG(a)};o.prototype.aj=function(){if(!this.qL){this.x1();this.UQ()}};o.prototype.KA=function(a){this.H8(a);this.i7(500)};o.prototype.Mga=function(){this.i7()};o.prototype.hA=function(a){this.I8(a)};o.prototype.Jga=function(){this.UQ()};o.prototype.bLa=function(a){this.IJ=m;this.dl=a;this.oG(a)};o.prototype.oG=function(a){if(this.IJ)switch(this.mU){case j.Oy:this.gNa(a);break;case j.us:this.fNa(a)}};o.prototype.gNa=function(a){this.tpa(+b(e(d(Math.abs(a.x-this.dl.x)<3?0:a.x-this.dl.x,this.Ta.Ra())),
this.Nia*this.yB),-b(e(d(Math.abs(a.y-this.dl.y)<3?0:a.y-this.dl.y,this.Ta.yb())),this.Mia*this.yB))};o.prototype.fNa=function(a){this.v8(-b(d(a.x-this.dl.x,this.Ta.Ra()),this.ya*this.i1),+b(d(a.y-this.dl.y,this.Ta.Ra()),this.ya*this.i1));this.dl=a};o.prototype.x1=function(){if(this.IJ){this.IJ=B;switch(this.mU){case j.Oy:this.tpa(0,0)}}};o.prototype.tpa=function(a,b){var c=new n(o.xs);c.sv=a;c.cv=b;this.trigger(c)};o.prototype.v8=function(a,b){var c=new n(o.xs);c.LH=a;c.pH=b;this.trigger(c)};o.prototype.I8=
function(a){if(this.kc!=a.scale){this.x1();var b=this.kc;this.kc=a.scale;a=new k(o.ro);a.k$=this.ya*b/this.kc-this.ya;this.trigger(a)}};o.prototype.H8=function(a){if(a.delta!=0){this.x1();var b=new k(o.ro);b.k$=this.ya*-a.delta*this.mA/100;this.trigger(b)}};o.prototype.i7=function(a){var b=this.HD!=r;this.Yna();if(a&&(b||!this.oj)){var c=this;this.HD=setTimeout(function(){c.HD=r;c.UQ()},a)}if(!this.oj){this.oj=m;this.trigger(new i(o.eh))}};o.prototype.UQ=function(){this.Yna();if(this.oj){this.oj=
B;this.trigger(new i(o.dh))}};o.prototype.Yna=function(){if(this.HD!=r){clearTimeout(this.HD);this.HD=r}};o.xs="rotation change";o.ro="zoom change";o.eh="user interaction start";o.dh="user interaction end";return o});
define("dq",["require","u"],function(a){function b(){this.cG=d.mb()?0.066:0.1;this.lGa=0.5;this.OKa=d.mb()?0.066:0.1;this.KNa=0.1;this.RU=this.XU=B;this.reset()}function e(a,b,d){a=(b-a)*(1-d);0.01>Math.abs(a)&&(a=0);return b-a}var d=a("u");b.prototype.reset=function(){this.Mfa=this.F0=this.$D=this.rw=this.TI=this.J0=this.I0=this.N0=this.EE=this.mA=this.hU=this.jU=this.op=this.pL=this.Kr=this.kN=0};b.prototype.Maa=function(a,b,d,e,j,n,k,o,p){return this.kN!=a||(this.pL=b)||this.jU!=d||0!=e||0!=j||
this.RU!=k||this.fja!=o||this.XU!=p?(this.kN=a,this.pL=b,this.jU=d,this.Kr+=e,this.op+=j,this.hU+=n,this.RU=k,this.fja=o,this.XU=p,m):B};b.prototype.CTa=function(a,b){return this.mA!=a||0!=b?(this.mA=a,this.EE+=b,m):B};b.prototype.He=function(){return 0!=this.N0||0!=this.I0||0!=this.J0||0!=this.TI||0!=this.kN||0!=this.pL||0!=this.jU||0!=this.mA||0!=this.Kr||0!=this.op||0!=this.EE};b.prototype.ub=function(a){var a=1E3/a,b=this.N0/a,d=this.kN/a+this.Kr;this.Kr=0;var f=this.I0/a,j=this.pL/a+this.op;
this.op=0;var n=this.J0/a,k=this.jU/a+this.hU;this.hU=0;var o=this.mA+this.EE*a;this.EE=0;var p=0==d&&0==j&&0==k,q=0==b&&0==f&&0==n;this.RU&&q&&!p||this.XU&&p&&!q||this.fja&&!p&&!q?(p=p?this.cG:q?this.OKa:this.lGa,this.rw=e(b,d,p),this.$D=e(f,j,p),this.F0=e(n,k,p)):(this.rw=d,this.$D=j,this.F0=k);b=0==this.TI;d=0==o;this.TI=this.RU&&b&&!d||this.XU&&d&&!b?e(this.TI,o,this.KNa):o;this.N0=this.rw*a;this.I0=this.$D*a;this.J0=this.F0*a;this.Mfa=this.TI/a};return b});
define("cS","require,jquery.mod,kL,e,fa,dq,bf,nV".split(","),function(a){var b=a("jquery.mod"),e=a("kL"),d=a("e"),g=a("fa"),c=a("dq"),i=a("bf"),f=a("nV"),a=e.extend(d,function(){d.call(this);this.ie("Renderer");this.I=b("<canvas></canvas>");this.I.css({position:"absolute",left:0,top:0});this.sb().append(this.I);this.Ow=r;this.sa=this.IE=this.GE=this.HE=0;this.al=B;this.bIa=150;this.AJ=0;this.jm=r;this.bind(f.uc,this.Sb,this,m);this.Wa=new g;this.Wa.qWa(720);this.Wa.sO(0);this.Wa.yy("drag_rotation");
this.Wa.DC(360);this.Wa.bind(g.xs,this.nHa,this);this.Pb=new c});a.prototype.wSa=function(a,b,c){this.Ow=a;this.HE=b;this.GE=c;this.IE=Math.floor(this.Ow.length*this.sa/360);this.n6();this.Wa.fs(this);this.Ba()};a.prototype.mOa=function(){this.Ow=r;this.dk();this.n6();this.Wa.pl()};a.prototype.play=function(){this.al=m;this.Ba()};a.prototype.nHa=function(a){this.dk();this.Pb.Maa(a.sv,a.cv,0,a.LH,a.pH,0,B,m);this.Ba()};a.prototype.DK=function(){this.play()};a.prototype.dj=function(a){if(this.Ow)if(this.Pb.He()){this.al=
B;this.Pb.ub(a);this.fea(this.Pb.rw);this.Ba()}else if(this.al){this.fea(this.bIa*a/1E3);this.Ba()}else this.LE()||this.Bp()};a.prototype.Cl=function(a){for(this.sa=a;this.sa<0;)this.sa=this.sa+360;for(;this.sa>=360;)this.sa=this.sa-360;this.JMa()};a.prototype.JMa=function(){if(this.Ow){var a=Math.floor(this.Ow.length*this.sa/360);if(this.IE!=a){this.IE=a;this.hma()}}};a.prototype.fea=function(a){this.Cl(this.sa+a)};a.prototype.Sb=function(){this.n6()};a.prototype.n6=function(){var a=this.I.get(0);
if(this.HE==0||this.GE==0){a.width=0;a.height=0}else{var b=this.Re(),c=this.Qe();if(c*this.HE>b*this.GE){a.width=b;a.height=this.GE*b/this.HE}else{a.height=c;a.width=this.HE*c/this.GE}this.I.css({left:Math.round((b-a.width)*0.5)+"px",top:Math.round((c-a.height)*0.5)+"px"});this.hma()}};a.prototype.hma=function(){if(this.Ow){var a=this.I.get(0),b=this.Ow[this.IE];a.getContext("2d").drawImage(b,0,0,this.HE,this.GE,0,0,a.width,a.height)}};a.prototype.LE=function(){return this.jm?m:B};a.prototype.Bp=
function(){this.dk();if(this.AJ>0){var a=this;this.jm=setTimeout(function(){a.jm=r;a.DK()},this.AJ)}};a.prototype.dk=function(){if(this.jm){clearTimeout(this.jm);this.jm=r}};a.prototype.Ba=function(){i.vb(this.dj,this)};return a});
define("lJ","require,nV,hA,cu,mR,fI,z,cS,ns,jV".split(","),function(a){var b=a("nV"),e=a("hA"),d=a("cu"),g=a("mR"),c=a("fI"),i=a("z"),f=a("cS"),j=a("ns"),n=a("jV"),a=g.G("Object3D",j,function(){j.call(this);this.Xc=this.mm=this.Bh=this.h=r;this.bind(b.Wc,this.Tj,this);this.bind(b.cd,this.Pj,this)});a.prototype.kb=function(){j.prototype.kb.call(this);if(!this.h){this.h=new f;this.h.Y({left:0,top:0,right:0,bottom:0});this.La(this.h)}if(!this.Bh){this.Bh=new i;this.Bh.Y({left:0,bottom:0,right:0,height:20,
visible:B});this.La(this.Bh)}};a.prototype.Tj=function(){this.WJ()};a.prototype.Pj=function(){this.Mn()};a.prototype.WJ=function(){this.Bh.set("percent",0);this.Bh.set("visible",m);this.h.Cl(this.get("yaw"));var a=this.get("frames",[]);this.mm=[];this.Xc=[];for(var d=0;d<a.length;d++){this.mm.push(c.Wp(a[d]));var f=new n(e.Zm);f.bind(b.T,this.LK,this);f.bind(b.tc,this.MK,this);this.Xc.push(f)}for(d=0;d<a.length;d++)this.Xc[d].load(this.mm[d].get("url"))};a.prototype.LK=function(){var a=this.Xc.filter(function(a){return a.tl()});
this.Bh.set("percent",100*a.length/this.Xc.length);a.length==this.Xc.length&&this.Yc()};a.prototype.MK=G();a.prototype.Yc=function(){this.Bh.set("visible",B);var a=this.mm[0].get("width",this.Xc[0].bd()),c=this.mm[0].get("height",this.Xc[0].Rd());this.h.wSa(this.Xc.map(function(a){return a.hf()}),a,c);this.trigger(new d(b.T))};a.prototype.Mn=function(){if(this.Xc){this.Bh.set("visible",B);this.h.mOa();this.Xc=this.Xc.forEach(function(a){a.unbind(b.T,this.LK,this);a.unbind(b.tc,this.MK,this);a.cancel()});
this.mm=this.Xc=r}};return a});define("ie",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("OrbitLight",b,function(){b.call(this)})});define("gm",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("RotationalCameraPosition",b,function(a,d,g){b.call(this);a!==l&&this.set("yaw",a);d!==l&&this.set("pitch",d);g!==l&&this.set("hfov",g)})});define("cB",["require","gm","mR"],function(a){var b=a("gm");return a("mR").G("PanoramaCameraPosition",b,function(){b.apply(this,arguments)})});
define("gR",["require","ll","mR","cB","gm"],function(a){var b=a("ll"),e=a("mR"),d=a("cB"),g=a("gm"),c=e.G("RotationalCamera",b,function(){b.call(this);this.set("initialPosition",new g)});return e.G("PanoramaCamera",c,function(){c.call(this);this.set("initialPosition",new d)})});define("lB",["require","gm","mR"],function(a){var b=a("gm");return a("mR").G("RotationalCameraDisplayPosition",b,function(){b.apply(this,arguments)})});
define("kl",["require","lB","mR"],function(a){var b=a("lB");return a("mR").G("PanoramaCameraDisplayPosition",b,function(){b.apply(this,arguments)})});define("bq",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaCameraMovement",b,function(){b.call(this)})});
define("eF",["require","ll","cu","mR","nV"],function(a){var b=a("ll"),e=a("cu"),d=a("mR"),g=a("nV"),a=d.G("RotationalCameraSequence",b,function(){b.call(this)});a.prototype.play=a.prototype.play=function(){this.trigger(new e(g.gz))};a.prototype.pause=a.prototype.pause=function(){this.trigger(new e(g.lP))};return a});define("bK",["require","mR","eF"],function(a){var b=a("mR"),e=a("eF");return b.G("PanoramaCameraSequence",e,function(){e.call(this)})});
define("ib",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaMapLocation",b,function(){b.call(this)})});define("bi",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaModel3DLocation",b,function(){b.call(this)})});define("oj",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaOverlay",b,function(){b.call(this)})});
define("mB",["require","kn","gN","a"],function(a){function b(a){this.h=a;this.Eo=[];this.E2=B;this.Qa=this.sa=0}var e=a("kn"),d=a("gN"),g=a("a");b.prototype.clear=function(){this.stop();this.Eo=this.h=r};b.prototype.end=function(a){var b=[],d=[],j=this.wha(a);this.Eo.forEach(function(a){0>j.indexOf(a)?b.push(a):d.push(a)});b.forEach(function(a){a.aC().wd(e.M)});this.Eo=d;this.E2=B};b.prototype.start=function(a){this.end(a);this.Eo=this.wha(a);this.E2=0<this.Eo.filter(function(a){return a instanceof
d}).length;this.Soa();this.uU(e.Q,m)};b.prototype.play=function(){this.uU(e.Q)};b.prototype.pause=function(){this.uU(e.Db)};b.prototype.stop=function(){this.uU(e.M)};b.prototype.gd=function(){this.sa=this.h.Oc();this.Qa=this.h.Hc();this.Soa()};b.prototype.Soa=function(){if(this.E2){var a=Math.PI/180,b=this.sa*a,e=this.Qa*a,j=new g(Math.sin(b)*Math.cos(e),Math.sin(e),Math.cos(b)*Math.cos(e));this.Eo.forEach(function(n){if(n instanceof d){var k=n.get("yaw",b)*a,o=n.get("pitch",e)*a,p=n.get("maximumAngle",
360)*a,k=new g(Math.sin(k)*Math.cos(o),Math.sin(o),Math.cos(k)*Math.cos(o)),p=Math.min(1,Math.max(0,1-Math.acos(j.VB(k))/p));n.aC().mv(p)}}.bind(this))}};b.prototype.wha=function(a){return a?a.get("audios",[]):[]};b.prototype.uU=function(a,b){(b?this.Eo.slice().reverse():this.Eo).forEach(function(b){if(b.get("autoplay",B)){var b=b.aC(),d=b.mg();a==e.Q&&d!=e.Q?b.wd(e.Q):a==e.Db&&d==e.Q?b.wd(e.Db):a==e.M&&d!=e.M&&b.wd(e.M)}})};return b});
define("eZ",["require"],function(){function a(a){a%=d;0>a&&(a+=d);return i[a*g|0]}function b(a){a%=d;0>a&&(a+=d);return c[a*g|0]}function e(){this.identity()}e.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.ah=this.$g=this.Zg=0};e.prototype.clone=function(){var a=new e;a.m11=this.m11;a.m12=this.m12;a.m13=this.m13;a.m21=this.m21;a.m22=this.m22;a.m23=this.m23;a.m31=this.m31;a.m32=this.m32;a.m33=this.m33;a.Zg=this.Zg;a.$g=
this.$g;a.ah=this.ah;return a};e.prototype.concat=function(a){var b=this.m11,c=this.m12,d=this.m13,e=this.m21,f=this.m22,g=this.m23,i=this.m31,u=this.m32,w=this.m33,v=this.Zg,x=this.$g,y=this.ah;this.m11=b*a.m11+c*a.m21+d*a.m31;this.m12=b*a.m12+c*a.m22+d*a.m32;this.m13=b*a.m13+c*a.m23+d*a.m33;this.m21=e*a.m11+f*a.m21+g*a.m31;this.m22=e*a.m12+f*a.m22+g*a.m32;this.m23=e*a.m13+f*a.m23+g*a.m33;this.m31=i*a.m11+u*a.m21+w*a.m31;this.m32=i*a.m12+u*a.m22+w*a.m32;this.m33=i*a.m13+u*a.m23+w*a.m33;this.Zg=v*
a.m11+x*a.m21+y*a.m31+a.Zg;this.$g=v*a.m12+x*a.m22+y*a.m32+a.$g;this.ah=v*a.m13+x*a.m23+y*a.m33+a.ah};e.prototype.translate=function(a,b,c){this.Zg+=a;this.$g+=b;this.ah+=c};e.prototype.scale=function(a,b,c){this.m11*=a;this.m12*=b;this.m13*=c;this.m21*=a;this.m22*=b;this.m23*=c;this.m31*=a;this.m32*=b;this.m33*=c;this.Zg*=a;this.$g*=b;this.ah*=c};e.prototype.rotateX=function(c){var d=a(c),c=b(c),e=this.m12*d+this.m13*c,f=this.m22*c-this.m23*d,g=this.m22*d+this.m23*c,i=this.m32*c-this.m33*d,t=this.m32*
d+this.m33*c,s=this.$g*c-this.ah*d,u=this.$g*d+this.ah*c;this.m12=this.m12*c-this.m13*d;this.m13=e;this.m22=f;this.m23=g;this.m32=i;this.m33=t;this.$g=s;this.ah=u};e.prototype.rotateY=function(c){var d=a(c),c=b(c),e=-this.m11*d+this.m13*c,f=this.m21*c+this.m23*d,g=-this.m21*d+this.m23*c,i=this.m31*c+this.m33*d,t=-this.m31*d+this.m33*c,s=this.Zg*c+this.ah*d,u=-this.Zg*d+this.ah*c;this.m11=this.m11*c+this.m13*d;this.m13=e;this.m21=f;this.m23=g;this.m31=i;this.m33=t;this.Zg=s;this.ah=u};e.prototype.rotateZ=
function(c){var d=a(c),c=b(c),e=this.m11*d+this.m12*c,f=this.m21*c-this.m22*d,g=this.m21*d+this.m22*c,i=this.m31*c-this.m32*d,t=this.m31*d+this.m32*c,s=this.Zg*c-this.$g*d,u=this.Zg*d+this.$g*c;this.m11=this.m11*c-this.m12*d;this.m12=e;this.m21=f;this.m22=g;this.m31=i;this.m32=t;this.Zg=s;this.$g=u};e.prototype.rotate=function(a,b,c){this.rotateX(a);this.rotateY(b);this.rotateZ(c)};e.prototype.invert=function(){var a=this.aPa();if(0==a)return B;var b=this.clone();this.m11=(b.m22*b.m33-b.m23*b.m32)/
a;this.m12=(b.m13*b.m32-b.m12*b.m33)/a;this.m13=(b.m12*b.m23-b.m13*b.m22)/a;this.m21=(b.m23*b.m31-b.m21*b.m33)/a;this.m22=(b.m11*b.m33-b.m13*b.m31)/a;this.m23=(b.m13*b.m21-b.m11*b.m23)/a;this.m31=(b.m21*b.m32-b.m22*b.m31)/a;this.m32=(b.m12*b.m31-b.m11*b.m32)/a;this.m33=(b.m11*b.m22-b.m12*b.m21)/a;this.Zg=-(b.Zg*this.m11+b.$g*this.m21+b.ah*this.m31);this.$g=-(b.Zg*this.m12+b.$g*this.m22+b.ah*this.m32);this.ah=-(b.Zg*this.m13+b.$g*this.m23+b.ah*this.m33);return m};e.prototype.aPa=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)};e.prototype.FG=function(a){var b=a.x*this.m12+a.y*this.m22+a.z*this.m32+this.$g,c=a.x*this.m13+a.y*this.m23+a.z*this.m33+this.ah;a.x=a.x*this.m11+a.y*this.m21+a.z*this.m31+this.Zg;a.y=b;a.z=c};for(var d=2*Math.PI,g=18E4/d,c=new Float32Array(180001),i=new Float32Array(180001),f=0;18E4>f;f++)c[f]=Math.cos(f/g),i[f]=Math.sin(f/g);c[18E4]=c[0];i[18E4]=i[0];return e});
define("dw",["require"],function(){return{ss:0,Ha:1,Va:2}});
define("bW",["require","mR","le"],function(a){var b=a("mR"),e=a("le"),d={get:function(a){return a.qya||(a.qya=this.QCa(a))},QCa:function(a){if(b.va("CubicPanoramaFrame",a))return a.get("stereoCube")?d.Nv:a.get("cube")?d.Ds:d.vk;if(b.va("SphericPanoramaFrame",a)){var c=a.get("stereoSphere"),i=a.get("sphere"),f=a.get("hfov"),a=a.get("vfov"),j=359.9<f&&179.9<a,n=e.dOa();return c&&(!j||n||!i)?(i=c.get("levels"),c=Math.max.apply(Math,i.map(function(a){return a.get("width")})),i=Math.max.apply(Math,i.map(function(a){return a.get("height")})),
2==Math.round(i/a/(c/f))?d.Ao:d.wq):d.uo}},Nv:"stereoCube_12_1",Ds:"monoCube_6_1",vk:"monoCube_1_1",uo:"monoSphere_1_1",Ao:"stereoSphere_1_2",wq:"stereoSphere_2_1"};return d});
define("mE","require,mR,lw,dw,ma,bW,iY,le,u,hH,lA,jV,nt".split(","),function(a){function b(a,b,c){return a.split(b).join(c).split(encodeURI(b)).join(c)}function e(){var a=D.Zu()&&URL.Jh("recent_ipad_use_max_res",B);e=function(){return a};return a}function d(a){if(a.length==0)return 1;a.sort(function(a,b){return b.get("width")-a.get("width")});return a[0].get("width")/a[0].get("height")}function g(a,b){var c=1E4;e()||(D.Gf()?c=2048:D.Zu()?c=1280:D.mb()&&(c=1024));switch(a){case y.Ds:return[6*c,c];
case y.vk:return[c,c];case y.Nv:return[12*c,c]}switch(a){case y.Ao:b=b*2;break;case y.wq:b=b*0.5}return b>2?[c*4,c*4/b]:[c*2*b,c*2]}function c(a){if(e())return[l,l];switch(a){case y.Ds:if(D.Gf()||D.mb())return[18432,1536];break;case y.Ao:if(D.Gf())return[5352,5352];if(D.mb())return[6086,6086];break;case y.uo:if(D.Gf())return[7168,3584];if(D.mb()&&D.Zu())return[8192,4096]}return[l,l]}function i(a,b){var d=c(b);return a.filter(function(a){return u.va("TiledImageResourceLevel",a)?m:d[0]!==l&&a.get("width")>
d[0]||d[1]!==l&&a.get("height")>d[1]?B:m})}function f(){return D.Zu()?[w.Sca]:D.A$()?D.ad()==D.xv||D.ad()==D.UC?[w.sP,w.FZ]:[w.FZ,w.sP]:D.Gf()?[w.sP]:D.mb()?[w.rP]:[]}function j(a){a.sort(function(a,b){return a.get("width")-b.get("width")});return a}function n(a,b){function c(a){return Math.abs(a.get("width")*a.get("height")-b[0]*b[1])}a.sort(function(a,b){return c(a)-c(b)});return a.length&&a[0]||r}function k(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)<0});return a.length?a:c!==
l?c:[]}function o(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)>=0});return a.length?a:c!==l?c:[]}function p(a,b,c){switch(c){case y.Nv:case y.Ds:case y.vk:return a;case y.uo:case y.wq:return a*b.get("hfov",180)/90;case y.Ao:return a*b.get("hfov",180)*2/90}}function q(a,b){switch(b){case y.Nv:return a.get("stereoCube").get("levels");case y.Ds:return a.get("cube").get("levels");case y.vk:return a.get("front").get("levels");case y.uo:return a.get("sphere").get("levels");case y.Ao:case y.wq:return a.get("stereoSphere").get("levels")}}
function t(a,b){var c=q(a,b),d=a.get("minFaceSize");if(d){var e=p(d,a,b),d=c.filter(function(a){return a.get("height")>=e});d.length>0&&(c=d)}return c}function s(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];b.indexOf(d)<0&&b.push(d)}return b}var u=a("mR"),w=a("lw"),v=a("dw"),x=a("ma"),y=a("bW"),E=a("iY");a("le");var D=a("u");a("hH");var F=a("lA"),L=a("jV"),J=a("nt"),z={Gra:function(a){a=a.get("frames");if(a.length==0)return 1;var b=a[0];if(y.get(b)==y.uo&&b.ul())a=(a=J.tj(b.get("sphere")))?[a]:
[];else if((y.get(b)==y.Ao||y.get(b)==y.wq)&&b.ul())a=(a=J.tj(b.get("stereoSphere")))?[a]:[];else a=z.W9(b,B);return Math.max.apply(Math,a.map(function(a){return z.APa(b,a)}).concat([1]))},APa:function(a,b){var b=z.S9(a,b,x.FRONT),c=b.get("width"),d=a.ZG().get("hfov",360);switch(y.get(a)){case y.Nv:return c/1080;case y.Ds:return c/540;case y.vk:return c/90;case y.uo:return c/d;case y.Ao:return c/d;case y.wq:return c/(2*d)}},p$:function(a,b){var c=z.Lm(a,b);return c.length<=6&&c.every(function(a){return L.TX(a)})},
X$:function(a,b){return z.Lm(a,b).every(function(a){return L.TX(a)})},Lm:function(a,b,c){if(!a)return[];c||(c=B);if(u.va("Panorama",a)){c=a.get("flipImageHorizontally",B);return s([].concat(Array.prototype.concat.apply([],a.get("frames").map(function(a){return z.Lm(a,b,c)})),Array.prototype.concat.apply([],a.get("overlays").map(function(a){return z.Lm(a,b,c)}))))}if(u.va("PanoramaFrame",a)){var d=Array.prototype.concat.apply([],a.get("overlays").map(function(a){return z.Lm(a,b,c)}));if(y.get(a)==
y.uo&&a.ul())return z.Lm(J.tj(a.get("sphere")),b).concat(d);if((y.get(a)==y.Ao||y.get(a)==y.wq)&&a.ul())return z.Lm(J.tj(a.get("stereoSphere")),b).concat(d);var e=z.W9(a,b)[0],c=a.get("flipImageHorizontally",B);if(y.get(a)==y.vk){var f=[x.FRONT,x.Ha,x.BACK,x.Va,x.ec,x.Zb];return Array.prototype.concat.apply([],f.map(function(d){return(d=z.S9(a,e,d))?z.Lm(d,b,c):[]})).concat(d)}return z.Lm(e,b,c).concat(d)}if(u.va("Video360ResourceLevel",a))return(d=a.get("posterURL"))?[d]:[];if(u.va("HotspotPanoramaOverlay",
a))return a.get("projected")?Array.prototype.concat.apply([],a.get("items").map(function(a){return z.Lm(a,b,c)})):[];if(u.va("FlatHotspotPanoramaOverlayImage",a)||u.va("HotspotPanoramaOverlayImage",a)){d=a.get("image").get("levels");e=d[0];z.Lm(e,b,c);return Array.prototype.concat.apply([],d.map(function(a){return z.Lm(a,b,c)}))}if(u.va("TiledImageResourceLevel",a)){var g=[],d=Math.round(a.get("width")/a.get("height")),j;if(d==1)j=y.vk;else if(d==12)j=y.FUa;else if(d==6)j=y.Ds;else return[];var i=
d==12?[v.Va,v.Ha]:[v.ss],f=[x.Va,x.Ha,x.ec,x.Zb,x.FRONT,x.BACK],n=a.get("colCount",d)/d,k=a.get("rowCount",1);i.forEach(function(b){f.forEach(function(d){for(var e=0;e<k;e++)for(var f=0;f<n;f++)g.push(z.Rra(a,j,b,d,c,k,e,f))})});return g}return u.va("ImageResourceLevel",a)?[a.get("url")]:[]},W9:function(a,b){var c=y.get(a),d=this.ADa(a);if(d){if(b&&!this.jia(d)){c=this.Bha(a);if(c!=d)return[c,d]}return[d]}d=o(t(a,c),w.GZ);if(d.length>0)return j(d);d=this.kEa(a);if(b&&!this.jia(d)){c=this.Bha(a);if(c!=
d)return[c,d]}return[d]},IQa:function(a){return a.get("tags").indexOf(w.GZ)>=0},S9:function(a,b,c){if(y.get(a)!=y.vk)return b;var d;switch(c){case x.FRONT:d=a.get("front");break;case x.Ha:d=a.get("left");break;case x.BACK:d=a.get("back");break;case x.Va:d=a.get("right");break;case x.ec:d=a.get("top");break;case x.Zb:d=a.get("bottom")}a=d&&d.get("levels")||[];if(a.length==0)return r;a=a.filter(function(a){return a.get("width")==b.get("width")&&a.get("height")==b.get("height")&&a.get("grayscale",B)==
b.get("grayscale",B)&&a.get("colCount",1)==b.get("colCount",1)&&a.get("rowCount",1)==b.get("rowCount",1)});return a[0]},Rra:function(a,c,d,e,f,g,j,i){var a=a.get("url"),n=0;a.indexOf("{eye}")>=0||a.indexOf(encodeURI("{eye}"))>=0?a=b(a,"{eye}",H[d]):n=n+6*(f?A:I)[d];a.indexOf("{face}")>=0||a.indexOf(encodeURI("{face}"))>=0?a=b(a,"{face}",N[e]):c!=y.vk&&(n=n+K[e]);a=b(a,"{row}",j);return a=b(a,"{column}",i+n*g)},CPa:function(a,b){return z.qJ(z.iA(a.get("image")),90,90,F.fh,b)},$Oa:function(a,b){return z.qJ(z.iA(a.get("image")),
a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},nPa:function(a,b){return z.qJ(z.iA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},PPa:function(a,b){return z.qJ(z.iA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},wra:function(a,b){return z.qJ(z.iA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},iA:function(a){return a&&a.get("levels")||[]},qJ:function(a,b,c,d,g){if(!a||!a.length)return r;for(var a=k(a,w.zq,a),i=f(),q=0;q<i.length;q++)a=
o(a,i[q],a);i=1E4;e()||(D.Gf()?i=2048:D.Zu()?i=1280:D.mb()&&(i=1024));q=j(a)[a.length-1];b=E.b$(b,c,q.get("width"),q.get("height"),d,g);return n(a,[b.ve*i/90,b.hq*i/90])},iPa:function(a){var b=z.iA(a.get("image"));if(!b||!b.length)return r;for(var b=k(b,w.zq,b),c=f(),d=0;d<c.length;d++)b=o(b,c[d],b);c=j(b)[b.length-1];a=E.wW(a.get("width"),a.get("height"),c.get("width"),c.get("height"),a.get("scaleMode"));return n(b,[a.width,a.height])},FPa:function(a){var b=z.iA(a.get("image"));if(!b||!b.length)return r;
for(var b=k(b,w.zq,b),c=f(),d=0;d<c.length;d++)b=o(b,c[d],b);c=1E4;e()||(D.Gf()?c=2048:D.Zu()?c=1280:D.mb()&&(c=1024));var g=d=20;if((a=a.get("vertices"))&&a.length==4){d=a[0].get("yaw");g=a[1].get("yaw");g<d&&(g=g+360);d=g-d;g=a[0].get("pitch");a=a[3].get("pitch");g=g-a}return n(b,[d*c/90,g*c/90])},Bha:function(a){for(var b=y.get(a),a=t(a,b),a=i(a,b),a=o(a,w.zq,a),b=f(),c=0;c<b.length;c++)a=o(a,b[c],a);return n(a,[0,0])},kEa:function(a){for(var b=y.get(a),a=t(a,b),a=i(a,b),a=k(a,w.zq,a),c=f(),e=
0;e<c.length;e++)a=o(a,c[e],a);b=g(b,d(a));return n(a,b)},ADa:function(a){var b=f();if(b.length==0)return r;for(var c=y.get(a),e=t(a,c),e=i(e,c),e=k(e,w.zq,e),a=[],j=0;j<b.length&&a.length==0;j++)a=o(e,b[j]);if(a.length==0)return r;b=g(c,d(a));return n(a,b)},jia:function(a){return a.get("tags").indexOf(w.GZ)>=0?B:D.ad()==D.Ky?m:L.TX(a.get("url"))}},K=function(){var a={};a[x.Va]=0;a[x.Ha]=1;a[x.ec]=2;a[x.Zb]=3;a[x.FRONT]=4;a[x.BACK]=5;return a}(),I=function(){var a={};a[v.Va]=0;a[v.Ha]=1;a[v.ss]=0;
return a}(),A=function(){var a={};a[v.Va]=1;a[v.Ha]=0;a[v.ss]=0;return a}(),N=function(){var a={};a[x.Va]="r";a[x.Ha]="l";a[x.ec]="u";a[x.Zb]="d";a[x.FRONT]="f";a[x.BACK]="b";return a}(),H=function(){var a={};a[v.Ha]="l";a[v.Va]="r";a[v.ss]="b";return a}();return z});
define("hW","require,dZ,nV,ko,eZ,a,mE".split(","),function(a){function b(a){this.h=a;this.ja=B;this.Bm=b.nz;this.M1=this.$ha=B;this.ki(r);this.h.bind(d.uc,this.Sb,this,m);this.Sb()}var e=a("dZ"),d=a("nV"),g=a("ko"),c=a("eZ"),i=a("a"),f=a("mE");b.prototype.isa=function(){return this.Bm!==b.nz};b.prototype.hsa=function(){return this.Bm&b.vD?m:B};b.prototype.jsa=function(){return this.Bm&b.wD?m:B};b.prototype.ksa=function(){return this.Bm&b.rz?m:B};b.prototype.gsa=function(){return this.Bm&b.mz?m:B};
b.prototype.CX=R("$ha");b.prototype.Oc=function(){this.Im();return this.sa};b.prototype.Hc=function(){this.Im();return this.Qa};b.prototype.rf=function(){this.Im();return this.Lc};b.prototype.Vu=function(){this.Im();return this.ya};b.prototype.ki=function(a){if(a){this.g5=a.get("hfov",360);this.vT=a.get("vfov",180);this.lL=a.get("pitch",0);this.YA=a.get("partial",B);this.G2=a.nsa();this.C2=a.csa();this.L2=Math.min(a.get("hfovMax",170),170);this.xJ=a.get("hfovMin");this.W3=f.Gra(a)}else{this.g5=360;
this.vT=180;this.lL=0;this.C2=this.G2=this.YA=B;this.L2=120;this.W3=this.xJ=1}this.sa=0;this.Qa=this.lL;this.Lc=0;this.ja=m};b.prototype.gb=function(a,b,c,d,e){this.sa=a;this.Qa=b;this.Lc=c;this.ya=d;this.M1=e;this.ja=m};b.prototype.Sb=function(){var a=this.h.Ra(),b=this.h.yb();if(this.X!=a||this.ia!=b){this.X=a;this.ia=b;this.ja=m}};b.prototype.Im=function(){if(this.ja){this.ja=B;var a=this.sa*k,d=this.Qa*k,f=this.ya*k,s,u,w,v=(this.M1?g.ps(this.L2,this.X,this.ia):this.L2)*k,x;a:{x=this.xJ;if(e(x).isString())if((x=
x.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&x.length>=2){x=parseFloat(x[1]);break a}x=l}x=x!==l?2*Math.atan2(this.X*this.h.getPixelRatio()*0.5,this.W3*45*x/100):this.xJ?(this.M1?g.ps(this.xJ,this.X,this.ia):this.xJ)*k:2*Math.atan2(this.X*this.h.getPixelRatio()*0.5,this.W3*45);x=Math.min(v,x);if(this.$ha){s=360;w=180;u=0}else if(this.G2||this.C2){s=this.C2?90:this.lL+this.vT*0.5;var y=this.G2?-90:this.lL-this.vT*0.5;w=s-y;u=(s+y)*0.5;s=this.g5}else{s=this.g5;u=this.lL;w=this.vT}s=s*k;w=w*k;u=u*k;for(y=
this.X/this.ia;a<-j;)a=a+2*j;for(;a>j;)a=a-2*j;f=Math.max(Math.min(f,v),x);v=b.nz;d>n?v=v|b.rz:d<-n&&(v=v|b.mz);var d=Math.max(Math.min(d,j*0.5),-j*0.5),E=2*Math.atan(Math.tan(f*0.5)/y);if(E>=w){f=2*Math.atan(Math.tan(w*0.5)*y);d=u;v=v|b.rz|b.mz}else{var D=Math.min(w*0.5+u,j*0.5);w=Math.max(-w*0.5+u,-j*0.5);u=!this.YA&&D>=j*0.495?j*0.5:D-E*0.5;w=!this.YA&&w<=-j*0.495?-j*0.5:w+E*0.5;if(d>u){d=u;v=v|b.rz}else if(d<w){d=w;v=v|b.mz}}if(this.YA){w=Math.tan(f*0.5);y=w/y;y=new i(-w,d>0?y:-y,1);w=new c;w.rotateX(-d);
y.apply(w);y=y.Oc()*2;y<0&&(y=y+2*j);w=s*0.5-y*0.5;E=-s*0.5+y*0.5;if(y>s){a=0;f=Math.max(x,f*s/y);v=v|b.vD|b.wD}else if(a>w){a=w;v=v|b.wD}else if(a<E){a=E;v=v|b.vD}}this.sa=a*o;this.Qa=d*o;this.ya=f*o;this.Bm=v}};var j=Math.PI,n=Math.PI*0.5,k=Math.PI/180,o=180/Math.PI;b.nz=0;b.vD=1;b.wD=2;b.rz=4;b.mz=8;return b});
define("bc",["require","kL","nV","fQ","oi"],function(a){function b(a,b){return a*b}function e(a,b){return Math.min(Math.max(a/b,-1),1)}var d=a("kL"),g=a("nV"),c=a("fQ"),i=a("oi"),f=d.extend(c,function(){c.call(this);this.IJ=B;this.dl=l;this.ya=90;this.D1=0.1;this.na=this.Ta=r});f.prototype.jv=function(a){this.na&&this.na.unbind(g.u("hoverFactor"),this.b8,this);if(this.na=a)this.na.bind(g.u("hoverFactor"),this.b8,this),this.b8()};f.prototype.b8=function(){this.D1=this.na.get("hoverFactor")};f.prototype.DC=
R("ya");f.prototype.fs=function(a){this.pl();a&&(this.Ta=a,this.dl=l,this.Ta.bind(g.Vc,this.$i,this,m))};f.prototype.pl=function(){this.Ta!=r&&(this.Ta.unbind(g.Vc,this.$i,this),this.Ta=r)};f.prototype.$i=function(a){this.oG(a)};f.prototype.oG=function(a){this.dl&&this.v8(+b(e(a.x-this.dl.x,this.Ta.Ra()),this.ya*this.D1),-b(e(a.y-this.dl.y,this.Ta.Ra()),this.ya*this.D1));this.dl=a};f.prototype.v8=function(a,b){if(!(0==a&&0==b)){var c=new i(f.xs);c.LH=a;c.pH=b;this.trigger(c)}};f.xs="rotation change";
return f});
define("gK","require,dZ,kL,cu,fQ,dq,bc".split(","),function(a){a("dZ");var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("dq"),c=a("bc"),i=b.extend(d,function(a,b,e){d.call(this);this.h=a;this.oc=this.h.oc;this.W=b;this.nc=e;this.Dx=this.CP=this.K=B;this.Pb=new g;this.Di=r;this.Lc=this.Qa=this.sa=0;this.ya=90;this.Wa=new c;this.Wa.bind(c.xs,this.OK,this,m)});i.prototype.clear=function(){this.Wa.unbind(c.xs,this.OK,this,m);this.Wa.pl();this.Wa=r;this.Nz();this.h=this.oc=this.nc=this.W=this.Pb=r};i.prototype.jv=function(a){this.Pb.reset();
this.Wa.jv(a)};i.prototype.gb=function(a,b,c,d){if(this.sa!=a||this.Qa!=b||this.Lc!=c||this.ya!=d){this.sa=a;this.Qa=b;this.Lc=c;this.ya=d;this.Wa.DC(this.ya);this.E6(B);this.pM()}};i.prototype.He=function(){return this.CP&&this.Dx?m:B};i.prototype.ub=function(a){this.cy=B;this.Pb.ub(a);this.Dx=B;var a=this.sa+this.Pb.rw,b=this.Qa+this.Pb.$D;this.nc.eo(this.ya);this.W.gb(a,b,this.Lc,this.nc.lg(),this.nc.Tu());this.sa=this.W.Oc();this.Qa=this.W.Hc();this.Lc=this.W.rf();this.ya=this.W.Vu()};i.prototype.Vp=
S("sa");i.prototype.Up=S("Qa");i.prototype.ny=S("Lc");i.prototype.eC=S("ya");i.prototype.vd=function(a){if(this.K!=a)if(this.K=a)this.pM();else{this.Nz();this.E6(B)}};i.prototype.OK=function(a){this.xc(a.sv,a.cv,0,0,a.LH,a.pH,0,0,B,B,m,m)};i.prototype.xc=function(a,b,c,d,e,g,i,t,s,u,w,v){var x=this.Pb.Maa(a,b,c,e,g,i,u,w,v)||x;x&&this.Dh()};i.prototype.Dh=function(){this.Dx=m;this.trigger(new e(i.bh))};i.prototype.pM=function(){this.Nz();this.Di=setTimeout(this.aL.bind(this),30)};i.prototype.Nz=function(){if(this.Di){clearTimeout(this.Di);
this.Di=r}};i.prototype.aL=function(){this.E6(this.K)};i.prototype.E6=function(a){if(this.CP!=a)if(this.CP=a){this.Pb.reset();this.Wa.fs(this.h.getParent());this.Dh()}else this.Wa.pl()};i.bh="position change request";return i});
define("he","require,kL,nV,cu,fQ,u,hl".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ");a("u");var c=a("hl"),a=b.extend(g,function(){g.call(this);this.Kpa=this.K=B;this.Lc=this.Qa=this.sa=0;this.dU=B;this.op=this.Kr=0});a.prototype.vd=function(a){if(this.K!=a)if(this.K=a){c.bind(this.NA,this,m);var a=c.Xr(),b=a.pitch;this.Kr=this.sa-a.yaw;this.op=this.Qa-b;this.Rn()}else c.unbind(this.NA,this,m)};a.prototype.gb=function(a,b,c){if(this.sa!=a){this.Kr=this.mB(this.Kr+(a-this.mB(this.sa,
a)),0);this.sa=a}if(this.Qa!=b){this.op=this.op+(b-this.Qa);this.Qa=b}this.Lc=c};a.prototype.Vp=S("sa");a.prototype.Up=S("Qa");a.prototype.ny=S("Lc");a.prototype.He=function(){return c.eRa()};a.prototype.ub=function(a){var b=c.Xr(),a=20*a/1E3,d=b.pitch+(this.Kpa?this.op:0),e=b.roll;this.sa=this.Mf(this.sa,this.mB(this.mB(b.yaw,this.sa)+this.Kr,this.sa),a);this.Qa=this.Mf(this.Qa,d,a);this.Lc=this.Mf(this.Lc,e,a)};a.prototype.yTa=R("Kpa");a.prototype.Mf=function(a,b,c){a=(b-a)*(1-c);Math.abs(a)<0.01&&
(a=0);return b-a};a.prototype.mB=function(a,b){for(;a+180<b;)a=a+360;for(;a-180>b;)a=a-360;return a};a.prototype.NA=function(){this.K&&this.Rn()};a.prototype.Rn=function(){this.trigger(new d(e.ra))};return a});define("ec",["require"],function(){return{kD:"left",lD:"right",jD:"down",mD:"up",Kca:"rotate10x",lda:"zoom2x",Q:"playing",Rs:"zoomIn",Ss:"zoomOut",$f:"stop"}});
define("fe","require,kL,bl,cu,fQ,ec".split(","),function(a){var b=a("kL"),e=a("bl"),d=a("cu"),g=a("fQ"),c=a("ec"),i=b.extend(g,function(a){g.call(this);this.h=a;this.K=B;this.Sh={};this.lM=r;this.Ci=this.kM=B;this.UR=this.UR.bind(this);this.Ot=this.Ot.bind(this);this.oc=this.h.oc;document.addEventListener("keydown",this.UR);document.addEventListener("keyup",this.Ot)});i.prototype.clear=function(){this.K=B;this.oc=this.h=r;document.removeEventListener("keydown",this.UR);document.removeEventListener("keyup",
this.Ot)};i.prototype.vd=function(a){if(this.K!=a)(this.K=a)&&this.qV()};var f=[e.Aq,e.lq,e.Ha,e.Va,e.qs,e.MZ];i.prototype.UR=function(a){var b=a.which,c=B;if(!this.Sh[b]&&f.indexOf(b)>=0){if(!this.lM&&!this.kM)this.lM=setTimeout(this.rHa.bind(this),100);c=this.Sh[b]=m}if(this.Ci!=a.shiftKey){this.Ci=a.shiftKey;c=m}c&&this.qV()};i.prototype.rHa=function(){this.kM=m;this.qV()};i.prototype.Ot=function(a){var b=a.which,c=B;if(b in this.Sh){delete this.Sh[b];c=B;for(b in this.Sh)this.Sh[b]&&(c=m);if(!c){this.lM&&
clearTimeout(this.lM);this.lM=r;this.kM=B}c=m}if(this.Ci!=a.shiftKey){this.Ci=a.shiftKey;c=m}c&&this.qV()};i.prototype.qV=function(){if(this.K){var a=this.oc.get("arrowKeysAction");if(a!="none"){var a=a=="rotate",b=[];this.Sh[e.qs]?b.push(c.Rs):this.Sh[e.MZ]&&b.push(c.Ss);this.kM&&(this.Sh[e.qs]||this.Sh[e.MZ])&&b.push(c.lda);this.Sh[e.Ha]?b.push(c.kD):this.Sh[e.Va]&&b.push(c.lD);if(a||this.Ci)this.Sh[e.Aq]?b.push(c.mD):this.Sh[e.lq]&&b.push(c.jD);this.kM&&(this.Sh[e.Ha]||this.Sh[e.Va]||this.Sh[e.Aq]||
this.Sh[e.lq])&&b.push(c.Kca);b.length==0&&b.push(c.$f);this.trigger(new d(i.OY,{Bta:b}))}}};i.OY="movementsChange";return i});
define("mc",["require"],function(){function a(){this.sz=m;this.reset()}function b(a,b){var g=0.5*(b-a);0.01>Math.abs(g)&&(g=0);return b-g}a.prototype.reset=function(){this.sz&&(this.sz=B,this.bV=this.cV=this.Eu=this.Fm=this.aE=this.dE=this.bE=this.tw=l)};a.prototype.moveTo=function(a,b,g,c,i){this.Fm=a;this.Eu=b;this.cV=g;this.bV=c;this.c3=i;this.sz=m};a.prototype.gb=function(a,b,g,c){this.tw=a;this.bE=b;this.dE=g;this.aE=c};a.prototype.Vp=S("tw");a.prototype.Up=S("bE");a.prototype.ny=S("dE");a.prototype.eC=
S("aE");a.prototype.He=S("sz");a.prototype.ub=function(){if(this.sz)if(this.c3)this.tw=this.Fm,this.bE=this.Eu,this.dE=this.cV,this.aE=this.bV,this.sz=B;else{for(var a=this.tw,d=this.Fm-180,g=this.Fm+180;a<d;)a+=g-d;for(;a>g;)a-=g-d;this.tw=a;this.tw=b(this.tw,this.Fm);this.bE=b(this.bE,this.Eu);this.dE=b(this.dE,this.cV);this.aE=b(this.aE,this.bV);this.tw==this.Fm&&this.bE==this.Eu&&this.dE==this.cV&&this.aE==this.bV&&(this.sz=B)}};return a});
define("cq",["require","mN","lG","bu"],function(a){function b(){this.K=B;this.Lc=this.Qa=this.sa=0;this.ZR=l}var e=a("mN"),d=a("lG"),g=a("bu");b.prototype.vd=function(a){this.K!=a&&(this.K=a,this.ZR=l)};b.prototype.gb=function(a,b,c){this.sa=a;this.Qa=b;this.Lc=c};b.prototype.Vp=S("sa");b.prototype.Up=S("Qa");b.prototype.ny=S("Lc");b.prototype.He=T(m);b.prototype.ub=function(){var a=e.iba(g.Vr().orientation);this.sa+=this.ZR===l?0:a.Ka-this.ZR;this.ZR=a.Ka;this.Qa=a.pitch;this.Lc=a.Ie;this.Qa=i===
l?a.pitch:i;this.Lc=c===l?a.Ie:c};var c=d.Gi("debug")?d.xW("force_vr_roll"):l,i=d.Gi("debug")?d.xW("force_vr_pitch"):l;return b});
define("g","require,dZ,kL,nV,cu,fQ,cA,he,fe,dq,fa,mc,cq,ec,bu,bb".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("fQ"),i=a("cA"),f=a("he"),j=a("fe"),n=a("dq"),k=a("fa"),o=a("mc"),p=a("cq"),q=a("ec"),t=a("bu"),s=a("bb"),u=e.extend(c,function(a,b,e){c.call(this);this.h=a;this.oc=this.h.oc;this.W=b;this.nc=e;this.Dx=this.Jw=this.tJ=this.VT=this.K=B;this.Pb=new n;this.Cp=new o;this.Lc=this.Qa=this.sa=0;this.ya=90;this.yB=1;this.ph=l;this.C_=this.rI=5;this.cy=B;this.Wa=new k;this.Wa.bind(k.xs,
this.OK,this,m);this.Wa.bind(k.ro,this.kx,this,m);this.Wa.bind(k.eh,this.ip,this,m);this.Wa.bind(k.dh,this.hp,this,m);this.Gk=new f;this.Gk.bind(d.ra,this.Sja,this);this.Iw=B;this.lm=new j(this.h);this.lm.bind(j.OY,this.aka,this,m);this.Ir=new p;t.bind(d.ra,this.zn,this,m);this.zn()});u.prototype.clear=function(){this.Wa.unbind(k.xs,this.OK,this,m);this.Wa.unbind(k.ro,this.kx,this,m);this.Wa.unbind(k.eh,this.ip,this,m);this.Wa.unbind(k.dh,this.hp,this,m);this.Wa.pl();this.Wa=r;this.Gk.unbind(d.ra,
this.Sja,this);this.Gk=r;this.lm.unbind(j.OY,this.aka,this,m);this.lm.clear();this.lm=r;t.unbind(d.ra,this.zn,this,m);this.nc=this.W=this.Pb=r;this.lQ();this.h=this.oc=r};u.prototype.jv=function(a){this.Pb.reset();this.Cp.reset();this.Wa.jv(a);this.rI=a.get("automaticRotationSpeed");this.C_=a.get("automaticZoomSpeed")};u.prototype.xj=function(a){function c(d){return b(a).contains(d)}b.isArray(a)||(a=[a]);var d=0,e=0,f=0,g=B;if(!c(q.$f)){c(q.kD)?d=-this.rI:c(q.lD)&&(d=+this.rI);c(q.jD)?e=-this.rI:
c(q.mD)&&(e=+this.rI);c(q.Rs)?f=-this.C_:c(q.Ss)&&(f=+this.C_);c(q.Q)&&(g=m);c(q.lda)&&(f=f*2);if(c(q.Kca)){d=d*10;e=e*10}d=d*this.yB;e=e*this.yB}this.xc(d,e,0,f,0,0,0,0,g,m,m,m)};u.prototype.gb=function(a,b,c,d){this.sa=a;this.Qa=b;this.Lc=c;this.ya=d;this.yB=this.ya/90;this.Gk.gb(this.sa,this.Qa,this.Lc);this.Ir.gb(this.sa,this.Qa,this.Lc);this.Wa.DC(this.ya);this.Cp.gb(this.sa,this.Qa,this.Lc,this.ya)};u.prototype.moveTo=function(a,b,c,d,e){this.Cp.moveTo(a,b,c,this.nc.lra(d),e);this.VT=B;this.Pb.reset();
this.Dh()};u.prototype.Naa=function(a,b,c){this.xc(0,0,0,0,a,b,c,0,B,B,B)};u.prototype.He=function(){return this.K&&(this.Dx||this.cY())?m:B};u.prototype.pOa=function(){this.Dx=this.cy=B};u.prototype.cY=function(){return this.K?this.cy?m:this.Ir.K?this.Ir.He()||this.Pb.He():this.Gk.K?this.Iw?m:this.Gk.He()||this.Pb.He():this.Pb.He()||this.Cp.He():B};u.prototype.ub=function(a){this.cy=B;this.Pb.ub(a);this.Dx=B;var b,c,d;d=this.ya;if(this.Ir.K){this.Ir.ub(a);a=this.Ir.Vp()+this.Pb.rw;b=this.Ir.Up();
c=this.Ir.ny()}else if(this.Cp.He()){this.Cp.ub(a);a=this.Cp.Vp();b=this.Cp.Up();c=this.Cp.ny();d=this.Cp.eC()}else{if(this.Gk.K){this.Iw=B;this.Gk.ub(a);a=this.Gk.Vp()+this.Pb.rw;b=this.Gk.Up();this.tJ&&(b=b+this.Pb.$D);c=this.Gk.ny()}else{a=this.sa+this.Pb.rw;b=this.Qa+this.Pb.$D;c=0}d=d+this.Pb.Mfa}this.nc.eo(d);this.W.gb(a,b,c,this.nc.lg(),this.nc.Tu());this.sa=this.W.Oc();this.Qa=this.W.Hc();this.Lc=this.W.rf();this.ya=this.W.Vu();if(this.VT&&this.W.isa()){d=this.Pb.kN;if(this.W.hsa()||this.W.jsa())d=
-d;a=this.Pb.pL;if(this.W.ksa()||this.W.gsa())a=-a;this.xc(d,a,0,0,0,0,0,0,m,B,B,m)}};u.prototype.Vp=S("sa");u.prototype.Up=S("Qa");u.prototype.ny=S("Lc");u.prototype.eC=S("ya");u.prototype.vd=function(a){if(this.K!=a){if(this.K=a){this.Ox(this.Wa.JA==i.us?s.cz:l);this.Wa.fs(this.h.getParent());this.Dh()}else{this.lQ();this.Wa.pl()}this.n8()}};u.prototype.uO=function(a){if(this.Jw!=a){this.Jw=a;this.n8();this.Iw=m}};u.prototype.wy=function(a){this.lm.vd(a)};u.prototype.n8=function(){this.Gk.vd(this.K&&
this.Jw&&!t.isPresenting());this.Ir.vd(this.K&&t.isPresenting())};u.prototype.Sja=function(){this.Dh()};u.prototype.vO=function(a){this.tJ=a;this.Gk.yTa(this.tJ)};u.prototype.yy=function(a){this.Wa.yy(a);this.Ox(this.Wa.JA==i.us?s.cz:l)};u.prototype.HC=function(a){this.Wa.HC(a)};u.prototype.zn=function(){this.n8();this.Dh()};u.prototype.OK=function(a){var b=!this.Ir.K&&(!this.Gk.K||this.tJ);if(this.Wa.JA==i.Oy){var c=l;if(a.sv!=0||a.cv!=0){var d=Math.sqrt(a.cv*a.cv+a.sv*a.sv)>25,e=Math.atan2(a.cv,
a.sv)*180/Math.PI;e>=-22.5&&e<22.5?c=d?s.fca:s.eca:e>=22.5&&e<67.5?c=d?s.hca:s.oca:e>=67.5&&e<112.5?c=d?s.gca:s.nca:e>=112.5&&e<157.5?c=d?s.ica:s.pca:e>=157.5||e<-157.5?c=d?s.mca:s.tca:e>=-157.5&&e<-112.5?c=d?s.lca:s.sca:e>=-112.5&&e<-67.5?c=d?s.jca:s.qca:e>=-67.5&&e<-22.5&&(c=d?s.kca:s.rca)}this.Ox(c);this.xc(a.sv,a.cv,0,0,a.LH,a.pH,0,0,B,B,B,b)}else this.xc(a.sv,a.cv,0,0,a.LH,a.pH,0,0,B,B,b,b)};u.prototype.kx=function(a){this.xc(0,0,0,a.iQa,0,0,0,a.k$,B,m,B,m)};u.prototype.xc=function(a,b,c,d,e,
f,g,j,i,k,n,o){var q=B;this.oc.get("rotationEnabled")&&(q=this.Pb.Maa(a,b,c,e,f,g,k,n,o)||q);this.oc.get("zoomEnabled")&&(q=this.Pb.CTa(d,j)||q);if(q){this.Cp.reset();this.VT=i;this.Dh()}};u.prototype.Dh=function(){this.Dx=m;this.trigger(new g(u.bh))};u.prototype.ip=function(){this.cy=m;this.trigger(new g(u.eh));this.Wa.JA==i.us&&this.Ox(s.uk)};u.prototype.hp=function(){this.trigger(new g(u.dh));this.Wa.JA==i.us&&this.Ox(s.cz)};u.prototype.aka=function(a){this.xj(a.data.Bta);a.data.Bta.indexOf(q.$f)<
0&&this.h.tb().trigger(new g(d.$C,{IO:a}))};u.prototype.Ox=function(a){if(this.ph!=a&&this.K){this.ph&&this.h.qH(this.ph);(this.ph=a)&&this.h.sX(this.ph)}};u.prototype.lQ=function(){if(this.ph){this.h.qH(this.ph);this.ph=l}};u.bh="position change request";u.eh="user interaction start";u.dh="user interaction end";return u});define("mk",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("TargetRotationalCameraMovement",b,function(){b.call(this)})});
define("P","require,kL,nV,kn,cu,fQ,mR,gs,mk,nz,bD".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("kn"),g=a("cu"),c=a("fQ"),i=a("mR");a("gs");a("mk");var f=a("nz"),j=a("bD"),n=b.extend(c,function(a,b,d){c.call(this);this.h=a;this.W=b;this.nc=d;this.KF=this.Fa=r;this.zx=this.vm=B;this.Uj=l;this.ZE=[];this.lB=0;this.N=r;this.Qa=this.sa=0;this.ya=90});n.prototype.clear=function(){this.end();this.W=this.h=r};n.prototype.start=function(a){this.lKa(a);this.THa();this.zx=B;this.mQ();this.vm=B;this.Dh();
this.lj()};n.prototype.end=function(){if(this.Fa!=r){this.jfa();this.vm=this.zx=B;this.N=r;this.lj()}};n.prototype.jRa=function(){if(this.Fa&&this.Fa.get("restartMovementOnUserInteraction")){if(!this.vm){this.rM();this.m7();this.N=r;this.vm=m;this.lj()}}else{this.N=r;this.pause()}};n.prototype.mRa=function(){if(this.vm){this.vm=B;this.via()||this.h7()}};n.prototype.lKa=function(a){this.jfa();this.Fa=a;this.Fa.bind(e.gz,this.$ka,this,m);this.Fa.bind(e.lP,this.Zka,this,m);this.Fa.bind(e.u("movementIndex"),
this.UA,this,m);this.ZE=this.Fa.get("movements",[])};n.prototype.jfa=function(){this.m7();if(this.Fa!=r){this.Fa.unbind(e.gz,this.$ka,this);this.Fa.unbind(e.lP,this.Zka,this);this.Fa.unbind(e.u("movementIndex"),this.UA,this);this.Fa.set("movementIndex",-1);this.Fa=r;this.ZE=[]}};n.prototype.vj=function(){return this.Fa?this.zx?d.Db:d.Q:d.M};n.prototype.gb=function(a,b,c,d){this.sa=a;this.Qa=b;this.ya=d};n.prototype.He=function(){return this.Fa&&this.N&&!this.zx&&!this.vm&&!this.via()?m:B};n.prototype.ub=
function(a){if(this.He()){this.N.ub(a);a=this.N.fb("hfov");if(this.nc.Ksa()){var b=this.N.R9("hfov");b.from=this.nc.aW(b.from);b.Dy=this.nc.aW(b.Dy);a=this.nc.aW(a)}this.W.gb(this.N.fb("yaw"),this.N.fb("pitch"),0,a,this.nc.Tu());this.sa=this.W.Oc();this.Qa=this.W.Hc();this.ya=this.W.Vu();this.N.Se()&&this.WGa()}};n.prototype.Vp=S("sa");n.prototype.Up=S("Qa");n.prototype.eC=S("ya");n.prototype.play=function(){if(this.zx){this.zx=B;this.N||this.UA();this.mQ();this.Dh();this.lj()}};n.prototype.pause=
function(){if(!this.zx){this.zx=m;this.rM();this.lj()}};n.prototype.$ka=function(){this.play()};n.prototype.Zka=function(){this.pause()};n.prototype.THa=function(){this.lB=0;var a=this.Fa.get("movementIndex",-1);a==-1&&(a=0);this.IT(a)};n.prototype.VHa=function(){this.lB++;var a=this.Fa.get("repeat",1);if(this.ZE.length>0&&(a==0||this.lB<a))this.IT(0);else{this.Fa.trigger(new g(e.hb));this.end();this.bMa()}};n.prototype.UHa=function(){this.IT(this.Fa.get("movementIndex",0)+1)};n.prototype.IT=function(a){if(a<
this.ZE.length)this.Fa.get("movementIndex")!=a?this.Fa.set("movementIndex",a):this.UA();else{this.Fa.trigger(new g(e.uq));this.VHa()}};n.prototype.UA=function(){var a=this.Fa.get("movementIndex");this.N=a>=0?this.mw(this.ZE[a]):r};n.prototype.WGa=function(){this.ZE[this.Fa.get("movementIndex")].trigger(new g(e.hb));this.UHa()};n.prototype.via=function(){return this.KF!=r};n.prototype.h7=function(){this.m7();var a=this,b=this.Fa.get("restartMovementDelay")||0;this.KF=setTimeout(function(){a.KF=r;a.lHa()},
b);this.lj()};n.prototype.m7=function(){if(this.KF){clearTimeout(this.KF);this.KF=r}};n.prototype.lHa=function(){this.IT(this.Fa.get("movementIndex"));this.Dh();this.lj()};n.prototype.mw=function(a){var b,c,d,e=this.Zj(this.sa,-180,180),g=this.Qa,n=this.ya;if(i.va("TargetRotationalCameraMovement",a)){b=a.get("targetYaw",e);c=a.get("targetPitch",g);if(d=a.get("targetHfov")){this.nc.Xua(d);d=this.nc.lg()}else d=n;this.W.gb(b,c,0,d,this.nc.Tu());if(this.W.YA)b=this.W.Oc();else switch(this.C1(a)){case "left":b=
this.Zj(b,e-360,e);break;case "right":b=this.Zj(b,e,e+360);break;case "longest":b=this.Zj(b,e-180,e+180);b=b>=e?this.Zj(b,e-360,e):this.Zj(b,e,e+360);break;default:b=this.Zj(b,e-180,e+180)}}else if(i.va("DistanceRotationalCameraMovement",a)){b=e+a.get("yawDelta",0);this.W.YA&&(b=Math.min(Math.max(-180,b),180));c=g+a.get("pitchDelta",0);d=n+a.get("hfovDelta",0);this.W.gb(b,c,0,d,this.nc.Tu());this.W.YA&&(b=this.W.Oc())}c=this.W.Hc();d=this.W.Vu();return new f(a.get("easing"),[new j("yaw",e,b,a.get("yawSpeed")),
new j("pitch",g,c,a.get("pitchSpeed")),new j("hfov",n,d,a.get("hfovSpeed"))],a.get("duration"))};n.prototype.mQ=function(){this.Uj=l};n.prototype.rM=function(){if(this.N){this.Uj=l;var a=this.N&&this.N.R9("yaw");if(a)if(a.Dy>a.from)this.Uj="right";else if(a.Dy<a.from)this.Uj="left"}};n.prototype.C1=function(a){a=a.get("path");if(a=="longest"&&this.Uj)a=this.Uj;this.Uj=l;return a};n.prototype.Zj=function(a,b,c){for(;a<b;)a=a+(c-b);for(;a>c;)a=a-(c-b);return a};n.prototype.Dh=function(){this.trigger(new g(n.bh))};
n.prototype.bMa=function(){this.trigger(new g(n.aZ))};n.prototype.lj=function(){this.trigger(new g(n.mc))};n.bh="position change request";n.aZ="sequence end";n.mc="playback state change";return n});
define("br","require,dZ,kL,nV,cu,fQ,hW,gK,g,P,ec,bu,kn".split(","),function(a){a("dZ");var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("hW"),i=a("gK"),f=a("g"),j=a("P"),n=a("ec"),k=a("bu"),o=a("kn"),p=b.extend(g,function(a,b){g.call(this);this.h=a;this.h.bind(e.uc,this.Sb,this);k.bind(e.ra,this.zn,this,m);this.nc=b;this.p6=B;this.ya=this.Lc=this.Qa=this.sa=l;this.Mr=this.Lr=this.rK=this.uK=this.tK=this.sK=B;this.Em=m;this.EE=this.op=0;this.K=B;this.jm=r;this.AJ=5E3;this.Vi=this.uh=r;this.sr=[];this.di=
this.Wv=o.M;this.W=new c(a);this.Jb=new f(this.h,this.W,this.nc);this.Jb.bind(f.bh,this.ep,this,m);this.Jb.bind(f.eh,this.ip,this,m);this.Jb.bind(f.dh,this.hp,this,m);this.im=new i(this.h,this.W,this.nc);this.im.bind(i.bh,this.ep,this,m);this.Ee=new j(this.h,this.W,this.nc);this.Ee.bind(j.bh,this.ep,this,m);this.Ee.bind(j.aZ,this.px,this,m);this.Ee.bind(j.mc,this.ala,this,m)});p.prototype.clear=function(){this.dk();this.Jb.unbind(f.bh,this.ep,this);this.Jb.unbind(f.eh,this.ip,this,m);this.Jb.unbind(f.dh,
this.hp,this,m);this.Jb.clear();this.Jb=r;this.im.unbind(i.bh,this.ep,this,m);this.im.clear();this.im=r;this.Ee.unbind(j.bh,this.ep,this);this.Ee.unbind(j.aZ,this.px,this);this.Ee.unbind(j.mc,this.ala,this);this.Ee.clear();this.W=this.Ee=r;this.h.unbind(e.uc,this.Sb,this);k.unbind(e.ra,this.zn,this,m);this.h=r;if(this.na){this.na.unbind(e.u("sequences"),this.qx,this,m);this.na=r}this.CU([])};p.prototype.end=function(){this.Wv=o.M;this.dk();this.Jb.vd(B);this.im.vd(B);this.Ee.end();this.K=B;this.wu(0,
0,0,0);this.Vi=this.uh=r;if(this.na){this.na.unbind(e.u("sequences"),this.qx,this,m);this.na=r}this.CU([]);this.FB()};p.prototype.start=function(a,b){this.Wv=o.Q;this.K=m;this.wu(0,0,0,0);this.ZL(a);this.G6(b);this.gma();this.SU(this.Vi);this.im.vd(m);this.FB()};p.prototype.vj=S("di");p.prototype.play=function(a){this.Wv=o.Q;this.Ee.vj()==o.Db?this.Ee.play():this.Ee.vj()==o.M&&(!a&&this.Vi?this.SU(this.Vi):this.LE()||this.Bp());this.FB()};p.prototype.resume=function(){if(this.Wv==o.Db){this.Jb.pOa();
this.play(m)}};p.prototype.pause=function(){this.Jb.xj(n.$f);if(this.Wv==o.Q){this.Wv=o.Db;if(this.Ee.vj()==o.Q){this.Ee.pause();this.FB()}else this.LE()&&this.dk()}};p.prototype.stop=function(){this.Wv=o.M;this.Ee.vj()!=o.M&&this.Ee.end();this.Jb.xj(n.$f);this.FB();this.LE()&&this.dk()};p.prototype.moveTo=function(a,b,c,d,e){this.Jb.moveTo(a,b,c,d,e)};p.prototype.CU=function(a){this.sr.forEach(function(a){a.unbind(e.gz,this.Rma,this,m)}.bind(this));this.sr=a;this.sr.forEach(function(a){a.bind(e.gz,
this.Rma,this,m)}.bind(this))};p.prototype.zn=function(){this.W.CX(k.isPresenting())};p.prototype.xj=function(a){this.Jb.xj(a)};p.prototype.Naa=function(a,b,c){this.Jb.Naa(a,b,c)};p.prototype.uO=function(a){if(this.Jw!=a){this.Jw=a;this.Jb.uO(this.Jw);this.Ba()}};p.prototype.vO=function(a){this.Jb.vO(a)};p.prototype.yy=function(a){this.Jb.yy(a)};p.prototype.HC=function(a){this.Jb.HC(a)};p.prototype.wy=function(a){this.Jb.wy(a)};p.prototype.fv=function(a){if(this.K)if(this.Jb.He()||k.isPresenting()||
this.Jw&&(this.Jb.K||!this.Jb.tJ)){this.Jb.cY()&&this.Ee.jRa();this.Jb.ub(a);this.fl(this.Jb.Vp(),this.Jb.Up(),this.Jb.ny(),this.Jb.eC());this.Ba()}else if(this.Ee.vm){this.Ee.mRa();this.Ba()}else if(this.Ee.He()){this.Ee.ub(a);this.fl(this.Ee.Vp(),this.Ee.Up(),0,this.Ee.eC());this.Ba()}else if(this.im.He()){this.im.ub(a);this.fl(this.im.Vp(),this.im.Up(),0,this.im.eC());this.Ba()}else if(this.p6){this.p6=B;this.nc.eo(this.h.lg());this.W.gb(this.h.Oc(),this.h.Hc(),this.h.rf(),this.nc.lg(),this.nc.Tu());
this.fl(this.W.Oc(),this.W.Hc(),this.W.rf(),this.W.Vu());this.Ba()}else{this.wu(0,0,0,0);this.Wv==o.Q&&this.Ee.vj()!=o.Q&&(this.LE()||this.Bp())}};p.prototype.gd=function(){this.VMa();this.gma()};p.prototype.VMa=function(){var a=this.h.Oc()-this.sa||0,b=this.h.Hc()-this.Qa||0,c=this.h.rf()-this.Lc||0;this.wu(a,b,c,this.h.lg()-this.ya||0)};p.prototype.gma=function(){this.sa=this.h.Oc();this.Qa=this.h.Hc();this.Lc=this.h.rf();this.ya=this.h.lg();this.Jb.gb(this.sa,this.Qa,this.Lc,this.ya);this.Ee.gb(this.sa,
this.Qa,this.Lc,this.ya);this.im.gb(this.sa,this.Qa,this.Lc,this.ya)};p.prototype.ZL=function(a){this.W.ki(a)};p.prototype.G6=function(a){this.na=a;this.AJ=a.get("timeToIdle",5E3);this.uh=a.get("idleSequence");this.Vi=a.get("initialSequence");this.Jb.jv(a);this.im.jv(a);a.bind(e.u("sequences"),this.qx,this,m);this.CU(a.get("sequences",[]))};p.prototype.qx=function(){this.CU(this.na.get("sequences",[]))};p.prototype.Rma=function(a){this.SU(a.source)};p.prototype.ep=function(){this.dk();this.Ba()};
p.prototype.ip=function(){this.trigger(new d(p.eh))};p.prototype.hp=function(){this.trigger(new d(p.dh))};p.prototype.SU=function(a){if(a){this.Jb.vd(!a.get("mandatory",B));this.Ee.start(a)}else this.px()};p.prototype.px=function(){this.Jb.vd(m);this.Bp()};p.prototype.ala=function(){this.FB()};p.prototype.Sb=function(){this.p6=m;this.Ba()};p.prototype.LE=function(){return this.jm!=r};p.prototype.Bp=function(){this.dk();var a=this;this.jm=setTimeout(function(){a.jm=r;a.DK()},this.AJ)};p.prototype.dk=
function(){if(this.jm){clearTimeout(this.jm);this.jm=r}};p.prototype.DK=function(){this.SU(this.uh)};p.prototype.Ba=function(){this.trigger(new d(p.ob))};p.prototype.fl=function(a,b,c,d){this.h.gb(a,b,c,d)};p.prototype.wu=function(a,b,c,e){var c=B,f=Math.abs(a)<0.001&&Math.abs(b)<0.001&&Math.abs(e)<0.001;if(f||this.Jw){c=this.Em!=m;this.Mr=this.Lr=this.rK=this.uK=this.tK=this.sK=B;this.Em=m}else{if(this.sK!=a<-0.001){this.sK=!this.sK;c=m}if(this.tK!=a>0.001){this.tK=!this.tK;c=m}if(this.rK!=b<-0.001){this.rK=
!this.rK;c=m}if(this.uK!=b>0.001){this.uK=!this.uK;c=m}if(this.Lr!=e<-0.001){this.Lr=!this.Lr;c=m}if(this.Mr!=e>0.001){this.Mr=!this.Mr;c=m}if(this.Em!=f){this.Em=!this.Em;c=m}}f||this.trigger(new d(p.mo,{yaw:this.sa,pitch:this.Qa,roll:this.Lc,hfov:this.ya}));if(c){(this.K||this.Em)&&this.trigger(new d(p.Aj,{movingLeft:this.sK,movingRight:this.tK,movingUp:this.uK,movingDown:this.rK,zoomingIn:this.Lr,zoomingOut:this.Mr,stopped:this.Em}));this.FB()}};p.prototype.FB=function(){var a;if(this.K){a=this.Ee.vj();
if(!this.Em)a=o.Q}else a=o.M;if(this.di!=a){this.di=a;this.trigger(new d(p.mc,{state:this.di}))}};p.ob="request frame";p.Aj="movement change";p.mo="position change";p.mc="playback state change";p.eh="user interaction start";p.dh="user interaction end";return p});
define("gr","require,nV,hW,u,hl,lG,bu,mN".split(","),function(a){function b(a,c,d){this.h=a;this.nc=c;this.Xx=d;this.W=new e(a);d.Hg&&this.W.ki(d.Hg);this.tu=new e(a);this.QE=this.Pt=l;this.sa=this.h.Oc();this.Qa=this.h.Hc();this.Lc=this.h.rf();this.ya=this.Xx.Hg?this.h.lg():b.Bba;this.Xna=0;this.$=r;this.Cia=m}a("nV");var e=a("hW");a("u");var d=a("hl"),g=a("lG"),c=a("bu"),i=a("mN");b.prototype.ki=function(a){if(this.$!=a){this.xx=m;this.$=a}};b.prototype.lv=function(a,b){this.sa=a;this.Qa=b};b.prototype.TB=
function(a){this.nc.Xua(a);return this.nc.lg()};b.prototype.eo=R("ya");b.prototype.zO=R("Cia");b.prototype.GC=R("Xna");b.prototype.fv=function(){if(this.nc.Ksa())this.ya=this.nc.aW(this.ya);if(this.Xx.Tb()){var a=c.Vr().orientation,a=i.iba(a);this.sa=this.sa+(this.Pt===l?0:a.Ka-this.Pt);this.Pt=a.Ka;this.Qa=a.pitch;this.Lc=a.Ie;this.Qa=j===l?a.pitch:j;this.Lc=f===l?a.Ie:f}else if(this.Xx.asa()){var a=d.Xr(),b=this.mB(a.yaw,this.sa);this.sa=this.sa+(this.Pt===l?0:b-this.Pt);this.Qa=this.Qa+(this.QE===
l?0:a.pitch-this.QE);this.Lc=a.roll;this.Pt=a.yaw;this.QE=a.pitch}else{a=this.mB(this.h.Oc(),this.sa);b=this.h.Hc();this.sa=this.sa+(this.Pt===l?0:a-this.Pt);this.Qa=this.Qa+(this.QE===l?0:b-this.QE);this.Lc=this.h.rf()}this.xx&&this.W.ki(this.$);this.W.CX(c.isPresenting());this.W.gb(this.sa,this.Qa,this.Lc,this.ya,this.nc.Tu());if(this.xx){this.xx=B;if(this.Xx&&this.Xx.Hg)if(a=this.h.jf(this.Xx.Hg)){a.set("deltaYaw",this.h.Oc()-this.W.Oc());a.set("deltaPitch",this.h.Hc()-this.W.Hc());a.set("deltaRoll",
this.h.rf()-this.W.rf())}}this.sa=this.W.Oc();this.Qa=this.W.Hc();this.Lc=this.W.rf();if(!this.Xx.Tb()&&!this.Xx.asa()){this.Pt=this.sa;this.QE=this.Qa}this.ya=this.Cia?this.W.Vu():this.ya;this.h.gb(this.sa,this.Qa,this.Lc,this.ya);this.h.GC(this.Xna)};b.prototype.zX=function(a,b){this.tu.ki(a);this.tu.gb(0,0,0,b,this.nc.Tu());return this.tu.Vu()};b.prototype.QRa=function(a,b){this.tu.ki(a);this.tu.gb(b.Ka,b.pitch,b.Ie,b.ve,this.nc.Tu());b.Ka=this.tu.Oc();b.pitch=this.tu.Hc();b.Ie=this.tu.rf();b.ve=
this.tu.Vu()};b.prototype.mB=function(a,b){for(;a+180<b;)a=a+360;for(;a-180>b;)a=a-360;return a};b.prototype.Oqa=function(){return b.Bba};b.Bba=TDV.Ica.Cwa;var f=g.Gi("debug")?g.xW("force_vr_roll"):l,j=g.Gi("debug")?g.xW("force_vr_pitch"):l;return b});
define("or",["require","gm","lB","u","bu"],function(a){function b(a,c,j,n,k){this.h=a;this.yl=c;a=this.h.J;this.MO=a.get("transitionMode","blending");c=a.get("transitionDuration",500);this.bFa(j,n)&&(this.MO=b.fP,c=1500);this.GG=a.get("blendingTransitionDuration",c);this.QOa=a.get("firstTransitionDuration",c);this.Sqa=a.get("disolveTransitionDuration",c);this.Vva=a.get("translationTransitionDuration",1E3);a.get("translationTransitionSpeed");this.Wva=a.get("translationTransitionEnabled",m);this.Pta=
a.get("originTransitionDuration",3E3);this.eY=1E3;this.Hg=j;this.GTa=!j||j.v$();this.HTa=!j||j.Csa();this.sc=n;this.Bva=!n||n.v$();this.cba=!n||n.Csa();this.UTa=!!n&&this.v3(n);c=(this.IC=k)&&k.get("initialPosition")||new e;this.og=new e;this.og.set("yaw",c.get("yaw",0));this.og.set("pitch",c.get("pitch"));this.og.set("hfov",c.get("hfov"));this.gf=new d;this.gf.set("yaw",this.og.get("yaw"));this.gf.set("pitch",this.og.get("pitch"));this.gf.set("hfov",this.og.get("hfov"));this.gf.set("stereographicFactor",
0);this.Wn=[];if(!j){this.Wn=k&&k.get("displayMovements")||[];for(c=this.Wn.length-1;0<=c;c--)this.gf.set("yaw",this.gf.get("yaw",this.Wn[c].get("targetYaw"))),this.gf.set("pitch",this.gf.get("pitch",this.Wn[c].get("targetPitch"))),this.gf.set("hfov",this.gf.get("hfov",this.Wn[c].get("targethfov"))),this.gf.set("stereographicFactor",this.gf.get("stereographicFactor",this.Wn[c].get("stereographicFactor")));k=k&&k.get("displayOriginPosition")||this.og;this.gf.set("yaw",k.get("yaw"));this.gf.set("pitch",
k.get("pitch"));this.gf.set("hfov",k.get("hfov"));this.gf.set("stereographicFactor",k.get("stereographicFactor"))}this.GH=this.MO==b.Um&&this.Wva&&this.Bva&&this.GEa(j,n)||r;var o=this.MO==b.Um&&this.sc&&this.Bva&&this.yl&&this.sc.get("modelLocations")||[],k=this.MO==b.Um&&this.Hg&&this.GTa&&this.yl&&this.Hg.get("modelLocations")||[],p=[];k.forEach(function(a){o.forEach(function(b){a.get("model")==b.get("model")&&p.push([a,b])})});var q=this.yl&&this.yl.get("model");this.Yb=this.lc=r;1<p.length&&
this.yl&&(c=p.find(function(a){return a[0].get("model")==q}))&&(p=[c]);if((c=p.length?p[0]:r)&&(q&&c[0].get("model")==q||c[0].get("forceModelLoading")||c[1].get("forceModelLoading")))this.lc=c[0],this.Yb=c[1];else if(this.lc=k.find(function(a){return a.get("preferred")}),!this.lc&&!this.Yb&&(this.Yb=o.find(function(a){return a.get("preferred")})),[].concat(k,o).forEach(function(a){a.set("preferred",B)}),!this.lc&&!this.Yb&&(this.lc=k.find(function(a){return a.get("model")==q})),!this.lc&&!this.Yb&&
(this.Yb=o.find(function(a){return a.get("model")==q})),!this.lc&&!this.Yb&&(this.lc=k.find(function(a){return a.get("forceModelLoading")})),!this.lc&&!this.Yb)this.Yb=o.find(function(a){return a.get("forceModelLoading")});if((this.Yb||this.lc)&&a.get("translationTransitionSpeed")&&(this.Yb||this.lc).get("model").get("worldUnitToMeters"))this.Vva=a.get("translationTransitionSpeed")/(this.Yb||this.lc).get("model").get("worldUnitToMeters");this.ev=r;this.lva=g.Xd()==g.mi?512:1536;this.Cva=g.Xd()==g.mi?
512:1024;a=this.Tb();this.mode=!a&&this.lc&&this.Yb&&this.GH?b.KZ:!a&&this.lc&&this.Yb&&this.Wva?b.Yca:this.GH?b.Xca:!a&&!this.Hg&&this.Yb?b.JZ:!a&&!this.sc&&this.lc?b.Zca:j?n?"blending"==this.MO?b.Um:b.fP:b.Oba:b.Nba;if(this.mode==b.Um&&(!this.HTa||!this.cba))if(0<this.gf.get("stereographicFactor",0)||0<this.Wn.filter(function(a){return a.get("targetStereographicFactor",0)>0}).length)this.mode=b.fP;this.Tm=r}var e=a("gm"),d=a("lB"),g=a("u"),c=a("bu");b.prototype.asa=function(){return this.h.oc.get("gyroscopeEnabled")};
b.prototype.Tb=function(){return c.isPresenting()};b.prototype.GEa=function(a,b){if(!a||!b)return r;var c=(a.get("adjacentPanoramas")||[]).filter(function(a){return a.get("enabled")&&a.eOa()&&a.get("panorama")==b});return 0==c.length?r:c[0]};b.prototype.bFa=function(a,b){return this.Tb()&&g.Xd()==g.mi&&(this.v3(a)||this.v3(b))};b.prototype.v3=function(a){return!!a&&a.ul()};b.fP="fade_out_fade_in";b.Nba="fade_in";b.Oba="fade_out";b.Um="blending";b.Xca="translation";b.JZ="translation_from_model";b.KZ=
"translation_through_model";b.Yca="translation_to_from_model";b.Zca="translation_to_model";return b});define("eC",["require"],function(){function a(a,e,d,g){this.C=a;this.Eb=e;this.h=d;this.t=g}a.prototype.Eg=T(B);a.prototype.Xg=G();a.prototype.pC=T(B);return a});
define("lm",["require","kL","eC","nz","bD"],function(a){var b=a("kL"),e=a("eC"),d=a("nz"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.N){var b=this.h.jf(this.t.sc);b.qj();b.set("alpha",0.01);this.N=new d("linear",[new g("alpha",0,1,l)],this.t.GG)}this.N.ub(a);a=this.N.fb("alpha");b=this.h.jf(this.t.sc);b.set("alpha",a);this.N.Se()&&(this.rb=m)}};return a});
define("dH",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("ProjectedMaterialModel3DObject",e,function(){e.call(this)})});define("lx",["require","kL","eC"],function(a){var b=a("kL"),e=a("eC"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i);this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(){this.rb||(this.yi(),this.rb=m)};a.prototype.yi=G();return a});
define("cK",["require","kL","dH","lx"],function(a){var b=a("kL"),e=a("dH"),d=a("lx"),g=b.extend(d,function(a,b,e,g,n){d.call(this,a,b,e,g);this.Ah=n||3});g.prototype.yi=function(){var a=this.t.lc,b=this.t.Yb,d=this.t.ev=new e;this.Ah&1&&(d.set("sourceX",a.get("x")),d.set("sourceY",a.get("y")),d.set("sourceZ",a.get("z")),d.set("sourceYaw",a.get("yaw")),d.set("sourceFaces",this.Vea(this.t.Hg,this.t.lva)));this.Ah&2&&(d.set("targetX",b.get("x")),d.set("targetY",b.get("y")),d.set("targetZ",b.get("z")),
d.set("targetYaw",b.get("yaw")),d.set("targetFaces",this.Vea(this.t.sc,this.t.Cva)));a=(a||b).get("model");a.set("objects",a.get("objects").concat([this.t.ev]))};g.prototype.Vea=function(a,b){var d=this.h.jf(a),e=d.get("alpha");d.set("alpha",1);var g=this.h.qN(b);d.set("alpha",e);return g};g.Rca=b.extend(g,function(a,b,d,e){g.call(this,a,b,d,e,1)});g.eda=b.extend(g,function(a,b,d,e){g.call(this,a,b,d,e,2)});return g});
define("ld",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.t.yl.h.$ua(this.t.Yb.get("model"),B)};return a});define("kj",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.t.yl.h.$ua(this.t.lc.get("model"),m)};return a});
define("kY",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.t.sc&&!this.h.jf(this.t.sc)&&(this.Tg=this.h.create(this.t.sc),this.Tg.set("alpha",0),this.h.add(this.Tg))};return a});
define("oo",["require","kL","nV","cT","eC"],function(a){var b=a("kL"),e=a("nV"),d=a("cT"),g=a("eC"),a=b.extend(g,function(a,b,f,j){g.call(this,a,b,f,j);this.R=(this.t.lc||this.t.Yb).get("model");this.vp=B;this.R?(this.dx=this.t.yl,this.dx.get("model")!=this.R||!this.R.get("isLoaded")?(this.dx.set("model",this.R),this.R.bind(e.T,this.bu,this,m),this.dx.set("requesterPlayer",this.h.oc),this.dx.bind(d.Kg,this.Tk,this,m)):(this.bu(),this.Tk(),this.vp=m)):this.vp=m});a.prototype.Eg=S("vp");a.prototype.pC=
T(m);a.prototype.bu=function(){this.R.unbind(e.T,this.bu,this)};a.prototype.Tk=function(){this.dx.unbind(d.Kg,this.Tk,this,m);this.vp=m};return a});define("hm",["require","kL","lx","bC"],function(a){var b=a("kL"),e=a("lx"),d=a("bC"),a=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f)});a.prototype.yi=function(){this.t.UTa&&d.Ii(this.h.tb())};return a});
define("eU",["require","kL","eC","nz","bD"],function(a){var b=a("kL"),e=a("eC"),d=a("nz"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.N){var b;b=this.t.Yb&&this.t.Yb.get("targetFaces")?0.01*this.t.GG:this.t.Yb?0.5*this.t.GG:this.h.J.pUa()&&!this.t.Hg?this.t.QOa:this.t.GG;this.N=new d("linear",[new g("alpha",0.001,1,l)],b)}this.N.ub(a);a=this.N.fb("alpha");this.h.jf(this.t.sc).set("alpha",
a);this.N&&this.N.Se()&&(this.rb=m)}};return a});
define("iB",["require","kL","fQ","gZ"],function(a){var b=a("kL"),e=a("fQ"),d=a("gZ"),a=b.extend(e,function(){e.call(this);this.Z=this.qa=r;this.zd=[];this.ER=this.Df=B;this.xK=r;this.Oj=[this];this.O8={};this.Jq={};this.vJ=B;this.O5={};this.P5={};this.Bo(["blendingActive","globalBlendingActive"]);this.wya();this.set("alpha",1);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0);this.set("deltaYaw",0);this.set("deltaPitch",0);this.set("deltaRoll",0);this.set("flipHorizontally",
B);this.set("index",0)});a.prototype.wya=function(){var a="alpha,deltaYaw,deltaPitch,deltaRoll,translationX,translationY,translationZ".split(",");Array.isArray(a)||(a=[a]);a.forEach(function(a){this.O5[a]=m}.bind(this))};a.prototype.Bo=function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){this.P5[a]=m}.bind(this))};a.prototype.set=function(a,b){this.O8[a]!==b&&(this.P5[a]&&this.zd.forEach(function(d){d.set(a,b)}),this.bza(a,b),this.TL(a))};a.prototype.get=function(a){return this.O8[a]};a.prototype.TL=
function(a){this.Jq[a]||(this.Jq[a]=m,this.vJ||(this.vJ=m,this.ua()),this.O5[a]&&this.zd.forEach(function(b){b.TL(a)}))};a.prototype.DAa=function(){this.vJ&&(this.vJ=B,this.Jq={})};a.prototype.F=function(){if(this.vJ)for(var a=0;a<arguments.length;a++)if(this.Jq[arguments[a]])return m;return B};a.prototype.bza=function(a,b){this.O8[a]=b};a.prototype.zb=S("zd");a.prototype.Gg=function(a){for(var b=a||[],d=this.zd.slice(),a=b.length!=d.length,e=0;e<b.length&&!a;e++)a=b[e]!=d[e];a&&(a=d.filter(function(a){return-1==
b.indexOf(a)}),e=b.filter(function(a){return-1==d.indexOf(a)}),this.zd=b,a.forEach(function(a){a.yU(r)}),e.forEach(function(a){a.remove();a.yU(this)}.bind(this)),this.ua())};a.prototype.yU=function(a){this.Z!=a&&(this.Z&&this.Am(),(this.Z=a)&&this.Co(),this.N6(this.Z&&this.Z.qa))};a.prototype.Co=function(){for(var a in this.Z.O5)this.TL(a);for(a in this.Z.P5)this.set(a,this.Z.get(a))};a.prototype.Am=G();a.prototype.N6=function(a){this.qa!=a&&(a||this.Fb(),(this.qa=a)&&this.Ab(),this.zd.forEach(function(a){a.N6(this.qa)}.bind(this)))};
a.prototype.Ab=function(){this.Tya()};a.prototype.Fb=function(){this.BIa()};a.prototype.Tya=function(){this.Oj.forEach(function(a){this.qa.xK.add(a,this)}.bind(this))};a.prototype.BIa=function(){this.Oj.forEach(function(a){this.qa.xK.remove(a,this)}.bind(this))};a.prototype.qj=function(){this.Z&&this.Z.u9(this)};a.prototype.u9=function(a){var b=this.zd.indexOf(a);-1==b&&h("Child not found");b!=this.zd.length-1&&(this.zd.splice(b,1),this.zd.push(a),this.ua())};a.prototype.KOa=function(a){var b=this.zd.indexOf(a);
-1==b&&h("Child not found");this.zd.splice(b,1);a.yU(r);this.ua()};a.prototype.appendChild=function(a){a.remove();this.zd.push(a);a.yU(this);this.ua()};a.prototype.remove=function(){this.Z&&this.Z.KOa(this)};a.prototype.fo=G();a.prototype.ua=function(){this.Df||(this.Df=m,this.Z&&this.Z.ua(this))};a.prototype.JAa=function(){this.Df=B};a.prototype.k6=function(){this.ER||(this.ER=m,this.Z&&this.Z.k6())};a.prototype.GAa=function(){this.ER=B};a.prototype.V=function(){this.Voa();this.F("translationX",
"translationY","translationZ")&&(this.set("composedTranslationX",this.get("translationX")+(this.Z?this.Z.get("composedTranslationX"):0)),this.set("composedTranslationY",this.get("translationY")+(this.Z?this.Z.get("composedTranslationY"):0)),this.set("composedTranslationZ",this.get("translationZ")+(this.Z?this.Z.get("composedTranslationZ"):0)));this.F("deltaYaw","deltaPitch","deltaRoll")&&(this.set("composedDeltaYaw",this.get("deltaYaw")+(this.Z?this.Z.get("composedDeltaYaw"):0)),this.set("composedDeltaPitch",
this.get("deltaPitch")+(this.Z?this.Z.get("composedDeltaPitch"):0)),this.set("composedDeltaRoll",this.get("deltaRoll")+(this.Z?this.Z.get("composedDeltaRoll"):0)),d.Bsa())};a.prototype.Voa=function(){this.F("alpha")&&this.set("composedAlpha",this.get("alpha")*(this.Z?this.Z.get("composedAlpha"):1))};return a});
define("mS",["require","kI","gZ","u"],function(a){var b=a("kI"),e=a("gZ"),d=a("u"),g={c4:l,OSa:R("c4"),V0:l,hSa:R("V0"),createTexture:function(){var a=new THREE.Texture;a.image=g.WG();a.userData={};a.userData.Rva={};return a},oOa:function(a){a.image!=this.WG()&&(a.image=this.WG(),a.needsUpdate=m)},NC:function(a,b){b=this.UOa(b);a.generateMipmaps=this.kAa(b);if(a.generateMipmaps)a.minFilter=THREE.LinearMipMapLinearFilter,a.anisotropy=Math.min(this.iDa(b),d.Wra().rta),!e.Nsa(b.width)||!e.Nsa(b.height)?
(a.Zq||(a.Zq=document.createElement("canvas"),a.Zq.dV=m),a.image=a.Zq,a.Zq.Ea=b,a.image.width=e.Kra(b.width),a.image.height=e.Kra(b.height),a.image.getContext("2d").drawImage(b,0,0,a.image.width,a.image.height)):a.image=b;else if(a.minFilter=THREE.LinearFilter,e.iH(b)&&e.lwa(b)){a.To||(a.To=document.createElement("canvas"),a.uFa=a.To.getContext("2d"),a.To.dV=m);var f=b.videoWidth;e.Mm()&&(f=Math.min(4096,f));var j=f*b.videoHeight/b.videoWidth;if(a.To.width!=f||a.To.height!=j)a.To.width=f,a.To.height=
j;b.readyState>=b.HAVE_CURRENT_DATA&&a.uFa.drawImage(b,0,0,f,j);a.image=a.To}else a.image=b;a.Zq&&a.image!=a.Zq&&(g.fW(a.Zq),delete a.Zq);a.needsUpdate=m;if((f=g.h$(a))&&f.isShaderMaterial)f.needsUpdate=m;e.Bsa()},UOa:function(a){a?e.z$(a)?a=b.hf(a,B):e.Rsa(a)?a=this.WG():e.iH(a)&&!(a.readyState>=a.HAVE_CURRENT_DATA&&0<a.videoWidth&&0<a.videoHeight)&&(a=this.WG()):a=this.WG();return a},yOa:function(a,b,d,g,n){var k=document.createElement("canvas");k.width=e.Ps();k.height=e.Ps();k.dV=m;var o=k.getContext("2d");
if(!o)return r;o.drawImage(a,b,d,g,n,0,0,e.Ps(),e.Ps());this.lW(k);return k},fW:function(a){e.Dsa(a)&&a.dV&&(delete a.dV,a.width=0,a.height=0)},dispose:function(a){a.To&&a.To!=a.image&&this.fW(a.To);a.image&&this.fW(a.image);a.dispose()},bY:function(a,b,d){b?(a.ioa=m,a.hoa=d||1):(delete a.ioa,delete a.hoa)},iDa:function(a){return a&&a.hoa||1},pTa:function(a,b){a.userData.Rva.material=b},h$:function(a){return a.userData.Rva.material},bOa:function(a){return e.y$(a)},Nqa:function(a){e.z$(a)&&(a=b.hf(a,
B));e.y$(a)&&this.lW(a)},lW:function(a){var b=document.createElement("canvas");b.width=1;b.height=1;var d=b.getContext("2d");g.lW=function(a){d.drawImage(a,0,0,1,1,0,0,1,1)};return g.lW(a)},R0:r,WG:function(){if(!this.R0){var a=document.createElement("canvas");a.width=128;a.height=128;a.GFa=m;a.getContext("2d").clearRect(0,0,a.width,a.height);this.R0=a}return this.R0},kAa:function(a){if(e.OQa(a))return B;if(e.Dsa(a))return!!a.ioa;if(d.mb()){if(this.c4!==l)return this.c4}else if(this.V0!==l)return this.V0;
return B}};return g});
define("cp",["require","gZ","mS"],function(a){function b(a){this.OO=(a=e.qy(a))&&e.qsa();this.UN=a&&e.psa();this.iy=0;this.Nr=l;this.sN=this.tN=0;this.premultipliedAlpha=B;this.side=l;this.params={}}var e=a("gZ"),d=a("mS"),g={Y9:function(a){return a.map||a.uniforms&&a.uniforms.texture&&a.uniforms.texture.value},ky:function(a,b){a||(a=d.createTexture());b||(b=new g.Vm);var e;e=b.NRa()?this.vOa(a,b):this.z9(a);b.side&&(e.side=b.side);for(var j in b.params)e[j]=b.params[j];return e},z9:function(a){var b=
new THREE.MeshBasicMaterial;b.map=a;this.xz(b);return b},vOa:function(a,b){var d={uniforms:{},transparent:m};d.uniforms.texture={type:"sampler2D",value:a};a.flipY=!b.OO;d.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(b.OO?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(b.UN||b.iy||b.Nr||b.premultipliedAlpha){var e=[],g=[],e=e.concat(["uniform sampler2D texture;","uniform float opacity;","varying vec2 vUV;"]);
d.uniforms.opacity={type:"float",value:1};g=g.concat(["   vec4 color = texture2D(texture, vUV);","   float alpha = color.a * opacity;"]);b.premultipliedAlpha&&(g=g.concat(["   if (color.a > 0.0)","       color.rgb /= color.a;"]));if(b.iy){var k=a.image.width||a.image.videoWidth,o=a.image.height||a.image.videoHeight,p=0.5*Math.min(k,o)*b.iy;d.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(p/k,p/o)};e=e.concat(["uniform vec2 blendingLimit;"]);g=g.concat("   float xCoef = 0.0;,   float yCoef = 0.0;,   if (vUV.x < blendingLimit.x) {,      xCoef = 1.0 - (vUV.x / blendingLimit.x);,      xCoef = xCoef * xCoef;,   } else if ((1.0 - vUV.x) < blendingLimit.x) {,      xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);,      xCoef = xCoef * xCoef;,   },   if (vUV.y < blendingLimit.y) {,      yCoef = 1.0 - (vUV.y / blendingLimit.y);,      yCoef = yCoef * yCoef;,   } else if ((1.0 - vUV.y) < blendingLimit.y) {,      yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);,      yCoef = yCoef * yCoef;,   },   alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(","))}b.Nr&&
(d.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(b.Nr.substr(1,2),16)/255,parseInt(b.Nr.substr(3,2),16)/255,parseInt(b.Nr.substr(5,2),16)/255)},d.uniforms.chromaThreshold={type:"f",value:b.tN},d.uniforms.chromaSmoothing={type:"f",value:b.sN},e=e.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),g=g.concat("    float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{    float maskCr = 0.7132 * (chromaColor.r - maskY);{    float maskCb = 0.5647 * (chromaColor.b - maskY);{    float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{    float Cr = 0.7132 * (color.r - Y);{    float Cb = 0.5647 * (color.b - Y);{    float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{    alpha = alpha * chromaBlendValue;".split("{")));
g=g.concat(["\tgl_FragColor = vec4(color"+(b.UN?".bgr":".rgb")+", alpha);"]);a.format=THREE.RGBAFormat;d.fragmentShader=[].concat(e,["void main() {"],g,["}"]).join("\n")}else d.fragmentShader="uniform sampler2D texture;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(texture, vUV);\n}";d=new THREE.ShaderMaterial(d);this.xz(d);return d},dispose:function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){var b=g.Y9(a);b&&d.dispose(b);a.dispose()})},xz:function(a){a.side=THREE.FrontSide;
a.transparent=m;a.depthTest=B;a.needsUpdate=m;a.userData={};a.userData.mta={};d.pTa(g.Y9(a),a)},Faa:function(a,b){a.userData.mta.ao=b},Fra:function(a){return a.userData.mta.ao}};b.prototype.NRa=function(){return this.OO||this.UN||this.iy||this.Nr||this.premultipliedAlpha};b.prototype.isEqual=function(a){return this.OO===a.OO&&this.UN===a.UN&&this.iy===a.iy&&this.Nr===a.Nr&&this.tN===a.tN&&this.sN===a.sN&&this.premultipliedAlpha===a.premultipliedAlpha&&this.side===a.side};g.Vm=b;return g});
define("eg",["require","gz","cp"],function(a){function b(a){return Array.isArray(a)?a:a?[a]:[]}var e=a("gz"),d=a("cp"),g={create:function(a,e){var f=new THREE.Mesh(a,e);f.overdraw=B;f.matrixAutoUpdate=B;f.userData.av={};f.userData.av.attributes={};b(e).forEach(function(a){d.Faa(a,f)});return f},Iqa:function(a){var b=new THREE.Group;g.forEach(a,function(a){b.add(a)});return b},NSa:function(a,e){b(e).forEach(function(a){d.Faa(a,r)});d.dispose(a.material);a.material=e;b(e).forEach(function(b){d.Faa(b,
a)})},oy:function(a){return b(a.material)},uPa:function(a,b){if(a.layers.mask&b.layers.mask){var d=g.oy(a);return e.tPa(a.geometry,b,a.matrixWorld).map(function(a){return d[a]})}return[]},zaa:function(a,b){a.geometry=b},qPa:function(a,b){var f=[];g.rj(a,function(a){var c=g.oy(a);b.forEach(function(b){var g=e.pPa(a.geometry,a.matrixWorld,b);if(g){var i=d.Y9(c[g.materialIndex]),b=i.image;b==i.Zq&&(b=i.Zq.Ea);i=Math.round(g.awa*b.width-0.5);i=0>i?0:i>b.width-1?b.width-1:i;g=Math.round((1-g.hwa)*b.height-
0.5);g=0>g?0:g>b.height-1?b.height-1:g;f.push({x:i,y:g,source:b})}})});return f},CH:function(a,b){g.forEach(a,function(a){b?b.add(a):a.parent&&a.parent.remove(a)})},Gy:"panoramaId",PC:"panoramaFrameId",gY:"panoramaOverlayId",fY:"levelIndex",setAttribute:function(a,b,d){g.rj(a,function(a){a.userData.av.attributes[b]=d})},getAttribute:function(a,b){return a.userData.av.attributes[b]},cra:function(a,b,d){for(var e=[],g=0,k=a.length;g<k;g++){var o=a[g];o.userData.av.attributes[b]!==d&&e.push(o)}return e},
hW:function(a,b,d){for(var e=[],g=0,k=a.length;g<k;g++){var o=a[g];o.userData.av.attributes[b]===d&&e.push(o)}return e},Yra:function(a,b){for(var d={},e=0,g=a.length;e<g;e++){var k=a[e],o=k.userData.av.attributes[b];o!==l&&(d[o]||(d[o]=[])).push(k)}return d},sW:function(a){a=a.userData.av.alpha;return a===l?1:a},Ve:function(a,b){g.rj(a,function(a){a.userData.av.alpha=b;g.oy(a).forEach(function(a){a.opacity=b;"ShaderMaterial"==a.type&&a.uniforms&&a.uniforms.opacity&&(a.uniforms.opacity.value=b)})})},
Rp:function(a,b){g.rj(a,function(a){a.matrix.copy(b);a.matrixWorldNeedsUpdate=m})},Vra:function(a){return a.renderOrder},NX:function(a,b){g.forEach(a,function(a){a.renderOrder=b})},dispose:function(a){g.rj(a,function(a){a.geometry&&(e.dispose(a.geometry),a.geometry=l);a.material&&(d.dispose(a.material),a.material=l)})},mk:function(a){var b=[];g.rj(a,function(a){b.push(a)});return b},forEach:function(a,b){Array.isArray(a)?a.forEach(b):a&&a.isObject3D&&(a.isMesh||"Group"==a.type)&&b(a)},rj:function(a,
b){if(Array.isArray(a))for(var d=0,e=a.length;d<e;d++)g.rj(a[d],b);else if(a&&a.children){d=0;for(e=a.children.length;d<e;d++)g.rj(a.children[d],b)}a&&a.isObject3D&&a.isMesh&&b(a)}};return g});
define("V",["require","eg"],function(a){var b=a("eg");return{mk:function(a){var d=[];a.children&&a.children.forEach(function(a){b.rj(a,function(a){a.userData&&a.userData.av&&d.push(a)})});return d},uaa:function(a,b){a.userData.cameras=b},N9:function(a){return a.userData.cameras||[]},cC:function(a){return a.userData.cameras&&0<a.userData.cameras.length&&a.userData.cameras[0]||r}}});
define("oc","require,kL,nV,fQ,eg,V".split(","),function(a){function b(a,b){return a.reduce(function(a,c){return a?m:!!(b.layers.mask&c.layers.mask)},B)}function e(a){a=c(a).loaded;return a===l?B:a}function d(a){a=c(a).j9;return a===l?m:a}function g(a){a=c(a).blending;return a===l?B:a}function c(a){return a.userData.ZQa||(a.userData.ZQa={})}var i=a("kL"),f=a("nV"),j=a("fQ"),n=a("eg"),k=a("V"),a=i.extend(j,function(){j.call(this);this.o=l;this.Z3=B});a.prototype.update=function(a){var b=a.Tb&&this.o&&
!this.o.Tb;this.o=a.clone();this.Z3||(b?this.YEa():this.NMa())};a.prototype.NMa=function(){var a=B,c=k.N9(this.o.rg),j=k.mk(this.o.rg);n.hW(j,n.PC,l).forEach(function(e){var f=b(c,e)&&n.sW(e)>0&&d(e);if(e.visible!=f){e.visible=f;a=m}});var j=n.cra(j,n.PC,l),j=n.Yra(j,n.Gy),i;for(i in j){var s=j[i],u=c.map(T(B));s.sort(function(a,b){return n.Vra(b)-n.Vra(a)});var w=s.some(g);s.forEach(function(f){var g=b(c,f)&&n.sW(f)>0&&d(f)&&(!w||e(f));if(g){for(var g=m,j=w||e(f)&&n.sW(f)>0.999,i=0;i<c.length;i++)if(f.layers.mask&
c[i].layers.mask&&!u[i]){g=B;j&&(u[i]=m)}g=!g}if(f.visible!=g){f.visible=g;a=m}})}a&&this.trigger(f.ra)};a.prototype.YEa=function(){this.Z3=m;k.mk(this.o.rg).forEach(function(a){a.visible=B});setTimeout(function(){this.Z3=B;this.update(this.o)}.bind(this),300);this.trigger(f.ra)};a.Daa=function(a,b){c(a).loaded=b};a.setActive=function(a,b){c(a).j9=b};a.Jua=function(a,b){n.rj(a,function(a){c(a).blending=b})};return a});
define("ou","require,kL,nV,hA,fQ,oc,cp,eg,V,u".split(","),function(a){function b(a){return(a=a.userData.io)&&!(!a.M$&&!a.J$)}function e(a){return a.userData.io||(a.userData.io={})}function d(a){return e(a).KC}function g(a){return e(a).enabled||B}function c(a){return!d(a).H$()}var i=a("kL"),f=a("nV");a("hA");var j=a("fQ"),n=a("oc"),k=a("cp"),o=a("eg"),p=a("V"),q=a("u"),t=i.extend(j,function(){j.call(this);this.TE=[];this.Zw=[];this.zD=[];this.o=l;this.Fr=r;this.by=this.by.bind(this)});t.prototype.update=
function(a){this.o=a.clone();this.nMa()?this.by():this.hpa()};t.prototype.hpa=function(){if(!this.Fr)this.Fr=setTimeout(this.by,1E3)};var s=Math.PI/180;t.prototype.nMa=function(){var a=this.o.Dl>0?1E3:this.o.pN/Math.tan(Math.min(this.o.Ih*0.5,89.99)*s);q.mb()||(a=a*1.5);var c=p.N9(this.o.rg),d=p.mk(this.o.rg).filter(b),f=d.filter(g),j={},j=o.cra(f,o.PC,l),j=o.Yra(j,o.PC);j.none=o.hW(f,o.PC,l);var f=[],i;for(i in j)for(var k=j[i],u=0,J=k.length;u<J;u++){var z=k[u];(e(z).M$||t.iP)==t.to&&f.push(z)}for(var K=
0,I=c.length;K<I;K++){var A=c[K];for(i in j){for(var k=j[i],N=r,H=Number.NEGATIVE_INFINITY,C=r,M=Number.POSITIVE_INFINITY,u=0,J=k.length;u<J;u++){z=k[u];if(z.layers.mask&A.layers.mask&&(e(z).M$||t.iP)==t.iP){var O=e(z).kRa*90;if(O<a&&O>H){N=z;H=O}else if(O>=a&&O<M){C=z;M=O}}}if(this.o.Tb&&C&&N)H>0.75*a?f.push(N):f.push(C);else{C&&f.indexOf(C)<0&&f.push(C);N&&f.indexOf(N)<0&&f.push(N)}}}a=[];for(c=0;c<f.length;c++){i=f[c];a.indexOf(i)<0&&a.push(i)}f=a;a:{a=this.zD;c=f;for(i=0;i<a.length;i++)if(c.indexOf(a[i])<
0){a=B;break a}for(i=0;i<c.length;i++)if(a.indexOf(c[i])<0){a=B;break a}a=m}a=!a;this.zD=f;u=0;for(J=d.length;u<J;u++){z=d[u];g(z)&&n.setActive(z,this.zD.indexOf(z)>=0)}return a};t.prototype.by=function(){this.Fr=r;for(var a=[],b=[],d=[],g=(new Date).getTime()-u,j=p.N9(this.o.rg),i=p.mk(this.o.rg),n=0,k=i.length;n<k;n++){var q=i[n],s=q.userData.io;if(s){var K=o.oy(q);if(s.enabled){var I=[];if(this.zD.indexOf(q)>=0){if(this.o.Dl>0||(e(q).J$||t.iZ)==t.Ym)I=K;else for(var A=0,N=j.length;A<N;A++){var H=
o.uPa(q,j[A]);if(A==0)I=H;else for(var C=0,M=H.length;C<M;C++){var O=H[C];I.indexOf(O)<0&&I.push(O)}}C=0;for(M=I.length;C<M;C++){O=I[C];(O.userData.io||(O.userData.io={})).Usa=g}}this.x_(q,I);C=0;for(M=s.bq.length;C<M;C++)a.push(s.bq[C]);C=0;for(M=s.gv.length;C<M;C++)b.push(s.gv[C])}else{s.gv||this.x_(q,[]);C=0;for(M=s.gv.length;C<M;C++){O=s.gv[C];s.bq.indexOf(O)<0&&b.push(O)}}C=0;for(M=K.length;C<M;C++)d.push(K[C])}}n=[];C=0;for(M=this.Zw.length;C<M;C++){O=this.Zw[C];d.indexOf(O)<0?O.userData.io.KC.unload():
c(O)?this.K6(O,B):n.push(O)}this.Zw=n;C=Math.max(t.sta(),Math.round(b.length*1.25))-a.length;if(this.Zw.length>C){this.Zw.sort(function(a,b){return e(a).Usa-e(b).Usa});n=this.Zw.splice(0,this.Zw.length-C);C=0;for(M=n.length;C<M;C++){O=n[C];O.userData.io.KC.unload();this.K6(O,B)}}b=[];n=0;for(k=this.zD.length;n<k;n++){q=this.zD[n];s=q.userData.io;s.bq.length>0&&b.push(q)}d=Number.POSITIVE_INFINITY;n=0;for(k=b.length;n<k;n++){q=b[n];s=q.userData.io;C=s.Ge;C=C!==l?C:Number.POSITIVE_INFINITY;C<d&&(d=
C)}a=[];n=0;for(k=b.length;n<k;n++){q=b[n];s=q.userData.io;C=s.Ge;C=C!==l?C:Number.POSITIVE_INFINITY;if(C==d){H=s.bq;C=0;for(M=H.length;C<M;C++){O=H[C];a.push(O)}}}C=0;for(M=this.TE.length;C<M;C++){O=this.TE[C];if(a.indexOf(O)<0){O=O.userData.io.KC;O.unbind(f.T,this.v7,this,m);O.unbind(f.tc,this.w7,this,m);O.hOa()}}n=this.TE;this.TE=a;k=this.TE.slice();C=0;for(M=k.length;C<M;C++){O=k[C];if(n.indexOf(O)<0){O=O.userData.io.KC;O.bind(f.T,this.v7,this,m);O.bind(f.tc,this.w7,this,m);O.load()}}};t.prototype.v7=
function(a){this.poa(a.source);this.trigger(f.T)};t.prototype.w7=function(a){this.poa(a.source)};t.prototype.poa=function(a){a.unbind(f.T,this.v7,this,m);a.unbind(f.tc,this.w7,this,m);var b=a.material(),c=this.TE,d=c.indexOf(b);d>=0&&c.splice(d,1);this.Zw.push(b);this.K6(b,m);a=a.ao();e(a).bq.indexOf(b)>=0&&this.x_(a,e(a).gv);this.hpa()};t.prototype.x_=function(a,b){var d=e(a).gv,d=d?d.length:l,g=e(a).bq,g=g?g.length:l;e(a).gv=b;e(a).bq=b.filter(c);n.Daa(a,e(a).bq.length==0&&(e(a).J$||t.iZ)==t.Ym);
var j=e(a).gv,j=j?j.length:l,i=e(a).bq,i=i?i.length:l;if(g!==i||d!==j)a.dispatchEvent({type:f.dc,Fg:j?100-100*i/j:100});g!==i&&i===0&&a.dispatchEvent({type:f.T})};t.prototype.K6=function(a,c){if(c!=a.visible){var e=k.Fra(a),f=o.getAttribute(e,o.Gy),g=o.getAttribute(e,o.fY);if(f===l||g===l)a.visible=c;else{for(var j=p.mk(this.o.rg).filter(b),f=o.hW(j,o.Gy,f),g=o.hW(f,o.fY,g),i=o.oy(e).indexOf(a),e=g.map(function(a){return o.oy(a)[i]}),g=c,f=0;f<e.length&&g;f++)g=g&&d(e[f]).H$();for(f=0;f<e.length;f++)e[f].visible=
g}}};t.sta=function(){var a;a=q.mb()?128:384;t.sta=function(){return a};return a};t.vd=function(a,b){o.rj(a,function(a){e(a).enabled=b})};t.enabled=g;t.FX=function(a,b){o.rj(a,function(a){e(a).kRa=b})};t.Ym="all";t.iZ="in view";t.hs=function(a,b){o.rj(a,function(a){e(a).J$=b})};t.to="always";t.iP="on demand";t.js=function(a,b){o.rj(a,function(a){e(a).M$=b})};t.BH=function(a,b){o.rj(a,function(a){e(a).Ge=b})};t.xy=function(a,b){o.rj(a,function(a){e(a).hWa=b;o.oy(a).forEach(function(a){d(a).KSa(b)})})};
t.eWa=function(a){return 100-100*e(a).bq.length/e(a).gv.length};t.dWa=function(a){return e(a).bq.length==0};t.DH=function(a,b){(e(a).KC=b)&&(a.visible=b.H$())};t.KC=d;var u=(new Date).getTime();return t});
define("h","require,kL,iB,eg,V,ou,oc".split(","),function(a){var b=a("kL"),e=a("iB"),d=a("eg"),g=a("V"),c=a("ou"),i=a("oc"),a=b.extend(e,function(){e.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",r);this.set("meshGroup",r);this.set("camera",r)});a.prototype.Wl=function(){return[]};a.prototype.Fb=function(){d.dispose(this.get("meshGroup"));d.CH(this.get("meshGroup"),r);this.set("meshGroup",r);e.prototype.Fb.call(this)};a.prototype.V=function(a){e.prototype.V.call(this,
a);this.set("camera",g.cC(a.rg));this.set("webglScene",a.rg);if(!this.get("meshGroup")){this.set("meshGroup",d.Iqa(this.Wl()));this.get("meshGroup").userData.hRa=this}this.F("webglScene","meshGroup")&&d.CH(this.get("meshGroup"),this.get("webglScene"));this.kl();this.Jp(a);this.IB();this.F("loadingActive","meshGroup")&&c.vd(this.get("meshGroup"),this.get("loadingActive"));this.F("blendingActive","meshGroup")&&i.Jua(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.kl=function(){this.F("composedAlpha",
"meshGroup")&&this.Vv()};a.prototype.Vv=function(){d.Ve(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.Jp=function(){h("Must be overridden in descendants.")};a.prototype.IB=function(){if(this.F("index","meshGroup")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b,c){d.NX(a,this.get("index")+b/c.length)}.bind(this))}};return a});
define("fk",["require","kL","gz","h","eg"],function(a){var b=a("kL"),e=a("gz"),d=a("h"),g=a("eg"),c=new THREE.Matrix4,i=Math.PI/180,a=b.extend(d,function(){d.call(this);this.set("tag","Frame");this.Vg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.el=new THREE.Matrix4;this.Xh=new THREE.Matrix4});a.prototype.V=function(a){d.prototype.V.call(this,a)};a.prototype.Jp=function(a){var b=B;this.F("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Vg.makeTranslation(0.5*-this.get("composedTranslationX")*
e.lf,0.5*this.get("composedTranslationY")*e.lf,0.5*this.get("composedTranslationZ")*e.lf),b=m);this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.nd.makeRotationY(-a.Ka*i),this.nd.multiply(c.makeRotationX(-this.get("composedDeltaPitch")*i)),this.nd.multiply(c.makeRotationY(this.get("composedDeltaYaw")*i)),this.nd.multiply(c.makeRotationY(a.Ka*i)),b=m);this.F("flipHorizontally")&&(this.el.makeScale(this.get("flipHorizontally")?-1:1,1,1),b=m);if(b||this.F("meshGroup"))this.Xh.copy(this.Vg),
this.Xh.multiply(this.nd),this.Xh.multiply(this.el),g.Rp(this.get("meshGroup"),this.Xh)};return a});
define("y",["require"],function(){function a(){this.FE=b++;this.$J="_map_"+this.FE+"_key";this.VR={};this.Vo=[];this.length=0}var b=0;a.prototype.set=a.prototype.add=function(a,b){var g;0>this.Vo.indexOf(a)&&this.Vo.push(a);if("object"===typeof a&&a!==r){if(g=a[this.$J],!g){g=this.$J;for(var c=[],i=0;8>i;i++)c.push(Math.floor(16*Math.random()).toString(16));g=a[g]=c.join("")}}else g=a;this.VR[g]=b;this.length=this.Vo.length};a.prototype.get=function(a){return this.VR["object"===typeof a&&a!==r?a[this.$J]:
a]};a.prototype.$Pa=function(a){return 0<=this.Vo.indexOf(a)};a.prototype.remove=function(a){var b=this.Vo.indexOf(a);0>b||(this.Vo.splice(b,1),"object"===typeof a&&a!==r?(b=a[this.$J],delete a[this.$J]):b=a,delete this.VR[b],this.length=this.Vo.length)};a.prototype.forEach=function(a){this.Vo.slice().forEach(function(b){a(b,this.get(b))}.bind(this))};a.prototype.dispose=function(){for(;this.Vo.length;)this.remove(this.Vo.pop());this.Vo=this.VR=r};return a});
define("nr",["require","kL","fQ","y"],function(a){function b(){this.XB=[]}var e=a("kL"),d=a("fQ"),g=a("y"),a=e.extend(d,function(a){d.call(this);this.$e=a;this.Sc=[];this.It=new g;this.eN=[];this.p1=[];this.cF=this.cF.bind(this)});a.prototype.We=function(a){this.Sc.forEach(function(a){a.removeEventListener?a.removeEventListener(this.$e,this.cF):a.unbind?a.unbind(this.$e,this.cF,this,m):h("invalid instance type")}.bind(this));this.Sc=a.slice();this.Sc.forEach(function(a){a.addEventListener?a.addEventListener(this.$e,
this.cF):a.bind?a.bind(this.$e,this.cF,this,m):h("invalid instance type");this.It.$Pa(a)||this.It.set(a,new b)}.bind(this));this.Z7()};a.prototype.dispose=function(){this.We([]);this.Sc=r;this.It.dispose();this.p1=this.eN=this.It=r};a.prototype.Fl=function(a){this.eN.push(a);this.Z7();return this};a.prototype.bo=function(a){this.p1.push(a);return this};a.prototype.Rr=function(a){this.Sc.forEach(function(b){a(b,this.It.get(b).XB)}.bind(this))};a.prototype.vl=function(a){a=this.It.get(a).XB;return 0==
a.length?r:a[a.length-1]};a.prototype.cF=function(a){var b=a.target||a.source;if(b=this.It&&this.It.get(b))b.XB.push(a),this.p1.forEach(function(b){b(a,this)}.bind(this)),this.Z7()};a.prototype.Z7=function(){if(0!=this.Sc.length){for(var a=0;a<this.Sc.length;a++)if(0==this.It.get(this.Sc[a]).XB.length)return;this.eN.length&&(a=this.eN.slice(),this.eN=[],a.forEach(function(a){a(this)}.bind(this)))}};return a});
define("cQ","require,kL,nV,hA,fQ,cp,mS".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("hA"),g=a("fQ"),c=a("cp"),i=a("mS"),f=b.extend(g,function(){g.call(this);this.je=l;this.ib=i.createTexture();this.o=f.aI;this.XJ=d.Zm});f.prototype.type=S("je");f.prototype.texture=S("ib");f.prototype.material=function(){return this.ib&&i.h$(this.ib)};f.prototype.ao=function(){var a=this.ib&&i.h$(this.ib);return a&&c.Fra(a)};f.prototype.KSa=R("XJ");f.prototype.load=function(){if(this.o==f.aI){this.o=f.pP;this.H_()}};
f.prototype.hOa=function(){if(this.TQa()){this.o==f.pP?this.YU():this.qM();this.o=f.aI}};f.prototype.unload=function(){if(this.o!=f.aI){this.o==f.pP?this.YU():this.o==f.AZ?this.qM():this.$x();this.o=f.aI}};f.prototype.H_=G();f.prototype.YU=G();f.prototype.F_=G();f.prototype.qM=G();f.prototype.$x=function(){i.oOa(this.texture)};f.prototype.TQa=function(){return this.o==f.pP||this.o==f.AZ};f.prototype.H$=function(){return this.o==f.zZ||this.o==f.Pca};f.prototype.dispose=function(){i.dispose(this.ib);
this.ib=r};f.prototype.hF=function(a){this.o=a?f.AZ:f.Pca;a?this.F_():this.trigger(e.tc)};f.prototype.pja=function(){this.o=f.zZ;this.trigger(e.T)};f.aI="initial";f.pP="loading";f.AZ="adding";f.Pca="error loading";f.zZ="added";f.Rxa="custom";f.Sxa="image tile";f.UUa="image animation";f.VUa="video 360";return f});
define("eQ","require,kL,nV,cm,kI,mS,cQ".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cm"),g=a("kI"),c=a("mS"),i=a("cQ"),a=b.extend(i,function(a){i.call(this);this.je=i.Rxa;this.Tc=a;if(!this.Tc)this.o=i.zZ;this.ig=this.fd=r;this.p_=this.YM=l});a.prototype.Bl=function(a){this.ig=a;c.NC(this.ib,this.ig);this.ig&&this.YM!==l&&c.bY(this.ig,this.YM,this.p_)};a.prototype.bY=function(a,b){if(this.YM!==a){this.YM=a;this.p_=b;this.ig&&c.bY(this.ig,this.YM,this.p_)}};a.prototype.hf=function(){return g.hf(this.Tc)};
a.prototype.update=function(){c.NC(this.ib,this.ig)};a.prototype.H_=function(){this.Tc?this.QI():this.hF(m)};a.prototype.YU=function(){this.Po()};a.prototype.F_=function(){this.pja()};a.prototype.$x=function(){this.Po()};a.prototype.dispose=function(){this.Po();i.prototype.dispose.call(this)};a.prototype.Yc=function(){this.hF(m)};a.prototype.pf=function(){this.hF(B)};a.prototype.QI=function(){if(!this.fd){this.fd=new d;this.fd.EO([this.Tc]);this.fd.bind(e.T,this.Yc,this,m);this.fd.bind(e.tc,this.pf,
this,m);g.$n(this.fd,this.XJ)}};a.prototype.Po=function(){if(this.fd){this.fd.unbind(e.T,this.Yc,this,m);this.fd.unbind(e.tc,this.pf,this,m);g.yj(this.fd,this.XJ);this.fd=r}};return a});
define("dz","require,kL,nV,fQ,mS,bf".split(","),function(a){function b(){if(!n){n=m;f.vb(e,r)}}function e(){for(n=B;j.length;){var a=j.shift();a.add();if(a.XQa())break}j.length&&b()}var d=a("kL"),g=a("nV"),c=a("fQ"),i=a("mS"),f=a("bf"),j=[],n=B,k=d.extend(c,function(a,b){c.call(this);this.texture=a;this.source=b});k.prototype.XQa=function(){return!this.source.Sda&&i.bOa(this.source)};k.prototype.Nqa=function(){if(!this.source.Sda){i.Nqa(this.source);this.source.Sda=m}};k.prototype.add=function(){i.NC(this.texture,
this.source);this.trigger(g.T)};k.prototype.remove=function(){var a=j.indexOf(this);a>=0&&j.splice(a,1);i.NC(this.texture,r)};return{add:function(a,c){var d=new k(a,c);j.push(d);b();return d}}});
define("mh","require,kL,nV,cm,kI,dz,cQ".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cm"),g=a("kI"),c=a("dz"),i=a("cQ"),a=b.extend(i,function(a){i.call(this);this.je=i.Sxa;this.Tc=a;this.ig=this.EF=this.fd=r});a.prototype.hf=S("ig");a.prototype.H_=function(){this.QI()};a.prototype.YU=function(){this.Po()};a.prototype.F_=function(){this.LBa()};a.prototype.qM=function(){this.Po();this.$0()};a.prototype.$x=function(){this.Po();this.$0()};a.prototype.dispose=function(){this.Po();this.$0();i.prototype.dispose.call(this)};
a.prototype.Yc=function(){this.ig=g.hf(this.Tc);this.hF(m)};a.prototype.pf=function(){this.hF(B)};a.prototype.qja=function(){this.pja()};a.prototype.QI=function(){if(!this.fd){this.fd=new d;this.fd.EO([this.Tc]);this.fd.bind(e.T,this.Yc,this,m);this.fd.bind(e.tc,this.pf,this,m);g.$n(this.fd,this.XJ)}};a.prototype.Po=function(){if(this.fd){this.fd.unbind(e.T,this.Yc,this,m);this.fd.unbind(e.tc,this.pf,this,m);g.yj(this.fd,this.XJ);this.fd=r}};a.prototype.LBa=function(){this.EF=c.add(this.ib,this.ig);
this.EF.bind(e.T,this.qja,this,m)};a.prototype.$0=function(){if(this.EF){this.EF.unbind(e.T,this.qja,this,m);this.EF.remove();this.EF=r}};return a});
define("od",["require","kL","kI","mS","mh"],function(a){var b=a("kL"),e=a("kI"),d=a("mS"),g=a("mh"),a=b.extend(g,function(a,b,d,e,n){g.call(this,a.get("url"));this.xa=b;this.Aa=d;this.X=e;this.ia=n;this.RFa=0!=this.xa||0!=this.Aa||this.X!=a.get("width")||this.ia!=a.get("height")});a.prototype.Yc=function(){this.RFa?(this.SBa(),this.Po(),this.hF(!!this.ig)):g.prototype.Yc.call(this)};a.prototype.qM=function(){g.prototype.qM.call(this);this.a1()};a.prototype.$x=function(){g.prototype.$x.call(this);
this.a1()};g.prototype.dispose=function(){g.prototype.dispose.call(this);this.a1()};a.prototype.SBa=function(){var a=e.hf(this.Tc);this.ig=d.yOa(a,this.xa,this.Aa,this.X,this.ia)};a.prototype.a1=function(){this.ig&&(d.fW(this.ig),this.ig=r)};return a});
define("fi","require,mR,dw,ma,gZ,eQ,mh,od,gz,cp,eg,bW,mE,ou,u".split(","),function(a){var b=a("mR"),e=a("dw"),d=a("ma"),g=a("gZ"),c=a("eQ"),i=a("mh"),f=a("od"),j=a("gz"),n=a("cp"),k=a("eg"),o=a("bW"),p=a("mE"),q=a("ou"),t=a("u"),s={uOa:function(a,b){var c=o.get(a);switch(c){case o.Nv:case o.Ds:case o.vk:return this.xBa(c,a,b);case o.uo:case o.Ao:case o.wq:return this.zBa(c,a,b)}},AOa:function(a,b){var c=new i(b.get("posterURL"));return this.Jfa(a,b,c)},zOa:function(a,b){var d=new c;return this.Jfa(a,
b,d)},Jfa:function(a,b,c){var d=a.get("hfov"),f=a.get("vfov"),g=a.get("pitch"),i=b.get("width"),b=b.get("url"),a=o.get(a),p=a==o.wq?2:1,t=a==o.Ao?2:1,a=p+t>2?[e.Ha,e.Va]:[e.ss],s=Math.round(i/p),z=n.ky(c.texture(),new n.Vm(b));q.DH(z,c);z.visible=m;return a.map(function(a,b){var c=j.Lqa(d,f,g,1,1,b%p/p,(t-1-Math.floor(b/p))/t,1/p,1/t),c=k.create(c,[z]);c.layers.set(a);q.FX(c,s/d);return c}.bind(this))},wOa:function(a){var b=[d.Va,d.Ha,d.ec,d.Zb,d.FRONT,d.BACK].map(function(){var b=new c;b.Bl(s.BEa(a));
var d=n.ky(b.texture());q.DH(d,b);d.visible=m;return d}),f=j.Kqa(1,1),b=k.create(f,b);q.FX(b,256/90);b.layers.set(e.ss);return b},Y6:{},BEa:function(a){if(!s.Y6[a]){var b=document.createElement("canvas");b.width=b.height=256;var c=b.getContext("2d");c.fillStyle=a;c.fillRect(0,0,b.width,b.height);s.Y6[a]=b}return s.Y6[a]},xBa:function(a,c,f){var i=a==o.Nv?[e.Va,e.Ha]:[e.ss],n=c.get("flipImageHorizontally");n&&(i=i.reverse());var t=a==o.vk?1:6*i.length,s=f.get("width")/t,F=f.get("height"),L,J;if(b.va("TiledImageResourceLevel",
f)){L=f.get("colCount",t)/t;J=f.get("rowCount",1)}else if(this.vma(a,f)){L=Math.ceil(s/g.Ps());J=Math.ceil(F/g.Ps())}else J=L=1;var z=[d.Va,d.Ha,d.ec,d.Zb,d.FRONT,d.BACK];return i.map(function(d,e){var g=Array(6);z.forEach(function(i,k){var q=p.S9(c,f,i);if(b.va("TiledImageResourceLevel",f))g[j.Tca.indexOf(i)]=this.sBa(q,a,d,i,n,L,J);else{var t=a==o.vk?0:Math.round((e*z.length+k)*s),x=L>1||J>1||a!=o.vk?s>256?1:0.5:0;g[j.Tca.indexOf(i)]=this.Efa(q,L,J,t,0,s,F,x)}}.bind(this));var i=Array.prototype.concat.apply([],
g),t=j.Kqa(L,J),i=k.create(t,i);i.layers.set(d);q.FX(i,s/90);return i}.bind(this))},zBa:function(a,b,c){var d=a==o.uo?[e.ss]:[e.Ha,e.Va];b.get("flipImageHorizontally")&&(d=d.reverse());var f=c.get("width"),i=c.get("height"),n=b.get("hfov"),p=b.get("vfov"),t=b.get("pitch"),s=Math.round(f/n/(i/p)),b=Math.round(i/p/(f/n)),z=Math.round(f/s),K=Math.round(i/b),I=(a=this.vma(a,c))?Math.ceil(z/g.Ps()):1,A=a?Math.ceil(K/g.Ps()):1;return d.map(function(a,b){var d=this.Efa(c,I,A,b%s*z,Math.floor(b/s)*K,z,K),
e=j.Lqa(n,p,t,I,A,0,0,1,1),d=k.create(e,d);d.layers.set(a);q.FX(d,z/n);return d}.bind(this))},vma:function(a,b){switch(a){case o.Nv:case o.Ds:case o.Ao:case o.wq:return m;case o.vk:return B;case o.uo:return t.Wra().maxTextureSize<Math.max(b.get("width"),b.get("height"))?m:g.Mm()||t.mb()?B:t.ad()==t.Ky?m:B}},Efa:function(a,b,d,e,g,j,i,k){k||(k=0);for(var o=[],p=0;p<d;p++)for(var t=g+k+(i-2*k)*p/d,s=g+k+(i-2*k)*(p+1)/d,I=0;I<b;I++){var A=e+k+(j-2*k)*I/b,N=e+k+(j-2*k)*(I+1)/b,A=a?new f(a,A,t,N-A,s-t):
new c,N=n.z9(A.texture());q.DH(N,A);o.push(N)}return o},sBa:function(a,b,d,e,f,g,j){for(var k=[],o=0;o<j;o++)for(var t=0;t<g;t++){var s;s=a?new i(p.Rra(a,b,d,e,f,j,o,t)):new c;var K=n.z9(s.texture());q.DH(K,s);K.visible=B;k.push(K)}return k}};return s});
define("dd","require,kL,nV,fk,nr,fi,ou".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("fk"),g=a("nr"),c=a("fi"),i=a("ou"),a=b.extend(d,function(a){d.call(this);this.ac=a;this.set("tag","SolidFrame");this.yg=r});a.prototype.Ab=function(){this.yg=(new g(e.T)).Fl(this.Yc.bind(this));d.prototype.Ab.call(this)};a.prototype.Fb=function(){this.yg.dispose();d.prototype.Fb.call(this)};a.prototype.Wl=function(){var a=[c.wOa(this.ac)];i.js(a,i.to);i.hs(a,i.Ym);this.yg.We(a);return a};a.prototype.Yc=function(){this.trigger(e.Ic);
this.trigger(e.T)};return a});
define("lc","require,kL,eC,dd,nz,bD".split(","),function(a){var b=a("kL"),e=a("eC"),d=a("dd"),g=a("nz"),c=a("bD"),a=b.extend(e,function(a,b,c,d){e.call(this,a,b,c,d);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.t.Tm){this.t.Tm=new d("#000000");this.t.Tm.set("alpha",1);this.h.add(this.t.Tm)}if(!this.N){this.t.Tm.qj();var b=this.t.GG*2;this.N=new g("linear",[new c("alpha",2,0,l)],b);this.t.Tm.qj()}this.N.ub(a);this.t.Tm.set("alpha",Math.min(0.99,this.N.fb("alpha")));
this.h.jf(this.t.sc).set("alpha",1);if(this.N&&this.N.Se())this.rb=m}};return a});
define("bH",["require","kL","eC","nz","bD"],function(a){var b=a("kL"),e=a("eC"),d=a("nz"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.N){var b;b=this.t.lc?0.01*this.t.GG:this.t.Sqa;this.N=new d("linear",[new g("alpha",1,0,l)],b)}this.N.ub(a);a=this.N.fb("alpha");this.h.jf(this.t.Hg).set("alpha",a);this.N.Se()&&(this.rb=m)}};return a});
define("mW","require,kL,eC,dd,nz,bD".split(","),function(a){var b=a("kL"),e=a("eC"),d=a("dd"),g=a("nz"),c=a("bD"),a=b.extend(e,function(a,b,c,d){e.call(this,a,b,c,d);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.t.Tm){this.t.Tm=new d("#000000");this.t.Tm.set("alpha",0);this.h.add(this.t.Tm)}if(!this.N){this.t.Tm.qj();var b=this.t.Sqa*2;this.N=new g("linear",[new c("alpha",0,2,l)],b)}this.N.ub(a);a=Math.min(1,this.N.fb("alpha"));this.t.Tm.set("alpha",
a);a==1&&this.h.jf(this.t.Hg).set("alpha",0);if(this.N.Se())this.rb=m}};return a});
define("cf",["require","kL","eC","nz","bD"],function(a){function b(a,b,c){for(;a<b;)a+=c-b;for(;a>c;)a-=c-b;return a}var e=a("kL"),d=a("eC"),g=a("nz"),c=a("bD"),a=e.extend(d,function(a,b,c,e){d.call(this,a,b,c,e);this.N=r;this.rb=B;this.om=0});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb&&(this.N||(this.N=this.om<this.t.Wn.length?this.JBa(this.om):this.oBa()),this.N.ub(a),this.Eb.lv(this.N.fb("yaw"),this.N.fb("pitch")),this.Eb.eo(this.N.fb("hfov")),this.Eb.GC(this.N.fb("stereographicFactor")),
this.N.Se()))this.N=r,this.om++,this.om>this.t.Wn.length&&(this.Eb.zO(m),this.rb=m)};a.prototype.oBa=function(){var a=b(this.h.Oc(),-180,180),d=this.h.Hc();this.h.rf();var e=this.h.lg(),n=this.h.o.Dl,k=this.t.og.get("hfov"),k={Ka:this.t.og.get("yaw"),pitch:this.t.og.get("pitch",d),Ie:this.h.rf(),ve:k?this.Eb.TB(k):e,Dl:0};this.Eb.QRa(this.t.sc,k);k.Ka=b(k.Ka,a-180,a+180);var o=0.5<Math.abs(e-k.ve),p=Math.abs(n-k.Dl),q=0.01<p,o=this.t.Tb()?1:Math.max(o?this.t.eY:1,q?this.t.Pta*p:1);return new g(q?
"linear":"cubic_in_out",[new c("yaw",a,k.Ka,l),new c("pitch",d,k.pitch,l),new c("hfov",e,k.ve,l),new c("stereographicFactor",n,k.Dl,l)],o)};a.prototype.JBa=function(a){var d=this.t.Wn[a],e=b(this.h.Oc(),-180,180),n=this.h.Hc();this.h.rf();var k=this.h.lg(),o=this.h.o.Dl,p=d.get("targetStereographicFactor",o),q=d.get("targetHfov");if(q)q=this.Eb.TB(q);else{for(q=B;a<this.t.Wn.length&&!q;a++)q=this.t.Wn[a].get("targetHfov")!==l;q?q=k:(q=this.Eb.TB(this.t.og.get("hfov",this.Eb.Oqa())),q=k+(q-k)*(o-p))}var a=
d.get("targetYaw",e),t=d.get("targetPitch",n);this.h.rf();switch(d.get("path")){case "left":a=b(a,e-360,e);break;case "right":a=b(a,e,e+360);break;case "longest":a=b(a,-360,360);a=a>=e?b(a,e,e+360):b(a,e-360,e);break;default:a=b(a,e-180,e+180)}return new g(d.get("easing"),[new c("yaw",e,a,d.get("yawSpeed")),new c("pitch",n,t,d.get("pitchSpeed")),new c("hfov",k,q,d.get("hfovSpeed")),new c("stereographicFactor",o,p,d.get("stereographicFactorSpeed"))],d.get("duration"))};return a});
define("fA",["require","kL","eC","nz","bD"],function(a){var b=a("kL"),e=a("eC"),d=a("nz"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.N){var b=this.h.Hc(),e=this.h.lg(),j=this.h.o.Dl,n=this.t.gf.get("stereographicFactor",0),k=Math.abs(j-n),o=0<n?this.t.gf.get("pitch",b):b,p=this.t.gf.get("hfov"),p=p?this.Eb.TB(p):e;0==n&&(p=Math.min(e,this.Eb.zX(this.t.sc,p)));this.Eb.zO(B);k=this.t.Tb()?
1:Math.max(0.5<Math.abs(e-p)?this.t.eY:1,0.01<k?this.t.Pta:1);this.N=new d("cubic_in_out",[new g("hfov",e,p,l),new g("pitch",b,o,l),new g("stereographicFactor",j,n,l)],k)}this.N.ub(a);this.Eb.eo(this.N.fb("hfov"));this.Eb.GC(this.N.fb("stereographicFactor"));this.Eb.lv(this.h.Oc(),this.N.fb("pitch"));this.N.Se()&&(this.Eb.ki(this.t.sc),this.Eb.lv(this.t.gf.get("yaw"),this.t.gf.get("pitch",this.h.Hc())),this.rb=m)}};return a});
define("gU",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.h.remove(this.h.jf(this.t.Hg))};return a});define("gq",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){var a=(this.t.lc||this.t.Yb).get("model");a.set("objects",a.get("objects").filter(function(a){return a!=this.t.ev}.bind(this)));this.t.ev=r};return a});
define("r",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.Eb.ki(this.t.sc);this.Eb.lv(this.t.og.get("yaw"),this.t.og.get("pitch",this.h.Hc()));var a=this.t.og.get("hfov");a&&(a=this.Eb.TB(a),this.Eb.eo(a))};return a});
define("dj",["require","kL","ko","lx"],function(a){var b=a("kL");a("ko");var e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.Eb.ki(this.t.sc);var a,b;this.t.IC.get("keepInitialPositionOnTranslation")?(a=this.t.og.get("yaw"),b=this.t.og.get("pitch")):(b=this.t.Yb.get("model").get("camera"),a=b.get("yaw")-this.t.Yb.get("yaw"),b=this.t.IC.get("enterPointingToHorizon")?0:b.get("pitch"));this.Eb.lv(a,b);if(a=this.t.og.get("hfov"))a=this.Eb.TB(a),this.Eb.eo(a)};
return a});define("op",["require","kL","ko","lx"],function(a){var b=a("kL");a("ko");var e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.Eb.ki(this.t.sc);var a,b;this.t.IC.get("keepInitialPositionOnTranslation")?(a=this.t.og.get("yaw"),b=this.t.og.get("pitch")):(b=this.t.Yb.get("model").get("camera"),a=b.get("yaw")-this.t.Yb.get("yaw"),b=b.get("pitch"));this.Eb.lv(a,b)};return a});
define("kp",["require","kL","nV","eC"],function(a){var b=a("kL"),e=a("nV"),d=a("eC"),a=b.extend(d,function(a,b,e,f){d.call(this,a,b,e,f);this.R=r;this.rb=B});a.prototype.SGa=function(){this.rb=m};a.prototype.Eg=S("rb");a.prototype.Xg=function(){if(!this.R&&(this.R=this.t.lc.get("model"),this.t.yl.get("model")==this.R)){var a=this.R.get("camera");a.set("easing",0);a.set("x",this.t.lc.get("x"));a.set("y",this.t.lc.get("y"));a.set("z",this.t.lc.get("z"));a.set("yaw",this.h.Oc()+this.t.lc.get("yaw"));
a.set("pitch",this.h.Hc());a.set("fov",this.h.Ra()>this.h.yb()?this.h.HN():this.h.IN());this.R.bind(e.aD,this.SGa,this,m)}};return a});define("hx",["require","kL","lx","or"],function(a){var b=a("kL"),e=a("lx"),d=a("or"),a=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f)});a.prototype.yi=function(){this.t.sc&&(this.t.mode==d.JZ||this.t.mode==d.KZ?this.t.sc.set("minFaceSize",1024):this.t.sc.set("minFaceSize",l))};return a});
define("gO",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.Eb.ki(this.t.sc);this.Eb.GC(this.t.cba?this.t.gf.get("stereographicFactor",0):0);this.Eb.lv(this.t.gf.get("yaw"),this.t.gf.get("pitch",this.h.Hc()));var a=this.t.gf.get("hfov");!a&&!this.t.Hg&&(a=this.Eb.Oqa());a&&(a=this.Eb.TB(a),this.Eb.eo(a),this.Eb.zO(!this.t.cba))};return a});
define("fT",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.Eb.ki(this.t.sc);this.Eb.eo(this.Eb.zX(this.t.sc,this.h.lg()));this.Eb.lv(this.h.Oc()+this.t.GH.ura(),this.h.Hc())};a.prototype.pC=T(m);return a});
define("nI",["require","kL","eC","nz","bD"],function(a){var b=a("kL"),e=a("eC"),d=a("nz"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.N){var b=this.h.lg(),e=this.Eb.zX(this.t.sc,b),j=!this.t.Tb()&&0.01<Math.abs(b-e)?this.t.eY:1;this.N=new d("cubic_in_out",[new g("hfov",b,e,l)],j)}this.N.ub(a);this.Eb.eo(this.N.fb("hfov"));this.N.Se()&&(this.Eb.zO(m),this.rb=m)}};return a});
define("fs",["require","kL","eC","nz","bD"],function(a){var b=a("kL"),e=a("eC"),d=a("nz"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(a){if(!this.rb){if(!this.N){var b=this.h.lg(),e=Math.min(this.Eb.zX(this.t.sc,b),b),j=!this.t.Tb()&&0.01<Math.abs(b-e)?this.t.eY:1;this.N=new d("cubic_in_out",[new g("hfov",b,e,l)],j);this.Eb.zO(B)}this.N.ub(a);this.Eb.eo(this.N.fb("hfov"));this.N.Se()&&(this.Eb.ki(this.t.sc),this.Eb.lv(this.h.Oc()+
this.t.GH.ura(),this.h.Hc()),this.rb=m)}};a.prototype.pC=T(m);return a});define("dJ",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){this.t.lc&&this.t.yl.get("model")==this.t.lc.get("model")&&this.h.oc.vH([this.t.yl])};return a});
define("lC",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.yi=function(){var a=[this.h.oc];this.t.Yb&&a.push(this.t.yl);this.h.oc.vH(a)};return a});
define("bv",["require","kL","eC","u"],function(a){var b=a("kL"),e=a("eC"),d=a("u"),a=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f);this.o="not initialized";this.Ma=0});a.prototype.Eg=function(){return"ended"==this.o};a.prototype.Xg=function(a){this.Eg()||("not initialized"==this.o&&this.i3(),"initialized"==this.o&&(this.Dp.get("ready")||this.Dp.p$())&&this.nM(),"started"==this.o&&this.V(a),1<=this.Ma&&this.cJ())};a.prototype.i3=function(){this.Jla=this.t.Vva;this.vI=0.25;this.Kza=0.75;this.tIa=
0.25;this.zoa=this.HEa();this.b_=0.5*this.Jla;this.jMa=this.Jla-2*this.b_;this.IA=1/(this.b_+this.jMa);this.BP=this.IA/this.b_;this.Au=0;this.Dp=this.h.jf(this.t.sc);this.a7=this.h.jf(this.t.Hg);this.lE=this.t.GH.gPa();this.o="initialized"};a.prototype.HEa=function(){var a=this.t.GH.get("distance");return a?Math.min(0.99,a/this.t.Hg.get("distanceToFloor")):0.75};a.prototype.nM=function(){this.h.ava(!this.t.Tb()&&d.browser()!=d.Hl);this.Dp.qj();this.o="started"};a.prototype.V=function(a){this.Dp.get("ready")||
this.Ma<this.tIa?this.Ma>=1-0.5*this.Au*this.Au/this.BP?this.Au=Math.sqrt(2*(1-this.Ma)*this.BP):this.Au<this.IA&&(this.Au=Math.min(this.Au+this.BP*a,this.IA)):this.Au=Math.max(this.Au-this.BP*a,0);this.Ma=Math.min(Math.max(0,this.Ma+this.Au*a),1);this.Dp.get("ready")||(this.vI=Math.max(this.vI,this.Ma));this.tV(this.Ma,Math.max(0,Math.min(1,(this.Ma-this.vI)/(this.Kza-this.vI))))};a.prototype.cJ=function(){this.Dp.set("alpha",1);this.h.ava(B);this.o="ended"};a.prototype.tV=function(a,b){var d=(a-
1)*this.zoa;this.Dp.set("translationX",d*this.lE.x);this.Dp.set("translationY",d*this.lE.y);this.Dp.set("translationZ",d*this.lE.z);this.Dp.get("ready");d=a*this.zoa;this.a7.set("translationX",d*this.lE.x);this.a7.set("translationY",d*this.lE.y);this.a7.set("translationZ",d*this.lE.z);this.Dp.set("alpha",Math.max(0.01,Math.min(0.99,b)))};a.prototype.pC=function(){return this.Ma<this.vI};return a});
define("eY",["require","mR","eX"],function(a){var b=a("mR"),e=a("eX");return b.G("TargetModel3DCameraMovement",e,function(){e.call(this)})});
define("gj","require,kL,nV,gu,eY,eC".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("gu"),g=a("eY"),c=a("eC"),a=b.extend(c,function(a,b,d,e){c.call(this,a,b,d,e);this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(){var a=this.t.lc.get("model");if(this.t.yl.get("model")!=a)this.px();else if(!this.Fa){var a=a.get("camera"),b=a.foa;b||(b={x:a.get("initialX",a.get("x")),y:a.get("initialY",a.get("y")),z:a.get("initialZ",a.get("z")),yaw:a.get("initialYaw",a.get("yaw")),pitch:a.get("initialPitch",
a.get("pitch")),fov:a.get("initialFov",a.get("fov")),distance:a.get("initialDistance",a.get("distance"))});this.qd=new g;this.qd.set("targetX",b.x);this.qd.set("targetY",b.y);this.qd.set("targetZ",b.z);this.qd.set("targetYaw",b.yaw);this.qd.set("targetPitch",b.pitch);this.qd.set("targetFov",b.fov);this.qd.set("targetDistance",b.distance);this.qd.set("duration",1E3);this.qd.set("easing","quad_in_out");this.qd.bind(e.aD,this.I4,this,m);this.Fa=new d;this.Fa.set("movements",[this.qd]);this.Fa.set("mandatory",
m);this.Fa.bind(e.hb,this.px,this,m);a.set("sequences",a.get("sequences").concat([this.Fa]));this.Fa.play();this.eM();this.q7=(new THREE.Vector3).set(b.x,b.y,b.z);this.iM=(new THREE.Vector3).set(this.t.lc.get("x"),this.t.lc.get("y"),this.t.lc.get("z"))}};var i=new THREE.Vector3;a.prototype.I4=function(){var a=this.t.lc.get("model").get("camera"),a=i.set(a.get("x"),a.get("y"),a.get("z")).distanceTo(this.iM)/this.iM.distanceTo(this.q7),b=Math.max(0.01,Math.min(0.99,(a-0)/0.33));this.h.IX(a>0&&a<1);
this.t.ev.set("position",b)};a.prototype.px=function(){var a=this.t.lc.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Fa}.bind(this)));this.rb=m;this.ML()};a.prototype.eM=function(){var a=this.t.lc.get("model");this.BL=a.get("postprocessing");this.CL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",B)};a.prototype.ML=function(){var a=this.t.lc.get("model"),b=this.BL,c=this.CL;setTimeout(function(){a.set("postprocessing",
b);a.set("surfaceSelectionEnabled",c)},30)};return a});
define("hM","require,kL,nV,mR,gu,eY,dH,eC".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("mR"),g=a("gu"),c=a("eY"),i=a("dH"),f=a("eC"),a=b.extend(f,function(a,b,c,d){f.call(this,a,b,c,d);this.rb=B;this.Lza=0;this.Mza=1;this.kL=[];this.jK=[];this.kL.push(this.zna.bind(this))});a.prototype.Eg=S("rb");a.prototype.Xg=function(){if(this.t.yl.get("model")!=this.t.Yb.get("model"))this.uka();else{var a=this.kL;for(this.kL=[];a.length>0;)a.shift()()}};a.prototype.TGa=function(){var a=this.jK;for(this.jK=
[];a.length>0;)a.shift()()};a.prototype.eLa=function(){this.yKa();this.eM();this.jK.push(this.ZEa.bind(this));this.jK.push(this.qpa.bind(this))};a.prototype.yKa=function(){var a=this.t.Yb.get("model").get("camera");a.set("easing",0);a.set("x",this.t.lc.get("x"));a.set("y",this.t.lc.get("y"));a.set("z",this.t.lc.get("z"));a.set("yaw",this.h.Oc()+this.t.lc.get("yaw"));a.set("pitch",this.h.Hc());a.set("fov",this.h.Ra()>this.h.yb()?this.h.HN():this.h.IN());this.qd=new c;this.qd.set("targetX",this.t.Yb.get("x"));
this.qd.set("targetY",this.t.Yb.get("y"));this.qd.set("targetZ",this.t.Yb.get("z"));if(this.t.IC.get("keepInitialPositionOnTranslation")){var b=this.t.og.get("yaw")+this.t.Yb.get("yaw"),d=this.t.og.get("pitch"),f=this.t.og.get("hfov");this.qd.set("targetYaw",b);d!==l&&this.qd.set("targetPitch",d);f!==l&&this.qd.set("targetFov",f)}this.qd.set("duration",1500);this.qd.set("easing","cubic_in_out");this.qd.bind(e.aD,this.TGa,this,m);this.Fa=new g;this.Fa.set("movements",[this.qd]);this.Fa.set("mandatory",
m);this.Fa.bind(e.hb,this.uka,this,m);a.set("sequences",a.get("sequences").concat([this.Fa]));this.Fa.play()};a.prototype.zna=function(){if(this.h.jf(this.t.sc).get("ready")){var a=this.t.lc,b=this.t.Yb,c=a.get("model"),e=c.get("objects").find(function(a){return d.va("ProjectedMaterialModel3DObject",a)}),f=!e;e||(e=new i);this.t.ev=e;e.set("sourceX",a.get("x"));e.set("sourceY",a.get("y"));e.set("sourceZ",a.get("z"));e.set("sourceYaw",a.get("yaw"));e.set("targetX",b.get("x"));e.set("targetY",b.get("y"));
e.set("targetZ",b.get("z"));e.set("targetYaw",b.get("yaw"));a=this.h.jf(this.t.Hg);b=this.h.jf(this.t.sc);a.set("alpha",1);b.set("alpha",0.01);e.set("sourceFaces",this.h.qN(this.t.lva,e.get("sourceFaces")));a.set("alpha",0.01);b.set("alpha",1);e.set("targetFaces",this.h.qN(this.t.Cva,e.get("targetFaces")));a.set("alpha",1);b.set("alpha",0.01);e.set("position",0);f&&c.set("objects",c.get("objects").concat([this.t.ev]));this.eLa()}else this.kL.push(this.zna.bind(this))};a.prototype.ZEa=function(){this.h.jf(this.t.Hg).set("alpha",
0);this.Tfa()};a.prototype.Tfa=function(){(this.Lla=this.Lla===l?10:this.Lla-1)?this.kL.push(this.Tfa.bind(this)):this.h.IX(m)};a.prototype.ACa=function(){this.h.IX(B)};var j=new THREE.Vector3,n=new THREE.Vector3,k=new THREE.Vector3;a.prototype.IEa=function(){var a=this.t.lc;j.set(a.get("x"),a.get("y"),a.get("z"));var b=this.t.Yb;n.set(b.get("x"),b.get("y"),b.get("z"));a=a.get("model").get("camera");k.set(a.get("x"),a.get("y"),a.get("z"));return k.distanceTo(j)/n.distanceTo(j)};a.prototype.qpa=function(){var a=
this.IEa(),a=Math.max(0,Math.min(1,(a-this.Lza)/this.Mza));this.t.ev.set("position",a);a<1&&this.jK.push(this.qpa.bind(this))};a.prototype.uka=function(){var a=this.t.lc.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Fa}.bind(this)));this.ACa();this.ML();this.rb=m};a.prototype.eM=function(){var a=this.t.lc.get("model");this.BL=a.get("postprocessing");this.CL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",
B)};a.prototype.ML=function(){var a=this.t.lc.get("model"),b=this.BL,c=this.CL;setTimeout(function(){a.set("postprocessing",b);a.set("surfaceSelectionEnabled",c)},30)};return a});
define("kH","require,kL,nV,gu,eY,eC,ko".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("gu"),g=a("eY"),c=a("eC"),i=a("ko"),a=b.extend(c,function(a,b,d,e){c.call(this,a,b,d,e);this.rb=B});a.prototype.Eg=S("rb");a.prototype.Xg=function(){if(!this.Fa){var a=this.t.Yb.get("model").get("camera");a.PTa();var b=Math.abs(a.get("pitch")-this.h.Hc()),c=b>30;this.qd=new g;this.qd.set("targetX",this.t.Yb.get("x"));this.qd.set("targetY",this.t.Yb.get("y"));this.qd.set("targetZ",this.t.Yb.get("z"));this.qd.set("targetDistance",
0);this.qd.set("targetFov",this.WEa(this.h.lg()));this.qd.set("targetYaw",this.h.Oc()+this.t.Yb.get("yaw"));c?this.qd.set("targetPitch",a.get("pitch")):this.qd.set("targetPitch",this.h.Hc());this.qd.set("duration",1500);this.qd.set("easing","cubic_in_out");this.qd.bind(e.aD,this.I4,this,m);var f=[this.qd];if(c){c=new g;c.set("targetPitch",this.h.Hc());c.set("duration",b/90*1E3);c.set("easing","quad_in_out");f.push(c)}this.Fa=new d;this.Fa.set("movements",f);this.Fa.set("mandatory",m);this.Fa.bind(e.hb,
this.px,this,m);a.set("sequences",a.get("sequences").concat([this.Fa]));this.Fa.play();this.eM();this.iM=(new THREE.Vector3).set(a.get("x"),a.get("y"),a.get("z"));this.q7=(new THREE.Vector3).set(this.t.Yb.get("x"),this.t.Yb.get("y"),this.t.Yb.get("z"))}};a.prototype.WEa=function(a){return this.h.Ra()<this.h.yb()?i.sl(a,this.h.Ra(),this.h.yb()):a};var f=new THREE.Vector3;a.prototype.I4=function(){var a=this.t.Yb.get("model").get("camera"),a=f.set(a.get("x"),a.get("y"),a.get("z")).distanceTo(this.iM)/
this.iM.distanceTo(this.q7),b=Math.max(0.01,Math.min(0.99,(a-0.66)/(1-0.66)));this.h.IX(a>0&&a<1);this.t.ev.set("position",b)};a.prototype.px=function(){var a=this.t.Yb.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Fa}.bind(this)));this.rb=m;this.ML()};a.prototype.eM=function(){var a=this.t.Yb.get("model");this.BL=a.get("postprocessing");this.CL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",B)};a.prototype.ML=
function(){var a=this.t.Yb.get("model"),b=this.BL,c=this.CL;setTimeout(function(){a.set("postprocessing",b);a.set("surfaceSelectionEnabled",c)},30)};return a});define("iy",["require","kL","lx"],function(a){var b=a("kL"),e=a("lx"),a=b.extend(e,function(a,b,c,i,f){e.call(this,a,b,c,i);this.iAa=f});a.prototype.yi=function(){this.iAa.call(this.C)};return a});
define("fN",["require","kL","eC"],function(a){var b=a("kL"),e=a("eC"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Eg=function(){var a=this.h.tb(),b=a&&a.rG,a=a&&a.WE;return!!b&&!b.get("visible")&&!!a&&!a.get("visible")};return a});
define("M",["require","kL","eC"],function(a){var b=a("kL"),e=a("eC"),d=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f);this.su=r});d.prototype.Eg=function(){this.su||(this.su=this.t.sc&&this.h.jf(this.t.sc));return this.su&&this.su.get("ready")};d.prototype.pC=T(m);d.vca=b.extend(d,function(a,b,e,f){d.call(this,a,b,e,f)});d.vca.prototype.pC=T(B);d.Bca=b.extend(d,function(a,b,e,f){d.call(this,a,b,e,f)});d.Bca.prototype.Eg=function(){this.su||(this.su=this.t.sc&&this.h.jf(this.t.sc));return this.su&&
(this.su.get("ready")||this.su.X$())};return d});
define("na",["require","kL","bl","cu","fQ"],function(a){var b=a("kL"),e=a("bl"),d=a("cu"),g=a("fQ"),c=b.extend(g,function(a){g.call(this);this.h=a;this.K=B;this.Ot=this.Ot.bind(this);this.oc=this.h.oc});c.prototype.clear=function(){this.oc=this.h=r};c.prototype.vd=function(a){this.K!=a&&(this.K&&document.removeEventListener("keyup",this.Ot),(this.K=a)&&document.addEventListener("keyup",this.Ot))};c.prototype.Ot=function(a){"translate"==this.oc.get("arrowKeysAction")&&(a.which==e.lq&&!a.shiftKey?this.trigger(new d(c.PY)):
a.which==e.Aq&&!a.shiftKey&&this.trigger(new d(c.QY)))};c.QY="moveForward";c.PY="moveBackward";return c});
define("oe","require,cu,fQ,gr,or,lm,cK,ld,kj,kY,oo,hm,eU,lc,bH,mW,cf,fA,gU,gq,r,dj,op,kp,hx,gO,fT,nI,fs,dJ,lC,kp,bv,gj,hM,kH,iy,fN,M,na,kL".split(","),function(a){var b=a("cu"),e=a("fQ"),d=a("gr"),g=a("or"),c=a("lm"),i=a("cK"),f=a("ld"),j=a("kj"),n=a("kY"),k=a("oo"),o=a("hm"),p=a("eU"),q=a("lc"),t=a("bH"),s=a("mW"),u=a("cf"),w=a("fA"),v=a("gU"),x=a("gq"),y=a("r"),E=a("dj"),D=a("op"),F=a("kp"),L=a("hx"),J=a("gO"),z=a("fT"),K=a("nI"),I=a("fs"),A=a("dJ"),N=a("lC"),F=a("kp"),H=a("bv"),C=a("gj"),M=a("hM"),
O=a("kH"),U=a("iy"),Q=a("fN"),V=a("M");a("na");var P=a("kL").extend(e,function(a,b,c){e.call(this);this.J=a;this.h=b;this.nc=c;this.Eb=this.dx=r;this.Vfa=this.Kq=this.oL=this.ku=l;this.t=r;this.Bg=[]});P.prototype.Gaa=R("dx");P.prototype.clear=function(){this.e6(this.Kq);this.t&&this.e6(this.t.sc);this.oL=this.ku=l;this.W=this.nc=this.h=this.J=this.t=r};P.prototype.start=function(a,b){if(!this.t&&a==this.Kq||this.t&&a==this.t.sc)this.oL=this.ku=l;else{this.ku=a;this.oL=b;this.Bg.length==0&&this.VU()}};
P.prototype.hide=function(){this.ku=r;!this.t&&this.Kq&&this.VU()};P.prototype.bPa=function(){return this.t&&this.t.sc};P.prototype.VU=function(){this.t=new g(this.h,this.dx,this.Kq,this.ku,this.oL);this.Eb=new d(this.h,this.nc,this.t);this.oL=this.ku=l;this.ga(L);this.ga(n);switch(this.t.mode){case g.Oba:this.pb(this.Ju);this.ga(t);this.pb(this.Iu);this.ga(v);this.pb(this.Gp);break;case g.Nba:this.ga(N);this.pb(this.Zx);this.ga(V);this.ga(o);this.ga(J);this.pb(this.Cr);this.ga(p);this.ga(Q);this.ga(u);
this.pb(this.Yx);break;case g.fP:if(this.t.Tb()){this.ga(N);this.pb(this.Zx);this.pb(this.Ju);this.ga(s);this.pb(this.Iu);this.ga(v);this.pb(this.Gp);this.ga(V);this.ga(y);this.pb(this.Cr);this.pb(this.Yx);this.ga(q)}else{this.ga(N);this.pb(this.Zx);this.pb(this.Ju);this.ga(t);this.pb(this.Iu);this.ga(v);this.pb(this.Gp);this.ga(V);this.ga(o);this.ga(J);this.pb(this.Cr);this.ga(p);this.ga(Q);this.ga(u);this.pb(this.Yx)}break;case g.Xca:this.ga(N);this.pb(this.Zx);this.pb(this.Ju);this.pb(this.Iu);
if(this.t.Tb()){this.ga(z);this.pb(this.Cr);this.ga(H);this.ga(v);this.pb(this.Gp)}else{this.ga(I);this.pb(this.Cr);this.ga(H);this.ga(v);this.pb(this.Gp);this.ga(K);this.ga(o);this.ga(Q)}this.pb(this.Yx);break;case g.Um:this.ga(N);this.pb(this.Zx);this.ga(V);if(this.t.Tb()){this.pb(this.Ju);this.pb(this.Iu);this.ga(y);this.pb(this.Cr);this.ga(c);this.ga(v);this.pb(this.Gp)}else{this.pb(this.Ju);this.pb(this.Iu);this.ga(w);this.pb(this.Cr);this.ga(c);this.ga(v);this.pb(this.Gp);this.ga(o);this.ga(Q);
this.ga(u)}this.pb(this.Yx);break;case g.JZ:this.ga(N);this.pb(this.Zx);this.ga(k);this.ga(V);this.ga(i.eda);this.ga(E);this.ga(O);this.pb(this.Cr);this.ga(p);this.ga(x);this.ga(f);this.ga(o);this.ga(Q);this.pb(this.Yx);break;case g.Zca:this.ga(k);this.ga(i.Rca);this.ga(j);this.ga(F);this.pb(this.Ju);this.ga(t);this.pb(this.Iu);this.ga(v);this.pb(this.Gp);this.ga(C);this.ga(x);this.ga(A);break;case g.KZ:this.pb(this.Zx);this.ga(k);this.ga(j);this.pb(this.Ju);this.pb(this.Iu);this.ga(V.Bca);this.ga(M);
this.ga(v);this.pb(this.Gp);this.ga(V.vca);this.ga(D);this.pb(this.Cr);this.ga(p);this.ga(x);this.ga(f);this.ga(o);this.ga(Q);this.pb(this.Yx);break;case g.Yca:this.pb(this.Zx);this.ga(k);this.ga(i.Rca);this.ga(j);this.ga(F);this.ga(V);this.pb(this.Ju);this.ga(t);this.pb(this.Iu);this.ga(v);this.pb(this.Gp);this.ga(C);this.ga(x);this.ga(i.eda);this.ga(E);this.ga(O);this.pb(this.Cr);this.ga(p);this.ga(x);this.ga(f);this.pb(this.Yx)}this.pb(this.dMa);this.Ba()};P.prototype.I7=function(){this.Kq=this.t.sc;
this.Vfa=this.t.IC;this.t=this.Eb=r;this.ku===l?this.Kq?this.OLa(this.Kq,this.Vfa):this.PLa():this.VU()};window.rOa=m;window.sOa=m;document.addEventListener("keydown",function(a){if(a.which==67)window.rOa=window.sOa=m});P.prototype.fv=function(a){for(;this.Bg.length;){var b=this.Bg[0];if(this.ku!==l&&this.ku!==this.Kq&&b.pC()){this.e6(this.t.sc);this.Bg=[];this.VU();break}else{b.Xg(a);this.Ba();this.Eb.fv(a);if(b.Eg()){this.Bg.shift();this.Bg.length==0&&this.I7()}else break}}};document.addEventListener("keydown",
function(){(new Date).getTime()});document.addEventListener("keyup",function(){(new Date).getTime()});P.prototype.gd=G();P.prototype.ga=function(a){this.Bg.push(new a(this,this.Eb,this.h,this.t))};P.prototype.pb=function(a){this.Bg.push(new U(this,this.Eb,this.h,this.t,a))};P.prototype.e6=function(a){if(a)if(a=this.h.jf(a)){this.h.remove(a);this.Gp()}};P.prototype.Zx=function(){this.trigger(new b(P.$Y,{panorama:this.t.sc}))};P.prototype.Gp=function(){this.trigger(new b(P.RY,{panorama:this.t?this.t.Hg:
this.Kq,nextPanorama:this.t?this.t.sc:r}))};P.prototype.Ju=function(){this.trigger(new b(P.Vy,{panorama:this.t.Hg}))};P.prototype.Iu=function(){this.trigger(new b(P.Uy,{panorama:this.t.Hg,nextPanorama:this.t.sc}))};P.prototype.Yx=function(){this.trigger(new b(P.Wy,{panorama:this.t.sc,camera:this.t.IC}))};P.prototype.dMa=function(){this.trigger(new b(P.qo))};P.prototype.Cr=function(){this.trigger(new b(P.Xy,{panorama:this.t.sc,camera:this.t.IC}))};P.prototype.OLa=function(a,c){this.trigger(new b(P.xY,
{panorama:a,camera:c}))};P.prototype.PLa=function(){this.trigger(new b(P.yY))};P.prototype.Ba=function(){this.trigger(new b(P.ob))};P.ob="request frame";P.$Y="request load";P.RY="panorama removed";P.xY="all pending panoramas displayed";P.yY="all pending panoramas hidden";P.Uy="panorama end";P.Xy="panorama start";P.Wy="panorama show";P.Vy="panorama hide";P.qo="transition end";return P});
define("kC",["require","kL","cu","fQ"],function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=b.extend(d,function(a){d.call(this);this.h=a});g.prototype.clear=function(){this.end();this.h=r};g.prototype.dH=function(a){for(var b=this.kR(a),d=a.yW(),e=0;e<b;e++)this.h.jf(this.f2(a,e)).set("alpha",e==d?1:0)};g.prototype.getTime=T(0);g.prototype.start=G();g.prototype.end=G();g.prototype.play=G();g.prototype.pause=G();g.prototype.oH=G();g.prototype.wH=G();g.prototype.QX=G();g.prototype.stop=G();g.prototype.FC=
G();g.prototype.vy=G();g.prototype.Ey=G();g.prototype.gd=G();g.prototype.vj=G();g.prototype.kR=function(a){return a.get("frames").length};g.prototype.f2=function(a,b){return a.get("frames")[b]};g.prototype.Ba=function(){this.trigger(new e(g.ob))};g.prototype.Hp=function(a,b,d,j,n,k){this.trigger(new e(g.Li,{time:a,duration:b,transitionPosition:d,transitionLength:j,steps:n,selectedStep:k}))};g.prototype.lj=function(){this.trigger(new e(g.mc,{state:this.vj()}))};g.ob="request frame";g.Jwa="frame display";
g.Kwa="frame hide";g.Li="time change";g.mc="playback state change";return g});
define("bp","require,jquery.mod,dZ,kL,nV,hA,cu,kC,eP,eZ,lG,bu,jV".split(","),function(a){a("jquery.mod");var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("hA");a("cu");var c=a("kC"),i=a("eP"),f=a("eZ");a("lG");var j=a("bu"),n=a("jV"),k=e.extend(c,function(a){c.call(this,a);this.dR=r;this.O1=this.gA=0;this.$=this.HA=r;this.lJ=l;this.y5=B;this.ya=360;this.Lpa=180;this.Qa=0.5;this.xn=0.2;this.Ut=0.45;this.Hia=5E3;this.Lia=1;this.pS=[[0.5,0.25],[0.5,0.375],[0.25,0.5],[0.375,0.5],[0.5,0.5],[0.625,0.5],[0.75,0.5],
[0.5,0.625],[0.5,0.75]];this.hGa=[0.05,0.1,0.05,0.1,0.4,0.1,0.05,0.1,0.05]});k.prototype.dH=function(a){c.prototype.dH.call(this,a);this.ZL(a)};k.prototype.start=function(a){this.ZL(a);this.Ba()};k.prototype.end=function(){this.ZL(r)};k.prototype.ZL=function(a){if(this.$!=a){if(this.$){this.gMa();this.$=r;this.lMa()}if(this.$=a){this.Hza();this.ya=a.get("hfov",360);this.Lpa=a.get("vfov",180);this.Qa=a.get("pitch",0);this.F5=this.eB=l;this.aGa(a);this.Ma=0.5}}};k.prototype.Ey=function(){this.y5=B};
k.prototype.FC=function(a){this.Ma=a/k.jI;this.Ba();this.y5=m};k.prototype.vy=function(a){this.FC(a)};k.prototype.Hp=function(){var a=this.kR(this.$),b=this.Ma*(a-1),d=Math.max(0,Math.min(a-2,Math.floor(b))),e=l;b-d<0.01?e=d:b-d>0.99&&(e=d+1);c.prototype.Hp.call(this,this.Ma*k.jI,k.jI,this.Ma*k.jI,k.jI,a,e)};k.prototype.gd=function(a){if(this.$){var b=this.h.Oc(),c=this.h.Hc(),d=this.h.rf(),e=0;if(this.eB!==l&&this.F5!==l&&this.Ula!==l)var g=b-this.eB,n=c-this.F5,k=d-this.Ula,e=Math.sqrt(g*g+n*n+
k*k)*1E3/a;this.eB=b;this.F5=c;this.Ula=d;for(var g=this.kR(this.$),x=this.Ma*(g-1),n=Math.max(0,Math.min(g-2,Math.floor(x))),k=n+1,x=1-(x-n),y=1-x,E=[],D=0;D<g;D++)E.push(0);E[k]=y;E[n]=y<1?1:0;for(D=0;D<g;D++)this.h.jf(this.f2(this.$,D)).set("alpha",E[D]);this.Hp();if(this.dR&&(e<=this.Lia||j.isPresenting())&&!this.y5){var D=Math.PI/180,e=180/Math.PI,E=this.h.Ra(),F=this.h.yb(),L=new f;L.rotateZ(-d*D);L.rotateX(-c*D);L.rotateY(-b*D);b=[];for(D=0;D<this.pS.length;D++){d=this.h.unproject(new i(this.pS[D][0]*
E,this.pS[D][1]*F,0)).Tra();d.apply(L);c=d.Oc()*e;d=d.Hc()*e;c=Math.round((c+180)*this.gA/360);d=Math.round((90-d)*this.O1/180);b.push(d*this.gA+c)}c=[];for(D=0;D<g;D++){d=this.dR[D];for(E=e=0;E<this.pS.length;E++)e=e+this.hGa[E]*d[b[E]];c.push(e)}D=c[n];b=c[k];n=x*c[n]+y*c[k];a=Math.min(1/g,a/this.Hia);g=this.Ma;k=Math.max.apply(Math,c);x=Math.min.apply(Math,c);n<this.xn&&n<k?g=b>n?g+a:g-a:n>this.Ut&&n>x&&(g=D<n?g-a:g+a);g=Math.min(1,Math.max(0,g));if(this.Ma!=g){this.Ma=g;this.Ba()}}}};k.prototype.aGa=
function(a){var c=b(a.get("frames",[])).map(function(a){return a.get("thumbnailUrl")});this.HA=b(c).map(function(a){var b=r;if(a){b=new n(g.Zm);b.bind(d.T,this.lka,this);b.bind(d.tc,this.mka,this)}return b},this);b(this.HA).each(function(a,b){a&&a.load(c[b])})};k.prototype.lMa=function(){this.Rfa();this.dR=r};k.prototype.PGa=function(){this.gA=150;this.HA.map(function(a){if(a)this.gA=Math.min(a.bd()*360/this.ya,this.gA)},this);this.O1=Math.round(this.gA/2);this.dR=this.HA.map(function(a){return this.FBa(a,
this.gA,this.O1,this.ya,this.Lpa,this.Qa)},this);this.Rfa()};k.prototype.FBa=function(a,b,c,d,e,f){var g=document.createElement("canvas");g.width=b;g.height=c;var j=g.getContext("2d");j.fillStyle="#000000";j.fillRect(0,0,b,c);if(a){var a=a.hf(),d=Math.round(b*d/360),i=Math.round(c*e/180),b=(b-d)*0.5,c=Math.round(c*(90-(f+e*0.5))/180);j.drawImage(a,b,c,d,i)}c=[];g=j.getImageData(0,0,g.width,g.height);for(e=j=0;j<g.height;j++)for(f=0;f<g.width;f++,e=e+4)c.push((0.299*g.data[e]+0.587*g.data[e+1]+0.114*
g.data[e+2])/255);return c};k.prototype.Rfa=function(){b(this.HA).each(function(a){if(a){a.unbind(d.T,this.lka,this);a.unbind(d.tc,this.mka,this);a.cancel()}},this);this.HA=r};k.prototype.lka=function(){b(this.HA).filter(function(a){return a&&!a.tl()}).length==0&&this.PGa()};k.prototype.mka=G();k.prototype.Hza=function(){this.$.bind(d.u("minimumLuminance"),this.du,this);this.$.bind(d.u("maximumLuminance"),this.du,this);this.$.bind(d.u("luminanceChangeTime"),this.du,this);this.$.bind(d.u("maxLuminanceChangeSpeed"),
this.du,this);this.du()};k.prototype.gMa=function(){this.$.unbind(d.u("minimumLuminance"),this.du,this);this.$.unbind(d.u("maximumLuminance"),this.du,this);this.$.unbind(d.u("luminanceChangeTime"),this.du,this);this.$.unbind(d.u("maxLuminanceChangeSpeed"),this.du,this)};k.prototype.du=function(){this.xn=this.$.get("minimumLuminance");this.Ut=this.$.get("maximumLuminance");if(this.xn==l&&this.Ut==l){this.xn=0.2;this.Ut=0.45}else this.xn==l?this.xn=Math.min(0.2,this.Ut):this.xn==l?this.Ut=Math.max(0.45,
this.xn):this.xn=Math.min(this.xn,this.Ut);this.Ut=Math.min(1,Math.max(0,this.Ut));this.xn=Math.min(1,Math.max(0,this.xn));this.Hia=Math.max(100,this.$.get("luminanceChangeTime",5E3));this.Lia=this.$.get("maxLuminanceChangeSpeed",1);this.Ba()};k.jI=1E3;return k});
define("mG",["require","kL","x","kn","kC"],function(a){var b=a("kL"),e=a("x"),d=a("kn"),g=a("kC"),a=b.extend(g,function(a){g.call(this,a);this.bR=this.cR=r;this.Ti=this.sh=5E3;this.rd=l;this.ab=this.sh;this.fm=1;this.$=r;this.zA=B});a.prototype.start=function(a){this.$=a;this.zA=B;this.PR=m;this.cR=e.watch(this.$,"frameDisplayTime",this.c8,this);this.bR=e.watch(this.$,"frameTransitionTime",this.c8,this);this.fm=this.kR(this.$);this.rd=this.$.yW()*(this.sh+this.Ti);this.c8(m);this.Hp();this.Ba();this.lj()};
a.prototype.c8=function(a){var b=Math.max(100,this.$.get("frameDisplayTime",5E3)),d=Math.max(100,this.$.get("frameTransitionTime",5E3));if(this.sh!=b||this.Ti!=d||a){var a=this.vE(),e=this.CDa();this.Z1();this.sh=b;this.Ti=d;1<this.fm?(this.rd=a*(this.sh+this.Ti)+e*this.sh+e*this.Ti,this.ab=this.fm*(this.sh+this.Ti)):(this.rd=e*this.sh,this.ab=this.sh)}};a.prototype.vE=function(){return 1<this.fm?Math.floor(this.rd/(this.sh+this.Ti)):0};a.prototype.DDa=function(){return 1<this.fm?(this.vE()+1)%this.fm:
0};a.prototype.CDa=function(){return 1<this.fm?Math.max(0,Math.min(1,this.rd-this.vE()*(this.sh+this.Ti))):this.rd/this.sh};a.prototype.Z1=function(){return 1<this.fm?Math.max(0,Math.min(1,(this.rd-(this.vE()*(this.sh+this.Ti)+this.sh))/this.Ti)):0};a.prototype.gLa=function(a){var b=Math.floor(a/this.Ti);return b*(this.sh+this.Ti)+this.sh+(a-b*this.Ti)};a.prototype.qoa=function(a){var b=Math.floor(a/(this.sh+this.Ti)),a=Math.max(0,a-b*(this.sh+this.Ti)-this.sh);return b*this.Ti+a};a.prototype.play=
function(){this.zA&&(this.zA=B,this.PR&&this.Ba(),this.lj())};a.prototype.pause=function(){this.zA=m;this.lj()};a.prototype.oH=function(){this.pause()};a.prototype.wH=function(){this.play()};a.prototype.end=function(){this.PR=B;this.$=r;this.cR&&(this.cR.unwatch(),this.cR=r);this.bR&&(this.bR.unwatch(),this.bR=r);this.lj()};a.prototype.FC=function(a){this.rd=a;this.Ba()};a.prototype.vy=function(a){this.rd=this.gLa(a);this.Ba();this.pause()};a.prototype.gd=function(a){if(this.PR){this.zA||(this.rd+=
a);this.rd%=this.ab;for(var a=this.vE(),b=this.DDa(),d=this.Z1(),e=b>a?d:1,d=b>a?1:1-d,g=0;g<this.fm;g++){var k;k=g==a?d:g==b?e:0;var o=this.h.jf(this.f2(this.$,g));o.get("alpha")!=k&&(0<k&&1>k&&o.qj(),o.set("alpha",k))}this.Hp();this.zA||this.Ba()}};a.prototype.vj=function(){return this.PR?this.zA?d.Db:d.Q:d.M};a.prototype.lj=function(){g.prototype.lj.call(this,this.vj())};a.prototype.Hp=function(){var a=this.rd,b=this.ab,d=this.qoa(this.rd),e=this.qoa(this.ab),n=this.fm+1,k=0===this.Z1()?this.vE():
l;g.prototype.Hp.call(this,a,b,d,e,n,k)};return a});define("bJ",["require","kL","kC"],function(a){var b=a("kL"),e=a("kC");return b.extend(e,function(a){e.call(this,a)})});
define("lN",["require","kL","nV","kn","kC"],function(a){var b=a("kL"),e=a("nV"),d=a("kn"),g=a("kC"),a=b.extend(g,function(a){g.call(this,a);this.Le=B});a.prototype.dH=G();a.prototype.start=function(a){this.end();this.$=a;this.$.set("mute",this.Le);this.$.get("autoplay")&&this.$.set("state",d.Q);this.Us()};a.prototype.getTime=function(){return this.$?this.$.get("currentTime"):0};a.prototype.vj=function(){return this.$?this.$.get("state"):d.M};a.prototype.play=function(){this.$&&this.$.set("state",
d.Q)};a.prototype.pause=function(){this.$&&this.$.set("state",d.Db)};a.prototype.QX=function(){this.$&&this.$.set("state",d.Db)};a.prototype.stop=function(){this.$&&this.$.set("state",d.M)};a.prototype.end=function(){this.$&&(this.ru(),this.$=r)};a.prototype.FC=function(a){this.$&&this.$.set("state",d.Q);this.$&&this.$.set("currentTime",a)};a.prototype.kf=function(a){this.Le=a;this.$&&this.$.set("mute",this.Le)};a.prototype.Us=function(){this.$.bind(e.u("currentTime"),this.Ce,this,m);this.$.bind(e.u("duration"),
this.qm,this,m);this.$.bind(e.u("state"),this.cf,this,m);this.$.get("state")!=d.M&&this.lj()};a.prototype.ru=function(){this.$.unbind(e.u("currentTime"),this.Ce,this,m);this.$.unbind(e.u("duration"),this.qm,this,m);this.$.unbind(e.u("state"),this.cf,this,m)};a.prototype.cf=function(){this.lj()};a.prototype.Ce=function(){this.Hp()};a.prototype.qm=function(){this.Hp()};a.prototype.Hp=function(){this.$&&g.prototype.Hp.call(this,this.$.get("currentTime"),this.$.get("duration"))};return a});
define("w","require,kL,kn,cu,fQ,mR,kC,bp,mG,bJ,lN".split(","),function(a){var b=a("kL");a("kn");var e=a("cu"),d=a("fQ"),g=a("mR"),c=a("kC"),i=a("bp"),f=a("mG"),j=a("bJ"),n=a("lN"),k=b.extend(d,function(a){d.call(this);this.h=a;this.P3=this.wQ(f);this.I2=this.wQ(i);this.FV=this.wQ(n);this.e7=this.wQ(j);this.Ad=r});k.prototype.clear=function(){this.kQ(this.P3);this.P3=r;this.kQ(this.I2);this.I2=r;this.kQ(this.FV);this.FV=r;this.kQ(this.e7);this.h=this.Ad=this.e7=r};k.prototype.wQ=function(a){a=new a(this.h);
a.bind(c.ob,this.re,this,m);a.bind(c.Li,this.gp,this,m);a.bind(c.mc,this.Ae,this,m);return a};k.prototype.kQ=function(a){a.unbind(c.ob,this.re,this);a.unbind(c.Li,this.gp,this);a.unbind(c.mc,this.Ae,this);a.clear()};k.prototype.t3=function(a,b){return g.va(b,a)};k.prototype.Zga=function(a){return this.t3(a,"HDRPanorama")?this.I2:this.t3(a,"LivePanorama")?this.P3:this.t3(a,"VideoPanorama")?this.FV:this.e7};k.prototype.dH=function(a){(this.Ad=this.Zga(a))&&this.Ad.dH(a)};k.prototype.start=function(a){this.re();
(this.Ad=this.Zga(a))&&this.Ad.start(a)};k.prototype.vj=function(){if(this.Ad)return this.Ad.vj()};k.prototype.getTime=function(){return this.Ad?this.Ad.getTime():0};k.prototype.play=function(){this.Ad&&this.Ad.play()};k.prototype.pause=function(){this.Ad&&this.Ad.pause()};k.prototype.oH=function(){this.Ad&&this.Ad.oH()};k.prototype.wH=function(){this.Ad&&this.Ad.wH()};k.prototype.QX=function(){this.Ad&&this.Ad.QX()};k.prototype.stop=function(){this.Ad&&this.Ad.stop();this.trigger(new e(k.Li,{duration:0,
time:0,steps:l,selectedStep:l}))};k.prototype.end=function(){if(this.Ad){this.Ad.end();this.Ad=r}};k.prototype.FC=function(a){this.Ad&&this.Ad.FC(a)};k.prototype.vy=function(a){this.Ad&&this.Ad.vy(a)};k.prototype.Ey=function(){this.Ad&&this.Ad.Ey()};k.prototype.gd=function(a){this.Ad&&this.Ad.gd(a)};k.prototype.kf=function(a){this.FV.kf(a)};k.prototype.re=function(){this.trigger(new e(k.ob))};k.prototype.gp=function(a){this.trigger(new e(k.Li,a.data))};k.prototype.Ae=function(a){this.trigger(new e(k.mc,
a.data))};k.ob="request frame";k.Jwa="frame display";k.Kwa="frame hide";k.Li="time change";k.mc="playback state change";return k});
define("lO",["require","kL","nV","fQ","kM"],function(a){var b=a("kL"),e=a("nV"),d=a("fQ"),g=a("kM"),a=b.extend(d,function(a){d.call(this);this.h=a;this.Tg=this.$=r});a.prototype.start=function(a){this.$=a;this.Tg=this.h.jf(this.$);this.Tg.bind(e.T,this.Yc,this,m);this.Tg.bind(e.dc,this.hu,this,m);this.Tg.get("ready")?this.trigger(e.Ic,{panorama:this.$}):this.Tg.bind(e.Ic,this.lF,this,m);this.Tg.set("loadingActive",m)};a.prototype.stop=function(){this.$=r;this.Tg&&(this.Tg.unbind(e.Ic,this.lF,this),
this.Tg.unbind(e.T,this.Yc,this),this.Tg.unbind(e.dc,this.hu,this),this.Tg.set("loadingActive",B),this.Tg=r,this.trigger(e.$f))};a.prototype.clear=function(){this.stop()};a.prototype.lF=function(){this.Tg.unbind(e.Ic,this.lF,this);this.trigger(e.Ic,{panorama:this.$})};a.prototype.Yc=function(){this.Tg.unbind(e.Ic,this.lF,this);this.Tg.unbind(e.T,this.Yc,this);this.Tg.unbind(e.dc,this.hu,this);this.Tg=r;this.trigger(e.T,{panorama:this.$});this.$=r;this.trigger(e.$f)};a.prototype.hu=function(a){this.trigger(new g(e.dc,
a.Fg))};return a});
define("jt","require,kL,nV,cu,fQ,R".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("R"),i=b.extend(g,function(a){g.call(this);this.h=a;this.Xo=this.$=this.Wh=r;this.Qa=this.sa=0;this.ya=Math.PI*0.5});i.prototype.clear=function(){this.stop();this.oma();this.Wh=this.h=r};i.prototype.Eaa=function(a){if(this.Wh!=a){this.oma();this.nQ();this.Wh=a;this.aea();this.Lya()}};i.prototype.Lya=function(){this.Wh&&this.Wh.bind(e.u("map"),this.nka,this,B)};i.prototype.oma=function(){this.Wh&&
this.Wh.unbind(e.u("map"),this.nka,this,B)};i.prototype.stop=function(){this.nQ();this.$=r};i.prototype.gd=function(){this.sa=this.h.Oc();this.Qa=this.h.Hc();this.ya=this.h.lg();this.Wh&&this.Xo&&this.Wh.Qm(this.Xo,this.sa,this.Qa,this.ya)};i.prototype.nka=function(){if(this.$){this.nQ();(this.Xo=this.Oma(this.$,this.Wh.get("map",r),B))&&this.Ina()}};i.prototype.display=function(a){if(this.$!=a){this.nQ();this.$=a;this.aea()}};i.prototype.hide=function(a){this.$==a&&this.stop()};i.prototype.nQ=function(){if(this.Xo){this.XEa();
this.Xo=r}};i.prototype.aea=function(){if(this.Wh&&this.$)(this.Xo=this.Oma(this.$,this.Wh.get("map",r),m))&&this.Ina()};i.prototype.Oma=function(a,b,c){for(var a=a.get("mapLocations",[]),d=0;d<a.length;d++){var e=a[d];if(e.get("map")==b)return e}return c&&a.length>0?a[0]:r};i.prototype.Ina=function(){this.Wh.WNa(this.Xo);this.Wh.bind(c.Bj,this.uma,this,m);this.Wh.Qm(this.Xo,this.sa,this.Qa,this.ya)};i.prototype.XEa=function(){if(this.Wh){this.Wh.HRa(this.Xo);this.Wh.unbind(c.Bj,this.uma,this)}};
i.prototype.uma=function(a){this.trigger(new d(i.Bj,{yawDelta:a.data.yawDelta}))};i.Bj="request yaw change";return i});
define("gM","require,nV,kO,fQ,bf,bu".split(","),function(a){function b(a){this.qQ=a;this.Ui=r;this.P_={};for(a=0;a<this.qQ.buttons.length;a++)this.P_[this.qQ.buttons[a]]=B;this.N_=0;this.Cx=r;this.gB=[new THREE.Quaternion,new THREE.Quaternion];this.Yj=this.gB[0];this.Ah=[new THREE.Vector3,new THREE.Vector3];this.Ma=this.Ah[0];this.DF=new THREE.Vector3;this.dB=new THREE.Quaternion;this.$ea=0}function e(a,b,c){this.lQa=a;this.buttons=b;this.sRa=c}function d(){if(!(E||x==k.Pe)){x=k.Pe;var a,c=o.isPresenting()&&
o.Vr();if(a=c&&c.qW&&c.qW.length?c.qW:navigator.getGamepads&&navigator.getGamepads()){for(c=0;c<u.length;c++)u[c].Sua(r);for(c=0;c<a.length;c++){var d=a[c];if(d&&(d.pose||d.s$)){var e=d.id||d.tQa,f=e+(d.hand?"-"+d.hand:""),i=v[f];if(!i){a:{for(var n=0;n<p.length;n++){var s=p[n];if(e.indexOf(t[s].lQa)==0){e=s;break a}}e=l}e&&u.push(i=v[f]=new b(t[e]))}i&&v[f].Sua(d)}}(a=w)&&!w.B$()&&(w=r);for(c=0;c<u.length;c++){i=u[c];if(i.B$()&&i.pressed()){w=i;break}}if(!w)for(c=0;c<u.length;c++){i=u[c];if(i.B$()){if(i.hand()==
q){w=i;break}w||(w=i)}}a!=w&&j.uy(g)}}}function g(){s.trigger(f.ra)}function c(){d()}function i(){if(o.isPresenting()){if(y){clearInterval(y);y=r}d();y=setInterval(c,500)}else if(y){clearInterval(y);y=r}}var f=a("nV"),j=a("kO"),n=a("fQ"),k=a("bf"),o=a("bu"),p=["oculus go","oculus touch","xr-standard","gear vr","daydream","vive","vive focus","microsoft","unknown"],q="right",t={};t["oculus go"]=new e("Oculus Go",["trackpad","trigger"],"trigger");t["oculus touch"]=new e("Oculus Touch",["thumbstick",
"trigger","grip","abutton","bbutton","surface"],"trigger");t["xr-standard"]=new e("xr-standard",["trigger","grip","unknow_button_0","thumbstick","abutton","bbutton","unknow_button"],"trigger");t["gear vr"]=new e("Gear VR",["trackpad","trigger"],"trigger");t.daydream=new e("Daydream Controller",["trackpad","menu","system"],"trackpad");t.vive=new e("OpenVR",["trackpad","trigger","grip","menu","system"],"trigger");t["vive focus"]=new e("HTC Vive Focus",["trackpad","trigger","grip"],"trigger");t.microsoft=
new e("Spatial Controller (Spatial Interaction Source)",["thumbstick","trigger","grip","menu","thumbpad"],"trigger");t.unknown=new e("",[],l);b.prototype.Sua=function(a){if(this.Ui=a){this.QEa=this.Ui.hand||this.Ui.sQa;if(this.Ui.pose){this.Cx=this.Ui.pose;if(this.Cx.orientation){this.Yj=this.gB[0]==this.Yj?this.gB[1]:this.gB[0];this.Yj.fromArray(this.Cx.orientation)}if(this.Cx.position){this.Ma=this.Ah[0]==this.Ma?this.Ah[1]:this.Ah[0];this.Ma.fromArray(this.Cx.position)}else this.Ma=r}else if(this.Ui.s$){this.Cx=
this.Ui.s$.transform;this.Yj=this.gB[0]==this.Yj?this.gB[1]:this.gB[0];this.Yj.copy(this.Cx.orientation);this.Ma=this.Ah[0]==this.Ma?this.Ah[1]:this.Ah[0];this.Ma.copy(this.Cx.position)}for(var a=0,b=Math.min(this.Ui.buttons.length,this.Ui.buttons.length);a<b;a++)this.P_[this.qQ.buttons[a]]=this.Ui.buttons[a].pressed;for(a=this.N_=0;a<this.Ui.buttons.length;a++)this.Ui.buttons[a].pressed&&this.N_++;(a=!!this.DF!=!!this.Ma||this.Ma&&this.DF.x!=this.Ma.x&&this.DF.y!=this.Ma.y&&this.DF.z!=this.Ma.z)&&
(this.Ma?this.DF.copy(this.Ma):this.DF.set(0,0,0,0));(b=!!this.dB!=!!this.Yj||this.Yj&&(this.dB.x!=this.Yj.x||this.dB.y!=this.Yj.y||this.dB.z!=this.Yj.z||this.dB.w!=this.Yj.w))&&(this.Yj?this.dB.copy(this.Yj):this.dB.set(0,0,0));if(a||b)this.$ea=k.Pe}};b.prototype.pulse=function(a,b){var c=this.Ui&&this.Ui.hapticActuators;(c=c&&c.length&&c[0])&&c.pulse&&c.pulse(a,b)};b.prototype.B$=function(){return!!this.Ui};b.prototype.CQa=function(){return k.Pe-this.$ea>500};b.prototype.hand=S("QEa");b.prototype.quaternion=
S("Yj");b.prototype.position=S("Ma");b.prototype.pressed=function(a){a||(a=this.qQ.sRa);return!a?this.N_>0:this.P_[a]};var s=new n;s.all=function(){d();return u};s.eX=function(){d();return w};s.Ha="left";s.Va=q;var u=[],w=r,v={},x=l,y=r,E=URL.Jh("disable-controller",B);o.bind(f.ra,i);i();return s});
define("dc",["require","eP","a"],function(a){function b(a,b){this.sf=a||new e(0,0,0);this.Hi=b||new e(1,0,0)}var e=a("eP"),d=a("a");b.prototype.clone=function(){return new b(this.sf.clone(),this.Hi.clone())};b.prototype.apply=function(a){a.FG(this.sf);a.FG(this.Hi)};b.prototype.Tra=function(){return d.my(this.sf,this.Hi)};return b});
define("hI",["require","dc","eP"],function(a){function b(a,b,d){this.X=a||100;this.ia=b||100;this.ya=d||Math.PI;this.J5=l;this.Jq=m}var e=a("dc"),d=a("eP");b.prototype.DC=function(a){this.ya!=a&&(this.ya=a,this.Jq=m)};b.prototype.Vu=S("ya");b.prototype.GO=function(a){this.X!=a&&(this.X=a,this.Jq=m)};b.prototype.bd=S("X");b.prototype.Uua=function(a){this.ia!=a&&(this.ia=a,this.Jq=m)};b.prototype.Rd=S("ia");b.prototype.project=function(a){if(0!=a.z){this.rpa();var b=1/a.z,d=this.J5*b;a.x=0.5*this.X-
a.x*d;a.y=0.5*this.ia-a.y*d;a.z=b}};b.prototype.unproject=function(a){this.rpa();return new e(new d(0,0,0),new d(0.5*this.X-a.x,0.5*this.ia-a.y,this.J5))};b.prototype.rpa=function(){this.Jq&&(this.J5=0.5*this.X/Math.tan(0.5*this.ya),this.Jq=B)};return b});
define("ob",["require"],function(){function a(){this.Ie=this.pitch=this.Ka=0;this.Ih=this.ve=90;this.pN=this.ZV=this.height=this.width=100;this.wj=1;this.oC=this.Tb=B;this.Dl=0;this.pW=this.PV=this.jX=B;this.mC=this.lO=m;this.camera=this.xN=this.wN=this.rg=r;this.enabled=B;this.Pe=0;this.KO=l}a.prototype.clone=function(){var b=new a;b.Ka=this.Ka;b.pitch=this.pitch;b.Ie=this.Ie;b.ve=this.ve;b.Ih=this.Ih;b.width=this.width;b.height=this.height;b.ZV=this.ZV;b.pN=this.pN;b.wj=this.wj;b.Tb=this.Tb;b.oC=
this.oC;b.Dl=this.Dl;b.jX=this.jX;b.pW=this.pW;b.PV=this.PV;b.lO=this.lO;b.mC=this.mC;b.rg=this.rg;b.wN=this.wN;b.xN=this.xN;b.camera=this.camera;b.enabled=this.enabled;b.Pe=this.Pe;b.KO=this.KO;return b};return a});
define("du","require,jquery.mod,dZ,nV,mn,bf,gY".split(","),function(a){function b(a){this.aba=a;this.element=document.createElement("div");this.gba=document.createElement("span");this.element.appendChild(this.gba);this.gba.innerHTML=a.text.split("<br>").join("\n").split("\n").map(d).join("<br>");this.$V=B}function e(a){this.J=a;this.PM=c.throttle(this.PM.bind(this),100);this.QM=c.throttle(this.QM.bind(this),100);this.ba=document.createElement("div");this.ba.style.position="absolute";this.ba.style.left=
0;this.ba.style.top=0;this.ba.style.right=0;this.ba.style.bottom=0;this.ba.style.zIndex=1;this.ba.style.cursor="inherit";this.ba.style.display="none";this.OZ=g(this.ba);this.Yk=document.createElement("div");this.Yk.style.position="absolute";this.Yk.style.left=0;this.Yk.style.right=0;this.Yk.style.zIndex=1;this.Yk.style.cursor="inherit";this.ba.appendChild(this.Yk);this.Tx=r;this.eG=[];this.yh=[];this.f5={};this.tG=f.Zb;this.J.bind(i.u("subtitlesEnabled"),this.lG,this);e.Dca.forEach(function(a){this.J.bind(i.u(a),
this.PM,this)}.bind(this));e.Eca.forEach(function(a){this.J.bind(i.u(a),this.QM,this)}.bind(this));this.lG();this.PM();this.QM()}function d(a){k.innerHTML=a;return k.innerText}var g=a("jquery.mod"),c=a("dZ"),i=a("nV"),f=a("mn"),j=a("bf"),n=a("gY");e.prototype.clear=function(){this.Raa(r);if(this.J){this.J.unbind(i.u("subtitlesEnabled"),this.lG,this);e.Dca.forEach(function(a){this.J.unbind(i.u(a),this.PM,this)}.bind(this));e.Eca.forEach(function(a){this.J.unbind(i.u(a),this.QM,this)}.bind(this));this.J=
r}};e.prototype.Ac=S("OZ");e.prototype.Raa=function(a){if(this.Tx!=a){this.Tx&&this.Tx.unbind(i.u("activeSubtitles"),this.s4,this,m);(this.Tx=a)&&this.Tx.bind(i.u("activeSubtitles"),this.s4,this,m);this.s4()}};e.prototype.s4=function(){this.tKa(this.Tx&&this.Tx.get("activeSubtitles")||[])};e.prototype.lG=function(){this.K=this.J.get("subtitlesEnabled");this.z8()};e.prototype.PM=function(){this.tG=this.oJ("subtitlesVerticalAlign",[f.ec,f.Sd,f.Zb],f.Zb);this.Yk.style["text-align"]=this.oJ("subtitlesHorizontalAlign",
[f.Ha,f.Va,f.ke],f.ke);this.Yk.style.bottom=this.tG==f.Zb?this.Mj("subtitlesBottom",0):"";this.Yk.style.top=this.tG==f.ec?this.Mj("subtitlesTop",0):this.tG==f.Sd?"50%":"";this.Yk.style.transform=this.tG==f.Sd?"translate(0, -50%)":"";this.z8()};e.prototype.QM=function(){var a={};a["background-color"]=this.y2("subtitlesBackgroundColor","subtitlesBackgroundOpacity");a.border=[this.Mj("subtitlesBorderSize"),"solid",this.Qh("subtitlesBorderColor")].join(" ");a["box-shadow"]=this.Qh("subtitlesShadow",B)?
[this.Mj("subtitlesShadowHorizontalLength"),this.Mj("subtitlesShadowVerticalLength"),this.Mj("subtitlesShadowBlurRadius"),this.y2("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";a.display="inline-block";a["font-family"]=n.Ru(this.Qh("subtitlesFontFamily"));a["font-size"]=this.Mj("subtitlesFontSize");a.color=this.Qh("subtitlesFontColor");a["font-weight"]=this.oJ("subtitlesFontWeight",["bold","bolder","lighter","100","200","300","400","500","600","700","800","900","normal"],
"normal");a["font-style"]=this.oJ("subtitlesFontStyle",["italic","normal"],"normal");a["margin-bottom"]=this.Mj("subtitlesGap");a.opacity=this.Qh("subtitlesOpacity");a["padding-top"]=this.Mj("subtitlesPaddingTop");a["padding-bottom"]=this.Mj("subtitlesPaddingBottom");a["padding-left"]=this.Mj("subtitlesPaddingLeft");a["padding-right"]=this.Mj("subtitlesPaddingRight");a.position="relative";a["text-align"]=this.oJ("subtitlesHorizontalAlign",["left","right","center"],"center");a["text-decoration"]=this.Qh("subtitlesTextDecoration",
["underline","overline","line-through","none"],"none");a["text-shadow"]=[this.Mj("subtitlesTextShadowHorizontalLength"),this.Mj("subtitlesTextShadowVerticalLength"),this.Mj("subtitlesTextShadowBlurRadius"),this.y2("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.f5=a;this.rza()};e.prototype.tKa=function(a){this.eG=a;this.z8()};e.prototype.z8=function(){for(var a=this.K?this.eG:[],c=this.yh.length-1;c>=0;c--){var d=this.yh[c];if(a.indexOf(d.aba)>=0)break;this.Yk.removeChild(d.element)}for(var e=
[],g=B;c>=0;c--){d=this.yh[c];if(!d.$V&&a.indexOf(d.aba)<0){d.$V=m;d.element.style.visibility="hidden";g=m}e.splice(0,0,d)}g&&j.vb(this.nfa,this);this.yh=e;var i=this.yh.filter(function(a){return!a.$V}).map(function(a){return a.aba});a.filter(function(a){return i.indexOf(a)<0}).forEach(function(a){a=new b(a);this.rea(a);this.tG==f.Zb&&this.yh.length>0?this.Yk.insertBefore(a.element,this.yh[this.yh.length-1].element):this.Yk.appendChild(a.element);this.yh.push(a)}.bind(this));this.ba.style.display=
this.yh.length>0?"block":"none"};e.prototype.nfa=function(a){for(var b=B,a=Math.round(200*a/1E3),c=0;c<this.yh.length;c++){var d=this.yh[c];if(d.$V){b=m;if(a>=d.element.clientHeight){a=a-d.element.clientHeight;this.Yk.removeChild(d.element);this.yh.splice(c,1);c--}else{d.element.style.height=d.element.clientHeight-a+"px";break}}}b&&j.vb(this.nfa,this)};e.prototype.rza=function(){this.yh.forEach(this.rea.bind(this))};e.prototype.rea=function(a){for(var b in this.f5)a.gba.style[b]=this.f5[b]};e.prototype.Qh=
function(a,b){return this.J.get(a,b)};e.prototype.Mj=function(a,b){var c=this.J.get(a,b);isNaN(c)||(c=Math.round(c)+"px");return c};e.prototype.oJ=function(a,b,c){a=this.J.get(a);return b.indexOf(a)<0?c:a};e.prototype.y2=function(a,b,c,d){a=this.J.get(a,c);b=this.J.get(b,d);return"rgba("+parseInt("0x"+a.substr(1,2))+", "+parseInt("0x"+a.substr(3,2))+", "+parseInt("0x"+a.substr(5,2))+", "+b+")"};e.Dca=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];e.Eca=["subtitlesBackgroundColor",
"subtitlesBackgroundOpacity","subtitlesBorderColor","subtitlesBorderSize","subtitlesFontFamily","subtitlesFontColor","subtitlesFontSize","subtitlesFontStyle","subtitlesFontWeight","subtitlesGap","subtitlesOpacity","subtitlesPaddingTop","subtitlesPaddingBottom","subtitlesPaddingLeft","subtitlesPaddingRight","subtitlesShadow","subtitlesShadowBlurRadius","subtitlesShadowHorizontalLength","subtitlesShadowVerticalLength","subtitlesShadowColor","subtitlesTextDecoration","subtitlesTextShadowBlurRadius",
"subtitlesTextShadowColor","subtitlesTextShadowHorizontalLength","subtitlesTextShadowOpacity","subtitlesTextShadowVerticalLength"];var k=document.createElement("div");return e});
define("ez",["require","kL","nV","du"],function(a){var b=a("kL"),e=a("nV"),d=a("du"),a=b.extend(d,function(a,b){d.call(this,a);this.oc=b;this.oc.bind(e.u("panorama"),this.J4,this);this.J4()});a.prototype.clear=function(){this.oc&&(this.oc.unbind(e.u("panorama"),this.J4,this),this.oc=r);d.prototype.clear.call(this)};a.prototype.J4=function(){this.Raa(this.oc.get("panorama"))};return a});
define("db",["require"],function(){function a(a,b){this.h=a;this.HF=b;this.Tf=new THREE.CustomRenderPass(b);this.Tf.renderToScreen=B;this.oU=new THREE.SavePass;this.oU.enabled=m;this.$v=new THREE.ShaderPass(THREE.BlendShader,"tDiffuse1");this.$v.uniforms.tDiffuse2.value=this.oU.renderTarget.texture;this.$v.uniforms.mixRatio.value=0.8;this.$v.renderToScreen=m;this.$v.enabled=m;this.qla=new THREE.ShaderPass(THREE.CopyShader);this.qla.renderToScreen=m;this.Vl=new THREE.EffectComposer(a);this.Vl.addPass(this.Tf);
this.Vl.addPass(this.$v);this.Vl.addPass(this.oU);this.Vl.addPass(this.qla);this.iw=this.jw=l}var b=new THREE.Vector2;a.prototype.destroy=function(){this.Vl=this.$v=this.oU=this.Tf=this.HF=this.h=r};a.prototype.start=function(){this.$v.uniforms.mixRatio.value=0;this.P1=3};a.prototype.render=function(a,d){this.h.getSize(b);if(this.jw!==b.width||this.iw!==b.height)this.jw=b.width,this.iw=b.height,this.Vl.setSize(this.jw,this.iw);this.Tf.scene=a;this.Tf.camera=d;0<this.P1&&(this.P1--,0===this.P1&&(this.$v.uniforms.mixRatio.value=
0.65));this.Vl.render()};return a});
define("iS",["require"],function(){function a(a,b){this.h=a;this.HF=b;this.Vl=new THREE.EffectComposer(a);this.Tf=new THREE.CustomRenderPass(b);this.Tf.renderToScreen=B;this.Vl.addPass(this.Tf);this.gR=new THREE.ShaderPass(THREE.FXAAShader);this.Vl.addPass(this.gR);this.iw=this.jw=l}var b=new THREE.Vector2;a.prototype.destroy=function(){this.Vl=this.gR=this.Tf=this.HF=this.h=r};a.prototype.render=function(a,d){this.h.getSize(b);if(this.jw!==b.width||this.iw!==b.height)this.jw=b.width,this.iw=b.height,
this.Vl.setSize(this.jw,this.iw),this.gR.material.uniforms.resolution.value.x=1/this.jw,this.gR.material.uniforms.resolution.value.y=1/this.iw;this.Tf.scene=a;this.Tf.camera=d;this.Vl.render()};return a});
define("ku",["require","db","iS"],function(a){function b(a,c){this.h=a;this.HF=c;this.tS=new e(a,c);this.T1=new d(a,c);this.RQ=b.NONE}var e=a("db"),d=a("iS");b.Pba="fxaa";b.kZ="motionBlur";b.NONE="none";b.prototype.destroy=function(){this.tS.destroy();this.tS=r;this.T1.destroy();this.HF=this.h=this.T1=r};b.prototype.vaa=function(a){this.RQ!=a&&(this.RQ=a,this.RQ==b.kZ&&this.tS.start())};b.prototype.render=function(a,c){switch(this.RQ){case b.Pba:this.T1.render(a,c);break;case b.kZ:this.tS.render(a,
c);break;default:this.HF(this.h,a,c,r,B)}};return b});
define("bh","require,bu,u,dw,V,gZ".split(","),function(a){var b=a("bu");a("u");var e=a("dw"),d=a("V"),g=a("gZ"),c=180/Math.PI;return{txa:function(a,b){var c,e;this.setSize=function(b,d){if(c!=b||e!=d){c=b;e=d;a.setSize(b,d)}};this.bd=function(){return c};this.Rd=function(){return e};this.start=function(k){d.uaa(k,[b]);c&&e&&a.setSize(c,e);a.setPixelRatio(g.getPixelRatio())};this.stop=G();this.fov=function(){return b.fov};this.mba=G();this.camera=function(){return b};this.render=function(c,d,e){a.setRenderTarget(d);
e&&a.clear();a.render(c,b)}},Vxa:function(a,f){var g,n,k,o,p=new THREE.Vector2,q=new THREE.PerspectiveCamera;q.layers.enable(e.Ha);var t=new THREE.PerspectiveCamera;t.layers.enable(e.Va);this.start=function(c){a.getSize(p);g=a.getPixelRatio();n=p.width;k=p.height;o=a.getContext().getParameter(a.getContext().FRAMEBUFFER_BINDING);var e=b.AW();e.EN&&a.getContext().bindFramebuffer(a.getContext().FRAMEBUFFER,e.EN);a.setClearColor(0,1);a.setDrawingBufferSize(e.Xn,e.Km,e.mW);d.uaa(c,[q,t])};this.stop=function(){a.getContext().bindFramebuffer(a.getContext().FRAMEBUFFER,
o);a.setClearColor(0,0);a.setDrawingBufferSize(n,k,g)};this.setSize=function(a,b){n=a;k=b};this.bd=function(){return n};this.Rd=function(){return k};this.fov=function(){return t.fov};this.camera=function(){return t};this.mba=function(){f.updateProjectionMatrix();f.updateMatrixWorld();b.Vr().views.forEach(function(a){var d=a.eye==b.Wm.Ha?q:a.eye==b.Wm.Va?t:r;if(d){f.matrixWorld.decompose(d.position,d.quaternion,d.scale);d.applyQuaternion(a.orientation);d.translateOnAxis(a.position,1);d.projectionMatrix.copy(a.projectionMatrix);
d.fov=2*Math.atan(1/d.projectionMatrix.elements[5])*c}})};this.render=function(c,d,e){var f=c.K$;if(f){c.updateMatrixWorld();c.K$=B}if(d){a.setRenderTarget(d);d.scissorTest=m}else{a.setRenderTarget(r);a.setScissorTest(m)}(a.autoClear||e)&&a.clear();b.Vr().views.forEach(function(e){var f=e.eye==b.Wm.Ha?q:e.eye==b.Wm.Va?t:r;if(f){if(d){d.viewport.set(e.viewport.x,e.viewport.y,e.viewport.width,e.viewport.height);d.scissor.set(e.viewport.x,e.viewport.y,e.viewport.width,e.viewport.height)}else{a.setViewport(e.viewport.x,
e.viewport.y,e.viewport.width,e.viewport.height);a.setScissor(e.viewport.x,e.viewport.y,e.viewport.width,e.viewport.height)}a.render(c,f)}});a.getSize(p);if(d){d.viewport.set(0,0,p.width,p.height);d.scissor.set(0,0,p.width,p.height);d.scissorTest=B;a.setRenderTarget(r)}else{a.setViewport(0,0,p.width,p.height);a.setScissorTest(B)}if(f)c.K$=m}},Nxa:function(a,b){var c,n,k=1,o=new THREE.WebGLCubeRenderTarget(1024),p=new THREE.CubeCamera(0.1,1E4,o);p.layers.enable(e.ss);p.layers.enable(e.Ha);o=new THREE.ShaderMaterial;
o.uniforms={tCube:{value:p.renderTarget.texture},tFlip:{value:1},opacity:{value:1}};o.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";o.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";
o.side=THREE.BackSide;o.depthWrite=B;o.transparent=m;o.depthTest=B;o.needsUpdate=m;var q=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),o);q.overdraw=B;q.matrixAutoUpdate=B;q.renderOrder=1E3;var t=new THREE.Matrix4;this.GC=function(a){k=a};this.setSize=function(b,d){if(c!=b||n!=d)a.setSize(c=b,n=d)};this.bd=function(){return c};this.Rd=function(){return n};this.start=function(e){e.add(q);e.add(p);e.traverse(function(a){if(a.layers.test(p.layers)){a.userData.F$=a.layers.mask;a.layers.mask=p.layers.mask}});
p.visible=m;q.visible=m;d.uaa(e,[b]);a.setClearColor(16777215,1);a.setPixelRatio(g.getPixelRatio());c&&n&&a.setSize(c,n)};this.stop=function(b){a.setClearColor(0,0);b.traverse(function(a){if(a.userData.F$!==l){a.layers.mask=a.userData.F$;delete a.userData.F$}});p.visible=B;q.visible=B;b.remove(q);b.remove(p)};this.fov=function(){return b.fov};this.mba=function(){if(k>0){q.matrix.copy(b.matrixWorld);q.matrix.multiply(t.makeTranslation(0,0,-k*5));q.matrixWorldNeedsUpdate=m}};this.camera=function(){return b};
var s=0;this.render=function(c,d,e){if(k>0){s++;if(!g.wQa()||s%10==0){g.aSa();q.visible=B;p.update(a,c);q.visible=m}}a.setRenderTarget(d);e&&a.clear();a.render(c,b)}}}});
define("eu","require,jquery.mod,lR,ko,mN,dw,ku,bh,gz,gZ,bu".split(","),function(a){function b(){this.ba=e("<div/>");this.ba.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.na=new THREE.PerspectiveCamera(90,16/9,0.1,2*n.lf);this.na.layers.enable(i.Ha);this.AQ=new THREE.PerspectiveCamera;this.wa=new THREE.Scene;this.Kfa=new THREE.Scene;this.Lfa=new THREE.Scene;window.TUa=THREE;this.wa.add(this.na);this.ot=this.pw=this.h=r;this.EA=0;this.lu=this.Jf=this.d7=
this.W8=r;this.hja=this.B0=B}var e=a("jquery.mod"),d=a("lR"),g=a("ko"),c=a("mN"),i=a("dw"),f=a("ku"),j=a("bh"),n=a("gz"),k=a("gZ"),o=a("bu");b.prototype.Yn=S("wa");b.prototype.cC=S("AQ");b.prototype.WOa=function(){return this.Jf.fov(this.na)};b.prototype.getPixelRatio=function(){return this.h.getPixelRatio()};b.prototype.Ac=S("ba");b.prototype.ZOa=function(){return this.h?this.h.domElement.width:this.ba.width()};b.prototype.YOa=function(){return this.h?this.h.domElement.height:this.ba.height()};b.prototype.kg=
function(){return this.h.domElement};b.prototype.update=function(a){this.ZMa(a);this.CMa(a);this.gk(a);this.WMa(a)};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)],q=[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)],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)],q=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)];b.prototype.qN=function(a){var b=this.Jf,c=this.Jf.bd(),d=this.Jf.Rd();b.stop();this.h.setPixelRatio(1);this.h.setSize(a,a);var e=new THREE.PerspectiveCamera(90,1,this.na.near,this.na.far);e.layers=this.na.layers;e.visible=m;this.wa.add(e);for(var f=[],g=0;g<6;g++){var j=
document.createElement("canvas");j.width=j.height=a;var i=j.getContext("2d");e.up.copy(p[g]);e.lookAt(q[g]);e.updateProjectionMatrix();e.updateMatrixWorld();this.h.clear();this.h.render(this.wa,e);i.save();i.scale(-1,1);i.drawImage(this.h.domElement,0,0,-a,a);i.restore();f.push(j)}this.wa.remove(e);this.Jf=b;this.Jf.start(this.wa);this.Jf.setSize(c,d);this.JL();return f};b.prototype.render=function(){this.JL()};b.prototype.ZMa=function(a){if(a.enabled){this.EA=(new Date).getTime();this.h||this.DKa(a);
if(a.Tb&&o.ue()==o.lz.sk)this.hja=m;o.HX(this.h.getContext())}if(this.B0=a.enabled&&!a.Tb){this.pw.setSize(a.width,a.height);this.ot.setSize(a.width,a.height)}};b.prototype.DKa=function(a){if(!this.h&&a.enabled){for(;t.length>=s;){t.sort(function(a,b){return a.EA-b.EA});t[0].BAa()}t.push(this);var b=this.Ac().get(0);this.pw=new THREE.CSS3DRenderer;this.pw.domElement.style.position="absolute";this.pw.domElement.style.zIndex=0;b.appendChild(this.pw.domElement);var c={precision:"mediump",alpha:m};if(t.length==
1&&a.Tb){a=o.hC();c.context=a;c.canvas=a.canvas}else{c.canvas=document.createElement("canvas");c.context=k.A9(c.canvas,a.PV)}this.h=new THREE.WebGLRenderer(c);this.h.debug.checkShaderErrors=d.XC;this.h.domElement.style.position="absolute";this.h.domElement.style.zIndex=1;this.h.domElement.style.pointerEvents="none";this.h.setClearColor(0,0);b.appendChild(this.h.domElement);this.ot=new THREE.CSS3DRenderer;this.ot.domElement.style.position="absolute";this.ot.domElement.style.zIndex=2;this.ot.domElement.style.pointerEvents=
"none";b.appendChild(this.ot.domElement);this.lu=new f(this.h,function(a,b,c,d,e){this.hja&&this.h.resetState();this.Jf.render(b,d,e)}.bind(this));this.d7=new j.txa(this.h,this.na);this.Wna=new j.Nxa(this.h,this.na);this.W8=new j.Vxa(this.h,this.na);o.CG(this.h.getContext())}};b.prototype.BAa=function(){if(this.h){t.splice(t.indexOf(this),1);this.Jf=this.d7=this.W8=r;this.lu.destroy();this.lu=r;o.vX(this.h.getContext());var a=this.Ac().get(0);a.removeChild(this.ot.domElement);this.ot=r;a.removeChild(this.h.domElement);
this.h.dispose();this.h=r;a.removeChild(this.pw.domElement);this.pw=r}};b.prototype.gk=function(a){this.na.quaternion.copy(c.mra(a.Ka,a.pitch,a.Ie));this.na.fov=g.sl(a.ve,a.width,a.height);this.na.aspect=a.width/a.height;this.na.updateProjectionMatrix();this.na.updateMatrixWorld();this.Jf&&this.Jf.mba();this.Jf&&this.AQ.copy(this.Jf.camera());this.AQ.updateProjectionMatrix();this.AQ.updateMatrixWorld();this.wa.K$===m&&this.wa.updateMatrixWorld()};b.prototype.CMa=function(a){var b=a.Tb?this.W8:a.Dl>
0?this.Wna:this.d7;if(this.Jf!=b){this.Jf&&this.Jf.stop(this.wa);(this.Jf=b)&&this.Jf.start(this.wa)}if(this.Jf){this.Jf.setSize(a.width,a.height);this.Jf==this.Wna&&this.Jf.GC(a.Dl)}};b.prototype.WMa=function(a){this.lu&&(a.jX?this.lu.vaa(f.kZ):a.pW&&!a.Tb?this.lu.vaa(f.Pba):this.lu.vaa(f.NONE))};b.prototype.JL=function(){this.lu&&this.lu.render(this.wa,this.na);if(this.B0){this.pw.render(this.Kfa,this.na);this.ot.render(this.Lfa,this.na)}};var t=[],s=10;return b});
define("c","require,kL,iB,eQ,cp,eg,V,ou,oc".split(","),function(a){var b=a("kL"),e=a("iB"),d=a("eQ"),g=a("cp"),c=a("eg"),i=a("V"),f=a("ou"),j=a("oc"),a=b.extend(e,function(){e.call(this);this.set("tag","ComposedWebGLObject");this.set("webglScene",r);this.set("meshGroup",r);this.set("camera",r);this.set("textureSource",r);this.set("materialConfig",this.Nb=new g.Vm);this.mt&&this.mt();this.Tz&&this.Tz();this.ow&&this.ow();this.hn&&this.hn()});a.prototype.Ab=function(){e.prototype.Ab.call(this);this.Cn&&
this.Cn();this.bK&&this.bK();this.wF&&this.wF()};a.prototype.Fb=function(){this.VE&&this.VE();this.xF&&this.xF();this.En&&this.En();c.dispose(this.get("meshGroup"));c.CH(this.get("meshGroup"),r);this.set("meshGroup",r);e.prototype.Fb.call(this)};a.prototype.V=function(a){this.qf&&this.qf(a);e.prototype.V.call(this,a);this.set("camera",i.cC(a.rg));this.set("webglScene",a.rg);if(!this.get("meshGroup")){this.set("meshGroup",c.Iqa(this.Wl()));this.get("meshGroup").userData.hRa=this}this.F("webglScene",
"meshGroup")&&c.CH(this.get("meshGroup"),this.get("webglScene"));this.kl();this.mj&&this.mj(a);this.lNa();this.Lu&&this.Lu(a);this.Lp&&this.Lp(a);this.IB();this.F("loadingActive","meshGroup")&&f.vd(this.get("meshGroup"),this.get("loadingActive"));this.F("blendingActive","meshGroup")&&j.Jua(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.kl=function(){this.F("composedAlpha","meshGroup")&&this.Vv()};a.prototype.Vv=function(){c.Ve(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.lNa=
function(){if(this.F("textureSource")||this.F("materialConfig")&&!this.Nb.isEqual(this.get("materialConfig"))){var a=this.uE();if(a){c.NSa(a,this.WD());this.Vv()}}};a.prototype.IB=function(){if(this.F("index","meshGroup")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b,d){c.NX(a,this.get("index")+b/d.length)}.bind(this))}};a.prototype.WD=function(){var a=this.get("textureSource")||new d;this.Nb=this.get("materialConfig");var b=g.ky(a.texture(),this.Nb);f.DH(b,a);return[b]};a.prototype.Cfa=
function(){var a=new d,b=g.ky(a.texture());f.DH(b,a);return[b]};a.prototype.Ct=function(a){return c.qPa(this.get("meshGroup"),a)};return a});
define("nl","require,hA,gz,eg,iY,ou,ko,mN,mn".split(","),function(a){var b=a("hA"),e=a("gz"),d=a("eg"),g=a("iY"),c=a("ou"),i=a("ko"),f=a("mN"),j=a("mn"),n=new THREE.Matrix4,k=Math.PI/180;return{mt:function(){this.set("distance",l);this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("hfov",l);this.set("vfov",r);this.set("scaleMode",r);
this.set("horizontalAlign",r);this.set("verticalAlign",r);this.set("attachToCamera",B);this.wg=this.nw();this.Vg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.Dn=new THREE.Matrix4;this.am=new THREE.Matrix4;this.Bi=new THREE.Matrix4;this.B_=new THREE.Matrix4;this.vea=new THREE.Quaternion;this.vfa=new THREE.Matrix4;this.xI=new THREE.Matrix4;this.KI=new THREE.Matrix4;this.bw=new THREE.Matrix4;this.mh=new THREE.Matrix4},Lu:function(a){this.Jp(a);this.D8()},D8:function(){if(this.F("hfov","vfov","contentWidth",
"contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var a=g.b$(this.get("hfov"),this.get("vfov"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("panoramaPixelsPerDegree"),this.get("horizontalAlign"),this.get("verticalAlign")),a=e.dva(this.wg[1],a.NO,a.QO,a.pv,a.qv);if(this.wg[1]!=a){this.wg[1]=a;(a=this.uE())&&d.zaa(a,this.wg[1])}}},uE:function(){var a=this.get("meshGroup");return a?d.mk(a)[1]:r},Wl:function(){return[0,1].map(function(a){var e=
a==0?this.Cfa():this.WD(),a=d.create(this.wg[a],e);c.hs(a,c.Ym);c.js(a,c.to);c.xy(a,b.pD);c.BH(a,1);return a}.bind(this))},nw:function(){return[e.NG(),e.NG()]},Jp:function(a){var b=B;if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){this.Vg.makeTranslation(-this.get("composedTranslationX")*0.5*e.lf,this.get("composedTranslationY")*0.5*e.lf,this.get("composedTranslationZ")*0.5*e.lf);b=m}if(this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.nd.makeRotationY(-a.Ka*
k);this.nd.multiply(n.makeRotationX(-this.get("composedDeltaPitch")*k));this.nd.multiply(n.makeRotationY(this.get("composedDeltaYaw")*k));this.nd.multiply(n.makeRotationY(a.Ka*k));b=m}if(this.F("yaw","pitch")){this.Dn.makeRotationY(-this.get("yaw")*k);this.Dn.multiply(n.makeRotationX(this.get("pitch")*k));b=m}if(this.F("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX","composedTranslationY","composedTranslationZ")){var c=
this.Z.get("composedTranslationX")==0&&this.Z.get("composedTranslationY")==0&&this.Z.get("composedTranslationZ")==0&&this.get("distance")!==l?e.fC(this.get("distance")):e.Uu();this.am.makeTranslation(0,0,-c);var t=this.get("contentWidth"),s=this.get("contentHeight"),u=this.get("hfov"),w=this.get("vfov")||i.sl(u,t,s),v=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),E=this.get("panoramaPixelsPerDegree"),b=this.get("horizontalAlign")||j.ke,D=this.get("verticalAlign")||
j.Sd,t=g.b$(u,w,t,s,y,E,b,D),u=v*e.c$(c,u),w=x*e.d$(c,w);this.xI.makeScale(u,w,1);v=v*e.c$(c,t.ve);c=x*e.d$(c,t.hq);this.KI.makeScale(v,c,1);this.vfa.makeTranslation(b==j.Ha?-(u-v)*0.5:b==j.Va?(u-v)*0.5:0,D==j.ec?(w-c)*0.5:D==j.Zb?-(w-c)*0.5:0,0);b=m}if(this.F("rotationX","rotationY","rotationZ","roll")){this.Bi.makeRotationZ(this.get("roll")*k);this.Bi.multiply(n.makeRotationY(this.get("rotationY")*k));this.Bi.multiply(n.makeRotationX(this.get("rotationX")*k));this.Bi.multiply(n.makeRotationZ(this.get("rotationZ")*
k));b=m}this.set("cameraYaw",a.Ka);this.set("cameraPitch",a.pitch);this.set("cameraRoll",a.Ie);if(this.get("attachToCamera")&&this.F("cameraYaw","cameraPitch","cameraRoll")){this.vea.copy(f.mra(a.Ka,a.pitch,a.Ie));this.B_.makeRotationFromQuaternion(this.vea);b=m}else if(this.F("attachToCamera")){this.B_.identity();b=m}if(b||this.F("meshGroup")){this.mh.copy(this.Vg);this.mh.multiply(this.nd);this.mh.multiply(this.B_);this.mh.multiply(this.Dn);this.mh.multiply(this.am);this.mh.multiply(this.Bi);this.bw.copy(this.mh);
this.bw.multiply(this.xI);this.mh.multiply(this.vfa);this.mh.multiply(this.KI);a=d.mk(this.get("meshGroup"));d.Rp(a[0],this.bw);d.Rp(a[1],this.mh)}}}});define("iW",["require","kL","c","nl"],function(a){var b=a("kL"),e=a("c"),a=a("nl");return b.extend(e,a,function(){e.call(this);this.set("tag","Plane")})});
define("hk","require,kL,jY,nV,mR,iW,mh,nr,mE,eq,kM".split(","),function(a){function b(a,b,c,d,f,g){for(a=(a-b)/g;c+180<d;)d=d-360;for(;c-180>d;)d=d+360;c=(c-d)/g;return c=a<-0.1||a>0.1?e(f,c,Math.abs(1/(1500*a))):e(f,c,0.08)}function e(a,b,c){a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var d=a("kL"),g=a("jY"),c=a("nV"),i=a("mR"),f=a("iW"),j=a("mh"),n=a("nr"),k=a("mE"),o=a("eq"),p=a("kM"),a=d.extend(f,function(a){f.call(this);this.n=a;this.Oj.push(this.n);this.zf=this.zf.bind(this);this.je=
i.va("CeilingCapPanoramaOverlay",this.n)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch",this.je=="tripod"?-90:90);this.Kc=B;this.eB=this.H5=this.kr=l;this.eIa=this.je=="tripod"?1:-1;this.Oi=this.Xj=this.yg=r});a.prototype.Ab=function(){f.prototype.Ab.call(this);this.yg=(new n(c.T)).Fl(this.ap.bind(this));this.Xj=(new n(c.dc)).bo(this.QA.bind(this));g.ea(this.n,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.zf,m)};a.prototype.Fb=function(){this.Oi&&this.Oi.dispose();
this.Oi=r;this.yg.dispose();this.Xj.dispose();g.da(this.n,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.zf);f.prototype.Fb.call(this)};a.prototype.zf=function(){this.set("angle",this.n.get("angle"));this.set("distance",this.n.get("distance"));this.set("hfov",this.n.get("hfov"));var a=k.$Oa(this.n,this.get("panoramaPixelsPerDegree"));this.set("imageURL",a&&a.get("url"));this.set("imageWidth",a&&a.get("width"));this.set("imageHeight",a&&a.get("height"));this.set("inertia",this.n.get("inertia"));
this.set("rotate",this.n.get("rotate"))};a.prototype.Wl=function(){var a=f.prototype.Wl.call(this);this.yg.We(a);this.Xj.We(a);return a};a.prototype.V=function(a){this.f8();this.oG(a);f.prototype.V.call(this,a)};a.prototype.f8=function(){if(this.F("imageURL")&&this.get("imageURL")){this.set("textureSource",new j(this.get("imageURL")));this.set("contentWidth",this.get("imageWidth"));this.set("contentHeight",this.get("imageHeight"))}};a.prototype.ap=function(){this.Oi&&this.Oi.dispose();this.Oi=new o(this.get("textureSource").hf());
this.trigger(c.Ic);this.trigger(c.T)};a.prototype.QA=function(a,b){var d=0;b.Rr(function(a){(a=b.vl(a))&&(d=d+a.Fg)});this.trigger(new p(c.dc,d/b.Sc.length))};a.prototype.oG=function(a){this.set("rendererYaw",a.Ka);if(this.F("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.F("rendererYaw")){var c=this.get("angle"),d=this.get("rotate"),e=this.get("inertia"),f=this.eIa*a.Ka;d&&(c=c+f);var g=0,j=c-f;if(this.kr!==l){if(e)if(d){g=b(f,this.eB,c,this.kr,this.H5,a.Pe);c=this.kr+
g*a.Pe}else{g=b(f,this.eB,j,this.Rla,this.H5,a.Pe);j=this.Rla+g*a.Pe;c=j+f}this.kr!=c&&this.ua()}this.Rla=j;this.kr=c;this.H5=g;this.eB=f;this.set("rotationZ",-c)}};a.prototype.fo=function(a){if(a.$e==c.Jl){var b=!a.ol()&&this.Ep(a);if(b){a.ey(this.n);this.n.get("useHandCursor")&&a.fy(this.n);a.kk(this.get("distance"))}if(this.Kc!=b){this.Kc=b;this.n.trigger(this.Kc?c.kd:c.jc);a.cs()&&this.n.trigger(this.Kc?c.ez:c.wo)}}else if(a.$e==c.wk&&!a.ol()&&this.Ep(a)){this.n.TG(c.oa,m).length>1&&a.gs(this.n);
a.kk(this.get("distance"));this.n.trigger(c.oa)}};a.prototype.Ep=function(a){return this.Ct(a.sp).some(function(a){return this.Oi&&this.Oi.nv(a.x,a.y)}.bind(this))};return a});
define("jA","require,kL,nV,kn,iB,bu".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("kn"),g=a("iB"),c=a("bu"),a=b.extend(g,function(){g.call(this);this.Vg=new THREE.Matrix4;this.Fpa=B;this.Xh=new THREE.Matrix4;this.Of=r;this.el=new THREE.Matrix4;this.IL=this.sL=0;this.oI=0.75;this.YI=0.5;this.Xq=4;this.a4=0;this.Yq=-2;this.Yo=3;this.mS=0;this.cA=7;this.mL=this.yx=1;this.iK=0.15;this.dA=this.ZA=0;this.GR=this.MT=d.M;this.WU=this.QU=1E3}),i=Math.PI/180,f=new THREE.Matrix4;a.prototype.Rl=G();a.prototype.Ab=
function(){g.prototype.Ab.call(this);this.trigger(e.Ic);this.trigger(e.T)};a.prototype.Fb=function(){this.$_()};a.prototype.Rj=function(){this.Rl();this.KL()};a.prototype.Sj=function(){this.ua()};a.prototype.KL=function(){if(this.Of){this.$_();this.Ffa()}};a.prototype.yQ=G();a.prototype.Ffa=function(){this.UIa();this.Of=new THREE.Group;for(var a=this.GR==d.Q,b=this.ZA,c=this.dA;c+b>0;){var e=Math.random()*(c+b)<=c;e?c--:b--;var f=this.yQ();f.matrixAutoUpdate=B;f.overdraw=B;f.material.opacity=0;f.userData=
{MOa:e,sH:new THREE.Matrix4,fqa:new THREE.Matrix4,iaa:new THREE.Matrix4,y:l,pwa:l,U$:a};this.Of.add(f);a&&this.o6(f,this.Yq,this.Yo);this.SIa(f)}this.sL=a?this.Of.children.length:0;this.Y8.add(this.Of);this.uea()};a.prototype.$_=function(){if(this.Of){this.Of.parent&&this.Of.parent.remove(this.Of);for(var a=0,b=this.Of&&this.Of.children.length;a<b;a++)this.Of.children[a].material.dispose();this.Of=r;this.IL=0}};a.prototype.UIa=function(){this.el=(new THREE.Matrix4).makeScale(this.yx,this.yx,this.yx)};
a.prototype.o6=function(a,b,c){b=b+Math.random()*(c-b);if(a.userData.MOa){var c=this.cA,d=360*Math.random()*i;a.userData.sH.makeTranslation(c*Math.cos(d),b,c*Math.sin(d))}else{c=Math.random()*2*Math.PI;d=this.a4+(this.Xq-this.a4)*Math.sqrt(Math.random());a.userData.sH.makeTranslation(d*Math.cos(c),b,d*Math.sin(c))}a.userData.sH.multiply(this.el);a.userData.y=b};a.prototype.SIa=function(a){var b=this.iK+Math.random()*(this.IA-this.iK),c;do c=Math.random()*this.mS;while(c>80&&c<100);var d=Math.random()*
360,e=Math.sin(d*i)*Math.sin(c*i)*b,g=-Math.cos(c*i)*b,b=Math.cos(d*i)*Math.sin(c*i)*b;a.userData.pwa=g*this.yx;a.userData.fqa.makeTranslation(e,g,b);a.userData.iaa.makeRotationY(d*i);a.userData.iaa.multiply(f.makeRotationX(-c*i))};a.prototype.V=function(a){g.prototype.V.call(this,a);this.uMa(a);this.Y8=a.rg;if(this.Y8!=(this.Of&&this.Of.parent)){this.$_();this.Y8&&this.Ffa()}else this.F("index")&&this.uea();this.SMa(a)};a.prototype.uMa=function(a){a=a.Tb&&c.ue()==c.lz.sk;if(a!=this.Zha)(this.Zha=
a)&&setTimeout(function(){this.Of&&this.KL()}.bind(this),0)};a.prototype.SMa=function(a){if(this.Of){if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){this.Fpa=this.get("composedTranslationX")!=0||this.get("composedTranslationY")!=0||this.get("composedTranslationZ")!=0;this.Vg.makeTranslation(-this.get("composedTranslationX")*this.Xq,this.get("composedTranslationY")*this.Xq,this.get("composedTranslationZ")*this.Xq)}var b=this.MT==d.Q,c=this.Of.children,e=c.length,f=
b?Math.round(e*a.Pe/this.QU):0;if(this.sL+f>0){this.IL=b?0:Math.min(this.sL,this.IL+Math.round(e*a.Pe/this.WU));a=this.get("composedAlpha");for(b=0;b<e;b++){var g=c[b];if(!g.userData.U$)if(f>0){f--;g.userData.U$=m;this.sL++;this.o6(g,this.Yo,this.Yo+(this.Yo-this.Yq))}else continue;g.userData.sH.multiply(g.userData.fqa);g.userData.y=g.userData.y+g.userData.pwa;if(g.userData.y<this.Yq||g.userData.y>this.Yo){if(this.IL>0){this.IL--;g.userData.U$=B;this.sL--;g.material.opacity=0;continue}var i=g.userData.y<
this.Yq?this.Yo:this.Yq;this.o6(g,i,i)}i=a;g.userData.y<this.Yq+this.YI?i=i*((g.userData.y-this.Yq)/this.YI):g.userData.y>this.Yo-this.oI&&(i=i*((this.Yo-g.userData.y)/this.oI));g.material.opacity=i*this.mL;if(this.Fpa){g.matrix.copy(this.Vg);g.matrix.multiply(g.userData.sH)}else g.matrix.copy(g.userData.sH);g.matrix.multiply(g.userData.iaa);g.matrixWorldNeedsUpdate=m}this.ua()}}};a.prototype.uea=function(){if(this.Of)for(var a=this.get("index"),b=0;b<this.Of.children.length;b++)this.Of.children[b].renderOrder=
a};return a});
define("in","require,kL,jY,kn,jA,mT,u".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("kn"),g=a("jA"),c=a("mT"),i=a("u"),a=b.extend(g,function(a){g.call(this);this.n=a;this.Rj=this.Rj.bind(this);this.Sj=this.Sj.bind(this);this.Rl()});a.prototype.Ab=function(){g.prototype.Ab.call(this);this.n.set("state",this.n.get("startState"));e.ea(this.n,["color","intensity","speed","opacity","distance","maxDistance","farPlaneDistance","minSpeed","maxSpeed","particleCount","farPlaneParticleCount","particleScale"],
this.Rj,m);e.ea(this.n,["state"],this.Sj,m)};a.prototype.Fb=function(){e.da(this.n,["color","intensity","speed","opacity","distance","maxDistance","farPlaneDistance","minSpeed","maxSpeed","particleCount","farPlaneParticleCount","particleScale"],this.Rj);e.da(this.n,["state"],this.Sj);this.n.set("state",d.M);g.prototype.Fb.call(this)};a.prototype.Rj=function(){this.Rl();this.KL()};a.prototype.Sj=function(){this.MT=this.n.get("state");this.ua()};a.prototype.Rl=function(){g.prototype.Rl.call(this);var a;
a=i.mb()||i.browser()==i.Jy?2500:i.Gf()?4E3:5E3;this.iK=this.IA=this.n.get("speed",0.2)*0.2;this.Xq=this.n.get("distance",0.5)*14.5+0.5;this.mL=this.n.get("opacity",0.1)*1;this.yx=0.036;this.ZA=this.n.get("intensity",0.1)*a;this.ac=c.fO(this.n.get("color","#ffffff"));this.dA=0;this.cA=15;this.GR=this.n.get("initialState");this.QU=this.n.get("startDuration");this.WU=this.n.get("stopDuration");this.oI=0.75;this.YI=0.5;this.Yq=-2;this.Yo=4;this.mS=180;this.hga()};a.prototype.yQ=function(){return new THREE.Sprite(this.Sz())};
a.prototype.Sz=function(){var a=new THREE.SpriteMaterial;a.map=this.Lo();a.side=THREE.FrontSide;a.transparent=m;a.depthTest=B;a.needsUpdate=m;return a};a.prototype.Lo=function(){if(this.ib)return this.ib;var a=document.createElement("canvas");a.width=a.height=f;this.ib=new THREE.Texture;this.ib.image=a;this.ib.needsUpdate=m;this.hga();return this.ib};a.prototype.hga=function(){if(this.ib){var a=this.ib.image,b=a.getContext("2d"),c=b.createRadialGradient(a.width*0.5,a.height*0.5,a.height*0.2,a.width*
0.5,a.height*0.5,a.height*0.5);c.addColorStop(0,"rgba("+this.ac[0]+", "+this.ac[1]+", "+this.ac[2]+", 1)");c.addColorStop(1,"rgba("+this.ac[0]+", "+this.ac[1]+", "+this.ac[2]+", 0)");b.fillStyle=c;b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height);this.ib.needsUpdate=m}};var f=32;return a});
define("kW","require,kL,hA,gz,eg,iY,ou,mn".split(","),function(a){a("kL");var b=a("hA"),e=a("gz"),d=a("eg"),g=a("iY"),c=a("ou"),i=a("mn"),f=new THREE.Matrix4,j=Math.PI/180;return{mt:function(){this.set("distance",l);this.set("width",100);this.set("height",100);this.set("offsetX",l);this.set("offsetY",l);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",r);this.set("horizontalAlign",
r);this.set("verticalAlign",r);this.wg=this.nw();this.Vg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.Dn=new THREE.Matrix4;this.am=new THREE.Matrix4;this.ND=new THREE.Matrix4;this.QF=new THREE.Matrix4;this.Dea=new THREE.Matrix4;this.Bi=new THREE.Matrix4;this.zfa=new THREE.Matrix4;this.xI=new THREE.Matrix4;this.KI=new THREE.Matrix4;this.bw=new THREE.Matrix4;this.mh=new THREE.Matrix4;this.PD=new THREE.Matrix4;this.Iz=new THREE.Vector3},Lu:function(a){this.Jp(a);this.D8()},D8:function(){if(this.F("width",
"height","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign")){var a=g.wW(this.get("width"),this.get("height"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign")),a=e.dva(this.wg[1],a.NO,a.QO,a.pv,a.qv);if(this.wg[1]!=a){this.wg[1]=a;(a=this.uE())&&d.zaa(a,this.wg[1])}}},uE:function(){var a=this.get("meshGroup");return a?d.mk(a)[1]:r},Wl:function(){return[0,1].map(function(a){var e=a==0?this.Cfa():
this.WD(),a=d.create(this.wg[a],e);c.hs(a,c.Ym);c.js(a,c.to);c.xy(a,b.pD);c.BH(a,1);return a}.bind(this))},nw:function(){return[e.NG(),e.NG()]},Jp:function(a){var b=B;if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){this.Vg.makeTranslation(-this.get("composedTranslationX")*0.5*e.lf,this.get("composedTranslationY")*0.5*e.lf,this.get("composedTranslationZ")*0.5*e.lf);b=m}if(this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.nd.makeRotationY(-a.Ka*
j);this.nd.multiply(f.makeRotationX(-this.get("composedDeltaPitch")*j));this.nd.multiply(f.makeRotationY(this.get("composedDeltaYaw")*j));this.nd.multiply(f.makeRotationY(a.Ka*j));b=m}if(this.F("yaw","pitch")){this.Dn.makeRotationY(-this.get("yaw")*j);this.Dn.multiply(f.makeRotationX(this.get("pitch")*j));b=m}this.F("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&this.set("z",this.get("composedTranslationX")==0&&this.get("composedTranslationY")==0&&this.get("composedTranslationZ")==
0&&this.get("distance")!==l?e.fC(this.get("distance")):e.Uu());if(this.F("z")){this.am.makeTranslation(0,0,-this.get("z"));b=m}if(b){this.PD.copy(this.Vg);this.PD.multiply(this.nd);this.PD.multiply(this.Dn);this.PD.multiply(this.am)}var c=B;this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll",a.Ie);this.set("rendererCameraFOV",a.Ih);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);a.Ih&&this.F("z","rendererCameraFOV")&&this.set("rendererHeightZ",
Math.tan(a.Ih*j*0.5)*this.get("z")*2);if(a.Ih&&(b||this.F("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR"))){if(a.Tb){this.ND.copy(this.PD);this.QF.identity()}else{c=a.camera;this.ND.copy(c.matrixWorld);this.Iz.setFromMatrixPosition(c.matrixWorld);this.Iz.applyMatrix4(this.PD);this.Iz.applyMatrix4(c.matrixWorldInverse);var p=-10,q=-10;if(this.Iz.z<0){this.Iz.applyMatrix4(c.projectionMatrix);p=this.Iz.x*0.5;q=this.Iz.y*0.5}var t=
this.get("rendererHeightZ");this.QF.makeTranslation(p*t*c.aspect,q*t,0)}c=m}if(this.F("roll")){this.Bi.makeRotationZ(this.get("roll")*j);c=m}if(a.Ih&&(b||this.F("rendererHeight","inVR","rendererHeightZ","width","height","contentWidth","contentHeight","scale","scaleMode","horizontalAlign","verticalAlign","flipHorizontally","offsetX","offsetY"))){var b=a.Tb?1024:a.height,c=this.get("scale")*this.get("rendererHeightZ")/b*(a.Tb?2:1),s=this.get("width"),t=this.get("height"),u=this.get("offsetX"),w=this.get("offsetY"),
q=this.get("contentWidth"),v=this.get("contentHeight"),p=(this.get("flipHorizontally")?-1:1)*c,x=this.get("scaleMode"),b=this.get("horizontalAlign")||i.ke,a=this.get("verticalAlign")||i.Sd,x=g.wW(s,t,q,v,x,b,a),v=p*s,q=c*t;this.xI.makeScale(v,q,1);s=p*(s*0.5-u);t=c*(w-t*0.5);this.Dea.makeTranslation(s,t,0);p=p*x.width;c=c*x.height;this.KI.makeScale(p,c,1);b=b==i.Ha?-(v-p)*0.5:b==i.Va?(v-p)*0.5:0;a=a==i.ec?(q-c)*0.5:a==i.Zb?-(q-c)*0.5:0;this.zfa.makeTranslation(b+s,a+t,0);c=m}if(c){this.mh.copy(this.ND);
this.mh.multiply(this.am);this.mh.multiply(this.QF);this.mh.multiply(this.Bi);this.bw.copy(this.mh);this.bw.multiply(this.Dea);this.bw.multiply(this.xI);this.mh.multiply(this.zfa);this.mh.multiply(this.KI);a=d.mk(this.get("meshGroup"));d.Rp(a[0],this.bw);d.Rp(a[1],this.mh)}}}});
define("fL",["require","nV","kn"],function(a){function b(a,b){this.ld=a;this.bc=b;this.eb=B;this.e_();this.h_();this.SA()}var e=a("nV"),d=a("kn");b.prototype.clear=function(){this.W5();this.c6();this.ld.set("state",d.M);this.bc=this.ld=r};b.prototype.Hf=function(a){this.eb!=a&&(this.eb=a,this.Dr())};b.prototype.SA=function(){this.bc.wd(this.ld.get("state"))};b.prototype.HK=function(){this.Dr()};b.prototype.JK=function(){this.bc.yaa(this.ld.get("frameDuration"))};b.prototype.IK=function(){this.bc.Pua("first"==
this.ld.get("finalFrame"))};b.prototype.FK=function(){this.ld.trigger(e.uq)};b.prototype.EK=function(){this.ld.trigger(e.hb)};b.prototype.GK=function(){this.ld.set("state",this.bc.mg())};b.prototype.Dr=function(){this.ld.get("autoplay")&&this.bc.wd(this.eb?d.Q:d.M)};b.prototype.e_=function(){this.ld.bind(e.u("state"),this.SA,this,m);this.ld.bind(e.u("autoplay"),this.HK,this,m);this.ld.bind(e.u("frameDuration"),this.JK,this,m);this.ld.bind(e.u("finalFrame"),this.IK,this,m)};b.prototype.W5=function(){this.ld.unbind(e.u("state"),
this.SA,this,m);this.ld.unbind(e.u("autoplay"),this.HK,this,m);this.ld.unbind(e.u("frameDuration"),this.JK,this,m);this.ld.unbind(e.u("finalFrame"),this.IK,this,m)};b.prototype.h_=function(){this.bc.bind(e.uq,this.FK,this,m);this.bc.bind(e.hb,this.EK,this,m);this.bc.bind(e.Yd,this.GK,this,m)};b.prototype.c6=function(){this.bc.unbind(e.uq,this.FK,this,m);this.bc.unbind(e.hb,this.EK,this,m);this.bc.unbind(e.Yd,this.GK,this,m)};return b});
define("gA","require,jY,nV,kn,hA,mR,cp,eg,fL,eQ,ou,eq,be".split(","),function(a){var b=a("jY"),e=a("nV"),d=a("kn"),g=a("hA"),c=a("mR"),i=a("cp"),f=a("eg"),j=a("fL"),n=a("eQ"),k=a("ou"),o=a("eq"),p=a("be");return{Tz:function(){this.set("visible",B);this.set("inView",B);this.set("blending",0);this.set("chromaColor",l);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("premultipliedAlpha",B);this.set("projected",B);this.set("image",r);this.set("level",r);this.set("levelURL",r);this.set("state",
r);this.set("visibleOnStop",m);this.set("side",l);this.KS=this.KS.bind(this);this.NS=this.NS.bind(this);this.Oi=this.Ea=this.gn=this.bc=r},mj:function(){this.f8();this.LM();this.YMa()},f8:function(){if(this.F("level")){var a=this.get("level");this.set("levelURL",a&&a.get("url"))}if(this.F("image","level","levelURL","projected")){this.gfa();this.Ea=this.get("image");this.Ua=this.get("level");this.set("textureSource",new n(this.Ea&&this.Ua.get("url")));this.set("premultipliedAlpha",this.Ea&&this.Ua.get("premultipliedAlpha"));
this.Rya();if(this.Ea){this.Dya();this.Gya()}else{this.trigger(e.Ic);this.trigger(e.T)}}},LM:function(){if(this.F("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var a=new i.Vm;a.iy=this.get("blending");a.Nr=this.get("chromaColor");a.tN=this.get("chromaThreshold");a.sN=this.get("chromaSmoothing");a.premultipliedAlpha=this.get("premultipliedAlpha");a.side=this.get("side");this.set("materialConfig",a)}},YMa:function(){if(this.F("meshGroup","projected","visible")){var a=
this.get("projected")&&this.get("visible")?g.uZ:g.pD;f.mk(this.get("meshGroup")).forEach(function(b){k.xy(b,a)}.bind(this))}},kl:function(){this.F("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0&&(this.get("visibleOnStop")||this.get("state")!=d.M));this.F("composedAlpha","meshGroup","inView")&&f.Ve(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.gn&&this.gn.Hf(this.get("inView"))},KS:function(){this.Ea&&
c.va("AnimatedImageResource",this.Ea)?this.set("visibleOnStop",this.Ea.get("visibleOnStop")):this.set("visibleOnStop",m)},NS:function(){this.set("levelURL",this.Ua.get("url"))},VE:function(){this.gfa()},gfa:function(){if(this.gn){this.gn.clear();this.gn=r}if(this.bc){this.bc.unbind(e.ra,this.BJ,this,m);this.bc.unbind(e.Yd,this.Wha,this,m);this.bc.clear();this.bc=r}if(this.Oi){this.Oi.dispose();this.Oi=r}if(this.get("textureSource")){this.f6();this.set("textureSource",r)}if(this.Ea){this.CIa();this.Ea=
r}if(this.Ua){this.FIa();this.Ua=r}},Dya:function(){b.ea(this.Ea,["visibleOnStop"],this.KS,m)},CIa:function(){b.da(this.Ea,["visibleOnStop"],this.KS,m)},Gya:function(){b.ea(this.Ua,["url"],this.NS,m)},FIa:function(){b.da(this.Ua,["url"],this.NS,m)},CJ:function(){this.f6();var a,b=this.get("image");if(c.va("AnimatedImageResource",b)){this.bc=new p(this.get("textureSource").hf(),b.get("rowCount",1),b.get("colCount",1),b.get("frameDuration"),b.get("frameCount",b.get("rowCount",1)*b.get("colCount",1)),
b.get("repeat"),b.get("finalFrame")=="first");a=this.bc.kg();this.bc.bind(e.Yd,this.Wha,this,m);this.bc.bind(e.ra,this.BJ,this,m);this.gn=new j(b,this.bc);this.set("visibleOnStop",b.get("visibleOnStop"));this.set("state",this.bc.mg())}else{a=this.get("textureSource").hf();this.Oi=new o(a);this.set("visibleOnStop",m);this.set("state",r)}this.kl();this.set("contentWidth",a.width);this.set("contentHeight",a.height);this.get("textureSource").Bl(a);this.trigger(e.Ic);this.trigger(e.T)},Xha:function(){this.f6();
this.trigger(e.Ic);this.trigger(e.T)},Wha:function(){this.set("state",this.bc.mg())},BJ:function(){this.get("textureSource").update();this.ua()},Rya:function(){var a=this.get("textureSource");a.bind(e.T,this.CJ,this,m);a.bind(e.tc,this.Xha,this,m)},f6:function(){var a=this.get("textureSource");a.unbind(e.T,this.CJ,this,m);a.unbind(e.tc,this.Xha,this,m)},i2:function(a){return this.Oi&&this.Oi.ig==a.source?this.Oi.info(a.x,a.y):o.info(a.source,a.x,a.y)}}});
define("nS","require,jY,nV,mR,mT,y".split(","),function(a){function b(a){a=a.get("mapColor");return a=="image"||a=="transparent"||a=="any"}function e(a){a=a.get("mapColor");return a!="image"&&a!="transparent"&&a!="any"}var d=a("jY"),g=a("nV"),c=a("mR"),i=a("mT"),f=new (a("y"));return{ow:function(){this.set("beamEnabled",B);this.JS=this.JS.bind(this);this.V2=r;this.Mh=[];this.Fq=[];this.Mw=r},tSa:function(a){if(this.Mw!=a){this.X5();this.Mw=a;this.Vda()}},Lp:function(a){this.Ix=a.Ka;this.Hx=a.pitch},
X5:function(){this.Mw&&d.da(this.Mw,["areas"],this.JS,m)},Vda:function(){this.Mw&&d.ea(this.Mw,["areas"],this.JS,m)},wF:function(){this.X5();this.Vda()},xF:function(){this.Xma([]);this.X5()},JS:function(){var a=this.Mw.get("areas",[]);this.V2=c.va("HotspotPanoramaOverlayImage",this.n)||c.va("FlatHotspotPanoramaOverlayImage",this.n)||c.va("QuadHotspotPanoramaOverlayImage",this.n)?a.filter(b):a.filter(e);this.V2.forEach(function(a){f.set(a,0)})},fo:function(a){if(a.$e==g.Jl){var b=this.V1(a);if(b.length>
0){a.ey(b);this.Gr(b)&&a.fy(b);a.kk(this.get("distance"));var c=this.Bb(b,a.qC());c&&a.TV(c,this.Ux(a.qC()))}this.Xma(b,a.cs(),a.qC())}else if(a.$e==g.wk){b=this.V1(a);if(b.length>0){var d=B;b.forEach(function(a){a.trigger(g.oa);!d&&a.TG(g.oa,m).length>1&&(d=m)});a.kk(this.get("distance"));d&&a.gs(b)}}else if(a.$e==g.vZ){b=this.V1(a);if(b.length>0){d=B;b.forEach(function(b){var c={};a.cs()&&(c=a.fj.Hra());b.trigger(g.Hb,c);!d&&b.TG(g.Hb,m).length>1&&(d=m)});this.Fq=b;a.kk(this.get("distance"));d&&
a.gs(b)}}else if(a.$e==g.wZ&&this.Fq.length){this.Fq.forEach(function(b){var c={};a.cs()&&(c=a.fj.Hra());b.trigger(g.ic,c)});this.Fq=[]}},V1:function(a){if(!this.get("beamEnabled")||this.get("alpha")==0||a.ol())return[];var b=this.Ct(a.sp);return b.length==0?[]:this.V2.filter(function(a){var c=a.get("mapColor");return c=="any"?m:c=="image"?b.some(function(a){return this.i2(a).nv}.bind(this)):c=="transparent"?b.every(function(a){return!this.i2(a).nv}.bind(this)):c&&c[0]=="#"?b.some(function(a){return i.vW(this.i2(a).color,
c)<10}.bind(this)):B}.bind(this))},Xma:function(a,b,c){this.Mh.forEach(function(d){if(a.indexOf(d)<0){var e=f.get(d)-1;f.set(d,e);if(e==0){d.trigger(g.jc,{center:c});b&&d.trigger(g.wo)}}});var d=this.Mh;this.Mh=a;this.Mh.forEach(function(a){if(d.indexOf(a)<0){var e=(f.get(a)||0)+1;f.set(a,e);if(e==1){a.trigger(g.kd,{center:c});b&&a.trigger(g.ez)}}})},Bb:function(a,b){for(var c="",d=a.length-1;d>=0&&c=="";d--){var e=a[d];if(!b||e.get("displayTooltipInTouchScreens")&&this.qa.J.get("displayTooltipInTouchScreens")!==
B)c=e.get("toolTip","")}return c},Ux:function(a){if(a){var a=this.get("yaw")-this.Ix,b=this.get("pitch")-this.Hx;return Math.sqrt(a*a+b*b)}return 0},Gr:function(a){for(var b=this.Mw.get("useHandCursor"),c=a.length-1;c>=0&&b===l;c--)b=a[c].get("useHandCursor");return!!b}}});
define("mQ",["require","u","cy"],function(a){function b(){this.Ah=l;this.IE=this.aB=0;this.ja=m;this.pQ=this.A7=this.R1=l;this.eb=B}var e=a("u"),d=a("cy"),g=Math.PI/180,c=e.browser()==e.Lh?[-0.5,0]:[0,0];b.prototype.Ay=function(a){this.Ah!=a&&(this.Ah=a,this.ja=m)};b.prototype.zy=function(a){if(a<this.aB+c[0]||a>this.aB+c[1])this.aB=a,this.ja=m};b.prototype.get=function(a,b){b!==l||(b=m);this.ja&&(this.V(),this.ja=B);var c=this.R1.get(a)||0,d=(this.A7.get(a)||0)-c;b&&(180<d?d-=360:-180>d&&(d+=360));
return c+d*this.pQ};b.prototype.a$=function(){this.ja&&(this.V(),this.ja=B);for(var a=this.R1.get("vertices"),b=this.A7.get("vertices"),c=[],e=0;e<a.length;e++){var g=a[e].get("yaw")||0,o=(b[e].get("yaw")||0)-g;180<o?o-=360:-180>o&&(o+=360);var p=a[e].get("pitch")||0,q=(b[e].get("pitch")||0)-p;c.push(new d(g+o*this.pQ,p+q*this.pQ))}a=this.UJ&&this.UJ.length==c.length;for(e=0;e<c.length&&a;e++)a=this.UJ[e].get("yaw")==c[e].get("yaw")||this.UJ[e].get("pitch")==c[e].get("pitch");return a?this.UJ:this.UJ=
c};b.prototype.nk=function(){return this.get("opacity",B)};b.prototype.iC=function(){var a=this.get("hfov")||this.get("vfov"),b=this.Ah[0].get("hfov")||this.Ah[0].get("vfov");return Math.tan(0.5*a*g)/Math.tan(0.5*b*g)};b.prototype.V=function(){for(var a=this.IE,b,c=this.Ah.length-1,d,e;;){b=Math.min(a+1,c);d=this.Gha(a);e=this.Gha(b);if(d<=this.aB&&this.aB<=e)break;if(d>this.aB){if(0==a){b=a;break}a-=1}else{if(a==c){b=a;break}a+=1}}this.R1=this.Ah[a];this.A7=this.Ah[b];a=e-d;this.pQ=0<a?(this.aB-
d)/a:0};b.prototype.Gha=function(a){return this.Ah[a].get("timestamp")};return b});
define("cd",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.set("scaleMode",l);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,width,height,offsetX,offsetY,distance,playbackPositions".split(","),this.Dd,m)},En:function(){b.da(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,width,height,offsetX,offsetY,distance,playbackPositions".split(","),this.Dd)},
Dd:function(){this.set("horizontalAlign",this.n.get("horizontalAlign"));this.set("verticalAlign",this.n.get("verticalAlign"));this.set("scale",this.n.get("scale"));this.set("scaleMode",this.n.get("scaleMode"));this.set("width",this.n.get("width"));this.set("height",this.n.get("height"));this.set("offsetX",this.n.get("offsetX",0.5*this.n.get("width")));this.set("offsetY",this.n.get("offsetY",0.5*this.n.get("height")));this.set("distance",this.n.get("distance"));this.set("playbackPositions",this.n.get("playbackPositions"))},
qf:function(){this.F("playbackPositions","currentTime")&&(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("yaw",this.Xa.get("yaw")),this.set("pitch",this.Xa.get("pitch")),this.set("roll",this.Xa.get("roll")),this.set("alpha",this.Xa.nk()))}}});
define("jk","require,kL,jY,nV,eg,c,kW,gA,nS,cd,mE".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("eg"),c=a("c"),i=a("kW"),f=a("gA"),j=a("nS"),n=a("cd"),k=a("mE"),o=0,a=b.extend(c,i,n,f,j,function(a){c.call(this);this.set("tag","FlatHotspotImage");this.set("id","flat_hs_image_"+o++);this.n=a;this.Oj.push(this.n);this.zf=this.zf.bind(this)});a.prototype.Ab=function(){c.prototype.Ab.call(this);e.ea(this.n,["image.levels"],this.zf,m)};a.prototype.Fb=function(){e.da(this.n,["image.levels"],
this.zf);c.prototype.Fb.call(this)};a.prototype.zf=function(){this.set("image",this.n.get("image"));this.set("level",k.iPa(this.n))};a.prototype.V=function(a){this.EB();c.prototype.V.call(this,a);this.F("inView")&&this.n.trigger(this.get("inView")?d.Wc:d.cd)};a.prototype.EB=function(){if(this.F("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.setAttribute(a,g.Gy,this.get("panoramaId"));g.setAttribute(a,g.gY,this.get("id"))}.bind(this))}};return a});
define("lE","require,kL,jY,nV,iB,nr,u,nz,bD,kM".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("iB"),c=a("nr");a("u");var i=a("nz"),f=a("bD"),j=a("kM"),a=b.extend(g,function(a){g.call(this);this.n=a;this.Oj.push(this.n);this.cT=this.cT.bind(this);this.bT=this.bT.bind(this);this.dT=this.dT.bind(this);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Hotspot");this.set("over",B);this.set("centerOver",B);this.set("enabled",m);this.set("visible",B);this.set("alpha",
0);this.set("inVR",B);this.set("overlaysEnabled",m);this.set("enabledInVR",m);this.set("enabledInStandard",m);this.set("interactionEnabled",m);this.set("centerOverDisplay",B);this.set("rollOverDisplay",B);this.set("loadingActive",B);this.t_=this.u_=this.Fn=this.Fd=this.bf=r;this.Mh=[];this.s_=[];this.nl=r});a.prototype.Ab=function(){this.bf=(new c(d.T)).Fl(this.LA.bind(this));this.Fd=(new c(d.dc)).bo(this.PA.bind(this));this.Fn=(new c(d.Ic)).Fl(this.EGa.bind(this));this.u_=(new c(d.kd)).bo(this.xGa.bind(this));
this.t_=(new c(d.jc)).bo(this.wGa.bind(this));g.prototype.Ab.call(this);e.ea(this.n,["items","rollOverItems","maps","rollOverMaps"],this.cT,m);e.ea(this.n,["fadeInDuration","fadeOutDuration","enabledInVR","enabledInStandard","enabledInSurfaceSelection","enabled","interactionEnabled","centerOverDisplay","rollOverDisplay"],this.dT,m);e.ea(this.n,["areas"],this.bT,m)};a.prototype.Fb=function(){this.iG([],this.Mh);this.W7([],this.s_);this.bf.dispose();this.Fd.dispose();this.Fn.dispose();this.u_.dispose();
this.t_.dispose();e.da(this.n,["items","rollOverItems","maps","rollOverMaps"],this.cT);e.da(this.n,["fadeInDuration","fadeOutDuration","enabledInVR","enabledInStandard","enabledInSurfaceSelection","enabled","interactionEnabled","centerOverDisplay","rollOverDisplay"],this.dT);e.da(this.n,["areas"],this.bT);this.get("visible")&&this.n.trigger(d.cd);g.prototype.Fb.call(this)};a.prototype.cT=function(){this.set("items",this.qa.Xu(this.n.get("items",[])));this.set("rollOverItems",this.qa.Xu(this.n.get("rollOverItems",
[])));this.set("maps",this.qa.Xu(this.n.get("maps",[])));this.set("rollOverMaps",this.qa.Xu(this.n.get("rollOverMaps",[])));var a=[].concat(this.get("maps"),this.get("items"),this.get("rollOverMaps"),this.get("rollOverItems"));a.forEach(function(a){a.tSa(this.n)}.bind(this));this.get("items").forEach(function(a){a.set("projected",this.n.get("projected"))}.bind(this));this.Gg(a);this.bf.We(a);this.Fd.We(a);this.Fn.We(a)};a.prototype.dT=function(){this.set("fadeInDuration",this.n.get("fadeInDuration"));
this.set("fadeOutDuration",this.n.get("fadeOutDuration"));this.set("enabled",this.n.get("enabled",m));this.set("enabledInVR",this.n.get("enabledInVR"));this.set("enabledInStandard",this.n.get("enabledInStandard",m));this.set("enabledInSurfaceSelection",this.n.get("enabledInSurfaceSelection",m));this.set("centerOverDisplay",this.n.get("centerOverDisplay"));this.set("rollOverDisplay",this.n.get("rollOverDisplay",B));this.set("interactionEnabled",this.n.get("interactionEnabled",m))};a.prototype.bT=function(){var a=
this.n.get("areas");this.u_.We(a);this.t_.We(a)};a.prototype.V=function(a){this.kl(a);g.prototype.V.call(this,a);this.Id(a)};a.prototype.Id=function(a){this.set("inVR",a.Tb);this.set("surfaceSelection",a.KO);this.set("hotspotsEnabled",a.mC);if(this.F("items","rollOverItems","maps","rollOverMaps","over","centerOver","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","surfaceSelection","enabledInSurfaceSelection","enabled","interactionEnabled","rollOverDisplay","centerOverDisplay")||this.Z&&
this.Z.F("composedAlpha")){var b=a=B,c=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.Z&&this.Z.get("composedAlpha")>0,e=this.get("interactionEnabled");if(c){a=this.get("centerOver")&&!this.get("inVR");b=this.get("over")||a;a=!this.get("rollOverDisplay")&&!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")||
a&&this.get("centerOverDisplay")!==B&&this.get("rollOverDisplay")}this.get("rollOverItems").forEach(function(a){a.set("visible",b);a.set("beamEnabled",c&&b&&e)});var g=this.get("rollOverItems").length==0;this.get("items").forEach(function(a){a.set("visible",g||!b);a.set("beamEnabled",c&&(g||!b)&&e)});this.get("rollOverMaps").forEach(function(a){a.set("visible",B);a.set("beamEnabled",c&&b&&e)});var j=this.get("rollOverMaps").length==0;this.get("maps").forEach(function(a){a.set("visible",B);a.set("beamEnabled",
c&&(j||!b)&&e)});this.set("visible",a)}if(this.F("visible")){var a=this.get("alpha"),s=this.get("visible")?1:0,u=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(a-s);this.nl=new i("linear",[new f("alpha",a,s)],Math.max(u,1));this.ua();this.get("visible")?this.n.trigger(d.Wc):this.n.trigger(d.cd)}};a.prototype.kl=function(a){if(this.nl){if(this.nl.Se())this.nl=r;else{this.nl.ub(a.Pe);this.set("alpha",this.nl.fb("alpha"))}this.ua()}};a.prototype.LA=function(){this.nj();
this.trigger(d.T)};a.prototype.EGa=function(){this.nj();this.trigger(d.Ic)};a.prototype.PA=function(){this.nj()};a.prototype.nj=function(){var a=0;this.Fd.Rr(function(b){var c=0,d;this.bf.vl(b)?c=100:(d=this.Fd.vl(b))&&(c=d.Fg);a=a+c}.bind(this));this.trigger(new j(d.dc,a/this.Fd.Sc.length))};a.prototype.xGa=function(a){a.data.center?this.W7([a.source],[]):this.iG([a.source],[])};a.prototype.wGa=function(a){a.data.center?this.W7([],[a.source]):this.iG([],[a.source])};a.prototype.iG=function(a,b){this.Roa(this.Mh,
a,b);this.set("over",this.Mh.length>0)};a.prototype.W7=function(a,b){this.Roa(this.s_,a,b);this.set("centerOver",this.s_.length>0)};a.prototype.Roa=function(a,b,c){b||(b=[]);c||(c=[]);c.forEach(function(b){b=a.indexOf(b);b>=0&&a.splice(b,1)});b.forEach(function(b){a.indexOf(b)<0&&a.push(b)})};return a});
define("cz",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.set("scaleMode",l);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.Dd,m)},En:function(){b.da(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.Dd)},Dd:function(){this.set("horizontalAlign",this.n.get("horizontalAlign"));
this.set("verticalAlign",this.n.get("verticalAlign"));this.set("scaleMode",this.n.get("scaleMode"));this.set("distance",this.n.get("distance"));this.set("scale",this.n.get("scale"));this.set("playbackPositions",this.n.get("playbackPositions"))},qf:function(){this.F("playbackPositions","currentTime")&&(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("yaw",this.Xa.get("yaw")),this.set("pitch",this.Xa.get("pitch")),this.set("roll",this.Xa.get("roll")),this.set("rotationX",
this.Xa.get("rotationX")),this.set("rotationY",this.Xa.get("rotationY")),this.set("hfov",this.Xa.get("hfov")),this.set("vfov",this.Xa.get("vfov")),this.set("alpha",this.Xa.nk()))}}});
define("eJ","require,kL,jY,nV,eg,c,nl,gA,nS,cz,mE".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("eg"),c=a("c"),i=a("nl"),f=a("gA"),j=a("nS"),n=a("cz"),k=a("mE"),o=0,a=b.extend(c,i,f,j,n,function(a){c.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+o++);this.set("side",THREE.DoubleSide);this.n=a;this.Oj.push(this.n);this.zf=this.zf.bind(this)});a.prototype.Ab=function(){c.prototype.Ab.call(this);e.ea(this.n,["image.levels"],this.zf,m)};a.prototype.Fb=function(){e.da(this.n,
["image.levels"],this.zf);c.prototype.Fb.call(this)};a.prototype.zf=function(){this.set("image",this.n.get("image"));this.set("level",k.nPa(this.n,this.get("panoramaPixelsPerDegree")))};a.prototype.V=function(a){this.EB();c.prototype.V.call(this,a);this.F("inView")&&this.n.trigger(this.get("inView")?d.Wc:d.cd)};a.prototype.EB=function(){if(this.F("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.setAttribute(a,g.Gy,this.get("panoramaId"));g.setAttribute(a,
g.gY,this.get("id"))}.bind(this))}};return a});
define("bt",["require","eP","a"],function(a){function b(a,b,d){this.sf=a||new e(0,0,0);this.Hi=b||new e(1,0,0);this.ty=d||new e(0,1,0)}var e=a("eP"),d=a("a");b.prototype.clone=function(){return new b(this.sf.clone(),this.Hi.clone(),this.ty.clone())};b.prototype.apply=function(a){a.FG(this.sf);a.FG(this.Hi);a.FG(this.ty)};b.prototype.intersection=function(a,b){var i=d.my(a.sf,a.Hi),f=d.my(this.sf,a.sf),j=d.my(this.sf,this.Hi);j.cW(d.my(this.sf,this.ty));i=i.VB(j);if(!(0==i||b&&0>i))return f=-j.VB(f)/
i,new e(a.sf.x+(a.Hi.x-a.sf.x)*f,a.sf.y+(a.Hi.y-a.sf.y)*f,a.sf.z+(a.Hi.z-a.sf.z)*f)};b.prototype.rX=function(a,b){var i=d.my(this.sf,this.Hi),f=d.my(this.sf,this.ty),j=d.my(this.sf,a),n=i.X9(),k=f.X9();return b?new e(j.VB(i)/(n*n),j.VB(f)/(k*k),0):new e(j.VB(i)/n,j.VB(f)/k,0)};return b});
define("dx","require,ko,hI,dc,eP,bt,eZ,lA".split(","),function(a){var b=a("ko"),e=a("hI"),d=a("dc"),g=a("eP"),c=a("bt"),i=a("eZ"),f=a("lA"),j=Math.PI/180,n=180/Math.PI,k=new i,o=new e,p=new c,q=new g;return{get:function(a,b,c,d,e,f,i,n){a=a*j;b=b*j;b=new g(Math.sin(-a)*Math.cos(b),Math.sin(b),Math.cos(-a)*Math.cos(b));k.identity();k.rotateY(c*j);k.rotateZ(e*j);k.rotateX(d*j);b.apply(k);if(b.z>0){o.GO(i);o.Uua(n);o.DC(f*j);o.project(b);return b}return r},nUa:function(a,b,c){k.identity();k.rotateX(-c.Hc()*
j);k.rotateZ(-c.rf()*j);k.rotateY(-c.Oc()*j);q.set(a,b,0);a=c.unproject(q).Tra();a.apply(k);return{Ka:a.Oc()*n,pitch:a.Hc()*n}},CWa:function(a,c,d,e,g,i,n,o,D,F,L,J,z,K){K||(K=f.Dv);z||(z=b.sl(J,F,L));J||(J=b.ps(z,F,L));var I=F*0.5/Math.tan(J*0.5*j),A=I*Math.tan(J*0.5*j)*2,N=I*Math.tan(z*0.5*j)*2;p.sf.set(+A*0.5,+N*0.5,0);p.Hi.set(-A*0.5,+N*0.5,0);p.ty.set(+A*0.5,-N*0.5,0);k.identity();k.rotateZ(-D*j);k.rotateX(-n*j);k.rotateY(o*j);k.translate(0,0,I);k.rotateZ(-i*j);k.rotateX(-g*j);k.rotateY(-e*j);
k.rotateY(d.Oc()*j);k.rotateZ(d.rf()*j);k.rotateX(d.Hc()*j);p.apply(k);q.set(a,c,0);g=p.intersection(d.unproject(q));e={x:l,y:l,xScaled:l,yScaled:l};if(g&&g.z>0){g=p.rX(g);e.xScaled=e.x=g.x/A;e.yScaled=e.y=g.y/N}if(K!=f.Dv){var H,C;switch(K){case f.fh:H=Math.min(b.ps(z,F,L),J);C=Math.min(b.sl(J,F,L),z);break;case f.mq:H=Math.max(b.ps(z,F,L),J);C=Math.max(b.sl(J,F,L),z);break;case f.so:H=J;C=b.sl(J,F,L);break;case f.Cj:H=b.ps(z,F,L);C=z}if(H!=J||C!=z){A=I*Math.tan(H*0.5*j)*2;N=I*Math.tan(C*0.5*j)*
2;p.sf.set(+A*0.5,+N*0.5,0);p.Hi.set(-A*0.5,+N*0.5,0);p.ty.set(+A*0.5,-N*0.5,0);p.apply(k);q.set(a,c,0);if((g=p.intersection(d.unproject(q)))&&g.z>0){g=p.rX(g);e.xScaled=g.x/A;e.yScaled=g.y/N}}}return e},zVa:function(a,b,c,e,f,i,n){n=f*0.5/Math.tan(n*0.5*j);p.sf.set(+f*0.5,+i*0.5,n);p.Hi.set(-f*0.5,+i*0.5,n);p.ty.set(+f*0.5,-i*0.5,n);k.identity();k.rotateZ(-e*j);k.rotateX(-c*j);k.rotateY(-b*j);k.rotateY(a.Oc()*j);k.rotateZ(a.rf()*j);k.rotateX(a.Hc()*j);p.apply(k);a=new d(new g(0,0,0),new g(0,0,1));
if((a=p.intersection(a))&&a.z>0){a=p.rX(a);return{x:a.x/f,y:a.y/i}}return r}}});
define("dP",["require","hA","gz","eg","ou"],function(a){var b=a("hA"),e=a("gz"),d=a("eg"),g=a("ou"),c=Math.PI/180;return{mt:function(){this.set("distance",l);this.set("width",100);this.set("height",100);this.set("offsetX",l);this.set("offsetY",l);this.set("centerX",0);this.set("centerY",0);this.set("roll",0);this.wg=this.nw();this.Cw=e.NG();this.am=new THREE.Matrix4;this.ND=new THREE.Matrix4;this.QF=new THREE.Matrix4;this.oja=new THREE.Matrix4;this.Bi=new THREE.Matrix4;this.el=new THREE.Matrix4;this.Xh=
new THREE.Matrix4},Lu:function(a){this.Jp(a)},uE:function(){var a=this.get("meshGroup");return a?d.mk(a)[0]:r},Wl:function(){var a=d.create(this.Cw,this.WD());g.hs(a,g.Ym);g.js(a,g.to);g.xy(a,b.pD);g.BH(a,1);return[a]},Wl:function(){return[0].map(function(a){var c=this.WD(),a=d.create(this.wg[a],c);g.hs(a,g.Ym);g.js(a,g.to);g.xy(a,b.pD);g.BH(a,1);return a}.bind(this))},nw:function(){return[e.NG()]},Jp:function(a){var b=B,g=B;this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll",
a.Ie);this.set("rendererCameraFOV",a.Ih);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);this.set("inVR",a.Tb);this.F("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&this.set("z",0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&0==this.get("composedTranslationZ")&&this.get("distance")!==l?e.fC(this.get("distance")):e.Uu());this.F("z")&&(this.am.makeTranslation(0,0,-this.get("z")),g=m);a.Ih&&this.F("z","rendererCameraFOV")&&
this.set("rendererHeightZ",2*Math.tan(0.5*a.Ih*c)*this.get("z"));if(a.camera&&this.F("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR","centerX","centerY")){this.ND.copy(a.camera.matrixWorld);var b=this.get("rendererHeightZ"),n=b*a.camera.aspect,n=0.5*((this.get("centerX")-0.5*a.width)*n/a.width),b=0.5*((0.5*a.height-this.get("centerY"))*b/a.height);this.QF.makeTranslation(n,b,0);b=m}this.F("roll")&&(this.Bi.makeRotationZ(this.get("roll")*
c),b=m);if(a.Ih&&(g||this.F("rendererHeight","inVR","rendererHeightZ","width","height","flipHorizontally")))g=a.Tb?512/a.height:1,a=(this.get("flipHorizontally")?-1:1)*this.get("width")*g,g*=this.get("height"),this.el.makeScale(a,g,1),b=m;this.F("width","height","offsetX","offsetY")&&(a=0.5-this.get("offsetX")/this.get("width"),g=this.get("offsetY")/this.get("height")-0.5,this.oja.makeTranslation(a,g,0),b=m);b&&(this.Xh.copy(this.ND),this.Xh.multiply(this.am),this.Xh.multiply(this.QF),this.Xh.multiply(this.Bi),
this.Xh.multiply(this.el),this.Xh.multiply(this.oja),d.Rp(this.get("meshGroup"),this.Xh))}}});define("jo",["require","kL","c","dP"],function(a){var b=a("kL"),e=a("c"),a=a("dP");return b.extend(e,a,function(){e.call(this);this.set("tag","Sprite")})});
define("go",["require","mT"],function(a){function b(a,e,c,i,f,j){this.Ln=e;this.I=document.createElement("canvas");this.I.width=this.Ln;this.I.height=this.Ln;switch(a){case b.SH:this.rCa(c,i,f,j);break;case b.hP:this.sCa(c,i,f,j)}}var e=a("mT");b.prototype.bd=S("Ln");b.prototype.Rd=S("Ln");b.prototype.kg=S("I");b.prototype.rCa=function(a,b,c,i){for(var f=0.5*this.Ln,j=0.5*this.Ln,n=0.5*this.Ln,k=this.I.getContext("2d"),b=e.fO(b),o=k.createRadialGradient(f,j,0,f,j,n),p=0;p<c.length;p++)o.addColorStop(i[p],
"rgba("+b[0]+","+b[1]+","+b[2]+","+c[p]+")");k.fillStyle=o;k.globalAlpha=a;k.beginPath();k.arc(f,j,n,0,2*Math.PI,m);k.closePath();k.fill()};b.prototype.sCa=function(a,b,c,i){var f=0.5*this.Ln,j=0.5*this.Ln,n=0.5*this.Ln,k=this.I.getContext("2d");k.clearRect(0,0,this.Ln,this.Ln);for(var o=e.fO(b),p=k.createRadialGradient(f,j,0,f,j,n),b=0;b<c.length;b++)p.addColorStop(i[b],"rgba("+o[0]+","+o[1]+","+o[2]+","+c[b]+")");k.fillStyle=p;k.globalAlpha=a;k.beginPath();for(b=0;6>b;b++)c=45*Math.PI/180+2*Math.PI*
b/6,a=f+Math.cos(c)*n,c=j+Math.sin(c)*n,0==b?k.moveTo(a,c):k.lineTo(a,c);k.closePath();k.fill()};b.SH="circle";b.hP="hexagon";return b});
define("mF","require,kL,jY,nV,dx,iB,dd,jo,go,eQ".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("dx"),c=a("iB"),i=a("dd"),f=a("jo"),j=a("go"),n=a("eQ"),a=b.extend(c,function(a){c.call(this);this.n=a;this.Oj.push(this.n);this.zf=this.zf.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.v_=this.$Aa();this.ff=this.UBa();this.Gg(this.v_.concat([this.ff]))});a.prototype.Ab=function(){c.prototype.Ab.call(this);this.trigger(d.Ic);this.trigger(d.T);e.ea(this.n,["yaw",
"pitch","bleaching","bleachingDistance"],this.zf,m)};a.prototype.Fb=function(){e.da(this.n,["yaw","pitch","bleaching","bleachingDistance"],this.zf,m);c.prototype.Fb.call(this)};a.prototype.zf=function(){this.set("yaw",this.n.get("yaw"));this.set("pitch",this.n.get("pitch"));this.set("bleaching",this.n.get("bleaching"));this.set("bleachingDistance",this.n.get("bleachingDistance"))};a.prototype.V=function(a){c.prototype.V.call(this,a);this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll",
a.Ie);this.set("rendererCameraFOV",a.Ih);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);this.set("inVR",a.Tb);if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){var b=this.get("composedTranslationX"),d=this.get("composedTranslationY"),e=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-Math.sqrt(b*b+d*d+e*e)*10))}if(this.F("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","inVR",
"yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var f=a.Ka+this.get("composedDeltaYaw"),j=a.pitch+this.get("composedDeltaPitch"),i=a.Ie+this.get("composedDeltaRoll"),b=this.get("translationAlpha"),e=d=0,n,x,y,E;if(!a.Tb)if(f=g.get(this.get("yaw"),this.get("pitch"),f,j,i,a.Ih,a.width,a.height)){x=a.width*0.5;E=a.height*0.5;n=f.x;y=f.y;x=(x-n)*2;E=(E-y)*2;e=Math.sqrt(x*x+E*E);d=Math.sqrt(a.width*a.width,a.height*a.height);a=Math.min(a.width,a.height);d=
Math.max(0,Math.min(0.7,1-e/d))*b;f=this.get("bleaching");a=1-Math.max(0,Math.min(1,e/(a*this.get("bleachingDistance"))));e=f*a*b}for(a=0;a<this.v_.length;a++){b=this.v_[a];b.set("alpha",d);if(d>0){b.set("centerX",n+x*k[a].position);b.set("centerY",y+E*k[a].position)}}this.ff.set("alpha",e)}};a.prototype.$Aa=function(){return k.map(function(a){var b=(new j(a.form,a.JC,a.opacity,a.color,a.jC,a.kC)).kg(),c=new n;c.Bl(b);b=new f;b.set("textureSource",c);b.set("width",a.size);b.set("height",a.size);b.set("offsetX",
a.size*0.5);b.set("offsetY",a.size*0.5);b.set("alpha",0);return b})};a.prototype.UBa=function(){return new i("#ffffff")};var k=[{form:j.hP,position:0.1,size:52,JC:128,opacity:0.8,color:"#FCFCFC",jC:[1,0.5],kC:[0,0.866]},{form:j.hP,position:0.2,size:52,JC:128,opacity:0.6,color:"#C8FCC8",jC:[1,0.5],kC:[0,0.866]},{form:j.SH,position:0.36,size:112,JC:128,opacity:0.5,color:"#C8C8FC",jC:[1,0.9,0.6,0],kC:[0,0.2,0.4,1]},{form:j.SH,position:0.47,size:32,JC:128,opacity:0.3,color:"#96C8AF",jC:[1,1,0],kC:[0,
0.9,1]},{form:j.SH,position:0.65,size:52,JC:128,opacity:0.7,color:"#FCFCFC",jC:[0.7,0.7,0.2,0],kC:[0,0.1,0.4,1]},{form:j.hP,position:0.88,size:128,JC:128,opacity:0.4,color:"#AF96C8",jC:[1,0.5],kC:[0,0.866]},{form:j.SH,position:1,size:33,JC:128,opacity:0.8,color:"#C89696",jC:[0.8,0.8,0.6,0],kC:[0,0.2,0.4,1]}];return a});
define("cZ",["require","bO","gY"],function(a){function b(a,b){this.jb=a;this.xla=5;this.Od=b.map(function(b){return new e(a,b)});this.NE=this.OE=this.lh=this.Ye=0;this.j8();this.I=document.createElement("canvas");this.I.width=this.Ye;this.I.height=this.lh;this.ha=this.I.getContext("2d");this.ja=m;this.Oe=this.rla=-1}function e(a,b){this.rC=a;this.item=b;this.label=b.get("label");this.fontFamily=this.rC.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.rC.get("backgroundColor",
"#000000");this.uua=this.rC.get("rollOverBackgroundColor",this.backgroundColor);this.SRa=this.rC.get("selectedBackgroundColor",this.uua);this.kra=this.rC.get("fontColor","#000000");this.vua=this.rC.get("rollOverFontColor",b.kra);this.TRa=this.rC.get("selectedFontColor",b.vua);this.Mva=this.Lva=this.Nva=this.Ova=this.height=this.width=this.left=this.top=0;this.status=B;this.t$=m}var d=a("bO"),g=a("gY");e.prototype.lUa=function(){var a=new d.EZ;a.fontFamily=this.fontFamily;a.fontSize=this.fontSize;
a=d(this.label,a);this.Ova=a.width;this.Nva=a.height};e.prototype.oTa=function(a){this.status!=a&&(this.status=a,this.t$=m)};e.prototype.FOa=function(a){if(this.t$){this.t$=B;var b,d;switch(this.status){case "normal":b=this.backgroundColor;d=this.kra;break;case "over":b=this.uua;d=this.vua;break;case "selected":b=this.SRa,d=this.TRa}a.clearRect(this.left,this.top,this.width,this.height);a.fillStyle=b;a.fillRect(this.left,this.top,this.width,this.height);a.fillStyle=d;a.font=this.fontSize+" '"+this.fontFamily+
"'";a.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+g.Ru(this.fontFamily);a.textBaseline="middle";a.textAlign="center";a.fillText(this.label,Math.round(this.Lva),Math.round(this.Mva));return m}return B};b.prototype.bd=S("Ye");b.prototype.Rd=S("lh");b.prototype.kg=S("I");b.prototype.j8=function(){var a=0,b=0;this.Od.forEach(function(d){d.lUa();a=Math.max(d.Ova,a);b=Math.max(d.Nva,b)});this.OE=a+2*this.xla;this.NE=b+2*this.xla;var d=0,e=0,g=0;this.cK=20;if(20<this.Od.length){var k=Math.ceil(this.Od.length/
20);this.cK=Math.ceil(this.Od.length/k)}this.Od.forEach(function(a){g>=this.cK&&(g=0,e+=this.OE,d=0);a.left=e;a.top=d;a.Lva=e+0.5*this.OE;a.Mva=d+0.5*this.NE;a.width=this.OE;a.height=this.NE;g+=1;d+=this.NE}.bind(this));this.Ye=Math.ceil(this.Od.length/this.cK)*this.OE;this.lh=Math.min(this.cK,this.Od.length)*this.NE};b.prototype.update=function(){for(var a=B,b=0;b<this.Od.length;b++)this.Od[b].oTa(this.rla==b?"over":this.Oe==b?"selected":"normal"),a=this.Od[b].FOa(this.ha)||a;return a};b.prototype.zra=
function(a,b){var d=-1;0<=a&&a<this.Ye&&0<=b&&b<this.lh&&(d=Math.floor(a/this.OE)*this.cK+Math.floor(b/this.NE),d>=this.Od.length&&(d=-1));return d};b.prototype.Iaa=R("rla");b.prototype.Paa=R("Oe");b.prototype.clear=function(){this.Od=this.I=this.ha=this.jb=r};return b});
define("bx","require,kL,jY,nV,iW,cZ,eQ,nz,bD,bu".split(","),function(a){function b(a,b){var c=(b-a)*0.98;Math.abs(c)<1.0E-5&&(c=0);return b-c}var e=a("kL"),d=a("jY"),g=a("nV"),c=a("iW"),i=a("cZ"),f=a("eQ"),j=a("nz"),n=a("bD");VR=a("bu");a=e.extend(c,function(a){c.call(this);this.jb=a;this.bp=this.bp.bind(this);this.Bn=this.I=r;this.Eu=this.Fm=this.I5=this.ou=l;this.Xea=20;this.Kf=r;this.bb=this.jb.get("opacity",0.5);this.hL=this.jb.get("rollOverOpacity",this.bb);this.gGa=1;this.iGa=0.66;this.set("tag",
"MenuButton");this.set("visible",B);this.set("over",B);this.set("centerDistance",l)});a.prototype.Ab=function(){c.prototype.Ab.call(this);d.ea(this.jb,["label"],this.bp,m)};a.prototype.Fb=function(){d.da(this.jb,["label"],this.bp);c.prototype.Fb.call(this)};a.prototype.bp=function(){this.I=r};a.prototype.V=function(a){this.Ip(a);this.Vf(a);this.DB(a);this.qf(a);this.Id(a);c.prototype.V.call(this,a)};a.prototype.Ip=function(a){if(a.Tb&&!this.Bn&&VR.ue()==VR.lz.sk)this.Gg([this.Bn=new c])};a.prototype.Vf=
function(){if(this.get("visible")){if(!this.I){this.get("textureSource")||this.set("textureSource",new f);this.I=new i(this.jb,[this.jb]);this.get("textureSource").Bl(this.I.kg());this.set("contentWidth",this.I.bd());this.set("contentHeight",this.I.Rd());this.set("hfov",2*Math.atan2(this.I.bd()*0.5,300)*o);this.set("distance",this.jb.get("distance"))}if(this.I.update()){this.get("textureSource").update();this.ua()}this.F("over")&&this.I.Iaa(this.get("over")?0:-1)}};a.prototype.DB=function(a){if(this.F("visible"))this.Kf=
new j("linear",[new n("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,l)],300);if(this.Kf)this.Kf.Se()?this.Kf=r:this.Kf.ub(a.Pe)};a.prototype.qf=function(a){if(this.get("visible")||this.Kf){this.Fm=a.Ka;this.Eu=Math.min(90,Math.max(-90,this.Xea+this.Xea-a.pitch));if(this.F("visible")&&this.get("visible")){this.set("yaw",a.Ka);this.set("pitch",a.pitch)}else{for(;this.Fm+180<this.ou;)this.ou=this.ou-360;for(;this.Fm-180>this.ou;)this.ou=this.ou+360;var c=(this.Fm-this.ou)/a.Pe,d=(this.Eu-
this.I5)/a.Pe,e=Math.atan2(d,c),d=Math.sqrt(d*d+c*c),d=Math.min(d,10*k),c=Math.cos(e)*d,e=Math.sin(e)*d;this.set("yaw",b(this.get("yaw"),this.Fm+c));this.set("pitch",b(this.get("pitch"),this.Eu+e))}this.ou=this.Fm;this.I5=this.Eu;e=this.get("yaw")-a.Ka;a=this.get("pitch")-a.pitch;this.set("centerDistance",Math.sqrt(e*e+a*a))}};a.prototype.Id=function(){if(!this.get("visible")&&!this.Kf)this.set("alpha",0);else if(this.F("over","centerDistance")||this.Kf){var a=this.get("over")?this.hL:this.bb,b=this.iGa,
c=this.get("centerDistance")/this.get("hfov");if(c<1){b=b+(1-c)*(this.gGa-b);a=a+(1-c)*(this.hL-a)}if(this.Kf){a=a*this.Kf.fb("displayCoef");b=b*this.Kf.fb("displayCoef")}this.set("alpha",a);this.set("scale",b)}};a.prototype.fo=function(a){if(a.$e==g.Jl){var b=B;this.get("visible")&&!a.ol()&&(b=this.Ct(a.sp).length>0);if(b){a.ey(this.jb);a.fy(this.jb);a.kk(this.get("distance"))}if(this.get("over")!=b){this.get("over")&&this.jb.trigger(g.jc);this.set("over",b);this.get("over")&&this.jb.trigger(g.kd)}}else if(a.$e==
g.wk&&this.get("visible")&&!a.ol()&&this.Ct(a.sp).length>0){a.gs(this.jb);this.jb.trigger(g.oa);this.trigger(g.oa)}};var k=Math.PI/180,o=180/Math.PI;return a});
define("jb","require,kL,jY,nV,iW,cZ,eQ,nz,bD,bu".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("iW"),c=a("cZ"),i=a("eQ"),f=a("nz"),j=a("bD"),n=a("bu"),a=b.extend(g,function(a,b){g.call(this);this.jb=a;this.cx=b;this.bp=this.bp.bind(this);this.I=r;this.I5=this.ou=l;this.Kf=r;this.bb=this.jb.get("opacity",0.5);this.hL=this.jb.get("rollOverOpacity",this.bb);this.set("textureSource",new i);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.Ufa=B});a.prototype.Ab=
function(){g.prototype.Ab.call(this);e.ea(this.jb,["label"],this.bp,m);this.cx.forEach(function(a){e.ea(a,["label"],this.bp,m)}.bind(this))};a.prototype.Fb=function(){e.da(this.jb,["label"],this.bp,m);this.cx.forEach(function(a){e.da(a,["label"],this.bp,m)}.bind(this));g.prototype.Fb.call(this)};a.prototype.bp=function(){this.I=r};a.prototype.V=function(a){this.Ip(a);this.Vf(a);this.DB(a);this.qf(a);g.prototype.V.call(this,a)};a.prototype.iBa=function(){if(!this.I){this.I=new c(this.jb,this.cx);this.get("textureSource").Bl(this.I.kg());
this.set("contentWidth",this.I.bd());this.set("contentHeight",this.I.Rd());this.set("hfov",2*Math.atan2(this.I.bd()*0.5,300)*k);this.set("distance",this.jb.get("distance"))}};a.prototype.Vf=function(){this.I||this.iBa();this.F("selectedIndex")&&this.I.Iaa(this.get("selectedIndex"));this.F("overIndex")&&this.I.Iaa(this.get("overIndex"));if(this.I.update()){this.get("textureSource").update();this.ua()}};a.prototype.Ip=function(a){if(a.Tb&&!this.Bn&&n.ue()==n.lz.sk)this.Gg([this.Bn=new g])};a.prototype.DB=
function(a){if(!this.Kf&&!this.Ufa)this.Kf=new f("linear",[new j("alpha",0,1,l),new j("scale",0,1,l),new j("yaw",a.Ka,this.get("yaw"),l),new j("pitch",a.pitch,this.get("pitch"),l)],300);if(this.Kf)if(this.Kf.Se()){this.Ufa=m;this.Kf=r}else this.Kf.ub(a.Pe)};a.prototype.qf=function(){if(this.Kf){var a=this.get("overIndex")<0?this.bb:this.hL;this.set("alpha",a*this.Kf.fb("alpha"));this.set("scale",this.Kf.fb("scale"));this.set("yaw",this.Kf.fb("yaw"));this.set("pitch",this.Kf.fb("pitch"))}else if(this.F("overIndex")){a=
this.get("overIndex")<0?this.bb:this.hL;this.set("alpha",a)}};a.prototype.fo=function(a){if(a.$e==d.Jl){var b=-1;if(!a.ol()){var c=this.Ct(a.sp).filter(function(a){return a.source==this.I.kg()}.bind(this));c.length>0&&(b=this.I.zra(c[0].x,c[0].y))}if(b>=0){a.ey(this.cx[b]);a.fy(this.cx[b]);a.kk(this.get("distance"))}this.get("overIndex")>=0!=b>=0&&(b>0?this.trigger(d.kd):this.trigger(d.jc));if(this.get("overIndex")!=b){this.get("overIndex")>=0&&this.cx[this.get("overIndex")].trigger(d.jc);this.set("overIndex",
b);this.get("overIndex")>=0&&this.cx[this.get("overIndex")].trigger(d.kd)}}else if(a.$e==d.wk&&!a.ol()){c=this.Ct(a.sp).filter(function(a){return a.source==this.I.kg()}.bind(this));if(c.length>0){b=this.I.zra(c[0].x,c[0].y);if(b>=0){c=this.cx[b];this.set("selectedIndex",b);a.gs(c);a.kk(this.get("distance"));c.trigger(d.oa);this.trigger(d.oa,{item:c})}}}};var k=180/Math.PI;return a});
define("hY",["require","kL","nV","iB","jb"],function(a){var b=a("kL"),e=a("nV"),d=a("iB"),g=a("jb"),a=b.extend(d,function(a){d.call(this);this.jb=a;this.wx=[];this.pF=r;this.set("tag","MenuPanels");this.set("visible",B)});a.prototype.V=function(a){this.F("visible")&&this.get("visible")&&(this.set("yaw",a.Ka),this.set("pitch",a.pitch),this.cea(this.jb));d.prototype.V.call(this,a)};a.prototype.cea=function(a){var a=new g(this.jb,a.get("children",[])),b=this.get("yaw");this.zb().forEach(function(a){b+=
a.get("hfov")+i});a.set("yaw",b);a.set("pitch",this.get("pitch"));this.Nya(a);this.appendChild(a)};a.prototype.qma=function(a){this.zb().slice(a).forEach(function(a){this.KIa(a);a.remove()}.bind(this));this.wx=this.wx.filter(function(a){return 0<=this.zb().indexOf(a)}.bind(this))};a.prototype.Nya=function(a){a.bind(e.kd,this.Ala,this,m);a.bind(e.jc,this.zla,this,m);a.bind(e.oa,this.yla,this,m)};a.prototype.KIa=function(a){a.unbind(e.kd,this.Ala,this,m);a.unbind(e.jc,this.zla,this,m);a.unbind(e.oa,
this.yla,this,m)};a.prototype.Ala=function(a){0>this.wx.indexOf(a.source)&&(this.wx.push(a.source),1==this.wx.length&&this.ifa())};a.prototype.zla=function(a){a=this.wx.indexOf(a.source);0<=a&&(this.wx.splice(a,1),0==this.wx.length&&this.$Ja())};a.prototype.yla=function(a){var b=a.source,a=a.data.item;a.get("children",[]).length?(this.qma(this.zb().indexOf(b)+1),this.cea(a)):this.mfa()};a.prototype.mfa=function(){this.set("visible",B);this.qma(0);this.ifa();this.trigger(e.VC)};a.prototype.ifa=function(){this.pF&&
(clearTimeout(this.pF),this.pF=r)};a.prototype.$Ja=function(){this.pF||(this.pF=setTimeout(function(){this.pF=r;this.mfa()}.bind(this),c))};var c=3E3,i=1;return a});
define("fJ","require,kL,nV,iB,bx,hY".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("iB"),g=a("bx"),c=a("hY"),a=b.extend(d,function(a){d.call(this);this.n=a;this.Oj.push(this.n);this.set("tag","Menu");this.set("visible",B);this.Md=new g(this.n);this.Md.bind(e.oa,this.Qza,this,B);this.yh=new c(this.n);this.yh.bind(e.VC,this.MHa,this,B);this.Gg([this.Md,this.yh])});a.prototype.Ab=function(){d.prototype.Ab.call(this);this.trigger(e.Ic);this.trigger(e.T)};a.prototype.V=function(a){this.set("visible",
a.Tb);if(this.F("visible")){this.Md.set("visible",this.get("visible"));this.yh.set("visible",B)}d.prototype.V.call(this,a)};a.prototype.Qza=function(){this.Md.set("visible",B);this.yh.set("visible",m)};a.prototype.MHa=function(){this.Md.set("visible",this.get("visible"))};return a});
define("kB","require,kL,nV,iW,eQ,nr,kM".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("iW"),g=a("eQ"),c=a("nr"),i=a("kM"),a=b.extend(d,function(){d.call(this);this.set("tag","CustomPlane");this.set("source",r);this.set("sourceUpdated",B);this.Fd=this.yg=r});a.prototype.Ab=function(){this.yg=(new c(e.T)).Fl(this.ap.bind(this));this.Fd=(new c(e.T)).bo(this.hu.bind(this));d.prototype.Ab.call(this)};a.prototype.Fb=function(){this.yg.dispose();this.Fd.dispose();d.prototype.Fb.call(this)};a.prototype.V=
function(a){if(this.F("source","sourceUpdated","useMipmapping","anisotropy")){var b=this.get("textureSource");b||this.set("textureSource",b=new g);this.F("source")&&b.Bl(this.get("source"));this.F("sourceUpdated")&&(b.update(),this.set("sourceUpdated",B));this.F("useMipmapping")&&b.bY(this.get("useMipmapping"),this.get("anisotropy"))}d.prototype.V.call(this,a);if(this.F("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.yg.We(a);this.Fd.We(a)}}};a.prototype.ap=function(){this.trigger(e.Ic);
this.trigger(e.T)};a.prototype.hu=function(a,b){var c=0;b.Rr(function(a){(a=b.vl(a))&&(c=c+a.Fg)});this.trigger(new i(e.dc,c/b.Sc.length))};return a});
define("gH","require,kL,jY,nV,gz,iB,kB,li,dc,bt".split(","),function(a){function b(a,b,c){this.nX=a;this.nX.bind(g.u("distanceToFloor"),this.V,this,B);this.pj=b;this.pj.bind(g.u("yaw"),this.V,this,B);this.pj.bind(g.u("distance"),this.V,this,B);this.pj.bind(g.u("enabled"),this.V,this,B);this.pj.bind(g.u("enabledInSurfaceSelection"),this.V,this,B);this.Ma=r;this.Al=new f;this.Al.set("hfov",20);this.Al.set("vfov",20);this.Al.set("pitch",-90);this.Al.set("useMipmapping",m);this.Al.set("anisotropy",16);
this.Al.set("source",c.kg());this.Al.set("contentWidth",c.bd());this.Al.set("contentHeight",c.Rd());this.V()}var e=a("kL"),d=a("jY"),g=a("nV"),c=a("gz"),i=a("iB"),f=a("kB"),j=a("li"),n=a("dc"),k=a("bt"),a=e.extend(i,function(a){i.call(this);this.GS=this.GS.bind(this);this.ar=this.ar.bind(this);this.CS=this.CS.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",B);this.set("enabled",B);this.$=a;this.FP=[];this.kJ=new k;this.kj=new n;this.Gd=new f;this.Gd.set("useMipmapping",m);this.Gd.set("anisotropy",
16);this.Gd.set("hfov",20);this.Gd.set("vfov",20);this.Gd.set("pitch",-90);this.set("reticleCoef",1);this.Gg([this.Gd])});a.prototype.Ab=function(){this.GBa();i.prototype.Ab.call(this);d.ea(this.$,["distanceToFloor"],this.GS,m);d.ea(this.$,["adjacentPanoramas"],this.ar,m);d.ea(this.qa.oc,["adjacentPanoramaPositionsEnabled"],this.CS,m);this.trigger(g.Ic);this.trigger(g.T)};a.prototype.Fb=function(){i.prototype.Fb.call(this);d.da(this.$,["distanceToFloor"],this.GS);d.da(this.$,["adjacentPanoramas"],
this.ar);d.da(this.qa.oc,["adjacentPanoramaPositionsEnabled"],this.CS);this.Wma([])};a.prototype.GS=function(){var a=this.$.get("distanceToFloor");this.Gd.set("distance",a);var a=c.fC(a),b=c.c$(a,90),d=c.d$(a,90);this.kJ.sf.set(-b*0.5,-a,-d*0.5);this.kJ.Hi.set(b*0.5,-a,-d*0.5);this.kJ.ty.set(-b*0.5,-a,d*0.5);this.zma=a/c.Uu()};a.prototype.ar=function(){this.Wma(this.$.get("adjacentPanoramas",[]))};a.prototype.CS=function(){this.ar()};a.prototype.Wma=function(a){this.FP.forEach(function(a){a.clear()});
this.FP=a.map(function(a){return new b(this.$,a,this.z5)}.bind(this));a=[];this.qa.oc.get("adjacentPanoramaPositionsEnabled")&&(a=a.concat(this.FP.map(function(a){return a.Al})));a=a.concat([this.Gd]);this.Gg(a)};a.prototype.V=function(a){i.prototype.V.call(this,a);this.set("enabled",a.KO);this.G8(a);this.by(a)};a.prototype.G8=function(){if(this.F("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.Gd.set("alpha",
this.get("reticleVisible")?1:0);this.set("alpha",this.get("enabled")&&!this.get("composedTranslationX")&&!this.get("composedTranslationY")&&!this.get("composedTranslationZ")&&!this.get("composedDeltaYaw")&&!this.get("composedDeltaPitch")&&!this.get("composedDeltaRoll")?1:0);this.Voa()}};a.prototype.GBa=function(){this.LF=new j(this.qa.J);this.LF.gb(this.get("reticleCoef"));this.Gd.set("source",this.LF.kg());this.Gd.set("contentWidth",this.LF.bd());this.Gd.set("contentHeight",this.LF.Rd());this.z5=
new j(this.qa.J);this.z5.gb(0);this.z5.update(1)};a.prototype.by=function(a){this.F("reticleCoef")&&this.LF.gb(this.get("reticleCoef"));this.Gd.set("sourceUpdated",this.LF.update(a.Pe))};a.prototype.fo=function(a){if(!this.get("enabled")||a.sp.length==0||a.ol()||a.gRa())this.set("reticleVisible",B);else{var b=a.sp[0];this.kj.sf.set(b.origin.x,b.origin.y,b.origin.z);this.kj.Hi.set(b.origin.x+b.direction.x,b.origin.y+b.direction.y,b.origin.z+b.direction.z);if(b=this.kJ.intersection(this.kj,m)){var c=
this.kJ.rX(b,m),d=2*(0.5-c.x),c=2*(0.5-c.y),e=o*Math.atan2(-d,c),f=-90+o*Math.atan2(Math.sqrt(d*d+c*c),1);if(f<-75||f>-1)this.set("reticleVisible",B);else{var j={x:d*this.zma,y:-c*this.zma};if(!a.cs()&&!a.Isa())this.set("reticleVisible",B);else if(a.$e==g.Jl){this.set("reticleVisible",m);this.Gd.set("alpha",Math.min(1,(f- -75)/5));this.Gd.set("translationX",j.x);this.Gd.set("translationZ",j.y)}var i=this.qa.oc.get("surfaceSelectionHorizontalAngle")*0.5,k=this.qa.oc.get("surfaceSelectionVerticalAngle")*
0.5,c=this.FP.map(function(a){var b=a.mPa(e),c=a.NPa(f),d=a.vW(j);return{pj:a.pj,SN:b,jwa:c,distance:d}}).filter(function(a){return a.SN<i&&a.jwa<k});if(c.length==0)this.set("reticleCoef",0);else{c.sort(function(a,b){return a.distance-b.distance});d=c[0].pj;this.set("reticleCoef",Math.max(0,Math.min(1,(1-c[0].SN/i)*(1-c[0].jwa/k))));b=this.$.get("distanceToFloor")*Math.sqrt(b.x*b.x+b.y*b.y+b.z*b.z)/-b.y;a.Isa()&&a.TNa([d]);a.kk(b);if(a.$e==g.wk){a.gs([d]);this.get("blendingActive")||d.trigger(g.$m)}else{a.ey([d]);
a.cs()&&a.fy([d]);(b=this.qa.J.get("displayTooltipInSurfaceSelection")&&d.get("panorama")&&d.get("panorama").get("label"))&&a.TV(b,0)}}}}else this.set("reticleVisible",B)}};b.prototype.clear=function(){this.nX.unbind(g.u("distanceToFloor"),this.V,this,B);this.nX=r;this.pj.unbind(g.u("yaw"),this.V,this,B);this.pj.unbind(g.u("distance"),this.V,this,B);this.pj.unbind(g.u("enabled"),this.V,this,B);this.pj.unbind(g.u("enabledInSurfaceSelection"),this.V,this,B);this.pj=r};b.prototype.mPa=function(a){if(!this.Ma)return Infinity;
a=Math.abs(this.Ma.Ka-a);return a>180?360-a:a};b.prototype.NPa=function(a){return!this.Ma?Infinity:Math.abs(this.Ma.pitch-a)};b.prototype.vW=function(a){if(!this.fG)return Infinity;var b=a.x-this.fG.x,a=a.y-this.fG.y;return Math.sqrt(b*b+a*a)};b.prototype.V=function(){var a=this.pj.get("yaw"),b=this.pj.get("distance"),d=this.pj.get("enabled")&&this.pj.get("enabledInSurfaceSelection");if(a===l||b===l||!d){this.fG=this.Ma=r;this.Al.set("alpha",0)}else{var d=this.nX.get("distanceToFloor"),e=-90+Math.atan2(b,
d)*o;this.Al.set("alpha",e<-1?1:0);this.Ma={Ka:a,pitch:e};e=-Math.cos(a*p)*b/d;a=-Math.sin(a*p)*b/d;b=c.fC(d)/c.Uu();this.fG={x:a*b,y:e*b};this.Al.set("translationX",this.fG.x);this.Al.set("translationZ",this.fG.y);this.Al.set("distance",d)}};var o=180/Math.PI,p=Math.PI/180;return a});
define("X","require,kL,jY,nV,kM,iB,iW,gH,nr,mE,iT,bu".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("kM"),c=a("iB"),i=a("iW"),f=a("gH"),j=a("nr"),n=a("mE"),k=a("iT"),o=a("bu"),p=0,a=b.extend(c,function(a){c.call(this);this.n=a;this.Oj.push(this.n);this.OA=this.OA.bind(this);this.yf=this.yf.bind(this);this.ar=this.ar.bind(this);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",B);this.set("blendingActive",m);this.set("currentTime",
0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",m);this.set("backgroundPreloadEnabled",m);this.set("surfaceSelectionEnabled",B);this.set("id","panorama_"+p++);this.set("ready",B);this.QT=[];this.Fn=this.Fd=this.bf=r;this.th=new q;this.Wla=new t;this.pLa=new f(this.n);this.An=new t;this.Gg([this.th,this.Wla,this.pLa,this.An])});a.prototype.Ab=function(){this.bf=(new j(d.T)).Fl(this.ap.bind(this));this.Fd=(new j(d.dc)).bo(this.QA.bind(this));this.Fn=(new j(d.Ic)).Fl(this.HGa.bind(this));
c.prototype.Ab.call(this);this.get("blendingActive")&&this.qa.set("globalBlendingActive",this.qa.get("globalBlendingActive")+1);e.ea(this.n,["currentTime"],this.OA,m);e.ea(this.n,["frames","overlays","vrMenu","flipImageHorizontally"],this.yf,m);e.ea(this.n,["adjacentPanoramas"],this.ar,m)};a.prototype.Fb=function(){this.bf.dispose();this.Fd.dispose();this.Fn.dispose();this.get("blendingActive")&&this.qa.set("globalBlendingActive",this.qa.get("globalBlendingActive")-1);c.prototype.Fb.call(this);e.da(this.n,
["currentTime"],this.OA);e.da(this.n,["frames","overlays","vrMenu","flipImageHorizontally"],this.yf);e.da(this.n,["adjacentPanoramas"],this.ar);this.l7()};a.prototype.yf=function(){function a(b,c,e){b=f.indexOf(b);return b<0?e:d[b].get(c,e)}function b(c){return a(c,"projected",B)}var c=this.qa.Xu(this.n.get("frames"));c.forEach(function(a){a.set("panoramaId",this.get("id"));a.set("flipHorizontally",this.n.get("flipImageHorizontally"))}.bind(this));var d=this.n.get("overlays"),e=this.qa.Xu(d),f=e.slice(),
g=e.filter(b).filter(function(b){return a(b,"enabled",m)});this.n.get("vrMenu")&&e.push(this.qa.Xu(this.n.get("vrMenu")));e.forEach(function(a){a.set("panoramaId",this.get("id"))}.bind(this));this.bf.We(c.concat(e));this.Fd.We(c.concat(e));this.Fn.We(c.concat(g));this.Wla.Gg(e.filter(b));this.th.Gg(c);this.An.Gg(e.filter(function(a){return!b(a)}));this.set("panoramaPixelsPerDegree",n.Gra(this.n));this.bpa()};a.prototype.OA=function(){this.set("currentTime",this.n.get("currentTime",0))};a.prototype.ar=
function(){this.set("adjacentPanoramas",this.n.get("adjacentPanoramas",[]))};a.prototype.ap=function(){this.nj();this.trigger(d.T)};a.prototype.HGa=function(){this.nj();this.set("ready",m);this.trigger(d.Ic)};a.prototype.QA=function(){this.nj()};a.prototype.nj=function(){var a=0;this.Fd.Rr(function(b){var c=0,d;this.bf.vl(b)?c=100:(d=this.Fd.vl(b))&&(c=d.Fg);a=a+c}.bind(this));this.trigger(new g(d.dc,a/this.Fd.Sc.length))};a.prototype.V=function(a){if(a.Tb&&!this.Bn&&o.ue()==o.lz.sk)this.Gg([this.Bn=
new i].concat(this.zb()));var b=this.get("blendingActive");this.set("blendingActive",this.get("alpha")<1);b!=this.get("blendingActive")&&this.qa.set("globalBlendingActive",this.qa.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",this.qa.Wb.get("backgroundPreloadEnabled")!==B);this.set("preloadEnabled",a.lO);this.F("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")?
this.WKa():this.l7());this.F("index")&&this.bpa();c.prototype.V.call(this,a)};a.prototype.p$=function(){return n.p$(this.n,this.get("preloadEnabled"))};a.prototype.X$=function(){return n.X$(this.n,this.get("preloadEnabled"))};a.prototype.WKa=function(){this.l7();this.QT=this.get("adjacentPanoramas").map(function(a){a=a.get("panorama");return[a,n.Lm(a,this.get("preloadEnabled"))]}.bind(this));this.QT.forEach(function(a){k.eqa(a[0],a[1]);k.iX(a[0],1)})};a.prototype.l7=function(){this.QT.forEach(function(a){k.iX(a[0],
-1);k.KRa(a[0],a[1])});this.QT=[]};a.prototype.bpa=function(){var a=this.get("index");this.th.zb().forEach(function(b,c,d){b.set("panoramaIndex",a);b.set("frameIndex",c);b.set("frameCount",d.length)})};var q=b.extend(c,function(){c.call(this);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("currentTime",0);this.set("tag","Group")});q.prototype.V=function(a){this.zb().forEach(function(a,b,c){a.set("frontFrame",c[c.length-1])});c.prototype.V.call(this,
a)};var t=b.extend(c,function(){c.call(this);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("currentTime",0);this.set("tag","Group")});return a});
define("iO",["require","kL","fk","eg"],function(a){var b=a("kL"),e=a("fk"),d=a("eg"),g=0,a=b.extend(e,function(){e.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+g++)});a.prototype.V=function(a){e.prototype.V.call(this,a);this.EB()};a.prototype.IB=function(){if(this.F("panoramaIndex","frameIndex","frameCount","meshGroup")){var a=this.get("meshGroup");if(a){var b=this.get("panoramaIndex"),e=this.get("frameIndex"),
g=this.get("frameCount"),n=a.children.length;a.children.forEach(function(a,c){d.NX(a,b+(c+e/g)/n)}.bind(this))}}};a.prototype.EB=function(){if(this.F("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b){d.setAttribute(a,d.Gy,this.get("panoramaId"));d.setAttribute(a,d.fY,b);d.setAttribute(a,d.PC,this.get("id"))}.bind(this))}};return a});
define("ng","require,kL,jY,nV,hA,iB,iO,nr,mE,fi,ou,kM".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("hA"),c=a("iB"),i=a("iO"),f=a("nr"),j=a("mE"),n=a("fi"),k=a("ou"),o=a("kM"),a=b.extend(i,function(a){i.call(this);this.set("tag","ImagePanoramaFrame");this.Mla=m;this.n=a;this.Oj.push(this.n);this.Xj=this.yg=this.Fn=r;this.Q3=[];this.yf=this.yf.bind(this);this.Bo(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.Gg([this.An=new p])});a.prototype.Ab=function(){this.Fn=
new f(d.T);this.yg=new f(d.T);this.Xj=new f(d.dc);i.prototype.Ab.call(this);e.ea(this.n,["overlays"],this.yf,m)};a.prototype.Fb=function(){this.Fn.dispose();this.yg.dispose();this.Xj.dispose();e.da(this.n,["overlays"],this.yf);i.prototype.Fb.call(this)};a.prototype.yf=function(){this.An.Gg(this.qa.Xu(this.n.get("overlays")));this.Poa()};a.prototype.Poa=function(){this.yg.We([].concat(this.Q3,this.An.zb()));this.Xj.We([].concat(this.Q3,this.An.zb()))};a.prototype.Wl=function(){var a=[],b=[],c=[];j.W9(this.n,
this.Mla).forEach(function(d,e){var f=n.uOa(this.n,d);if(j.IQa(d)){if(e==0){a=a.concat(f);b=b.concat(f)}k.js(f,e==0?k.to:k.iP);k.hs(f,e==0?k.Ym:k.iZ)}else{e==0&&(a=a.concat(f));b=b.concat(f);k.js(f,k.to);k.hs(f,k.Ym)}k.xy(f,e==0?g.uZ:g.Zm);k.BH(f,e);c=c.concat(f)}.bind(this));this.Fn.We(a);this.Q3=b;this.Poa();this.yg.Fl(this.ap.bind(this));this.Fn.Fl(this.iHa.bind(this));this.Xj.bo(this.QA.bind(this));this.trigger(new o(d.dc,0));return c};a.prototype.iHa=function(){this.trigger(d.Ic)};a.prototype.ap=
function(){this.trigger(d.T)};a.prototype.V=function(a){this.Mla=a.lO;this.QMa();i.prototype.V.call(this,a)};a.prototype.QMa=function(){var a=this.get("frontFrame");if(this.F("frontFrame")||a&&a.F("alpha"))this.An.set("alpha",!a||a==this?1:1-a.get("alpha"))};a.prototype.QA=function(){var a=0;this.Xj.Rr(function(b){var c=0,d;this.yg.vl(b)?c=100:(d=this.Xj.vl(b))&&(c=d.Fg);a=a+c}.bind(this));this.trigger(new o(d.dc,a/this.Xj.Sc.length))};var p=b.extend(c,function(){c.call(this);this.Bo(["loadingActive",
"panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("tag","Group")});return a});
define("lM","require,dZ,nV,cu,kn,nt".split(","),function(a){function b(a,b){this.yc=a;this.S=b;this.al=B;this.qi=[];this.Xl=this.ZD=l;this.be=[];this.I_();this.v0();this.UU();this.cf()}function e(a,b,c){this.time=a;this.cue=b;this.action=c}var d=a("dZ"),g=a("nV"),c=a("cu"),i=a("kn"),f=a("nt");b.prototype.clear=function(){this.DI();this.qi=[];this.U7();this.S=this.yc=r};b.prototype.I_=function(){this.S.bind(f.mf,this.Ce,this,m);this.S.bind(g.Yd,this.cf,this,m);this.S.bind(g.hb,this.tx,this,m)};b.prototype.U7=
function(){this.S.unbind(f.mf,this.Ce,this,m);this.S.unbind(g.Yd,this.cf,this,m);this.S.unbind(g.hb,this.tx,this,m)};b.prototype.cf=function(){var a=this.S.mg()!=i.M;if(this.al!=a)(this.al=a)?this.UU():this.DI()};b.prototype.tx=function(){this.LB()};b.prototype.Ce=function(){this.LB()};b.prototype.UU=function(){this.Xl=this.ZD=0};b.prototype.LB=function(){if(this.S&&this.al){var a=this.be.slice(),b=this.S.rl(),e=b-this.ZD;if(e<0){this.be=[];this.Xl=0}e=e>=0&&e<2;this.ZD=b;var f;for(f=this.Xl;f<this.qi.length;f++)if(this.qi[f].time>
b)break;for(;this.Xl<f;this.Xl++){b=this.qi[this.Xl];if(b.action=="start"){this.be=d(this.be).union([b.cue]);e&&b.cue.trigger(new c(g.iq))}else{this.be=d(this.be).difference([b.cue]);e&&b.cue.trigger(new c(g.hb))}}(a.length!=this.be.length||d(a).intersection(this.be).length!=this.be.length)&&this.JM()}};b.prototype.DI=function(){if(this.be.length>0){this.be=[];this.JM()}};b.prototype.JM=function(){this.yc.trigger(new c(g.tk,{activeCues:this.be.slice()}))};b.prototype.v0=function(){this.qi=[];var a=
this.yc.get("cues",[]);d(a).each(function(a){this.qi.push(new e(a.get("startTime",0),a,"start"));this.qi.push(new e(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.qi.sort(function(a,b){return a.time==b.time?a.action==b.start?0:a.action=="start"?-1:1:a.time-b.time})};return b});
define("lh",["require","nV","kn","cu","nt"],function(a){function b(a,b,c){this.Wb=a;this.yc=b;this.S=c;this.S.BC(this.xf=this.yc.get("currentTime",0));this.S.kf(this.Le=this.Wb.get("mute",B));this.S.wd(this.o=this.yc.get("state",d.M));this.S.setLoop(this.Kk=this.yc.get("loop"));this.ab=this.S.Fi();this.Oya();this.Uya();this.Us()}var e=a("nV"),d=a("kn"),g=a("cu"),c=a("nt");b.prototype.clear=function(){this.LIa();this.QIa();this.ru();this.S.wd(d.M);this.yc.set("state",d.M);this.yc.set("currentTime",
0);this.yc.set("duration",l)};b.prototype.mla=function(){var a=this.yc.get("state",d.M);this.o!=a&&this.S.wd(this.o=a)};b.prototype.kla=function(){var a=this.yc.get("currentTime",0);this.xf!=a&&this.S.BC(this.xf=a)};b.prototype.XK=function(){var a=this.Wb.get("mute",0);this.Le!=a&&this.S.kf(this.Le=a)};b.prototype.lla=function(){var a=this.yc.get("loop");this.Kk!=a&&this.S.setLoop(this.Kk=a)};b.prototype.eL=function(){this.yc.set("currentTime",this.xf=this.S.rl())};b.prototype.cL=function(){this.yc.set("duration",
this.ab=this.S.Fi())};b.prototype.dL=function(){this.yc.set("state",this.o=this.S.mg())};b.prototype.fL=function(){this.yc.trigger(new g(e.hb))};b.prototype.Oya=function(){this.Wb.bind(e.u("mute"),this.XK,this,m)};b.prototype.LIa=function(){this.Wb.unbind(e.u("mute"),this.XK,this,m)};b.prototype.Uya=function(){this.yc.bind(e.u("state"),this.mla,this,m);this.yc.bind(e.u("currentTime"),this.kla,this,m);this.yc.bind(e.u("loop"),this.lla,this,m)};b.prototype.QIa=function(){this.yc.unbind(e.u("state"),
this.mla,this,m);this.yc.unbind(e.u("currentTime"),this.kla,this,m);this.yc.unbind(e.u("loop"),this.lla,this,m)};b.prototype.Us=function(){this.S.bind(c.mf,this.eL,this,m);this.S.bind(c.li,this.cL,this,m);this.S.bind(e.Yd,this.dL,this,m);this.S.bind(e.hb,this.fL,this,m)};b.prototype.ru=function(){this.S.unbind(c.mf,this.eL,this,m);this.S.unbind(c.li,this.cL,this,m);this.S.unbind(e.Yd,this.dL,this,m);this.S.unbind(e.hb,this.fL,this,m)};return b});
define("dE","require,kL,nV,hA,kn,iO,nr,fi,lM,lh,bW,eg,ou,jK,nt,kM".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("hA"),g=a("kn"),c=a("iO"),i=a("nr"),f=a("fi"),j=a("lM"),n=a("lh"),k=a("bW"),o=a("eg"),p=a("ou"),q=a("jK"),t=a("nt"),s=a("kM"),a=b.extend(c,function(a){c.call(this);this.n=a;this.Oj.push(this.n);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",l);this.set("atStart",l);this.Mpa=k.get(this.n)==k.uo?this.n.get("sphere"):
this.n.get("stereoSphere");this.Ua=t.tj(this.Mpa);this.uG=[];this.cB=[];this.Xj=this.yg=this.Eh=this.S=r});a.prototype.Ab=function(){this.yg=(new i(e.T)).Fl(this.ap.bind(this));this.Xj=(new i(e.dc)).bo(this.QA.bind(this));this.S=new t(this.qa.Wb,this.Mpa);this.No=new j(this.n.ZG(),this.S);this.za=new n(this.qa.Wb,this.n.ZG(),this.S);this.Du=new q(this.n.ZG(),this.S);this.Us();c.prototype.Ab.call(this)};a.prototype.Fb=function(){this.yg.dispose();this.Xj.dispose();this.ru();this.No.clear();this.No=
r;this.za.clear();this.za=r;this.Du.clear();this.Du=r;this.S.clear();this.Eh=this.S=r;c.prototype.Fb.call(this)};a.prototype.Wl=function(){this.uG=f.zOa(this.n,this.Ua);this.xNa=p.KC(o.oy(this.uG[0])[0]);this.uG.forEach(function(a){p.js(a,p.to);p.hs(a,p.Ym)});if(this.Ua.get("posterURL")){this.cB=f.AOa(this.n,this.Ua);this.cB.forEach(function(a){p.js(a,p.to);p.hs(a,p.Ym);p.xy(a,d.uZ)})}else this.cB=[];var a=[].concat(this.uG,this.cB);this.yg.We(a);this.Xj.We(a);this.trigger(new s(e.dc,0));return a};
a.prototype.V=function(a){var b=this.S.uW();this.set("frameEmpty",b.isEmpty());this.set("atStart",!(this.get("currentTime")>1));c.prototype.V.call(this,a);if(!this.Eh||!this.Eh.isEqual(b)){this.Eh=b;this.xNa.Bl(this.Eh.Yz);this.ua()}else this.S.mg()==g.Q&&this.ua()};a.prototype.kl=function(){if(this.F("composedAlpha","meshGroup","frameEmpty","atStart"))if(this.cB.length&&this.get("frameEmpty")&&this.get("atStart")){this.cB.forEach(function(a){o.Ve(a,this.get("composedAlpha"))}.bind(this));this.uG.forEach(function(a){o.Ve(a,
0)}.bind(this))}else{this.cB.forEach(function(a){o.Ve(a,0)}.bind(this));this.uG.forEach(function(a){o.Ve(a,this.get("composedAlpha"))}.bind(this))}};a.prototype.ap=function(){this.trigger(e.Ic);this.trigger(e.T)};a.prototype.QA=function(a,b){var c=0;b.Rr(function(a){(a=b.vl(a))&&(c=c+a.Fg)});this.trigger(new s(e.dc,c/b.Sc.length))};a.prototype.cf=function(){this.ua()};a.prototype.Ce=function(){this.ua()};a.prototype.Us=function(){this.S.bind(t.mf,this.Ce,this,m);this.S.bind(e.Yd,this.cf,this,m)};
a.prototype.ru=function(){this.S.unbind(t.mf,this.Ce,this,m);this.S.unbind(e.Yd,this.cf,this,m)};return a});
define("gf","require,kL,nV,iW,mh,nr,kM".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("iW"),g=a("mh"),c=a("nr"),i=a("kM"),a=b.extend(d,function(){d.call(this);this.set("tag","ImagePlane");this.set("url",r);this.Fd=this.bf=r});a.prototype.Ab=function(){this.bf=(new c(e.T)).Fl(this.ap.bind(this));this.Fd=(new c(e.dc)).bo(this.hu.bind(this));d.prototype.Ab.call(this)};a.prototype.Fb=function(){this.bf.dispose();this.Fd.dispose();d.prototype.Fb.call(this)};a.prototype.V=function(a){if(this.F("url")){var b=
this.get("url");this.set("textureSource",b?new g(b):r)}d.prototype.V.call(this,a);if(this.F("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.bf.We(a);this.Fd.We(a)}}};a.prototype.ap=function(){this.trigger(e.Ic);this.trigger(e.T)};a.prototype.hu=function(a,b){var c=0;b.Rr(function(a){(a=b.vl(a))&&(c=c+a.Fg)});this.trigger(new i(e.dc,c/b.Sc.length))};return a});
define("bB","require,kL,jY,nV,kn,gZ,iB,dd,kB,gf,lh,mQ,nr,mE,eq,ko,S,kM,nz,bD,nt".split(","),function(a){function b(a){setTimeout(a,0)}function e(a,b){for(var c=a-b;c>180;)c=c-360;for(;c<-180;)c=c+360;return c+b}var d=a("kL"),g=a("jY"),c=a("nV"),i=a("kn");a("gZ");var f=a("iB"),j=a("dd"),n=a("kB"),k=a("gf"),o=a("lh"),p=a("mQ"),q=a("nr"),t=a("mE"),s=a("eq"),u=a("ko"),w=a("S"),v=a("kM"),x=a("nz"),y=a("bD"),E=a("nt"),D=Math.PI/180,a=d.extend(f,function(a){f.call(this);this.n=a;this.Oj.push(this.n);this.yf=
this.yf.bind(this);this.eT=this.eT.bind(this);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",B);this.set("enabledInStandard",m);this.set("interactionEnabled",m);this.set("loadingActive",B);this.set("frameEmpty",m);this.set("state",i.M);this.set("itemVisible","none");this.set("visible",B);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",B);this.set("gazeOver",B);this.set("video",r);this.set("image",r);this.Td=this.cb=this.Ea=
this.Fd=this.bf=r;this.Xa=new p;this.Ys=this.Sw=this.nl=this.Eh=this.S=r});a.prototype.Ab=function(){this.bf=(new q(c.T)).Fl(this.LA.bind(this));this.Fd=(new q(c.dc)).bo(this.PA.bind(this));f.prototype.Ab.call(this);this.aBa();this.appendChild(this.Td);g.ea(this.n,F,this.yf,m);g.QV(this.n,L,this.eT,m)};var F=["playbackPositions","popupDistance","popupMaxHeight","popupMaxWidth","image.levels.url","video","state"],L=["visible"];a.prototype.Fb=function(){this.bf.dispose();this.Fd.dispose();g.da(this.n,
F,this.yf);g.da(this.n,L,this.eT);this.Vz();this.ww();this.tt();f.prototype.Fb.call(this)};a.prototype.yf=function(){var a=t.CPa(this.n,this.get("panoramaPixelsPerDegree"));this.set("imageURL",a&&a.get("url"));this.set("imageWidth",a&&a.get("width"));this.set("imageHeight",a&&a.get("height"));this.set("video",this.n.get("video"));this.set("state",this.n.get("state"));this.set("popupDistance",this.n.get("popupDistance"));this.set("popupMaxWidth",this.n.get("popupMaxWidth"));this.set("popupMaxHeight",
this.n.get("popupMaxHeight"));this.set("playbackPositions",this.n.get("playbackPositions"))};a.prototype.eT=function(){this.set("visible",this.n.get("visible"))};a.prototype.V=function(a){this.Ix=a.Ka;this.Hx=a.pitch;this.Ip(a);this.TMa();this.WM(a);this.Id(a);this.KMa(a);this.sMa(a);f.prototype.V.call(this,a)};a.prototype.TMa=function(){if(this.F("playbackPositions","currentTime")){this.Xa.Ay(this.get("playbackPositions"));this.Xa.zy(this.get("currentTime"));this.set("sourceYaw",this.Xa.get("yaw"));
this.set("sourcePitch",this.Xa.get("pitch"));this.set("sourceRotationX",this.Xa.get("rotationX"));this.set("sourceRotationY",this.Xa.get("rotationY"));this.set("sourceRotationZ",this.Xa.get("rotationZ"));this.set("sourceHFOV",this.Xa.get("hfov"))}};a.prototype.Ip=function(){if(this.F("video","imageURL")){var a=[this.Td];if(this.F("imageURL")){this.OI();this.Ea&&a.push(this.Ea);this.TL("itemVisible")}if(this.F("video")){this.RI();this.cb&&a.push(this.cb);this.TL("itemVisible")}this.bf.We(a);this.Fd.We(a);
this.Gg(a)}};a.prototype.WM=function(){if(this.S){var a=this.S.uW();this.set("frameEmpty",!!a&&a.isEmpty());if(!this.Eh||a&&!this.Eh.isEqual(a)){this.Eh=a;this.cb.set("source",this.Eh.Yz);this.cb.set("sourceUpdated",m);this.ua()}else this.S.mg()==i.Q&&this.ua()}else this.set("frameEmpty",B)};a.prototype.Id=function(a){this.set("inVR",a.Tb);this.set("hotspotsEnabled",a.mC);this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll",a.Ie);this.set("rendererWidth",a.ZV);this.set("rendererHeight",
a.pN);this.set("rendererHFOV",a.ve);if(this.F("visible")){var d=this.get("visiblePosition"),f=this.get("visible")?1:0,g=Math.max(1,this.n.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(f-d)),j=this.n.get(this.get("visible")?"showEasing":"hideEasing");if(d!=f)this.nl=new x(j,[new y("position",d,f)],g);this.get("visible")||this.S&&this.S.wd(i.M)}if(this.nl){if(this.nl.Se()){this.nl=r;if(this.get("visible")){this.n.trigger(c.$H);this.n.get("autoplay")&&this.S&&this.S.wd(i.Q)}else b(function(){this.n&&
this.n.trigger(c.VH)}.bind(this))}else this.nl.ub(a.Pe);if(this.nl){this.set("visiblePosition",this.nl.fb("position"));this.ua()}}d=B;if(d=a.Tb?this.F("visible","itemVisible"):this.F("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV")){this.set("targetImageScale",this.Fha(this.Ea,a));this.set("targetVideoScale",this.Fha(this.cb,a));this.set("targetYaw",e(this.get("rendererYaw"),this.get("sourceYaw")));
this.set("targetPitch",this.get("rendererPitch"));this.set("targetRotationZ",e(a.Tb?0:this.get("rendererRoll"),this.get("sourceRotationZ")))}if(d||this.F("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){var f=this.get("visiblePosition"),k=this.get("targetYaw")*f+this.get("sourceYaw")*(1-f),n=this.get("targetPitch")*f+this.get("sourcePitch")*(1-f),o=this.get("sourceRotationX")*(1-f),q=this.get("sourceRotationY")*(1-f),p=this.get("targetRotationZ")*f+this.get("sourceRotationZ")*
(1-f),a=Math.min(1,2*f),u=this.get("popupDistance"),s=this.get("sourceHFOV"),d=this.get("targetImageScale")*f+(1-f),f=this.get("targetVideoScale")*f+(1-f);this.set("alpha",a);this.Ea&&this.Ea.set("scale",d);this.cb&&this.cb.set("scale",f);[].concat(this.cb?[this.cb]:[],this.Ea?[this.Ea]:[]).forEach(function(a){a.set("yaw",k);a.set("pitch",n);a.set("rotationX",o);a.set("rotationY",q);a.set("rotationZ",p);a.set("distance",u);a.set("hfov",s)})}};a.prototype.KMa=function(a){if(this.F("frameEmpty","state",
"imageURL","video")){var b="none";this.cb&&(!this.Ea||!this.get("frameEmpty")&&this.get("state")!=i.M)?b="video":this.Ea&&(b="image");this.set("itemVisible",b)}if(this.F("itemVisible")){this.get("itemVisible")!="video"&&this.S&&this.S.wd(i.M);var b=this.Ea?this.Ea.get("alpha"):0,c=this.cb?this.cb.get("alpha"):0,d=this.get("itemVisible")=="image"?1:0,e=this.get("itemVisible")=="video"?1:0,f=this.get("itemVisible")=="video"?1:Math.max(Math.abs(d-b),Math.abs(e-c))*200;this.Sw=new x("linear",[new y("imageAlpha",
b,d),new y("videoAlpha",c,e)],f)}if(this.Sw){this.Sw.Se()?this.Sw=r:this.Sw.ub(a.Pe);if(this.Sw){this.Ea&&this.Ea.set("alpha",this.Sw.fb("imageAlpha"));this.cb&&this.cb.set("alpha",this.Sw.fb("videoAlpha"));this.ua()}}};a.prototype.sMa=function(a){if(this.F("gazeOver","inVR","visible")){this.ffa();this.get("inVR")&&this.n.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("visible")&&this.TKa()}if(a.Tb&&this.n.get("darkenBackground")&&this.n.get("lookAwayToHide")){if(this.F("visible")&&this.get("visible")){this.Td.set("alpha",
0.8);this.Ys=r}if(this.F("gazeOver"))this.Ys=new x(this.get("gazeOver")?"linear":"quad_in",[new y("alpha",this.Td.get("alpha"),this.get("gazeOver")?0.8:0)],this.get("gazeOver")?300:this.n.get("lookAwayToHideTime"))}else{this.Ys=r;this.Td.set("alpha",a.Tb&&this.n.get("darkenBackground")?0.8:0)}if(this.Ys){this.Ys.Se()?this.Ys=r:this.Ys.ub(a.Pe);if(this.Ys){this.Td.set("alpha",this.Ys.fb("alpha"));this.ua()}}};a.prototype.TKa=function(){this.ffa();this.hS=setTimeout(function(){this.hS=r;this.n.set("visible",
B)}.bind(this),this.n.get("lookAwayToHideTime"))};a.prototype.ffa=function(){if(this.hS){clearTimeout(this.hS);this.hS=r}};a.prototype.Fha=function(a,b){if(!a)return 1;var c=this.get("popupMaxWidth","100%"),d=w.co(c),e=a.get("contentWidth"),f=a.get("contentHeight"),g=this.get("popupMaxHeight","100%"),j=w.co(g),i;if(this.get("inVR")){var k=i=this.get("rendererWidth")*0.5,n=Math.min(b.Ih,80),o=u.SB(n,i,k),q=this.get("sourceHFOV");i=Math.min(Math.tan(o*(d!==l?d/100:c/i)*0.5*D)/Math.tan(q*0.5*D),Math.tan(n*
(j!==l?j/100:g/k)*0.5*D)/Math.tan(u.SB(q,e,f)*0.5*D))}else{i=this.get("rendererWidth");k=this.get("rendererHeight");o=Math.min((d!==l?i*d/100:c)/e,(j!==l?k*j/100:g)/f);e=e*o;o=this.get("rendererHFOV");q=this.get("sourceHFOV");i=Math.tan(o*0.5*D)*e/i/Math.tan(q*0.5*D)}return i};a.prototype.OI=function(){this.Vz();if(this.get("imageURL")){this.Ea=new k;this.Ea.set("url",this.get("imageURL"));this.Ea.set("contentWidth",this.get("imageWidth"));this.Ea.set("contentHeight",this.get("imageHeight"));this.Ea.set("alpha",
0)}};a.prototype.Vz=function(){if(this.Ea){this.Ea.remove();this.Ea=r}};a.prototype.RI=function(){this.ww();if(this.get("video")){this.cb=new n;var a=E.tj(this.get("video"));this.cb.set("contentWidth",a.get("width"));this.cb.set("contentHeight",a.get("height"));this.cb.set("alpha",0);this.S=new E(this.qa.Wb,this.get("video"));this.za=new o(this.qa.Wb,this.n,this.S);this.Us()}};a.prototype.ww=function(){if(this.cb){this.ru();this.za.clear();this.za=r;this.S.clear();this.Eh=this.S=r;this.cb.remove();
this.cb=r}};a.prototype.aBa=function(){this.tt();this.Td=new j("#000000")};a.prototype.tt=function(){if(this.Td){this.Td.remove();this.Td=r}};a.prototype.LA=function(){this.trigger(c.Ic);this.trigger(c.T)};a.prototype.PA=function(a,b){var d=0;b.Rr(function(a){var b=0,c;this.bf.vl(a)?b=100:(c=this.Fd.vl(a))&&(b=c.Fg);d=d+b}.bind(this));this.trigger(new v(c.dc,d/b.Sc.length))};a.prototype.cf=function(){this.ua()};a.prototype.Ce=function(){this.ua()};a.prototype.tx=function(){this.n.trigger(c.hb)};a.prototype.Us=
function(){this.S.bind(E.mf,this.Ce,this,m);this.S.bind(c.Yd,this.cf,this,m);this.S.bind(c.hb,this.tx,this,m)};a.prototype.ru=function(){this.S.unbind(E.mf,this.Ce,this,m);this.S.unbind(c.Yd,this.cf,this,m);this.S.unbind(c.hb,this.tx,this,m)};a.prototype.fo=function(a){if(a.$e==c.Jl){if(!a.ol()&&this.get("visible")){a.gs(this.n);this.set("over",this.Ep(a));this.set("gazeOver",this.ALa(a))}else this.set("over",B);if(this.get("over")){a.ey(this.n);a.cs()&&a.fy(this.n);a.kk(this.get("popupDistance"))}if(this.F("over")){this.n.trigger(this.get("over")?
c.kd:c.jc);a.cs()&&this.n.trigger(this.get("over")?c.ez:c.wo)}}else if(a.$e==c.wk&&!a.ol()&&this.get("visible")){a.gs(this.n);a.kk(this.get("popupDistance"));this.Ep(a)?a.zQa()||this.n.trigger(c.oa):this.n.set("visible",B)}};a.prototype.Ep=function(a){return this.noa(a.sp)};a.prototype.ALa=function(a){a=a.mJ;return!!a&&this.noa([a])};a.prototype.noa=function(a){if(this.get("visible"))for(var a=(this.get("itemVisible")=="video"?this.cb:this.Ea).Ct(a),b=0;b<a.length;b++){var c=a[b];if(s.nv(c.source,
c.x,c.y))return m}return B};return a});define("cM",["require","kL","iB"],function(a){var b=a("kL"),e=a("iB"),a=b.extend(e,function(){e.call(this);this.ow&&this.ow();this.hn&&this.hn()});a.prototype.Ab=function(){e.prototype.Ab.call(this);this.Cn&&this.Cn();this.wF&&this.wF()};a.prototype.Fb=function(){this.En&&this.En();this.xF&&this.xF();e.prototype.Fb.call(this)};a.prototype.V=function(a){this.qf&&this.qf(a);e.prototype.V.call(this,a);this.Lp&&this.Lp(a)};return a});
define("jl",["require","nV"],function(a){var b=a("nV");return{ow:function(){this.set("beamEnabled",B);this.Kc=B;this.Hx=this.Ix=l},Lp:function(a){this.Ix=a.Ka;this.Hx=a.pitch},fo:function(a){if(a.$e==b.Jl){var d=!a.ol()&&this.Ep(a);if(d){a.ey(this.n);this.n.get("useHandCursor")&&a.fy(this.n);a.kk(this.get("distance"));var g=this.Bb(a.qC());g&&a.TV(g,this.Ux(a.qC()))}this.Kc!=d&&(this.Kc=d,this.n.trigger(this.Kc?b.kd:b.jc),a.cs()&&this.n.trigger(this.Kc?b.ez:b.wo))}else a.$e==b.wk&&!a.ol()&&this.Ep(a)&&
(1<this.n.TG(b.oa,m).length&&a.gs(this.n),a.kk(this.get("distance")),this.n.trigger(b.oa))},Ep:function(a){return this.get("beamEnabled")&&0<this.v2().Ct(a.sp).length?m:B},Bb:function(a){return!a||this.n.get("displayTooltipInTouchScreens")&&this.qa.J.get("displayTooltipInTouchScreens")!==B?this.n.get("toolTip",""):""},Ux:function(a){if(a){var a=this.get("yaw")-this.Ix,b=this.get("pitch")-this.Hx;return Math.sqrt(a*a+b*b)}return 0}}});
define("bQ","require,kL,jY,nV,cM,nr,mE,jl".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("cM"),c=a("nr"),i=a("mE"),a=a("jl"),b=b.extend(g,a,function(a){g.call(this);this.n=a;this.rA=this.N1=this.S2=r;this.Oj.push(this.n);this.yf=this.yf.bind(this);this.Bo(["loadingActive","panoramaPixelsPerDegree"]);this.set("tag","FrameHotspot");this.set("enabled",m);this.set("inVR",B);this.set("inScreenshot",B);this.set("overlaysEnabled",m);this.set("interactionEnabled",m);this.set("contentInteractive",
B);this.set("transparent",B);this.set("centerOverDisplay",B);this.set("loadingActive",B);this.set("visible",B);this.set("loaded",B);this.set("inView",B);this.set("frameHidden",m);this.od=this.Uq=this.Fd=this.bf=r});b.prototype.Ab=function(){this.bf=(new c(d.T)).Fl(this.LA.bind(this));this.Fd=(new c(d.dc)).bo(this.PA.bind(this));this.jBa();g.prototype.Ab.call(this);e.ea(this.n,["url","enabled","image","fadeInDuration","fadeOutDuration","contentInteractive","interactionEnabled","transparent"],this.yf,
m)};b.prototype.Fb=function(){this.bf.dispose();this.Fd.dispose();e.da(this.n,["url","enabled","image","fadeInDuration","fadeOutDuration","contentInteractive","interactionEnabled","transparent"],this.yf);this.Yfa();this.$fa();g.prototype.Fb.call(this)};b.prototype.yf=function(){this.set("url",this.n.get("url"));this.od.set("url",this.get("url"));this.set("image",this.n.get("image"));this.Ea.set("image",this.get("image"));this.Ea.set("level",this.get("image")&&i.wra(this.n,this.get("panoramaPixelsPerDegree")));
this.set("enabled",this.n.get("enabled"));this.set("fadeInDuration",this.n.get("fadeInDuration"));this.set("fadeOutDuration",this.n.get("fadeOutDuration"));this.set("interactionEnabled",this.n.get("interactionEnabled"));this.set("contentInteractive",this.n.get("contentInteractive"));this.set("transparent",this.n.get("transparent"));this.ua()};b.prototype.V=function(a){this.set("loaded",!!this.od&&this.od.get("frameLoaded"));this.set("inVR",a.Tb);this.set("inScreenshot",a.oC);this.set("hotspotsEnabled",
a.mC);g.prototype.V.call(this,a);this.Id(a)};b.prototype.jBa=function(){this.OI();this.vBa();this.uBa();var a=[this.Ea,this.Uq,this.od];this.bf.We(a);this.Fd.We(a);this.Gg(a)};b.prototype.Id=function(){this.set("globalBlendingActiveCopy",this.get("globalBlendingActive"));if(this.F("globalBlendingActive","globalBlendingActiveCopy","url","inVR","hotspotsEnabled","enabled","interactionEnabled","contentInteractive","composedTranslationX","composedTranslationY","composedTranslationZ")){var a=!(this.get("composedTranslationX")!=
0||this.get("composedTranslationY")!=0||this.get("composedTranslationZ")!=0)&&this.get("globalBlendingActive")==0&&this.get("hotspotsEnabled")&&this.get("enabled")&&!this.get("inVR")&&!!this.get("url");this.set("visible",a);this.set("beamEnabled",a&&this.get("interactionEnabled"));this.od.set("contentInteractive",a&&this.get("interactionEnabled")&&this.get("contentInteractive"))}this.set("frameHidden",!this.od.get("geometryVisible"));if(this.F("visible","loaded","frameHidden","transparent","inScreenshot")){this.get("visible")||
this.set("loaded",B);this.Ea.set("alpha",this.get("visible")&&(this.get("frameHidden")||!this.get("loaded"))?1:0);this.Ea.set("alpha",1);this.Uq.set("alpha",this.get("visible")&&!this.get("frameHidden")&&this.get("loaded")&&!this.get("transparent")&&!this.get("inScreenshot")?1:0);this.od.set("alpha",this.get("visible")?1:0);this.od.set("transparent",this.get("transparent"));this.set("inView",this.get("visible")&&(this.get("loaded")||this.get("image")));this.ua()}this.F("inView")&&this.n.trigger(this.get("inView")?
d.Wc:d.cd)};b.prototype.OI=function(){this.Vz();this.Ea=new this.rA;this.Ea.set("image",this.get("image"));this.Ea.set("level",this.get("image")&&i.wra(this.n,this.get("panoramaPixelsPerDegree")));this.Ea.set("visible",m);this.Ea.set("alpha",0);this.set("imagePlane",this.Ea)};b.prototype.Vz=function(){if(this.Ea){this.Ea.remove();this.Ea=r;this.set("imagePlane",r)}};b.prototype.uBa=function(){this.Yfa();this.od=new this.N1;this.od.bind(d.T,this.Gga,this,m);this.od.set("url",this.get("url"));this.od.set("visible",
m);this.od.set("alpha",1);this.set("framePlane",this.od)};b.prototype.Yfa=function(){if(this.od){this.od.unbind(d.T,this.Gga,this,m);this.od.remove();this.od=r;this.set("framePlane",r)}};b.prototype.vBa=function(){this.$fa();this.Uq=new this.S2;this.Uq.set("visible",m);this.Uq.set("alpha",1);this.set("holePlane",this.Uq)};b.prototype.$fa=function(){if(this.Uq){this.Uq.remove();this.Uq=r;this.set("holePlane",r)}};b.prototype.v2=S("Uq");b.prototype.Gga=function(){this.ua()};b.prototype.LA=function(){this.trigger(d.Ic);
this.trigger(d.T)};b.prototype.PA=function(a,b){var c=0;b.Rr(function(a){(a=b.vl(a))&&(c=c+a.Fg)});this.trigger(new ProgressEvent(d.dc,c/b.Sc.length))};return b});
define("fu",["require","kL","iB"],function(a){var b=a("kL"),e=a("iB"),a=b.extend(e,function(){e.call(this);this.set("tag","ComposedCSSObject");this.set("transparent",B);this.set("cssScene",r);this.set("cssSceneOver",r);this.set("cssObject",this.s0());this.mt&&this.mt();this.Tz&&this.Tz();this.ow&&this.ow();this.hn&&this.hn()});a.prototype.s0=function(){var a=new THREE.CSS3DObject;a.matrixAutoUpdate=B;return a};a.prototype.Ab=function(){e.prototype.Ab.call(this);this.Cn&&this.Cn();this.bK&&this.bK();
this.wF&&this.wF()};a.prototype.Fb=function(){this.VE&&this.VE();this.xF&&this.xF();this.En&&this.En();var a=this.get("cssObject");a&&a.parent&&a.parent.remove(a);this.set("cssScene",r);e.prototype.Fb.call(this)};a.prototype.V=function(a){this.qf&&this.qf(a);e.prototype.V.call(this,a);this.set("cssScene",a.wN);this.set("cssSceneOver",a.xN);if(this.F("transparent")){var b=this.get("cssObject");b&&b.parent&&b.parent.remove(b)}this.F("cssScene","cssSceneOver","transparent")&&(b=this.get("transparent")?
a.xN:a.wN)&&b.add(this.get("cssObject"));this.kl();this.mj&&this.mj(a);this.Lu&&this.Lu(a);this.IB()};a.prototype.kl=function(){this.F("composedAlpha","meshGroup")&&this.Vv()};a.prototype.Vv=function(){this.get("cssObject").element.style.display=0<this.get("composedAlpha")?"block":"none"};a.prototype.IB=function(){this.F("index")&&(this.get("cssObject").containerElement.style.zIndex=this.get("index"))};return a});
define("eb",["require","gz","a"],function(a){var b=a("gz"),e=a("a"),d=new THREE.Matrix4,g=Math.PI/180;return{mt:function(){this.set("vertices",l);this.Vg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.Dn=new THREE.Matrix4;this.am=new THREE.Matrix4;this.$o=new THREE.Matrix4},s0:function(){var a=new THREE.CSS3DQuad;a.matrixAutoUpdate=B;return a},Lu:function(a){var i=B;if(this.F("vertices","contentWidth","contentHeight")){var f=this.get("vertices"),i=e.Sr(f[0].get("yaw")*g,f[0].get("pitch")*g).normalize(),
j=e.Sr(f[1].get("yaw")*g,f[1].get("pitch")*g).normalize(),n=e.Sr(f[2].get("yaw")*g,f[2].get("pitch")*g).normalize(),f=e.Sr(f[3].get("yaw")*g,f[3].get("pitch")*g).normalize(),k=this.get("cssObject");k.vertices[0].set(i.x,i.y,-i.z);k.vertices[1].set(j.x,j.y,-j.z);k.vertices[2].set(n.x,n.y,-n.z);k.vertices[3].set(f.x,f.y,-f.z);k.contentWidth=this.get("contentWidth");k.contentHeight=this.get("contentHeight");i=m}j=B;this.F("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Vg.makeTranslation(0.5*
-this.get("composedTranslationX")*b.lf,0.5*this.get("composedTranslationY")*b.lf,0.5*this.get("composedTranslationZ")*b.lf),j=m);this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.nd.makeRotationY(-a.Ka*g),this.nd.multiply(d.makeRotationX(-this.get("composedDeltaPitch")*g)),this.nd.multiply(d.makeRotationY(this.get("composedDeltaYaw")*g)),this.nd.multiply(d.makeRotationY(a.Ka*g)),j=m);if(j||this.F("meshGroup"))this.$o.copy(this.Vg),this.$o.multiply(this.nd),this.get("cssObject").matrix.copy(this.$o),
this.get("cssObject").matrixWorldNeedsUpdate=m;this.set("cameraYaw",a.Ka);this.set("cameraPitch",a.pitch);this.set("cameraRoll",a.Ie);this.set("cameraHfov",a.ve);this.set("cameraWidth",a.width);this.set("cameraHeight",a.height);if(a.camera&&(j||i||this.F("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight")))this.get("cssObject").projectVertices(a.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.F("geometryVisible")&&this.k6()}}});
define("dL","require,hA,gz,eg,ou,a".split(","),function(a){var b=a("hA"),e=a("gz"),d=a("eg"),g=a("ou"),c=a("a"),i=new THREE.Matrix4,f=Math.PI/180;return{mt:function(){this.set("distance",l);this.set("vertices",l);this.wg=r;this.Vg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.el=new THREE.Matrix4;this.Xh=new THREE.Matrix4},Lu:function(a){this.nNa(a);this.Jp(a)},uE:function(){var a=this.get("meshGroup");return a?d.mk(a)[0]:r},Wl:function(){this.wg||(this.wg=this.nw());return[0].map(function(a){var c=
this.WD(),a=d.create(this.wg[a],c);g.hs(a,g.Ym);g.js(a,g.to);g.xy(a,b.pD);g.BH(a,1);return a}.bind(this))},nNa:function(){if(this.F("vertices")){var a=this.get("meshGroup");if(a){this.wg&&this.wg.forEach(function(a){e.dispose(a)});this.wg=this.nw();return d.mk(a).map(function(a,b){d.zaa(a,this.wg[b])}.bind(this))}}},nw:function(){function a(b){return b==0||isNaN(b)||!isFinite(b)}var b=this.get("vertices")||[];if(b.length!=4)return[e.Jqa(-1,1,1,1,1,1,1,-1,1,-1,-1,1)];var d=c.Sr(b[0].get("yaw")*f,b[0].get("pitch")*
f).normalize(),g=c.Sr(b[1].get("yaw")*f,b[1].get("pitch")*f).normalize(),i=c.Sr(b[2].get("yaw")*f,b[2].get("pitch")*f).normalize(),b=c.Sr(b[3].get("yaw")*f,b[3].get("pitch")*f).normalize(),q=d.clone().cW(i),t=b.clone().cW(g),s=q.clone().cW(t).normalize(),t=(d.y*2*s.x/d.x-2*s.y)/(-i.y+d.y*i.x/d.x);a(t)&&(t=(d.z*2*s.x/d.x-2*s.z)/(-i.z+d.z*i.x/d.x));a(t)&&(t=(d.z*2*s.y/d.y-2*s.z)/(-i.z+d.z*i.y/d.y));var u=(2*s.x-i.x*t)/d.x;a(u)&&(u=(2*s.y-i.y*t)/d.y);a(u)&&(u=(2*s.z-i.z*t)/d.z);q=(g.y*2*s.x/g.x-2*s.y)/
(-b.y+g.y*b.x/g.x);a(q)&&(q=(g.z*2*s.x/g.x-2*s.z)/(-b.z+g.z*b.x/g.x));a(q)&&(q=(g.z*2*s.y/g.y-2*s.z)/(-b.z+g.z*b.y/g.y));var w=(2*s.x-b.x*q)/g.x;a(w)&&(w=(2*s.y-b.y*q)/g.y);a(w)&&(w=(2*s.z-b.z*q)/g.z);d=d.zH(u);g=g.zH(w);i=i.zH(t);b=b.zH(q);return[e.Jqa(d.x,d.y,-d.z,g.x,g.y,-g.z,i.x,i.y,-i.z,b.x,b.y,-b.z)]},Jp:function(a){var b=B;if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){this.Vg.makeTranslation(-this.get("composedTranslationX")*0.5*e.lf,this.get("composedTranslationY")*
0.5*e.lf,this.get("composedTranslationZ")*0.5*e.lf);b=m}if(this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.nd.makeRotationY(-a.Ka*f);this.nd.multiply(i.makeRotationX(-this.get("composedDeltaPitch")*f));this.nd.multiply(i.makeRotationY(this.get("composedDeltaYaw")*f));this.nd.multiply(i.makeRotationY(a.Ka*f));b=m}if(this.F("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){a=this.Z.get("composedTranslationX")==0&&this.Z.get("composedTranslationY")==
0&&this.Z.get("composedTranslationZ")==0&&this.get("distance")!==l?e.fC(this.get("distance")):e.Uu();this.el.makeScale(a,a,a);b=m}if(b||this.F("meshGroup")){this.Xh.copy(this.Vg);this.Xh.multiply(this.nd);this.Xh.multiply(this.el);a=d.mk(this.get("meshGroup"));d.Rp(a[0],this.Xh)}}}});
define("cl",["require","nV"],function(a){var b=a("nV");return{Tz:function(){this.set("visible",B);this.set("inView",B);this.set("url",B);this.set("contentWidth",100);this.set("contentHeight",100);this.set("contentInteractive",B);this.set("frameLoaded",m);this.gc=this.Jd=r;this.uR=l;this.LV=this.LV.bind(this);this.MV=this.MV.bind(this);this.NV=this.NV.bind(this);this.qA=this.qA.bind(this);this.Z2=this.Z2.bind(this)},mj:function(){this.F("cssObject")&&(this.wBa(),this.get("cssObject").element.appendChild(this.Jd));
this.F("url")&&this.TJa(this.get("url"));this.F("contentWidth","contentHeight")&&(this.Jd.style.width=this.get("contentWidth")+2+"px",this.Jd.style.height=this.get("contentHeight")+2+"px");this.F("contentInteractive")&&(this.Jd.style.pointerEvents=this.get("contentInteractive")?"auto":"none")},kl:function(){this.F("composedAlpha")&&(0<this.get("composedAlpha")?this.gc&&!this.gc.parentNode&&(this.apa(),this.Jd.appendChild(this.gc)):this.gc&&this.gc.parentNode&&this.Jd.removeChild(this.gc))},bK:function(){this.trigger(b.Ic);
this.get("frameLoaded")&&this.trigger(b.T)},VE:function(){this.FAa()},MV:function(a){a.preventDefault();a.stopImmediatePropagation()},LV:function(){this.qa.Wb.zC(r)},NV:function(a){a.preventDefault();a.stopImmediatePropagation()},qA:function(){this.set("frameLoaded",m);this.trigger(b.T)},Z2:function(){this.vR=r;this.qA()},wBa:function(){this.gc||(this.Jd=document.createElement("div"),this.Jd.style.position="absolute",this.Jd.style.left=this.Jd.style.top="-1px",this.get("cssObject").isCSS3DObject&&
(this.Jd.style.transform="translate(-50%, -50%)"),this.Jd.style.overflow="hidden",this.Jd.style["-webkit-overflow-scrolling"]="touch",this.Jd.addEventListener("mouseenter",this.LV,m),this.Jd.addEventListener("mousemove",this.MV,m),this.Jd.addEventListener("mousewheel",this.NV,m),this.gc=document.createElement("iframe"),this.gc.setAttribute("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),this.gc.setAttribute("frameborder",
"0"),this.gc.setAttribute("scrolling","auto"),this.gc.style.width="100%",this.gc.style.height="100%",this.gc.addEventListener("load",this.qA,m),0<this.get("composedAlpha")&&this.Jd.appendChild(this.gc))},FAa:function(){this.gc&&(this.gc.src="",this.d6(),this.hw(),this.gc.parentNode&&this.gc.parentNode.removeChild(this.gc),this.gc=r);this.Jd&&(this.Jd.parentNode&&this.Jd.parentNode.removeChild(this.Jd),this.Jd.removeEventListener("mouseenter",this.LV,m),this.Jd.removeEventListener("mousemove",this.MV,
m),this.Jd.removeEventListener("mousewheel",this.NV,m),this.Jd=r)},TJa:function(a){this.uR!==a&&(this.uR=a,this.set("frameLoaded",B),this.apa())},apa:function(){this.uR?(this.XJa(),this.Jya(),this.gc.src=this.uR):(this.hw(),this.d6(),this.gc.src="",this.qA())},XJa:function(){this.hw();this.vR=setTimeout(this.Z2,3E3)},hw:function(){this.vR&&(clearTimeout(this.vR),this.vR=r)},Jya:function(){this.d6();this.gc.addEventListener("load",this.qA,m)},d6:function(){this.gc.removeEventListener("load",this.qA,
m)}}});define("jU",["require","eg","nV"],function(a){var b=a("eg"),e=a("nV");return{Tz:function(){this.get("materialConfig").params.blending=THREE.NoBlending},bK:function(){this.trigger(e.Ic);this.trigger(e.T)},kl:function(){this.F("meshGroup","composedAlpha")&&b.Ve(this.get("meshGroup"),0<this.get("composedAlpha")?0.001:0)}}});
define("lV",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,["playbackPositions","width","height"],this.Dd,m)},En:function(){b.da(this.n,["playbackPositions","width","height"],this.Dd)},Dd:function(){this.set("playbackPositions",this.n.get("playbackPositions"));this.set("contentWidth",this.n.get("width"));this.set("contentHeight",this.n.get("height"))},qf:function(){this.F("playbackPositions",
"currentTime")&&(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("vertices",this.Xa.a$()));this.F("framePlane","holePlane","imagePlane","vertices")&&this.zb().forEach(function(a){a.set("vertices",this.get("vertices"));a.set("contentWidth",this.get("contentWidth"));a.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("jc","require,kL,bQ,fu,c,eb,dL,cl,gA,jU,lV".split(","),function(a){var b=a("kL"),e=a("bQ"),d=a("fu"),g=a("c"),c=a("eb"),i=a("dL"),f=a("cl"),j=a("gA"),n=a("jU"),a=a("lV"),k=b.extend(g,i,j,function(){g.call(this);this.set("tag","QuadFrameHotspotImage")}),o=b.extend(d,c,f,function(){d.call(this);this.set("tag","QuadFrameHotspotFrame")}),p=b.extend(g,i,n,function(){g.call(this);this.set("tag","QuadFrameHotspotHole")});return b.extend(e,a,function(a){e.call(this,a);this.rA=k;this.N1=o;this.S2=p})});
define("iV",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,["vertices","distance","playbackPositions"],this.Dd,m)},En:function(){b.da(this.n,["vertices","distance","playbackPositions"],this.Dd)},Dd:function(){this.set("distance",this.n.get("distance"));this.set("vertices",this.n.get("vertices"));this.set("playbackPositions",this.n.get("playbackPositions"))},
qf:function(){this.F("playbackPositions","currentTime")&&(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("vertices",this.Xa.a$()),this.set("alpha",this.Xa.nk()))}}});
define("iG","require,kL,jY,nV,eg,c,dL,gA,nS,iV,mE".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("eg"),c=a("c"),i=a("dL"),f=a("gA"),j=a("nS"),n=a("iV"),k=a("mE"),o=0,a=b.extend(c,i,n,f,j,function(a){c.call(this);this.set("tag","QuadHotspotImage");this.set("id","quad_hs_image_"+o++);this.set("side",THREE.DoubleSide);this.n=a;this.Oj.push(this.n);this.zf=this.zf.bind(this)});a.prototype.Ab=function(){c.prototype.Ab.call(this);e.ea(this.n,["image.levels"],this.zf,m)};a.prototype.Fb=function(){e.da(this.n,
["image.levels"],this.zf);c.prototype.Fb.call(this)};a.prototype.zf=function(){this.set("image",this.n.get("image"));this.set("level",k.FPa(this.n))};a.prototype.V=function(a){this.EB();c.prototype.V.call(this,a);this.F("inView")&&this.n.trigger(this.get("inView")?d.Wc:d.cd)};a.prototype.EB=function(){if(this.F("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.setAttribute(a,g.Gy,this.get("panoramaId"));g.setAttribute(a,g.gY,this.get("id"))}.bind(this))}};
return a});
define("iA",["require","nV","kn"],function(a){function b(a,b){this.Wb=a;this.yc=b;this.eb=B;this.sT=m;this.D_=this.h5=B;this.g_();this.u4()}var e=a("nV"),d=a("kn");b.prototype.clear=function(){this.zka();this.Z5()};b.prototype.Hf=function(a){this.eb!=a&&(this.eb=a,this.Dr())};b.prototype.XSa=function(a){this.sT!=a&&((this.sT=a)&&this.zka(),this.Dr())};b.prototype.Dr=function(){if(!this.eb||this.sT)this.yc.set("state",d.M);else if(this.yc.get("autoplay")||this.D_)this.D_=B,this.yc.set("state",d.Q)};
b.prototype.u4=function(){if(!this.h5){var a=this.yc.get("video").get("autoplayTime");a!==l&&this.yc.get("video").get("autoplayTimeLimit")<(new Date).getTime()&&(a=l);this.yc.set("currentTime",a);this.D_=a!==l}};b.prototype.zka=function(){this.h5||(this.h5=m,this.yc.get("state")==d.Q?(this.yc.get("video").set("autoplayTimeLimit",(new Date).getTime()+g),this.yc.get("video").set("autoplayTime",this.yc.get("currentTime",0))):this.yc.get("video").set("autoplayTime",l))};b.prototype.g_=function(){this.yc.get("video").bind(e.u("autoplayTime"),
this.u4,this,m)};b.prototype.Z5=function(){this.yc.get("video").unbind(e.u("autoplayTime"),this.u4,this,m)};var g=1E3;return b});
define("es",["require","nV","eq"],function(a){var b=a("nV"),e=a("eq");return{ow:function(){this.set("beamEnabled",B);this.Kc=B;this.Hx=this.Ix=l},Lp:function(a){this.Ix=a.Ka;this.Hx=a.pitch},fo:function(a){if(a.$e==b.Jl){var e=!a.ol()&&this.Ep(a)&&!this.get("blendingActive");if(e){a.ey(this.n);this.n.get("useHandCursor")&&a.fy(this.n);a.kk(this.get("distance"));var c=this.Bb(a.qC());c&&a.TV(c,this.Ux(a.qC()))}this.Kc!=e&&(this.Kc=e,this.n.trigger(this.Kc?b.kd:b.jc),a.cs()&&this.n.trigger(this.Kc?
b.ez:b.wo))}else a.$e==b.wk&&!a.ol()&&this.Ep(a)&&(1<this.n.TG(b.oa,m).length&&a.gs(this.n),a.kk(this.get("distance")),this.n.trigger(b.oa))},Ep:function(a){if(this.get("beamEnabled"))for(var a=this.v2().Ct(a.sp),b=0;b<a.length;b++){var c=a[b];if(e.nv(c.source,c.x,c.y))return m}return B},Bb:function(a){return!a||this.n.get("displayTooltipInTouchScreens")&&this.qa.J.get("displayTooltipInTouchScreens")!==B?this.n.get("toolTip",""):""},Ux:function(a){if(a){var a=this.get("yaw")-this.Ix,b=this.get("pitch")-
this.Hx;return Math.sqrt(a*a+b*b)}return 0}}});
define("eK","require,kL,jY,nV,kn,nt,cM,iA,nr,mE,es,kM,nz,bD".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("kn"),c=a("nt"),i=a("cM"),f=a("iA"),j=a("nr"),n=a("mE"),k=a("es"),o=a("kM"),p=a("nz"),q=a("bD"),a=b.extend(i,k,function(a){i.call(this);this.n=a;this.U8=this.rA=r;this.Oj.push(this.n);this.yf=this.yf.bind(this);this.Bo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoHotspot");this.set("enabled",m);this.set("inVR",B);this.set("overlaysEnabled",m);
this.set("enabledInVR",m);this.set("enabledInStandard",m);this.set("interactionEnabled",m);this.set("centerOverDisplay",B);this.set("loadingActive",B);this.set("frameEmpty",m);this.set("state",g.M);this.set("itemVisible","none");this.set("blending",0);this.set("chromaColor",l);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.cb=this.Ea=this.Fd=this.bf=r;this.V8=B;this.Mq=[]});a.prototype.Ab=function(){this.bf=(new j(d.T)).Fl(this.LA.bind(this));this.Fd=(new j(d.dc)).bo(this.PA.bind(this));
this.yk=new f(this.qa.Wb,this.n);i.prototype.Ab.call(this);e.ea(this.n,["blending","chromaColor","chromaThreshold","chromaSmoothing","distance","scaleMode","image.levels","video.levels","enabled","enabledInStandard","enabledInVR","fadeInDuration","fadeOutDuration","interactionEnabled","state","videoVisibleOnStop"],this.yf,m)};a.prototype.Fb=function(){this.yk.clear();this.bf.dispose();this.Fd.dispose();e.da(this.n,["blending","chromaColor","chromaThreshold","chromaSmoothing","distance","scaleMode",
"image.levels","video.levels","enabled","enabledInStandard","enabledInVR","fadeInDuration","fadeOutDuration","interactionEnabled","state","videoVisibleOnStop"],this.yf);this.Vz();this.ww();i.prototype.Fb.call(this)};a.prototype.yf=function(){this.set("image",this.n.get("image"));this.set("imageLevel",n.PPa(this.n,this.get("panoramaPixelsPerDegree")));this.set("video",this.n.get("video"));this.set("videoLevel",c.tj(this.get("video")));this.set("enabled",this.n.get("enabled"));this.set("enabledInStandard",
this.n.get("enabledInStandard"));this.set("enabledInVR",this.n.get("enabledInVR"));this.set("fadeInDuration",this.n.get("fadeInDuration"));this.set("fadeOutDuration",this.n.get("fadeOutDuration"));this.set("interactionEnabled",this.n.get("interactionEnabled"));this.set("state",this.n.get("state"));this.set("videoVisibleOnStop",this.n.get("videoVisibleOnStop"));this.set("blending",this.n.get("blending"));this.set("chromaColor",this.n.get("chromaColor"));this.set("chromaThreshold",this.n.get("chromaThreshold"));
this.set("chromaSmoothing",this.n.get("chromaSmoothing"))};a.prototype.V=function(a){this.set("inVR",a.Tb);this.set("hotspotsEnabled",a.mC);this.Ip();this.LM();i.prototype.V.call(this,a);this.Dr(a);this.WM(a);this.Id(a)};a.prototype.Ip=function(){if(this.F("video","videoLevel","image","imageLevel")){var a=[];if(this.F("image","imageLevel")){this.OI();this.Ea&&a.push(this.Ea)}if(this.F("video","videoLevel")){this.RI();this.cb&&a.push(this.cb)}this.Gg(a);this.bf.We(a);this.Fd.We(a)}};a.prototype.LM=
function(){this.F("video","videoLevel","image","imageLevel","blending","chromaColor","chromaThreshold","chromaSmoothing")&&this.zb().forEach(function(a){a.set("blending",this.get("blending"));a.set("chromaColor",this.get("chromaColor"));a.set("chromaThreshold",this.get("chromaThreshold"));a.set("chromaSmoothing",this.get("chromaSmoothing"))}.bind(this))};a.prototype.Dr=function(){this.F("video","composedAlpha","enabledInVR","enabledInStandard","enabled","inVR")&&this.yk.Hf(this.get("composedAlpha")>
0&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.F("blendingActive")&&this.yk.XSa(this.get("blendingActive"))};a.prototype.WM=function(){this.set("frameEmpty",!this.cb||this.cb.get("frameEmpty"))};a.prototype.Id=function(a){var b=this.get("itemVisible");if(this.F("frameEmpty","state","image","video","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","enabled","interactionEnabled")){var c=
"none";if(this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))){this.cb&&(!this.Ea||!this.get("frameEmpty")&&(this.get("state")!=g.M||this.V8&&this.get("videoVisibleOnStop")))?c="video":this.Ea&&(c="image");if(this.get("state")!=g.M)this.V8=m}this.set("itemVisible",c);this.set("beamEnabled",c!="none"&&this.get("interactionEnabled"))}if(this.F("itemVisible")){var c=this.get("itemVisible")!="none",e=b!="none";
if(c&&e&&!this.get("chromaColor")&&this.Mq.length==0){this.Ea&&this.Ea.set("alpha",this.get("itemVisible")=="image"?1:0);this.cb&&this.cb.set("alpha",this.get("itemVisible")=="video"?1:0)}else{b=c==e?100:c?this.get("fadeInDuration"):this.get("fadeOutDuration");c!=e&&this.n.trigger(c?d.Wc:d.cd);var e=this.Ea?this.Ea.get("alpha"):0,f=this.cb?this.cb.get("alpha"):0,c=[{OC:f,image:e}];if(this.get("itemVisible")=="video"){c.push({OC:1,image:e,time:b*(1-f)});c.push({OC:1,image:0,time:50*(e-0)})}else if(this.get("itemVisible")==
"image"){c.push({OC:f,image:1,time:b*(1-e)});c.push({OC:0,image:1,time:50*(f-0)})}else c.push({OC:0,image:0,time:Math.max(f,e,1/b)*b});this.Mq=[];for(b=1;b<c.length;b++)c[b].time>0&&this.Mq.push(new p("linear",[new q("imageAlpha",c[b-1].image,c[b].image),new q("videoAlpha",c[b-1].OC,c[b].OC)],c[b].time))}}if(this.Mq.length>0){this.Mq[0].Se()?this.Mq.shift():this.Mq[0].ub(a.Pe);if(this.Mq.length>0){this.Ea&&this.Ea.set("alpha",this.Mq[0].fb("imageAlpha"));this.cb&&this.cb.set("alpha",this.Mq[0].fb("videoAlpha"));
this.ua()}}};a.prototype.OI=function(){this.Vz();if(this.get("image")&&this.get("imageLevel")){this.Ea=new this.rA;this.Ea.set("image",this.get("image"));this.Ea.set("level",this.get("imageLevel"));this.Ea.set("visible",m);this.Ea.set("alpha",0);this.Ea.set("side",THREE.DoubleSide)}};a.prototype.Vz=function(){if(this.Ea){this.Ea.remove();this.Ea=r}};a.prototype.RI=function(){this.ww();if(this.get("video")&&this.get("videoLevel")){this.cb=new this.U8;this.cb.set("scriptObject",this.n);this.cb.set("video",
this.get("video"));this.cb.set("level",this.get("videoLevel"));this.cb.set("visible",m);this.cb.set("alpha",0);this.cb.set("side",THREE.DoubleSide)}};a.prototype.ww=function(){if(this.cb){this.cb.remove();this.cb=r}};a.prototype.LA=function(){this.trigger(d.Ic);this.trigger(d.T)};a.prototype.PA=function(a,b){var c=0;b.Rr(function(a){(a=b.vl(a))&&(c=c+a.Fg)});this.trigger(new o(d.dc,c/b.Sc.length))};a.prototype.v2=function(){return this.get("itemVisible")=="video"?this.cb:this.Ea};return a});
define("gl","require,nV,kn,cp,eg,gZ,lM,lh,eQ,jK,nt".split(","),function(a){var b=a("nV"),e=a("kn"),d=a("cp"),g=a("eg");a("gZ");var c=a("lM"),i=a("lh"),f=a("eQ"),j=a("jK"),n=a("nt");return{Tz:function(){this.set("visible",B);this.set("inView",B);this.set("frameEmpty",m);this.set("blending",0);this.set("chromaColor",l);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",r);this.set("video",r);this.set("level",r);this.set("loop",B);this.set("side",l);this.Ua=this.cb=r;
this.V8=B;this.gV=this.Eh=this.Du=this.za=this.No=this.S=r},VE:function(){this.ww()},mj:function(a){this.oNa();this.LM();this.WM(a)},oNa:function(){if(this.F("scriptObject","video","level")){this.ww();this.cb=this.get("video");this.Ua=this.get("level");this.n=this.get("scriptObject");this.RI()}},LM:function(){if(this.F("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.cb){var a=new d.Vm(this.cb.gi());a.iy=this.get("blending");a.Nr=this.get("chromaColor");a.tN=this.get("chromaThreshold");
a.sN=this.get("chromaSmoothing");a.side=this.get("side");this.set("materialConfig",a)}},kl:function(){this.F("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0);this.F("composedAlpha","meshGroup","inView")&&g.Ve(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},WM:function(){var a=this.S&&this.S.uW(),b=!!a&&a.isEmpty();if(b&&!this.get("frameEmpty")&&this.S.mg()==e.Q&&this.n.get("loop")){a=this.Eh;b=B}this.set("frameEmpty",
b);if(!this.Eh||a&&!this.Eh.isEqual(a)){this.Eh=a;this.gV.Bl(this.Eh.Yz);this.gV.update();this.ua()}else this.S.mg()==e.Q&&this.ua()},RI:function(){if(this.cb&&this.Ua&&this.n){this.set("textureSource",this.gV=new f);this.set("contentWidth",this.Ua.get("width"));this.set("contentHeight",this.Ua.get("height"));this.set("alpha",0);this.S=new n(this.qa.Wb,this.cb);this.S.bSa();this.No=new c(this.n,this.S);this.za=new i(this.qa.Wb,this.n,this.S);this.Du=new j(this.qa.oc.get("panorama"),this.S);this.Us();
this.trigger(b.Ic);this.trigger(b.T)}},ww:function(){if(this.S){this.set("textureSource",this.gV=r);this.ru();this.za.clear();this.za=r;this.No.clear();this.No=r;this.Du.clear();this.Du=r;this.S.clear();this.Eh=this.S=r;this.set("frameEmpty",m);this.Ua=this.cb=r}},Us:function(){this.S.bind(n.mf,this.Ce,this,m);this.S.bind(b.Yd,this.cf,this,m)},ru:function(){this.S.unbind(n.mf,this.Ce,this,m);this.S.unbind(b.Yd,this.cf,this,m)},cf:function(){this.ua()},Ce:function(){this.ua()}}});
define("ny",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,["playbackPositions","distance"],this.Dd,m)},En:function(){b.da(this.n,["playbackPositions","distance"],this.Dd)},Dd:function(){this.set("distance",this.n.get("distance"));this.set("playbackPositions",this.n.get("playbackPositions"))},qf:function(){this.F("playbackPositions","currentTime")&&
(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("vertices",this.Xa.a$()),this.set("alpha",this.Xa.nk()));this.F("video","image","vertices","distance")&&this.zb().forEach(function(a){a.set("vertices",this.get("vertices"));a.set("distance",this.get("distance"))}.bind(this))}}});
define("jG","require,kL,eK,c,dL,gA,gl,ny".split(","),function(a){var b=a("kL"),e=a("eK"),d=a("c"),g=a("dL"),c=a("gA"),i=a("gl"),a=a("ny"),f=b.extend(d,g,c,function(){d.call(this);this.set("tag","QuadVideoHotspotImage")}),j=b.extend(d,g,i,function(){d.call(this);this.set("tag","QuadVideoHotspotVideo")});return b.extend(e,a,function(a){e.call(this,a);this.rA=f;this.U8=j})});
define("ki","require,kL,jY,kn,jA,mT,u".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("kn"),g=a("jA"),c=a("mT"),i=a("u"),a=b.extend(g,function(a){g.call(this);this.n=a;this.Rj=this.Rj.bind(this);this.Sj=this.Sj.bind(this);this.Rl()});a.prototype.Ab=function(){g.prototype.Ab.call(this);this.n.set("state",this.n.get("startState"));e.ea(this.n,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.Rj,m);e.ea(this.n,["state"],this.Sj,
m)};a.prototype.Fb=function(){e.da(this.n,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.Rj);e.da(this.n,["state"],this.Sj);this.n.set("state",d.M);g.prototype.Fb.call(this)};a.prototype.Rj=function(){this.Rl();this.KL()};a.prototype.Sj=function(){this.MT=this.n.get("state");this.ua()};a.prototype.Rl=function(){g.prototype.Rl.call(this);var a,b;if(i.Gf()){this.cA=this.Xq=4;this.ZA=2400;this.dA=1200;a=1.5;b=1.6}else{this.Xq=
2;this.cA=4;this.ZA=4800;this.dA=2400;b=a=1}var d=this.n.get("intensity",0.5);this.ac=c.fO(this.n.get("color","#ffffff"));this.mL=this.n.get("opacity",0.25)*0.24+0.01;this.mL=this.mL*2;this.yx=(d*(0.37-0.17)+0.17)*a;a=(this.n.get("speed",0.5)*(0.09-0.02)+0.02)/this.yx*b;this.iK=a*0.9;this.IA=a*1.1;this.ZA=Math.round(this.n.get("particleCount",this.ZA)*d);this.dA=Math.round(this.n.get("farPlaneParticleCount",this.dA)*d);this.mS=0;this.Yo=2;this.Yq=-2;this.a4=0;this.oI=0.75;this.YI=0.5;this.GR=this.n.get("initialState");
this.QU=this.n.get("startDuration");this.WU=this.n.get("stopDuration");this.Xq=this.n.get("maxDistance",this.Xq);this.cA=this.n.get("farPlaneDistance",this.cA);this.ay()};a.prototype.yQ=function(){var a=new THREE.MeshBasicMaterial;a.color=new THREE.Color(this.ac[0]/255,this.ac[1]/255,this.ac[2]/255);a.side=THREE.FrontSide;a.transparent=m;a.depthTest=B;a.needsUpdate=m;if(!this.Cw)this.Cw=new THREE.BoxGeometry(0.01,0.2,0.01);return new THREE.Mesh(this.Cw,a)};a.prototype.ay=function(){var a=this.Of&&
this.Of.children||[],b=new THREE.Color(this.ac[0]/255,this.ac[1]/255,this.ac[2]/255);a.forEach(function(a){a.material.color=b;a.material.needsUpdate=m})};return a});
define("fY","require,kL,y,nV,cu,iB".split(","),function(a){var b=a("kL"),e=a("y"),d=a("nV"),g=a("cu"),c=a("iB"),i=b.extend(c,function(a,b,d,g){c.call(this);this.Wb=a;this.J=b;this.oc=d;this.h=g;this.xK=new e;this.N6(this);this.set("tag","Root");this.set("globalBlendingActive",0)});i.prototype.jf=function(a){return this.xK.get(a)};i.prototype.all=function(){for(var a=[],b=[this];b.length>0;){var c=b.pop();a.push(c);for(var d=c.zd.length-1;d>=0;d--)b.push(c.zd[d])}return a};i.prototype.update=function(a){var b=
this.all(),c=b.length,d;for(d=0;d<c;d++)b[d].JAa();for(d=0;d<c;d++)b[d].set("index",d);for(d=0;d<c;d++)b[d].qa&&b[d].V(a);for(d=0;d<c;d++)b[d].DAa();if(this.ER){for(d=0;d<c;d++)b[d].GAa();this.update(a)}};i.prototype.ua=function(){this.Df||this.trigger(new g(d.ra));c.prototype.ua.call(this)};i.prototype.Xu=function(a){return Array.isArray(a)?a.map(this.Xu.bind(this)):this.xK.get(a)||i.factory.create(a)};return i});
define("fC","require,kL,jY,kn,jA,u".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("kn"),g=a("jA"),c=a("u"),a=b.extend(g,function(a){g.call(this);this.n=a;this.Rj=this.Rj.bind(this);this.Sj=this.Sj.bind(this);this.Rl()});a.prototype.Ab=function(){g.prototype.Ab.call(this);this.n.set("state",this.n.get("startState"));e.ea(this.n,["intensity","speed"],this.Rj,m);e.ea(this.n,["state"],this.Sj,m)};a.prototype.Fb=function(){e.da(this.n,["intensity","speed"],this.Rj);e.da(this.n,["state"],this.Sj);
this.n.set("state",d.M);g.prototype.Fb.call(this)};a.prototype.Rj=function(){this.Rl();this.KL()};a.prototype.Sj=function(){this.MT=this.n.get("state");this.ua()};a.prototype.Rl=function(){g.prototype.Rl.call(this);var a=this.n.get("intensity"),b=this.n.get("speed"),d,e,o,p,q,t;if(c.mb()||c.browser()==c.Jy){d=1E3;e=350;o=1800;p=400;t=0.8;q=1.2}else if(c.Gf()){d=1500;e=500;o=2500;p=500;t=0.8;q=1.2}else{d=3E3;e=1E3;o=5E3;p=1E3;t=0.6;q=1}this.GR=this.n.get("initialState");this.QU=this.n.get("startDuration");
this.WU=this.n.get("stopDuration");this.oI=0.75;this.YI=0.5;this.Xq=4;this.Yq=-2;this.Yo=3;this.mS=35;this.cA=7;this.yx=(t+a*(q-t))/i;this.iK=this.IA=0.15+b*1.35;this.ZA=e+a*(d-e);this.dA=p+a*(o-p)};a.prototype.yQ=function(){return new THREE.Sprite(this.Sz())};a.prototype.Sz=function(){var a=new THREE.SpriteMaterial;a.map=this.Lo();a.side=THREE.FrontSide;a.transparent=m;a.depthTest=B;a.needsUpdate=m;return a};a.prototype.Lo=function(){if(this.ib)return this.ib;var a=document.createElement("canvas");
a.width=a.height=i;var b=a.getContext("2d"),c=b.createRadialGradient(a.width*0.5,a.height*0.5,a.height*0.2,a.width*0.5,a.height*0.5,a.height*0.5);c.addColorStop(0,"rgba(255, 255, 255, 0.8)");c.addColorStop(1,"rgba(255, 255, 255, 0)");b.fillStyle=c;b.fillRect(0,0,a.width,a.height);this.ib=new THREE.Texture;this.ib.image=a;this.ib.needsUpdate=m;return this.ib};var i=32;return a});
define("cN",["require","gz","u"],function(a){var b=a("gz"),e=a("u"),d=new THREE.Matrix4,g=Math.PI/180;return{mt: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",l);this.set("vfov",r);this.Vg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.Dn=new THREE.Matrix4;this.am=new THREE.Matrix4;this.Bi=new THREE.Matrix4;this.el=new THREE.Matrix4;this.$o=new THREE.Matrix4},s0:function(){var a=
e.Xd()==e.mi||e.browser()==e.Jy?new THREE.CSS3DRectangle:new THREE.CSS3DObject;a.matrixAutoUpdate=B;return a},Lu:function(a){if(this.F("contentWidth","contentHeight")){var e=this.get("cssObject");e.contentWidth=this.get("contentWidth");e.contentHeight=this.get("contentHeight");e.updateVertices()}e=B;this.F("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Vg.makeTranslation(0.5*-this.get("composedTranslationX")*b.lf,0.5*this.get("composedTranslationY")*b.lf,0.5*this.get("composedTranslationZ")*
b.lf),e=m);this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.nd.makeRotationY(-a.Ka*g),this.nd.multiply(d.makeRotationX(-this.get("composedDeltaPitch")*g)),this.nd.multiply(d.makeRotationY(this.get("composedDeltaYaw")*g)),this.nd.multiply(d.makeRotationY(a.Ka*g)),e=m);this.F("yaw","pitch")&&(this.Dn.makeRotationY(-this.get("yaw")*g),this.Dn.multiply(d.makeRotationX(this.get("pitch")*g)),e=m);if(this.F("flipHorizontally","hfov","vfov","composedTranslationX","composedTranslationY",
"composedTranslationZ")){var e=this.get("contentWidth"),f=this.get("contentHeight"),j=this.get("hfov"),n=this.get("vfov");this.am.makeTranslation(0,0,-(e/(2*Math.tan(0.5*j*g))));var k=(this.get("flipHorizontally")?-1:1)*this.get("scale"),o=this.get("scale");n&&(o*=e*Math.tan(0.5*n*g)/(f*Math.tan(0.5*j*g)));this.el.makeScale(k,o,1);e=m}this.F("rotationX","rotationY","rotationZ","roll")&&(this.Bi.makeRotationZ(this.get("roll")*g),this.Bi.multiply(d.makeRotationY(this.get("rotationY")*g)),this.Bi.multiply(d.makeRotationX(this.get("rotationX")*
g)),this.Bi.multiply(d.makeRotationZ(this.get("rotationZ")*g)),e=m);if(e||this.F("meshGroup"))this.$o.copy(this.Vg),this.$o.multiply(this.nd),this.$o.multiply(this.Dn),this.$o.multiply(this.am),this.$o.multiply(this.Bi),this.$o.multiply(this.el),this.get("cssObject").matrix.copy(this.$o),this.get("cssObject").matrixWorldNeedsUpdate=m;this.set("cameraYaw",a.Ka);this.set("cameraPitch",a.pitch);this.set("cameraRoll",a.Ie);this.set("cameraHfov",a.ve);this.set("cameraWidth",a.width);this.set("cameraHeight",
a.height);if(a.camera&&(e||this.F("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight")))this.get("cssObject").projectVertices(a.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.F("geometryVisible")&&this.k6()}}});
define("lD",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,["playbackPositions","width","height"],this.Dd,m)},En:function(){b.da(this.n,["playbackPositions","width","height"],this.Dd)},Dd:function(){this.set("playbackPositions",this.n.get("playbackPositions"));this.set("contentWidth",this.n.get("width"));this.set("contentHeight",this.n.get("height"))},qf:function(){this.F("playbackPositions",
"currentTime")&&(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("yaw",this.Xa.get("yaw")),this.set("pitch",this.Xa.get("pitch")),this.set("roll",this.Xa.get("roll")),this.set("rotationX",this.Xa.get("rotationX")),this.set("rotationY",this.Xa.get("rotationY")),this.set("hfov",this.Xa.get("hfov")),this.set("vfov",this.Xa.get("vfov")));this.F("framePlane","holePlane","imagePlane","yaw","pitch","roll","rotationX","rotationY","hfov","vfov","contentWidth","contentHeight")&&
this.zb().forEach(function(a){a.set("yaw",this.get("yaw"));a.set("pitch",this.get("pitch"));a.set("roll",this.get("roll"));a.set("rotationX",this.get("rotationX"));a.set("rotationY",this.get("rotationY"));a.set("hfov",this.get("hfov"));a.set("vfov",this.get("vfov"));a.set("contentWidth",this.get("contentWidth"));a.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("lY","require,kL,bQ,fu,c,cN,nl,cl,gA,jU,lD".split(","),function(a){var b=a("kL"),e=a("bQ"),d=a("fu"),g=a("c"),c=a("cN"),i=a("nl"),f=a("cl"),j=a("gA"),n=a("jU"),a=a("lD"),k=b.extend(g,i,j,function(){g.call(this);this.set("tag","RectangleFrameHotspotImage")}),o=b.extend(d,c,f,function(){d.call(this);this.set("tag","RectangleFrameHotspotFrame")}),p=b.extend(g,i,n,function(){g.call(this);this.set("tag","RectangleFrameHotspotHole")});return b.extend(e,a,function(a){e.call(this,a);this.rA=k;this.N1=
o;this.S2=p})});
define("nn",["require","jY","mQ"],function(a){var b=a("jY"),e=a("mQ");return{hn:function(){this.set("playbackPositions",r);this.set("scaleMode",l);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Xa=new e},Cn:function(){b.ea(this.n,["playbackPositions","distance","scaleMode"],this.Dd,m)},En:function(){b.da(this.n,["playbackPositions","distance","scaleMode"],this.Dd)},Dd:function(){this.set("scaleMode",this.n.get("scaleMode"));this.set("distance",this.n.get("distance"));this.set("playbackPositions",this.n.get("playbackPositions"))},
qf:function(){this.F("playbackPositions","currentTime")&&(this.Xa.Ay(this.get("playbackPositions")),this.Xa.zy(this.get("currentTime")),this.set("yaw",this.Xa.get("yaw")),this.set("pitch",this.Xa.get("pitch")),this.set("roll",this.Xa.get("roll")),this.set("rotationX",this.Xa.get("rotationX")),this.set("rotationY",this.Xa.get("rotationY")),this.set("hfov",this.Xa.get("hfov")),this.set("vfov",this.Xa.get("vfov")),this.set("alpha",this.Xa.nk()));this.F("video","image","yaw","pitch","roll","rotationX",
"rotationY","hfov","vfov","distance","scaleMode","image","video")&&this.zb().forEach(function(a){a.set("yaw",this.get("yaw"));a.set("pitch",this.get("pitch"));a.set("roll",this.get("roll"));a.set("rotationX",this.get("rotationX"));a.set("rotationY",this.get("rotationY"));a.set("hfov",this.get("hfov"));a.set("vfov",this.get("vfov"));a.set("scaleMode",this.get("scaleMode"));a.set("distance",this.get("distance"))}.bind(this))}}});
define("nY","require,kL,eK,c,nl,gA,gl,nn".split(","),function(a){var b=a("kL"),e=a("eK"),d=a("c"),g=a("nl"),c=a("gA"),i=a("gl"),a=a("nn"),f=b.extend(d,g,c,function(){d.call(this);this.set("tag","RectangleVideoHotspotImage")}),j=b.extend(d,g,i,function(){d.call(this);this.set("tag","RectangleVideoHotspotVideo")});return b.extend(e,a,function(a){e.call(this,a);this.rA=f;this.U8=j})});
define("dM","require,mR,iB,hk,in,jk,lE,eJ,mF,fJ,X,ng,dE,bB,jc,iG,jG,ki,fY,fC,lY,nY,bW".split(","),function(a){function b(a,b){Array.isArray(b)||(b=[b]);for(var c=0;c<b.length;c++)if(e.va(b[c],a))return m;return B}var e=a("mR"),d=a("iB"),g=a("hk"),c=a("in"),i=a("jk"),f=a("lE"),j=a("eJ"),n=a("mF"),k=a("fJ"),o=a("X"),p=a("ng"),q=a("dE"),t=a("bB"),s=a("jc"),u=a("iG"),w=a("jG"),v=a("ki"),x=a("fY"),y=a("fC"),E=a("lY"),D=a("nY");a("bW");a={};x.factory=a;a.create=function(a){if(a instanceof d)return a;if(b(a,
["HDRPanorama","LivePanorama","Panorama","VideoPanorama"]))return new o(a);if(b(a,["CubicPanoramaFrame","SphericPanoramaFrame"]))return b(a,"SphericPanoramaFrame")&&a.ul()?new q(a):new p(a);if(b(a,["DustPanoramaOverlay"]))return new c(a);if(b(a,"HotspotPanoramaOverlay"))return new f(a);if(b(a,["HotspotPanoramaOverlayImage","HotspotPanoramaOverlayMap"]))return new j(a);if(b(a,"Menu"))return new k(a);if(b(a,["CeilingCapPanoramaOverlay","TripodCapPanoramaOverlay"]))return new g(a);if(b(a,["FlatHotspotPanoramaOverlayImage",
"FlatHotspotPanoramaOverlayMap"]))return new i(a);if(b(a,["LensFlarePanoramaOverlay"]))return new n(a);if(b(a,["RainPanoramaOverlay"]))return new v(a);if(b(a,["SnowPanoramaOverlay"]))return new y(a);if(b(a,["PopupPanoramaOverlay"]))return new t(a);if(b(a,["QuadFramePanoramaOverlay"]))return new s(a);if(b(a,["QuadHotspotPanoramaOverlayImage","QuadHotspotPanoramaOverlayMap"]))return new u(a);if(b(a,["QuadVideoPanoramaOverlay"]))return new w(a);if(b(a,["FramePanoramaOverlay"]))return new E(a);if(b(a,
["VideoPanoramaOverlay"]))return new D(a);h("Invalid script object")};return a});
define("ky",["require"],function(){var a={Ira:function(b,e,d,g,c,i){return a.XOa(b,2*(e/g)-1,2*-(d/c)+1,i)},XOa:function(a,e,d,g){g||(g=new THREE.Ray);g.origin.setFromMatrixPosition(a.matrixWorld);g.direction.set(e,d,0.5).unproject(a).sub(g.origin).normalize();return g},lPa:function(a,e){e||(e=new THREE.Ray);e.origin.set(0,0,0);e.direction.set(0,0,-1).applyQuaternion(a.quaternion);return e},kPa:function(a,e){e||(e=new THREE.Ray);e.origin.set(0,0,0).applyMatrix4(a);e.direction.set(0,0,-1).applyMatrix4(a).sub(e.origin).normalize();
return e}};return a});
define("ht",["require"],function(){function a(a){this.ac=this.Tq(a.get("vrPointerColor"));this.rr=this.Tq(a.get("vrPointerSelectionColor"));this.Hu=this.$j([0,0,0],0);this.HU=this.$j([0,0,0],0.125);this.lCa=this.$j(this.ac,1);this.mCa=this.$j(this.rr,1);this.yAa=this.$j(this.rr,1);this.xAa=this.$j(this.ac,0.5);this.vAa=this.$j(this.ac,1);this.wAa=this.$j(this.rr,1);this.lh=this.Ye=64;this.o_=4E3;this.cga=0.1;this.zk=0.16;this.Jn=0.04;this.cfa=this.jQ=0.68-this.Jn;this.iQ=1-this.Jn;this.I=document.createElement("canvas");
this.I.width=this.Ye;this.I.height=this.lh;this.ha=this.I.getContext("2d");this.Kc=this.ht=B;this.RE=this.nT=l;this.vz=0}a.prototype.Tq=function(a){a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]};a.prototype.$j=function(a,e){return"rgba("+a.join(",")+", "+e+")"};a.prototype.RSa=function(a,e){this.Kc=a;this.nT=e};a.prototype.AX=R("ht");a.prototype.bd=S("Ye");a.prototype.Rd=S("lh");a.prototype.kg=S("I");a.prototype.update=function(a){return this.ht?
this.pCa(a):this.Kc?this.uCa():this.tCa()};a.prototype.RD=function(){this.ha.clearRect(0,0,this.Ye,this.lh)};a.prototype.tCa=function(){if("initial"==this.RE)return B;this.RD();this.gga(this.lCa);this.RE="initial";return m};a.prototype.uCa=function(){if(this.nT===l){if("over"==this.RE)return B;this.RD();this.gga(this.mCa)}else this.KHa(this.nT);this.RE="over";return m};a.prototype.pCa=function(a){for(this.vz+=a;this.vz>this.o_;)this.vz-=this.o_;this.sAa(this.vz/this.o_);this.RE="changing";return m};
a.prototype.gga=function(a){this.Si(this.cga+this.Jn,0,this.Hu,this.HU,0,2*Math.PI);this.Si(this.cga,0,this.Hu,a,0,2*Math.PI)};a.prototype.vCa=function(a){this.Si(this.jQ-0.5*(this.zk+this.Jn),this.zk+this.Jn,this.HU,this.Hu,0,2*Math.PI);this.Si(this.jQ-0.5*this.zk,this.zk,this.xAa,this.Hu,0,2*Math.PI);this.Si(this.jQ-0.5*this.zk,this.zk,this.yAa,this.Hu,0.5*Math.PI,(0.5+2*a)*Math.PI)};a.prototype.qCa=function(a,e){this.Si(this.cfa-0.5*(this.zk+this.Jn),this.zk+this.Jn,this.HU,this.Hu,0,2*Math.PI);
this.Si(this.cfa-0.5*this.zk,this.zk,this.vAa,this.Hu,0,2*Math.PI);a=(0.5+2*a)*Math.PI;for(e=(0.5+2*e)*Math.PI;e<a;)e+=2*Math.PI;var d=a-this.Jn/(2*this.iQ*Math.PI),g=e+this.Jn/(2*this.iQ*Math.PI);Math.abs(g-d+2*Math.PI)<2*this.Jn&&(d=0,g=e);this.Si(this.iQ-0.5*(this.zk+this.Jn),this.zk+this.Jn,this.HU,this.Hu,d,g);this.Si(this.iQ-0.5*this.zk,this.zk,this.wAa,this.Hu,a,e)};a.prototype.Si=function(a,e,d,g,c,i){var f=Math.round(0.5*this.Ye),j=Math.round(0.5*this.lh),n=Math.min(f,j),a=Math.round(a*n),
k=this.ha;k.mQa=k.DWa=m;k.lineWidth=e*n;k.strokeStyle=d;k.fillStyle=g;k.beginPath();k.arc(f,j,a,c,i,B);k.stroke();k.fill()};a.prototype.sAa=function(a){this.RD();var e;0.25>a?(e=a/0.25,a=0.5*e):0.5>a?(e=(a-0.25)/0.25,a=0.5+e,e=1+0.5*e):0.75>a?(e=(a-0.5)/0.25,a=0.5+0.5*e,e=0.5+e):(a=e=(a-0.75)/0.25,e=0.5+0.5*e);this.qCa(a,e)};a.prototype.KHa=function(a){this.RD();this.vCa(a)};return a});
define("lP","require,kL,eg,iW,ht,eQ,bu".split(","),function(a){var b=a("kL"),e=a("eg"),d=a("iW"),g=a("ht"),c=a("eQ"),i=a("bu"),a=b.extend(d,function(){d.call(this);this.I=r;this.set("tag","Reticle");this.set("changing",B);this.set("over",B);this.set("overProgress",l);this.set("visible",m);this.set("attachToCamera",m);this.Bn=r});a.prototype.V=function(a){this.Ip(a);this.Vf(a);this.qf(a);d.prototype.V.call(this,a)};a.prototype.Ip=function(a){if(a.Tb&&!this.Bn&&i.ue()==i.lz.sk)this.Gg([this.Bn=new d])};
a.prototype.Vf=function(a){if(!this.I){this.set("textureSource",new c);this.I=new g(this.qa.J);this.get("textureSource").Bl(this.I.kg());this.set("contentWidth",this.I.bd());this.set("contentHeight",this.I.Rd());this.set("hfov",6);this.set("distance",this.qa.J.get("vrPointerDistance"))}this.F("changing")&&this.I.AX(this.get("changing"));this.F("over","overProgress")&&this.I.RSa(this.get("over"),this.get("overProgress"));this.I.update(a.Pe)&&this.get("textureSource").update();this.get("changing")&&
this.ua()};a.prototype.qf=function(){this.qj()};a.prototype.kl=function(){this.F("composedAlpha","meshGroup","visible")&&this.Vv()};a.prototype.Vv=function(){e.Ve(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a});
define("bj","require,jquery.mod,dZ,nV,u,oq,gY".split(","),function(a){function b(a){this.Pa=a;this.voa=this.Pa.tn;this.Pa.bind(g.Vc,this.Sf,this);this.ba=e("<span></span>");this.ba.css({"pointer-events":"none",position:"absolute","z-index":c.Vca,"text-align":"center",display:"none"});this.Td=e("<span></span>");this.Td.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.ba.append(this.Td);this.fV=e("<span></span>");this.fV.css({position:"relative"});this.ba.append(this.fV);this.Di=this.JR=
this.oh=r;this.ju=this.iu=l;this.Jt=B;this.woa=l}var e=a("jquery.mod"),d=a("dZ"),g=a("nV");a("u");var c=a("oq"),i=a("gY"),f={toolTip:l,toolTipBackgroundColor:"#F6F6F6",toolTipBackgroundOpacity:1,toolTipBorderColor:"#767676",toolTipBorderRadius:3,toolTipBorderSize:1,toolTipFontFamily:"Segoe UI",toolTipFontSize:12,toolTipFontColor:"#606060",toolTipFontWeight:"normal",toolTipFontStyle:"normal",toolTipHorizontalAlign:"center",toolTipOpacity:1,toolTipPaddingBottom:2,toolTipPaddingLeft:4,toolTipPaddingTop:2,
toolTipPaddingRight:4,toolTipShadowBlurRadius:3,toolTipShadowColor:"#333333",toolTipShadowHorizontalLength:3,toolTipShadowOpacity:1,toolTipShadowSpread:0,toolTipShadowVerticalLength:3,toolTipTextShadowBlurRadius:3,toolTipTextShadowColor:"#000000",toolTipTextShadowHorizontalLength:0,toolTipTextShadowOpacity:0,toolTipTextShadowVerticalLength:0,toolTipDisplayTime:600};b.prototype.Ac=S("ba");b.prototype.zC=function(a){if(!this.voa){for(;a&&a.get("toolTipDisabled");)a=a.getParent();this.hide();this.oh&&
d(d(f).keys()).each(function(a){this.oh.unbind(g.u(a),this.M4,this)},this);if(this.oh=a){d(d(f).keys()).each(function(a){this.oh.bind(g.u(a),this.M4,this)},this);this.M4()}}};b.prototype.ETa=function(a,b){this.oh=a;this.woa=b;this.RR()||(this.Jt?this.Hna():this.pM())};b.prototype.Fna=function(a,b,c){this.Jt&&this.oh.trigger(g.Uca);this.pMa(a);this.fV.html(this.CEa(b));this.Yea=c;this.qf();this.oh.trigger(g.Oxa);this.Jt=m;this.ba.css("display","inline");(c||a.get("checkToolTipOcclusion"))&&this.KKa(a)};
b.prototype.qf=function(){var a=this.gm(),b=a.x,a=a.y,c=this.ba.outerWidth(),d=this.ba.outerHeight();if(this.Yea){b=b-this.ba.width()*0.5;a=a-this.ba.height()*0.5}b=Math.max(Math.min(b,this.Pa.Ra()-c-3),3);a=Math.max(Math.min(a,this.Pa.yb()-d-3),3);this.ba.css("left",b+"px");this.ba.css("top",a+"px")};b.prototype.gm=function(){var a={};if(this.Yea){var b=this.oh.Ac().offset();a.x=b.left+this.oh.Ra()*0.5;a.y=b.top+this.oh.yb()*0.5}else{a.x=this.iu;a.y=this.ju+25}return a};b.prototype.hide=function(){this.Nz();
this.Zna();if(this.Jt){this.ba.css("display","none");this.oh.trigger(g.Uca);this.Jt=B}};b.prototype.M4=function(){this.oh.get("toolTip")?this.RR()||(this.Jt?this.Gna():this.pM()):this.RR()?this.Nz():this.Jt&&this.hide()};b.prototype.Sf=function(a){this.iu=a.pageX;this.ju=a.pageY;this.Jt&&this.oh.get("toolTipFollowMouse")&&this.qf()};b.prototype.Gna=function(){this.Fna(this.oh,this.oh.get("toolTip"),B)};b.prototype.Hna=function(){this.Fna(this.oh,this.woa,m)};b.prototype.RR=function(){return this.Di!=
r};b.prototype.pM=function(){var a=this.oh&&this.oh.get("toolTipDisplayTime");if(a===l||a===r)a=f.toolTipDisplayTime;this.Nz();this.Di=setTimeout(function(){this.Di=r;this.voa?this.Hna():this.Gna()}.bind(this),a)};b.prototype.Nz=function(){if(this.RR()){clearTimeout(this.Di);this.Di=r}};b.prototype.KKa=function(a){var b=this.gm();this.Zna();var c=function(){this.ba.css("display",this.Jt&&!this.DFa(a,b.x,b.y)?"inline":"none")}.bind(this);this.JR=setInterval(c,300);c()};b.prototype.Zna=function(){if(this.JR){clearInterval(this.JR);
this.JR=r}};b.prototype.pMa=function(a){function b(c){var d=a.get(c);return d===l?f[c]:d}var c={};c.opacity=b("toolTipOpacity");c.filter=c["-ms-filter"]="alpha(opacity="+Math.round(b("toolTipOpacity")*100)+")";c.paddingTop=b("toolTipPaddingTop")+"px";c.paddingBottom=b("toolTipPaddingBottom")+"px";c.paddingLeft=b("toolTipPaddingLeft")+"px";c.paddingRight=b("toolTipPaddingRight")+"px";c["text-align"]=b("toolTipHorizontalAlign");this.ba.css(c);c={};c.opacity=b("toolTipBackgroundOpacity");c.filter=c["-ms-filter"]=
"alpha(opacity="+Math.round(b("toolTipBackgroundOpacity")*100)+")";c["background-color"]=b("toolTipBackgroundColor");c.border=[b("toolTipBorderSize")+"px","solid",b("toolTipBorderColor")].join(" ");var e=b("toolTipShadowColor");c["-moz-box-shadow"]=c["-webkit-box-shadow"]=c["box-shadow"]=[b("toolTipShadowHorizontalLength")+"px",b("toolTipShadowVerticalLength")+"px",b("toolTipShadowBlurRadius")+"px",b("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+e.substr(1,2))+", "+parseInt("0x"+e.substr(3,2))+
", "+parseInt("0x"+e.substr(5,2))+", "+b("toolTipShadowOpacity")+")"].join(" ");c["-moz-border-radius"]=c["-webkit-border-radius"]=c.borderRadius=b("toolTipBorderRadius")+"px";this.Td.css(c);c={};c["font-family"]=i.Ru(b("toolTipFontFamily"));e=b("toolTipFontSize");d(e).isNumber()?e=e+"px":d(e).isString()||(e="");c["font-size"]=e;c["font-weight"]=b("toolTipFontWeight");c["font-style"]=b("toolTipFontStyle");c.color=b("toolTipFontColor");e=b("toolTipTextShadowColor");c["-moz-text-shadow"]=c["-webkit-text-shadow"]=
c["text-shadow"]=[b("toolTipTextShadowHorizontalLength")+"px",b("toolTipTextShadowVerticalLength")+"px",b("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+e.substr(1,2))+", "+parseInt("0x"+e.substr(3,2))+", "+parseInt("0x"+e.substr(5,2))+", "+b("toolTipTextShadowOpacity")+")"].join(" ");var g=b("toolTipTextShadowVerticalLength")==0&&b("toolTipTextShadowHorizontalLength")==0?135:Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-b("toolTipTextShadowVerticalLength"))/Math.PI)*45;
c.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a}(255*b("toolTipTextShadowOpacity"))+e.substr(1,6)+",direction="+g+")";this.fV.css(c)};b.prototype.DFa=function(a,b,c){for(var b=document.elementsFromPoint(b,c),a=a.Ac()[0],c=this.Pa.Ac()[0],d=0;d<b.length;d++){var e=b[d];if(a==e||a.contains(e))break;if(!this.ba[0].contains(e)&&c.contains(e)){var f=window.getComputedStyle(e);if(f.display!="none"&&f.visibility!="hidden"&&(e.tagName==
"CANVAS"?1:this.PAa(f.backgroundColor))*f.opacity>0.29)return m}}return B};b.prototype.PAa=function(a){if(!a)return 0;var a=a.toLowerCase(),b=a.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return b?parseFloat(b[1]):a.match(/transparent/)?0:1};b.prototype.CEa=function(a){for(var a=(a||"").split("\n"),b=0;b<a.length;b++)a[b]=this.FCa(a[b]);return a.map(function(a){return"<div>"+a+"</div>"})};b.prototype.FCa=function(a){b.Nda.nodeValue=a;return b.Jda.innerHTML};b.Dwa=f;b.Jda=document.createElement("pre");
b.Nda=document.createTextNode("");b.Jda.appendChild(b.Nda);b.ZUa=600;return b});
define("cJ",["require","bj","bO","gY"],function(a){function b(a,b){this.J=a;this.jl=b;this.AKa()}var e=a("bj"),d=a("bO"),g=a("gY");b.prototype.kg=S("I");b.prototype.bd=function(){return this.I.width};b.prototype.Rd=function(){return this.I.height};b.prototype.AKa=function(){this.I=document.createElement("canvas");var a=this.jl.split("\n"),b=this.xg("toolTipBackgroundColor"),e=this.xg("toolTipBackgroundOpacity"),j=this.xg("toolTipBorderRadius"),n=this.xg("toolTipBorderColor"),k=this.xg("toolTipBorderSize");
this.xg("toolTipDisplayTime");var o=this.xg("toolTipFontFamily"),p=this.xg("toolTipFontSize"),q=this.xg("toolTipFontColor"),t=this.xg("toolTipFontWeight"),s=this.xg("toolTipFontStyle"),u=this.xg("toolTipPaddingBottom"),w=this.xg("toolTipPaddingLeft"),v=this.xg("toolTipPaddingTop"),x=this.xg("toolTipPaddingRight"),y=this.xg("toolTipOpacity"),E=this.xg("toolTipTextShadowBlurRadius"),D=this.xg("toolTipTextShadowColor"),F=this.xg("toolTipTextShadowHorizontalLength"),L=this.xg("toolTipTextShadowVerticalLength"),
J=this.xg("toolTipTextShadowOpacity"),z=new d.EZ;z.fontFamily=o;z.fontSize=p+(isNaN(p)?"":"px");z.fontWeight=t;z.fontStyle=s;var K=a.map(function(a){return d(a,z,H)}),I=0,A=0;K.forEach(function(a){I=Math.max(a.width,I);A+=a.height});var N=1<a.length?0.25*(A/a.length):0,A=A+(a.length-1)*N,x=k+w+I+x+k,u=k+v+A+u+k;this.I=document.createElement("canvas");var H=this.I.getContext("2d");this.I.width=x;this.I.height=u;H.globalAlpha=y;H.strokeStyle=n;H.fillStyle="transparent"===b?"rgba(0,0,0,0)":this.bea(e,
b);H.lineWidth=k;H.beginPath();H.moveTo(j,0);H.lineTo(x-j,0);H.quadraticCurveTo(x,0,x,j);H.lineTo(x,u-j);H.quadraticCurveTo(x,u,x-j,u);H.lineTo(j,u);H.quadraticCurveTo(0,u,0,u-j);H.lineTo(0,j);H.quadraticCurveTo(0,0,j,0);H.closePath();H.fill();0<k&&H.stroke();H.fillStyle=q;H.font=t+" "+("normal"!=s?s+" ":"")+p+(isNaN(p)?"":"px")+" "+g.Ru(o);H.shadowColor=this.bea(J,D);H.shadowOffsetX=F;H.shadowOffsetY=L;H.shadowBlur=E;H.textBaseline="middle";H.textAlign="center";var C=k+w+0.5*I,M=k+v;a.forEach(function(a,
b){H.fillText(a,Math.round(C),Math.round(M+0.5*K[b].height));M+=K[b].height+N})};b.prototype.xg=function(a){var b=this.J.get(a);return b===l?e.Dwa[a]:b};b.prototype.bea=function(a,b){return"rgba("+parseInt("0x"+b.substr(1,2))+", "+parseInt("0x"+b.substr(3,2))+", "+parseInt("0x"+b.substr(5,2))+", "+a+")"};return b});
define("nP","require,kL,gz,iW,cJ,eQ,bu".split(","),function(a){var b=a("kL"),e=a("gz"),d=a("iW"),g=a("cJ"),c=a("eQ"),i=a("bu"),a=b.extend(d,function(){d.call(this);this.I=r;this.set("tag","ToolTip");this.set("text","");this.Tn=new THREE.Vector3(0,0,-e.Uu());this.Bn=r});a.prototype.V=function(a){this.Ip(a);this.Vf(a);d.prototype.V.call(this,a)};a.prototype.Ip=function(a){if(a.Tb&&!this.Bn&&i.ue()==i.lz.sk)this.Gg([this.Bn=new d])};a.prototype.Vf=function(a){if(!this.I||this.F("text")){this.get("textureSource")||
this.set("textureSource",new c);this.I=new g(this.qa.J,this.get("text"));this.get("textureSource").Bl(this.I.kg());this.set("contentWidth",this.I.bd());this.set("contentHeight",this.I.Rd());this.set("hfov",2*Math.atan2(this.I.bd()*0.5,600)*f);this.set("distance",this.qa.J.get("vrPointerDistance"));var b=this.get("matrix");if(b){this.Tn.applyMatrix4(b);(this.Tn.x!=0||this.Tn.z!=0)&&this.set("yaw",f*Math.atan2(this.Tn.x,-this.Tn.z));(this.Tn.y!=0||this.Tn.z!=0)&&this.set("pitch",f*Math.atan2(this.Tn.y,
Math.sqrt(this.Tn.z*this.Tn.z+this.Tn.x*this.Tn.x))+j)}else{this.set("yaw",a.Ka);this.set("pitch",a.pitch+n)}}};var f=180/Math.PI,j=2,n=5;return a});define("nk",["require","ky","V"],function(a){function b(a,b){this.je=a;this.h=b;this.mJ=r}var e=a("ky"),d=a("V");b.prototype.update=G();b.prototype.clear=G();b.prototype.ue=S("je");b.prototype.lha=function(){var a=this.o.rg&&d.cC(this.o.rg);return this.mJ=a?e.lPa(a,this.mJ):r};b.tP="gaze";b.ada="gaze_click";b.cI="laser";b.dI="mouse";b.eI="touch";return b});
define("eV",["require","nk"],function(a){function b(a,b,d,e){this.fj=a;this.sp=b;this.mJ=d;this.$e=e;this.Wea=[];this.Xk=[];this.zV=[];this.P2=[];this.Bb="";this.Ux=Number.MAX_VALUE}function e(a){return a===l?[]:Array.isArray(a)?a:[a]}var d=a("nk");b.prototype.cs=function(){return this.fj.ue()==d.dI};b.prototype.Isa=function(){return this.fj.ue()==d.cI};b.prototype.qC=function(){return this.fj.ue()==d.eI};b.prototype.zQa=function(){return this.fj.ue()==d.tP};b.prototype.fy=function(a){this.zV=this.zV.concat(e(a))};
b.prototype.Sm=function(){return 0<this.zV.length};b.prototype.TNa=function(a){this.P2=this.P2.concat(e(a))};b.prototype.COa=function(){return 0==this.zV.length&&0<this.P2.length};b.prototype.ey=function(a){this.Xk=this.Xk.concat(e(a))};b.prototype.gRa=function(){return 0<this.Xk.length};b.prototype.kk=function(a){if(a&&(this.IQ===l||this.IQ>a))this.IQ=a};b.prototype.TV=function(a,b){if(""==this.Bb||this.Ux>b)this.Bb=a,this.Ux=b};b.prototype.WX=S("Bb");b.prototype.gs=function(a){this.Wea=e(a)};b.prototype.ol=
function(){return 0<this.Wea.length};return b});
define("cD","require,kL,nV,ky,V,lP,nP,eV,nk,bu".split(","),function(a){var b=a("kL"),e=a("nV");a("ky");a("V");var d=a("lP"),g=a("nP"),c=a("eV"),i=a("nk"),f=a("bu"),a=b.extend(i,function(a,b){i.call(this,i.tP,a);this.kj=this.o=r;this.Xk=[];this.Kc=this.ht=B;this.yJ=r;this.Qha=l;this.SL=r;this.sla=l;this.Gd=new d;this.h.add(this.Gd);this.Qn="";this.Bb=new g;this.Bb.set("alpha",0);this.h.add(this.Bb);this.z6=b?this.h.J.get("vrPointerSelectionTime"):l;this.Rha=this.h.J.get("vrGazePointerHideTime");this.jV=
this.jV.bind(this);document.body.addEventListener("touchend",this.jV);f.bind(e.$m,this.Tpa,this,m);this.e8();this.E8()});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.jV);f.unbind(e.$m,this.Tpa,this,m);this.n7();this.h.remove(this.Gd);this.Gd=r;this.h.remove(this.Bb);this.Bb=r};a.prototype.update=function(a){this.o=a;this.FJa(a.y9);this.hk()};a.prototype.jV=function(){this.EI()};a.prototype.Tpa=function(){this.EI()};a.prototype.EI=function(){this.bk(this.Lj(e.wk));
this.tB(B);this.O7()};a.prototype.O7=function(){this.h.tb().trigger(e.$C,{IO:e.wk})};a.prototype.hk=function(){var a=this.Lj(e.Jl);this.bk(a);this.yu(a.WX());var b;a:{b=this.Xk;for(var c=a.Xk,d=0;d<b.length;d++)if(c.indexOf(b[d])<0){b=B;break a}for(d=0;d<c.length;d++)if(b.indexOf(c[d])<0){b=B;break a}b=m}if(!b){this.tB(B);this.Xk=a.Xk;this.Xk.length&&this.tB(m,a.Sm())}};a.prototype.FJa=function(a){if(this.ht!=a){this.ht=a;this.Gd.set("changing",this.ht);this.e8();this.E8()}};a.prototype.tB=function(a,
b){if(this.Kc!=a){this.Kc=a;this.Gd.set("over",this.Kc&&b);this.e8();this.E8()}};a.prototype.yu=function(a){if(this.Qn!=a){this.Qn=a;this.Bb.set("text",this.Qn);this.Bb.set("alpha",this.Qn?1:0);this.Qn&&this.Bb.qj()}};a.prototype.bk=function(a){this.h.EW().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.fo(a)}.bind(this))};a.prototype.Lj=function(a){this.kj=this.lha();return new c(this,this.kj?[this.kj]:[],this.kj,a)};a.prototype.E8=function(){!this.Kc||this.ht||this.z6===
l?this.n7():this.Kc&&!this.SL&&this.cLa()};a.prototype.e8=function(){if(this.Kc||this.ht||this.Rha===l){this.Gd.set("alpha",1);this.coa()}else this.Gd.get("alpha")==1&&!this.yJ&&this.QKa()};a.prototype.n7=function(){this.SL&&(clearInterval(this.SL),this.SL=r)};a.prototype.cLa=function(){this.Gd.set("overProgress",0);this.sla=(new Date).getTime();this.SL=setInterval(this.pHa.bind(this),100)};a.prototype.pHa=function(){var a=(new Date).getTime()-this.sla;if(a>=this.z6){this.n7();this.EI()}else this.Gd.set("overProgress",
a/this.z6)};a.prototype.coa=function(){this.yJ&&(clearInterval(this.yJ),this.yJ=r)};a.prototype.QKa=function(){this.Qha=(new Date).getTime();this.yJ=setInterval(this.KGa.bind(this),10)};a.prototype.KGa=function(){var a=this.Rha-((new Date).getTime()-this.Qha);this.Gd.set("alpha",Math.max(0.01,Math.min(1,a/500)));a<=0&&this.coa()};return a});
define("kc","require,kL,gz,cp,eg,eQ,h,mT".split(","),function(a){var b=a("kL"),e=a("gz"),d=a("cp"),g=a("eg"),c=a("eQ"),i=a("h"),f=a("mT"),j=new THREE.Matrix4,n=Math.PI/180,a=b.extend(i,function(){i.call(this);this.set("tag","Laser");this.set("matrix",r);this.set("over",B);this.set("pressed",B);this.set("intersectionDistance",0);this.set("visible",B);this.set("attachToCamera",B);this.set("dotVisible",m);this.R5=this.EL=this.mr=this.Q5=r;new THREE.Matrix4;this.S5=new THREE.Matrix4;this.S5.multiply(j.makeRotationX(-90*
n));this.S5.multiply(j.makeTranslation(0,k*0.5,0));this.NQ=this.MQ=this.LQ=this.ut=this.e1=r;new THREE.Matrix4;this.f1=new THREE.Matrix4;this.MI=this.KQ=this.d1=r;new THREE.Matrix4;this.Rz=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.Rz[0].multiply(j.makeRotationX(-90*n));this.Rz[0].multiply(j.makeTranslation(0,-p*0.5,0));this.Rz[1].multiply(j.makeRotationX(-90*n));this.Rz[1].multiply(j.makeTranslation(0,-p*0.5,-o*0.5));this.Rz[2].multiply(j.makeRotationX(-90*n));this.Rz[2].multiply(j.makeTranslation(0,
-p*0.5,-o))});a.prototype.V=function(a){i.prototype.V.call(this,a);this.G8();this.by()};a.prototype.G8=function(){if(this.F("visible"))this.get("meshGroup").visible=this.get("visible");this.F("dotVisible")&&g.Ve([this.MQ,this.KQ],this.get("dotVisible")?1:0)};a.prototype.by=function(){if(this.F("over","pressed")){this.$oa();this.spa()}};var k=0.35,o=0.012,p=0.1;a.prototype.Wl=function(){this.KQ=g.create(new THREE.SphereGeometry(2.3,32,32),this.mBa());this.MQ=g.create(new THREE.SphereGeometry(2,32,
32),this.nBa());this.R5=g.create(new THREE.CylinderGeometry(0.003,0.003,k,8),this.MBa());this.VD=[];this.VD.push(g.create(new THREE.CylinderGeometry(o,o,p,32),this.u0()));this.VD.push(g.create(new THREE.BoxGeometry(2*o,p,o),this.u0()));this.VD.push(g.create(new THREE.CylinderGeometry(o,o,p,32),this.u0()));return[this.KQ,this.MQ,this.R5].concat(this.VD)};a.prototype.mBa=function(){if(this.d1==r){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),e=new c;e.Bl(a);this.d1=
d.ky(e.texture(),new d.Vm);b.fillStyle="rgba(0, 0, 0, 0.75)";b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height)}return this.d1};a.prototype.nBa=function(){if(this.e1==r){this.ut=document.createElement("canvas");this.ut.width=this.ut.height=256;this.LQ=this.ut.getContext("2d");this.NQ=new c;this.NQ.Bl(this.ut);this.e1=d.ky(this.NQ.texture(),new d.Vm);this.$oa()}return this.e1};a.prototype.$oa=function(){this.LQ.fillStyle=this.Y1();this.LQ.clearRect(0,0,this.ut.width,this.ut.height);
this.LQ.fillRect(0,0,this.ut.width,this.ut.height);this.NQ.update()};a.prototype.MBa=function(){if(this.Q5==r){this.mr=document.createElement("canvas");this.mr.width=this.mr.height=256;this.EL=this.mr.getContext("2d");this.T5=new c;this.T5.Bl(this.mr);this.Q5=d.ky(this.T5.texture(),new d.Vm);this.spa()}return[this.Q5]};a.prototype.spa=function(){var a=f.fO(this.Y1()).join(", "),b=this.EL.createLinearGradient(0,0,0,this.mr.height);b.addColorStop(0,"rgba("+a+", 0)");b.addColorStop(0.5,"rgba("+a+", 1)");
b.addColorStop(1,"rgba("+a+", 1)");this.EL.fillStyle=b;this.EL.clearRect(0,0,this.mr.width,this.mr.height);this.EL.fillRect(0,0,this.mr.width,this.mr.height);this.T5.update()};a.prototype.u0=function(){if(this.MI==r){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),e=new c;e.Bl(a);this.MI=d.ky(e.texture(),new d.Vm);b.fillStyle="rgba(64, 64, 64, 1)";b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height)}return[this.MI,this.MI,this.MI]};a.prototype.Jp=
function(){var a=B,b=B,c=B;if(this.F("intersectionDistance")){var b=(b=this.get("intersectionDistance"))?e.fC(b):e.Uu(),d=b/e.Uu();this.f1.makeTranslation(0,0,-b);this.f1.multiply(j.makeScale(d,d,d));b=m}if(this.F("matrix"))c=b=a=m;if(b){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.f1);g.Rp(this.MQ,j);g.Rp(this.KQ,j)}if(a){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.S5);g.Rp(this.R5,j)}if(c){b=this.get("matrix");for(a=0;a<this.VD.length;a++){j.identity();
b&&j.multiply(b);j.multiply(this.Rz[a]);g.Rp(this.VD[a],j)}}};a.prototype.IB=function(){if(this.F("index","meshGroup")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.NX(a,this.get("index"))}.bind(this))}};a.prototype.Y1=function(){return this.get("pressed")?this.qa.J.get("vrPointerSelectionColor"):this.get("over")?this.qa.J.get("vrPointerOverColor"):this.qa.J.get("vrPointerColor")};return a});
define("ed","require,kL,nV,ky,kc,lP,nP,eV,nk,gM,bu,mN".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("ky"),g=a("kc"),c=a("lP"),i=a("nP"),f=a("eV"),j=a("nk"),n=a("gM"),k=a("bu"),o=a("mN"),p=new THREE.Matrix4,q=Math.PI/180,a=b.extend(j,function(a){j.call(this,j.cI,a);this.kj=this.o=r;this.Xk=[];this.Xi=new g;this.h.add(this.Xi);this.Gd=new c;this.h.add(this.Gd);this.jj=B;this.Qn="";this.Bb=r;this.Dk=new THREE.Matrix4});a.prototype.clear=function(){this.h.remove(this.Xi);this.h.remove(this.Gd);
this.Gd=this.Xi=r;this.Bb&&this.h.remove(this.Bb);this.Bb=r};a.prototype.update=function(a){this.o=a;this.Gd.set("changing",a.y9);this.Gd.set("visible",a.y9);var b=n.eX();if(b&&!b.CQa()){var c=b.quaternion(),d=b.position(),e=k.Vr().position,f=o.Ka(k.Vr().orientation);this.Dk.identity();if(d){this.Dk.multiply(p.makeRotationY((f-a.Ka)*q));this.Dk.multiply(p.makeTranslation(-e.x,-e.y,-e.z));this.Dk.multiply(p.makeTranslation(d.x,d.y,d.z));this.Dk.multiply(p.makeRotationFromQuaternion(c))}else{this.Dk.multiply(p.makeRotationY(-a.Ka*
q));b.hand()==n.Ha?this.Dk.multiply(p.makeTranslation(-0.2,-0.4,0)):this.Dk.multiply(p.makeTranslation(0.2,-0.4,0));this.Dk.multiply(p.makeRotationY(f*q));this.Dk.multiply(p.makeRotationFromQuaternion(c));this.Dk.multiply(p.makeTranslation(0,0,-0.3))}this.Xi.set("matrix",r);this.Xi.set("matrix",this.Dk);this.Xi.set("pressed",b.pressed());this.Xi.set("visible",m)}else this.Xi.set("visible",B);this.hk();a=!!b&&b.pressed();if(this.jj!=a){this.jj&&this.EI();this.jj=a}this.Xi.qj();this.Gd.qj()};a.prototype.EI=
function(){var a=this.Lj(e.wk);this.bk(a);this.Xi.set("over",m);this.Xi.set("dotVisible",m);this.Xi.set("intersectionDistance",a.IQ);(a=n.eX())&&a.pulse(0.6,50);this.O7()};a.prototype.O7=function(){this.h.tb().trigger(e.$C,{IO:e.wk})};a.prototype.hk=function(){var a=this.Lj(e.Jl);this.bk(a);this.yu(a.WX());var b;a:{b=this.Xk;for(var c=a.Xk,d=0;d<b.length;d++)if(c.indexOf(b[d])<0){b=B;break a}for(d=0;d<c.length;d++)if(b.indexOf(c[d])<0){b=B;break a}b=m}if(!b&&(a.Sm()||this.Xi.get("over"))){this.Xk=
a.Xk;(b=n.eX())&&b.pulse(0.6,5)}this.Xi.set("over",a.Sm());this.Xi.set("intersectionDistance",a.IQ);this.Xi.set("dotVisible",!a.COa())};a.prototype.yu=function(a){if(this.Qn!=a){this.Qn&&this.h.remove(this.Bb);if(this.Qn=a){this.Bb=new i(this.Qn);this.Bb.set("text",this.Qn);this.Bb.set("matrix",r);this.Bb.set("matrix",this.Dk);this.h.add(this.Bb)}}};a.prototype.bk=function(a){this.h.EW().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.fo(a)}.bind(this))};a.prototype.Lj=
function(a){this.kj=d.kPa(this.Dk,this.kj);return new f(this,[this.kj],this.lha(),a)};return a});
define("iC","require,kL,nV,ky,V,eV,nk,bb".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("ky"),g=a("V"),c=a("eV"),i=a("nk"),f=a("bb"),a=b.extend(i,function(a){i.call(this,i.dI,a);this.h.J.bind(e.Vc,this.$i,this,m);this.h.J.bind(e.wo,this.Qia,this,m);this.h.J.bind(e.jc,this.YIa,this,m);this.h.J.bind(e.Hb,this.Cd,this,m);this.h.J.bind(e.ic,this.aj,this,m);this.ju=this.iu=this.nu=this.zm=this.wc=this.vc=l;this.kj=this.o=r;this.Gr=B;this.Bb=""});a.prototype.clear=function(){this.h.J.unbind(e.Vc,this.$i,
this,m);this.h.J.unbind(e.wo,this.Qia,this,m);this.h.J.unbind(e.Hb,this.Cd,this,m);this.h.J.unbind(e.ic,this.aj,this,m);this.Gr&&(this.h.qH(f.vf),this.Gr=B);this.yu("")};a.prototype.update=function(a){this.o=a;this.q8()};a.prototype.Hra=function(){return{x:this.vc,y:this.wc,pageX:this.iu,pageY:this.ju}};a.prototype.$i=function(a){this.vc=a.x;this.wc=a.y;this.iu=a.pageX;this.ju=a.pageY;this.uV()};a.prototype.Qia=function(){this.ju=this.iu=this.wc=this.vc=l;this.uV()};a.prototype.YIa=function(){this.ju=
this.iu=this.wc=this.vc=l;this.uV()};a.prototype.Cd=function(a){this.vc=this.zm=a.x;this.wc=this.nu=a.y;this.iu=a.pageX;this.ju=a.pageY;this.bk(this.Lj(e.vZ))};a.prototype.aj=function(a){this.vc=a.x;this.wc=a.y;this.iu=a.pageX;this.ju=a.pageY;this.bk(this.Lj(e.wZ));this.u3(this.zm,this.nu,this.vc,this.wc)&&this.bk(this.Lj(e.wk))};a.prototype.q8=function(){if(!this.Kp)this.Kp=setTimeout(function(){this.Kp=r;this.hk()}.bind(this),300)};a.prototype.uV=function(){if(this.Kp){clearTimeout(this.Kp);this.Kp=
r}this.hk()};a.prototype.hk=function(){var a=this.Lj(e.Jl);this.bk(a);this.yu(a.WX());if(this.Gr!=a.Sm()){this.Gr&&this.h.qH(f.vf);(this.Gr=a.Sm())&&this.h.sX(f.vf)}};a.prototype.yu=function(a){if(this.Bb!=a){this.Bb=a;this.h.J.set("toolTip",this.Bb)}};a.prototype.bk=function(a){this.h.EW().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.fo(a)}.bind(this))};a.prototype.Lj=function(a){return new c(this,this.qR(),r,a)};a.prototype.qR=function(){if(this.vc!==l&&this.wc!==
l&&this.o.rg){var a=g.cC(this.o.rg);if(a){this.kj=d.Ira(a,this.vc,this.wc,this.o.width,this.o.height,this.kj);return[this.kj]}}return[]};a.prototype.u3=function(a,b,c,d){a=c-a;b=d-b;return Math.sqrt(a*a+b*b)<=5};return a});
define("gd","require,kL,nV,ky,V,eV,nk".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("ky"),g=a("V"),c=a("eV"),i=a("nk"),a=b.extend(i,function(a){i.call(this,i.eI,a);this.h.J.bind(e.Hb,this.Cd,this,m);this.h.J.bind(e.ic,this.aj,this,m);this.nu=this.zm=this.wc=this.vc=l;this.o=r;this.qAa=Array(f.length);this.cIa=Array(j.length);this.Bb="";this.hk=this.hk.bind(this)});a.prototype.clear=function(){this.h.J.unbind(e.Hb,this.Cd,this,m);this.h.J.unbind(e.ic,this.aj,this,m);this.yu("")};a.prototype.update=
function(a){this.o=a;this.q8()};a.prototype.Cd=function(a){this.vc=this.zm=a.x;this.wc=this.nu=a.y;this.bk(this.Lj(e.vZ))};a.prototype.aj=function(a){this.vc=a.x;this.wc=a.y;this.bk(this.Lj(e.wZ));this.u3(this.zm,this.nu,this.vc,this.wc)&&this.bk(this.Lj(e.wk))};a.prototype.q8=function(){if(!this.Kp)this.Kp=setTimeout(this.hk,300)};a.prototype.uV=function(){if(this.Kp){clearTimeout(this.Kp);this.Kp=r}this.hk()};a.prototype.hk=function(){this.Kp=r;var a=this.Lj(e.Jl);this.bk(a);this.yu(a.WX())};a.prototype.yu=
function(a){if(this.Bb!=a){this.Bb=a;a=this.h.J;a.set("toolTip",this.Bb);if(!a.get("toolTipDisabled")){var b=a.tb().Bb;this.Bb?b.ETa(a,this.Bb):b.hide()}}};a.prototype.bk=function(a){this.h.EW().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.fo(a)}.bind(this))};a.prototype.Lj=function(a){var b;b=a==e.Jl?this.qR(this.o.width*0.5,this.o.height*0.5,f,this.qAa):this.qR(this.vc,this.wc,j,this.cIa);return new c(this,b,r,a)};a.prototype.qR=function(a,b,c,e){var f=this.o.rg&&
g.cC(this.o.rg);if(f){var j=this.o.width,i=this.o.height,u=Math.min(j,i)/100;c.forEach(function(c,g){e[g]=d.Ira(f,a+c[0]*u,b+c[1]*u,j,i,e[g])});return e}return[]};a.prototype.u3=function(a,b,c,d){a=c-a;b=d-b;b=Math.sqrt(a*a+b*b);d=4*Math.round(1*Math.min(window.screen.width,window.screen.height)/100);return b<=d};var f=function(){for(var a=[],b=-5;b<=5;b++)for(var c=-5;c<=5;c++){var d=Math.sqrt(c*c+b*b);d<5&&a.push([c,b,d])}for(c=-30;c<-5;c++)a.push([c,0,Math.sqrt(c*c)]);for(c=6;c<=30;c++)a.push([c,
0,Math.sqrt(c*c)]);for(b=-15;b<-5;b++)a.push([0,b,Math.sqrt(b*b)]);for(b=6;b<=15;b++)a.push([0,b,Math.sqrt(b*b)]);a.sort(function(a,b){return a[2]-b[2]});return a.map(function(a){return[a[0],a[1]]})}(),j=function(){for(var a=[],b=0;b<5;b++)for(var c=-2+4*b/4,d=0;d<5;d++){var e=-2+4*d/4,f=Math.sqrt(e*e+c*c);f<=2&&a.push([e,c,f])}a.sort(function(a,b){return a[2]-b[2]});return a.map(function(a){return[a[0],a[1]]})}();return a});
define("gP","require,cD,ed,iC,nk,gd".split(","),function(a){var b=a("cD"),e=a("ed"),d=a("iC"),g=a("nk"),c=a("gd");return{create:function(a,f){switch(a){case g.tP:return new b(f,m);case g.ada:return new b(f,B);case g.cI:return new e(f);case g.dI:return new d(f);case g.eI:return new c(f)}}}});
define("ot",["require","bb"],function(a){function b(a){this.qc=a;this.Fe=[]}var e=a("bb");b.prototype.push=function(a){this.Fe.push(a);this.V()};b.prototype.pop=function(a){for(var b=this.Fe.length-1;0<=b;b--)if(this.Fe[b]==a){this.Fe.splice(b,1);this.V();break}};b.prototype.clear=function(){0<this.Fe.length&&(this.qc.set("cursor",e.le),this.Fe=[])};b.prototype.V=function(){this.qc.set("cursor",0<=this.Fe.indexOf(e.uk)?e.uk:0<=this.Fe.indexOf(e.vf)?e.vf:0<this.Fe.length?this.Fe[this.Fe.length-1]:
e.le)};return b});
define("lv","require,kL,jY,nV,cu,e,bb,u,gM,hI,jE,ob,ez,eu,dM,fY,gP,nk,ot,oc,ou,ko,bu,bf,nc".split(","),function(a){var b=a("kL"),e=a("jY"),d=a("nV"),g=a("cu"),c=a("e"),i=a("bb"),f=a("u"),j=a("gM"),n=a("hI"),k=a("jE"),o=a("ob"),p=a("ez"),q=a("eu"),t=a("dM"),s=a("fY"),u=a("gP"),w=a("nk"),v=a("ot"),x=a("oc"),y=a("ou"),E=a("ko"),D=a("bu"),F=a("bf"),L=a("nc"),J=Math.PI/180,z=b.extend(c,function(a,b,f){c.call(this);this.ie("Renderer");this.set("toolTipDisabled",m);this.set("cursor",i.Fv);this.set("layout",
"absolute");this.Wb=a;this.J=b;this.oc=f;this.Zl=new v(b);this.fj=r;this.o=new o;this.qa=new s(this.Wb,this.J,this.oc,this);this.qa.bind(d.ra,this.vb,this,m);this.cl=new q;this.o.rg=this.cl.Yn();this.o.wN=this.cl.Kfa;this.o.xN=this.cl.Lfa;this.o.camera=this.cl.cC();this.zia=(new Date).getTime();this.sb().append(this.cl.Ac());this.jJ=new k;this.sb().append(this.jJ.Ac());this.eG=new p(b,f);this.sb().append(this.eG.Ac());this.ooa=new y;this.ooa.bind(d.T,this.uHa,this,m);this.nja=new x;this.nja.bind(d.ra,
this.YGa,this,m);this.fR=new n(this.o.width,this.o.height,this.o.ve*J);this.bind(d.uc,this.Sb,this,m);this.bind(d.Wc,this.Tj,this,m);this.bind(d.cd,this.Pj,this,m);D.bind(d.ra,this.zn,this,m);j.bind(d.ra,this.JGa,this,m);e.ea(this.oc,["fxaaEnabled","aaEnabled","hotspotsEnabled","preloadEnabled"],function(){this.o.mC=this.oc.get("hotspotsEnabled");this.o.lO=this.oc.get("preloadEnabled");this.o.pW=this.oc.get("fxaaEnabled");this.o.PV=this.oc.get("aaEnabled");this.vb()}.bind(this),m);e.ea(this.oc,["surfaceSelectionEnabled"],
this.A8.bind(this));this.A8();this.zn();e.ea(this.Wb,["defaultVRPointer"],this.Lp.bind(this));this.Lp()});z.prototype.create=function(a){return t.create(a)};z.prototype.add=function(a){this.qa.appendChild(a)};z.prototype.remove=function(a){(a=this.qa.jf(a))&&a.remove()};z.prototype.jf=function(a){return this.qa.jf(a)};z.prototype.EW=function(){return this.qa.all()};z.prototype.ava=function(a){this.o.jX=a};z.prototype.sX=function(a){this.Zl.push(a)};z.prototype.qH=function(a){this.Zl.pop(a)};z.prototype.AX=
function(a){this.o.y9=a;this.vb()};z.prototype.yC=function(){this.jJ.trigger();this.o.oC=m;this.ZT();var a=L.Tva(this.cl.kg());this.o.oC=B;this.ZT();return a};z.prototype.qN=function(a){this.o.oC=m;this.ZT();a=this.cl.qN(a);this.o.oC=B;return a};z.prototype.getPixelRatio=function(){return this.cl.getPixelRatio()};z.prototype.Lp=function(){var a;a=this.o.Tb?j.eX()&&this.Wb.get("defaultVRPointer")=="laser"?w.cI:D.HW()==D.Mxa.dZ?w.ada:w.tP:f.mb()?w.eI:w.dI;if(!(this.fj&&this.fj.ue()==a)){this.fj&&this.fj.clear();
this.fj=u.create(a,this);this.A8();this.fj.update(this.o)}};z.prototype.A8=function(){this.o.KO=this.oc.get("surfaceSelectionEnabled")&&[w.dI,w.cI,w.eI].indexOf(this.fj&&this.fj.ue())>=0};z.prototype.Am=function(){this.Zl.clear();c.prototype.Am.call(this)};z.prototype.Sb=function(){var a=this.Ra(),c=this.yb();if(this.o.width!=a||this.o.height!=c)if(!a||!c)b.log("Invalid size values: "+a+" "+c);else{this.o.width=a;this.o.height=c;this.fR.GO(this.o.width);this.fR.Uua(this.o.height);this.vb()}};z.prototype.Tj=
function(){this.o.enabled=m;this.vb()};z.prototype.Pj=function(){this.o.enabled=B};z.prototype.zn=function(){this.o.Tb=D.isPresenting();this.Lp();this.vb()};z.prototype.JGa=function(){this.Lp();this.vb()};z.prototype.uHa=function(){this.vb()};z.prototype.YGa=function(){this.vb()};z.prototype.IX=function(a){if(this.j6!=a)(this.j6=a)||this.vb()};z.prototype.GC=function(a){if(this.o.Dl!=a){this.o.Dl=a;this.vb()}};z.prototype.gb=function(a,c,d,e){if(this.o.Ka!=a||this.o.pitch!=c||this.o.Ie!=d||this.o.ve!=
e)if(isNaN(a)||isNaN(c)||isNaN(d)||!e)b.log("Invalid position values: "+a+" "+c+" "+d+" "+e);else{this.o.Ka=a;this.o.pitch=c;this.o.Ie=d;this.o.ve=e;this.fR.DC(this.o.ve*J);this.vb()}};z.prototype.Oc=function(){return this.o.Ka};z.prototype.Hc=function(){return this.o.pitch};z.prototype.rf=function(){return this.o.Ie};z.prototype.lg=function(){return this.o.ve};z.prototype.HN=function(){return this.o.Tb?this.o.Ih:E.ps(this.o.Ih,this.o.width,this.o.height)};z.prototype.IN=function(){return this.o.Ih};
z.prototype.unproject=function(a){return this.fR.unproject(a)};z.prototype.vb=function(){F.vb(this.dj,this)};z.prototype.dj=function(){if(F.q$){var a=(new Date).getTime(),b=Math.max(1,Math.min(a-this.zia,33));this.zia=a;this.trigger(new g(z.ZY,{frameTime:b}));if(this.o.enabled){this.o.Pe=b;this.ZT()}}else this.vb()};z.prototype.ZT=function(){this.cl.update(this.o);this.o.ZV=this.cl.ZOa();this.o.pN=this.cl.YOa();this.o.Ih=this.cl.WOa();this.o.wj=this.cl.getPixelRatio();this.qa.update(this.o);this.ooa.update(this.o);
this.nja.update(this.o);this.fj.update(this.o);this.j6||this.cl.render()};z.ZY="render start";z.uWa=T(m);return z});
define("ft",["require","kL","cu","fQ","lv"],function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("lv"),c=b.extend(d,function(a){d.call(this);this.h=a;this.h.bind(g.ZY,this.Wka,this,m)});c.prototype.clear=function(){this.h.unbind(g.ZY,this.Wka,this,m);this.h=r};c.prototype.vb=function(){this.h.vb()};c.prototype.Wka=function(a){a=a.data.frameTime;this.trigger(new e(c.oo,{frameTime:a}));this.trigger(new e(c.po,{frameTime:a}))};c.oo="frameStart";c.po="positionSet";return c});
define("dl",["require","u","ko"],function(a){function b(){this.ia=this.X=0;this.ya=90;this.Wk="landscape";this.W4=B;this.GJ=e.mb()}var e=a("u"),d=a("ko");b.prototype.Xua=function(a){this.ya=this.lra(a)};b.prototype.lra=function(a){return this.GJ&&"portrait"==this.Wk?d.SB(a,this.ia,this.X):a};b.prototype.rPa=function(a){return this.GJ&&"portrait"==this.Wk?d.sl(a,this.X,this.ia):a};b.prototype.eo=function(a){return this.ya=this.GJ&&this.W4?d.SB(a,this.ia,this.X):a};b.prototype.Ksa=function(){return this.GJ&&
this.W4};b.prototype.Tu=function(){return this.GJ&&"portrait"==this.Wk};b.prototype.lg=S("ya");b.prototype.aW=function(a){return d.SB(a,this.ia,this.X)};b.prototype.setSize=function(a,b){this.X=a;this.ia=b;var d=this.gEa();this.W4=this.Wk!=d;this.Wk=d};b.prototype.gEa=function(){return 0===this.X||0===this.ia?"landscape":this.X<this.ia?"portrait":"landscape"};return b});
define("ik","require,dZ,kL,nV,cu,fQ,na".split(","),function(a){a("dZ");var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("na"),a=b.extend(g,function(a){g.call(this);this.h=a;this.lm=new c(a);this.lm.bind(c.QY,this.$ja,this,m);this.lm.bind(c.PY,this.Zja,this,m)});a.prototype.clear=function(){this.lm.unbind(c.QY,this.$ja,this,m);this.lm.unbind(c.PY,this.Zja,this,m);this.lm.clear();this.lm=r};a.prototype.wy=function(a){this.lm.vd(a)};a.prototype.ki=R("$");a.prototype.end=function(){this.$=r};a.prototype.$ja=
function(a){this.Moa(a);(a=this.Nma(this.h.Oc(),this.pha()))&&a.trigger(e.$m)};a.prototype.Zja=function(a){this.Moa(a);(a=this.Nma(this.h.Oc()-180,this.pha()))&&a.trigger(e.$m)};a.prototype.Moa=function(a){this.h.tb().trigger(new d(e.$C,{IO:a}))};a.prototype.pha=function(){return this.h.oc.get("keyboardTranslateSelectionAngle")};a.prototype.Nma=function(a,b){var c,d;if(!this.$)return r;c!==l||(c=-90);d!==l||(d=360);var e=a-b*0.5,g=a+b*0.5,i=Math.max(-90,c-d*0.5),t=Math.max(90,c+d*0.5);d=this.$.get("adjacentPanoramas",
[]).slice();d=d.filter(function(b){if(!b.get("enabled"))return B;b=this.gm(b);if(!b)return B;var c;c=b.Ka;for(var d=a-180,j=a+180;c<d;)c=c+(j-d);for(;c>j;)c=c-(j-d);b=b.pitch;return e<=c&&c<=g&&i<=b&&b<=t}.bind(this));if(d.length==0)return r;d.sort(function(b,d){var e=this.gm(b),g=this.gm(d);return(a-e.Ka)*(a-e.Ka)+(c-e.pitch)*(c-e.pitch)-((a-g.Ka)*(a-g.Ka)+(c-g.pitch)*(c-g.pitch))}.bind(this));return d[0]};a.prototype.gm=function(a){var b=a.get("yaw"),a=a.get("distance");if(b===l||a===l)return r;
var c=this.$.get("distanceToFloor");return{Ka:b,pitch:-90+Math.atan2(a,c)*i}};var i=180/Math.PI;return a});
define("lg","require,kL,nV,cu,fQ,mB,br,oe,w,lO,jt,ft,dl,ik,dx".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("mB"),i=a("br"),f=a("oe"),j=a("w"),n=a("lO"),k=a("jt"),o=a("ft"),p=a("dl"),q=a("ik"),t=a("dx"),s=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.nc=new p;this.Uf=new o(this.h);this.ee=new n(this.h);this.xb=new f(this.J,this.h,this.nc);this.Na=new i(this.h,this.nc);this.af=new j(this.h);this.Vt=new k(this.h);this.yd=new c(this.h);
this.lV=new q(this.h);this.Uf.bind(o.oo,this.mx,this,m);this.Uf.bind(o.po,this.nx,this,m);this.ee.bind(e.Ic,this.ika,this,m);this.ee.bind(e.$f,this.KK,this,m);this.ee.bind(e.dc,this.$h,this,m);this.xb.bind(f.ob,this.re,this,m);this.xb.bind(f.$Y,this.jka,this,m);this.xb.bind(f.RY,this.Aka,this,m);this.xb.bind(f.xY,this.sja,this,m);this.xb.bind(f.yY,this.tja,this,m);this.xb.bind(f.Xy,this.SK,this,m);this.xb.bind(f.Vy,this.lx,this,m);this.xb.bind(f.Wy,this.eu,this,m);this.xb.bind(f.Uy,this.RK,this,m);
this.xb.bind(f.qo,this.sx,this,m);this.Na.bind(i.ob,this.re,this,m);this.Na.bind(i.Aj,this.cp,this);this.Na.bind(i.mo,this.bi,this);this.Na.bind(i.mc,this.Ae,this,m);this.Na.bind(i.eh,this.ip,this,m);this.Na.bind(i.dh,this.hp,this,m);this.af.bind(j.ob,this.re,this,m);this.af.bind(j.Li,this.gp,this,m);this.af.bind(j.mc,this.Ae,this,m);this.Vt.bind(k.Bj,this.pka,this,m)});s.prototype.clear=function(){this.ee.clear();this.Uf.clear();this.Na.clear();this.xb.clear();this.af.clear();this.Vt.clear();this.yd.clear();
this.ee.unbind(e.Ic,this.ika,this);this.ee.unbind(e.$f,this.KK,this);this.ee.unbind(e.dc,this.$h,this);this.Uf.unbind(o.oo,this.mx,this);this.Uf.unbind(o.po,this.nx,this);this.xb.unbind(f.ob,this.re,this);this.xb.unbind(f.$Y,this.jka,this);this.xb.unbind(f.RY,this.Aka,this);this.xb.unbind(f.xY,this.sja,this);this.xb.unbind(f.yY,this.tja,this);this.xb.unbind(f.Xy,this.SK,this);this.xb.unbind(f.Vy,this.lx,this);this.xb.unbind(f.Wy,this.eu,this);this.xb.unbind(f.Uy,this.RK,this);this.xb.unbind(f.qo,
this.sx,this);this.Na.unbind(i.Twa,this.re,this);this.Na.unbind(i.Aj,this.cp,this);this.Na.unbind(i.mo,this.bi,this);this.Na.unbind(i.mc,this.Ae,this,m);this.Na.unbind(i.eh,this.ip,this);this.Na.unbind(i.dh,this.hp,this);this.af.unbind(j.ob,this.re,this);this.af.unbind(j.Li,this.gp,this);this.af.unbind(j.mc,this.Ae,this);this.Vt.unbind(k.Bj,this.pka,this);this.J=this.h=this.lV=this.yd=this.Vt=this.af=this.xb=this.Na=this.Uf=this.ee=r};s.prototype.Eaa=function(a){this.Vt.Eaa(a)};s.prototype.Gaa=function(a){this.xb.Gaa(a)};
s.prototype.ki=function(a,b,c){this.h.set("visible",m);this.af.QX();a.set("currentTime",c);this.xb.start(a,b)};s.prototype.ZG=function(){return this.ee.$||this.xb.bPa()||this.xb.Kq};s.prototype.iv=function(){this.ee.stop();this.af.end();this.Na.end();this.xb.hide();this.Vt.stop();this.yd.end();this.lV.end()};s.prototype.wH=function(){this.Na.resume();this.af.wH()};s.prototype.oH=function(){this.Na.pause();this.af.oH()};s.prototype.play=function(){this.Na.play();this.yd.play();this.af.play()};s.prototype.pause=
function(){this.Na.pause();this.yd.pause();this.af.pause()};s.prototype.stop=function(){this.Na.stop();this.yd.stop();this.af.stop()};s.prototype.wy=function(a){this.Na.wy(a);this.lV.wy(a)};s.prototype.getTime=function(){return this.af.getTime()};s.prototype.moveTo=function(a,b,c,d,e){this.Na.moveTo(a,b,c,d,e)};s.prototype.Oc=function(){return this.h?this.h.Oc():l};s.prototype.Hc=function(){return this.h?this.h.Hc():l};s.prototype.rf=function(){return this.h?this.h.rf():l};s.prototype.lg=function(){return this.h?
this.nc.rPa(this.h.lg()):l};s.prototype.HN=function(){return this.h?this.h.HN():l};s.prototype.IN=function(){return this.h?this.h.IN():l};s.prototype.Ae=function(){var a=this.af.vj()||this.Na.vj();this.trigger(new d(s.mc,{state:a}))};s.prototype.xj=function(a){this.Na.xj(a)};s.prototype.uO=function(a){this.Na.uO(a)};s.prototype.yy=function(a){this.Na.yy(a)};s.prototype.vO=function(a){this.Na.vO(a)};s.prototype.kf=function(a){this.af.kf(a)};s.prototype.HC=function(a){this.Na.HC(a)};s.prototype.IPa=
function(a,b){var c=t.get(a,b,this.h.Oc(),this.h.Hc(),this.h.rf(),this.h.lg(),this.h.Ra(),this.h.yb());return c?{x:c.x,y:c.y}:r};s.prototype.xPa=function(a,b){var c=t.nUa(a,b,this.h);return c?{yaw:c.Ka,pitch:c.pitch}:r};s.prototype.yC=function(){this.h.yC()};s.prototype.jka=function(a){this.ee.start(a.data.panorama)};s.prototype.$h=function(a){this.h.AX(m);this.trigger(new d(s.vs,{percent:a.Fg}))};s.prototype.ika=function(a){this.af.end();this.lV.ki(a.data.panorama)};s.prototype.KK=function(){this.h.AX(B);
this.trigger(new d(s.Py))};s.prototype.re=function(){this.Uf.vb()};s.prototype.mx=function(a){a=a.data.frameTime;this.nc.setSize(this.h.Ra(),this.h.yb());this.xb.fv(a);this.Na.fv(a)};s.prototype.nx=function(a){a=a.data.frameTime;this.xb.gd(a);this.Na.gd(a);this.af.gd(a);this.Vt.gd(a);this.yd.gd(a)};s.prototype.SK=function(a){this.Vt.display(a.data.panorama);this.af.dH(a.data.panorama);this.trigger(new d(s.Xy,{panorama:a.data.panorama}))};s.prototype.Aka=function(a){this.Vt.hide(a.data.panorama)};
s.prototype.sja=function(a){this.af.start(a.data.panorama);this.yd.start(a.data.panorama)};s.prototype.tja=function(){this.af.end();this.h.set("visible",B)};s.prototype.RK=function(a){this.Na.end();this.yd.end(a.data.nextPanorama);this.trigger(new d(s.Uy,{panorama:a.data.panorama}))};s.prototype.eu=function(a){this.Na.start(a.data.panorama,a.data.camera);this.trigger(new d(s.Wy,{panorama:a.data.panorama}))};s.prototype.lx=function(a){this.trigger(new d(s.Vy,{panorama:a.data.panorama}))};s.prototype.pka=
function(a){this.Na.Naa(a.data.yawDelta,0)};s.prototype.cp=function(a){this.trigger(new d(s.Aj,a.data))};s.prototype.bi=function(a){this.trigger(new d(s.mo,a.data))};s.prototype.sx=function(a){this.trigger(new d(s.qo,a.data))};s.prototype.ip=function(){this.af.Ey();this.trigger(new d(s.eh))};s.prototype.hp=function(){this.trigger(new d(s.dh))};s.prototype.Qua=function(a){this.af.FC(a)};s.prototype.vy=function(a){this.af.vy(a)};s.prototype.gp=function(a){this.trigger(new d(s.Li,a.data))};s.vs="loadingProgress";
s.Py="loadingEnd";s.Aj="movementChange";s.mo="positionChange";s.Xy="panoramaStart";s.Uy="panoramaEnd";s.Wy="panoramaShow";s.Vy="panoramaHide";s.mc="playbackStateChange";s.eh="userInteractionStart";s.dh="userInteractionEnd";s.Li="timeChange";s.qo="transitionEnd";return s});
define("nC","require,kL,nV,cu,kn,cA,mR,jh,ia,gR,lg,ec,lv,hl,is,bu,dW,gp".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("kn"),c=a("cA"),i=a("mR"),f=a("jh"),j=a("ia"),n=a("gR"),k=a("lg"),o=a("ec"),p=a("lv"),q=a("hl"),t=a("is"),s=a("bu"),u=a("dW"),w=a("gp"),v=i.G("PanoramaPlayer",j,function(){j.call(this,"panorama");j.prototype.set.call(this,"rotationEnabled",m);j.prototype.set.call(this,"zoomEnabled",m);j.prototype.set.call(this,"surfaceSelectionEnabled",B);j.prototype.set.call(this,
"surfaceSelectionHorizontalAngle",90);j.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);j.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",B);j.prototype.set.call(this,"fxaaEnabled",B);j.prototype.set.call(this,"aaEnabled",B);this.p7=this.W2=this.Iw=this.rS=this.jS=this.S_=this.xx=this.Fh=this.r_=B;this.z2=m;this.Oo=this.ME=this.uQ=B;this.eR=this.Q1=this.rd=this.ab=0;this.q5=this.s5=l;this.j4=m;this.di=g.M;this.C=this.h=r;this.eja={};for(var a in v.Ts)this.eja[a]=this.IBa(a);
this.VP=new f(this,"buttonToggleGyroscope",u.Fj);this.VP.bind(e.Dj,function(){this.set("gyroscopeEnabled",m)},this);this.VP.bind(e.Ll,function(){this.set("gyroscopeEnabled",B)},this);this.VP.set("pressed",this.get("gyroscopeEnabled")&&q.available);this.Pza=new f(this,"buttonCardboardView",u.me);this.Pza.bind(e.oa,function(){this.set("viewMode",v.Sv)},this,m);this.eAa=new f(this,"buttonVRView",u.me);this.eAa.bind(e.oa,function(){this.set("viewMode",v.Sv)},this,m);s.bind(e.ra,function(){this.Loa("viewMode");
this.trigger(v.Swa)},this,m);this.WP=new f(this,"buttonToggleHotspots",u.Fj);this.WP.bind(e.Dj,function(){this.set("hotspotsEnabled",m)},this);this.WP.bind(e.Ll,function(){this.set("hotspotsEnabled",B)},this);this.WP.set("pressed",this.get("hotspotsEnabled"));this.ZP=new f(this,"buttonToggleSurfaceSelection",u.Fj);this.ZP.bind(e.Dj,function(){this.set("surfaceSelectionEnabled",m)},this);this.ZP.bind(e.Ll,function(){this.set("surfaceSelectionEnabled",B)},this);this.ZP.set("pressed",this.get("surfaceSelectionEnabled"));
this.cAa=new f(this,"buttonScreenshot",u.me);this.cAa.bind(e.oa,this.Gma,this,m);this.Nd=b.aq(this.Dg,this)});v.Hwa="cameraPositionChange";v.eh="userInteractionStart";v.dh="userInteractionEnd";v.vs="loadingProgress";v.Nwa="preloadMediaShow";v.Swa="viewModeChange";v.prototype.moveLeft=function(){this.xc(o.kD)};v.prototype.moveRight=function(){this.xc(o.lD)};v.prototype.moveUp=function(){this.xc(o.mD)};v.prototype.moveDown=function(){this.xc(o.jD)};v.prototype.playLeft=function(){this.xc([o.kD,o.Q])};
v.prototype.playRight=function(){this.xc([o.lD,o.Q])};v.prototype.playUp=function(){this.xc([o.mD,o.Q])};v.prototype.playDown=function(){this.xc([o.jD,o.Q])};v.prototype.play=function(){this.Wj()};v.prototype.pause=function(){this.lp()};v.prototype.stop=function(){this.rx()};v.prototype.seek=function(a){this.oB(a)};v.prototype.setFramePlaybackPosition=function(a){this.OJa(a)};v.prototype.setFrameTransitionPosition=function(a){this.PJa(a)};v.prototype.restart=function(){this.ox()};v.prototype.zoomIn=
function(){this.xc(o.Rs)};v.prototype.zoomOut=function(){this.xc(o.Ss)};v.prototype.resumeCamera=function(){this.XIa()};v.prototype.pauseCamera=function(){this.PHa()};v.prototype.moveTo=function(a,b,c,d){this.dja(a,b,c,d,B)};v.prototype.setPosition=function(a,b,c,d){this.dja(a,b,c,d,m)};v.prototype.getScreenPosition=function(a,b){return this.xEa(a,b)};v.prototype.getPanoramaPosition=function(a,b){return this.hEa(a,b)};v.prototype.saveScreenshot=function(){return this.Gma()};v.prototype.get=function(a,
b){switch(a){case "currentTime":return this.C&&this.C.getTime()||0;case "viewMode":return s.isPresenting()?v.Sv:v.$Z;case "video":a="panorama";break;case "rendererPanorama":return this.C&&this.C.ZG()}if(!b)switch(a){case "mouseControlMode":b=c.bca;break;case "touchControlMode":b=c.Wca}return j.prototype.get.call(this,a,b)};v.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "application":this.r_=m;this.Nd();break;case "startTime":this.xx=m;this.Nd();break;case "video":case "panorama":a=
"panorama";this.xx=m;this.Nd();break;case "camera":this.S_=m;this.Nd();break;case "viewerArea":this.Fh=m;this.Nd();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.Oo=m;this.Nd();break;case "mapPlayer":this.jS=m;this.Nd();break;case "model3DPlayer":this.rS=m;this.Nd();break;case "gyroscopeEnabled":this.Iw=m;this.Nd();break;case "gyroscopeVerticalDraggingEnabled":this.z2=m;this.Nd();break;
case "viewMode":if(b=="vr")b=v.Sv;b==v.Sv&&!s.isPresenting()?s.lk():b!=v.Sv&&s.isPresenting()&&s.Ff();b=s.isPresenting()?v.Sv:v.$Z;break;case "hotspotsEnabled":this.W2=m;this.Nd();break;case "mouseControlMode":case "touchControlMode":this.uQ=m;this.Nd();break;case "surfaceSelectionEnabled":this.p7=m;this.Nd()}j.prototype.set.call(this,a,b)}};v.prototype.fq=function(a){this.ME=a;this.C&&this.C.wy(this.ME)};v.prototype.Cqa=function(){return this.get("doubleClickAction")!="inherit"};v.prototype.J_=function(a){j.prototype.J_.call(this,
a);a.bind(e.vo,this.Opa,this,m)};v.prototype.V7=function(a){j.prototype.V7.call(this,a);a.unbind(e.vo,this.Opa,this,m)};v.prototype.Opa=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.get("application").ti;a&&a.available()&&a.toggle()}};v.prototype.IBa=function(a){var b=v.Ts[a],a=new f(this,a,u.me);a.bind(e.Hb,function(){this.xc(b.movement)},this);b.stopOnRelease&&a.bind(e.ic,function(){this.xc(o.$f)},this);return a};v.prototype.Dg=function(){if(this.Fh||this.r_){this.Fh=
this.r_=B;this.uQ=this.Iw=this.rS=this.jS=m;this.qt();this.get("viewerArea")&&this.get("application")&&this.nt();this.cM(this.get("viewerArea"))}var a=B;if(this.h){if(this.jS){this.jS=B;this.C.Eaa(this.get("mapPlayer"))}if(this.rS){this.rS=B;this.C.Gaa(this.get("model3DPlayer"))}if(this.uQ){this.uQ=B;this.C.yy(this.get("mouseControlMode"));this.C.HC(this.get("touchControlMode"))}if(this.xx||this.S_){this.eR=this.Q1=this.ab=this.rd=0;this.q5=this.s5=l;a=m;this.S_=this.xx=B;if(this.get("panorama"))this.C.ki(this.get("panorama"),
this.get("camera",new n),this.get("startTime"));else{this.C.iv();this.j4=m;this.di=g.M;this.hc(g.M)}}if(this.z2){this.z2=B;this.C.vO(this.get("gyroscopeVerticalDraggingEnabled",m))}if(this.Iw){this.Iw=B;var b=this.get("gyroscopeEnabled")&&q.available;if(b&&q.disabled){b=B;t.Qba.show(function(){q.faa(function(){this.set("gyroscopeEnabled",m)}.bind(this))}.bind(this))}this.set("gyroscopeEnabled",b);this.C.uO(b);this.VP.set("pressed",b)}if(this.W2){this.W2=B;this.WP.set("pressed",this.get("hotspotsEnabled"))}if(this.Oo){this.Oo=
B;a=m}if(this.p7){this.p7=B;this.ZP.set("pressed",this.get("surfaceSelectionEnabled"))}a&&this.Nu()}};v.prototype.bG=function(){this.set("panorama",r)};v.prototype.nt=function(){var a=this.get("viewerArea"),b=this.get("application");this.h=new p(b,a,this);this.h.Y({left:0,top:0,bottom:0,right:0});a.La(this.h);this.C=new k(a,this.h);this.C.bind(k.Aj,this.cp,this);this.C.bind(k.mo,this.Gja,this);this.C.bind(k.vs,this.$h,this);this.C.bind(k.Py,this.iF,this);this.C.bind(k.Wy,this.eu,this,m);this.C.bind(k.Vy,
this.lx,this,m);this.C.bind(k.Xy,this.SK,this,m);this.C.bind(k.Uy,this.RK,this,m);this.C.bind(k.mc,this.Ae,this);this.C.bind(k.eh,this.ip,this);this.C.bind(k.dh,this.hp,this);this.C.bind(k.Li,this.gp,this);this.C.bind(k.qo,this.sx,this,m);this.get("application").bind(e.u("mute"),this.PK,this);this.get("application").get("mute",B)&&this.C.kf(m);this.C&&this.C.wy(this.ME);s.bind(e.ra,this.zn,this,m);this.p0();this.Qx(m)};v.prototype.qt=function(){if(this.h){this.C.unbind(k.Aj,this.cp,this);this.C.unbind(k.mo,
this.Gja,this);this.C.unbind(k.vs,this.$h,this);this.C.unbind(k.Py,this.iF,this);this.C.unbind(k.Wy,this.eu,this,m);this.C.unbind(k.Vy,this.lx,this,m);this.C.unbind(k.Xy,this.SK,this,m);this.C.unbind(k.Uy,this.RK,this,m);this.C.unbind(k.mc,this.Ae,this);this.C.unbind(k.eh,this.ip,this);this.C.unbind(k.dh,this.hp,this);this.C.unbind(k.Li,this.gp,this);this.C.unbind(k.qo,this.sx,this);this.C.clear();this.C=r;this.get("application").unbind(e.u("mute"),this.PK,this);this.h.getParent().removeChild(this.h);
this.h=r;s.unbind(e.ra,this.zn,this,m);this.Qx(B)}};v.prototype.PK=function(){this.h&&this.C.kf(this.get("application").get("mute",B))};v.prototype.Ae=function(a){this.di=a.data.state;this.Wf()};v.prototype.Wf=function(){this.hc(this.j4||s.isPresenting()?this.di:g.Q)};v.prototype.ip=function(){this.trigger(new d(v.eh))};v.prototype.hp=function(){this.trigger(new d(v.dh))};v.prototype.SK=function(a){this.trigger(new d(v.Nwa,{panorama:a.data.panorama}))};v.prototype.RK=G();v.prototype.eu=function(a){this.p0();
this.gK(a.data.panorama)};v.prototype.lx=function(a){this.fK(a.data.panorama)};v.prototype.cp=function(a){for(var b in v.Ts)this.eja[b].set("state",a.data[v.Ts[b].pressedOn]?w.Za:w.le);this.j4=a.data.stopped;this.Wf();this.trigger(new d(e.dca,a.data))};v.prototype.Gja=function(a){this.p0();this.trigger(new d(v.Hwa,a.data))};v.prototype.p0=function(){if(this.C){this.set("yaw",this.C.Oc());this.set("pitch",this.C.Hc());this.set("roll",this.C.rf());this.set("hfov",this.C.lg());this.set("actualHFOV",
this.C.HN());this.set("actualVFOV",this.C.IN())}};v.prototype.$h=function(a){this.h.getParent().Y({progressPercent:a.data.percent,progressVisible:m});this.trigger(new d(v.vs,a.data))};v.prototype.iF=function(){this.h.getParent().set("progressVisible",B)};v.prototype.sx=function(){this.trigger(e.IZ)};v.prototype.zn=function(){this.set("viewMode",s.isPresenting()?v.Sv:v.$Z);this.Wf()};v.prototype.dja=function(a,b,c,d,e){this.C&&this.C.moveTo(a,b,c,d,e)};v.prototype.xc=function(a){this.C&&this.C.xj(a)};
v.prototype.Wj=function(){this.C.play()};v.prototype.Mn=function(){this.C.stop()};v.prototype.lp=function(){this.C.pause()};v.prototype.oB=function(a){this.C&&(this.bha()?this.C.vy(a):this.C.Qua(a))};v.prototype.OJa=function(a){this.C&&this.C.Qua(a)};v.prototype.PJa=function(a){this.C&&this.C.vy(a)};v.prototype.PHa=function(){this.C&&this.C.oH()};v.prototype.XIa=function(){this.C&&this.C.wH()};v.prototype.xEa=function(a,b){if(this.C)return this.C.IPa(a,b)};v.prototype.hEa=function(a,b){if(this.C)return this.C.xPa(a,
b)};v.prototype.Gma=function(){this.C&&this.C.yC()};v.prototype.rL=function(a){this.oB(a.data.position)};v.prototype.gp=function(a){this.rd=a.data.time;this.ab=a.data.duration;this.Q1=a.data.transitionPosition;this.eR=a.data.transitionLength;this.s5=a.data.steps;this.q5=a.data.selectedStep;this.Nu()};v.prototype.Nu=function(){var a=this.h.getParent(),b=B;if(this.BDa()){var c=this.bha(),d=this.jEa();if(c){if(this.eR>0){a.Y({playbackBarPosition:this.Q1,playbackBarDuration:this.eR,playbackBarSteps:this.s5,
playbackBarSelectedStep:this.q5,playbackBarLiveDragging:d});b=m}}else if(this.ab>0){a.Y({playbackBarPosition:this.rd,playbackBarDuration:this.ab,playbackBarSteps:l,playbackBarSelectedStep:l,playbackBarLiveDragging:d});b=m}}a.set("playbackBarVisible",b)};v.prototype.BDa=function(){var a=this.get("panorama");return a?i.va("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",B)):i.va("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",
B)):i.va("VideoPanorama",a)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",m)):B:B};v.prototype.bha=function(){var a=this.get("panorama");return!a?B:i.va("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBarSteps",m):i.va("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBarSteps",m):B};v.prototype.jEa=function(){var a=this.get("panorama");return!a||i.va("VideoPanorama",a)?B:m};v.Sv="cardboard";v.$Z="standard";v.Ts={buttonMoveLeft:{movement:o.kD,pressedOn:"movingLeft",
stopOnRelease:m},buttonMoveRight:{movement:o.lD,pressedOn:"movingRight",stopOnRelease:m},buttonMoveUp:{movement:o.mD,pressedOn:"movingUp",stopOnRelease:m},buttonMoveDown:{movement:o.jD,pressedOn:"movingDown",stopOnRelease:m},buttonPlayLeft:{movement:[o.kD,o.Q],pressedOn:"movingLeft",stopOnRelease:B},buttonPlayRight:{movement:[o.lD,o.Q],pressedOn:"movingRight",stopOnRelease:B},buttonPlayUp:{movement:[o.mD,o.Q],pressedOn:"movingUp",stopOnRelease:B},buttonPlayDown:{movement:[o.jD,o.Q],pressedOn:"movingDown",
stopOnRelease:B},buttonZoomIn:{movement:o.Rs,pressedOn:"zoomingIn",stopOnRelease:m},buttonZoomOut:{movement:o.Ss,pressedOn:"zoomingOut",stopOnRelease:m}};return v});
define("cw",["require","mR","cT","hO"],function(a){var b=a("mR"),e=a("cT"),d=a("hO"),a=b.G("PanoramaPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.eu,this),a.set("panorama",this.get("media")),a.set("camera",this.get("camera")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.Kg,this.eu,this),a.get("panorama")==this.get("media")&&a.set("panorama",r));d.prototype.stop.call(this)};
a.prototype.eu=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Kg,this.eu,this),this.get("player").bind(e.Il,this.lx,this),this.hy())};a.prototype.lx=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Il,this.lx,this),this.stop(),this.end())};return a});define("kP",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PanoramaSnapshot",b,function(){b.call(this)})});
define("mx",["require","kL","cm"],function(a){var b=a("kL"),e=a("cm"),a=b.extend(e,function(a,b,c,i){e.call(this);this.Tc=a;this.X=b;this.ia=c;this.I1=i});a.prototype.as=function(){return[this.Tc]};a.prototype.gi=S("Tc");a.prototype.bd=S("X");a.prototype.Rd=S("ia");return a});
define("nU",["require","mR","ef","fI","mx"],function(a){var b=a("mR"),e=a("ef"),d=a("fI"),g=a("mx"),a=b.G("Photo",e,function(){e.call(this);this.ka=l});a.prototype.uj=function(){if(this.ka==l){var a=this.get("image");this.ka=a?new g(d.Wp(a).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally",B)):r}return this.ka};a.prototype.$r=function(){var a=this.mR(this.uj());this.get("audios",[]).forEach(function(b){a=a.concat(b.$r())}.bind(this));return a};a.prototype.mR=function(a){return a?
a.as():[]};return a});define("iX",["require","ef","mR"],function(a){var b=a("ef"),a=a("mR").G("PhotoAlbum",b,function(){b.call(this);this.set("loop",B)});a.prototype.$r=function(){var a=[],b=this.get("playList");b&&b.get("items",[]).forEach(function(b){(b=b.get("media"))&&(a=a.concat(b.$r()))});this.get("audios",[]).forEach(function(b){a=a.concat(b.$r())});return a};return a});
define("gh",["require","hA","mR","iv"],function(a){var b=a("hA"),e=a("mR"),d=a("iv");return e.G("PhotoAlbumAudio",d,function(){d.call(this,b.wxa)})});
define("cR",["require","kn"],function(a){function b(a,b){this.h=a;this.Eo=b;this.FD=[];this.Gq=[];this.Op=1}var e=a("kn");b.prototype.clear=function(){for(var a=0;a<this.FD.length;a++)this.FD[a].wd(e.M);this.Yya();this.Gq=this.FD=r};b.prototype.stop=function(){for(var a=0;a<this.Gq.length;a++)this.Gq[a].wd(e.M)};b.prototype.play=function(){for(var a=0;a<this.Gq.length;a++){var b=this.Gq[a];b.mg()!=e.Q&&b.wd(e.Q)}};b.prototype.pause=function(){for(var a=0;a<this.Gq.length;a++){var b=this.Gq[a];b.mg()==
e.Q&&b.wd(e.Db)}};b.prototype.start=function(){this.stop();for(var a=0;a<this.Eo.length;a++){var b=this.Eo[a],c=b.aC();c&&(this.FD.push(c),b.get("autoplay",B)&&this.Gq.push(c))}for(a=0;a<this.Gq.length;a++)this.Gq[a].wd(e.Q)};b.prototype.gd=G();b.prototype.Yya=function(){for(var a=0;a<this.FD.length;a++)this.FD[a].mv(1)};return b});define("hK",["require","kL","cR"],function(a){var b=a("kL"),e=a("cR");return b.extend(e,function(a,b){e.call(this,a,b.get("audios",[]));this.HT=b})});
define("gW",["require","kL","cR"],function(a){var b=a("kL"),e=a("cR");return b.extend(e,function(a,b){e.call(this,a,b.get("audios",[]));this.Je=b})});
define("iI",["require","hK","gW"],function(a){function b(a){this.h=a;this.ni=[];this.ci=[]}var e=a("hK"),d=a("gW");b.prototype.clear=function(){this.Ava();this.ci=this.ni=r};b.prototype.Ava=function(){for(var a=0;a<this.ni.length;a++)this.ni[a].clear();for(a=0;a<this.ci.length;a++)this.ci[a].clear();this.ni=[];this.ci=[]};b.prototype.pause=function(){for(var a=0;a<this.ni.length;a++)this.ni[a].pause();for(a=0;a<this.ci.length;a++)this.ci[a].pause()};b.prototype.play=function(){for(var a=0;a<this.ni.length;a++)this.ni[a].play();
for(a=0;a<this.ci.length;a++)this.ci[a].play()};b.prototype.stop=function(){for(var a=0;a<this.ni.length;a++)this.ni[a].stop();for(a=0;a<this.ci.length;a++)this.ci[a].clear();this.ci=[]};b.prototype.LTa=function(a){a=new e(this.h,a);this.ci.push(a);a.start()};b.prototype.OTa=function(a){for(var b=0;b<this.ci.length;b++)if(this.ci[b].HT==a){this.ci[b].clear();this.ci.splice(b,1);break}};b.prototype.$aa=function(a){a=new d(this.h,a);this.ni.push(a);a.start()};b.prototype.MTa=function(a){for(var b=0;b<
this.ni.length;b++)if(this.ni[b].Je==a){this.ni[b].clear();this.ni.splice(b,1);break}};b.prototype.gd=function(a){for(var b=0;b<this.ni.length;b++)this.ni[b].gd(a);for(b=0;b<this.ci.length;b++)this.ci[b].gd(a)};return b});
define("k",["require","kL","lA"],function(a){function b(){this.ja=m;this.Aa=this.xa=0.5;this.Sa=1;this.df=e.fh;this.Pl=this.Ql=100}a("kL");var e=a("lA");b.prototype.getX=function(){this.Im();return this.xa};b.prototype.getY=function(){this.Im();return this.Aa};b.prototype.Yp=function(){this.Im();return this.Sa};b.prototype.qO=function(a,b,c){this.df=c;this.Aa=this.xa=0.5;this.Sa=1;this.ja=m};b.prototype.gb=function(a,b,c){this.xa=a;this.Aa=b;this.Sa=c;this.ja=m};b.prototype.setSize=function(a,b){this.Ql=
a;this.Pl=b;this.ja=m};b.prototype.Im=function(){if(this.ja){this.ja=B;1>this.Sa&&(this.Sa=1);var a=Math.min(0.5/this.Sa,0.5),b=Math.max(1-0.5/this.Sa,0.5);this.xa<a?this.xa=a:this.xa>b&&(this.xa=b);a=Math.min(0.5/this.Sa,0.5);b=Math.max(1-0.5/this.Sa,0.5);this.Aa<a?this.Aa=a:this.Aa>b&&(this.Aa=b)}};return b});
define("bA",["require"],function(){function a(a,e){this.h=a;this.W=e;this.Aa=this.xa=0.5;this.Sa=1;this.dU=B}a.prototype.start=function(){this.Aa=this.xa=0.5;this.Sa=1;this.dU=m};a.prototype.clear=function(){this.W=this.h=r};a.prototype.gb=function(a,e,d){this.xa=a;this.Aa=e;this.Sa=d};a.prototype.He=S("dU");a.prototype.ub=function(){this.dU=B};return a});
define("hp",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PhotoCameraPosition",b,function(a,d,g){b.call(this);a!=l&&this.set("x",a);d!=l&&this.set("y",d);g!=l&&this.set("zoomFactor",g)})});
define("i","require,kL,bA,hp,nz,bD".split(","),function(a){var b=a("kL"),e=a("bA"),d=a("hp"),g=a("nz"),c=a("bD"),a=b.extend(e,function(a,b){e.call(this,a,b);this.N=r});a.prototype.start=function(a){var b=a.get("initialPosition",new d(0.5,0.5,1)),e=a.get("targetPosition",new d(0.5,0.5,1)),n=a.get("duration",1E3);if(n==0){this.xa=b.get("x");this.Aa=b.get("y");this.Sa=b.get("zoomFactor")}else this.N=new g(a.get("easing","linear"),[new c("x",b.get("x",0.5),e.get("x",0.5)),new c("y",b.get("y",0.5),e.get("y",
0.5)),new c("zoom",b.get("zoomFactor",1),e.get("zoomFactor",1))],n);this.ub(0)};a.prototype.clear=function(){this.N=r;e.prototype.clear.call(this)};a.prototype.He=function(){return this.N!=r};a.prototype.ub=function(a){if(this.N){this.N.ub(a);this.W.gb(this.N.fb("x"),this.N.fb("y"),this.N.fb("zoom"));this.xa=this.W.getX();this.Aa=this.W.getY();this.Sa=this.W.Yp();if(this.N.Se())this.N=r}};return a});
define("cF","require,kL,cu,fQ,mR,kn,lA,k,bA,i,nV".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("mR"),c=a("kn"),i=a("lA"),f=a("k"),j=a("bA"),n=a("i"),k=a("nV"),o=b.extend(d,function(a,b){d.call(this);this.h=a;this.Hd=b;this.h.bind(k.uc,this.Sb,this);this.o=c.M;this.ym=this.HT=this.na=this.ka=r;this.W=new f});o.prototype.clear=function(){this.end();this.W=r;this.h.unbind(k.uc,this.Sb,this);this.h=r};o.prototype.end=function(a){if(this.ka==a||typeof a=="undefined"){this.Sfa();this.na=
this.HT=this.na=this.ka=r}};o.prototype.start=function(a){if(this.ka!=a){this.end(this.ka);var b=a.get("media"),c=a.get("camera"),d=b.get("width",100),e=b.get("height",100),f=c?c.get("scaleMode",i.fh):i.fh;this.ka=a;this.na=c;this.HT=b;b.uj();this.K=m;this.W.qO(d,e,f);this.KBa(c);this.Ba()}};o.prototype.stop=function(){if(this.o!=c.M){this.o=c.M;if(this.ym){this.ym.start(this.na);this.Ba()}}};o.prototype.play=function(){if(this.o==c.M||this.o==c.Db){this.o=c.Q;this.Ba()}};o.prototype.pause=function(){if(this.o==
c.Q)this.o=c.Db};o.prototype.fv=function(a){if(this.ym&&this.ym.He()){if(this.o==c.Q){this.ym.ub(a);this.Ba()}this.fl(this.ym.xa,this.ym.Aa,this.ym.Sa)}};o.prototype.KBa=function(a){this.Sfa();this.ym=g.va("MovementPhotoCamera",a)?new n(this.h,this.W):new j(this.h,this.W);this.ym.start(a)};o.prototype.Sfa=function(){if(this.ym){this.ym.clear();this.ym=r}};o.prototype.Sb=function(){this.W.setSize(this.h.Ra(),this.h.yb());this.Ba()};o.prototype.Ba=function(){this.trigger(new e(o.ob))};o.prototype.fl=
function(a,b,c){this.Hd.gb(this.ka,a,b,c)};o.ob="request frame";return o});
define("hE","require,dZ,kL,cu,fQ,nV,hA,lA".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("cu"),g=a("fQ"),c=a("nV");a("hA");var i=a("lA"),f=e.extend(g,function(a,b){g.call(this);this.mM=[];this.J=a;this.h=b});f.prototype.tH=function(a){this.Fw(a).tH();return this};f.prototype.Ve=function(a,b){this.Fw(a).Ve(b);return this};f.prototype.Pm=function(a,b){this.Fw(a).Pm(b);return this};f.prototype.gb=function(a,b,c,d){this.Fw(a).gb(b,c,d);return this};f.prototype.qj=function(a){this.Fw(a).qj();return this};
f.prototype.stop=function(){this.iga(function(a){a.clear()});this.mM=[]};f.prototype.clear=function(){this.stop();this.h=this.J=this.mM=r};f.prototype.gd=function(){this.iga(function(a){a.update()})};f.prototype.Fw=function(a){var b=this.RCa(a);if(!b){b=new j(a,this.h);b.bind(j.Jca,this.WFa,this);b.bind(j.Hca,this.VFa,this);this.mM.push(b)}return b};f.prototype.iga=function(a){b(this.mM).each(a,this)};f.prototype.RCa=function(a){return b(this.mM).find(function(b){return b.getItem()==a})};f.prototype.WFa=
function(){this.Ba()};f.prototype.VFa=function(a){this.trigger(new d(f.VY,{item:a.source.getItem()}))};f.prototype.Ba=function(){this.trigger(new d(f.ob))};f.ob="request frame";f.VY="photo preload end";var j=e.extend(g,function(a,b){g.call(this);this.ka=a;this.h=b;var d=a.get("camera");this.df=d?d.get("scaleMode",i.fh):i.fh;this.zi=a.get("media").uj();this.zi.bind(c.T,this.Yc,this);this.zi.bind(c.tc,this.pf,this);this.ca=j.nI;this.Aa=this.xa=0.5;this.Sa=1;this.dn=0;this.ID=B;this.fg=0;this.ja=B});
j.prototype.getItem=S("ka");j.prototype.tH=function(){this.ca==j.nI?this.OT():this.Ioa()};j.prototype.Ve=function(a){if(this.dn!=a){this.dn=a;this.ze()}};j.prototype.Pm=function(a){if(this.fg!=a){this.fg=a;this.ze()}};j.prototype.gb=function(a,b,c){if(this.xa!=a||this.Aa!=b||this.Sa!=c){this.xa=a;this.Aa=b;this.Sa=c;this.ze()}};j.prototype.qj=function(){if(!this.ID){this.ID=m;this.ze()}};j.prototype.clear=function(){this.ca==j.xP&&this.HL();(this.ca==j.kI||this.ca==j.mI||this.ca==j.lI)&&this.$x();
this.zi.unbind(c.T,this.Yc);this.zi.unbind(c.tc,this.pf);this.zi=r};j.prototype.update=function(){if(this.ja){this.ja=B;if(this.fg>-1&&this.fg<1&&this.dn>0){this.ca==j.nI&&this.WJ();this.ca==j.kI&&this.tya();if(this.ca==j.xP){if(this.ID){this.h.v9(this.zi);this.ID=B}this.h.dq(this.zi,this.dn);this.h.FSa(this.zi,this.fg);this.h.xO(this.zi,this.xa,this.Aa,this.Sa)}}else{this.ca==j.xP&&this.HL();(this.ca==j.kI||this.ca==j.lI)&&this.$x()}}};j.prototype.ze=function(){if(!this.ja){this.ja=m;this.ua()}};
j.prototype.ua=function(){this.trigger(new d(j.Jca))};j.prototype.OT=function(){this.ca=j.mI;this.h.$n(this.zi);this.h.Hsa(this.zi)&&this.Yc()};j.prototype.WJ=function(){this.ca=j.lI;this.h.$n(this.zi);this.h.Hsa(this.zi)&&this.Yc()};j.prototype.tya=function(){this.ca=j.xP;this.h.k9(this.zi);this.h.ISa(this.zi,this.df)};j.prototype.HL=function(){this.ca=j.kI;this.h.removeItem(this.zi)};j.prototype.$x=function(){this.ca=j.nI;this.h.yj(this.zi)};j.prototype.Yc=function(){if(this.ca==j.mI||this.ca==
j.lI){var a=this.ca==j.mI;this.ca=j.kI;this.ze();a&&this.Ioa()}};j.prototype.pf=function(){if(this.ca==j.mI||this.ca==j.lI)this.ca=j.nI};j.prototype.Ioa=function(){this.trigger(new d(j.Hca))};j.Jca="requestUpdate";j.Hca="preloadEnd";j.nI="unloaded";j.mI="preloading";j.lI="loading";j.kI="loaded";j.xP="added";return f});define("mA",["require"],function(){return{Um:"blending",zo:"scroll"}});
define("bY","require,dZ,kL,cu,fQ,nV,hE,mA".split(","),function(a){function b(a,b,c){this.Jm=a;this.item=b;this.Uva=c;this.index=a&&b?e(a.get("playList").get("items")).indexOf(this.item):0;this.loaded=B}var e=a("dZ"),d=a("kL"),g=a("cu"),c=a("fQ");a("nV");var i=a("hE"),f=a("mA");b.prototype.isEqual=function(a){return a&&a.Jm==this.Jm&&a.item==this.item};var j=d.extend(c,function(a,d,e){c.call(this);this.J=a;this.h=d;this.Hd=e;this.Hd.bind(i.VY,this.Fla,this);this.GM=f.Um;this.ca=j.xD;this.nf=new b(r,
r,0);this.pt=this.Vj=this.Og=r;this.HM=l;this.Nx=0});j.prototype.rTa=R("GM");j.prototype.Oaa=R("Nx");j.prototype.kba=function(a,c,d){this.Vj=r;a=new b(a,c,d);if(!a.isEqual(this.ca==j.xD?this.nf:this.Og)){this.Vj=a;this.Cka()}};j.prototype.clear=function(){(this.ca==j.AP||this.ca==j.yP)&&this.trigger(new g(j.Cv,{album:this.Og.Jm,item:this.Og.item}));this.ca=j.xD;this.h=this.J=this.pt=this.nf=this.Og=this.Vj=r;this.Hd.unbind(i.VY,this.Fla,this);this.Hd=r};j.prototype.gd=function(a){if(this.ca!=j.xD){this.HM=
this.HM+a;a=this.Og.Uva;a=this.HM>=a?1:this.HM/a;this.ca==j.yP?this.FMa(a):this.ca==j.zP?this.GMa(a):this.GM==f.Um?this.tMa(a):this.iNa(a);a<1?this.Ba():this.zw()}};j.prototype.FMa=function(a){this.Hd.Ve(this.Og.item,a).Pm(this.Og.item,0)};j.prototype.GMa=function(a){this.Hd.Ve(this.nf.item,1-a).Pm(this.nf.item,0)};j.prototype.tMa=function(a){this.Hd.Ve(this.Og.item,Math.min(1,a*2)).Pm(this.Og.item,0);this.Hd.Ve(this.nf.item,Math.min(1,(1-a)*2)).Pm(this.nf.item,0)};j.prototype.iNa=function(a){var b=
this.nf.Jm!=this.Og.Jm||this.nf.index<this.Og.index;this.Hd.Pm(this.Og.item,(b?1-a:a-1)*(1+this.Nx)).Ve(this.Og.item,1);this.Hd.Pm(this.nf.item,(b?-a:a)*(1+this.Nx)).Ve(this.nf.item,1)};j.prototype.Cka=function(){this.Vj&&this.ca==j.xD&&(this.Vj.item&&!this.Vj.loaded?this.Hd.tH(this.Vj.item):this.Fo())};j.prototype.Fla=function(a){if(this.Vj&&this.Vj.item==a.data.item){this.Vj.loaded=m;this.Cka()}};j.prototype.Fo=function(){if(this.pt&&this.pt!=this.Vj.Jm){this.trigger(new g(j.ko,{album:this.pt}));
this.pt=r}this.trigger(new g(j.bZ));if(this.J.get("transitionMode")=="fade_out_fade_in"&&this.Vj.item!=r&&this.nf.item!=r){this.ca=j.zP;this.Og=new b(this.nf.Jm,r,this.nf.Uva)}else{this.Og=this.Vj;this.Vj=r;if(this.nf.item)if(this.Og.item)this.ca=j.AP;else{if(this.nf.item)this.ca=j.zP}else this.ca=j.yP}if(this.ca==j.AP||this.ca==j.yP){this.Hd.qj(this.Og.item);this.trigger(new g(j.Yy,{album:this.Og.Jm,item:this.Og.item}))}this.HM=0;this.Ba()};j.prototype.zw=function(){(this.ca==j.AP||this.ca==j.zP)&&
this.trigger(new g(j.Cv,{album:this.nf.Jm,item:this.nf.item}));this.nf=this.Og;if(this.pt!=this.nf.Jm){this.pt=this.nf.Jm;this.trigger(new g(j.lo,{album:this.pt}))}this.ca=j.xD;if(this.Vj==r){this.nf.item&&this.trigger(new g(j.Zy,{album:this.nf.Jm,item:this.nf.item}));this.trigger(new g(j.qo,{album:this.nf.Jm,item:this.nf.item}))}else this.Fo()};j.prototype.Ba=function(){this.trigger(new g(j.ob))};j.xD="stopped";j.AP="blending";j.zP="fading_out";j.yP="fading_in";j.ob="request frame";j.bZ="transition begin";
j.qo="transition end";j.Yy="photo added";j.Cv="photo removed";j.Zy="photo displayed";j.lo="photo album show";j.ko="photo album hide";return j});
define("fp","require,dZ,kL,cu,fQ,nV,mR,lA,hp,k,bA,i,nz,bD".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("cu"),g=a("fQ"),c=a("nV"),i=a("mR"),f=a("lA"),j=a("hp"),n=a("k");a("bA");a("i");var k=a("nz"),o=a("bD"),p=e.extend(g,function(a,b,c){g.call(this);this.J=a;this.h=b;this.Hd=c;this.Hn=this.vn=this.ka=this.Je=this.Ta=r;this.zm=l;this.OU=0;this.jj=B;this.fg=0;this.qS=this.Hn?-1:0;this.nS=this.vn?1:0;this.N=r;this.Cg=400;this.Nx=0;this.W=new n});p.prototype.clear=function(){this.Hd=this.h=this.J=
this.pt=r};p.prototype.iSa=function(a,c){this.Je=a;this.ka=c;var d=a&&a.get("playList")&&a.get("playList").get("items")||[],e=b(d).indexOf(c);this.vn=e>0?d[e-1]:r;this.Hn=e<d.length-1?d[e+1]:r;this.fg=0;this.qS=this.Hn?-1:0;this.nS=this.vn?1:0;this.OT()};p.prototype.enable=function(){if(this.Ta=this.h.getParent()){this.Ta.bind(c.Hb,this.Cd,this,m);this.Ta.bind(c.Vc,this.$i,this,m);this.Ta.bind(c.ic,this.aj,this,m);this.OT()}};p.prototype.disable=function(){if(this.Ta){this.Ta.unbind(c.Hb,this.Cd,
this);this.Ta.unbind(c.Vc,this.$i,this);this.Ta.unbind(c.ic,this.aj,this);this.Ta=r}};p.prototype.qTa=R("Cg");p.prototype.Oaa=R("Nx");p.prototype.OT=function(){if(this.Ta){this.vn&&this.Hd.tH(this.vn);this.Hn&&this.Hd.tH(this.Hn)}};p.prototype.mja=function(){return(new Date).getTime()};p.prototype.Cd=function(a){if(!this.jj){this.zm=a.x;this.OU=0;this.C5=this.mja();this.jj=m;this.N=r;this.trigger(new d(p.CY));if(this.vn){a=this.nha(this.vn);this.Hd.gb(this.vn,a.x,a.y,a.zoom)}if(this.Hn){a=this.nha(this.Hn);
this.Hd.gb(this.Hn,a.x,a.y,a.zoom)}}};p.prototype.$i=function(a){if(this.jj){var b=a.x-this.zm,c=b/this.Ta.Ra(),d=this.mja()-this.C5;this.OU=b/d;this.C5=this.C5+d;this.zm=a.x;this.fg=Math.max(this.qS,Math.min(this.nS,this.fg+c));this.Ba()}};p.prototype.aj=function(){if(this.jj){this.jj=B;var a,b;if(this.OU>1){a="quad_out";b=this.nS}else if(this.OU<-1){a="quad_out";b=this.qS}else{a="quad_in_out";b=this.fg<-0.5?this.qS:this.fg>0.5?this.nS:0}this.N=new k(a,[new o("offset",this.fg,b,1E3/this.Cg)],0);
this.Ba()}};p.prototype.gd=function(a){if(this.jj||this.N){if(this.N){this.N.ub(a);this.fg=this.N.fb("offset");if(this.N.Se()){this.N=r;this.yCa()}else this.Ba()}this.ka&&this.Hd.Pm(this.ka,this.fg*(1+this.Nx)).Ve(this.ka,1);this.vn&&this.Hd.Pm(this.vn,(this.fg-1)*(1+this.Nx)).Ve(this.vn,1);this.Hn&&this.Hd.Pm(this.Hn,(this.fg+1)*(1+this.Nx)).Ve(this.Hn,1)}};p.prototype.yCa=function(){this.trigger(new d(p.DY,{album:this.Je,item:this.fg<0?this.Hn:this.fg>0?this.vn:this.ka}))};p.prototype.Ba=function(){this.trigger(new d(p.ob))};
p.prototype.nha=function(a){var b=a&&a.get("camera"),c=a&&a.get("media"),a=c&&c.get("width",100)||100,c=c&&c.get("height",100)||100,d=b?b.get("scaleMode",f.fh):f.fh,e={};if(i.va("MovementPhotoCamera",b)){b=b.get("initialPosition",new j(0.5,0.5,1));e.x=b.get("x",0.5);e.y=b.get("y",0.5);e.zoom=b.get("zoomFactor",0.5)}else{e.x=0.5;e.y=0.5;e.zoom=1}this.W.qO(a,c,d);this.W.setSize(this.h.Ra(),this.h.yb());this.W.gb(e.x,e.y,e.zoom);e.x=this.W.getX();e.y=this.W.getY();e.zoom=this.W.Yp();return e};p.ob="request frame";
p.CY="interaction begin";p.DY="interaction end";return p});
define("iL","require,kL,cu,fQ,nV,hE,mA,bY,fp".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ");a("nV");a("hE");var g=a("mA"),c=a("bY"),i=a("fp"),f=b.extend(d,function(a,b,e){d.call(this);this.J=a;this.h=b;this.Hd=e;this.GM=g.Um;this.Cg=1E3;this.xb=new c(this.J,this.h,this.Hd);this.xb.bind(c.ob,this.re,this,m);this.xb.bind(c.bZ,this.Dja,this,m);this.xb.bind(c.qo,this.Eja,this,m);this.xb.bind(c.Yy,this.TK,this,m);this.xb.bind(c.Cv,this.WK,this,m);this.xb.bind(c.Zy,this.VK,this,m);this.xb.bind(c.ko,
this.dp,this,m);this.xb.bind(c.lo,this.yn,this,m);this.Lk=new i(this.J,this.h,this.Hd);this.Lk.bind(i.ob,this.re,this,m);this.Lk.bind(i.CY,this.Iia,this,m);this.Lk.bind(i.DY,this.Jia,this,m)});f.prototype.LX=function(a,b){this.GM=a;this.Cg=b;this.xb.rTa(a);this.Lk.qTa(b);this.xb.Oaa(0.05);this.Lk.Oaa(0.05)};f.prototype.display=function(a,b){this.xb.kba(a,b,this.Cg)};f.prototype.hide=function(){this.xb.kba(r,r,this.Cg)};f.prototype.clear=function(){this.xb.unbind(c.ob,this.re,this);this.xb.unbind(c.bZ,
this.Dja,this);this.xb.unbind(c.qo,this.Eja,this);this.xb.unbind(c.Yy,this.TK,this);this.xb.unbind(c.Cv,this.WK,this);this.xb.unbind(c.Zy,this.VK,this);this.xb.unbind(c.ko,this.dp,this);this.xb.unbind(c.lo,this.yn,this);this.xb.clear();this.xb=r;this.Lk.bind(i.ob,this.re,this,m);this.Lk.bind(i.CY,this.Iia,this,m);this.Lk.bind(i.DY,this.Jia,this,m);this.Lk.clear();this.Hd=this.h=this.J=this.Lk=r};f.prototype.gd=function(a){this.xb.gd(a);this.Lk.gd(a)};f.prototype.re=function(){this.Ba()};f.prototype.TK=
function(a){this.trigger(new e(f.Yy,a.data))};f.prototype.WK=function(a){this.trigger(new e(f.Cv,a.data))};f.prototype.VK=function(a){this.trigger(new e(f.Zy,a.data));this.Lk.iSa(a.data.album,a.data.item)};f.prototype.dp=function(a){this.trigger(new e(f.ko,a.data))};f.prototype.yn=function(a){this.trigger(new e(f.lo,a.data))};f.prototype.Dja=function(){this.Lk.disable()};f.prototype.Eja=function(a){this.GM==g.zo&&a.data.item&&this.Lk.enable();a.data.album||this.trigger(new e(f.zY))};f.prototype.Iia=
function(){this.trigger(new e(f.Kba))};f.prototype.Jia=function(a){this.xb.kba(a.data.album,a.data.item,0);this.trigger(new e(f.Lba,a.data))};f.prototype.Ba=function(){this.trigger(new e(f.ob))};f.ob="request frame";f.Yy="photo added";f.Cv="photo removed";f.Zy="photo displayed";f.lo="photo album show";f.ko="photo album hide";f.Kba="manual interaction begin";f.Lba="manual interaction end";f.zY="all pending photo albums hidden";return f});
define("ig","require,dZ,kL,x,cu,fQ,kn".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("x"),g=a("cu"),c=a("fQ"),i=a("kn"),f=e.extend(c,function(){c.call(this);this.Je=r;this.o=i.M;this.y6=r});f.prototype.clear=function(){this.E9()};f.prototype.$aa=function(a){this.E9();this.Je=a;this.o=i.Q;this.y6=d.watch(this.Je,"playList.selectedIndex",this.qB,this);this.Je.get("playList").get("selectedIndex")==0?this.qB():this.Je.get("playList").set("selectedIndex",0)};f.prototype.E9=function(){if(this.Je){this.o=
i.M;this.y6.unwatch();this.Je=this.y6=r}};f.prototype.stop=function(){if(this.o!=i.M){this.o=i.M;this.Je.get("playList").set("selectedIndex",0)}};f.prototype.play=function(){if(this.o==i.M){this.Je.get("playList").set("selectedIndex",0);this.o=i.Q;this.qB()}else if(this.o==i.Db)this.o=i.Q};f.prototype.pause=function(){if(this.o==i.Q)this.o=i.Db};f.prototype.next=function(){var a=this.Je.get("playList"),b=a.get("selectedIndex"),c=a.get("items").length;(b<c-1||this.Je.get("loop"))&&a.set("selectedIndex",
(b+1)%c)};f.prototype.Y$=function(){var a=this.Je.get("playList"),b=a.get("selectedIndex"),c=a.get("items").length;(b>0||this.Je.get("loop"))&&a.set("selectedIndex",(b-1+c)%c)};f.prototype.aX=function(a){this.kKa(a)};f.prototype.PQa=function(a){if(this.Je){var c=b(this.Je.get("playList").get("items")).last();if(a==c&&!this.Je.get("loop")){this.o=i.M;this.trigger(new g(f.vY,{album:this.Je}))}else this.next()}};f.prototype.qB=function(){var a=this.zEa();a>=0&&(this.o!=i.Q&&a!=0?this.trigger(new g(f.YY)):
this.trigger(new g(f.HY,{album:this.Je,item:this.Je.get("playList").get("items")[a]})))};f.prototype.zEa=function(){return this.Je?this.Je.get("playList").get("selectedIndex"):-1};f.prototype.kKa=function(a){if(this.Je){var c=this.Je.get("playList"),a=b(c.get("items")).indexOf(a);c.set("selectedIndex",a)}};f.YY="play request";f.HY="item request";f.vY="album end";return f});
define("cL","require,dZ,kL,nV,cu,fQ,kn,gI".split(","),function(a){a("dZ");var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("kn"),i=a("gI"),f=b.extend(g,function(a){g.call(this);this.J=a;this.zM=this.ka=r;this.iB=l;this.TR=B;this.o=c.M;i.bind(e.ra,this.pla,this,m)});f.prototype.aX=function(a){this.X0();if(this.ka=a){a=this.ka.get("media").get("duration",0);this.iB=a==0?l:Math.max(0,a-this.J.get("transitionDuration"));this.TR=B;this.o==c.Q&&this.s1()}};f.prototype.clear=function(){i.unbind(e.ra,this.pla,
this,m);this.aX(r)};f.prototype.stop=function(){if(this.o!=c.M){this.X0();this.hc(c.M)}};f.prototype.play=function(){if(this.o==c.M){this.hc(c.Q);if(this.ka){this.TR=B;var a=this.ka.get("media").get("duration",0);this.iB=a==0?l:a;this.s1()}}else if(this.o==c.Db){this.hc(c.Q);this.ka&&this.s1()}};f.prototype.pause=function(){if(this.o==c.Q){this.hc(c.Db);this.Cla()}};f.prototype.s1=function(){if(!this.TR){this.TR=m;this.trigger(new d(f.IY,{item:this.ka}))}this.uga()};f.prototype.pla=function(){i.visible?
this.uga():i.visible||this.Cla()};f.prototype.uga=function(){if(this.iB!==l){var a=this;this.hV=(new Date).getTime()+this.iB;this.zM=setTimeout(function(){a.zM=r;a.ELa()},this.iB)}else this.hV=l};f.prototype.X0=function(){if(this.zM){clearTimeout(this.zM);this.zM=r}};f.prototype.Cla=function(){if(this.hV!==l){this.X0();this.iB=Math.max(1,this.hV-(new Date).getTime());this.hV=l}};f.prototype.ELa=function(){var a=this.ka;this.ka=r;this.iB=l;this.trigger(new d(f.GY,{item:a}))};f.prototype.hc=function(a){if(this.o!=
a){this.o=a;this.trigger(new d(f.mc,{state:this.o}))}};f.mc="playback state change";f.IY="item start";f.GY="item end";return f});
define("mP","require,kL,cu,fQ,bf,u".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("fQ"),g=a("bf"),c=a("u"),i=b.extend(d,function(a){d.call(this);this.K=m;this.fA=B;this.h=a;this.fm=c.browser()==c.Jy&&c.Xd()==c.LZ?3:1;this.pe=this.lJ=0});i.prototype.clear=function(){this.K=B;this.h=r;this.pe=this.lJ=0};i.prototype.vb=function(){if(!this.fA){this.fA=m;g.vb(this.dj,this)}};i.prototype.dj=function(a){if(this.K){this.lJ++;this.pe=this.pe+a;if(this.lJ==this.fm){this.lJ=0;this.fA=B;a=this.pe;this.pe=
0;this.trigger(new e(i.oo,{frameTime:a}));this.trigger(new e(i.po,{frameTime:a}));this.h.render()}else g.vb(this.dj,this)}};i.oo="frameStart";i.po="positionSet";return i});
define("gT","require,kL,nV,cu,fQ,iI,cF,iL,ig,cL,hE,mP".split(","),function(a){var b=a("kL");a("nV");var e=a("cu"),d=a("fQ"),g=a("iI"),c=a("cF"),i=a("iL"),f=a("ig"),j=a("cL"),n=a("hE"),k=a("mP"),o=b.extend(d,function(a,b){d.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.zh=new f(this.h);this.za=new j(this.J);this.Hd=new n(this.J,this.h);this.Ca=new i(this.J,this.h,this.Hd);this.Na=new c(this.h,this.Hd);this.Uf=new k(this.h);this.yd=new g(this.h);this.Hd.bind(n.ob,this.re,this,m);this.zh.bind(f.HY,
this.Vja,this,m);this.zh.bind(f.YY,this.Gka,this,m);this.zh.bind(f.vY,this.UK,this,m);this.za.bind(j.IY,this.Wja,this);this.za.bind(j.GY,this.Uja,this);this.za.bind(j.mc,this.Ae,this,m);this.Ca.bind(i.ob,this.re,this,m);this.Ca.bind(i.Yy,this.TK,this,m);this.Ca.bind(i.Cv,this.WK,this,m);this.Ca.bind(i.Zy,this.VK,this,m);this.Ca.bind(i.ko,this.dp,this,m);this.Ca.bind(i.lo,this.yn,this,m);this.Ca.bind(i.Kba,this.QGa,this,m);this.Ca.bind(i.Lba,this.RGa,this,m);this.Ca.bind(i.zY,this.uja,this,m);this.Na.bind(c.ob,
this.re,this,m);this.Uf.bind(k.oo,this.mx,this,m);this.Uf.bind(k.po,this.nx,this,m)});o.prototype.clear=function(){this.zh.clear();this.za.clear();this.Ca.clear();this.Na.clear();this.Uf.clear();this.yd.clear();this.Hd.clear();this.Hd.unbind(n.ob,this.re,this);this.zh.unbind(f.HY,this.Vja,this);this.zh.unbind(f.vY,this.UK,this);this.zh.unbind(f.YY,this.Gka,this);this.za.unbind(j.IY,this.Wja,this);this.za.unbind(j.GY,this.Uja,this);this.za.unbind(j.mc,this.Ae,this);this.Ca.unbind(i.ob,this.re,this);
this.Ca.unbind(i.Yy,this.TK,this);this.Ca.unbind(i.Cv,this.WK,this);this.Ca.unbind(i.Zy,this.VK,this);this.Ca.unbind(i.ko,this.dp,this);this.Ca.unbind(i.lo,this.yn,this);this.Ca.unbind(i.zY,this.uja,this);this.Na.unbind(c.ob,this.re,this);this.Uf.unbind(k.oo,this.mx,this);this.Uf.unbind(k.po,this.nx,this);this.J=this.h=this.Hd=this.yd=this.Uf=this.Na=this.Ca=this.za=this.zh=r};o.prototype.LX=function(a,b){this.Ca.LX(a,b)};o.prototype.YSa=function(a){this.h.set("visible",m);this.zh.$aa(a)};o.prototype.iv=
function(){this.zh.E9();this.za.stop();this.Ca.hide();this.Na.end();this.yd.Ava()};o.prototype.next=function(){this.zh.next()};o.prototype.Y$=function(){this.zh.Y$()};o.prototype.stop=function(){this.za.stop();this.yd.stop();this.zh.stop();this.Na.stop()};o.prototype.play=function(){this.za.play();this.yd.play();this.zh.play();this.Na.play()};o.prototype.pause=function(){this.za.pause();this.yd.pause();this.zh.pause();this.Na.pause()};o.prototype.QGa=function(){this.za.pause();this.yd.pause();this.zh.pause();
this.Na.pause()};o.prototype.RGa=function(){this.za.play();this.yd.play();this.zh.play();this.Na.play()};o.prototype.Vja=function(a){this.Ca.display(a.data.album,a.data.item)};o.prototype.Gka=function(){this.play()};o.prototype.re=function(){this.Uf.vb()};o.prototype.mx=function(a){this.Na.fv(a.data.frameTime)};o.prototype.nx=function(a){a=a.data.frameTime;this.Ca.gd(a);this.Hd.gd(a);this.yd.gd(a)};o.prototype.TK=function(a){this.Na.start(a.data.item)};o.prototype.WK=function(a){var b=a.data.album,
a=a.data.item,c=a.get("media");this.Na.end(a);this.yd.OTa(c);this.trigger(new e(o.UY,{photoAlbum:b,item:a}))};o.prototype.VK=function(a){var b=a.data.album,a=a.data.item;a.get("media");this.zh.aX(a);this.za.aX(a);this.trigger(new e(o.TY,{photoAlbum:b,item:a}))};o.prototype.Wja=function(a){this.yd.LTa(a.data.item.get("media"))};o.prototype.Uja=function(a){this.zh.PQa(a.data.item)};o.prototype.UK=function(a){this.za.stop();this.yd.stop();this.trigger(new e(o.SY,{photoAlbum:a.data.album}))};o.prototype.yn=
function(a){a=a.data.album;this.yd.$aa(a);this.za.play();this.Na.play();this.trigger(new e(o.lo,{photoAlbum:a}))};o.prototype.dp=function(a){a=a.data.album;this.yd.MTa(a);this.trigger(new e(o.ko,{photoAlbum:a}))};o.prototype.uja=function(){this.h.set("visible",B)};o.prototype.Ae=function(a){this.trigger(new e(o.mc,{state:a.data.state}))};o.lo="photoAlbumShow";o.SY="photoAlbumEnd";o.ko="photoAlbumHide";o.TY="photoBegin";o.UY="photoEnd";o.mc="playbackStateChange";return o});
define("hi","require,jquery.mod,dZ,lA,kI,le,u".split(","),function(a){function b(a,b){this.ka=a;this.Z=b;this.qb=a.bd();this.Ib=a.Rd();this.ZQ=a.I1;this.g9=this.VJ=0;this.dn=1;this.fg=0;this.ja=m;this.w0();this.md=this.dd=100;this.Aa=this.xa=0.5;this.Sa=1;this.xL=m;this.Ne=1;this.rga={};this.Yha={};this.Epa=i.browser()!=i.Lh}var e=a("jquery.mod"),d=a("dZ"),g=a("lA"),c=a("kI");a("le");var i=a("u");b.prototype.w0=function(){this.uP=e("<div></div>");var a={position:"absolute",left:"0",top:"0",width:this.dd+
"px",height:this.md+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.uP.css(a);this.PZ=e(c.hf(this.ka.gi(),m));a={display:"block",position:"absolute",left:"0",top:"0",width:this.qb+"px",height:this.Ib+"px"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.PZ.css(a);this.uP.append(this.PZ)};
b.prototype.Ac=S("uP");b.prototype.getItem=S("ka");b.prototype.getX=S("xa");b.prototype.getY=S("Aa");b.prototype.Yp=S("Sa");b.prototype.Ra=function(){return Math.round(this.qb*this.Sa*this.Ne)};b.prototype.yb=function(){return Math.round(this.Ib*this.Sa*this.Ne)};b.prototype.Ve=function(a){if(this.dn!=a){this.dn=a;this.ja=m}};b.prototype.sW=S("dn");b.prototype.By=function(a){if(this.df!=a){this.df=a;this.ja=m}};b.prototype.AC=function(a,b){if(this.dd!=a||this.md!=b){this.dd=a;this.md=b;this.ja=m}};
b.prototype.gb=function(a,b,c){if(this.xa!=a||this.Aa!=b||this.Sa!=c){this.xa=a;this.Aa=b;this.Sa=c;this.ja=m}};b.prototype.Pm=function(a){if(this.fg!=a){this.fg=a;this.ja=m}};b.prototype.jSa=function(a){if(this.g9!=a){this.g9=a;this.ja=m}};b.prototype.render=function(){if(this.ja){this.ja=B;switch(this.df){case g.NONE:this.Ne=1;break;case g.so:this.Ne=this.dd/this.qb;break;case g.Cj:this.Ne=this.md/this.Ib;break;case g.mq:this.Ne=this.qb*this.md>this.Ib*this.dd?this.md/this.Ib:this.dd/this.qb;break;
default:this.Ne=this.qb*this.md>this.Ib*this.dd?this.dd/this.qb:this.md/this.Ib}var a=this.Sa*this.Ne,b=this.dd*0.5-this.xa*this.qb*a,c=this.md*0.5-this.Aa*this.Ib*a,e=this.dd*this.fg,i=function(a,b){return Math.round(a*Math.pow(10,b))*Math.pow(10,-b)},p={};p.width=i(this.dd,0)+"px";p.height=i(this.md,0)+"px";p.transform=this.Epa?"translate3d("+i(e,2)+"px, 0px, 0px)":"translate("+i(e,2)+"px, 0px)";p["-moz-transform"]=p["-webkit-transform"]=p["-ms-transform"]=p.transform;p["z-index"]=this.g9;if(this.dn==
0)p.display="none";else{p.display="block";if(this.dn==1){p.filter=p["-ms-filter"]="";p.opacity=""}else{p.filter=p["-ms-filter"]="alpha(opacity="+Math.round(this.dn*100)+")";p.opacity=this.dn}}e=[];if(this.Epa){e.push("translate3d("+i(b,2)+"px, "+i(c,2)+"px, 0px)");e.push("scale3d("+a+", "+a+", "+a+")");if(this.ZQ){e.push("translate3d("+this.qb+"px, 0, 0)");e.push("scale3d(-1, 1, 1)")}}else{e.push("translate("+i(b,2)+"px, "+i(c,2)+"px)");e.push("scale("+a+", "+a+")");if(this.ZQ){e.push("translate("+
this.qb+"px, 0)");e.push("scale(-1, 1)")}}a={};a["-moz-transform"]=a["-webkit-transform"]=a["-ms-transform"]=a.transform=e.join(" ");if(!d.isEqual(this.rga,p)){this.rga=p;this.uP.css(p)}if(!d.isEqual(this.Yha,a)){this.Yha=a;this.PZ.css(a)}}};return b});
define("hD","require,jquery.mod,dZ,kL,nV,hA,kI,hi,bb,e".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kL"),g=a("nV"),c=a("hA"),i=a("kI"),f=a("hi"),j=a("bb"),n=a("e"),a=d.extend(n,function(){n.call(this);this.ie("Renderer");this.set("toolTipDisabled",m);this.set("cursor",j.Fv);this.bind(g.uc,this.Sb,this,m);this.bind(g.Wc,this.Tj,this,m);this.bind(g.cd,this.Pj,this,m);this.kB=B;this.$b=[];this.JU=this.Ou=B;this.l5=b("<div/>");this.l5.css({position:"absolute",left:0,top:0,right:0,bottom:0,
overflow:"hidden","-webkit-transform":"translateZ(0)"});this.sb().append(this.l5)});a.prototype.$n=function(a){i.$n(a,c.Zm)};a.prototype.yj=function(a){i.yj(a,c.Zm)};a.prototype.Hsa=function(a){return i.UX(a)};a.prototype.k9=function(a){a=new f(a,this);a.AC(this.Ra(),this.yb());a.gb(0.5,0.5,0,1);this.l5.append(a.Ac());this.$b.push(a);this.Ou=m};a.prototype.removeItem=function(a){if(a=this.Ro(a)){this.$b=e.without(this.$b,a);a.Ac().detach();this.Ou=m}};a.prototype.v9=function(a){if(a=this.Ro(a)){this.$b=
e.without(this.$b,a);this.$b.push(a);this.Ou=m}};a.prototype.ISa=function(a,b){this.Ro(a).By(b)};a.prototype.dq=function(a,b){this.Ro(a).Ve(b)};a.prototype.FSa=function(a,b){this.Ro(a).Pm(b)};a.prototype.xO=function(a,b,c,d){this.Ro(a).gb(b,c,d)};a.prototype.ON=function(a){return this.Ro(a).getX()};a.prototype.PN=function(a){return this.Ro(a).getY()};a.prototype.Cra=function(a){return this.Ro(a).Yp()};a.prototype.NN=function(a){return this.Ro(a).Ra()};a.prototype.MN=function(a){return this.Ro(a).yb()};
a.prototype.render=function(){if(this.kB){this.$Ma();this.IKa();for(var a=0;a<this.$b.length;a++)this.$b[a].render()}};a.prototype.$Ma=function(){if(this.JU){this.JU=B;for(var a=this.Ra(),b=this.yb(),c=0;c<this.$b.length;c++)this.$b[c].AC(a,b)}};a.prototype.IKa=function(){if(this.Ou){this.Ou=B;for(var a=[],b=0;b<this.$b.length;b++){var c=this.$b[b],d={};d.bX=c.VJ;d.index=b;d.renderer=c;a.push(d)}a.sort(function(a,b){return a.bX==b.bX?a.index-b.index:a.bX-b.bX});for(b=0;b<a.length;b++)a[b].renderer.jSa(b+
1)}};a.prototype.Ro=function(a){if(this.cVa==a)return this.bVa;for(var b=r,c=0;c<this.$b.length&&!b;c++)this.$b[c].getItem()==a&&(b=this.$b[c]);return b};a.prototype.Sb=function(){this.JU=m;this.render()};a.prototype.Tj=function(){this.kB=m;this.render()};a.prototype.Pj=function(){this.kB=B};return a});
define("jF","require,kL,cu,mR,jh,ia,gT,mA,hD,dW,nV".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("mR"),g=a("jh"),c=a("ia"),i=a("gT"),f=a("mA"),j=a("hD"),n=a("dW"),k=a("nV"),a=d.G("PhotoAlbumPlayer",c,function(){c.call(this,"photoAlbum");this.kV=this.k5=this.Fh=B;this.C=this.h=r;this.Xza=new g(this,"buttonNext",n.me);this.Xza.bind(k.oa,this.xka,this);this.Yza=new g(this,"buttonPrevious",n.me);this.Yza.bind(k.oa,this.Qka,this);this.Nd=b.aq(this.Dg,this)});a.prototype.next=function(){this.xka()};
a.prototype.pause=function(){this.WA()};a.prototype.play=function(){this.XA()};a.prototype.previous=function(){this.Qka()};a.prototype.stop=function(){this.rx()};a.prototype.restart=function(){this.ox()};a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "photoAlbum":this.k5=m;this.Nd();break;case "viewerArea":this.Fh=m;this.Nd();break;case "touchTransition":case "mouseTransition":case "touchTransitionDuration":case "mouseTransitionDuration":case "transitionDuration":this.kV=m;this.Nd()}c.prototype.set.call(this,
a,b)}};a.prototype.Dg=function(){if(this.Fh){this.Fh=B;this.kV=m;this.qt();this.get("viewerArea")&&this.nt();this.cM(this.get("viewerArea"))}if(this.h&&this.k5){this.k5=B;if(this.get("photoAlbum")){this.vH();this.C.YSa(this.get("photoAlbum"))}else this.C.iv()}if(this.kV){this.kV=B;this.ypa()}};a.prototype.bG=function(){this.set("photoAlbum",r)};a.prototype.nt=function(){var a=this.get("viewerArea");this.h=new j;this.h.Y({left:0,top:0,bottom:0,right:0});a.La(this.h);this.C=new i(a,this.h);this.ypa();
this.C.bind(i.lo,this.yn,this);this.C.bind(i.ko,this.dp,this);this.C.bind(i.SY,this.UK,this);this.C.bind(i.TY,this.Eka,this);this.C.bind(i.UY,this.Fka,this);this.C.bind(i.mc,this.Ae,this);this.Qx(m)};a.prototype.qt=function(){if(this.h){this.C.unbind(i.lo,this.yn,this);this.C.unbind(i.ko,this.dp,this);this.C.unbind(i.SY,this.UK,this);this.C.unbind(i.TY,this.Eka,this);this.C.unbind(i.UY,this.Fka,this);this.C.unbind(i.mc,this.Ae,this);this.C.clear();this.h.getParent().removeChild(this.h);this.h=r;this.Qx(B)}};
a.prototype.ypa=function(){var a=this.get("viewerArea");a&&this.C&&(a.tn?this.C.LX(this.get("touchTransition",f.Um),this.get("touchTransitionDuration",a.get("transitionDuration",1E3))):this.C.LX(this.get("mouseTransition",f.Um),this.get("mouseTransitionDuration",a.get("transitionDuration",1E3))))};a.prototype.Ae=function(a){this.hc(a.data.state)};a.prototype.yn=function(a){this.gK(a.data.photoAlbum)};a.prototype.dp=function(a){this.fK(a.data.photoAlbum)};a.prototype.UK=function(a){a.data.photoAlbum.trigger(new e(k.hb))};
a.prototype.Eka=function(a){a.data.item.hy()};a.prototype.Fka=function(a){a.data.item.end()};a.prototype.$h=function(a){this.h.getParent().Y({progressPercent:a.data.percent,progressVisible:m})};a.prototype.iF=function(){this.h.getParent().set("progressVisible",B)};a.prototype.xka=function(){this.C&&this.get("photoAlbum")&&this.C.next()};a.prototype.Qka=function(){this.C&&this.get("photoAlbum")&&this.C.Y$()};a.prototype.Wj=function(){this.C&&this.get("photoAlbum")&&this.C.play()};a.prototype.Mn=function(){this.C&&
this.get("photoAlbum")&&this.C.stop()};a.prototype.lp=function(){this.C&&this.get("photoAlbum")&&this.C.pause()};return a});
define("gy",["require","mR","cT","hO"],function(a){var b=a("mR"),e=a("cT"),d=a("hO"),a=b.G("PhotoAlbumPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.yn,this),a.set("photoAlbum",this.get("media")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.Kg,this.yn,this),a.get("photoAlbum")==this.get("media")&&a.set("photoAlbum",r));d.prototype.stop.call(this)};a.prototype.IH=function(){var a=
this.get("media");if(a){var b=a.get("playList");b&&(a=b.get("selectedIndex"),b=b.get("items"),0<=a&&b&&b[a].IH())}d.prototype.IH.call(this)};a.prototype.yn=function(){this.get("player").unbind(e.Kg,this.yn,this);this.get("player").bind(e.Il,this.dp,this);this.hy()};a.prototype.dp=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Il,this.dp,this),this.stop(),this.end())};return a});
define("kZ",["require","hA","mR","iv"],function(a){var b=a("hA"),e=a("mR"),d=a("iv");return e.G("PhotoAudio",d,function(){d.call(this,b.xxa)})});define("mI",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PhotoCamera",b,function(){b.call(this)})});
define("eD","require,dZ,ll,cu,mR,iT,nV".split(","),function(a){var b=a("dZ"),e=a("ll"),d=a("cu"),g=a("mR"),c=a("iT"),i=a("nV"),a=g.G("PlayList",e,function(){e.call(this);this.Oe=-1;this.Od=[];this.AL=this.Nj=this.se=l});a.prototype.set=function(a,b){a=="selectedIndex"?this.jKa(b):a=="items"?this.VJa(b):e.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){return a=="selectedIndex"?this.Oe:a=="items"?this.Od:e.prototype.get.call(this,a,b)};a.prototype.dispose=function(){if(this.se){this.se.unbind(i.iq,
this.YK,this);this.se.unbind(i.$f,this.dr,this);this.se.unbind(i.hb,this.dr,this);this.se=r}};a.prototype.VJa=function(a){a=a||[];if(!b.isEqual(this.Od,a)){var c=this.Oe;this.Od=a;a=this.Fma(this.Oe);this.trigger(new d(i.yba,{nextSelectedIndex:a}));this.Oe=a;this.rna(this.Fw(this.Oe));this.ppa();this.trigger(new d(i.ra,{previousSelectedIndex:c}));e.prototype.set.call(this,"items",this.Od);e.prototype.set.call(this,"selectedIndex",this.Oe)}};a.prototype.jKa=function(a){a=this.Fma(a);if(this.Oe!=a){var b=
this.Oe;this.trigger(new d(i.yba,{nextSelectedIndex:a}));this.Oe=a;this.rna(this.Fw(this.Oe));this.ppa();this.trigger(new d(i.ra,{previousSelectedIndex:b}));e.prototype.set.call(this,"selectedIndex",this.Oe)}};a.prototype.Fma=function(a){return Math.max(-1,Math.min(this.Od.length-1,a))};a.prototype.Fw=function(a){return a>=0?this.Od[a]:r};a.prototype.rna=function(a){if((this.se!=a||this.Nj!==l)&&this.Nj!==a)if(this.Nj===l){this.Nj=a;if(this.se)if(this.Nj&&this.se.get("player")==this.Nj.get("player")){this.se.IH();
this.dr()}else if(this.JFa(this.se,this.Nj)){a=this.se;a.IH();this.dr();a.$va()}else{this.tia(this.se,this.Nj)&&this.se.get("media").get("modelLocations",[]).forEach(function(a){var b=!!(a.get("model")==this.Nj.get("media")&&a.get("forceModelLoading"));a.set("preferred",b)}.bind(this));this.se.stop()}else this.dr()}else this.Nj=a};a.prototype.JFa=function(a,b){return this.sia(b,a)};a.prototype.tia=function(a,b){return this.sia(a,b)};a.prototype.sia=function(a,b){return b&&g.va("Model3DPlayListItem",
b)&&a&&g.va("PanoramaPlayListItem",a)&&a.get("player")&&a.get("player").get("model3DPlayer")==b.get("player")&&a.get("media").get("modelLocations",[]).find(function(a){return a.get("model")==b.get("media")&&(b.get("media").get("isLoaded")||a.get("forceModelLoading"))})};a.prototype.dr=function(){if(this.se){this.se.unbind(i.iq,this.YK,this);this.se.unbind(i.$f,this.dr,this);this.se.unbind(i.hb,this.dr,this)}if(this.Nj){this.tia(this.se,this.Nj)&&this.se.get("player").bind(i.IZ,this.sx,this,m);this.se=
this.Nj;this.Nj=l;this.se.bind(i.iq,this.YK,this);this.se.bind(i.$f,this.dr,this);this.se.start()}else{this.Nj=this.se=l;this.set("selectedIndex",-1)}};a.prototype.sx=function(a){a.source.unbind(i.IZ,this.sx,this);this.YK();this.se.Zva()};a.prototype.YK=function(){this.se.unbind(i.iq,this.YK,this);this.se.unbind(i.$f,this.dr,this);this.se.bind(i.hb,this.dr,this)};a.prototype.ppa=function(){this.AL&&c.iX(this.AL.get("media"),-1);(this.AL=this.Od&&this.Oe>=0?this.Od[(this.Oe+1)%this.Od.length]:r)&&
c.iX(this.AL.get("media"),1)};return a});define("jP",["require","mR","eD"],function(a){var b=a("mR"),e=a("eD");return b.G("PhotoPlayList",e,function(){e.call(this)})});define("kd",["require","mR","hO"],function(a){var b=a("mR"),e=a("hO");return b.G("PhotoPlayListItem",e,function(){e.call(this)})});define("eo",["require","fV","mR"],function(a){var b=a("fV");return a("mR").G("PlaybackBar",b,function(){b.call(this)})});
define("mt",["require"],function(){function a(a){try{for(var g=(e.YN<<12)+e.$N&65535,c="",i=0,f=a.length;i<f;)var j=b.indexOf(a.charAt(i++))<<12|b.indexOf(a.charAt(i++))<<6|b.indexOf(a.charAt(i++))<<0,j=j-g+65536&65535,c=c+String.fromCharCode(j);return c}catch(n){if("{%"==a.substr(0,2))return""}}var b="";[[65,26],[97,26],[48,10]].forEach(function(a){for(var e=0;e<a[1];e++)b+=String.fromCharCode(a[0]+e)});var b=b+"+/",e={EOa:"true"};e.YN=parseInt("0")||
0;e.$N=parseInt("1778")||1;e.NTa="true";e.name=a("AclAc2AdIAdbAdlAdmAdTAcSAdCAdeAdTAdrAdXAdk");e.nwa=a("");return e});define("hU",["require"],function(){return{Ha:"left",Va:"right",ec:"top",Zb:"bottom"}});
define("dk",["require","kL","ej","W","hU"],function(a){var b=a("kL"),e=a("ej");a("W");a("hU");a=b.extend(e,function(){e.call(this)});a.prototype.rJ=T(0);a.prototype.sJ=T(0);a.prototype.YF=function(){e.prototype.YF.call(this);this.yw(function(a){a.Hf(m)})};a.prototype.zu=function(){e.prototype.zu.call(this);this.yw(function(a){a.BO(this.rJ(a,this.pk()));a.CO(this.sJ(a,this.pk()))})};a.prototype.WF=function(){this.yw(function(a){a.BO(this.rJ(a,1));a.CO(this.sJ(a,1))});e.prototype.WF.call(this)};a.prototype.XF=
function(){this.yw(function(a){a.BO(this.rJ(a,0));a.CO(this.sJ(a,0))});e.prototype.XF.call(this)};return a});
define("mH",["require","kL","dk","hU"],function(a){var b=a("kL"),e=a("dk"),d=a("hU"),a=b.extend(e,function(){e.call(this)});a.prototype.rJ=function(a,b){switch(this.get("from")){case d.ec:case d.Zb:return 0;case d.Ha:var e=a.xa,f=a.Ra();return isNaN(f)||isNaN(e)?1E4:(-e-f)*(1-b);default:e=a.getParent();if(!e)return 0;f=e.Re();e=a.xa;return isNaN(e)||isNaN(f)?1E4:(f-e)*(1-b)}};a.prototype.sJ=function(a,b){switch(this.get("from")){case d.ec:var e=a.Aa,f=a.yb();return isNaN(f)||isNaN(e)?1E4:(-e-f)*(1-
b);case d.Zb:e=a.getParent();if(!e)return 0;f=e.Qe();e=a.Aa;return isNaN(e)||isNaN(f)?1E4:(f-e)*(1-b);default:return 0}};a.prototype.XF=function(){this.yw(function(a){a.BO(0);a.CO(0);a.Hf(B)})};return a});
define("hf",["require","kL","dk","W","hU"],function(a){var b=a("kL"),e=a("dk");a("W");var d=a("hU"),a=b.extend(e,function(){e.call(this)});a.prototype.rJ=function(a,b){switch(this.get("to")){case d.ec:case d.Zb:return 0;case d.Ha:var e=a.xa,f=a.Ra();return isNaN(f)||isNaN(e)?1E4:(-e-f)*b;default:e=a.getParent();if(!e)return 0;f=e.Re();e=a.xa;return isNaN(e)||isNaN(f)?1E4:(f-e)*b}};a.prototype.sJ=function(a,b){switch(this.get("to")){case d.ec:var e=a.Aa,f=a.yb();return isNaN(f)||isNaN(e)?1E4:(-e-f)*
b;case d.Zb:e=a.getParent();if(!e)return 0;f=e.Qe();e=a.Aa;return isNaN(e)||isNaN(f)?1E4:(f-e)*b;default:return 0}};a.prototype.WF=function(){this.yw(function(a){a.BO(0);a.CO(0);a.Hf(B)})};return a});
define("F","require,jquery.mod,kL,nV,nT,u,fy,mn,cH,d,ns,mH,hf,jH".split(","),function(a){function b(a){try{return window.localStorage.getItem(a)}catch(b){}}var e=a("jquery.mod"),d=a("kL"),g=a("nV"),c=a("nT"),i=a("u"),f=a("fy"),j=a("mn"),n=a("cH"),k=a("d"),o=a("ns"),p=a("mH"),q=a("hf"),t=a("jH"),a=d.extend(o,function(a){o.call(this);this.Wb=a;this.oi=this.zz=this.dw=this.jl=r;a=new p;a.set("duration",500);a.set("from","bottom");a=new q;a.set("duration",500);a.set("to","bottom");this.Y({creationPolicy:n.dz,
verticalAlign:j.Sd,horizontalAlign:j.ke,visible:B,showEffect:this.qVa,hideEffect:this.rVa});this.u7="";a=this.pEa();if(a===m)setTimeout(function(){this.trigger(g.ZC)}.bind(this),0);else if(a===l){this.Wb.bind(g.u("cookiesPolicy"),this.Afa,this);setTimeout(function(){this.Afa()}.bind(this),0)}});a.prototype.kb=function(){o.prototype.kb.call(this);this.Y({backgroundColor:"#1a1a1a",width:"100%",left:0,bottom:0});if(this.jl==r){this.jl=new t;this.jl.Y({content:this.u7,fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Open Sans, Arial, sans-serif",width:"100%"});this.La(this.jl)}if(this.dw==r){this.dw=new o;this.La(this.dw);this.dw.Y({creationPolicy:n.dz,verticalAlign:j.Sd,layout:k.sg})}if(this.zz==r){this.zz=new f;this.zz.Y({backgroundColor:"#2aabe2",fontColor:"#ffffff",fontFamily:"Open Sans, Arial, sans-serif",label:c("accept").toUpperCase(),verticalAlign:"middle"});this.dw.La(this.zz);this.zz.bind(g.oa,this.Oza,this,m)}if(this.LD==r){this.LD=new f;this.LD.Y({backgroundColor:"#1a1a1a",fontColor:"#808080",
fontFamily:"Open Sans, Arial, sans-serif",label:c("reject").toUpperCase(),textDecoration:"underline",verticalAlign:"middle"});this.dw.La(this.LD);this.LD.bind(g.oa,this.$za,this,m)}};a.prototype.tr=function(){o.prototype.tr.apply(this,arguments);var a=this.tb();if(a){a.bind(g.uc,this.ll,this,m);this.ll()}};a.prototype.ll=function(){var a=this.tb();if(a){var b=i.mb(),c=a.yb()>a.Ra(),d=Math.min(a.Ra(),a.yb())/100,a=function(a){return Math.round(a*d)};this.Y({gap:b?a(4.63):20,paddingLeft:b?a(4.63):20,
paddingRight:b?a(4.63):20,paddingTop:b?a(4.63):14,paddingBottom:b?a(4.63):14,layout:b&&c?k.hh:k.sg});this.jl&&this.jl.Y({fontSize:b?a(3.15):14,textAlign:b&&c?"center":"left"});this.dw&&this.dw.Y({gap:b?0:13});this.zz&&this.zz.Y({borderRadius:b?a(4.63):15,fontSize:b?a(3.15):14,height:b?a(9.26):30,paddingLeft:b?a(6):20,paddingRight:b?a(6):20});this.LD&&this.LD.Y({borderRadius:b?a(4.63):15,fontSize:b?a(3.15):14,height:b?a(9.26):30,paddingLeft:b?a(6):20,paddingRight:b?a(6):20});this.ud()}};a.prototype.Afa=
function(){var a=d.toArray(this.Wb.get("cookiesPolicy"));if(this.vL!=a){this.vL=a;this.cJa()}};a.prototype.cJa=function(){if(this.vL.length==0)this.M6(r);else{var a=this.vL[0];d.toArray(a.get("geographicArea")).length==0?this.M6(a):this.KDa(function(a){for(var b=r,c=0;c<this.vL.length&&!b;c++){var e=this.vL[c],f=d.toArray(e.get("geographicArea"));if(f.length==0)b=e;else for(var g=0;g<f.length&&!b;g++)a.indexOf(f[g])>=0&&(b=e)}this.M6(b)}.bind(this))}};a.prototype.M6=function(a){if(this.yF!==a){this.yF&&
this.yF.unbind(g.u("url"),this.C8,this);if(this.yF=a){this.yF.bind(g.u("url"),this.C8,this);this.C8();this.set("visible",m)}else{this.trigger(g.ZC);this.set("visible",B)}}};a.prototype.C8=function(){var a=e(document.createElement("div")).html(c("cookies-notice"));a.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.yF.get("url"),target:"_blank"});this.u7=a.html();this.jl&&this.jl.set("content",this.u7)};a.prototype.Oza=function(){this.tna(m);this.set("visible",
B);this.trigger(g.ZC)};a.prototype.$za=function(){this.tna(B);this.set("visible",B)};var s=["AT","BE","BG","CY","CZ","DE","DK","EE","EL","ES","FI","FR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK"];a.prototype.KDa=function(a){this.yDa(function(b){var c=[b];s.indexOf(b)&&c.push("EU");a(c)})};a.prototype.yDa=function(a){var c=b("tdvp_country_code");if(c)a(c);else if(!this.Bga){this.Bga=m;e.get("https://geoloc.3dvista.com",function(b){this.Bga=B;b=b.country.toUpperCase();
try{window.localStorage.setItem("tdvp_country_code",b)}catch(c){}a(b)}.bind(this))}};var u="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.pEa=function(){var a=b(u);if(a=="yes")return m;if(a=="no")return B};a.prototype.tna=function(a){try{window.localStorage.setItem(u,a?"yes":"no")}catch(b){}};return a});
define("ly",["require"],function(){function a(a){var b=a instanceof Request||a instanceof Response?a.url:a;b&&(b=b.split("#")[0]);b&&(b=b.split("?")[0]);return!b||-1!=b.indexOf("://")?Promise.resolve(b):("undefined"!==typeof window?Promise.resolve(window.location.href):self.AVa.matchAll({type:"window"}).then(function(a){if(a.length)return a[0].url})).then(function(a){return(new URL(b,a)).toString()})}function b(a,b){return new Promise(function(c,d){(b===l?g():Promise.resolve(b)).then(function(b){(window.webkitRequestFileSystem||
window.requestFileSystem)(b?window.PERSISTENT:window.TEMPORARY,a,function(a){c(a)},function(a){console.log("Error getting file system access",a);d("error getting file system")})},function(a){console.log("error getting file system access",a);d("error getting file system")})})}function e(a,b){return a&&a.queryUsageAndQuota?new Promise(function(c,d){a.queryUsageAndQuota(function(e,f){console.log("UsedBytes:",e,"grantedBytes:",f,"freeBytesRequired:",b);var g=e+b;f>=g?c(g):a==navigator.webkitPersistentStorage||
a==navigator.persistentStorage?(console.log("requestQuota:",g),a.requestQuota(g,function(){console.log("Granted bytes:",g);c(g)},function(a){console.log("Not granted bytes:",g,a);d("not enough free space granted")})):(console.log("Not enough temporary free space."),d("not enough free space granted"))},function(a){console.log("Query quota error:",a);a&&a.message&&(a=a.message);d("not enough free space granted: "+a)})}):Promise.reject("unknown free space")}function d(){return(navigator.storage&&navigator.storage.persist?
navigator.storage.persist():Promise.resolve(B)).then(function(a){console.log("Persistence granted:",a);return a?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function g(){return navigator.storage&&navigator.storage.persisted?navigator.storage.persisted():Promise.resolve(B)}function c(){return!w?Promise.reject("files uninitialized, no space was requested"):Promise.resolve(w)}function i(a){a.length&&"/"==a[0]&&(a=a.substr(1));
return a.split("/").filter(function(a){return""!=a})}function f(a){return new Promise(function(b,c){a.remove(function(){b()},function(a){c("can't remove entry"+(a&&a.message?": "+a.message:"")+".")})})}function j(a){return n(a).then(function(a){return Promise.all(a.map(function(a){return a.isDirectory?j(a):f(a)}))}).then(function(){return f(a).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function n(a){return new Promise(function(b,c){a.createReader().readEntries(function(a){b(a)},
function(){c("can't list directory")})})}function k(a,b,c){return new Promise(function(d,e){a.getDirectory(b,c,function(a){d(a)},function(){e("can't get directory entry: "+b)})})}function o(a,b){return new Promise(function(c,d){k(a,b,{create:B}).then(function(a){c(a)})["catch"](function(){k(a,b,{create:m}).then(function(a){c(a)})["catch"](function(a){console.log("Can't create directory entry: "+b,a);d("can't create directory entry: "+b)})})})}function p(a,b){return 0==b.length?a:o(a,b[0]).then(function(a){return p(a,
b.slice(1))})}function q(a,b){return 0==b.length?a:k(a,b[0]).then(function(a){return q(a,b.slice(1))})}function t(a,b,c){return new Promise(function(d,e){a.getFile(b,c,function(a){d(a)},function(){e("can't get file entry: "+b)})})}function s(a){return new Promise(function(b,c){a.createWriter(function(a){b(a)},function(){c("can't create File for writing")})})}function u(a){var b=a.lastIndexOf(".");switch((0>b?"":a.substr(b)).toLowerCase()){case ".bmp":return"image/bmp";case ".eot":return"application/vnd.ms-fontobject";
case ".gif":return"image/gif";case ".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 w=r;return{oX:function(){return g()},toURL:function(b,c){return a(b).then(function(a){var a=
new URL(a),b=c?"persistent":"temporary",d=a.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+a.origin+"/"+b+d})},MRa:function(a){return d().then(function(b){return e(b,a)}).then(function(a){return b(a)}).then(function(a){w=a})},ERa:function(a){var a=i(a),b=a[a.length-1],d=a.slice(0,-1);return c().then(function(a){return q(a.root,d)}).then(function(a){return t(a,b,{create:m})},function(){return Promise.resolve(r)}).then(function(a){return a&&f(a)})},oua:function(a,c){var d=
i(a);return b(1024,c).then(function(a){return q(a.root,d)}).then(function(a){return j(a)},function(){return Promise.resolve()})},owa:function(a,b,d){var e=i(a),f=e[e.length-1],g=e.slice(0,-1);return c().then(function(a){return p(a.root,g)}).then(function(a){return t(a,f,{create:B}).then(function(a){return Promise.resolve(a)},function(){return t(a,f,{create:m})})}).then(function(a){return s(a)}).then(function(c){c.seek(c.length);return new Promise(function(e,g){c.onwriteend=function(){e()};c.onerror=
function(b){console.log("Error writing file:",a,b);g("error writing file: "+a)};c.write(new Blob([b],{type:d||u(f)}))})})}}});
define("cs",["require","ly","lG","u"],function(a){function b(a,b){this.nr=a;this.Hz=B;this.tp=r;this.hu=b||G()}function e(a){return a.MC>=c}var d=a("ly"),g=a("lG"),c=1048576,i=10485760,f=a("u").Gf()?3:5,a={File:function(a,b){this.url=a;this.MC=b;this.nO=this.KG=0}},j=a.Files=function(a,b,c,d){this.Pea=this.zza=a;this.hr=b.slice();this.Aga=[];var e=0;this.hr.sort(function(a,b){return a.MC-b.MC});this.hr.forEach(function(a){e+=a.MC});this.toa=e;this.Wz=[];this.$P=l;this.Pq=[];this.V_=B;this.Bf=c||G();
this.cJ=d||G()};j.prototype.Pr=function(){return this.zAa().then(function(){return this.AAa()}.bind(this))};j.prototype.zAa=function(){return self.caches["delete"](this.Pea)};j.prototype.AAa=function(){var a=(new g(this.zza)).pathname;return d.oua(a,B).then(function(){return d.oua(a,m)})};j.prototype.requestStorage=function(){return d.MRa(Math.round(1.1*this.toa+10485760)).then(function(){return d.oX()})};j.prototype.download=function(){this.V_=B;this.$P=0;this.Pr().then(function(){this.$I()}.bind(this))["catch"](function(a){console.log("error cleaning storage",
a);d.oX().then(function(a){this.cJ(B,a)}.bind(this))}.bind(this))};j.prototype.cancelDownload=function(){this.V_=m;this.Pq.forEach(function(a){a.cancel()});this.Pr()};j.prototype.$I=function(){if(!(this.V_||this.Pq.length>=f))if(0<this.hr.length){var a;if(1==f)a=0.5<Math.random()?this.hr.shift():this.hr.pop();else if(0==this.Wz.filter(e).length)a=this.hr.pop();else{if(e(this.hr[0]))return;a=this.hr.shift()}this.Wz.push(a);var c=g.gy(a.url,"nc="+(new Date).getTime()),j=new b(c,function(b){a.KG=b.KG;
this.nj()}.bind(this));this.Pq.push(j);j.fetch().then(function(b){return this.iLa(a.url,b)}.bind(this)).then(function(){this.fga(a,j,m)}.bind(this))["catch"](function(b){console.log("download error",a.url,a.MC,a.KG,b);this.fga(a,j,B)}.bind(this));this.$I()}else if(0==this.Pq.length){var i=5>=this.Aga.length;d.oX().then(function(a){this.cJ(i,a)}.bind(this))}};j.prototype.fga=function(a,b,c){c?(this.Wz.splice(this.Wz.indexOf(a),1),this.Pq.splice(this.Pq.indexOf(b),1),this.$P+=a.MC,this.nj(),this.$I()):
(a.KG=0,a.nO+=1,this.nj(),20<=a.nO?(console.log("Error downloading file: "+a.url+" after "+a.nO+" retries."),this.mia(a.url)?(this.Aga.push(a),this.Pq.splice(this.Pq.indexOf(b),1),this.$I()):(this.cancelDownload(),d.oX().then(function(a){this.cJ(B,a)}.bind(this)))):(console.log("Error downloading file: "+a.url+" attempt "+a.nO+" of 20. Will retry in 2000ms."),setTimeout(function(){this.Wz.splice(this.Wz.indexOf(a),1);this.Pq.splice(this.Pq.indexOf(b),1);e(a)?this.hr.push(a):this.hr.splice(0,0,a);
this.$I()}.bind(this),2E3)))};j.prototype.iLa=function(a,b){return this.kLa(a,b).then(function(){if(this.qNa(a))return this.jLa(a,b)}.bind(this))};j.prototype.jLa=function(a,b){b=b.clone();return 200!=b.status?Promise.reject("response status: "+b.status):self.caches.open(this.Pea).then(function(c){return c.put(a,b)})};j.prototype.kLa=function(a,b){b=b.clone();if(200!=b.status)return Promise.reject("response status: "+b.status);var c=(new g(a)).pathname;return c.lastIndexOf("/")==c.length-1?Promise.resolve():
new Promise(function(a,e){function f(){E.read().then(function(b){var c=b.value,d=[];if(c){for(;c.length+y>=i;){var e=c.slice(0,i-y);n.push(e);d.push(g(n));n=[];y=0;c=c.slice(e.length,c.length)}0<c.length&&(n.push(c),y+=c.length)}var o=b.done;y&&o&&d.push(g(n));j(d).then(function(){o?a():f()})["catch"](k)})["catch"](k)}function g(a){if(0==a.length)return new Uint8Array(0);var b=0;a.forEach(function(a){b+=a.length});for(var c=new Uint8Array(b),d=0,e=0;e<a.length;d+=a[e].length,e++)c.set(a[e],d);return c}
function j(a){if(0==a.length)return Promise.resolve();var b=a.shift();return d.owa(c,b).then(function(){j(a)})}function k(a){console.log("Error writing response to file system:",a);d.ERa(c).then(function(){e("Error reading response body")})}var n=[],y=0,E=b.body.getReader();f()})};var n=".bmp,.gif,.glb,.jpeg,.jpg,.m3u8,.m4a,.m4v,.mp3,.mp4,.ogg,.ogv,.otf,.png,.svg,.tif,.tiff,.ts,.tts,.webm,.woff,.woff2".split(",");j.prototype.mia=function(a){var a=(new g(a)).pathname,b="."+a.split(".").pop().toLowerCase();
return 0<=n.indexOf(b)&&0>a.indexOf("loading/")};j.prototype.qNa=function(a){var b=(new g(a)).pathname;return 0<=b.indexOf("files/")||0<=b.indexOf("pdfjs/")?m:this.mia(a)?B:m};j.prototype.nj=function(){var a=this.$P;this.Wz.forEach(function(b){a+=b.KG});this.Bf(100*a/this.toa)};b.prototype.fetch=function(){return fetch(this.nr).then(function(a){if(this.Hz)return a.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!a.ok)return Promise.resolve(a);var b=a.headers.get("content-length"),
c=l,d=0;b!==r&&(c=parseInt(b,10));this.tp=a.body.getReader();var e=B,f=function(a){this.Hz?a.close():e=m}.bind(this),g=function(a){return this.tp.read().then(function(b){var e=b.value;e&&(d+=e.byteLength,a.enqueue(e));b.done&&(c=d,j(a));this.hu({MC:c,KG:d})}.bind(this))["catch"](function(b){console.log("Error reading response",b);a.error(b)}.bind(this))}.bind(this),j=function(a){e&&(a.close(),e=B,this.tp=r)}.bind(this);return new Response(new ReadableStream({start:function(a){return f(a)},pull:function(a){return g(a)},
cancel:function(){j()}}))}.bind(this))};b.prototype.cancel=function(){this.Hz=m;this.tp&&this.tp.cancel()};a.Pr=function(a){return(new j(a,[])).Pr()};return a});
define("eG","require,kL,jquery.mod,nV,fQ,u,cs,ly,lR,lG,kM,dm".split(","),function(a){function b(a){q=a}var e=a("kL"),d=a("jquery.mod"),g=a("nV"),c=a("fQ"),i=a("u"),f=a("cs"),j=a("ly"),n=a("lR"),k=a("lG"),o=a("kM"),p=a("dm"),q=r;window.addEventListener("beforeinstallprompt",b);var t=e.extend(c,function(a){c.call(this);this.Wb=a;this.o="initial";this.A6=this.FU=this.Wi=r;this.vp=B;this.eA=r;this.CV=l;this.Uz=q;this.cS=t.Vsa();this.K3=k.Gi("vr");if(!this.Uz&&!this.cS){window.removeEventListener("beforeinstallprompt",
b);window.addEventListener("beforeinstallprompt",this.AGa.bind(this))}this.cS||window.addEventListener("appinstalled",this.Wya.bind(this))});t.prototype.Qaa=function(a){this.FU=a;this.Tl=k.ov(this.FU.get(TDV.PlayerSettings.BASE_DIR_URL)||k.getDirectory(this.FU.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));if(this.Tl[this.Tl.length-1]!="/")this.Tl=this.Tl+"/";this.Wi=new s(this.Tl);this.CV=this.fma=a.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.$Ea=k.parse(k.getDirectory(window.location.href)).pathname;
this.MCa=k.gy(k.ov("files.json",this.Tl),this.fma);a=TDV.$a.Ura();this.A6=k.gy(this.FU.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+a.MAJOR+"."+a.MINOR);this.Wi=new s(this.Tl);this.Wi.bind(g.T,this.BLa,this,m);this.Wi.load()};t.prototype.eH=function(){return this.Wi.state==s.TH};t.prototype.zqa=function(){return this.o=="can_install"&&!this.K3};t.prototype.Bqa=function(){return this.eH()&&this.CV!=this.Wi.version&&!this.K3};t.prototype.yqa=function(){return this.Wi.state!=s.Dba&&!this.K3};t.prototype.Asa=
function(){if(this.o=="can_install")if(this.Uz){this.Uz.userChoice.then(function(a){a.outcome!="accepted"&&this.hc("unavailable")}.bind(this));this.Uz.prompt().then(function(){this.Uz=r}.bind(this))}else this.g1()};t.prototype.cancel=function(){if(this.o=="downloading"){if(this.eA){this.eA.cancelDownload();this.eA=r}this.Wi.Pr();this.hc("unavailable")}};t.prototype.Pr=function(){f.Pr(this.Tl);this.Wi.Pr()};t.prototype.BLa=function(){this.Wb.get("downloadEnabled")!==m?this.hc("unavailable"):n.Ewa!==
m?this.hc("unavailable"):i.browser()!=i.rk||i.ad()==i.Ky||i.ad()==i.TC?this.hc("unavailable"):this.A6?"serviceWorker"in navigator?this.eH()&&!this.Bqa()?this.hc("unavailable"):navigator.onLine?this.uIa():this.hc("unavailable"):this.hc("unavailable"):this.hc("unavailable")};t.prototype.hc=function(a){if(this.o!=a){this.o=a;a=["can_install","unavailable"].indexOf(this.o)>=0;if(this.vp!=a)(this.vp=a)&&this.trigger(g.Ic)}};t.prototype.uIa=function(){this.hc("registering_sw");navigator.serviceWorker.register(this.A6,
{scope:this.$Ea}).then(function(){this.Sma(m)}.bind(this))["catch"](function(){this.Sma(B)}.bind(this))};t.prototype.Sma=function(a){if(a)if(i.Gf())this.hc("can_install");else if(this.cS&&this.Wi.state==s.uY){this.hc("can_install");this.g1()}else if(this.Uz)this.hc("can_install");else{this.hc("sw_registered");setTimeout(function(){this.o=="sw_registered"&&this.hc("can_install")}.bind(this),3E3)}else this.hc("unavailable")};t.prototype.AGa=function(a){this.Uz=a;this.o=="sw_registered"&&this.hc("can_install")};
t.prototype.Wya=function(){this.o=="sw_registered"&&this.hc("can_install");this.g1()};t.prototype.g1=function(){this.hc("downloading");this.trigger(g.iq);this.Koa(0);this.YFa()};t.prototype.YFa=function(){var a=k.gy(this.MCa,"nc="+(new Date).getTime());d.getJSON(a,function(a){if(this.o=="downloading"){var b=[],c;for(c in a){var d=a[c].tags;if(d){Array.isArray(d)||(d=[d]);for(var e=0;e<d.length;e++)b.indexOf(d[e])<0&&b.push(d[e])}}var g=[];b.indexOf("mobilevr2gen")>=0&&i.A$()?g.push("mobilevr2gen"):
b.indexOf("mobilevr")>=0&&i.Gf()?g.push("mobilevr"):b.indexOf("mobile")>=0&&i.mb()?g.push("mobile"):b.indexOf("desktop")>=0&&!i.mb()&&g.push("desktop");b=[];for(c in a){if(d=a[c].tags){var j=B;if(Array.isArray(d))for(var e=0,n=d.length;e<n&&!j;e++)j=g.indexOf(d[e])>=0;else j=g.indexOf(d)>=0;if(!j)continue}d=k.ov(c,this.Tl);b.push(new f.File(d,a[c].size))}var q=(new k(window.location.pathname,window.location.href)).toString();b.filter(function(a){return a.url==q}).length==0&&b.push(new f.File(q,1024));
this.eA=new f.Files(this.Tl,b,this.Koa.bind(this),this.ega.bind(this));this.eA.requestStorage().then(function(a){this.Wi.storage=a?s.bI:s.CZ;this.Wi.state=s.uY;this.Wi.version=this.CV;this.Wi.save();this.eA.download()}.bind(this))["catch"](function(){this.ega(B,l)}.bind(this))}}.bind(this))};t.prototype.Koa=function(a){this.trigger(new o(g.dc,a))};t.prototype.ega=function(a,b){this.eA=r;this.hc("unavailable");if(a){this.Wi.state=s.TH;this.Wi.save()}a?this.trigger(g.hb,{success:m}):b?this.trigger(g.hb,
{success:B,error:t.Fba}):i.Gf()?this.trigger(g.hb,{success:B,error:t.Eba}):this.cS?this.trigger(g.hb,{success:B,error:t.Fba}):this.trigger(g.hb,{success:B,error:t.Gba})};t.Vsa=function(){return k.Jh("installed",B)};t.uRa=function(a,b){var c=new t.gZ(a);c.bind(g.T,function(){var d=B;c.state==t.gZ.TH&&(d=t.Vsa()?m:!navigator.onLine);d?j.toURL(a,c.storage==t.gZ.bI).then(function(a){b(a)}):b(a)},this,m);c.load()};t.Gba="launchFromHomeScreen";t.Eba="addToBookmark";t.Fba="errorDownloading";var s=e.extend(c,
function(a){c.call(this);this.Tl=a;this.B3="installation_state_"+a;this.OHa=k.parse(this.Tl).pathname+"installation_state.json";this.state=this.storage=this.version=l;this.$ma()});s.prototype.load=function(){if(this.ZFa()&&this.state==s.TH)this.moa(this.storage==s.bI).then(function(){this.trigger(g.T)}.bind(this))["catch"](function(){this.moa(this.storage!=s.bI).then(function(){this.storage=this.storage==s.CZ?s.bI:s.CZ;this.s6();this.trigger(g.T)}.bind(this))["catch"](function(){this.state=s.uY;this.s6();
this.trigger(g.T)}.bind(this))}.bind(this));else this.trigger(g.T)};s.prototype.save=function(){this.s6();this.state==s.TH&&this.aJa()};s.prototype.ZFa=function(){var a=p.getItem(this.B3);if(!a)return B;this.eDa(a);return m};s.prototype.s6=function(){p.setItem(this.B3,this.soa())};s.prototype.moa=function(a){return new Promise(function(b,c){j.toURL(this.Tl+"installation_state.json",a).then(function(a){d.ajax({type:"GET",url:a,success:function(){b()},error:function(){c()}})}.bind(this))}.bind(this))};
s.prototype.aJa=function(){j.owa(this.OHa,this.soa(),"text/json")};s.prototype.soa=function(){var a={};a.version=this.version;a.storage=this.storage;a.state=this.state;return JSON.stringify(a)};s.prototype.eDa=function(a){this.dDa(JSON.parse(a))};s.prototype.dDa=function(a){this.version=a.version;this.storage=a.storage;this.state=a.state};s.prototype.Pr=function(){p.removeItem(this.B3);this.$ma()};s.prototype.$ma=function(){this.version="";this.storage=s.Hxa;this.state=s.Dba};s.Hxa="unkonwn";s.CZ=
"temporary";s.bI="persistent";s.Dba="not started";s.uY="started";s.TH="completed";t.gZ=s;return t});
define("ka","require,kL,nV,nT,u,eG,fy,fG,mn,d,ns,e,ix".split(","),function(a){function b(a){var b=new f;b.Y({label:a,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:n.Sd});return b}var e=a("kL"),d=a("nV"),g=a("nT"),c=a("u"),i=a("eG"),f=a("fy"),j=a("fG"),n=a("mn"),k=a("d"),o=a("ns"),p=a("e"),q=a("ix"),a=e.extend(o,function(a,b){o.call(this);this.Wb=a;this.Pf=b;this.Pf.bind(d.Ic,
this.tFa,this,m);this.Pf.bind(d.iq,this.qFa,this,m);this.Pf.bind(d.dc,this.sFa,this,m);this.Pf.bind(d.hb,this.rFa,this,m);this.ca="hidden";this.dN=l;this.t5=B;this.Bf=l;this.oi=this.ft=this.Az=this.Ez=this.Bz=this.NU=this.Ia=r;this.Sya();this.Y({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:n.Sd,layout:k.sg});this.Wf()});a.prototype.tFa=function(){if(this.Pf.zqa()||this.Pf.eH()&&this.Pf.yqa()){this.ca="ready";this.t5&&this.Rna()}else this.ca=
"hidden";this.Wf()};a.prototype.qFa=function(){this.ca="installing";this.Wf()};a.prototype.sFa=function(a){this.Bf=a.Fg;this.Wf()};a.prototype.rFa=function(a){this.ca=a.data.success?"installed":"failed";this.xga=a.data.error;this.Wf()};a.prototype.Sf=function(){this.hLa()};a.prototype.$S=function(){if(!this.t5){this.t5=m;this.ca=="ready"&&this.Rna()}};a.prototype.Rna=function(){this.dN=setTimeout(function(){this.dN=r;this.CHa()}.bind(this),5E3);this.Wf()};a.prototype.hLa=function(){this.rma();this.dN&&
clearTimeout(this.dN);this.dN=r};a.prototype.CHa=function(){this.rma();if(this.ca=="ready"){this.ca="hidden";this.Wf()}};a.prototype.Sya=function(){this.bind(d.Vc,this.Sf,this);this.Wb.bind(d.Vc,this.$S,this);this.Wb.bind(d.Hb,this.$S,this)};a.prototype.rma=function(){this.unbind(d.Vc,this.Sf,this);this.Wb.unbind(d.Vc,this.$S,this);this.Wb.unbind(d.Hb,this.$S,this)};a.prototype.kb=function(){o.prototype.kb.call(this);if(this.Ia==r){this.Ia=new q;this.Ia.Y({fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",
fontSize:14,text:g("download-tour")});this.La(this.Ia)}if(this.Bz==r){this.Bz=b(g("download"));this.La(this.Bz);this.Bz.bind(d.oa,this.Tza,this,m)}if(this.Ez==r){this.Ez=b(g("refresh-downloaded"));this.La(this.Ez);this.Ez.bind(d.oa,this.Zza,this,m)}if(this.Az==r){this.Az=b(g("delete-downloaded"));this.La(this.Az);this.Az.bind(d.oa,this.Sza,this,m)}if(this.NU==r){this.NU=new p;this.NU.Y({width:"100%"});this.La(this.NU)}if(this.ft==r){this.ft=new j;this.ft.Y({backgroundColor:"#ffffff",borderRadius:2,
iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31});this.La(this.ft);this.ft.bind(d.oa,this.Rza,this,m)}if(this.oi==r){this.oi=b(g("cancel"));this.La(this.oi);this.oi.bind(d.oa,this.SP,this,m)}c.mb()&&this.ll();this.Wf()};a.prototype.Co=function(){o.prototype.Co.call(this);c.mb()&&this.getParent().bind(d.uc,this.ll,this,m)};a.prototype.Am=function(){c.mb()&&this.getParent().unbind(d.uc,this.ll,this,m);o.prototype.Am.call(this)};a.prototype.ll=function(){var a=this.getParent();
if(a){var b=Math.min(a.Ra(),a.yb())/100,c=function(a){return Math.round(a*b)};this.Y({gap:c(3.9),height:c(11.9),paddingLeft:c(6),paddingRight:c(6)});this.Ia&&this.Ia.Y({fontSize:c(3)});[this.Bz,this.oi,this.Ez,this.Az].forEach(function(a){a&&a.Y({borderRadius:c(0.4),fontSize:c(3),paddingLeft:c(3),paddingRight:c(3),height:c(6.7)})});this.ft&&this.ft.Y({borderRadius:c(0.4),iconLineWidth:c(0.22),iconWidth:c(3.7),iconHeight:c(3.7),height:c(6.7),width:c(6.7)})}};a.prototype.Wf=function(){var a;switch(this.ca){case "ready":a=
this.Pf.eH()?g("downloaded"):g("download-tour");break;case "installing":a=g("downloading");this.Bf!==l&&(a=a+("..."+this.Bf.toFixed(1)+"%"));break;case "installed":a=g("downloaded");break;case "failed":a=this.xga==i.Gba?c.mb()?g("storage-not-provided-launch-from-homescreen"):g("storage-not-provided-launch-from-desktop"):this.xga==i.Eba?g("storage-not-provided-bookmark"):g("download-failed")}this.Ia&&this.Ia.set("text",a);this.Bz&&this.Bz.set("visible",this.ca=="ready"&&!this.Pf.eH()&&this.Pf.zqa());
this.Az&&this.Az.set("visible",this.ca=="ready"&&this.Pf.eH()&&this.Pf.yqa());this.Ez&&this.Ez.set("visible",this.ca=="ready"&&this.Pf.Bqa());this.oi&&this.oi.set("visible",this.ca=="installing");this.ft&&this.ft.set("visible",this.ca!="installing");this.set("visible",this.ca!="hidden")};a.prototype.Tza=function(){this.Pf.Asa()};a.prototype.Zza=function(){this.Pf.Asa()};a.prototype.Sza=function(){this.Pf.Pr();this.ca="hidden";this.Wf()};a.prototype.SP=function(){this.Pf.cancel();this.ca="hidden";
this.Wf()};a.prototype.Rza=function(){this.ca=="installing"&&this.Pf.cancel();this.ca="hidden";this.Wf()};return a});
define("lb","require,kL,dZ,nV,nT,u,mn,d,ns,mJ,nb,fy,ix,iq".split(","),function(a){function b(a,b){this.text=a;this.Pu=b}var e=a("kL"),d=a("dZ"),g=a("nV"),c=a("nT"),i=a("u"),f=a("mn"),j=a("d"),n=a("ns"),k=a("mJ"),o=a("nb"),p=a("fy"),q=a("ix"),t=a("iq"),a=e.extend(n,function(){n.call(this);this.Zo=[];this.oi=this.Cz=this.Ia=this.oA=this.RF=this.Pp=r;var a=new k;a.set("duration",500);a.set("easing","cubic_in");var b=new o;b.set("duration",500);b.set("easing","cubic_out");this.Y({backgroundColor:"#000000",
backgroundOpacity:0.6,horizontalAlign:f.ke,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:B})});a.prototype.kb=function(){n.prototype.kb.call(this);if(this.Pp==r){this.Pp=new n;this.Pp.Y({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:f.ke,verticalAlign:f.Sd,layout:j.hh,shadow:m,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:0.2});this.La(this.Pp)}if(this.Ia==r){this.Ia=new q;this.Ia.Y({fontColor:"#808080",fontWeight:"300",
fontFamily:"Tahoma, Geneva, sans-serif"});this.Pp.La(this.Ia)}if(this.oA==r){this.oA=new t;this.oA.Y({width:"80%"});this.Pp.La(this.oA)}if(this.RF==r){this.RF=new n;this.RF.Y({backgroundColor:"#b3b3b3"});this.Pp.La(this.RF)}if(this.pi==r){this.pi=new n;this.pi.Y({horizontalAlign:f.ke,verticalAlign:f.Sd,layout:j.sg});this.Pp.La(this.pi)}if(this.Cz==r){this.Cz=new p;this.Cz.Y({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:f.ke,verticalAlign:f.Sd,
label:c("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.Cz.bind(g.oa,this.Jea,this,m);this.pi.La(this.Cz)}if(this.oi==r){this.oi=new p;this.oi.Y({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:f.ke,verticalAlign:f.Sd,label:c("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.oi.bind(g.oa,this.SP,this,m);this.pi.La(this.oi)}};a.prototype.Co=function(){n.prototype.Co.call(this);
this.getParent().bind(g.uc,this.ll,this,m)};a.prototype.Am=function(){this.getParent().unbind(g.uc,this.ll,this,m);n.prototype.Am.call(this)};a.prototype.ll=function(){var a=this.getParent();if(a){var b=a.Ra(),a=a.yb();if(i.mb())var c=Math.min(b,a),b=function(a){return Math.round(a*c/100)};else b=function(a){return Math.round(a*4)};this.Pp&&this.Pp.Y({borderRadius:b(1),width:b(80),height:b(40),gap:b(4),shadowBlurRadius:b(1),shadowSpread:b(1)});this.RF&&this.RF.Y({width:b(60),minHeight:2,height:b(0.25)});
this.pi&&this.pi.Y({gap:b(5)});this.oi&&this.oi.Y({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.25)});this.Cz&&this.Cz.Y({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.5)});this.Ia&&this.Ia.Y({fontSize:b(5)});this.sV()}};a.prototype.show=function(a,c){this.ll();var d=this.tha(c);d>=0&&this.pma(d);this.lIa(new b(a,c));this.ID()};a.prototype.hide=function(a){a=this.tha(a);a>=0&&this.pma(a)};a.prototype.ID=function(){var a=this.getParent();a&&a.Om(this,a.zb().length-1)};a.prototype.Jea=
function(){this.IP(m)};a.prototype.SP=function(){this.IP(B)};a.prototype.tha=function(a){for(var b=0;b<this.Zo.length;b++)if(this.Zo[b].Pu==a)return b;return-1};a.prototype.sV=function(){if(this.Pp){var a=this.Hha();if(a){if(a.text.length<20){this.oA.set("visible",B);this.Ia.set("text",a.text);this.Ia.set("visible",m)}else{this.Ia.set("visible",B);this.oA.set("html",this.LDa(a.text));this.oA.set("visible",m)}this.oi.set("visible",a.Pu?m:B);this.set("visible",m)}else this.set("visible",B)}};a.prototype.LDa=
function(a){return"<div style=\"color:#808080; font-weight:300; font-family:'Tahoma', 'Geneva', sans-serif; font-size: "+this.Ia.get("fontSize")+'px; text-align:center;" >'+a+"</div>"};a.prototype.IP=function(a){var b=this.Hha();if(b){b=this.ZDa(b.text);this.IIa(b);d(b).each(function(b){b.Pu&&b.Pu.call(this,a)},this)}};a.prototype.lIa=function(a){this.Zo.push(a);this.sV()};a.prototype.ZDa=function(a){return d(this.Zo).filter(function(b){return b.text==a})};a.prototype.IIa=function(a){this.Zo=d(this.Zo).filter(function(b){return!d(a).contains(b)});
this.sV()};a.prototype.pma=function(a){this.Zo.splice(a,1);a==this.Zo.length&&this.sV()};a.prototype.Hha=function(){return this.Zo.length>0?this.Zo[this.Zo.length-1]:r};return a});
define("iH","require,kL,nV,cu,fQ,u,mw".split(","),function(a){function b(a){return a.map(function(a){return String.fromCharCode(a)}).join("")}function e(a){for(;a&&a!=document;){if(a.getAttribute(t)=="Button")return m;a=a.parentNode}return B}var d=a("kL"),g=a("nV"),c=a("cu"),i=a("fQ"),f=a("u"),j=a("mw"),n=[],a=b([99,111,110,116,101,120,116,109,101,110,117]),k=b([109,111,117,115,101,100,111,119,110]),o=b([109,111,117,115,101,117,112]),p=b([109,111,117,115,101,108,101,97,118,101]),q=b([109,111,117,
115,101,101,110,116,101,114]),t=b([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(a){if(!f.mb()||!e(a.target)){var b=f.Xd()==f.Wba?200:0;setTimeout(function(){(s===l||u===l||w===l||v===l||Math.abs(w-s)+Math.abs(v-u)<10)&&n.forEach(function(b){b(a)});s=u=w=v=l},b)}a.preventDefault();a.stopImmediatePropagation()},m);var s,u,w,v;document.addEventListener("mousedown",function(a){w=s=a.screenX;v=u=a.screenY},m);document.addEventListener("mousemove",function(a){w=a.screenX;v=a.screenY},
m);var x=1,d=d.extend(i,function(a,b){i.call(this);this.Pa=a;this.TDa=b;this.FS=this.FS.bind(this);this.Cd=this.Cd.bind(this);this.A3=B;this.x3=this.x3.bind(this);this.y3=this.y3.bind(this);this.w3=this.w3.bind(this);this.z3=this.z3.bind(this);this.ba=document.createElement("div");this.ba.style.setProperty("z-index",x,K[z]);for(var c in K[y])this.ba.style.setProperty(c,K[y][c],K[z]);n.push(this.FS)});d.prototype.clear=function(){this.UFa()&&this.O2();this.ba=r;n.splice(n.indexOf(this.FS),1)};d.prototype.FS=
function(a){var b=this.TDa();if(b.length!=0){this.ba.replaceChildren();this.A3=B;var c=0;b.forEach(function(a){var b=document.createElement("div");if(a){b.textContent=a;for(var d in K[D])b.style.setProperty(d,K[D][d],K[z]);var e=c;c++;b.addEventListener(q,function(a){this.x3(a,e)}.bind(this));b.addEventListener(p,function(a){this.y3(a,e)}.bind(this));b.addEventListener(k,function(a){this.w3(a,e)}.bind(this));b.addEventListener(o,function(a){this.z3(a,e)}.bind(this))}else for(d in K[F])b.style.setProperty(d,
K[F][d],K[z]);for(d in K[E])b.style.setProperty(d,K[E][d],K[z]);this.ba.appendChild(b)}.bind(this));(j.Tp()||document.body).appendChild(this.ba);this.ba.style.setProperty("display","block",K[z]);b=a.pageX;a=a.pageY;b+this.ba.clientWidth>document.body.clientWidth-5&&(b=document.body.clientWidth-this.ba.clientWidth-5);a+this.ba.clientHeight>document.body.clientHeight-5&&(a=document.body.clientHeight-this.ba.clientHeight-5);this.ba.style.setProperty("left",b+"px",K[z]);this.ba.style.setProperty("top",
a+"px",K[z]);this.Pa.bind(g.Hb,this.Cd,this);document.addEventListener("mousedown",this.Cd);this.JNa=setInterval(this.INa.bind(this),200)}};d.prototype.UFa=function(){return!!this.ba&&!!this.ba.parentNode};d.prototype.O2=function(){clearInterval(this.JNa);this.ba.parentNode.removeChild(this.ba);document.removeEventListener("mousedown",this.Cd);this.Pa.unbind(g.Hb,this.Cd,this);this.ba.style.setProperty("display","none",K[z])};d.prototype.INa=function(){this.ba.contains(document.elementFromPoint(this.ba.offsetLeft+
this.ba.clientWidth*0.5,this.ba.offsetTop+this.ba.clientHeight*0.5))||this.ba.style.setProperty("z-index",x=x*10,K[z])};d.prototype.Cd=function(){this.O2()};d.prototype.w3=function(a){this.A3=m;a.preventDefault();a.stopImmediatePropagation()};d.prototype.z3=function(a,b){if(this.A3){this.O2();a.preventDefault();a.stopImmediatePropagation();this.trigger(new c(g.$m,{index:b}))}};d.prototype.x3=function(a){for(var b in K[L])a.currentTarget.style.setProperty(b,K[L][b],K[z])};d.prototype.y3=function(a){for(var b in K[J])a.currentTarget.style.setProperty(b,
K[J][b],K[z])};var y="0",E="1",D="2",F="3",L="4",J="5",z="6",K=function(a){return JSON.parse(a.map(function(a){return String.fromCharCode(a)}).join(""))}([123,34,48,34,58,123,34,98,111,114,100,101,114,34,58,34,49,112,120,32,115,111,108,105,100,32,35,98,98,98,34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,111,115,105,116,105,111,110,34,58,34,97,98,115,111,108,117,116,101,34,44,34,100,105,115,112,108,97,121,34,58,34,110,111,110,101,34,44,34,98,97,99,107,103,
114,111,117,110,100,45,99,111,108,111,114,34,58,34,35,101,53,101,53,101,53,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,112,97,100,100,105,110,103,34,58,48,44,34,109,97,114,103,105,110,34,58,48,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,44,34,116,101,120,116,45,97,108,105,103,110,34,58,34,108,101,102,116,34,44,34,98,111,120,45,115,104,97,100,111,119,34,58,34,49,112,120,32,49,112,120,32,51,112,120,32,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,50,
41,34,125,44,34,49,34,58,123,34,102,111,110,116,45,102,97,109,105,108,121,34,58,34,65,114,105,97,108,34,44,34,102,111,110,116,45,115,105,122,101,34,58,34,49,51,112,120,34,44,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,100,105,115,112,108,97,121,34,58,34,98,108,111,99,107,34,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,125,44,34,50,34,58,123,34,99,117,114,115,111,114,34,58,34,112,111,105,110,116,101,114,
34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,97,100,100,105,110,103,34,58,34,55,112,120,32,50,48,112,120,34,44,34,119,104,105,116,101,45,115,112,97,99,101,34,58,34,110,111,119,114,97,112,34,125,44,34,51,34,58,123,34,109,97,114,103,105,110,34,58,34,55,112,120,32,53,112,120,34,44,34,98,111,114,100,101,114,45,116,111,112,34,58,34,49,112,120,32,115,111,108,105,100,32,35,97,97,97,34,44,34,98,111,114,100,101,114,45,98,111,116,116,111,109,34,58,34,49,112,120,
32,115,111,108,105,100,32,35,102,102,102,34,125,44,34,52,34,58,123,34,99,111,108,111,114,34,58,34,35,102,102,102,102,102,102,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,55,41,34,125,44,34,53,34,58,123,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,34,125,44,34,54,34,58,34,105,109,112,111,114,116,97,110,116,34,125]);return d});
define("lK",["require","lG","bb"],function(a){function b(a){this.Pa=a;this.yr={};this.yr[d.nxa]="move";this.yr[d.oxa]="ew-resize";this.yr[d.qxa]="ns-resize";this.yr[d.pxa]="nesw-resize";this.yr[d.rxa]="nwse-resize";this.yr[d.vf]="pointer";this.yr[d.Fv]="inherit";this.yr[d.le]="default";this.Ng={};this.Ng[d.cz]="grab.cur";this.Ng[d.uk]="grabbing.cur";this.Ng[d.nca]="N.cur";this.Ng[d.oca]="NE.cur";this.Ng[d.eca]="E.cur";this.Ng[d.rca]="SE.cur";this.Ng[d.qca]="S.cur";this.Ng[d.sca]="SW.cur";this.Ng[d.tca]=
"W.cur";this.Ng[d.pca]="NW.cur";this.Ng[d.gca]="FN.cur";this.Ng[d.hca]="FNE.cur";this.Ng[d.fca]="FE.cur";this.Ng[d.kca]="FSE.cur";this.Ng[d.jca]="FS.cur";this.Ng[d.lca]="FSW.cur";this.Ng[d.mca]="FW.cur";this.Ng[d.ica]="FNW.cur";this.Oea={}}var e=a("lG"),d=a("bb");b.prototype.pra=function(a){return this.OFa(a)?this.Eha(a):this.EFa(a)?this.zDa(a):this.Eha(d.le)};b.prototype.fAa=function(a){if(!(a in this.Oea)){var b=new Image;b.src=this.aha(a);this.Oea[a]=b}};b.prototype.OFa=function(a){return a in
this.yr};b.prototype.Eha=function(a){return this.yr[a]};b.prototype.EFa=function(a){return this.Ng[a]};b.prototype.zDa=function(a){this.fAa(a);return"url("+this.aha(a)+"), default"};b.prototype.aha=function(a){return e.ov(this.Pa.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.Ng[a]};return b});
define("co",["require","dZ"],function(a){function b(){this.pu={};this.rp=[];this.NI=0}var e=a("dZ");b.prototype.push=function(a,b){if(this.pu[b]==l)this.pu[b]=[a],this.rp.push(b),this.rp.sort(function(a,b){return a-b}),this.NI++;else{var c=this.pu[b];e(c).contains(a)||(c.push(a),this.NI++)}};b.prototype.rra=S("NI");b.prototype.isEmpty=function(){return 0==this.rp.length};b.prototype.eua=function(){if(!this.isEmpty()){var a=this.rp[0],b=this.pu[a].pop();0==this.pu[a].length&&(delete this.pu[a],this.rp=
this.rp.slice(1));this.NI--;return b}};b.prototype.W$=function(){if(!this.isEmpty()){var a=this.rp[this.rp.length-1],b=this.pu[a].pop();0==this.pu[a].length&&(delete this.pu[a],this.rp=this.rp.slice(0,this.rp.length-1));this.NI--;return b}};return b});
define("io","require,dZ,kL,gg,co,bf,kO".split(","),function(a){function b(){this.Ax=B;this.Ela=l;this.K=m;this.jT=this.jT.bind(this);this.hQ=new d;this.ST=new d;this.KU=new d;this.dS=new d;this.c1=new d;g.vb(this.dj,this)}a("dZ");a("kL");var e=a("gg"),d=a("co"),g=a("bf"),c=a("kO");b.prototype.clear=function(){this.K=B};b.prototype.TN=function(a){this.hQ.push(a,this.xE(a));this.vu()};b.prototype.Wd=function(a){this.ST.push(a,this.xE(a));this.vu()};b.prototype.Lb=function(a){this.KU.push(a,this.xE(a));
this.vu()};b.prototype.ud=function(a){this.dS.push(a,this.xE(a));this.vu()};b.prototype.qk=function(a){this.c1.push(a,this.xE(a));this.vu()};b.prototype.V=function(){this.xMa();this.jNa();this.zMa()};b.prototype.xMa=function(){do{for(;!this.hQ.isEmpty();)this.hQ.W$().kb();this.ST.isEmpty()||this.ST.W$().Ja()}while(!this.ST.isEmpty()||!this.hQ.isEmpty())};b.prototype.jNa=function(){for(;!this.KU.isEmpty()||!this.dS.isEmpty();){this.xV();this.j8()}};b.prototype.xV=function(){for(;!this.KU.isEmpty();){var a=
this.KU.W$();if(a.iUa()){var b=a.getParent();if(b){b.Lb();b.ud()}else a.Lua(0,0,a.Zr(),a.Yr())}}};b.prototype.j8=function(){for(;!this.dS.isEmpty();)this.dS.eua().El()};b.prototype.zMa=function(){for(;!this.c1.isEmpty();)this.c1.eua().Jg();e.tRa()};b.prototype.vu=function(){if(!this.Ax){this.Ax=m;this.Ela=(new Date).getTime()+500;c.uy(this.jT)}};b.prototype.jT=function(){this.Ax=B;this.K&&this.V()};b.prototype.xE=function(a){return(a=a.getParent())?this.xE(a)+1:0};b.prototype.dj=function(){this.Ax&&
(new Date).getTime()>=this.Ela&&this.jT();g.vb(this.dj,this)};return b});
define("gk","require,jquery.mod,dZ,kL,nV,ns,iH,lK,bj,io,mw,u".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kL"),g=a("nV"),c=a("ns"),i=a("iH"),f=a("lK"),j=a("bj"),n=a("io"),k=a("mw"),o=a("u"),a=d.extend(c,function(a,d){this.BD=new n;c.call(this);this.tr(this);this.ie("Application");this.Ze=b(a);this.N8=d;this.Ze.css({overflow:"hidden","user-select":"none","-ms-user-select":"none","-moz-user-select":"none","-webkit-user-select":"none","-ms-touch-action":"none","touch-action":"none",visibility:"visible",
"-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)"});this.Cu=b(document.createElement("div"));this.Cu.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.Ze.append(this.Cu);this.Cu.append(this.Ac());this.goa=this.Cu.get(0);this.md=this.dd=l;this.xFa=10;this.tAa=500;this.LL=r;this.P0=new f(this);this.Bb=new j(this);this.ba.append(this.Bb.Ac());this.sQ=new i(this,this.Yga.bind(this));this.sQ.bind(g.$m,this.Wg(this.Ija),this,m);this.bja=m;this.set("contentOpaque",
m);this.Qz=r;this.HI=[];this.jE(["globalmousemove"]);this.Aza();this.IV=this.JV=0;this.vx=1;try{this.JV=window.top.innerWidth;this.IV=window.top.innerHeight;this.H2=m}catch(e){this.H2=B}this.Bpa();this.ti=new k(a);this.ti.bind(g.ra,function(){this.S1(this.ti.enabled())},this)});a.prototype.start=function(){if(!this.Sna){this.Sna=m;this.trigger(g.Ns)}};a.prototype.Bpa=function(){if(this.H2&&!k.enabled()){this.JV=window.top.innerWidth;this.IV=window.top.innerHeight}};a.prototype.clear=function(){this.zC(r);
this.doa();this.CCa();this.BD.clear();if(this.Ze){this.Ac().remove();this.Cu.remove();this.Ze=r}this.P0=r;this.ti.lba();this.ti=r;if(this.sQ){this.sQ.clear();this.sQ=r}};a.prototype.QSa=R("bja");a.prototype.S1=function(a){a?this.Zma():this.EAa()};a.prototype.Wt=function(){this.eK=this.Ok=this.Cu.width();this.dK=this.Nk=this.Cu.height()};a.prototype.zC=function(a){if(this.Qz!=a){this.Qz!=r&&this.Qz.WLa();this.Qz=a;for(var b=[];a!=r;){b=[a].concat(b);a=a.getParent()}for(var a=this.HI.length-1,c=m;a>=
0&&c;a--)e(b).contains(this.HI[a])?c=B:this.HI.pop().ZLa();for(a=0;a<b.length;a++)e(this.HI).contains(b[a])||b[a].$La();this.HI=b;this.Qz!=r&&this.Qz.VLa();this.Bb.zC(this.Qz)}};a.prototype.MEa=function(a){var b=this.AE(a);this.qia(a,b.x,b.y)?a.preventDefault():this.zC(r)};a.prototype.Kha=function(a){var b=this.kA(a);this.qia(a,b.x,b.y)?a.preventDefault():this.zC(r)};a.prototype.Yga=function(){return[]};a.prototype.Ija=G();a.prototype.qia=function(a,b,c){return this.FFa(a.target)&&b>=0&&c>=0&&b<this.X&&
c<this.ia};a.prototype.FFa=function(a){if(!this.Ze)return B;for(var b=this.Ze.get(0);a;){if(a===b)return m;a=a.parentElement}return B};a.prototype.Aza=function(){this.jE(["globalresize"]);this.W_=setInterval(e.bind(function(){this.afa()},this),this.tAa)};a.prototype.CCa=function(){this.XI(["globalresize"]);if(this.W_){clearInterval(this.W_);this.W_=r}};a.prototype.afa=function(){this.ti.enabled()?this.Zma():this.Bpa();var a=this.goa.clientWidth,b=this.goa.clientHeight;if(this.dd!=a||this.md!=b){this.dd=
a;this.md=b;this.XKa()}};a.prototype.Zma=function(){var a;if(this.H2&&(o.Xd()==o.MH&&o.browser()==o.rk||o.Xd()==o.mi)){var b=k.Tp();a=b.clientWidth;var b=b.clientHeight,c=(a>b?a:b)/(this.JV>this.IV?this.JV:this.IV),d=Math.round(a/c),e=Math.round(b/c);this.vx=c;a={left:Math.round((a-d)*0.5)+"px",top:Math.round((b-e)*0.5)+"px",right:"auto",bottom:"auto",width:d+"px",height:e+"px",transform:"scale("+[c,c].join(", ")+")",position:"absolute"}}else{a={position:"absolute",left:0,top:0,right:"auto",bottom:"auto",
width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"};this.vx=1}this.Cu.css(a)};a.prototype.EAa=function(){this.Cu.css({position:"abolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",transform:""});this.vx=1};a.prototype.XKa=function(){this.doa();var a=this;this.LL=setTimeout(function(){a.LL=r;a.Lb()},this.xFa)};a.prototype.doa=function(){if(this.LL){this.LL=r;clearTimeout(this.LL)}};a.prototype.LEa=function(){this.afa()};a.prototype.d2=function(){return e(c.prototype.d2.call(this)).defaults({globaltouchmove:[{target:b(document),
name:"touchmove",handler:this.Wg(this.MEa)}],globalmousemove:[{target:b(document),name:"mousemove",handler:this.Wg(this.Kha)},{target:b(window),name:"mouseout",handler:this.Wg(this.Kha)}],globalresize:[{target:b(window),name:"resize",handler:this.Wg(this.LEa)}]})};return a});
define("ge","require,jquery.mod,oq,bZ,mw,nV,fQ,nT,u".split(","),function(a){function b(){q=TDV.$a.Xr();var a=p||q;if(o!=a){o=a;k.trigger(i.ra)}a=!!p&&q!=p&&n.mb();if(t!=a){if(!s){s=e("<div/>");s.css({position:"fixed","z-index":d.Vwa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});s.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="'+g.ZH+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+j("rotate-device")+"</div>","</div>\n</div>"].join("\n"));u=s.find("img")}t&&s.detach();(t=a)&&(c.enabled()?e(c.Tp()):e("body")).append(s)}t&&u.css("transform",o==k.Bxa?"translate(-11%, 0) rotate(-90deg)":"none")}var e=a("jquery.mod"),d=a("oq"),g=a("bZ"),c=a("mw"),i=a("nV"),f=a("fQ"),j=a("nT"),n=a("u"),k=new f;
k.CUa=TDV.$a.nZ;k.Bxa=TDV.$a.oZ;k.EC=function(a){if(p!=a){p=a;b()}};k.Dra=function(){return p};k.get=function(){return o};var o=l,p=l,q=l,t=B,s=r,u=r;window.addEventListener("resize",function(){b();setTimeout(b,500)},m);try{window.screen.orientation.addEventListener("change",b)}catch(w){window.addEventListener("orientationchange",b,B)}b();return k});
define("ij","require,kL,dZ,nV,cu,cA,mR,mt,nT,jh,F,ka,lb,dK,lv,mS,le,u,hl,eG,cr,iT,lG,bu,dW,gk,ns,cU,mw,bC,ge,lq,dm".split(","),function(a){var b=a("kL"),e=a("dZ"),d=a("nV"),g=a("cu"),c=a("cA"),i=a("mR"),f=a("mt"),j=a("nT"),n=a("jh"),k=a("F"),o=a("ka"),p=a("lb"),q=a("dK");a("lv");var t=a("mS"),s=a("le"),u=a("u"),w=a("hl"),v=a("eG"),x=a("cr"),y=a("iT"),E=a("lG"),D=a("bu"),F=a("dW"),L=a("gk"),J=a("ns"),z=a("cU"),K=a("mw"),I=a("bC"),A=a("ge"),N=a("lq"),H=a("dm"),C=i.G("Player",L,function(){L.apply(this,
arguments);this.Pf=new v(this);this.dga=new o(this,this.Pf);this.Hq=new J;this.Hq.Y({backgroundOpacity:0,visible:m,width:"100%",height:"100%"});this.WE=new p;this.rG=new q;this.vQ=new k(this);var a=new z;a.MX(0);this.yO(a);this.Hf(m);this.bind(d.u("settings"),this.qHa,this,m);this.CV=TDV.$a.Ura();A.bind(d.ra,this.$Ga,this,m);I.$Ta();this.Wza=new n(this,"buttonMute",F.me);this.Wza.bind(d.oa,this.wka,this,m);this.dAa=new n(this,"buttonUnmute",F.me);this.dAa.bind(d.oa,this.hla,this,m);this.XP=new n(this,
"buttonToggleMute",F.Fj);this.XP.bind(d.Dj,this.wka,this,m);this.XP.bind(d.Ll,this.hla,this,m);this.bind(d.u("mute"),this.XGa,this);this.XP.set("pressed",this.get("mute"));this.Uza=new n(this,"buttonEnterFullscreen",F.me);this.Uza.bind(d.oa,this.Oja,this,m);this.Vza=new n(this,"buttonExitFullscreen",F.me);this.Vza.bind(d.oa,this.Pja,this,m);this.UP=new n(this,"buttonToggleFullscreen",F.Fj);this.UP.bind(d.Dj,this.Oja,this,m);this.UP.bind(d.Ll,this.Pja,this,m);this.UP.set("pressed",this.get("fullscreenEnabled"));
this.bind(d.u("fullscreenEnabled"),this.IGa,this,m);this.set("fullscreenEnabled",this.ti.enabled());this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(d.Ns,this.tHa,this,m);[d.Hb,d.ic,d.oq,d.fD,d.dD].forEach(function(a){this.bind(a,function(a){this.trigger(new g(d.$C,{IO:a}))},this,m)}.bind(this));["keydown","keyup"].forEach(function(a){document.addEventListener(a,function(a){this.trigger(new g(d.$C,{IO:a}))}.bind(this))}.bind(this));D.bind(d.ra,function(){D.isPresenting()?A.EC(l):
A.EC(L.prototype.get.call(this,"lockedOrientation"))},this);this.ti.bind(d.ra,function(){var a=A.Dra();A.EC(l);A.EC(a)},this)});C.Mwa="orientationChange";C.prototype.logCapabilities=function(){this.fGa()};C.prototype.activateAudio=function(a){this.rya(a)};C.prototype.S1=function(a){L.prototype.S1.apply(this,arguments);this.set("fullscreenEnabled",a)};C.prototype.Ya=function(){L.prototype.Ya.call(this);this.f("mute",B);this.f("fullscreenEnabled",B)};C.prototype.kb=function(){L.prototype.kb.call(this);
this.dga.getParent()!=this&&this.La(this.dga);if(this.Hq.getParent()!=this){this.La(this.Hq);this.Hq.La(this.vQ);this.Hq.La(this.WE);this.Hq.La(this.rG)}};C.prototype.$Ia=function(a){var b=[];this.WE&&b.push(this.WE);this.rG&&b.push(this.rG);this.vQ&&b.push(this.vQ);for(var c=m,d=0;d<=b.length&&c;d++){c=a.indexOf(b[d]);c=a.length-(b.length-d)==c}return c?a:a.filter(function(a){return b.indexOf(a)<0}).concat(b)};C.prototype.Ja=function(){this.ema||(this.ema=e.difference(this.rEa(),["backgroundOpacity",
"visible","includeInLayout","state","left","right","top","bottom","centerX","centerY","width","height","minWidth","minHeight","maxWidth","maxHeight","actualWidth","actualHeight","paddingLeft","paddingTop","paddingRight","paddingBottom"]));this.Vb(this.ema,{},[this.Hq],m,m);L.prototype.Ja.call(this);this.nVa===m&&this.mVa()};C.prototype.set=function(a,b){switch(a){case "children":this.Hq.set(a,this.$Ia(b));return;case "creationPolicy":this.Hq.set(a,b);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrAvailable":b=
this.get(a);break;case "fullscreenEnabled":b=this.ti.available()&&b;break;case "fullscreenFallback":K.waa(b);break;case "lockedOrientation":u.Gf()&&(b=l);A.EC(b);break;case "installAvailable":b=this.Pf.ready();break;case "mouseWheelEnabled":this.QSa(E.Jh("mousewheelenabled",b));break;case "backgroundPreloadEnabled":this.lJa(b);break;case "vrPolyfillScale":D.cTa(b);break;case "desktopMipmappingEnabled":t.hSa(b);break;case "mobileMipmappingEnabled":t.OSa(b)}L.prototype.set.call(this,a,b)};C.prototype.get=
function(a,b){switch(a){case "children":case "creationPolicy":return this.Hq.get(a,b);case "touchEnabled":return this.tn;case "touchDevice":return u.jba();case "isMobile":return u.mb();case "orientation":return A.get();case "lockedOrientation":return A.Dra();case "gyroscopeAvailable":return w.available;case "cardboardAvailable":case "vrAvailable":return D.available();case "fullscreenAvailable":return this.ti.available();case "vrPolyfillScale":return D.BPa();case "installAvailable":return this.Pf.ready();
case "surfaceSelectionAvailable":return m;case "pageScale":return this.vx;case O:return this.N8?L.prototype.get.apply(this,arguments):m;default:return L.prototype.get.apply(this,arguments)}};C.prototype.wka=function(){this.set("mute",m)};C.prototype.hla=function(){this.set("mute",B)};C.prototype.XGa=function(){this.XP.set("pressed",this.get("mute"))};C.prototype.Oja=function(){this.set("fullscreenEnabled",m)};C.prototype.Pja=function(){this.set("fullscreenEnabled",B)};C.prototype.IGa=function(){this.get("fullscreenEnabled")?
this.ti.lk():this.ti.Ff();this.UP.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",this.ti.enabled())};C.prototype.qHa=function(){var a=this.get("settings");if(a){x.Zp(a);y.Qaa(a);THREE.vwa=a.get(TDV.PlayerSettings.vba);this.Pf.Qaa(a)}};C.prototype.lJa=function(a){y.enabled(a)};C.prototype.Yga=function(){var a=[];this.UD=[];(this.get("menu")||[]).forEach(function(b){var c=b.get("label");a.push(b.get("label"));c&&this.UD.push(function(){b.trigger("click")})}.bind(this));var b=
this.get("defaultMenu",[]);if(b.indexOf("rotation")>=0){var d=this.sj("PanoramaPlayer");if(d.length){a.push(d[0].get("mouseControlMode")==c.Oy?j("change-to-drag-and-release"):j("change-to-click-and-move"));this.UD.push(this.HLa.bind(this))}}if(b.indexOf("fullscreen")>=0&&this.ti.available()){a.push(this.ti.enabled()?j("exit-fullscreen"):j("enter-fullscreen"));this.UD.push(this.FLa.bind(this))}if(b.indexOf("mute")>=0){a.push(this.get("mute")?j("unmute"):j("mute"));this.UD.push(this.GLa.bind(this))}b=
[].concat(f.name?[f.name]:[],f.EOa!="false"?f.YN?["v:"+f.YN+"."+f.$N]:["v:"+f.$N]:[]).join(" ");if(b!=""){a.length>0&&a.push("");a.push(b);this.UD.push(this.FHa.bind(this))}return a};C.prototype.Ija=function(a){this.UD[a.data.index]()};C.prototype.HLa=function(){var a=this.sj("PanoramaPlayer"),b=a[0].get("mouseControlMode")==c.Oy?c.us:c.Oy;a.forEach(function(a){H.setItem(M,b);a.set("mouseControlMode",b)})};C.prototype.tHa=function(){H.getItem(M)==c.us&&this.sj("PanoramaPlayer").forEach(function(a){a.set("mouseControlMode",
c.us)});E.Gi("mute")&&this.set("mute",E.Jh("mute",this.get("mute")));E.Gi("vr")&&D.lk()};C.prototype.FLa=function(){this.ti.toggle()};C.prototype.GLa=function(){this.set("mute",!this.get("mute"))};C.prototype.FHa=function(){f.nwa&&window.open(f.nwa,"_blank")};C.prototype.$Ga=function(){this.trigger(C.Mwa)};C.prototype.fGa=function(){b.HOa(m);b.log("UA: "+navigator.userAgent);b.log("screen: ("+Math.max(window.screen.width,window.screen.height)+", "+Math.min(window.screen.width,window.screen.height)+
") dpr: "+window.devicePixelRatio+" ("+Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio+", "+Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio+")");u.log();s.log();j.log();D.log()};C.prototype.rya=function(a){if(I.j9())N.JH(a);else{I.rba(a);I.Ii(this)}};var M="tdvp_"+window.location.pathname+"_rotation_mode",O=[119,97,116,101,114,109,97,114,107].map(function(a){return String.fromCharCode(a)}).join("");return C});
define("ck",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("PlayerMenuItem",b,function(){b.call(this)})});
define("T","require,kL,ll,nV,kn,mR,jN".split(","),function(a){a("kL");var b=a("ll"),e=a("nV"),d=a("kn"),g=a("mR"),c=a("jN"),a=g.G("PopupPanoramaOverlay",b,function(){b.call(this);this.set("state",d.M);this.bind(e.u("state"),function(){this.trigger(e.Yd)},this,m);this.Qc=l});a.prototype.show=function(){this.set("visible",m)};a.prototype.hide=function(){this.set("visible",B)};a.prototype.play=function(){this.set("state",d.Q)};a.prototype.pause=function(){this.set("state",d.lP)};a.prototype.stop=function(){this.set("state",
d.M)};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(a,d){switch(a){case "playbackPositions":if(this.Qc===l)this.Qc=c.DPa(this);return this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,c){var d=B;switch(a){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.Qc=
l;d=m}b.prototype.set.call(this,a,c);d&&a!="playbackPositions"&&this.trigger(e.u("playbackPositions"))};return a});define("nW",["require","z","mR"],function(a){var b=a("z");return a("mR").G("ProgressBar",b,function(){b.call(this)})});
define("gb",["require","ll","nV","mR","jN"],function(a){var b=a("ll"),e=a("nV"),d=a("mR"),g=a("jN"),a=d.G("QuadFramePanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.set=function(a,d){var f=B;switch(a){case "vertices":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.g$(this)),this.Qc}return b.prototype.get.call(this,
a,d)};return a});define("bE",["require","mR","cG"],function(a){var b=a("mR"),e=a("cG");return b.G("QuadHotspotPanoramaOverlay",e,function(){e.call(this)})});define("ir",["require","mR","t"],function(a){var b=a("mR"),e=a("t");return b.G("QuadHotspotPanoramaOverlayArea",e,function(){e.apply(this,arguments)})});
define("dA",["require","ll","nV","mR","jN"],function(a){var b=a("ll"),e=a("nV"),d=a("mR"),g=a("jN"),a=d.G("QuadHotspotPanoramaOverlayImageBase",b,function(){b.call(this);this.Qc=l});a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.g$(this)),this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,d){var f=B;switch(a){case "opacity":case "distance":case "vertices":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,a,d);f&&
"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};return a});define("fh",["require","mR","dA"],function(a){var b=a("mR"),e=a("dA");return b.G("QuadHotspotPanoramaOverlayImage",e,function(){e.call(this)})});define("jO",["require","mR","dA"],function(a){var b=a("mR"),e=a("dA");return b.G("QuadHotspotPanoramaOverlayMap",e,function(){e.call(this)})});
define("eH","require,ll,nV,kn,cu,mR,jN".split(","),function(a){var b=a("ll"),e=a("nV"),d=a("kn"),g=a("cu"),c=a("mR"),i=a("jN"),a=c.G("QuadVideoPanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.play=a.prototype.play=function(){this.set("state",d.Q)};a.prototype.pause=a.prototype.pause=function(){this.set("state",d.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",d.M)};a.prototype.set=function(a,c){var i=B;switch(a){case "state":var k=this.get("state")||d.M;k==d.M&&
c==d.Q&&this.trigger(e.Ns);k!=c&&this.trigger(new g(e.Yd,{oldState:k,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.Qc=l;i=m}b.prototype.set.call(this,a,c);i&&a!="playbackPositions"&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,c){switch(a){case "playbackPositions":if(this.Qc===l)this.Qc=i.g$(this);return this.Qc}return b.prototype.get.call(this,a,c)};return a});
define("lW",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("RainPanoramaOverlay",b,function(){b.call(this)});a.prototype.get=function(a,d){"startState"==a&&d===l&&(d=this.get("initialState"));return b.prototype.get.call(this,a,d)};return a});define("eW",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("RotationalCameraMovement",b,function(){b.call(this)})});define("cg",["require","mH","mR"],function(a){var b=a("mH");return a("mR").G("SlideInEffect",b,function(){b.call(this)})});
define("hT",["require","hf","mR"],function(a){var b=a("hf");return a("mR").G("SlideOutEffect",b,function(){b.call(this)})});define("ne",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("SnowPanoramaOverlay",b,function(){b.call(this)});a.prototype.get=function(a,d){"startState"==a&&d===l&&(d=this.get("initialState"));return b.prototype.get.call(this,a,d)};return a});
define("lz",["require","mR","kT"],function(a){var b=a("mR"),e=a("kT"),a=b.G("SphericPanoramaFrame",e,function(){e.call(this)});a.prototype.ul=function(){var a=this.get("sphere");return a&&b.va("Video360Resource",a)?m:(a=this.get("stereoSphere"))&&b.va("Video360Resource",a)?m:B};return a});define("fj",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("SphereModel3DObject",e,function(){e.call(this)})});
define("nD",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("SpriteModel3DObject",e,function(){e.call(this)})});define("bs",["require","mR","if"],function(a){var b=a("mR"),e=a("if");return b.G("SurfaceReticleModel3DObject",e,function(){e.call(this);this.set("transparentAreaActive",m)})});
define("da","require,dZ,kL,x,ns,mn,W,ix".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("x"),g=a("ns"),c=a("mn"),i=a("W"),f=a("ix"),j=e.extend(g,function(a){g.call(this);this.ie("Tab");this.c5=a;this.jl="";this.t7=B;this.yia=this.Ia=r;this.R8=this.Q8=B;this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m)});j.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("horizontalAlign",c.ke);this.f("verticalAlign",c.Sd);this.f("fontFamily");this.f("fontSize");this.f("fontColor");this.f("fontWeight");
this.f("fontStyle");this.f("textDecoration");this.f("textShadowBlurRadius");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowOpacity");this.f("textShadowVerticalLength")};j.prototype.hva=function(a){if(this.Q8!=a){this.Q8=a;this.R8=m;this.Wd()}};j.prototype.kb=function(){g.prototype.kb.call(this);if(this.Ia==r){this.Ia=new f;this.Ia.set("horizontalAlign","center");this.La(this.Ia)}};j.prototype.Co=function(){g.prototype.Co.call(this);this.yia=d.watch(this.c5,"label",
this.gF,this);this.vna(this.c5.get("label"))};j.prototype.g6=function(){g.prototype.g6.call(this);this.yia.unwatch()};j.prototype.gF=function(){var a=this.c5.get("label");this.vna(a?a:"")};j.prototype.vna=function(a){if(this.jl!=a){this.jl=a;this.t7=m;this.Wd()}};j.prototype.Ja=function(){if(this.t7){this.t7=B;this.Ia.set("text",this.jl)}if(this.R8){this.R8=B;this.Ia.set("direction",this.Q8?i.hh:i.sg)}this.Vb(j.Dda,j.yD,[this.Ia],m,m);g.prototype.Ja.call(this)};j.Dda=["fontFamily","fontSize","fontColor",
"fontWeight","fontStyle","textDecoration","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];j.yD={};b(j.Dda).each(function(a){j.yD[a]=a});return j});define("eO",["require"],function(){return{XH:"normal",hD:"inverse",xba:"center"}});
define("cP","require,dZ,kL,bg,bb,nV,ns,mn,d,hn,da,eO,hU".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("bg"),g=a("bb"),c=a("nV"),i=a("ns"),f=a("mn"),j=a("d"),n=a("hn"),k=a("da"),o=a("eO"),p=a("hU"),a=e.extend(i,function(){i.call(this);this.ie("TabPanel");this.Oe=-1;this.qB=B;this.vM=[];this.aV=B;this.fr=[];this.e5=B;this.uM=[];this.zg=this.Ug=r;this.sB(B)});a.prototype.Ya=function(){i.prototype.Ya.call(this);this.f("pages",[]);this.f("selectedIndex",-1);this.f("tabsSize",25);this.f("tabsPosition",
p.ec);this.f("tabsGap",0);this.f("tabsPadding",10);this.f("tabsAlign",o.XH);this.f("tabsBackgroundOpacity",0.6);this.f("tabsBackgroundColor",["#FFFFFF","#CCCCCC"]);this.f("tabsBackgroundColorRatios",[0,0.5]);this.f("tabsRollOverBackgroundOpacity",1);this.f("tabsRollOverBackgroundColor",["#FFFFFF","#CCCCCC"]);this.f("tabsRollOverBackgroundColorRatios",[0,0.5]);this.f("backgroundColor","#FFFFFF");this.f("selectedTabBackgroundOpacity",1);this.f("selectedTabBackgroundColor");this.f("selectedTabBackgroundColorRatios");
this.f("borderRadius",6);this.f("pagePaddingLeft",4);this.f("pagePaddingTop",4);this.f("pagePaddingRight",4);this.f("pagePaddingBottom",4);this.f("borderColor","#AAAAAA");this.f("borderSize",1);this.f("selectedTabFontSize");this.f("selectedTabFontColor");this.f("selectedTabFontWeight");this.f("selectedTabFontStyle");this.f("selectedTabTextDecoration");this.f("selectedTabTextShadowBlurRadius");this.f("selectedTabTextShadowColor");this.f("selectedTabTextShadowHorizontalLength");this.f("selectedTabTextShadowOpacity");
this.f("selectedTabTextShadowVerticalLength");this.f("tabsFontFamily");this.f("tabsFontSize");this.f("tabsFontColor");this.f("tabsFontWeight");this.f("tabsFontStyle");this.f("tabsTextDecoration");this.f("tabsTextShadowBlurRadius");this.f("tabsTextShadowColor");this.f("tabsTextShadowHorizontalLength");this.f("tabsTextShadowOpacity");this.f("tabsTextShadowVerticalLength");this.f("tabsRollOverFontSize");this.f("tabsRollOverFontColor");this.f("tabsRollOverFontWeight");this.f("tabsRollOverFontStyle");
this.f("tabsRollOverTextDecoration");this.f("tabsRollOverTextShadowBlurRadius");this.f("tabsRollOverTextShadowColor");this.f("tabsRollOverTextShadowHorizontalLength");this.f("tabsRollOverTextShadowOpacity");this.f("tabsRollOverTextShadowVerticalLength")};a.prototype.kb=function(){i.prototype.kb.call(this);if(this.zg==r){this.zg=new i;this.zg.sB(B);this.La(this.zg)}if(this.Ug==r){this.Ug=new i;this.Ug.sB(B);this.La(this.Ug)}};a.prototype.set=function(a,b){if(a=="pages")this.WSa(b||[]);else if(a=="selectedIndex")this.Paa(b);
else if(a=="layout")b=j.rUa;i.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){return a=="pages"?this.fr:a=="selectedIndex"?this.Oe:i.prototype.get.call(this,a,b)};a.prototype.Paa=function(a){if(this.Oe!=a){this.Oe=a;this.Oe=Math.min(Math.max(this.Oe,-1),this.fr.length);this.qB=m;this.Wd();this.trigger(c.ra)}};a.prototype.WSa=function(a){if(!b.isEqual(this.fr,a)){this.fr=a;this.e5=m;this.Wd()}};a.prototype.tLa=function(a){this.vM=b(this.vM).union([a.source]);this.aV=m;this.Wd()};a.prototype.sLa=
function(a){this.vM=b(this.vM).difference([a.source]);this.aV=m;this.Wd()};a.prototype.rLa=function(a){this.Paa(b(this.uM).indexOf(a.source))};a.prototype.Ja=function(){var a=B,e=B,s=B,u=B,w=B,v=this.p("tabsPosition"),x=this.p("tabsAlign");if(this.e5){this.uM=[];this.Ug.kua();this.zg.kua();b(this.fr).forEach(function(a){var d=new k(a);d.sB(m);d.bind(c.kd,b.bind(this.tLa,this));d.bind(c.jc,b.bind(this.sLa,this));d.bind(c.Hb,b.bind(this.rLa,this));this.uM.push(d);this.Ug.La(d);a.Y({top:l,left:l,right:l,
bottom:l,width:"100%",height:"100%"});this.zg.La(a)},this);this.Oe=Math.min(Math.max(this.Oe,0),this.fr.length-1);this.e5=B;e=a=w=m}if(this.v("tabsPosition")){this.H("tabsPosition");u=e=a=m}if(this.qB){this.qB=B;s=e=w=m}if(this.aV){this.aV=B;s=m}this.v("overflow")&&this.Ug.Y({contentOpaque:this.p("overflow")==n.zo,overflow:this.p("overflow")});b(["tabsAlign","tabsGap","tabsSize"]).forEach(function(b){if(this.v(b)){this.H(b);a=m}},this);b(["borderRadius","borderTopRadius","borderBottomRadius","borderLeftRadius",
"borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize","borderColor","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","shadow","shadowHorizontalLength","shadowVerticalLength","shadowBlurRadius","shadowSpread","shadowColor","backgroundOpacity","backgroundColor","backgroundColorRatios"]).forEach(function(a){if(this.v(a)){this.H(a);u=
e=m}},this);b(["tabsBackgroundOpacity","tabsBackgroundColor","tabsBackgroundColorRatios","selectedTabBackgroundOpacity","selectedTabBackgroundColor","selectedTabBackgroundColorRatios","selectedTabFontSize","selectedTabFontColor","selectedTabFontWeight","selectedTabFontStyle","selectedTabTextDecoration","selectedTabTextShadowColor","selectedTabTextShadowHorizontalLength","selectedTabTextShadowVerticalLength","selectedTabTextShadowBlurRadius","selectedTabTextShadowOpacity","tabsFontFamily","tabsFontSize",
"tabsFontColor","tabsFontWeight","tabsFontStyle","tabsPadding","tabsTextDecoration","tabsRollOverFontSize","tabsRollOverFontColor","tabsTextShadowColor","tabsTextShadowHorizontalLength","tabsTextShadowVerticalLength","tabsTextShadowBlurRadius","tabsTextShadowOpacity","tabsRollOverFontWeight","tabsRollOverFontStyle","tabsRollOverTextDecoration","tabsRollOverTextShadowColor","tabsRollOverTextShadowHorizontalLength","tabsRollOverTextShadowVerticalLength","tabsRollOverTextShadowBlurRadius","tabsRollOverTextShadowOpacity"]).forEach(function(a){if(this.v(a)){this.H(a);
e=m}},this);b(["pagePaddingLeft","pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(a){if(this.v(a)){this.H(a);u=m}},this);this.v("backgroundColorDirection")&&this.H("backgroundColorDirection");if(a){switch(v){case p.Ha:this.Ug.Y({left:0,right:l});break;case p.Va:this.Ug.Y({left:l,right:0});break;case p.ec:this.Ug.Y({bottom:l,top:0});break;case p.Zb:this.Ug.Y({bottom:0,top:l})}switch(v){case p.Ha:case p.Va:this.Ug.Y({layout:j.hh,top:0,bottom:0,height:l,width:this.p("tabsSize")});
switch(x){case o.hD:this.Ug.set("verticalAlign",f.Zb);break;case o.xba:this.Ug.set("verticalAlign",f.Sd);break;default:this.Ug.set("verticalAlign",f.ec)}break;case p.ec:case p.Zb:this.Ug.Y({layout:j.sg,left:0,right:0,height:this.p("tabsSize"),width:l});switch(x){case o.hD:this.Ug.set("horizontalAlign",f.Va);break;case o.xba:this.Ug.set("horizontalAlign",f.ke);break;default:this.Ug.set("horizontalAlign",f.Ha)}}this.Ug.set("gap",this.p("tabsGap"))}if(e)for(var y=0;y<this.fr.length;y++){var E=this.uM[y];
if(v==p.Zb||v==p.ec){E.Y({layout:j.sg,width:l,paddingLeft:this.p("tabsPadding"),paddingTop:0,paddingRight:this.p("tabsPadding"),paddingBottom:0,height:"100%",backgroundColorDirection:d.HZ});E.hva(B)}else{E.Y({layout:j.hh,width:"100%",paddingLeft:0,paddingTop:this.p("tabsPadding"),paddingRight:0,paddingBottom:this.p("tabsPadding"),height:l,backgroundColorDirection:d.hZ});E.hva(m)}v==p.Zb||v==p.Va?E.set("borderTopLeftRadius",0):E.set("borderTopLeftRadius",this.p("borderTopLeftRadius","borderTopRadius",
"borderLeftRadius","borderRadius"));v==p.Zb||v==p.Ha?E.set("borderTopRightRadius",0):E.set("borderTopRightRadius",this.p("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));v==p.ec||v==p.Va?E.set("borderBottomLeftRadius",0):E.set("borderBottomLeftRadius",this.p("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));v==p.ec||v==p.Ha?E.set("borderBottomRightRadius",0):E.set("borderBottomRightRadius",this.p("borderBottomRightRadius","borderBottomRadius",
"borderRightRadius","borderRadius"));v==p.Va&&E.set("borderSize",this.p("borderRightSize","borderSize"));v==p.Ha&&E.set("borderSize",this.p("borderLeftSize","borderSize"));v==p.ec&&E.set("borderSize",this.p("borderTopSize","borderSize"));v==p.Zb&&E.set("borderSize",this.p("borderBottomSize","borderSize"));var D;switch(v){case p.Ha:D=this.p("borderLeftColor","borderColor");break;case p.Va:D=this.p("borderRightColor","borderColor");break;case p.Zb:D=this.p("borderBottomColor","borderColor");break;default:case p.ec:D=
this.p("borderTopColor","borderColor")}E.set("borderColor",D);E.Y({fontFamily:this.p("tabsFontFamily"),shadow:this.p("shadow"),shadowHorizontalLength:this.p("shadowHorizontalLength"),shadowVerticalLength:this.p("shadowVerticalLength"),shadowBlurRadius:this.p("shadowBlurRadius"),shadowSpread:this.p("shadowSpread"),shadowColor:this.p("shadowColor")})}if(e||s)for(y=0;y<this.fr.length;y++){E=this.uM[y];s=y==this.Oe;D=b(this.vM).contains(E);if(s){D=this.p("selectedTabBackgroundColor","tabsBackgroundColor");
if(b(D).isUndefined()){D=this.p("backgroundColor");D=b(D).isArray()&&D.length>0?v==p.Ha||v==p.ec?D[0]:D[D.length-1]:D}E.Y({backgroundOpacity:this.p("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:D,backgroundColorRatios:this.p("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:g.le,fontSize:this.p("selectedTabFontSize","tabsFontSize"),fontColor:this.p("selectedTabFontColor","tabsFontColor"),fontWeight:this.p("selectedTabFontWeight","tabsFontWeight"),
fontStyle:this.p("selectedTabFontStyle","tabsFontStyle"),textDecoration:this.p("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.p("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.p("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("selectedTabTextShadowBlurRadius","tabsTextShadowBlurRadius"),
textShadowOpacity:this.p("selectedTabTextShadowOpacity","tabsTextShadowOpacity")})}else D?E.Y({backgroundOpacity:this.p("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.p("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.p("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:g.vf,fontSize:this.p("tabsRollOverFontSize","tabsFontSize"),fontColor:this.p("tabsRollOverFontColor","tabsFontColor"),fontWeight:this.p("tabsRollOverFontWeight",
"tabsFontWeight"),fontStyle:this.p("tabsRollOverFontStyle","tabsFontStyle"),textDecoration:this.p("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.p("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.p("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("tabsRollOverTextShadowBlurRadius","tabsTextShadowBlurRadius"),
textShadowOpacity:this.p("tabsRollOverTextShadowOpacity","tabsTextShadowOpacity")}):E.Y({backgroundOpacity:this.p("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.p("tabsBackgroundColor"),backgroundColorRatios:this.p("tabsBackgroundColorRatios"),fontSize:this.p("tabsFontSize"),fontColor:this.p("tabsFontColor"),fontWeight:this.p("tabsFontWeight"),fontStyle:this.p("tabsFontStyle"),textDecoration:this.p("tabsTextDecoration"),textShadowColor:this.p("tabsTextShadowColor"),textShadowHorizontalLength:this.p("tabsTextShadowHorizontalLength"),
textShadowVerticalLength:this.p("tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("tabsTextShadowBlurRadius"),textShadowOpacity:this.p("tabsTextShadowOpacity")});E.Y({borderLeftSize:v==p.Va&&s?0:l,borderRightSize:v==p.Ha&&s?0:l,borderBottomSize:v==p.ec&&s?0:l,borderTopSize:v==p.Zb&&s?0:l})}if(u){y=this.p("tabsSize");switch(v){case p.Ha:this.zg.Y({left:y-(this.p("borderLeftSize","borderSize")||0),right:0,top:0,bottom:0});break;case p.Va:this.zg.Y({left:0,right:y-(this.p("borderRightSize",
"borderSize")||0),top:0,bottom:0});break;case p.ec:this.zg.Y({left:0,right:0,top:y-(this.p("borderTopSize","borderSize")||0),bottom:0});break;case p.Zb:this.zg.Y({left:0,right:0,top:0,bottom:y-(this.p("borderBottomSize","borderSize")||0)})}v==p.ec&&x==o.XH||v==p.Ha&&x==o.XH?this.zg.set("borderTopLeftRadius",0):this.zg.set("borderTopLeftRadius",this.p("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));v==p.ec&&x==o.hD||v==p.Va&&x==o.XH?this.zg.set("borderTopRightRadius",0):
this.zg.set("borderTopRightRadius",this.p("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));v==p.Zb&&x==o.XH||v==p.Ha&&x==o.hD?this.zg.set("borderBottomLeftRadius",0):this.zg.set("borderBottomLeftRadius",this.p("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));v==p.Zb&&x==o.hD||v==p.Va&&x==o.hD?this.zg.set("borderBottomRightRadius",0):this.zg.set("borderBottomRightRadius",this.p("borderBottomRightRadius","borderBottomRadius","borderRightRadius",
"borderRadius"));this.zg.Y({paddingLeft:this.p("pagePaddingLeft"),paddingTop:this.p("pagePaddingTop"),paddingRight:this.p("pagePaddingRight"),paddingBottom:this.p("pagePaddingBottom"),borderLeftSize:this.p("borderLeftSize","borderSize"),borderTopSize:this.p("borderTopSize","borderSize"),borderRightSize:this.p("borderRightSize","borderSize"),borderBottomSize:this.p("borderBottomSize","borderSize"),borderLeftColor:this.p("borderLeftColor","borderColor"),borderTopColor:this.p("borderTopColor","borderColor"),
borderRightColor:this.p("borderRightColor","borderColor"),borderBottomColor:this.p("borderBottomColor","borderColor"),shadow:this.p("shadow"),shadowHorizontalLength:this.p("shadowHorizontalLength"),shadowVerticalLength:this.p("shadowVerticalLength"),shadowBlurRadius:this.p("shadowBlurRadius"),shadowSpread:this.p("shadowSpread"),shadowColor:this.p("shadowColor"),backgroundOpacity:this.p("backgroundOpacity"),backgroundColor:this.p("backgroundColor"),backgroundColorRatios:this.p("backgroundColorRatios")});
v==p.ec||v==p.Zb?this.zg.set("backgroundColorDirection",d.HZ):this.zg.set("backgroundColorDirection",d.hZ)}if(w)for(y=0;y<this.fr.length;y++)this.fr[y].set("visible",y==this.Oe);i.prototype.Ja.call(this)};return a});define("ni",["require","cP","mR"],function(a){var b=a("cP");return a("mR").G("TabPanel",b,function(){b.call(this)})});
define("fz",["require","kL","ns"],function(a){var b=a("kL"),e=a("ns"),a=b.extend(e,function(){e.call(this);this.ie("Page");this.set("label","")});a.prototype.Ya=function(){e.prototype.Ya.call(this);this.f("visible",l)};return a});define("gv",["require","fz","mR"],function(a){var b=a("fz");return a("mR").G("TabPanelPage",b,function(){b.call(this)})});define("gc",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("TargetPanoramaCameraMovement",b,function(){b.call(this)})});
define("dg",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("TargetRotationalCameraDisplayMovement",b,function(){b.call(this)})});define("hw",["require","lw","mR"],function(a){var b=a("lw");return a("mR").G("TiledImageResourceLevel",b,function(){b.call(this)})});define("mi",["require","mR","hF"],function(a){var b=a("mR"),e=a("hF");return b.G("TripodCapPanoramaOverlay",e,function(){e.call(this)})});
define("hJ","require,kL,x,nV,mn,cH,bb,d,hU,lA,gp,ns,lS,ix,dZ".split(","),function(a){var b=a("kL"),e=a("x"),d=a("nV"),g=a("mn"),c=a("cH"),i=a("bb"),f=a("d"),j=a("hU"),n=a("lA"),k=a("gp"),o=a("ns"),p=a("lS"),q=a("ix"),t=a("dZ"),s=b.extend(o,function(){o.call(this);this.Ia=this.te=r;this.Jz=[];this.set("autoRolledOver",m);this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m);this.set("creationPolicy",c.dz);this.set("cursor",i.vf)});s.prototype.Ya=function(){o.prototype.Ya.call(this);
this.f("overflow","hidden");this.f("item");this.f("thumbnailUrlFunction",this.S0);this.f("sourceProperties");this.f("labelFunction",this.Q0);this.f("labelFontFamily");this.f("labelFontColor");this.f("labelFontSize");this.f("labelFontStyle");this.f("labelFontWeight");this.f("labelGap");this.f("labelHorizontalAlign");this.f("labelMaxWidth");this.f("labelPosition");this.f("labelTextDecoration");this.f("labelTextShadowColor");this.f("labelTextShadowHorizontalLength");this.f("labelTextShadowVerticalLength");
this.f("labelTextShadowBlurRadius");this.f("labelTextShadowOpacity");this.f("thumbnailBorderRadius");this.f("thumbnailOpacity");this.f("thumbnailBorderSize");this.f("thumbnailBorderColor");this.f("thumbnailWidth");this.f("thumbnailHeight");this.f("thumbnailMaxWidth");this.f("thumbnailMaxHeight");this.f("thumbnailShadow");this.f("thumbnailShadowHorizontalLength");this.f("thumbnailShadowVerticalLength");this.f("thumbnailShadowBlurRadius");this.f("thumbnailShadowSpread");this.f("thumbnailShadowColor");
this.f("thumbnailShadowOpacity");this.m("rollOverBackgroundOpacity",k.O,"backgroundOpacity");this.m("rollOverBackgroundColor",k.O,"backgroundColor");this.m("rollOverBackgroundColorRatios",k.O,"backgroundColorRatios");this.m("rollOverBackgroundColorDirection",k.O,"backgroundColorDirection");this.m("rollOverBorderRadius",k.O,"borderRadius");this.m("rollOverBorderTopRadius",k.O,"borderTopRadius");this.m("rollOverBorderBottomRadius",k.O,"borderBottomRadius");this.m("rollOverBorderLeftRadius",k.O,"borderLeftRadius");
this.m("rollOverBorderRightRadius",k.O,"borderRightRadius");this.m("rollOverBorderTopLeftRadius",k.O,"borderTopLeftRadius");this.m("rollOverBorderTopRightRadius",k.O,"borderTopRightRadius");this.m("rollOverBorderBottomLeftRadius",k.O,"borderBottomLeftRadius");this.m("rollOverBorderBottomRightRadius",k.O,"borderBottomRightRadius");this.m("rollOverBorderSize",k.O,"borderSize");this.m("rollOverBorderLeftSize",k.O,"borderLeftSize");this.m("rollOverBorderTopSize",k.O,"borderTopSize");this.m("rollOverBorderRightSize",
k.O,"borderRightSize");this.m("rollOverBorderBottomSize",k.O,"borderBottomSize");this.m("rollOverBorderColor",k.O,"borderColor");this.m("rollOverBorderLeftColor",k.O,"borderLeftColor");this.m("rollOverBorderTopColor",k.O,"borderTopColor");this.m("rollOverBorderRightColor",k.O,"borderRightColor");this.m("rollOverBorderBottomColor",k.O,"borderBottomColor");this.m("rollOverLabelFontColor",k.O,"labelFontColor");this.m("rollOverLabelFontSize",k.O,"labelFontSize");this.m("rollOverLabelFontStyle",k.O,"labelFontStyle");
this.m("rollOverLabelFontWeight",k.O,"labelFontWeight");this.m("rollOverLabelTextDecoration",k.O,"labelTextDecoration");this.m("rollOverLabelTextShadowColor",k.O,"labelTextShadowColor");this.m("rollOverLabelTextShadowHorizontalLength",k.O,"labelTextShadowHorizontalLength");this.m("rollOverLabelTextShadowVerticalLength",k.O,"labelTextShadowVerticalLength");this.m("rollOverLabelTextShadowBlurRadius",k.O,"labelTextShadowBlurRadius");this.m("rollOverLabelTextShadowOpacity",k.O,"labelTextShadowOpacity");
this.m("rollOverOpacity",k.O,"opacity");this.m("rollOverPaddingLeft",k.O,"paddingLeft");this.m("rollOverPaddingTop",k.O,"paddingTop");this.m("rollOverPaddingRight",k.O,"paddingRight");this.m("rollOverPaddingBottom",k.O,"paddingBottom");this.m("rollOverShadow",k.O,"shadow");this.m("rollOverThumbnailOpacity",k.O,"thumbnailOpacity");this.m("rollOverThumbnailBorderSize",k.O,"thumbnailBorderSize");this.m("rollOverThumbnailBorderColor",k.O,"thumbnailBorderColor");this.m("rollOverThumbnailShadow",k.O,"thumbnailShadow");
this.m("rollOverThumbnailShadowHorizontalLength",k.O,"thumbnailShadowHorizontalLength");this.m("rollOverThumbnailShadowVerticalLength",k.O,"thumbnailShadowVerticalLength");this.m("rollOverThumbnailShadowBlurRadius",k.O,"thumbnailShadowBlurRadius");this.m("rollOverThumbnailShadowSpread",k.O,"thumbnailShadowSpread");this.m("rollOverThumbnailShadowColor",k.O,"thumbnailShadowColor");this.m("rollOverThumbnailShadowOpacity",k.O,"thumbnailShadowOpacity");this.m("selectedBackgroundOpacity",k.U,"backgroundOpacity");
this.m("selectedBackgroundColor",k.U,"backgroundColor");this.m("selectedBackgroundColorRatios",k.U,"backgroundColorRatios");this.m("selectedBackgroundColorDirection",k.U,"backgroundColorDirection");this.m("selectedBorderRadius",k.U,"borderRadius");this.m("selectedBorderTopRadius",k.U,"borderTopRadius");this.m("selectedBorderBottomRadius",k.U,"borderBottomRadius");this.m("selectedBorderLeftRadius",k.U,"borderLeftRadius");this.m("selectedBorderRightRadius",k.U,"borderRightRadius");this.m("selectedBorderTopLeftRadius",
k.U,"borderTopLeftRadius");this.m("selectedBorderTopRightRadius",k.U,"borderTopRightRadius");this.m("selectedBorderBottomLeftRadius",k.U,"borderBottomLeftRadius");this.m("selectedBorderBottomRightRadius",k.U,"borderBottomRightRadius");this.m("selectedBorderSize",k.U,"borderSize");this.m("selectedBorderLeftSize",k.U,"borderLeftSize");this.m("selectedBorderTopSize",k.U,"borderTopSize");this.m("selectedBorderRightSize",k.U,"borderRightSize");this.m("selectedBorderBottomSize",k.U,"borderBottomSize");
this.m("selectedBorderColor",k.U,"borderColor");this.m("selectedBorderLeftColor",k.U,"borderLeftColor");this.m("selectedBorderTopColor",k.U,"borderTopColor");this.m("selectedBorderRightColor",k.U,"borderRightColor");this.m("selectedBorderBottomColor",k.U,"borderBottomColor");this.m("selectedLabelFontColor",k.U,"labelFontColor");this.m("selectedLabelFontSize",k.U,"labelFontSize");this.m("selectedLabelFontStyle",k.U,"labelFontStyle");this.m("selectedLabelFontWeight",k.U,"labelFontWeight");this.m("selectedLabelTextDecoration",
k.U,"labelTextDecoration");this.m("selectedLabelTextShadowColor",k.U,"labelTextShadowColor");this.m("selectedLabelTextShadowHorizontalLength",k.U,"labelTextShadowHorizontalLength");this.m("selectedLabelTextShadowVerticalLength",k.U,"labelTextShadowVerticalLength");this.m("selectedLabelTextShadowBlurRadius",k.U,"labelTextShadowBlurRadius");this.m("selectedLabelTextShadowOpacity",k.U,"labelTextShadowOpacity");this.m("selectedOpacity",k.U,"opacity");this.m("selectedPaddingLeft",k.U,"paddingLeft");this.m("selectedPaddingTop",
k.U,"paddingTop");this.m("selectedPaddingRight",k.U,"paddingRight");this.m("selectedPaddingBottom",k.U,"paddingBottom");this.m("selectedShadow",k.U,"shadow");this.m("selectedThumbnailOpacity",k.U,"thumbnailOpacity");this.m("selectedThumbnailBorderSize",k.U,"thumbnailBorderSize");this.m("selectedThumbnailBorderColor",k.U,"thumbnailBorderColor");this.m("selectedThumbnailShadow",k.U,"thumbnailShadow");this.m("selectedThumbnailShadowHorizontalLength",k.U,"thumbnailShadowHorizontalLength");this.m("selectedThumbnailShadowVerticalLength",
k.U,"thumbnailShadowVerticalLength");this.m("selectedThumbnailShadowBlurRadius",k.U,"thumbnailShadowBlurRadius");this.m("selectedThumbnailShadowSpread",k.U,"thumbnailShadowSpread");this.m("selectedThumbnailShadowColor",k.U,"thumbnailShadowColor");this.m("selectedThumbnailShadowOpacity",k.U,"thumbnailShadowOpacity")};s.prototype.DO=function(a){this.$L(a)};s.prototype.kb=function(){o.prototype.kb.call(this);if(!this.te){this.te=new p;this.La(this.te);this.te.set("horizontalAlign",g.ke);this.te.set("verticalAlign",
g.Sd);this.te.bind(d.T,this.x7,this)}if(!this.Ia){this.Ia=new q;this.La(this.Ia)}};s.prototype.S0=function(a){if(t(a).isString())return a;if(a&&a.hba)return a.hba};s.prototype.Q0=function(a){if(a&&a.label)return a.label};s.prototype.Ja=function(){if(this.v("sourceProperties")||this.v("item")){for(;this.Jz.length;)this.Jz.pop().unwatch();var a=this.p("sourceProperties"),b=this.p("item");a&&b&&a.forEach(function(a){this.Jz.push(e.watch(b,a,this.P4,this,m))}.bind(this))}if(this.v("sourceProperties")||
this.v("item")||this.v("tooltipFunction")){b=this.p("item");a=this.p("tooltipFunction")(b);this.set("toolTip",a)}if(this.v("sourceProperties")||this.v("item")||this.v("thumbnailUrlFunction")){b=this.p("item");(a=this.p("thumbnailUrlFunction")(b))?this.te.get("url")!=a&&this.te.Y({url:a,visible:m,opacity:0.5}):this.te.Y({url:l,visible:B});this.H("thumbnailUrlFunction")}if(this.v("sourceProperties")||this.v("item")||this.v("labelFunction")){b=this.p("item");a=this.p("labelFunction")(b);this.Ia.Y({text:a,
visible:a?m:B});this.H("labelFunction")}this.H("item");this.H("sourceProperties");if(this.v("labelPosition")||this.v("listLayout")||this.v("thumbnailWidth")||this.v("thumbnailHeight")){var c=this,a=function(a,b){var d=c.p(a);return d!==l?d:b};switch(this.p("labelPosition")){case j.Ha:case j.Va:this.set("layout",f.sg);this.Ia.set("width","100%");this.te.Y({height:a("thumbnailHeight","100%"),width:a("thumbnailWidth"),scaleMode:a("thumbnailScaleMode",n.Cj)});break;default:this.set("layout",f.hh);this.Ia.set("width",
"100%");this.te.Y({height:a("thumbnailHeight","100%"),width:a("thumbnailWidth","100%"),scaleMode:a("thumbnailScaleMode",n.Cj)})}switch(this.p("labelPosition")){case j.Ha:case j.ec:this.Om(this.Ia,0);break;default:this.Om(this.Ia,1)}this.H("labelPosition")}this.Vb(s.UZ,s.Cda,[this],m,m);this.Vb(s.WZ,s.Fda,[this.te],m,m);this.Vb(s.VZ,s.Eda,[this.Ia],m,m);o.prototype.Ja.call(this)};s.prototype.P4=function(){this.uB("item")};s.prototype.rB=function(a){o.prototype.rB.call(this,a)};s.prototype.x7=function(){this.te.set("opacity",
1)};s.Cda={labelGap:"gap"};s.UZ=t(s.Cda).keys();s.Eda={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"};
s.VZ=t(s.Eda).keys();s.Fda={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"};
s.WZ=t(s.Fda).keys();return s});
define("bP","require,kL,cu,mn,nV,cH,d,hn,hU,ns,hJ,dZ".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("mn"),g=a("nV");a("cH");var c=a("d"),i=a("hn"),f=a("hU"),j=a("ns"),n=a("hJ"),a=a("dZ"),k=b.extend(j,function(){j.call(this);this.set("contentOpaque",m)});k.prototype.Ya=function(){j.prototype.Ya.call(this);this.f("layout",c.Ev);this.f("selectedIndex",-1);this.f("items",[]);this.f("overflow",i.zo);this.f("itemHorizontalAlign",d.ke);this.f("itemLabelFontFamily");this.f("itemLabelPosition",f.Zb);
this.f("itemLabelFunction");this.f("itemLabelMaxWidth");this.f("itemLabelGap");this.f("itemLabelHorizontalAlign",d.ke);this.f("itemSourceProperties");this.f("itemThumbnailBorderRadius");this.f("itemThumbnailScaleMode");this.f("itemThumbnailWidth");this.f("itemThumbnailHeight");this.f("itemThumbnailMaxWidth");this.f("itemThumbnailMaxHeight");this.f("itemThumbnailUrlFunction");this.f("itemTooltipFunction");this.f("itemVerticalAlign",d.Sd);this.f("itemBackgroundOpacity");this.f("itemBackgroundColor");
this.f("itemBackgroundColorRatios");this.f("itemBackgroundColorDirection");this.f("itemBorderRadius");this.f("itemBorderTopRadius");this.f("itemBorderBottomRadius");this.f("itemBorderLeftRadius");this.f("itemBorderRightRadius");this.f("itemBorderTopLeftRadius");this.f("itemBorderTopRightRadius");this.f("itemBorderBottomLeftRadius");this.f("itemBorderBottomRightRadius");this.f("itemBorderSize");this.f("itemBorderLeftSize");this.f("itemBorderTopSize");this.f("itemBorderRightSize");this.f("itemBorderBottomSize");
this.f("itemBorderColor");this.f("itemBorderLeftColor");this.f("itemBorderTopColor");this.f("itemBorderRightColor");this.f("itemBorderBottomColor");this.f("itemLabelFontColor");this.f("itemLabelFontSize");this.f("itemLabelFontStyle");this.f("itemLabelFontWeight");this.f("itemLabelMaxWidth");this.f("itemLabelTextDecoration");this.f("itemLabelTextShadowColor");this.f("itemLabelTextShadowHorizontalLength");this.f("itemLabelTextShadowVerticalLength");this.f("itemLabelTextShadowBlurRadius");this.f("itemLabelTextShadowOpacity");
this.f("itemOpacity");this.f("itemPaddingLeft");this.f("itemPaddingTop");this.f("itemPaddingRight");this.f("itemPaddingBottom");this.f("itemShadow");this.f("itemThumbnailOpacity");this.f("itemThumbnailBorderSize");this.f("itemThumbnailBorderColor");this.f("itemThumbnailShadow");this.f("itemThumbnailShadowHorizontalLength");this.f("itemThumbnailShadowVerticalLength");this.f("itemThumbnailShadowBlurRadius");this.f("itemThumbnailShadowSpread");this.f("itemThumbnailShadowColor");this.f("itemThumbnailShadowOpacity");
this.f("rollOverItemBackgroundOpacity");this.f("rollOverItemBackgroundColor");this.f("rollOverItemBackgroundColorRatios");this.f("rollOverItemBackgroundColorDirection");this.f("rollOverItemBorderRadius");this.f("rollOverItemBorderTopRadius");this.f("rollOverItemBorderBottomRadius");this.f("rollOverItemBorderLeftRadius");this.f("rollOverItemBorderRightRadius");this.f("rollOverItemBorderTopLeftRadius");this.f("rollOverItemBorderTopRightRadius");this.f("rollOverItemBorderBottomLeftRadius");this.f("rollOverItemBorderBottomRightRadius");
this.f("rollOverItemBorderSize");this.f("rollOverItemBorderLeftSize");this.f("rollOverItemBorderTopSize");this.f("rollOverItemBorderRightSize");this.f("rollOverItemBorderBottomSize");this.f("rollOverItemBorderColor");this.f("rollOverItemBorderLeftColor");this.f("rollOverItemBorderTopColor");this.f("rollOverItemBorderRightColor");this.f("rollOverItemBorderBottomColor");this.f("rollOverItemLabelFontSize");this.f("rollOverItemLabelFontStyle");this.f("rollOverItemLabelFontWeight");this.f("rollOverItemLabelTextDecoration");
this.f("rollOverItemLabelTextShadowColor");this.f("rollOverItemLabelTextShadowHorizontalLength");this.f("rollOverItemLabelTextShadowVerticalLength");this.f("rollOverItemLabelTextShadowBlurRadius");this.f("rollOverItemLabelTextShadowOpacity");this.f("rollOverItemOpacity");this.f("rollOverItemPaddingLeft");this.f("rollOverItemPaddingTop");this.f("rollOverItemPaddingRight");this.f("rollOverItemPaddingBottom");this.f("rollOverItemShadow");this.f("rollOverItemThumbnailOpacity");this.f("rollOverItemThumbnailBorderSize");
this.f("rollOverItemThumbnailBorderColor");this.f("rollOverItemThumbnailShadow");this.f("rollOverItemThumbnailShadowHorizontalLength");this.f("rollOverItemThumbnailShadowVerticalLength");this.f("rollOverItemThumbnailShadowBlurRadius");this.f("rollOverItemThumbnailShadowSpread");this.f("rollOverItemThumbnailShadowColor");this.f("rollOverItemThumbnailShadowOpacity");this.f("selectedItemBackgroundOpacity");this.f("selectedItemBackgroundColor");this.f("selectedItemBackgroundColorRatios");this.f("selectedItemBackgroundColorDirection");
this.f("selectedItemBorderRadius");this.f("selectedItemBorderTopRadius");this.f("selectedItemBorderBottomRadius");this.f("selectedItemBorderLeftRadius");this.f("selectedItemBorderRightRadius");this.f("selectedItemBorderTopLeftRadius");this.f("selectedItemBorderTopRightRadius");this.f("selectedItemBorderBottomLeftRadius");this.f("selectedItemBorderBottomRightRadius");this.f("selectedItemBorderSize");this.f("selectedItemBorderLeftSize");this.f("selectedItemBorderTopSize");this.f("selectedItemBorderRightSize");
this.f("selectedItemBorderBottomSize");this.f("selectedItemBorderColor");this.f("selectedItemBorderLeftColor");this.f("selectedItemBorderTopColor");this.f("selectedItemBorderRightColor");this.f("selectedItemBorderBottomColor");this.f("selectedItemLabelFontSize");this.f("selectedItemLabelFontStyle");this.f("selectedItemLabelFontWeight");this.f("selectedItemLabelTextDecoration");this.f("selectedItemLabelTextShadowColor");this.f("selectedItemLabelTextShadowHorizontalLength");this.f("selectedItemLabelTextShadowVerticalLength");
this.f("selectedItemLabelTextShadowBlurRadius");this.f("selectedItemLabelTextShadowOpacity");this.f("selectedItemOpacity");this.f("selectedItemPaddingLeft");this.f("selectedItemPaddingTop");this.f("selectedItemPaddingRight");this.f("selectedItemPaddingBottom");this.f("selectedItemShadow");this.f("selectedItemThumbnailOpacity");this.f("selectedItemThumbnailBorderSize");this.f("selectedItemThumbnailBorderColor");this.f("selectedItemThumbnailShadow");this.f("selectedItemThumbnailShadowHorizontalLength");
this.f("selectedItemThumbnailShadowVerticalLength");this.f("selectedItemThumbnailShadowBlurRadius");this.f("selectedItemThumbnailShadowSpread");this.f("selectedItemThumbnailShadowColor");this.f("selectedItemThumbnailShadowOpacity")};k.prototype.MJ=function(a){this.Rn=m;this.set("selectedIndex",this.j2(a.source))};k.prototype.j2=function(a){for(var b=this.zb(),c=0;c<b.length;c++)if(b[c]==a)return c;return-1};k.prototype.Ja=function(){this.v("layout")&&this.p("layout")!=c.Ev&&this.set("layout",c.Ev);
var a=B;if(this.v("items")){var a=m,b=this.p("items")||[],d=this.zb();if(d.length<b.length){for(var f=d.length;f<b.length;f++){d=new n;d.bind(g.oa,this.MJ,this);this.Vb(k.hI,k.oz,[d],B,B);this.Vb(k.iI,k.pz,[d],B,B);this.La(d)}d=this.zb()}if(d.length>b.length){for(f=b.length;f<d.length;f++){var i=d[f];i.unbind(g.oa,this.MJ,this);this.removeChild(i)}d=this.zb()}for(f=0;f<b.length;f++)d[f].set("item",b[f]);this.H("items")}if(this.v("selectedIndex")||a){b=this.zb();a=Math.min(b.length-1,Math.max(-1,this.p("selectedIndex")));
this.set("selectedIndex",a);for(f=0;f<b.length;f++)b[f].DO(f==a);this.H("selectedIndex");if(this.Rn){this.Rn=B;this.trigger(new e(g.ra))}}this.Vb(k.hI,k.oz,this.zb(),m,B);this.Vb(k.iI,k.pz,this.zb(),m,m);j.prototype.Ja.call(this)};k.oz={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};k.pz={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"};k.hI=a(k.oz).keys();k.iI=a(k.pz).keys();return k});
define("jC","require,nV,bP,mR,jh,dW,bM".split(","),function(a){var b=a("nV"),e=a("bP"),d=a("mR"),g=a("jh"),c=a("dW"),i=a("bM"),a=d.G("ThumbnailGrid",e,function(){e.call(this);this.Zc=r;this.set("itemMode","normal");this.So=B;this.zI=new g(this,"buttonScrollDown",c.me);this.zI.bind(b.oa,this.Aua,this);this.AI=new g(this,"buttonScrollLeft",c.me);this.AI.bind(b.oa,this.scrollLeft,this);this.BI=new g(this,"buttonScrollRight",c.me);this.BI.bind(b.oa,this.Bua,this);this.CI=new g(this,"buttonScrollUp",c.me);
this.CI.bind(b.oa,this.Cua,this);this.bind(b.ra,this.vHa,this)});a.prototype.El=function(){e.prototype.El.call(this);this.GB()};a.prototype.Mu=function(){e.prototype.Mu.call(this);this.GB()};a.prototype.GB=function(){this.zI.set("visible",!this.So||this.aQ());this.CI.set("visible",!this.So||this.dQ());this.AI.set("visible",!this.So||this.bQ());this.BI.set("visible",!this.So||this.cQ())};a.prototype.set=function(a,b){if(a=="itemMode")switch(b){case "thumbnail-only":this.set("itemLabelFunction",this.Nt);
this.set("itemThumbnailUrlFunction",this.OJ);this.set("itemTooltipFunction",this.AA);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.AA);this.set("itemThumbnailUrlFunction",this.Nt);this.set("itemTooltipFunction",this.Nt);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.AA);this.set("itemThumbnailUrlFunction",this.OJ);this.set("itemTooltipFunction",
this.Nt);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else if(a=="playList"){this.Zc&&this.Zc.unbind("change",this.gu,this);if(this.Zc=b){this.set("items",this.Zc.get("items"));this.set("selectedIndex",this.Zc.get("selectedIndex"));this.Zc.bind("change",this.gu,this,m)}else this.set("items",[])}else if(a=="hideScrollButtons"){this.So=b;this.GB()}else e.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){switch(a){case "playList":return this.Zc;
default:return e.prototype.get.call(this,a,b)}};a.prototype.gu=function(){this.set("items",this.Zc.get("items"));this.set("selectedIndex",this.Zc.get("selectedIndex"))};a.prototype.vHa=function(){this.Zc&&this.Zc.set("selectedIndex",this.get("selectedIndex"))};a.prototype.Nt=G();a.prototype.AA=function(a){return a.get("label")||a.get("media").get("label")};a.prototype.OJ=function(a){var a=a.get("media"),b=a.get("thumbnailUrl");a.get("flipImageHorizontally")&&(b=i.bqa(b));return b};return a});
define("jW","require,kL,x,nV,mn,cH,bb,d,hU,lA,gp,ns,lS,ix,dZ".split(","),function(a){var b=a("kL"),e=a("x"),d=a("nV"),g=a("mn"),c=a("cH"),i=a("bb"),f=a("d"),j=a("hU"),n=a("lA"),k=a("gp"),o=a("ns"),p=a("lS"),q=a("ix"),t=a("dZ"),s=b.extend(o,function(){o.call(this);this.Ia=this.te=r;this.Jz=[];this.set("autoRolledOver",m);this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m);this.set("creationPolicy",c.dz);this.set("cursor",i.vf)});s.prototype.Ya=function(){o.prototype.Ya.call(this);
this.f("listLayout");this.f("overflow","hidden");this.f("item");this.f("thumbnailUrlFunction",this.S0);this.f("sourceProperties");this.f("labelFunction",this.Q0);this.f("labelFontFamily");this.f("labelFontColor");this.f("labelFontSize");this.f("labelFontStyle");this.f("labelFontWeight");this.f("labelGap");this.f("labelHorizontalAlign");this.f("labelPosition");this.f("labelTextDecoration");this.f("labelTextShadowColor");this.f("labelTextShadowHorizontalLength");this.f("labelTextShadowVerticalLength");
this.f("labelTextShadowBlurRadius");this.f("labelTextShadowOpacity");this.f("thumbnailBorderRadius");this.f("thumbnailOpacity");this.f("thumbnailBorderSize");this.f("thumbnailBorderColor");this.f("thumbnailWidth");this.f("thumbnailHeight");this.f("thumbnailMaxWidth");this.f("thumbnailMaxHeight");this.f("thumbnailShadow");this.f("thumbnailShadowHorizontalLength");this.f("thumbnailShadowVerticalLength");this.f("thumbnailShadowBlurRadius");this.f("thumbnailShadowSpread");this.f("thumbnailShadowColor");
this.f("thumbnailShadowOpacity");this.m("rollOverBackgroundOpacity",k.O,"backgroundOpacity");this.m("rollOverBackgroundColor",k.O,"backgroundColor");this.m("rollOverBackgroundColorRatios",k.O,"backgroundColorRatios");this.m("rollOverBackgroundColorDirection",k.O,"backgroundColorDirection");this.m("rollOverBorderRadius",k.O,"borderRadius");this.m("rollOverBorderTopRadius",k.O,"borderTopRadius");this.m("rollOverBorderBottomRadius",k.O,"borderBottomRadius");this.m("rollOverBorderLeftRadius",k.O,"borderLeftRadius");
this.m("rollOverBorderRightRadius",k.O,"borderRightRadius");this.m("rollOverBorderTopLeftRadius",k.O,"borderTopLeftRadius");this.m("rollOverBorderTopRightRadius",k.O,"borderTopRightRadius");this.m("rollOverBorderBottomLeftRadius",k.O,"borderBottomLeftRadius");this.m("rollOverBorderBottomRightRadius",k.O,"borderBottomRightRadius");this.m("rollOverBorderSize",k.O,"borderSize");this.m("rollOverBorderLeftSize",k.O,"borderLeftSize");this.m("rollOverBorderTopSize",k.O,"borderTopSize");this.m("rollOverBorderRightSize",
k.O,"borderRightSize");this.m("rollOverBorderBottomSize",k.O,"borderBottomSize");this.m("rollOverBorderColor",k.O,"borderColor");this.m("rollOverBorderLeftColor",k.O,"borderLeftColor");this.m("rollOverBorderTopColor",k.O,"borderTopColor");this.m("rollOverBorderRightColor",k.O,"borderRightColor");this.m("rollOverBorderBottomColor",k.O,"borderBottomColor");this.m("rollOverLabelFontColor",k.O,"labelFontColor");this.m("rollOverLabelFontSize",k.O,"labelFontSize");this.m("rollOverLabelFontStyle",k.O,"labelFontStyle");
this.m("rollOverLabelFontWeight",k.O,"labelFontWeight");this.m("rollOverLabelTextDecoration",k.O,"labelTextDecoration");this.m("rollOverLabelTextShadowColor",k.O,"labelTextShadowColor");this.m("rollOverLabelTextShadowHorizontalLength",k.O,"labelTextShadowHorizontalLength");this.m("rollOverLabelTextShadowVerticalLength",k.O,"labelTextShadowVerticalLength");this.m("rollOverLabelTextShadowBlurRadius",k.O,"labelTextShadowBlurRadius");this.m("rollOverLabelTextShadowOpacity",k.O,"labelTextShadowOpacity");
this.m("rollOverOpacity",k.O,"opacity");this.m("rollOverPaddingLeft",k.O,"paddingLeft");this.m("rollOverPaddingTop",k.O,"paddingTop");this.m("rollOverPaddingRight",k.O,"paddingRight");this.m("rollOverPaddingBottom",k.O,"paddingBottom");this.m("rollOverShadow",k.O,"shadow");this.m("rollOverThumbnailOpacity",k.O,"thumbnailOpacity");this.m("rollOverThumbnailBorderSize",k.O,"thumbnailBorderSize");this.m("rollOverThumbnailBorderColor",k.O,"thumbnailBorderColor");this.m("rollOverThumbnailShadow",k.O,"thumbnailShadow");
this.m("rollOverThumbnailShadowHorizontalLength",k.O,"thumbnailShadowHorizontalLength");this.m("rollOverThumbnailShadowVerticalLength",k.O,"thumbnailShadowVerticalLength");this.m("rollOverThumbnailShadowBlurRadius",k.O,"thumbnailShadowBlurRadius");this.m("rollOverThumbnailShadowSpread",k.O,"thumbnailShadowSpread");this.m("rollOverThumbnailShadowColor",k.O,"thumbnailShadowColor");this.m("rollOverThumbnailShadowOpacity",k.O,"thumbnailShadowOpacity");this.m("selectedBackgroundOpacity",k.U,"backgroundOpacity");
this.m("selectedBackgroundColor",k.U,"backgroundColor");this.m("selectedBackgroundColorRatios",k.U,"backgroundColorRatios");this.m("selectedBackgroundColorDirection",k.U,"backgroundColorDirection");this.m("selectedBorderRadius",k.U,"borderRadius");this.m("selectedBorderTopRadius",k.U,"borderTopRadius");this.m("selectedBorderBottomRadius",k.U,"borderBottomRadius");this.m("selectedBorderLeftRadius",k.U,"borderLeftRadius");this.m("selectedBorderRightRadius",k.U,"borderRightRadius");this.m("selectedBorderTopLeftRadius",
k.U,"borderTopLeftRadius");this.m("selectedBorderTopRightRadius",k.U,"borderTopRightRadius");this.m("selectedBorderBottomLeftRadius",k.U,"borderBottomLeftRadius");this.m("selectedBorderBottomRightRadius",k.U,"borderBottomRightRadius");this.m("selectedBorderSize",k.U,"borderSize");this.m("selectedBorderLeftSize",k.U,"borderLeftSize");this.m("selectedBorderTopSize",k.U,"borderTopSize");this.m("selectedBorderRightSize",k.U,"borderRightSize");this.m("selectedBorderBottomSize",k.U,"borderBottomSize");
this.m("selectedBorderColor",k.U,"borderColor");this.m("selectedBorderLeftColor",k.U,"borderLeftColor");this.m("selectedBorderTopColor",k.U,"borderTopColor");this.m("selectedBorderRightColor",k.U,"borderRightColor");this.m("selectedBorderBottomColor",k.U,"borderBottomColor");this.m("selectedLabelFontColor",k.U,"labelFontColor");this.m("selectedLabelFontSize",k.U,"labelFontSize");this.m("selectedLabelFontStyle",k.U,"labelFontStyle");this.m("selectedLabelFontWeight",k.U,"labelFontWeight");this.m("selectedLabelTextDecoration",
k.U,"labelTextDecoration");this.m("selectedLabelTextShadowColor",k.U,"labelTextShadowColor");this.m("selectedLabelTextShadowHorizontalLength",k.U,"labelTextShadowHorizontalLength");this.m("selectedLabelTextShadowVerticalLength",k.U,"labelTextShadowVerticalLength");this.m("selectedLabelTextShadowBlurRadius",k.U,"labelTextShadowBlurRadius");this.m("selectedLabelTextShadowOpacity",k.U,"labelTextShadowOpacity");this.m("selectedOpacity",k.U,"opacity");this.m("selectedPaddingLeft",k.U,"paddingLeft");this.m("selectedPaddingTop",
k.U,"paddingTop");this.m("selectedPaddingRight",k.U,"paddingRight");this.m("selectedPaddingBottom",k.U,"paddingBottom");this.m("selectedShadow",k.U,"shadow");this.m("selectedThumbnailOpacity",k.U,"thumbnailOpacity");this.m("selectedThumbnailBorderSize",k.U,"thumbnailBorderSize");this.m("selectedThumbnailBorderColor",k.U,"thumbnailBorderColor");this.m("selectedThumbnailShadow",k.U,"thumbnailShadow");this.m("selectedThumbnailShadowHorizontalLength",k.U,"thumbnailShadowHorizontalLength");this.m("selectedThumbnailShadowVerticalLength",
k.U,"thumbnailShadowVerticalLength");this.m("selectedThumbnailShadowBlurRadius",k.U,"thumbnailShadowBlurRadius");this.m("selectedThumbnailShadowSpread",k.U,"thumbnailShadowSpread");this.m("selectedThumbnailShadowColor",k.U,"thumbnailShadowColor");this.m("selectedThumbnailShadowOpacity",k.U,"thumbnailShadowOpacity")};s.prototype.DO=function(a){this.$L(a)};s.prototype.kb=function(){o.prototype.kb.call(this);if(!this.te){this.te=new p;this.La(this.te);this.te.set("horizontalAlign",g.ke);this.te.set("verticalAlign",
g.Sd);this.te.bind(d.T,this.x7,this)}if(!this.Ia){this.Ia=new q;this.La(this.Ia)}};s.prototype.S0=function(a){if(t(a).isString())return a;if(a&&a.hba)return a.hba};s.prototype.Q0=function(a){if(a&&a.label)return a.label};s.prototype.Ja=function(){if(this.v("sourceProperties")||this.v("item")){for(;this.Jz.length;)this.Jz.pop().unwatch();var a=this.p("sourceProperties"),b=this.p("item");a&&b&&a.forEach(function(a){this.Jz.push(e.watch(b,a,this.P4,this,m))}.bind(this))}if(this.v("sourceProperties")||
this.v("item")||this.v("tooltipFunction")){b=this.p("item");a=this.p("tooltipFunction")(b);this.set("toolTip",a)}if(this.v("sourceProperties")||this.v("item")||this.v("thumbnailUrlFunction")){b=this.p("item");(a=this.p("thumbnailUrlFunction")(b))?this.te.get("url")!=a&&this.te.Y({url:a,visible:m,opacity:0.5}):this.te.Y({url:l,visible:B});this.H("thumbnailUrlFunction")}if(this.v("sourceProperties")||this.v("item")||this.v("labelFunction")){b=this.p("item");a=this.p("labelFunction")(b);this.Ia.Y({text:a,
visible:a?m:B});this.H("labelFunction")}this.H("sourceProperties");this.H("item");if(this.v("listLayout"))switch(this.p("listLayout")){case f.hh:this.Y({width:"100%",height:l});break;default:this.Y({height:"100%",width:l})}if(this.v("labelPosition")||this.v("listLayout")||this.v("thumbnailWidth")||this.v("thumbnailHeight")){var c=this,a=function(a,b){var d=c.p(a);d===l&&(d=b);return d};switch(this.p("labelPosition")){case j.Ha:case j.Va:this.set("layout",f.sg);this.Ia.set("width","100%");switch(this.p("listLayout")){case f.hh:this.te.Y({height:a("thumbnailHeight"),
width:a("thumbnailWidth"),scaleMode:a("thumbnailScaleMode",n.Cj)});break;default:this.te.Y({height:a("thumbnailHeight","100%"),width:a("thumbnailWidth"),scaleMode:a("thumbnailScaleMode",n.Cj)})}break;default:this.set("layout",f.hh);this.Ia.set("width",l);switch(this.p("listLayout")){case f.hh:this.te.Y({height:a("thumbnailHeight"),width:a("thumbnailWidth","100%"),scaleMode:a("thumbnailScaleMode",n.so)});break;default:this.te.Y({height:a("thumbnailHeight","100%"),width:a("thumbnailWidth"),scaleMode:a("thumbnailScaleMode",
n.Cj)})}}switch(this.p("labelPosition")){case j.Ha:case j.ec:this.Om(this.Ia,0);break;default:this.Om(this.Ia,1)}this.H("labelPosition")}this.H("listLayout");this.Vb(s.UZ,s.yD,[this],m,m);this.Vb(s.WZ,s.yD,[this.te],m,m);this.Vb(s.VZ,s.yD,[this.Ia],m,m);o.prototype.Ja.call(this)};s.prototype.P4=function(){this.uB("item")};s.prototype.rB=function(a){o.prototype.rB.call(this,a)};s.prototype.x7=function(){this.te.set("opacity",1)};s.UZ=["labelGap"];s.WZ=["thumbnailBorderColor","thumbnailBorderRadius",
"thumbnailBorderSize","thumbnailMaxWidth","thumbnailMaxHeight","thumbnailOpacity","thumbnailShadow","thumbnailShadowHorizontalLength","thumbnailShadowVerticalLength","thumbnailShadowBlurRadius","thumbnailShadowSpread","thumbnailShadowColor","thumbnailShadowOpacity"];s.VZ=["labelFontFamily","labelFontColor","labelFontSize","labelFontStyle","labelFontWeight","labelHorizontalAlign","labelTextDecoration","labelTextShadowColor","labelTextShadowHorizontalLength","labelTextShadowVerticalLength","labelTextShadowBlurRadius",
"labelTextShadowOpacity"];s.yD={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 s});
define("L","require,kL,cu,mn,nV,d,hn,hU,ns,jW,dZ".split(","),function(a){var b=a("kL"),e=a("cu"),d=a("mn"),g=a("nV"),c=a("d"),i=a("hn"),f=a("hU"),j=a("ns"),n=a("jW"),a=a("dZ"),k=b.extend(j,function(){j.call(this);this.set("contentOpaque",m);this.bind(g.u("selectedIndex"),this.eJa,this);this.bind(g.uc,this.DLa,this)});k.prototype.Ya=function(){j.prototype.Ya.call(this);this.f("layout",c.sg);this.f("selectedIndex",-1);this.f("items",[]);this.f("overflow",i.zo);this.f("itemHorizontalAlign",d.ke);this.f("itemLabelFontFamily");
this.f("itemLabelPosition",f.Zb);this.f("itemLabelFunction");this.f("itemLabelGap");this.f("itemLabelHorizontalAlign",d.ke);this.f("itemThumbnailBorderRadius");this.f("itemThumbnailScaleMode");this.f("itemThumbnailWidth");this.f("itemThumbnailHeight");this.f("itemThumbnailMaxWidth");this.f("itemThumbnailMaxHeight");this.f("itemThumbnailUrlFunction");this.f("itemTooltipFunction");this.f("itemSourceProperties");this.f("itemVerticalAlign",d.Sd);this.f("itemBackgroundOpacity");this.f("itemBackgroundColor");
this.f("itemBackgroundColorRatios");this.f("itemBackgroundColorDirection");this.f("itemBorderRadius");this.f("itemBorderTopRadius");this.f("itemBorderBottomRadius");this.f("itemBorderLeftRadius");this.f("itemBorderRightRadius");this.f("itemBorderTopLeftRadius");this.f("itemBorderTopRightRadius");this.f("itemBorderBottomLeftRadius");this.f("itemBorderBottomRightRadius");this.f("itemBorderSize");this.f("itemBorderLeftSize");this.f("itemBorderTopSize");this.f("itemBorderRightSize");this.f("itemBorderBottomSize");
this.f("itemBorderColor");this.f("itemBorderLeftColor");this.f("itemBorderTopColor");this.f("itemBorderRightColor");this.f("itemBorderBottomColor");this.f("itemLabelFontColor");this.f("itemLabelFontSize");this.f("itemLabelFontStyle");this.f("itemLabelFontWeight");this.f("itemLabelTextDecoration");this.f("itemLabelTextShadowColor");this.f("itemLabelTextShadowHorizontalLength");this.f("itemLabelTextShadowVerticalLength");this.f("itemLabelTextShadowBlurRadius");this.f("itemLabelTextShadowOpacity");this.f("itemOpacity");
this.f("itemPaddingLeft");this.f("itemPaddingTop");this.f("itemPaddingRight");this.f("itemPaddingBottom");this.f("itemShadow");this.f("itemThumbnailOpacity");this.f("itemThumbnailBorderSize");this.f("itemThumbnailBorderColor");this.f("itemThumbnailShadow");this.f("itemThumbnailShadowHorizontalLength");this.f("itemThumbnailShadowVerticalLength");this.f("itemThumbnailShadowBlurRadius");this.f("itemThumbnailShadowSpread");this.f("itemThumbnailShadowColor");this.f("itemThumbnailShadowOpacity");this.f("rollOverItemBackgroundOpacity");
this.f("rollOverItemBackgroundColor");this.f("rollOverItemBackgroundColorRatios");this.f("rollOverItemBackgroundColorDirection");this.f("rollOverItemBorderRadius");this.f("rollOverItemBorderTopRadius");this.f("rollOverItemBorderBottomRadius");this.f("rollOverItemBorderLeftRadius");this.f("rollOverItemBorderRightRadius");this.f("rollOverItemBorderTopLeftRadius");this.f("rollOverItemBorderTopRightRadius");this.f("rollOverItemBorderBottomLeftRadius");this.f("rollOverItemBorderBottomRightRadius");this.f("rollOverItemBorderSize");
this.f("rollOverItemBorderLeftSize");this.f("rollOverItemBorderTopSize");this.f("rollOverItemBorderRightSize");this.f("rollOverItemBorderBottomSize");this.f("rollOverItemBorderColor");this.f("rollOverItemBorderLeftColor");this.f("rollOverItemBorderTopColor");this.f("rollOverItemBorderRightColor");this.f("rollOverItemBorderBottomColor");this.f("rollOverItemLabelFontSize");this.f("rollOverItemLabelFontStyle");this.f("rollOverItemLabelFontWeight");this.f("rollOverItemLabelTextDecoration");this.f("rollOverItemLabelTextShadowColor");
this.f("rollOverItemLabelTextShadowHorizontalLength");this.f("rollOverItemLabelTextShadowVerticalLength");this.f("rollOverItemLabelTextShadowBlurRadius");this.f("rollOverItemLabelTextShadowOpacity");this.f("rollOverItemOpacity");this.f("rollOverItemPaddingLeft");this.f("rollOverItemPaddingTop");this.f("rollOverItemPaddingRight");this.f("rollOverItemPaddingBottom");this.f("rollOverItemShadow");this.f("rollOverItemThumbnailOpacity");this.f("rollOverItemThumbnailBorderSize");this.f("rollOverItemThumbnailBorderColor");
this.f("rollOverItemThumbnailShadow");this.f("rollOverItemThumbnailShadowHorizontalLength");this.f("rollOverItemThumbnailShadowVerticalLength");this.f("rollOverItemThumbnailShadowBlurRadius");this.f("rollOverItemThumbnailShadowSpread");this.f("rollOverItemThumbnailShadowColor");this.f("rollOverItemThumbnailShadowOpacity");this.f("selectedItemBackgroundOpacity");this.f("selectedItemBackgroundColor");this.f("selectedItemBackgroundColorRatios");this.f("selectedItemBackgroundColorDirection");this.f("selectedItemBorderRadius");
this.f("selectedItemBorderTopRadius");this.f("selectedItemBorderBottomRadius");this.f("selectedItemBorderLeftRadius");this.f("selectedItemBorderRightRadius");this.f("selectedItemBorderTopLeftRadius");this.f("selectedItemBorderTopRightRadius");this.f("selectedItemBorderBottomLeftRadius");this.f("selectedItemBorderBottomRightRadius");this.f("selectedItemBorderSize");this.f("selectedItemBorderLeftSize");this.f("selectedItemBorderTopSize");this.f("selectedItemBorderRightSize");this.f("selectedItemBorderBottomSize");
this.f("selectedItemBorderColor");this.f("selectedItemBorderLeftColor");this.f("selectedItemBorderTopColor");this.f("selectedItemBorderRightColor");this.f("selectedItemBorderBottomColor");this.f("selectedItemLabelFontSize");this.f("selectedItemLabelFontStyle");this.f("selectedItemLabelFontWeight");this.f("selectedItemLabelTextDecoration");this.f("selectedItemLabelTextShadowColor");this.f("selectedItemLabelTextShadowHorizontalLength");this.f("selectedItemLabelTextShadowVerticalLength");this.f("selectedItemLabelTextShadowBlurRadius");
this.f("selectedItemLabelTextShadowOpacity");this.f("selectedItemOpacity");this.f("selectedItemPaddingLeft");this.f("selectedItemPaddingTop");this.f("selectedItemPaddingRight");this.f("selectedItemPaddingBottom");this.f("selectedItemShadow");this.f("selectedItemThumbnailOpacity");this.f("selectedItemThumbnailBorderSize");this.f("selectedItemThumbnailBorderColor");this.f("selectedItemThumbnailShadow");this.f("selectedItemThumbnailShadowHorizontalLength");this.f("selectedItemThumbnailShadowVerticalLength");
this.f("selectedItemThumbnailShadowBlurRadius");this.f("selectedItemThumbnailShadowSpread");this.f("selectedItemThumbnailShadowColor");this.f("selectedItemThumbnailShadowOpacity")};k.prototype.MJ=function(a){this.Rn=m;this.set("selectedIndex",this.j2(a.source))};k.prototype.eJa=function(){this.Mma()};k.prototype.DLa=function(){this.Mma()};k.prototype.Mma=function(){var a=this.get("selectedIndex"),b=this.zb();a>=0&&a<b.length&&this.scrollIntoView(b[a])};k.prototype.j2=function(a){for(var b=this.zb(),
c=0;c<b.length;c++)if(b[c]==a)return c;return-1};k.prototype.Ja=function(){if(this.v("layout")){var a=this.p("layout");a!=c.hh&&a!=c.sg&&this.set("layout",c.sg)}var b=B;if(this.v("items")){var b=m,a=this.p("items")||[],d=this.zb();if(d.length<a.length){for(var f=d.length;f<a.length;f++){d=new n;d.bind(g.oa,this.MJ,this);this.Vb(k.hI,k.oz,[d],B,B);this.Vb(k.iI,k.pz,[d],B,B);this.La(d)}d=this.zb()}if(d.length>a.length){for(f=a.length;f<d.length;f++){var i=d[f];i.unbind(g.oa,this.MJ,this);this.removeChild(i)}d=
this.zb()}for(f=0;f<a.length;f++)d[f].set("item",a[f]);this.H("items")}if(this.v("selectedIndex")||b){a=this.zb();b=Math.min(a.length-1,Math.max(-1,this.p("selectedIndex")));this.set("selectedIndex",b);for(f=0;f<a.length;f++)a[f].DO(f==b);this.H("selectedIndex");if(this.Rn){this.Rn=B;this.trigger(new e(g.ra))}}this.Vb(k.hI,k.oz,this.zb(),m,B);this.Vb(k.iI,k.pz,this.zb(),m,m);j.prototype.Ja.call(this)};k.oz={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",
shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};k.pz={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"};k.hI=a(k.oz).keys();k.iI=a(k.pz).keys();return k});
define("gX","require,nV,L,mR,jh,dW,bM".split(","),function(a){var b=a("nV"),e=a("L"),d=a("mR"),g=a("jh"),c=a("dW"),i=a("bM"),a=d.G("ThumbnailList",e,function(){e.call(this);this.Zc=r;this.So=B;this.zI=new g(this,"buttonScrollDown",c.me);this.zI.bind(b.oa,this.Aua,this);this.AI=new g(this,"buttonScrollLeft",c.me);this.AI.bind(b.oa,this.scrollLeft,this);this.BI=new g(this,"buttonScrollRight",c.me);this.BI.bind(b.oa,this.Bua,this);this.CI=new g(this,"buttonScrollUp",c.me);this.CI.bind(b.oa,this.Cua,
this);this.bind(b.ra,this.wHa,this)});a.prototype.El=function(){e.prototype.El.call(this);this.GB()};a.prototype.Mu=function(){e.prototype.Mu.call(this);this.GB()};a.prototype.GB=function(){this.zI.set("visible",!this.So||this.aQ());this.CI.set("visible",!this.So||this.dQ());this.AI.set("visible",!this.So||this.bQ());this.BI.set("visible",!this.So||this.cQ())};a.prototype.set=function(a,b){if(a=="itemMode")switch(b){case "thumbnail-only":this.set("itemLabelFunction",this.Nt);this.set("itemThumbnailUrlFunction",
this.OJ);this.set("itemTooltipFunction",this.AA);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.AA);this.set("itemThumbnailUrlFunction",this.Nt);this.set("itemTooltipFunction",this.Nt);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.AA);this.set("itemThumbnailUrlFunction",this.OJ);this.set("itemTooltipFunction",this.Nt);this.set("itemSourceProperties",
["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else if(a=="playList"){this.Zc&&this.Zc.unbind("change",this.gu,this);if(this.Zc=b){this.set("items",this.Zc.get("items"));this.Zc.bind("change",this.gu,this)}else this.set("items",[])}else if(a=="hideScrollButtons"){this.So=b;this.GB()}else e.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){switch(a){case "playList":return this.Zc;default:return e.prototype.get.call(this,a,b)}};a.prototype.gu=function(){this.set("items",
this.Zc.get("items"));this.set("selectedIndex",this.Zc.get("selectedIndex"))};a.prototype.wHa=function(){this.Zc&&this.Zc.set("selectedIndex",this.get("selectedIndex"))};a.prototype.Nt=G();a.prototype.AA=function(a){return a.get("label")||a.get("media").get("label")};a.prototype.OJ=function(a){var a=a.get("media"),b=a.get("thumbnailUrl");a.get("flipImageHorizontally")&&(b=i.bqa(b));return b};return a});define("bU",["require","e","mR"],function(a){var b=a("e");return a("mR").G("UIComponent",b,function(){b.call(this)})});
define("iR",["require","mR","ef"],function(a){var b=a("mR"),e=a("ef"),a=b.G("Video",e,function(){e.call(this);this.ka=l});a.prototype.$r=function(){this.get("video");return[]};return a});define("gD",["require","mR","eL"],function(a){var b=a("mR"),e=a("eL");return b.G("VideoPanorama",e,function(){e.call(this)})});
define("ja",["require","ll","mR"],function(a){var b=a("ll"),a=a("mR").G("Video360Resource",b,function(){b.call(this)});a.prototype.get=function(a,d){if(d===l)switch(a){case "gain":d=1}switch(a){case "levels":d=[this];break;case "subtitlesURL":case "gain":for(var g=b.prototype.get.call(this,a),c=this.get("levels"),i=0;c&&i<c.length&&g===l;i++){var f=c[i];f!=this&&(g=f.get(a))}return g!==l?g:d}return b.prototype.get.call(this,a,d)};return a});
define("ds",["require","mR","lz","gD","ja"],function(a){var b=a("mR"),e=a("lz"),d=a("gD"),g=a("ja"),a=b.G("Video360",d,function(){d.call(this);this.An=this.vG=this.cb=l});a.prototype.set=function(a,b){"video"==a?this.xza(b):"videoStereo"==a?this.yza(b):d.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){return"video"==a?this.cb!==l?this.cb:b:"videoStereo"==a?this.vG!==l?this.vG:b:d.prototype.get.call(this,a,b)};a.prototype.xza=function(a){this.cb!=a&&(this.cb=a,a=d.prototype.get.call(this,
"frames")||[],this.cb&&(0==a.length&&a.push(new e),a[0].set("sphere",this.lja(this.cb))),d.prototype.set.call(this,"frames",a.slice()))};a.prototype.yza=function(a){this.vG!=a&&(this.vG=a,a=d.prototype.get.call(this,"frames")||[],this.vG&&(0==a.length&&a.push(new e),a[0].set("stereoSphere",this.lja(this.vG))),d.prototype.set.call(this,"frames",a.slice()))};a.prototype.lja=function(a){if(Array.isArray(a)){if(1==a.length&&b.va("Video360Resource",a[0]))return a[0];var d=[];a.forEach(function(a){d=d.concat(a.get("levels")||
[a])});a=new g;a.set("levels",d)}return a};return a});define("bL",["require","mR","nC"],function(a){var b=a("mR"),e=a("nC");return b.G("Video360Player",e,function(){e.call(this)})});
define("jy",["require","mR","cT","hO"],function(a){var b=a("mR"),e=a("cT"),d=a("hO"),a=b.G("Video360PlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.tm,this),a.set("video",this.get("media")),a.set("camera",this.get("camera")),a.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.Kg,this.tm,this),a.get("video")==this.get("media")&&a.set("video",r));
d.prototype.stop.call(this)};a.prototype.tm=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Kg,this.tm,this),this.get("player").bind(e.Il,this.jp,this),this.hy())};a.prototype.jp=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Il,this.jp,this),this.stop(),this.end())};return a});define("nJ",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("Video360ResourceLevel",b,function(){b.call(this)})});
define("nq",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("VideoCue",b,function(){b.call(this)})});
define("cc","require,ll,nV,kn,cu,mR,jN".split(","),function(a){var b=a("ll"),e=a("nV"),d=a("kn"),g=a("cu"),c=a("mR"),i=a("jN"),a=c.G("VideoPanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.play=a.prototype.play=function(){this.set("state",d.Q)};a.prototype.pause=a.prototype.pause=function(){this.set("state",d.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",d.M)};a.prototype.set=function(a,c){var i=B;switch(a){case "state":var k=this.get("state")||d.M;k==d.M&&c==
d.Q&&this.trigger(e.Ns);k!=c&&this.trigger(new g(e.Yd,{oldState:k,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.Qc=l;i=m}b.prototype.set.call(this,a,c);i&&a!="playbackPositions"&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,c){switch(a){case "playbackPositions":if(this.Qc===l)this.Qc=i.e$(this);
return this.Qc}return b.prototype.get.call(this,a,c)};return a});
define("dh","require,dZ,kL,nV,cu,fQ,kn".split(","),function(a){function b(a,b,c){this.time=a;this.cue=b;this.action=c}var e=a("dZ"),d=a("kL"),g=a("nV"),c=a("cu"),i=a("fQ"),f=a("kn"),a=d.extend(i,function(a){i.call(this);this.h=a;this.Cc=r;this.al=B;this.qi=[];this.Xl=l;this.be=[]});a.prototype.clear=function(){this.h=r;this.Lz();this.qi=[];this.be=[]};a.prototype.start=function(a){this.end();this.H6(a);this.v0();this.j7();this.LB()};a.prototype.H6=function(a){this.Lz();this.Cc=a;this.Cc.bind(g.u("currentTime"),
this.LB,this,m);this.Cc.bind(g.u("state"),this.j7,this,m);this.Cc.bind(g.hb,this.bN,this,m)};a.prototype.Lz=function(){if(this.Cc){this.Cc.unbind(g.u("currentTime"),this.LB,this);this.Cc.unbind(g.u("state"),this.j7,this);this.Cc.unbind(g.hb,this.bN,this);this.Cc=r}};a.prototype.end=function(){this.DI();this.Lz();this.al=B};a.prototype.j7=function(a){a=a!=f.M;if(this.al!=a)(this.al=a)?this.UU():this.DI()};a.prototype.bN=function(){this.LB()};a.prototype.UU=function(){this.Xl=this.ZD=0};a.prototype.LB=
function(){if(this.Cc&&this.al){var a=this.be.slice(),b=this.Cc.get("currentTime",0),d=b-this.ZD;if(d<0){this.be=[];this.Xl=0}d=d>=0&&d<2;this.ZD=b;var f;for(f=this.Xl;f<this.qi.length;f++)if(this.qi[f].time>b)break;for(;this.Xl<f;this.Xl++){b=this.qi[this.Xl];if(b.action=="start"){this.be=e(this.be).union([b.cue]);d&&b.cue.trigger(new c(g.iq))}else{this.be=e(this.be).difference([b.cue]);d&&b.cue.trigger(new c(g.hb))}}(a.length!=this.be.length||e(a).intersection(this.be).length!=this.be.length)&&
this.JM()}};a.prototype.DI=function(){if(this.be.length>0){this.be=[];this.JM()}};a.prototype.JM=function(){this.Cc.trigger(new c(g.tk,{activeCues:this.be.slice()}))};a.prototype.v0=function(){this.qi=[];var a=this.Cc.get("cues",[]);e(a).each(function(a){this.qi.push(new b(a.get("startTime",0),a,"start"));this.qi.push(new b(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.qi.sort(function(a,b){return a.time==b.time?a.action==b.start?0:a.action=="start"?-1:1:a.time-b.time})};return a});
define("mU","require,kL,bf,cu,fQ,nV,lA".split(","),function(a){var b=a("kL"),e=a("bf"),d=a("cu"),g=a("fQ");a("nV");a("lA");var c=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.$A=[];this.ca=c.ih;this.Oh=r;this.Y0=l;this.ri=r;this.jg=this.Cg=l});c.prototype.display=function(a,b){this.c0();if(this.ri!=a||this.ca!=c.ih){this.$A.push({video:a,startTime:b});this.Dka()}};c.prototype.hide=function(){this.c0();this.$A.push({video:r,startTime:l});this.Dka()};c.prototype.clear=function(){this.ca=
c.ih;this.c0();this.yIa();this.kma();this.h=r};c.prototype.Xg=function(a){if(this.ca!=c.ih&&(this.ca==c.bn||this.ca==c.Rv||this.ca==c.qz)){this.jg=this.jg+a;a=Math.min(1,this.jg/this.Cg);if(this.ca==c.bn)this.Oh.set("opacity",a);else if(this.ca==c.qz){this.Oh.set("opacity",Math.min(1,a*2));this.ri.set("opacity",Math.min(1,(1-a)*2))}else this.ri.set("opacity",1-a);this.jg<this.Cg?this.Ba():this.zw()}};c.prototype.Dka=function(){this.$A.length>0&&this.ca==c.ih&&this.Fo()};c.prototype.Fo=function(){this.ri&&
this.trigger(new d(c.$y,{video:this.ri}));if(this.J.get("transitionMode","blending")=="fade_out_fade_in"&&this.ri)this.Zv();else{var a=this.$A.shift();this.Oh=a.video;this.Y0=a.startTime;this.Oh?this.Oh.get("chromaColor")&&this.ri?this.G_():this.uI():this.ri&&this.Zv()}};c.prototype.uI=function(){this.Yda();this.jg=0;this.Cg=this.J.get("transitionDuration");this.ca=c.bn;this.Ba()};c.prototype.G_=function(){this.Yda();this.jg=0;this.Cg=this.J.get("transitionDuration")*2;this.ca=c.qz;this.Ba()};c.prototype.Zv=
function(){this.Oh=r;this.jg=0;this.Cg=this.J.get("transitionDuration");this.ca=c.Rv;this.Ba()};c.prototype.zw=function(){this.kma();this.ri=this.Oh;this.Oh=r;this.ca=c.ih;this.ri?this.trigger(new d(c.az,{video:this.ri})):this.$A.length==0&&this.trigger(new d(c.Iba));this.$A.length!=0&&this.Fo()};c.prototype.Ba=function(){e.vb(this.Xg,this)};c.prototype.c0=function(){this.$A=[]};c.prototype.Yda=function(){if(this.Oh){this.Oh.set("opacity",0);this.Oh.set("zIndex",1);this.ri&&this.ri.set("zIndex",0);
this.Oh.set("currentTime",this.Y0||0);this.h.XNa(this.Oh);this.trigger(new d(c.cZ,{video:this.Oh,startTime:this.Y0}))}};c.prototype.kma=function(){if(this.ri){this.h.qua(this.ri);this.trigger(new d(c.eP,{video:this.ri}));this.ri=r}};c.prototype.yIa=function(){if(this.Oh){this.h.qua(this.Oh);this.trigger(new d(c.eP,{video:this.Oh}));this.Oh=r}};c.ih="stopped";c.bn="blending";c.qz="double blending";c.Rv="disolving";c.ob="request frame";c.cZ="video added";c.eP="video removed";c.az="video show";c.$y=
"video hide";c.Iba="all pending videos hidden";return c});
define("iK","require,kL,nV,cu,fQ,kn".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("cu"),g=a("fQ"),c=a("kn"),i=b.extend(g,function(){g.call(this);this.Cc=r;this.Le=B;this.K0=c.M});i.prototype.start=function(a){this.end();this.H6(a)};i.prototype.end=function(){this.stop();this.Lz()};i.prototype.clear=function(){this.Lz()};i.prototype.play=function(){this.Cc&&this.Cc.set("state",c.Q)};i.prototype.pause=function(){this.Cc&&this.Cc.set("state",c.Db)};i.prototype.stop=function(){this.Cc&&this.Cc.set("state",
c.M)};i.prototype.kf=function(a){this.Le=a;this.Cc&&this.Cc.set("mute",this.Le)};i.prototype.setTime=function(a){this.Cc&&this.Cc.set("currentTime",a)};i.prototype.getTime=function(){if(this.Cc)return this.Cc.get("currentTime")};i.prototype.H6=function(a){this.Lz();this.Cc=a;this.Cc.set("mute",this.Le);this.Cc.bind(e.u("state"),this.$F,this,m);this.Cc.bind(e.u("currentTime"),this.MB,this,m);this.Cc.bind(e.hb,this.bN,this,m)};i.prototype.Lz=function(){if(this.Cc){this.Cc.unbind(e.u("state"),this.$F,
this);this.Cc.unbind(e.u("currentTime"),this.MB,this);this.Cc.unbind(e.hb,this.bN,this);this.Cc=r}};i.prototype.MB=function(){this.trigger(new d(i.bz,{video:this.Cc,time:this.Cc.get("currentTime"),duration:this.Cc.get("duration")}))};i.prototype.bN=function(){this.trigger(new d(i.UH,{video:this.Cc}))};i.prototype.$F=function(){var a=this.Cc.get("state");if(this.K0!=a){this.K0=a;this.trigger(new d(i.mc,{state:this.K0}))}};i.mc="playback state change";i.UH="video end";i.bz="video time change";return i});
define("nj","require,kL,kn,cu,fQ,dh,mU,iK".split(","),function(a){var b=a("kL"),e=a("kn"),d=a("cu"),g=a("fQ"),c=a("dh"),i=a("mU"),f=a("iK"),j=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.Ca=new i(this.J,this.h);this.za=new f(this.h);this.No=new c(this.h);this.Ca.bind(i.$y,this.jp,this,m);this.Ca.bind(i.az,this.tm,this,m);this.Ca.bind(i.cZ,this.ila,this,m);this.Ca.bind(i.eP,this.jla,this,m);this.Ca.bind(i.Iba,this.vGa,this,m);this.za.bind(f.mc,this.Ae,this,m);
this.za.bind(f.UH,this.tx,this,m);this.za.bind(f.bz,this.gL,this,m)});j.prototype.clear=function(){this.Ca.clear();this.za.clear();this.No.clear();this.Ca.unbind(i.$y,this.jp,this);this.Ca.unbind(i.az,this.tm,this);this.Ca.unbind(i.cZ,this.ila,this);this.Ca.unbind(i.eP,this.jla,this);this.za.unbind(f.mc,this.Ae,this);this.za.unbind(f.UH,this.tx,this);this.za.unbind(f.bz,this.gL,this);this.J=this.h=this.No=this.za=this.Ca=r};j.prototype.BTa=function(a,b){this.h.set("visible",m);this.Ca.display(a,b)};
j.prototype.iv=function(){this.Ca.hide();this.za.end();this.No.end()};j.prototype.play=function(){this.za.play()};j.prototype.stop=function(){this.za.stop()};j.prototype.pause=function(){this.za.pause()};j.prototype.kf=function(a){this.za.kf(a)};j.prototype.setTime=function(a){this.za.setTime(a)};j.prototype.getTime=function(){return this.za.getTime()};j.prototype.ila=function(a){var b=a.data.video;this.za.start(b,a.data.startTime);this.No.start(b)};j.prototype.jla=G();j.prototype.tm=function(a){a=
a.data.video;a.get("autoplay")&&a.get("state")!=e.Q&&a.get("state")!=e.Db&&a.set("state",e.Q);this.trigger(new d(j.az,{video:a}))};j.prototype.jp=function(a){this.trigger(new d(j.$y,{video:a.data.video}))};j.prototype.vGa=function(){this.h.set("visible",B)};j.prototype.tx=function(a){this.trigger(new d(j.UH,{video:a.data.video}))};j.prototype.gL=function(a){this.trigger(new d(j.bz,{video:a.data.video,time:a.data.time,duration:a.data.duration}))};j.prototype.Ae=function(a){this.trigger(new d(j.mc,
{state:a.data.state}))};j.az="videoShow";j.$y="videoHide";j.UH="videoEnd";j.bz="videoTimeChange";j.mc="playbackStateChange";return j});
define("im",["require","kL","nV","kn","du"],function(a){var b=a("kL"),e=a("nV"),d=a("kn"),g=a("du"),a=b.extend(g,function(a,b){g.call(this,a);this.S=b;this.S.bind(e.u("video"),this.bL,this);this.S.bind(e.Yd,this.bL,this);this.bL()});a.prototype.clear=function(){this.S&&(this.S.unbind(e.u("video"),this.bL,this),this.S.unbind(e.Yd,this.bL,this),this.S=r);g.prototype.clear.call(this)};a.prototype.bL=function(){this.Raa(this.S.get("state")!=d.M?this.S.get("video"):r)};return a});
define("eT","require,kL,nV,bb,e,dK,im".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("bb"),g=a("e"),c=a("dK"),i=a("im"),a=b.extend(g,function(a,b,n){g.call(this);this.Wb=a;this.J=b;this.S=n;this.set("toolTipDisabled",m);this.set("cursor",d.Fv);this.bind(e.uc,this.Sb,this,m);this.eG=new i(b,n);this.vF=new c.Cca;this.vF.Caa(c.Cca.fZ);this.vF.Hf(this.JT=B);[this.eG.Ac(),this.vF.Ac()].forEach(function(a,b){this.sb().append(a);a.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden",
"z-index":b})}.bind(this))});a.prototype.Kaa=function(a,b){if(this.JT!=a){this.JT=a;this.vF.Iua(b);this.vF.Hf(a)}};a.prototype.Sb=function(){this.JU=m;var a=this.Ra(),b=this.yb();this.vF.setSize(a,b)};return a});
define("lF","require,kL,nV,bb,d,ns,fm,fR,eT".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("bb"),g=a("d"),c=a("ns"),i=a("fm"),f=a("fR"),j=a("eT"),a=b.extend(c,function(a,b,f){c.call(this);this.Wb=a;this.J=b;this.S=f;this.ie("Renderer");this.set("toolTipDisabled",m);this.set("cursor",d.Fv);this.set("layout",g.RO);this.Qb=this.wa=this.Qd=r;this.HV=[];this.cN=[];this.bind(e.uc,this.Sb,this,m);this.RM()});a.prototype.kb=function(){c.prototype.kb.call(this);if(this.Qd==r){this.Qd=new f(this.Wb,B);
this.Qd.Y({left:0,top:0,right:0,bottom:0});this.La(this.Qd);this.NBa();this.hBa();this.HV.forEach(function(a){this.Dfa(a)}.bind(this))}if(this.Qb==r){this.Qb=new j(this.Wb,this.J,this.S);this.Qb.Y({left:0,top:0,right:0,bottom:0});this.La(this.Qb);this.RM()}};a.prototype.XNa=function(a){this.HV.push(a);this.Qd&&this.Dfa(a)};a.prototype.NBa=function(){this.wa=this.Qd.td("Scene");this.wa.B(i.Scene).backgroundColor="transparent";this.Qd.dqa(this.wa)};a.prototype.hBa=function(){this.na=this.Qd.td("Camera");
var a=this.na.B(i.OrthographicCamera);a.width=this.Re();a.height=this.Qe();this.na.B(i.wb).Kb=this.wa;this.wa.D(i.Scene).Un=this.na};a.prototype.Sb=function(){if(this.na){var a=this.na.D(i.OrthographicCamera);a.width=this.Re();a.height=this.Qe()}};a.prototype.Dfa=function(a){var b=this.Qd.td("Video");b.B(i.wb).Kb=this.wa;b.B(i.Mesh).Cb=a;var c=b.B(i.Qv);c.Cb=a;c.Un=this.na;c=b.B(i.Ov);c.Cb=a;c.mwa=a.get("video");c.Ga=a;this.cN.push(b);this.RM()};a.prototype.qua=function(a){a=this.HV.indexOf(a);if(!(a<
0)){this.HV.splice(a,1);this.Qd&&this.fCa(this.cN[a])}};a.prototype.fCa=function(a){var b=this.cN.indexOf(a);if(!(b<0)){this.cN.splice(b,1);this.Qd.Ef(a);this.RM()}};a.prototype.Kaa=function(a){this.JT=a;this.RM()};a.prototype.RM=function(){this.Qb&&this.Qb.Kaa(this.JT&&this.cN.length>0)};return a});
define("kF","require,kL,nV,mR,ia,kn,nj,lF".split(","),function(a){var b=a("kL"),e=a("nV"),d=a("mR"),g=a("ia"),c=a("kn"),i=a("nj"),f=a("lF"),a=d.G("VideoPlayer",g,function(){g.call(this,"video");this.Oo=this.TU=this.MB=this.Fh=B;this.C=this.h=r;this.ab=this.rd=0;this.Nd=b.aq(this.Dg,this)});a.prototype.seek=function(a){this.oB(a)};a.prototype.play=function(){this.XA()};a.prototype.pause=function(){this.WA()};a.prototype.stop=function(){this.rx()};a.prototype.restart=function(){this.ox()};a.prototype.set=
function(a,b){if(this.get(a)!=b){switch(a){case "startTime":this.TU=m;this.Nd();break;case "video":this.MB=m;this.Nd();break;case "viewerArea":this.Fh=m;this.Nd();break;case "displayPlaybackBar":this.Oo=m;this.Nd()}g.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.C&&this.C.getTime()||0}return g.prototype.get.call(this,a,b)};a.prototype.Dg=function(){if(this.Fh){this.Fh=B;this.qt();this.get("viewerArea")&&this.nt();this.cM(this.get("viewerArea"));
this.MB=m}var a=B;if(this.h&&(this.MB||this.TU)){var b=this.get("video"),c=this.get("startTime")||0;if(b&&!this.h.tb()){this.Nd();return}this.TU=this.MB=B;this.ab=this.rd=0;a=m;if(b){this.vH();this.C.BTa(b,c)}else this.C.iv()}if(this.Oo){this.Oo=B;a=m}a&&this.Nu()};a.prototype.bG=function(){this.set("video",r)};a.prototype.nt=function(){var a=this.get("application"),b=this.get("viewerArea");this.h=new f(a,b,this);this.h.Y({left:0,top:0,bottom:0,right:0});b.La(this.h);b.bind(e.oa,this.nla,this,m);
this.C=new i(b,this.h);this.C.bind(i.az,this.tm,this);this.C.bind(i.$y,this.jp,this);this.C.bind(i.bz,this.gL,this,m);this.C.bind(i.mc,this.Ae,this);a.bind(e.u("mute"),this.PK,this);this.C.kf(a.get("mute",B));this.Qx(m)};a.prototype.qt=function(){if(this.h){this.C.unbind(i.az,this.tm,this);this.C.unbind(i.$y,this.jp,this);this.C.unbind(i.bz,this.gL,this);this.C.unbind(i.mc,this.Ae,this);this.C.clear();this.get("application").unbind(e.u("mute"),this.PK,this);var a=this.h.getParent();a.removeChild(this.h);
a.unbind(e.oa,this.nla,this,m);this.h=r;this.Qx(B)}};a.prototype.PK=function(){this.h&&this.C.kf(this.get("application").get("mute",B))};a.prototype.Ae=function(a){a=a.data.state;this.h&&this.h.Kaa(this.get("displayPlayOverlay")&&a!=c.Q,this.rd<0.5);this.hc(a)};a.prototype.tm=function(a){var b=this.get("viewerArea");(this.Ed=b&&b.Ed)&&this.Ed.bind(e.oa,this.ola,this,m);this.p5=B;this.gK(a.data.video)};a.prototype.jp=function(a){this.Ed&&this.Ed.unbind(e.oa,this.ola,this,m);this.Ed=r;this.fK(a.data.video)};
a.prototype.gL=function(a){this.rd=a.data.time;this.ab=a.data.duration;this.Nu()};a.prototype.nla=function(){if(this.p5)this.p5=B;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=c.Q?this.C.play():this.C.pause()}};a.prototype.ola=function(){this.p5=m};a.prototype.rL=function(a){this.oB(a.data.position)};a.prototype.Wj=function(){this.C.play()};a.prototype.Mn=function(){this.C.stop()};a.prototype.lp=function(){this.C.pause()};a.prototype.oB=function(a){this.C&&this.C.setTime(a)};
a.prototype.Nu=function(){if(this.h){var a=this.h.getParent();this.ab>0&&this.get("displayPlaybackBar")?a.Y({playbackBarPosition:this.rd,playbackBarDuration:this.ab,playbackBarVisible:m}):a.set("playbackBarVisible",B)}};return a});
define("f",["require","mR","cT","hO"],function(a){var b=a("mR"),e=a("cT"),d=a("hO"),a=b.G("VideoPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.tm,this),a.set("video",this.get("media")),a.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.Kg,this.tm,this),a.get("video")==this.get("media")&&a.set("video",r));d.prototype.stop.call(this)};a.prototype.tm=
function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Kg,this.tm,this),this.get("player").bind(e.Il,this.jp,this),this.hy())};a.prototype.jp=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Il,this.jp,this),this.stop(),this.end())};return a});define("hb",["require","ll","mR"],function(a){var b=a("ll");return a("mR").G("VideoResourceLevel",b,function(){b.call(this)})});
define("ek",["require","ll","mR","le","hb"],function(a){var b=a("ll"),e=a("mR"),d=a("le"),g=a("hb"),a=e.G("VideoResource",b,function(){b.call(this);this.k4=new g;this.k4.set("type","video/mp4");this.q4=new g;this.q4.set("type","video/ogg");this.Z8=new g;this.Z8.set("type","video/webm")});a.prototype.get=function(a,d){switch(a){case "levels":var d=[],e=this.get("mp4Url");e&&(this.k4.set("url",e),d.push(this.k4));if(e=this.get("oggUrl"))this.q4.set("url",e),d.push(this.q4);if(e=this.get("webmUrl"))this.Z8.set("url",
e),d.push(this.Z8);d.forEach(function(a){a.set("width",this.get("width"));a.set("height",this.get("height"))}.bind(this))}return b.prototype.get.call(this,a,d)};a.prototype.gi=function(){var a=this.get("webmUrl"),b=this.get("oggUrl"),e=this.get("mp4Url");return e&&d.TW?e:a&&d.n$?a:b&&d.m$?b:e||a||b};return a});define("do",["require","mR","eS"],function(a){var b=a("mR"),e=a("eS");return b.G("VignetteModel3DPostprocessing",e,function(){e.call(this)})});
define("dD","require,jquery.mod,kL,nV,u,lG,e,gg".split(","),function(a){var b=a("jquery.mod"),e=a("kL"),d=a("nV"),g=a("u"),c=a("lG"),i=a("e"),f=a("gg"),a=e.extend(i,function(){i.call(this);this.ie("WebFrame");this.YJ=this.aA=this.gc=this.Jd=r;this.E4=this.E4.bind(this);this.PS=this.PS.bind(this);this.bind(d.Wc,this.EHa,this,m);this.bind(d.cd,this.DHa,this,m)});a.prototype.Ya=function(){i.prototype.Ya.call(this);this.f("url");this.f("backgroundColor","#ffffff");this.f("insetBorder",B);this.f("scrollEnabled",
m);this.f("unloadWhenHidden",m)};a.prototype.EHa=function(){this.uB("url")};a.prototype.DHa=function(){this.uB("url")};a.prototype.kb=function(){i.prototype.kb.call(this);if(!this.Jd){this.Jd=b("<div></div>");this.Jd.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"});this.sb().append(this.Jd)}if(!this.gc){this.gc=b("<iframe></iframe>");this.gc.css({position:"absolute",left:0,top:0});this.gc.attr("allowfullscreen","true");this.gc.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking");
this.Jd.append(this.gc)}if(!this.aA){this.aA=b("<div></div>");this.aA.css({"text-shadow":"0 0 5px rgba(255,255,255,0.5)",display:"none",color:"#000000","font-weight":"300","font-family":"Tahoma, Geneva, sans-serif","font-size":g.mb()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"});this.Jd.append(this.aA)}};a.prototype.Ja=function(){if(this.v("url")){var a=this.p("url");a&&this.Qw?this.dna(a):(!a||this.get("unloadWhenHidden"))&&
this.dna("");this.H("url")}if(this.v("insetBorder")){this.p("insetBorder")?this.gc.attr("frameborder","1"):this.gc.attr("frameborder","0");this.H("insetBorder")}if(this.v("scrollEnabled")){if(this.p("scrollEnabled")){this.gc.attr("scrolling","auto");this.Jd.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})}else{this.gc.attr("scrolling","no");this.Jd.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})}this.H("scrollEnabled")}i.prototype.Ja.call(this)};a.prototype.Jg=function(){this.gc&&
f.css(this.gc.get(0),{width:this.X+"px",height:this.ia+"px"});i.prototype.Jg.call(this)};a.prototype.refresh=function(){if(this.p("url")&&this.Qw){this.R2();this.hw();this.S7();this.gc.attr("src","");setTimeout(function(){this.Pna();this.Bea();this.gc.attr("src",this.p("url"))}.bind(this),30)}};a.prototype.dna=function(a){if(this.gc.attr("src")!=a){this.R2();if(a){this.Pna();this.Bea()}else{this.hw();this.S7()}this.gc.attr("src",a)}};a.prototype.E4=function(){this.YJ=r;this.IFa()&&this.FKa()};a.prototype.PS=
function(){this.R2();this.hw();this.S7()};a.prototype.Bea=function(){this.gc.on("load",this.PS)};a.prototype.S7=function(){this.gc.off("load",this.PS)};a.prototype.hw=function(){if(this.YJ){clearTimeout(this.YJ);this.YJ=r}};a.prototype.Pna=function(){this.hw();this.YJ=setTimeout(this.E4.bind(this),3E3)};a.prototype.IFa=function(){if(window.location.protocol=="https:"){var a=this.gc.attr("src");if(c.parse(a).protocol!="https:")return m}return B};a.prototype.FKa=function(){this.aA.text("A secure web page served over HTTPS can not display insecure content served over HTTP.");
this.aA.show()};a.prototype.R2=function(){this.aA.hide()};return a});define("ci",["require","dD","mR"],function(a){var b=a("dD"),a=a("mR").G("WebFrame",b,function(){b.call(this)});a.prototype.refresh=function(){b.prototype.refresh.call(this)};return a});define("lf",["require","dZ","kL","ns","d"],function(a){var b=a("dZ"),e=a("kL"),d=a("ns"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.sg};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.ln(g.fc)};return g});
define("lQ","require,dZ,kL,nV,cu,mn,d,ns,lf,gV,fG,e,mJ,nb,ix".split(","),function(a){var b=a("dZ"),e=a("kL"),d=a("nV"),g=a("cu"),c=a("mn"),i=a("d"),f=a("ns"),j=a("lf"),n=a("gV"),k=a("fG");a("e");a("mJ");a("nb");var o=a("ix"),p=e.extend(n,function(){n.call(this);this.ie("Window");this.aw=this.SD=this.AM=this.Hk=r;this.M_=new f;this.tE=r;this.K2=this.J2=0;this.wB=this.Dna=B;this.a9=this.b9=l;for(var a in p.$Ua)this.uB(a);this.bind(d.uc,this.FNa,this);this.bind(d.VH,this.DNa,this);this.bind(d.$H,this.GNa,
this);this.bind(d.oa,this.CNa,this);this.BV=0;this.ff=new f;this.ff.Y({visible:B,includeInLayout:B,layout:"absolute",height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:B});this.ff.bind(d.uc,this.Jpa,this);this.ff.bind(d.$H,this.wNa,this);this.ff.bind(d.VH,this.vNa,this);this.ff.bind(d.oa,this.uNa,this);this.ff.La(this)});p.prototype.set=function(a,b){switch(a){case "maxWidth":this.b9=b;this.rV();break;case "maxHeight":this.a9=b;this.rV();break;case "children":this.M_.set(a,b);break;case "shadow":this.Dna=
b;this.Dpa();break;default:n.prototype.set.call(this,a,b)}};p.prototype.show=function(a,c){this.rV(a);this.set("visible",B);this.ff.set("visible",B);this.wza();c&&this.jOa();var d=a.get("children");a.set("children",d.concat([this.ff]));var e=this;b.defer(function(){e.ff.set("visible",m)})};p.prototype.wza=function(){var a=this.p("modal"),b=this.p("veilShowEffect"),c=this.p("veilHideEffect");a&&b?this.ff.set("showEffect",b):this.ff.set("showEffect",r);a&&c?this.ff.set("hideEffect",c):this.ff.set("hideEffect",
r)};p.prototype.hide=function(){this.get("visible")&&this.trigger(d.wwa);this.BV=0;this.DU(B);this.set("visible",B)};p.prototype.jOa=function(){this.set("centerX",0);this.set("centerY",0)};p.prototype.get=function(a,b){return a=="children"?this.M_.get(a,b):n.prototype.get.call(this,a,b)};p.xda={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.wda=b(p.xda).keys();p.SZ={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius",borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};p.RZ=["borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderTopRadius","borderRadius"];p.Pda={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.Oda=b(p.Pda).keys();p.rda={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.qda=b(p.rda).keys();p.tda={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.sda=b(p.tda).keys();p.vda={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius",
borderBottomRightRadius:"borderBottomRightRadius"};p.uda=["borderLeftRadius","borderRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomRadius","borderRadius"];p.nda={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.mda=b(p.nda).keys();p.oda={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};p.bya=b(p.oda).keys();p.Rda={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};p.Qda=b(p.Rda).keys();p.fc=function(){var a={modal:B,visible:B,centerX:0,centerY:0,veilShowEffect:l,veilHideEffect:l};
b.defaults(a,f.fc);for(var c=[].concat(p.wda,p.Oda,p.qda,p.mda,p.sda,p.Qda),d=0;d<c.length;d++)a[c[d]]=l;return a}();p.prototype.Ya=function(){this.ln(p.fc)};p.prototype.kb=function(){n.prototype.kb.call(this);if(this.Hk==r){this.Hk=new j;this.Hk.set("width","100%");this.Hk.bind(d.Hb,this.VEa,this);this.La(this.Hk)}if(this.AM==r){this.AM=new o;this.AM.set("width","100%");this.Hk.La(this.AM)}if(this.SD==r){this.SD=new k;this.SD.Y({horizontalAlign:c.ke,verticalAlign:c.Sd});this.SD.bind(d.oa,this.NAa,
this);this.Hk.La(this.SD)}if(this.aw==r){this.aw=this.M_;this.aw.Y({width:"100%",height:"100%"});this.La(this.aw)}if(this.tE==r){this.tE=new f;this.tE.set("width","100%");this.La(this.tE)}};p.prototype.uNa=function(){this.BV++;setTimeout(function(){this.BV>0&&this.hide()}.bind(this),100)};p.prototype.CNa=function(){this.BV--};p.prototype.NAa=function(){this.hide()};p.prototype.VEa=function(a){this.J2=a.pageX;this.K2=a.pageY;this.tb().bind(d.Vc,this.Vpa,this,m);this.tb().bind(d.ic,this.Wpa,this,m)};
p.prototype.Vpa=function(a){this.set("centerX",this.get("centerX")+(a.pageX-this.J2));this.set("centerY",this.get("centerY")+(a.pageY-this.K2));this.J2=a.pageX;this.K2=a.pageY;this.Cpa()};p.prototype.Wpa=function(){this.tb().unbind(d.Vc,this.Vpa,this);this.tb().unbind(d.ic,this.Wpa,this)};p.prototype.Jpa=function(){this.rV()};p.prototype.wNa=function(){this.set("visible",m)};p.prototype.vNa=function(){this.ff.unbind(d.uc,this.Jpa,this);var a=this.ff.getParent();a&&a.removeChild(this.ff);this.trigger(new g(d.VC))};
p.prototype.FNa=function(){this.Cpa()};p.prototype.GNa=function(){this.DU(m)};p.prototype.DNa=function(){this.ff.set("visible",B)};p.prototype.DU=function(a){this.wB=a;this.Dpa()};p.prototype.Dpa=function(){n.prototype.set.call(this,"shadow",this.wB&&this.Dna)};p.prototype.rV=function(a){a||(a=this.Z);this.b9!==l?n.prototype.set.call(this,"maxWidth",this.b9):a?n.prototype.set.call(this,"maxWidth",a.Ra()):n.prototype.set.call(this,"maxWidth",l);this.a9!==l?n.prototype.set.call(this,"maxHeight",this.a9):
a?n.prototype.set.call(this,"maxHeight",a.yb()):n.prototype.set.call(this,"maxHeight",l)};p.prototype.Cpa=function(){var a=this.ff.Ra(),b=this.Ra(),c=this.get("centerX"),b=a*0.5+c-b*0.5,d=this.Hk.ql(),e=this.Hk.Ra(),f=Math.min(e,30),a=a-d-f,d=-(d+e-f);b<d?this.set("centerX",c+(d-b)):b>a&&this.set("centerX",c-(b-a));a=this.ff.yb();b=this.yb();c=this.get("centerY");b=a*0.5+c-b*0.5;d=this.Hk.Ur();e=this.Hk.yb();f=Math.min(e,5);a=a-d-f;d=-(d+e-f);b<d?this.set("centerY",c+(d-b)):b>a&&this.set("centerY",
c-(b-a))};p.prototype.Ja=function(){this.Vb(p.wda,p.xda,[this.Hk],m,m);this.Vb(p.RZ,p.SZ,[this.Hk],m,B);this.get("headerHeight")===0?this.Vb(p.RZ,p.SZ,[this.aw],m,B):this.Vb(p.RZ,p.SZ,[this.Hk],m,B);this.Vb(p.Oda,p.Pda,[this.AM],m,m);this.Vb(p.qda,p.rda,[this.SD],m,m);this.Vb(p.mda,p.nda,[this.aw],m,m);this.Vb(p.bya,p.oda,[this.aw],m,B);this.Vb(p.sda,p.tda,[this.tE],m,m);this.get("footerHeight")===0?this.Vb(p.uda,p.vda,[this.aw],m,B):this.Vb(p.uda,p.vda,[this.tE],m,B);if(this.p("modal")){this.Vb(p.Qda,
p.Rda,[this.ff],m,m);this.ff.set("contentOpaque",m)}else{this.ff.set("backgroundOpacity",0);this.ff.set("contentOpaque",B)}this.Y({layout:i.hh,horizontalAlign:c.ke,verticalAlign:c.Sd});n.prototype.Ja.call(this);this.un.MX(0)};return p});define("ea",["require","lQ","mR"],function(a){var b=a("lQ"),a=a("mR").G("Window",b,function(){b.call(this)});a.prototype.show=a.prototype.show;a.prototype.hide=a.prototype.hide;return a});
define("mr","require,jquery.mod,dZ,jY,nV,hA,cu,fQ,bf,nz,bD,jV,lA,u,kL".split(","),function(a){function b(a){this.source=a;this.width=this.source.get("width");this.height=this.source.get("height");this.url=this.source.get("url");this.bH=this.source.get("grayscale");this.$u=new p(i.Zm)}var e=a("jquery.mod"),d=a("dZ"),g=a("jY"),c=a("nV"),i=a("hA"),f=a("cu"),j=a("fQ"),n=a("bf"),k=a("nz"),o=a("bD"),p=a("jV"),q=a("lA"),t=a("u"),s=a("kL"),u=s.extend(j,function(){j.call(this);this.OS=this.OS.bind(this);this.ug=
r;this.ce=[];this.mm=[];this.Ib=this.qb=this.md=this.dd=100;this.Ne=1;this.gw=this.fw=0.5;this.kc=1;this.Qi=this.ui=r;this.CT=B;this.A0={};this.YD={};this.YD.low={};this.YD.hight={};if(t.HG()==t.RH){this.YD.low.transform="translateZ(0)";this.YD.hight.transform=""}this.K=B;this.ph="inherit";this.ba=e("<div/>").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.zJ=r;this.ze=s.aq(this.V,this)});u.prototype.Ac=S("ba");u.prototype.By=function(a){if(this.df!=a){this.df=a;this.A_(1);
this.ze()}};u.prototype.fSa=function(a){if(this.ph!=a){this.ph=a;this.Qi&&this.Qi.css("cursor",this.ph);this.ui&&this.ui.css("cursor",this.ph)}};u.prototype.uSa=function(a){if(this.ce!=a){this.ce&&g.da(this.ce,["levels.url"],this.OS,m);(this.ce=a)&&g.ea(this.ce,["levels.url"],this.OS,m)}};u.prototype.OS=function(){this.a0();this.ug=r;if(this.ui){this.ui.detach();this.ui=r}if(this.Qi){this.Qi.detach();this.Qi=r}if(this.Mf)this.Mf=r;this.a0();this.CT=B;d(this.mm).each(function(a){a.$u.cancel();a.$u.unbind(c.T,
this.Aia,this)},this);var a=(this.ce&&this.ce.get("levels")||[]).filter(function(a){return a.get("url")});this.mm=d(a).map(function(a){a=new b(a);a.$u.bind(c.T,this.Aia,this);return a},this);if(a=this.XDa()){this.qb=a.width;this.Ib=a.height}else this.Ib=this.qb=100;this.gw=this.fw=0.5;this.A_(1);this.ze()};u.prototype.AC=function(a,b){if(this.dd!=a||this.md!=b){this.dd=a;this.md=b;this.ze()}};u.prototype.gSa=function(a,b){if(this.Ofa!=a||this.Nfa!=b){this.Ofa=a;this.Nfa=b;this.ze()}};u.prototype.vd=
function(a){if(this.K!=a){this.K=a;this.ze()}};u.prototype.move=function(a,b){var c=this.Ne*this.kc;this.fw=this.fw+a/(this.qb*c);this.gw=this.gw+b/(this.Ib*c);this.bU()};u.prototype.iC=S("kc");u.prototype.setScale=function(a){this.A_(Math.max(1,Math.min(1/this.Ne,a)));this.ug&&this.ug.width<this.kc*this.Ne*this.qb&&this.ug.width<this.qb?this.V():this.bU()};u.prototype.Msa=function(a){if(!this.ui)return B;var b=this.ui.offset(),c=a.pageX-b.left,a=a.pageY-b.top;return c>=0&&a>=0&&c<this.ui.width()&&
a<this.ui.height()};u.prototype.V=function(){if(this.K){this.hNa();var a=this.eEa();if(a&&a.$u.tl()){if(a!=this.ug){if(!this.ug){this.ze();this.CT=m}this.dCa(a);this.ug=a}this.jna(r)}else this.jna(a);this.bU()}};u.prototype.hNa=function(){var a;switch(this.df){case q.so:a=this.dd/this.qb;break;case q.Cj:a=this.md/this.Ib;break;case q.mq:a=this.qb*this.md>this.Ib*this.dd?this.md/this.Ib:this.dd/this.qb;break;case q.zwa:a=Math.min(this.Ofa/this.qb,this.Nfa/this.Ib);break;default:a=this.qb*this.md>this.Ib*
this.dd?this.dd/this.qb:this.md/this.Ib}this.sza(a)};u.prototype.Aia=function(){this.ze()};u.prototype.dCa=function(a){if(this.Qi){this.I6(this.Qi,1);this.ui&&this.ui.detach();this.ui=this.Qi}this.Qi=this.yBa(a);this.I6(this.Qi,0);this.ba.append(this.Qi);this.Mf=this.pBa();this.A0={}};u.prototype.eEa=function(){return this.ug?this.pDa(this.kc*this.Ne*this.qb):this.AEa()};u.prototype.jna=function(a){d(this.mm).each(function(b){b==a?b.$u.gi()!=b.url&&b.$u.load(b.url):b.$u.tl()||b.$u.cancel()})};u.prototype.XDa=
function(){return d(this.mm).reduce(function(a,b){a||(a=b);if(b.width>a.width||b.width==a.width&&!b.bH&&a.bH)a=b;return a},r)};u.prototype.AEa=function(){return d(this.mm).reduce(function(a,b){a||(a=b);if(b.width<a.width||b.width==a.width&&b.bH&&!a.bH)a=b;return a},r)};u.prototype.pDa=function(a){return d(this.mm).reduce(function(b,c){b||(b=c);if(c.width>=a&&b.width<a||c.width>=a&&c.width<b.width||c.width<a&&c.width>b.width||!c.bH&&b.bH)b=c;return b},r)};u.prototype.yBa=function(a){a=e(a.$u.hf(m));
a.css({position:"absolute",cursor:this.ph,"pointer-events":"none"});return a};u.prototype.pBa=function(){return new k("linear",[new o("alpha",0,1)],200)};u.prototype.bU=function(){n.vb(function(a){this.JL(a,"low")},this)};u.prototype.U9=function(){return this.qb*this.kc*this.Ne};u.prototype.T9=function(){return this.Ib*this.kc*this.Ne};u.prototype.xra=function(){var a=this.U9();return a>this.dd?Math.max(this.dd-a,Math.min(0,this.dd*0.5-a*this.fw)):(this.dd-a)*0.5};u.prototype.yra=function(){var a=
this.T9();return a>this.md?Math.max(this.md-a,Math.min(0,this.md*0.5-a*this.gw)):(this.md-a)*0.5};u.prototype.JL=function(a,b){var b=b||"low",d=this.U9(),e=this.xra(),g=this.T9(),i=this.yra();this.fw=(this.dd*0.5-e)/d;this.gw=(this.md*0.5-i)/g;var d={left:Math.round(e)+"px",top:Math.round(i)+"px",width:Math.round(d)+"px",height:Math.round(g)+"px",display:"block"},j;for(j in this.YD[b])d[j]=this.YD[b][j];if(this.A0!=d){this.ui&&this.ui.css(d);this.Qi&&this.Qi.css(d);this.A0=d}this.a0();if(this.Mf){this.Mf.ub(a);
this.I6(this.Qi,this.Mf.fb("alpha"));if(this.Mf.Se()){this.Mf=r;this.ui&&this.ui.detach();this.ui=this.Qi;this.Qi=r}this.bU()}else b=="low"&&this.RKa();if(!this.Mf&&this.CT){this.CT=B;this.trigger(new f(c.T))}};u.prototype.I6=function(a,b){a.css({opacity:b,filter:"alpha(opacity="+Math.round(b*100)+")","-ms-filter":"alpha(opacity="+Math.round(b*100)+")"})};u.prototype.a0=function(){if(this.zJ!=r){clearTimeout(this.zJ);this.zJ=r}};u.prototype.RKa=function(){var a=this;this.zJ=setTimeout(function(){a.zJ=
r;a.JL(50,"hight")},50)};u.prototype.A_=function(a){if(this.kc!=a){this.kc=a;this.aMa()}};u.prototype.sza=function(a){if(this.Ne!=a)this.Ne=a};u.prototype.aMa=function(){this.trigger(new f(u.dP,{scale:this.kc}))};u.dP="scaleChange";return u});
define("jM","require,jquery.mod,nV,cu,mr,kL,e,S".split(","),function(a){a("jquery.mod");var b=a("nV"),e=a("cu"),d=a("mr"),g=a("kL"),c=a("e"),i=a("S"),f=g.extend(c,function(){c.call(this);this.ie("ZoomImage");this.nu=this.zm=l;this.jj=B;this.Ola=l;this.dia=this.kc;this.$M=r;this.h=new d;this.h.bind(b.T,this.jHa,this);this.h.bind(d.dP,this.kHa,this);this.sb().append(this.h.Ac());this.bind(b.uc,this.Sb,this,m);this.bind(b.Wc,this.Tj,this,m);this.bind(b.cd,this.Pj,this,m);this.bind(b.Hb,this.Cd,this,
m);this.bind(b.Vc,this.$i,this,m);this.bind(b.ic,this.aj,this,m);this.bind(b.oq,this.KA,this,m);this.bind(b.eD,this.hA,this,m)});f.prototype.set=function(a,b){switch(a){case "scale":this.h.setScale(b);b=this.h.iC();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}c.prototype.set.call(this,a,b)};f.prototype.get=function(a,b){switch(a){case "scale":return this.h.iC();case "imageLeft":return this.h.xra();case "imageTop":return this.h.yra();case "imageWidth":return this.h.U9();
case "imageHeight":return this.h.T9()}return c.prototype.get.call(this,a,b)};f.prototype.Ya=function(){c.prototype.Ya.call(this);this.f("image");this.f("scaleMode");this.f("customHeight");this.f("customWidth");this.f("imageCursor");this.f("imageLeft");this.f("imageTop");this.f("imageWidth");this.f("imageHeight")};f.prototype.Ja=function(){if(this.v("scaleMode")){this.h.By(this.p("scaleMode"));this.H("scaleMode")}if(this.v("image")){this.h.uSa(this.p("image"));this.H("image");this.dia=this.kc}if(this.v("customHeight")||
this.v("customWidth")){this.H("customHeight");this.H("customWidth");this.Sb()}if(this.v("imageCursor")){this.H("imageCursor");this.h.fSa(this.Pa.P0.pra(this.get("imageCursor")))}c.prototype.Ja.call(this)};f.prototype.Sb=function(){var a=this.Ra(),b=this.yb(),c=this.get("customWidth","100%"),d=i.co(c),c=d!==l?a*d/100:c,d=this.get("customHeight","100%"),e=i.co(d);this.h.gSa(c,e!==l?b*e/100:d);this.h.AC(a,b)};f.prototype.Tj=function(){this.h.vd(m)};f.prototype.Pj=function(){this.h.vd(B)};f.prototype.Cd=
function(a){this.zm=a.x;this.nu=a.y;this.jj=m;this.Ola=this.h.Msa(a)};f.prototype.$i=function(a){if(this.jj){this.L8();this.h.move(-(a.x-this.zm),-(a.y-this.nu));this.zm=a.x;this.nu=a.y}};f.prototype.aj=function(a){this.jj=B;!this.Ola&&!this.h.Msa(a)&&this.trigger(new e(f.Gwa))};f.prototype.KA=function(a){this.L8();this.h.setScale((1+a.delta/20)*this.h.iC())};f.prototype.hA=function(a){this.L8();this.h.setScale(a.scale/this.dia)};f.prototype.jHa=function(){this.trigger(new e(b.T))};f.prototype.kHa=
function(){c.prototype.set.call(this,"scale",this.h.iC());this.trigger(new e(f.dP))};f.prototype.L8=function(){if(this.$M){clearTimeout(this.$M);this.$M=r}else this.trigger(new e(f.eh));this.$M=setTimeout(function(){this.$M=r;this.trigger(new e(f.dh))}.bind(this),300)};f.Gwa="backgroundClick";f.dP="scaleChange";f.eh="userInteractionStart";f.dh="userInteractionEnd";return f});define("nd",["require","jM","mR"],function(a){var b=a("jM");return a("mR").G("ZoomImage",b,function(){b.call(this)})});
define("iD","require,mR,iN,hC,mX,eh,dV,eE,nv,jf,iP,fM,fx,hu,iM,jB,lk,nE,gN,hL,G,gs,fq,di,bz,jn,mV,ji,kf,lU,fl,p,iJ,dO,dU,nL,mj,jm,mD,hQ,lr,gJ,N,cG,t,la,fO,Y,jH,bw,bk,mC,np,eR,lw,kX,iF,bI,nw,iU,mz,kv,R,ov,fH,C,ef,iv,fo,bd,fE,eX,gu,if,bF,ol,eS,jp,lI,ic,o,dB,jX,lJ,ie,dX,eL,os,gR,kl,bq,cB,bK,kT,ib,bi,oj,fP,nC,cw,cy,kP,nU,iX,gh,jF,gy,kZ,mI,hp,jP,kd,eo,ij,ck,eD,hO,T,nW,dH,gb,bE,ir,fh,dA,jO,eH,lW,lB,eW,gm,eF,cg,hT,ne,lz,fj,nD,bs,ni,gv,eY,gc,dg,mk,hw,mi,jC,gX,bU,iR,ds,bL,jy,ja,nJ,nq,gD,cc,kF,f,ek,hb,do,by,ci,ea,nd".split(","),
function(a){a("mR");a("iN");a("hC");a("mX");a("eh");a("dV");a("eE");a("nv");a("jf");a("iP");a("fM");a("fx");a("hu");a("iM");a("jB");a("lk");a("nE");a("gN");a("hL");a("G");a("gs");a("fq");a("di");a("bz");a("jn");a("mV");a("ji");a("kf");a("lU");a("fl");a("p");a("iJ");a("dO");a("dU");a("nL");a("mj");a("jm");a("mD");a("hQ");a("lr");a("gJ");a("N");a("cG");a("t");a("la");a("fO");a("Y");a("jH");a("bw");a("bk");a("mC");a("np");a("eR");a("lw");a("kX");a("iF");a("bI");a("nw");a("iU");a("mz");a("kv");a("R");
a("ov");a("fH");a("C");a("ef");a("iv");a("fo");a("bd");a("fE");a("eX");a("gu");a("if");a("bF");a("ol");a("eS");a("jp");a("lI");a("ic");a("o");a("dB");a("jX");a("lJ");a("ie");a("dX");a("eL");a("os");a("gR");a("kl");a("bq");a("cB");a("bK");a("kT");a("ib");a("bi");a("oj");a("fP");a("nC");a("cw");a("cy");a("kP");a("nU");a("iX");a("gh");a("jF");a("gy");a("kZ");a("mI");a("hp");a("jP");a("kd");a("eo");a("ij");a("ck");a("eD");a("hO");a("T");a("nW");a("dH");a("gb");a("bE");a("ir");a("fh");a("dA");a("jO");
a("eH");a("lW");a("lB");a("eW");a("gm");a("eF");a("cg");a("hT");a("ne");a("lz");a("fj");a("nD");a("bs");a("ni");a("gv");a("eY");a("gc");a("dg");a("mk");a("hw");a("mi");a("jC");a("gX");a("bU");a("iR");a("ds");a("bL");a("jy");a("ja");a("nJ");a("nq");a("gD");a("cc");a("kF");a("f");a("ek");a("hb");a("do");a("by");a("ci");a("ea");a("nd");return m});
define("fW","require,dZ,jquery.mod,kL,mR,bT,iD,lG".split(","),function(a){function b(a,b){this.type=a;this.stack=b}function e(){}var d=a("dZ"),g=a("jquery.mod"),c=a("kL"),i=a("mR"),f=a("bT");a("iD");a("lG");e.prototype.iRa=function(a,b,c,d){this.z1=[];this.Jx=this.FF(a);this.uA=l;if(this.Jx.Or.Bra()){this.N8=f.validate(a);this.uA=this.Oga(this.Jx,j.an);this.BBa(this.uA,this.Jx,b,c,d);this.nza(this.Jx);this.lza(this.Jx,this.uA);this.oza(this.uA,this.Jx);this.Fza(this.uA,this.Jx)}else this.cn("Invalid root class",
[]);return this.z1.length==0};e.prototype.tb=function(){return this.Jx.$d};e.prototype.FF=function(a,b){b=b||[];return d(a).isArray()?this.oIa(a,b):g.isPlainObject(a)&&a["class"]?this.rIa(a,b):g.isPlainObject(a)?this.pIa(a,b):d(a).isFunction()?this.qIa(a,b):this.sIa(a,b)};e.prototype.oIa=function(a,b){for(var c=[],d=0;d<a.length;d++){b.push("Item["+d+"]");c.push(this.FF(a[d],b));b.pop()}return new n(b.slice(),c)};e.prototype.rIa=function(a,b){var c=a["class"],d=i.sj(a["class"]);if(d){var e,c={},f=
{},g;for(g in a){b.push(g);var k=a[g];switch(g){case "class":break;case "scripts":e=this.FF(k,b);break;default:d.hasAttribute(g)?c[g]=this.FF(k,b):d.dsa(g)||d.esa(g)?f[g]=this.FF(k,b):this.cn(d.dC()+" object doesn't have any attribute named "+g,b)}b.pop()}return new j(b.slice(),d,a.id,c,f,e)}this.cn("Undefined class name: "+c,b.slice());return new p(b.slice(),r)};e.prototype.pIa=function(a,b){var c={},d;for(d in a){b.push(d);c[d]=this.FF(a[d],b);b.pop()}return new k(b.slice(),c)};e.prototype.qIa=
function(a,b){return new o(b.slice(),a)};e.prototype.sIa=function(a,b){return new p(b.slice(),a)};e.prototype.Oga=function(a,b){for(var c=!b||a.type==b?[a]:[],d=0,e=a.zb();d<e.length;d++)c=c.concat(this.Oga(e[d],b));return c};e.prototype.BBa=function(a,b,c,d,e){b.$d=b.Or.Sp(r,d,e,[c,this.N8]);b.$d.set("application",b.$d);for(c=0;c<a.length;c++){var f=a[c];if(f!=b)f.$d=f.Or.Sp(b.$d,d,e)}};e.prototype.nza=function(a){if(a.scripts)if(a.scripts.type==k.an)for(var b in a.scripts.value)this.mza(a,b);else this.cn("Invalid content.",
a.scripts.stack)};e.prototype.mza=function(a,b){var c=a.$d,e=a.scripts.value[b];d(c[b]).isUndefined()?e&&e.type==o.an?c[b]=function(){return e.bs().apply(c,arguments)}:this.cn("Invalid content.",e.stack):this.cn("Identifier: "+b+" is already in use",e.stack)};e.prototype.lza=function(a,b){for(var c=a.$d,e=0;e<b.length;e++){var f=b[e],g=f.id;if(g)d(c[g]).isUndefined()?c[g]=f.$d:this.cn("Identifier: "+g+" is arleady in use",f.stack)}};e.prototype.oza=function(a,b){for(var c=0;c<a.length;c++){var d=
a[c],e=d.attributes,f;for(f in e)this.kza(d,f,b)}};e.prototype.kza=function(a,b,c){var d=a.Or;if(d.hasAttribute(b)){var e;try{e=a.attributes[b].bs()}catch(f){this.cn("Invalid value for property "+b+" of "+d.dC()+" instance",a.stack)}try{e=d.L9(b)(e,c.$d);a.$d.set(b,e)}catch(g){this.cn("Invalid value for property "+b+" of "+d.dC()+" instance",a.stack)}}else this.cn(d.dC()+" object doesn't have any property named "+b,a.stack)};e.prototype.Fza=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],e;for(e in d.XB)this.Eza(d,
e,b)}};e.prototype.Eza=function(a,b,c){var e=a.Or,f=a.$d,g=e.dsa(b),i=e.esa(b);if(g||i){var a=a.XB[b],j=a.bs();d(j).isFunction()?f.bind(b,j,c.$d,i,j):typeof j=="string"?f.bind(b,function(){try{eval("var event = arguments[0];"+j)}catch(a){h(a)}},c.$d,i,j):this.cn("Invalid value.",a.stack)}else this.cn(e.dC()+" object doesn't have any event named "+b,a.stack)};e.prototype.cn=function(a,b){this.z1.push("In "+b.join(" >> ")+": "+a)};b.prototype.zb=function(){return[]};b.prototype.bs=G();var j=c.extend(b,
function(a,c,d,e,f,g){b.call(this,j.an,a);this.Or=c;this.id=d;this.attributes=e;this.XB=f;this.scripts=g;this.$d=r});j.prototype.zb=function(){var a=this.Or.Jra(),b=[],c=d(this.attributes).clone();if(a)for(var e=0;e<a.length;e++){var f=a[e];if(c[f]!=l){b.push(c[f]);delete c[f]}}return b=b.concat(d(c).values())};j.prototype.bs=S("$d");j.an="instance";var n=c.extend(b,function(a,c){b.call(this,n.an,a);this.Zn=c});n.prototype.zb=function(){return this.Zn.slice()};n.prototype.bs=function(){for(var a=
[],b=0;b<this.Zn.length;b++)a.push(this.Zn[b].bs());return a};n.an="array";var k=c.extend(b,function(a,c){b.call(this,k.an,a);this.value=c});k.prototype.zb=function(){return d(this.value).values()};k.prototype.bs=function(){var a={},b;for(b in this.value)a[b]=this.value[b].bs();return a};k.an="dict";var o=c.extend(b,function(a,c){b.call(this,o.an,a);this.value=c});o.prototype.bs=S("value");o.an="function";var p=c.extend(b,function(a,c){b.call(this,p.an,a);this.value=c});p.prototype.bs=S("value");
p.an="simple";return e});
define("K","require,dZ,nV,cu,mR,fW,u,eG,lG,bu,gZ,mt,nT,mw,kL".split(","),function(a){function b(a,b){this.wM=a;this.sj=this.sj.bind(this);this.Sp=this.Sp.bind(this);this.OG=this.OG.bind(this);this.va=this.va.bind(this);this.rW=this.rW.bind(this);i.mb()&&!i.Gf()&&q.Ff();this.zQ=[];var d=o.name,e=[];d&&e.push(d);o.YN>0?e.push("v:"+o.YN+"."+o.$N):e.push("v:"+o.$N);t.log(e.join(" "));this.ho=b;if(j.BQa()||[i.SC,i.wv].indexOf(i.browser())>=0){this.Zk=new c;if(d=this.ho.get(TDV.PlayerSettings.BASE_DIR_URL)){d=j.ov(d);
d[d.length-1]!="/"&&(d=d+"/")}else d=j.getDirectory(this.ho.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL));this.caa=this.ho.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);f.uRa(d,function(a){this.p9=a;this.NHa()}.bind(this))}else window.alert(p("web-server-required"))}var e=a("dZ"),d=a("nV");a("cu");var g=a("mR"),c=a("fW"),i=a("u"),f=a("eG"),j=a("lG"),n=a("bu"),k=a("gZ"),o=a("mt"),p=a("nT"),q=a("mw"),t=a("kL");b.prototype.NHa=function(){this.wM.trigger(new TDV.nP(d.Cxa,{},[],l));e.defer(function(){if(!this.Zk.iRa(this.ho.get(TDV.PlayerSettings.SCRIPT_DATA),
this.ho.get(TDV.PlayerSettings.CONTAINER),this.p9,this.caa)){if(o.NTa!="false"){window.alert(this.yha());return}t.log(this.yha())}this.Dza();this.cza(this.ho);this.qza();n.Zp(function(){this.cMa()}.bind(this))}.bind(this))};b.prototype.clear=function(){if(this.Zk){this.oha().forEach(function(a){a.$d.lba();a.Or.KN().forEach(function(b){switch(b){case "VideoPlayer":a.$d.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":case "VideoPlayer":a.$d.set("viewerArea",
r);break;case "ZoomImage":a.$d.set("image",r);break;case "Audio":a.$d.stop();break;case "Effect":a.$d.end();break;case "Media":a.$d.IRa()}})});k.nRa();this.Zk.tb().clear();s={};this.ho=this.Zk=r}};b.prototype.JPa=function(a){return this.Zk.tb()[a]};b.prototype.sj=function(a){if(a in s)return s[a].slice();var b=[];this.oha().forEach(function(c){var d=c.Or.KN();e(d).contains(a)&&b.push(c.$d)});s[a]=b;return b.slice()};b.prototype.oha=function(){return!this.Zk?[]:this.Zk.uA.concat(this.zQ)};var s={};
b.prototype.Sp=function(a){var b=g.sj(a);b||h("Invalid className: "+a);s={};var a=this.Zk.tb(),c={};c.Or=b;c.$d=b.Sp(a,this.p9,this.caa);this.zQ.push(c);this.Aea(b,c.$d,l);return c.$d};b.prototype.OG=function(a){var b=this.zQ.findIndex(function(b){return b.$d==a});if(!(b<0)){s={};this.zQ.splice(b,1);a.lba();a.dispose&&a.dispose()}};b.prototype.yha=function(){for(var a=this.Zk.z1,b=["Errors parsing script file:"],c=0;c<a.length;c++)b.push(a[c]);return b.join("\n")};b.prototype.Dza=function(){this.Zk.uA.forEach(function(a){this.Aea(a.Or,
a.$d,a.id)}.bind(this));var a=this.Zk.tb().vQ;a.bind(d.ZC,function(){a.dUa(d.ZC);this.wM.cookiesEnabled=this.wM.tOa=m;this.wM.trigger(new TDV.nP(d.ZC,{},[],l))},this,m)};b.prototype.Aea=function(a,b,c){var d=a.KN();e.union(a.Q9(),a.V9()).forEach(function(a){b.bind(a,function(b){this.wM.trigger(new TDV.nP(a,b,d,c))}.bind(this),this,m)}.bind(this))};b.prototype.cza=function(a){this.Zk.tb().set("settings",a)};b.prototype.va=function(){return g.va.apply(g,arguments)};b.prototype.rW=function(a){a&&!j.py(a)&&
!j.ZW(a)&&(a=j.gy(j.ov(a,this.p9),this.caa));return a};b.prototype.qza=function(){var a=this.Zk.tb();a.getByClassName=a.sj=this.sj;a.createInstance=a.Sp=this.Sp;a.disposeInstance=a.OG=this.OG;a.isInstanceOfClass=a.va=this.va;a.getAbsoluteURL=a.rW=this.rW};b.prototype.cMa=function(){this.Zk.tb().start()};b.bUa=function(a){a.trigger(new TDV.nP(d.hxa,{},[],l))};return b});define("main",["require","jquery.mod","K"],function(a){var b=a("jquery.mod"),e=a("K");b(document).ready(function(){TDV.$a.ZSa(e)})});
(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="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";THREE.ZSTDDecoder=Q})();(function(e){var modifiedJSON={};modifiedJSON.parse=function(data){json=JSON.parse(data);json.nodes&&json.nodes.forEach((node,index)=>{(node.extras||(node.extras={})).id=index.toString()});return json};e(modifiedJSON)})(function(JSON){(function(){var AnimationClip=THREE.AnimationClip,Bone=THREE.Bone,Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,ClampToEdgeWrapping=THREE.ClampToEdgeWrapping,Color=THREE.Color,DirectionalLight=THREE.DirectionalLight,DoubleSide=THREE.DoubleSide,FileLoader=THREE.FileLoader,FrontSide=THREE.FrontSide,Group=THREE.Group,ImageBitmapLoader=THREE.ImageBitmapLoader,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,Interpolant=THREE.Interpolant,InterpolateDiscrete=THREE.InterpolateDiscrete,InterpolateLinear=THREE.InterpolateLinear,Line=THREE.Line,LineBasicMaterial=THREE.LineBasicMaterial,LineLoop=THREE.LineLoop,LineSegments=THREE.LineSegments,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,LinearMipmapNearestFilter=THREE.LinearMipmapNearestFilter,Loader=THREE.Loader,LoaderUtils=THREE.LoaderUtils,Material=THREE.Material,MathUtils=THREE.MathUtils,Matrix4=THREE.Matrix4,Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,MeshPhysicalMaterial=THREE.MeshPhysicalMaterial,MeshStandardMaterial=THREE.MeshStandardMaterial,MirroredRepeatWrapping=THREE.MirroredRepeatWrapping,NearestFilter=THREE.NearestFilter,NearestMipmapLinearFilter=THREE.NearestMipmapLinearFilter,NearestMipmapNearestFilter=THREE.NearestMipmapNearestFilter,NumberKeyframeTrack=THREE.NumberKeyframeTrack,Object3D=THREE.Object3D,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,PointLight=THREE.PointLight,Points=THREE.Points,PointsMaterial=THREE.PointsMaterial,PropertyBinding=THREE.PropertyBinding,Quaternion=THREE.Quaternion,QuaternionKeyframeTrack=THREE.QuaternionKeyframeTrack,RepeatWrapping=THREE.RepeatWrapping,Skeleton=THREE.Skeleton,SkinnedMesh=THREE.SkinnedMesh,Sphere=THREE.Sphere,SpotLight=THREE.SpotLight,TangentSpaceNormalMap=THREE.TangentSpaceNormalMap,Texture=THREE.Texture,TextureLoader=THREE.TextureLoader,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,Vector2=THREE.Vector2,Vector3=THREE.Vector3,VectorKeyframeTrack=THREE.VectorKeyframeTrack,sRGBEncoding=THREE.sRGBEncoding;class GLTFLoader extends Loader{constructor(manager){super(manager);this.dracoLoader=null;this.ktx2Loader=null;this.meshoptDecoder=null;this.pluginCallbacks=[];this.register(function(parser){return new GLTFMaterialsClearcoatExtension(parser)});this.register(function(parser){return new GLTFTextureBasisUExtension(parser)});this.register(function(parser){return new GLTFTextureWebPExtension(parser)});this.register(function(parser){return new GLTFMaterialsSheenExtension(parser)});this.register(function(parser){return new GLTFMaterialsTransmissionExtension(parser)});this.register(function(parser){return new GLTFMaterialsVolumeExtension(parser)});this.register(function(parser){return new GLTFMaterialsIorExtension(parser)});this.register(function(parser){return new GLTFMaterialsEmissiveStrengthExtension(parser)});this.register(function(parser){return new GLTFMaterialsSpecularExtension(parser)});this.register(function(parser){return new GLTFMaterialsIridescenceExtension(parser)});this.register(function(parser){return new GLTFLightsExtension(parser)});this.register(function(parser){return new GLTFMeshoptCompression(parser)})}load(url,onLoad,onProgress,onError){const scope=this;let resourcePath;if(this.resourcePath!==""){resourcePath=this.resourcePath}else if(this.path!==""){resourcePath=this.path}else{resourcePath=LoaderUtils.extractUrlBase(url)}this.manager.itemStart(url);const _onError=function(e){if(onError){onError(e)}else{console.error(e)}scope.manager.itemError(url);scope.manager.itemEnd(url)};const loader=new FileLoader(this.manager);loader.setPath(this.path);loader.setResponseType("arraybuffer");loader.setRequestHeader(this.requestHeader);loader.setWithCredentials(this.withCredentials);loader.load(url,function(data){try{scope.parse(data,resourcePath,function(gltf){onLoad(gltf);scope.manager.itemEnd(url)},_onError)}catch(e){_onError(e)}},onProgress,_onError)}setDRACOLoader(dracoLoader){this.dracoLoader=dracoLoader;return this}setDDSLoader(){throw new Error("THREE.GLTFLoader: \"MSFT_texture_dds\" no longer supported. Please update to \"KHR_texture_basisu\".")}setKTX2Loader(ktx2Loader){this.ktx2Loader=ktx2Loader;return this}setMeshoptDecoder(meshoptDecoder){this.meshoptDecoder=meshoptDecoder;return this}register(callback){if(this.pluginCallbacks.indexOf(callback)===-1){this.pluginCallbacks.push(callback)}return this}unregister(callback){if(this.pluginCallbacks.indexOf(callback)!==-1){this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback),1)}return this}parse(data,path,onLoad,onError){let content;const extensions={};const plugins={};if(typeof data==="string"){content=data}else{const magic=LoaderUtils.decodeText(new Uint8Array(data,0,4));if(magic===BINARY_EXTENSION_HEADER_MAGIC){try{extensions[EXTENSIONS.KHR_BINARY_GLTF]=new GLTFBinaryExtension(data)}catch(error){if(onError)onError(error);return}content=extensions[EXTENSIONS.KHR_BINARY_GLTF].content}else{content=LoaderUtils.decodeText(new Uint8Array(data))}}const json=JSON.parse(content);if(json.asset===undefined||json.asset.version[0]<2){if(onError)onError(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const parser=new GLTFParser(json,{path:path||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});parser.fileLoader.setRequestHeader(this.requestHeader);for(let i=0;i<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,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"}getSearchTexture(){return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII="}}THREE.SMAAPass=SMAAPass})();(function(){const SMAAEdgesShader={defines:{"SMAA_THRESHOLD":"0.1"},uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];

		void SMAAEdgeDetectionVS( vec2 texcoord ) {
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0,  1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4(  1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0,  2.0 ); // WebGL port note: Changed sign in W component
		}

		void main() {

			vUv = uv;

			SMAAEdgeDetectionVS( vUv );

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

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];

		vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {
			vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );

			// Calculate color deltas:
			vec4 delta;
			vec3 C = texture2D( colorTex, texcoord ).rgb;

			vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb;
			vec3 t = abs( C - Cleft );
			delta.x = max( max( t.r, t.g ), t.b );

			vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb;
			t = abs( C - Ctop );
			delta.y = max( max( t.r, t.g ), t.b );

			// We do the usual threshold:
			vec2 edges = step( threshold, delta.xy );

			// Then discard if there is no edge:
			if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 )
				discard;

			// Calculate right and bottom deltas:
			vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb;
			t = abs( C - Cright );
			delta.z = max( max( t.r, t.g ), t.b );

			vec3 Cbottom  = texture2D( colorTex, offset[1].zw ).rgb;
			t = abs( C - Cbottom );
			delta.w = max( max( t.r, t.g ), t.b );

			// Calculate the maximum delta in the direct neighborhood:
			float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w );

			// Calculate left-left and top-top deltas:
			vec3 Cleftleft  = texture2D( colorTex, offset[2].xy ).rgb;
			t = abs( C - Cleftleft );
			delta.z = max( max( t.r, t.g ), t.b );

			vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb;
			t = abs( C - Ctoptop );
			delta.w = max( max( t.r, t.g ), t.b );

			// Calculate the final maximum delta:
			maxDelta = max( max( maxDelta, delta.z ), delta.w );

			// Local contrast adaptation in action:
			edges.xy *= step( 0.5 * maxDelta, delta.xy );

			return vec4( edges, 0.0, 0.0 );
		}

		void main() {

			gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse );

		}`};const SMAAWeightsShader={defines:{"SMAA_MAX_SEARCH_STEPS":"8","SMAA_AREATEX_MAX_DISTANCE":"16","SMAA_AREATEX_PIXEL_SIZE":"( 1.0 / vec2( 160.0, 560.0 ) )","SMAA_AREATEX_SUBTEX_SIZE":"( 1.0 / 7.0 )"},uniforms:{"tDiffuse":{value:null},"tArea":{value:null},"tSearch":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];
		varying vec2 vPixcoord;

		void SMAABlendingWeightCalculationVS( vec2 texcoord ) {
			vPixcoord = texcoord / resolution;

			// We will use these offsets for the searches later on (see @PSEUDO_GATHER4):
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 ); // WebGL port note: Changed sign in Y and W components
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 ); // WebGL port note: Changed sign in Y and W components

			// And these for the searches, they indicate the ends of the loops:
			vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );

		}

		void main() {

			vUv = uv;

			SMAABlendingWeightCalculationVS( vUv );

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

		}`,fragmentShader:`

		#define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )

		uniform sampler2D tDiffuse;
		uniform sampler2D tArea;
		uniform sampler2D tSearch;
		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[3];
		varying vec2 vPixcoord;

		#if __VERSION__ == 100
		vec2 round( vec2 x ) {
			return sign( x ) * floor( abs( x ) + 0.5 );
		}
		#endif

		float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {
			// Not required if searchTex accesses are set to point:
			// float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0);
			// e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE +
			//     e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE;
			e.r = bias + e.r * scale;
			return 255.0 * texture2D( searchTex, e, 0.0 ).r;
		}

		float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			/**
				* @PSEUDO_GATHER4
				* This texcoord has been offset by (-0.25, -0.125) in the vertex shader to
				* sample between edge, thus fetching four edges in a row.
				* Sampling with different offsets in each direction allows to disambiguate
				* which edges are active from the four fetched ones.
				*/
			vec2 e = vec2( 0.0, 1.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord -= vec2( 2.0, 0.0 ) * resolution;
				if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;
			}

			// We correct the previous (-0.25, -0.125) offset we applied:
			texcoord.x += 0.25 * resolution.x;

			// The searches are bias by 1, so adjust the coords accordingly:
			texcoord.x += resolution.x;

			// Disambiguate the length added by the last step:
			texcoord.x += 2.0 * resolution.x; // Undo last step
			texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);

			return texcoord.x;
		}

		float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 0.0, 1.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord += vec2( 2.0, 0.0 ) * resolution;
				if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;
			}

			texcoord.x -= 0.25 * resolution.x;
			texcoord.x -= resolution.x;
			texcoord.x -= 2.0 * resolution.x;
			texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );

			return texcoord.x;
		}

		float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 1.0, 0.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
				if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;
			}

			texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign
			texcoord.y -= resolution.y; // WebGL port note: Changed sign
			texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign
			texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign

			return texcoord.y;
		}

		float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 1.0, 0.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
				if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;
			}

			texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign
			texcoord.y += resolution.y; // WebGL port note: Changed sign
			texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign
			texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign

			return texcoord.y;
		}

		vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {
			// Rounding prevents precision errors of bilinear filtering:
			vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;

			// We do a scale and bias for mapping to texel space:
			texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );

			// Move to proper place, according to the subpixel offset:
			texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset;

			return texture2D( areaTex, texcoord, 0.0 ).rg;
		}

		vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {
			vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 );

			vec2 e = texture2D( edgesTex, texcoord ).rg;

			if ( e.g > 0.0 ) { // Edge at north
				vec2 d;

				// Find the distance to the left:
				vec2 coords;
				coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );
				coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET)
				d.x = coords.x;

				// Now fetch the left crossing edges, two at a time using bilinear
				// filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to
				// discern what value each edge has:
				float e1 = texture2D( edgesTex, coords, 0.0 ).r;

				// Find the distance to the right:
				coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );
				d.y = coords.x;

				// We want the distances to be in pixel units (doing this here allow to
				// better interleave arithmetic and memory accesses):
				d = d / resolution.x - pixcoord.x;

				// SMAAArea below needs a sqrt, as the areas texture is compressed
				// quadratically:
				vec2 sqrt_d = sqrt( abs( d ) );

				// Fetch the right crossing edges:
				coords.y -= 1.0 * resolution.y; // WebGL port note: Added
				float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;

				// Ok, we know how this pattern looks like, now it is time for getting
				// the actual area:
				weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );
			}

			if ( e.r > 0.0 ) { // Edge at west
				vec2 d;

				// Find the distance to the top:
				vec2 coords;

				coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );
				coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x;
				d.x = coords.y;

				// Fetch the top crossing edges:
				float e1 = texture2D( edgesTex, coords, 0.0 ).g;

				// Find the distance to the bottom:
				coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );
				d.y = coords.y;

				// We want the distances to be in pixel units:
				d = d / resolution.y - pixcoord.y;

				// SMAAArea below needs a sqrt, as the areas texture is compressed
				// quadratically:
				vec2 sqrt_d = sqrt( abs( d ) );

				// Fetch the bottom crossing edges:
				coords.y -= 1.0 * resolution.y; // WebGL port note: Added
				float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;

				// Get the area for this direction:
				weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );
			}

			return weights;
		}

		void main() {

			gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) );

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

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 2 ];

		void SMAANeighborhoodBlendingVS( vec2 texcoord ) {
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
		}

		void main() {

			vUv = uv;

			SMAANeighborhoodBlendingVS( vUv );

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

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;
		uniform sampler2D tColor;
		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 2 ];

		vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {
			// Fetch the blending weights for current pixel:
			vec4 a;
			a.xz = texture2D( blendTex, texcoord ).xz;
			a.y = texture2D( blendTex, offset[ 1 ].zw ).g;
			a.w = texture2D( blendTex, offset[ 1 ].xy ).a;

			// Is there any blending weight with a value greater than 0.0?
			if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {
				return texture2D( colorTex, texcoord, 0.0 );
			} else {
				// Up to 4 lines can be crossing a pixel (one through each edge). We
				// favor blending by choosing the line with the maximum weight for each
				// direction:
				vec2 offset;
				offset.x = a.a > a.b ? a.a : -a.b; // left vs. right
				offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs

				// Then we go in the direction that has the maximum weight:
				if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical
					offset.y = 0.0;
				} else {
					offset.x = 0.0;
				}

				// Fetch the opposite color and lerp by hand:
				vec4 C = texture2D( colorTex, texcoord, 0.0 );
				texcoord += sign( offset ) * resolution;
				vec4 Cop = texture2D( colorTex, texcoord, 0.0 );
				float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );

				// WebGL port note: Added gamma correction
				C.xyz = pow(C.xyz, vec3(2.2));
				Cop.xyz = pow(Cop.xyz, vec3(2.2));
				vec4 mixed = mix(C, Cop, s);
				mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2));

				return mixed;
			}
		}

		void main() {

			gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse );

		}`};THREE.SMAABlendShader=SMAABlendShader;THREE.SMAAEdgesShader=SMAAEdgesShader;THREE.SMAAWeightsShader=SMAAWeightsShader})();(function(){class SSAARenderPass extends THREE.Pass{constructor(scene,camera,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.sampleLevel=4;this.unbiased=true;this.clearColor=clearColor!==undefined?clearColor:0;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this._oldClearColor=new THREE.Color;if(THREE.CopyShader===undefined)console.error("THREE.SSAARenderPass relies on THREE.CopyShader");const copyShader=THREE.CopyShader;this.copyUniforms=THREE.UniformsUtils.clone(copyShader.uniforms);this.copyMaterial=new THREE.ShaderMaterial({uniforms:this.copyUniforms,vertexShader:copyShader.vertexShader,fragmentShader:copyShader.fragmentShader,transparent:true,blending:THREE.AdditiveBlending,depthTest:false,depthWrite:false});this.fsQuad=new THREE.FullScreenQuad(this.copyMaterial)}dispose(){if(this.sampleRenderTarget){this.sampleRenderTarget.dispose();this.sampleRenderTarget=null}}setSize(width,height){if(this.sampleRenderTarget)this.sampleRenderTarget.setSize(width,height)}render(renderer,writeBuffer,readBuffer){if(!this.sampleRenderTarget){this.sampleRenderTarget=new THREE.WebGLRenderTarget(readBuffer.width,readBuffer.height);this.sampleRenderTarget.texture.name="SSAARenderPass.sample"}const jitterOffsets=_JitterVectors[Math.max(0,Math.min(this.sampleLevel,5))];const autoClear=renderer.autoClear;renderer.autoClear=false;renderer.getClearColor(this._oldClearColor);const oldClearAlpha=renderer.getClearAlpha();const baseSampleWeight=1/jitterOffsets.length;const roundingRange=1/32;this.copyUniforms["tDiffuse"].value=this.sampleRenderTarget.texture;const viewOffset={fullWidth:readBuffer.width,fullHeight:readBuffer.height,offsetX:0,offsetY:0,width:readBuffer.width,height:readBuffer.height};const originalViewOffset=Object.assign({},this.camera.view);if(originalViewOffset.enabled)Object.assign(viewOffset,originalViewOffset);for(let i=0;i<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})();

})();